<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

電路設計完成之后,開(kāi)始版圖的實(shí)現。版圖通??梢远ㄖ埔部梢杂米詣?dòng)布局布線(xiàn)工具產(chǎn)生。接下來(lái),DRC、ERC、LVS等被用來(lái)驗證版圖,后版圖時(shí)序驗證工具用從版圖提取出來(lái)的電阻、電容數據來(lái)驗證設計是否滿(mǎn)足時(shí)序目標。如果電路設計階段的時(shí)序評估不精確,版圖后的時(shí)序肯定不能滿(mǎn)足,電路必須被修改,再執行綜合到版圖的過(guò)程。

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

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

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

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

Logical Effort延遲模型

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

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

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

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

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

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

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

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

全新的IC設計方法

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

首先對綜合庫進(jìn)行分析。庫可以是.lib、LEF、GDSⅡ等。庫中每個(gè)功能的cell會(huì )有不同的尺寸表示不同的驅動(dòng)能力。我們將為這一族cell建立一個(gè)抽象cell,叫做supercell。這個(gè)supercell有固定的本征延遲和可變的大小。在對庫進(jìn)行分析時(shí),我們會(huì )給supercell的延遲再加上一個(gè)可變延遲??勺冄舆t依賴(lài)門(mén)的負載。通常庫分析得到的可變延遲是每個(gè)cell驅動(dòng)它的完美負載得到的延遲,也叫做理想可變延遲。

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

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

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

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

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

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

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

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

本文引用地址:http://dyxdggzs.com/article/201706/349060.htm



關(guān)鍵詞: RTL代碼 邏輯綜合 LogicalEffort

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>