內容簡介
《數字系統設計與VerilogHDL(第4版)》根據EDA課程教學要求,以提高數字設計能力為目的,系統闡述數字系統開發的相關知識,主要內容包括EDA技術、FPGA/CPLD器件、Verilog硬體描述語言等。全書以QuartusⅡ、SynplifyPro軟體為平台,以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復用技術與SoC5
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
習題115
第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.6 FPGA/CPLD的編程元件37
2.7 邊界掃描測試技術41
2.8 FPGA/CPLD的編程與配置43
2.8.1 在系統可程式43
2.8.2 CPLD器件的編程44
2.8.3 FPGA器件的配置44
2.9 FPGA/CPLD器件概述50
2.10 FPGA/CPLD的發展趨勢54
習題255
第3章 Quartus Ⅱ集成開發工具56
3.1 Quartus Ⅱ原理圖設計56
3.1.1 半加器原理圖設計輸入56
3.1.2 編譯與仿真60
3.1.3 1位全加器編譯與仿真64
3.2 Quartus Ⅱ的最佳化設定65
3.2.1 分析與綜合設定65
3.2.2 最佳化布局布線67
3.2.3 設計可靠性檢查72
3.3 Quartus Ⅱ的時序分析73
3.3.1 時序設定與分析73
3.3.2 時序逼近75
3.4 基於宏功能模組的設計77
3.4.1 乘法器模組77
3.4.2 除法器模組81
3.4.3 計數器模組83
3.4.4 常數模組85
3.4.5 鎖相環模組86
3.4.6 存儲器模組89
3.4.7 其他模組93
習題396
第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.5 Synplify Pro綜合器113
4.6 Synplify綜合器118
習題4120
第5章 Verilog語法與要素121
5.1 Verilog語言要素121
5.2 常量122
5.2.1 整數(Integer)122
5.2.2 實數(Real)124
5.2.3 字元串(Strings)124
5.3 數據類型125
5.3.1 net型125
5.3.2 variable型126
5.4 參數128
5.5 向量130
5.6 運算符132
習題5136
第6章 Verilog行為語句137
6.1 過程語句137
6.1.1 always過程語句138
6.1.2 initial過程語句141
6.2 塊語句142
6.2.1 串列塊begin-end142
6.2.2 並行塊fork-join143
6.3 賦值語句144
6.3.1 持續賦值與過程賦值144
6.3.2 阻塞賦值與非阻塞賦值145
6.4 條件語句146
6.4.1 if-else語句147
6.4.2 case語句148
6.5 循環語句152
6.5.1 for語句153
6.5.2 repeat、while、forever語句154
6.6 編譯指示語句156
6.7 任務與函式157
6.7.1 任務(task)157
6.7.2 函式(function)160
6.8 順序執行與並發執行163
習題6164
第7章 Verilog設計的層次與風格166
7.1 Verilog設計的層次166
7.2 門級結構描述166
7.2.1 Verilog HDL內置門元件167
7.2.2 門級結構描述169
7.3 行為描述170
7.4 數據流描述171
7.5 不同描述風格的設計172
7.5.1 半加器設計172
7.5.2 1位全加器設計173
7.5.3 4位加法器設計175
7.6 多層次結構電路的設計176
7.7 基本組合電路設計178
7.7.1 門電路178
7.7.2 編解碼器178
7.7.3 其他組合電路180
7.8 基本時序電路設計181
7.8.1 觸發器181
7.8.2 鎖存器與暫存器181
7.8.3 計數器與串並轉換器183
7.8.4 簡易微處理器184
7.9 三態邏輯設計186
7.10 RAM存儲器設計188
7.11 FIFO快取器設計190
7.11.1 用參數化模組庫定製FIFO191
7.11.2 用Verilog描述FIFO193
習題7194
第8章 Verilog有限狀態機設計195
8.1 有限狀態機195
8.2 有限狀態機的Verilog描述197
8.2.1 用三個過程進行描述198
8.2.2 用兩個過程描述199
8.2.3 單過程描述方式201
8.3 狀態編碼203
8.3.1 常用的編碼方式203
8.3.2 狀態編碼的定義207
8.4 有限狀態機設計要點209
8.4.1 復位和起始狀態的選擇209
8.4.2 多餘狀態的處理209
8.5 用狀態機設計流水燈211
8.6 狀態機A/D採樣控制電路212
習題8214
第9章 Verilog設計進階215
9.1 加法器設計215
9.1.1 級連加法器215
9.1.2 數據流描述的加法器216
9.1.3 超前進位加法器217
9.1.4 流水線加法器218
9.2 乘法器設計219
9.2.1 並行乘法器219
9.2.2 移位相加乘法器221
9.2.3 加法樹乘法器224
9.2.4 查找表乘法器225
9.3 乘累加器225
9.4 奇數分頻與小數分頻227
9.4.1 奇數分頻227
9.4.2 半整數分頻與小數分頻228
9.5 數字跑表231
9.6 實用多功能數字鐘234
9.7 字元液晶顯示控制243
9.7.1 字元液晶H1602B243
9.7.2 用狀態機實現字元顯示控制246
9.8 VGA圖像的顯示與控制250
9.8.1 DE2-70的VGA顯示電路250
9.8.2 VGA圖像顯示原理與時序251
9.8.3 VGA圖像顯示與控制的實現254
9.9 點陣式液晶顯示控制259
9.10 樂曲演奏電路264
9.11 異步串列接口(UART)設計270
9.11.1 UART傳輸協定270
9.11.2 UART接口設計271
習題9275
第10章 Verilog設計的最佳化278
10.1 設計的可綜合性278
10.2 流水線設計技術280
10.3 資源共享284
10.4 過程286
10.5 阻塞賦值與非阻塞賦值288
10.6 FPGA設計中毛刺的消除292
習題10294
第11章 Verilog仿真與驗證295
11.1 系統任務與系統函式295
11.2 用戶自定義元件299
11.2.1 組合電路UDP元件300
11.2.2 時序邏輯UDP元件302
11.3 延時模型的表示304
11.3.1 時間標尺定義`timescale304
11.3.2 延時的表示與延時說明塊305
11.4 測試平台306
11.5 ModelSim仿真實例309
11.5.1 圖形界面仿真方式310
11.5.2 命令行仿真方式314
11.6 數字電路的仿真315
11.6.1 組合電路的仿真315
11.6.2 時序電路的仿真317
習題11318
第12章 Verilog語言的發展319
12.1 Verilog-2001語法結構319
12.1.1 語法結構的擴展與增強319
12.1.2 設計管理325
12.1.3 系統任務和系統函式的擴展327
12.1.4 VCD檔案的擴展330
12.2 Verilog-2002語法結構331
12.2.1 硬體單元建模332
12.2.2 屬性335
12.2.3 程式語言接口339
習題12340
第13章 通信與信號處理設計實例341
13.1 m序列發生器341
13.1.1 m序列的原理與性質341
13.1.2 m序列產生器設計343
13.2 Gold碼345
13.2.1 Gold碼的原理與性質345
13.2.2 Gold碼產生器設計346
13.3 CRC校驗碼348
13.4 FSK解調350
13.5 數字過零檢測與等精度頻率測量352
13.5.1 數字過零檢測法353
13.5.2 等精度頻率測量354
13.6 QPSK調製器的FPGA實現357
13.7 FIR數字濾波器360
13.8 FPGA信號處理基礎及浮點計算實例364
13.8.1 定點數的表示法364
13.8.2 浮點數的表示法365
13.8.3 定點數到浮點數的格式轉換367
13.8.4 浮點數乘法369
13.8.5 浮點數加法372
13.8.6 浮點數除法375
習題13377
附錄A Verilog HDL(IEEE Std 1364-1995)關鍵字378
附錄B Verilog HDL(IEEE Std 1364-2001)關鍵字379
附錄C DE2系統介紹380
附錄D DE2-70系統介紹386
附錄E 有關術語與縮略語393
參考文獻398