二进制和格雷码的区别就是,二进制会有多位同时变化,格雷码每一次只会变化一位。
【数字IC手撕代码】Verilog 2^N的格雷码二进制转换|题目|原理|设计|仿真_myhhhhhhhh的博客-CSDN博客_verilog手撕代码【数字IC手撕代码】Verilog 2^N的格雷码二进制转换|题目|原理|设计|仿真https://blog.csdn.net/weixin_43698385/article/details/122993895 2^n的格雷码由二进制异或二进制右移1位
module twotogrey (bi,grey);
input [3:0] bi;
output [3:0] grey;
assign grey=bi^(bi>>1);
endmodule
`timescale 1ns/1ps
module twotogreytest;
reg [3:0] bi;
wire [3:0] grey;
adder t1(.bi(bi), .grey(grey));
always #9.99 bi={$random}%16;
initial
begin
#150 $stop;
end
endmodule