本帖最后由 GoldSunMonkey 于 2011-10-18 18:50 编辑
在上面的公式中,下标表示n+1位二进制码或格雷码的位数。
我们还知道计数器不过是一个触发器组和一个累加器而已,我们可以按照下面的方法来做——将格雷码码元转换为二进制码元,然后加1,
再它转换回格雷码并存储。这是解决产生n-bit格雷码算法棘手问题一个普遍的方法。由它生成的计数器如图3所示。
当用综合工具优化时,相信综合工具能够为格雷码计数器提供一个相当快速的电路。当然,如果希望拥有一个深度为32字节的FIFO时,
可在格雷码编码的状态机中手工编写计数器代码。
最终的FIFO设计如图4所示。这次我不再提供代码,因为我相信无论用VHDL或Verilog HDL编写,那都是一件非常容易的事。
|