模拟器显示错误的输入

时间:2013-03-18 16:39:20

标签: verilog xilinx hdl

我已经为verilog中的程序编写了一个测试平台。奇怪的问题是模拟器显示的输入与我提供的输入完全不同。因此输出也受到影响。为什么会这样?我正在测试Xilinx中的代码。这是测试台

我的输入是1010101 模拟器显示0110101

module HamDecoderTop;

// Inputs
reg clk;
reg rst;
reg [6:0] hword;

// Outputs
wire [3:0] data;


HammingDecoder uut (
    .clk(clk), 
    .rst(rst), 
    .hword(hword), 
    .data(data)
);

initial begin
    // Initialize Inputs
    clk = 0;
    rst = 0;

    #1 rst =1;

    #10 hword = 1010101;


end

always
#2 clk=~clk;

endmodule

这是模拟器显示的内容。

enter image description here

1 个答案:

答案 0 :(得分:3)

如果希望将hword文字值解释为7位二进制,则需要在7'b前加上hword文字值。默认情况下,它被解释为十进制值1,010,101,当转换为二进制时,它是11110110100110110101。这个二进制数的前7位是你在模拟器中看到的。