在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2425|回复: 7

[求助] verilog代码求助

[复制链接]
发表于 2016-6-13 22:58:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 小yz 于 2016-6-13 23:04 编辑

求助如下代码中20行和22行两行的具体含义?为啥可以完成gray码与二进制码的转换??
麻烦仔细说明一下那两行代码




  1. `define width 4
  2. module graycounter(clk,rst,gray);

  3.   input     clk       ;
  4.   input     rst       ;
  5.   output  reg  [`width-1:0] gray         ;

  6.    reg  [`width-1:0]  gnxt,bnxt,bin;
  7.    integer i;
  8.    
  9. always@(posedge clk or negedge rst) //寄存器输出
  10. if(!rst)
  11. gray <= 0;
  12. else
  13. gray <=gnxt;        //gray码寄存器

  14. always@(gray)
  15. begin
  16.         for(i = 0;i<`width;i= i+1)
  17.         bin[i] = ^(gray>>i);  //gray_to_bin
  18.         bnxt = bin+1;
  19.         gnxt = (bnxt>>1) ^ bnxt; //bin_to_gray
  20. end

  21. endmodule

  22.         
  23.         
  24.         
  25.         







































复制代码
发表于 2016-6-13 23:08:25 | 显示全部楼层
你自己带几个值进去试试就知道能不能了
 楼主| 发表于 2016-6-13 23:14:41 | 显示全部楼层
回复 2# 谁枫而飘


不是,我是不理解他那两行代码的原理,跟我在书上看到的gray转二进制码的原理不太一致,书上是bin=gray^gray[i+1]^...^gray[n-1]而代码中是通过移位来实现的
 楼主| 发表于 2016-6-13 23:15:42 | 显示全部楼层
回复 2# 谁枫而飘


  这个代码应该是对的 抄书上的 就不是太理解怎么人通过移位来实现的?
发表于 2016-6-14 08:51:35 | 显示全部楼层
这个是格雷码与二进制码互转啊
发表于 2016-6-14 09:44:56 | 显示全部楼层
^(gray>>i)  等同于

(gray>>i)[0]^(gray>>i)[1]^...(gray>>i)[n-1]

还是不明白的话 可以度娘一下 网上很多讲解Graytobin的原理
 楼主| 发表于 2016-6-15 17:41:50 | 显示全部楼层
回复 6# ltshan


   你说的这个“bin=^(gray>>i)  等同于bin=(gray>>i)[0]^(gray>>i)[1]^...(gray>>i)[n-1]我能理解   
但是我查的资料上graytobin的转换公式是这样的“bin=gray^gray[i+1]^...^gray[n-1]


请问"(gray>>i)[0]^(gray>>i)[1]^...(gray>>i)[n-1]" 跟 “gray^gray[i+1]^...^gray[n-1]”等价么??
我尝试带一个数进去 发现结果不一样啊!
发表于 2016-6-15 23:41:08 | 显示全部楼层
你列一下真值表,一清二楚,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-17 03:28 , Processed in 0.029891 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表