现场可编程门阵列FPGA(Field Programmable Gate Array)作为集成电路领域发展最快的一个分支,兼具ASIC电路的高性能和软件编程的灵活性,在数字逻辑系统中得到了非常广泛的应用。在主流的FPGA中,绝大多数都采用了SRAM来存放配置数据,称为SRAM FPGA。这种FPGA的突出优点是可以进行多次配置。通过给FPGA加载不同的配置数据,即可令其实现不同的逻辑功能.FPGA这种可重配置的能力将给数字系统的设计带来很大的方便。
FPGA的可重配置有两种方式:静态可重配置和动态可重配置翻。静态可重配置系统在它的整个应用运行中不再改变FPGA的结构。一般是指在系统(或器件)上电以后,将存放在FPGA外部的非易失性存储器(如EEPROM)中的配置数据一次性加载到FPGA内部的配置存储器SRAM中,在系统运行期间,SRAM中的配置数据始终保持不变;当系统再次启动时,则可以通过加载不同的配置数据来改变FPGA的逻辑功能。传统的FPGA采用静态配置的方法。所以在应用它的生命周期中,其功能就不能再改变。除非上电重新配置。动态可重配置系统在系统工作运行过程中改变FPGA的结构.一般指在系统运行期间,随时可以通过对FPGA的重新配置来改变其逻辑功能。而且并不影响系统其他部分的正常运行。根据可重配置部分的大小可分为全局动态可重配置和局部动态可重配置13l。这里探讨了全局动态可重配置技术,并详细阐述使用Xilinx系统高级配置环境System ACE(System Advanced ConfiguraTIon Environment)实现Virtex-5全局动态可重配置的关键问题。
1 System ACE技术Xilinx提供系统高级配置环境(System ACE)是为了满足多FPGA空间有效性、高密度,配置解决方案的需要,该配置方案仅支持FPGA而不支持CPLD和PROM。System ACE是一种全新的在系统可编程配置解决方案。合理利用此技术可以方便的实现全局动态可重配置,实现FPGA的时分复用。提高资源利用率。System ACE CF饵决方案包括System ACE控制器和普通商用的CF卡2部分。图l所示为System ACE CF控制器框图。System ACE控制器有4个接口,其中Compact Flash接口。MPU接口,Test JTAG接121都可以通过ConfiguraTIon JTAG接口来配置FPGA。这里主要采用Compact Flash接口的多个位流配置文件来实现FPGA的重配置。Compact Flash接口兼容标准的CF卡(最大8 GB)和日立的微驱动器件(最大6 GB)。
2 实现动态可重配置的硬件设计及原理
System ACE和FPGA的JTAG连接方式如图2所示,JTAG下载线端口连接System ACE的Test JTAG端.FPGA的JTAG端口连接System ACE的ConfigumTIon JTAG端。使用中FPGA选择JTAG配置模式。CF卡存放要配置的位流文件,最多可以存储8个不同的位流配置文件.配置文件的选择由地址线CFGADDR【2:0】决定,3位地址线可以无冲突的选择配置8个配置文件中的一个。
当需要对FPGA重配置时.只需要调整配置地址线CFGADDR的状态,使其指定相应的配置文件,然后拉低RESET管脚,使System ACE控制器复位,System ACE控制器就会按照新指定的配置地址重新读取配置文件并通过ConfiguraTIon
JTAG口配置FPGA。
实际应用中可以使用用户定义逻辑的可编程逻辑器件CPLD通过重配置转移条件来控制CFGADDR和RESET的状态,自动地实现重配置,也可以使用外部拨码开关,手动控制CFGADDR和RESET来实现重配置,其配置时序如图3所示。
3 实现方法细节
3.1 配置文件和配量引导文件
使用iMPACT工具中的System ACE选项。将指定的.bit位流文件转化为.ace配置文件,同时会自动生成Xilinx.sys配置引导文件。其中,.ace配置文件用来配置FPGA,Xilinx.sys配置引导文件用来引导System ACE寻找指定的配置文件。其内容(可根据需要自行修改)如下:
是CF卡根目录下的文件夹名。系统会进人此文件夹查找配置文件;,⋯⋯是目录下的文件夹名,其中直接存放配置文件,且每个文件夹下只能存放1个.ace文件。
3.2 CF卡存放文件的目录结构
根据配置文件个数的多少,CF卡内存放文件的目录结构有以下2种:
1)当存在大于等于1个配置文件时,根目录下存放文件夹和Xilinx.sys配置引导文件,文件
夹下存放,⋯⋯文件夹。文件夹下存放各自的.ace配置文件(《
cfgX_name》文件夹也可以为空)。System ACE CF控制器根据其外部的配置地址(CFGADDR)管脚状态选
文件夹和配置文件。
2)当只有1个配置文件时。可以直接将.ace配置文件存放在CF卡的根目录下。不需要Xilinx.sys配置引导文件。此
模式下。系统缺省直接使用这个.ace文件配置FPGA,忽略外部的配置地址管脚状态。
3.3 CF卡的文件和格式化要求
1)CF卡分区必须使用FATl2或FATl6格式化,System ACE CF控制器不支持FAT32文件系统。FAT12格式下分区容量最大为16 MB(最多4096个簇。每簇最大4 KB),FATl6格式下分区容量最大为2 GB(最多65 536个簇,每簇最大
32 KB)。
2)每簇的扇区个数必须大于1。每个扇区的容量为128x2N字节(DOS下N取2)。
3)System ACE CF文件必须放在CF卡第1个分区下面。
4)CF卡第1个分区的分区导入记录必须指定为1个保留扇区。Windows 2000,Windows NT和Windows 98 *** 作系统下格式化时缺省为1个保留扇区。但是Windows XP下格式化CF卡时会根据CF卡的密度自动生成为2~8个保留扇区。因此,Windows XP下格式化的CF卡不能直接使用,这时可以使用mkdosfs工具在Windows XP下手动输入指定格式化的参数。
5)文件名按照FAT8.3格式规范命名。其他的文件和目录可以和System ACE文件和目录共存。
4 结束语本文给出了一种利用System ACE实现FPGA全局动态可重配置的方法.并详细讨论了实现的技术细节。实验中采用本方法实现了Virtex系列的5VFX70T器件的全局动态可重配置,方案设计合理可靠,达到预定目标。合理使用全局动态可重配置技术可以使FPGA在不同的时间段内。作为不同的硬件电路使用。并且在切换过程中,电路板不需要断电重上电,因此不会影响除FPGA外的其他电路的正常工作。因此,与静态可重配置相比。FPGA的动态可重配置具有更广阔的应用前景。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)