數字系統設計與Verilog HDL(第6版)

本書根據EDA課程教學要求,以提高數字設計能力為目的,系統闡述FPGA數字系統開發的相關知識,主要內容包括EDA技術概述、FPGA/CPLD器件、Verilog硬體描述語言等。

內容簡介

全書以Quartus Prime、Synplify Pro軟體為平台,以Verilog—1995和Verilog—2001語言標準為依據,以可綜合的設計為重點,通過大量經過驗證的數字設計實例,闡述數字系統設計的方法與技術,由淺入深地介紹Verilog工程開發的知識與技能。本書的特點是:著眼於實用,緊密聯繫教學實際,實例豐富。全書深入淺出,概念清晰,語言流暢

本書目錄

第1章 EDA技術概述 1

1.1 EDA技術及其發展 1

1.2 Top-down設計與IP核復用 4

1.2.1 Top-down設計 4

1.2.2 Bottom-up設計 5

1.2.3 IP復用技術與SoC 5

1.3 數字設計的流程 7

1.3.1 設計輸入 7

1.3.2 綜合 9

1.3.3 布局布線 9

1.3.4 仿真 10

1.3.5 編程配置 10

1.4 常用的EDA軟體工具 10

1.5 EDA技術的發展趨勢 14

習題1 15

第2章 FPGA/CPLD器件 16

2.1 PLD器件概述 16

2.1.1 PLD器件的發展歷程 16

2.1.2 PLD器件的分類 17

2.2 PLD的基本原理與結構 19

2.2.1 PLD器件的基本結構 19

2.2.2 PLD電路的表示方法 20

2.3 低密度PLD的原理與結構 21

2.4 CPLD的原理與結構 26

2.4.1 宏單元結構 26

2.4.2 典型CPLD的結構 27

2.5 FPGA的原理與結構 30

2.5.1 查找表結構 30

2.5.2 典型FPGA的結構 32

2.5.3 Cyclone IV器件結構 35

2.6 FPGA/CPLD的編程元件 38

2.7 邊界掃描測試技術 42

2.8 FPGA/CPLD的編程與配置 44

2.8.1 在系統可程式 44

2.8.2 FPGA器件的配置 45

2.8.3 Cyclone IV器件的編程 46

2.9 FPGA/CPLD器件概述 49

2.10 FPGA/CPLD的發展趨勢 52

習題2 53

第3章 Quartus Prime使用指南 54

3.1 Quartus Prime原理圖設計 55

3.1.1 半加器原理圖設計輸入 55

3.1.2 1位全加器設計輸入 60

3.1.3 1位全加器的編譯 61

3.1.4 1位全加器的仿真 63

3.1.5 1位全加器的下載 67

3.2 基於IP核的設計 71

3.2.1 模24方向可控計數器 71

3.2.2 4×4無符號數乘法器 78

3.3 SignalTap II的使用方法 84

3.4 Quartus Prime的最佳化設定與時序分析 88

習題3 93

實驗與設計 95

3-1 簡易數字鐘 95

3-2 m序列發生器 97

3-3 8位帶符號乘法器 97

3-4 用常量模組實現補碼轉換幅度碼電路 101

第4章 Verilog設計初步 102

4.1 Verilog簡介 102

4.2 Verilog模組的結構 103

4.3 Verilog基本組合電路設計 107

4.3.1 用Verilog設計基本組合電路 107

4.3.2 用Verilog設計加法器 107

4.4 Verilog基本時序電路設計 110

4.4.1 用Verilog設計觸發器 110

4.4.2 用Verilog設計計數器 111

習題4 113

實驗與設計 113

4-1 Synplify Pro綜合器的使用方法 113

4-2 Synplify綜合器的使用方法 117

第5章 Verilog語法與要素 119

5.1 Verilog語言要素 119

5.2 常量 120

5.2.1 整數(Integer) 120

5.2.2 實數(Real) 122

5.2.3 字元串(Strings) 122

5.3 數據類型 123

5.3.1 net型 123

5.3.2 variable型 124

5.4 參數 126

5.5 向量 128

5.6 運算符 130

習題5 134

實驗與設計 135

5-1 用altpll鎖相環宏模組實現倍頻和分頻 135

第6章 Verilog行為語句 140

6.1 過程語句 140

6.1.1 always過程語句 141

6.1.2 initial過程語句 144

6.2 塊語句 145

6.2.1 串列塊begin-end 145

6.2.2 並行塊fork-join 146

6.3 賦值語句 147

6.3.1 持續賦值與過程賦值 147

6.3.2 阻塞賦值與非阻塞賦值 148

6.4 條件語句 149

6.4.1 if-else語句 150

6.4.2 case語句 151

6.5 循環語句 155

6.5.1 for語句 156

6.5.2 repeat、while、forever語句 157

6.6 編譯指示語句 159

6.7 任務與函式 160

6.7.1 任務(task) 160

6.7.2 函式(function) 162

6.8 順序執行與並發執行 166

習題6 167

實驗與設計 167

6-1 4×4矩陣鍵盤檢測電路 167

第7章 Verilog設計的層次與風格 170

7.1 Verilog設計的層次 170

7.2 門級結構描述 170

7.2.1 Verilog HDL內置門元件 171

7.2.2 門級結構描述 173

7.3 行為描述 174

7.4 數據流描述 175

7.5 不同描述風格的設計 176

7.5.1 半加器設計 176

7.5.2 1位全加器設計 177

7.5.3 4位加法器設計 179

7.6 多層次結構電路的設計 179

7.7 基本組合電路設計 182

7.7.1 門電路 182

7.7.2 編解碼器 182

7.7.3 其他組合電路 184

7.8 基本時序電路設計 185

7.8.1 觸發器 185

7.8.2 鎖存器與暫存器 185

7.8.3 計數器與串並轉換器 187

7.8.4 簡易微處理器 188

7.9 三態邏輯設計 190

習題7 192

實驗與設計 192

7-1 數字表決器 192

7-2 FIFO快取器設計 195

第8章 Verilog有限狀態機設計 199

8.1 有限狀態機 199

8.2 有限狀態機的Verilog描述 201

8.2.1 用三個過程描述 202

8.2.2 用兩個過程描述 203

8.2.3 單過程描述方式 205

8.3 狀 態 編 碼 207

8.3.1 常用的編碼方式 207

8.3.2 狀態編碼的定義 211

8.4 有限狀態機設計要點 213

8.4.1 復位和起始狀態的選擇 213

8.4.2 多餘狀態的處理 213

習題8 215

實驗與設計 215

8-1 流水燈控制器 215

8-2 汽車尾燈控制器 217

8-3 狀態機A/D採樣控制電路 218

8-4 用狀態機實現字元液晶顯示控制 219

第9章 Verilog設計進階 226

9.1 加法器設計 226

9.1.1 級連加法器 226

9.1.2 數據流描述的加法器 227

9.1.3 超前進位加法器 228

9.1.4 流水線加法器 229

9.2 乘法器設計 230

9.2.1 並行乘法器 230

9.2.2 移位相加乘法器 232

9.2.3 布斯乘法器 234

9.2.4 查找表乘法器 237

9.3 奇數分頻與小數分頻 237

9.3.1 奇數分頻 237

9.3.2 半整數分頻與小數分頻 239

9.4 VGA圖像的顯示與控制 241

9.4.1 VGA圖像顯示原理與時序 241

9.4.2 VGA圖像顯示與控制的實現 244

9.5 點陣式液晶顯示控制 250

9.6 樂曲演奏電路 255

習題9 260

實驗與設計 262

9-1 數字跑表 262

9-2 實用多功能數字鐘 269

第10章 Verilog設計的最佳化 278

10.1 設計的可綜合性 278

10.2 流水線設計技術 280

10.3 資源共享 284

10.4 過程 286

10.5 阻塞賦值與非阻塞賦值 288

習題10 292

實驗與設計 292

10-1 小數分頻 292

10-2 如何在FPGA設計中消除毛刺 294

10-3 消抖動電路 297

第11章 Verilog Test Bench與仿真 298

11.1 系統任務與系統函式 298

11.2 用戶自定義元件 302

11.2.1 組合電路UDP元件 303

11.2.2 時序邏輯UDP元件 304

11.3 延時模型的表示 306

11.3.1 時間標尺定義`timescale 306

11.3.2 延時的表示與延時說明塊 307

11.4 Test Bench測試平台 308

11.5 組合和時序電路的仿真 310

11.5.1 組合電路的仿真 310

11.5.2 時序電路的仿真 312

習題11 313

實驗與設計 314

11-1 用ModelSim SE仿真8位二進制加法器 314

11-2 用ModelSim SE仿真乘累加器 322

第12章 Verilog語言的發展 324

12.1 Verilog—2001語法結構 324

12.1.1 語法結構的擴展與增強 324

12.1.2 設計管理 330

12.1.3 系統任務和系統函式的擴展 332

12.1.4 VCD檔案的擴展 335

12.2 Verilog—2002語法結構 336

12.2.1 硬體單元建模 337

12.2.2 屬性 340

12.2.3 程式語言接口 344

習題12 345

第13章 通信與信號處理設計實例 346

13.1 m序列發生器 346

13.1.1 m序列的原理與性質 346

13.1.2 m序列產生器設計 348

13.2 Gold碼 350

13.2.1 Gold碼的原理與性質 350

13.2.2 Gold碼產生器設計 351

13.3 CRC校驗碼 353

13.4 FSK解調 355

13.5 數字過零檢測與等精度頻率測量 358

13.5.1 數字過零檢測法 358

13.5.2 等精度頻率測量 359

13.6 QPSK調製器的FPGA實現 362

13.7 FIR數字濾波器 365

習題13 369

13-1 信號音產生器 369

13-2 異步串列接口(UART) 376

附錄A Verilog HDL(IEEE Std 1364—1995)關鍵字 382

附錄B Verilog HDL(IEEE Std 1364—2001)關鍵字 383

附錄C DE2—115介紹 384

附錄D 有關術語與縮略語 386

參考文獻 391

相關詞條

熱門詞條

聯絡我們