XilinxFoundationF3.1的结构及设计流程
摘要:介绍了Xilinx Foundation F3.1可编程器件开发工具软件的组成和功能,同时介绍了该软件工具中设计入口工具和设计实现工具的主要功能和使用特点。给出了一个用Xilinx Foundation F3.1 开发设计FPGA器件的流程图。
关键词:软件;工具;编程;开发设计
Xilinx Foundation F3.1是Xilinx公司主要的可编程器件开发工具,它可用来开发Xilinx公司的Spar-tan Virtex XC3000 XC4000 XC5200 系列的FPGA芯片和XC9500系列的CPLD芯片。该平台功能强大,主要用于百万逻辑门级的设计和1Gb/s的高速通信内核的设计。利用该系统可完成从设计构想到比特流下载的全部过程。该平台以工程管理器为主界面,同时集成了Xilinx公司以及其他公司的一些优秀软件。
1 组成和功能
该系统由设计入口工具、设计实现工具、设计验证工具三大部分构成。设计入口工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL)编辑器、LogiBLOX模块生成器、Xilinx内核生成器等软件。其功能是:接收各种图形或文字的设计输入,并最终生成网络表文件。设计实现工具包括流程引擎、限制编辑器、基片规划器、FPGA编辑器、FPGA写入器等软件。设计实现工具用于将网络表转化为配置比特流,并下载到器件。设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行检验,并详尽分析各个时序限制的满足情况。javascript:window.open(this.src);" style="cursor:pointer;"/>
2 设计入口工具的使用
该系统设计入口工具中的内核产生器是设计入口工具的重要部分。该部分可提供不少实用的模块化内核,具体涉及数学函数生成、数字信号处理、标准总线、通信与网络等领域。其中既有比较器、计数器、复用器、编码译码器等通用内核,也有复数型快速傅立叶变换(FFT)、有限冲击响应滤波器FIR、除法器、双通道数字振荡器等专用内核。用户在使用时只要输入几个参数,即可自动生成内核。使用内核产生器能大大扩展设计能力并提高效率从而跨越众多底层复杂构件的具体设计,并使系统级设计因此变得非常可行。
3 设计实现工具的使用
3.1 使用限制编辑器
限制编辑器最简单的应用就是预先指定各信号的管脚号码。它可以用来定义时间组及组时序限制,例如定义所有受CLK4X控制的锁存器和触发器为高速时间组,同时定义该组所要求的建立时间和保持时间等。
3.2 使用基片规划器(FloorPlanner)
通过基片规划器可以手工设定任意模块(表现为元素集合)或元素在FPGA中的位置,以进行最底层的布置。由于设计引擎的自动布线有较大随机性,它往往会把高速模块的组成元素布得过于分散,从而使一些时序限制得不到满足。因此,使用者可在基片规划器中把高速模块元素相对集中放置。另外,对于系统级设计,在基片规划器中用手工对各子系统模块进行合理定位,也会有效提高系统性能和频率上限。
4 设计流程
对于系统级设计,应使用基于原理图的层次化设计,也就是以系统结构原理图作为顶层图,然后自上而下构造结构图,同时自下而上进行具体化(用HDL语言或元件互连关系表示出来)并功能性地仿真每个模块和子图,以保证每层逻辑关系都正确。在根据顶层原理图进行具体化并进行功能仿真后,添加必要的输入输出元件即可合成系统网络表。之后,系统将自动运行流程引擎(包括翻译、映射、放置和布线、生成比特流),并利用流程引擎产生的时序信息进行时序仿真和时序分析。最后,再用修改入口设计、设置各种属性和限制、调整基片布局等方法修改设计,直到达到设计要求为止。在完成了上述全部工作之后,便可以将优化后的配置比特流下载到PROM芯片中。图1给出了一个对FPGA进行设计的流程图。