semonpic 发表于 2010-6-14 14:04:40

关于格雷码计数器和格雷码转二进制,大家来探讨一下。

格雷码计数器在FPGA异步时钟设计时使用很广泛。关于格雷码计数器的设计方法基本有2种,一种是计数器还是用二进制累加,但是输出时转换成格雷码。另一种是通过状态机来实现。请用过格雷码的哥们指点,对于位数比较大,超过20位的格雷码计数器该如何设计。

关于格雷码转二进制,格雷码转二进制的逻辑描述是B(I)=G(I) I=N
                                              B(I)=G(I) XOR B(I+1) 1=<I<N
这种描述方法在位数较少时可以方便的实现,如果位数较大,超过20位,我总不能写20条语句吧类似于
15    G2B_counter = gray;
16    G2B_counter = gray ^ G2B_counter;
17    G2B_counter = gray ^ G2B_counter;
18    G2B_counter = gray ^ G2B_counter;
请高手赐教

tear086 发表于 2010-6-14 16:39:58

二进制格雷码与自然二进制码的互换.(Verilog)
http://blog.ednchina.com/2006tx_yafeng/146912/message.aspx

本文所使用的for关键字,主要用于复制电路。
页: [1]
查看完整版本: 关于格雷码计数器和格雷码转二进制,大家来探讨一下。