打印

ISE增量编译技术的使用

[复制链接]
6986|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
明空|  楼主 | 2010-11-10 15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ISE增量编译技术的使用--“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛参赛作品大型的设计或时序关键性模块的编译时间往往比较长,在常规的设计流程中,设计中任何小的改动都将需要对整个设计重新执行一遍编译、综合、布局布线等步骤,所以效率比较低。为解决这个问题,”赛灵思提出了partition和smart guide编译技术用来提高设计效率,可能很多朋友都没有注意到这两个工具,但使用起来倒是很简单的,”赛灵思有一篇文档感兴趣的朋友可以参考一下:
http://www.xilinx.com/support/documentation/application_notes/xapp918.pdf
下面简单说明下这两个工具的使用:
一、smart guide的使用
SmartGuide将用户指定的以前实现的设计和当前实现进行比较,然后尽可能保留设计的未变更部分。如果需要满足时序目标并生成成功的实现,就会重新实现保留的设计部分。
SmartGuide 适用于整个设计,如要使用SmartGuide技术,在ISE界面左边的SOURCES里右键点击顶层模块,选择SmartGuide…, 如下图一示:

在弹出的配置窗口钩选Use SmartGuide, 并且通过浏览器指定要作为参考的NCD文件,最后点OK就可以开启SmartGuide功能了,然后按普通工程一样编译、综合、布局布线来实现结果。
二、partition的使用
partition用于保留以前已实现设计的未变更部分。在实现设计时,对没有变更的设计实现工具会通过“复制粘贴”等操作保证将该分区的实现数据保留下来。通过将实现结果保留下来,分区可以实现设计的已修改部分而不影响设计的其余部分或已保留的分区,这也有助于缩短编译时间。
要使用partition技术,只需要在ISE界面左边的SOURCES里右键点击一个想要实现分区的模块,然后选择New Partition, 如下图二示:

然后右键点击分区模块, 在弹出的右键菜单里选择Porperties…,即上图中右键菜单的最后一个选择项。在弹出窗口可以选择分区保留级别,具体有四个选择项如下图三示:

各个选择项说明如下:
①Inherit(routing):这是默认的保留级别,对顶层模块的保留级别设为“Routing”,而较低级分区的保留级别设为“Inherit”。 “Inherit”即为继承上层模块的保留级别。
②Routing:此保留级别保留布线后的结果,包括综合的网表和信息、布局信息和布线信息,提供的保留程度最高,相对而言给予实现工具满足时序或实现目标的灵活性最小。
③Placement:此保留级别保留布局后的结果,包括综合的网表和信息、布局信息和部分布线信息,也可能是所有的布线信息,提供的保留程度次高,相对而言给予实现工具满足时序或实现目标的灵活性次小。
④Synthesis:此保留级别只保留设计的综合网表,提供的保留程度最底,相对而言给予实现工具满足时序或实现目标的灵活性最大。
另外右键点击分区模块, 在弹出的右键菜单里里有个Delete Partition 和Partition Force 菜单中也会用到,如下图四所示:

Delete Partition就是删除分区。
Partition Force两个选项为:
Force Synthesis Out-of-date: 使重新综合并重新实现分区。
Force Implement Design Out-of-date:使重新实现分区,但保留已综合的网表。
分区设好后按普通工程一样编译、综合、布局布线来实现结果就可以了。
三、partition和smart guide的选择
在一个设计中不能同时使用partition和smart guide技术,所以要根据具体情况选择合适的技术。根据赛灵思xapp918.pdf文档描述,在下述情况使用smart guide比较合适:
①一两个模块中的少量逻辑变更(少于 10%),不影响设计的其余部分。
②移动PAD位置。
③更改元件属性。
④更改时序约束。
以下情况使用partition比较合适:
①设计修改量比较大的情况
②为了缩短综合实现工具的实现运行时间,如NGDBuild、MAP 和 PAR时间
③减少验证:由于实现完全相同,因而分区被保留,不需要重新验证。
④希望方便对各模块进行不同的控制,而smart guide是对整个设计而言的。
最后提一下如果编译时间比较长而想提高一些编译速度的话,除了使用本文提到的partition和smart guide增量编译技术,一般情况下,选用更高版本的ISE软件和使用命令行的Tcl脚本也可以获得更快的编译速度。
欢迎大家来讨论与交流,本文为“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛参赛作品。




评分
参与人数 1威望 +8 收起 理由
SuperX-man + 8

相关帖子

沙发
SuperX-man| | 2010-11-10 15:21 | 只看该作者
受益了,好文一篇

使用特权

评论回复
板凳
钻研的鱼| | 2010-11-10 16:57 | 只看该作者
不错,谢谢

使用特权

评论回复
地板
mzhang198| | 2010-11-10 22:34 | 只看该作者
好东西,还以后啥多分享一些哦

使用特权

评论回复
5
明空|  楼主 | 2010-11-12 15:38 | 只看该作者
同志们,转的这个东西时间比较早了,artitions 在ISE® Project Navigator中不支持了。

artitions are no longer supported in ISE® Project Navigator. If you open a project with partitions from a previous software release in the ISE 12 software, the partitions in the design are removed.
The PlanAhead™ software and the command line tools now support a new partition methodology. For more information on this methodology, see the Hierarchical Design Methodology Guide.

使用特权

评论回复
6
SuperX-man| | 2010-11-12 22:41 | 只看该作者
汗一个,不过现在还有不少人用的是ISE11前的版本.
希望他们能派上用处

使用特权

评论回复
7
macys| | 2010-12-24 16:34 | 只看该作者
现在的Partition在PlanAhead当中可以实现,其实基本思路和从前差不多,操作也都是图形界面的,很方便~
网站上有个详细的资料哦:
http://www.xilinx.com/support/do ... erarchical_Design_M
ethodology_Guide.pdf

使用特权

评论回复
8
ping2010| | 2013-3-7 17:36 | 只看该作者
好**

使用特权

评论回复
9
qin552011373| | 2013-3-7 19:59 | 只看该作者
很好的**  赞一个

使用特权

评论回复
10
GoldSunMonkey| | 2013-3-8 21:29 | 只看该作者
非常不错啊

使用特权

评论回复
11
feihong777| | 2013-3-8 21:57 | 只看该作者
GoldSunMonkey 发表于 2013-3-8 21:29
非常不错啊

嗯,感谢啊

使用特权

评论回复
12
GoldSunMonkey| | 2013-3-9 21:58 | 只看该作者
feihong777 发表于 2013-3-8 21:57
嗯,感谢啊

欢迎常来啊

使用特权

评论回复
13
FangTT| | 2013-3-9 22:19 | 只看该作者
赞啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

357

帖子

0

粉丝