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