Hardware Reference
In-Depth Information
20
always_comb
21
case (pr_state)
22
idle: begin
23
selA <= 1'bx;
24
selB <= 1'bx;
25
wrA <= 1'b0;
26
wrB <= 1'b0;
27
ALUop <= 0;
28
if (dv) nx_state <= load;
29
else nx_state <= idle;
30
end
31
load: begin
32
selA <= 1'b1;
33
selB <= 1'b1;
34
wrA <= 1'b1;
35
wrB <= 1'b1;
36
ALUop <= 0;
37
nx_state <= waitt;
38
end
39
waitt: begin
40
selA <= 1'bx;
41
selB <= 1'bx;
42
wrA <= 1'b0;
43
wrB <= 1'b0;
44
ALUop <= 2;
45
if (sign==1) nx_state <= writeA;
46
else if (sign==2) nx_state <= writeB;
47
else nx_state <= idle;
48
end
49
writeA: begin
50
selA <= 1'b0;
51
selB <= 1'bx;
52
wrA <= 1'b1;
53
wrB <= 1'b0;
54
ALUop <= 2;
55
nx_state <= waitt;
56
end
57
writeB: begin
58
selA <= 1'bx;
59
selB <= 1'b0;
60
wrA <= 1'b0;
61
wrB <= 1'b1;
62
ALUop <= 3;
63
nx_state <= waitt;
64
end
65
endcase
66
67 endmodule
68 //----------------------------------------------------------------
7.8 Exercises
Exercise 7.1: Parity Detector
Solve exercise 6.1 using SystemVerilog instead of VHDL.
Search WWH ::




Custom Search