本書主要介紹人工智能芯片設計相關的知識,包括作為人工智能芯片設計基礎的數(shù)字集成電路電路設計知識和數(shù)字集成電路系統(tǒng)設計知識,進而分析人工智能芯片設計面臨的挑戰(zhàn),由此引出本書的重點:人工智能芯片的數(shù)據(jù)流設計和架構設計,包括了塊浮點數(shù)設計、卷積神經(jīng)網(wǎng)絡數(shù)據(jù)量化算法、稀疏化算法、加速器系統(tǒng)控制策略、卷積層加速器設計、全連接層加速器設計等前沿技術。本書在幫助讀者獲得對人工智能芯片設計全面理解的基礎上,使讀者也能更好地把握人工智能芯片設計的重點和方向,為讀者在此領域進一步研究和開發(fā)打下堅實的基礎。 本書可作為普通高等學校電子信息類專業(yè)、人工智能專業(yè)、計算機類專業(yè)本科生的教材,也可作為從事人工智能芯片設計的工程技術人員的參考書。
周巍,西北工業(yè)大學教授。主持多項國家級項目和省部級項目,出版多本教材和專著,著作方向:電子信息、人工智能等。
目 錄
第1章 導論 1
1.1 半導體芯片技術概論 1
1.2 集成半導體器件技術 5
1.3 工藝技術與設計規(guī)則 8
1.3.1 簡介 8
1.3.2 CMOS工藝 8
1.3.3 設計規(guī)則 10
習題 13
第2章 數(shù)字集成電路設計 14
2.1 CMOS電路設計 14
2.1.1 CMOS反相器設計 14
2.1.2 CMOS組合邏輯電路設計 15
2.2 時序電路設計 17
2.2.1 概述 17
2.2.2 靜態(tài)元件 20
2.2.3 動態(tài)元件 24
習題 28
第3章 數(shù)字集成電路系統(tǒng)設計 29
3.1 數(shù)字芯片設計策略 29
3.1.1 引言 29
3.1.2 數(shù)字芯片設計的基本策略 30
3.1.3 數(shù)字芯片設計的流程 30
3.1.4 數(shù)字芯片設計的優(yōu)化技術 31
3.1.5 數(shù)字芯片設計的發(fā)展趨勢 32
3.2 互連線設計 33
3.2.1 互連線設計概述 33
3.2.2 互連參數(shù) 34
3.2.3 互連線模型 37
3.2.4 SPICE模型 45
3.2.5 小結 46
3.3 系統(tǒng)中的時序問題 46
3.3.1 基本時序概念 46
3.3.2 時序路徑 50
3.3.3 時序約束 51
3.3.4 靜態(tài)時序分析 62
3.4 運算功能塊設計 64
3.4.1 數(shù)據(jù)通路 64
3.4.2 運算單元 69
3.5 存儲器和陣列結構 90
3.5.1 存儲器簡介 90
3.5.2 SRAM 92
3.5.3 行電路 101
3.5.4 列電路 105
第4章 人工智能與深度學習 110
4.1 人工智能 110
4.2 深度學習 112
4.3 卷積神經(jīng)網(wǎng)絡 113
4.3.1 卷積神經(jīng)網(wǎng)絡的算法特征 113
4.3.2 卷積神經(jīng)網(wǎng)絡的層級結構 116
4.3.3 卷積神經(jīng)網(wǎng)絡加速運算 117
第5章 人工智能芯片簡介 124
5.1 人工智能芯片的定義 124
5.2 人工智能芯片的發(fā)展歷史 124
5.3 人工智能芯片的分類 125
5.3.1 基于應用領域的分類 125
5.3.2 基于計算架構的分類 125
5.4 人工智能芯片的應用 127
5.4.1 人工智能芯片在計算機視覺領域的應用 127
5.4.2 人工智能芯片在自然語言處理領域的應用 129
5.4.3 人工智能芯片在語音識別領域的應用 130
5.4.4 人工智能芯片在嵌入式系統(tǒng)領域的應用 130
5.4.5 人工智能芯片在醫(yī)療健康領域的應用 131
5.5 總結 132
5.5.1 人工智能芯片的發(fā)展和應用前景 132
5.5.2 發(fā)展人工智能芯片的挑戰(zhàn)和機遇 132
第6章 人工智能芯片數(shù)據(jù)流設計 134
6.1 卷積神經(jīng)網(wǎng)絡模型分析 134
6.2 塊浮點數(shù)設計 137
6.2.1 浮點數(shù)量化分析 137
6.2.2 塊浮點數(shù)結構設計 138
6.2.3 無偏差溢出數(shù)據(jù)處理 140
6.3 卷積神經(jīng)網(wǎng)絡數(shù)據(jù)量化算法 141
6.3.1 輕量級塊劃分模式 141
6.3.2 低位塊浮點數(shù)設計 144
6.3.3 面向硬件加速器的塊浮點數(shù)據(jù)流結構 145
6.3.4 四階誤差分析模型 147
6.4 卷積神經(jīng)網(wǎng)絡稀疏化算法 149
6.4.1 卷積層稀疏化算法 150
6.4.2 全連接層稀疏化算法 153
6.4.3 卷積神經(jīng)網(wǎng)絡整體稀疏化算法 156
6.5 基于Low-Rank特性的加速算法 158
6.5.1 卷積神經(jīng)網(wǎng)絡的Low-Rank特性 158
6.5.2 基于Low-Rank的卷積層加速方案 162
6.5.3 基于奇異值分解的全連接層加速方案 165
6.5.4 總體加速方案 166
6.5.5 實驗結果與分析 168
習題 173
第7章 人工智能芯片架構設計 175
7.1 卷積神經(jīng)網(wǎng)絡加速器整體設計 175
7.1.1 加速器設計分析 175
7.1.2 加速器系統(tǒng)架構 179
7.1.3 硬件架構運行機理 181
7.2 加速器系統(tǒng)控制策略 182
7.2.1 基于循環(huán)分塊的卷積運算策略 182
7.2.2 存算并行與流水控制 184
7.3 卷積層加速器設計 186
7.3.1 卷積加速器整體設計 186
7.3.2 混合計算分析 187
7.3.3 混合算術卷積引擎設計 188
7.3.4 片上存儲系統(tǒng)設計 190
7.3.5 稀疏化卷積計算調(diào)度系統(tǒng) 192
7.4 全連接層加速器設計 194
7.4.1 全連接層存儲方案 194
7.4.2 計算單元設計 195
7.5 存儲管理單元 195
7.5.1 存儲管理單元的重要性 196
7.5.2 存儲管理單元架構設計 197
7.5.3 系統(tǒng)帶寬需求分析 205
7.5.4 緩存設計和其他模塊的協(xié)調(diào)工作 206
7.5.5 緩存設計比較 207
習題 209
附錄A 211
參考文獻 212