Skip to content

Commit a75b999

Browse files
committed
fsm_detect: fix test
1 parent 7d10a72 commit a75b999

File tree

1 file changed

+10
-22
lines changed

1 file changed

+10
-22
lines changed

tests/various/fsm-arst.ys

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ endmodule
3333

3434
module semi_self_rs_fsm (
3535
input wire clk,
36-
inout wire reset,
3736
input wire test,
3837
output wire s1
3938
);
@@ -44,7 +43,7 @@ module semi_self_rs_fsm (
4443
reg [7:0] current_state, next_state;
4544
reg [1:0] reset_test;
4645

47-
assign reset = (test || (reset_test == 2));
46+
wire reset = (test || (reset_test == 2));
4847

4948
always @(posedge clk or posedge reset) begin
5049
if (reset) begin
@@ -75,39 +74,28 @@ endmodule
7574

7675
module self_rs_fsm (
7776
input wire clk,
78-
inout wire reset,
7977
output wire s1
8078
);
8179
localparam [7:0] RST = 8'b10010010;
8280
localparam [7:0] S1 = 8'b01001000;
8381
localparam [7:0] S2 = 8'b11000111;
8482

85-
reg [7:0] current_state, next_state;
86-
reg reset_reg;
87-
83+
reg [7:0] next_state;
8884
wire reset = (reset_reg || next_state == S1);
85+
8986
always @(posedge clk or posedge reset) begin
9087
if (reset) begin
91-
current_state <= RST;
92-
reset_reg = 0;
88+
next_state <= RST;
9389
end else begin
94-
current_state <= next_state;
90+
case (next_state)
91+
RST: next_state = S1;
92+
S1: next_state = S2;
93+
S2: next_state = S1;
94+
default: next_state = RST;
95+
endcase
9596
end
9697
end
9798

98-
always @(*) begin
99-
next_state = current_state;
100-
101-
case (current_state)
102-
RST: next_state = S1;
103-
S1: next_state = S2;
104-
S2: next_state = S1;
105-
default: begin
106-
reset_reg = 1;
107-
next_state = RST;
108-
end
109-
endcase
110-
end
11199

112100
assign s1 = next_state == S1;
113101
endmodule

0 commit comments

Comments
 (0)