雷码的特点:相邻的两个码组之间仅有一位不同。 普通二进制码和格雷码可以互相转换,下面以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新闻热点
疑难解答