File tree Expand file tree Collapse file tree 1 file changed +10
-22
lines changed Expand file tree Collapse file tree 1 file changed +10
-22
lines changed Original file line number Diff line number Diff line change @@ -33,7 +33,6 @@ endmodule
3333
3434module 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
7675module 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;
113101endmodule
You can’t perform that action at this time.
0 commit comments