我正在用Verilog写一个代码,它会在时钟的每一个边数到15,然后返回到0。但是,我不能显示波形。我只看到Z(高阻抗)。
`timescale 1ns / 1ps
module Counter(
input ck,
output [3:0] a
);
reg a;
reg [3:0] i = 4'b0000;
always@(posedge ck)
begin
a = i;
if(i==15)
i = 0;
else
i = i+1;
end
endmodule下面是驱动它的测试工作台:
module Counter_tb;
wire clock;
wire [3:0] ta;
Clocker mygate(.clk(clock));
Counter mygate2(.ck(clock), .a(ta));
initial
begin
$display(ta, clock);
end
endmodule时钟波形显示正常,但不显示ta。可能的错误是什么?
发布于 2016-10-16 09:21:34
您只需在时间0时调用"$display“一次。你期待看到什么?尝试将$display更改为"$monitor(ta,clock);“。
https://stackoverflow.com/questions/40056699
复制相似问题