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