关于状态机的编码(独热码和格雷码)

在设计状态机时有几种状态编码方法:二进制,格雷码(gray)和独热码(one hot code)。他们各有各的优点。

独热 格雷 二进制

4’b0001 2’b00 2‘b00

4’b0010 2’b01 2’b01

4’b0100 2’b11 2‘b10

4’b1000 2’b10 2’b11

one hot,独热嘛,一看就明白,就是只有一位是高电平。独热码 使用的触发器较多,但可减少实现状态机的组合逻辑数目,减少复杂性,提高系统的速度,即工作时钟频率可以做到最高。格雷码是使用最小数目的触发器来编码状态机,但形成的组合逻辑比较复杂。

使用独热码编码时,会出现很多未使用的状态,而使用二进制编码和格雷码编码时,如果状态机的状态数不是2的指数次方时,也会出现未使用状态。

格雷码每个相邻的状态切换只有一个bit的信号跳变,适用于异步握手的情况,比如异步FIFO的指针计数。

未经允许不得转载:视频教程学习资料分享与下载平台 » 关于状态机的编码(独热码和格雷码)

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏