內容簡介
本書結合多年的積體電路設計和CAD/EDA工具使用經驗編寫,輔以不同的設計實例和流程,介紹相應的典型工具的使用。 本書分為三個部分,共18章。第一部分(第1~5章)是模擬積體電路設計工具及使用,主要內容包括:電路仿真工具軟體使用,設計實例——基準源、噪聲、開關電容設計及驗證,版圖繪製及其工具軟體,版圖驗證與後仿真,設計所需規則檔案的詳細說明。第二部分(第6~13章)是數字積體電路設計工具及使用,主要內容包括:系統級建模與數模混合仿真,數字電路設計與Verilog HDL,硬體描述語言的軟體仿真與FPGA硬體驗證,邏輯綜合與Design Compiler,自動布局布線及Astro,布局布線工具IC Compiler,數字積體電路設計的驗證方法,可測性設計及可測性設計軟體使用。第三部分(第14~18章)是Linux作業系統及其他相關知識,主要內容包括:Linux系統常用命令,Memory Compiler軟體Embed-It Integrator使用方法,數字IC功耗分析工具PTPX使用方法,流片前的Check List,積體電路設計領域常用英文縮略語。本書提供配套電子課件、仿真程式源檔案等。 本書可以作為微電子及相關專業的研究生和高年級本科生的積體電路課程的參考教材,也適合於作為積體電路領域的科研人員和工程師的參考資料。
圖書目錄
第一部分 模擬積體電路設計工具及使用 1
第1章 電路仿真工具軟體使用 3
1.1 Cadence電路仿真工具包 3
1.1.1 Cadence設計環境簡介 3
1.1.2 電路圖輸入工具Virtuoso Schematic Composer 5
1.1.3 仿真環境工具Analog Design Environment 6
1.1.4 仿真結果的顯示及處理 9
1.1.5 建立子模組 10
1.1.6 示例(D觸發器) 11
1.2 Hspice的使用 13
1.2.1 Hspice簡介 13
1.2.2 *.sp檔案的生成 14
1.2.3 Hspice的運行與仿真 14
1.3 Ultrasim仿真技術 15
1.3.1 Ultrasim技術簡介 15
1.3.2 Ultrasim仿真環境設定 16
1.4 晶片封裝的建模與帶封裝信息的仿真 19
1.4.1 Modeling RF IC Packages簡介 19
1.4.2 PKG的具體使用 19
第2章 設計實例——基準源、噪聲、開關電容設計及驗證 24
2.1 電壓基準源設計 24
2.1.1 電壓基準源簡介 24
2.1.2 電壓基準源分類 24
2.1.3 實現帶隙基準源的原理 25
2.1.4 基準源啟動電路 26
2.1.5 基準源噪聲 27
2.1.6 基準源輸出驅動 27
2.1.7 基準源計算機仿真 28
2.1.8 基準源的版圖設計 31
2.2 CMOS積體電路噪聲分析及仿真 31
2.2.1 噪聲類型 32
2.2.2 噪聲分析方法 33
2.2.3 連續時間系統的噪聲仿真步驟 34
2.3 開關電容電路仿真 36
2.3.1 開關電容電路背景知識 36
2.3.2 開關電容電路的精度 37
2.3.3 使用雙相無交疊時鐘的
開關電容電路的分析方法 38
2.3.4 開關電容電路的Cadence仿真方法 39
2.3.5 開關電容電路頻率回響仿真 40
2.3.6 開關電容電路的噪聲仿真 42
第3章 版圖繪製及其工具軟體 49
3.2 設計規則簡介 52
3.3 Virtuoso軟體簡介及使用 53
3.3.1 Virtuoso軟體啟用 53
3.3.2 Virtuoso中快捷鍵的使用 56
3.3.3 反相器版圖繪製舉例 57
3.3.4 PDK簡介 59
3.4 Laker軟體簡介及使用 62
3.4.1 Laker使用時需要的檔案 62
3.4.2 Laker軟體啟用及主視窗 63
3.4.3 Laker基本的版圖編輯功能介紹 63
3.4.4 Laker特有的高級版圖編輯功能介紹 66
3.4.5 原理圖驅動的版圖編輯 67
3.4.6 設計實例 68
3.5 版圖設計中的相關主題 73
3.5.1 天線效應 73
3.5.2 Dummy的設計 73
3.5.3 Guard Ring的設計 75
3.5.4 Match的設計 76
第4章 版圖驗證與後仿真 78
4.1 版圖驗證與後仿真簡介 78
4.2 Diva驗證工具 79
4.2.1 Diva DRC規則檔案 79
4.2.2 Diva版圖提取檔案 81
4.2.3 LVS檔案的介紹 83
4.2.4 寄生參數提取檔案 83
4.2.5 Diva的使用 84
4.3 Calibre驗證工具 88
4.3.1 Calibre規則檔案 88
4.3.2 Calibre的用法 89
4.3.3 數模混合電路LVS的操作方法 94
第5章 設計所需規則檔案的詳細說明 96
5.1 完整的Diva DRC、Extract、LVS規則檔案 96
5.1.1 Diva DRC規則檔案 96
5.1.2 Diva Extract規則檔案 97
5.1.3 Diva LVS規則檔案 98
5.2 Diva 層次處理語句的圖文解釋 99
5.2.1 邏輯命令 99
5.2.2 關係命令 101
5.2.3 選擇命令 104
5.2.4 尺寸命令 105
5.2.5 層生成命令 106
5.2.6 存儲命令 107
5.3 Diva中DRC和寄生參數提取語句 107
5.3.1 Diva DRC語句 107
5.3.2 Diva寄生參數提取語句 110
第二部分 數字積體電路設計工具及使用 113
第6章 系統級建模與數模混合仿真 116
6.1 MATLAB簡介 117
6.2 MATLAB的Toolboxes 117
6.2.1 數位訊號處理 118
6.2.2 濾波器設計 118
6.2.3 Link For ModelSim 119
6.3 MATLAB的編程 122
6.4 Simulink仿真基礎 123
6.4.1 Simulink簡介 123
6.4.2 Simulink的模組 124
6.4.3 Simulink仿真參數的設定 124
6.4.4 Simulink系統仿真的簡單實例 125
6.5 Verilog-A簡介 130
6.6 Verilog-A的編程 130
6.6.1 基本語法 131
6.6.2 基本表達式 132
6.6.3 模擬運算符 132
6.6.4 Verilog-A仿真 133
6.7 Verilog-A建模實例 133
6.7.1 反相器 133
6.7.2 利用Cadence中的嚮導產生模擬模組 136
6.8 SpectreVerilog混合信號仿真 137
6.8.1 SpectreVerilog仿真簡介 137
6.8.2 創建模擬模組 137
6.8.3 創建數字模組 138
6.8.4 設定仿真配置檔案 138
6.8.5 設定和檢查模組劃分 139
6.8.6 設定數模接口 141
6.8.7 設定仿真選單及仿真結果 141
第7章 數字電路設計與Verilog HDL 143
7.1 HDL設計方法學簡介 143
7.1.1 數字電路設計方法 143
7.1.2 硬體描述語言 143
7.1.3 設計方法學 144
7.1.4 Verilog HDL簡介 144
7.2 Verilog HDL建模概述 146
7.2.1 模組 146
7.2.2 時延 148
7.2.3 三種建模方式 148
7.3 Verilog HDL基本語法 151
7.3.1 標識符 151
7.3.2 注釋 152
7.3.3 格式 152
7.3.4 數字值集合 152
7.3.5 數據類型 154
7.3.6 運算符及表達式 155
7.3.7 條件語句 159
7.3.8 case語句 160
7.4 結構建模 161
7.4.1 模組定義 161
7.4.2 模組連線埠 161
7.4.3 實例化語句 161
7.5 數據流建模 162
7.5.1 連續賦值語句 163
7.5.2 阻塞賦值語句 163
7.5.3 非阻塞賦值語句 164
7.5.4 數據流建模具體實例 165
7.6 行為建模 166
7.6.1 簡介 166
7.6.2 順序語句塊 166
7.6.3 過程賦值語句 166
7.7 可綜合設計 168
7.7.1 設計準則 168
7.7.2 進程劃分準則 169
7.7.3 可綜合子集 169
7.7.4 可綜合設計中的組合電路設計 169
7.7.5 可綜合設計中的時序電路設計 169
第8章 硬體描述語言的軟體仿真與FPGA硬體驗證 170
8.1 ModelSim的使用 170
8.1.1 ModelSim的啟動 170
8.1.2 ModelSim仿真流程 171
8.1.3 編譯工藝資源庫 173
8.1.4 調試 173
8.1.5 ModelSim仿真小結 174
8.2 NC-Verilog的使用 174
8.2.1 ncvlog命令 174
8.2.2 ncelab命令 176
8.2.3 ncsim命令 177
8.2.4 NC-Verilog仿真小結 178
8.3 用Debussy調試仿真結果 178
8.4 HDL仿真總結 180
8.5 FPGA硬體驗證 180
8.5.1 FPGA基本組成 180
8.5.2 FPGA設計流程 181
8.5.3 FPGA下載配置 184
第9章 邏輯綜合與Design Compiler 191
9.1 邏輯綜合綜述 191
9.2 用Design Compiler綜合電路 192
9.2.1 Design Analyzer的啟動 193
9.2.2 設計讀入 194
9.2.3 連結 196
9.2.4 實例唯一化 197
9.2.5 設計環境 197
9.2.6 設計約束 202
9.2.7 設計的邏輯綜合 206
9.2.8 邏輯綜合結果的分析 207
9.2.9 邏輯綜合結果保存 209
9.2.10 時序約束檔案的導出 210
9.3 Synplify的使用方法 210
9.3.1 Synplify概述 210
9.3.2 Synplify設計流程 210
9.3.3 Synplify檔案類型總結 213
9.4 邏輯綜合總結 213
第10章 自動布局布線及Astro 214
10.1 Astro簡介 214
10.2 數據準備 214
10.2.1 庫檔案 214
10.2.2 工藝檔案 217
10.2.3 設計檔案 217
10.3 利用Astro進行布局布線的設計流程 218
10.3.1 工具啟動 219
10.3.2 創建設計庫 219
10.3.3 讀入網表檔案 220
10.3.4 打開設計庫和設計單元 221
10.3.5 布圖規劃 222
10.3.6 布局 229
10.3.7 時鐘樹綜合 235
10.3.8 布線前的電源/地線檢查 240
10.3.9 布線 240
10.3.10 可製造性設計處理 246
10.3.11 版圖驗證 246
10.3.12 數據輸出 247
第11章 布局布線工具IC Compiler 249
11.1 IC Compiler簡介 249
11.2 ICC後端設計須知 250
11.2.1 後端設計中常用檔案的格式說明 250
11.2.2 I/O庫與
標準單元庫中的特殊單元 251
11.2.3 ICC中的靜態時序分析 252
11.2.4 ICC中的MCMM 256
11.3 利用ICC進行布局布線的設計流程 258
11.3.1 設計準備 258
11.3.2 布圖規劃 265
11.3.3 布局 276
11.3.4 時鐘樹綜合 279
11.3.5 布線 286
11.3.7 版圖驗證 295
11.3.8 數據輸出 296
11.3.9 ECO 297
第12章 數字積體電路設計的驗證方法 299
12.1 OVM驗證方法學介紹 299
12.2 驗證工具QuestaSim軟體介紹 302
12.3 使用OVM搭建驗證環境 307
12.4 隨機驗證 315
12.5 形式驗證及Formality軟體使用方法 318
12.5.1 設定Reference Design 320
12.5.2 設定Implementation Design 322
12.5.3 設定環境 323
12.5.4 Match 324
12.5.5 Verify 324
12.5.6 Debug 325
12.5.7 形式驗證中所用的腳本及代碼 325
12.6 靜態時序驗證及PrimeTime軟體使用方法 328
12.6.1 靜態時序驗證 328
12.6.2 靜態時序分析原理 329
12.6.3 基於PrimeTime的靜態時序分析 330
第13章 可測性設計及可測性設計軟體使用 336
13.1 可測性設計基礎 336
13.1.1 測試 336
13.1.2 可測性設計 336
13.1.3 故障模型 336
13.1.4 自動測試矢量生成 338
13.1.5 可測性設計的常用方法 338
13.2 使用DFTC進行可測性設計 340
13.2.1 Synopsys的DFT流程 340
13.2.2 DFT掃描鏈插入 342
13.2.3 Synopsys Adaptive Scan壓縮 344
13.3 使用TetraMAX進行ATPG生成 344
13.3.1 TetraMAX的圖形界面 344
13.3.2 TetraMAX的基本流程 345
13.3.3 ATPG測試向量生成 346
13.4 DFT設計實例 348
13.4.1 設計代碼編寫 348
13.4.2 綜合併插入掃描鏈的過程 349
第三部分 Linux作業系統及其他相關知識 356
第14章 Linux系統常用命令 357
14.1 伺服器基本操作 357
14.2 Linux檔案名稱稱 358
14.3 Linux檔案存取許可權 358
14.5 程式進程 364
14.6 vi的使用 365
第15章 Memory Compiler軟體Embed-It Integrator使用方法 367
第16章 數字IC功耗分析工具PTPX使用方法 373
16.1 PTPX中的功耗分析技術 373
16.2 PTPX功耗分析所需的檔案 373
16.3 PTPX中的功耗分析模式及功耗分析流程 374
16.3.1 平均功耗分析模式 375
16.3.2 無矢量功耗分析模式 375
16.3.3 基於時間的功耗分析模式 376
16.3.4 PTPX功耗分析報告 377
第17章 流片前的Check List 379
17.1 檢查事項 379
17.2 特殊的Cell和Ring的說明 381
第18章 積體電路設計領域常用英文縮略語 386
參考文獻 390