積體電路設計和實現

  積體電路設計涉及對電子器件***例如電晶體、電阻器、電容器等***、器件間互連線模型的建立。那麼你對積體電路設計瞭解多少呢?以下是由小編整理關於什麼是積體電路設計的內容,希望大家喜歡!

  積體電路設計的介紹

  所有的器件和互連線都需安置在一塊半導體襯底材料之上,這些元件通過半導體器件製造工藝***例如光刻等***安置在單一的矽襯底上,從而形成電路。目前最常使用的襯底材料是矽。設計人員會使用技術手段將矽襯底上各個器件之間相互電隔離,以控制整個晶片上各個器件之間的導電效能。PN接面、金氧半導體場效電晶體等組成了積體電路器件的基礎結構,而由後者構成的互補式金氧半導體則憑藉其低靜態功耗、高整合度的優點成為數字積體電路中邏輯閘的基礎構造。設計人員需要考慮電晶體、互連線的能量耗散,這一點與以往由分立電子器件開始構建電路不同,這是因為積體電路的所有器件都整合在一塊矽片上。金屬互連線的電遷移以及靜電放電對於微晶片上的器件通常有害,因此也是積體電路設計需要關注的課題。

  隨著積體電路的規模不斷增大,其整合度已經達到深亞微米級***特徵尺寸在130奈米以下***,單個晶片整合的電晶體已經接近十億個。由於其複雜性,積體電路設計相較簡單電路設計常常需要計算機輔助的設計方法學和技術手段。積體電路設計的研究範圍涵蓋了數字積體電路中數字邏輯的優化、網表實現,暫存器傳輸級硬體描述語言程式碼的書寫,邏輯功能的驗證、模擬和時序分析,電路在硬體中連線的分佈,模擬積體電路中運算放大器、電子濾波器等器件在晶片中的安置和混合訊號的處理。相關的研究還包括硬體設計的電子設計自動化***EDA***、計算機輔助設計***CAD***方法學等,是電機工程學和計算機工程的一個子集。

  對於數字積體電路來說,設計人員現在更多的是站在高階抽象層面,即暫存器傳輸級甚至更高的行為級,使用硬體描述語言或高階建模語言來描述電路的邏輯、時序功能,而邏輯綜合可以自動將暫存器傳輸級的硬體描述語言轉換為邏輯閘級的網表。對於簡單的電路,設計人員也可以用硬體描述語言直接描述邏輯閘和觸發器之間的連線情況。網表經過進一步的功能驗證、佈局、佈線,可以產生用於工業製造的版圖設計檔案,根據該檔案來可以在硬體上實現實際的積體電路電路。模擬積體電路設計涉及了更加複雜的訊號環境,對工程師的經驗有更高的要求,並且其設計的自動化程度遠不及數字積體電路。

  逐步完成功能設計之後,設計規則會指明哪些設計符合製造要求,而哪些設計不符合,而這個規則本身也十分複雜。積體電路設計流程需要符合數百條這樣的規則。在一定的設計約束下,積體電路物理版圖的佈局、佈線對於獲得理想速度、訊號完整性、減少芯片面積來說至關重要。半導體器件製造的不可預測性使得積體電路設計的難度進一步提高。在積體電路設計領域,由於市場競爭的壓力,電子設計自動化等相關計算機輔助設計工具得到了廣泛的應用,工程師可以在計算機軟體的輔助下進行設計、功能驗證、靜態時序分析、動態時序驗證等流程。

  積體電路設計的硬體實現

  對於不同的設計要求,工程師可以選擇在可程式設計邏輯器件***如現場可程式設計邏輯閘陣列***或專用積體電路上進行硬體電路實現。根據設計的出發點及約束,可以分為全定製設計和半定製設計***使用門陣列、標準元件或巨集單元等***兩大類。

  可程式設計邏輯器件

  主條目:可程式設計邏輯器件

  參見:複雜可程式設計邏輯器件、可程式設計陣列邏輯、可程式設計邏輯陣列、通用陣列邏輯及現場可程式設計邏輯閘陣列

  可程式設計邏輯器件通常由半導體廠家提供商品晶片,這些晶片可以通過JTAG等方式和計算機連線,因此設計人員可以用電子設計自動化工具來完成設計,然後將利用設計程式碼來對邏輯晶片程式設計。可程式設計邏輯陣列晶片在出廠前就提前定義了邏輯閘構成的陣列,而邏輯閘之間的連線線路則可以通過程式設計來控制連線與斷開。隨著技術的發展,對連線線的程式設計可以通過EPROM***利用較高壓電程式設計、紫外線照射擦除***、EEPROM***利用電訊號來多次程式設計和擦除***、SRAM、快閃記憶體等方式實現。現場可程式設計邏輯閘陣列是一種特殊的可程式設計邏輯器件,它的物理基礎是可配置邏輯單元,由查詢表、可程式設計多路選擇器、暫存器等結構組成。查詢表可以用來實現邏輯函式,如三個輸入端的查詢表可以實現所有三變數的邏輯函式。

  專用積體電路

  主條目:專用積體電路

  專用積體電路只能在整個積體電路設計完成之後才能開始製造,而且需要專業的半導體工廠的參與。不像可程式設計邏輯器件可以實現各種不同的電路,專用積體電路是根據已設計的電路版圖量身定做的,設計人員對於元件在晶片上的位置和連線能夠有更多的控制權,而不像可程式設計邏輯器件途徑,只能選擇使用其中部分硬體資源,從而無法避免資源浪費,因此專用積體電路的面積、功耗、時序特性可以得到更好的優化。然而,專用積體電路的設計會更加複雜,並且需要專業的半導體工藝廠家才能將版圖檔案製造成電路。一旦專用積體電路晶片製造完成,就不能像可程式設計邏輯器件那樣對電路的邏輯功能進行重新配置。對於單個產品,在專用積體電路上實現積體電路的經濟、時間成本都比可程式設計邏輯器件高,因此在早期的設計與除錯過程中,常用可程式設計邏輯器件,尤其是現場可程式設計邏輯閘陣列;如果所設計的積體電路將要在後期大量投產,那麼批量生產專用積體電路將會更經濟。

  積體電路設計的設計輔助和自動化

  主條目:計算機輔助設計和電子設計自動化

  由於積體電路系統的複雜性,工程師往往需要藉助電子設計自動化工具來進行計算機輔助設計。邏輯綜合就是電子設計自動化在數字積體電路設計中最顯著的體現。以往在設計小規模、中規模積體電路時,工程師設計數字積體電路需要根據邏輯功能,通過類似卡諾圖這樣的手工途徑來優化邏輯函式,然後確定使用何種邏輯閘來實現電路。而在當前超大規模積體電路,乃至更大的甚大規模積體電路的設計中,這樣的工作方式不太現實。電子設計自動化工具使得工程師能夠從複雜的門級設計轉到功能設計,而底層的轉換由自動工具完成,工程師只需要掌握如何設定這些工具工作策略的知識。硬體描述語言是積體電路設計自動化的重要基礎。電子設計自動化發展十分迅速,現在已經成立了諸如設計自動化會議的一些學術論壇,定期討論業界的發展。

  完成整個積體電路設計常常涉及多個電子設計自動化工具的運用。有些公司專門從事積體電路計算機輔助設計工具套件的開發和銷售,例如Synopsys、Cadence、Mentor Graphics、Agilent、Altium、Xilinx等。電子設計自動化工具的本身作為一種軟體,背後依靠的是各種計算機演算法。因此電子設計自動化工具的開發更加接近軟體設計的範疇,其開發人員需要重點關注邏輯簡化、佈局佈線等方面的演算法實現,但是他們同樣需要了解積體電路的硬體知識。