利用SmartCompile和賽靈思的設計工具進行設計保存(07-100)

有關元器件和網絡的詳細信息被存儲在引導報告文件(GRF)。該文件列出了被重新實現的新文件和網絡的名稱。
本文引用地址:http://www.biyoush.com/article/81756.htm大約在10次的引導實現后,建議無需引導就進行重新實現以最優(yōu)化整個的設計。這將使得以前已被引導的邏輯與新的或已修改過的邏輯之間得到最優(yōu)化。
采用 Partitions
有若干策略可用于決定設計中什么邏輯模塊成為待Partition的最佳候選模塊。如果縮短運行時間是主要的目標,要把設計分成具有類似數量邏輯的4到10個之間的Partitions。如果其中的一個Partitions被修改,其它的將被保存。因此,保存數量與設計中Partitions 的數量是成比例的。另一個策略是當難以滿足時序約束時實例創(chuàng)建一個Partition。一旦針對這個Partition的時序約束得到滿足,即使在該Partition外部的邏輯被修改時,它也會被保存起來。
為了向設計添加更多的Partitions,存在一個逐漸減小的返回點。Partition接口是最優(yōu)化的障礙。如果只能通過對 Partition接口最優(yōu)化來解決一個關鍵路徑或包裝問題, 那么,應該從設計中把那個Partition消除。在Partition接口上創(chuàng)建寄存器將排除出現時序或包裝問題的可能性。
XST和Synplify Pro兩者都可被用詳細說明RTL Partitions。
在Partition流程中使用XST
如圖4所示,要采用XST綜合工具在ISE Project Navigator中創(chuàng)建Partitions,右擊Sources列表中的實例并選擇New Partition。從這個菜單可以修改其它的Partition屬性,如保存。
在tcl接口中創(chuàng)建Partition,要使用這條命令:
% partition new
Partitions不能用批處理命令創(chuàng)建,因為他們需要在設計中的特定邏輯模塊上設置一種屬性。
實現FPGA設計(XST, ngdbuild, map, par)的個別應用生成關于哪一個Partitions在它們各自的報告文件中被保存和實現的信息。例如,在這個XST 綜合報告中,一些Partitions被保存,而其它的被重新實現。每一個已實現的Partition都有一個原因解釋它為什么沒有被保存。
在9.1i版本ISE中,對時序約束或命令行變更做出的修改—如努力級別—將迫使所有的Partitions被重新實現。
在Partition流程中采用Synplify Pro
在Synplify Pro Partition流程的情況下,用戶在運行綜合之前,指定RTL模塊/子模塊(Partitions)作為Synplify Pro中的編譯點。在整個設計中運行最初的布局和布線之后,該工具檢測哪些模塊/子模塊已經發(fā)生了改變,并且能利用這一變化對所選擇的任意模塊執(zhí)行后續(xù)的增量布局和布線,與此同時,使其它已布局/布線的模塊保持不動。在已傳遞到布局和布線的tcl文件中,有可能詳細說明布局或布局和布線是否被保存(缺省是布局和布線)。
評論