定 價:198 元
叢書名:英特爾FPGA中國創(chuàng)新中心系列叢書
- 作者:廖永波
- 出版時間:2022/3/1
- ISBN:9787121430350
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP18;TN702
- 頁碼:544
- 紙張:
- 版次:01
- 開本:16開
本書針對人工智能硬件電路設計基礎、著重介紹硬件電路相關的設計知識及SoC設計開發(fā)過程中數(shù)字前端知識,包括VHDL技術、Verilog技術及HLS技術。同時將開發(fā)SoC中常用的模塊作為應用實例進行詳細講解。VHDL技術部分詳細介紹了VHDL語言的背景知識、基本語法結構和VHDL代碼的編寫方法。另外,該部分還加入了基礎電路和簡單系統(tǒng)的設計實例,以及設計共享的內容,以便進行代碼的分割、共享和重用。Verilog技術部分詳細介紹了與VHDL技術部分相對應的內容,以便讀者對照學習。在此基礎上,本書還給出了一些應用實例,為讀者深入研究SoC設計開發(fā)提供了具體的系統(tǒng)電路設計和驗證結果。本書還在附錄詳細介紹了Xilinx和Altera FPGA軟件環(huán)境下的操作步驟,以及在遠程服務器環(huán)境中使用以上環(huán)境的操作步驟。同時附上書中涉及的所有代碼,方便讀者進行復現(xiàn)和二次開發(fā)。
廖永波,電子科技大學副教授。電子科技大學博士、本科,蘭州大學碩士。赴澳大利亞悉尼科技大學和昆士蘭科技大學、比利時IMEC、美國University of Kansas作訪問學者。擔任四川省電子學會副秘書長、四川省電子學會EDA專委會秘書長;擔任四川省科技廳評審專家、重慶市科技廳評審專家;擔任IEEE審稿人和多個國際會議分會主席。曾獲評2019年度中國電子學會先進工作者、第七屆大學生集成電路設計?應用創(chuàng)新大賽優(yōu)秀指導老師獎、電子科技大學示范性微電子學院"集成電路工程項目實習實訓優(yōu)秀校內指導老師”。長期從事SOC芯片、微處理器芯片、FPGA芯片、讀出電路芯片、溫度傳感器芯片、電源管理芯片等芯片的研究;對芯片設計、生產、封裝和測試有豐富經驗;對片上系統(tǒng)、微處理器設計、軟硬件協(xié)同設計等有較深的理解。
第1部分 VHDL技術
第1章 VHDL程序的結構 002
1.1 庫和包集 002
1.1.1 庫 002
1.1.2 包集 004
1.1.3 庫和包集的聲明 008
1.2 實體、構造體和配置 09
1.2.1 實體 010
1.2.2 構造體 011
1.2.3 配置 013
1.3 課后習題 013
第2章 VHDL語言規(guī)則 014
2.1 常量、信號和變量 015
2.1.1 常量 015
2.1.2 信號 015
2.1.3 信號賦值語句 016
2.1.4 變量 018
2.1.5 變量賦值語句 018
2.1.6 比較信號和變量 020
2.2 數(shù)據(jù)類型 020
2.2.1 標量類型 020
2.2.2 復合類型 025
2.2.3 存取類型 029
2.2.4 文件類型 032
2.2.5 保護類型 033
2.3 運算操作符和屬性 035
2.3.1 運算操作符 035
2.3.2 屬性 042
2.3.3 通用屬性 052
2.4 課后習題 053
第3章 VHDL主要描述語句 054
3.1 順序語句 054
3.1.1 if語句 054
3.1.2 case語句 056
3.1.3 比較if語句和case語句 057
3.1.4 wait語句 060
3.1.5 loop語句 061
3.1.6 null語句 064
3.2 并行語句 064
3.2.1 process語句 065
3.2.2 block語句 067
3.2.3 generate語句 069
3.2.4 component實例化語句 072
3.3 子程序 076
3.3.1 函數(shù) 077
3.3.2 過程 080
3.4 課后習題 084
第4章 VHDL組合邏輯電路設計 085
4.1 4-16譯碼器 085
4.2 具有三態(tài)輸出的8位4輸入復用器 089
4.3 16位桶形移位器 091
4.4 課后習題 096
第5章 VHDL時序邏輯電路設計 097
5.1 帶異步清零端的模10計數(shù)器 097
5.2 帶同步清零端的4位移位寄存器 099
5.3 多路輸出的時鐘分頻器 101
5.4 課后習題 104
第6章 VHDL狀態(tài)機設計 105
6.1 狀態(tài)機基本組成部分 106
6.2 狀態(tài)機設計實例 107
6.2.1 帶同步清零端和裝載端的模10計數(shù)器 107
6.2.2 帶異步復位端的序列檢測器 110
6.3 課后習題 112
第7章 VHDL設計實例 113
第2部分 Verilog技術
第8章 Verilog程序結構 129
8.1 模塊的端口定義和I/O說明 131
8.1.1 模塊端口的定義 131
8.1.2 輸入/輸出(I/O)說明 132
8.2 數(shù)據(jù)類型定義 133
8.3 功能描述 133
8.3.1 連續(xù)賦值語句(assign) 133
8.3.2 過程(always) 133
8.3.3 元件例化 134
8.4 課后習題 134
第9章 Verilog語言規(guī)則 135
9.1 數(shù)字和字符串 135
9.1.1 數(shù)字 135
9.1.2 字符串 136
9.2 數(shù)據(jù)類型 137
9.2.1 取值集合 138
9.2.2 網絡 138
9.2.3 變量 141
9.2.4 向量 143
9.2.5 強度 144
9.2.6 數(shù)組 144
9.2.7 常量 145
9.2.8 命名空間 146
9.3 運算符 147
9.3.1 算術運算符 149
9.3.2 邏輯運算符 150
9.3.3 關系運算符 150
9.3.4 相等運算符 150
9.3.5 位運算符 150
9.3.6 歸約運算符 152
9.3.7 移位運算符 152
9.3.8 條件運算符 153
9.3.9 連接與復制運算符 153
9.4 屬性 153
9.5 課后習題 155
第10章 Verilog主要描述語句 156
10.1 賦值語句 156
10.1.1 連續(xù)賦值 156
10.1.2 過程賦值 157
10.1.3 過程性連續(xù)賦值 158
10.1.4 賦值對象 160
10.1.5 阻塞與非阻塞 161
10.2 if語句 162
10.3 case語句 163
10.4 循環(huán)語句 165
10.5 時間控制 166
10.5.1 延遲控制 167
10.5.2 事件控制 167
10.5.3 內部賦值定時控制 169
10.6 塊 170
10.6.1 順序塊 170
10.6.2 并行塊 171
10.7 結構化過程 172
10.7.1 initial結構 172
10.7.2 always結構 173
10.7.3 task結構 173
10.7.4 Function結構 176
10.7.5 任務和函數(shù)的區(qū)別 179
10.8 課后習題 179
第11章 Verilog組合邏輯電路設計 180
11.1 4-16譯碼器 180
11.2 具有三態(tài)輸出的8位4輸入復用器 183
11.3 16位桶形移位器 184
11.4 課后習題 189
第12章 Verilog時序邏輯電路設計 190
12.1 帶異步清零端的模10計數(shù)器 190
12.2 帶同步清零端的4位移位寄存器 192
12.3 多路輸出的時鐘分頻器 194
12.4 課后習題 196
第13章 Verilog狀態(tài)機設計 197
13.1 狀態(tài)機基本組成部分 198
13.2 狀態(tài)機設計實例 199
13.2.1 帶同步清零端和裝載端的模10計數(shù)器 199
13.2.2 帶異步復位端的序列檢測器 202
13.3 課后習題 204
第14章 Verilog設計實例 205
14.1 實例一(半加器) 205
14.2 實例二(4-2編碼器) 206
14.3 實例三(優(yōu)先編碼器) 207
14.4 實例四(乘法器) 208
14.5 實例五(16位并入串出寄存器) 209
14.6 實例六(行波計數(shù)器構成的13倍分頻器) 211
14.7 實例七(LFSR構成的13倍分頻器) 213
14.8 實例八(交通信號燈) 214
14.9 實例九(字符序列檢測狀態(tài)機) 219
14.10 實例十(IIC協(xié)議-主機寫數(shù)據(jù)) 222
14.11 實例十一(IIC協(xié)議-主機讀數(shù)據(jù)) 226
14.12 實例十二(可綜合IIC協(xié)議讀寫功能實現(xiàn)) 230
14.13 實例十三(SPI協(xié)議) 239
第3部分 系統(tǒng)設計
第15章 HLS高層次綜合 246
15.1 實驗一創(chuàng)建HLS工程 250
15.1.1 步驟一:建立一個新的工程 250
15.1.2 步驟二:驗證C源代碼 256
15.1.3 步驟三:高層次綜合 258
15.1.4 步驟四:RTL驗證 260
15.1.5 步驟五:IP創(chuàng)建 260
15.2 實驗二使用TCL命令接口 261
15.2.1 步驟一創(chuàng)建TCL文件 261
15.2.2 步驟二 執(zhí)行TCL文件 263
15.3 實驗三 使用Solution進行設計優(yōu)化 264
15.3.1 步驟一 創(chuàng)建新的工程 264
15.3.2 步驟二優(yōu)化I/O接口 265
15.3.3 步驟三 分析結果 269
15.3.4 步驟四 優(yōu)化最高吞吐量(最低間隔) 270
第16章 MIPS架構處理器設計 273
16.1 總體結構設計 275
16.1.1 MIPS架構單周期處理器數(shù)據(jù)通路設計 276
16.1.2 接口定義和接口時序等 280
16.2 MIPS架構單周期設計總體連接及仿真驗證 282
16.2.1 驗證方案 282
16.2.2 仿真結果及分析 284
16.3 課后習題 295
第17章 RISC-V架構處理器設計 296
17.1 RISC-V處理器設計 297
17.1.1 整體處理器設計 297
17.1.2 取指階段電路設計 298
17.1.3 指令譯碼階段電路設計 300
17.1.4 指令執(zhí)行階段電路設計 301
17.1.5 存儲器訪問階段電路設計 302
17.1.6 寫回階段電路設計 303
17.1.7 異常和中斷處理機制 303
17.1.8 鄰接互連機制 305
17.1.9 鄰接互連指令簡介 306
17.1.10 乘法過程簡介 306
17.2 基于RISC-V的鄰接互連處理器仿真驗證 308
17.2.1 仿真平臺搭建 308
17.2.2 仿真方案 309
17.2.3 仿真結果及分析 313
17.3 課后習題 316
第4部分 基于人工智能的目標檢測
第18章 基于FPGA C5Soc的MobileNetV1 SSD目標檢測方案設計 318
18.1 背景介紹 318
18.1.1 SSD模型介紹 318
18.1.2 Paddle Lite簡介 319
18.2 方案介紹 320
18.2.1 功能介紹 320
18.2.2 系統(tǒng)設計 320
18.2.3 數(shù)據(jù)量化 321
18.2.4 Soc_system連接圖 322
18.2.5 方案創(chuàng)新點及關鍵技術分析 322
18.3 硬件加速器介紹及仿真 323
18.3.1 硬件加速器整體架構 323
18.3.2 卷積電路 324
18.3.3 硬件加速器波形抓取 328
18.4 整體加速結果分析 329
18.4.1 硬件加速器時序及資源報告 329
18.4.2 加速結果對比與總結 330
18.5 課后習題 332
第5部分 附錄
附錄A 在ISE設計組件下編寫VHDL項目的方法 334
附錄B 在Quartus設計組件下編寫VHDL項目的方法 379
附錄C 人工智能邊緣實驗室-FPGA開發(fā)板調試 403
附錄D 正文中的程序代碼 417