發(fā)布日期:2022-07-15 點擊率:26
作者:Jeff Garrison
PLD產(chǎn)品總監(jiān)
Synplicity公司
Balaji Thirumalai
CAE工具產(chǎn)品規(guī)劃經(jīng)理
Altera公司
先進的PLD使設(shè)計技術(shù)面臨新的挑戰(zhàn)。PLD加工工藝已經(jīng)達到極深亞微米,在極深亞微米工藝中,互連比邏輯單元對時序延遲的影響要大。傳統(tǒng)的工具和設(shè)計流程以邏輯單元來描述時序延遲,因而不能在設(shè)計初期描述互連效應(yīng)(interconnect effect),盡管它們能執(zhí)行物理模型的自動設(shè)計,但是PLD的互連架構(gòu)非常獨特,對PLD來說,即使采用經(jīng)過驗證的ASIC設(shè)計技術(shù)仍然不能解決問題。工程師需要的是面向PLD的全新自動化設(shè)計技術(shù),特別要求PLD物理綜合工具能將高生產(chǎn)率的高級設(shè)計工具與物理設(shè)計工具結(jié)合起來,從而實現(xiàn)復(fù)雜的PLD設(shè)計。
現(xiàn)在,PLD的結(jié)構(gòu)已經(jīng)達到6層以上,邏輯門超過百萬,時鐘頻率接近200MHz,片上內(nèi)存以及IP核是當今最復(fù)雜可編程邏輯的核心技術(shù),但是生產(chǎn)如此高密度、高速度器件的精細加工技術(shù)帶來了前所未有的問題,其特征與ASIC設(shè)計遇到的問題類似。
互連引發(fā)的問題
過去,邏輯單元決定時序延遲,現(xiàn)在邏輯單元之間的互連決定時序延遲。在微米以下的加工工藝中,70%甚至80%的延遲是起因于布線互連。像綜合這樣的高效設(shè)計方法不能解決布線延遲效應(yīng)問題,因而在布局布線之前,由互連決定的時序性能仍然無法確定。
因此,設(shè)計工程師為了滿足嚴格的時序要求,綜合和布局布線過程不得不反復(fù)多次,由于綜合和布局布線往往在門級進行,因而修改時序的效果并不顯著。
有些設(shè)計工程師嘗試在PLD設(shè)計中采用ASIC設(shè)計技術(shù)來解決時序延遲問題,但是ASIC設(shè)計工具并不適用于PLD架構(gòu),因為PLD的物理互連、制造規(guī)則以及互連的電氣特性都與ASIC差異很大。此外,對制造商而言,PLD架構(gòu)及其互連特性也有很大差異,所以ASIC設(shè)計工具中的標準物理模型不適用于PLD設(shè)計。
另外一類工程師傾向于采用門級底層規(guī)劃,在底層規(guī)劃中綜合電路的HDL代碼可以得到網(wǎng)表。通過底層規(guī)劃工具,設(shè)計工程師在布局之前提出約束條件,該條件能夠確保關(guān)鍵門電路組彼此相鄰,從而在布局布線階段中能確保重要的時序路徑盡可能短。
但是,門級底層規(guī)劃費時費力,因為工程師要用HDL語言對電路編碼,在寄存器傳輸級(RTL)描述功能模塊,并在門級確定模塊中哪個門存在問題,這就是意味著:設(shè)計工程師必須管理成百倍增加的設(shè)計對象,而且,很難將門級對象與生成門級對象的HDL編碼關(guān)聯(lián)起來,此外,設(shè)計中的微小變更常迫使工程師重新進行門級底層規(guī)劃,因而可能浪費過去幾周的設(shè)計工作。
在PLD設(shè)計中不能采用門級底層規(guī)劃的重要原因在于,該方法不能滿足快速設(shè)計的需要。例如底層規(guī)劃設(shè)計工程師完成關(guān)鍵模塊的布局之后,任何設(shè)計的變更都需要重建底層規(guī)劃,這樣又要花費數(shù)周時間修改RTL代碼,重新綜合并獲得網(wǎng)表,然后再次做門級底層規(guī)劃以實現(xiàn)設(shè)計要求的時序參數(shù)。
最重要的是,門級的底層規(guī)劃工具不能改變實際的電路實現(xiàn)形式以提高電路性能,例如邏輯遷移(logic tunnel)和邏輯復(fù)制(自動地將寄存器轉(zhuǎn)移到不同的物理區(qū)域)的改進能夠明顯的增強性能,因而,采用傳統(tǒng)的門級設(shè)計方法很困難且很費時。
如果能在設(shè)計流程的初期,在綜合開始之前,獲取設(shè)計的物理布線信息,那么就可以用復(fù)雜綜合算法同時執(zhí)行布局和網(wǎng)表優(yōu)化。
PLD設(shè)計自動化技術(shù)的發(fā)展方便了PLD設(shè)計工程師的工作。物理綜合技術(shù)已經(jīng)能在復(fù)雜的PLD中簡化并改進實現(xiàn)時序快速收斂的過程。采用物理綜合方法,設(shè)計工程師可以在HDL源代碼編譯之后快捷地按照標準時序約束來建立物理約束,但是,這個過程必須在電路優(yōu)化和映射為特定型號的PLD之前完成。
表面上,這些物理約束與RTL底層規(guī)劃類似,這樣,物理綜合實際上重構(gòu)基于其物理特性的設(shè)計邏輯并創(chuàng)建布局。重構(gòu)減少或者消除了在綜合與布局布線之間的設(shè)計反復(fù),且提高了生產(chǎn)率和設(shè)計性能。此外,RTL設(shè)計比在門級設(shè)計更快、更直觀地創(chuàng)建約束條件。
在RTL上進行物理綜合的主要優(yōu)點在于,即使設(shè)計工程師修改功能模塊,比如擴展總線帶寬,但是模塊器件業(yè)已建立的物理約束仍然有效。而門級底層規(guī)劃設(shè)計工程師如果修改模塊,就不得不重新進行底層規(guī)劃。
在一些情況下,物理綜合的同步優(yōu)化和布局算法可以把設(shè)計的時序性能提高40%。這樣就可以選用速度比較慢的器件,根據(jù)產(chǎn)量的不同,每個設(shè)計節(jié)約成本可達上萬美元。
Synplicity公司的Amplify??y物理優(yōu)化器工具是面向可編程邏輯設(shè)計的物理綜合工具。Amplify軟件把新的物理優(yōu)化技術(shù)與Synplicity公司的Synplify綜合環(huán)境中的邏輯綜合算法相結(jié)合,它是一個分層優(yōu)化引擎,能在物理優(yōu)化之后應(yīng)用電路拓撲和布局知識對網(wǎng)表進行重大改進。
Amplify工具利用PLD架構(gòu)和用戶定義的物理設(shè)計約束,在給定的物理范圍內(nèi)(例如Altera公司Flex 10K、Apex和Acex器件中的某些行或者MegaLAB)生成可預(yù)測的時序估計。借助這些物理信息,該工具可以導出更精確的時序估計并將其用于綜合過程執(zhí)行額外的設(shè)計優(yōu)化。
關(guān)鍵路徑優(yōu)化技術(shù)的基礎(chǔ)是已知的物理信息,其中有兩項技術(shù)分別是自動遷移和邏輯復(fù)制。自動遷移采用邊界優(yōu)化技術(shù)在PLD的物理區(qū)域內(nèi)自動地移動邏輯單元,減少互連延遲并提高速度,所以綜合工具可以執(zhí)行布局以改進關(guān)鍵路徑的時序。為了改進關(guān)鍵路徑的時序,邏輯復(fù)制自動地拷貝邏輯單元,當某些通向多個區(qū)域的路徑中存在關(guān)鍵路徑時,就可以采用邏輯復(fù)制技術(shù)。邏輯復(fù)制為每一條關(guān)鍵路徑建立獨立的模塊拷貝,從而減少扇出,改進邏輯封裝或布線延遲的可預(yù)測性。
由Altera和Synplicity共同驗證的參考設(shè)計證明,與傳統(tǒng)的綜合方法相比,Amplify物理綜合工具可以明顯改進網(wǎng)表的性能。然而,物理綜合的好處并不僅僅局限于提前給出待綜合的布局約束。與不具備物理優(yōu)化的綜合工具生成的網(wǎng)表相比,Amplify生成的網(wǎng)表結(jié)構(gòu)不同。理論上,功能分組邏輯可以改進設(shè)計性能,但是它無法防止關(guān)鍵路徑穿越某些或者所有功能模塊,從而降低了功能分組的功效,物理綜合結(jié)合了經(jīng)過改善的基于物理約束的延遲估計算法與關(guān)鍵通路優(yōu)化技術(shù)。
高度可預(yù)測
因為物理綜合依賴基于器件架構(gòu)的設(shè)計結(jié)構(gòu)優(yōu)化,所以當器件結(jié)構(gòu)高度規(guī)則而且可預(yù)測時,它將工作得很好。Apex器件的MultiCore嵌入式架構(gòu)包括三種不同類型的PLD結(jié)構(gòu):類似Flex 10K和Flex 6000器件的查找表;類似MAX 7000器件的乘積項(product-term)模塊;還有類似Flex 10KE器件中的增強型嵌入式內(nèi)存模塊。這些結(jié)構(gòu)加在一起,可以使復(fù)雜功能的綜合更加簡便高效。MultiCore架構(gòu)由邏輯陣列模塊(LAB)構(gòu)成,每一個模塊包含10個Flex 6000邏輯單元(LE),兩者結(jié)合構(gòu)成MegaLAB分層結(jié)構(gòu),MegaLAB實際上是一個LAB的陣列,每一個陣列包括16個LAB和一個嵌入式系統(tǒng)模塊(ESB),其作用是實現(xiàn)內(nèi)存。
通過建立四層布線結(jié)構(gòu),MultiCore架構(gòu)增強了Apex器件的連續(xù)金屬布線結(jié)構(gòu)。除了全局行列互連,MegaLAB互連還在MegaLAB結(jié)構(gòu)中連接了所有的LAB和ESB。MegaLAB互連允許利用局部布線資源而不是全局布線資源來提高性能。局部互連還在同一LAB中將LE和相鄰的LAB連接,就象Flex 6000中LAB的交叉連接那樣。
Altera器件中邏輯和互連的分層結(jié)構(gòu)適用于物理綜合,因為用戶可以將關(guān)鍵路徑引入到若干定義明確的模塊中,比如MegaLAB和ESB模塊。這些布局約束可以在布局布線之前提前標注到Quartus底層規(guī)劃工具之中。Altera器件的物理綜合獲得了真實的性能改善,為了研究Amplify工具的性能優(yōu)點,可以利用Altera提供的10個經(jīng)過測試的設(shè)計演示方案。測試數(shù)據(jù)表明,與僅采用Synplify工具的設(shè)計相比,Amplify工具性能平均提高16%,達到的頻率可以比設(shè)計高5到10倍。
Altera公司和Synplicity公司緊密合作,在物理綜合方法解決時序收斂問題上邁出了第一步。