數(shù)字系統(tǒng)設(shè)計與Verilog HDL(Vivado版)
定 價:59 元
- 作者:王金明
- 出版時間:2020/3/1
- ISBN:9787121384998
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP271;TN790.2
- 頁碼:368
- 紙張:
- 版次:01
- 開本:16開
本書根據(jù)EDA課程教學(xué)要求,以提高數(shù)字系統(tǒng)設(shè)計能力為目標(biāo),系統(tǒng)闡述FPGA數(shù)字開發(fā)的相關(guān)知識,主要內(nèi)容包括EDA技術(shù)概述、FPGA/CPLD器件結(jié)構(gòu)、Verilog硬件描述語言及設(shè)計案例等。全書以Vivado、ModelSim軟件為工具,以Verilog-1995和Verilog-2001語言標(biāo)準(zhǔn)為依據(jù),以可綜合的設(shè)計為重點,通過諸多精選設(shè)計案例,系統(tǒng)闡述數(shù)字系統(tǒng)設(shè)計方法與思想,由淺入深地介紹Verilog工程開發(fā)的手段與技能。
王金明,男,1972年5月出生,博士,現(xiàn)為解放軍陸軍工程大學(xué)副教授、碩士生導(dǎo)師。曾獲軍隊科技進步一等獎1項,軍隊科技進步二等獎3項,軍隊科技進步三等獎5項,獲軍隊級教學(xué)成果二等獎1項;獲國家發(fā)明專利授權(quán)2項,獲軟件著作授權(quán)1項;發(fā)表論文80余篇,其中SCI、EI收錄30余篇;主編教材多部,并入選"十一五”國家級規(guī)劃教材和"十二五”國家級規(guī)劃教材;2013年獲軍隊院校育才獎銀獎;2014年由國家留學(xué)基金委資助,在美國威斯康星大學(xué)麥迪遜分校訪問研究1年;指導(dǎo)本科生參加全國大學(xué)生電子設(shè)計競賽,共獲得全國一等獎8項。
第1章 EDA技術(shù)概述 1
1.1 EDA技術(shù)及其發(fā)展 1
1.2 Top-down設(shè)計與IP核復(fù)用 4
1.2.1 Top-down設(shè)計 4
1.2.2 Bottom-up設(shè)計 4
1.2.3 IP復(fù)用技術(shù)與SoC 5
1.3 數(shù)字設(shè)計的流程 6
1.3.1 設(shè)計輸入 7
1.3.2 綜合 7
1.3.3 布局布線 8
1.3.4 仿真 8
1.3.5 編程配置 9
1.4 常用的EDA工具軟件 9
1.5 EDA技術(shù)的發(fā)展趨勢 12
習(xí)題1 13
第2章 FPGA/CPLD器件 14
2.1 PLD器件概述 14
2.1.1 PLD器件的發(fā)展歷程 14
2.1.2 PLD器件的分類 15
2.2 PLD的基本原理與結(jié)構(gòu) 17
2.2.1 PLD器件的基本結(jié)構(gòu) 17
2.2.2 PLD電路的表示方法 18
2.3 低密度PLD的原理與結(jié)構(gòu) 19
2.4 CPLD的原理與結(jié)構(gòu) 23
2.4.1 宏單元結(jié)構(gòu) 23
2.4.2 CPLD的結(jié)構(gòu) 24
2.5 FPGA的原理與結(jié)構(gòu) 26
2.5.1 查找表結(jié)構(gòu) 26
2.5.2 FPGA的結(jié)構(gòu) 29
2.6 FPGA/CPLD的編程元件 34
2.7 邊界掃描測試技術(shù) 37
2.8 FPGA/CPLD的編程與配置 39
2.8.1 在系統(tǒng)可編程 39
2.8.2 Artix-7器件的配置 40
2.9 Xilinx的FPGA器件 42
2.10 FPGA/CPLD的發(fā)展趨勢 43
習(xí)題2 44
第3章 Vivado使用指南 45
3.1 Vivado流水燈設(shè)計 45
3.1.1 流水燈設(shè)計輸入 45
3.1.2 行為仿真 52
3.1.3 綜合與引腳的約束 55
3.1.4 生成比特流文件并下載 58
3.1.5 將配置數(shù)據(jù)燒寫至Flash中 59
3.2 IP核的創(chuàng)建和封裝 62
3.3 基于IP集成的計數(shù)器設(shè)計 70
3.4 Vivado的綜合策略與優(yōu)化設(shè)置 79
習(xí)題3 85
第4章 Verilog設(shè)計初步 86
4.1 Verilog的歷史 86
4.2 Verilog模塊的結(jié)構(gòu) 87
4.3 Verilog基本組合電路設(shè)計 90
4.3.1 用Verilog設(shè)計表決電路 90
4.3.2 用Verilog設(shè)計加法器 91
4.4 Verilog基本時序電路設(shè)計 93
4.4.1 用Verilog設(shè)計觸發(fā)器 93
4.4.2 用Verilog設(shè)計計數(shù)器 94
習(xí)題4 96
第5章 Verilog語言要素 97
5.1 概述 97
5.2 常量 98
5.2.1 整數(shù)(Integer) 98
5.2.2 實數(shù)(Real) 100
5.2.3 字符串(String) 100
5.3 數(shù)據(jù)類型 101
5.3.1 net型 102
5.3.2 variable型 103
5.4 參數(shù) 104
5.4.1 參數(shù)parameter 104
5.4.2 Verilog-2001中的參數(shù)聲明 105
5.4.3 參數(shù)的傳遞 106
5.4.4 localparam 106
5.5 向量 107
5.6 運算符 109
習(xí)題5 113
第6章 Verilog語句語法 115
6.1 過程語句 115
6.1.1 always過程語句 116
6.1.2 initial過程語句 119
6.2 塊語句 120
6.2.1 串行塊begin-end 120
6.2.2 并行塊fork-join 121
6.3 賦值語句 122
6.3.1 持續(xù)賦值與過程賦值 122
6.3.2 阻塞賦值與非阻塞賦值 123
6.4 條件語句 125
6.4.1 if-else語句 125
6.4.2 case語句 126
6.5 循環(huán)語句 130
6.5.1 for語句 131
6.5.2 repeat、while、forever語句 132
6.6 編譯指示語句 133
6.7 任務(wù)與函數(shù) 135
6.7.1 任務(wù)(task) 135
6.7.2 函數(shù)(function) 137
6.8 順序執(zhí)行與并發(fā)執(zhí)行 140
6.9 Verilog-2001語言標(biāo)準(zhǔn) 142
6.9.1 Verilog-2001改進和增強的語法結(jié)構(gòu) 142
6.9.2 屬性及PLI接口 150
習(xí)題6 153
第7章 Verilog設(shè)計的層次與風(fēng)格 154
7.1 Verilog設(shè)計的層次 154
7.2 門級結(jié)構(gòu)描述 154
7.2.1 Verilog門元件 155
7.2.2 門級結(jié)構(gòu)描述 157
7.3 行為描述 158
7.4 數(shù)據(jù)流描述 159
7.5 不同描述風(fēng)格的設(shè)計 160
7.5.1 半加器設(shè)計 160
7.5.2 1位全加器設(shè)計 161
7.5.3 加法器的級聯(lián) 163
7.6 多層次結(jié)構(gòu)電路的設(shè)計 164
7.6.1 模塊例化 164
7.6.2 用parameter進行參數(shù)傳遞 165
7.6.3 用defparam進行參數(shù)重載 166
7.7 基本組合電路設(shè)計 167
7.8 基本時序電路設(shè)計 171
7.9 三態(tài)邏輯設(shè)計 174
習(xí)題7 176
第8章 Verilog有限狀態(tài)機設(shè)計 177
8.1 有限狀態(tài)機 177
8.2 有限狀態(tài)機的Verilog描述 179
8.2.1 用三個always塊描述 180
8.2.2 用兩個過程描述 181
8.2.3 單過程描述方式 182
8.3 狀態(tài)編碼 183
8.3.1 常用的編碼方式 183
8.3.2 狀態(tài)編碼的定義 185
8.4 有限狀態(tài)機設(shè)計要點 188
8.4.1 復(fù)位和起始狀態(tài)的選擇 188
8.4.2 多余狀態(tài)的處理 191
8.5 有限狀態(tài)機應(yīng)用實例 192
8.5.1 用有限狀態(tài)機控制彩燈 192
8.5.2 用有限狀態(tài)機控制A/D采樣 194
習(xí)題8 195
第9章 Verilog驅(qū)動常用I/O外設(shè) 197
9.1 4×4矩陣鍵盤 197
9.2 數(shù)碼管 200
9.3 標(biāo)準(zhǔn)PS/2鍵盤 202
9.4 字符液晶 210
9.5 漢字圖形點陣液晶 218
9.6 VGA顯示器 224
9.6.1 VGA顯示原理與時序 224
9.6.2 VGA彩條信號發(fā)生器 226
9.6.3 VGA圖像顯示與控制 232
9.7 樂曲演奏電路 239
習(xí)題9 247
第10章 Verilog設(shè)計進階 249
10.1 設(shè)計的可綜合性 249
10.2 流水線設(shè)計技術(shù) 252
10.3 資源共享 255
10.4 阻塞賦值與非阻塞賦值 257
10.5 加法器設(shè)計 261
10.5.1 行波進位加法器 261
10.5.2 超前進位加法器 262
10.5.3 流水線加法器 266
10.6 乘法器設(shè)計 266
10.6.1 并行乘法器 267
10.6.2 布斯乘法器 267
10.6.3 查找表乘法器 270
10.7 奇數(shù)分頻與小數(shù)分頻 271
10.7.1 奇數(shù)分頻 271
10.7.2 半整數(shù)分頻 272
10.7.3 小數(shù)分頻 273
習(xí)題10 277
第11章 Verilog Test Bench仿真 278
11.1 系統(tǒng)任務(wù)與系統(tǒng)函數(shù) 278
11.2 用戶自定義元件 282
11.2.1 組合電路UDP元件 283
11.2.2 時序邏輯UDP元件 284
11.3 延時模型的表示 286
11.3.1 時間標(biāo)尺定義`timescale 286
11.3.2 延時的表示與延時說明塊 287
11.4 Test Bench測試平臺 288
11.5 組合和時序電路的仿真 291
11.5.1 組合電路的仿真 291
11.5.2 時序電路的仿真 293
11.6 ModelSim SE仿真實例 294
11.6.1 圖形界面進行功能仿真 295
11.6.2 命令行方式進行功能仿真 298
11.6.3 時序仿真 300
習(xí)題11 303
第12章 Verilog設(shè)計實例 304
12.1 脈寬調(diào)制與步進電機驅(qū)動 304
12.1.1 PWM信號 304
12.1.2 用PWM驅(qū)動蜂鳴器 305
12.1.3 用PWM驅(qū)動步進電機 310
12.2 超聲波測距 314
12.3 整數(shù)開方運算 319
12.4 頻率測量 324
12.5 Cordic算法及其實現(xiàn) 330
12.5.1 Cordic算法原理 330
12.5.2 Cordic算法的實現(xiàn) 333
12.6 用XADC實現(xiàn)模數(shù)轉(zhuǎn)換 340
12.6.1 7系列FPGA片內(nèi)集成ADC概述 340
12.6.2 XADC的使用 342
習(xí)題12 354
附錄A EGO1開發(fā)板 355
附錄B Verilog HDL(IEEE Std 1364-1995)關(guān)鍵字 356
附錄C Verilog HDL(IEEE Std 1364-2001)關(guān)鍵字 357
參考文獻 358