對于不同的設計要求,工程師可以選擇使用半定制設計途徑,例如采用可編程邏輯器件(現(xiàn)場可編程邏輯門陣列等)或基于標準單元庫的專用集成電路來實現(xiàn)硬件電路;也可以使用全定制設計,控制晶體管版圖到系統(tǒng)結構的全部細節(jié)。
全定制設計這種設計方式要求設計人員利用版圖編輯器來完成版圖設計、參數(shù)提取、單元表征,然后利用這些自己設計的單元來完成電路的構建。通常,全定制設計是為了最大化優(yōu)化電路性能。如果標準單元庫中缺少某種所需的單元,也需要采取全定制設計的方法完成所需的單元設計。不過,這種設計方式通常需要較長的時間。半定制設計與全定制設計相對的設計方式為半定制設計。簡而言之,半定制集成電路設計是基于預先設計好的某些邏輯單元。例如,設計人員可以在標準組件庫(通??梢詮牡谌劫徺I)的基礎上設計專用集成電路,從中選取所需的邏輯單元(例如各種基本邏輯門、觸發(fā)器等)來搭建所需的電路。他們也可以使用可編程邏輯器件來完成設計,這類器件的幾乎所有物理結構都已經(jīng)固定在芯片之中,僅剩下某些連線可以由用戶編程決定其連接方式。
與這些預先設計好的邏輯單元有關的性能參數(shù)通常也由其供應商提供,以方便設計人員進行時序、功耗分析。在半定制的現(xiàn)場可編程邏輯門陣列(FPGA)上實現(xiàn)設計的優(yōu)點是開發(fā)周期短、成本低??删幊踢壿嬈骷删幊踢壿嬈骷ǔS砂雽w廠家提供商品芯片,這些芯片可以通過JTAG等方式和計算機連接,因此設計人員可以用電子設計自動化工具來完成設計,然后將利用設計代碼來對邏輯芯片編程??删幊踢壿嬯嚵行酒诔鰪S前就提前定義了邏輯門構成的陣列,而邏輯門之間的連接線路則可以通過編程來控制連接與斷開。隨著技術的發(fā)展,對連接線的編程可以通過EPROM(利用較高壓電編程、紫外線照射擦除)、EEPROM(利用電信號來多次編程和擦除)、SRAM、閃存等方式實現(xiàn)?,F(xiàn)場可編程邏輯門陣列是一種特殊的可編程邏輯器件,它的物理基礎是可配置邏輯單元,由查找表、可編程多路選擇器、寄存器等結構組成。查找表可以用來實現(xiàn)邏輯函數(shù),如三個輸入端的查找表可以實現(xiàn)所有三變量的邏輯函數(shù)。專用集成電路針對特殊應用設計的專用集成電路(ASIC)的優(yōu)點是面積、功耗、時序可以得到最大程度地優(yōu)化。專用集成電路只能在整個集成電路設計完成之后才能開始制造,而且需要專業(yè)的半導體工廠的參與。
專用集成電路可以是基于標準單元庫,也可以是全定制設計。在后一種途徑中,設計人員對于晶圓上組件的位置和連接有更多的控制權,而不像可編程邏輯器件途徑,只能選擇使用其中部分硬件資源,從而造成部分資源被浪費。專用集成電路的面積、功耗、時序特性通??梢缘玫礁玫膬?yōu)化。然而,專用集成電路的設計會更加復雜,并且需要專門的工藝制造部門(或者外包給晶圓代工廠)才能將GDSII文件制造成電路。一旦專用集成電路芯片制造完成,就不能像可編程邏輯器件那樣對電路的邏輯功能進行重新配置。對于單個產(chǎn)品,在專用集成電路上實現(xiàn)集成電路的經(jīng)濟、時間成本都比可編程邏輯器件高,因此在早期的設計與調試過程中,常用可編程邏輯器件,尤其是現(xiàn)場可編程邏輯門陣列;如果所設計的集成電路將要在后期大量投產(chǎn),那么批量生產(chǎn)專用集成電路將會更經(jīng)濟。
隨著超大規(guī)模集成電路的復雜程度不斷提高,電路制造后的測試所需的時間和經(jīng)濟成本也不斷增加。以往,人們將絕大多數(shù)精力放在設計本身,而并不考慮之后的測試,因為那時的測試相對更為簡單。近年來,測試本身也逐漸成為一個龐大的課題。比如,從電路外部控制某些內部信號使得它們呈現(xiàn)特定的邏輯值比較容易,而某些內部信號由于依賴大量其它內部信號,從外部很難直接改變它們的數(shù)值。此外,內部信號的改變很多時候不能在主輸出端觀測(有時主輸出端的信號輸出看似正確,其實內部狀態(tài)是錯誤的,僅觀測主輸出端的輸出不足以判斷電路是否正常工作)。以上兩類問題,即可控制性和可觀測性,是可測試性的兩大組成部分。