人工智能硬件電路設計基礎及應用

廖永波

買這商品的人也買了...

商品描述

本書針對人工智能硬件電路設計基礎、著重介紹硬件電路相關的設計知識及SoC設計開發過程中數字前端知識,包括VHDL技術、Verilog技術及HLS技術。同時將開發SoC中常用的模塊作為應用實例進行詳細講解。VHDL技術部分詳細介紹了VHDL語言的背景知識、基本語法結構和VHDL代碼的編寫方法。另外,該部分還加入了基礎電路和簡單系統的設計實例,以及設計共享的內容,以便進行代碼的分割、共享和重用。Verilog技術部分詳細介紹了與VHDL技術部分相對應的內容,以便讀者對照學習。在此基礎上,本書還給出了一些應用實例,為讀者深入研究SoC設計開發提供了具體的系統電路設計和驗證結果。本書還在附錄詳細介紹了Xilinx和Altera FPGA軟件環境下的操作步驟,以及在遠程服務器環境中使用以上環境的操作步驟。同時附上書中涉及的所有代碼,方便讀者進行復現和二次開發。

目錄大綱

第部VHDL技術
第章VHDL程序的結構00
. 庫和包集00
.. 庫00
.. 包集00
.. 庫和包集的聲明008
. 實體、構造體和配置09
.. 實體00
.. 構造體0
.. 配置0
. 課後習題0
第章VHDL語言規則0
. 常量、信號和變量0
.. 常量0
.. 信號0
.. 信號賦值語句06
.. 變量08
.. 變量賦值語句08
..6 比較信號和變量00
. 數據類型00
.. 標量類型00
.. 複合類型0
.. 存取類型09
.. 文件類型0
.. 保護類型0
. 運算操作符和屬性0
.. 運算操作符0
.. 屬性0
.. 通用屬性0
. 課後習題0
第章VHDL主要描述語句0
. 順序語句0
.. if語句0
.. case語句06
.. 比較if語句和case語句07
.. wait語句0
.. loop語句
..6 null語句
. 並行語句
.. process語句
.. block語句7
.. generate語句9
.. component實例化語句07
. 子程序076
.. 函數077
.. 過程080
. 課後習題08
第章VHDL組合邏輯電路設計08
. -6碼器08
. 具有三態輸出的8位輸入復用器089
. 6位桶形移位器09
. 課後習題096
第章VHDL時序邏輯電路設計097
. 帶異步清零端的模0計數器097
. 帶同步清零端的位移位寄存器0
. 多路輸出的時鐘頻器0
. 課後習題0
第6章VHDL狀態機設計0
6. 狀態機基本組成部
6. 狀態機設計實例07
6.. 帶同步清零端和裝載端的模0計數器07
6.. 帶異步復位端的序列檢測器0
6. 課後習題
第7章VHDL設計實例
第部Verilog技術
第8章Verilog程序結構9
8. 模塊的端口定義和I/O說明
8.. 模塊端口的定義
8.. 輸入/輸出(I/O)說明
8. 數據類型定義
8. 功能描述
8.. 連續賦值語句(assign)
8.. 過程(always)
8.. 元件例化
8. 課後習題
第9章Verilog語言規則
9. 數字和字符串
9.. 數字
9.. 字符串6
9. 數據類型7
9.. 取值集合8
9.. 網絡8
9.. 變量
9.. 向量
9.. 強度
9..6 數組
9..7 常量
9..8 命名空間6
9. 運算符7
9.. 算術運算符9
9.. 邏輯運算符0
9.. 關係運算符0
9.. 相等運算符0
9.. 位運算符0
9..6 歸約運算符
9..7 移位運算符
9..8 條件運算符
9..9 連接與復制運算符
9. 屬性
9. 課後習題
第0章Verilog主要描述語句6
0. 賦值語句6
0.. 連續賦值6
0.. 過程賦值7
0.. 過程性連續賦值8
0.. 賦值對象60
0.. 阻塞與非阻塞6
0. if語句6
0. case語句6
0. 循環語句6
0. 時間控制66
0.. 延遲控制67
0.. 事件控制67
0.. 內部賦值定時控制69
0.6 塊70
0.6. 順序塊70
0.6. 並行塊7
0.7 結構化過程7
0.7. initial結構7
0.7. always結構7
0.7. task結構7
0.7. Function結構76
0.7. 任務和函數的區別79
0.8 課後習題79
第章Verilog組合邏輯電路設計80
. -6碼器80
. 具有三態輸出的8位輸入復用器8
. 6位桶形移位器8
. 課後習題89
第章Verilog時序邏輯電路設計90
. 帶異步清零端的模0計數器90
. 帶同步清零端的位移位寄存器9
. 多路輸出的時鐘頻器9
. 課後習題96
第章Verilog狀態機設計97
. 狀態機基本組成部98
. 狀態機設計實例
.. 帶同步清零端和裝載端的模0計數器
.. 帶異步復位端的序列檢測器0
. 課後習題0
第章Verilog設計實例0
. 實例(半加器) 0
. 實例二(-編碼器)
. 實例三(優先編碼器) 07
. 實例四(乘法器) 08
. 實例五(6位併入串出寄存器) 09
.6 實例六(行波計數器構成的倍頻器)
.7 實例七(LFSR構成的倍頻器)
.8 實例八(交通信號燈)
.9 實例九(字符序列檢測狀態機) 9
.0 實例十(IIC協議-主機寫數據)
. 實例十(IIC協議-主機讀數據) 6
. 實例十二(可綜合IIC協議讀寫功能實現) 0
. 實例十三(SPI協議) 9
第部系統設計
第章HLS高層次綜合6
. 實驗創建HLS工程0
.. 步驟建立個新的工程0
.. 步驟二驗證C源代碼6
.. 步驟三高層次綜合8
.. 步驟四RTL驗證60
.. 步驟五IP創建60
. 實驗二使用TCL命令接口6
.. 步驟創建TCL文件6
.. 步驟二執行TCL文件6
. 實驗三使用Solution進行設計優化6
.. 步驟創建新的工程6
.. 步驟二優化I/O接口6
.. 步驟三析結果69
.. 步驟四優化*高吞吐量(*低間隔) 70
第6章MIPS架構處理器設計7
6. 總體結構設計7
6.. MIPS架構單週期處理器數據通路設計76
6.. 接口定義和接口時序等80
6. MIPS架構單週期設計總體連接及仿真驗證8
6.. 驗證方案8
6.. 仿真結果及析8
6. 課後習題9
第7章RISC-V架構處理器設計96
7. RISC-V處理器設計97
7.. 整體處理器設計97
7.. 取指階段電路設計98
7.. 指令碼階段電路設計00
7.. 指令執行階段電路設計0
7.. 存儲器訪問階段電路設計0
7..6 寫回階段電路設計0
7..7 異常和中斷處理機制0
7..8 鄰接互連機制0
7..9 鄰接互連指令簡介
7..0 乘法過程簡介
7. 基於RISC-V的鄰接互連處理器仿真驗證08
7.. 仿真平台搭建08
7.. 仿真方案09
7.. 仿真結果及析
7. 課後習題6
第部基於人工智能的目標檢測
第8章基於FPGA CSoc的MobileNetV SSD目標檢測方案設計8
8. 背景介紹8
8.. SSD模型介紹8
8.. Paddle Lite簡介9
8. 方案介紹0
8.. 功能介紹0
8.. 系統設計0
8.. 數據量化
8.. Soc_system連接圖
8.. 方案創新點及關鍵技術析
8. 硬件加速器介紹及仿真
8.. 硬件加速器整體架構
8.. 卷積電路
8.. 硬件加速器波形抓取8
8. 整體加速結果析9
8.. 硬件加速器時序及資源報告9
8.. 加速結果對比與總結0
8. 課後習題
第部附錄
附錄A 在ISE設計組件下編寫VHDL項目的方法
附錄B 在Quartus設計組件下編寫VHDL項目的方法79
附錄C 人工智能邊緣實驗室-FPGA開發板調試0
附錄D 正文中的程序代碼7