微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求格雷码计数器

求格雷码计数器

时间:10-02 整理:3721RD 点击:
请教一下不经过转换成二进制数怎么实现格雷码的加减操作。

这个就不知道了

也想知道,如何来做。

不晓得

位数少的话可以写查找表。逻辑实现俺不知道。
看synopsys的库里面的模型也是gray2bin+1, 然后bin2gray

最简单的方法就是用个fsm啊,
不过我是不会这么做的。

好!顶一个!

格雷码是不能进行加减产生空满标志的  那怎么办  采样延时一拍的方法  用读地址
Rd_addr产生读地址的格雷码Rd_next_gray_addr    将Rd_next_gray_addr延一拍得到Rd_gray_addr    再
将Rd_gray_addr延一拍得到Rd_last_gray_addr     你会发现在绝对时间上  Rd_next_gray_addr
Rd_gray_addr    Rd_last_gray_addr这个地址有先后关系  从大到小排列  并且相差1
写地址的格雷码的产生也类似  即   Wt_next_gray_addr    Wt_gray_addr    Wt_last_gray_addr
利用这6个格雷码进行比较  同时加上读写使能  就能表示空和满标志

Gray code is invented to transfer data in industrial and noisy environment, such that the subsequent counts only differ in one bit. for any calculation, it is better to be converted to binary first.

不转换的话解决这问题估计有点恼火

顶9楼!先用“异或”将Gray转成Binary,然后二进制计数器,然后再用异或将Binary转成Gray。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top