我对verilog和active-hdl非常陌生。我有一个问题,如果有人能在这方面给我建议,我将不胜感激。
我在波形查看器上看不到第二层模块的波形。更准确地说,子模块中的信号显示为Z或X。
请注意,我已经通过tools/preferences/simulation/ access design object启用了读/写访问。
例如,我在tb模块中生成一个clk,并将其连接到clk_mod,试图在clk_mod中查看clk,但是对于clk,它只显示"Z“,对于"i”,它只显示"X“。
`timescale 1ns/100ps
module tb;
reg clk;
clk_mod dut(.clk(clk));
initial
begin
clk = 0;
forever
#5 clk = ~clk;
end
endmodule
module clk_mod (input clk);
reg i;
always @(posedge clk)
begin
i=10;
end
endmodule发布于 2017-11-25 12:28:43
我认为你的肺结核缺乏从模拟中退出。您应该将以下语句添加到tb模块(作为单独的语句):
initial #20 $finish;如果您使用正确的工具,这将在步骤20完成模拟,并应为您创建波形。
另外,您将i声明为一位reg,因此,您不能将'10‘放入其中。因此,您的波形应该显示切换时钟和从'x‘到'0’的单个事务'i‘。
我想你应该这样声明'i‘:
reg [3:0] i;https://stackoverflow.com/questions/47480537
复制相似问题