雷碼的特點:相鄰的兩個碼組之間僅有一位不同。 普通二進制碼和格雷碼可以互相轉換,下面以4位二進制碼作簡要介紹:
四位二進制碼轉換成格雷碼 轉換規則:從最右邊一位起,依次與前一位“異或”,作為該位的輸出,最高位不變。 程序代碼如下:module Binary_Trans_Gray( input [3:0] binary, output reg[3:0] gray ); parameter length = 4 ; integer i ; always @ (binary) begin for(i = 0 ; i < length - 1 ; i = i + 1) begin gray[i] = binary[i] ^ binary[i + 1]; end gray[i] = binary[i] ; endendmodule 4位格雷碼轉換成二進制碼 轉換規則:最高位不變,從最左邊起將產生的每一位二進制碼,與下一位相鄰的格雷碼“異或”,作為二進制碼的下一位。程序代碼如下:
module Gray_Trans_Binary_pin( input [3:0] gray, output reg[3:0] binary ); parameter length = 4 ; integer i ; always @ (gray) //輸入gray碼發生變化時,輸出binary也將發生變化 begin binary[length -1] = gray[length - 1] ; for(i = length -2 ; i >= 0 ; i = i - 1) begin binary[i] = binary[i + 1] ^ gray[i] ; end endendmodule新聞熱點
疑難解答