微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 不能计数能复位,复位后计数值直接就变成20h不计数

不能计数能复位,复位后计数值直接就变成20h不计数

时间:10-02 整理:3721RD 点击:
module Verilog1(clk,rst,en,dout);
input clk,en,rst;
output [31:0] dout;
reg [31:0] Q1;
assign dout=Q1;
always @(posedge clk or negedge rst)
begin
if(!rst)
Q1<=0;
else if(en)
    begin
           if(Q1==32`h0ffffffff)Q1<=32`h00000000;
                  else Q1<=Q1+1;end
        else Q1<=Q1;          
               
end
endmodule       

问题不明确,清吧问题详细的说出,好让大家能知道你在问什么

是不是这个判断语句问题? if(Q1==32`h0ffffffff),好像多个0

把 else Q1 <= Q1;这句去掉就可以了

把else语句去掉就OK了

其实异步复位是个很严重问题,建议改成同步

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

网站地图

Top