欢迎访问电子工程网!   登录 | 免费注册 ]   

dingdake的个人空间 http://www.eechina.com/space-uid-83605.html [收藏] [复制] [分享] [RSS]

博客

Verilog HDL 之 二进制与格雷码的转换

已有 1018 次阅读2012-10-12 09:31 | 关键词: 二进制, 格雷码

格雷码的特点:相邻的两个码组之间仅有一位不同。

普通二进制码与格雷码之间可以相互转换。下面将作简要的介绍。

8位二进制码转格雷码

  二进制码转换为格雷码:从最右边一位起,一次与左边一位“异或”,作为对应格雷码该位的值,最左边的一位不变(相当于最左边是0)。

复制代码
1 modele bin2gry(Gry,Bin)
2 parameter length = 8;
3 output [length-1:0] Gry;
4 input [length-1:0] Bin;
5
6 reg [length-1:0] Gry;
7 integer i;
8
9 always @ (Bin)
10 begin
11 for(i=0;i<length-1;i++)
12 Gry[i]=Bin[i]^Bin[i+1];
13 Gry[i]=Bin[i];
14 end
15 endmodule
复制代码

 

8位格雷码转二进制码

  格雷码转换为二进制码:从左边第二位起,将每一位与左边一位解码后的值“异或”,作为该解码后的值(最左边的一位依然不变)。

复制代码
1 modele gry2bin(Gry,Bin)
2 parameter length = 8;
3 output [length-1:0] Gry;
4 input [length-1:0] Bin;
5
6 reg [length-1:0] Bin;
7 integer i;
8 always @ (Gry)
9 begin
10 Bin[length-1]=Gry[length-1];
11 for(i=length-2;i>=0;i--)
12 Bin[i]=Bin[i+1]^Gry[i];
13 end
14 endmodule
复制代码

 

 


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

回顶部