設(shè)計(jì)性能:物理綜合與優(yōu)化
工藝技術(shù)的發(fā)展極大地提高了 FPGA 器件的密度。多個(gè)賽靈思? VirtexTM 系列中都包含了超過(guò) 1 百萬(wàn)系統(tǒng)門(mén)的器件。這種器件密度的提高和 300 mm 晶圓片的使用,為 FPGA 批量生產(chǎn)創(chuàng)造了條件。
曾經(jīng)只能使用 ASIC 來(lái)實(shí)現(xiàn)的設(shè)計(jì)現(xiàn)在可以在可編程器件中實(shí)現(xiàn)了。最新的 90 nm Virtex-4 器件提供了超過(guò) 200,000 個(gè)邏輯單元、6 MB 的塊 RAM和接近 100 個(gè) DSP 塊。創(chuàng)建能夠有效利用這些器件中的可用資源并滿足性能要求的設(shè)計(jì)是極具挑戰(zhàn)性的工作。幸運(yùn)的是,今天的 EDA 軟件工具已經(jīng)發(fā)展到能夠應(yīng)對(duì)這些挑戰(zhàn)了。
邏輯優(yōu)化、邏輯布局和最小化互連延遲都是實(shí)現(xiàn)最大性能的重要工作。時(shí)序驅(qū)動(dòng)綜合技術(shù)對(duì)設(shè)計(jì)性能提供了重大改進(jìn)。影響時(shí)序驅(qū)動(dòng)綜合的限制因素是估計(jì)布線延遲的精度。
物理綜合——基于物理布局和布線信息進(jìn)行綜合——是有效解決這些問(wèn)題的最前沿技術(shù)。物理綜合與優(yōu)化把綜合引入到網(wǎng)表生成后的實(shí)現(xiàn)決策中,從而進(jìn)一步擴(kuò)展了這一技術(shù)。這將允許在實(shí)現(xiàn)時(shí)根據(jù)實(shí)際的布局布線信息對(duì)綜合映射與打包決策進(jìn)行動(dòng)態(tài)復(fù)查。
邏輯層次之間的互連延遲受邏輯單元布局的接近性、布線擁塞和網(wǎng)絡(luò)之間對(duì)快速布線資源的局部競(jìng)爭(zhēng)的影響。解決這一問(wèn)題的方法是在映射、布局和布線期間重新審查綜合決策。在映射階段,可以根據(jù)每個(gè)時(shí)序路徑的緊急程度對(duì)網(wǎng)表進(jìn)行重新優(yōu)化、打包和布局。這一方法減少了達(dá)到時(shí)序收斂所需的實(shí)現(xiàn)次數(shù)。
物理綜合與優(yōu)化流程
賽靈思 ISE 軟件提供了多個(gè)實(shí)現(xiàn)物理綜合與優(yōu)化的軟件選項(xiàng)。您可以根據(jù)您的設(shè)計(jì)的具體需求單獨(dú)或合并使用這些選項(xiàng)。
定義時(shí)序要求
進(jìn)行有效物理綜合的最重要一步是建立準(zhǔn)確全面的時(shí)序約束。有了這些約束,實(shí)現(xiàn)工具就基于可靠信息做出決策,從而改善總體效果。對(duì)那些具有嚴(yán)格要求的時(shí)鐘和 I/O引腳 進(jìn)行約束,以減輕剩余設(shè)計(jì)部分的工作。
定義這些時(shí)序約束的最輕松途徑是使用 Constraints Editor。這一圖形工具允許您輸入時(shí)鐘頻率、多周期與虛假路徑 (false path) 約束、I/O 時(shí)序要求,以及大量其他澄清性要求。約束被寫(xiě)入一個(gè)用戶約束文件 (UCF) 中,可在任何文本編輯器中進(jìn)行編輯。
如果未提供用戶定義的時(shí)序約束,ISE. 8.1i 軟件提供了一個(gè)新功能,將自動(dòng)為每個(gè)內(nèi)部時(shí)鐘生成時(shí)序約束。在“性能評(píng)估模式 (PEM)”中,您可以在不必提供時(shí)序目標(biāo)的情況下獲得高性能的物理綜合與優(yōu)化效果。
運(yùn)行全局優(yōu)化
對(duì)于包含 IP 核或其他網(wǎng)表的設(shè)計(jì),實(shí)現(xiàn)的轉(zhuǎn)換 (NGDBuild) 階段后生成的 NGD 文件表示整個(gè)設(shè)計(jì)第一次被完整編譯。全局優(yōu)化是在 7.1.01i 版本 Map 中增加的一項(xiàng)新功能,將進(jìn)行完整設(shè)計(jì)的組裝,并嘗試通過(guò)重新優(yōu)化組合與寄存器邏輯來(lái)提高設(shè)計(jì)性能。全局優(yōu)化(命令行鍵入 map –global_opt)顯示可提高設(shè)計(jì)時(shí)鐘頻率平均 7%。
還有兩個(gè)選項(xiàng)可以讓您在此階段進(jìn)一步控制優(yōu)化的完成:時(shí)序調(diào)整 (retiming) (map -retiming) 將前后移動(dòng)寄存器以平衡組合邏輯延遲,和等效寄存器刪除 (map -equivalent_register_removal) 將通過(guò)冗余功能性刪除寄存器。
評(píng)論