1 引言
集成電路(Integrated Circuit, IC)是指在一半導體基板上,利用氧化、蝕刻、擴散等方法,將眾多電子電路組成各式二極管、晶體管等電子組件,做在一個微小面積上,以完成某一特定邏輯功能,達成預先設(shè)定好的電路功能要求的電路系統(tǒng)。
IC設(shè)計是將系統(tǒng)、邏輯與性能的設(shè)計要求轉(zhuǎn)化為具體的物理版圖的過程,也是一個把產(chǎn)品從抽象的過程一步步具體化、直至最終物理實現(xiàn)的過程。
IC設(shè)計主要包括兩個方面:(A)前端設(shè)計 (B)后端設(shè)計。前段設(shè)計是指設(shè)計人員根據(jù)系統(tǒng)所要求的功能與時序產(chǎn)生相應(yīng)的邏輯網(wǎng)表,后端設(shè)計是指根據(jù)網(wǎng)表產(chǎn)生相應(yīng)的版圖。
后端設(shè)計是整個集成電路(IC)設(shè)計過程中與產(chǎn)品研制和生產(chǎn)直接相關(guān)的設(shè)計過程,是集成電路設(shè)計的重要組成部分,后端設(shè)計的目的是將與工藝無關(guān)的通過硬件描述語言(HDL)表示的設(shè)計實現(xiàn)成與特定工藝相關(guān)的版圖。后端設(shè)計直接關(guān)系到芯片的設(shè)計周期、生產(chǎn)成本和產(chǎn)品質(zhì)量。后端設(shè)計以往通常是人工設(shè)計中耗時最多,差錯率最高的設(shè)計過程,也是集成電路設(shè)計發(fā)展較快,自動化水平較高的領(lǐng)域。在超深亞微米工藝條件下,由于設(shè)計復雜度上升和新工藝帶來的物理特性變化,后端設(shè)計在很多方面需要進行改進以適應(yīng)新的設(shè)計環(huán)境。
2 傳統(tǒng)的展平的后端設(shè)計方法
后端設(shè)計的主要流程包括布圖規(guī)劃(floor plan)、電源規(guī)劃(power plan)、布局(placement)、時鐘樹綜合(clock tree)、布線(routing)、驗證仿真到流片[1]。
傳統(tǒng)的展平法流程中,首先需要將前端生成的邏輯網(wǎng)表展平,并將設(shè)計中的標準單元作為葉節(jié)點,不同功能的模塊所包含的標準單元都在同一個層次上。在平面設(shè)計流程中,各個IP模塊是打散(smash)排列的,不需考慮各個模塊的功能與位置關(guān)系,并利用工具進行自動的布局布線[2]。展平法是將設(shè)計一次性的進行綜合、布局布線。展平法的優(yōu)點是流程簡單,同時時序性能好,這是因為它能對整個設(shè)計進行比較全面的優(yōu)化。展平法的缺點是設(shè)計大小受限于綜合和布局布線工具的能力,如果設(shè)計規(guī)模太大,綜合和布局布線可能得不到結(jié)果或者結(jié)果很差,主要體現(xiàn)在布線布不通或者時序非常難收斂,而且迭代的時間非常長。
3 層次式后端設(shè)計方法
層次法是將設(shè)計分成若干個模塊,對這些模塊分別進行物理實現(xiàn),然后把這些模塊組合成一個完整的設(shè)計[3]。圖 1顯示了層次法設(shè)計法的流程。首先,根據(jù)邏輯關(guān)系將設(shè)計分成各個模塊,然后將各個模塊進行綜合,得到各個模塊的門級網(wǎng)表(netlist),再將各個模塊的門級網(wǎng)表組合成整個芯片的門級網(wǎng)表,將整個芯片的門級網(wǎng)表根據(jù)物理關(guān)系分成若干個模塊,同時通過時序分塊(timing budget)得到每個模塊的時序要求,根據(jù)每個物理模塊的門級網(wǎng)表和時序要求,實現(xiàn)每個模塊,最后將這些實現(xiàn)的模塊集成為一個完整的設(shè)計。
圖1 層次法后端設(shè)計流程
層次法設(shè)計包含以下基本步驟:
(1) 數(shù)據(jù)準備(Data Preparation)
準備好后端設(shè)計所需要的數(shù)據(jù):網(wǎng)表(netlist),時序約束文件(sdc),單元庫(cell library),時序庫(tlf)等等。
(2) I/O PAD放置
根據(jù)芯片外管腳的定義和模塊數(shù)據(jù)流向手工放置I/O PAD的位置,也可以通過編寫TDF(top design format)文件,把PAD 位置進行限制,用自動布局布線工具讀入這個文件即可。
(3) 布局規(guī)劃(Floorplan)
根據(jù)設(shè)計的數(shù)據(jù)流向和功能模塊的考慮,以及經(jīng)驗值,給出“core utilization”等參數(shù)的值的設(shè)置,如果之后的布線出現(xiàn)擁塞,可以適當調(diào)整這些參數(shù)的設(shè)置。
(4) 宏單元放置(Marco cell placement)
對模擬模塊或者RAM,ROM等宏單元提前放置,一般根據(jù)數(shù)據(jù)流和功能要求放置,如果沒有要求可以放置在靠近外圍,這樣不會影響到標準單元的布線。
(5) 電源(Power)
在PAD連上電源環(huán)給I/O供電,芯片內(nèi)部還要在水平和垂直方向給出多組電源組,這些電源組都會連上溝道(row)的電源,以達到IR DROP的要求。
(6) 標準單元放置(Standard cell placement)
標準單元被放置在預先設(shè)置好的溝道(row)里面,這種放置可以時時序驅(qū)動的(timing driven),也可以是功耗驅(qū)動的(power driven)。
(7) 時鐘樹生成(Clock tree synthesis)
由于時鐘端的驅(qū)動能力有限,而且時序的好壞也是一個芯片的成敗的關(guān)鍵,在所有的時鐘驅(qū)動端加入一些緩沖器(Buffer)。
(8) 布線(Routing)
芯片的布線有總體(Global routing)布線和詳細布線(Detail routing)兩步,如果布線有很大的擁塞(congestion),需要重新布局。
(9) 寄生參數(shù)提取(RC extraction)
利用寄生參數(shù)提取軟件提取線網(wǎng)的寄生電阻和電容,并轉(zhuǎn)換為延時值存到SDF(stand delay format)文件中。
(10) 靜態(tài)時序分析STA(static timing analysis)
靜態(tài)時序分析是運用軟件計算芯片的時序是否符合設(shè)計所要求的時序,如果違反可以進行工程變更(ECO)來修正。
(11) 工程變更ECO(engineering change order)
工程變更是對版圖的局部修改,并完成從布局到STA的步驟的統(tǒng)稱,一般是加入一些單元,或者替換一些單元來達到對時序的修改。
(12) 設(shè)計規(guī)則檢查DRC(design rule check)和版圖與電路圖比較LVS(layout versus schematic) [4] 。
層次法設(shè)計具有許多優(yōu)點,主要是它可以對模塊施加靈活而嚴格的約束,可以允許多個物理設(shè)計人員并行工作,提高物理設(shè)計的并行性,能夠減少一些重復的迭代工作,由于增加了許多對功能模塊的操作,還可以節(jié)約系統(tǒng)資源。層次法設(shè)計也有其局限性,主要是設(shè)計過程復雜,對含有多個IP模塊的設(shè)計需要對每個模塊進行優(yōu)化工作,層次法設(shè)計對于規(guī)模不大的設(shè)計優(yōu)化功能并不明顯。
4 芯片實現(xiàn)
隨著波分復用技術(shù)和高速以太網(wǎng)技術(shù)的發(fā)展,骨干網(wǎng)的帶寬呈幾何級數(shù)增長,已達到了吉比特甚至更高的水平。而連接骨干網(wǎng)和用戶網(wǎng)的接入網(wǎng)的速率卻沒有太大的提高,已成為網(wǎng)絡(luò)發(fā)展的瓶頸。要想實現(xiàn)高速、可靠的接入,使終端用戶充分利用骨干網(wǎng)的巨大容量,必須采用新的高速接入技術(shù)。SDH技術(shù)已非常成熟,其安全性好,可靠性高;用SDH傳輸網(wǎng)絡(luò)承載以太網(wǎng)IP包以實現(xiàn)網(wǎng)絡(luò)用戶的遠程接入或異地局域網(wǎng)互連,我們稱之為EOS(Ethernet over SDH), 是一種非常方便的實現(xiàn)方案。
EOS芯片用于實現(xiàn)EOS方案的主要ASIC芯片,它的規(guī)模是6百萬門(不含RAM),它采用0.18um的CMOS工藝。它的規(guī)模已經(jīng)接近展平法的極限,經(jīng)過對比試驗,展平法實現(xiàn)一次布局布線到寄生參數(shù)的提取需要40-50個小時完成。而采用層次法,迭代時間將會減小到20個小時以下。
EOS芯片的設(shè)計平臺采用的是cadence公司集成后端設(shè)計工具Encounter,其中中心部分為設(shè)計輸入,encounter菜單按照流程設(shè)計,使用很方便。該工具集成了幾乎完整的芯片后端設(shè)計流程工具,其中包括優(yōu)化綜合工具(RTL Compiler)、布局工具(Amoeba Placement)、布線工具(trial route,Nano route)、時序驗證工具(vstorm PE)、串擾分析工具(CelticIC)、寄生參數(shù)抽取3D工具(Fire&Ice),同時對于如納米布線器、串擾分析工具、電源分析工具也可以單獨使用,可以適合不同用戶層面的需求,所以使用非常方便[5]。
層次法設(shè)計的時候模塊劃分要考慮芯片之間的連接關(guān)系,還要考慮模塊門數(shù)的大小,太大和太小的模塊都不適合劃分為模塊來單獨布局布線。以下是一些劃分模塊的基本要點:
(1)模塊不宜太大或者太小,一般以30萬門到80萬門之間最合適,最大不要超過200萬門。
(2)模塊被重復的次數(shù)多,有利于實現(xiàn)模塊化的優(yōu)勢。
(3)模塊對外的pin腳不宜過多,如果過多,頂層的布線和規(guī)劃會十分困難。
圖3 頂層布局布線圖
根據(jù)以上幾個要點,我們可以把芯片分成以下幾個模塊:STM,LCAS,VC4,Channel,GB。這里要提到的一點是,對于層次法設(shè)計,在頂層布線的時候,底層模塊是作為一個黑盒子來使用的,但是它還是包含時序的信息。如圖3就是頂層最后的布線圖。
在頂層和底層模塊完成布線之后就要進行模塊的組裝,把布好線的模塊調(diào)用到頂層視圖里面來,把模塊里面的布線全部顯示出來,圖4就是模塊組裝后最終的布線版圖。
圖4 最終全芯片版圖
5 結(jié)論
采取層次法的后端設(shè)計方法可以有效的提高設(shè)計效率,尤其是對應(yīng)超大規(guī)模的設(shè)計,它的優(yōu)點是顯而易見的。隨著集成電路的規(guī)模不斷的增加,設(shè)計復雜度也不斷的提升,層次法的后端設(shè)計方法會越來越多的廣泛應(yīng)用并且得到不斷改進和優(yōu)化。
參考文獻:
[1](加)馬丁(Martin k.)著.數(shù)字集成電路設(shè)計.北京:電子工業(yè)出版社,2002.9
[2]EncounterTM User Guide. Version 4.1.Cadence Reference Book, 2004.
[3]First Encounter Ultra Lab Manual. Version 4.1.Cadence Reference Book, 2004.
[4] (美)John P.Uyemura著. 周潤德 譯. 超大規(guī)模集成電路與系統(tǒng)導論. 北京:電子工業(yè)出版社,2004.1
[5] EncounterTM Menu Reference. Version 4.l.Cadence Reference Book.2004
[6]夏宏美,李成詩,韓芳,賴宗聲. 深亞微米超大規(guī)模集成電路的靜態(tài)時序分析[J]. 微計算機信息. 2006.8





