《人工智慧硬體電路設計基礎及套用》是2022年電子工業出版社出版的圖書,作者是廖永波。
基本介紹
- 中文名:人工智慧硬體電路設計基礎及套用
- 作者:廖永波
- 出版時間:2022年3月
- 出版社:電子工業出版社
- 頁數:544 頁
- ISBN:9787121430350
- 類別:工業技術
- 定價:198 元
- 開本:128 開
- 裝幀:平裝
內容簡介,圖書目錄,作者簡介,
內容簡介
本書針對人工智慧硬體電路設計基礎、著重介紹硬體電路相關的設計知識及SoC設計開發過程中數字前端知識,包括VHDL技術、Verilog技術及HLS技術。同時將開發SoC中常用的模組作為套用實例進行詳細講解。VHDL技術部分詳細介紹了VHDL語言的背景知識、基本語法結構和VHDL代碼的編寫方法。另外,該部分還加入了基礎電路和簡單系統的設計實例,以及設計共享的內容,以便進行代碼的分割、共享和重用。Verilog技術部分詳細介紹了與VHDL技術部分相對應的內容,以便讀者對照學習。在此基礎上,本書還給出了一些套用實例,為讀者深入研究SoC設計開發提供了具體的系統電路設計和驗證結果。本書還在附錄詳細介紹了Xilinx和Altera FPGA軟體環境下的操作步驟,以及在遠程伺服器環境中使用以上環境的操作步驟。同時附上書中涉及的所有代碼,方便讀者進行復現和二次開發。
圖書目錄
第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語言規則 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 數據類型 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 函式 077
3.3.2 過程 080
3.4 課後習題 084
第4章 VHDL組合邏輯電路設計 085
4.1 4-16解碼器 085
4.2 具有三態輸出的8位4輸入復用器 089
4.3 16位桶形移位器 091
4.4 課後習題 096
第5章 VHDL時序邏輯電路設計 097
5.1 帶異步清零端的模10計數器 097
5.2 帶同步清零端的4位移位暫存器 099
5.3 多路輸出的時鐘分頻器 101
5.4 課後習題 104
第6章 VHDL狀態機設計 105
6.1 狀態機基本組成部分 106
6.2 狀態機設計實例 107
6.2.1 帶同步清零端和裝載端的模10計數器 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 數據類型定義 133
8.3 功能描述 133
8.3.1 連續賦值語句(assign) 133
8.3.2 過程(always) 133
8.3.3 元件例化 134
8.4 課後習題 134
第9章 Verilog語言規則 135
9.1 數字和字元串 135
9.1.1 數字 135
9.1.2 字元串 136
9.2 數據類型 137
9.2.1 取值集合 138
9.2.2 網路 138
9.2.3 變數 141
9.2.4 向量 143
9.2.5 強度 144
9.2.6 數組 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 連續賦值 156
10.1.2 過程賦值 157
10.1.3 過程性連續賦值 158
10.1.4 賦值對象 160
10.1.5 阻塞與非阻塞 161
10.2 if語句 162
10.3 case語句 163
10.4 循環語句 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 任務和函式的區別 179
10.8 課後習題 179
第11章 Verilog組合邏輯電路設計 180
11.1 4-16解碼器 180
11.2 具有三態輸出的8位4輸入復用器 183
11.3 16位桶形移位器 184
11.4 課後習題 189
第12章 Verilog時序邏輯電路設計 190
12.1 帶異步清零端的模10計數器 190
12.2 帶同步清零端的4位移位暫存器 192
12.3 多路輸出的時鐘分頻器 194
12.4 課後習題 196
第13章 Verilog狀態機設計 197
13.1 狀態機基本組成部分 198
13.2 狀態機設計實例 199
13.2.1 帶同步清零端和裝載端的模10計數器 199
13.2.2 帶異步復位端的序列檢測器 202
13.3 課後習題 204
第14章 Verilog設計實例 205
14.1 實例一(半加器) 205
14.2 實例二(4-2編碼器) 206
14.3 實例三(優先編碼器) 207
14.4 實例四(乘法器) 208
14.5 實例五(16位併入串出暫存器) 209
14.6 實例六(行波計數器構成的13倍分頻器) 211
14.7 實例七(LFSR構成的13倍分頻器) 213
14.8 實例八(交通信號燈) 214
14.9 實例九(字元序列檢測狀態機) 219
14.10 實例十(IIC協定-主機寫數據) 222
14.11 實例十一(IIC協定-主機讀數據) 226
14.12 實例十二(可綜合IIC協定讀寫功能實現) 230
14.13 實例十三(SPI協定) 239
第3部分 系統設計
第15章 HLS高層次綜合 246
15.1 實驗一創建HLS工程 250
15.1.1 步驟一:建立一個新的工程 250
15.1.2 步驟二:驗證C原始碼 256
15.1.3 步驟三:高層次綜合 258
15.1.4 步驟四:RTL驗證 260
15.1.5 步驟五:IP創建 260
15.2 實驗二使用TCL命令接口 261
15.2.1 步驟一創建TCL檔案 261
15.2.2 步驟二 執行TCL檔案 263
15.3 實驗三 使用Solution進行設計最佳化 264
15.3.1 步驟一 創建新的工程 264
15.3.2 步驟二最佳化I/O接口 265
15.3.3 步驟三 分析結果 269
15.3.4 步驟四 最佳化吞吐量(間隔) 270
第16章 MIPS架構處理器設計 273
16.1 總體結構設計 275
16.1.1 MIPS架構單周期處理器數據通路設計 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 指令執行階段電路設計 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 系統設計 320
18.2.3 數據量化 321
18.2.4 Soc_system連線圖 322
18.2.5 方案創新點及關鍵技術分析 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開發板調試 403
附錄D 正文中的程式代碼 417
作者簡介
廖永波,電子科技大學副教授。電子科技大學博士、本科,蘭州大學碩士。赴澳大利亞悉尼科技大學和昆士蘭科技大學、比利時IMEC、美國University of Kansas作訪問學者。擔任四川省電子學會副秘書長、四川省電子學會EDA專委會秘書長;擔任四川省科技廳評審專家、重慶市科技廳評審專家;擔任IEEE審稿人和多個國際會議分會主席。曾獲評2019年度中國電子學會先進工作者、第七屆大學生積體電路設計?套用創新大賽優秀指導老師獎、電子科技大學示範性微電子學院“積體電路工程項目實習實訓優秀校內指導老師”。長期從事SOC晶片、微處理器晶片、FPGA晶片、讀出電路晶片、溫度感測器晶片、電源管理晶片等晶片的研究;對晶片設計、生產、封裝和測試有豐富經驗;對片上系統、微處理器設計、軟硬體協同設計等有較深的理解。