基于Verilog HDL语言的FPGA课后习题--格雷码转换

格雷码转换

格雷码(循环二进制单位距离码)是任意两个相邻数的代码只有一位二进制数不同的编码,它与奇偶校验码同属可靠性编码。

从对应的n位二进制码字中直接得到n位格雷码码字,需要先对n位二进制的码字,从右到左,以0n-1编号。如果二进制码字的第i位和i+1位相同,则对应的格雷码的第i位为0,否则为1(当i+1=n时,二进制码字的第n位被认为是0,即第n-1位不变)

1、设计一个4位的二进制格雷码转换电路。

2. 推导代码并且进行验证。

给出源代码,软件综合运行,并给出RTL视图截图,做成一份pdf

 

1.编程:

module GrayCode_trans

#(parameter N=4)//引入参数变量

(input [N-1:0] iBin,

output reg [N-1:0] oGray

);

         integer i = 0;

         always@(*)

                  begin                        

                  oGray[N-1] = iBin[N-1];

                  for(i=0;i<N-1;i=i+1)//循环赋值

                          oGray[i] = iBin[i]^iBin[i+1];

         end



endmodule

 

 

 

2.编译使成功运行:

 

3.生成RTL结构

由上图可知,格雷码转二进制码电路十分简单,4位数的转换仅用到了3个异或门

 

 

 

 

4.生成时序波形图:

根据上图,可以归纳出二进制码到格雷码的转换表:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheeky_man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值