專利名稱:小型伽羅華域乘法器引擎的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種小型伽羅華(Calois)域乘法器引擎,并且更具體地涉及一種可以在伽羅華域上相乘、乘加和乘累加的乘法器引擎。
本發(fā)明要求以下申請(qǐng)的優(yōu)先權(quán)Stein等2003年3月24日申請(qǐng)的標(biāo)題為“小型伽羅華域乘法器”的美國(guó)專利申請(qǐng)序號(hào)10/395,620(AD-337J),Stein等2002年10月9日申請(qǐng)的標(biāo)題為“伽羅華域乘法器”的美國(guó)臨時(shí)申請(qǐng)序號(hào)60/417,384(AD-337J),Stein等2001年11月30日申請(qǐng)的標(biāo)題為“GF2-ALU”的美國(guó)臨時(shí)申請(qǐng)序號(hào)60/334,662(AD-239J),Stein等2001年11月20日申請(qǐng)的標(biāo)題為“并行伽羅華域乘法器”的序號(hào)60/334,510(AD-240J),Stein等2001年12月18日申請(qǐng)的標(biāo)題為“利用GF2-ALU的伽羅華域乘加(MPA)”的序號(hào)60/341,635(AD-299J),Stein等2001年12月18日申請(qǐng)的標(biāo)題為“可編程GF2-ALU線性反饋移位寄存器—輸入數(shù)據(jù)選擇”的序號(hào)60/341,737(AD-300J)。本申請(qǐng)還要求以下專利申請(qǐng)的優(yōu)先權(quán)Stein等2002年1月18日申請(qǐng)的標(biāo)題為“伽羅華域乘法器系統(tǒng)”的美國(guó)專利申請(qǐng)序號(hào)10/060,699(AD-240J),Stein等2002年8月26日申請(qǐng)的標(biāo)題為“伽羅華域乘/乘加/乘累加”的美國(guó)專利申請(qǐng)序號(hào)10/228,526(AD-299J),以及Stein等2002年5月1日申請(qǐng)的標(biāo)題為“可重配置的輸入伽羅華域線性變換器系統(tǒng)”的美國(guó)專利申請(qǐng)序號(hào)10/136,170(AD-300J)。
背景技術(shù):
在通信系統(tǒng)中對(duì)里德—索羅蒙(RS)編碼和先進(jìn)加密標(biāo)準(zhǔn)(AES)廣泛使用利用伽羅華域(GF)中的系數(shù)的多項(xiàng)式相乘。在一些情況下,基本伽羅華域相乘是不夠的,從而需要更先進(jìn)的伽羅華域運(yùn)算例如伽羅華域乘和累加(GF-MAC)或者伽羅華域乘和加(GF-MPA)。傳統(tǒng)數(shù)字信號(hào)處理器(DSP)完成伽羅華域乘是困難的和耗時(shí)的。DSP對(duì)于有限脈沖響應(yīng)(FIR)濾波以及其它乘累加(MAC)密集運(yùn)算是最優(yōu)的,但是不能有效處理伽羅華域類型的運(yùn)算。一種方法利用每次處理一個(gè)比特的線性反饋移位寄存器(LFSR)來使用伽羅華域上的直接多項(xiàng)式乘和除。這是非常慢的處理。例如,在用于AES類型應(yīng)用的寬帶通信中,當(dāng)比特率高達(dá)每秒40兆比特時(shí),可存在每秒多達(dá)5百萬次的GF乘(GF-MPS)并且每次乘可能需要許多次例如60-100次運(yùn)算。另一種方法利用查找表進(jìn)行伽羅華域乘。典型地,該方法需要10-20個(gè)或更多的周期,這對(duì)于5GF-MPS造成略低的但仍然非常大量的運(yùn)算,例如20×5=100MIPS或更多。已經(jīng)廣泛把里德—索羅蒙代碼采納為寬帶網(wǎng)絡(luò)中的優(yōu)選差錯(cuò)控制編碼方式。里德—索羅蒙編碼器和譯碼器的可編程實(shí)現(xiàn)是一種吸引人的解決辦法,因?yàn)樗蛳到y(tǒng)設(shè)計(jì)者提供在數(shù)據(jù)帶寬和糾錯(cuò)能力之間的折衷的獨(dú)特靈活性,根據(jù)信道狀態(tài)這種折衷是需要的。里德—索羅蒙譯碼中的第一步驟是計(jì)算校正子(syndrome)。校正子可形式上用Si=R模G定義,其中i=(0,1...15)。接收的碼字可以表達(dá)為多項(xiàng)式形式Ri=roXN-1+r1XN-2+...rN-1,其中該接收的字的長(zhǎng)度是N??梢钥闯鲇?jì)算校正子等于在伽羅華域上于用發(fā)生器多項(xiàng)式的第i個(gè)根的第j次冪定義的根上進(jìn)行多項(xiàng)式評(píng)估。對(duì)于里德—索羅蒙算法中的每個(gè)接收到的字存在十六個(gè)要計(jì)算的校正子,這產(chǎn)生以十六為因子的多達(dá)每秒1.6百萬次運(yùn)算(BOPS)的運(yùn)算,這對(duì)現(xiàn)有微處理器是不現(xiàn)實(shí)的。利用直接乘代替查找表使運(yùn)算率增加到6.4BOPS。隨著通信領(lǐng)域的擴(kuò)大以及對(duì)通信數(shù)據(jù)施加加密要求,伽羅華域乘的需求明顯增加。由于每一差錯(cuò)域檢查、加密需要不同伽羅華域上的要求不同查找表的伽羅華域乘,情況進(jìn)一步復(fù)雜。伽羅華域乘法器系統(tǒng)或引擎中的最新改進(jìn)提供更快的運(yùn)算和減小的存儲(chǔ)要求,但是仍然要求更快、更節(jié)能和更小的設(shè)計(jì)。
發(fā)明內(nèi)容
從而本發(fā)明的一個(gè)目的是提供一種新的和改進(jìn)的小型伽羅華域乘法器引擎。
本發(fā)明的另一個(gè)目的是提供一種這樣的新的和改進(jìn)的小型伽羅華域乘法器引擎,其進(jìn)一步減小尺寸和傳播路徑,從而得到更小、更簡(jiǎn)單和更快的設(shè)計(jì)。
本發(fā)明的另一個(gè)目的是提供一種進(jìn)一步減小所要求的存儲(chǔ)量的新的和改進(jìn)的小型伽羅華域乘法器引擎。
本發(fā)明的另一個(gè)目的是提供一種減少所要求的外部總線并且對(duì)相關(guān)DSP使用較少的資源例如寄存器的新的和改進(jìn)的小型伽羅華域乘法器引擎。
本發(fā)明的另一個(gè)目的是提供一種可以減少為新多項(xiàng)式重新配置所需要的時(shí)間的新的和改進(jìn)的小型伽羅華域乘法器引擎。
本發(fā)明的另一個(gè)目的是提供一種這樣的新的和改進(jìn)的小型伽羅華域乘法器引擎,其不僅完成單周期乘還完成乘加以及乘累加運(yùn)算從而提供更多的功能。
本發(fā)明是這樣實(shí)現(xiàn)的通過采用一個(gè)乘法器電路和一個(gè)加法器輸入選擇電路并且把適當(dāng)?shù)妮斎攵囗?xiàng)式提供給該乘法器電路以及伽羅華域線性變換器單元的加法器輸入,實(shí)現(xiàn)能得到輸入多項(xiàng)式的伽羅華域乘、乘加和乘累加功能中的一個(gè)或多個(gè)的小型伽羅華域乘法器引擎,并實(shí)現(xiàn)外部總線和DSP資源要求的減少;還可以通過把伽羅華線性變換器電路配置到一個(gè)矩陣和一個(gè)單位矩陣中減小存儲(chǔ)要求,其中該單位矩陣的單元在該乘法器的輸出是冪小于該不可約多項(xiàng)式的冪的多項(xiàng)式時(shí)代表對(duì)剩余部分的預(yù)測(cè);還進(jìn)一步實(shí)現(xiàn)成,如果該乘法器引擎專用于一種用途,例如乘、乘加或乘累加,還可以去掉該加法器輸入選擇電路和乘法輸入選擇電路。
本發(fā)明特征是一種小型伽羅華域并行乘法器引擎,其包括一個(gè)用于在伽羅華域上使二個(gè)帶有系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路。存在一個(gè)伽羅華域線性變換器電路,它具有來自該乘法器電路的乘輸入、加輸入以及用于使該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)相組合的輸出。存在至該乘法器電路的第一多項(xiàng)式輸入,第二多項(xiàng)式輸入,以及乘法器輸入選擇電路,其用于以乘方式向該乘法器電路提供第二多項(xiàng)式、以乘加方式提供伽羅華域線性變換器電路的輸出以及以乘累加方式提供第二多項(xiàng)式。一個(gè)加法器輸入選擇電路對(duì)伽羅華域線性變換器電路的加輸入以乘方式提供加法單位元電平、以乘加方式提供第二多項(xiàng)式輸入和以乘累加方式提供伽羅華域線性變換器的輸出,以得到這些輸入多項(xiàng)式的伽羅華域乘、乘加以及乘累加功能。
在一優(yōu)選實(shí)施例中,該乘法器電路可以包括一個(gè)用于多項(xiàng)式乘積的每個(gè)項(xiàng)的“與”邏輯電路以實(shí)現(xiàn)伽羅華乘法器。該乘法器電路可以包括一個(gè)用于多項(xiàng)式乘積中的每一對(duì)項(xiàng)的“異或”邏輯電路以實(shí)現(xiàn)伽羅華求和。該伽羅華域線性變換器電路可以包括一個(gè)單元的矩陣,每個(gè)單元包括一個(gè)“異或”邏輯電路以及一個(gè)具有連接到該“異或”邏輯電路的輸出并且具有用于接收輸入數(shù)據(jù)位的輸入的“與”邏輯電路。該伽羅華域線性變換器電路的輸出可以在該引擎的本地總線上反饋到該乘法器輸入選擇電路和該加法器輸入選擇電路。該乘法器輸入選擇電路可包括來自該伽羅華域線性變換器電路的輸出的輸入以及來自第二多項(xiàng)式的輸入。該加法器輸入選擇電路可包括來自該伽羅華域線性變換器電路的輸出的輸入、來自第二多項(xiàng)式的輸入以及一個(gè)控制輸入。每個(gè)“異或”邏輯電路可以使它的輸出和下一個(gè)相繼“異或”邏輯電路的輸入連接,但最后一個(gè)“異或”邏輯電路的輸出和該矩陣的輸出連接而第一“異或”邏輯電路的輸入和加法單位元電平連接。可以存在一個(gè)可重配置的控制電路,以用于向該伽羅華域線性變換器電路提供一組用來對(duì)一個(gè)預(yù)先確定的不可約多項(xiàng)式預(yù)測(cè)模余數(shù)的系數(shù)。該伽羅華域線性變換器電路可以包括多個(gè)伽羅華域變換器單元,并且該可重配置的控制電路可并行地向這些伽羅華域變換器單元提供系數(shù)。該伽羅華域線性變換器電路可包括多個(gè)配置在一個(gè)矩陣部分以及一個(gè)單位矩陣部分中的單元,其中該單位矩陣部分的各單元代表當(dāng)該乘法器電路的輸出是一個(gè)其冪小于該不可約多項(xiàng)式的冪的多項(xiàng)式時(shí)余數(shù)的預(yù)測(cè)。該伽羅華域線性變換器電路可包括多個(gè)伽羅華域變換器單元并且該可重配置的控制電路可并行地對(duì)這些伽羅華域變換器單元提供系數(shù)。該伽羅華域線性變換器電路可包括多個(gè)伽羅華域變換器單元并且該可重配置的控制電路可包括多個(gè)各自和一個(gè)伽羅華域線性變換器單元關(guān)聯(lián)的可重配置的控制單元。該加法單位元電平,可以是零電平并且可以在一個(gè)周期中得到輸入多項(xiàng)式的各功能。
本發(fā)明還以一種小型伽羅華域乘法器引擎為特征,該引擎包括一個(gè)用于在伽羅華域上使二個(gè)帶有系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路。一個(gè)伽羅華域線性變換器電路具有一個(gè)來自該乘法器電路的乘輸入,用以對(duì)一個(gè)不可約多項(xiàng)式預(yù)測(cè)多項(xiàng)式乘積的模余數(shù)。存在一個(gè)至該乘法器電路的第一多項(xiàng)式輸入,一個(gè)第二多項(xiàng)式輸入以及一個(gè)加法器輸入選擇電路,其用于在乘方式下對(duì)該伽羅華域線性變換器電路的加輸入提供加法單位元電平,以得到這些輸入多項(xiàng)式的伽羅華域乘功能。
本發(fā)明還以一種小型伽羅華域乘法器引擎為特征,該引擎包括一個(gè)用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它拉的乘積的乘法器電路。一個(gè)伽羅華域線性變換器電路具有來自該乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可解多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出。存在一個(gè)至該乘法器電路的第一多項(xiàng)式輸入,一個(gè)第二多項(xiàng)式輸入以及一個(gè)加法器輸入選擇電路,該選擇電路用于在乘加方式下對(duì)該伽羅華域線性變換器電路的加輸入提供該第二多項(xiàng)式輸入,以得到這些輸入多項(xiàng)式的伽羅華域乘加功能。
本發(fā)明以一種小型伽羅華域乘法器引擎為特征,該引擎包括一個(gè)用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路。一個(gè)伽羅華域線性變換器電路具有來自該乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出。存在一個(gè)至該乘法器電路的第一多項(xiàng)式輸入,一個(gè)第二多項(xiàng)式輸入以及一個(gè)加法器輸入選擇電路,該選擇電路用于在乘累加方式下對(duì)該伽羅華域線性變換器電路的加輸入提供該伽羅華域線性變換器電路的輸出以得到這些輸入多項(xiàng)式的伽羅華域乘累加功能。
本發(fā)明還以一種小型伽羅華域乘法器引擎為特征,該引擎包括一個(gè)用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路。一個(gè)伽羅華域線性變換器電路具有來自該乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出。存在一個(gè)至該乘法器電路的第一多項(xiàng)式輸入,一個(gè)第二多項(xiàng)式輸入以及一個(gè)乘法器輸入選擇電路,該選擇電路用于在乘方式下向該乘法器電路提供第二多項(xiàng)式、在乘加方式下提供該伽羅華域線性變換器電路的輸出,還存在一個(gè)加法器輸入選擇電路,其用于對(duì)該加羅瓦域線性變換器電路的加輸入在乘方式下提供加法單位元電平和在乘加方式下提供第二多項(xiàng)式輸入,以得到伽羅華域乘和乘加。
本發(fā)明還以一種小型伽羅華域乘法器引擎為特征,該引擎包括一個(gè)用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路。一個(gè)伽羅華域線性變換器電路具有來自該乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出。存在一個(gè)至該乘法器電路的第一多項(xiàng)式輸入,一個(gè)第二多項(xiàng)式輸入,一個(gè)乘法器輸入選擇電路和一個(gè)加法器輸入選擇電路,該乘法器輸入選擇電路用于向該乘法器電路在乘方式下提供第二多項(xiàng)式和在乘累加方式下提供第二多項(xiàng)式,而該加法器輸入選擇電路用于對(duì)該伽羅華域線性變換器電路的加輸入在乘方式下提供加法單位元電平和在乘累加方式下提供該伽羅華域線性變換器電路的輸出,以得到這些輸入多項(xiàng)式的伽羅華域乘和乘累加功能。
本發(fā)明還以一種小型伽羅華域乘法器引擎為特征,該引擎包括一個(gè)用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路。一個(gè)伽羅華域線性變換器電路具有來自該乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出。存在一個(gè)至該乘法器電路的第一多項(xiàng)式輸入,一個(gè)第二多項(xiàng)式輸入,一個(gè)乘法器輸入選擇電路和一個(gè)加法器輸入選擇電路,該乘法器輸入選擇電路用于向該乘法器電路在乘加方式下提供該伽羅華域線性變換器電路的輸出和在乘累加方式下提供第二多項(xiàng)式,而該加法器輸入選擇電路用于對(duì)該伽羅華域線性變換器電路的加輸入在乘加方式下提供第二多項(xiàng)式輸入和在乘累加方式下提供該伽羅華域線性變換器電路的輸出,以得到這些輸入多項(xiàng)式的伽羅華域乘加和乘累加功能。
本發(fā)明還以一種小型伽羅華域乘法器引擎為特征,其包括一個(gè)在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路,以及一個(gè)用于預(yù)測(cè)它的多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的模余數(shù)的伽羅華域線性變換器電路,其包括配置在一個(gè)矩陣部分以及一個(gè)單位矩陣部分中的多個(gè)單元,其中,在該單位矩陣部分中各單元表示當(dāng)該乘法器電路的輸出是一個(gè)其冪小于該不可約多項(xiàng)式的冪的多項(xiàng)式時(shí)的余數(shù)預(yù)測(cè)。
在一優(yōu)選實(shí)施例中,每個(gè)單元可包括一個(gè)可編程“異或”單元。該可編程“異或”單元可包括一個(gè)“異或”電路和一個(gè)“與”電路。存在一個(gè)可重配置的控制電路,用于對(duì)伽羅華域線性變換器電路提供用來為一個(gè)預(yù)先確定的不可約多項(xiàng)式預(yù)測(cè)模余數(shù)的一組系數(shù)。該伽羅華域線性變換器電路可包括多個(gè)伽羅華域線性變換器電路單元。該可重配置的控制電路可并行地對(duì)這些伽羅華域變換器單元提供系數(shù),或者該可重配置的控制電路可包括多個(gè)各自和一個(gè)伽羅華域線性變換器單元關(guān)聯(lián)的可重配置的控制單元。
本發(fā)明還以一種較簡(jiǎn)單的伽羅華域乘法器引擎為特征,其適于在沒有加法器和乘法器輸入選擇電路的情況下在乘、乘加和乘累加運(yùn)算中進(jìn)行選定的運(yùn)算。
從下面的對(duì)優(yōu)選實(shí)施例的說明和附圖本領(lǐng)域技術(shù)人員會(huì)想到其它目的、特征和優(yōu)點(diǎn),附圖中
圖1是依據(jù)本發(fā)明的小型伽羅華域乘法器引擎的功能框圖;圖2是依據(jù)本發(fā)明的常規(guī)伽羅華域乘法器引擎的更詳細(xì)功能框圖;圖3是圖1的小型伽羅華域乘法器引擎的更詳細(xì)功能框圖,以示出本發(fā)明的尺寸減小的伽羅華域線性變換器單位矩陣特征;圖4說明用于圖2和3的伽羅華域線性變換器電路矩陣的典型可編程“異或”電路單元;圖5是圖3和9的伽羅華域線性變換器電路的簡(jiǎn)化示意圖,以說明依據(jù)本發(fā)明的對(duì)一個(gè)冪數(shù)為八的具體多項(xiàng)式的矩陣部分和單位矩陣部分單元的編程;圖6是圖3和9的伽羅華域線性變換器電路的簡(jiǎn)化示意圖,以說明依據(jù)本發(fā)明的對(duì)一個(gè)冪數(shù)為八的另一個(gè)多項(xiàng)式的矩陣部分和單位矩陣部分單元的編程;圖7是圖3和9的伽羅華域線性變換器電路的簡(jiǎn)化示意圖,以說明依據(jù)本發(fā)明的對(duì)一個(gè)冪數(shù)為四的又一個(gè)多項(xiàng)式的矩陣部分和單位矩陣部分單元的編程;圖8是圖3和9的伽羅華域線性變換器電路的簡(jiǎn)化示意圖,以說明對(duì)第二矩陣部分按稀疏矩陣編碼,從而在該具體實(shí)施例中支持半冪數(shù)(4)和全冪數(shù)(8)之間的多項(xiàng)式冪數(shù);圖9是圖1的小型伽羅華域乘法器引擎的更詳細(xì)框圖,其含有本發(fā)明的矩陣尺寸減小、硬件減少和總線本地化的特征;圖10是依據(jù)本發(fā)明的采用若干伽羅華域線性變換器單元的伽羅華域乘法器引擎的框圖;圖11是可在圖2、3、5和9中使用的多項(xiàng)式乘法器的示意圖;圖12說明圖11的多項(xiàng)式乘法器的傳遞函數(shù);以及圖13、14和15是依據(jù)本發(fā)明的分別專用于乘、乘累加、乘加運(yùn)算的伽羅華域乘法器引擎的簡(jiǎn)化示意圖。
具體實(shí)施例方式
除下面公開的優(yōu)選實(shí)施例或各優(yōu)選實(shí)施例外,本發(fā)明能為其它實(shí)施例并且能在不同方式下實(shí)現(xiàn)或完成。從而應(yīng)理解,在應(yīng)用上本發(fā)明不受下面的說明中闡述的或在附圖中說明的結(jié)構(gòu)細(xì)節(jié)以及組成部分的安排的限制。
伽羅華域GF(n)是一組在其上可進(jìn)行二進(jìn)制運(yùn)算的元素。加法和乘法必須滿足互換律、結(jié)合律和分配律。帶有有限數(shù)量元素的域是有限域。二進(jìn)制域的一個(gè)例子是集{0,1},在模2加法和模2乘法下用GF(2)表示。模2加法和乘法運(yùn)算由下面圖中示出的表定義。第一行和第一列指示對(duì)伽羅華域加法器和乘法器的輸入。例如,1+1=0以及1*1=1。
模2加法(“異或”)
模2乘法(“與”)
通常,如果p是任何質(zhì)數(shù),則可以表示GF(p)是一個(gè)帶有p個(gè)元素的有限域以及GF(pm)是一個(gè)帶個(gè)pm個(gè)元素的擴(kuò)展域。另外,通過把一個(gè)域元素α提升到它的不同的冪,可以按α的各個(gè)冪生成該域的各個(gè)元素。例如GF(256)具有256個(gè)元素,它們?nèi)伎梢酝ㄟ^把本原元素α提升到256個(gè)不同的域生成。
另外,其各系數(shù)為二進(jìn)制數(shù)的多項(xiàng)式屬于GF(2)。一個(gè)GF(2)上的m次多項(xiàng)式如果不能由GF(2)上的次數(shù)小于m但大于零的任何二項(xiàng)式除盡則稱為是不可約的。多項(xiàng)式F(X)=X2+X+1是一個(gè)不可約多項(xiàng)式,因?yàn)樗荒苡蒟或由X+1除盡。可以除盡X2m-1+1的m次不可約多項(xiàng)式稱為本原多項(xiàng)式。對(duì)于給定m,可能存在多于一個(gè)的本原多項(xiàng)式。一個(gè)常在大多數(shù)通信標(biāo)準(zhǔn)中使用的用于m=8的本原多項(xiàng)式例子是F(X)=0x11d=X8+X4+X3+X2+1。
容易按軟件實(shí)現(xiàn)伽羅華域加法,因?yàn)樗湍<臃ㄏ嗤?。例如,如?9和16是GF(28)中的二個(gè)元素,則簡(jiǎn)單地按如下的“異或”運(yùn)算進(jìn)行它們的相加29(11101)16(10000)=13(01101)。
另一方面如通過下面的例子示出那樣伽羅華域乘法略復(fù)雜一些,其通過重復(fù)地乘本原元素α計(jì)算GF(24)的所有元素。為了生成GF(24)的域元素,把次數(shù)m=4的本原多項(xiàng)式G(x)選擇為G(x)=X4+X+1。為了使乘法是取模的從而乘法的結(jié)果仍是該域的元素,利用恒等式F(α)=α4+α+1=0把任何帶有第五位組的元素變成4位結(jié)果。通過設(shè)定α4=1+α,反復(fù)使用該恒等式以形成該域中的不同元素。從而該域的元素可以按如下枚舉{0,1,α,α2,α3,1+α,α+α2,α2+α3,1+α+α3,...1+α3}由于α是GF(24)的本原元素,可把它設(shè)定為2以把GF(24)的域元素生成為{0,1,2,4,8,3,6,12,11...9}。
可以看出可在二個(gè)基本步驟中實(shí)現(xiàn)伽羅華域多項(xiàng)式相乘。第一步是計(jì)算多項(xiàng)式乘積c(x)=a(x)*b(x),其是代數(shù)展開的并且匯集相同的冪(加法對(duì)應(yīng)對(duì)應(yīng)項(xiàng)之間的“異或”運(yùn)算)以給出c(x)。
例如,c(x)=(a3x3+a2x2+a1x1+a0)*(b3x3+b2x2+b1x1+b0)c(x)=c6x6+c5x5+c4x4+c3x3+c2x2+c1x1+c0,其中表Ic0=a0*b0c1=a1*b0a0*b1c2=a2*b0a1*b1a0*b2c3=a3*b0a2*b1a1*b2a0*b3c4=a3*b1a2*b2a1*b3c5=a3*b2a2*b3
c6=a3*b3第二步是計(jì)算d(x)=c(x)模p(x)。
為了說明,利用多項(xiàng)式相乘對(duì)一個(gè)不可約多項(xiàng)式取模完成乘法。例如(如果m(x)=x8+x4+x3+x+1){57}*{83}={c1},這是因?yàn)?,第一?x6+x4+x2+x+1)+(x7+x+1)=x13x11x9x8x7x7x5x3x2xx6x4x2xx=x13x11x9x8x6x5x4x31第二步x13+x11+x9+x8+x6+x5+x4+x3+1模(x8+x4+x3+x+1)=x7+x6+1一種在此方法上預(yù)先處理的改進(jìn)型伽羅華域乘法器系統(tǒng)10包括一個(gè)乘法器電路,其用于在伽羅華域上對(duì)系數(shù)a0-a7在A寄存器中的以及系數(shù)b0-b7在B寄存器中的二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積,該乘積由表II所定義的15個(gè)項(xiàng)多項(xiàng)式c(x)給出。該乘法器實(shí)際包括多個(gè)乘法器單元。
表IIc14=a7*b7c13=a7*b6a6*b7c12=a7*b5a6*b6a5*b7c11=a7*b4a6*b5a5*b6a4*b7c10=a7*b3a6*b4a5*b5a4*b6a3*b7c9=a7*b2a6*b3a5*b4a4*b5a3*b6a2*b7c8=a7*b1a6*b2a5*b3a4*b4a3*b5a2*b6a1*b7c7=a7*b0a6*b1a5*b2a4*b3a3*b4a2*b5a1*b6a0*b7c6=a6*b0a5*b1a4*b2a3*b3a2*b4a1*b5a0*b6c5=a5*b0a4*b1a3*b2a2*b3a1*b4a0*b5c4=a4*b0a3*b1a2*b2a1*b3a0*b4
c3=a3*b0a2*b1a1*b2a0*b3c2=a2*b0a1*b1a0*b2c1=a1*b0a0*b1c0=a0*b0在2002年1月30日申請(qǐng)的Stein等的標(biāo)題為“伽羅華域乘法器系統(tǒng)”[AD-240J]的美國(guó)專利申請(qǐng)10/060,699中解釋了一種伽羅華域乘法器系統(tǒng)的操作,該申請(qǐng)整體收錄在此作為參考。
多項(xiàng)式c(x)的15個(gè)項(xiàng)中的每個(gè)項(xiàng)包括用*表示的“與”功能并且用通過表示的邏輯“異或”組合各個(gè)項(xiàng)對(duì)。該在表II中表示的乘積提交到一個(gè)伽羅華域線性變換器電路,該電路可包括若干各由15×8個(gè)單元構(gòu)成的伽羅華線性變換器單元,它們響應(yīng)該乘法器電路產(chǎn)生的乘積以預(yù)測(cè)該多項(xiàng)式乘積對(duì)一個(gè)預(yù)先確定的不可約多項(xiàng)式的模余數(shù)。A0、B0的乘積在第一單元中完成,A1、B1的在第二單元中,A2、B2的在第三單元中,以及An、Bn的在最后一個(gè)單元中完成。在2002年1月18日申請(qǐng)的Stein等的標(biāo)題為“伽羅華域線性變換器”[AD-239J]的美國(guó)專利申請(qǐng)10/051,533號(hào)解釋了伽羅華域線性變換器電路以及它的每個(gè)變換器單元的操作,該申請(qǐng)整體收錄在此作為參考。每個(gè)伽羅華域線性變換器單元通過用一個(gè)不可約多項(xiàng)式除多項(xiàng)式乘積來預(yù)測(cè)模余數(shù)。該不可約多項(xiàng)式例如可以是表3中示出的任何一個(gè)多項(xiàng)式。
表IIIGF(21)0x3(x+1)GF(22)0x7(x2+x+1)GF(23)0xB(x3+x+1)0xD(x3+x2+1)GF(24)0x13(x4+x+1)0x19(x4+x3+1)GF(25)0x25(x5+x2+1)0x29(x5+x3+1)0x2F(x5+x3+x2+x+1)0x37(x5+x4+x2+x+1)0x3B(x5+x4+x3+x+1)0x3D(x5+x4+x2+1)GF(26)0x43(x6+x+1)0x5B(x6+x4+x3+x+1)0x61(x6+x5+1)0x67(x6+x5+x2+x+1)0x6D(x6+x5+x3+x2+1)0x73(x6+x5+x4+x+1)GF(27)0x83(x7+x+1)0x89(x7+x3+1)0x8F(x7+x3+x2+x+1)0x91(x7+x4+1)0x9D(x7+x4+x3+x2+1)0xA7(x7+x5+x2+x+1)0xAB(x7+x5+x3+x+1)0xB9(x7+x5+x4+x3+1)0xBF(x7+x5+x4+x3+x2+x+1)0xC1(x7+x6+1)0xCB(x7+x6+x3+x+1)0xD3(x7+x6+x4+x+1)0xE5(x7+x6+x5+x2+1)0xF1(x7+x6+x5+x4+1)0xF7(x7+x6+x5+x4+x2+x+1)0xFD(x7+x6+x5+x4+x3+x2+1)GF(28)0x11D(x8+x4+x3+x2+1)0x12B(x8+x5+x3+x+1)0x12D(x8+x5+x3+x2+1)0x14D(x8+x6+x3+x2+1)0x15F(x8+x6+x4+x3+x2+x+1)0x163(x8+x6+x5+x+1)0x165(x8+x6+x5+x2+1)0x169(x8+x6+x5+x3+1)0x171(x8+x6+x5+x4+1)0x187(x8+x7+x2+x+1)0x18D(x8+x7+x3+x2+1)0x1A9(x8+x7+x5+x3+1)0x1C3(x8+x7+x6+x+1)0x1CF(x8+x7+x5+x3+x2+x+1)0x1E7(x8+x7+x6+x5+x2+x+1)0x1F5(x8+x7+x5+x4+x2+1)
在此給出的伽羅華域乘法器GF(28)能在冪28、冪24以及表III中示出的冪下實(shí)現(xiàn)。
依據(jù)本發(fā)明的一個(gè)GF乘法例子按如下發(fā)生GF()乘法前; GF9()乘法后;多項(xiàng)式Ox11d 多項(xiàng)式Ox11d 圖1中示出根據(jù)本發(fā)明的小型伽羅華乘法器引擎10,其伴有A輸入寄存器12、B輸入寄存器14和輸出寄存器16。小型伽羅華域引擎10能進(jìn)行一些不同的運(yùn)算,包括乘、乘加和乘累加。
圖2的常規(guī)伽羅華域乘法器引擎10a需要三個(gè)寄存器A寄存器12a、B寄存器14a和C寄存器26a。這些寄存器的負(fù)擔(dān)必須由關(guān)聯(lián)的數(shù)字信號(hào)處理器(DSP)核心28承擔(dān)并且需要繁重的外部總線工作。除了向A寄存器12a提供數(shù)據(jù)的總線30外,總線34用于向B寄存器14a提供數(shù)據(jù)并且總線36用于向C寄存器26a提供數(shù)據(jù),需要用于把寄存器16a的輸出反饋到數(shù)字信號(hào)處理器28的總線32以及用于把數(shù)字信號(hào)處理器28的輸出反饋到B寄存器14a或C寄存器26a的總線34或總線36??偩€31連接伽羅華域線性變換器電路20的輸出和輸出寄存器16a。這樣,結(jié)合從C寄存器26a饋送到矩陣22的加法器輸入42的值多項(xiàng)式乘法器電路18可以對(duì)伽羅華域線性變換器電路20的矩陣22的乘法輸入40提供適當(dāng)?shù)闹狄詫?shí)現(xiàn)乘、乘加和乘累加功能。這里,矩陣22是按支持冪為8的多項(xiàng)式乘法的8×15矩陣示出的,但可把它做得更大或更小、含有更多或更少的單元24,這取決于要服務(wù)的多項(xiàng)式的冪。
依據(jù)本發(fā)明,通過把矩陣22b配置到二個(gè)矩陣部分,矩陣部分50和單位矩陣部分52,中可以接近一半地減小圖3引擎10b中的伽羅華域線性變換器電路20b的矩陣22b的每行的單元24b的數(shù)量。單位矩陣部分只需一組單元54,其中當(dāng)乘法器電路的輸出是一個(gè)其冪小于該不可約多項(xiàng)式的冪的多項(xiàng)式時(shí)這些單位矩陣部分單元表示余數(shù)的預(yù)測(cè)。這樣,在其中該不可約多項(xiàng)式的冪為8的圖3中,任何冪小于8的多項(xiàng)式不會(huì)超過該模并且會(huì)直接通過該矩陣,從而單位矩陣部分52中的缺少單元是不必要的。這幾乎一半地節(jié)約了矩陣22b所需的單元,從而產(chǎn)生更小、更簡(jiǎn)單和更快的引擎。
每個(gè)單元24b(圖4)可包括一個(gè)“與”電路100和一個(gè)“異或”電路102。存在數(shù)據(jù)輸入104和使能輸入106?!爱惢颉彪娐?02在線路108上向下一個(gè)“異或”電路的輸入提供輸出并在它的輸入110處接收前一個(gè)“異或”電路的輸出,但其輸出連接到矩陣的輸出的最后一個(gè)“異或”電路以及其輸入連接到加法器輸入42b(圖3)或42g(圖9)的第一個(gè)“異或”電路除外。線路10b上的使能信號(hào)使線路104上的數(shù)據(jù)通過“與”門100并由“異或”電路102進(jìn)行和線路110上的輸入的“異或”運(yùn)算。線路106上不存在使能信號(hào)簡(jiǎn)單地使線路110上的輸入通過“異或”門102到達(dá)輸出線路108。線路106上的使能信號(hào)使能單元24。在此方式下,整個(gè)矩陣可以重新為任何具體的不可約多項(xiàng)式配置。
通過從上面的表III中選擇一個(gè)不可約多項(xiàng)式以及通過使能必要的單元實(shí)現(xiàn)它,可以理解圖3引擎10b的效力。例如,為了實(shí)現(xiàn)標(biāo)記成Ox11d代表不可約多項(xiàng)式x8+x4+x3+x2+1的第一個(gè)冪為8的多項(xiàng)式,這些概括地在24cc指示的被使能單元形成圖5的單位矩陣52c,該矩陣如前面在圖3中所描述帶有一排單元54c。當(dāng)從表III選擇第二個(gè)不可約多項(xiàng)式Ox12b,不可約多項(xiàng)式x8+x5+x3+x+1在圖6的矩陣部分50d和單位矩陣52d中產(chǎn)生被使能單元圖案24dd,其中單位矩陣52d再次產(chǎn)生一排被使能單元54d。
所需的單元的數(shù)量的減小不僅僅限于其冪和不可約多項(xiàng)式一樣高的多項(xiàng)式。它還適用任何冪為該不可約多項(xiàng)式的冪的一半或更低的多項(xiàng)式。例如,圖3中示出并且在圖5和6中解釋的8×15矩陣22b也可支持冪為1、2、3或4的多項(xiàng)式但不支持冪5、6和7,如果該不可約多項(xiàng)式的冪為16,支持它的矩陣也支持冪最多為8的多項(xiàng)式但不支持9到15。如果它的冪為32,它會(huì)支持冪為32以及最多是16的多項(xiàng)式,但不支持17到31。例如,如圖7中所示,對(duì)于一個(gè)冪為4的不可約多項(xiàng)式,矩陣部分50e和單位矩陣部分52e變得更小并且可以在矩陣22e內(nèi)的任何地方實(shí)現(xiàn)。這里,除單位矩陣52e中的被使能單元外矩陣部分50e具有多個(gè)被使能單元24ee,其中單位矩陣部分52e具有構(gòu)成它的更小的一排被使能的單元54e。
如果希望對(duì)冪為5、6和7的不可約多項(xiàng)式服務(wù),可以用圖8的稀疏矩陣部分52f代替單位矩陣部分,其中可以利用附加的被使能單元排54ff、54fff、54ffff分別支持冪為7、6和5的多項(xiàng)式。但是,這在矩陣的大小以及所需單元數(shù)量的減少上略差。
依據(jù)本發(fā)明的另一個(gè)特征,輸入寄存器的數(shù)量可以從三個(gè)減到二個(gè),并且和圖9數(shù)字信號(hào)處理器(DSP)28g通信所依賴的外部總線數(shù)量可以減少并本地化成引擎10g自身的內(nèi)部總線。這樣,如圖9中所示,只存在二個(gè)輸入寄存器A(12g)和B(14g),并且從輸出31的反饋不必通過DSP 28g而是直接、本地地在引擎10g通過內(nèi)部總線60到達(dá)乘法器輸入選擇電路62和加法器輸入選擇電路64。數(shù)字信號(hào)處理器28g只需要在線路66上對(duì)乘法器輸入選擇電路62以及在線路68上對(duì)加法器輸入選擇電路64上提供控制信號(hào)。這樣,在乘方式下,乘法器輸入選擇電路62把來自B寄存器14g的輸入傳送到多項(xiàng)式乘法器電路18g,同時(shí)加法器輸入選擇電路64向伽羅華域線性變換器電路20g的加法器輸入42g提供加法單位元電平,本情況中即地電平70。在乘加方式下,數(shù)字信號(hào)處理器28指示乘法器輸入選擇電路62在線路60上把來自矩陣22g的輸出反饋到多項(xiàng)式乘法器電路18g,并指示加法器輸入選擇電路64把B寄存器14g中的多項(xiàng)式傳送到伽羅華域線性變換器電路20g的加法器輸入42g。在乘累加方式下,數(shù)字信號(hào)處理器28g指示乘法器輸入選擇電路62把來自B寄存器14g的多項(xiàng)式傳送到多項(xiàng)式乘法器電路18g并且指示加法器輸入選擇電路64在伽羅華域線性變換器電路20g的線路60上反饋輸出。
本發(fā)明的另一個(gè)特征是由于選擇性地使能各單元24g達(dá)到的伽羅華域線性變換器電路20g的可重配置性??芍嘏渲玫目刂齐娐?0選擇性地使能一些用來實(shí)現(xiàn)所選取的不可約多項(xiàng)式的系數(shù)所需的單元24g,并且由于依據(jù)本發(fā)明需要控制的單元的數(shù)量已得到減小,所以控制電路80本身尺寸可減小。
在2002年5月1日申請(qǐng)的Stein等的標(biāo)題為“可重配置輸入伽羅華域線性變換器系統(tǒng)”(AD-300J)的美國(guó)專利申請(qǐng)10/136,170號(hào)以及在它的所有優(yōu)先申請(qǐng)和文檔中解釋了可重配置的輸入伽羅華域線性變換器電路的操作,它們整體收錄在此作為參考。
盡管迄今出于簡(jiǎn)明只相對(duì)一個(gè)引擎說明本發(fā)明,但如圖10中所示可以一起使用若干引擎,其中每個(gè)引擎各具有一個(gè)乘法器電路10h、10i、10j、10k...10n和一個(gè)伽羅華域線性變換器電路20h、20i、20j、20k...20n。它們?nèi)坑脝蝹€(gè)中央可重配置的控制電路80’來控制。這些引擎可以共享它們各在一個(gè)不同的8位(字節(jié))段上操作的位數(shù)[32,64,128]相同的A、B寄存器,或者各由它自己的可重配置控制單元80h、80i、80j、80k...80n并且各自由它自己的一對(duì)A、B寄存器,即A0和B0,12h和14h、A1和B1,12i和14i、A2和B2,12j和14j、A3和B3,12k和14k等等,服務(wù)。
圖11的多項(xiàng)式乘法器電路181可在本文示出的實(shí)施例中使用以提供輸出c0-c14,其包括多個(gè)和各個(gè)“異或”門122組合的“與”門120,從而可以乘任何一對(duì)來自A寄存器121和B寄存器141的多項(xiàng)式,例如圖12的表124中示出的多項(xiàng)式a0-a7和多項(xiàng)式b0-b7。
如果乘法器引擎專用于單種應(yīng)用,例如乘、乘加或乘累加,則為了結(jié)構(gòu)更簡(jiǎn)單可以去掉乘法器輸入選擇電路和加法器輸入選擇電路,例如如圖13、14和15中示出那樣。
圖13的伽羅華域乘引擎100包括多項(xiàng)式乘法器電路18p和伽羅華域變換器電路20p,電路20p接收來自乘法器電路18p的多項(xiàng)式乘積并把它和加法器輸入42p結(jié)合以在102處產(chǎn)生輸出,不過本處對(duì)該加法器輸入提供加法單位元電平。
圖14的伽羅華域乘累加引擎104包括多項(xiàng)式乘法器電路18q和伽羅華域變換器電路20q,電路20q接收來自乘法器電路18q的多項(xiàng)式乘積并把它和加法器輸入42q結(jié)合以在102q處產(chǎn)生輸出。但在此輸出120q反饋到加法器輸入42q。
圖15的伽羅華域乘加引擎108包括多項(xiàng)式乘法器電路18r和伽羅華域變換器電路20r,電路20r接收來自乘法器電路18r的多項(xiàng)式乘積并把它和加法器輸入42r結(jié)合以在102r處產(chǎn)生輸出。但在此輸出102r反饋到乘法器電路18r。
盡管在一些附圖中但不在其它附圖中示出本發(fā)明的一些特殊特征,這只是出于方便,因?yàn)橐罁?jù)本發(fā)明每種特征可以和其它特征中的任何或全部相組合。本文使用的詞“包括”、“包含”、“具有”和“帶有”是廣泛和全面地解釋并且不受限于任何物理互連。此外,本申請(qǐng)中公開的任何實(shí)施例不當(dāng)成是唯一可能的實(shí)施例。
本領(lǐng)域技術(shù)人員會(huì)想到其它實(shí)施例并且在下述權(quán)利要求書之內(nèi)。
權(quán)利要求
1.一種小型伽羅華域乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;伽羅華域線性變換器電路,其具有一個(gè)來自所述乘法器電路的乘輸入、一個(gè)加輸入和一個(gè)用于使該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)相組合的輸出;至所述乘法器電路的第一多項(xiàng)式輸入;第二多項(xiàng)式輸入;乘法器輸入選擇電路,用于向所述乘法器電路在乘方式下提供所述第二多項(xiàng)式、在乘加方式下提供所述伽羅華域線性變換器電路的所述輸出和在乘累加方式下提供所述第二多項(xiàng)式;以及加法器輸入選擇電路,用于對(duì)所述伽羅華域線性變換器電路的所述加輸入在乘方式下提供加法單位元、在乘加方式下提供所述第二多項(xiàng)式輸入和在所述乘累加方式下提供所述伽羅華域線性變換器電路的所述輸出,以得到輸入多項(xiàng)式的乘、乘加和乘累加功能。
2.如權(quán)利要求1的小型伽羅華域乘法器引擎,其中,所述乘法器電路包括用于所述多項(xiàng)式乘積的每個(gè)項(xiàng)的“與”邏輯電路以實(shí)現(xiàn)伽羅華乘法器。
3.如權(quán)利要求1的小型伽羅華域乘法器引擎,其中,所述乘法器電路包括用于所述多項(xiàng)式乘積中的每一對(duì)項(xiàng)的“異或”邏輯電路以實(shí)現(xiàn)伽羅華求和。
4.如權(quán)利要求1的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器電路包括一個(gè)單元矩陣,每個(gè)單元包括一個(gè)“異或”邏輯電路、一個(gè)其輸出連接到所述“異或”邏輯電路的“與”邏輯電路以及一個(gè)接收輸入數(shù)據(jù)位的輸入。
5.如權(quán)利要求1的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器電路的所述輸出在所述引擎中的本地總線上反饋到所述乘法器輸入選擇電路和所述加法器輸入選擇電路。
6.如權(quán)利要求1的小型伽羅華域乘法器引擎,其中,所述乘法器輸入選擇電路包括來自所述伽羅華域線性變換器電路的所述輸出的輸入以及來自所述第二多項(xiàng)式的輸入。
7.如權(quán)利要求1的小型伽羅華域乘法器引擎,其中,所述加法器輸入選擇電路包括來自所述伽羅華域線性變換器電路的所述輸出的輸入、來自所述第二多項(xiàng)式的輸入以及加法單位元輸入。
8.如權(quán)利要求4的小型伽羅華域乘法器引擎,其中,每個(gè)所述“異或”邏輯電路使它的輸出和下一個(gè)相繼“異或”邏輯電路的輸入連接,但最后一個(gè)“異或”邏輯電路的輸出和該矩陣的輸出連接而第一“異或”邏輯電路的輸入和零電平連接。
9.如權(quán)利要求1的小型伽羅華域乘法器引擎,還包括一個(gè)可重配置的控制電路,用于向所述伽羅華域線性變換器電路提供用來預(yù)測(cè)對(duì)一個(gè)預(yù)先確定的不可約多項(xiàng)式的模余數(shù)的一組系數(shù)。
10.如權(quán)利要求9的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器電路包括多個(gè)伽羅華域變換器單元,并且所述可重配置的控制電路并行地向所述伽羅華域變換器單元提供所述系數(shù)。
11.如權(quán)利要求1的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器電路包括配置在一個(gè)矩陣部分以及一個(gè)單位矩陣部分中的多個(gè)單元,其中,該單位矩陣部分的單元代表當(dāng)該乘法器電路的輸出是一個(gè)其冪小于該不可約多項(xiàng)式的冪的多項(xiàng)式時(shí)余數(shù)的預(yù)測(cè)。
12.如權(quán)利要求9的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器電路包括多個(gè)伽羅華域變換器單元,并且所述可重配置的控制電路包括多個(gè)各自和所述伽羅華域線性變換器單元中的每個(gè)單元關(guān)聯(lián)的可重配置的控制單元。
13.如權(quán)利要求1的小型伽羅華域乘法器引擎,其中,在一個(gè)周期中產(chǎn)生輸入多項(xiàng)式的所述功能。
14.如權(quán)利要求9的小型伽羅華域乘法器引擎,其中,所述加法單位元電平是零電平。
15.一種小型伽羅華域乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;伽羅華域線性變換器電路,其具有一個(gè)來自所述乘法器電路的乘輸入,用于預(yù)測(cè)該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的模余數(shù);至所述乘法器電路的第一多項(xiàng)式輸入;第二多項(xiàng)式輸入;以及加法器輸入選擇電路,用于在乘方式下對(duì)所述伽羅華域線性變換器電路的所述加輸入提供加法單位元電平,以獲得輸入多項(xiàng)式的伽羅華域乘功能。
16.如權(quán)利要求15的小型伽羅華域乘法器引擎,其中,所述乘法器電路包括用于所述多項(xiàng)式乘積的每個(gè)項(xiàng)的“與”邏輯電路,以實(shí)現(xiàn)伽羅華乘法器。
17.如權(quán)利要求15的小型伽羅華域乘法器引擎,其中,所述乘法器電路包括用于所述多項(xiàng)式乘積中的每一對(duì)項(xiàng)的“異或”邏輯電路,以實(shí)現(xiàn)伽羅華求和。
18.如權(quán)利要求15的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器包括一個(gè)單元矩陣,每個(gè)單元包括一個(gè)“異或”邏輯電路、一個(gè)其輸出連接到所述“異或”邏輯電路的“與”邏輯電路以及一個(gè)用于接收輸入數(shù)據(jù)位的輸入。
19.如權(quán)利要求15的小型伽羅華域乘法器引擎,其中,所述加法器輸入選擇電路包括來自所述伽羅華域線性變換器電路的所述輸出的輸入、來自所述第二多項(xiàng)式的輸入以及加法單位元輸入。
20.如權(quán)利要求18的小型伽羅華域乘法器引擎,其中,每個(gè)所述“異或”邏輯電路使它的輸出和下一個(gè)相繼的“異或”邏輯電路的輸入連接,但最后一個(gè)“異或”邏輯電路的輸出和該矩陣的輸出連接而第一“異或”邏輯電路的輸入和所述加法器輸入選擇電路連接。
21.如權(quán)利要求15的小型伽羅華域乘法器引擎,還包括一個(gè)可重配置的控制電路,用于向所述伽羅華域線性變換器電路提供用來預(yù)測(cè)對(duì)一個(gè)預(yù)先確定的不可約多項(xiàng)式的模余數(shù)的一組系數(shù)。
22.如權(quán)利要求21的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器電路包括多個(gè)伽羅華域變換器單元,并且所述可重配置的控制電路并行地向所述伽羅華域變換器單元提供所述系數(shù)。
23.如權(quán)利要求15的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器電路包括配置在一個(gè)矩陣部分以及一個(gè)單位矩陣部分中的多個(gè)單元,其中,這些單位矩陣部分單元代表當(dāng)該乘法器電路的輸出是一個(gè)其冪小于該不可約多項(xiàng)式的冪的多項(xiàng)式時(shí)余數(shù)的預(yù)測(cè)。
24.如權(quán)利要求21的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器電路包括多個(gè)伽羅華域變換器單元,并且所述可重配置的控制電路包括多個(gè)各自和所述伽羅華域線性變換器單元中的每一個(gè)單元關(guān)聯(lián)的可重配置控制單元。
25.如權(quán)利要求15的小型伽羅華域乘法器引擎,其中,在一個(gè)周期中產(chǎn)生輸入多項(xiàng)式的所述功能。
26.如權(quán)利要求15的小型伽羅華域乘法器引擎,其中,所述加法單位元電平是零電平。
27.一種小型伽羅華域乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;伽羅華域線性變換器電路,其具有一個(gè)來自所述乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出;至所述乘法器電路的第一多項(xiàng)式輸入;第二多項(xiàng)式輸入伽羅華域線性變換器電路的所述輸出;加法器輸入選擇電路,用于在乘加方式下對(duì)所述伽羅華域線性變換器電路的所述加輸入提供所述第二多項(xiàng)式輸入,以得到輸入多項(xiàng)式的伽羅華域乘加功能。
28.如權(quán)利要求27的小型伽羅華域乘法器引擎,其中,在一個(gè)周期中產(chǎn)生輸入多項(xiàng)式的所述功能。
29.如權(quán)利要求27的小型伽羅華域乘法器引擎,其中,所述加法單位元電平是零電平。
30.一種小型伽羅華域乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;伽羅華域線性變換器電路,其具有一個(gè)來自所述乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出;至所述乘法器電路的第一多項(xiàng)式輸入;第二多項(xiàng)式輸入;加法器輸入選擇電路,用于在所述乘累加方式下對(duì)所述伽羅華域線性變換器電路的所述加輸入提供所述伽羅華域線性變換器電路的所述輸出,以得到輸入多項(xiàng)式的伽羅華域乘累加功能。
31.如權(quán)利要求30的小型伽羅華域乘法器引擎,其中,在一個(gè)周期中產(chǎn)生輸入多項(xiàng)式的所述功能。
32.如權(quán)利要求30的小型伽羅華域乘法器引擎,其中,所述加法單位元電平是零電平。
33.一種小型伽羅華域乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;伽羅華域線性變換器電路,其具有一個(gè)來自所述乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出;至所述乘法器電路的第一多項(xiàng)式輸入;第二多項(xiàng)式輸入;乘法器輸入選擇電路,用于向所述乘法器電路在乘方式下提供所述第二多項(xiàng)式以及在乘加方式下提供所述伽羅華域線性變換器電路的所述輸出;以及加法器輸入選擇電路,用于對(duì)所述伽羅華域線性變換器電路的所述加輸入在乘方式下提供加法單位元電平以及在乘加方式下提供所述第二多項(xiàng)式輸入,以得到輸入多項(xiàng)式的伽羅華域乘和乘加功能。
34.如權(quán)利要求33的小型伽羅華域乘法器引擎,其中,在一個(gè)周期中產(chǎn)生輸入多項(xiàng)式的所述功能。
35.如權(quán)利要求33的小型伽羅華域乘法器引擎,其中,所述加法單位元電平是零電平。
36.一種小型伽羅華域乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;伽羅華域線性變換器電路,其具有一個(gè)來自所述乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出;至所述乘法器電路的第一多項(xiàng)式輸入;第二多項(xiàng)式輸入;乘法器輸入選擇電路,用于向所述乘法器電路在乘方式下提供所述第二多項(xiàng)式以及在乘累加方式下提供所述第二多項(xiàng)式;以及加法器輸入選擇電路,用于對(duì)所述伽羅華域線性變換器電路的所述加輸入在乘方式下提供加法單位元電平以及在所述乘累加方式下提供所述伽羅華域線性變換器電路的所述輸出,以得到輸入多項(xiàng)式的伽羅華域乘和乘累加功能。
37.如權(quán)利要求36的小型伽羅華域乘法器引擎,其中,在一個(gè)周期中產(chǎn)生輸入多項(xiàng)式的所述功能。
38.如權(quán)利要求36的小型伽羅華域乘法器引擎,其中,所述加法單位元電平是零電平。
39.一種小型伽羅華域乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;伽羅華域線性變換器電路,其具有一個(gè)來自所述乘法器電路的乘輸入、一個(gè)加輸入以及一個(gè)用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)的輸出;至所述乘法器電路的第一多項(xiàng)式輸入;第二多項(xiàng)式輸入;乘法器輸入選擇電路,用于向所述乘法器電路在乘加方式下提供所述伽羅華域線性變換器電路的所述輸出以及在乘累加方式下提供所述第二多項(xiàng)式;以及加法器輸入選擇電路,用于對(duì)所述伽羅華域線性變換器電路的所述加輸入在乘加方式下提供所述第二多項(xiàng)式輸入以及在乘累加方式下提供所述伽羅華域線性變換器電路的所述輸出,以得到輸入多項(xiàng)式的伽羅華域乘加和乘累加功能。
40.如權(quán)利要求39的小型伽羅華域乘法器引擎,其中,在一個(gè)周期中產(chǎn)生輸入多項(xiàng)式的所述功能。
41.如權(quán)利要求39的小型伽羅華域乘法器引擎,其中,所述加法單位元電平是零電平。
42.一種小型伽羅華域并行乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;以及用于預(yù)測(cè)它的多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的模余數(shù)的伽羅華域線性變換器電路,其包括配置在一個(gè)矩陣部分以及一個(gè)單位矩陣部分中的多個(gè)單元,其中,該單位矩陣部分的單元表示當(dāng)該乘法器電路的輸出是一個(gè)其冪小于該不可約的多項(xiàng)式的冪的多項(xiàng)式時(shí)余數(shù)的預(yù)測(cè)。
43.如權(quán)利要求42的小型伽羅華域并行乘法器電路,其中,每個(gè)所述單元包括一個(gè)可編程的“異或”單元。
44.如權(quán)利要求43的小型伽羅華域并行乘法器電路,其中,所述可編程“異或”單元包括一個(gè)“異或”電路和一個(gè)“與”電路。
45.如權(quán)利要求42的小型伽羅華域并行乘法器電路,還包括一個(gè)可重配置的控制電路,用于向所述伽羅華域線性變換器電路提供用于預(yù)測(cè)對(duì)一個(gè)預(yù)先確定的不可約多項(xiàng)式的模余數(shù)的一組系數(shù)。
46.如權(quán)利要求45的小型伽羅華域并行乘法器電路,其中,所述伽羅華域線性變換器電路包括多個(gè)伽羅華域線性變換器單元。
47.如權(quán)利要求45的小型伽羅華域并行乘法器電路,其中,所述可重配置的控制電路并行地對(duì)所述伽羅華域線性變換器單元提供所述系數(shù)。
48.如權(quán)利要求45的小型伽羅華域并行乘法器電路,其中,所述可重配置的控制電路包括多個(gè)各自和所述伽羅華域線性變換器單元中的每一個(gè)關(guān)聯(lián)的可重配置的控制單元。
49.一種小型伽羅華域乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;至所述乘法器電路的第一多項(xiàng)式輸入;至所述乘法器電路的第二多項(xiàng)式輸入;伽羅華域線性變換器電路,其具有來自所述乘法器電路的乘輸入,用于預(yù)測(cè)該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的模余數(shù),以得到輸入多項(xiàng)式的伽羅華域乘功能。
50.如權(quán)利要求49的小型伽羅華域乘法器引擎,其中,所述伽羅華域線性變換器電路包括一個(gè)單元矩陣,每個(gè)單元包括一個(gè)“異或”邏輯電路、一個(gè)輸出連接到所述“異或”邏輯電路的“與”邏輯電路以及一個(gè)用于接收輸入數(shù)據(jù)位的輸入。
51.如權(quán)利要求50的小型伽羅華域乘法器引擎,其中,每個(gè)所述“異或”邏輯電路使它的輸出和下一個(gè)相繼的“異或”邏輯電路的輸入連接,但最后一個(gè)“異或”邏輯電路的輸出和該矩陣的輸出連接而第一“異或”邏輯電路的輸入和加法單位元電平連接,以得到輸入多項(xiàng)式的伽羅華域乘功能。
52.一種小型伽羅華域乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;伽羅華域線性變換器電路,其響應(yīng)來自所述乘法器電路的所述多項(xiàng)式乘積以及在它的加輸入處的多項(xiàng)式輸入,用于通過組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù)來對(duì)所述乘法器提供多項(xiàng)式輸入之一,從而得到輸入多項(xiàng)式的伽羅華域乘加功能。
53.如權(quán)利要求52的小型伽羅華域乘加引擎,其中,所述伽羅華域線性變換器電路包括一個(gè)單元矩陣,每個(gè)單元包括一個(gè)“異或”邏輯電路、一個(gè)其輸出連接到所述“異或”邏輯電路的“與”邏輯電路以及一個(gè)用于接收輸入數(shù)據(jù)位的輸入。
54.如權(quán)利要求53的小型伽羅華域乘加引擎,其中,每個(gè)所述“異或”邏輯電路使它的輸出和下一個(gè)相繼的“異或”邏輯電路的輸入連接,但最后一個(gè)“異或”邏輯電路的輸出和該矩陣的輸出連接而第一“異或”邏輯電路的輸入和第二多項(xiàng)式輸入連接,以得到輸入多項(xiàng)式的伽羅華域乘加功能。
55.一種小型伽羅華域乘累加引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;至所述乘法器電路的第一多項(xiàng)式輸入;至所述乘法器電路的第二多項(xiàng)式輸入;響應(yīng)來自所述乘法器電路的所述多項(xiàng)式乘積的伽羅華域線性變換器電路,以及一個(gè)多項(xiàng)式加輸入,其用于組合該加輸入和該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的預(yù)測(cè)模余數(shù),以得到輸入多項(xiàng)式的伽羅華域乘累加功能;以及所述輸出向所述伽羅華域線性變換器電路的所述加輸入提供所述多項(xiàng)式。
56.如權(quán)利要求55的小型伽羅華域乘累加引擎,其中,所述伽羅華域線性變換器電路包括一個(gè)單元矩陣,每個(gè)單元包括一個(gè)“異或”邏輯電路、一個(gè)其輸出連接到所述“異或”邏輯電路的“與”邏輯電路以及一個(gè)用于接收輸入數(shù)據(jù)位的輸入。
57.如權(quán)利要求55的小型伽羅華域乘累加引擎,其中,每個(gè)所述“異或”邏輯電路使它的輸出和下一個(gè)相繼的“異或”邏輯電路的輸入連接,但最后一個(gè)“異或”邏輯電路的輸出和該矩陣的輸出連接而第一“異或”邏輯電路的輸入和所述伽羅華域線性變換器電路的所述輸出連接,以得到輸入多項(xiàng)式的伽羅華域乘累加功能。
全文摘要
一種小型伽羅華域并行乘法器引擎,包括用于在伽羅華域上使二個(gè)帶系數(shù)的多項(xiàng)式相乘以得到它們的乘積的乘法器電路;伽羅華域線性變換器電路,其具有一個(gè)來自該乘法器電路的乘輸入,用以預(yù)測(cè)該多項(xiàng)式乘積對(duì)一個(gè)不可約多項(xiàng)式的模余數(shù);第一和第二多項(xiàng)式輸入;該伽羅華域線性變換器電路可包括配置在一個(gè)矩陣和一個(gè)單位矩陣部分中的多個(gè)單元,其中,這些單位矩陣部分單元表示當(dāng)該乘法器電路的輸出是一個(gè)其冪小于該不可約多項(xiàng)式的冪的多項(xiàng)式時(shí)余數(shù)的預(yù)測(cè)。
文檔編號(hào)G06F7/52GK1717671SQ200380104310
公開日2006年1月4日 申請(qǐng)日期2003年10月9日 優(yōu)先權(quán)日2002年10月9日
發(fā)明者約瑟夫·斯坦, 約叔亞·A·卡布羅茨基 申請(qǐng)人:阿納洛格裝置公司