|
parameter WIDLE=2'b00,WWRITE=2'b01, WWAIT=2'b10,WREAD=2'b11;<br>
<br>
always@(posedge clk or negedge rst)<br>
if(!rst)<br>
w_state<=WIDLE;<br>
else <br>
case(w_state)<br>
WIDLE: <br>
begin<br>
if(write_gen)<br>
w_state<=WWRITE;<br>
else<br>
w_state<=WIDLE;<br>
end<br>
WWRITE:<br>
begin<br>
if((!rb)&&(wcount>=13'h1015))<br>
w_state<=WWAIT;<br>
else<br>
w_state<=WWRITE;<br>
end<br>
WWAIT:<br>
begin<br>
if(rb||(wait_count>=13'h1ff0))<br>
w_state<=WREAD;<br>
else<br>
w_state<=WWAIT;<br>
end<br>
WREAD:<br>
begin<br>
if(wr_complete)<br>
w_state<=WIDLE;<br>
else<br>
w_state<=WREAD;<br>
end<br>
default:<br>
w_state<=WIDLE;<br>
endcase<br>
<br>
以上是状态机的一部分代码,望大家批评指正 |
|