问题描述
即使我在测试台上以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中的设置以所需的格式显示它。
在GTKWave中,右键单击感兴趣的信号。要更改为二进制文件:在下拉菜单中,选择Data Format
,然后单击Binary
。然后,这些值将以二进制格式显示,如下所示。
有关更多详细信息,请参阅GTKWave here.的用户手册