具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供一种多路选择器的结构示意图。
如图1所示,多路选择器用于接入m个使能信号EN[m-1:0],以及n路数据D0-Dn-1,其中,m个使能信号用于指示n路数据D0-Dn-1的选通状态,m,n为大于1的正整数,n≤2m。
如图1所示,多路选择器包括控制器和选择装置。
本实施例中,m个使能信号EN[m-1:0]可以输入至控制器,控制器根据m个使能信号EN[m-1:0],可以输出与n路数据D0-Dn-1一一对应的n个控制信号SEL[n-1:0]。
具体的,控制器包括与n路数据一一对应的n个逻辑门电路组。
其中,控制器中与第i路数据Di-1对应的的逻辑门电路组,输入端接入选通优先级高于以及等于第i路数据Di-1的数据对应的使能信号,输出端输出用于控制第i路数据Di-1的选通状态的控制信号SEL[i-1],i=[1,n],i为整数。由此,控制器中的逻辑门电路组与n路数据一一对应,并可以直接根据多路选择器的真值表,直接确定输入至每个逻辑门电路组的使能信号,并可以控制在使能信号满足逻辑门电路组的输出条件时,才输出指示选通的控制信号。
在整个过程中,n个逻辑门电路组输出的n个控制信号SEL[n-1:0]中,至少包括n-1个控制某路数据处于不选通状态的控制信号,以从n路数据中选择出1路数据作为多路选择器的输出。
本实施例中,某路数据对应的使能信号,是指m个使能信号EN[m-1:0]中用于指示该路数据的选通状态的使能信号。
n路数据D0-Dn-1输入至选择装置的输入端,n个控制信号SEL[n-1:0]输入至选择装置的控制端,其中,控制信号SEL[j-1]用于控制第j路数据Dj-1的选通状态,j=[1,n],j为整数。
本实施例中,i和j可以相同,也可以不同,本实施例对此不进行限定。
本实施例中,通过控制器可以直接输出与n路数据一一对应的控制信号SEL[n-1:0],通过与选择单元一一对应的控制信号,可以直接从n路数据中选择出一路进行输出,无需进行逻辑判断,避免了判断优先级时出现的逻辑混乱情况。
当然,在其他实现方式中,上述控制器可以采用其他结构,只要能够根据使能信号输出与n路数据一一对应的控制信号即可;或者,上述选择装置也可以采用其他结构,只要能够与n路数据一一对应进行选择即可,本实施例对此不进行限定。
下面对多路选择器中的控制器进行具体说明。
图2为本申请实施例提供一种多路选择器中控制器的结构示意图。
参见图2,所述控制器包括与n路数据一一对应的n个逻辑门电路组。
其中,与第i路数据Di-1对应的逻辑门电路组,用于接入选通优先级高于以及等于Di-1的数据对应的使能信号,并输出用于控制Di-1的选通状态的控制信号SEL[i-1],i=[1,n],i为整数;
n个逻辑门电路组输出的n个控制信号SEL[n-1:0]中,至少包括n-1个控制某路数据处于不选通状态的控制信号,以从n路数据中选择出1路数据作为多路选择器的输出。
本实施例中,对控制信号如何控制对应路数数据的选通不进行限定,本领域的技术人员可以采用任意适当的方式,根据m个使能信号EN[m-1:0]生成与选择单元一一对应的控制信号SEL[n-1:0],例如,可以直接通过控制信号控制开关门电路,进而控制对应路数数据的选通状态。
本实施例中,在配置多路选择器时,一般都会确定多路选择器的真值表,真值表为用于表征多路选择器的输入和输出之间全部可能状态的表格。则本实施例中,可以直接根据真值表,确定每个逻辑门电路组中包括的逻辑门电路、各个逻辑门电路的连接方式,以及逻辑门电路组接入的使能信号有哪些。
控制器中的逻辑门电路组与n路数据一一对应,并可以根据多路选择器的真值表,直接确定输入至每个逻辑门电路组的使能信号,还可以控制在使能信号满足逻辑门电路组的输出条件时,输出指示选通的控制信号。整个输出控制信号的过程无需进行逻辑判断,进而避免了逻辑混乱的情况出现,且,控制器中的逻辑门电路组需要简单的逻辑门电路即可输出与多路数据一一对应的控制信号,在具体使用时,通过每个控制信号控制一开关即可实现多路选择器,与现有的通过查找表LUT以及D触发器等配合实现的多路选择器相比,采用本申请实施例提供的控制器实现的多路选择器的结构更加简单,体积更加小巧。
本实施例中,任意一路数据对应的使能信号,是指m个使能信号中用于指示该路数据的选通状态的使能信号。
本实施例中,对m与n之间的数值关系不进行限定,只要能够通过m个使能信号指示n路数据的选通状态即可,针对n路数据中的任意一路数据Di-1,本申请中,是根据选通优先级高于以及等于Di-1的数据对应的使能信号,生成用于控制Di-1的选通状态的控制信号SEL[i-1],因此,不会出现逻辑混乱的情况出现。另外,一路数据的选通状态可以通过一个使能信号指示,也可以通过多个使能信号指示,本实施例对此同样不进行限定。
可选地,本申请实施例中,i大于1小于n时,与第i路数据Di-1对应的逻辑门电路组包括:反相器、与逻辑门电路。
与第i路数据Di-1对应的逻辑门电路组,通过所述反相器接入优先级高于第i路数据Di-1的数据对应的使能信号;以及,通过与逻辑门电路将第i路数据Di-1对应的使能信号与所述反相器的输出进行“与”逻辑计算,输出用于控制第i路数据Di-1的选通状态的控制信号SEL[i-1]。由此,可以根据优先级高于第i路数据Di-1的其他数据对应的使能信号,生成并输出用于控制第i路数据Di-1的选通状态的控制信号SEL[i-1]。由此,只有当优先级高于Di-1的部分路数据均不被选择时,Di-1才会作为多路选择器的输出。
可选地,本申请实施例中,使能信号的数量比所述数据的路数小1,即m=n-1,以通过m个使能信号EN[m-1:0]分别指示n-1路数据的选通状态,并默认除n-1路数据之外的一路数据的优先级最低。由此,可以直接将选通优先级高于以及等于Dj-1的数据一一对应的使能信号,接入Dj-1对应的逻辑门电路组,来通过逻辑门电路组生成Dj-1对应的控制信号SEL[j-1],使得电路的结构更加简单。
如图2所示,第n路数据Dn-1的选通优先级最低时,与Dn-1对应的逻辑门电路组包括:反相器、与逻辑门电路;与Dn-1对应的逻辑门电路组,通过所述反相器接入优先级高于Dn-1的其他路数据(D0-Dn-2)对应的使能信号;以及,通过与逻辑门电路将所述反相器的输出进行“与”逻辑计算,输出用于控制Dn-1的选通状态的控制信号SEL[n-1]。
本申请另一实施例中,以7选1多路选择器为例,对上述实施例中的多路选择器的具体实现进行示例性说明。
示例地,参见下述表1,是一个7选1多路选择器的真值表,参见下述图3,为表1对应的多路选择器的电路结构示意图。
本实施例中,多路选择器的输入数据共7路,分别为D0-D6,D0-D6的优先级顺序为D0>D1>D2>D3>D4>D5>D6。
使能信号EN[m-1:0]为共6个(EN[5:0]),分别用于指示D0-D5的优先级,当确定使能信号并未指示D0-D5中的任意一路导通时,则确定第7路选通信号D6导通,Q=D6。表中的“X”表示该使能信号可以为任意值(1或者0)。
表1
可选地,本申请实施例中,i=1,第1路数据D0的选通优先级最高时,与D0对应的逻辑门电路组包括:缓冲器,用于接入D0对应的使能信号EN[0],并输出用于控制D0的选通状态的控制信号SEL[0]。
可选地,本申请实施例中,当i=3时,参见图3,第3路数据D2的选通优先级小于D0和D1。
控制器中与D2对应的逻辑门电路组可以包括反相器以及与逻辑门电路。其中,反相器可以包括两个,分别接入使能信号EN[0](优先级高于D2的D0对应的使能信号)、EN[1](优先级高于D2的D1对应的使能信号),然后可以通过与逻辑门电路将EN[2]和反相器输出的EN[0]B、EN[1]B进行“与”逻辑计算,获得用于控制D2的选通状态的控制信号SEL[2],即SEL[2]=EN[0]B&EN[1]B&EN[2]。
示例的,当使能信号EN[5:0]=xxx111时,优先选通D0,而非D2,即多路选择器的输出Q=D0。当使能信号EN[5:0]=xxx100时,EN[0]B、EN[1]B、EN[2]均等于1,SEL2=1,多路选择器的输出Q=D2。
i=1、2、4、5时,逻辑电路组的结构与上述i=3时逻辑电路组的结构类似,在此不再赘述。
可选地,本申请实施例中,i=7时,仍然参见上述表1,第7路数据D6的优先级最低,D0-D5的优先级均高于D6,则与D6对应的逻辑门电路组包括反相器、与逻辑门电路,反相器的数量可以为6个,分别接入使能信号EN[5:0],然后可以通过与逻辑门电路对6个反相器的输出进行“与”逻辑计算,输出用于控制第7路数据D6的选通状态的控制信号SEL[6]。
在本申请的其他实现方式中,与D6对应的逻辑门电路组可以包括或非门,使能信号EN[5:0]可以直接输入至或非门,通过或非门对使能信号EN[5:0]进行“或非”逻辑计算,输出用于控制第7路数据D6的选通状态的控制信号SEL[6]。
示例的,仍然参见上述表1,可以通过others(即EN[5:0]=000000),表示D6选通,即,默认其他路数据(D0-D5)均不选通时,才选通D6。
当然,上述仅为举例说明,并不作为本申请的限定。本申请提供的方案还可以适用于其他多路选择器。
例如,本实施例提供的方案还可以适用于16选1多路选择器。
16选1多路选择器的输入数据可以包括16路,则可以将每4路数据分为一个小组,共得到4小组;将每两个小组分为一大组,共得到2个大组。
16选1多路选择器的使能信号可以包括6个,分别为EN[5:0],其中,EN[3:0]用于指示每个小组中的4路数据的选通状态,其中每个小组中4路数据的选通优先级逐渐降低,EN[4]用于指示大组中2小组的选通状态,EN[5]用于指示2个大组间的选通状态。
由此,可以确定该16选1的多路选择器对应的真值表,并可以根据真值表,直接确定与每一路数据一一对应的逻辑门电路组。真值表的确定方式可参考相关技术,在此不再赘述。
示例的,针对16路中的第2路数据D1,其属于第一大组-第一小组-第2路数据,其优先级低于第一大组-第一小组-第1路数据。则第2路数据选通时,使能信号可以EN[5:0]=[0001XX],其中,EN[5]=0,指示第一个大组选通;EN[4]=0,指示每个大组中的第一个小组选通;EN[3]=0指示每个小组中的第1路不选通;EN[2]=1指示每个小组中的第2路选通,X表示该使能信号可以为任意值(0或1)。
则针对第2路数据D1对应的逻辑门电路组可以包括:三个反相器以及与逻辑门电路。
其中,逻辑门电路组中的三个反相器分别接入使能信号EN[5:3],然后与逻辑门电路将EN[2]和反相器输出的EN[3]B、EN[4]B、EN[5]B进行“与”逻辑计算,获得并输出用于控制D1的选通状态的控制信号SEL[1],即SEL[1]=EN[5]B&EN[4]B&EN[3]B&EN[2]。
下面对多路选择器中的选择装置进行具体说明。
参见图4,示出了本申请实施例提供的一种多路选择器中的选择装置。
所述选择装置包括与n路数据一一对应的n个选择单元,其中,第j个选择单元的输入端接入第j路数据Dj-1,第j个选择单元的控制端用于接入控制信号SEL[j-1],控制信号用于控制选择单元处于选通状态,其中,j=[1,n],且j为整数,控制信号SEL[j-1]根据选通优先级高于以及等于第j路数据Dj-1的数据对应的使能信号生成,n个所述选择单元的输出端与所述选择装置的输出级连接。
本实施例中,对如何生成控制信号不进行限定,本领域的技术人员可以采用任意适当的方式,根据m个使能信号EN[m-1:0]生成与n个选择单元一一对应的控制信号SEL[n-1:0]。
本实施例中,任意一路数据对应的使能信号,是指m个使能信号中用于指示该路数据的选通状态的使能信号。
本实施例提供的选择装置,根据选通优先级高于以及等于第j路数据Dj-1的数据对应的使能信号生成控制信号SEL[j-1],可以获得与n路数据一一对应的控制信号SEL[n-1:0],再通过n个控制信号SEL[n-1:0]控制与n路数据D0-Dn-1一一对应的n个选择单元是否处于选通状态,n个所述选择单元的输出端与所述选择装置的输出级连接,某个选择单元处于选通状态后,可以将该选择单元的输入传输至选择装置的输出级,由此采用与n路数据一一对应的选择单元,可以直接从n路数据中选择出一路进行输出,与现有的多路选择器相比,本申请提供的选择装置不会出现级联的情况,降低了电路的复杂程度,还可以使得整个输出控制信号的过程无需进行逻辑判断,避免了逻辑混乱的情况出现,且与现有的通过查找表LUT以及D触发器等配合实现的多路选择器相比,采用本申请实施例提供的选择装置实现的多路选择器的结构更加简单,体积更加小巧。
本实施例中,如图4所示,中括号中的a:0表示每路数据可以包括a+1位(bit)数据。另外,当某路数据(例如图中示出的Dc,c=0,…,n-1)中包括多位(bit)数据时,选择单元的结构可以如图5所示。选择单元可以包括多个子选择单元,每个子选择单元对应一位(bit)数据。
可选地,本申请实施例中,n个所述选择单元中至少包括n-1个处于不选通状态的选择单元,以通过选择单元直接从n路数据中选择出1路数据作为多路选择器的输出。
可选地,本实施例中,n个所述选择单元的输出端并联以实现线与逻辑,n个并联的所述选择单元的输出端与所述选择装置的输出级连接,以将线与结果作为所述多路选择器的输出。
线与,即通过两个或两个以上的输出端之间直接互联实现“与”逻辑计算的功能。在硬件上,一般情况下采用集电极开路门(OC门)或者三态门(TS门)实现线与逻辑。
本实施例中,通过将多个选择单元的输出线与,可以减少选择装置中的器件数量,进一步减少选择装置的体积。另,当采用线与时,选择单元可以为任意支持线与的开关门器件,本实施例对此不进行限定。
可选地,本实施例中,选择单元可以包括三态门或者传输门。与其他开关门相比,三态门/传输门,在占用面积较小的情况下,实现了较优的性能。
当所述选择单元包括三态门时,所述控制信号用于控制所述三态门处于高阻态,以使得选择单元处于不选通状态,或者,所述控制信号用于控制所述三态门处于非高阻态,以使得选择单元处于选通状态。
参见图6,示出了一种采用三态门的选择装置的结构示意图。
三态门包括四个MOS,分别为PMOS1、PMOS2、NMOS3、NMOS4。
其中,PMOS1的S极(源极)接驱动电源,G极(栅极)接待选通的数据,例如D1,D极(漏极)接PMOS2的S极,PMOS2的G极接控制信号的反向SELB,PMOS2的D极接NMOS3的S极,NMOS3的G极接控制信号SEL,NMOS3的D极接NMOS4的S极,NMOS4的G极接待选通的数据,例如D1,NMOS4的D极接地。
当然,上述仅对三态门的结构进行示例性说明,在其他实现方式中,也可以采用其他三态门,这也在本申请的保护范围内。例如,可以将图6中示出的三态门中的P1,P2,N1,N2进行调换,调换后的三态门同样也在本申请的保护范围内。
针对任一路数据对应的选择单元,当选择单元为三态门时,若SELi-1=0,则三态门处于高阻态,相当于断路,对应的第i路数据Di-1处于未选通状态;若SELi-1=1,则三态门的输出输入相同,对应的第i路数据Di-1处于选通状态。
当多个三态门线与时,多个三态门中的一个为非高阻态(对应选择装置的输出),其余为高阻态。
另外,当采用图6所示的三态门时,为了保证选择装置的输出与输入一致,选择装置的输出级为CMOS反向器。
当然,图6仅是示例性示出了一种三态门的结构示意图,并不作为本申请的限定。
可选地,本申请的另一实现方式中,当所述选择单元包括传输门时,所述控制信号用于控制所述传输门断开,以使得选择单元处于不选通状态,或者,所述控制信号用于控制所述传输门导通,以使得选择单元处于选通状态。
参见图7,示出了一种采用传输门的选择装置的结构示意图。
如图7所示,各路数据可以通过CMOS反相器接入传输门的输入端,控制信号SEL和控制信号的反向SELB可以接入传输门的两个控制端,以通过控制信号控制传输门的通断。
另外,由于各路数据通过CMOS反相器接入传输门,为了使得输入与输出保持一致,所述选择装置的输出级可以为CMOS反向器。
由于多个选择单元直接线与,当选择单元为三态门或者传输门时,选择单元的驱动能力较弱,为此,本实施例中,将CMOS反向器作为选择装置的输出级,除了保证输入和输出不会反向之外,还可以通过CMOS反向器保证对外的驱动能,CMOS还可以屏蔽外部信号对选择装置的干扰,尤其是对线与节点的干扰,保证了选择装置内部信号的安全性。
另外需要说明的是,选择装置的输出级也可以不包括CMOS反向器,而是可以直接将QN作为输出即可,这也在本申请的保护范围内。
参见图8,示出了本申请实施例提供的另一种多路选择器。
本实施例中,n路数据中的每路数据被划分为至少两路子数据,以获得至少两个子数据组;则所选择装置的数量为至少两个,每一组子数据组输入至一个选择装置中,至少两个选择装置共用一组所述控制信号。
示例的,如图8所示,D0-D6可以为64bit的数据,则可以将每路数据划分为两路子数据。例如,D1被划分为D1[63:32]以及D1[31:0](即a=63,b=32);或者D1被划分为D1[63:16]以及D1[15:0]。本实施例对具体的划分方式不进行限定。
示例的,如图8所示,当多路数据被划分为2路子数据后,可以获得两个子数据组。两个子数据组分别为[63:32]对应的子数据组,以及[31:0]对应的子数据组。选择装置的数量也为两个,分别输入两个子数据组。两个选择装置共用一个控制器输出的一组所述控制信号。
当多路数据的位数(bit)较高时,通过本实施例提供的方案,可以通过至少两个选择装置分别输出一路数据的不同位数,从而完成该路数据的输出。
参见图9,本申请实施例提供一种处理器。
如图9所示,处理器中可以包括多路选择器以及控制模块,控制模块用于生成m个使能信号EN[m-1:0],并输入至所述多路选择器。
本实施例中,处理器可以为中央处理器CPU、图形处理器GPU等任意具有多路数据处理需求的处理器,本实施例对此不进行限定。
本实施例中,输入至多路选择器的n路数据可以音视频数据流或者其他数据,本实施例对此不进行限定。
本实施例中,处理器中的控制模块可以根据自身的控制逻辑,生成用于控制多路数据的选通状态的使能信号。
本申请另一实施例提供一种片上网络系统,其包括上述的多路选择器。
本申请另一实施例提供还一种并行计算系统,其包括上述的多路选择器。
本实施例中,如并行计算系统中一般包括多个计算核心,多个计算核心并行运算,则可以通过上述多路选择器,按照优先级顺序将带计算数据传输至对应的多个计算核心,由多个计算核心进行并行计算。
类似的,可以将多个计算核心的输出作为多路选择器的多路输入数据,由多路选择器按照优先级顺序将多个计算核心并行计算的计算结果依次输出,以便后续使用。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独处理,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。