基本介紹
內容簡介,圖書目錄,
內容簡介
《SoC設計方法與實現》是普通高等教育“十一五”國家級規劃教材。《SoC設計方法與實現》結合SoC設計的整體流程,對SoC設計方法學及如何實現進行了全面介紹。全書共分14章,主要內容包括:SoC的設計流程、SoC的架構設計、電子級系統設計、IP核的設計與選擇、RTL代碼編寫指南、先進的驗證方法、低功耗設計技術、可測性設計技術及後端設計的挑戰。書中不僅融入了很多來自於工業界的實踐經驗,而且介紹了SoC設計領域的最新成果,可以幫助讀者掌握工業化的解決方案,使讀者能夠及時了解SoC設計方法的最新進展。
書中不僅融入了很多來自於工業界的實踐經驗,而且介紹了SoC設計領域的最新成果,可以幫助讀者掌握工業化的解決方案,使讀者能夠及時了解SoC設計方法的最新進展。
圖書目錄
第1章 SoC設計緒論 1
1.1 微電子技術概述 1
1.1.1 積體電路的發展 1
1.1.2 積體電路產業分工 2
1.2 SoC概述 3
1.2.1 什麼是SoC 3
1.2.2 SoC的優勢 4
1.3 SoC設計的發展趨勢及面臨
的挑戰 5
1.3.1 SoC設計技術的發展與挑戰 5
1.3.2 SoC設計方法的發展與挑戰 10
1.3.3 未來的SoC 12
本章參考文獻 12
第2章 SoC設計流程 13
2.1 軟硬體協同設計 13
2.2 基於標準單元的SoC晶片設計
流程 15
本章參考文獻 19
第3章 SoC設計與EDA工具 20
3.1 電子系統級設計與工具 20
3.2 驗證的分類及相關工具 20
3.2.1 驗證方法的分類 21
3.2.2 動態驗證及相關工具 21
3.2.3 靜態驗證及相關工具 22
3.3 邏輯綜合及綜合工具 23
3.3.1 EDA工具的綜合流程 24
3.3.2 EDA工具的綜合策略 24
3.3.3 最佳化策略 24
3.3.4 常用的邏輯綜合工具 25
3.4 可測性設計與工具 25
3.4.1 測試和驗證的區別 25
3.4.2 常用的可測性設計 25
3.5 布局布線與工具 28
3.5.1 EDA工具的布局布線流程 28
3.5.2 布局布線工具的發展趨勢 28
3.6 物理驗證及參數提取與相關的工具 28
3.6.1 物理驗證的分類 29
3.6.2 參數提取 29
3.7 著名EDA公司與工具介紹 31
3.8 EDA工具的發展趨勢 32
本章參考文獻 33
第4章 SoC系統結構設計 34
4.1 SoC系統結構設計的總體目標與
各個階段 34
4.1.1 功能設計階段 35
4.1.2 套用驅動的系統結構設計階段 35
4.1.3 平台導向的系統結構設計階段 35
4.2 SoC中常用的處理器 35
4.2.1 通用處理器 36
4.2.2 DSP 37
4.2.3 可配置處理器 37
4.2.4 不同處理器的選擇 39
4.3 SoC中常用的匯流排 39
4.3.1 AMBA匯流排 40
4.3.2 CoreConnect匯流排 41
4.3.3 Wishbone匯流排 42
4.3.4 AVALON匯流排 42
4.3.5 開放核協定 42
4.3.6 複雜的片上匯流排結構 43
4.4 SoC中典型的存儲器 44
4.5 多核SoC的系統結構設計 45
4.5.1 可用的並發性 45
4.5.2 多核SoC設計中的系統結構
選擇 46
4.5.3 多核SoC的性能評價 47
4.5.4 幾種典型的多核SoC系統結構 48
4.6 SoC中的軟體結構 50
4.7 電子系統級(ESL)設計 53
4.7.1 ESL發展的背景 53
4.7.2 ESL設計基本概念 54
4.7.3 ESL設計的流程 54
4.7.4 ESL設計的特點 56
4.7.5 ESL設計的核心——事務級建模 58
4.7.6 事務級建模語言簡介及設計
實例 66
4.7.7 ESL設計的挑戰 79
本章參考文獻 80
第5章 IP復用的設計方法 81
5.1 IP的基本概念和IP分類 81
5.2 IP設計流程 83
5.2.1 設計目標 83
5.2.2 設計流程 83
5.3 IP的驗證 88
5.4 IP核的選擇 89
5.5 IP市場 90
5.6 IP復用技術面臨的挑戰 92
5.7 IP標準組織 93
5.8 基於平台的SoC設計方法 94
5.8.1 平台的組成與分類 95
5.8.2 基於平台的SoC設計方法流程
與特點 95
5.8.3 基於平台的設計實例 96
本章參考文獻 97
第6章 RTL代碼編寫指南 98
6.1 編寫RTL代碼之前的準備 98
6.1.1 與團隊共同討論設計中的問題 98
6.1.2 根據晶片結構準備設計說明書 98
6.1.3 匯流排設計的考慮 99
6.1.4 模組的劃分 99
6.1.5 對時鐘的處理 102
6.1.6 IP的選擇及設計復用的考慮 102
6.1.7 對可測性的考慮 103
6.1.8 對晶片速度的考慮 104
6.1.9 對布線的考慮 104
6.2 可綜合RTL代碼編寫指南 104
6.2.1 可綜合RTL代碼的編寫準則 104
6.2.2 利用綜合進行代碼質量檢查 107
6.3 調用Synopsys DesignWare來
最佳化設計 108
本章參考文獻 109
第7章 同步電路設計及其與異步信號
互動的問題 110
7.1 同步電路設計 110
7.1.1 同步電路的定義 110
7.1.2 同步電路的時序收斂問題 110
7.1.3 同步電路設計的優點與缺陷 111
7.2 全異步電路設計 112
7.2.1 異步電路設計的基本原理 112
7.2.2 異步電路設計的優點與缺點 114
7.3 異步信號與同步電路互動的問題
及其解決方法 114
7.3.1 亞穩態 115
7.3.2 異步控制信號的同步及其RTL
實現 118
7.3.3 異步時鐘域的數據同步及其RTL
實現 122
7.4 SoC設計中的時鐘規劃策略 126
本章參考文獻 127
第8章 綜合策略與靜態時序分析方法 128
8.1 邏輯綜合 128
8.1.1 什麼是邏輯綜合 128
8.1.2 流程介紹 128
8.1.3 SoC設計中常用的綜合策略 130
8.2 物理綜合的概念 131
8.2.1 物理綜合的產生背景 131
8.2.2 操作模式 132
8.3 實例——用Synopsys的工具Design
Compiler (DC)進行邏輯綜合 133
8.3.1 指定庫檔案 133
8.3.2 讀入設計 134
8.3.3 定義工作環境 134
8.3.4 設定約束條件 135
8.3.5 設定綜合最佳化策略 137
8.3.6 設計腳本舉例 137
8.4 靜態時序分析 139
8.4.1 基本概念 139
8.4.2 實例——用Synopsys的工具
PrimeTime進行時序分析 142
8.5 統計靜態時序分析 148
8.5.1 傳統的時序分析的局限 149
8.5.2 統計靜態時序分析的概念 149
8.5.3 統計靜態時序分析的步驟 150
本章參考文獻 150
第9章 SoC功能驗證 151
9.1 功能驗證概述 151
9.1.1 功能驗證的概念 151
9.1.2 SoC功能驗證的問題 152
9.1.3 SoC功能驗證的發展趨勢 152
9.2 功能驗證方法與驗證規劃 152
9.3 系統級功能驗證 153
9.3.1 系統級的功能驗證 153
9.3.2 軟硬體協同驗證 155
9.4 仿真驗證自動化 157
9.4.1 激勵的生成 157
9.4.2 回響的檢查 158
9.4.3 覆蓋率的檢測 159
9.5 形式驗證 160
9.5.1 形式驗證的理論基礎 160
9.5.2 相等性檢查在SoC中的套用 162
9.5.3 半形式驗證在SoC中的套用 162
9.6 基於斷言的驗證 163
9.6.1 斷言語言 164
9.6.2 基於斷言的驗證 166
9.6.3 斷言的其他用途 167
本章參考文獻 168
第10章 可測性設計 169
10.1 積體電路測試概述 169
10.1.1 測試的概念和原理 169
10.1.2 測試及測試矢量的分類 169
10.1.3 自動測試設備 170
10.2 故障建模及ATPG原理 171
10.2.1 故障建模的基本概念 171
10.2.2 常見故障模型 171
10.2.3 ATPG基本原理 174
10.2.4 ATPG的工作原理 174
10.2.5 ATPG工具的使用步驟 175
10.3 可測性設計基礎 175
10.3.1 可測性的概念 175
10.3.2 可測性設計的優勢和不足 177
10.4 掃描測試(SCAN) 177
10.4.1 基於故障模型的可測性 177
10.4.2 掃描測試的基本概念 178
10.4.3 掃描測試原理 179
10.4.4 掃描設計規則 181
10.4.5 掃描測試的可測性設計流程及
相關EDA工具 182
10.5 存儲器的內建自測 183
10.5.1 存儲器測試的必要性 183
10.5.2 存儲器測試方法 184
10.5.3 BIST的基本概念 185
10.5.4 存儲器的測試算法 186
10.5.5 BIST模組在設計中的集成 188
10.6 邊界掃描測試 190
10.6.1 邊界掃描測試原理 190
10.6.2 IEEE 1149.1標準 190
10.6.3 邊界掃描測試策略和相關
工具 194
10.7 其他DFT技術 194
10.7.1 微處理器核的可測性設計 194
10.7.2 Logic BIST 196
10.8 DFT技術在SoC中的套用 197
10.8.1 模組級的DFT技術 197
10.8.2 SoC中的DFT套用 198
本章參考文獻 199
第11章 低功耗設計 200
11.1 為什麼需要低功耗設計 200
11.2 功耗的類型 201
11.3 低功耗設計方法 205
11.4 低功耗技術 206
11.4.1 工藝最佳化 206
11.4.2 電壓最佳化 207
11.4.3 門控時鐘技術 208
11.4.4 門級最佳化技術 211
11.4.5 低功耗SoC系統的動態管理 213
11.4.6 低功耗SoC設計技術的綜合
考慮 214
11.5 低功耗分析和工具 215
11.6 低功耗設計趨勢 216
本章參考文獻 217
第12章 後端設計 218
12.1 時鐘樹綜合 218
12.2 布局規劃 222
12.3 布線 224
12.4 ECO技術 226
12.5 功耗分析 227
12.6 信號完整性的考慮 228
12.6.1 信號完整性的挑戰 228
12.6.2 壓降和電遷移 230
12.6.3 信號完整性問題的預防、分析
和修正 231
12.7 物理驗證 232
12.8 可製造性設計/面向良品率
的設計 233
12.8.1 DFM/DFY的基本概念 233
12.8.2 DFM/DFY方法 234
12.8.3 典型的DFM/DFY問題及解決
方法 234
12.8.4 DFM/DFY技術的發展趨勢 237
12.9 後端設計技術的發展趨勢 237
本章參考文獻 238
第13章 SoC中數模混合信號IP的設計
與集成 239
13.1 SoC中的數模混合信號IP 239
13.2 數模混合信號IP的設計流程 239
13.3 基於SoC復用的數模混合信號
(AMS)IP包 241
13.4 數模混合信號(AMS)IP的設計
及集成要點 241
13.4.1 接口信號 241
13.4.2 模擬與數字部分的整體布局 242
13.4.3 電平轉換器的設計 242
13.4.4 電源的布局與規劃 243
13.4.5 電源/地線上跳動噪聲的消除 244
13.4.6 其他方面的考慮 244
13.5 數模混合IP在SoC設計中存在
的問題和挑戰 245
13.6 SoC混合集成的新趨勢 245
本章參考文獻 248
第14章 I/O環的設計和晶片封裝 249
14.1 I/O單元介紹 249
14.2 高速I/O的噪聲影響 249
14.3 靜電保護 250
14.3.1 ESD的模型及相應的測試
方法 251
14.3.2 ESD保護電路的設計 253
14.4 I/O環的設計 256
14.4.1 考慮對晶片的尺寸的影響 256
14.4.2 考慮對晶片封裝的影響 257
14.4.3 考慮對噪聲的影響 258
14.4.4 考慮對晶片ESD的影響 258
14.5 SoC晶片封裝 258
14.5.1 微電子封裝的功能 258
14.5.2 微電子封裝的發展趨勢 259
14.5.3 當前的封裝技術 259
14.5.4 封裝技術發展的驅動力 261
本章參考文獻 262
第15章 課程設計 263
15.1 基於ESL設計方法的Motion-JPEG
視頻解碼器設計 263
15.1.1 實驗內容 263
15.1.2 實驗準備工作 264
15.1.3 SoCLib ESL仿真平台及MJPEG
解碼流程的介紹 265
15.1.4 實驗1 構建基於SoCLib的
單核SoC 266
15.1.5 實驗2 構建基於SoCLib的
MPSoC 272
15.1.6 實驗3 系統軟體開發——嵌入式操
作系統及設備驅動設計 278
15.1.7 實驗4 面向MJPEG解碼的MPSoC
系統最佳化 279
15.2 實驗——基於ARM7TDMI處理器
的SoC設計 281
15.2.1 任務目標 281
15.2.2 設計參考 281
15.2.3 建議使用的EDA工具 281
15.2.4 基本SoC設計方案 282
15.2.5 實驗要求 284
15.3 項目進度管理 284
15.3.1 項目任務與進度階段 284
15.3.2 進度的管理 284
本章參考文獻 291
附錄A Pthread多執行緒編程接口 292
附錄B SoCLib系統支持包 295