首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Xilinx PlanAhead 使用方法及心得(1.综述)

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:]]                     作者:天行健
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表