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`hffffffff)Q1<=32`h00000000;
else Q1<=Q1+1`b1;end
end
endmodule
-
逻辑分析仪图
Q1<=Q1+1`b1;
别单纯的用else判断
能留个联系方式请教下你么,
if(Q1==32'hffffffff) Q1<=32'h00000000;
else Q1 <= Q1 + 1'b1;
end
改写成:
begin
if(Q1 < 32'hffffffff) Q1 <= Q1 + 1'b1;
else Q1 <= 32'b0;
一周热门 更多>