verilog gtkwave十六进制数字继续打印

问题描述

即使我在测试台上以8'b ???? ~~格式编写它,当我用gtkwave监视它时,它也以00,FF,1A格式而不是00000000格式输出。您如何编写代码

`timescale 1ns/10ps

module tb_TaskChecker;
reg [7:0] data_in;
wire [8:0] parity_out;
reg error;

TaskChecker tb(.data_in(data_in),.parity_out(parity_out));

initial
    begin
        $dumpfile("test_TaskChecker_out.vcd");
        $dumpvars(-1,tb);
        $monitor("b",parity_out,error);
    end

initial
    begin
        data_in = 8'b00000000;
    #100;
        data_in = 8'b00000001;
    #100;
        data_in = 8'b00000010;
    #100;
        data_in = 8'b00000011;
    #100;
        data_in = 8'b00000100;
    #100;
        data_in = 8'b00000101;
    #100;
        data_in = 8'b00000110;
    #100;
        data_in = 8'b00000111;
    #100;
        data_in = 8'b00001000;
    #100;
        data_in = 8'b10100011;
    #100;
        data_in = 8'b11010010;
    #100;
        data_in = 8'b11111111;
    #100;
    end
    endmodule

解决方法

要更改GTKWave中的数据格式,您需要更改GTKWave中的设置以所需的格式显示它。

Waveform in binary

在GTKWave中,右键单击感兴趣的信号。要更改为二进制文件:在下拉菜单中,选择Data Format,然后单击Binary。然后,这些值将以二进制格式显示,如下所示。

有关更多详细信息,请参阅GTKWave here.的用户手册