專利名稱:一種數(shù)字電路實現(xiàn)多路比較的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字電路領(lǐng)域,尤其涉及一種采用數(shù)字電路實現(xiàn)ASIC或FPGA中多路比較的方法和裝置。
背景技術(shù):
在數(shù)字電路領(lǐng)域,比較電路是個基本的邏輯電路。在實際應用中,經(jīng)常需要對多個比較單元作比較,并快速得出比較結(jié)果。現(xiàn)有技術(shù)中,對于多路比較的實現(xiàn),常見的做法是根據(jù)比較法則(除有特殊說明外,本文中所用的比較法則均以選出數(shù)值最大者為例),將每個比較單元與其他單元都做一次比較,然后根據(jù)比較結(jié)果判斷該比較單元是否為數(shù)值最大者,從而選出所有比較單元中符合比較法則的那一個。以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個周期就能比出數(shù)值最大的單元了,但是資源消耗會隨著比較單元數(shù)N的增加而急劇增加;另一方面,如果比較單元本身的數(shù)據(jù)位寬較大,要實現(xiàn)在1個周期內(nèi)完成多路信元間的全比較,在時序設(shè)計上會較緊張,這在ASIC和 FPGA中實現(xiàn)起來,并不是最佳的方案。 因此,現(xiàn)有技術(shù)還有待于改進和發(fā)展。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有技術(shù)中存在的資源消耗過多、時序緊張的問題和缺陷,提供一種有效節(jié)省使用資源和高效優(yōu)化時序的多路比較的方法和裝置。為了解決上述問題,本發(fā)明提供了一種數(shù)字電路實現(xiàn)多路比較的方法,包括使用 M級比較模塊實現(xiàn)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級比較模塊的輸出信元為最終比較結(jié)果。進一步地,上述方法還可以具有以下特點
各級比較模塊包括的全比較器均為相同的L路全比較器,且L的M次方大于等于 N,L大于等于2。進一步地,上述方法還可以具有以下特點基于如下原則確定所述L和M ;選擇滿足時序要求的L,最小的能滿足L的M次方大于等于N且最接近N的M。進一步地,上述方法還可以具有以下特點所述全比較器輸入的信元少于L時,記實際輸入的信元為有效信元,其他輸入端輸入為無效信元,有效信元和無效信元根據(jù)所述比較法則進行比較時,比較結(jié)果為有效信兀。進一步地,上述方法還可以具有以下特點所述M = 2。為了解決上述問題,本發(fā)明還提供了一種實現(xiàn)多路比較的裝置,所述裝置包括M 級比較模塊,每級比較模塊包括若干個全比較器,每個全比較器用于對輸入到其中的若干個信元進行全比較后輸出滿足比較法則的一個信元,M大于等于2 ;第1級比較模塊包括P1 個全比較器,用于接收待比較的N個原始信元,輸出P1個信元;第i+Ι級比較模塊用于接收第i級比較模塊輸出的Pi個信元,使用Pi+1個全比較器進行比較后,輸出Pw個信元;其中,, i = 1... M-LPm= 1,第M級比較模塊輸出信元為最終比較結(jié)果。進一步地,上述裝置還可以具有以下特點所述M級比較模塊包括的全比較器均為相同的L路全比較器,且該裝置用于實現(xiàn)不大于L的M次方個原始信元的比較,L大于等于2。進一步地,上述裝置還可以具有以下特點N確定時,基于如下原則確定所述L和M 選擇滿足時序要求的L,最小的能滿足L 的M次方大于等于N且最接近N的M。進一步地,上述裝置還可以具有以下特點所述全比較器,用于當輸入的信元少于L時,記實際輸入的信元為有效信元,其他輸入端輸入為無效信元,有效信元和無效信元根據(jù)所述比較法則進行比較時,比較結(jié)果為有效信元。進一步地,上述裝置還可以具有以下特點所述M = 2。有益效果本發(fā)明所述的一種數(shù)字電路實現(xiàn)多路比較的方法和裝置,采用分組分級的比較方法,與單級全比較方式相比,大大降低了比較器資源的使用,優(yōu)化了時序,使得在ASIC和FPGA中的硬件實現(xiàn)變得可行;另一方面,本發(fā)明中所述的N路平均分成P組,通過兩級比較的例子,可推廣至更多路輸入,分成更多組,更多級的情況。
圖1是本發(fā)明所述的現(xiàn)有技術(shù)的比較器資源圖;圖2是本發(fā)明所述的一種兩級比較的技術(shù)方案圖;圖3是本發(fā)明所述的一種36路比較裝置的硬件設(shè)計框圖;圖4是本發(fā)明所述的一種36路比較裝置的比較器資源圖5是本發(fā)明所述的一種35路比較裝置的硬件設(shè)計框圖;圖6是本發(fā)明所述的一種37路比較裝置的硬件設(shè)計框圖。
具體實施例方式本發(fā)明提供一種數(shù)字電路實現(xiàn)多路比較的方法,包括使用M級比較模塊實現(xiàn)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級比較模塊的輸出信元為最終比較結(jié)果。其中,各比較模塊一種實現(xiàn)是各比較模塊的全比較器均為相同的L路比較器,且 L"M大于等于N,L大于等于2。實際設(shè)計時,可以基于L~M大于等于N且最接近N的原則選擇L和M,在滿足時序要求的基礎(chǔ)上選擇盡可能小的M。比如,N = 37時,可以選擇M = 2, L = 7,或者,選擇M = 3,L = 4 ;具體選擇哪組L,M可根據(jù)實際需要而定。當然如果系統(tǒng)允許,可以任選滿足需求的L和M。當然,每級比較模塊包括的各全比較器也可以是不同的全比較器,本發(fā)明對此不作限定。同一級比較模塊包括的全比較器也可以相同或不同。比如二級比較模塊,第一級包括2個3輸入全比較器,2個5輸入全比較器;第二級比較模塊包括一個4輸入全比較器寸。其中,L路比較器輸入的信元少于L時,記實際輸入的信元為有效信元,其他輸入端的輸入為無效信元,有效信元和無效信元根據(jù)所述比較法則進行比較時,比較結(jié)果為有效信元。本發(fā)明還提供一種實現(xiàn)多路比較的裝置,所述裝置包括M級比較模塊,每級比較模塊包括若干個全比較器,每個全比較器用于對輸入到其中的若干個信元進行全比較后輸出滿足比較法則的一個信元,M大于等于2 ;第1級比較模塊包括P1個全比較器,用于接收待比較的N個原始信元,輸出P1個信元;第i + Ι級比較模塊用于接收第i級比較模塊輸出的Pi個信元,使用Pw個全比較器進行比較后,輸出Pw個信元;其中,i = 1...M-1,Pm= 1,第M級比較模塊輸出信元為最終比較結(jié)果。其中,所述M級比較模塊包括的全比較器均為相同的L路全比較器,L大于等于2, 且該裝置用于實現(xiàn)不大于L的M次方個原始信元的比較。當然,本發(fā)明不限定于各全比較器均為相同的全比較器,也可以為不同的全比較器,比如第一級包括2個4路全比較器、1個 5路全比較器,1個6路全比較器,第二級包括1個4路全比較器,本發(fā)明對此不作限定。其中,N確定時,基于如下原則確定所述L和M 選擇滿足時序要求的L,最小的能滿足L的M次方大于等于N且最接近N的M。
其中,所述全比較器,用于當輸入的信元少于L時,記實際輸入的信元為有效信元,其他輸入端輸入為無效信元,有效信元和無效信元根據(jù)所述比較法則進行比較時,比較結(jié)果為有效信元。其中,上述M可為2,如無特殊說明,以下以M = 2進一步說明本發(fā)明。本發(fā)明采用以下技術(shù)方案一種數(shù)字電路實現(xiàn)多路比較裝置,其中,包括以下模塊組內(nèi)比較模塊是本裝置的輸入端,也是本發(fā)明所述的兩級比較的第一級,用于完成組內(nèi)各單元的比較,得到組內(nèi)成員中的較大者;組間比較模塊是本裝置的輸出端,也是本發(fā)明所述的兩級比較的第二級,用于完成第一級比出的較大信元的比較,最終得到所有成員中的最大者。本發(fā)明所述的數(shù)字電路實現(xiàn)多路比較的方法包括以下步驟A、第一級組內(nèi)信元的比較;B、第二級組間信元的比較;所述的方法,其中,所述步驟A還包括以下步驟Al、組內(nèi)信元間兩兩比較,每個信元得到一組其與其他信元的比較結(jié)果標志;A2、根據(jù)組內(nèi)信元的比較結(jié)果標志,選出組內(nèi)信元中的較大信元;其中,所述步驟B還包括以下步驟Bi、在較大信元間做兩兩比較,每個較大信元都擁有一組其與其他較大信元的比較結(jié)果標志;B2、根據(jù)組間較大信元的比較結(jié)果標志,選出組間較大信元中的最大信元。本發(fā)明將N個比較單元平均分成P組,先完成每組內(nèi)單元之間的全比較,比出一個數(shù)值較大的單元,而后對P個較大者再做一輪比較,通過2級比較,最終得到一個最大者。如圖2所示。從圖2中可以看出,第一級比較模塊中共有P個全比較器,每個全比較器完成了 N/ P個信元的全比較,第二級比較模塊中有1個全比較器,完成P個信元的全比較。根據(jù)數(shù)字電路的設(shè)計習慣,通常要追求電路模塊的可復用性,也即要求N/P = P。這樣,僅需要設(shè)計一個P輸入的全比較器就可以了。其他全比較器都可復用該部分電路。當然,理想情況下希望N為一個平方數(shù)(如16,25,36,……),而當N不是一個平方數(shù)時,必然要保證第二級全比較器的輸入數(shù)P不能小于第一級比較模塊的總輸出數(shù)N/P。因此,按照模塊復用及平均分組的原則,二級復用時,P的值須不小于N的平方根, M級復用時,L"M必須大于等于N。當N = 36時,P = 6,S卩,將36個比較單元平均分到6組中,每組6個單元,產(chǎn)生6 個較大者,做第二級比較;當N = 35時,P = 6,即將35個比較單元分到6組中,其中最后一組的6個單元中的有效單元數(shù)是5,也即,實際第一級36個比較單元中的有效單元數(shù)只有35個,對于無效單元與有效單元之間的比較,將在具體實施方式
中詳述;當N = 37時,分成2級比較時,按照上述的分組原則,第二級比較模塊的輸入數(shù)P =7,即需要分成7組。整個裝置中均復用一種7輸入的全比較器。一個6輸入的全比較器共需要15個基本比較單元,而一個7輸入的全比較器則需要21個基本比較單元。實際上,從現(xiàn)有技術(shù)中可以獲知,一般情況下,隨著待比較單元的原始信元的增多,在ASIC或FPGA實現(xiàn)中,其時序要求就會越來越緊張。而分成2級進行比較可能已經(jīng)無法達到時序優(yōu)化的效果了,故需要再次分級。因此,對于一個7輸入的全比較器,可以根據(jù)本發(fā)明所述的方法,將其再次分組分級,以達到優(yōu)化時序的目的。即每級模塊中的各全比較器也可以使用本發(fā)明所述的方法通過多級比較實現(xiàn)其各信元之間的比較。另外,對于一個37輸入的比較,可將其分成3級進行。由于33 < 37 < 43,根據(jù)上述的模塊復用和平均分組的原則,復用的為4輸入的全比較器,將37個輸入分成16組,其中有部分比較器中的有效單元數(shù)少于4分,也即第一級64個比較單元中的有效單元數(shù)只有 37個,對于無效單元與有效單元之間的比較,將在具體實施方式
中詳述。下面結(jié)合附圖對技術(shù)方案的實施作進一步的詳細描述。實施方式一以下所述的實施方式一以36路輸入為例,實現(xiàn)從36個單元中比較選出數(shù)值最大者及其所屬的單元號。實施方式一所述的裝置實現(xiàn)的是通過2級比較通過2個周期選出最大單元。本裝置的硬件框圖如圖3所示,將36個比較單元平均分成6組,第0 5號比較單元分在第0組,第6 11號比較單元分在第1組,以此類推。分成兩級比較,則共需7個 6輸入的全比較器。 每個全比較器完成組內(nèi)6個單元的兩兩比較,共需要15個比較器,如圖4所示對于36路的比較電路,共需要105個比較器。每個基本的比較器完成2個比較單元的數(shù)值比較,給出比較結(jié)果標志。一個基本的比較單元的真值表如下所示
權(quán)利要求
1.一種數(shù)字電路實現(xiàn)多路比較的方法,其特征在于,包括使用M級比較模塊實現(xiàn)N個原始信元的比較,M大于等于2,N大于等于2,所述方法包括將所述N個原始信元分成P1組,分別輸入第1級比較模塊的P1個全比較器中,每個全比較器對輸入到其中的若干個信元進行全比較后輸出滿足比較法則的一個信元,第1級比較模塊共輸出P1個信元;對i = 1. . . M-I,將第i級比較模塊的Pi個全比較器輸出的共Pi個信元分成Pi+1組,分別輸入到第i+Ι級比較模塊的Pw個全比較器,輸出Pw個信元;Pm = 1 ; 第M級比較模塊的輸出信元為最終比較結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,各級比較模塊包括的全比較器均為相同的L路全比較器,且L的M次方大于等于N,L 大于等于2。
3.如權(quán)利要求2所述的方法,其特征在于,基于如下原則確定所述L和M; 選擇滿足時序要求的L,最小的能滿足L的M次方大于等于N且最接近N的M。
4.如權(quán)利要求2所述的方法,其特征在于,所述全比較器輸入的信元少于L時,記實際輸入的信元為有效信元,其他輸入端輸入為無效信元,有效信元和無效信元根據(jù)所述比較法則進行比較時,比較結(jié)果為有效信元。
5.如權(quán)利要求1至4任一所述的方法,其特征在于,所述M= 2。
6.一種實現(xiàn)多路比較的裝置,其特征在于,所述裝置包括M級比較模塊,每級比較模塊包括若干個全比較器,每個全比較器用于對輸入到其中的若干個信元進行全比較后輸出滿足比較法則的一個信元,M大于等于2 ; 第1級比較模塊包括P1個全比較器,用于接收待比較的N個原始信元,輸出P1個信元; 第i+Ι級比較模塊用于接收第i級比較模塊輸出的Pi個信元,使用Pw個全比較器進行比較后,輸出Pw個信元;其中,,i = 1...M-1,Pm= 1,第M級比較模塊輸出信元為最終比較結(jié)果。
7.如權(quán)利要求6所述的裝置,其特征在于,所述M級比較模塊包括的全比較器均為相同的L路全比較器,且該裝置用于實現(xiàn)不大于L的M次方個原始信元的比較,L大于等于2。
8.如權(quán)利要求7所述的裝置,其特征在于,N確定時,基于如下原則確定所述L和M: 選擇滿足時序要求的L,最小的能滿足L的M次方大于等于N且最接近N的M。
9.如權(quán)利要求7所述的裝置,其特征在于,所述全比較器,用于當輸入的信元少于L時,記實際輸入的信元為有效信元,其他輸入端輸入為無效信元,有效信元和無效信元根據(jù)所述比較法則進行比較時,比較結(jié)果為有效信元。
10.如權(quán)利要求6至9任一所述的裝置,其特征在于,所述M= 2。
全文摘要
本發(fā)明公開了一種數(shù)字電路實現(xiàn)多路比較的方法和裝置,此方法包括使用M級比較模塊實現(xiàn)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級比較模塊的輸出信元為最終比較結(jié)果。本發(fā)明大大降低了比較器資源的使用,優(yōu)化了時序,使得在ASIC和FPGA中的硬件實現(xiàn)變得可行。
文檔編號H03K5/24GK102291107SQ20101021219
公開日2011年12月21日 申請日期2010年6月18日 優(yōu)先權(quán)日2010年6月18日
發(fā)明者王惠忠 申請人:中興通訊股份有限公司