您现在的位置: 主页 > 嵌入式处理器 > FPGA > Partition技术 -
本文所属标签:
为本文创立个标签吧:

Partition技术 -

来源: 网络用户发布,如有版权联系网管删除 2018-08-07 

[导读]中为需要做设计重用或者希望保留上次实现结果的模块设定Partition属性。Partition设定的对象可以是设计中任意层次的任意模块,这些设计可以是HDL代码、EDIF网表,甚至是原理图格式。为设计模块设定了Partition属性以

中为需要做设计重用或者希望保留上次实现结果的模块设定Partition属性。Partition设定的对象可以是设计中任意层次的任意模块,这些设计可以是HDL代码、EDIF网表,甚至是原理图格式。为设计模块设定了Partition属性以后,如果用户对设计做了部分修改,然后再次运行这个ISE工程,那么ISE会对比发生的改动。如果定义了Partition的模块没有改动,则ISE会根据保留级别的设置从数据库中把Partition模块上次的综合网表、布局结果或者布线结果复制过来使用,其他有改动的Partition模块和没有定义Partition属性的模块会被ISE重新综合和布局布线。这样Partition模块的网表结构和时序结果就会与上次实现结果完全相同,从而达到设计重用的目的,如图1所示。这种“复制”和“粘贴”Partition模块的过程可以大幅度地缩短布局布线运行时间`也可以完整地保留上次的实现结果`尤其是时序结果,用户不必再担心Partition模块出现功能和时序上的差异。

Partition通过“复制”和“粘贴”实现设计图

图1 Partition通过“复制”和“粘贴”实现设计重用

以下通过设计范例介绍如何在ISE中运用Partition技术。

(1)生成一个新的Partition

创建ISE工程之后,设计者首先要从( Source)窗格中找到需要重用的模块。然后为其生成一个Partition,具体操作如图2所示。在【Source】窗格中展开设计层次,右击相应的模块后。在弹出快捷菜单中单击(New Partition)命令,为该模块生成了一个Partition。

生成一个新的Partition

图2 生成一个新的Partition

(2)设智Partion属性

生成一个Partion后,该模块的图标会改变,顶层模块的图标也会为的,这表示设计中有些模块设定了Partion识些礻尝块伯待实现.存Partion性设皆屮还可以设定保留和重用的级捌,如图3所示,右击Panition模块 ,【Propedies】命令.在对话框中的【Category】列表框中选择【Partion】选14,然后在下边的拉列表中选择没计保留和重用(ProseVC)的级别。选择【Routing】选项表示综合的网表,布局和布线信虑、公被保留,这足默认的保留级别;选择【Placement】选项表示保留综合的网表和布局信息;选择【Synthesis】选项表示只保留综合的网表:选择【Inhedt】选1项表示沿用上层父模块的保留级别。如果上层父模块木定义Partion,则保留默认,此时会看到名称“Inherit(Routing)”。选择后单击【OK】按钮。

设置Partion的保留级别

图3 设置Partion的保留级别

(3)运行ISE工具得到实现结果

如图4所示,实现过程结束之后,Paffition模块的图标会改变,顼层模块的图标也会变表示设计中的Partion模块已经完成实现。

Partition模块已经完成现实流程

图4 Partition模块已经完成现实流程

在(Design Summary)窗格中可以看到关于Partition的报告信息,如图5所示。

Partition Summary报告

图5 Partition Summary报告

(4)设计更新之后重新运行ISE

如果Partition模块未曾改动,那么ISE就会保留Partition上次实现的结果。设计者可以在Synthesis、MAP和PAR报告中看到关于Partition模块的资源及状态等信`患。在(Design Summary)窗格中也有关于Partition的报告信息,如图6所示。在这个例子中我们为u_phy_init_0两个模块定义了两个Partition。第1次实现以后,u_phy_init_0模块和其他模块有过代码改动,但Partition模块u_phy_init_0没有改动。从图6可以看到ISE保留了u_phy_init_0上一次的实现结果。

设计更新并重新实现后的Partition Summary报告

图6 设计更新并重新实现后的Partition Summary报告

(5)Partition的其他操作

如果设计者想删除先前定义的Partition,可以在(Source )窗格中右击相应的Partition模块,然后选择(Delete Partition)命令。

如果设计者想暂时取消对某个Partition的保留状态,即这次实现不想保留以前的实现结果,而是重新综合或实现,那么在右击出现的快捷菜单中选择对话框中( Partition Force)选项后,选择取消保留哪个阶段,如图7所示。(Force Synthesis Out-of-date)选项表示不再保留上次的综合结果,ISE需要重新综合这个模块;( Force“Implement Design”Out-of-date)选项表示不再保留上次的布局布线结果,ISE可以重新为这个模块布局布线。

暂时取消Partiton的保留状态

图7 暂时取消Partiton的保留状态

(6)注意事项

ISE工具选项或命令行的变动导致所有Partition模块需要重新实现,如map-timineeffort levels,以及任何命令行变化。

Partition支持层次嵌套,Partition可以应用于任意层次的任意模块。

Partition自动检测设计文件的变化,这些文件既包括HDL代码,也包括约束文件,如 UCF中的物理位置约束及针对Partition模块的区域约束等。

Partition不要求有区域约束。

MPPR、logic_Opt及global_opt功能与Partition不兼容。



来源:ks990次

本文引用地址: http://www.21ic.com/app/eda/201806/769757.htm



              查看评论 回复



 

"Partition技术 -"的相关文章

网站地图

围观()