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更高效。

独热码one-hot code相关推荐

  1. 独热码转二进制码(含代码)

    目录 1.什么是独热码 2.转换原理 3.c代码 1.什么是独热码 独热码( one-hot code)直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0 其表示方法如下表所示 十 ...

  2. Verilog中状态机编码方式的选择:二进制编码(Binary)、格雷码(Gray-code)编码、独热码(One-hot)编码

    一般的,在Verilog中最常用的编码方式有二进制编码(Binary).格雷码(Gray-code)编码.独热码(One-hot)编码. 二进制码和格雷码是压缩状态编码. 若使用格雷编码,则相邻状态转 ...

  3. 【特征工程】机器学习中离散型特征的处理 —— 独热码 (one-hot)

    [原文链接]https://www.cnblogs.com/daguankele/p/6595470.html 1.什么是独热码 独热码,在英文文献中称做 one-hot code, 直观来说就是有多 ...

  4. 二进制码、格雷码、独热码的区别

    格雷码 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即"首尾相连",因此又称循 ...

  5. verilog独热码检测

    独热码介绍 独热码是一种二进制编码方式,它的特点是,用来编码这个数的N位bit中,有且只有一位是1,其余位全部为0.因为只有1位是1,所以叫做one-hot (对应的,还有一种编码方式是只有1位是0, ...

  6. 【基础知识】~ 进制转换、补码、格雷码、BCD码、独热码

    1. 进制转换 1.1 十进制 to 二进制 正整数转二进制:除二取余,然后倒序排列,高位补零. 负整数转二进制:先是将对应的正整数转换成二进制后,对二进制取反,然后对结果再加一. 小数转二进制:对小 ...

  7. 【数字电路基础】格雷码、二进制码与格雷码的转换、独热码

    文章目录 一. 格雷码 二.二进制码与格雷码的转换 2.1.二进制码转格雷码(编码) 2.2.格雷码转二进制码(解码) 三.代码实现 3.1.`b2g.v`(**二进制码转格雷码**) 3.2.`g2 ...

  8. Verilog-状态机编码方式对比:独热码 vs 格雷码

    博主福利:100G+电子设计学习资源包! http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5 ...

  9. Verilog常见编码方式:二进制码、格雷码、独热码

    Verilog常见编码方式有:二进制码.格雷码.独热码:三种编码方式各有特点利弊,因此有必要理解比较,以求不同场合的合理选择: 目录 一.结论: 二.详细了解 二进制码 格雷码 独热码 比较 三.参考 ...

最新文章

  1. 关于Unity中如何判断一个动画播放结束
  2. JAVA中File类的使用
  3. java管理从程序员到CTO的Java技术路线图
  4. Vue+Openlayers实现地图缩放图标等比例缩放
  5. js正則表達式--验证表单
  6. ASP——Request.Form()方法获取POST提交方式的表单中文乱码解决方案
  7. Java设计模式之行为型:模板方法模式
  8. 怎么把excel文件转成dta_Word怎么转成PDF文件?首选就是这个转换方法!
  9. pandas loc和iloc区别
  10. memcmp()库函数实现
  11. python偏函数和高阶函数_【Python入门】8.高阶函数之 匿名函数和偏函数
  12. [java实战篇]--java的GUI(1)
  13. mysql 存储引擎文件夹_4种常用MySQL存储引擎
  14. stm32有源蜂鸣器程序,高效简洁优雅。
  15. Java中利用compareTo方法进行字符串比较排序
  16. echarts柱状图及阴影偏移
  17. 系统架构设计师考试心得与经验
  18. 实验十七 通信录csv文件管理
  19. python中创建requirement.txt
  20. tipask二次开发总结_tipask二次开发总结

热门文章

  1. 解读阿里云AI产品矩阵:目标是打造最强中国云计算能力
  2. 前端与移动开发-----CSS(三大特性+盒子模型原理)
  3. 为什么可供出售金融资产的公允价值变动计入资本公积,而可交易性金融资产的公允价值变动却计入公允价值变动损益?
  4. 为啥说高通最新发布的5G芯片意义重大?
  5. 使用H-lua框架制作魔兽争霸地图(9-开局难度选择)
  6. Parallel的使用 之Parallel.forrech
  7. 合工大计算机组成原理ppt,合工大考研课件计算机组成原理第六章
  8. 类加载器与垃圾回收机制
  9. system verilog $clog2的使用
  10. 从0-1搭建流媒体系统之ZLMediaKit 安装、运行、推流、拉流