1、二進制資料轉換為格雷碼
parameter ADDRSIZE = 4;
wire [ADDRSIZE:0] wbnext,wgnext; //wbnext is binary code,wgnext is gray code;
assign wgnext = (wbnext >> 1) ^ wbnext; //binary code to gray code;
2、格雷碼轉換為二進制資料
assign bin[N-1] = gray[N-1]; //binary code or gray code is N bits;
genvar i;
generate
for(i=0;i<N-1;i=i+1)
begin :bin2gray
assign bin[i] = gray[i] ^ bin[i+1];
end
endgenerate