求格雷码计数器
这个就不知道了
也想知道,如何来做。
不晓得
位数少的话可以写查找表。逻辑实现俺不知道。
看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。
