View
254
Download
0
Embed Size (px)
Citation preview
1
Chapter 12 Verilog 設計實際介紹 邏輯層次的設計實際介紹 資料流層次的設計實際介紹 行為層次的設計實際介紹
2
Continuous Assignment assign Data [7:0] = Data1 [7:0] & Data2
[7:0]; assign f= a|b; wire F= A|B;
wire F; assign F=A|B;
assign #20 F=A|B; wire #20 F=A|B;
3
以四對一多工器之設計為實例
I0I1I2I3
S1 S0
Y多工器
4
HDL Editor
5
Design Wizard
6
Design Wizard ~ Language
7
Design Wizard ~ Name
8
Design Wizard ~ Ports
9
Verilog Code
10
Add Verilog Code
11
Check Synthesis and Synthesize
12
Create Marco and Update Marco
13
Place MUX4V
14
Simulation Settings
15
Simulation Results
16
Chapter 12 Verilog 設計實際介紹 邏輯層次的設計實際介紹 資料流層次的設計實際介紹 行為層次的設計實際介紹
17
行為層次的基本描述 initial always
18
initial
initialbegin#10 f=2’b01;#20 s= 1’b0;end
19
alwaysmodule counter;reg clock;initialclock = 1’b0;always#20 clock=~clock;initial #800 $finish;endnodule
20
行為層次常用之敘述 if 敘述 Example if (A<B) begin C=C+1; D=D-1; end
21
if …else 敘述if (A==0)B=C+1;elseD=E+K;
22
case 敘述always (S1 or S0 or A or B or C or D)case ({S1, S0})2’d0: Y=A;2’d1: Y=B;2’d2: Y=C;default: Y=D;
23
Loop 敘述 for while repeat forever
24
for 敘述integer K, SUM;initial SUM= 0;for (K=0; K<3; K=K+1)SUM = SUM + K
25
while 敘述integer K, W;initial begin K = 0; W = 0;while (K<10) begin K=K+2; W=W+1; endend
26
forever 敘述reg clock, Q1, Q2;initialforever @(negedge clock) Q1=0;
27
repeat 敘述 integer n, m; initial begin n =0; repeat (5) begin n = n+ 1; m = n +2; end end
28
四對一多工器之設計實例
I0I1I2I3
S1 S0
Y多工器
以行為層次設計
29
Verilog Code
30
Simulation Settings
31
Simulation Results
32
Question & Answer