1 Chapter 12 Verilog 設計實際介紹 邏輯層次的設計實際介紹...

Preview:

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

Recommended