新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種基于Logical Effort理論的IC設計方法解析

一種基于Logical Effort理論的IC設計方法解析

作者: 時間:2017-06-05 來源:網(wǎng)絡 收藏

眾所周知,傳統(tǒng)的IC設計流程通常以文本形式的說明開始,說明定義了芯片的功能和目標性能。大部分芯片被劃分成便于操作的模塊以使它們可以分配給多個設計者,并且被EDA工具以塊的形式進行分析。邏輯設計者用Verilog或VHDL語言寫每一塊的RTL描述,并且仿真它們,直到這個RTL描述是正確的。

得到RTL描述之后,接下來就是利用工具來選擇電路的拓撲結構和門的大小。綜合工具比手工花更少的時間得到優(yōu)化路徑和電路圖。綜合的電路通常邏輯功能是正確的,但時序是基于近似負載模型評估得到的。

電路設計完成之后,開始版圖的實現(xiàn)。版圖通常可以定制也可以用自動布局布線工具產生。接下來,DRC、ERC、LVS等被用來驗證版圖,后版圖時序驗證工具用從版圖提取出來的電阻、電容數(shù)據(jù)來驗證設計是否滿足時序目標。如果電路設計階段的時序評估不精確,版圖后的時序肯定不能滿足,電路必須被修改,再執(zhí)行綜合到版圖的過程。

在電路設計過程中,最大的挑戰(zhàn)是滿足時序說明,即時序收斂。如果時序沒有問題,電路設計將變得更加容易。目前的EDA界都意識到這一點:要想在版圖階段達到時序收斂,通常應該在綜合階段就考慮更多的物理設計信息。因此,現(xiàn)在很多工具在綜合階段進行預布局布線,以便在綜合階段盡可能多地了解后端信息。

其實這樣做并不是從本質上解決問題,因為在綜合階段的時序評估還是基于負載模型的理論,只是現(xiàn)在的模型比以前的要精確一些,但是與實際的版圖提取的負載還是有誤差,因此得到的時序收斂并不一定可信。不過這些方法可以減少迭代次數(shù),但不能真正消除迭代。

為了預知時序,其實應該建立一個非??尚诺难舆t預算模型,也就是這個模型的延遲預算應該非??尚???尚攀侵溉绻A知電路1比電路2要快,那么實際中確實是這樣。但是基于負載模型的方法不是非??尚?,它需要精確的寄生參數(shù)信息,但在版圖沒有得到的情況下,你是不可能有精確的寄生參數(shù)信息的。因此需要建立另外一個延遲模型,使得它不需要寄生參數(shù)信息也能得到可信的延遲估算。

Logical Effort方法采用的延遲預算模型就是這樣的一個模型,Logical Effort方法是評估CMOS電路延遲的一個簡單方法。該方法通過比較不同邏輯結構的延遲來選擇最快的候選者,該方法也能指定一條路徑上適當?shù)倪壿嫚顟B(tài)數(shù)和邏輯門的最好晶體管大小。它是設計早期評估可選方案的理想方法,并且為更加復雜的優(yōu)化提供了一個好的開始。

Logical Effort延遲模型

建模延遲的第一步是隔離特定的集成電路加工工藝對延遲的影響。通常,把絕對延遲表示為兩項之積:一項是無單位的延遲d,另一項是特征化給定工藝的延遲單位τ。即dabs=dτ。τ可以計算出來,例如在0.6μm工藝下τ大約為50ps。

延遲d通常由兩部分組成,一部分叫本征延遲或寄生延遲,表示為p,另一部分正比于門輸出端負載的延遲,叫做effort延遲,表示為。即:d=f+p。

effort延遲依賴負載和邏輯門驅動負載的特性。我們引入兩個相關的項:Logical Effort(LE)捕捉邏輯門的特性,electrical effort(g)特征化負載的影響。即f=LE*g,所以d=LE*g+p。

Logical Effort捕捉邏輯門的拓撲結構對它產生輸出電流的影響,它獨立于晶體管的大小。electrical effort即門的增益,描述門的電子環(huán)境(即與門連接的東西)怎樣影響它的性能,也可以說門中晶體管的大小怎樣決定門的負載驅動能力。增益的簡單定義是:g=Cout/Cin。其中Cout為邏輯門輸出端負載的電容,Cin為邏輯門輸入端的電容。

至此,我們可以如圖1所示那樣來計算延遲d。

從這里我們看到,延遲依賴門的增益,而不是它的精確寄生參數(shù)。同時,Logical Effort理論中還有兩個非常完美的結論。

少的邏輯狀態(tài)不一定能產生最快的電路延遲。那么多少個邏輯狀態(tài)將產生最快的電路延遲呢?對于反向器組成的電路,Sutherland指出:最快的反向器結構發(fā)生在Cout=3.6Cin。當Cout=3.6Cin時,我們稱反向器的負載為完美負載。我們可以定義門的增益為Gain=Cout/(3.6*Cin),并把它作為電路單元(cell)的延遲預算。

最快的電路拓撲結構有一致可變的Gain,因此在物理綜合階段,可以通過仔細調整Gain的值,保持時序不變。

全新的IC設計方法

在進行IC設計過程中,最重要的就是怎樣快速從RTL得到GDSⅡ。利用Logical Effort理論,我們將建立新的IC設計方法。

首先對綜合庫進行分析。庫可以是.lib、LEF、GDSⅡ等。庫中每個功能的cell會有不同的尺寸表示不同的驅動能力。我們將為這一族cell建立一個抽象cell,叫做supercell。這個supercell有固定的本征延遲和可變的大小。在對庫進行分析時,我們會給supercell的延遲再加上一個可變延遲。可變延遲依賴門的負載。通常庫分析得到的可變延遲是每個cell驅動它的完美負載得到的延遲,也叫做理想可變延遲。

supercell庫建好之后,利用這個庫和、設計限制等就可以進行綜合了。綜合的關鍵部分就是創(chuàng)建好的邏輯結構。任何設計都有許多種功能正確的電路結構。綜合算法的目標是發(fā)現(xiàn)最好的電路結構來滿足時序目標。時序優(yōu)化過程就是使每個可變延遲盡可能靠近它的理想可變延遲。

例如一個非常簡單的庫,僅僅由五個基本邏輯門組成:反向器、兩輸入的AND、NAND、OR和NOR門。讓我們進一步假設反向器有8個版本,而其它的門有4個版本,不同的版本表示不同的尺寸,能提供不同的驅動能力?,F(xiàn)在我們考慮一個簡單功能的RTL表示,例如w=!((!x+y)Z)。這個功能可以用不同的邏輯門拓撲結構來實現(xiàn),如圖2所示的三種結構。

利用supercell代替庫中的門,gain-based的綜合只需要快速評估a、b、c三個結構,gain等于1的結構就能提供最好的時序解決方案,而傳統(tǒng)的方法對于電路a就有128種選擇。因此gain-based的綜合時間將大大減少,并且非常簡單,比傳統(tǒng)的綜合方法有更大的處理容量。

延遲計算就是利用上一節(jié)的gain-based的方法?;趕upercell,時序優(yōu)化設計完成之后,然后固定時序,使得接下來的布局布線與操作在同一平面內。

綜合之后,設計進入到size-driven布局、load-driven布線階段。這個時候是supercell真正表演的時候。首先利用supercell來布局,同時確保指定的時序保持常數(shù)。必要的時候插入buffer,并且時鐘、電源布線開始。線的負載是基于網(wǎng)的全局布線結構來決定?;诿總€supercell看到的實際負載,動態(tài)調整supercell的大小來滿足時序預算。supercell的大小調整好之后,就把supercell用庫中有適當驅動能力的cell來代替。這里關鍵的一點就是最小可能大小的門被選取來滿足時序預算。結果芯片不再臃腫。因而會減少空間競爭,減少功耗和信號完整性問題。

最后利用詳細的布線工具來調整線寬和線的間距,以保持原始的時序預算,并且確保信號完整。當然,在整個物理綜合過程中,我們也會利用DRC、ERC、LVS等工具來驗證各個階段的版圖,也會利用參數(shù)提取工具在各個階段來提取參數(shù),為supercell的大小調整以及supercell的gain調整提供信息。

利用supercell技術,從RTL到GDSⅡ的實現(xiàn)的幾個主要步驟見圖3。

這就是基于Logical Effort理論的新設計方法,特別適合于設計快速的CMOS電路。在這里我們只簡單描述了它的設計思想。由于只是初步研究,肯定會有很多錯誤和問題,歡迎大家指出并討論。

本文引用地址:http://butianyuan.cn/article/201706/349060.htm



評論


相關推薦

技術專區(qū)

關閉