書名 : verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 : ...

31
書書 : Verilog 書 書書書書書書書書 書書 : 書書書書 書書 : TB-027 書書 : 書書書

Upload: thea

Post on 23-Jan-2016

110 views

Category:

Documents


0 download

DESCRIPTION

書名 : Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 : TB-027 作者 : 鄭信源. 1.1 近代數位設計. 使用軟體工具完成設計 系統複雜化 使用軟體工具完成符合性能要求的設計元件與系統 從低層次的閘設計到 由高層次功能單元組成的元件. / 1.1 近代數位設計. 近代數位設計 ( 續 ). 硬體描述語言 (HDL) 數位硬體以類似軟體方式的文字描述來代表 使用電子設計自動化( EDA )軟體工具 執行合成與模擬 合成是將規格轉換為實際的設計實作 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

書名 : Verilog 硬體描述語言數位電路書局 : 儒林圖書書號 : TB-027作者 : 鄭信源

Page 2: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

1.1 近代數位設計• 使用軟體工具完成設計

– 系統複雜化 使用軟體工具完成符合性能要求的設計元件與系

統– 從低層次的閘設計到 由高層次功能單元組成的元件

/ 1.1 近代數位設計

Page 3: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

近代數位設計 ( 續 )

• 硬體描述語言 (HDL) 數位硬體以類似軟體方式的文字描述來代表

– 使用電子設計自動化( EDA )軟體工具 執行合成與模擬

• 合成是將規格轉換為實際的設計實作• 模擬是使規格或詳細的實作產生作用 以驗證是否正確的操作

– 合成與模擬 EDA 工具需使用圖形或文字的方式 將設計者的構想轉移到工具本身內

– 常見的 HDL 為 Verilog 與 VHDL

/ 1.1 近代數位設計

Page 4: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

近代數位設計 ( 續 )

• 設計高性能全客戶製作 (full-custom) IC 是 困難的工作

– 經常使用閘陣列建構半客戶製作 IC – 使用閘陣列的應用型積體電路( Application-Spe

cific Integrated Circuit , ASIC )設計• 可規劃邏輯 (Programmable Logic)

– 最早的可規劃邏輯裝置 (PLD) 是 可規劃邏輯陣列 (PLA)– 可規劃陣列邏輯 (PAL) 是延伸 PLA 的概念– 近年來的可規劃邏輯包括 CPLD 與 FPGA

/ 1.1 近代數位設計

Page 5: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

1.5 可程式邏輯1.5.1 基本概念1.5.2 SPLD

1.5.3 CPLD

1.5.4 FPGA

1.5.6 晶片燒錄

/ 1.5 可程式邏輯

Page 6: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

基本概念• 可程式邏輯概念

主要在完成所有 7400 或 4000 系列 IC 的邏輯設計

• 可程式邏輯裝置 (PLD) – 以燒錄使用者組態 IC 執行要求的特定邏輯操作– 這些 IC 稱為可程式邏輯裝置

/ 1.5 可程式邏輯

Page 7: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

基本概念 ( 續 )

• 可程式邏輯裝置包含可程式陣列– 可程式陣列是一個導體矩陣 在每個交接點使用可程式連接方式形成列與行– 基本的可程式陣列包含 OR 閘陣列與 AND 陣列– 利用可程式的方式獲得想要的邏輯函數 陣列以鎔化保險絲的方式刪除從輸出函數選擇

的變數• 只有想要的變數能經由完整的保險絲連接到閘輸入

/ 1.5 可程式邏輯

Page 8: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

可程式陣列 A B C D

Y1

Y2

Y3

Y4

/ 1.5 可程式邏輯

A B C D

Y1=A+B

Y2=A+C

Y3=B+D

Y4=C+D

(a) 未程式化       (b) 已程式化

圖 1.9 基本可程式 OR 陣列實例

Page 9: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

可程式陣列 ( 續 )

A B C D

Y1

Y2

Y3

Y4

/ 1.5 可程式邏輯

A B C D

Y1=AB

Y2=AC

Y3=BC

Y4=AD

(a) 未程式化       (b) 已程式化

圖 1.10 基本可程式 AND 陣列實例

Page 10: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

可程式邏輯裝置• 包裝內包含數以千計的基本邏輯閘與序向

邏輯函數這些數位邏輯並未經組織以執行任何特定的函數

• 計算機輔助設計 (CAD)– 設計者使用 PLD 發展軟體完成須要的邏輯– 有兩種方式定義邏輯的組織 圖表( Schematic )與高階語言

• 高階語言即為硬體描述語言( HDL )

/ 1.5 可程式邏輯

Page 11: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

可程式邏輯裝置 ( 續 )

圖 1.11 可程式邏輯裝置 的設計流程

/ 1.5 可程式邏輯

定義清楚待解決問題

發展方程式解決想要執行的邏輯操作

在PC內以描繪圖表或VHDL文字編輯做為設計輸入

使用波形分析工具模擬輸入 /輸出操作

將設計電路燒錄至 PLD以完成邏輯操作

檢查實際的輸入與輸出在 PLD的工作性能

Page 12: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

可程式邏輯裝置 ( 續 )

• 可程式邏輯的三種主要型式– SPLD ( simple programmable logic device ,

簡單可程式邏輯裝置)– CPLD ( complex programmable logic device ,

複雜可程式邏輯裝置)– FPGA ( field-programmable gate array ,場

規劃閘陣列)

/ 1.5 可程式邏輯

Page 13: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

1.5.2 SPLD

• SPLD 是最基本與最便宜的可程式邏輯型式 包含一些可組態的邏輯閘、可規劃的連接

點與記憶元件– SPLD 是最早使用的可程式邏輯型式– 典型的包裝是 24 至 28 隻接腳– 為了使邏輯圖容易閱讀,通常會簡化接點表示

/ 1.5 可程式邏輯

Page 14: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

SPLD( 續 )圖 1.12 SPLD 的簡 化接點表示

/ 1.5 可程式邏輯

A

B

乘積項

Y3=AB

Y2=AB

Y1=AB

Y0

A

=A

B

B* 內部接點的建立與否,能以 PLD 燒錄軟體決定

Page 15: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

SPLD( 續 )

• SPLD 依使用技術可分為– PLA (可程式邏輯陣列)– PAL (可程式陣列邏輯)– GAL (一般陣列邏輯)– PROM (可程式唯讀記憶體)

/ 1.5 可程式邏輯

Page 16: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

PLA 結構圖 1.13 SPLD

的 PLA 結構

/ 1.5 可程式邏輯

可程式AND連接

可程式OR連接

A

B

C

R S T U

B

B

C

C

A

A

Y1=ABC+AC+AC

Y2=BC+AC

Y3=ABC+BC+AC

*PLA 能以電的方式重新燒錄,或是將裝置暴露在紫外線下恢愎其連接

Page 17: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

PAL 結構 圖 1.14 SPLD 的 PAL 結構

/ 1.5 可程式邏輯

A

B

C

可程式AND連接

固定OR連接

Y1=ABC+ABC+ABC+ABC

*PAL 是最普遍使用一次可程式邏輯裝置,以雙載子 TTL 或 ECL 技術完成

Page 18: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

GAL 結構圖 1.15 SPLD 的 GAL 結構

/ 1.5 可程式邏輯

輸入

輸出

可重覆燒錄AND陣列

固定OR連 接結構與

可程式邏輯輸出

*GAL 使用 EECMOS (可電性抹除 CMOS )技術

Page 19: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

PROM 結構圖 1.16 PROM 的基本結構

/ 1.5 可程式邏輯

輸入

輸出固定不可

重覆燒錄AND陣列

可程式OR陣列

* 受到固定 AND 閘的限制, PROM 主要不是應用在邏輯裝置,而是應用在位址記憶體

Page 20: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

1.5.3 CPLD

• PLD 的技術限制 無法將 PLD 上基本的兩層次 AND-OR 結構

調整到較大面積– 大型的數位系統應用 必須增加積體電路的容量來設計較大的 PLD– 積體電路生產廠商另外推出 CPLD( 複雜 PLD)

結構,以獲得要求的型式– CPLD 比 SPLD 有較高的容量 可將較複雜的邏輯電路燒錄其中

/ 1.5 可程式邏輯

Page 21: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

CPLD ( 續 )• CPLD 結構

由多個像 PAL/GAL 型式的 SPLD 陣列群組與可程式連結全部安裝在相同的晶片所組成

/ 1.5 可程式邏輯

邏輯陣列方塊

I/O

邏輯陣列方塊

I/O

可程式連結陣列

邏輯陣列方塊

I/O

控制訊號

邏輯陣列方塊 邏輯陣列方塊 邏輯陣列方塊

I/O I/O I/O

圖 1.17 CPLD的 基本方塊圖

Page 22: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

CPLD ( 續 )

• 每個 PAL/GAL 群組稱為邏輯陣列方塊 (LAB)– 每個邏輯陣列方塊包含

一些巨格 (macrocell)的 PAL/GAL 陣列

– CPLD 與 SPLD都是建立在 SOP( 積項之和 )的結構上

/ 1.5 可程式邏輯

可程式連結陣列

I/O I/O I/O

(邏輯陣列方塊)巨格#1

巨格#2

巨格#3

圖 1.18 CPLD 內的基本邏輯陣列方塊

Page 23: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

CPLD ( 續 )

• CPLD 分類 依複雜的程度,包裝接腳約在 44 至 160間

– CPLD 的結構會因不同的廠家而有所不同 通常在一個 LAB 內約有 32 至數百個巨格,且 都是建構在 PAL/GAL SOP 邏輯陣列的基礎

• 典型的巨格有 一個 AND 陣列 一個乘積項選擇矩陣 一個 OR 閘與 一個可程式暫存器段

/ 1.5 可程式邏輯

Page 24: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

CPLD( 續 )

• CPLD 大多是使用 EECMOS 技術 建立巨格線與可程式連結陣列線間的連接

– 將巨格線與可程式陣列線間的電晶體燒錄為導通狀態以形成連接,或是截止狀態而無連接

• CPLD 較著名的廠家有 Altera , Xilinx , Cypress 與 Lattice– 較普遍使用的 CPLD 有

• Altera公司的 MAX 7000S 系列• Xilinx公司的 XC9500 系列

都有非揮發性記憶體特性 / 1.5 可程式邏輯

Page 25: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

1.5.4 FPGA

• FPGA ( Field-Programmable Gate Array, 場規畫閘陣列)

與 SPLD 、 CPLD 在內部結構上是不相同的– FPGA 包含較多數目且較小的個別邏輯方塊,並且提供一個大的分散型連接結構來控制整個晶片

• FPGA 使用查詢表( look-up table, LUT )解決特殊的邏輯要求– CPLD 使用積項之和( SOP )的 AND/OR 陣列

/ 1.5 可程式邏輯

Page 26: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

FPGA 與 CPLD 在晶片設計上的差異

圖 1.19 FPGA 與 CPLD 內部結構的基本設計方法

/ 1.5 可程式邏輯

LB

LB LB

LB

LB

LB

LB LB LB LB

LB

LB

LB

LB

LB

LB

LB

LB

LB

LB

LB LB LB

LB LB LB

LB LB

LB LB

可程式連接

*LAB:邏輯陣列方塊

(b)FPGA (a)CPLD

*LB:邏輯方塊

Page 27: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

FPGA 基本結構• FPGA 內的邏輯方塊 (LB) 由數個邏輯元件

(logic element, LE) 所組成– FPGA 內由基本邏輯方塊組成 包含可程式列與行連接– 典型的邏輯元件使用查詢表 (LUT) 產生邏輯函

數–查詢表為真值表 列出所有可能的輸入組合與想要的輸出響應

/ 1.5 可程式邏輯

Page 28: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

FPGA 基本結構方塊圖

/ 1.5 可程式邏輯

邏輯方塊

邏輯方塊

邏輯方塊

邏輯方塊

邏輯方塊

邏輯方塊

邏輯方塊

邏輯方塊

邏輯方塊

I/OI/OI/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O I/O I/O

圖 1.20 FPGA基本結構方塊圖

Page 29: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

FPGA 基本結構方塊圖 ( 續 )

/ 1.5 可程式邏輯

邏邏元件#1

邏輯元件#2

邏輯元件#3

邏輯元件#n

邏輯方塊

可程式列連接

可程式行連接

圖 1.21 FPGA 內的基本邏輯方塊組成

Page 30: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

FPGA 晶片• 常見的 FPGA 晶片

– FPGA 有比 CPLD 較高數量的邏輯閘– Xilinx 的 XC4000 系列與 Altera 的 FLEX 10K

系列• FPGA 晶片有揮非性的缺點

–因記憶體使用 SRAM而有揮非性的缺點• 從晶片移除電源後,會失去其邏輯程式

– 每次在系統電源重新開啟後, 必須將其邏輯程式載入晶片

/ 1.5 可程式邏輯

Page 31: 書名 :         Verilog 硬體描述語言數位電路 書局 : 儒林圖書 書號 :          TB-027 作者 : 鄭信源

1.5.6 晶片燒錄 圖 1.22 應用 PLD 發

展 軟體燒錄 PLD 的流

/ 1.5 可程式邏輯

設計邏輯電路

圖形編輯器 文字(VHDL)編輯器

編譯與測試(產生輸出檔)

/ 模擬輸入 輸出波形 下載至燒錄器或JTAG介面

計算機上顯示波形模擬器

燒錄邏輯檔至燒錄器或JTAG介面的目的晶片

設計輸入(產生輸入檔)

報告邏輯符號與VHDL元件庫