Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Verilog模拟输出错误,二进制到灰度转换器_Verilog - Fatal编程技术网

Verilog模拟输出错误,二进制到灰度转换器

Verilog模拟输出错误,二进制到灰度转换器,verilog,Verilog,我正在设计一个二进制到格雷码的转换器。这是我的主要代码: module gray_code (bin_num, Gray_num); input [3:0] bin_num; //binary input output [3:0] Gray_num; //gray output assign Gray_num[3] = bin_num[3]; assign Gray_num[2] = bin_num[3]^bin_num[2]; assign Gray_num[1] = bin_num[2

我正在设计一个二进制到格雷码的转换器。这是我的主要代码:

module gray_code (bin_num, Gray_num);

input [3:0] bin_num; //binary input
output [3:0] Gray_num; //gray output


assign Gray_num[3] = bin_num[3];
assign Gray_num[2] = bin_num[3]^bin_num[2];
assign Gray_num[1] = bin_num[2]^bin_num[1];
assign Gray_num[0] = bin_num[1]^bin_num[0]; 

endmodule
这是测试台:

module gray_code_tb;

reg [3:0] bin_num;
wire [3:0] Gray_num;    
integer i;

gray_code DUT(.bin_num(bin_num),.Gray_num(Gray_num));

initial begin

for(i=0;i<16;i=i+1)begin
    bin_num=i;
    $display("BIN = %b   GRAY =%b", bin_num, Gray_num);
end
end

endmodule

为什么显示所有x表示格雷码?

在模拟中,时间不会流逝。因此,信号永远没有机会改变


增加一个100;在bin_num=i之后

非常感谢,就这样!
BIN = 0000   GRAY =xxxx;
BIN = 0001   GRAY =xxxx;
BIN = 0010   GRAY =xxxx;
BIN = 0011   GRAY =xxxx;