發表於2024-12-14
數字係統設計與Verilog HDL(第6版) pdf epub mobi txt 電子書 下載
本書根據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
實驗與設計 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
第6版前言
本書在第5版的基礎上主要做瞭如下修訂:
(1)將設計工具從Quartus II 9.0升級為Quartus Prime 16.0。從Quartus II 10.0開始,Quartus II軟件取消瞭自帶的波形仿真工具,轉而采用專業第三方仿真工具ModelSim進行仿真;Quartus II 13.1之後Quartus II隻支持64位操作係統(Windows 7,8,10);從Quartus II 15.1開始Quartus II開發工具改稱Quartus Prime;2016年5月Altera發布瞭Quartus Prime 16.0版本。Quartus Prime 16.0相比Quartus II 9.0,支持的器件更新,自帶的免費IP更多,編譯速度更快,支持System Verilog—2005和VHDL—2008,作為設計者我們應該積極地適應EDA設計工具的這種變化,並盡可能采用新版本。
(2)將實驗闆從DE2、DE2—70升級為DE2—115。從Quartus II 13.1版本開始,Quartus II軟件已不再支持Cyclone I和Cyclone II器件(Cyclone I和Cyclone II業已停産),所以基於Cyclone II器件的DE2和DE2—70實驗闆,用Quartus II 13.1版本後的Quartus II已不能下載。DE2—115實驗闆基於Cyclone IV FPGA器件(EP4CE115F29),器件新,資源更豐富,同時,在外設和使用習慣等方麵與DE2—70基本保持一緻,所以本書將針對的實驗闆改為DE2—115。
(3)更新瞭有關ModelSim仿真的內容。本書介紹瞭兩個版本的ModelSim的使用方法,一個是Altera的OEM版本ModelSim-Altera;同時在第11章中詳細介紹瞭ModelSim SE進行功能和時序仿真的過程,ModelSim SE的功能更強更全麵一些。
(4)更新瞭部分有關FPGA器件結構的內容,使之盡量反映FPGA器件的發展。
(5)更新和修正瞭設計案例,將設計案例基於DE2—115實驗闆重新做瞭修改和驗證。
由於FPGA芯片和EDA軟件的不斷更新換代,同時因作者時間和精力所限,本書雖經不斷改版和修正,仍不免有諸多疏漏和遺憾,一些案例也有繼續發揮和改進的空間,同時一些新的例程限於篇幅未能在書中得到反映。基於本教材的慕課(MOOC)教學資源建設正在實施中,建成後將會在華信教育網推齣。本書與作者的另一拙作《數字係統設計與VHDL》(即將修訂改版)互為補充,前者以Verilog語言開發為主,後者則以VHDL語言的設計為重點。
感謝友晶科技的彭顯恩經理和尹作娟女士,鑫閤欣的王婷女士在本書寫作過程中給予作者的大力支持;感謝美國威斯康星大學麥迪遜分校的Yu Hen Hu教授在作者訪學期間在學術上和教學上給予作者的無私幫助與支持;感謝本書責任編輯竇昊先生與作者多年的鼎力閤作。
本書疏漏與錯誤之處,希望讀者和同行給予批評指正。
編著者
2016年8月於解放軍理工大學
不錯的一本書
評分不錯的一本書
評分不錯的一本書
評分不錯的一本書
評分不錯的一本書
評分不錯的一本書
評分不錯的一本書
評分不錯的一本書
評分不錯的一本書
數字係統設計與Verilog HDL(第6版) pdf epub mobi txt 電子書 下載