Verilog 硬體描述語言數位電路 設計實務 | 運動資訊第一站 - 2024年11月
Verilog 硬體描述語言數位電路 設計實務
本書深入淺出地介紹Verilog硬體描述語言的特性,以及電腦輔助設計工具(CAD)。
Verilog語言是一種一般性的硬體描述語言,它的語法與C語言相似,易學易用。本書是以邏輯合成的方式寫成的,可讓剛開始使用Verilog來 設計數位電路的新手們,用起來很上手。
本書目的在於藉由學習Verilog語言的過程中去瞭解硬體描述語言的設計概念,進而完成設計數位晶片的最終目標。最新版本中新增UDP,且增強Verilog 2001特色。
第一章 數位電路的設計觀念
1.1 數位系統的實作方法
1.2 典型的「半訂製」(Semi Customize)IC設計流程
第二章 Verilog硬體描述語言簡介
2.1 硬體描述語言(Hardware Description Language,HDL)和傳統數位電路設計的優缺點比較
2.2 Verilog硬體描述語言(HDL)的特性
2.3 電腦輔助設計工具(CAD)-Quick Logic的介紹
2.4 QuickLogic及Synopsys的Design Analyzer之Primitive Cell介紹
2.5 Verilog模組整合與模擬的流程(Synthesis and Simulation Flow)-使用QuickLogic
2.6 VHDL電路模擬軟體-ModelSim的介紹
2.7 VHDL電路設計與模擬的流程(VHDL design in and simulation flow)-使用ModelSim
2.8 Verilog模組合成與模擬的流程(Synthesis and Simulation Flow)-使用Synopsys的Designer Analyzer
第三章 Verilog的模組與架構
3.1 Verilog的輸出入埠敘述
3.2 Verilog資料型態(Data Types)
3.3 Verilog的時間控制(Timing Control)
3.4 Verilog的四大模型(Model)
3.5 Verilog的模組(Module)
3.6 Verilog的語法協定
3.7 階層式設計(Hierarchy Design)的觀念
第四章 能否用於電路合成的Verilog語法
4.1 不能用於電路合成的Verilog語法
4.2 能用於電路合成的Verilog語法
第五章 Verilog的敘述
5.1 Verilog常用的敘述
5.2 assign敘述
5.3 always敘述
5.4 if敘述
5.5 if…else…敘述
5.6 case敘述
5.7 casex敘述
5.8 casez敘述
5.9 if與case這二大類敘述的使用時機
5.10 for敘述
5.11 function敘述
5.12 task敘述
5.13 function與task敘述的差異
第六章 Verilog電路設計的基本觀念
6.1 訊號(signal)與變數(variable)
6.2 always中的訊號(signal)與變數(variable)
6.3 使用括弧來描述複雜的電路結構
6.4 運算元的位用寬度(operator bitwidth)
6.5 重置(Reset)訊號與預設(Preset)訊號的重要性
第七章 算術運算
7.1 『數字系統』基本介紹
7.2 『乘法』的基本觀念
7.3 『除法』的基本觀念
7.4 『無號數整數』的運算
7.5 『有號數整數』的運算
7.6 『無號數小數』的運算
7.7 『有號數小數』的運算
第八章 組合邏輯電路與簡易的算術邏輯運算
8.1 組合邏輯(Combination Logic)電路
8.2 簡易的算術邏輯運算單元(ALU)的設計
第九章 循序邏輯電路
9.1 記憶元件設計
9.2 移位暫存器(Shift Register)
9.3 計數器電路(Counter)
9.4 除頻電路(Frequency Divider)
第十章 有限狀態機器
10.1 循序電路的基本模式
10.2 同步(Synchronous)與非同步(Asynchronous)循序電路
10.3 有限的狀態機器(Finite State Machine,FSMs)的簡介
10.4 有限狀態機器的設計實例
第十一章 進階設計概念
11.1 資源共用(Resource Sharing)
11.2 Verilog的編譯命令(Compiler Directives)
11.3 易於調整的設計方式(Scalable Design)
11.4 撰寫經濟實用的HDL程式碼之原則
11.5 除彈跳電路(DeBounce circuit)與單一脈波電路(Mono pulse circuit)
11.6 非同步Reset
11.7 節省電力的基本方法
第十二章 記憶體設計與應用
12.1 隨機存取記憶體(Random Access Memory,RAM)
12.2 隨機存取記憶體(RAM)的擴充
12.3 隨機存取記憶體(RAM)的應用
12.4 唯讀記憶體(Read Only Memory,ROM)
12.5 唯讀記憶體(ROM)的擴充
12.6 唯讀記憶體(ROM)的應用
第十三章 Verilog 2001增強特色
13.1 Configuration
13.2 generate
13.3 Constant function
13.4 Indexed vector part select
13.5 Multi-dimensional Array
13.6 Array Bit and Part Select
13.7 Signed Arithmetic Extension
13.8 Power Operator
13.9 Re-entrant Task and Recursive Function
13.10 Comma-separated Sensitivity List
13.11 Combinational Logic Sensitivity
13.12 Enhanced File I/O
13.13 Automatic Width Extension Past 32 bits
13.14 Default Net with Continuous Assign
13.15 Disable Default Net Declaration
13.16 Explicit In-line Parameter Passing
13.17 Combined Port/Data Type Declaration
13.18 ANSI-style Port List
13.19 Reg Declaration With Initialization
13.20 "Register" Changed To "Variable"
13.21 Enhanced PLA Modeling
13.22 Accurate BNF, with Subsection
13.23 Enhanced Conditional Compilation
13.24 File and Line Compiler Directive
13.25 Attribute
13.26 Standard Random Number Generator
13.27 Enhanced Invocation Option Test
13.28 On-detect Pulse Error Propagation
13.29 Negative Pulse Detection
13.30 New Timing Constraint Check
13.31 Negative Timing Constraint
13.32 Enhanced SDF support
13.33 Extended VCD File / PLI Enhancement
13.34 Verilog 2001新增的保留字、運算子、函數、compiler directive以及token
第十四章 Verilog的檔案處理與除錯輔助功能
14.1 測試平台(TestBench)
14.2 Verilo的檔案處理
14.3 Verilog的除錯輔助功能
14.4 Verilog的時間格式與精確度
14.5 資料型態轉換
14.6 Verilog的系統任務
第十五章 User Defined PrimitiveS
15.1 User Defined PrimitiveS(UDPs)
15.2 組合邏輯UDP
15.3 循序邏輯UDP
附錄A Verilog的識別字(Keywords)
序
本書是教導學習Verilog硬體描述語言的書籍,目的在於藉由學習Veri-log語言的過程中去瞭解硬體描述語言的設計概念,進而完成設計數位晶片的最終目標。
本書使用Verilog硬體描述語言來實作出來,每個電路模組都是電腦輔助設計工具ModelSim之下,完成了模組電路作編譯、合成、仿真以及驗證…等等步驟,所以本書的各個模組都是可以實作得出來的。