我已经为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
这是模拟器显示的内容。
答案 0 :(得分:3)
如果希望将hword文字值解释为7位二进制,则需要在7'b
前加上hword文字值。默认情况下,它被解释为十进制值1,010,101
,当转换为二进制时,它是11110110100110110101
。这个二进制数的前7位是你在模拟器中看到的。