一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种独热码至顺序二进制的转换方法、系统及相关装置与流程

2022-05-06 09:46:34 来源:中国专利 TAG:


1.本技术涉及电路设计领域,特别涉及一种独热码至顺序二进制的转换方法、系统及相关装置。


背景技术:

2.独热码(one-hot code)在数字电路中被用来表示一种特殊的位元组合,该字节里,仅允许单位比特为1,其他比特都必须为0。
3.在电路中,使用n个状态寄存器来对n个状态寄存器进行编码,每个状态都有与之对应的独立的寄存器控制,并且在任意时候时只有一位有效。但独热码也有缺点.独热码会有很多非法状态存在,因此,对于适用不同编码方式的电路设计之间的交互,就可能需要独热码与顺序二进制相互转化。但当前对于独热码的转换,常用for loop的方式,对独热码的每个比特从低到高判别是否为1,最终记录最最高位为1的指数为它的顺序二进制码。这个方法对于所有的非法状态都有约束,浪费过多的面积去支撑非法状态,即对于所有初始码并非只有一位为1的状态,它对应的顺序二进制是它从高到低的第一个为1的比特指数位,因此现有的独热码转换为顺序二进制的代码方式使得电路需要较大的面积。


技术实现要素:

4.本技术的目的是提供一种独热码至顺序二进制的转换方法、转换系统、计算机可读存储介质和电子设备,能够优化独热码至顺序二进制的转换,进而降低所使用的电路面积。
5.为解决上述技术问题,本技术提供一种独热码至顺序二进制的转换方法,具体技术方案如下:
6.获取待处理编码;
7.将所述待处理编码初始化为独热码编码;
8.按照预设转换公式将所述顺序二进制中第i位对应的独热码编码中的j位独热码的逻辑或值作为所述第i位的值;
9.依次确定所有i的值,得到所述顺序二进制;
10.其中,所述预设转换公式为j mod 2
i 1
>2
i-1,j为所述独热码编码的第j位,i为所述顺序二进制的第i位。
11.可选的,若所述待处理编码的位数为2的指数次方,还包括:
12.取高位的待处理编码的按位或的结果为所述顺序二进制的最高位的值;
13.将所述待处理编码作对称或处理,并计算当前待处理编码的对称或结果最为次高位的值;
14.循环执行上一步骤,按所述顺序二进制从高到低的顺序得到所述待处理编码对应顺序二进制。
15.可选的,将所述待处理编码作对称或处理包括:
16.将所述待处理编码的前一半编码作为高位编码,后一半编码作为低位编码;
17.将所述高位编码和所述低位编码作逻辑或运算。
18.可选的,将所述待处理编码初始化为独热码编码包括:
19.配置所述待处理编码的宽度变量和待处理编码数;
20.其中,所述宽度变量和所述待处理编码数为所述独热码编码转换顺序二进制过程中的中间变量,且所述待处理变量为0时得到所述顺序二进制。
21.本技术提供一种独热码至顺序二进制的转换系统,包括:
22.获取模块,用于获取待处理编码;
23.初始化模块,用于将所述待处理编码初始化为独热码编码;
24.转换模块,用于按照预设转换公式将所述顺序二进制中第i位对应的独热码编码中的j位独热码的逻辑或值作为所述第i位的值;依次确定所有i的值,得到所述顺序二进制;
25.其中,所述预设转换公式为j mod 2
i 1
>2
i-1,j为所述独热码编码的第j位,i为所述顺序二进制的第i位。
26.可选的,若所述待处理编码的位数为2的指数次方,还包括:
27.最高位取值模块,用于取高位的待处理编码的按位或的结果为所述顺序二进制的最高位的值;
28.对称或处理模块,用于将所述待处理编码作对称或处理,并计算当前待处理编码的对称或结果最为次高位的值;
29.循环模块,用于循环进入所述对称或模块,按所述顺序二进制从高到低的顺序得到所述待处理编码对应顺序二进制。
30.可选的,对称或处理模块包括:
31.高低编码确定单元,用于将所述待处理编码的前一半编码作为高位编码,后一半编码作为低位编码;
32.逻辑或运算单元,用于将所述高位编码和所述低位编码作逻辑或运算。
33.可选的,初始化模块包括:
34.参数配置单元,用于配置所述待处理编码的宽度变量和待处理编码数;
35.其中,所述宽度变量和所述待处理编码数为所述独热码编码转换顺序二进制过程中的中间变量,且所述待处理变量为0时得到所述顺序二进制。
36.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
37.本技术还提供一种电子设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
38.本技术提供一种独热码至顺序二进制的转换方法,包括:获取待处理编码;将所述待处理编码初始化为独热码编码;按照预设转换公式将所述顺序二进制中第i位对应的独热码编码中的j位独热码的逻辑或值作为所述第i位的值;依次确定所有i的值,得到所述顺序二进制;其中,所述预设转换公式为j mod 2
i 1
>2
i-1,j为所述独热码编码的第j位,i为所述顺序二进制的第i位。
39.本技术用简单的或门转换电路实现独热码转换至顺序二进制,逻辑电路简单,综
合电路面积小,通过忽略非法状态的逻辑的方式优化电路面积,同时灵活参数化的代码方式。
40.本技术还提供一种独热码至顺序二进制的转换系统、计算机可读存储介质和电子设备,具有上述有益效果,此处不再赘述。
附图说明
41.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
42.图1为本技术实施例所提供的一种独热码至顺序二进制的转换方法的流程图;
43.图2为或门方式的4位宽的独热码转为2位宽的顺序二进制的仅与非门电路;
44.图3为优先级case方式的4位宽的独热码转为2位宽的顺序二进制的仅与非门电路;
45.图4为或门方式的8位宽的独热码转为3位宽的顺序二进制的仅与非门电路;
46.图5为优先级case方式的8位宽的独热码转为3位宽的顺序二进制的仅与非门电路;
47.图6为本技术实施例所提供的一种独热码至顺序二进制的转换系统结构示意图。
具体实施方式
48.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.独热码有很多非法状态存在。比如,对于n个比特总共有2^n个状态,但是合法状态却只有n个,但会有2^n-1个非法状态。另外,对于n个状态,则需要n个触发器。相较于顺序码或格雷码,独热码则需要更多的寄存器和面积资源。所以,独热码并不适用于所有编码设计。因此,对于适用不同编码方式的电路设计之间的交互,就可能需要独热码与顺序二进制相互转化。
50.目前常用for loop的方式,对独热码的每个比特从低到高判别是否为1,最终记录最最高位为1的指数为它的顺序二进制码。事实上,它等同于一个带有优先级的case条件电路,如图2。以4比特宽的独热码为例,只要独热码的最高位为1,则其对应的顺序二进制码则为

11b’。只要独热码的高两位为

01b’,则其对应的顺序二进制码为

10b’。只要独热码的高三位为

001b’,则其对应的顺序二进制码则为

01b’。最后独热码

0001b’对应顺序二进制

00b’。
51.这个方法对于所有的非法状态都有约束,浪费过多的面积去支撑非法状态,即对于所有初始码并非只有一位为1的状态,它对应的顺序二进制是它从高到低的第一个为1的比特指数位。
52.请参考图1,图1为本技术实施例所提供的一种独热码至顺序二进制的转换方法的
流程图,该方法包括:
53.s101:获取待处理编码;
54.s102:将所述待处理编码初始化为独热码编码;
55.s103:按照预设转换公式将所述顺序二进制中第i位对应的独热码编码中的j位独热码的逻辑或值作为所述第i位的值;
56.s104:依次确定所有i的值,得到所述顺序二进制;
57.其中,所述预设转换公式为j mod 2
i 1
>2
i-1,j为所述独热码编码的第j位,i为所述顺序二进制的第i位。即独热码编码的位数与2的指数次方的余数要大于2
i-1。
58.在执行步骤s102时,可以实现配置待处理编码的宽度变量和待处理编码数,宽度变量和待处理编码数均为所述独热码编码转换顺序二进制过程中的中间变量,且待处理变量为0时得到所述顺序二进制,而待处理编码由于需要执行逻辑或运算,其宽度逐渐减少,可以通过宽度变量记录转换过程中的宽度变化。
59.在执行步骤s103时,需要说明的是,根据预设转换公式,任何能够该满足i取值时的j值均需要参与逻辑或运算。且在转换时,可以选择从顺序二进制的最高位开始转换,也可以选择从顺序二进制的最低位开始转换。
60.举例而言,以16位宽的独热码转化为4位宽的顺序二进制为例,最终将i=0代入上述预设转换公式,2
i-1=0,2
i 1
为2,则说明j应为奇数,可得顺序二进制的第0位的值为独热码的第1,3,5,7,9,11,13,15位的或值;
61.同理,可得顺序二进制的第1位的值为独热码的第2,3,7,6,10,11,14,15位的或值顺序;顺序二进制的第2位的值为独热码的第4,5,6,7,12,13,14,15位的或值;顺序二进制的第3位的值为独热码的第8,9,10,11,12,13,14,15位的或值,至此可以得到4位宽的顺序二进制。
62.特别的,若待处理编码的位数为2的指数次方,还可以存在另一种转换方式:
63.第一步、取高位的待处理编码的按位或的结果为所述顺序二进制的最高位的值;
64.第二步、将所述待处理编码作对称或处理,并计算当前待处理编码的对称或结果最为次高位的值;
65.循环执行上一步骤,按所述顺序二进制从高到低的顺序得到所述待处理编码对应顺序二进制。
66.首先,初始化独热码编码,取高位的待处理编码的按位或的结果为顺序二进制的最高位的值,也就是独热码的高几位中是否有1的逻辑值。之后将待处理编码设为目前的待处理编码的对称或的结果。比如,目前的待处理编码的位宽为8,则新的待处理编码则为目前的待处理代码的高4位与目前的待处理代码的低4位的或值。之后,顺序二进制的次高位值则等于新的待处理编码。然后,按照这个规律依次按比特位得出顺序二进制的值。
67.依旧以16位宽的独热码转化为4位宽的顺序二进制为例,假设输入的独热码的值为“16’b0010_0000_0000_0000”,则顺序二进制的最高位值为独热码高8位的按位或,为
‘1’
。新的待处理代码为独热码的高8位与低8位的或值,为“8’b0010_0000”。那么,顺序二进制的第2位为8位的待处理代码的高4位的按位或,为
‘1’
。新的待处理代码为待处理代码的高4位与低4位的或值,为“4’b0010”。那么,顺序二进制的第1位为4位的待处理代码的高2位的按位或,为
‘0’
。新的待处理代码为待处理代码的高2位与低2位的或值,为“2’b10”。那么,
顺序二进制的第0位为4位的待处理代码的高1位的值,为
‘1’
。最终,转化后的顺序二进制为“4’b1101”。
68.可见,在执行对称或处理时,将待处理编码的前一半编码作为高位编码,后一半编码作为低位编码,再将高位编码和低位编码作逻辑或运算。但该方法仅适合应用于待处理编码的独热码编码位数为2的指数倍,相较于常规方法,其转换效率更高。
69.以下将现有最接近的转化代码方式称为优先级case方式,将本技术上述实施例提出的代码方式称为或门方式。图2至图5分别是根据两种方式所代表的逻辑电路所推测的逻辑图。
70.图2为或门方式的4位宽的独热码转为2位宽的顺序二进制的仅与非门电路,图3为优先级case方式的4位宽的独热码转为2位宽的顺序二进制的仅与非门电路,图4为或门方式的8位宽的独热码转为3位宽的顺序二进制的仅与非门电路,图5为优先级case方式的8位宽的独热码转为3位宽的顺序二进制的仅与非门电路,可以明显看出,本技术实现的或门方式能够有效简化电路结构,减少电路面积。
71.下面对本技术实施例提供的独热码至顺序二进制的转换系统进行介绍,下文描述的转换系统与上文描述的独热码至顺序二进制的转换方法可相互对应参照。
72.参见图6,图6为本技术实施例所提供的一种独热码至顺序二进制的转换系统结构示意图,本技术提供一种独热码至顺序二进制的转换系统,包括:
73.获取模块,用于获取待处理编码;
74.初始化模块,用于将所述待处理编码初始化为独热码编码;
75.转换模块,用于按照预设转换公式将所述顺序二进制中第i位对应的独热码编码中的j位独热码的逻辑或值作为所述第i位的值;依次确定所有i的值,得到所述顺序二进制;
76.其中,所述预设转换公式为j mod 2
i 1
>2
i-1,j为所述独热码编码的第j位,i为所述顺序二进制的第i位。
77.基于上述实施例,作为优选的实施例,若所述待处理编码的位数为2的指数次方,还包括:
78.最高位取值模块,用于取高位的待处理编码的按位或的结果为所述顺序二进制的最高位的值;
79.对称或处理模块,用于将所述待处理编码作对称或处理,并计算当前待处理编码的对称或结果最为次高位的值;
80.循环模块,用于循环进入所述对称或模块,按所述顺序二进制从高到低的顺序得到所述待处理编码对应顺序二进制。
81.基于上述实施例,作为优选的实施例,对称或处理模块包括:
82.高低编码确定单元,用于将所述待处理编码的前一半编码作为高位编码,后一半编码作为低位编码;
83.逻辑或运算单元,用于将所述高位编码和所述低位编码作逻辑或运算。
84.基于上述实施例,作为优选的实施例,初始化模块包括:
85.参数配置单元,用于配置所述待处理编码的宽度变量和待处理编码数;
86.其中,所述宽度变量和所述待处理编码数为所述独热码编码转换顺序二进制过程
中的中间变量,且所述待处理变量为0时得到所述顺序二进制。
87.本技术还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
88.本技术还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
89.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
90.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
91.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献