Xilinx PlanAhead 使用方法及心得

URL: http://www.eefocus.com/spencer/blog/12-06/280562_0390e.html

PlanAhead这个软件出现在ISE工具包里已经很久了。具体是什么时候集成进去的,我也不去深究了。但是,在ISE12里,PlanAhead的功能出现了很大的变化,不再仅仅是过去的约束软件,而是加入了RTL Design(Synthesize),Netlist Design(Implement),等传统上Project Navigator中的功能。现在,在PlanAhead中即可进行全部的FPGA设计。据称,Xilinx可能在14或者以后的版本中,取消Project Navigator。那么本文就着重的说说PlanAhead的功能。

 

 

图 1 PlanAhead界面

 

图2所示,是PlanAhead的左边工具栏。

 

 

图 2 PlanAhead左边栏

 

上面的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所示。

 

 

图 3 Synthesize 的下拉菜单

 

进入到Synthesis Setting,得到图4。

 

 

图 4 Synthesis Setting 界面

 

这里面可以选择使用的约束集合(在add sources里添加约束集合);在options里应用不同的综合选项综合。

 

进入到Create Multiple Runs里,如图5。

 

 

图 5 Create Multiple Runs界面

 

这里面建立的多个synthesis可以同步运行,充分利用多核cpu的优势。而这些多个synthesis,可以是有不同的device,或者不同的Constraint sets。

 

下面通过一个例子说明PlanAhead如何创建工程。

 

图6所示是PlanAhead的启动界面。

 

 

图 6 PlanAhead界面

 

选择Create New Project,进入新建工程界面,如图7所示。

 

 

图 7 New Project

 

下面是选择工程名和位置,如图8。

 

 

图 8 New Project

 

下面是选择Design Source,如图9。

 

 

图 9 Design Source

 

这里我们看到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所示的是导入源文件的界面。

 

 

图 10 Add Sources

 

这里我们直接导入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所示。

 

 

图 11 Added Sources

 

后面的添加IPcore直接略过,下面是添加约束文件。约束文件的位置是ISE_DS\PlanAhead\testcases\PlanAhead_Tutorial\Projects\project_bft_core_hdl\project_bft_core_hdl.srcs\constrs_1\imports\Sources\bft.ucf。如图12所示。

 

 

图 12 Add Constraints

 

然后是选择器件,我们选择Vertix-6 xc6vcx75tff784-1器件,如图13。

 

 

图 13 Device

 

至此,工程建立完毕,显示Project Summary,如图14。

 

 

图 14 Project Summary

 

PlanAhead的界面如图15。

 

 

图 15 PlanAhead

 

下面开始综合工程,在Synthesize右边的下拉菜单中,选择Synthesize setting,图16。选择options右边的按钮,进入Design Run Setting,图17。

 

 

图 16 Synthesize setting

 

 

图 17 Design Run Settings

 

这里面可以配置修改XST的综合选项,还可以使用不同的综合策略来进行综合,我们这里面就不更改设置了,用它默认的配置就可以。之后在Synthesize setting中点击RUN,执行综合。

 

综合完成之后,在Synthesize Completed对话框中选择Open Netlist Design,打开Netlist Design界面。

 

在上面的下来菜单中选择I/O Planning,打开I/O配置页面,在下面的I/O Ports中,分配管脚。如图18所示。

 

 

图 18 I/O Planning

 

打开菜单栏Windows ->Report,选择 XST Report,可以查看综合报告,如图19。

 

 

图 19 XST Report

 

点击左侧的Implement,执行布局布线操作。完成之后打开Implemented Design,查看结果。

 

在下面选择Timing Results,可以看到时序分析的结果。如图20。

 

 

图 20 Timing Results

 

点击Windows -> Device,在Device View的窗口下点击Show/Hide I/O Nets按钮。可以查看器件间的逻辑连接情况。如图21所示。

 

 

图 21 I/O Nets

 

在下面的Timing Results中点击一条路径,可以在Device框中查看到对应的路径,图22。右击path,选择Path Properties,可以查看这条路径经过的元件,图23

 

 

图 22 Timing Results

 

 

图 23 Path Properties

 

在Timing Result对话框下,点击原理图按钮,可以看到这条路径的原理图,图24。

 

 

图 24

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值