Xilinx PlanAhead 使用方法及心得(1.综述)
- UID
- 1023229
- 来自
- 中国
|
Xilinx PlanAhead 使用方法及心得(1.综述)
PlanAhead这个软件出现在ISE工具包里已经很久了。具体是什么时候集成进去的,我也不去深究了。但是,在ISE12里,PlanAhead的功能出现了很大的变化,不再仅仅是过去的约束软件,而是加入了RTL Design(Synthesize),Netlist Design(Implement),等传统上Project Navigator中的功能。现在,在PlanAhead中即可进行全部的FPGA设计。据称,Xilinx可能在14或者以后的版本中,取消Project Navigator。那么本文就着重的说说PlanAhead的功能。[[wysiwyg_imageupload:644:]] 图2所示,是PlanAhead的左边工具栏。[[wysiwyg_imageupload:646:]] 上面的Project Manager用于综合管理工程文档。Add Sources创建、管理源文件;IP Catalog创建、管理IPcore的工程设定。Elaborate显示RTL图,并可以实现资源和功率的估计等等(在Synthesize之前,提高速度)。RTL Design与上面的Elaborate相同,都是打开RTL Design的功能。Synthesize是运行Xilinx 的 XST Synthesis,综合工程。Netlist Design用来配置已经综合过的工程,包括显示综合过的RTL图,估计资源占用,配置约束,时序仿真等等。Implement执行ISE Implementation。Implemented Design观察时序和布局结果,并可以优化约束。Program and Debug按钮,用来生成烧写文件,启动ChipScope,iMPACT。我们再进一步展开几个执行按钮的下拉菜单。如图3所示。[[wysiwyg_imageupload:647:]] 进入到Synthesis Setting,得到图4。[[wysiwyg_imageupload:648:]] 这里面可以选择使用的约束集合(在add sources里添加约束集合);在options里应用不同的综合选项综合。进入到Create Multiple Runs里,如图5。[[wysiwyg_imageupload:649:]] 这里面建立的多个synthesis可以同步运行,充分利用多核cpu的优势。而这些多个synthesis,可以是有不同的device,或者不同的Constraint sets。下面通过一个例子说明PlanAhead如何创建工程。图6所示是PlanAhead的启动界面。[[wysiwyg_imageupload:650:]] 选择Create New Project,进入新建工程界面,如图7所示。[[wysiwyg_imageupload:651:]] 下面是选择工程名和位置,如图8。[[wysiwyg_imageupload:652:]] 下面是选择Design Source,如图9。[[wysiwyg_imageupload:653:]] 这里我们看到5个选项。这5个选项对应着不同的设计层次。第一个Specify RTL Sources,是导入RTL级的设计源文件,包括Verilog、VHDL代码、库,还有Xilinx IPCORE等等。是最开始的设计文件。第二个Specify Synthesized(Edif or NGC)netlist,是导入已经综合过的网表文件,做分析、约束和布局布线。第三个Create an IO Planning Project,这个选项就是产生一个管脚约束文件,不做其他的事情。即是老版本的PA做的事情。第四个Import ISE Place& Route Results,导入已经布局布线后的工程,作分析和优化布局。第五个Import ISE Project,直接导入ISE的工程。我们现在选择第一个,直接设计RTL文件。图10所示的是导入源文件的界面。[[wysiwyg_imageupload:654:]] 这里我们直接导入PA的一个示例工程的源代码,位置是ISE_DS\PlanAhead\testcases\PlanAhead_Tutorial\Projects\project_bft_core_hdl\project_bft_core_hdl.srcs\sources_1\imports,里面hdl下面的文件作为文件导入进work lib,bftLib直接作为目录导入,修改library为bftLib。结果如图11所示。[[wysiwyg_imageupload:655:]] 后面的添加IPcore直接略过,下面是添加约束文件。约束文件的位置是ISE_DS\PlanAhead\testcases\PlanAhead_Tutorial\Projects\project_bft_core_hdl\project_bft_core_hdl.srcs\constrs_1\imports\Sources\bft.ucf。如图12所示。[[wysiwyg_imageupload:656:]] 然后是选择器件,我们选择Vertix-6 xc6vcx75tff784-1器件,如图13。[[wysiwyg_imageupload:657:]] 至此,工程建立完毕,显示Project Summary,如图14。[[wysiwyg_imageupload:658:]] PlanAhead的界面如图15。[[wysiwyg_imageupload:659:]] 下面开始综合工程,在Synthesize右边的下拉菜单中,选择Synthesize setting,图16。选择options右边的按钮,进入Design Run Setting,图17。[[wysiwyg_imageupload:660:]] [[wysiwyg_imageupload:661:]] 这里面可以配置修改XST的综合选项,还可以使用不同的综合策略来进行综合,我们这里面就不更改设置了,用它默认的配置就可以。之后在Synthesize setting中点击RUN,执行综合。综合完成之后,在Synthesize Completed对话框中选择Open Netlist Design,打开Netlist Design界面。在上面的下来菜单中选择I/O Planning,打开I/O配置页面,在下面的I/O Ports中,分配管脚。如图18所示。[[wysiwyg_imageupload:662:]] 打开菜单栏Windows ->Report,选择 XST Report,可以查看综合报告,如图19。[[wysiwyg_imageupload:663:]] 点击左侧的Implement,执行布局布线操作。完成之后打开Implemented Design,查看结果。在下面选择Timing Results,可以看到时序分析的结果。如图20。[[wysiwyg_imageupload:664:]] 点击Windows -> Device,在Device View的窗口下点击Show/Hide I/O Nets按钮。可以查看器件间的逻辑连接情况。如图21所示。[[wysiwyg_imageupload:665:]] 在下面的Timing Results中点击一条路径,可以在Device框中查看到对应的路径,图22。右击path,选择Path Properties,可以查看这条路径经过的元件,图23[[wysiwyg_imageupload:666:]] [[wysiwyg_imageupload:667:]] 在Timing Result对话框下,点击原理图按钮,可以看到这条路径的原理图,图24。[[wysiwyg_imageupload:668:]] 作者:天行健 |
|
|
|
|
|