Partition技术
发布时间:2008/9/11 0:00:00 访问次数:725
中为需要做设计重用或者希望保留上次实现结果的模块设定partition属性。partition设定的对象可以是设计中任意层次的任意模块,这些设计可以是hdl代码、edif网表,甚至是原理图格式。为设计模块设定了partition属性以后,如果用户对设计做了部分修改,然后再次运行这个ise工程,那么ise会对比发生的改动。如果定义了partition的模块没有改动,则ise会根据保留级别的设置从数据库中把partition模块上次的综合网表、布局结果或者布线结果复制过来使用,其他有改动的partition模块和没有定义partition属性的模块会被ise重新综合和布局布线。这样partition模块的网表结构和时序结果就会与上次实现结果完全相同,从而达到设计重用的目的,如图1所示。这种“复制”和“粘贴”partition模块的过程可以大幅度地缩短布局布线运行时间`也可以完整地保留上次的实现结果`尤其是时序结果,用户不必再担心partition模块出现功能和时序上的差异。
图1 partition通过“复制”和“粘贴”实现设计重用
以下通过设计范例介绍如何在ise中运用partition技术。
(1)生成一个新的partition
创建ise工程之后,设计者首先要从( source)窗格中找到需要重用的模块。然后为其生成一个partition,具体操作如图2所示。在【source】窗格中展开设计层次,右击相应的模块后。在弹出快捷菜单中单击(new 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】按钮。
图3 设置partion的保留级别
(3)运行ise工具得到实现结果
如图4所示,实现过程结束之后,paffition模块的图标会改变,顼层模块的图标也会变表示设计中的partion模块已经完成实现。
图4 partition模块已经完成现实流程
在(design summary)窗格中可以看到关于partition的报告信息,如图5所示。
图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上一次的实现结果。
图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)选项
中为需要做设计重用或者希望保留上次实现结果的模块设定partition属性。partition设定的对象可以是设计中任意层次的任意模块,这些设计可以是hdl代码、edif网表,甚至是原理图格式。为设计模块设定了partition属性以后,如果用户对设计做了部分修改,然后再次运行这个ise工程,那么ise会对比发生的改动。如果定义了partition的模块没有改动,则ise会根据保留级别的设置从数据库中把partition模块上次的综合网表、布局结果或者布线结果复制过来使用,其他有改动的partition模块和没有定义partition属性的模块会被ise重新综合和布局布线。这样partition模块的网表结构和时序结果就会与上次实现结果完全相同,从而达到设计重用的目的,如图1所示。这种“复制”和“粘贴”partition模块的过程可以大幅度地缩短布局布线运行时间`也可以完整地保留上次的实现结果`尤其是时序结果,用户不必再担心partition模块出现功能和时序上的差异。
图1 partition通过“复制”和“粘贴”实现设计重用
以下通过设计范例介绍如何在ise中运用partition技术。
(1)生成一个新的partition
创建ise工程之后,设计者首先要从( source)窗格中找到需要重用的模块。然后为其生成一个partition,具体操作如图2所示。在【source】窗格中展开设计层次,右击相应的模块后。在弹出快捷菜单中单击(new 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】按钮。
图3 设置partion的保留级别
(3)运行ise工具得到实现结果
如图4所示,实现过程结束之后,paffition模块的图标会改变,顼层模块的图标也会变表示设计中的partion模块已经完成实现。
图4 partition模块已经完成现实流程
在(design summary)窗格中可以看到关于partition的报告信息,如图5所示。
图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上一次的实现结果。
图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)选项