首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» ISE增量编译技术的使用-
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
ISE增量编译技术的使用-
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-11-29 10:25
|
只看该作者
ISE增量编译技术的使用-
朋友
,
技术
大型的设计或时序关键性模块的编译时间往往比较长,在常规的设计流程中,设计中任何小的改动都将需要对整个设计重新执行一遍编译、综合、布局布线等步骤,所以效率比较低。为解决这个问题,”赛灵思提出了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设计技巧与应用创新博文大赛参赛作品。
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
DSP技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议