Partition技術(shù)
中為需要做設(shè)計(jì)重用或者希望保留上次實(shí)現(xiàn)結(jié)果的模塊設(shè)定Partition屬性。Partition設(shè)定的對(duì)象可以是設(shè)計(jì)中任意層次的任意模塊,這些設(shè)計(jì)可以是HDL代碼、EDIF網(wǎng)表,甚至是原理圖格式。為設(shè)計(jì)模塊設(shè)定了Partition屬性以后,如果用戶對(duì)設(shè)計(jì)做了部分修改,然后再次運(yùn)行這個(gè)ISE工程,那么ISE會(huì)對(duì)比發(fā)生的改動(dòng)。如果定義了Partition的模塊沒有改動(dòng),則ISE會(huì)根據(jù)保留級(jí)別的設(shè)置從數(shù)據(jù)庫(kù)中把Partition模塊上次的綜合網(wǎng)表、布局結(jié)果或者布線結(jié)果復(fù)制過來使用,其他有改動(dòng)的Partition模塊和沒有定義Partition屬性的模塊會(huì)被ISE重新綜合和布局布線。這樣Partition模塊的網(wǎng)表結(jié)構(gòu)和時(shí)序結(jié)果就會(huì)與上次實(shí)現(xiàn)結(jié)果完全相同,從而達(dá)到設(shè)計(jì)重用的目的,如圖1所示。這種“復(fù)制”和“粘貼”Partition模塊的過程可以大幅度地縮短布局布線運(yùn)行時(shí)間`也可以完整地保留上次的實(shí)現(xiàn)結(jié)果`尤其是時(shí)序結(jié)果,用戶不必再擔(dān)心Partition模塊出現(xiàn)功能和時(shí)序上的差異。
圖1 Partition通過“復(fù)制”和“粘貼”實(shí)現(xiàn)設(shè)計(jì)重用
以下通過設(shè)計(jì)范例介紹如何在ISE中運(yùn)用Partition技術(shù)。
(1)生成一個(gè)新的Partition
創(chuàng)建ISE工程之后,設(shè)計(jì)者首先要從( Source)窗格中找到需要重用的模塊。然后為其生成一個(gè)Partition,具體操作如圖2所示。在【Source】窗格中展開設(shè)計(jì)層次,右擊相應(yīng)的模塊后。在彈出快捷菜單中單擊(New Partition)命令,為該模塊生成了一個(gè)Partition。
圖2 生成一個(gè)新的Partition
(2)設(shè)智Partion屬性
生成一個(gè)Partion后,該模塊的圖標(biāo)會(huì)改變,頂層模塊的圖標(biāo)也會(huì)為的,這表示設(shè)計(jì)中有些模塊設(shè)定了Partion識(shí)些礻嘗塊伯待實(shí)現(xiàn).存Partion性設(shè)皆屮還可以設(shè)定保留和重用的級(jí)捌,如圖3所示,右擊Panition模塊 ,【Propedies】命令.在對(duì)話框中的【Category】列表框中選擇【Partion】選14,然后在下邊的拉列表中選擇沒計(jì)保留和重用(ProseVC)的級(jí)別。選擇【Routing】選項(xiàng)表示綜合的網(wǎng)表,布局和布線信慮、公被保留,這足默認(rèn)的保留級(jí)別;選擇【Placement】選項(xiàng)表示保留綜合的網(wǎng)表和布局信息;選擇【Synthesis】選項(xiàng)表示只保留綜合的網(wǎng)表:選擇【Inhedt】選1項(xiàng)表示沿用上層父模塊的保留級(jí)別。如果上層父模塊木定義Partion,則保留默認(rèn),此時(shí)會(huì)看到名稱“Inherit(Routing)”。選擇后單擊【OK】按鈕。
圖3 設(shè)置Partion的保留級(jí)別
(3)運(yùn)行ISE工具得到實(shí)現(xiàn)結(jié)果
如圖4所示,實(shí)現(xiàn)過程結(jié)束之后,Paffition模塊的圖標(biāo)會(huì)改變,頊層模塊的圖標(biāo)也會(huì)變表示設(shè)計(jì)中的Partion模塊已經(jīng)完成實(shí)現(xiàn)。
圖4 Partition模塊已經(jīng)完成現(xiàn)實(shí)流程
在(Design Summary)窗格中可以看到關(guān)于Partition的報(bào)告信息,如圖5所示。
圖5 Partition Summary報(bào)告
(4)設(shè)計(jì)更新之后重新運(yùn)行ISE
如果Partition模塊未曾改動(dòng),那么ISE就會(huì)保留Partition上次實(shí)現(xiàn)的結(jié)果。設(shè)計(jì)者可以在Synthesis、MAP和PAR報(bào)告中看到關(guān)于Partition模塊的資源及狀態(tài)等信`患。在(Design Summary)窗格中也有關(guān)于Partition的報(bào)告信息,如圖6所示。在這個(gè)例子中我們?yōu)閡_phy_init_0兩個(gè)模塊定義了兩個(gè)Partition。第1次實(shí)現(xiàn)以后,u_phy_init_0模塊和其他模塊有過代碼改動(dòng),但Partition模塊u_phy_init_0沒有改動(dòng)。從圖6可以看到ISE保留了u_phy_init_0上一次的實(shí)現(xiàn)結(jié)果。
圖6 設(shè)計(jì)更新并重新實(shí)現(xiàn)后的Partition Summary報(bào)告
(5)Partition的其他操作
如果設(shè)計(jì)者想刪除先前定義的Partition,可以在(Source )窗格中右擊相應(yīng)的Partition模塊,然后選擇(Delete Partition)命令。
如果設(shè)計(jì)者想暫時(shí)取消對(duì)某個(gè)Partition的保留狀態(tài),即這次實(shí)現(xiàn)不想保留以前的實(shí)現(xiàn)結(jié)果,而是重新綜合或?qū)崿F(xiàn),那么在右擊出現(xiàn)的快捷菜單中選擇對(duì)話框中( Partition Force)選項(xiàng)后,選擇取消保留哪個(gè)階段,如圖7所示。(Force Synthesis Out-of-date)選項(xiàng)表示不再保留上次的綜合結(jié)果,ISE需要重新綜合這個(gè)模塊;( Force“Implement Design”O(jiān)ut-of-date)選項(xiàng)表示不再保留上次的布局布線結(jié)果,ISE可以重新為這個(gè)模塊布局布線。
圖7 暫時(shí)取消Partiton的保留狀態(tài)
(6)注意事項(xiàng)
ISE工具選項(xiàng)或命令行的變動(dòng)導(dǎo)致所有Partition模塊需要重新實(shí)現(xiàn),如map-timineeffort levels,以及任何命令行變化。
Partition支持層次嵌套,Partition可以應(yīng)用于任意層次的任意模塊。
Partition自動(dòng)檢測(cè)設(shè)計(jì)文件的變化,這些文件既包括HDL代碼,也包括約束文件,如 UCF中的物理位置約束及針對(duì)Partition模塊的區(qū)域約束等。
Partition不要求有區(qū)域約束。
MPPR、logic_Opt及global_opt功能與Partition不兼容。
來源:ks990次