VHDL 硬體描述語言 數位電路設計實務 第一章 數位電路的設計觀念
1-1 數位系統的實作方法 「全訂製」(Fully Customize) IC 電路之設計完全由顧客所開出來的功能要求而去設計的。 「全訂製」(Fully Customize) IC 的性能遠較「半訂製」(Semi Customize) IC 來得優異、因為大部份的電路模組甚至是邏輯閘元件都是經由人工調校設計出來的,也因此其設計所需的時間也較多。 由於 VLSI 設計技術與製造工業的快速成長,已使得電子產品的生命期小於設計所花的時間,因而系統設計者急迫地需要一種能夠使其產品快速“雛型化”的 IC 元件。所以「全訂製」(Fully Customize) IC 並未廣泛地使用於電子產品的設計中。 「半訂製」(Semi Customize) IC 則是事先由廠商製作大部份的電路結構而只留下最後的電路連接線、供日後由顧客自行規劃 (或者說是「燒錄」)。 依據連接線的製作方式,「半訂製」(Semi Customize) IC 又分成三大類:「罩網可規劃邏輯閘陣列」(Mask Programmable Gate Array, MPGA) 簡稱為「邏輯閘陣列」(Gate Array, GA)、「標準雛型電路」以及「現場可規劃邏輯閘陣列」(Field Programmable Gate Array, FPGA) 等。 雖然「邏輯閘陣列」與「標準雛型電路」元件可以由使用者自行依其需要、確定自己的 IC 規格,但其最後的雛型 IC 或是產品 IC 仍需由 IC 製程工廠完成,因此在系統設計完成之後,仍需等上一段相當長的時間 (約兩到三個月),才能拿到第一個雛型 IC、做最後的測試與修改。這對於具有時效性的電子產品而言是相當不利的。 由於目前每一個「半訂製」(Semi Customize) IC 的等效邏輯閘數目均在幾千個以上,這些 IC 能否成功地應用在某一數位系統的設計上、完全依賴性能優越的電腦輔助設計工具 (CAD)。因此每一個硬體廠商也都提供此類的軟體、讓系統的設計者能夠提供有效地使用其硬體產品,例如:由 Quick Logic 公司所設計出來的 SpDE 8.1 Eval 版,可以用來規劃 (或者說是「燒錄」) 「現場可規劃邏輯閘陣列」(Field Programmable Gate Array, FPGA) IC,而「現場可規劃邏輯閘陣列」的元件通常使用在數位系統設計的初期階段、用以獲得較佳的彈性及方便性,在驗證步驟完成之後、就算是完成雛型電路了。如果在電路的效能及面積上有較大的要求時、則可以改採「全訂製」(Fully Customize) IC 電路之設計方式、由人工設計與調校,最後的電路送交工廠作光罩 (Mask)、大量生產的結果使得成本可以大幅地降低。 「半訂製」(Semi Customize) IC 中、被稱為「現場可規劃邏輯閘陣列」(Field Programmable Gate Array, FPGA) 的元件出現於 IC 工業市場中,這種 IC 提供了「邏輯閘陣列」的特性與「可程式陣列邏輯」(PAL) 元件或「邏輯閘陣列邏輯」(GAL) 的規劃彈性,所以可以縮短電子產品的雛型系統製作的時間,進而達到“快速雛型化”(Fast Prototyping) 的目標,因此廣受歡迎。
「現場可規劃邏輯閘陣列」(Field Programmable Gate Array, FPGA) IC 「現場可規劃邏輯閘陣列」的元件通常使用在數位系統設計的初期階段、用以獲得較佳的彈性及方便性,在驗證步驟完成之後、就算是完成雛型電路了。 如果在電路的效能及面積上有較大的要求時、則可以改採「全訂製」(Fully Customize) IC 電路之設計方式、由人工設計與調校,最後的電路送交工廠作光罩 (Mask)、大量生產的結果使得成本可以大幅地降低。
可規劃邏輯裝置 (Programmable Logic Device, PLD) 可規劃邏輯裝置 (Programmable Logic Device, PLD) 是屬於 ASIC (Application Specified IC) 的一種,從 IC 的包裝密度來看、PLD 元件是屬於 LSI 或 VLSI 級的積體電路。 目前常用的三種主要 PLD 元件為:ROM (Read Only Memory)、PLA (Programmable Logic Array),以及 PAL (Programmable Array Logic)。 這些元件的基本結構都有兩層的 AND-OR 電路、因此可以執行任何交換函數,它們之間的差異在於 AND 閘陣列與 OR 閘陣列在元件中排列與被規劃的位置、因此其規劃性也就有所不同了。 雖然 PLD 元件提供了良好的功能與設計上的彈性、並且可以執行組合邏輯與循序邏輯電路,然而由於其所包含的邏輯閘數目仍然不敷較大系統實際上的需求,因而往往需要結合相當數量的 PLD 元件才能組合成一個完整的系統。 其他更詳細的 PLD 介紹,請參考:國家晶片系統設計中心Steven 寫的網頁 http://www.cic.edu.tw/~steven/introduction.html。
CPLD (Complex Programmable Logic Device) 元件 近年來由於超大型積體電路 (VLSI) 技術的迅速發展,目前已經能夠將較多邏輯閘數目的邏輯閘製造於同一個晶片上。 這些功能較 PLD 元件複雜的邏輯元件依其電路結構大致可分成:「邏輯閘陣列」元件與 CPLD (Complex Programmable Logic Device) 元件兩種,「邏輯閘陣列」元件是由一些基本的 MOS FET 組成、而CPLD 元件則是以 AND-OR 邏輯結構為主。
1-2 典型的「半訂製」(Semi Customize) IC 設計流程 與「標的元件」無關之部份 設計輸入 (design entry) 設計驗證 (design verification) 最佳化 (optimization) 功能模擬 (functional simulation)
與「標的元件」有關之部份 元件嵌入 (primitive cells embed) 置入與繞線 (place and route) 時序分析 (timing analysis) 規劃 (programming)
IC design flow