【问题标题】:viewing waveform- Active hdl查看波形 - Active hdl
【发布时间】:2017-11-24 22:05:12
【问题描述】:

我对 verilog 和 active-hdl 还是很陌生。我遇到了一个问题,如果有人能就此提出建议,我将不胜感激。

我在波形查看器上看不到第二层模块的波形。更准确地说,子模块中的信号显示 Z 或 X。

请注意,我已通过工具/首选项/模拟/访问设计对象启用读/写访问。

例如,我在 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

【问题讨论】:

    标签: verilog hdl active-hdl


    【解决方案1】:

    我认为您的 tb 缺少模拟退出。您应该将以下语句添加到 tb 模块(作为单独的语句):

     initial #20 $finish;
    

    如果您使用正确的工具,这将在第 20 步完成仿真,并且应该会为您创建波形。

    另外,您将 i 声明为一个单位 reg,因此您不能将 '10' 放入其中。因此,您的波形应该显示切换时钟和“i”从“x”到“0”的单个事务。

    我猜你应该这样声明 'i':

    reg [3:0] i;
    

    【讨论】:

      猜你喜欢
      • 2016-07-24
      • 1970-01-01
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多