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