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