просмотр осциллограммы - Active hdl

Я новичок в Verilog и Active-HDL. У меня есть проблема, и я был бы признателен, если бы кто-нибудь мог посоветовать мне по этому поводу.

Я не вижу осциллограммы модулей второго уровня в средстве просмотра осциллограмм. Точнее, сигналы в подмодулях показывают либо Z, либо X.

Обратите внимание, что я включил доступ для чтения/записи через инструменты/предпочтения/моделирование/объект дизайна доступа.

Например, я генерирую clk в модуле tb и подключаю его к clk_mod, пытаясь увидеть clk в clk_mod, однако для 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

person M.X    schedule 24.11.2017    source источник


Ответы (1)


Я думаю, что вашему т.б. не хватает выхода из симуляции. вы должны добавить следующий оператор в модуль tb (как отдельный оператор):

 initial #20 $finish;

Это завершит симуляцию на шаге 20 и создаст для вас формы сигналов, если вы используете правильные инструменты.

Кроме того, вы объявили i однобитным регистром, поэтому вы не можете вписать в него «10». Таким образом, ваша форма волны должна показывать переключение часов и одну транзакцию «i» с «x» на «0».

Я думаю, вы должны были объявить «i» следующим образом:

reg [3:0] i;
person Serge    schedule 25.11.2017