數字集成電路設計與實戰

曲英傑; 李陽

  • 出版商: 化學工業
  • 出版日期: 2024-04-01
  • 售價: $1,014
  • 貴賓價: 9.5$963
  • 語言: 簡體中文
  • 頁數: 484
  • 裝訂: 平裝
  • ISBN: 7122435571
  • ISBN-13: 9787122435576
  • 立即出貨

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

商品描述

本書系統介紹了數字集成電路的設計思想、原理、方法和技術,主要內容包括數字集成電路設計流程、
Verilog硬件描述語言、基於Verilog HDL的邏輯設計方法、數字集成電路設計的驗證方法、EDA 工具的原理及使用方法、
基於FPGA的集成電路設計方法、低功耗設計技術、可測性設計方法、SoC設計方法以及多個複雜度較高的設計實例等。
本書根據數字集成電路設計與驗證的工程需要確定知識結構,內容涵蓋了數字集成電路設計流程中的各個知識點;
設計實例豐富且介紹詳盡,使讀者能夠深入了解各個設計環節,加深對設計方法的理解,提高工程實踐能力;
在內容的組織編排方面,突出邏輯性和條理性,遵循循序漸進的原則,利於讀者學習和掌握。
本書可以作為高等學校電子信息類專業本科生和研究生的教材,也可供相關的工程技術人員參考。

目錄大綱

第1章 數字整合電路設計概述001
1.1 數字整合電路的發展歷史與現狀002
1.1.1 機械式計算機的啟蒙時代002
1.1.2 電子技術和半導體技術的誕生與發展002
1.2 現代數字IC 設計方法的發展005
1.2.1 自底向上的設計方法005
1.2.2 自頂向下的設計方法005
1.2.3 自頂向下與自底向上結合的設計方法006
1.3 數字IC 前端設計語言及後端設計軟件(EDA) 006
1.3.1 Verilog 硬體描述語言007
1.3.2 VHDL 007
1.3.3 驗證與驗證語言007
1.3.4 數字IC 設計後端EDA 工具008
1.4 數字IC 的設計模式008
1.4.1 全客製設計模式008
1.4.2 標準單元設計模式009
1.4.3 門陣列設計模式009
1.4.4 宏模塊設計模式009
1.4.5 FPGA 設計模式009
1.4.6 不同設計模式的比較009
1.5 數字IC 設計面臨的挑戰010
1.5.1 工藝極限的挑戰010
1.5.2 投資風險的挑戰010
1.5.3 IC 工程師面臨的挑戰011
1.5.4 項目管理上的挑戰011
1.6 整合電路的分類011
1.6.1 依用途分類011
1.6.2 依集成度分類011
1.6.3 依設計與製造流程分類012
1.7 與整合電路設計與製造相關的常用術語和基本概念012
1.8 整合電路設計品質評價014

第2章 數字整合電路設計流程016
2.1 數字整合電路設計流程簡介017
2.2 系統體系結構設計017
2.2.1 系統體系結構設計的內容與方法017
2.2.2 系統體系結構設計實例018
2.3 RTL 代碼編寫045
2.4 RTL 代碼功能仿真046
2.5 綜合優化048
2.6 可測性設計051
2.7 後端佈局佈線051
2.8 時序模擬052
2.9 靜態時序分析與時序收斂053
2.9.1 靜態時序分析053
2.9.2 時序收斂053
2.10 CMOS 工藝選擇053
2.11 IC 產業的變革及對設計方法的影響054

第3章 Verilog 硬體描述語言056
3.1 引言057
3.2 Verilog HDL 基本結構057
3.2.1 簡單的Verilog HDL 範例057
3.2.2 Verilog HDL 的基本結構059
3.2.3 邏輯功能定義059
3.2.4 關鍵字060
3.2.5 標識符060
3.2.6 編寫Verilog HDL 來源代碼的標準061
3.3 資料類型及常數、變量062
3.4 運算子及表達式066
3.5 語句069
3.6 賦值語句和區塊語句070
3.7 條件語句073
3.8 循環語句075
3.9 結構說明語句078
3.10 編譯預處理語句083
3.11 語句的順序執行與平行執行085
3.12 不同抽象層級的Verilog HDL 模型086
3.13 設計技巧088

第4章 基於Verilog HDL 的邏輯設計方法091
4.1 基本組合電路的設計方法092
4.2 基本時序電路設計097
4.3 同步狀態機的設計方法099
4.4 存儲模塊設計117
4.5 複雜數字系統的邏輯設計121
4.5.1 演算法狀態機圖121
4.5.2 資料通道/控制器劃分122
4.5.3 複雜數字系統的設計方法123
4.6 複雜數字系統設計舉例-多週期處理機設計123
4.6.1 多周期處理機Verilog RTL 代碼123
4.6.2 多周期處理機測試代碼128
4.6.3 多周期處理機功能模擬129
4.7 可綜合的Verilog RTL 設計129
4.7.1 可綜合的組合電路設計130
4.7.2 可綜合的時序電路設計131
4.8 代碼書寫風格132

第5章 數字整合電路設計的驗證方法133
5.1 數字整合電路設計驗證的原理與方法134
5.2 軟件模擬範例1:RSA 加密處理器模擬135
5.3 軟件模擬舉例2:基於USB 的RSA 加密處理器的功能模擬139
5.4 軟件模擬舉例3:AES 加密處理器的時序模擬143
5.5 硬體模擬範例:基於USB 的AES/RSA 加密處理器的硬體模擬146
5.6 驗證平臺編碼風格150
5.7 驗證平臺模塊設計150
5.8 驗證平臺結構設計154
5.9 斷言155
5.10 驗證品質評估156

第6章 EDA 工具的原理及使用方法158
6.1 ModelSim 的使用方法159
6.1.1 ModelSim 概覽159
6.1.2 基本模擬流程160
6.1.3 ModelSim 工程165
6.1.4 基於多庫的模擬171
6.1.5 在波形視窗中查看模擬結果174
6.1.6 利用ModelSim 進行時序模擬178
6.2 Quartus Ⅱ的使用方法180
6.2.1 可編程邏輯設計流程180
6.2.2 設計輸入190
6.2.3 綜合198
6.2.4 模擬202
6.2.5 佈局佈線205
6.2.6 基於塊的設計211
6.2.7 時序分析215
6.2.8 時序逼近220
6.2.9 編程與設定224
6.2.10 調試228
6.2.11 工程變更管理231
6.2.12 系統級設計234
6.2.13 軟件開發238

第7章 基於FPGA 的整合電路設計方法241
7.1 FPGA 基礎知識242
7.2 FPGA 的基本結構242
7.2.1 Cyclone Ⅳ系列FPGA 裝置概述242
7.2.2 Cyclone Ⅳ裝置的邏輯單元和邏輯陣列模塊246
7.2.3 Cyclone Ⅳ器件中的存儲器模塊250
7.2.4 Cyclone Ⅳ裝置中的嵌入式乘法器253
7.3 FPGA 的設計流程256
7.4 基於FPGA 設計與實現整合電路的EDA 工具259
7.4.1 基於Quartus Prime 的FPGA 設計流程259
7.4.2 啟動Quartus Prime 軟件259
7.4.3 創建一個新的工程260
7.4.4 輸入用Verilog 代碼描述的設計模型263
7.4.5 編譯設計電路266
7.4.6 引腳分配267
7.4.7 FPGA 晶片的編程與配置268
7.4.8 對所設計的電路進行測試270

第8章 低功耗設計技術271
8.1 低功耗設計的背景與意義272
8.2 低功耗設計技術的發展趨勢273
8.3 常用的低功耗設計技術介紹275

第9章 可測性設計方法278
9.1 可測性設計的背景及意義279
9.2 可測性設計的基本概念與方法279
9.2.1 常用縮略語解釋279
9.2.2 DFT 的常用方法280
9.3 基於ATPG 的掃描測試284
9.3.1 掃描測試的基本原理284
9.3.2 掃描測試的主要階段285
9.3.3 掃描測試的基本時序286
9.3.4 掃描設計的注意事項287
9.4 邊界掃描電路設計288
9.4.1 邊界掃描簡介288
9.4.2 邊界掃描電路結構289
9.4.3 TAP 控制器及指令集289
9.4.4 基於BSD Compiler 的邊界掃描電路設計方法292

第10章 SoC 設計方法297
10.1 SoC 概述297
10.2 SoC 設計流程300
10.2.1 軟硬體協同設計300
10.2.2 基於標準單元的SoC 晶片設計流程302
10.3 SoC 系統結構設計305
10.4 IP 復用的設計方法314
10.5 SoC 驗證方法318

第11章 AES 密碼處理器設計與驗證(方案1) 320
11.1 AES 演算法描述321
11.1.1 數學預備知識321
11.1.2 符號與習語322
11.1.3 AES 加密演算法323
11.1.4 AES 解密演算法326
11.1.5 密鑰擴展329
11.2 AES 密碼處理器的體系結構設計330
11.2.1 AES 密碼處理器框圖及外部訊號說明330
11.2.2 AES 密碼處理器模塊結構圖331
11.2.3 AES 密碼處理器各子模塊設計方案331
11.3 AES 密碼處理器的Verilog 模型設計342
11.4 AES 密碼處理器的功能模擬355
11.4.1 密鑰擴展模擬結果355
11.4.2 加密模擬結果356
11.4.3 解密模擬結果357
11.5 基於FPGA 的AES 密碼處理器的實現與測試358
11.5.1 基於FPGA 的AES 密碼處理器的綜合與時序模擬358
11.5.2 基於FPGA 的AES 密碼處理器的實現與測試361

第12章 AES 密碼處理器設計與驗證(方案2) 365
12.1 AES 密碼處理器體系結構設計366
12.1.1 AES 密鑰擴展模塊電路結構設計367
12.1.2 AES 加/解密模塊電路結構設計368
12.1.3 提高性能及降低成本採用的技術368
12.2 AES 密碼處理器Verilog RTL 模型設計369
12.3 AES 密碼處理器功能模擬382
12.4 AES 密碼處理器綜合及效能、規模分析384
12.5 AES 密碼處理器綜合後時序模擬385
12.6 AES 密碼處理器佈局佈線385
12.7 AES 密碼處理器版圖後實體檢查(DRC、LVS) 386
12.8 AES 密碼處理器版圖後效能、規模、功耗分析387
12.9 AES 密碼處理器版圖後時序模擬387
12.10 AES 密碼處理器基於FPGA 的綜合、佈局佈線及分析388
12.11 AES 密碼處理器基於FPGA 的實現與測試389
12.12 AES 密碼處理器使用說明390

第13章 SM4 密碼處理器設計與驗證391
13.1 SM4 密碼演算法簡介392
13.1.1 說明與定義392
13.1.2 SM4 加/解密演算法393
13.1.3 SM4 密鑰擴展演算法393
13.1.4 SM4 加密實例394
13.2 SM4 密碼處理器體系結構設計395
13.3 SM4 密碼處理器Verilog RTL 模型設計397
13.4 SM4 密碼處理器功能模擬408
13.5 SM4 密碼處理器綜合及效能、規模、功耗分析410
13.6 SM4 密碼處理器綜合後時序模擬412
13.7 SM4 密碼處理器佈局佈線413
13.8 SM4 密碼處理器物理驗證(DRC、LVS) 414
13.9 SM4 密碼處理器佈局佈線後效能、規模、功耗分析414
13.10 SM4 密碼處理器版圖後時序模擬415
13.11 SM4 密碼處理器FPGA 驗證415

第14章 RSA 密碼處理器設計與驗證419
14.1 RSA 演算法描述420
14.2 RSA 演算法硬體實現原理421
14.3 RSA 密碼處理器體系結構設計422
14.3.1 RSA 控制模塊設計423
14.3.2 參數暫存器模塊設計428
14.3.3 資料選擇器模組設計429
14.3.4 模乘模組設計429
14.4 RSA 密碼處理器主要RTL 代碼設計433
14.5 RSA 密碼處理器功能模擬440
14.5.1 模乘模塊功能模擬440
14.5.2 RSA 密碼處理器功能模擬441
14.6 RSA 密碼處理器基於FPGA 的綜合、佈局佈線與效能、規模、功耗分析442
14.7 RSA 密碼處理器基於FPGA 的實現與測試444
14.8 基於ASIC 標準單元工藝庫對RSA 密碼處理器進行綜合及分析445
14.9 對綜合後的RSA 密碼處理器進行佈局佈線及分析447
14.10 附錄(表14-17) 448

第15章 基於RISC-Ⅴ處理器和密碼協處理器的SoC 設計453
15.1 密碼算法簡介454
15.1.1 AES 算法454
15.1.2 RSA 算法455
15.2 SoC 體系結構設計456
15.2.1 領域專用體系結構456
15.2.2 SoC 系統結構457
15.2.3 擴展指令編碼457
15.3 協處理器設計與功能仿真459
15.3.1 AES 算法核設計459
15.3.2 RSA 算法核設計461
15.3.3 EAI 接口控制邏輯的設計462
15.3.4 功能仿真465
15.4 FPGA 實現與測試467
15.4.1 FPGA 測試方案467
15.4.2 測試程序開發468
15.4.3 SoC 測試結果469
15.5 後端設計470
15.5.1 綜合470
15.5.2 綜合後的靜態時序分析471
15.5.3 形式驗證472
15.5.4 布局布線474
15.5.5 布局布線後的靜態時序分析478
15.5.6 時序仿真479
15.5.7 物理驗證480
15.6 設計結果分析481

參考文獻484