附上程序:<br>
`timescale 1ns/1ps<br>
module fsm(sys_CLK, sys_RESET, iState);<br>
<br>
input sys_CLK, sys_RESET;<br>
output[1:0] iState;<br>
reg[1:0] iState; <br>
parameter state1 = 2'b00,<br>
state2 = 2'b01, <br>
state3 = 2'b11,<br>
state4 = 2'b10;<br>
always @(posedge sys_CLK)<br>
begin <br>
if (sys_RESET) iState <= state1;<br>
else<br>
case (iState)<br>
state1: <br>
iState <= state2;<br>
state2:<br>
iState <= state3;<br>
state3:<br>
iState <= state4;<br>
state4:<br>
iState <= state1;<br>
default:<br>
iState <= state1;<br>
endcase<br>
end<br>
endmodule<br>
<br>
`timescale 1ns/1ps<br>
module test();<br>
reg sys_CLK, sys_RESET;<br>
wire[1:0] iState;<br>
initial<br>
begin<br>
sys_CLK = 0;<br>
sys_RESET = 1; <br>
# 160 sys_RESET = 0;<br>
end<br>
always # 4 sys_CLK = ~sys_CLK;<br>
fsm M<br>
(.sys_CLK (sys_CLK),<br>
.sys_RESET (sys_RESET), <br>
.iState (iState)<br>
);<br>
endmodule<br>
大家帮帮忙吧! |