所有的Commandline都可以在ISE的help->User Manuals里查到,在User Manuals中
XST User Guide -------关于XST的命令单独在这个文档里;
Command line tools user guide ---------ngdbuild、PAR、map、trce、bitgen等其他的都在这里
下面都是转帖:
因为目前进行的一个项目使用了多块容量较大的Xilinx FPGA, 对各块FPGA进行synthesis,map,P&R和generaTIng programming file就成了一个大问题。(惭愧啊,group里没有人有modular design的经验)虽然现在的工作站性能比较强劲,但产生每一个programming file还是要花上好几个小时。所以考虑到在Command Line下面进行所有的编译工作,下面是一点点心得,希望对大家有所帮助。
要完成一次完整的Xilinx FPGA编译过程,涉及到的Command包括了:
XST:
全称为Xilinx Synthesis Technology,这是Xilinx ISE里面附带的一个免费的综合工具。(呵呵,Synplify Pro的购买正在商洽之中)Synthesis完毕后,你可以用任何的文本工具打开后缀名为“.syr”的文件,察看synthesis的具体运行过程及报告。
NGDBuild:
这个命令,其实就是translate啦。这是implementaTIon的第一步。它会把所有的netlist和design constraint合并到一起,生成一个ngd文件供map工具使用。同样的,NGDBuild的报告文件是后缀名为“.bld”的文件。
MAP:
MAP命令是将NGDBuild命令所生成的ngd文件,映射到具体的FPGA器件里面去。MAP将产生一个NCD文件供PAR使用。你可以用任何文本工具打开后缀名为“.mrp”的map报告文件。
PAR:
Place & Route。这个偶就不多说了。免得被砖头砸到。PAR的报告文件后缀名是“.par”。
TRCE:
这个是用来产生偶们最最关心的TIming report的。TRCE会分析你的FPGA的设计并且产生一个后缀名为“.twr”的时序报告。你可以用任何文本工具打开它,也可以用xilinx的TIming Analyzer。Timing Analyzer比较直观,推荐新手使用。
Bitgen:
顾名思义,这个Bitgen就是用来generate programming file啦。
介绍完Xilinx提供的这些命令后,让我们来看看如何使用它们吧。Xilinx给我们提供了一个很有用的工具:View Command Line Log File。这个工具位于Process for Source窗口的Design Entry Utitlities下面。
双击这个View Command Line Log File,你看到了什么?哈哈,在右边的文本编辑窗口里面出现了类似于下面的语句:
xst -intstyle ise -ifn __projnav/fpga_a.xst -ofn fpga_a.syr
ngdbuild -intstyle ise -dd d:\projects\hardware\hy_multifpga_nwpci_vhd_new_improvetiming/_ngo -uc ./source/hy/fpga_a.ucf -aul -p xc2v6000-ff1152-4 fpga_a.ngc fpga_a.ngd
map -intstyle ise -p xc2v6000-ff1152-4 -cm area -pr b -k 4 -c 100 -tx off -o fpga_a_map.ncd fpga_a.ngd fpga_a.pcf
par -w -intstyle ise -ol high -t 1 fpga_a_map.ncd fpga_a.ncd fpga_a.pcf
trce -intstyle ise -e 1000 -l 1000 -xml fpga_a fpga_a.ncd -o fpga_a.twr fpga_a.pcf
bitgen -intstyle ise -f fpga_a.ut fpga_a.ncd
对了,上面的这些就是你以前曾经使用过的命令啦。其实,我们用ISE作Synthesis,Map,PAR的时候,ISE就会自动调用上面所说的那些command,ISE其实就是一个GUI罢了。:-)
如果双击View Command Line Log File时,出现了下面的错误提示:
Warning: This process is used to display the running command log file that records some application command lines.
这就说明了你还没有implement过你的design,或者你已经清空过了这个design。(在project目录下面,有一个cleanup project files按钮,可以清空)
接下来,就是最后一步啦。你只需要用任何文本编辑器,把上面这段Command的历史纪录Copy&Paste,再存为一个”.Bat”批处理文件,在windows的command line下面执行就可以了。注意需要把这个.bat文件放在你的项目所在目录下。
a. 如果要连续跑好几个project,建议先使用Cleanup Project Files.根据偶的经验,如果不进行清空的话,Synthesis和PAR有时会出错。但是这里会出现一个小问题,清空过后,原有的一些文件可能会被删除,比如__projnav目录下面的*.xst(这个时XST的配置文件,做Synthesis的时候,XST会读这个文件以获得相关配置),再比如*.prj(project文件,里面罗列了一些被你的设计所使用的module)以及*.ut文件(ut是Bitgen的配置文件)。这3种文件,在使用Command Line之前最好确认一下是否存在。偶一般会将这3种文件作备份,到时候好拿出来,改一改就用。
b. 在Xilinx的安装目录Xilinx\doc\usenglish\books\docs下,有关于这些command的pdf文件,如果有需要,可以读一读。不过,经过偶苦读一阵之后,偶发现,其实没有太大必要,有问题再说吧。
其实这个话题也比较简单,三言两语也可说清楚,但根据偶过去惨痛的新手经验,偶相信还是比较详细地讲解一些为好。至少可以让新手们多了解一些ISE本身。
[讨论1]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)