Verilog 硬體描述語言 (Verilog HDL: A Guide to Digital Design and Synthesis, 2/e)
內容描述
內容簡介:
本書涵蓋VerilogHDL的廣泛內容,對邏輯合成部份有深入的探討並輔以實例說明。本書內容包含運用Verilog、階層模組的觀念、Verilog的基本概念、邏輯閘層次模型、資料處理模組、行為模型、任務與函數、有用的程式技巧及高階Verilog的邏輯設計、本書適合作為大學電子、資工「VHDL設計」、「VHDL晶片設計」等課程所使用。
本書特色:
1.本書涵蓋Verilog的廣泛內容,包含基礎Verilog語言到高階Verilog語言,都有詳盡的分析與討論。
2.本書對Verilog語言有充份的探討及實例說明,能幫助讀者了解Verilog的程式結構,進而學會完成設計IC的方法。
目 錄:
Part1 基本Verilog的使用
第1章 導論:運用VerilogHDL作邏輯設計
1.1計算機輔助數位設計的發展1-2
1.2硬體描述語言(HDL)出場1-3
1.3標準設計流程1-4
1.4硬體描述語言的重要性1-6
1-5VerilogHDL的普及1-7
1-6硬體描述語言未來的趨勢1-7
第2章 階層模組的觀念
2.1設計方法2-2
2.24位元漣波進位計數器2-4
2.3模 組2-5
2.4別 名2-8
2.5模 擬2-10
2.6例 題2-11
2.6.1 設計區塊2-11
2.6.2 觸發區塊2-13
2.7總 結2-16
2.8習 題2-16
第3章 使用Verilog的基本概念
3.1語法協定3-2
3.1.1 空白3-2
3.1.2 註解3-3
3.1.3 運算子3-3
3.1.4 數字規格3-3
3.1.5 字串3-5
3.1.6 定義名稱(Identifers)與關鍵字(Keywords)3-5
3.2資料型態3-5
3.2.1 數值組3-5
3.2.2 接線3-6
3.2.3 暫存器3-7
3.2.4 向量3-8
3.2.5 整數、實數、和時間暫存資料型態3-10
3.2.6 陣列3-11
3.2.7 記憶體3-12
3.2.8 參數3-12
3.2.9 字串3-13
3.3系統任務和編譯指令3-14
3.3.1 系統任務3-14
3.3.2 編譯命令3-18
3.4總 結3-19
3.5習 題3-20
第4章 模組與輸出入埠
4.1模 組4-2
4.2輸出入埠4-6
4.2.1 輸出入埠的列表4-6
4.2.2 埠的宣告4-7
4.2.3 輸出入埠的連接規定4-9
4.2.4 輸出入埠與外部訊號連接的方法4-11
4.3階層化的取名方法4-13
4.4總 結4-15
4.5習 題4-15
第5章 邏輯閘層次模型
5.1閘的種類5-2
5.1.1 And/Or閘5-2
5.1.2 Buf/Not閘5-5
5.1.3 別名陣列5-7
5.1.4範例5-8
5.2閘的延遲5-15
5.2.1 上昇,下降,和關閉延遲5-15
5.2.2 Min/Typ/Max數值5-17
5.2.3 延遲的範例5-18
5.3總 結5-21
5.4習 題5-21
第6章 資料處理模型
6.1持續指定的描述6-3
6.1.1 隱含式的持續指定6-4
6.1.2 隱含式的接線宣告6-5
6.2延 遲6-5
6.2.1 正規指定延遲6-6
6.2.2 隱含式連續指定延遲6-7
6.2.3 接線宣告延遲6-7
6.3運算式、運算子與算元6-8
6.3.1 運算式6-8
6.3.2 運算元6-8
6.3.3 運算子6-9
6.4運算子的種類6-9
6.4.1 算術運算子6-11
6.4.2 邏輯運算子6-13
6.4.3 比較運算子6-14
6.4.4 相等運算子6-14
6.4.5 位元運算子6-15
6.4.6 化簡運算子6-17
6.4.7 移位運算子6-18
6.4.8 連結運算子6-18
6.4.9 複製運算子6-19
6.4.10 條件運算子6-19
6.4.11 運算子的優先順序6-21
6.5例 題6-21
6.5.1 四對一的多工器6-22
6.5.2 四位元加法器6-24
6.5.3 漣波進位計數器6-27
6.6總 結6-33
6.7習 題6-33
第7章 行為模型
7.1結構化程序7-3
7.1.1 initial敘述7-3
7.1.2 always敘述7-6
7.2程序指定7-7
7.2.1 阻礙指定7-8
7.2.2 無阻礙指定7-9
7.3時序控制7-13
7.3.1 延遲基礎時序控制7-14
7.3.2 事件基礎時序控制7-17
7.3.3 位準感測時序控制7-21
7.4條件敘述7-21
7.5多路徑分支7-23
7.5.1 case敘述7-23
7.5.2 關鍵字casex,casez7-26
7.6迴圈7-27
7.6.1 while迴圈7-27
7.6.2 for迴圈7-29
7.6.3 Repeat迴圈7-30
7.6.4 forever迴圈7-32
7.7循序和平行區塊7-33
7.7.1 區塊型態7-33
7.7.2 區塊的特殊特性7-36
7.8產生區塊7-39
7.8.1 迴圈化產生7-40
7.8.2 條件化產生7-44
7.8.3 組合條件化產生7-46
7.9範 例7-47
7.9.1 4對1多工器7-47
7.9.2 4位元計數器7-48
7.9.3 紅綠燈控制器7-49
7.10總 結7-55
7.11習 題7-57
第8章 任務與函數
8.1任務與函數的不同之處8-2
8.2任 務8-3
8.2.1 任務宣告與引用8-4
8.2.2 任務範例8-5
8.2.3 自動任務8-8
8.3函 數8-10
8.3.1 函數的宣告與引用8-10
8.3.2 範例8-11
8.3.3 自動(遞迴)函數8-14
8.3.4 常數函數8-16
8.3.5 有號函數8-17
8.4總 結8-17
8.5習 題8-18
第9章 有用的程式技巧
9.1程序持續指定9-2
9.1.1 assign和deassign9-2
9.1.2 force和release9-4
9.2複寫參數9-6
9.2.1 defparam敘述9-6
9.2.2 模組別名參數指定9-7
9.3有條件的編譯與執行9-9
9.3.1 有條件的編譯9-10
9.3.2 有條件的執行9-11
9.4時間刻度9-13
9.5有用的系統任務9-15
9.5.1 檔案輸出9-16
9.5.2 顯示出階層9-18
9.5.3 閃控9-19
9.5.4 亂數產生器9-20
9.5.5 從檔案來設定記憶體的初始值9-22
9.5.6 數值變化轉儲檔案9-23
9.6總 結9-25
9.7習 題9-26
Part2 高等Verilog技巧
第10章 時序與延遲
10.1延遲的模型10-3
10.1.1 分散式延遲模型10-3
10.1.2 整組式延遲模型10-4
10.1.3 接腳對接腳延遲模型10-5
10.2路徑延遲模型10-6
10.2.1 指定區塊10-7
10.2.2 在指定區塊內10-8
10.3檢查時間設定10-16
10.3.1 $setup與$hold的檢查方式10-17
10.3.2 $width檢查10-19
10.4延遲時間加入原有的設計10-20
10.5總 結10-21
10.6習 題10-22
第11章 交換層次的模型
11.1交換層次的元件11-2
11.1.1 金氧半導體式的開關11-3
11.1.2 互補式金養半導體開關11-4
11.1.3 雙向開關11-5
11.1.4 電源與接地11-6
11.1.5 電阻式開關11-7
11.1.6 在開關中的延遲設定11-8
11.2範 例11-9
11.2.1 互補半導體非或(NOR)邏輯閘11-9
11.2.2 2對1多工器11-11
11.2.3 簡單的互補式電晶體正反器11-13
11.3總 結11-16
11.4習 題11-16
第12章 自定邏輯閘
12.1自己定義邏輯閘的基本概念12-2
12.1.1 自己定義的邏輯閘的可用基本關鍵字12-3
12.1.2 自己定義的邏輯閘的使用原則12-3
12.2自己定義的組合邏輯電路12-4
12.2.1 自訂組合邏輯閘的定義12-4
12.2.2 狀態真值表12-6
12.2.3可以忽略值的速記符號12-7
12.2.4 使用自己定義的邏輯閘12-8
12.2.5 一個使用自己定義的組合邏輯閘的範例12-9
12.3循序自定邏輯閘12-12
12.3.1 訊號位準敏感循序自定邏輯12-13
12.3.2 訊號緣敏感循序自定邏輯12-15
12.3.3 循序自定邏輯範例12-17
12.4自定邏輯閘中的一些常用速記符號12-19
12.5自定邏輯閘的使用方針12-20
12.6總 結12-21
12.7習 題12-22
第13章 程式語言介面
13.1使用程式語言介面13-4
13.2連結與引用程式語言介面的任務13-5
13.2.1 連結PLI的工作13-6
13.2.2 引用程式語言介面13-6
13.2.3 使用程式語言介面的流程13-7
13.3內部資料表示模式13-8
13.4程式語言介面的通用函示庫13-11
13.4.1 存取程序13-11
13.4.2 工具程序13-20
13.5結 論13-24
13.6習 題13-26
第14章 邏輯合成
14.1什麼是邏輯合成?14-2
14.2邏輯合成的影響14-5
14.3使用Verilog作邏輯合成14-7
14.3.1 Verilog語法14-7
14.3.2 Verilog運算元14-9
14.3.3 一些Verilog語法的解釋14-10
14.4使用邏輯合成的設計流程14-14
14.4.1 由高階語言到邏輯閘14-14
14.4.2 一個由高階語言到邏輯閘的範例14-19
14.5驗證邏輯層次的線路14-23
14.5.1 功能驗證14-24
14.6撰寫適合邏輯合成Verilog程式的秘訣14-27
14.6.1 Verilog語法的風格14-27
14.6.2 區分設計14-31
14.6.3 設計限制指定14-33
14.7可以作邏輯合成循序電路設計的範例14-34
14.7.1 設計規格14-34
14.7.2 線路需求14-34
14.7.3 有限狀態機器14-35
14.7.4 Verilog語法14-36
14.7.5 科技資料庫14-39
14.7.6 設計限制14-40
14.7.7 邏輯合成14-40
14.7.8 最佳化後的邏輯閘層次的設計14-40
14.7.9 驗證14-43
14.8總 結14-45
14.9習 題14-46
第15章 進階驗證技巧
15.1 傳統驗證流程15-3
15.1.1 架構模型15-5
15.1.2 功能驗證環境15-6
15.1.3 模擬15-9
15.1.4 分析15-12
15.1.5 涵蓋率15-13
15.2 查驗式驗證法15-14
15.3 正規驗證15-16
15.3.1 半正規驗證15-17
15.3.2 等效驗證15-19
15.4 總 結15-20
Part3 附 錄
附錄A 強度模型和進階接線定義
A.1強度等級14-2
A.2信號競爭14-3
A.2.1 具有相同值與不同強度的多個信號14-3
A.2.2 具有不同值與相同強度的多個信號14-3
A.3進階的接線型態14-3
A.3.1 tri14-4
A.3.2 trireg14-4
A.3.3 tri0與tri114-5
A.3.4 supply0與supply114-5
A.3.5 wor、wand、trior與triand14-6
附錄B PLI常式列表
B.1慣例14-2
B.2存取常式14-2
B.2.1 處理常式14-2
B.2.2 接鄰常式14-4
B.2.3 觀察值關連(VCL)常式14-5
B.2.4 提取常式14-6
B.2.5 工具存取常式14-8
B.2.6 修改常式14-9
B.3工具(tf_)常式14-9
B.3.1 取得呼叫任務與函式的資訊14-10
B.3.2 取得引數列的資訊14-10
B.3.3 取得參數值14-10
B.3.4 放置參數值14-11
B.3.5 監看參數的變化14-11
B.3.6 同步化任務14-12
B.3.7 長算術14-13
B.3.8 顯示訊息14-13
B.3.9 各式的工具常式14-14
B.3.10 管理任務14-14
附錄C 關鍵字,系統任務,編譯器指令的列表
C.1關鍵字14-2
C.2系統任務與函式14-3
C.3編譯器指令(CompilerDirectives387)14-3
附錄D 正式的語法定義
D.1SourceText14-3
D.1.1 LibrarySourceText14-3
D.1.2 ConfigurationSourceText14-3
D.1.3 ModuleandPrimitiveSourceText14-4
D.1.4 ModuleParametersandPorts14-4
D.1.5 ModuleItems14-5
D.2Declarations14-6
D.2.1 DeclarationTypes14-6
D.2.2 DeclarationDataTypes14-8
D.2.3 DeclarationLists14-9
D.2.4 DeclarationAssignments14-9
D.2.5 DeclarationRanges14-9
D.2.6 FunctionDeclarations14-10
D.2.7 TaskDeclarations14-10
D.2.8 BlockItemDeclarations14-11
D.3PrimitiveInstances14-12
D.3.1 PrimitiveInstantiationandInstances14-12
D.3.2 PrimitiveStrengths14-13
D.3.3 PrimitiveTerminals14-13
D.3.4 PrimitiveGateandSwitchTypes14-13
D.4ModuleandGeneratedInstantiation14-14
D.4.1 ModuleInstantiation14-14
D.4.2 GeneratedInstantiation14-14
D.5UDPDeclarationandInstantiation14-15
D.5.1 UDPDeclaration14-15
D.5.2 UDPPorts14-15
D.5.3 UDPBody14-16
D.5.4 UDPInstantiation14-16
D.6BehavioralStatements14-16
D.6.1 ContinuousAssignmentStatements14-16
D.6.2 ProceduralBlocksandAssignments14-17
D.6.3 ParallelandSequentialBlocks14-17
D.6.4 Statements14-17
D.6.5 TimingControlStatements14-18
D.6.6 ConditionalStatements14-19
D.6.7 CaseStatements14-20
D.6.8 LoopingStatements14-20
D.6.9 TaskEnableStatements14-21
D.7SpecifySection14-21
D.7.1 SpecifyBlockDeclaration14-21
D.7.2 SpecifyPathDeclarations14-21
D.7.3 SpecifyBlockTerminals14-22
D.7.4 SpecifyPathDelays14-22
D.7.5 SystemTimingChecks14-24
D.8Expressions14-27
D.8.1 Concatenations14-27
D.8.2 Functioncalls14-27
D.8.3 Expressions14-28
D.8.4 Primaries14-29
D.8.5 ExpressionLeft-SideValues14-30
D.8.6 Operators14-31
D.8.7 Numbers14-31
D.8.8 Strings14-32
D.9General14-32
D.9.1 Attributes14-32
D.9.2 Comments14-32
D.9.3 Identifiers14-33
D.9.4 IdentifierBranches14-34
D.9.5 Whitespace14-35
附錄E Verilog的花絮
附錄F Verilog範例
F.1可合成的FIFO模型14-2
F.2行為模式的DRAM模型14-12
參考書目參-1
光碟使用說明1
圖1-1 標準設計流程1-4
圖2-1 上而下的設計方法2-3
圖2-2 下而上的設計方法2-3
圖2-3 漣波進位進位計數器2-4
圖2-4 T型正反器2-4
圖2-5 漣波進位計數器的階層化架構2-5
圖2-6引用設計區塊的模擬區塊2-10
圖2-7 在一個多餘的最高層次區塊中引用設計區塊與模擬區塊2-11
圖2-8 觸發與輸出波形2-13
圖3-13-7
圖4-1 Verilog模組的組成元件4-3
圖4-2 SR閂4-4
圖4-3 Top與全加器模組別名的輸出與輸入埠4-6
圖4-4 輸出入埠的相連規定4-9
圖4-5 SR閂模擬模組的階層化架構圖4-14
圖5-1 基本閘5-3
圖5-2 Buf/Not閘5-5
圖5-3 Bufif/notif閘5-6
圖5-4 4-to-1多工器5-8
圖5-5 多工器的邏輯電路5-8
圖5-6 一位元全加器5-12
圖5-7 四位元全加器5-13
圖5-85-19
圖5-95-20
圖6-1 延遲6-6
圖6-2 四位元的漣波進位計數器6-27
圖6-3 T型正反器6-28
圖6-4 有clear訊號且負緣觸發的D型正反器6-28
圖6-5 主從式JK正反器6-35
圖6-6 有clear與count_enable訊號的四位元同步計數器6-36
圖7-17-50
圖9.1 數值變化轉儲檔案除錯分析的流程9-24
圖10-1 分散式延遲模型10-3
圖10-2 整組式延遲模型10-5
圖10-3 接腳對接腳延遲模型10-6
圖10-4 平行連接10-8
圖10-5 完全連接10-10
圖10-6 設定與保持時間10-17
圖10-7 延遲時間註記10-21
圖11-1 N-通道金氧半導體與P-通道金氧半導體開關11-3
圖11-211-4
圖11-311-5
圖11-411-9
圖11-5 二對一多工器11-12
圖11-611-13
圖11-7 正反器(反相器)11-14
圖12-1 自己定義的邏輯閘可用的關鍵字12-3
圖12-2 4對1多工器12-9
圖12-3 正反器12-13
圖12-4 負緣觸發暫存器12-15
圖13-113-3
圖13-213-7
圖13-313-8
圖13-413-9
圖13-513-10
圖13-613-11
圖14-1 設計工程師心中的邏輯合成工具著力點14-4
圖14-2 基本計算機輔助邏輯合成流程14-5
圖14-314-12
圖14-414-15
圖14-514-18
圖14-614-21
圖14-714-31
圖14-814-32
圖14-914-33
圖14-1014-35
圖14-1114-42
圖15-1 傳統驗證流程15-3
圖15-2 系統模型15-6
圖15-3 一個標準的功能驗證環境15-8
圖15-5 硬體加速15-10
圖15-615-12
圖15-7 查驗式檢驗15-15
圖15-8 正規驗證流程15-17
圖15-9 半正規驗證的流程15-18
圖15-10 等效驗證15-19
圖F-1 FIFO的輸出輸入埠14-2
圖F-2 DRAM的輸出輸入埠14-12
表3-13-6
表3-23-6
表3-3 特殊字元3-13
表3-4 格式定義表3-15
表5-1 真值表5-4
表5-2 真值表5-5
表5-3 真值表5-6
表6-1 運算子的種類與符號6-10
表6-2 相等運算子6-15
表6-3 位元運算子的真值表6-16
表6-4 運算子的優先順序6-21
表8-1 任務與函數8-3
表11-111-4
表11-2 訊號強度衰減對照表11-7
表11-3 延遲時間設定與半導體與互補式半導體開關的關係11-8
表11-4 延遲時間設定與雙向開關的關係11-8
表12-112-19
表13-113-21
表14-1 適合邏輯合成的Verilog語法14-8
表14-2 可合成的運算元14-9
表A-1 強度等級14-2
表B-1 處理常式14-3
表B-2 接鄰常式14-4
表B-3 觀察值關連常式14-6
表B-4 提取常式14-6
表B-5 工具存取常式14-8
表B-6 修改常式14-9
表B-7 取得呼叫任務與函式的資訊14-10
表B-8 取得引數列的資訊14-10
表B-9 取得參數值14-10
表B-10 放置參數值14-11
表B-11 監看參數的變化14-11
表B-12 同步化任務14-12
表B-13 長算術14-13
表B-14 顯示訊息14-13
表B-15 各式的工具常式14-14
表B-16 管理任務14-14
例題2-1 模組的別名2-8
例題2-2 非法的巢狀模組宣告2-9
例題2-3 漣波進位計數器2-11
例題2-4 T型正反器2-12
例題2-5 D型正反器2-12
例題2-6 觸發區塊2-14
範例3-3 顯示任務3-15
範例3-4 特殊字元3-16
範例3-5 Monitorstatement3-17
範例3-6 中止和完成模擬運算3-18
範例3-7 define的用法3-19 範例3-8
include的用法3-19
範例4-1 SR閂的各個部分4-4
範例4-2 輸出入埠的列表4-7
範例4-3 埠的宣告4-7
範例4-4 DFF埠的宣告4-8
範例4-5 ANSIC的宣告使用習慣4-8
範例4-6 非法的輸出入埠連接4-10
範例4-7 依照輸出入埠的列表順序連接4-11
範例4-8 階層化架構名稱(HierarchicalNames)4-14
範例5-1 And/Or閘的取別名5-3
範例5-2 Bur/Not閘的取別名5-5
範例5-3 取別名bufif/notif閘5-7
範例5-4 別名陣列5-7
範例5-5 多工器的Verilog程式5-9
範例5-6 模擬程式5-10
範例5-7 一位元全加器的Verilog程式5-12
範例5-8 四位元漣波進位全加器5-13
範例5-9 模擬程式5-14
範例5-10 延遲設定的型態5-16
範例5-11 最大,典型,最小延遲數值5-17
範例5-12 用Verilog定義模組D5-19
範例5-13 模擬D模組5-19
範例6-1 持續指定6-4
範例6-2 以邏輯方程式的方式設計的四對一多工器6-22
範例6-3 用條件運算子來設計一個四對一的加法器6-23
範例6-4 運用資料處理運算子設計的4位元全加器6-24
範例6-5 四位元進位預算全加器6-25
範例6-6 漣波進位計數器6-29
範例6-7 T型正反器6-29
範例6-8 負緣觸發D型正反器6-30
範例6-9 漣波進位計數器的觸發模組6-31
範例7-1 initial敘述7-3
範例7-2 初始值指定7-5
範例7-3 輸出入埠初始值指定7-5
範例7-4 初始值指定結合ANSIC標準的輸出入埠宣告方式7-6
範例7-5 always敘述7-6
範例7-6 阻礙指定7-8
範例7-7 無限定指定7-10
範例7-8 無阻礙指定消除競爭情況7-12
範例7-9 使用阻礙指定來實現無阻礙指定7-13
範例7-10 正規延遲控制7-14
範例7-11 指定內部延遲7-15
範例7-12 零延遲控制7-17
範例7-13 正規事件控制7-18
範例7-14 命名事件控制7-18
範例7-15 事件或控制7-19
範例7-16 事件或控制7-19
範例7-17 使用@*7-20
範例7-18 條件敘述7-22
範例7-19 四對一多工器7-24
範例7-20 包含x和z的case敘述7-25
範例7-21 casex7-27
範例7-22 while迴圈7-28
範例7-23 for迴圈7-29
範例7-24 Repeat迴圈7-31
範例7-25 forever迴圈7-32
範例7-26 循序區塊7-34
範例7-27 平行區塊7-35
範例7-28 巢狀區塊7-36
範例7-29 命名區塊7-37
範例7-30 禁能命名區塊7-38
範例7-31 對N位元的匯流排做位元互斥運算7-41
範例7-32 產生一個漣波型加法器7-42
範例7-33 參數化乘法器7-45
範例7-34 組合條件化產生7-46
範例7-35 行為模型4對1的多工器7-47
範例7-36 行為模型4-bits計數器7-48
範例7-37 紅綠燈控制器7-51
範例7-38 紅綠燈控制器的模擬7-54
範例8-1 宣告任務的語法8-4
範例8-2 任務中的input與output8-5
範例8-3 利用ANSIC的慣用方式來定義任務8-7
範例8-4 直接作用於reg變數上的任務8-7
範例8-5 自動任務8-9
範例8-6 宣告函數的語法8-10
範例8-7 奇偶計數器8-12
範例8-8 使用ANSIC的方式來定義函數8-13
範例8-9 左/右移位器8-13
範例8-10 利用遞迴呼叫來做階乘8-15
範例8-11 常數函數8-16
範例8-12 有號函數8-17
範例9-1 程序持續指定D型正反器9-3
範例9-2 defparam敘述9-6
範例9-3 ANSIC形式的參數宣告9-7
範例9-4 模組別名參數數值9-8
範例9-5 有條件的編譯9-10
範例9-6 使用$test$plusargs進行有條件的執行9-11
範例9-7 使用$value$plusargs的條件執行9-12
範例9-8 時間刻度9-13
範例9-9 檔案描述符號9-16
範例9-10 顯示出階層9-19
範例9-11 閃控9-20
範例9-12 亂數產生9-21
範例9-13 利用$random任務產生正整數以及負整數9-21
範例9-14 設定記憶體的初始值9-22
範例9-15 數值變化轉儲檔案的系統任務9-24
範例10-1 分散式延遲10-3
範例10-2 整組延遲模型10-5
範例10-3 接點到接點的延遲10-7
範例10-4 平行連接10-9
範例10-5 完全連接10-10
範例10-6 Specparam10-12
範例10-7 條件式路徑延遲10-12
範例10-8 上昇延遲,下降延遲與關閉延遲時間10-14
範例10-9 配合著最小值、最大值與標準值的路徑延遲10-15
範例11-1 NMOS與PMOS開關的初始化11-3
範例11-2 使用CMOS開關11-5
範例11-3 使用雙向開關11-6
範例11-4 非或邏輯閘的Verilog描述11-10
範例11-5 以交換層次的寫法來描述一個多工器11-12
範例11-6 反相器11-14
範例11-7 互補式電晶體正反器11-15
範例12-1 名字與埠定義12-5
範例12-2 ANSIC形式的組合邏輯閘宣告12-5
範例12-3 udp_or12-6
範例12-4 使用自定邏輯閘12-8
範例12-5 4對1多工器的自訂邏輯閘12-10
範例12-6 4對1多工器的測試模組12-11
範例12-7 訊號位準敏感循序自定邏輯12-14
範例12-8 ANSIC形式的循序自定邏輯閘宣告12-15
範例12-9 有清除輸入的負緣觸發暫存器12-16
範例12-10 使用自定邏輯的T型暫存器12-17
範例12-11 水波型計數器12-18
範例13-1 2對1多工器的Verilog程式13-9
範例13-2 存取所有的輸出入埠13-14
範例13-3 觀察連接線上邏輯值的變化13-16
範例13-4 自定的顯示函式13-18
範例13-5 用C語言寫的my_stop_finish13-22
範例14-1 暫存器轉移層次的敘述14-20
範例14-2 比較器的邏輯閘層次的描述14-22
範例14-3 比較器的測試模組14-24
範例14-4 14-25
範例14-5 輸出波形圖14-26
範例14-6 報紙販賣機的暫存器移轉層次的敘述14-36
範例14-7 經過最佳化後的邏輯層次程式14-40
範例14-8 報紙販賣機的測試模組14-43
範例14-9 報紙販賣機的測試輸出14-44
範例F-1 可合成的FIFO模型14-3
範例F-2 14-13