独热码的介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了独热码的介绍相关的知识,希望对你有一定的参考价值。

参考技术A

独热码,在英文文献中称做 one-hot code, 直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。通常,在通信网络协议栈中,使用八位或者十六位状态的独热码,且系统占用其中一个状态码,余下的可以供用户使用。

独热码的相关概念:数、码

参考技术A

码制和数制不一样。制,是表示“方法”:码制就是编码方法;数制,就是计数方法。
编码可以表示任何人为赋予的含义,可以是逻辑的,也可以是非逻辑的,编码没有大小之分,也可称作代码。 编码没有位权,或者说每位是平等的,每个位上数字比较大小是没有意义的。数码(编码)就是利用数字或字母来做记号的一串编码或者指其中某位编码数。这里应该注意,编码对应的数字其值也可以是有大小的数或者其他量。
数制,也称计数制度,计数方法(注意这里计数不是记数),数有大小之分,每一位有权重。常见的数制有:二进制,十进制,十六进制,六十进制等。
利用某种特定数制形式来编码,称作某进制编码,但是这个编码并不一定等同于该进制的数(计数)。二进制编码也可称连续编码,也就是码元值的大小是连续变化的,逢二进一。比如000,001,010,011,100,101。
数和码也有联系,通常用在数字逻辑中的码制有,格雷码(就是两个码之间只差1位不同,000,001,011,010,110,100)、BCD码、8421BCD码、余三码、ASCII码等。 二进制编码、格雷码编码使用最少的触发器,消耗较多的组合逻辑,而独热码编码反之。独热码编码的最大优势在于状态比较时仅仅需要比较一个位,从而一定程度上简化了译码逻辑。虽然在需要表示同样的状态数时,独热编码占用较多的位,也就是消耗较多的触发器,但这些额外触发器占用的面积可与译码电路省下来的面积相抵消。
Binary(二进制编码)、gray-code(格雷码)编码使用最少的触发器,较多的组合逻辑,而one-hot(独热码)编码反之。one-hot 编码的最大优势在于状态比较时仅仅需要比较一个bit,一定程度上从而简化了比较逻辑,减少了毛刺产生的概率。由于CPLD更多地提供组合逻辑资源,而FPGA更多地提供触发器资源,所以CPLD多使用gray-code,而FPGA多使用one-hot编码。另一方面,对于小型设计使用gray-code和binary编码更有效,而大型状态机使用one-hot更高效。

以上是关于独热码的介绍的主要内容,如果未能解决你的问题,请参考以下文章

独热码

Zigbee事件

one_hot(独热码)官方示例的个人理解

vivado 怎样设置参数让编码状态为格雷码或是独热码

verilog的one hot究竟是啥意思啊?

独热编码可以pca吗