數(shù)字系統(tǒng)設計與Verilog HDL(Vivado版)
定 價:59 元
- 作者:王金明
- 出版時間:2020/3/1
- ISBN:9787121384998
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP271;TN790.2
- 頁碼:368
- 紙張:
- 版次:01
- 開本:16開
本書根據(jù)EDA課程教學要求,以提高數(shù)字系統(tǒng)設計能力為目標,系統(tǒng)闡述FPGA數(shù)字開發(fā)的相關知識,主要內容包括EDA技術概述、FPGA/CPLD器件結構、Verilog硬件描述語言及設計案例等。全書以Vivado、ModelSim軟件為工具,以Verilog-1995和Verilog-2001語言標準為依據(jù),以可綜合的設計為重點,通過諸多精選設計案例,系統(tǒng)闡述數(shù)字系統(tǒng)設計方法與思想,由淺入深地介紹Verilog工程開發(fā)的手段與技能。
王金明,男,1972年5月出生,博士,現(xiàn)為解放軍陸軍工程大學副教授、碩士生導師。曾獲軍隊科技進步一等獎1項,軍隊科技進步二等獎3項,軍隊科技進步三等獎5項,獲軍隊級教學成果二等獎1項;獲國家發(fā)明專利授權2項,獲軟件著作授權1項;發(fā)表論文80余篇,其中SCI、EI收錄30余篇;主編教材多部,并入選"十一五”國家級規(guī)劃教材和"十二五”國家級規(guī)劃教材;2013年獲軍隊院校育才獎銀獎;2014年由國家留學基金委資助,在美國威斯康星大學麥迪遜分校訪問研究1年;指導本科生參加全國大學生電子設計競賽,共獲得全國一等獎8項。
第1章 EDA技術概述 1
1.1 EDA技術及其發(fā)展 1
1.2 Top-down設計與IP核復用 4
1.2.1 Top-down設計 4
1.2.2 Bottom-up設計 4
1.2.3 IP復用技術與SoC 5
1.3 數(shù)字設計的流程 6
1.3.1 設計輸入 7
1.3.2 綜合 7
1.3.3 布局布線 8
1.3.4 仿真 8
1.3.5 編程配置 9
1.4 常用的EDA工具軟件 9
1.5 EDA技術的發(fā)展趨勢 12
習題1 13
第2章 FPGA/CPLD器件 14
2.1 PLD器件概述 14
2.1.1 PLD器件的發(fā)展歷程 14
2.1.2 PLD器件的分類 15
2.2 PLD的基本原理與結構 17
2.2.1 PLD器件的基本結構 17
2.2.2 PLD電路的表示方法 18
2.3 低密度PLD的原理與結構 19
2.4 CPLD的原理與結構 23
2.4.1 宏單元結構 23
2.4.2 CPLD的結構 24
2.5 FPGA的原理與結構 26
2.5.1 查找表結構 26
2.5.2 FPGA的結構 29
2.6 FPGA/CPLD的編程元件 34
2.7 邊界掃描測試技術 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
習題2 44
第3章 Vivado使用指南 45
3.1 Vivado流水燈設計 45
3.1.1 流水燈設計輸入 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ù)器設計 70
3.4 Vivado的綜合策略與優(yōu)化設置 79
習題3 85
第4章 Verilog設計初步 86
4.1 Verilog的歷史 86
4.2 Verilog模塊的結構 87
4.3 Verilog基本組合電路設計 90
4.3.1 用Verilog設計表決電路 90
4.3.2 用Verilog設計加法器 91
4.4 Verilog基本時序電路設計 93
4.4.1 用Verilog設計觸發(fā)器 93
4.4.2 用Verilog設計計數(shù)器 94
習題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
習題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 任務與函數(shù) 135
6.7.1 任務(task) 135
6.7.2 函數(shù)(function) 137
6.8 順序執(zhí)行與并發(fā)執(zhí)行 140
6.9 Verilog-2001語言標準 142
6.9.1 Verilog-2001改進和增強的語法結構 142
6.9.2 屬性及PLI接口 150
習題6 153
第7章 Verilog設計的層次與風格 154
7.1 Verilog設計的層次 154
7.2 門級結構描述 154
7.2.1 Verilog門元件 155
7.2.2 門級結構描述 157
7.3 行為描述 158
7.4 數(shù)據(jù)流描述 159
7.5 不同描述風格的設計 160
7.5.1 半加器設計 160
7.5.2 1位全加器設計 161
7.5.3 加法器的級聯(lián) 163
7.6 多層次結構電路的設計 164
7.6.1 模塊例化 164
7.6.2 用parameter進行參數(shù)傳遞 165
7.6.3 用defparam進行參數(shù)重載 166
7.7 基本組合電路設計 167
7.8 基本時序電路設計 171
7.9 三態(tài)邏輯設計 174
習題7 176
第8章 Verilog有限狀態(tài)機設計 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)機設計要點 188
8.4.1 復位和起始狀態(tài)的選擇 188
8.4.2 多余狀態(tài)的處理 191
8.5 有限狀態(tài)機應用實例 192
8.5.1 用有限狀態(tài)機控制彩燈 192
8.5.2 用有限狀態(tài)機控制A/D采樣 194
習題8 195
第9章 Verilog驅動常用I/O外設 197
9.1 4×4矩陣鍵盤 197
9.2 數(shù)碼管 200
9.3 標準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
習題9 247
第10章 Verilog設計進階 249
10.1 設計的可綜合性 249
10.2 流水線設計技術 252
10.3 資源共享 255
10.4 阻塞賦值與非阻塞賦值 257
10.5 加法器設計 261
10.5.1 行波進位加法器 261
10.5.2 超前進位加法器 262
10.5.3 流水線加法器 266
10.6 乘法器設計 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
習題10 277
第11章 Verilog Test Bench仿真 278
11.1 系統(tǒng)任務與系統(tǒng)函數(shù) 278
11.2 用戶自定義元件 282
11.2.1 組合電路UDP元件 283
11.2.2 時序邏輯UDP元件 284
11.3 延時模型的表示 286
11.3.1 時間標尺定義`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
習題11 303
第12章 Verilog設計實例 304
12.1 脈寬調制與步進電機驅動 304
12.1.1 PWM信號 304
12.1.2 用PWM驅動蜂鳴器 305
12.1.3 用PWM驅動步進電機 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ù)轉換 340
12.6.1 7系列FPGA片內集成ADC概述 340
12.6.2 XADC的使用 342
習題12 354
附錄A EGO1開發(fā)板 355
附錄B Verilog HDL(IEEE Std 1364-1995)關鍵字 356
附錄C Verilog HDL(IEEE Std 1364-2001)關鍵字 357
參考文獻 358