積體電路設計
積體電路設計(英語:
Integrated circuit design, IC design),根據當前
積體電路的集成規模,亦可稱之為
超大規模積體電路設計(
VLSI design),是指以積體電路、超大規模積體電路為目標的設計流程。
積體電路設計涉及對電子器件(例如
電晶體、
電阻器、
電容器等)、器件間互連線模型的建立。所有的器件和互連線都需安置在一塊半導體襯底材料之上,這些元件通過半導體器件製造工藝(例如
光刻等)安置在單一的
矽襯底上,從而形成
電路。最常使用的襯底材料是
矽。設計人員會使用技術手段將矽襯底上各個器件之間相互電隔離,以控制整個晶片上各個器件之間的導電性能。
PN結、
金屬氧化物半導體場效應管等組成了積體電路器件的基礎結構,而由後者構成的互補式金屬氧化物半導體則憑藉其低靜態功耗、高集成度的優點成為數字積體電路中
邏輯門的基礎構造。設計人員需要考慮電晶體、互連線的能量耗散,這一點與以往由分立電子器件開始構建電路不同,這是因為積體電路的所有器件都集成在一塊矽片上。金屬互連線的
電遷移以及
靜電放電對於微晶片上的器件通常有害,因此也是積體電路設計需要關注的課題。
對於數字積體電路來說,設計人員更多的是站在高級抽象層面,即
暫存器傳輸級甚至更高的系統級(有人也稱之為行為級),使用
硬體描述語言或高級建模語言來描述電路的邏輯、時序功能,而
邏輯綜合可以自動將
暫存器傳輸級的
硬體描述語言轉換為
邏輯門級的
網表。對於簡單的電路,設計人員也可以用硬體描述語言直接描述邏輯門和觸發器之間的連線情況。網表經過進一步的功能驗證、
布局、
布線,可以產生用於工業製造的
GDSII檔案,工廠根據該檔案就可以在
晶圓上製造電路。模擬積體電路設計涉及了更加複雜的信號環境,對工程師的經驗有更高的要求,並且其設計的自動化程度遠不及數字積體電路。
逐步完成功能設計之後,設計規則會指明哪些設計符合製造要求,而哪些設計不符合,而這個規則本身也十分複雜。積體電路設計流程需要符合數百條這樣的規則。在一定的設計約束下,積體電路物理版圖的
布局、
布線對於獲得理想速度、
信號完整性、減少晶片面積來說至關重要。半導體器件製造的不可預測性使得積體電路設計的難度進一步提高。在積體電路設計領域,由於市場競爭的壓力,
電子設計自動化等相關
計算機輔助設計工具得到了廣泛的套用,工程師可以在計算機軟體的輔助下進行暫存器傳輸級設計、功能驗證、
靜態時序分析、
物理設計等流程。
專用積體電路
專用積體電路(英語:
Application-specific integrated circuit,
縮寫:
ASIC),是指依產品需求不同而
客制化的特殊規格
積體電路;相反地,非客制化的是套用特定標準產品(Application-specific standard product)積體電路。
專用積體電路是由特定使用者要求和特定電子系統的需要而設計、製造。由於單個專用積體電路晶片的生產成本很高,如果出貨量較小,則採用專用積體電路在經濟上不太實惠。這種情況可以使用
可程式邏輯器件(如現場可程式邏輯門陣列)來作為目標硬體實現
積體電路設計。此外,可程式邏輯器件具有用戶可程式特性,因此適合於大規模晶片量產之前的原型機,來進行調試等工作。但是可程式邏輯器件在面積、速度方面的最佳化程度不如全定製的積體電路。
專用積體電路的特點是面向特定用戶的需求,品種多、批量少,要求設計和
生產周期短,它作為積體電路技術與特定用戶的整機或系統技術緊密結合的產物,與通用積體電路相比具有體積更小、重量更輕、功耗更低、可靠性提高、性能提高、保密性增強、成本降低等優點。
全定製
全定製(英語:
Full-custom)設計途徑是
積體電路設計的一種途徑,這種途徑需要設計人員完成所有
電晶體和互連線的詳細版圖,而不像另一種設計途徑——
半定製(
semi-custom)設計方法,不是以電晶體為基礎開始設計,而是通過使用已經設計好的子電路來完成整個電路的設計。實際上,半定製設計途徑所使用的標準元件本身也是通過全定製設計方法完成的,而一系列這類標準元件(通常稱之為“標準單元庫”、“工藝庫”)的設計會花費很長時間。
全定製設計由於設計的精度很高,因此可以最大程度最佳化晶片的性能,而不會浪費太多晶片資源。但是,這種設計方法通常比半定製設計耗費更多的人力和時間成本。因此,只有那些需要大批量投產的積體電路產品(如
微處理器等)才會使用全定製的方法,因為使用全定製的方法對於單個晶片來說很不經濟。
積體電路的設計、製造所需的成本是一個需要考慮的因素。製造用於
光刻(將抽象的
積體電路版圖轉化為實際硬體電路的過程之一)的光掩模相當昂貴,而相關
電子設計自動化軟體的授權也將花費客觀的資金。
現場可程式邏輯門陣列
概述
現場可程式邏輯閘陣列(英語:Field Programmable Gate Array,縮寫為FPGA),它是在
PAL、
GAL、
CPLD等
可程式邏輯器件的基礎上進一步發展的產物。它是作為
專用積體電路領域中的一種半定製電路而出現的,既解決了
全定製電路的不足,又克服了原有可程式邏輯器件門電路數有限的缺點。
系統設計師可以根據需要,通過可編輯的連線,把FPGA內部的邏輯塊連線起來。這就好像一個電路試驗板被放在了一個晶片里。一個出廠後的成品FPGA的邏輯塊和連線可以按照設計者的需要而改變,所以FPGA可以完成所需要的邏輯功能。
FPGA一般來說比
專用積體電路(ASIC)的速度要慢,無法完成更複雜的設計,並且會消耗更多的電能。但是,FPGA具有很多優點,比如可以快速成品,而且其內部邏輯可以被設計者反覆修改,從而改正程式中的錯誤,此外,使用FPGA進行除錯的成本較低。廠商也可能會提供便宜、但是編輯能力有限的FPGA產品。因為這些晶片有的可編輯能力較差,所以這些設計的開發是在普通的FPGA上完成的,然後將設計轉移到一個類似於專用積體電路的晶片上。在一些技術更新比較快的行業,FPGA幾乎是電子系統中的必要部件,因為在大批量供貨前,必須迅速搶占市場,這時FPGA方便靈活的優勢就顯得很重要。
為了達到上述目的,另外一種方法是採用
複雜可程式邏輯器件(CPLD)而不是FPGA。下面對CPLD進行簡要介紹,並與FPGA進行比較。
早在1980年代中期,FPGA已經在
可程式邏輯器件設備中紮根。
CPLD和FPGA都包括了一些相對大數量的可以編輯邏輯單元。CPLD邏輯門的密度在幾千到幾萬個邏輯單元之間,而FPGA通常是在幾萬到幾百萬。
CPLD和FPGA的主要區別是他們的系統結構。CPLD的結構具有一定的局限性。這個結構由一個或者多個可編輯的結果之和的邏輯組列和一些相對少量的鎖定的暫存器組成。這樣的結果是缺乏編輯靈活性,但是它的優點是,其延遲時間易於預計,邏輯單元對連線單元比率較高。而FPGA具有的連線單元數量很大,這樣雖然讓它可以更加靈活的編輯,但是結構卻複雜的多。
CPLD和FPGA另外一個區別是大多數的FPGA含有高層次的內置模組(比如加法器和乘法器)和內置的存儲器。一個由此帶來的重要區別是,很多新的FPGA支持完全的或者部分的系統內重新配置。允許他們的設計隨著系統升級或者動態重新配置而改變。一些FPGA可以讓設備的一部分重新編輯,而其他部分繼續正常運行。
基本組成
靜態隨機存取存儲器(SRAM) - 基於靜態記憶體static memory技術。系統內可程式化和再程式化(re-programmable)。須要外部啟動元件(external boot devices).
CMOS。
Antifuse- 可燒錄一次。通常為CMOS。
PROM(一次性可程式EPROM) - 可程式化唯讀存儲器技術,可燒錄一次。使用塑膠封裝,無窗,不能清除內容。
EPROM- 可清除可程式化唯讀存儲器技術,有窗,經紫外線照射可清除內容。
EEPROM- 可電氣清除可程式化唯讀存儲器技術,可用電氣信號清除內容。