n为自然二进制码转换成n位格雷码如何设计电路(格雷码二进制码转换)

2023-03-12 19:33:15 密语知识 思思

你好,n为自然二进制码转换成n位格雷码如何设计电路?格雷码是一种二进制循环码。格雷码的特点是从一个数变为相邻的一个数时,只有一个数据位发生跳变,由于这种特点,就可以避免二进制编码计数组合电路中出现的亚稳态。格雷码常用于通信、异步FIFO或者RAM地址寻址计数器中。

格雷码转换为二进制码原理如下:

n位的二进制:Bn,Bn-1,Bn-2。。。B2,B1,B0;n位的格雷码:Gn,Gn-1,Gn-2。。。G2,G1,G0;转换公式:Bn=Gn; Bi-1=Bi^Gi-1;(i=0,1,2,n-1;)

请参考!

格雷码与二进制之间的转换

module bin_to_gray(bin,gray);

parameterSIZE = 4;

input[SIZE-1:0] bin;

output[SIZE-1:0] gray;

assign gray= {1’b0,bin[SIZE -1:1]} ^ bin;

endmodule

module gray_to_bin(bin,gray);

parameterSIZE = 4;

input[SIZE-1:0] gray;

output[SIZE-1:0] bin;

reg[SIZE-1:0] bin;

integer i;

always@(gray)

for(i=0;i=SIZE-1;i=i+1)

bin[i]=^(grayi);

//bin[i]=^{{i{1’b0}},gray[SIZE -1:i]}

endmodule

格雷码如何转换成二进制?

最左边一位依然不变依次异或,直到最低位。依次异或转换后的值就是格雷码转换 后的二进制值。

 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。

典型的二进制格雷码(Binary Gray Code)简称格雷码,因1953年公开的弗兰克·格雷(Frank Gray,18870913-19690523)专利“Pulse Code Communication”而得名,当初是为了通信,现在则常用于模拟-数字转换和位置-数字转换中。

法国电讯工程师波特(Jean-Maurice-Émile Baudot,18450911-19030328)在1880年曾用过的波特码相当于它的一种变形。1941年George Stibitz设计的一种8元二进制机械计数器正好符合格雷码计数器的计数规律。

二进制(binary),发现者莱布尼茨,是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。

数字电子电路中,逻辑门的实现直接应用了二进制,现代的计算机和依赖计算机的设备里都使用二进制。每个数字称为一个比特(Bit,Binary digit的缩写)。

表示小数的二进制码,比如说0.1111如何转换成格雷码? 如题

二进制码转化为格雷码的法则:从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0)看一下你举得例子0.1111异或:异或的两个值相同为假,不同为真.从右至左分别取...

格雷码的特点是什么?为什么说它是可靠性代码?

格雷码(Gray code)是一种准权码,设格雷码最低位为n=1,则格雷码的权的绝对值为(2^n)-1,其符号从左到右正负交替。典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式。

1、格雷码的特点是任意两组相邻之间只有一位不同,其余各位都相同,而且0和最大数(2的N次方减一)对应的两组格雷码之间也只有一位不同。

2、格雷码是一种循环码,它的特性使它在形成和传输过程中引起的误差较小。如计数电路按格雷码计数时,电路每次状态更新只有一位代码变化,从而减少了计数错误。

3、普通二进制码与格雷码相互转换关系为:

(1)二进制码转换成格雷码

从最右边第一位开始,依次将每一位与左邻一位异或(XOR),作为对应格雷码该位的值,最左边一位不变。

(2)格雷码转换成二进制码

从左边第二位起,将每位与左边一位解码后的值异或(XOR),作为该位解码后的值(最左边一位依然不变)。