EDA歷史和VLSI設計流程
要說電子設計自動化(Electronic Design Automation,EDA)行業里還有什麼好玩的東西,當屬集成電路(IC)的物理設計(physical design)了。這是一種將無數個小器件(device),通過一定演算法將它們按照一定規律集成到矽片(silicon chip)上的技術。
以截止到2011年,我們可以將2億個晶體管(transistor)集成在一個45nm工藝製造的晶元上,而且這個數字還將隨著我們的技術更新與應用需求持續增長下去。
另外,我們需要注意線延遲(wire delay)在晶元上貢獻的比例,已經開始超過單元延遲(cell delay)。這就給我們的物理設計帶來了更多的挑戰和機會。
讓我們回到上世紀90年代,我們通常會假設時序(timing)的問題主要來自於器件擺放的位置(placement)是不是最優。而到了今天,我們不走到設計流程的最後一步,我們或許壓根兒不知道設計是否能夠滿足時序的約束。
在15-20年前,人們都曾相信大部分的物理設計問題都被解決了。然而,晶體管數量的暴增,讓我們不得不融合物理空間、時序收斂(timing closure)、邏輯區域(logic domain)等因素,乃至用一種全新的眼光來看待物理設計。
-----------------------------------------------------------------------------------------
電子設計自動化(EDA)
EDA工業的目標是開發相關軟體來支持工程師進行IC設計。到目前為止,從架構設計到製造投產,EDA已經將自己的觸手伸到了IC設計的每個角落。
EDA的首次亮相是在上世紀60年代,它實現了對電路板上的少量模塊進行自動擺放。許多年之後,集成電路IC的降臨促使了一種新的需求——通過軟體來減少邏輯門的總量。今天的軟體工具不僅能做到這些,同時還會考慮一些電氣效應,例如信號延遲、電容耦合等等。
到了上世紀70年代,半導體公司開始研發自己專用的EDA工具,並且逐漸形成了現在的設計風格。在80到90年代間,獨立的軟體供應商開始設計更加具備普遍用途的軟體工具。
由此,獨立軟體供應商漸漸將這個業務發展成了一個獨立的EDA產業。許多的EDA公司都將總部設在了美國加州的Santa Clara,也就是矽谷。
在EDA行業里,每年都有很多會議和組織,讓各大公司和專業學院擁有平台來分享和交流。其中,最著名的就是設計自動化會議(Design Automation Conference,DAC)了。DAC不僅僅主持產業交流會,也提供學術論壇。
另外,還有一些專業的會議,依次以影響力排列如下:
- 自動化設計會議(DAC)
- 計算機輔助設計國際會議(ICCAD)
- 歐洲設計自動化與測試會議(DATE)
- 亞太地區自動化設計會議(ASP-DAC)
此外,收錄和發表EDA相關論文的頂級刊物主要有兩家:
- 國際電子工程師協會(IEEE)主辦的集成電路與系統的計算機輔助設計(IEEE-TCAD)
- 計算機聯盟(ACM)主辦的電子系統設計自動化(TODAES)
---------------------------------------------------------------------------------------
EDA的歷史
在集成電路以原理圖的展現方式被開發出來之後,首款EDA工具——一種可以優化物理位置的器件擺放工具(placer)在19世紀60年代被設計出來。很快,可以輔助電路版圖和可視化的程序也被開發出來。
到了70年代,真正意義上用於晶元物理設計的集成電路計算機輔助設計(CAD)系統應用在了工業界。在當時,大部分的CAD工具屬於某些公司的獨有資產,例如IBM和AT&T的Bell實驗室。
不過,到了19世紀80年代,一些獨立軟體開發者開始創作通用型的CAD工具來服務各類型半導體公司,支持他們進行大量產品的實現。19世紀的90年代是EDA市場的快速增長時期,諸多公司開始採用商業EDA工具來取代自己的工具。
到目前為止,世界上最大的幾家EDA軟體供應商為,Cadence Design Systems,Synopsys和Mentor Graphics。綜上所述,從EDA開始輔助物理設計以來,大致的發展路線如下圖所示。
超大規模集成電路(VLSI)設計流程
到了現代IC設計領域,通常來說,VLSI的設計流程如下圖所示。
那麼,對於物理設計來說,幾乎所有的設計成分都已經在前面的步驟中例化好了。換句話說,所有的宏單元、標準單元、邏輯門,甚至晶體管,都以固定的形狀和大小被分配在了晶元中,並且可以通過布線工具將它們連接起來。
物理設計為何如此重要呢?因為物理設計的好壞都將直接影響電路的各種指標,例如:
- 【性能】:較長的布線勢必擁有較長的信號延遲
- 【面積】:模塊擺放得太鬆散將導致整個晶元面積變大,運行速度變慢
- 【可靠性】:大量被引入的通孔(via)會顯著降低電路可靠性
- 【功耗】:柵極(gate)溝道長度越短的晶體管會引起更大的泄漏電流和工藝敏感性;但是,較大的晶體管和更長的導線會引起更大的動態功耗
- 【良率】:導線靠得越近越容易引起電氣短路效應,降低生產製造時的良率
由此可見,現代半導體工業的晶元物理設計階段已經有了很大的變化。針對這種高複雜度的情況,物理設計被分割成了更加細節的步驟:
- Partitioning:將一塊大型電路切割成許多小型電路形態
- Floorplanning:決定這些小型電路的形狀和排列,以及內外信號埠的位置
- Power/Ground Routing:排布電源地的走線
- Placement:放置所有標準單元
- Clock Network Synthesis:通過buffer和gates將時鐘信號傳遞到需求要的地方
- Global Routing:分配布線資源
- Detailed Routing:分配布線金屬層,連接Global Routing的資源
- Timing Closure:優化電路性能
下期預告
下期將展現一些用於物理設計軟體演算法中的一些基本概念:例如,圖論概念和EDA術語。
----------------------------------------------------------------------------------------------
更多關於半導體的精彩內容(包括教學視頻),請關注公眾號 【移知】 或【eeeknow】
掃描本欄目頭像2維碼,關注移知,我們提供視頻課程,等你來看!
首頁-ic設計-數字驗證-數字後端-系統架構-移知網http://weixin.qq.com/r/vDgqMpHEPcxCrdVR922u (二維碼自動識別)
推薦閱讀:
※一些談論龍芯的人或許從沒上過一節數字電路課。
※晶元封裝的熱設計和模擬
※如何設計一顆40PFLOPS量級的AI晶元?
※進入世界前50的中國Fabless | 半導體行業觀察
※兆易創新研發14nm嵌入式異構AI晶元 | 半導體行業觀察