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