基于層次法實現EOS芯片的后端設計
1 引言
本文引用地址:http://m.butianyuan.cn/article/171655.htm集成電路(Integrated Circuit, IC)是指在一半導體基板上,利用氧化、蝕刻、擴散等方法,將眾多電子電路組成各式二極管、晶體管等電子組件,做在一個微小面積上,以完成某一特定邏輯功能,達成預先設定好的電路功能要求的電路系統。
IC設計是將系統、邏輯與性能的設計要求轉化為具體的物理版圖的過程,也是一個把產品從抽象的過程一步步具體化、直至最終物理實現的過程。
IC設計主要包括兩個方面:(A)前端設計 (B)后端設計。前段設計是指設計人員根據系統所要求的功能與時序產生相應的邏輯網表,后端設計是指根據網表產生相應的版圖。
后端設計是整個集成電路(IC)設計過程中與產品研制和生產直接相關的設計過程,是集成電路設計的重要組成部分,后端設計的目的是將與工藝無關的通過硬件描述語言(HDL)表示的設計實現成與特定工藝相關的版圖。后端設計直接關系到芯片的設計周期、生產成本和產品質量。后端設計以往通常是人工設計中耗時最多,差錯率最高的設計過程,也是集成電路設計發(fā)展較快,自動化水平較高的領域。在超深亞微米工藝條件下,由于設計復雜度上升和新工藝帶來的物理特性變化,后端設計在很多方面需要進行改進以適應新的設計環(huán)境。
2 傳統的展平的后端設計方法
后端設計的主要流程包括布圖規(guī)劃(floor plan)、電源規(guī)劃(power plan)、布局(placement)、時鐘樹綜合(clock tree)、布線(routing)、驗證仿真到流片[1]。
傳統的展平法流程中,首先需要將前端生成的邏輯網表展平,并將設計中的標準單元作為葉節(jié)點,不同功能的模塊所包含的標準單元都在同一個層次上。在平面設計流程中,各個IP模塊是打散(smash)排列的,不需考慮各個模塊的功能與位置關系,并利用工具進行自動的布局布線[2]。展平法是將設計一次性的進行綜合、布局布線。展平法的優(yōu)點是流程簡單,同時時序性能好,這是因為它能對整個設計進行比較全面的優(yōu)化。展平法的缺點是設計大小受限于綜合和布局布線工具的能力,如果設計規(guī)模太大,綜合和布局布線可能得不到結果或者結果很差,主要體現在布線布不通或者時序非常難收斂,而且迭代的時間非常長。
3 層次式后端設計方法
層次法是將設計分成若干個模塊,對這些模塊分別進行物理實現,然后把這些模塊組合成一個完整的設計[3]。圖 1顯示了層次法設計法的流程。首先,根據邏輯關系將設計分成各個模塊,然后將各個模塊進行綜合,得到各個模塊的門級網表(netlist),再將各個模塊的門級網表組合成整個芯片的門級網表,將整個芯片的門級網表根據物理關系分成若干個模塊,同時通過時序分塊(timing budget)得到每個模塊的時序要求,根據每個物理模塊的門級網表和時序要求,實現每個模塊,最后將這些實現的模塊集成為一個完整的設計。
圖1 層次法后端設計流程
層次法設計包含以下基本步驟:
(1) 數據準備(Data Preparation)
準備好后端設計所需要的數據:網表(netlist),時序約束文件(sdc),單元庫(cell library),時序庫(tlf)等等。
(2) I/O PAD放置
根據芯片外管腳的定義和模塊數據流向手工放置I/O PAD的位置,也可以通過編寫TDF(top design format)文件,把PAD 位置進行限制,用自動布局布線工具讀入這個文件即可。
(3) 布局規(guī)劃(Floorplan)
根據設計的數據流向和功能模塊的考慮,以及經驗值,給出“core utilization”等參數的值的設置,如果之后的布線出現擁塞,可以適當調整這些參數的設置。
(4) 宏單元放置(Marco cell placement)
對模擬模塊或者RAM,ROM等宏單元提前放置,一般根據數據流和功能要求放置,如果沒有要求可以放置在靠近外圍,這樣不會影響到標準單元的布線。
(5) 電源(Power)
在PAD連上電源環(huán)給I/O供電,芯片內部還要在水平和垂直方向給出多組電源組,這些電源組都會連上溝道(row)的電源,以達到IR DROP的要求。
(6) 標準單元放置(Standard cell placement)
標準單元被放置在預先設置好的溝道(row)里面,這種放置可以時時序驅動的(timing driven),也可以是功耗驅動的(power driven)。
評論