一種全新的深亞微米IC設(shè)計方法
在進行IC設(shè)計過程中,最重要的就是怎樣快速從RTL得到GDSⅡ。利用Logical Effort理論,我們將建立新的IC設(shè)計方法。
首先對綜合庫進行分析。庫可以是.lib、LEF、GDSⅡ等。庫中每個功能的cell會有不同的尺寸表示不同的驅(qū)動能力。我們將為這一族cell建立一個抽象cell,叫做supercell。這個supercell有固定的本征延遲和可變的大小。在對庫進行分析時,我們會給supercell的延遲再加上一個可變延遲??勺冄舆t依賴門的負載。通常庫分析得到的可變延遲是每個cell驅(qū)動它的完美負載得到的延遲,也叫做理想可變延遲。
supercell庫建好之后,利用這個庫和RTL代碼、設(shè)計限制等就可以進行綜合了。綜合的關(guān)鍵部分就是創(chuàng)建好的邏輯結(jié)構(gòu)。任何設(shè)計都有許多種功能正確的電路結(jié)構(gòu)。綜合算法的目標(biāo)是發(fā)現(xiàn)最好的電路結(jié)構(gòu)來滿足時序目標(biāo)。時序優(yōu)化過程就是使每個可變延遲盡可能靠近它的理想可變延遲。
例如一個非常簡單的庫,僅僅由五個基本邏輯門組成:反向器、兩輸入的AND、NAND、OR和NOR門。讓我們進一步假設(shè)反向器有8個版本,而其它的門有4個版本,不同的版本表示不同的尺寸,能提供不同的驅(qū)動能力。現(xiàn)在我們考慮一個簡單功能的RTL表示,例如w=!((!x+y)Z)。這個功能可以用不同的邏輯門拓撲結(jié)構(gòu)來實現(xiàn),如圖2所示的三種結(jié)構(gòu)。
利用supercell代替庫中的門,gain-based的綜合只需要快速評估a、b、c三個結(jié)構(gòu),gain等于1的結(jié)構(gòu)就能提供最好的時序解決方案,而傳統(tǒng)的方法對于電路a就有128種選擇。因此gain-based的綜合時間將大大減少,并且非常簡單,比傳統(tǒng)的綜合方法有更大的處理容量。
延遲計算就是利用上一節(jié)的gain-based的方法?;趕upercell,時序優(yōu)化設(shè)計完成之后,然后固定時序,使得接下來的布局布線與邏輯綜合操作在同一平面內(nèi)。
綜合之后,設(shè)計進入到size-driven布局、load-driven布線階段。這個時候是supercell真正表演的時候。首先利用supercell來布局,同時確保指定的時序保持常數(shù)。必要的時候插入buffer,并且時鐘、電源布線開始。線的負載是基于網(wǎng)的全局布線結(jié)構(gòu)來決定?;诿總€supercell看到的實際負載,動態(tài)調(diào)整supercell的大小來滿足時序預(yù)算。supercell的大小調(diào)整好之后,就把supercell用庫中有適當(dāng)驅(qū)動能力的cell來代替。這里關(guān)鍵的一點就是最小可能大小的門被選取來滿足時序預(yù)算。結(jié)果芯片不再臃腫。因而會減少空間競爭,減少功耗和信號完整性問題。
最后利用詳細的布線工具來調(diào)整線寬和線的間距,以保持原始的時序預(yù)算,并且確保信號完整。當(dāng)然,在整個物理綜合過程中,我們也會利用DRC、ERC、LVS等工具來驗證各個階段的版圖,也會利用參數(shù)提取工具在各個階段來提取參數(shù),為supercell的大小調(diào)整以及supercell的gain調(diào)整提供信息。
利用supercell技術(shù),從RTL到GDSⅡ的實現(xiàn)的幾個主要步驟見圖3。
這就是基于Logical Effort理論的新設(shè)計方法,特別適合于設(shè)計快速的CMOS電路。在這里我們只簡單描述了它的設(shè)計思想。由于只是初步研究,肯定會有很多錯誤和問題,歡迎大家指出并討論。
評論