博客首页 | 排行榜 |

superian的博客

个人档案
博文分类
状态机 编码的选择  2010-03-19 12:54

这个是参考别人的内容

 

在数字逻辑设计中最常用的有三种编码方式:二进制,格雷码 Gray,独热编码One-hot One hot
      编码使用一组码元,每一个码元仅有1bit有效,例如
      IDLE = 0001,
      WRITE = 0010,
      READ = 0100,
      WAIT = 1000
      这种编码的译码部分可以最简,因此可以总结出One-hot编码的特点:
      组合逻辑最少,触发器最多,工作时钟频率可以做到最高。
      FPGA的一个最小结构单元(CLB/LE)中含有查找表(实现组合逻辑)和DFF(实现时序逻辑),布局布线最好的结果是同一个结构单元中的查找表和DFF都使用,但是大部分情况是仅使用其中一种资源,这样另外的资源就是闲置而浪费。而CPLD中DFF资源本来就很少,由此可见One-hot编码更适合于FPGA设计,而不适合CPLD设计,在CPLD中应该选择二进制编码。
      IC设计中,应该综合考虑。因为One-hot编码使用DFF会大大增加设计面积(die
      size),因此在时序可以满足的条件下尽可能使用二进制编码。就面积与速度的折中考虑来说Gray码是最好的选择,当然Gray码还有其他很多好的特性,暂时不属于这次讨论的范畴。一般的综合工具对状态机进行综合时都可以让用户对这三种编码进行选择。基本依据就以上所说。

类别:默认 |
上一篇:状态机 方式的选择 xilinx给出的
以下网友评论只代表其个人观点,不代表本网站的观点或立场