第1章 FPGA系統設計1
1.1 緒論1
1.2 基本觀念1
1.2.1 布林代數1
1.3 數位設計與FPGA8
1.3.1 FPGA的角色8
1.3.2 FPGA的類型9
1.3.3 FPGA與客制化VLSI之比較12
1.4 以FPGA為基礎的系統設計14
1.4.1 目標與技術14
1.4.2 階層式設計15
1.4.3 設計抽象化19
1.5 摘要24
1.6 問題24
第2章 超大型積體電路技術27
2.1 緒論27
2.2 製造程序28
2.3 電晶體特性32
2.4 CMOS邏輯閘41
2.4.1 靜態互補閘41
2.4.2 閘延遲47
2.4.3 功率消耗 (Power Consumption) 56
2.4.4 驅動大負載 (Driving Large Loads) 59
2.4.5 低功率閘 (Low-Power Gates) 61
2.4.6 開關邏輯67
2.5 導線72
2.5.1 導線的結構72
2.5.2 導線寄生效應73
2.5.3 導線的模型79
2.5.4 通過RC傳輸線的延遲80
2.5.5 在RC傳輸線中插入緩衝器83
2.5.6 RC導線之間的串音干擾85
2.6 暫存器和隨機存取記憶體88
2.6.1 暫存器結構88
2.6.2 隨機存取記憶體90
2.7 封裝和焊墊102
2.7.1 封裝 (packages) 102
2.7.2 焊墊 (Pads) 107
2.8 摘要108
2.9 問題108
第3章 FPGA的架構113
3.1 緒論113
3.2 FPGA架構113
3.3 以SRAM為基礎的FPGA118
3.3.1 綜覽118
3.3.2 邏輯元件119
3.3.3 內部連接網路125
3.3.4 配置131
3.4 永久性規劃的FPGA134
3.4.1 反熔絲135
3.4.2 快閃記憶體配置135
3.4.3 邏輯區塊136
3.4.4 內部連接網路141
3.4.5 規劃142
3.5 晶片的I/O接腳143
3.6 FPGA基礎構件的電路設計148
3.6.1 邏輯元件148
3.6.2 內部連接156
3.7 FPGA基礎構件的架構162
3.7.1 邏輯元件的參數163
3.7.2 內部連接的架構166
3.7.3 接腳168
3.8 摘要169
3.9 問題169
第4章 組合邏輯173
4.1 緒論173
4.2 邏輯設計程序174
4.3 硬體描述語言206
4.3.1 用HDL建立模型206
4.3.2 Verilog212
4.3.3 VHDL216
4.4 組合網路延遲222
4.4.1 延遲規格223
4.4.2 邏輯閘與線路延遲225
4.4.3 扇出226
4.4.4 路徑延遲228
4.4.5 延遲與實體設計231
4.5 功率與能量最佳化236
4.5.1 突波分析與最佳化237
4.6 算術邏輯238
4.6.1 數字表示法239
4.6.2 組合移位器240
4.6.3 加法器241
4.6.4 ALUs252
4.6.5 乘法器255
4.7 FPGA的邏輯實作266
4.7.1 語法導向的轉換266
4.7.2 以巨集完成的邏輯實作268
4.7.3 邏輯合成269
4.7.4 與技術無關邏輯最佳化270
4.7.5 技術相依邏輯最佳化278
4.7.6 FPGA的邏輯合成279
4.8 FPGA的實體設計281
4.8.1 佈置282
4.8.2 繞線289
4.9 再訪邏輯設計的過程292
4.10 摘要314
4.11 問題314
第5章 序向機器319
5.1 緒論319
5.2 序向機器的設計過程320
5.3 序向機器的設計式樣322
5.3.1 狀態轉換與暫存器轉移模型323
5.3.2 有限狀態機理論329
5.3.3 狀態指定334
5.3.4 Verilog的模型建立風格341
5.4 時脈的操作規則349
5.4.1 正反器與閂鎖器349
5.4.2 時脈的操作規律352
5.5 效能分析360
5.5.1 以正反器為基礎之系統的效能分析362
5.5.2 以閂鎖器為基礎的系統的效能366
5.5.3 時脈扭曲368
5.5.4 時序重整379
5.6 功率最佳化379
5.7 摘要380
5.8 問題381
第6章 架構385
6.1 緒論385
6.2 作動設計385
6.2.1 資料路徑控制器架構386
6.2.2 排程與配置387
6.2.3 功率416
6.2.4 管線化418
6.3 設計方法論429
6.3.1 設計程序430
6.3.2 設計標準 432
6.3.3 設計驗證435
6.4 設計範例438
6.4.1 數位訊號處理器438
6.5 摘要448
6.6 問題448
第7章 大型系統453
7.1 緒論453
7.2 匯流排453
7.2.1 協定與規格454
7.2.2 匯流排的邏輯設計459
7.2.3 微處理器與系統匯流排467
7.3 平臺式FPGA472
7.3.1 平臺式FPGA架構473
7.3.2 串列I/O479
7.3.3 記憶體481
7.3.4 CPU與嵌入式乘法器482
7.4 多級FPGA系統488
7.4.1 多級FPGA系統的限制489
7.4.2 內部連接多重FPGA490
7.4.3 多級FPGA分割493
7.5 新架構496
7.5.1 以FPGA製造的機器496
7.5.2 其他FPGA電路板496
7.6 摘要499
7.7 習題499
附錄A 超大型積體電路技術501
附錄B 硬體描述語言517
B.1 緒論517
B.2 Verilog517
B.2.1 語法元素517
B.2.2 資料型態與宣告517
B.2.3 運算子518
B.2.4 敘述句 (Statements) 519
B.2.5 模組與程式單元 (Modules and Program Units) 520
B.2.6 模擬控制521
B.3 VHDL522
B.3.1 語法元素522
B.3.2 資料型態與宣告523
B.3.3 運算子523
B.3.4 循序敘述句 (Sequential Statements) 524
B.3.5 結構式敘述句 (Structural Statements) 526
B.3.6 設計單元 (Design Units) 526
B.3.7 程序 (Processes) 528
參考資料529
索引541