專利名稱:Lfsr仿真的制作方法
LFSR仿真
擾碼發(fā)生器以及CRC發(fā)生器和校驗器傳統(tǒng)上是在如線性反饋移位寄存器 (LFSR)的硬件中實現(xiàn)的。然而,此類實現(xiàn)的每一位要求一個時鐘周期。
有時候期望更快速地處理數(shù)據(jù),這可通過利用LFSR可被數(shù)學地表示成傳 遞矩陣——定義成使得NextState (下一狀態(tài))二 A * CurrentState (當前狀 態(tài))(模2)——這個事實來完成,其中NextState和CurrentState是表示LFSR 的狀態(tài)的列向量。這樣,就能夠仿真LFSR。
注釋傳遞矩陣中的模2意味著GF(2)上進行運算(即,全部皆是一位并 且可僅具有值0和1),但是這種辦法當然不限于GF(2)。然而,這種約定通 篇用在本文獻中,因為在實際系統(tǒng)中常常使用GF(2)。
對于CRC,或者其下一狀態(tài)和/或輸出依賴于數(shù)據(jù)輸入的任意LFSR, NextState和CurrentState具有除表示LFSR狀態(tài)的元素之外的用于表示數(shù)據(jù) 輸入的額外元素。
可通過將A升至第/7次冪來使LFSR在單個時鐘周期中步進/ 次 NextState = A" * CurrentState (模2)。
根據(jù)一個方面,本發(fā)明提供了一種用于仿真具有一個或多個輸入以及一個 或多個輸出的至少之一的LFSR的操作的裝置,其中LFSR的狀態(tài)可由具有描述 LFSR的一個輸入或多個輸入——如果有的話、LFSR的內(nèi)容以及LFSR的一個輸 出或多個輸出——如果有的話——等部分的狀態(tài)向量來描述,其中可將該狀態(tài) 向量乘以時移矩陣以對由向量指定的狀態(tài)進行時移,并且其中該裝置包括用
于將狀態(tài)向量的第一實例與矩陣相乘以產(chǎn)生相對于該第一實例時移的狀態(tài)向 量的第二實例的裝置,且其中狀態(tài)向量的輸入和輸出部分中的一者或兩者可被
調(diào)節(jié)維數(shù)(dimensioned)以分別容納在由矩陣指定的時移期間在不同時間到 達的輸入和在時移期間在不同時間產(chǎn)生的輸出。
本發(fā)明還包括一種用于仿真具有一個或多個輸入以及一個或多個輸出的 至少之一的LFSR的操作的方法,其中LFSR的狀態(tài)可由具有描述LFSR的一個
4輸入或多個輸入一一如果有的話、LFSR的內(nèi)容以及LFSR的一個輸出或多個輸 出——如果有的話——等部分的狀態(tài)向量來描述,其中可將該狀態(tài)向量乘以時
移矩陣以對由向量指定的狀態(tài)進行時移,并且其中該方法包括將狀態(tài)向量的
第一實例與矩陣相乘以產(chǎn)生相對于該第一實例時移的狀態(tài)向量的第二實例,且 其中狀態(tài)向量的輸入和輸出部分中的一者或兩者可被調(diào)節(jié)維數(shù)以分別容納在 由矩陣指定的時移期間在不同時間到達的輸入和在時移期間在不同時間產(chǎn)生 的輸出。
根據(jù)另一方面,本發(fā)明提供了一種用于仿真具有一個或多個輸入以及一個
或多個輸出的至少之一的LFSR的操作的裝置,其中LFSR的狀態(tài)可由具有描述 LFSR的一個輸入或多個輸入——如果有的話、LFSK的內(nèi)容以及LFSR的一個輸 出或多個輸出——如果有的話一一等部分的狀態(tài)向量來描述,其中可將該狀態(tài) 向量乘以時移矩陣以對由向量指定的狀態(tài)進行時移,并且其中該裝置包括用 于將狀態(tài)向量的第一實例與矩陣相乘以產(chǎn)生相對于該第一實例時移的狀態(tài)向 量的第二實例的裝置,其中乘法僅擴展到矩陣中描述狀態(tài)向量的第一實例的 LFSR內(nèi)容和輸入部分對第二實例的LFSR內(nèi)容和輸出部分的影響的那些部分。
本發(fā)明還提供了一種用于仿真具有一個或多個輸入以及一個或多個輸出 的至少之一的LFSR的操作的方法,其中LFSR的狀態(tài)可由具有描述LFSR的一 個輸入或多個輸入——如果有的話、LFSR的內(nèi)容以及LFSR的一個輸出或多個 輸出一如果有的話一等部分的狀態(tài)向量來描述,其中可將該狀態(tài)向量乘以 時移矩陣以對由向量指定的狀態(tài)進行時移,并且其中該方法包括通過將狀態(tài) 向量的第一實例與矩陣相乘對狀態(tài)向量的第一實例進行時移以產(chǎn)生狀態(tài)向量 的第二實例,所述乘法僅擴展到矩陣中描述狀態(tài)向量的第一實例的LFSR內(nèi)容 和輸入部分對第二實例的LSFR內(nèi)容和輸出部分的影響的那些部分。
因此,狀態(tài)向量可以被時移而無需執(zhí)行時移矩陣中所有部分對狀態(tài)向量的 影響的計算。另外,無需為了存儲狀態(tài)向量的第一實例的輸出部分或狀態(tài)向量 的第二實例的輸入部分的目的而將存儲與裝置相關(guān)聯(lián),結(jié)果減小所需的數(shù)據(jù)存
儲量是可能的。
在某些實施例中,由矩陣指定的時移擴展到多個LFSR周期。在其它實施 例中,時移是一個LFSR周期。在某些實施例中,可提供不同版本的矩陣,這些矩陣各自指定不同成程度的時移以使得期望長度的時移可更容易達成。
在某些實施例中,LFSR是擾碼發(fā)生器。在其它實施例中,LFSR是CRC校 驗器。在另外實施例中,LFSR是CRC發(fā)生器。當然,為本領(lǐng)域技術(shù)人員所顯見 的是,由本發(fā)明仿真的LFSR可具有其它應(yīng)用。
在某些實施例中,狀態(tài)向量的LFSR內(nèi)容與輸出部分之間有重疊。按照這 種情況,可縮短狀態(tài)向量以消去重復的重疊,例如,通過從狀態(tài)向量的輸出部 分去除已在狀態(tài)向量的LFSR內(nèi)容部分中存在的那部分。在某些實施例中,LFSR 的仿真可被布置成使狀態(tài)向量的LFSR內(nèi)容與輸出部分之間的重疊最大化,以 便減少執(zhí)行矩陣乘法所需的計算的量。
在這點上,對LFSR及其屬性的某些一般討論是值得的。
一般的LFSR將具有若干狀態(tài)位(即,描述LFSR的內(nèi)容的位),以及一個 或多個數(shù)據(jù)輸入位和一個或多個數(shù)據(jù)輸出位的至少之一。下一狀態(tài)和數(shù)據(jù)輸出 將依賴于當前狀態(tài)和數(shù)據(jù)輸入。(LFSR常常具有或者單個數(shù)據(jù)輸入位或者單個 數(shù)據(jù)輸出位,但并非兼具兩者。然而,本發(fā)明不限于這些較為簡單的情形。)
對于具有^個狀態(tài)位、^個數(shù)據(jù)輸入位、以及?個數(shù)據(jù)輸出位的/7步進LFSR, 必須創(chuàng)建傳遞方陣A。其維數(shù)將是概念的狀態(tài)向量V的維數(shù),并且其將表示LFSR 的單個步進所需的變換。對于完全一般的情形,此向量將包括用于每個狀態(tài)位 的一個元素,用于每個輸入位的"個元素(以允許一次處理/ 組輸入)、以及 用于每個輸出位的^個元素(以允許一次產(chǎn)生"組輸出位),從而得到總向量 長度Mp/7+卵。(對于單輸入或輸出位的更常見情形,向量長度為融仏如果 LFSR是具有產(chǎn)生移位輸入的反饋且具有與該移位輸入相同的單個輸出的簡單 移位寄存器,則根據(jù)本發(fā)明的特征,與狀態(tài)和輸出相對應(yīng)的向量元素可被共享, 從而將向量長度減小到max(歷,T7)。)
狀態(tài)向量V可被分解成三個子向量,它們各自對應(yīng)于以下位類型之一輸 入(具有/w個元素的Vi)、狀態(tài)(具有/z 個元素的Vs)以及輸出(具有,個 元素的V。)。單步進傳遞矩陣A將由此具有九個部分,這些部分各自指示一種 位類型對一種位類型的下一狀態(tài)的影響。(在前一段末尾討論的具有相等的反 饋和輸出的簡單移位寄存器的情形將導致Vs與V。的部分或完全重疊。其它情形 也可導致Vs與V。的部分或完全重疊。)矩陣A的一般形式在
圖14中示出。在
6該附圖中,將狀態(tài)向量V的初始版本10乘以A矩陣12以產(chǎn)生V的最終版本14, 后者相對于初始版本10提前一個周期。初始版本10和最終版本14的V,、 Vs 和V。子向量被示出。A矩陣12被描繪為分成以上提及的九個部分(這些部分 被標記為F-N),這些部分各自被調(diào)節(jié)維數(shù)以使得最終版本14的子向量為
其中Vi、 Vs、 V。是初始版本10的子向量,而^,l/、:,V。是最終版本14的
子向量。
本發(fā)明人已領(lǐng)會到"步進傳遞矩陣B二A"(模2)的兩個有趣的特性:下一狀 態(tài)的輸入位部分(V,')將為全零,而當前狀態(tài)的輸出位部分(V。)將不影響 下一狀態(tài)的任何部分。這意味著,/7步進LFSR僅需要存儲向量中與LFSR內(nèi)容 (V》相對應(yīng)的部分的元素,這與原始單步進LFSR所需的存儲元素的數(shù)目相同。 這假定分別在領(lǐng)先或跟隨LFSR仿真器的階段中為LFSR仿真器的/7個輸入和/7 個輸出周期提供存儲。換言之,可能需要某些外部存儲元件以允許所有P"個 輸入位被同時呈現(xiàn),但是這些通常無論如何都是必需的,并且相似的,可能需 要某些外部存儲以同時接受所有( /7個輸出位,但是這些通常也是無論如何都 必需的。
概括地,本發(fā)明在某些實施例中實現(xiàn)了 "步進傳遞函數(shù)V'二BV,其中V是 當前狀態(tài),而V'是下一狀態(tài),如下所示。首先通過將V,設(shè)為^/7個輸入位,將 V,設(shè)為存儲的狀態(tài),以及將V。設(shè)為w個任意位來組合V。接著,從此V計算出 V',注意V。不影響V',且V'i全零,無論V如何皆如此(因此V。和V',無需 在物理上存在)。最后,將V'分割成數(shù)個部分。忽略V'i, V's是存儲狀態(tài)的下 一值,而V'。是,個輸出位。因此,可使LFSR仿真器在單個時鐘內(nèi)進行/7步, 包括處理輸入位和生成與這些步相關(guān)聯(lián)的輸出位,而無需任何附加存儲元件, 但是反饋邏輯更復雜。
如先前提及的,有時期望支持兩個或更多不同的步進大小(例如,當總位 數(shù)不是"倍數(shù)時進行CRC的最后幾位的處理;這也可通過向數(shù)據(jù)預附加零來處 理,但是并非總是實用的)。這可通過將一個或多個附加傳遞矩陣與B——每一個是將A升至適當?shù)膬?模2)——復用來進行的。對于OY (模2)的情 形中,K/7,僅V,的最后pA個位是相關(guān)的,且僅V'o的前^位是有效的。根據(jù) 傳遞矩陣C,這將是顯而易見的Vi的不相關(guān)位將不影響V's或V'。,并且V'。
的無效位將依賴于v。。
在某些情形中,期望重新定義輸出以最大化V。和Vs的重疊。例如,在LFSR 為具有作為狀態(tài)位的組合的移位輸入和作為第一狀態(tài)元素的輸出(即,移位輸 入被延遲一個時鐘)的純移位寄存器的擾碼發(fā)生器中,最大狀態(tài)和輸出共享僅 在輸出被重新定義成與狀態(tài)移位輸入相同的情況下才是可能的。為了使其產(chǎn)生 與原始相同的擾碼,初始LFSR狀態(tài)必須被改變成使得第二狀態(tài)等于所定義的 初始狀態(tài)。這種經(jīng)修改的初始值通常易于確定。
對于較大的仏直接計算B^A"(模2)是昂貴的。這不是個難題,因為B可 被預先計算。此外,計算可被更有效率地進行,例如,通過將A"表達為兩個升 至不同冪的A的乘積,或者通過將A"遞歸地定義為AA^'——對于奇數(shù)/7, (A"'2)2一對于偶數(shù)仏對化2直接計算A"。
以下是圖14中展示的單步進傳遞矩陣12的九個部分的每一個的內(nèi)容的簡
述。這些將提供足以使得矩陣能夠以與本發(fā)明相一致的形式來創(chuàng)建的信息。
部分F描述Vi對V,'的影響,或即速記符號Vi — V',:偏移單位矩陣,
用于實現(xiàn)純移位(即,第一行和最后一列為0,以及剩余為單位矩陣),
針對與Vi位的p個集合之一以及相同的V',位的集合相對應(yīng)的每個子部
分,其余為零。
部分G描述Vs對V,'的影響,或即速記符號Vs— V'i:全零。
部分H描述V。對K.'的影響,或即速記符號V。 — V'i:全零。
部分I描述V,對V:的影響,或即速記符號V, — V's:除與最后p個Vi
位的集合相對應(yīng)的元素之外為零,這指示輸入如何影響狀態(tài)。
部分J描述Vs對V、'的影響,或即速記符號Vs — V'
何影響下一狀態(tài)的值。
部分K描述V。對K'的影響,或即速記符號V,、 — V 部分L描述Vi對K'的影響,或即速記符號V, — V'
Vi位的集合以及前<7個V'。位的集合相對應(yīng)的元素之外其余為零,這指示
"指示當前狀態(tài)如
'"全零。 。除與最后的p個
8輸入如何影響輸出。
部分M描述Vs對K'的影響,或即速記符號Vs ~> V'。除與前/7個V'。
位的集合相對應(yīng)的元素之外為零,這指示狀態(tài)如何影響輸出。
部分N描述V。對V。的影響,或即速記符號V。 — V'。偏移單位矩陣,
用于實現(xiàn)純移位,針對與V。位的(7個集合之一以及相同的V'。位的集合 相對應(yīng)的每個子部分,其余為零。 盡管在本申請中主要在方法和裝置方面描述本發(fā)明,但是應(yīng)當理解,本發(fā)
明可容易地實現(xiàn)為用于通過諸如DSP的合適數(shù)據(jù)處理資源執(zhí)行的程序代碼。此 程序代碼可被存儲在諸如ROM等任何適當?shù)妮d體中。
僅作為示例,現(xiàn)在參照附圖描述本發(fā)明的某些實施例,在附圖中
圖1示出了布置成CRC校驗器的LFSR; 圖2示出了用于圖1的CRC校驗器的單步進傳遞矩陣; 圖3示出了用于圖1的CRC校驗器的32步進傳遞矩陣; 圖4示出了用于仿真其中提供LFSR的32周期步進的CRC校驗器的裝置; 圖5示出了用于仿真布置成CRC校驗器的LFSR的裝置,其中可選擇對LFSR 的單周期或32周期移位。
圖6示出了布置成擾碼發(fā)生器的LFSR;
圖7示出了布置成產(chǎn)生與圖6中所示的發(fā)生器相同的擾碼的擾碼發(fā)生器的 另一 LFSR;
圖8示出了用于圖7的擾碼發(fā)生器的單周期傳遞矩陣; 圖9示出了用于圖7的擾碼發(fā)生器的32周期傳遞矩陣; 圖10示出了用于仿真圖7的擾碼發(fā)生器的裝置,其中提供了至LFSR狀態(tài) 的32周期步進。
圖11示意性示出了現(xiàn)有技術(shù)LFSR;
圖12示出了根據(jù)本發(fā)明的一般n步進LFSR;
圖13示出了根據(jù)本發(fā)明的實施例的具有共享輸出和LFSR內(nèi)容狀態(tài)向量部 分的一般n步進LFSR;以及
圖14示出了在LFSR仿真中應(yīng)用于的狀態(tài)向量的時移矩陣的一般形式。本發(fā)明的一個實施例是如圖1中所示的每次可處理32個數(shù)據(jù)位的CRC發(fā)
生器和校驗器。
圖1是用于發(fā)生器多項式024+023+06+05+0+1的CRC校驗器和發(fā)生器硬件的 傳統(tǒng)基于LFSR的實現(xiàn)。(這是用于3GPP的24位CRC。)方框標記的'D'是觸 發(fā)器,而圓圈標記的'+,是模2加法器(即,異或門)。
圖1是CRC發(fā)生器和校驗器的傳統(tǒng)實現(xiàn)。其初始狀態(tài)為全零。每次一個位 地呈現(xiàn)數(shù)據(jù),作為Din (D駄)。在已呈現(xiàn)了所有數(shù)據(jù)之后,狀態(tài)包含CRC。如 果校正CRC位在數(shù)據(jù)之后呈現(xiàn),則最終狀態(tài)將為全零。
根據(jù)此實現(xiàn),圖2的傳遞矩陣A^可如先前黑點列表中描述地來生成。圖 2是圖1的CRC發(fā)生器多項式的傳遞矩陣且具有56行和56列以使得其可 被用于創(chuàng)建一次處理32個輸入位的傳遞矩陣。此示例的子向量維數(shù)為 / 77=1.32=32——對于Vi, /zf24——對于Vs,以及^ =0-32=0——對于V',。 A庶的
四個部分的每一個都是根據(jù)與之有關(guān)的當前和下一狀態(tài)的子向量來標示的。沒 有關(guān)于V, — V'。、 Vs —V'。、 V。 —V',、 V。 —V's或V。 —V'。的部分,因為CRC 發(fā)生器沒有輸出位??衫缬煤唵蔚腗atlab腳本從CRC發(fā)生器多項式自動生 成A區(qū)。
為了制作可一次處理/7二32個輸入位的CRC發(fā)生器,A^必須升至冪/7=32, 從而產(chǎn)生圖3的矩陣B,。其四個部分也被標示為相關(guān)子向量。兩個部分(3-1) 和(3-2)為全零,這意味著V',總是全零,因此不需要存儲元件或計算。部分(3-3) 和(3-4)示出了 /7=32個輸入位(Vi)和//f24個LFSR狀態(tài)位(Vs)如何影響/zf24 個下一 LFSR狀態(tài)位(V' s) 。 V,需要//f24個存儲元件——傳統(tǒng)實現(xiàn)使用相同的數(shù) 目。
圖4示出了使用B^來一次處理32個輸入位的CRC電路。輸入數(shù)據(jù)被并 行地呈現(xiàn),并且在每個時鐘出現(xiàn)32個新位。
圖5示出了選擇性地使用UB B^以一次處理或者1個或者32個輸入 位的CRC電路。輸入數(shù)據(jù)仍被并行地呈現(xiàn),但是在l位模式中,僅第一位影響 LFSR狀態(tài)(與A凱的子矩陣(2-3)的非零列相對應(yīng)的輸入位——參看圖2)。(對 于典型實現(xiàn),在1位模式中,外部移位寄存器將在恰當位置呈現(xiàn)當前位,并且 其余的32位輸入被忽略但是用將來的位填充,或者在沒有將來的位時為用任
10意值填充。)在32位模式中,在每個時鐘出現(xiàn)32個新位。在優(yōu)選實施例中,
將使用32位模式直至剩下少于32個輸入位。1位模式隨后將被使用0次至31 次之間(包括0和31)的次數(shù)以完成CRC計算。在此過程之后,LFSR狀態(tài)將 包含計算出的CRC。
圖4和圖5中的矩陣乘法可用VHDL或Verilog來容易且簡明地實現(xiàn)。在 所有情形中忽略V'i這個事實允許省略關(guān)于乘法中該部分的邏輯。
本發(fā)明的另一實施例是一次產(chǎn)生32個碼位的擾碼發(fā)生器。
在圖6中示出了特定擾碼發(fā)生器的傳統(tǒng)的基于LFSR的實現(xiàn)。在如圖所述 地初始化存儲元件的情況下,從最左側(cè)的存儲元件中的初始'l'開始在Dout (D 輸出)上產(chǎn)生指定擾碼。(這產(chǎn)生用于3GPP HSDPA的位擾碼)。
當LFSR存儲元件也是輸出值的移位寄存器時,更有效地實現(xiàn)本發(fā)明是可 能的。圖7己被修改成如此實現(xiàn),同時產(chǎn)生與圖6相同的擾碼輸出。通過觀察, 可容易地看到,對于給定起始狀態(tài),圖6和圖7產(chǎn)生相同的狀態(tài)序列,但是圖 6的輸出相對于圖7的示出延遲一個時鐘。由于對于擾碼發(fā)生器,僅輸出(并 非狀態(tài))是重要的,因此圖7中的初始值己被改變以使得其狀態(tài)序列領(lǐng)先圖6 的狀態(tài)序列一個周期,由此使得兩種實現(xiàn)產(chǎn)生相同的輸出序列。(在原始版本 中,僅最后的15個輸出可從存儲元件中得到。)注意由圖6和圖7的碼發(fā) 生器產(chǎn)生的狀態(tài)序列將彼此偏離一個時鐘。這并非重要的偏差,因為將僅使用 輸出序列,并且它們是同樣的。
圖8的傳遞矩陣A^是根據(jù)先前給出的黑點列表從圖7的電路導出的。此 示例的子向量維數(shù)為p/^0.32二0——對應(yīng)于Vi, / =16——對應(yīng)于Vs,以及 ,=1.32=32~^對應(yīng)于V。。由于LFSR狀態(tài)也為最后的16個輸出位,因此V。的 前半部(V。(u))與Vs相等,并且由此僅V。的后半部(V。(,7^)被明確地包括在矩陣 中。As』勺四個部分的每一個是根據(jù)與之有關(guān)的當前和下一狀態(tài)的子向量來標示 的。沒有部分關(guān)于Vi—V'" Vi —V's、 V' —V'。、 Vs —V',或V。 —V',,因為擾 碼發(fā)生器沒有輸入位。
為了制作一次可產(chǎn)生/7二32個輸出位的擾碼發(fā)生器,A鄉(xiāng)必須被升至冪 /7=32,從而產(chǎn)生圖9的矩陣BSCR。其四個部分也用相關(guān)子向量來標記。兩個部 分(9-2)和(9-4)為全零,這意味著V。不對V',或V'。起影響,因此不需要存儲元件或計算。部分(9-1)和(9-3)示出了 /zf16個LFSR狀態(tài)位(Vs)如何影響/zf16 個接下來的LFSR狀態(tài)位(V'J以及/7=32個接下來的輸出位(V'。(u^V's和 V'。07::,a) 。 Vs要求/zf16個存儲元件——傳統(tǒng)實現(xiàn)使用相同的數(shù)目。
圖10示出了使用B^來一次產(chǎn)生32個碼位的擾碼發(fā)生器電路。在一個時 鐘上,在輸出處出現(xiàn)32個新擾碼位。如果所需的擾碼位的總數(shù)不是32的倍數(shù), 則優(yōu)選實施例僅忽略最后的幾個擾碼位。這比在兩個或更多發(fā)生器矩陣之間進 行選擇以確切產(chǎn)生所需的位數(shù)更有效率。
圖10中的矩陣乘法可用VHDL或Verilog來容易且簡明地實現(xiàn)。將V。0w2) 與O相乘并由此在所有情形中被忽略的這個事實意味著對于乘法的該部分不需
要邏輯,并且可省去V。0W2)。
在圖11中示出了具有歷個狀態(tài)位、p個輸入位、以及^個輸出位的更一 般的傳統(tǒng)LFSR。在圖12中示出了相對應(yīng)的多步進實現(xiàn)的電路。傳遞矩陣B通 過將A升至第/7次冪(模2)來生成,其中A是根據(jù)先前給出的黑點列表從原 始LFSR導出的。在B的9個部分中,與V。、V' i或者兩者相關(guān)聯(lián)的5個(Vi — V',、 VK —V'i、 V。 —V'i、 V。 —V's和V。 — V'。)為全零,這允許矩陣乘法的輸入V。 和輸出V'i被省略。
圖12不是完全概況的,因為其不顯示共享LFSR狀態(tài)位和輸出數(shù)據(jù)移位寄 存器位的特定情形。這種情形在以上描述并在圖13中示出。
1權(quán)利要求
1.一種用于仿真具有一個或多個輸入以及一個或多個輸出的至少之一的LFSR的操作的裝置,其中所述LFSR的狀態(tài)可由具有描述所述LFSR的一個輸入或多個輸入——如果有的話、所述LFSR的內(nèi)容、所述LFSR的一個輸出或多個輸出——如果有的話——的部分的狀態(tài)向量來描述,其中可將所述狀態(tài)向量乘以時移矩陣以對由所述向量指定的狀態(tài)進行時移,并且其中所述裝置包括用于將所述狀態(tài)向量的第一實例與所述矩陣相乘以產(chǎn)生相對于所述第一實例時移的所述狀態(tài)的第二實例的裝置,以及其中所述狀態(tài)向量的所述輸入和輸出部分中的一者或兩者被調(diào)節(jié)維數(shù)以分別容納在由所述矩陣指定的所述時移期間在不同時間到達的輸入和在所述時移期間在不同時間產(chǎn)生的輸出。
2. —種用于仿真具有一個或多個輸入以及一個或多個輸出的至少之一的 LFSR的操作的裝置,其中所述LFSR的狀態(tài)可由具有描述所述LFSR的所述一個 輸入或多個輸入——如果有的話、所述LFSR的內(nèi)容、所述LFSR的所述一個輸 出或多個輸出——如果有的話——的部分的狀態(tài)向量來描述,其中可將所述狀 態(tài)向量乘以時移矩陣以對由所述向量指定的狀態(tài)進行時移,并且其中所述裝置 包括用于將所述狀態(tài)向量的第一實例與所述矩陣相乘以產(chǎn)生相對于所述第一 實例時移的所述狀態(tài)向量的第二實例的裝置,其中所述乘法僅擴展到所述矩陣 中描述所述狀態(tài)向量的第一實例的所述LFSR內(nèi)容和輸入部分對第二實例的所 述LFSR內(nèi)容和輸出部分的影響的那些部分。
3. 如權(quán)利要求1或2所述的裝置,其特征在于,所述由矩陣指定的時移擴 展到所仿真的LFSR的多個周期。
4. 如權(quán)利要求l、 2或3所述的裝置,其特征在于,所仿真的LFSR是CRC 發(fā)生器或校驗器或者擾碼發(fā)生器。
5. 如權(quán)利要求1到4的任一項所述的裝置,其特征在于,在所述狀態(tài)向量 的所述LFSR內(nèi)容與輸出部分之間有重疊,并且所述狀態(tài)向量被縮短以去除重 復的重疊。
6. —種用于仿真具有一個或多個輸入以及一個或多個輸出的至少之一的 LFSR的操作的方法,其中所述LFSR的狀態(tài)可由具有描述所述LFSR的所述一個輸入或多個輸入——如果有的話、所述LFSR的內(nèi)容、所述LFSR的所述一個輸 出或多個輸出——如果有的話一一的部分的狀態(tài)向量來描述,其中可將所述狀 態(tài)向量乘以時移矩陣以對由所述向量指定的狀態(tài)進行時移,并且其中所述方法包括將所述狀態(tài)向量的第一實例與所述矩陣相乘以產(chǎn)生相對于所述第一實例時移的所述狀態(tài)向量的第二實例,且其中所述狀態(tài)向量的所述輸入和輸出部分 中的一者或兩者被調(diào)節(jié)維數(shù)以分別容納在由所述矩陣指定的時移期間在不同 時間到達的輸入和在所述時移期間在不同時間產(chǎn)生的輸出。
7. —種用于仿真具有一個或多個輸入以及一個或多個輸出的至少之一的 LFSR的操作的方法,其中所述LFSR的狀態(tài)可由具有描述所述LFSR的所述一個 輸入或多個輸入一一如果有的話、所述LFSR的內(nèi)容、所述LFSR的所述一個輸 出或多個輸出——如果有的話——的部分的狀態(tài)向量來描述,其中可將所述狀 態(tài)向量乘以時移矩陣以對由所述向量指定的狀態(tài)進行時移,并且其中所述方法 包括通過將所述狀態(tài)向量的第一實例與所述矩陣相乘對所述狀態(tài)向量的所述 第--實例進行時移以產(chǎn)生所述狀態(tài)向量的第二實例,所述乘法僅擴展到矩陣中 描述所述狀態(tài)向量的所述第一實例的LFSR內(nèi)容和輸入部分對所述第二實例的 所述LSFR內(nèi)容和輸出部分的影響的那些部分。
8. 如權(quán)利要求6或7所述的方法,其特征在于,所述由矩陣指定的時移擴 展到所仿真的LFSR的多個周期。
9. 如權(quán)利要求6、 7或8所述的方法,其特征在于,所仿真的LFSR是CRC發(fā)生器或校驗器或者擾碼發(fā)生器。
10. 如權(quán)利要求6、 7、 8或9所述的方法,其特征在于,在所述狀態(tài)向量 的所述LFSR內(nèi)容與輸出部分之間有重疊,并且所述狀態(tài)向量被縮短以去除重 復的重疊。
全文摘要
一種用于仿真具有一個或多個輸入以及一個或多個輸出的至少之一的LFSR的操作的裝置,其中LFSR的狀態(tài)可由具有描述LFSR的一個輸入或多個輸入——如果有的話、LFSR的內(nèi)容、LFSR的一個輸出或多個輸出——如果有的話——的部分的狀態(tài)向量來描述,其中可將該狀態(tài)向量乘以時移矩陣以對由向量指定的狀態(tài)進行時移,并且其中該裝置包括將狀態(tài)向量的第一實例與矩陣相乘以產(chǎn)生相對于第一實例時移的狀態(tài)向量的第二實例,且其中狀態(tài)向量的輸入和輸出部分中的一者或兩者可被調(diào)節(jié)維數(shù)以分別容納在由矩陣指定的時移期間在不同時間到達的輸入和在時移期間在不同時間產(chǎn)生的輸出。
文檔編號H03M13/09GK101496291SQ200780027084
公開日2009年7月29日 申請日期2007年7月16日 優(yōu)先權(quán)日2006年7月17日
發(fā)明者D·E·阿爾特 申請人:開曼晨星半導體公司;晨星法國有限公司;晨星軟件研發(fā)(深圳)有限公司;晨星半導體股份有限公司