Verilog 晶片設計(附範例程式光碟)(第三版) | 被動收入的投資秘訣 - 2024年8月
![](https://www.books.com.tw/img/001/064/93/0010649392.jpg)
Verilog 晶片設計(附範例程式光碟)(第三版)
本書將IC設計實務經驗深入於範例探討,且每一範例均經過模擬驗證。除了基本的設計技巧外,亦說明多模組整合設計之技術。希望藉由此書帶領讀者進入以Verilog為主的各種相關設計領域中,熟悉Verilog語言全貌,更希望藉由它,幫助讀者完成各種晶片之設計。內容包含有:數位邏輯設計與Verilog發展沿革、Verilog設計風格與觀念、Verilog設計結構、閘層(GateLevel)描述、資料流描述設計、行為描述、函數及任務、自定邏輯電路與狀態機、Verilog程式設計技巧、電路的延遲時序設定、專題實務設計範例等,適合科大資工、電子、電機系教授「數位邏輯設計」、「數位邏輯設計實習」之課程或相關業界人士及有興趣之讀者使用。
本書特色
1.作者將IC設計實務經驗深入於範例探討,且每一範例均經過模擬驗證。
2.本書除了基本的設計技巧外,亦說明多模組整合設計之技術。希望藉由此書帶領讀者進入以Verilog為主的各種相關設計領域中,熟悉Verilog語言全貌。
3.本書提供範例程式光碟,方便讀者使用。
第1章 數位邏輯設計與Verilog發展沿革
1.1 電腦輔助設計與積體電路產業 1-2
1.2 硬體描述語言(Hardware Description Language, HDL) 1-4
1.3 積體電路晶片設計流程 1-5
第2章 Verilog設計風格與觀念
2.1 Verilog設計風格 2-2
2.1.1 設計者與變更原因 2-2
2.1.2 設計內文說明 2-2
2.1.3 設計過程注意事項 2-3
2.2 Verilog基本觀念 2-4
2.2.1 運算子(Operator) 2-5
2.2.2 註解說明(Comment)與空格(White space) 2-5
2.2.3 數字(Number) 2-6
2.2.4 字串(Strings) 2-8
2.2.5 識別字、關鍵字及系統函數(Identifiers, Keywords and Sy
2.2.6 將訊息顯示於標準之輸出 2-10
2.2.7 模擬監視 2-13
2.2.8 結束模擬 2-14
第3章 Verilog設計結構
3.1 設計方法(Design methodologies) 3-3
3.2 模組(Modules) 3-4
3.3 連接埠(Ports) 3-5
3.4 模組例證(Module instantiations) 3-8
3.5 資料型態(Data types) 3-9
3.5.1 數值集合 3-9
3.5.2 連接線(Nets) 3-10
3.5.3 暫存器(Registers) 3-11
3.5.4 向量(Vectors) 3-11
3.5.5 數字(Numbers) 3-12
3.5.6 參數(Parameters) 3-13
3.5.7 陣列(Array)與記憶體(Memory) 3-14
3.5.8 三態(Tri-state) 3-14
第4章 閘層(Gate Level)描述
4.1 and、or、nand、nor、xor及xnor閘 4-2
4.2 buf及not閘 4-4
4.3 實例說明 4-6
4.4 多工器(Multiplexer)實例 4-19
第5章 資料流描述設計(Dataflow Modeling)
5.1 連續指定(Continuous assignment ) 5-2
5.2 表示式(Expression) 5-3
5.2.1 常數值表示式 5-3
5.2.2 運算元(Operand) 5-4
5.2.3 運算子(Operators) 5-4
5.3 應用實例 5-22
5.3.1 3對8解碼器 5-22
5.3.2 4對2編碼器 5-24
5.3.3 4位元加法器 5-26
5.3.4 1對4解多工器 5-29
5.3.5 3位元多數(Majority)位元表決器 5-31
5.3.6 1位元全減器 5-33
第6章 行為描述
6.1 程序結構(Procedual constructs) 6-2
6.1.1 initial區塊 6-2
6.1.2 Always區塊 6-2
6.2 程序指定(Procedural assignment) 6-8
6.2.1 方塊程序指定 6-9
6.2.2 非方塊程序指定 6-12
6.3 begin...end方塊敘述 6-16
6.4 if敘述 6-16
6.5 case敘述 6-32
6.6 casez敘述 6-39
6.7 casex敘述 6-43
6.8 迴 圈 6-46
6.8.1 for迴圈 6-46
6.8.2 while迴圈 6-60
6.8.3 forever迴圈 6-61
6.8.4 repeat迴圈 6-62
6.9 命名begin...end區塊敘述 6-65
6.10 fork...join區塊敘述 6-67
6.11 wait準位感測控制 6-68
6.12 實用範例 6-69
6.12.1 二位數BCD計數器 6-69
6.12.2 四位元BCD加法器 6-74
6.12.3 十六位元組雙埠RAM 6-79
6.12.4 十六位元組單埠RAM 6-83
第7章 函數及任務
7.1 函數(Function) 7-2
7.2 任務(Task) 7-12
7.3 函數呼叫函數 7-18
7.4 任務呼叫函數及任務 7-20
7.5 系統函數與任務 7-23
7.5.1 與實數有關之系統函數與任務 7-24
7.5.2 顯示($display)與寫入($write)之系統任務 7-25
7.5.3 驅動器(drivers)計數系統函數$countdirvers 7-25
7.5.4 檔案輸出系統任務 7-26
7.5.5 完成執行之系統任務 7-27
7.5.6 時序檢查系統之任務 7-27
7.5.7 測試訊號系統任務 7-28
7.5.8 載入記憶體系統任務 7-29
7.5.9 時間刻度系統函數與任務 7-30
7.5.10 儲存與重新啟動系統任務 7-32
7.5.11 重置系統任務 7-33
7.5.12 其他系統任務與函數 7-33
第8章 自定邏輯電路與狀態機
8.1 自定邏輯電路設計方法 8-3
8.2 自定組合邏輯電路 8-3
8.3 自定序向邏輯電路 8-7
8.4 狀態機 8-11
8.4.1 Moore狀態機 8-12
8.4.2 Mealy狀態機 8-28
第9章 Verilog程式設計技巧
9.1 Verilog程式設計技巧 9-2
9.1.1 如何設計可合成電路 9-2
9.1.2 數學運算式之順序及群集 9-3
9.1.3 if敘述與case敘述之比較 9-4
9.2 編譯器指引(Compiler directives) 9-5
9.2.1 `include 9-5
9.2.2 `define與`undef 9-7
9.2.3 `timescale 9-8
9.2.4 `resetall 9-9
9.2.5 `ifdef、`else與`endif 9-9
第10章 電路的延遲時序設定
10.1 邏輯閘延遲(Gate delay) 10-2
10.2 連接線訊號轉換延遲(Net delay) 10-4
10.3 模組路徑延遲(Module path delay) 10-5
10.3.1 特定區塊(Specify blocks) 10-5
10.3.2 特定參數(Specify parameters) 10-9
10.4 邊緣感應路徑延遲(Edge-sensitive path delay) 10-10
10.5 狀態相關路徑延遲(State-dependent path delay) 10-13
10.6 延遲時間值設定 10-16
第11章 專題實務設計範例
11.1 0 ~ 9999 十進制計數器 11-2
11.2 16位元移位式乘法器 11-10
11.3 16位元固定點式乘法器 11-15
11.4 16位元布斯(Booth)乘法器 11-20
11.5 16位元移位式(Shifting)除法器 11-25
11.6 16位元重存(Restoring)與非重存(Non-Restoring)除法器 11-
11.7 移動蛇(Running snake)控制電路 11-40
11.8 鍵盤控制電路 11-52
11.9 循環餘數核對(Cyclic Redundancy Check, CRC)電路 11-62
11.10 浮點數運算器電路 11-71
11.10.1 浮點數加法器 11-72
11.10.2 浮點數乘法器 11-80