CN104516820A - 一种独热码检测方法和独热码检测器 - Google Patents

一种独热码检测方法和独热码检测器 Download PDF

Info

Publication number
CN104516820A
CN104516820A CN201510023614.6A CN201510023614A CN104516820A CN 104516820 A CN104516820 A CN 104516820A CN 201510023614 A CN201510023614 A CN 201510023614A CN 104516820 A CN104516820 A CN 104516820A
Authority
CN
China
Prior art keywords
input
hot encoding
place
output terminal
input end
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510023614.6A
Other languages
English (en)
Other versions
CN104516820B (zh
Inventor
甘晖
童元满
李仁刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510023614.6A priority Critical patent/CN104516820B/zh
Publication of CN104516820A publication Critical patent/CN104516820A/zh
Application granted granted Critical
Publication of CN104516820B publication Critical patent/CN104516820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种独热码检测方法和独热码检测器,该方法包括:将多个最小单元级联连接成输入位数为目标位数Nx的独热码检测器;其中,Nx为大于2的整数,通过所述独热码检测器,对输入位数为Nx的独热码进行检测;其中,所述最小单元和所述独热码检测器均包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,提供用于独热码检测的辅助信息。可以方便的通过最小单元来构建任意位数的独热码检测器,具有优越的可扩展性,此外,在实现位数较大的独热码的检测时,使得代码结构清晰且代码内容简洁、可重复性较好,从而优化了独热码的检测工作,使得独热码的应用更加便利。

Description

一种独热码检测方法和独热码检测器
技术领域
本发明涉及领域电子线路设计领域,特别涉及一种独热码检测方法和独热码检测器。
背景技术
独热码,英文名称为one-hot code,也就是多位编码中,有且仅有一位为1,其它全部为0的一种编码方式。独热码相对于其它编码最大的优势在于状态比较时仅仅需要比较一位,在一定程度上简化了译码逻辑。
独热码可以用于控制状态机的运作,例如,系统有多个状态,一次有且只有一个状态处于运作状态,因此,可以通过输入独热码来控制状态机的运作,当输入的独热码中不同为的bit位为1时,对应控制不同的状态处于运作状态。
为了确保系统中输入的用于控制的并行数据是一个独热码。需要通过独热码检测器对输入的并行数据进行检测,对于现有的独热码检测器,为了对位数为N的独热码进行检测,需要一次性描述所有的逻辑表达式,对于N位的独热码,存在N种检测结果为真的情况,在逻辑表达中需要对N个逻辑表达式进行逻辑或的表达,因此,代码的逻辑描述中重复较多,当N的数值很大时,将使得代码结构不清晰,代码冗长、且可重复性较差的问题更加严重。
发明内容
本发明提供一种独热码检测方法和独热码检测器,用于解决现有技术中由于需要一次性描述所有的逻辑表达式所造成的代码结构不清晰,代码冗长、且可重复性较差的问题。
为了解决上述技术问题,本发明提供了一种独热码检测方法,包括:
将多个最小单元级联连接成输入位数为目标位数Nx的独热码检测器;其中,Nx为大于2的整数,
通过所述独热码检测器,对输入位数为Nx的独热码进行检测;
其中,所述最小单元和所述独热码检测器均包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,提供用于独热码检测的辅助信息。
优选地,将多个最小单元级联连接连接成输入位数为目标位数Nx的独热码检测器包括:
将多个最小单元级联连接成独热码检测单元;
将多个独热码检测单元级联连接成输入位数为目标位数Nx的独热码检测器;
其中,所述独热码检测单元包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,为下一级的独热码检测单元提供用于独热码检测的辅助信息。
优选地,所述将多个独热码检测单元级联连接成输入位数为目标位数Nx的独热码检测器具体为:
通过一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器;其中,所述一层输入单元、所述二层输入单元均为独热码检测单元,二层输入单元的个数为1个,二层输入单元的输入位数N2等于一层输入单元的个数,一层输入单元的输入位数为N1,N2个一层输入单元的结果输出端均连接至所述二层输入单元的输入端;
其中,根据目标位数Nx,确定所述一层输入单元的输入位数N1和个数N2;其中,N1与N2的乘积大于或等于所述目标位数Nx。
优选地,所述N2个一层输入单元的结果输出端均连接至所述二层输入单元的输入端具体为:N2个一层输入单元的输出端next分别连接至二层输入单元的N2个输入端;
所述通过一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器具体包括:
N2个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;
所述第一与门的输出端为所述独热码检测器的输出端next、第二与门的输出端为所述独热码检测器的输出端error;
当N1与N2的乘积等于所述目标位数时,将N2个一层输入单元的N1*N2个输入端作为所述独热码检测器的输入端,当N1与N2的乘积大于所述目标位数时,将N2个一层输入单元的输入端作为所述独热码检测器的输入端,将其它的输入端接地。
优选地,在所述通过一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器之前,还包括:
将目标位数Nx设置为N1,通过多个独热码检测单元的级联连接,构建输入位数为N1的独热码检测器作为所述一层输入单元;
将目标位数Nx设置为N2,通过多个独热码检测单元的级联连接,构建输入位数为N2的独热码检测器作为所述二层输入单元。
优选地,所述最小单元为输入位数是2的独热码检测单元,具体地:
所述最小单元包括两个输入端和两个输出端,两个输入端分别为IN_1和IN_2,两个输出端分别为next和error,
所述最小单元的运算逻辑为:
当输入端的输入均为0时,输出端next的输出值为0,输出端error的输出值为0;
当输入端的输入一个为0一个为1时,输出端next的输出值为1,输出端error的输出值为0;
当输入端的输入均为1时,输出端next的输出值为0,输出端error的输出值为1。
优选地,在所述通过一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器之前,还包括:
将目标位数Nd设置为N1,通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元作为所述一层输入单元,
将目标位数Nd设置为N2,通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元作为所述二层输入单元。
优选地,当所述Nd等于所述最小单元的输入位数时,所述通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元具体包括:将最小单元作为所述独热码检测单元。
优选地,当所述Nd大于所述最小单元的输入位数时,所述通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元具体包括:
根据目标位数Nd,构建最小单元的个数X1;其中,当目标位数Nd为2的整数倍时,X1等于Nd/2,当目标位数Nd不是2的整数倍时,X1等于(Nd+1)/2:
采用X1个最小单元作为一层输入单元,采用一个输入位数为X1的独热码检测单元作为二层输入单元;
其中,X1个一层输入单元的输出端next分别连接至二层输入单元的ND/2个输入端,ND/2个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;
所述第一与门的输出端为所述独热码检测单元的输出端next、第二与门的输出端为所述独热码检测单元的输出端error;
当目标位数Nd为2的整数倍时,将X1个最小单元的2*X1个输入端作为所述独热码检测单元的输入端,当目标位数Nd不是2的整数倍时,将X1个最小单元的输入端中的(2*X1-1)个输入端作为所述独热码检测单元的输入端,将剩余1个输入端接地。
优选地,使用硬件编程或电子线路方法实现所述最小单元。
为了解决上述技术问题,本发明还提供一种独热码检测器,所述独热码检测器包括:
最小单元,用于级联连接成输入位数为目标位数Nx的独热码检测器;其中,Nx为大于2的整数,
所述独热码检测器用于对输入位数为Nx的独热码进行检测;
其中,所述最小单元和所述独热码检测器均包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,提供用于独热码检测的辅助信息。
优选地,所述独热码检测器还包括:
独热码检测单元,所述通过多个最小单元级联连接形成,所述独热码检测单元用于级联连接成输入位数为目标位数Nx的独热码检测器;
其中,所述独热码检测单元包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,为下一级的独热码检测单元提供用于独热码检测的辅助信息。
优选地,所述独热码检测单元包括一层输入单元和二层输入单元,所述一层输入单元的输入位数为N1、个数为N2;其中,N1与N2的乘积大于或等于所述目标位数Nx;
N2个一层输入单元的输出端next分别连接至二层输入单元的N2个输入端;
N2个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;
所述第一与门的输出端为所述独热码检测器的输出端next、第二与门的输出端为所述独热码检测器的输出端error;
当N1与N2的乘积等于所述目标位数时,N2个一层输入单元的N1*N2个输入端作为所述独热码检测器的输入端,当N1与N2的乘积大于所述目标位数时,N2个一层输入单元的输入端作为所述独热码检测器的输入端,其它的输入端接地。
本发明的有益效果包括:
本发明实施例提供独热码检测方法中,通过最小单元的级联连接,构建输入位数为目标位数Nx的独热码检测器,从而对输入位数为Nx的独热码进行检测。通过在最小单元或最小单元级联而成的独热码检测单元中设置结果输出端和辅助输出端,从而分别提供检测结果和辅助信息,通过检测结果和辅助信息,使得下一级的独热码检测单元能够基于上一级的检测结果和辅助信息,对待检测的并行数据是否为独热码进行继续检测,通过本发明实施例提供一种独热码检测方法,可以方便的通过较少位数的独热码码检测单元来构建任意位数的独热码检测单元,具有优越的可扩展性,此外,在实现位数较大的独热码的检测时,使得代码结构清晰且代码内容简洁、可重复性较好,从而优化了独热码的检测工作,使得独热码的应用更加便利。
附图说明
图1为本发明实施例提供的一种独热码检测方法的流程示意图;
图2为本发明实施例提供的一种最小单元的结构示意图;
图3为本发明实施例提供的通过最小单元构建的输入位数为4的独热码检测单元的结构示意图;
图4为本发明实施例提供的一种输入位数为2的最小单元的电子线路实现图;
图5为一层输入单元和二层输入单元的级联连接示例图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明实施例提供的独热码检测方法和独热码检测器进行详细描述。该独热码检测方法和独热码检测器可通过硬件方式(verilog/VHDL)实现,具有常优越的可拓展性。
请参阅图1,为本发明实施例提供的一种独热码检测方法的流程示意图,如图1所示,本发明实施例提供的独热码检测方法包括:
步骤S101,将多个最小单元级联连接成输入位数为目标位数Nx的独热码检测器;其中,Nx为大于2的整数,
步骤S102,通过所述独热码检测器,对输入位数为Nx的独热码进行检测;
其中,所述最小单元和所述独热码检测器均包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,提供用于独热码检测的辅助信息。
优选地,将多个最小单元级联连接连接成输入位数为目标位数Nx的独热码检测器包括:将多个最小单元级联连接成独热码检测单元;将多个独热码检测单元级联连接成输入位数为目标位数Nx的独热码检测器。其中,所述独热码检测单元包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,为下一级的独热码检测单元提供用于独热码检测的辅助信息。
其中,对于最小单元、独热码检测单元、或独热码检测器,其提供的辅助信息包括,其输入端为全0输入,或输入端为全1输入。
具体地,上述独热码检测单元包括两个或两个以上的输入端、各个输入端分别连接至待检测独热码的各个bit位,上述结果输出端为next,所述辅助输出端为error,所述独热码检测单元的运算逻辑为:当输入端的输入均为0时,输出端next的输出值为0,输出端error的输出值为0;当输入端的输入只有一个为1且其他输入均为0时,输出端next的输出值为1,输出端error的输出值为0;当输入端的输入均为1时,输出端next的输出值为0,输出端error的输出值为1。
本发明实施例提供独热码检测方法中,通过最小单元的级联连接,构建输入位数为目标位数Nx的独热码检测器,从而对输入位数为Nx的独热码进行检测。通过在最小单元或最小单元级联而成的独热码检测单元中设置结果输出端和辅助输出端,从而分别提供检测结果和辅助信息,通过检测结果和辅助信息,使得下一级的独热码检测单元能够基于上一级的检测结果和辅助信息,对待检测的并行数据是否为独热码进行继续检测,通过本发明实施例提供一种独热码检测方法,可以方便的通过较少位数的独热码码检测单元来构建任意位数的独热码检测单元,具有优越的可扩展性,此外,在实现位数较大的独热码的检测时,使得代码结构清晰且代码内容简洁、可重复性较好,从而优化了独热码的检测工作,使得独热码的应用更加便利。
本发明实施例中,所述通过多个独热码检测单元的级联连接,构建输入位数为目标位数Nx的独热码检测器具体为:
通过一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测单元;其中,所述一层输入单元、所述二层输入单元均为独热码检测单元,二层输入单元的个数为1个,二层输入单元的输入位数N2等于一层输入单元的个数,一层输入单元的输入位数为N1,N2个一层输入单元的结果输出端均连接至所述二层输入单元的输入端;其中,根据目标位数Nx,确定所述一层输入单元的输入位数N1和个数N2;其中,N1与N2的乘积大于或等于所述目标位数Nx。
本发明实施例中,可以通过组合逻辑,实现对较少位数的独热码进行检测的独热码检测单元,将该独热码检测单元称为最小单元,通过最小单元的级联连接,可以扩展出任意输入位数的独热码检测器。另外,也可以通过最小单元的级联,构建独热码检测单元,然后通过独热码检测单元的级联,扩展出任意输入位数的独热码检测器,因此,通过最小单元和独热码检测单元,使得本发明实施例提供的独热码检测器具有优良的可扩展性。本发明实施例中,以最小单元的输入位数设置为2为例进行了说明,此外,最小单元也可以设置为具有其它的输入位数,例如,最小单元的输入位数也可以设置为3。
当独热码检测单元包括两个输入端时,所述独热码检测单元为最小单元,请参阅图2,为本发明实施例提供的一种最小单元的结构示意图,该独热码检测单元的输入端连接至2bit的并行数据流,通过最小单元可以对2比特位的独热码进行检测。如图2所示,最小单元one_hot_2包括两个输入端和两个输出端,两个输入端分别为IN_1(din[0])和IN_2(din[1]),两个输出端分别为next和error。
表1 最小单元的输入输出结果描述图
请参阅表1,为图2所示的最小单元的输入输出结果描述图,如表1所示,所述最小单元的运算逻辑为:
当输入端的输入均为0时,输出端next的输出值为0,输出端error的输出值为0;当输入端的输入一个为0一个为1时,输出端next的输出值为1,输出端error的输出值为0;当输入端的输入均为1时,输出端next的输出值为0,输出端error的输出值为1。
同样,通过最小单元的上述设置,可以通过输出端的输出结果获取输入端的信息:当输出端next和输出端error的输出值均为0时,说明输入的不是独热码,且输入均为0;当输出端next的输出值均为1、输出端error的输出值均为0时,说明输入的是独热码;当输出端next的输出值为0、输出端error的输出值均为1时,说明输入的不是独热码,且输入均为1。
通过最小单元的级联连接,可以扩展出任意输入位数的独热码检测单元。下面进行详细说明。
(1)首先,以通过最小单元扩展出输入位数为4的独热码检测单元one_hot_4为例进行说明。
请参阅图3,为本发明实施例提供的通过最小单元构建的输入位数为4的独热码检测单元的结构示意图,如图3所示,独热码检测单元one_hot_4包括4个输入端和2个输出端,4个输入端分别为din[0]、din[1]、din[2]、din[3],2个输出端分别为next和error,独热码检测单元one_hot_4中还包括两个与门and2、非门not、以及或门or2。其中,其中,2个一层输入单元的输出端next分别连接至二层输入单元的2个输入端,2个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;所述第一与门的输出端为所述独热码检测单元的输出端next、第二与门的输出端为所述独热码检测单元的输出端error。
通过上述设置,使得one_hot_4能够完成独热码检测功能,当4个输入端的输入均为0时,输出端next的输出值为0,输出端error的输出值为0;当4个输入端中的一个为1、其它为0时,输出端next的输出值为1,输出端error的输出值为0;当输入端的输入均为1时,输出端next的输出值为0,输出端error的输出值为1。
(2)其次,以通过最小单元,构建输入位数为目标位数Nd的独热码检测单元为例进行说明。其中,Nd为大于等于2的整数。
(2a)当Nd等于2时,即当Nd等于最小单元的输入位数时,所述通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元具体包括:将最小单元作为所述独热码检测单元。
(2b)当Nd大于2时,即当所述Nd大于所述最小单元的输入位数时,所述通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元具体包括:
根据目标位数Nd,构建最小单元的个数X1;其中,当目标位数Nd为2的整数倍时,X1等于Nd/2,当目标位数Nd不是2的整数倍时,X1等于(Nd+1)/2:采用X1个最小单元作为一层输入单元,采用一个输入位数为X1的独热码检测单元作为二层输入单元。
其中,X1个一层输入单元的输出端next分别连接至二层输入单元的X1个输入端,X1个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;
所述第一与门的输出端为所述独热码检测单元的输出端next、第二与门的输出端为所述独热码检测单元的输出端error;
当目标位数Nd为2的整数倍时,将X1个最小单元的2*X1个输入端作为所述独热码检测单元的输入端,当目标位数Nd不是2的整数倍时,将X1个最小单元的输入端中的(2*X1-1)个输入端作为所述独热码检测单元的输入端,将剩余1个输入端接地。
下面结合一个具体的示例进行说明,例如,在需要对15位的独热码进行检测时,可以通过最小单元的级联,构建输入位数为15的独热码检测单元,具体地,X1等于(Nd+1)/2=(15+1)/2=8,因此,采用8个最小单元作为一层输入单元,采用一个输入位数为8的独热码检测单元作为二层输入单元。8个最小单元和二层输入单元按照上述给出的设置方法进行连接。此外,上述输入位数为8的独热码检测单元同样需要按照本实施例给出的方法,通过最小单元来进行构建。
因此,通过上述设置,可以通过最小单元的级联连接,可以构建任意输入位数的独热码检测单元。
本发明实施例中,可以通过组合逻辑,使用硬件编程或电子线路设计方法实现所述最小单元。
请参阅图4,为本发明实施例提供的一种输入位数为2的最小单元的电子线路实现图,如图4所示,独热码检测单元one_hot_2包括2个输入端和2个输出端,2个输入端分别为din[0]和din[1],2个输出端分别为next和error,独热码检测单元one_hot_2内部通过2个非门,3与门and2、以及1个或门or2实现。
此外,也可以通过硬件编程语言verilog(或VHDL)来实现上述最小单元,例如,Verilog代码为:
module one_hot_2(next,error,din);
output next,error;
input[1:0]din;
assign next=(din==2'b01)|(din==2'b10);
assign error=(din==2'b11);
endmodule
需要说明的是,上述电子线路或硬件编程的具体实现均为示例性说明,可以理解的是,也可以采用其他的具体实现或其它方式来实现上述最小单元。
上述示例中,通过最小单元作为一层输入单元,并通过最小单元的级联构建二层输入单元,并且,通过一层输入单元和二层输入单元的级联,构建任意位数的独热码检测单元,需要说明的是,除了将最小单元作为一层输入单元,也可以将级联之后的任意位数的独热码检测单元作为一层输入单元。
本发明实施例中,在所述通过所述一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器之前,还包括:
将目标位数Nd设置为N1,通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元作为所述一层输入单元,
将目标位数Nd设置为N2,通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元作为所述二层输入单元。
在构建输入位数为N1的一层输入单元和输入位数为N2的二层输入单元之后,可以通过N2个一层输入单元和1个二层输入单元的级联,构建输入位数为Nx的独热码检测器。
下面对一层输入单元和二层输入单元的级联连接进行具体说明。请参阅图5,为一层输入单元和二层输入单元的级联连接示例图。其中,one_hot_N1为一层输入单元,one_hot_N2为二层输入单元,one_hot_N1包括din[0]、din[1]…din[N1-1]共N1个输入端,one_hot_N2包括din[0]、din[1]…din[N2-1]共N2个输入端;所述N2个一层输入单元的结果输出端均连接至所述二层输入单元的输入端具体为:N2个一层输入单元的输出端next分别连接至二层输入单元的N2个输入端。独热码检测单元中还包括一个非门、2个与门and2、以及1个或门or_N2,其中,与门and2包括2个输入端,或门or_N2包括N2个输入端。
如图5所示,所述通过一层输入单元和二层输入单元,构建输入位数为所述目标位数Nx的独热码检测器具体包括:
N2个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;
所述第一与门的输出端为所述独热码检测器的输出端next、第二与门的输出端为所述独热码检测器的输出端error。
通过上述方式,可以构建输入为输为N1*N2的独热码检测单元,如果目标位数Nx小于N1*N2,可以将多余的输入端接地,保留Nx个输入端作为连接待检测独热码的输入端。
当N1与N2的乘积等于所述目标位数时,将N2个最小单元的N1*N2个输入端作为所述独热码检测单元的输入端,当N1与N2的乘积等于所述目标位数时,将数目为目标个数的输入端作为独热码检测器的输入端,将其它的输入端接地。
下面结合一个具体的示例进行说明,例如,在需要构建一个输入位数为30位的独热码检测单元时,可以首先确定所述一层输入单元的输入位数N1和个数N2分别为8和4,即,二层输入单元的输入位数为4。然后,可以通过最小单元的级联,分别构建上述一层输入单元和二层输入单元。
具体地,可以通过上述实施例中给出的通过最小单元构建上述一层输入单元和二层输入单元,此外,也继续采用非最小单元级联的方式构建上述一层输入单元和二层输入单元。
具体地,在所述通过所述一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器之前,还包括:
将目标位数Nx设置为N1,通过多个独热码检测单元的级联连接,构建输入位数为N1的独热码检测器作为所述一层输入单元;
将目标位数Nx设置为N2,通过多个独热码检测单元的级联连接,构建输入位数为N2的独热码检测器作为所述二层输入单元。
例如,为了构建输入位数为8的一层输入单元,在该一层输入单元内部,可以采用独热码检测单元one_hot_2和独热码检测单元one_hot_4的级联方式,也可以采用独热码检测单元one_hot_3和独热码检测单元one_hot_3的级联方式。本发明实施例中,one_hot_i指输入位数为i的独热码检测单元,本示例中,i值分别为2、3和4。
基于与上述方法实施例相同或者相似的构思,本发明实施例还提供一种独热码检测器,所述独热码检测器包括:
最小单元,用于级联连接成输入位数为目标位数Nx的独热码检测器;其中,Nx为大于2的整数,
所述独热码检测器用于对输入位数为Nx的独热码进行检测;
其中,所述最小单元和所述独热码检测器均包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,提供用于独热码检测的辅助信息。
本发明实施例中,所述独热码检测器还包括:
独热码检测单元,所述通过多个最小单元级联连接形成,所述独热码检测单元用于级联连接成输入位数为目标位数Nx的独热码检测器;
其中,所述独热码检测单元包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,为下一级的独热码检测单元提供用于独热码检测的辅助信息。
本发明实施例中,所述独热码检测单元包括一层输入单元和二层输入单元,所述一层输入单元的输入位数为N1、个数为N2;其中,N1与N2的乘积大于或等于所述目标位数Nx;
N2个一层输入单元的输出端next分别连接至二层输入单元的N2个输入端;
N2个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;
所述第一与门的输出端为所述独热码检测器的输出端next、第二与门的输出端为所述独热码检测器的输出端error;
当N1与N2的乘积等于所述目标位数时,N2个一层输入单元的N1*N2个输入端作为所述独热码检测器的输入端,当N1与N2的乘积大于所述目标位数时,N2个一层输入单元的输入端作为所述独热码检测器的输入端,其它的输入端接地。
本发明实施例中,一层输入单元和二层输入单元可以通过多个独热码检测单元的级联连接而成,也可以通过多个最小单元的级联连接而成。
具体地,所述一层输入单元为:将目标位数Nx设置为N1,通过多个独热码检测单元的级联连接,构建的输入位数为N1的独热码检测器;
所述二层输入单元为:将目标位数Nx设置为N2,通过多个独热码检测单元的级联连接,构建输入位数为N2的独热码检测器作为所述二层输入单元。
或,具体地,所述一层输入单元为,将目标位数Nd设置为N1,通过最小单元,构建的输入位数为所述目标位数Nd的独热码检测单元;
所述二层输入单元为,将目标位数Nd设置为N2,通过最小单元,构建的输入位数为所述目标位数Nd的独热码检测单元。
需要说明的是,本发明实施例中。本发明实施例中最小单元是一种特殊的独热码检测单元,其输入位数较少,并且可以使用硬件编程或电子线路方法实现。最小单元的输入位数可以根据独热码检测器的目标位数Nx进行设置,以达到输入端利用率最大化。例如,当目标位数Nx为27时,可以将最小单元的输入位数设置为3,这样,在连接独热码的输入端,不会有多余的输入端需要接地,并且在级联过程中,也不存在多余的输入端接地,从而节约了系统资源。
本发明实施例中的独热码检测器同样是一种独热码检测单元,为了描述方面,将输入位数为需要获取的目标位数的独热码检测单元称为独热码检测器,独热码检测器可以采用相同的级联连接方式继续进行级联,从而形成更多输入位数的独热码检测器或独热码检测单元。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (13)

1.一种独热码检测方法,其特征在于,所述独热码检测方法包括:
将多个最小单元级联连接成输入位数为目标位数Nx的独热码检测器;其中,Nx为大于2的整数,
通过所述独热码检测器,对输入位数为Nx的独热码进行检测;
其中,所述最小单元和所述独热码检测器均包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,提供用于独热码检测的辅助信息。
2.如权利要求1所述的方法,其特征在于,将多个最小单元级联连接连接成输入位数为目标位数Nx的独热码检测器包括:
将多个最小单元级联连接成独热码检测单元;
将多个独热码检测单元级联连接成输入位数为目标位数Nx的独热码检测器;
其中,所述独热码检测单元包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,为下一级的独热码检测单元提供用于独热码检测的辅助信息。
3.如权利要求2所述的方法,其特征在于,所述将多个独热码检测单元级联连接成输入位数为目标位数Nx的独热码检测器具体为:
通过一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器;其中,所述一层输入单元、所述二层输入单元均为独热码检测单元,二层输入单元的个数为1个,二层输入单元的输入位数N2等于一层输入单元的个数,一层输入单元的输入位数为N1,N2个一层输入单元的结果输出端均连接至所述二层输入单元的输入端;
其中,根据目标位数Nx,确定所述一层输入单元的输入位数N1和个数N2;其中,N1与N2的乘积大于或等于所述目标位数Nx。
4.如权利要求3所述的方法,其特征在于,所述N2个一层输入单元的结果输出端均连接至所述二层输入单元的输入端具体为:N2个一层输入单元的输出端next分别连接至二层输入单元的N2个输入端;
所述通过一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器具体包括:
N2个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;
所述第一与门的输出端为所述独热码检测器的输出端next、第二与门的输出端为所述独热码检测器的输出端error;
当N1与N2的乘积等于所述目标位数时,将N2个一层输入单元的N1*N2个输入端作为所述独热码检测器的输入端,当N1与N2的乘积大于所述目标位数时,将N2个一层输入单元的输入端作为所述独热码检测器的输入端,将其它的输入端接地。
5.如权利要求4所述的方法,其特征在于,在所述通过一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器之前,还包括:
将目标位数Nx设置为N1,通过多个独热码检测单元的级联连接,构建输入位数为N1的独热码检测器作为所述一层输入单元;
将目标位数Nx设置为N2,通过多个独热码检测单元的级联连接,构建输入位数为N2的独热码检测器作为所述二层输入单元。
6.如权利要求3~5中任一项所述的方法,其特征在于,所述最小单元为输入位数是2的独热码检测单元,具体地:
所述最小单元包括两个输入端和两个输出端,两个输入端分别为IN_1和IN_2,两个输出端分别为next和error,
所述最小单元的运算逻辑为:
当输入端的输入均为0时,输出端next的输出值为0,输出端error的输出值为0;
当输入端的输入一个为0一个为1时,输出端next的输出值为1,输出端error的输出值为0;
当输入端的输入均为1时,输出端next的输出值为0,输出端error的输出值为1。
7.如权利要求6所述的方法,其特征在于,在所述通过一层输入单元和二层输入单元,构建输入位数为目标位数Nx的独热码检测器之前,还包括:
将目标位数Nd设置为N1,通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元作为所述一层输入单元,
将目标位数Nd设置为N2,通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元作为所述二层输入单元。
8.如权利要求7所述的方法,其特征在于,当所述Nd等于所述最小单元的输入位数时,所述通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元具体包括:将最小单元作为所述独热码检测单元。
9.如权利要求7所述的方法,其特征在于,当所述Nd大于所述最小单元的输入位数时,所述通过最小单元,构建输入位数为所述目标位数Nd的独热码检测单元具体包括:
根据目标位数Nd,构建最小单元的个数X1;其中,当目标位数Nd为2的整数倍时,X1等于Nd/2,当目标位数Nd不是2的整数倍时,X1等于(Nd+1)/2:
采用X1个最小单元作为一层输入单元,采用一个输入位数为X1的独热码检测单元作为二层输入单元;
其中,X1个一层输入单元的输出端next分别连接至二层输入单元的X1个输入端,X1个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;
所述第一与门的输出端为所述独热码检测单元的输出端next、第二与门的输出端为所述独热码检测单元的输出端error;
当目标位数Nd为2的整数倍时,将X1个最小单元的2*X1个输入端作为所述独热码检测单元的输入端,当目标位数Nd不是2的整数倍时,将X1个最小单元的输入端中的(2*X1-1)个输入端作为所述独热码检测单元的输入端,将剩余1个输入端接地。
10.如权利要求1所述的方法,其特征在于,使用硬件编程或电子线路方法实现所述最小单元。
11.一种独热码检测器,其特征在于,所述独热码检测器包括:
最小单元,用于级联连接成输入位数为目标位数Nx的独热码检测器;其中,Nx为大于2的整数,
所述独热码检测器用于对输入位数为Nx的独热码进行检测;
其中,所述最小单元和所述独热码检测器均包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,提供用于独热码检测的辅助信息。
12.如权利要求11所述的独热码检测器,其特征在于,所述独热码检测器还包括:
独热码检测单元,所述通过多个最小单元级联连接形成,所述独热码检测单元用于级联连接成输入位数为目标位数Nx的独热码检测器;
其中,所述独热码检测单元包括结果输出端和辅助输出端,其中,所述结果输出端用于提供输入端是否为独热码的检测结果,所述辅助输出端用于在级联连接时,为下一级的独热码检测单元提供用于独热码检测的辅助信息。
13.如权利要求12所述的独热码检测器,其特征在于,
所述独热码检测单元包括一层输入单元和二层输入单元,所述一层输入单元的输入位数为N1、个数为N2;其中,N1与N2的乘积大于或等于所述目标位数Nx;
N2个一层输入单元的输出端next分别连接至二层输入单元的N2个输入端;
N2个一层输入单元的输出端error分别连接至或门的各个输入端;二层输入单元的输出端next连接至第一与门的第一输入端,所述或门的输出端通过一个非门连接至第一与门的第二输入端;二层输入单元的输出端error连接至第二与门的第一输入端,所述或门的输出端还连接至第二与门的第二输入端;
所述第一与门的输出端为所述独热码检测器的输出端next、第二与门的输出端为所述独热码检测器的输出端error;
当N1与N2的乘积等于所述目标位数时,N2个一层输入单元的N1*N2个输入端作为所述独热码检测器的输入端,当N1与N2的乘积大于所述目标位数时,N2个一层输入单元的输入端作为所述独热码检测器的输入端,其它的输入端接地。
CN201510023614.6A 2015-01-16 2015-01-16 一种独热码检测方法和独热码检测器 Active CN104516820B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510023614.6A CN104516820B (zh) 2015-01-16 2015-01-16 一种独热码检测方法和独热码检测器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510023614.6A CN104516820B (zh) 2015-01-16 2015-01-16 一种独热码检测方法和独热码检测器

Publications (2)

Publication Number Publication Date
CN104516820A true CN104516820A (zh) 2015-04-15
CN104516820B CN104516820B (zh) 2017-10-27

Family

ID=52792163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510023614.6A Active CN104516820B (zh) 2015-01-16 2015-01-16 一种独热码检测方法和独热码检测器

Country Status (1)

Country Link
CN (1) CN104516820B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049056A (zh) * 2015-08-07 2015-11-11 杭州国芯科技股份有限公司 一种独热码检测电路
CN106294635A (zh) * 2016-08-02 2017-01-04 北京百度网讯科技有限公司 应用程序搜索方法、深度神经网络模型的训练方法及装置
CN110781100A (zh) * 2019-10-23 2020-02-11 新华三信息安全技术有限公司 一种数据检测方法、逻辑芯片及网络设备
CN115389911A (zh) * 2022-08-25 2022-11-25 北京物芯科技有限责任公司 芯片调度器故障判断方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4163211A (en) * 1978-04-17 1979-07-31 Fujitsu Limited Tree-type combinatorial logic circuit
US6594782B1 (en) * 1998-12-28 2003-07-15 Fujitsu Limited Information processing apparatus
CN1751289A (zh) * 2003-02-21 2006-03-22 索尼株式会社 码型检出装置
CN102566962A (zh) * 2010-12-23 2012-07-11 同济大学 用于判断序列数中是否存在多于1个1的电路装置
CN103999035A (zh) * 2011-12-15 2014-08-20 美光科技公司 用于状态机中的数据分析的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4163211A (en) * 1978-04-17 1979-07-31 Fujitsu Limited Tree-type combinatorial logic circuit
US6594782B1 (en) * 1998-12-28 2003-07-15 Fujitsu Limited Information processing apparatus
CN1751289A (zh) * 2003-02-21 2006-03-22 索尼株式会社 码型检出装置
CN102566962A (zh) * 2010-12-23 2012-07-11 同济大学 用于判断序列数中是否存在多于1个1的电路装置
CN103999035A (zh) * 2011-12-15 2014-08-20 美光科技公司 用于状态机中的数据分析的方法及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049056A (zh) * 2015-08-07 2015-11-11 杭州国芯科技股份有限公司 一种独热码检测电路
CN105049056B (zh) * 2015-08-07 2018-05-04 杭州国芯科技股份有限公司 一种独热码检测电路
CN106294635A (zh) * 2016-08-02 2017-01-04 北京百度网讯科技有限公司 应用程序搜索方法、深度神经网络模型的训练方法及装置
CN106294635B (zh) * 2016-08-02 2019-09-03 北京百度网讯科技有限公司 应用程序搜索方法、深度神经网络模型的训练方法及装置
CN110781100A (zh) * 2019-10-23 2020-02-11 新华三信息安全技术有限公司 一种数据检测方法、逻辑芯片及网络设备
CN110781100B (zh) * 2019-10-23 2021-09-21 新华三信息安全技术有限公司 一种数据检测方法、逻辑芯片及网络设备
CN115389911A (zh) * 2022-08-25 2022-11-25 北京物芯科技有限责任公司 芯片调度器故障判断方法、装置、电子设备及存储介质
CN115389911B (zh) * 2022-08-25 2023-04-14 北京物芯科技有限责任公司 芯片调度器故障判断方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN104516820B (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
CN104516820A (zh) 一种独热码检测方法和独热码检测器
TWI383618B (zh) 管線架構型正規表示式樣式比對處理電路
US8463962B2 (en) MAC and PHY interface arrangement
WO2014131261A1 (en) Methods for multi-level data transmission
KR102357899B1 (ko) 유효 인코딩을 위한 방법 및 장치
CN107577623A (zh) 跨时钟域异步fifo及数据处理方法
CN108694918A (zh) 编码方法及装置、解码方法及装置及显示装置
US20180026748A1 (en) Header processing device, processor, and electronic device
CN109213703B (zh) 一种数据检测方法及数据检测装置
CN103049408B (zh) 一种多接口sram读写控制电路及方法
CN109151505A (zh) 一种视频转码方法、系统、装置及计算机可读存储介质
CN108470083A (zh) 一种基于Kruskal算法的混淆有限状态机构建方法
CN103973310A (zh) 一种基于异或逻辑运算折半划分的测试数据压缩方法
CN203950020U (zh) 测试芯片管脚连通性的电路
CN103840835A (zh) 一种数据解压缩方法及装置
CN106856464A (zh) 一种同步码元检测系统
CN100412837C (zh) 多通道内部集成电路
US8073996B2 (en) Programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof
US20140325300A1 (en) Semiconductor device
CN109164982B (zh) 数据处理电路、方法及数据存储设备
CN105049056B (zh) 一种独热码检测电路
CN102566962B (zh) 用于判断序列数中是否存在多于1个1的电路装置
EP3067819A1 (en) Logic compound register system and method for resisting energy analysis attacks
CN105068952A (zh) 一种sd接口复用装置、方法以及电子设备
CN103747335A (zh) 一种智能电视模式的切换方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant