天天看點

異步FIFO中格雷碼和二進制資料的轉換

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

繼續閱讀