9.布局種子
設(shè)計(jì)者一般不喜歡在他們的設(shè)計(jì)流程或?qū)崿F(xiàn)工具中可能有一定程度隨機(jī)性的概念。但是,注意到對(duì)于帶一組約束的給定設(shè)計(jì)布局不會(huì)整體確定是重要的。換言之,對(duì)于任何給定的設(shè)計(jì)沒(méi)有單個(gè)最優(yōu)的布局,至少,沒(méi)有可能在布局過(guò)程自身之前用當(dāng)今的技術(shù)方便地確定。事實(shí)上如圖16-13所示,為布局過(guò)程確定最佳的起始點(diǎn),甚至對(duì)于自動(dòng)布局器,這完全不是一個(gè)清楚的問(wèn)題。

因此,布局工具需要類似于隨機(jī)數(shù)產(chǎn)生過(guò)程被“播種”。一個(gè)種子的準(zhǔn)確定義是從設(shè)計(jì)者的觀點(diǎn)抽象的一位,但是為了有用的目的不同的種子本質(zhì)上提供布局器稍微不同的起始點(diǎn),布局過(guò)程的其余部分由此分支,這在圖16-14中說(shuō)明。

一些廠商擴(kuò)展此法超出簡(jiǎn)化初始值為布局過(guò)程的其他“隨機(jī)”參數(shù)的范圍,例如各種約束的相對(duì)加權(quán)、預(yù)期的布局距離和估計(jì)布線擁擠等,Xilinx把這個(gè)稱為“成本表”,它影響各種布局參數(shù),但是抽象為整數(shù)(1、2、3等)。每個(gè)整數(shù)對(duì)應(yīng)一組不同的起始條件和布局參數(shù),但是因?yàn)榈蛯哟蔚膹?fù)雜性,它被抽象為單個(gè)數(shù)字,實(shí)際功能從參數(shù)表無(wú)法看出。
調(diào)整布局種子的好處是用戶可以在滿足時(shí)序約束時(shí)“取另一個(gè)建立”,實(shí)際上不改變?cè)O(shè)計(jì)中任何東西。這可以用稱為多行程布局和布線的過(guò)程自動(dòng)化。當(dāng)這個(gè)選項(xiàng)選擇時(shí),布局布線工具將運(yùn)行實(shí)現(xiàn)多次,自動(dòng)地在每次運(yùn)行改變種子。當(dāng)然這將要求大量的時(shí)間產(chǎn)生有效的結(jié)果,所以一般利用整個(gè)夜晚運(yùn)行目標(biāo)設(shè)計(jì)總是不滿足可接受方式的時(shí)序約束。
需要注意的是:布局布線算法實(shí)際上完全與種子無(wú)關(guān),各種參數(shù)的任何改變有很小的影響。一些較新的設(shè)計(jì)者運(yùn)行的風(fēng)險(xiǎn)是花費(fèi)大量的時(shí)間瞄準(zhǔn)這類優(yōu)化滿足他們的時(shí)序約束,代替了他們?cè)O(shè)計(jì)中的真正的問(wèn)題。調(diào)整布局器的種子只應(yīng)該作為最后的手段,在所有的結(jié)構(gòu)改變已經(jīng)用完、所有的約束已經(jīng)添加、時(shí)序沖突十分微小(幾百皮秒或更小)的時(shí)候使用。
多行程布局和布線的種子變化只應(yīng)該作為最后的手段使用。
只有當(dāng)可重復(fù)性不是關(guān)鍵問(wèn)題時(shí),這才可以使用。如果時(shí)序緊到以致需要種子來(lái)滿足時(shí)序,則RTL或約束的任何其他的改變很有可能導(dǎo)致設(shè)計(jì)中新的隨機(jī)行為,并要求多次用種子的新變化運(yùn)行布局器。因此,采用這類方法,在做了小的變化時(shí),設(shè)計(jì)者在時(shí)序閉合中沒(méi)有重復(fù)性。重復(fù)性的問(wèn)題將在下一節(jié)討論。
10.指導(dǎo)布局和布線
對(duì)設(shè)計(jì)者很通常的情況是花費(fèi)幾天或幾周的時(shí)間圍繞一個(gè)設(shè)計(jì)來(lái)滿足時(shí)序,甚至多半利用上面描述的自動(dòng)種子變化,只面對(duì)可以起伏通過(guò)已有布局的小改變和時(shí)序特性完全改變。在這一點(diǎn)上,設(shè)計(jì)者可能必須重新優(yōu)化設(shè)計(jì)和可能尋找一個(gè)新的種子允許時(shí)序閉合。
為了避免小的改變引起邏輯元件布局多米諾效應(yīng),接著改變整個(gè)性能特性(不考慮由于小的變化重新實(shí)現(xiàn)每一件事情有關(guān)的運(yùn)行時(shí)間),FPGA布局布線工具常常提供影響前面實(shí)現(xiàn)的布局布線的指導(dǎo)選項(xiàng)。
布局的指導(dǎo)將發(fā)現(xiàn)所有的元件匹配舊的實(shí)現(xiàn),鎖定相同位置的相同元件。這個(gè)策略的好處是運(yùn)行時(shí)間驚人地減少,指導(dǎo)的元件的時(shí)序特性維持相同。因此,如上面描述的指導(dǎo)模式可以提供設(shè)計(jì)者一個(gè)手段,用布局布線過(guò)程中相應(yīng)的小變化引起小的改變。
跟隨小變化的布局布線過(guò)程應(yīng)該利用一個(gè)指導(dǎo)文件最大化一致性和最小化運(yùn)行時(shí)間。
11.小結(jié)
應(yīng)該在任何優(yōu)化發(fā)生之前產(chǎn)生一組完全的約束。
如果FPGA運(yùn)行其中的系統(tǒng)設(shè)計(jì)在確定的溫度和電壓條件內(nèi),則FPGA時(shí)序分析可以并且應(yīng)該在相同的條件下執(zhí)行。
調(diào)整電壓和溫度設(shè)置不要求FPGA實(shí)現(xiàn)任何改變,可以提供一個(gè)方便的手段增量地改善最壞條件的性能。
布局努力對(duì)性能有主要的影響,而布線努力有相對(duì)小的影響。
邏輯復(fù)制應(yīng)該只利用在關(guān)鍵路徑網(wǎng)線,它帶有不可能實(shí)際放置的多個(gè)負(fù)載。
在要求門(mén)級(jí)仿真時(shí)跨層次優(yōu)化不是合乎需要的。
當(dāng)封裝寄存器進(jìn)I/O時(shí)為高速設(shè)計(jì)可能要求額外的流水線寄存器。
設(shè)置封裝因子可以幫助決定真實(shí)的利用率。
當(dāng)額外的寄存器已經(jīng)添加來(lái)分割布線延時(shí),不應(yīng)該利用寄存器排序。
用多次通過(guò)布局和布線的種子變化只應(yīng)該利用作為最后的手段。
跟隨小變化的布局布線過(guò)程應(yīng)該利用一個(gè)指導(dǎo)文件最大化一致性和最小化運(yùn)行時(shí)間。
?
審核編輯:黃飛
?
電子發(fā)燒友App





















評(píng)論