http://blog.csdn.net/DUWT_LAB/article/details/70207490
module counter(CLK,RST,CNT);
input CLK,RST;
output reg[2:0] CNT;
always @(posedge CLK or posedge RST)
begin
if(RST)
CNT<=3'b0;
else
if(CNT<5)
CNT<=CNT+3'b001;
else
CNT<=3'b0;
end
endmodule
module counter9(CLK,RST,CNT);
input CLK,RST;
output reg[3:0] CNT;
integer M=6;
always @(posedge CLK or posedge RST)
begin
if(RST)
begin
CNT<=4'b0;
M=6;
end
else
if(CNTbegin
CNT<=CNT+4'b0001;
end
else
begin
CNT<=4'b0;
if(M<9)
M<=M+1;
else
M<=6;
end
end
endmodule