FCSR原理及其VHDL語(yǔ)言的實(shí)現

發(fā)布時(shí)間:2010-8-2 16:37    發(fā)布者:lavida
關(guān)鍵詞: FCSR , VHDL
偽隨機信號在雷達、遙控、遙測、通信加密和無(wú)線(xiàn)電測量系統領(lǐng)域有著(zhù)廣泛的應用,其產(chǎn)生方法有多種途徑。進(jìn)位反饋移位寄存器(feedbackwithcarryshiftregiste,FCSR)由Klapper和Goresky于1993年提出,是一類(lèi)較新穎的方法,其理論實(shí)質(zhì)類(lèi)似于數學(xué)上產(chǎn)生隨機數的模2同余法。經(jīng)過(guò)一系列理論分析后普遍認為在序列密碼的分析和設計中具有一定價(jià)值。

本文簡(jiǎn)要介紹了FCSR的基本原理和特性,重點(diǎn)討論基于硬件描述語(yǔ)言VHDL的可變長(cháng)FCSR的設計。VHDL可編程邏輯器件CPLD/FPGA結合使用,可以方便、靈活地實(shí)現此類(lèi)偽隨機序列發(fā)生器。   

1 FCSR產(chǎn)生原理和序列特性

某時(shí)刻一個(gè)r級(非退化)FCSR如圖1所示。其中ai∈GF(2), (i=n-1,n-2,…,n -r),mn-1∈Z,qi∈GF(2),(i=1,2,…,r-1),qr=1,∑為一般的整數加法。工作過(guò)程如下:

(1)計算整數和:


(2)移位寄存器右移一位,輸出an-r。
(3) an=σn(mod 2)反饋入移位寄存器。
(4) mn=[σn/2]反饋入進(jìn)位寄存器。
記q0= -1,FCSR的一個(gè)狀態(tài)為(mn-1;an-1,…,



為FCSR的連接數。

FCSR能返回到自身的狀態(tài)稱(chēng)為周期狀態(tài)。以q為連接數的FCSR的周期狀態(tài)個(gè)數為q+1,其中平凡的周期狀態(tài)(0;0,…,0)和(w-1;1,…,1)在狀態(tài)圖中形成2個(gè)長(cháng)為1的圈,非平凡周期狀態(tài)的個(gè)數為q-1,其余狀態(tài)都是非周期的。其中w=wt(q+1)為q+1的漢明重量,指qi(i=0,1,…,r)中qi≠0的個(gè)數。   


  
以q為連接數的FCSR相應的有理數為p/q。其中,

且q為奇數。如果p和q互素,那么a有周期T=ordq(2)。特殊的,如果T=Φ(q)(φ為歐拉函數),即2為模q的本原根,那么該序列達到他的最大周期。由歐拉函數的性質(zhì)可知,此時(shí)Φ(q)=q-1。稱(chēng)其為連接數為q的最大周期FCSR序列,或l序列。

由于在FCSR中,初始狀態(tài)、移位寄存器級數、抽頭數目、抽頭位置的變化都會(huì )產(chǎn)生不同的序列,因此可以通過(guò)設計參數可變的FCSR發(fā)生器來(lái)生成周期更長(cháng)的偽隨機序列。   

2 FCSR序列發(fā)生器的VHDL實(shí)現

以n=10為例來(lái)設計參數可變的FCSR序列發(fā)生器。

2.1 功能描述及外部引腳

由圖1可知,進(jìn)位反饋移位寄存器由加法器、進(jìn)位寄存器和一組(n級)D觸發(fā)器組成。加法器實(shí)現FCSR的反饋運算;進(jìn)位寄存器保存前一時(shí)刻運算結果除2后的狀態(tài)mn-1,并為下一運算提供輸入;n級D觸發(fā)器構成移位寄存器,在時(shí)鐘控制下實(shí)現右移,依次輸出其內部狀態(tài)。同時(shí)某些觸發(fā)器的輸出反饋回來(lái),與進(jìn)位寄存器的輸出進(jìn)行運算,和模2反饋至寄存器輸入端,和除2反饋至進(jìn)位寄存器。

式(1)中qi∈GF(2) ,(i=1,2,…,r-1)在實(shí)際電路中為抽頭的連接狀態(tài),決定哪一級輸出反饋至加法器,qi=0表示斷開(kāi),qi=1表示連接。

FCSR序列發(fā)生器的外部引腳定義如圖2所示。  


  
其中,CLK為時(shí)鐘信號;RESET為置數信號;PRN為初態(tài)置數端;SEL為抽頭置數端;Q為輸出端。該FCSR序列發(fā)生器的特點(diǎn)在于可以通過(guò)設定SEL[9…0]的值來(lái)改變抽頭數、抽頭位置和發(fā)生器的有效級數n(1"10級);當RESET為低電平時(shí),通過(guò)設定PR N[9…0]的值改變FCSR的初態(tài),從而可以改變輸出序列周期,分析各種狀態(tài)下輸出 序列的變化。

2.2 可變參數部分的設計

本設計通過(guò)手動(dòng)或軟件自動(dòng)設定SEL[9…0]的值來(lái)改變抽頭數、抽頭位置和發(fā)生器的有效級數3個(gè)參數,其中改變最高抽頭位置可使有效長(cháng)度可變。具體電路中,由SEL[9…0]設定值作為加法器的輸入,輸出結果進(jìn)行下一步運算,因此需要設計輸入變量較多、延遲時(shí)間較短的加法器電路。

這里的求和運算可以等效為計算輸入變量中“1”的個(gè)數。對此有多種實(shí)現方案,如計數法、邏輯函數法、查表法、求和網(wǎng)絡(luò )法等。單純使用一種方法,在輸入變量較多的情況下會(huì )有占用資源太多、延遲時(shí)間太大或表達式太繁瑣等問(wèn)題,因此需要綜合使用這些方法。該加法器綜合使用邏輯函數-求和網(wǎng)絡(luò )法,由1位累加器和3位串行加法器實(shí)現。

由于n=10,則抽頭數至多為10,可以分2組進(jìn)行求和。因此首先設計5輸入、3位輸出的累加器。用卡諾圖簡(jiǎn)化后,寫(xiě)邏輯表達式如下:



3位串行加法器的設計比較簡(jiǎn)單,不再贅述,則10輸入變量、3位輸出的加法器電路原理圖如圖3所示。  


  
這里求和網(wǎng)絡(luò )只有1級,不難由此擴充成多級。該電路延遲至多為8級邏輯門(mén)的延遲時(shí)間,占用資源也較少。

2.3 主程序

根據FCSR序列產(chǎn)生的原理,采用VHDL語(yǔ)言的混合描述方式對該邏輯進(jìn)行硬件描述。主程序l_seq如下:









其中元件例化語(yǔ)句中所引用的元件已經(jīng)作為組件在components.vhd用戶(hù)包進(jìn)行定義,在主程序中調用即可。   

3 時(shí)序仿真

該程序在Lattice公司的ispLEVER軟件環(huán)境下編譯、運行和仿真。該FCSR序列發(fā)生器可選級數為1"10級,周期范圍為1"2 029。經(jīng)分析知,當初態(tài)為平凡周期狀態(tài)(0;0,…,0)和(w -1;1,…,1)時(shí),輸出為全“0”或全“1”。當抽頭置數為“0100000110”,即q9=q3 =q2=1,實(shí)際上是一個(gè)n=9的l序列發(fā)生器;置FCSR初態(tài)為(0,0,0,0;0,0, 0,1,1,0,1,0,1,0)時(shí),波形如圖3所示,此時(shí)輸出序列的周期T=523。
  
4 需要注意的問(wèn)題

(1)通過(guò)調整SEL及PRN的值并分析輸出序列變化可知,不是任意整數作為連接數都能使F C SR達到最大周期。在工程應用當中,l-序列是最希望得到的。因此在使用FCSR時(shí),應該優(yōu)先選用那些可以產(chǎn)生l-序列的特殊的連接數,如文獻[1]中提供的一些連接數。

(2)當q為非最大周期連接數時(shí),某些初態(tài)會(huì )有周期更小的序列輸出。例如當q=17時(shí),ord17(2)=8,即他有最大周期T=8。而實(shí)際上除2個(gè)平凡狀態(tài)外,某些初態(tài)會(huì )導致輸出T=6的周期序列。在密碼設計中,由于FCSR的初態(tài)對應著(zhù)初始密鑰,這就意味著(zhù)基于FCSR發(fā)生器有弱密鑰。因此,在實(shí)際應用中要仔細選擇。

(3)本例中,由于抽頭數最大為9,所以4位進(jìn)位寄存器即可滿(mǎn)足要求。實(shí)際上,當t >2時(shí)(t為抽頭數),進(jìn)位寄存器最小應為log2t。

(4)當加法器采用組合電路實(shí)現時(shí),需注意邏輯門(mén)延遲影響。在抽頭數較大時(shí),應適當調整電路的時(shí)鐘頻率。  

  
5 結語(yǔ)

FCSR是一類(lèi)較新穎的思想,其數學(xué)特性目前還不太清晰。因此今后可以從理論和技術(shù)實(shí)踐兩方面來(lái)分析FCSR的隨機特性和應用特點(diǎn)。本軟件在通過(guò)時(shí)序仿真和適配后,配置La ttice公司的CPLD器件,輸出序列達到了設計目標。
本文地址:http://selenalain.com/thread-18637-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页