書名: Verilog硬體描述語言數位電路 書局: 儒林圖書 書號: TB-027 作者: 鄭信源
1.1 近代數位設計 使用軟體工具完成設計 系統複雜化 從低層次的閘設計到 由高層次功能單元組成的元件 1.1 近代數位設計 使用軟體工具完成設計 系統複雜化 使用軟體工具完成符合性能要求的設計元件與系統 從低層次的閘設計到 由高層次功能單元組成的元件 / 1.1 近代數位設計
近代數位設計(續) 硬體描述語言(HDL) 數位硬體以類似軟體方式的文字描述來代表 使用電子設計自動化(EDA)軟體工具 執行合成與模擬 合成是將規格轉換為實際的設計實作 模擬是使規格或詳細的實作產生作用 以驗證是否正確的操作 合成與模擬EDA工具需使用圖形或文字的方式 將設計者的構想轉移到工具本身內 常見的HDL為Verilog與VHDL / 1.1 近代數位設計
近代數位設計(續) 設計高性能全客戶製作(full-custom) IC是 困難的工作 可規劃邏輯(Programmable Logic) 使用閘陣列的應用型積體電路(Application-Specific Integrated Circuit,ASIC)設計 可規劃邏輯(Programmable Logic) 最早的可規劃邏輯裝置(PLD)是 可規劃邏輯陣列(PLA) 可規劃陣列邏輯(PAL)是延伸PLA的概念 近年來的可規劃邏輯包括CPLD與FPGA / 1.1 近代數位設計
1.5 可程式邏輯 1.5.1 基本概念 1.5.2 SPLD 1.5.3 CPLD 1.5.4 FPGA 1.5.6 晶片燒錄 1.5.6 晶片燒錄 / 1.5 可程式邏輯
基本概念 可程式邏輯概念 可程式邏輯裝置(PLD) 主要在完成所有7400或4000系列IC的邏輯設計 / 1.5 可程式邏輯
基本概念(續) 可程式邏輯裝置包含可程式陣列 可程式陣列是一個導體矩陣 在每個交接點使用可程式連接方式形成列與行 基本的可程式陣列包含 OR閘陣列與AND陣列 利用可程式的方式獲得想要的邏輯函數 陣列以鎔化保險絲的方式刪除從輸出函數選擇的變數 只有想要的變數能經由完整的保險絲連接到閘輸入 / 1.5 可程式邏輯
可程式陣列 (a)未程式化 (b)已程式化 圖1.9 基本可程式OR陣列實例 / 1.5 可程式邏輯
可程式陣列(續) (a)未程式化 (b)已程式化 圖1.10 基本可程式AND陣列實例 / 1.5 可程式邏輯
可程式邏輯裝置 包裝內包含數以千計的基本邏輯閘與序向邏輯函數 計算機輔助設計(CAD) 這些數位邏輯並未經組織以執行任何特定的函數 設計者使用PLD發展軟體完成須要的邏輯 有兩種方式定義邏輯的組織 圖表(Schematic)與高階語言 高階語言即為硬體描述語言(HDL) / 1.5 可程式邏輯
可程式邏輯裝置 (續) 圖1.11 可程式邏輯裝置 的設計流程 / 1.5 可程式邏輯
可程式邏輯裝置 (續) 可程式邏輯的三種主要型式 SPLD(simple programmable logic device,簡單可程式邏輯裝置) CPLD(complex programmable logic device,複雜可程式邏輯裝置) FPGA(field-programmable gate array,場規劃閘陣列) / 1.5 可程式邏輯
1.5.2 SPLD SPLD是最基本與最便宜的可程式邏輯型式 包含一些可組態的邏輯閘、可規劃的連接點與記憶元件 典型的包裝是24至28隻接腳 為了使邏輯圖容易閱讀,通常會簡化接點表示 / 1.5 可程式邏輯
SPLD(續) 圖1.12 SPLD的簡 化接點表示 *內部接點的建立與否,能以PLD燒錄軟體決定 / 1.5 可程式邏輯
SPLD(續) SPLD依使用技術可分為 PLA(可程式邏輯陣列) PAL(可程式陣列邏輯) GAL(一般陣列邏輯) PROM(可程式唯讀記憶體) / 1.5 可程式邏輯
PLA結構 圖1.13 SPLD的PLA結構 *PLA能以電的方式重新燒錄,或是將裝置暴露在紫外線下恢愎其連接 / 1.5 可程式邏輯
PAL結構 圖1.14 SPLD的PAL結構 *PAL是最普遍使用一次可程式邏輯裝置,以雙載子TTL或ECL技術完成 / 1.5 可程式邏輯
GAL結構 圖1.15 SPLD的GAL結構 *GAL使用EECMOS(可電性抹除CMOS)技術 / 1.5 可程式邏輯
PROM結構 圖1.16 PROM的基本結構 *受到固定AND閘的限制,PROM 主要不是應用在邏輯裝置,而是應用在位址記憶體 / 1.5 可程式邏輯
1.5.3 CPLD PLD的技術限制 無法將PLD上基本的兩層次AND-OR結構調整到較大面積 大型的數位系統應用 CPLD比SPLD有較高的容量 可將較複雜的邏輯電路燒錄其中 / 1.5 可程式邏輯
CPLD (續) CPLD結構 由多個像PAL/GAL型式的SPLD陣列群組與可程式連結全部安裝在相同的晶片所組成 / 1.5 可程式邏輯 基本方塊圖 / 1.5 可程式邏輯
CPLD (續) 每個PAL/GAL群組稱為邏輯陣列方塊(LAB) 每個邏輯陣列方塊包含一些巨格(macrocell)的PAL/GAL陣列 CPLD與SPLD都是建立在SOP(積項之和)的結構上 / 1.5 可程式邏輯
CPLD (續) CPLD分類 依複雜的程度,包裝接腳約在44至160間 典型的巨格有 CPLD的結構會因不同的廠家而有所不同 通常在一個LAB內約有32至數百個巨格,且 都是建構在PAL/GAL SOP邏輯陣列的基礎 典型的巨格有 一個AND陣列 一個乘積項選擇矩陣 一個OR閘與 一個可程式暫存器段 / 1.5 可程式邏輯
CPLD(續) CPLD大多是使用EECMOS技術 建立巨格線與可程式連結陣列線間的連接 CPLD較著名的廠家有 將巨格線與可程式陣列線間的電晶體燒錄為導通狀態以形成連接,或是截止狀態而無連接 CPLD較著名的廠家有 Altera,Xilinx,Cypress與Lattice 較普遍使用的CPLD有 Altera公司的MAX 7000S系列 Xilinx公司的XC9500系列 都有非揮發性記憶體特性 / 1.5 可程式邏輯
1.5.4 FPGA FPGA(Field-Programmable Gate Array, 場規畫閘陣列) 與SPLD、CPLD在內部結構上是不相同的 FPGA包含較多數目且較小的個別邏輯方塊,並且提供一個大的分散型連接結構來控制整個晶片 FPGA使用查詢表(look-up table, LUT)解決特殊的邏輯要求 CPLD使用積項之和(SOP)的AND/OR陣列 / 1.5 可程式邏輯
FPGA與CPLD在晶片設計上的差異 圖1.19 FPGA與CPLD內部結構的基本設計方法 (b)FPGA (a)CPLD *LAB:邏輯陣列方塊 *LB:邏輯方塊 / 1.5 可程式邏輯
FPGA基本結構 FPGA內的邏輯方塊(LB)由數個邏輯元件(logic element, LE)所組成 FPGA內由基本邏輯方塊組成 包含可程式列與行連接 典型的邏輯元件使用查詢表(LUT)產生邏輯函數 查詢表為真值表 列出所有可能的輸入組合與想要的輸出響應 / 1.5 可程式邏輯
FPGA基本結構方塊圖 圖1.20 FPGA基本結構方塊圖 / 1.5 可程式邏輯
FPGA基本結構方塊圖(續) 圖1.21 FPGA內的基本邏輯方塊組成 / 1.5 可程式邏輯
FPGA晶片 常見的FPGA晶片 FPGA晶片有揮非性的缺點 FPGA有比CPLD較高數量的邏輯閘 Xilinx的XC4000系列與Altera的FLEX 10K系列 FPGA晶片有揮非性的缺點 因記憶體使用SRAM而有揮非性的缺點 從晶片移除電源後,會失去其邏輯程式 每次在系統電源重新開啟後, 必須將其邏輯程式載入晶片 / 1.5 可程式邏輯
1.5.6 晶片燒錄 圖1.22 應用PLD發展 軟體燒錄PLD的流程 / 1.5 可程式邏輯