FDP FPGA配置电路的设计与实现外文翻译资料

 2023-09-04 15:18:55

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


FDP FPGA配置电路的设计与实现

摘要 - 本文介绍了一种用于的配置电路FDP(FDP:Fu Dan可编程器件)FPGA芯片。该电路可以顺利地将配置数据写入FDP并进行回读来自于FDP的数据。与Xilinx Virtex系列FPGA芯片相比,其最小配置部分是一个数据帧,所提出的电路可以用FDP写入每个单个存储单元,提供更灵活的配置操作。此电路中添加了标准配置接口串行外设接口(SPI),以替换使用昂贵的Xilinx Platform配置Flash PROM。在这个配置电路中采用了一组高精度灵敏放大器,用于放大回读数据值。通过一种新颖的写/读异步FIFO FDP中的结构将外部接口和内部配置电路分为两个时钟域,设计人员可以分别设置外部时钟和内部时钟。Altera DE2开发板平台已正确验证配置电路的基本功能。后布局仿真结果表明,通过该配置电路,FDP中的每个数据帧可以在4mu;s内写入,并且可以在5mu;s内回读。FDP芯片的总配置时间约为6.5ms。

  1. 导言

目前,先进的商用FPGA器件已经发展得非常快。Xilinx公司和世界上最大的两家FPGA供应商Ateral公司已经成功开发出65纳米FPGA器件,其中包含超过一千万个逻辑存储器。FPGA中的配置电路用于将位文件写入FPGA芯片。随着FPGA电路规模的扩大,Xilinx Virtex系列FPGA采用先进的指令系统架构(ISA)配置电路,以满足快速和动态的FPGA配置要求。但Virtex系列FPGA中的配置电路不支持标准配置接口,如串行外设接口(SPI),FDP中最小的配置部分是一个数据帧,这将导致FPGA中的“存储器一致性问题”。

在本文中,设计了一个配置电路采用SMIC0.18mu;mCMOS工艺实现的FDP FPGA芯片。 FDP FPGA是由复旦大学设计的大规模FPGA芯片,拥有超过一千万个晶体管。与Virtex系列FPGA中采用的配置电路相比,FDP配置电路中的四个主要特性得到了改进:(1)五种不同的配置接口,包括标准配置接口 - 串行外设接口(SPI);(2)一种新颖的写/读异步FIFO结构,用于将外部接口和内部配置电路分成两个时钟域; (3)新颖的配置/回读可以用FDP写入每个单个存储单元的电路; (4)一组高精度敏感放大器,可放大读回数据值。

  1. FDP配置电路设计

FDP FPGA芯片包含可编程逻辑Tiles,可编程互连资源,可编程IO块(IOB),配置电路。 同时,配置电路包括外部接口电路,配置控制状态机,一组配置寄存器,数据写/读电路,地址解码器和其他电路,所有这些都在图1中示出。

FDP中的所有可编程逻辑都可以视为一个存储器单元阵列,并且所有存储器单元可以被视为矩形比特阵列(图1,图3)。这些位被分组为一位宽的字,这些字从数组的顶部延伸到底部。配置电路用于加载配置位文件,该配置位文件包含一组配置数据值,这些配置数据值将用户设计指定到FPGA中的存储器单元中。此外,通过配置电路,设计人员可以从FPGA读回配置数据值。

本文将重点介绍FDP FPGA芯片的配置电路。

图1 FDP架构概述

2.1外部接口电路

外部接口是FDP和配置芯片(PROM或串行FLASH)之间的接口;FDP中的外部接口电路包含配置接口和写/读异步FIFO结构(见图2).

图2 外部接口电路

2.1.1配置界面

通过在配置界面中设置FDP配置模式引脚(见图2中的M[2:0]),可以指定配置模式。FDP支持五种配置模式:主/从串行模式,从并行模式,JTAG模式和SPI模式。

与Xilinx Virtex系列FPGA相比,仅与之相比支持四种基本配置模式,FDP包括一个新的配置接口:串行外设接口(SPI)。基于SPI的闪存已经变得流行,因为类似于Xilinx平台闪存PROM,它们可以在配置后轻松访问,为FPGA提供随机访问,非易失性数据存储。此外,基于SPI的闪存很容易获得,而且价格低于Xilinx Platform Flash PROM。

不同于其他四种配置模式在SPI模式下出现在Xilinx Virtex系列中,SPI协议在供应商之间存在一些差异。作为SPI协议中的主设备,系统上电后,FDP对变量选择引脚(见图2中V[1:0])进行采样,以确定要发出的SPI命令序列,然后向SPI配置FLASH发送一系列SPI Flash命令。如果SPI配置FLASH已收到SPI命令序列,则SPI配置FLASH的配置位将传输到FDP。

FDP为设计人员提供了多种时钟资源选择配置时钟频率。这些时钟资源包括源自数字时钟控制电路的片上时钟,来自配置控制芯片的输入时钟和JTAG时钟。FDP中的JTAG电路不仅可以实现正常的测试功能,还可以执行数据配置和回读功能。

2.1.2写/读异步FIFO结构

一种新颖的写/读异步FIFO结构以FDP设计。写/读异步FIFO结构包含串并电路(图2中的S到P),并行到串行电路(图2中的P到S),32位宽,16字深(32字节),异步写FIFO(图2写入FIFO),以及与写FIFO相同比例的读FIFO。该结构将外部接口电路和配置控制电路分成两个时钟域,该配置控制电路包括配置控制状态机,一组配置寄存器,数据写/读电路,地址解码器和其他电路。在配置期间,可以单独指定外部和内部配置电路中的时钟,从而提供更灵活的配置操作。在每个数据写入过程中,写/读异步FIFO结构可以传输串行/并行配置数据(1位或8位)从配置接口到32位宽总线数据,并将外部配置时钟域切换到内部配置时钟域。在每次回读过程中,来自内部32位宽总线数据的回读数据通过读FIFO从内部配置时钟域传输到外部配置时钟域的8位并行数据。

2.2配置寄存器和配置控制状态机

配置寄存器和配置控制状态机在FDP中形成配置控制电路。通过配置指令在配置寄存器中设置值,配置控制状态机可以控制整个配置过程。每个配置指令都是从外部接口电路传输的32位字,这些指令可以指定配置时钟频率,循环冗余校验,帧长度,FPGA唤醒序列和指令系统架构(ISA)FPGA中的其他配置操作。

2.3配置比特流

配置位流是写入配置寄存器和存储单元的配置文件的位形式,包括同步字,几个标题字和可选数据字。系统上电后,当FDP检测到同步字时,配置控制状态机将启动配置过程。

2.4数据写/读电路

配置数据最终将通过数据写/读电路写入存储单元。 该数据写/读电路还可以从存储器单元读取配置数据。

数据/写入电路(图3)基于传统的流水线结构,该结构也出现在Virtex系列FPGA中。该结构包括帧数据输入寄存器,帧数据输出寄存器,配置移位寄存器,配置影子寄存器,一组读回敏感放大器,一组地址解码器和两个数据传输MUX。与Virtex系列FPGA不同,FDP中增加了一组部分配置控制逻辑和一个部分配置控制寄存器(图3和图4中高亮显示)。通过这些装置,设计者可以选择每个存储单元行来写入配置数据。通过这些装置,设计者可以选择每个存储单元行来写入配置数据。 此外,在FDP中添加了一组读回敏感放大器(图3和图5中高亮)。通过这些放大器,可以在每次回读过程中放大存储器单元中的数据。

图3数据写/读电路

2.4.1部分写功能

在Virtex系列FPGA中,由于没有出现部分配置逻辑和部分配置寄存器,只采用传统的流水线写入结构,最小的写入部分是一个数据帧。此外,在Virtex FPGA中,由于一个垂直帧中的某些存储器单元可能代表设计器应用程序中的存储器内容,因此它们的值将随着设计器应用程序的流程而动态变化。如果系统级设计器操作在回读和回写操作之间更新配置帧的动态内容,则设计人员必须停止FPGA操作。否则,Virtex系列FPGA中将出现“存储器一致性问题”。

但是,在应用程序中,要在FPGA工作仍在工作时停止运行可能会导致严重问题。如果FPGA中数据帧的每个存储单元可以单独写入,当通过回读和回写操作更新包含动态存储器内容的一个数据帧时,设计人员只能在不停止FPGA操作的情况下修改该帧中的所需数据值,因为任何数据 表示动态内存内容不会被写回内存单元格。

与Virtex系列FPGA不同,FDP FPGA中的部分配置寄存器(图3)和部分配置控制逻辑组(图3)可以识别垂直帧中每个存储单元的配置值。在图4中,详细图解释了如何实现此功能。FDP(图4)中的存储单元采用六晶体管结构。 在该结构中,如果每个存储器单元的输入(图4中的Q和Q)都被断言,则不能将配置数据写入存储器单元。当数据值“1”加载到部分配置寄存器中时,部分配置逻辑输出的值均为“1”(图4中的Q和Q),而数据写入信号有效(Write_En =“1”, Read_En =图4中的“0”)。 在这种情况下,无论配置影子寄存器中存储的实际配置数据是什么,都不能将数据写入存储器单元。使用该方案,在将数据写入存储器单元之前,设计者可以将一帧部分配置数据加载到部分配置寄存器中,以识别将在垂直帧中写入或不写入的存储器单元。使用图4中的地址解码器进行公司化,可以识别水平位置的CLB列中的数据帧,FDP FPGA中的每个单个存储单元可以单独写入。使用这种部分写入功能,设计人员可以修改包含存储器内容的每个数据帧,而不会停止FDP操作,从而避免了Xilinx Virtex系列FPGA中出现的“存储器一致性问题”。

图4 FDP中的部分写结构

2.4.2回读功能

FDP中的数据读取电路包括一组读回敏感放大器(图3中高亮),配置移位寄存器,配置影子寄存器和数据传输MUX。通过回读电路,可以从FDP读出存储器单元处的每个单个数据帧。

FDP包含一组高精度差分敏感放大器,用于在每次数据回读过程中放大存储单元中的数据值。为了开始数据回读过程,配置控制状态机将唤醒敏感放大器,并且存储器单元处的配置数据将通过这些放大器传输。在一个时钟周期之后,回读数据被加载到配置移位寄存器。几个时钟周期之后,回读数据将通过数据传输MUX传输到帧数据输出寄存器。设计人员可以通过JTAG接口或并行接口获取读回数据。 在FDP中,每个单帧都可以被回读,而其他帧不会受到影响。

  1. FDP芯片中的配置流程

FDP的配置流程包含数据写入流程和数据读回流程(图5)。数据写入流程包括上电系统,初始化内部存储单元,检测同步字,写入配置控制寄存器,加载配置帧和唤醒系统。数据回读流程包括打开字线,唤醒敏感放大器,将数据加载到配置移位寄存器,将数据写入帧数据输出寄存器,将数据写入读FIFO,以及输出管道数据。

图5 FDP中的数据写入/回读流程

  1. 验证和布局实施

Altera DE2 FPGA验证平台和Altera Quartus II软件用于验证该配置电路的基本功能。DE2板中的硬件资源已用于验证,包括:(1)Altera FPGA芯片EP2S35(Cyclone II系列);(2)8位并行Flash S29AL032D;(3)DE2板上的两个振荡器,27MHz振荡器和50MHz振荡器;(4)DE2板上的拨动开关和去抖按钮开关。

图6验证平台

使用Altera DE2开发板进行验证,原始配置位流应先存储在DE2板的8位并行闪存中,然后由Mega Core生成一个具有一个数据帧深度的块RAM Altera Quartus II软件中的工具,取代了FDP中的存储单元。此外,该配置电路的RTL代码应加载到DE2板的FPGA芯片EP2S35中。整个过程完成后,配置电路开始工作。 使用Altera Quartus II软件中的“In System Memory Content Editor”工具,设计人员可以从之前提到的生成的Block RAM中读取数据,并将它们与原始配置位流进行比较。写入数据和读回数据之间的比较将指示数据写入功能是否正确。由于控制JTAG指令和序列很复杂,因此在我们的设计中开发了JTAG测试软件用于验证。通过该JTAG测试软件,可以通过PC打印机端口生成TDI,TDO,TMS和TCK等信号。配置位文件将通过TDI端口写入DE2板,生成的块RAM中的读回数据将通过JTAG端口TDO读取。写数据和读回数据之间的比较可以验证写和读功能。

图7验证方法

使用Altera DE2板验证和测试结果表明FDP中的配置电路可以正确有效地实现数据写入和回读功能。所提出的配置电路被设计并应用于FDP FPGA芯片。FDP芯片将采用SMIC0.18mu;m逻辑1P6M工艺制作,并包含20times;30阵列的逻辑块。FDP中的配置电路由Verilog HDL语言设计,由Synopsys Design Complier工具合成。它的布局由Synopsys Astro工具生成。FDP的芯片尺寸约为6.5mmtimes;6.8mm,该配置电路的面积约为1500umtimes;200um,约占芯片总布局的0.6%。图8显示了FDP和配置电路的布局(标记在图8中)。

图8 FDP芯片的布局

FDP配置电路的后布局时序分析和动态验证已由EDA软件Synopsys PrimeTime和MentorsModelSim执行。通过分析和仿真,通过并行接口使用50MHz时钟,FDP中的每个帧可以写入小于4mu;s。每帧的回读时间小于5mu;s,FDP的总配置时间约为6.5ms。

表1是FDP芯片中该配置电路的主要结构特征和配置速度。采用的仿真配置时钟频率为50MHz。由于不同的架构和不同的配置位文件格式,在其他FPGA芯片中获得FDP配置电路和配置电路之间的比较并不容易。表1中的数据和规范用于说明FDP芯片中的基本配置字符。

五,结论

为FDP FPGA芯片设计并实现了配置电路. 与Virtex系列FPGA中采用的配置电

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[608937],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。