三輸入加減壓縮器的製作方法
2023-09-19 08:24:40
專利名稱:三輸入加減壓縮器的製作方法
技術領域:
本發明屬於微電子學領域的高速低功耗集成電路設計,特別是指一種三輸入的加減壓縮器的運算電路實現方式。
背景技術:
數位訊號處理主要是對各種數據進行算術和邏輯的運算操作,其中加運算與減運算的過程使用非常頻繁,包括各種複雜的數位訊號處理算法,FIR(有限脈衝響應)、IIR(無限脈衝響應)和FFT(快速傅立葉變換)等數位訊號變換中都要大量的累加操作,因此各種加法器在專用集成電路(ASIC)、通用數位訊號處理器(DSP)和先進的微處理器(CPU)中均有廣泛使用。
通常,加法器在實現減法功能時,首先需要將二進位補碼輸入的操作數進行求反加一的操作,也就是將被減操作數變符號,再將兩個數累加起來,以此實現減法的功能。相應的,減法器在處理兩個數相加的運算時,同樣需要改變被加數的符號,才能完成加法操作。
當遇到多個操作數累加時,利用華萊士(Wallace)樹型結構可以對多個累加數首先進行壓縮,將多個操作數壓縮成兩個加數,送入加法器中便可一次性完成多個操作數的累加運算。這樣,只需要一個加法器就可以完成多個加數的一次性累加,大大加快了運算速度,降低了功耗。
但是,數字運算是複雜多變的,在需要對多個操作數執行累加的同時,又要與另一個或多個操作數進行相減運算,這種情況下,華萊士(Wallace)樹型結構與一個加法器的組合系統也不能達到較高的效率。通常,數據通路所包含這些複雜運算模塊又位於時序的關鍵路徑上,如果運算速度慢,將會導致整個晶片運算速度的下降。
隨著對數位訊號處理速度的要求越來越高,迫切的需要針對在一定情況下大量出現的特定運算形式進行專門的優化,得到較高的運算速度。
發明內容
本發明的目的在於,提供一種三輸入加減壓縮器,其可實現高位數甚至超高位數的三個操作數,其中的兩個相加再與第三個操作數相減的快速運算。
本發明一種三輸入加減壓縮器,其特徵在於,其中包括一N位數三輸入加減壓縮器,該N位數三輸入加減壓縮器包含三個N位的第一輸入埠、第二輸入埠和第三輸入埠,及N位的第一輸出埠和第二輸出埠;N位數三輸入加減壓縮器由1~n組N個一位三輸入加減壓縮邏輯單元構成,該1~n組N個一位三輸入加減壓縮邏輯單元並列相連,該1~n組N個一位三輸入加減壓縮邏輯單元的輸入端分別與N位的第一輸入埠、第二輸入埠和第三輸入埠連接,該1~n組N個一位三輸入加減壓縮邏輯單元的輸出端分別與N位的第一輸出埠和第二輸出埠連接。
其中一位三輸入加減壓縮器邏輯單元包含三個一位輸入端,分別為第一輸入端、第二輸入端和第三輸入端,兩個一位輸出端,分別為第一輸出端和第二輸出端;一「非」門,輸入端連接第三輸入端,輸出端連接到兩個「與」門的輸入端;一雙輸入「與」門,輸入埠連接第一輸入端和第二輸入端,輸出端連接三輸入「或」門的一個輸入端;一雙輸入「與」門,輸入端連接第二輸入端和「非」門的輸出,輸出埠連接三輸入「或」門的一個輸入端;一雙輸入「與」門,輸入端連接第一輸入端和「非」門的輸出,輸出端連接三輸入「或」門的一個輸入端;一雙輸入「異或」門,輸入端連接第一輸入端和第二輸入端,輸出埠連接「異或」門的一個輸入端。
一雙輸入「異或」門,輸入埠連接第三輸入端和「異或」門的輸出端,輸出端連接第二輸出端。
一三輸入「或」門,輸入端連接三個「與」門的輸出端,輸出端連接第一輸出端。
其中由N個一位三輸入加減壓縮邏輯單元第一輸出端、第二輸出端,構成了兩個N位壓縮器的輸出數,其中包括由N個一位壓縮邏輯單元輸出端組成的N位輸出數,最高位捨棄,最低位補零,組成新的N位輸出數,送到壓縮器第一輸出埠;即就是N位三輸入加減壓縮器第一輸出埠的最低位連接低電平邏輯「0」,第一輸出埠的次低位連接一位邏輯壓縮單元的第一輸出端,相應的,第一輸出埠的輸出端連接一位邏輯壓縮單元的第一輸出端,一位壓縮邏輯單元n的第一輸出端捨棄;由N個一位壓縮邏輯單元第二輸出端組成的N位輸出端與壓縮器第二輸出埠一一對應連接,即一位壓縮邏輯單元的第二輸出端連接第二輸出埠的輸出端,一位壓縮邏輯單元n的第二輸出端連接第二輸出埠的輸出端;第一輸出埠和第二輸出埠作為三輸入加減壓縮器的輸出數送出;其中,第一輸出埠的權重高於第二輸出埠的權重一倍。
其中三輸入加減壓縮器兩個N位輸出埠,其後連接減法器,其中第一輸出埠連接減數輸入埠,第二輸出埠連接被減數輸入埠,即實現第一輸出埠與第二輸出埠相減,這樣,就可以完成原始輸入的三個操作數,第一輸入端與第二輸入端相加再與第三輸入端相減的運算過程。
為進一步說明本發明的技術特徵,以下結合實施例及附圖對本發明作一詳細的描述,其中圖1是N位三輸入加減壓縮器結構示意圖。
圖2是一位加減壓縮邏輯單元的電路結構示意圖。
具體實施例方式
請參閱圖1所示,本發明一種三輸入加減壓縮器,其中包括一N位數三輸入加減壓縮器10,該N位數三輸入加減壓縮器10包含三個N位的第一輸入埠A1、第二輸入埠A2和第三輸入埠S1,及N位的第一輸出埠O1和第二輸出埠O2;N位數三輸入加減壓縮器10由1~n組N個一位三輸入加減壓縮邏輯單元構成,該1~n組N個一位三輸入加減壓縮邏輯單元並列相連,該1~n組N個一位三輸入加減壓縮邏輯單元的輸入端分別與N位的第一輸入埠A1、第二輸入埠A2和第三輸入埠S1連接,該1~n組N個一位三輸入加減壓縮邏輯單元的輸出端分別與N位的第一輸出埠O1和第二輸出埠O2連接。
請參閱圖2所示,其中一位三輸入加減壓縮器邏輯單元包含三個一位輸入端,分別為第一輸入端a1、第二輸入端a2和第三輸入端s1,兩個一位輸出端,分別為第一輸出端o1和第二輸出端o2;一「非」門101,輸入端連接第三輸入端s1,輸出端連接到兩個「與」門202、203的輸入端;一雙輸入「與」門204,輸入埠連接第一輸入端a1和第二輸入端a2,輸出端連接三輸入「或」門302的一個輸入端;一雙輸入「與」門203,輸入端連接第二輸入端a2和「非」門101的輸出,輸出埠連接三輸入「或」門302的一個輸入端;一雙輸入「與」門202,輸入端連接第一輸入端a1和「非」門101的輸出,輸出端連接三輸入「或」門302的一個輸入端;一雙輸入「異或」門201,輸入端連接第一輸入端a1和第二輸入端a2,輸出埠連接「異或」門301的一個輸入端。
一雙輸入「異或」門301,輸入埠連接第三輸入端s1和「異或」門201的輸出端,輸出端連接第二輸出端o2。
一三輸入「或」門302,輸入端連接三個「與」門202、203、204的輸出端,輸出端連接第一輸出端o1。
3、根據權利要求1所述的N位數三輸入加減壓縮器,其特徵在於,由N個一位三輸入加減壓縮邏輯單元第一輸出端o1、第二輸出端o2,構成了兩個N位壓縮器的輸出數,其中包括由N個一位壓縮邏輯單元輸出端o1組成的N位輸出數,最高位捨棄,最低位補零,組成新的N位輸出數,送到壓縮器第一輸出埠O1;即就是N位三輸入加減壓縮器第一輸出埠O1的最低位o2_1連接低電平邏輯「0」,第一輸出埠O1的次低位o1_2連接一位邏輯壓縮單元1的第一輸出端o1,相應的,第一輸出埠O1的輸出端o1_n連接一位邏輯壓縮單元n-1的第一輸出端o1,一位壓縮邏輯單元n的第一輸出端o1捨棄;由N個一位壓縮邏輯單元第二輸出端o2組成的N位輸出端與壓縮器第二輸出埠O2一一對應連接,即一位壓縮邏輯單元1的第二輸出端o2連接第二輸出埠O2的輸出端o2_1,一位壓縮邏輯單元n的第二輸出端o2連接第二輸出埠O2的輸出端o2_n;第一輸出埠O1和第二輸出埠O2作為三輸入加減壓縮器的輸出數送出;其中,第一輸出埠O1的權重高於第二輸出埠O2的權重一倍。
其中三輸入加減壓縮器兩個N位輸出埠,其後連接減法器,其中第一輸出埠O1連接減數輸入埠,第二輸出埠O2連接被減數輸入埠,即實現第一輸出埠O1與第二輸出埠O2相減,這樣,就可以完成原始輸入的三個操作數,第一輸入端a1與第二輸入端a2相加再與第三輸入端s1相減的運算過程。
N位數三輸入加減壓縮器由N個一位三輸入加減壓縮邏輯單元組成。三個N位的操作數A1、A2和S1按位分別送入到N個一位壓縮邏輯單元1~n的輸入埠,其中A1為N位,分別是a1_1~a1_n;A2為N位,分別是a2_1~a2_n,S1也為N位,分別是s1_1~s1_n。
三輸入加減壓縮器有兩個輸出數O1和O2。由N個一位壓縮邏輯單元輸出數o1組成的N位輸出數,最高位捨棄,最低位補零,組成新的N位輸出數,連接壓縮器輸出端O1;即就是N位三輸入加減壓縮器O1的最低位o1_1連接低電平邏輯「0」,O1的次低位o1_2連接一位邏輯壓縮單元1的輸出端o1,相應的,O1的輸出端o1_n連接一位邏輯壓縮單元n-1的輸出端o1,一位壓縮邏輯單元n的輸出端o1捨棄。由N個一位壓縮邏輯單元輸出數o2組成的N位輸出埠與壓縮器輸出埠O2一一對應連接,即一位壓縮邏輯單元1的輸出端o2連接O2的輸出端o2_1,一位壓縮邏輯單元n的輸出端o2連接O2的輸出端o2_n。O1和O2作為三輸入加減壓縮器的輸出數送出。其中,輸出數O1的權重高於輸出數O2的權重一倍。
三輸入加減壓縮器的兩個N位輸出埠,其後連接減法器,其中O1連接減數輸入埠,O2連接被減數輸入埠,即實現O1-O2,這樣,就可以完成原始輸入的三個操作數,兩個相加再與第三個操作數相減的運算過程。
根據圖2的邏輯門連接起來,構成了一位三輸入加減壓縮邏輯單元,其對應的邏輯真值表為
從完整的運算過程來看,其運算公式可以表示為R=A1+A2-S1;(1)其中,N位的三個操作數可以用二進位數表示為A1=(a1na1n-1...a12a1i)2A2=(a2na2n-1...a22a21)2S1=(s1ns1n-1...s12s11)2可以看到,公式中需要一次加法運算,一次減法運算,如果用電路實現,則需要兩個加法器延時,運算速度較慢。
如果將兩個運算過程壓縮成一個,則可大大加快運算速度。如公式(2)所示R=O1-O2=A1+A2-S1;(1)將三個操作數壓縮成兩個,減數O1和O2,則只需要一個運算單元便可完成運算。本發明所實現的,就是這樣的一個壓縮器。
按照下表所示
如果用輸出數的o1和o2的組合表示三個操作數運算的結果,如「00」表示運算結果為「0」,「11」表示結果為「1」,「01」表示結果為「-1」,「10」表示結果為「2」,這樣的話,可以覆蓋所有的運算可能性。而N個這樣的壓縮邏輯單元就組成N位的三輸入加減壓縮器,其中N個一位壓縮邏輯單元的輸出o1和o2組成整個壓縮器的兩個輸出埠O1和O2。N個o1通過左移一位,低位補零,高位捨棄,提高權重一倍,然後將O1、O2分別作為減數和被減操作數送入一個N位的減法器中,就可以完成同樣的運算操作,而在這樣的過程中電路只用到了一個減法運算器,相比傳統方式,大大加快了運算速度。
權利要求
1.一種三輸入加減壓縮器,其特徵在於,其中包括一N位數三輸入加減壓縮器,該N位數三輸入加減壓縮器包含三個N位的第一輸入埠、第二輸入埠和第三輸入埠,及N位的第一輸出埠和第二輸出埠;N位數三輸入加減壓縮器由1~n組N個一位三輸入加減壓縮邏輯單元構成,該1~n組N個一位三輸入加減壓縮邏輯單元並列相連,該1~n組N個一位三輸入加減壓縮邏輯單元的輸入端分別與N位的第一輸入埠、第二輸入埠和第三輸入埠連接,該1~n組N個一位三輸入加減壓縮邏輯單元的輸出端分別與N位的第一輸出埠和第二輸出埠連接。
2.根據權利要求1所述的三輸入加減壓縮邏輯單元,其特徵在於、其中一位三輸入加減壓縮器邏輯單元包含三個一位輸入端,分別為第一輸入端、第二輸入端和第三輸入端,兩個一位輸出端,分別為第一輸出端和第二輸出端;一「非」門,輸入端連接第三輸入端,輸出端連接到兩個「與」門的輸入端;一雙輸入「與」門,輸入埠連接第一輸入端和第二輸入端,輸出端連接三輸入「或」門的一個輸入端;一雙輸入「與」門,輸入端連接第二輸入端和「非」門的輸出,輸出埠連接三輸入「或」門的一個輸入端;一雙輸入「與」門,輸入端連接第一輸入端和「非」門的輸出,輸出端連接三輸入「或」門的一個輸入端;一雙輸入「異或」門,輸入端連接第一輸入端和第二輸入端,輸出埠連接「異或」門的一個輸入端;一雙輸入「異或」門,輸入埠連接第三輸入端和「異或」門的輸出端,輸出端連接第二輸出端。一三輸入「或」門,輸入端連接三個「與」門的輸出端,輸出端連接第一輸出端。
3.根據權利要求1所述的N位數三輸入加減壓縮器,其特徵在於,由N個一位三輸入加減壓縮邏輯單元第一輸出端、第二輸出端,構成了兩個N位壓縮器的輸出數,其中包括由N個一位壓縮邏輯單元輸出端組成的N位輸出數,最高位捨棄,最低位補零,組成新的N位輸出數,送到壓縮器第一輸出埠;即就是N位三輸入加減壓縮器第一輸出埠的最低位連接低電平邏輯「0」, 第一輸出埠的次低位連接一位邏輯壓縮單元的第一輸出端,相應的,第一輸出埠的輸出端連接一位邏輯壓縮單元的第一輸出端,一位壓縮邏輯單元n的第一輸出端捨棄;由N個一位壓縮邏輯單元第二輸出端組成的N位輸出端與壓縮器第二輸出埠一一對應連接,即一位壓縮邏輯單元的第二輸出端連接第二輸出埠的輸出端,一位壓縮邏輯單元n的第二輸出端連接第二輸出埠的輸出端;第一輸出埠和第二輸出埠作為三輸入加減壓縮器的輸出數送出;其中,第一輸出埠的權重高於第二輸出埠的權重一倍。
4.根據權利要求1所述的三輸入加減壓縮器,其特徵在於,其中三輸入加減壓縮器兩個N位輸出埠,其後連接減法器,其中第一輸出埠連接減數輸入埠,第二輸出埠連接被減數輸入埠,即實現第一輸出埠與第二輸出埠相減,這樣,就可以完成原始輸入的三個操作數,第一輸入端與第二輸入端相加再與第三輸入端相減的運算過程。
全文摘要
本發明是三輸入加減壓縮器的算法說明及其電路實現方式,這種三輸入加減壓縮器可以將進行加減操作的二進位補碼形式的三個操作數壓縮成兩個操作數,送到減法器中相減,以實現完整的兩個操作數相加,再與一個操作數相減的加減操作功能。本發明可以省去將被減數進行求反加一變換的過程,且僅用一個減法器就完成三個操作數的加減運算,從而了加快運算速度,節省了晶片功耗和面積。本發明可廣泛應用於各種高性能數位訊號處理集成電路中。
文檔編號G06F7/38GK1570844SQ03132809
公開日2005年1月26日 申請日期2003年7月21日 優先權日2003年7月21日
發明者李鶯, 陳杰 申請人:中國科學院微電子中心