• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的LFSR結(jié)構(gòu)偽隨機(jī)數(shù)發(fā)生器的實(shí)現(xiàn)*

      2018-06-14 05:47:02彭雅嵐肖順文
      關(guān)鍵詞:級數(shù)寄存器移位

      彭雅嵐 肖順文

      (西華師范大學(xué) 電子信息工程學(xué)院,四川南充 637009)

      在計(jì)算機(jī)、通信系統(tǒng)中采用的隨機(jī)數(shù)均為偽隨機(jī)數(shù)[1],由線性反饋移位寄存器[2]所構(gòu)成的偽隨機(jī)數(shù)發(fā)生器是擴(kuò)頻通信系統(tǒng)中的核心。線性反饋移位寄存器是一種十分有用的時(shí)序邏輯結(jié)構(gòu),其結(jié)構(gòu)簡單、速度快,它被廣泛應(yīng)用于可編程分頻器、信道編碼、CRC(Cyclic Redundancy Check)校驗(yàn)碼生成、密碼算法實(shí)現(xiàn)等多個(gè)方面[3-4]。本文基于FPGA(Field Programmable Gate Array)實(shí)現(xiàn)用N級線性反饋移位寄存器(Linear Feedback Shift Register, LFSR)產(chǎn)生偽隨機(jī)數(shù)組。

      圖1 N級線性反饋移位寄存器結(jié)構(gòu)圖

      圖2 n=8,G=18DH,SEED=FFH時(shí)的仿真圖

      圖3 n=8,G=18DH,SEED=EAH時(shí)的仿真圖

      1 設(shè)計(jì)原理

      線性反饋移位寄存器是給定前一狀態(tài)的輸出,將該輸出的線性函數(shù)再用作輸入的移位寄存器。異或運(yùn)算是最常見的單比特線性函數(shù):對寄存器的某些位進(jìn)行異或操作后作為輸入,再對寄存器中的各比特進(jìn)行整體移位。圖1是由n個(gè)D觸發(fā)器和若干個(gè)異或門組成的線性反饋移位寄存器結(jié)構(gòu)圖,其特性由移位寄存器級數(shù)(周期長度)、初始狀態(tài)(各寄存器的初始值)、反饋邏輯(異或邏輯)和時(shí)鐘周期共同決定[5]。

      圖1中,Qi+1表示各級寄存器Di的輸出,gi為反饋系數(shù),gi的取值決定了Qi是否參與反饋。gi只能取0或1,當(dāng)gi=0時(shí),表示Qi被斷開不參與反饋;當(dāng)gi=1時(shí),表示Qi將參與反饋。由于反饋的需要,其中g(shù)n與g0必須取1,使線性反饋移位寄存器的輸出端Qn參與反饋。移位寄存器的初始狀態(tài)由使用者設(shè)定,初值裝載完成后,每當(dāng)時(shí)鐘周期CLK到來,移位寄存器移位一次,即若gi+1=1,則寄存器Di將其輸出值Qi+1(0或1)與Qn進(jìn)行反饋邏輯(異或)運(yùn)算后,傳遞給下一級寄存器Di+1;若gi+1=0,則寄存器Di直接將其內(nèi)容傳遞給下一級寄存器Di+1。

      2 設(shè)計(jì)方案

      本文基于VHDL硬件描述語言設(shè)計(jì)了一個(gè)級數(shù)與反饋系數(shù)均可控的,由線性反饋移位寄存器所構(gòu)成的偽隨機(jī)數(shù)發(fā)生器。參考文獻(xiàn)[6]介紹了多種VHDL的語法,這里采用了GENERIC參數(shù)定義語句,對級數(shù)N進(jìn)行有效設(shè)定,并利用FOR_LOOP循環(huán)語句對反饋系數(shù)的值進(jìn)行判斷后,再帶入反饋邏輯運(yùn)算得到下一級寄存器的值。最后由用戶設(shè)定隨機(jī)種子的值,從而得到一系列偽隨機(jī)數(shù)。

      部分VHDL源程序如下:

      IF CLK'EVENT AND CLK = '1' THEN

      IF LOAD = '1' THEN REGN <= SEED;ELSE

      REGN(0) <= REGN(n-1);

      FOR i IN n-2 DOWNTO 0 LOOP

      IF G(i+1)='1' then

      REGN(i+1) <=REGN(i) XOR REGN(n-1);ELSE

      REGN(i+1) <=REGN(i);

      END IF;END LOOP;END IF;END IF;

      3 仿真與驗(yàn)證

      使用ALTERA公司的QUARTUS II 9.0軟件對所設(shè)計(jì)的線性反饋移位寄存器進(jìn)行編譯和仿真。CLK為仿真時(shí)鐘信號,時(shí)鐘周期為5ns;LOAD是裝載數(shù)據(jù)的控制端,高電平有效;SEED為用戶選定的隨機(jī)種子;G為反饋系數(shù)的取值。

      圖2為級數(shù)取8,隨機(jī)種子取11111111,反饋系數(shù)取110001101時(shí)產(chǎn)生的偽隨機(jī)數(shù)。

      圖3為級數(shù)取8,隨機(jī)種子取11101010,反饋系數(shù)取110001101時(shí)產(chǎn)生的偽隨機(jī)數(shù)。

      圖4為級數(shù)取8,隨機(jī)種子取11101010,反饋系數(shù)取111000001時(shí)產(chǎn)生的偽隨機(jī)數(shù)。

      圖5為級數(shù)取16,隨機(jī)種子取FFFFH,反饋系數(shù)取18003H時(shí)產(chǎn)生的偽隨機(jī)數(shù)。

      運(yùn)用控制變量法,從上述四種不同條件下的仿真圖中可以看出,當(dāng)將線性反饋移位寄存器的級數(shù)、反饋系數(shù)和隨機(jī)種子中任一項(xiàng)取不同值的時(shí)候均可以得到不同的偽隨機(jī)數(shù)組。

      圖4 n=8,G=1C1H,SEED=EAH時(shí)的仿真圖

      圖5 n=16,G=18003H,SEED=FFFFH時(shí)的仿真圖

      4 結(jié)語

      本文用VHDL語言設(shè)計(jì)了一種能有效產(chǎn)生偽隨機(jī)數(shù)的N級線性反饋移位寄存器,通過改變級數(shù)N、反饋系數(shù)G和隨機(jī)種子SEED的值可以得到多種多樣的偽隨機(jī)數(shù)。較其他線性反饋移位寄存器的設(shè)計(jì)來說,本設(shè)計(jì)的級數(shù)和反饋系數(shù)均可調(diào),且設(shè)計(jì)過程簡單易懂,具有靈活性好,使用便捷的優(yōu)點(diǎn)。

      [1]劉沛華,魯華祥,龔國良,劉文鵬,陳天翔.基于FPGA的高速任意分布偽隨機(jī)數(shù)發(fā)生器[J].應(yīng)用科學(xué)學(xué)報(bào),2012,30(03):306-310.

      [2]崔嵬,李承恕.線性反饋移位寄存器的改進(jìn)算法及其電路實(shí)現(xiàn)[J].北方交通大學(xué)學(xué)報(bào),2004(05):69-72.

      [3]管超,周潤德,葛元慶.高速線性反饋移位寄存器的實(shí)現(xiàn)[J].微電子學(xué),2000(04):241-243.

      [4]鄭誠瑋,戴紫彬,李偉.面向可重構(gòu)并行化處理的線性反饋移位寄存器統(tǒng)一架構(gòu)研究[J].微電子學(xué)與計(jì)算機(jī),2015,32(11):111-115.

      [5]陳澄,張茂青,崔秀美.基于FPGA的可編程M序列發(fā)生器的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2013,26(06):15-16.

      [6]潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程[M].科學(xué)出版社.2013.

      猜你喜歡
      級數(shù)寄存器移位
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      再生核移位勒讓德基函數(shù)法求解分?jǐn)?shù)階微分方程
      大型總段船塢建造、移位、定位工藝技術(shù)
      Dirichlet級數(shù)及其Dirichlet-Hadamard乘積的增長性
      Σ(X)上權(quán)移位算子的不變分布混沌性
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      幾個(gè)常數(shù)項(xiàng)級數(shù)的和
      p級數(shù)求和的兩種方法
      多指離斷手指移位再植拇指25例
      Dirichlet級數(shù)的Dirichlet-Hadamard乘積
      蛟河市| 商洛市| 宁晋县| 大厂| 伊吾县| 嵊州市| 通榆县| 高州市| 阜宁县| 双桥区| 饶河县| 红桥区| 黑龙江省| 新建县| 大名县| 盖州市| 南召县| 德阳市| 陇川县| 岢岚县| 北宁市| 周宁县| 贡山| 廊坊市| 宝丰县| 扶沟县| 鹿邑县| 宜章县| 安西县| 咸宁市| 黔西| 电白县| 临沧市| 红原县| 厦门市| 玛曲县| 安宁市| 鄂托克旗| 同心县| 东丰县| 新巴尔虎右旗|