Hardware Reference
In-Depth Information
4
output logic [2:0] outp);
5
6 //Declarations:-------------------------------------------------
7
//FSM states type:
8
typedef enum logic [2:0] {one, two, three, four, five} state;
9
state pr_state, nx_state;
10
11 //Statements:---------------------------------------------------
12
//FSM state register:
13
always_ff @(posedge clk, posedge rst)
14
if (rst) pr_state <= one;
15
else pr_state <= nx_state;
16
17
//FSM combinational logic:
18
always_comb
19
case (pr_state)
20
one: begin
21
outp <= 1;
22
if (ena)
23
if (up) nx_state <= two;
24
else nx_state <= five;
25
else nx_state <= one;
26
end
27
two: begin
28
outp <= 2;
29
if (ena)
30
if (up) nx_state <= three;
31
else nx_state <= one;
32
else nx_state <= two;
33
end
34
three: begin
35
outp <= 3;
36
if (ena)
37
if (up) nx_state <= four;
38
else nx_state <= two;
39
else nx_state <= three;
40
end
41
four: begin
42
outp <= 4;
43
if (ena)
44
if (up) nx_state <= five;
45
else nx_state <= three;
46
else nx_state <= four;
47
end
48
five: begin
49
outp <= 5;
50
if (ena)
51
if (up) nx_state <= one;
52
else nx_state <= four;
53
else nx_state <= five;
54
end
55
endcase
56
57 endmodule
58 //--------------------------------------------------------------
Search WWH ::




Custom Search