Download - 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog
![Page 1: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/1.jpg)
1
Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述
![Page 2: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/2.jpg)
2
Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述
![Page 3: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/3.jpg)
3
Verilog 硬體描述語言的基本架構
module
Behavioral-level
Dataflow-level
Gate-level
Switch-level
enmodule
![Page 4: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/4.jpg)
4
模組內之四種層次描述電路 開關層次 (Switch-Level): 描述元件開關
及儲存點組合而成 邏輯層次 (Gate-Level): 描述邏輯閘的連
接形式 資料流層次 (Data-Level): 描述電路的資
料如何在暫存器中儲存與傳送 行為層次 (Behavioral-Level): 描述模組
之功能
![Page 5: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/5.jpg)
5
暫存器轉移層次(Register-Transfer-Level, RTL) 資料流層次 (Data-Level) + 行為層次 (B
ehavioral-Level) 經合成而形成暫存器轉移層次 (Register-Transfer-Level, RTL)
![Page 6: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/6.jpg)
6
Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述
![Page 7: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/7.jpg)
7
Verilog 模組描述的基本格式Module < 模組名稱 >< 模組輸入輸出埠宣告
>
模組四個層次的描述 ;
endmodule
![Page 8: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/8.jpg)
8
以開關層次描述一 NOT 閘之模組module inv (ina, out);input ina;output out;supply1 vcc;supply0 gnd;pmos (out, vcc, ina);nmos (gnd, out, ina);endmodule
![Page 9: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/9.jpg)
9
以邏輯閘層次描述一 OR 閘之模組module ORGATE (A, B, F);input A;input B;output F;or u1(F, A, B);endmodule
![Page 10: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/10.jpg)
10
以資料流層次描述一 AND 閘之模組module ANDGATE (A, B, F);input A;input B;output F;wire F;assign F=A&B;endmodule
![Page 11: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/11.jpg)
11
以行為層次描述一 NAND 閘之模組module NANDGATE (A, B, F);input A;input B;output F;reg F;always @(A or B);beginF=~(A & B);endendmodule
![Page 12: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/12.jpg)
12
Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述
![Page 13: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/13.jpg)
13
Create a New Project
![Page 14: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/14.jpg)
14
Design Entry
![Page 15: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/15.jpg)
15
Create new document
![Page 16: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/16.jpg)
16
Design Wizard
![Page 17: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/17.jpg)
17
Design Wizard---Language
![Page 18: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/18.jpg)
18
Design Wizard---Name
![Page 19: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/19.jpg)
19
Design Wizard---Ports
![Page 20: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/20.jpg)
20
OR Gate HDL Editor
![Page 21: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/21.jpg)
21
Insert Programs
![Page 22: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/22.jpg)
22
Check Syntax
![Page 23: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/23.jpg)
23
Synthesize Gate level circuit
![Page 24: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/24.jpg)
24
Create Macro
![Page 25: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/25.jpg)
25
Update Macro
![Page 26: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/26.jpg)
26
在 Schematic Editor 取出 OR GATE
![Page 27: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/27.jpg)
27
模擬結果
![Page 28: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/28.jpg)
28
Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述
![Page 29: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/29.jpg)
29
Verilog 的基本語法規定 關鍵字如 module, endmodule, assign,
wire, always, input, output, begin, end… 等必須使用小寫
識別字的大小寫是有差別的,第一個字必須是使用英文字母
單行註解用 //; 多行註解用 /* … */ 字串以雙引號表示,如 “ This is a string
”
![Page 30: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/30.jpg)
30
Verilog 的數字格式 (1)
有規定長度的數字 (sized numbers) <size>’<base format><number> <size>: 位元數 <base format>:d10 進位 ,h16 進位 , o
8 進位 ,b 2 進位 Example: F=4’b0101; A=16’h6FA3
![Page 31: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/31.jpg)
31
Verilog 的數字格式 (2)
不規定長度的數字 (unsized numbers) ’<base format><number> <base format>:d10 進位 ,h16 進位 , o
8 進位 ,b 2 進位 位元數之大小由模擬器或硬體機定值來決定
Example: b=’ha5; b=a5(32 位元之 16進位數 )
![Page 32: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/32.jpg)
32
Verilog 的運算子
![Page 33: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/33.jpg)
33
![Page 34: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/34.jpg)
34
![Page 35: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/35.jpg)
35
Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述
![Page 36: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/36.jpg)
36
(1) 、數值組集 (Value Set) Verilog 有四種表示數值,即 0 、 1 、 x 、
z 以及八種信號強度
![Page 37: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/37.jpg)
37
(2) 、接線 (net) 接線 (net) 表示在硬體元件的接點連接線 關鍵字可以分為下列六種
wire: 內定為一個位元的值,機定值為高阻抗 wand: Wired-AND 型接線 waor: Wired-OR 型接線 tri trior trireg
![Page 38: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/38.jpg)
38
(3) 、暫存器 (reg) Verilog 中 reg 相當於一個變數,其機定
值為 x Example: reg out; 宣告一個 out 變數,
reg 所宣告的變數必須在 always 的區塊描述內使用module NANDGATE (A, B, F);input A;input B;output F;
reg F;always @(A or B);beginF=~(A & B);endendmodule
![Page 39: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/39.jpg)
39
(4) 、向量 (Vectors) 向量 (Vectors) 表示多位元的元件, wir
e 及 reg 都可定義為向量格式 Examples:
wire A[7:0]; // 宣告有一 8 位元的 BUS reg [0:15] out; // 宣告有一 16 位元寬度的向
量暫存器變數 out
![Page 40: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/40.jpg)
40
(5) 、整數 (Integer) 整數之關鍵字為 integer ,最少要 32 位
元, integer 宣告可帶正負號 Example: integer count; initial count = 0;
![Page 41: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/41.jpg)
41
(6) 、實數 (Real) 實數之關鍵字為 real ,可用十進制或帶
有指數表示 Example: real w, x; initial begin w = 5.2; x = 25e6;
![Page 42: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/42.jpg)
42
(7) 、時間 (Time) 時間之關鍵字為 time ,主要功能在描述
儲存模擬的時間,也就是取得目前的模擬時間,最少為 64 位元的資料
Example: time storage_time; initial storage_time=$time
![Page 43: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/43.jpg)
43
(8) 、陣列 (Arrays) Verilog 所提供陣列的儲存內容可以是整
數、暫存資料、時間及向量,但不能為實數而且只適用於一維陣列
表示格式為 <array_name>[<subscript>] integer A[0:15];16 個變數 A 的陣列 reg [3:0] B[0:15];16 個變數 B 的陣列,每
一個 B 的位元寬度為 4 位元
![Page 44: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/44.jpg)
44
(9) 、記憶體 (Memories) 記憶體是一個暫存器的陣列,而陣列中的每
一個物件都視為一個 word ,每一個 word可以是 1 個位元或是多個位元所組成
reg [15:0] memory1 [0:1023]/* 宣告記憶體 memory1 為 16 位元 1K word 的大小 */
reg memory2 [0:1023]/* 宣告記憶體 memory2 為 1 位元 1K word 的大小 */
![Page 45: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/45.jpg)
45
(10) 、參數 (Parameters) 主要作用在設定一個固定常數,此常數
可在每一次編譯時更改其值 parameter LGG=100;// 宣告一常數 LGG
等於 100
![Page 46: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/46.jpg)
46
(11) 、字串 (Strings) 字串的作用在指定給暫存器,若長度大
於 reg 的長度,則其左邊的位元會被刪掉,若長度小於 reg 的長度,則其左邊的位元會以零補之
Reg [8*16:1] string_value; initial string_value=“good morning”
![Page 47: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/47.jpg)
47
Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述
![Page 48: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/48.jpg)
48
事件基礎時間控制(Event-based timing control) Event 就是一個 wire 當暫存器改變時就是事件,此事件可用來觸發
一個敘述或包含多個敘述的區塊,且模組的輸入埠接收到一個新值也算是一個事件
Event-based timing control 可包含 (1) Regular event control (2) Named event control (3) Event OR control (4) Level-sensitive timing control
![Page 49: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/49.jpg)
49
Regular event control 代表符號為 @ ,它是表示當信號產生正緣 (posedge) ,負緣 (negedge) ,轉換(transition) 或數值改變時,其相關敘述才會被執行
always @(clock) Q=J; 當 clock信號值改變時就執行 Q=J 敘述
always @(posedge clock) Q=J; 當 clock信號正緣觸發時就執行 Q=J 敘述
![Page 50: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/50.jpg)
50
Event OR control 指使用多個信號或事件去觸發一個敘述或含有多個敘
述的區塊來執行,因此將這些多個信號或事件以 or( 或 ) 來表示
always @(reset or clock or A or B) begin if (reset) F=1’b0; else if (clock) F=A+B; end
![Page 51: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/51.jpg)
51
Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog 的描述格式 Verilog 的資料型態 Verilog 的事件基礎時間控制 Verilog 的輸入輸出埠描述
![Page 52: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/52.jpg)
52
Verilog 的輸入輸出埠描述 輸入埠 (input) 輸出埠 (output) 雙向埠 (inout) Examples module Addr(F1, F2, D, SUM, C0) input [3:0] F1, F2; output [3:0] SUM; output C0; input D;
![Page 53: 1 Chapter 11 Verilog 硬體描述語言 Verilog 硬體描述語言的基本架構 Verilog 模組描述的基本格式 如何開啟進入 Verilog 硬體描述語言編輯器 Verilog](https://reader035.vdocuments.mx/reader035/viewer/2022081416/56649d375503460f94a104e5/html5/thumbnails/53.jpg)
53
Question & Answer