verilog流水灯,错在哪里,求解、、、
时间:10-02
整理:3721RD
点击:
module LED_STREAM0(CLK,RST,OUT);
input CLK;
input RST;
output [2:0]OUT;
parameter t100ms=25'd20_000_000;
reg [24:0] count0;
always @(posedge CLK or negedge RST)
begin
count0=0;
if(!RST)
count0<=25'd0;
else if(count0==t100ms)
count0<=25'd0;
else
count0=count0+1'd1;
end
reg [2:0]rout;
always @(posedge CLK or negedge RST)
begin
rout=3'b001;
if(!RST)
rout<=3'b000;
else if(count0==t100ms)
rout<=rout<<1;
else if(rout==3'b100)
rout<=3'b001;
end
assign OUT=rout;
endmodule
编译出了8个错误,求高人指点啊。
input CLK;
input RST;
output [2:0]OUT;
parameter t100ms=25'd20_000_000;
reg [24:0] count0;
always @(posedge CLK or negedge RST)
begin
count0=0;
if(!RST)
count0<=25'd0;
else if(count0==t100ms)
count0<=25'd0;
else
count0=count0+1'd1;
end
reg [2:0]rout;
always @(posedge CLK or negedge RST)
begin
rout=3'b001;
if(!RST)
rout<=3'b000;
else if(count0==t100ms)
rout<=rout<<1;
else if(rout==3'b100)
rout<=3'b001;
end
assign OUT=rout;
endmodule
编译出了8个错误,求高人指点啊。
always @(posedge CLK or negedge RST)
begin
rout=3'b001;
阻塞 非阻塞 出现在 一个always模块中了 这个 大忌!坚决不能的。
应该就是阻塞和非阻塞的混合使用问题
always @(posedge CLK or negedge RST)
begin
rout=3'b001;
if(!RST)
rout<=3'b000;
复位之后就是初始值。