verilog design example [相容模式] - soc & dsp...
TRANSCRIPT
-
National Chung Hsing University
SOC & DSP Lab. 1
授課老師:黃穎聰老師
TA:徐偉傑 LAB723
Verilog HDL設計範例
National Chung Hsing University
SOC & DSP Lab.
2
Outline
1. 八位元暫存器
2. 雙向輸入輸出腳暫存器
3. 資料選擇系統
4. 存入位址控制系統
5. 堆疊系統
6. 程式計數器系統之一
7. 程式計數器系統之二
-
National Chung Hsing University
SOC & DSP Lab.
3
1. 八位元暫存器
2. 雙向輸入輸出腳暫存器
3. 資料選擇系統
4. 存入位址控制系統
5. 堆疊系統
6. 程式計數器系統之一
7. 程式計數器系統之二
National Chung Hsing University
SOC & DSP Lab.
4
八位元暫存器-1/2Verilog HDL Code:
Symbol view:
Schematic-1:
-
National Chung Hsing University
SOC & DSP Lab.
5
八位元暫存器-2/2Verilog HDL Code: Schematic-2:
註:此圖為其中之1 bit暫存器電路圖,QN Pin為浮接。
National Chung Hsing University
SOC & DSP Lab.
6
1. 八位元暫存器
2. 雙向輸入輸出腳暫存器
3. 資料選擇系統
4. 存入位址控制系統
5. 堆疊系統
6. 程式計數器系統之一
7. 程式計數器系統之二
-
National Chung Hsing University
SOC & DSP Lab.
7
雙向輸入輸出腳暫存器-1/3Verilog HDL Code(part 1):
Symbol view:
Verilog HDL Code(part 2):
We: determine the directionAddr: determine Q0 or Q1
National Chung Hsing University
SOC & DSP Lab.
8
雙向輸入輸出腳暫存器-2/3Verilog HDL Code(part 1): Schematic-1:
Q1 Q0
-
National Chung Hsing University
SOC & DSP Lab.
9
雙向輸入輸出腳暫存器-3/3Verilog HDL Code(part 2): Schematic-2:
MUX Tri-BUF
MUX
Tri-BUF
National Chung Hsing University
SOC & DSP Lab.
10
1. 八位元暫存器
2. 雙向輸入輸出腳暫存器
3. 資料選擇系統
4. 存入位址控制系統
5. 堆疊系統
6. 程式計數器系統之一
7. 程式計數器系統之二
-
National Chung Hsing University
SOC & DSP Lab.
11
資料選擇系統-1/2Verilog HDL Code:
Da -> dataaDb / romx -> datab
Symbol view:
National Chung Hsing University
SOC & DSP Lab.
12
資料選擇系統-2/2Verilog HDL Code: Schematic:
MUX
MUX
-
National Chung Hsing University
SOC & DSP Lab.
13
1. 八位元暫存器
2. 雙向輸入輸出腳暫存器
3. 資料選擇系統
4. 存入位址控制系統
5. 堆疊系統
6. 程式計數器系統之一
7. 程式計數器系統之二
National Chung Hsing University
SOC & DSP Lab.
14
存入位址控制系統-1/2Verilog HDL Code:
Symbol view:
-
National Chung Hsing University
SOC & DSP Lab.
15
存入位址控制系統-2/2Verilog HDL Code:
Schematic:
MUX
MUX
REG-1 REG-2
REG-1
REG-2
National Chung Hsing University
SOC & DSP Lab.
16
1. 八位元暫存器
2. 雙向輸入輸出腳暫存器
3. 資料選擇系統
4. 存入位址控制系統
5. 堆疊系統
6. 程式計數器系統之一
7. 程式計數器系統之二
-
National Chung Hsing University
SOC & DSP Lab.
17
堆疊系統-1/4Verilog HDL Code:
Symbol view:
Schematic:
Combinational logic
Sequential logic
National Chung Hsing University
SOC & DSP Lab.
18
堆疊系統-2/4Verilog HDL Code(part1): Schematic:
sp
push
pcx
Clk
(sp==3)
(sp==2)
(sp==1)
(sp==0)
Decoder logic
-
National Chung Hsing University
SOC & DSP Lab.
19
堆疊系統-3/4Verilog HDL Code(part2): Schematic:
sp
push
pcx
Clk
註:此圖為12 bits中之1 bit暫存器表示
Register
National Chung Hsing University
SOC & DSP Lab.
20
堆疊系統-4/4Verilog HDL Code(part3): Schematic:
sp
push
pcx
Clk
Q1[0]
Q0[0]
Q3[0]
Q2[0]
stko[0]
↓註:此圖為12 bits的stko中之↓ 1 bit表示
(sp==0)
(sp==1)
(sp==2)
(sp==3)
4:1 Multiplexer
-
National Chung Hsing University
SOC & DSP Lab.
21
1. 八位元暫存器
2. 雙向輸入輸出腳暫存器
3. 資料選擇系統
4. 存入位址控制系統
5. 堆疊系統
6. 程式計數器系統之一
7. 程式計數器系統之二
National Chung Hsing University
SOC & DSP Lab.
22
程式計數器系統之一-1/3Verilog HDL Code:
Symbol view:
Schematic:
-
National Chung Hsing University
SOC & DSP Lab.
23
程式計數器系統之一-2/3
Verilog HDL Code:
Schematic:
National Chung Hsing University
SOC & DSP Lab.
24
程式計數器系統之一-3/3Verilog HDL Code: Schematic:
Adder
Adder
-
National Chung Hsing University
SOC & DSP Lab.
25
1. 八位元暫存器
2. 雙向輸入輸出腳暫存器
3. 資料選擇系統
4. 存入位址控制系統
5. 堆疊系統
6. 程式計數器系統之一
7. 程式計數器系統之二
National Chung Hsing University
SOC & DSP Lab.
26
程式計數器系統之二-1/3Verilog HDL Code:
Symbol view:
Schematic:
-
National Chung Hsing University
SOC & DSP Lab.
27
程式計數器系統之二-2/3Verilog HDL Code: Schematic:
Clk→
jump→jnumber[11:0]→
stko[11:0]→ret→
Adder
Adder
National Chung Hsing University
SOC & DSP Lab.
28
程式計數器系統之二-3/3
Clk→
jump→jnumber[11:0]→
stko[11:0]→ret→
Verilog HDL Code: Schematic:
-
National Chung Hsing University
SOC & DSP Lab. 29
授課老師:黃穎聰老師
TA:徐偉傑 LAB723
Verilog HDL設計範例
National Chung Hsing University
SOC & DSP Lab.
30
Outline
1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路
-
National Chung Hsing University
SOC & DSP Lab.
31
1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路
National Chung Hsing University
SOC & DSP Lab.
32
設計3x8解碼器電路-1/3Verilog HDL Code:(? : 條件運算子的應用)
Verilog HDL Code:(always行為模式及case循序指令)
-
National Chung Hsing University
SOC & DSP Lab.
33
設計3x8解碼器電路-2/3Symbol view:Schematic:
National Chung Hsing University
SOC & DSP Lab.
34
設計3x8解碼器電路-3/3
-
National Chung Hsing University
SOC & DSP Lab.
35
1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路
National Chung Hsing University
SOC & DSP Lab.
36
設計ALU電路-1/7Verilog HDL Code: Symbol view:
Schematic:
src_a[7:0]
src_b[7:0]
c[2:0]
-
National Chung Hsing University
SOC & DSP Lab.
37
設計ALU電路-2/7
National Chung Hsing University
SOC & DSP Lab.
38
設計ALU電路-3/7
-
National Chung Hsing University
SOC & DSP Lab.
39
設計ALU電路-4/7
National Chung Hsing University
SOC & DSP Lab.
40
設計ALU電路-5/7
-
National Chung Hsing University
SOC & DSP Lab.
41
設計ALU電路-6/7
National Chung Hsing University
SOC & DSP Lab.
42
設計ALU電路-7/7
-
National Chung Hsing University
SOC & DSP Lab.
43
1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路
National Chung Hsing University
SOC & DSP Lab.
44
設計8位元平行多工暫存器電路-1/4Verilog HDL Code:
Symbol view:
Schematic:
b[7:0]a[7:0]c[7:0]
d[7:0]sel[1:0]
clk
reset
-
National Chung Hsing University
SOC & DSP Lab.
45
設計8位元平行多工暫存器電路-2/4
National Chung Hsing University
SOC & DSP Lab.
46
設計8位元平行多工暫存器電路-3/4
-
National Chung Hsing University
SOC & DSP Lab.
47
設計8位元平行多工暫存器電路-4/4
National Chung Hsing University
SOC & DSP Lab.
48
1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路
-
National Chung Hsing University
SOC & DSP Lab.
49
設計16位元計數器電路-1/3Verilog HDL Code:
Symbol view:
Schematic:
National Chung Hsing University
SOC & DSP Lab.
50
設計16位元計數器電路-2/3
-
National Chung Hsing University
SOC & DSP Lab.
51
設計16位元計數器電路-3/3
National Chung Hsing University
SOC & DSP Lab.
52
1. 設計3x8解碼器電路2. 設計ALU電路3. 設計8位元平行多工暫存器電路4. 設計16位元計數器電路5. 設計管線處理電路
-
National Chung Hsing University
SOC & DSP Lab.
53
設計管線處理電路-1/8Verilog HDL Code:
Symbol view:
Schematic:
a[7:0]e[7:0]d[7:0]
ctl
c[7:0]
reset
clk
National Chung Hsing University
SOC & DSP Lab.
54
設計管線處理電路-2/8
-
National Chung Hsing University
SOC & DSP Lab.
55
設計管線處理電路-3/8
a[7:0]
d1[7:0]
National Chung Hsing University
SOC & DSP Lab.
56
設計管線處理電路-4/8
-
National Chung Hsing University
SOC & DSP Lab.
57
設計管線處理電路-5/8
National Chung Hsing University
SOC & DSP Lab.
58
設計管線處理電路-6/8
-
National Chung Hsing University
SOC & DSP Lab.
59
設計管線處理電路-7/8
National Chung Hsing University
SOC & DSP Lab.
60
設計管線處理電路-8/8
-
National Chung Hsing University
SOC & DSP Lab.
授課教師:黃穎聰老師
助教:黃唯竣
Verilog HDL 設計範例
National Chung Hsing University
SOC & DSP Lab.
Outline
2×8隨機存取記憶體堆疊指標系統
條件碼系統
控制系統一
控制系統二
-
National Chung Hsing University
SOC & DSP Lab.
2 × 8隨機存取記憶體
輸入 記憶體 輸出 說明
we Clki Data addr Q1 Q0 ramo 動作1 ↑ A 0 Q1(不變) A A 寫1 ↑ B 1 B Q0(不變) B 寫0 ↑ X 0 Q1(不變) Q0(不變) Q0 讀0 ↑ X 1 Q1(不變) Q0(不變) Q1 讀1 其它 X X Q1(不變) Q0(不變) 不變 不動作0 其它 X X Q1(不變) Q0(不變) 不變 不動作
National Chung Hsing University
SOC & DSP Lab.
2 × 8隨機存取記憶體
Symbol View
-
National Chung Hsing University
SOC & DSP Lab.
2 × 8隨機存取記憶體
Schematic
National Chung Hsing University
SOC & DSP Lab.
2 × 8隨機存取記憶體
we
addr
clk
data
-
National Chung Hsing University
SOC & DSP Lab.
2 × 8隨機存取記憶體
National Chung Hsing University
SOC & DSP Lab.
2 × 8隨機存取記憶體
-
National Chung Hsing University
SOC & DSP Lab.
堆疊指標系統
控制輸入 堆疊位址輸出
Clk pop push sp↑ 1 X sp+1↑ 0 1 sp-1↑ 0 0 不變
National Chung Hsing University
SOC & DSP Lab.
堆疊指標系統
Symbol View
-
National Chung Hsing University
SOC & DSP Lab.
堆疊指標系統
National Chung Hsing University
SOC & DSP Lab.
堆疊指標系統
Schematic View
-
National Chung Hsing University
SOC & DSP Lab.
條件碼系統
Symbol View
National Chung Hsing University
SOC & DSP Lab.
條件碼系統
控制碼 指令 說明
0001 RET 回主程式0010 JUMP 無條件跳躍 tcnd=10011 CALL 無條件呼叫 tcnd=10100 JZ 運算結果為零時(零旗號為1) tcnd =1
運算結果為非零時(零旗號為0) tcnd =00101 JNZ 運算結果為非零時(零旗號為0) tcnd =1
運算結果為零時(零旗號為1) tcnd =00110 JC 進位旗號為1時 tcnd =1
進位旗號為非1時 tcnd =00111 JNC 進位旗號為0時 tcnd =1
進位旗號為非0時 tcnd =0
-
National Chung Hsing University
SOC & DSP Lab.
條件碼系統
輸入 輸出 說明
contl[3:0] aluo8 aluo[7:0] tcnd0001 X X 1 回主程式0010 X X 1 無條件跳躍0011 X X 1 無條件呼叫0100 X ABCDEFGH NOT (A or B
or C or D or E or F or G or H)
運算為零則跳躍
aluo[7:0]零時tcnd=1
aluo[7:0]為非零時 tcnd=0
National Chung Hsing University
SOC & DSP Lab.
條件碼系統
0101 X ABCDEFGH (A or B or C or D or E or F
or G or H)
運算非零則跳躍
aluo[7:0]為非零時 tcnd=1
aluo[7:0]為零時 tcnd=0
0110 A X A 進位旗號=1則跳躍aluo[7:0]非零
時 tcnd=1aluo[7:0]為非零時 tcnd=0
-
National Chung Hsing University
SOC & DSP Lab.
條件碼系統
0111 A X A 進位旗號=0則跳躍aluo[7:0]非零
時 tcnd=1aluo[7:0]為非零時 tcnd=0
其它 X X 0 非跳躍指令
National Chung Hsing University
SOC & DSP Lab.
條件碼系統
-
National Chung Hsing University
SOC & DSP Lab.
條件碼系統
Schematic View
National Chung Hsing University
SOC & DSP Lab.
控制系統一
Symbol View
-
National Chung Hsing University
SOC & DSP Lab.
控制系統一
Schematic View
National Chung Hsing University
SOC & DSP Lab.
控制系統一
-
National Chung Hsing University
SOC & DSP Lab.
控制系統二
Symbol View
National Chung Hsing University
SOC & DSP Lab.
控制系統二
Schematic View
-
National Chung Hsing University
SOC & DSP Lab.
控制系統二
National Chung Hsing University
SOC & DSP Lab.
控制系統二