微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog流水灯,错在哪里,求解、、、

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个错误,求高人指点啊。

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;
复位之后就是初始值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top