一种数字电路实现多路比较的方法和装置制造方法及图纸

技术编号:6976127 阅读:202 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数字电路实现多路比较的方法和装置,此方法包括:使用M级比较模块实现N个原始信元的比较,M大于等于2,N大于等于2,所述方法包括:将所述N个原始信元分成P1组,分别输入第1级比较模块的P1个全比较器中,每个全比较器对输入到其中的若干个信元进行全比较后输出满足比较法则的一个信元,第1级比较模块共输出P1个信元;对i=1...M-1,将第i级比较模块的Pi个全比较器输出的共Pi个信元分成Pi+1组,分别输入到第i+1级比较模块的Pi+1个全比较器,输出Pi+1个信元;PM=1;第M级比较模块的输出信元为最终比较结果。本发明专利技术大大降低了比较器资源的使用,优化了时序,使得在ASIC和FPGA中的硬件实现变得可行。

【技术实现步骤摘要】

本专利技术涉及数字电路领域,尤其涉及一种采用数字电路实现ASIC或FPGA中多路比较的方法和装置。
技术介绍
在数字电路领域,比较电路是个基本的逻辑电路。在实际应用中,经常需要对多个比较单元作比较,并快速得出比较结果。现有技术中,对于多路比较的实现,常见的做法是根据比较法则(除有特殊说明外,本文中所用的比较法则均以选出数值最大者为例),将每个比较单元与其他单元都做一次比较,然后根据比较结果判断该比较单元是否为数值最大者,从而选出所有比较单元中符合比较法则的那一个。以N个比较单元为例,如图1所示。对于0号比较单元CellO,需要同时与Celll CellN-I做比较,共需要(N-I)个比较器;对于1号比较单元Celll,可以省去与CellO的比较器,但还需要同时与Cel 12 CellN-I做比较,共(N-幻个比较器;......对于N-2号单元CellN-2,仅需要与CellN-I做比较,共需1个比较器;因此,按照这种比较方法,共需要N* (N-I) Λ个比较器。采用上述方案,虽然通过1级比较1个周期就能比出数值最大的单元了,但是资源消耗会随着比较单元数N的增加而急剧增加;另一方面,如果比较单元本身的数据位宽较大,要实现在1个周期内完成多路信元间的全比较,在时序设计上会较紧张,这在ASIC和 FPGA中实现起来,并不是最佳的方案。 因此,现有技术还有待于改进和发展。
技术实现思路
本专利技术所要解决的技术问题是克服现有技术中存在的资源消耗过多、时序紧张的问题和缺陷,提供一种有效节省使用资源和高效优化时序的多路比较的方法和装置。为了解决上述问题,本专利技术提供了一种数字电路实现多路比较的方法,包括使用 M级比较模块实现N个原始信元的比较,M大于等于2,N大于等于2,所述方法包括将所述 N个原始信元分成P1组,分别输入第1级比较模块的P1个全比较器中,每个全比较器对输入到其中的若干个信元进行全比较后输出满足比较法则的一个信元,第1级比较模块共输出P1个信元;对i = 1... M-I,将第i级比较模块的Pi个全比较器输出的共Pi个信元分成 Pi+1组,分别输入到第i+Ι级比较模块的Pw个全比较器,输出Pi+1个信元;Pm = 1 ;第M级比较模块的输出信元为最终比较结果。进一步地,上述方法还可以具有以下特点各级比较模块包括的全比较器均为相同的L路全比较器,且L的M次方大于等于 N,L大于等于2。进一步地,上述方法还可以具有以下特点基于如下原则确定所述L和M ;选择满足时序要求的L,最小的能满足L的M次方大于等于N且最接近N的M。进一步地,上述方法还可以具有以下特点所述全比较器输入的信元少于L时,记实际输入的信元为有效信元,其他输入端输入为无效信元,有效信元和无效信元根据所述比较法则进行比较时,比较结果为有效信兀。进一步地,上述方法还可以具有以下特点所述M = 2。为了解决上述问题,本专利技术还提供了一种实现多路比较的装置,所述装置包括M 级比较模块,每级比较模块包括若干个全比较器,每个全比较器用于对输入到其中的若干个信元进行全比较后输出满足比较法则的一个信元,M大于等于2 ;第1级比较模块包括P1 个全比较器,用于接收待比较的N个原始信元,输出P1个信元;第i+Ι级比较模块用于接收第i级比较模块输出的Pi个信元,使用Pi+1个全比较器进行比较后,输出Pw个信元;其中,, i = 1... M-LPm= 1,第M级比较模块输出信元为最终比较结果。进一步地,上述装置还可以具有以下特点所述M级比较模块包括的全比较器均为相同的L路全比较器,且该装置用于实现不大于L的M次方个原始信元的比较,L大于等于2。进一步地,上述装置还可以具有以下特点N确定时,基于如下原则确定所述L和M 选择满足时序要求的L,最小的能满足L 的M次方大于等于N且最接近N的M。进一步地,上述装置还可以具有以下特点所述全比较器,用于当输入的信元少于L时,记实际输入的信元为有效信元,其他输入端输入为无效信元,有效信元和无效信元根据所述比较法则进行比较时,比较结果为有效信元。进一步地,上述装置还可以具有以下特点所述M = 2。有益效果本专利技术所述的一种数字电路实现多路比较的方法和装置,采用分组分级的比较方法,与单级全比较方式相比,大大降低了比较器资源的使用,优化了时序,使得在ASIC和FPGA中的硬件实现变得可行;另一方面,本专利技术中所述的N路平均分成P组,通过两级比较的例子,可推广至更多路输入,分成更多组,更多级的情况。附图说明图1是本专利技术所述的现有技术的比较器资源图;图2是本专利技术所述的一种两级比较的技术方案图;图3是本专利技术所述的一种36路比较装置的硬件设计框图;图4是本专利技术所述的一种36路比较装置的比较器资源图5是本专利技术所述的一种35路比较装置的硬件设计框图;图6是本专利技术所述的一种37路比较装置的硬件设计框图。具体实施例方式本专利技术提供一种数字电路实现多路比较的方法,包括使用M级比较模块实现N个原始信元的比较,M大于等于2,N大于等于2,所述方法包括将所述N个原始信元分成P1组,分别输入第1级比较模块的P1个全比较器中,每个全比较器对输入到其中的若干个信元进行全比较后输出满足比较法则的一个信元,共输出P1个信元;对i = 1...M-1,将第i级比较模块的Pi个全比较器输出的共Pi个信元分成Pi+1 组,分别输入到第i+Ι级比较模块的pi+1个全比较器,输出Pi+1个信元;Pm = 1 ;第M级比较模块的输出信元为最终比较结果。其中,各比较模块一种实现是各比较模块的全比较器均为相同的L路比较器,且 L"M大于等于N,L大于等于2。实际设计时,可以基于L~M大于等于N且最接近N的原则选择L和M,在满足时序要求的基础上选择尽可能小的M。比如,N = 37时,可以选择M = 2, L = 7,或者,选择M = 3,L = 4 ;具体选择哪组L,M可根据实际需要而定。当然如果系统允许,可以任选满足需求的L和M。当然,每级比较模块包括的各全比较器也可以是不同的全比较器,本专利技术对此不作限定。同一级比较模块包括的全比较器也可以相同或不同。比如二级比较模块,第一级包括2个3输入全比较器,2个5输入全比较器;第二级比较模块包括一个4输入全比较器寸。其中,L路比较器输入的信元少于L时,记实际输入的信元为有效信元,其他输入端的输入为无效信元,有效信元和无效信元根据所述比较法则进行比较时,比较结果为有效信元。本专利技术还提供一种实现多路比较的装置,所述装置包括M级比较模块,每级比较模块包括若干个全比较器,每个全比较器用于对输入到其中的若干个信元进行全比较后输出满足比较法则的一个信元,M大于等于2 ;第1级比较模块包括P1个全比较器,用于接收待比较的N个原始信元,输出P1个信元;第i + Ι级比较模块用于接收第i级比较模块输出的Pi个信元,使用Pw个全比较器进行比较后,输出Pw个信元;其中,i = 1...M-1,Pm= 1,第M级比较模块输出信元为最终比较结果。其中,所述M级比较模块包括的全比较器均为相同的L路全比较器,L大于等于2, 且该装置用于实现不大于L的M次方个原始信元的比较。当然,本专利技术不限定于各全比较器均为相同的全比较器,也可以为不同的全比较器,比如第一级包括2个4路全本文档来自技高网...

【技术保护点】
1.一种数字电路实现多路比较的方法,其特征在于,包括:使用M级比较模块实现N个原始信元的比较,M大于等于2,N大于等于2,所述方法包括:将所述N个原始信元分成P1组,分别输入第1级比较模块的P1个全比较器中,每个全比较器对输入到其中的若干个1;第M级比较模块的输出信元为最终比较结果。信元进行全比较后输出满足比较法则的一个信元,第1级比较模块共输出P1个信元;对i=1...M-1,将第i级比较模块的Pi个全比较器输出的共Pi个信元分成Pi+1组,分别输入到第i+1级比较模块的Pi+1个全比较器,输出Pi+1个信元;PM=

【技术特征摘要】

【专利技术属性】
技术研发人员:王惠忠
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1