独热码one-hot code
来源:互联网 发布:av淘宝7m视频2017淘 编辑:程序博客网 时间:2024/05/16 01:04
1.独热码概念
独热码,在英文文献中称做 one-hot code, 直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。通常,在通信网络协议栈中,使用八位或者十六位状态的独热码,且系统占用其中一个状态码,余下的可以供用户使用。
例如,有6个状态的独热码状态编码为:000001,000010,000100,001000,010000,100000。
再如,有十六个状态的独热码状态编码应该是:0000000000000001,0000000000000010,0000000000000100,0000000000001000,0000000000010000,0000000000100000 ,……,10000000000000000。但是通常我们为了方便书写,将二进制简化为十六进制表示(从右往左每四位二进制位用一位十六进制数表示),那么,以上十六状态的独热码可以表示成0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, ……, 0x8000(其中的0x是十六进制的前缀表示,在诸如PLC等程序中也有其他表示方法)。
2.码制和数制
码制和数制不一样。制,是表示“方法”:码制就是编码方法;数制,就是计数方法。
编码可以表示任何人为赋予的含义,可以是逻辑的,也可以是非逻辑的,编码没有大小之分,也可称作代码。 编码没有位权,或者说每位是平等的,每个位上数字比较大小是没有意义的。数码(编码)就是利用数字或字母来做记号的一串编码或者指其中某位编码数。这里应该注意,编码对应的数字其值也可以是有大小的数或者其他量。
数制,也称计数制度,计数方法(注意这里计数不是记数),数有大小之分,每一位有权重。常见的数制有:二进制,十进制,十六进制,六十进制等。
利用某种特定数制形式来编码,称作某进制编码,但是这个编码并不一定等同于该进制的数(计数)。二进制编码也可称连续编码,也就是码元值的大小是连续变化的,逢二进一。比如000,001,010,011,100,101。
数和码也有联系,通常用在数字逻辑中的码制有,格雷码(就是两个码之间只差1位不同,000,001,011,010,110,100)、BCD码、8421BCD码、余三码、ASCII码等。
3.Binary(二进制编码)、gray-code(格雷码)和one-hot(独热码)编码对比
二进制编码、格雷码编码使用最少的触发器,消耗较多的组合逻辑,而独热码编码反之。独热码编码的最大优势在于状态比较时仅仅需要比较一个位,从而一定程度上简化了译码逻辑。虽然在需要表示同样的状态数时,独热编码占用较多的位,也就是消耗较多的触发器,但这些额外触发器占用的面积可与译码电路省下来的面积相抵消。
Binary(二进制编码)、gray-code(格雷码)编码使用最少的触发器,较多的组合逻辑,而one-hot(独热码)编码反之。one-hot 编码的最大优势在于状态比较时仅仅需要比较一个bit,一定程度上从而简化了比较逻辑,减少了毛刺产生的概率。由于CPLD更多地提供组合逻辑资源,而FPGA更多地提供触发器资源,所以CPLD多使用gray-code,而FPGA多使用one-hot编码。另一方面,对于小型设计使用gray-code和binary编码更有效,而大型状态机使用one-hot更高效。
0 0
- 独热码one-hot code
- One Hot Code---独热码
- 独热码one-hot code
- Verilog中状态机编码方式的选择:二进制编码(Binary)、格雷码(Gray-code)编码、独热码(One-hot)编码
- Verilog中状态机编码方式的选择:二进制编码(Binary)、格雷码(Gray-code)编码、独热码(One-hot)编码
- Verilog中状态机编码方式的选择:二进制编码(Binary)、格雷码(Gray-code)编码、独热码(One-hot)编码
- one-hot编码
- One hot encoding
- One-Hot Encoding
- one hot coding
- one-hot编码
- 数据处理之one-hot
- One-Hot Encoding
- one-hot编码
- One-Hot Encoding
- 关于One-hot编码
- One-hot encoding 数据处理
- numpy之one-hot
- 最长公共子序列问题
- 高手速成android开源项目【blog篇】
- JAVA 数据类型的范围
- linux编程中,你所不知道的一个小知识
- 深入学习python(二) 迭代器(Iterator)和生成器(Generate)
- 独热码one-hot code
- CSS+DIV实现鼠标经过背景变色
- ADF 如何访问页面模块中的方法与属性
- 记录学习点滴-《Windows 程序设计》-3-1
- TCL编程资料
- 高手速成android开源项目【developer篇】
- 初步学习Protected Mode(4)
- .Net开源项目
- lua路径处理