【发布时间】:2021-10-10 05:34:56
【问题描述】:
我将此计数器用作多路复用器选择引脚,我需要它从 0 开始,但在第一个周期的模拟中它从 1 开始,在下一个周期它从 0 开始。
module upcounter(clk,reset,out);
input clk,reset;
output reg [2 : 0]out = 3'b000;
always @(posedge clk or posedge reset)
begin
if(reset)
out <= 3'b000;
else
out <= out + 3'b001;
end
endmodule
这是我的测试台代码:
module counter_tst;
reg clk;
wire [2 : 0] out;
reg rst;
upcounter u0(clk,rst,out);
initial
clk = 1'b1;
always
#1 clk = ~clk;
initial
begin
rst=0;
end
endmodule
【问题讨论】:
-
@Md.shah 你怎么知道它没有?你的测试台在哪里?您发布的代码没有任何问题。无需在声明中初始化 'out'。
-
@serge 我已经添加了模拟波。
-
@ToTamire 我认为它不会有效解决我的问题。
-
@ToTamire 你来了。
标签: verilog counter simulation