Xilinx公司FPGA设计技术问答精选
www.mcuwork.com 2004-5-18 mcu实验室
问:我在ISE4.1中,用fpga express verilog编译的某些文件,用modelsimxe只能前仿
,不能后仿,不知5.1i是否有改进?
答: 4.1i支持用Modelsim XE实现行为级仿真和时间仿真,5.1I也同样。请用热线(chin
a_support@xilinx.com)打开一个例子并在4.1i/Modelsim XE运行时间仿真以解决你的问
题。
问:和5.1结合比较好的验证工具除了Modelsim外,PC机上可运行的有什么?
答:所有能接受Verilog/VHDL文件的仿真器都能使用。但我们推荐使用Modelsim仿真器,
因为Modelsim把ISE输出的.doc文件用做脚本,此外,Modelsim XE专为Xilinx器件提供了
预编译的库。
问:ISE在综合的时候,把很多中间信号、特别是组合逻信号都综合掉了(或改名了),这样
在后仿的时候造成了很大的不便,请问如何避免这一问题?
答:可以使用Keep Hierachy 选项并且在你的综合工具以及我们的布局布线工具里保持网
络名选项,这样就可以在你的设计里看见和你以前的同样的网络名。要获得更多的帮助,
可以同你的FAE或者在网上发EMAIL给 china_support@xilinx.com。
问:Data2BRAM可以简化哪些工序?
答:Data2BRAM 提供了一种简便的方法用以修改BlockRAM的内容而不需要预编译你的整个
设计。Data2BRAM的创建可以方便地把CPU软件镜象同FPGA的位数据流相结合并且可以从Bl
ockRAM的内部地址空间执行软件。当你用Xilinx的Microblaze 的软CPU核或VirtexIIPro的
内嵌PowerPC核进行设计时这一点尤其有用。
问:毛刺有何比较好的消除方法。实现加法,利用ieee.std_logic_signed.all中的'+',
a<;=b+c;是否是最佳方案。还是需要另外自己编加的程序。流水线如何实现?
答:在组合逻辑电路的设计中毛刺主要来源于多个输入信号的同时变化,同步设计中毛刺
的最大影响是你的时钟信号上有毛刺。为了避免这种现象,通常的做法就是使用带时钟使
能的FF以去除任何的门时钟设计。
问:请问用ISE5.1i,在设计中要注意的主要的问题是什么?如何更好地发挥系统的优势?
答:下面是一些通常需要注意的规则:
总是使用同步设计;
不要使用门时钟;
总是使用全局时钟缓冲来路由时钟信号;
在RTL(寄存器传输级)写可综合的HDL代码。避免使用抽象的行为级模型;
总是使用时间约束以保证性能。
问:ISE 5.1i是否可以使用MATLAB6.5来做仿真?
答:我假定你正在从事DSP的设计并且使用Matlab和Xilinx System Generator进行数字信
号处理。你可以使用Matlab/Simulink和System Generator编译你的DSP模型并做系统级仿
真,那样的话从System Generator你就能生成可综合的VHDL代码用于Xilinx后端布线工具
。
问:请较详细地介绍所谓的增量设计技术
答:增量设计,作为一个流程,能够极大地减少布局布线时间并且当对一个近似完整的设
计作小的变动时可以保持整个系统的性能。它需要整个设计遵循一个非常好的层次化设计
规则以确保这个设计被分配进各个独立的逻辑分组里。每一个逻辑分组在Xilinx的FPGA里
受到约束以使之只占有自己的空间。在设计中当对其中之一的逻辑分组做改动时,一个增
量设计流程可以确保未做改动的逻辑分组在进行综合输出时不变化。接着布线工具对改动
了的逻辑分组(在它被指定的区域里)重新进行布局布线,而未改动的逻辑分组则继续以
前的布局布线结果。通过保持以前未改动逻辑分组的结果,这些逻辑分组的性能得以保持
并整个设计的布局布线时间得以削减。当调试整个设计时就为设计人员节省了宝贵的时间
。要了解更多的关于增量设计流程的细节请参考Xilinx 应用文档XAPP418。
问:请问在ISE5.1中怎么使用命令行方式?比如用命令ngdbuild -p xcv300bg432-4 bram
2048x8.edn,在什么地方使用这个命令?
答:ISE实际上是一个壳程序以执行命令行方式的程序。当在ISE中进行Translate 时会调
用Ngdbuild。如果你对我们的命令行工具流程熟悉的话,你也可以不使用ISE的GUI而从OS
的命令解释器窗口来运行ngdbuild。你可以在Xilinx的网页
http://toolbox.xilinx.com/docsan/xilinx5/manuals.htm的Development System Reference Guide上找到更多详细的
资料。
问:ISE5.1i 与ISE4.x相比在使用vhdl方面有什么提高(速度,优化能力)?支持verilogH
DL吗?有没有与pcb工具交互的能力?比如采用FPGA引脚很多,有时需要修改原理图(即fl
oorpin editor)重新与引脚匹配,有没有直接在pcb上修改网表导入ISE5.1i 验证能否这
样修改的功能? 答:ISE5.1I是我们最新的软件版本,同以前的版本相比在速度和性能方
面相比有许多改进,对Verilog HDL是肯定支持的。现在我们不提供任何同PCB布线工具的
接口,不过在5.1i中你可以使用PACE用图形化的方式进行管脚分配。
问:Xilinx ISE5.1集成综合环境中,能支持的综合工具有哪些?如amplify能在环境中直
接调用吗?另外,什么叫真正的增量式设计?我在网上看到许多Altera公司的一些设计技
巧文档,我想知道XILINX公司有类似的文档吗,如何获得?
答:ISE5.1i支持大多数商业化的综合工具,包括Leonardo, FPGA CompilerII以及Synpli
fy Pro。因为Amplify的接口同Synplify Pro相同,我们肯定支持这种工具。如果要了解的
更详细可以发MAIL至china_support@xilinx.com。对于TRUE,Xilinx的增量设计能够确保
逻辑分组的时间性能不改变。Xilinx的网站上提供了很多的相关资料,你可以访问我们的
网站
http://support.xilinx.com/apps/xapp.htm 问:请问// synopsys translate_off // synopsys translate_on这类的语句是不是只支
持synopsys 公司的仿真软件?我用synplify怎么使用这类语句?
答:synopsys的translate off/on原语特用于Synopsys工具。它同Synplicity工具的约束
相似。你可以在
http://support.xilinx.com网站的5.1i的软件手册的约束向导下找到更多的信息。
问:能否在ISE 5中加进自己开发的IP?如何操作?
答:在ISE5.1i中有一个宏编译器特色,它允许用户设计和编译他们自己的RPM并且集成到
他们自己的设计中,这可以在FloorPlanner中实现。
问:验证技术在设计中很重要。能否详细介绍一下,ISE 5中的逻辑功能验证和时序的验证
有何新的突破?
答:在设计FPGA中验证技术变得越来越重要。Xilinx同他的合作伙伴越来越紧密的合作以
发展我们的验证技术,Xilinx同MTI合作提供MXEII用以仿真。Xilinx也同Synopsys和一些
类似的供应商合作以及确保ISE同其它一些工具的连接更顺畅,这样做客户能够接触到艺术
级的技术。
问:1.ISE5.1i 和 ISE4.1i 相比有哪些优点?2.ISE5.1i 价格是多少?支持哪些型号芯片
?3.ISE5.1i 提供哪些综合器接口,你们建议我们选用哪种综合器?谢谢!
答:ISE5.1i是Xilinx推出的具有ASIC-strength的设计工具,它充分发掘了VirtexⅡPro系
列芯片的潜力;Virtex-II Pro 系列芯片的密度是从40,000门到8,000,000门。同4.1i相比
,设计人员在编译时所花的时间得到了成倍提高(从100,000/min增加到200,000门/min)
并且在器件速度上增加了40%。此外,用户能够尽早的也就是在芯片发布前几个月就提前了
解到Xilinx FPGA产品的更高级器件的结构,比如说Virtex-II Pro器件。ISE5.1i使得逻辑
用户能够在使用新的关键特色而承担较小的风险以提前完成他们的设计,比如说1)真正的
增量设计,它使得即使最后一分钟的设计变化也不会对整个设计计划增加风险,它保持了
未改动模块的性能并加速了设计编译时间,2)高级管脚分配和区域约束编辑器(PACE)管
理工具,它简化了对器件IO的指标要求,这包括交互式电压分区和差分对识别的指导思想
3)结构向导,它简化了最高级的多兆位串行收发器的设计以及在片时钟管理能力4)宏编
译器,它通过使用物理IP实现及保持布局信息使得代码可以得到重用。
问:作为设计人员用ISE5.1I怎样运用高层的抽象模式定义系统来达到设计的预定要求?谢
谢
答:Xilinx花了很多精力用以增强高级结构综合,这意味着我们原提供工具能够支持"C"或
"Java"的设计入口。通过指定你的设计在那个级别上,我们的工具能帮助用户在做逻辑综
合时在结构上得到折中。如果你感兴趣的话,,你可以访问我们的网站或是同我们的产品
支持FORGE联系。
问:综合时,要求综合器一定要综合的逻辑部分要添加什么语句
答:你能够使用综合的translate off和translate on陈述来排除你不希望综合的那一部分
。要了解更多的你们的综合工具的特殊指令,请参考Xilinx网站
http://toolbox.xilinx.com/docsan/xilinx5/manuals.htm上的软件手册的约束向导部分。
问:怎样在constraints对时序进行约束?
答:你能够在一个.UCF文件或者是通过约束编辑器GUI写你的时间约束。可以在我们的网站
support.xilinx.com ->; Tech Tips ->; Timing &; Constraints.上找到更多的使用
这些时间约束的信息,Getting Started里有很多的学习使用时间约束的有用信息。
问:使用ISE进行FPGA设计需要了解XILINX的FPGA片子的内部结构么?
答:在开始使用ISE进行你的设计时你不需要对FPGA的结构做深层次的了解,你可以用HDL
写出所有的逻辑而不需要任何的关于结构初始化的信息。
不过,如果你对FPGA的结构有一定的了解你可以获得更好的逻辑效率,通过使用特定的资
源比如说内嵌乘法器和移位寄存器,你能够通用逻辑资源的使用。