新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用物理綜合與優(yōu)化提升設(shè)計(jì)性能

利用物理綜合與優(yōu)化提升設(shè)計(jì)性能

——
作者: 時(shí)間:2007-01-26 來(lái)源:《世界電子元器》 收藏

工藝技術(shù)的發(fā)展極大地提高了 fpga 器件的密度,多個(gè)賽靈思 virtex 系列產(chǎn)品中都包含了超過(guò)1 百萬(wàn)系統(tǒng)門(mén)的器件。器件密度的提高和300mm晶圓片的使用,為 fpga 批量生產(chǎn)創(chuàng)造了條件。

本文引用地址:http://m.butianyuan.cn/article/20954.htm

過(guò)去只能使用 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)造出滿(mǎn)足性能要求的設(shè)計(jì),也是極具挑戰(zhàn)性的工作。幸運(yùn)的是,今天的 eda 軟件工具已經(jīng)發(fā)展到能夠應(yīng)對(duì)這些挑戰(zhàn)了。

邏輯優(yōu)化、邏輯布局和最小化互連延遲對(duì)實(shí)現(xiàn)系統(tǒng)性能的最大化都是非常重要的。時(shí)序驅(qū)動(dòng)綜合技術(shù)對(duì)設(shè)計(jì)性能提供了重大改進(jìn)。影響時(shí)序驅(qū)動(dòng)綜合性能的限制因素是估計(jì)布線延遲的精度。

物理綜合 基于物理布局和布線信息進(jìn)行綜合 是有效解決這些問(wèn)題的一項(xiàng)前沿技術(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ù)查。

物理綜合與優(yōu)化的優(yōu)點(diǎn)

邏輯層次之間的互連延遲受邏輯單元布局的接近性、布線擁塞和網(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ì)的具體需求進(jìn)行選擇。

定義時(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è)用戶(hù)約束文件 (ucf) 中,用戶(hù)文件可在任何文本編輯器中進(jìn)行編輯。

如果未提供用戶(hù)定義的時(shí)序約束,ise.8.1i 軟件提供了一個(gè)新功能,將自動(dòng)為每個(gè)內(nèi)部時(shí)鐘生成時(shí)序約束。在“性能評(píng)估模式 (pem)”中,用戶(hù)可以在不必提供時(shí)序目標(biāo)的情況下,獲得高性能的物理綜合與優(yōu)化效果。

運(yùn)行全局優(yōu)化

對(duì)于包含 ip 核或其他網(wǎng)表的設(shè)計(jì),轉(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)可以讓用戶(hù)在此階段進(jìn)一步控制優(yōu)化的完成:一是時(shí)序調(diào)整 (map -retiming),能前后移動(dòng)寄存器以平衡組合邏輯延遲;另一個(gè)是等效寄存器刪除(map-equivalent_register_removal),能通過(guò)冗余功能性刪除寄存器。

允許時(shí)序驅(qū)動(dòng)打包與布局

時(shí)序驅(qū)動(dòng)打包與布局是物理綜合實(shí)現(xiàn)流程的核心。當(dāng)用戶(hù)采用時(shí)序調(diào)整這個(gè)選項(xiàng) (map -timing)時(shí),布局布線的布局階段將在 map 中完成,允許在初始結(jié)果未達(dá)最優(yōu)時(shí)對(duì)打包決策進(jìn)行重新審查。時(shí)序驅(qū)動(dòng)打包迭代流程替換了無(wú)關(guān)邏輯打包(unrelated logic packing)。

賽靈思物理綜合與優(yōu)化中包含不同級(jí)別的優(yōu)化。第一級(jí)優(yōu)化是在 ise 6.1i 軟件中引入的,從進(jìn)行邏輯變換開(kāi)始,其中包括扇出控制、邏輯復(fù)制、擁塞控制,以及改進(jìn)的延遲估計(jì)。這些例程使設(shè)計(jì)實(shí)現(xiàn)了更高效的打包和布局,達(dá)到了更快的時(shí)鐘頻率和更高密度的邏輯利用率。

下一級(jí)增加了邏輯與寄存器優(yōu)化;map 可重新安排單元以改進(jìn)關(guān)鍵路徑延遲。這些變換為滿(mǎn)足設(shè)計(jì)時(shí)序要求提供了極大的靈活性。這里使用了大量不同技術(shù)(包括內(nèi)部引腳交換、基本單元切換以及邏輯重組)將物理單元轉(zhuǎn)換成邏輯上等效的不同結(jié)構(gòu),以滿(mǎn)足設(shè)計(jì)要求。 ise 8.1i 軟件引入了另外一級(jí)物理綜合:組合邏輯優(yōu)化。該-logic_opt 開(kāi)關(guān)將開(kāi)啟一個(gè)流程,對(duì)設(shè)計(jì)中的所有組合邏輯進(jìn)行檢查。通過(guò)給定的布局和時(shí)序信息,用戶(hù)可以對(duì)優(yōu)化 lut 結(jié)構(gòu)做出更可靠的決策,以改進(jìn)總體設(shè)計(jì)。

物理綜合與優(yōu)化示例

邏輯復(fù)制:如果一個(gè) lut 或觸發(fā)器驅(qū)動(dòng)多個(gè)負(fù)載,而這些負(fù)載中有一個(gè)或多個(gè)負(fù)載的放置位置離驅(qū)動(dòng)源的距離太遠(yuǎn)而無(wú)法滿(mǎn)足時(shí)序要求時(shí),可以復(fù)制該 lut 或觸發(fā)器并放置在靠近該組負(fù)載的地方,從而減小布線延遲(圖 1)。

邏輯重組:如果關(guān)鍵路徑跨越多個(gè)切片中的多個(gè) lut,可利用較少的切片對(duì)該邏輯進(jìn)行重新組織,采用時(shí)序上更高效的 lut 與多路轉(zhuǎn)換器組合來(lái)降低該路徑所需的布線資源(圖 2)。

基本單元切換:如果一項(xiàng)功能建立在 lut 和多路轉(zhuǎn)換器的基礎(chǔ)上,物理綜合與優(yōu)化可對(duì)該功能進(jìn)行重新安排,將最快的路徑(一般通過(guò)多路轉(zhuǎn)換器選擇引腳)分配給最關(guān)鍵的信號(hào)(圖 3)。
引腳交換:lut 的每個(gè)輸入引腳可能有不同的延遲,所有 map 擁有交換引腳(以及關(guān)聯(lián)的 lut 等式)的能力,以便將最關(guān)鍵的信號(hào)放置在最快的引腳上(圖 4)。

結(jié)論

賽靈思工具集中的物理綜合與優(yōu)化功能將進(jìn)一步走向成熟,并隨著每個(gè)軟件版本的發(fā)布進(jìn)行擴(kuò)展。伴隨效果質(zhì)量的改進(jìn),用戶(hù)可以期待著對(duì)優(yōu)化類(lèi)型的更多控制。其他計(jì)劃中的強(qiáng)化措施還包括:在再優(yōu)化階段考慮更多設(shè)計(jì)單元(例如允許將寄存器移入和移出 i/o 塊或塊 ram 和 dsp 塊等專(zhuān)門(mén)功能),以及將布線階段包含進(jìn)物理綜合迭代過(guò)程等。

賽靈思 ise 軟件中的物理綜合與優(yōu)化工具,能使用戶(hù)在fpga設(shè)計(jì)實(shí)施的打包和布局階段,對(duì) fpga 設(shè)計(jì)的結(jié)構(gòu)進(jìn)行重新檢查。給定的時(shí)序約束和物理版圖信息,以及在映射和布局布線階段優(yōu)化綜合決策,可以極大地改進(jìn)設(shè)計(jì)效果。



關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉