一种优先编码实现方法及设备的制作方法

文档序号:7514331阅读:151来源:国知局

专利名称::一种优先编码实现方法及设备的制作方法
技术领域
:本发明涉及通信
技术领域
,尤其涉及一种优先编码实现方法及设备。
背景技术
:优先编码器是一种常用的电路,通常用于相联存储器(CentralAddressableMemory,CAM)、排队电路、查找电路等,现有技术通常使用综合器来完成优先编码电路的设计。目前高阶优先编码电路使用越来越广泛,但由于当优先编码器阶数很大时,输出延迟很大,使用的资源大,综合器需要做优化才能得到满足时序要求的电路,而通常效果并不理想,频率低,资源大,综合速度慢。
发明内容本发明实施例提供了一种优先编码实现方法及设备,提高优先编码器工作频率,减少优先编码器需要的资源,由低阶优先编码器扩展高阶优先编码器筒单。本发明实施例提供了一种优先编码设备,包括2m-N个N级处理单元级联,并通过1个N级输出单元将数据输出;其中,m为大于等于l的自然数,N为大于等于l、小于等于m的自然数。本发明实施例提供了一种优先编码设备的实现方法,所述方法包括将2m-N个N级处理单元级联;通过1个N级输出单元将数据输出,其中,m为大于等于l的自然数,N为大于等于l、小于等于m的自然数。本发明的实施例中,减少了优先编码器的电路传输时延,进而提高了使用优先编码器的工作频率;并节省了优先编码器的资源;且由^f氐阶优先编码器扩展高阶优先编码器扩展容易,设计筒单。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作筒单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图l是本发明实施例中各级处理单元示意图;图2是本发明实施例中4阶优先编码器示意图;图3是本发明实施例中8阶优先编码器示意图;图4是本发明实施例中16阶优先编码器示意图;图5是本发明实施例中K阶优先编码器示意图6是本发明实施例中K阶优先编码器N级和(N+l)级连接关系示意图7是本发明实施例中一种优先编码设备的实现方法流程图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供了优先编码实现方案的多级处理单元,连接方式如图1所示。其中,l级处理单元包括2个两输入或门、l个多路器;2级处理单元包括2个两输入或门、2个多路器;3级处理单元包括2个两输入或门、3个多路器;N级处理单元包括2个两输入或门、N个多路器。上述多级处理单元的具体工作过程结合以下实施例进行详细说明。本发明实施例中的4阶优先编码器的逻辑结构如图2所示。包括l个l级处理单元210和1个1级输出单元220。其中,1级处理单元210包括两输入或门2101、两输入或门2102和二选一多路器2103;l级输出单元220包括两输入或门2201、反向器2202和反向器2203。输入信号X3和X2进入或门2101,输入信号X1和X0进入两输入或门2102,输入信号X2和X0进入二选一多路器2103,二选一多路器2103在或门2102输出信号的控制下选择X2或X0输出。两输入或门2101的输出和两输入或门2102的输出进入两输入或门2201,输出EN信号,两输入或门2102的输出进入反向器2202输出Yl,二选一多路器2103的输出进入反向器2203输出YO。本实施例的输入输出真值表如表l所示表l:<table>tableseeoriginaldocumentpage6</column></row><table>本发明实施例中的8阶优先编码器的逻辑图如图3所示。包括2个1级处理单元3U、312,1个2级处理单元330和1个2级输出单元320。其中,1级处理单元311包括两输入或门3111、两输入或门3112和二选一多路器3113,1级处理单元312包括两输入或门3121、两输入或门3122和二选一多路器3123;2级处理单元330包括两输入或门3301、两输入或门3302和二选一多路器3303、3304;2级输出单元320包括两输入或门3201、反向器3202、反向器3203和反向器3204。输入信号X3和X2进入两输入或门3121,输入信号X1和X0进入两输入或门3122,输入信号X2和X0进入二选一多路器3123;输入信号X7和X6进入或门3111,输入信号X5和X4进入两输入或门3112,输入信号X6和X4进入二选一多路器3113;二选一多路器3123在两输入或门3122输出信号的控制下选择X2或XO输出,二选一多路器3113在两输入或门3112输出信号的控制下选择X6或X4输出。出信号或两输入或门3122的输出信号输出,二选一多路器3304在两输入或门3302输出信号的控制下选择二选一多路器3113的输出信号或二选一多路器3123的输出信号输出。两输入或门3301的输出和两输入或门3302的输出进入两输入或门3201,输出EN信号;两输入或门3302的输出进入反向器3202输出Y2,二选一多路器3303的输出进入反向器3203输出Yl,二选一多路器3304的输出进入反向器3204输出Y0。本实施例的输入输出真值表如表2所示表2:<table>tableseeoriginaldocumentpage7</column></row><table>本发明实施例中的16阶优先编码器的逻辑图如图4所示。包括4个1级处理单元411、412、413、414,2个2级处理单元431、432,1个3级处理单元440和1个3级输出单元420。其中,1级处理单元411包括两输入或门4111、两输入或门4112和二选一多路器4113,1级处理单元412包括两输入或门4121、两输入或门4122和二选一多路器4123,1级处理单元413包括两输入或门4131、两输入或门4132和二选一多路器4133,1级处理单元414包括两输入或门4141、两输入或门4142和二选一多路器4143;2级处理单元431包括两输入或门4311、两输入或门4312和二选一多路器4313、4314,2级处理单元432包括两输入或门4321、两输入或门4322和二选一多路器4323、4324;3级处理单元440包括两输入或门4401、两输入或门4402和二选一多路器4403、4404、4405;3级输出单元420包括两输入或门4201、反向器4202、反向器4203、反向器4204和反向器4205。输入信号X15和X14进入两输入或门4111,输入信号X13和X12进入两输入或门3112,输入信号X14和X12进入二选一多路器4113;输入信号X11和X10进入或门4121,输入信号X9和X8进入两输入或门4122,输入信号X10和X8进入二选一多路器4123;输入信号X7和X6进入两输入或门4131,输入信号X5和X4进入两输入或门4132,输入信号X6和X4进入二选一多路器4133;输入信号X3和X2进入两输入或门4141,输入信号X1和X0进入两输入或门4142,输入信号X2和X0进入二选一多路器4143;二选一多路器4113在两输入或门4112输出信号的控制下选择X14或X12输出,二选一多路器4123在两输入或门4122输出信号的控制下选择X10或X8输出,二选一多路器4133在两输入或门4132输出信号的控制下选择X6或X4输出,二选一多路器4143在两输入或门4142输出信号的控制下选择X2或X0输出。两输入或门4121的输出和两输入或门4122的输出进入两输入或门4312;二选一多路器4313在两输入或门4312输出信号的控制下选择两输入或门4112的输出信号或两输入或门4122的输出信号输出,二选一多路器4314在两输入或门4312输出信号的控制下选择二选一多路器4113的输出信号或二选一多路器4123的输出信号输出。两输入或门4131的输出和两输入或门4132的输出进入两输入或门4321,两输入或门4141的输出和两输入或门4142的输出进入两输入或门4322;二选一多路器4323在两输入或门4322输出信号的控制下选择两输入或门4132的输出信号或两输入或门4142的输出信号输出,二选一多路器4324在两输入或门4322输出信号的控制下选择二选一多路器4133的输出信号或二选一多路器4143的输出信号输出。一多路器4403在两输入或门4402输出信号的控制下选择两输入或门4312的输出信号或两输入或门4322的输出信号输出,二选一多路器4404在两输入或门4402输出信号的控制下选择二选一多路器4313的输出信号或二选一多路器4323的输出信号输出,二选一多路器4405在两输入或门4402输出信号的控制下选择二选一多路器4314的输出信号或二选一多路器4324的输出信号输出。两输入或门4401的输出和两输入或门4402的输出进入两输入或门4201,输出EN信号;两输入或门4402的输出进入反向器4202输出Y3,二选一多路器4403的输出进入反向器4203输出Y2,二选一多路器4404的输出进入反向器4204输出Yl,二选一多路器4405的输出进入反向器4205输出YO。本发明实施例中的K阶优先编码器的逻辑图如图5所示,2"^个N级处理单元级联,并通过1个N级输出单元将数据输出,其中,K^2m"为优先编码设备的阶数;m为大于等于l的自然数,N为大于等于l、小于等于m的自然数。多级优先编码器包括l级处理单元mll、m12、m13、m14...ml(k/4),2级处理单元m21、m22、m23、m24……m2(k/8),3级处理单元m31、m32、m33、m34……m34(賜),1个(m-l)级处理单元和1个(m-l)级输出单元,其中,{*=2m(/w>=2)}{A:=2m(w>=2)}。其中,N级的处理单元2y-1和处理单元2y是N级其中两个,处理单元2y-l和处理单元2y和N+l级处理单元y相连接;如第1级编号为2*2-1处理单元和2*2处理单元和第2级编号为2的处理单元相连接。一个K阶优先编码器可以使用(m-l)级处理单元来实现,其中第N级输出到第(N+l)级输入的关系如图5中各级间的箭头所示第N级的第(2y-l)和2y个处理单元的输出输入到第(N+l)级的第y个处理单元(y>0),y为大于O的自然数。连接关系参看图6,第7V级中第(2y-l)个处理单元的2个或门输出分别连接到第〃+l级第y个处理单元的上面一个或门的2个输入,第iV级中第2y个处理单元的2个或门输出分别连接到第(〃+l)级第y个处理单元的下面一个或门的2个输入。第iV级的第(2y-l)和2y个处理单元的第l个多路器的输出连接到第(7V+1)级的第2个多路器的输入,第iV级的第(2y-l)和2y个处理单元的第w(wiAO个多路器的输出连接到第(7V+i)级的第(w+i)个多路器的输入,以此类推,其它连接关系参考图6。本发明实施例还提供了一种优先编码设备的实现方法,所述方法如图7所示,包括步骤IOI,将2"^个N级处理单元级联;其中,当m-l,N-l时,包括l个l级处理单元和l个l级输出单元,所述l级处理单元包括2个两输入或门、l个多路器,所述将2m-N个N级处理单元级联具体包括分别选择每个两输入或门的至少一路输入信号到所述多路器的输入端;选择所述2个两输入或门的输出信号中的一路输出信号到所述多路器进行控制。步骤102,通过1个N级输出单元将数据输出,其中,m为大于等于l的自然数,N为大于等于l、小于等于m的自然数。所述N级处理单元级联具体包括第iV级中第(2y-l)个处理单元的2个或门输出分别连接到第〃+l级第y个处理单元的一个或门的2个输入,其中,y为大于0的自然数;第iV级中第2y个处理单元的2个或门输出分别连接到第1)级第y个处理单元的一个或门的2个输入;第iV级的第(2y-l)和2y个处理单元的第l个多路器的输出连接到第(iV+1)级的第2个多路器的输入;第N级的第(2y-l)个处理单元的至少一路输出、第N级的第2y个处理单元的至少一路输出,输入到第(N+l)级的第l个多路器的输入,并选择所述第(N+l)级的第y个处理单元的两个或门的输出中的一路对第y个处理单元中的多路器进行控制;第N级的第(2y-l)和2y个处理单元的第w(wN)个多路器的输出连接到第(N+l)级的第(w+l)个多路器的输入。本发明实施例中的优先编码器有如下几个优点1、延迟小,工作频率高一个K阶优先编码器,如果每级的平均延迟是;,输出级的延迟也接近rw,则总的延迟约为(log2=,可见本发明的优先编码器延迟很小,特别是编码器阶数很大时,如256阶编码器总延迟只有约8级或门或8级多路器的延迟,因此可以在ASIC或FPGA上高速实现。2、资源占用小各阶优先编码器的资源占用如下<table>tableseeoriginaldocumentpage11</column></row><table>可见,本发明的优先编码器占用的资源和阶数近似成正比关系。3、结构性强,易于用代码实现;各级处理单元的结构,各级处理单元之间的连接很有规律,不同阶数的编码器结构类似,因此设计上易于实现。4、和综合器对比,和综合器对比分析(FPGA综合)<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>可见在ASIC综合实现中本方案相比综合器综合优化的结果有很大的优势,在同样的期望频率下,本方案的延迟余量(Slack)更大,占用的面积更小。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。权利要求1、一种优先编码设备,其特征在于,包括2m-N个N级处理单元级联,并通过1个N级输出单元将数据输出;其中,m为大于等于1的自然数,N为大于等于1、小于等于m的自然数。2、如权利要求l所述优先编码设备,其特征在于,当111=1,N-l时,包括l个l级处理单元和l个l级输出单元;所述1级处理单元包括2个两输入或门、l个多路器,其中,分别选择每个两输入或门的至少一路输入信号到所述多路器的输入端,并选择所述2个两输入或门的输出信号中的一路输出信号到所述多路器进行控制。3、如权利要求l所述优先编码设备,其特征在于,所述N级处理单元包括2个两输入或门、N个多路器。4、如权利要求l所述优先编码设备,其特征在于,第N级中第(2y-l)个处理单元的2个或门输出分别连接到第N+l级第y个处理单元的一个或门的2个输入,其中,y为大于0的自然数;第N级中第2y个处理单元的2个或门输出分别连接到第(N+l)级第y个处理单元的一个或门的2个输入;第N级的第(2y-l)和2y个处理单元的第l个多路器的输出连接到第(N+1)级的第2个多路器的输入;第N级的第(2y-l)个处理单元的至少一路输出、第N级的第2y个处理单元的至少一路输出,输入到第(N+l)级的第l个多路器的输入,并选择所述第(N+l)级的第y个处理单元的两个或门的输出中的一路对第y个处理单元中的多路器进行控制;第N级的第(2y-l)和2y个处理单元的第w(wSN)个多路器的输出连接到第(N+l)级的第(w+l)个多路器的输入。5、一种优先编码设备的实现方法,其特征在于,所述方法包括将2m-N个N级处理单元级联;通过1个N级输出单元将数据输出,其中,m为大于等于l的自然数,N为大于等于l、小于等于m的自然数。6、如权利要求5所述的方法,其特征在于,当111=1,N-l时,包括l个l级处理单元和l个l级输出单元,所述1级处理单元包括2个两输入或门、l个多路器,所述将2^N个N级处理单元级联具体包括分别选择每个两输入或门的至少一路输入信号到所述多路器的输入端;选择所述2个两输入或门的输出信号中的一路输出信号到所述多路器进行控制。7、如权利要求5所述的方法,其特征在于,所述N级处理单元级联包括第N级中第(2y-l)个处理单元的2个或门输出分别连接到第N+l级第y个处理单元的一个或门的2个输入,其中,y为大于0的自然数;第N级中第2y个处理单元的2个或门输出分别连接到第(N+l)级第y个处理单元的一个或门的2个输入;第N级的第(2y-l)和2y个处理单元的第l个多路器的输出连接到第(N+1)级的第2个多路器的输入;第N级的第(2y-l)个处理单元的至少一路输出、第N级的第2y个处理单元的至少一路输出,输入到第(N+l)级的第l个多路器的输入,并选择所述第(N+1)级的第y个处理单元的两个或门的输出中的一路对第y个处理单元中的多路器进行控制;第N级的第(2y-l)和2y个处理单元的第w(wSN)个多路器的输出连接到第(N+l)级的第(w+l)个多路器的输入。全文摘要本发明实施例公开了一种优先编码实现方法及设备,该设备包括2<sup>m-N</sup>个N级处理单元级联,并通过1个N级输出单元将数据输出;其中,m为大于等于1的自然数,N为大于等于1、小于等于m的自然数。本发明的实施例中,减少了优先编码器的电路传输时延,进而提高了使用优先编码器的工作频率;并节省了优先编码器的资源;且由低阶优先编码器扩展高阶优先编码器扩展容易,设计简单。文档编号H03K19/00GK101355356SQ20081021130公开日2009年1月28日申请日期2008年9月17日优先权日2008年9月17日发明者常文瑞,杜学峰申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1