我试图实现一个计数器,每当有一个输入值的时钟脉冲时,就计算一个内部值。
module Counter(in, clk, out);
input clk;
input [7:0] in;
wire clk;
wire [7:0] in;
output [7:0] out;
reg [7:0] out;
always @ (posedge clk) begin
out <= out + in;
end
endmodule
我得到的输出大部分时间都是正确的,但有时计数器并没有按照预期的那样递增。下面是一个输出波形的链接。. 可以看到,计数器从5跳到10,即使是 在 是3,谁能帮帮我?
你的输出似乎是在 八进制 或基数8(我猜测这是''。O 000'在第二列)。)
在这种情况下,'d5 + 'd3 = 'd8 ('o010)'。所以一切似乎都是正确的。