精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA產生基于LFSR的偽隨機數概念

電子工程師 ? 來源:博客園 ? 作者:super_star123 ? 2021-04-02 16:33 ? 次閱讀

大家好,又到了每日學習的時間了,上一篇《薦讀:基于FPGA 的CRC校驗碼生成器》文中,提到了“要實現這一過程,仍然需要LFSR電路,參看《FPGA產生基于LFSR的偽隨機數》中關于該電路特性的介紹”,在這補一篇《FPGA產生基于LFSR的偽隨機數》,歡迎大家交流學習。

1.概念

通過一定的算法對事先選定的隨機種子(seed)做一定的運算可以得到一組人工生成的周期序列,在這組序列中以相同的概率選取其中一個數字,該數字稱作偽隨機數,由于所選數字并不具有完全的隨機性,但是從實用的角度而言,其隨機程度已足夠了。這里的“偽”的含義是,由于該隨機數是按照一定算法模擬產生的,其結果是確定的,是可見的,因此并不是真正的隨機數。偽隨機數的選擇是從隨機種子開始的,所以為了保證每次得到的偽隨機數都足夠地“隨機”,隨機種子的選擇就顯得非常重要,如果隨機種子一樣,那么同一個隨機數發生器產生的隨機數也會一樣。

2.由LFSR引出的產生方法

產生偽隨機數的方法最常見的是利用一種線性反饋移位寄存器(LFSR),它是由n個D觸發器和若干個異或門組成的,如下圖:

853083a2-9385-11eb-8b86-12bb97331649.png

其中,gn為反饋系數,取值只能為0或1,取為0時表明不存在該反饋之路,取為1時表明存在該反饋之路;n個D觸發器最多可以提供2^n-1個狀態(不包括全0的狀態),為了保證這些狀態沒有重復,gn的選擇必須滿足一定的條件。下面以n=3,g0=1,g1=1,g2=0,g3=1為例,說明LFSR的特性,具有該參數的LFSR結構如下圖:

853d2120-9385-11eb-8b86-12bb97331649.png

假設在開始時,D2D1D0=111(seed),那么,當時鐘到來時,有:

D2=D1_OUT=1;

D1=D0_OUT^D2_OUT=0;

D0=D2_OUT=1;

即D2D1D0=101;同理,又一個時鐘到來時,可得D2D1D0=001. ………………

畫出狀態轉移圖如下:

85613786-9385-11eb-8b86-12bb97331649.png

從圖可以看出,正好有2^3-1=7個狀態,不包括全0;

如果你理解了上圖,至少可以得到三條結論:

1)初始狀態是由SEED提供的;

2)當反饋系數不同時,得到的狀態轉移圖也不同;必須保證gn===1,否則哪來的反饋?

3)D觸發器的個數越多,產生的狀態就越多,也就越“隨機”;

3.verilog實現

基于以上原理,下面用verilog產生一個n=8,反饋系數為g0g1g2g3g4g5g6g7g8=101110001的偽隨機數發生器,它共有2^8=255個狀態,該LFSR的結構如下:

85882148-9385-11eb-8b86-12bb97331649.png

verilog源代碼如下:

85b4d166-9385-11eb-8b86-12bb97331649.png

仿真波形:

85f23b00-9385-11eb-8b86-12bb97331649.png

以1111 1111為種子,load信號置位后,開始在255個狀態中循環,可將輸出值255、143、111……作為偽隨機數。

原文標題:薦讀: FPGA產生基于LFSR的偽隨機數

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21667

    瀏覽量

    601863
  • LFSR
    +關注

    關注

    0

    文章

    16

    瀏覽量

    12731

原文標題:薦讀: FPGA產生基于LFSR的偽隨機數

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA的計算方法

    我們在比較FPGA的芯片參數時經常說某一款FPGA是多少萬門的,也有的說其有多少個LE,那么二者之間有何關系呢? FPGA等效門的計算方法有兩種,一是把
    的頭像 發表于 11-11 09:45 ?144次閱讀
    <b class='flag-5'>FPGA</b>門<b class='flag-5'>數</b>的計算方法

    藍牙AES+RNG如何保障物聯網信息安全

    芯片,可以通過軟件實現AES加密。然而,這種方式可能會增加芯片的功耗和成本,并且加密性能可能不如硬件加密。除了AES外,一些藍牙模塊具有隨機數產生器(Random Number Generator)。該
    發表于 11-08 15:38

    雅特力AT32 MCU的隨機數生成

    概述產品和生態系統安全性的需求比以往任何時候都更加重要。真隨機數是所有安全系統的核心,其質量會影響設計的安全性。因此在沒有內置硬件TRNG的AT32的微控制器系列中,如何提高隨機數的有效,來符合
    的頭像 發表于 08-30 12:26 ?458次閱讀
    雅特力AT32 MCU的<b class='flag-5'>隨機數</b>生成

    如何在FPGA中實現隨機數發生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7中實現4位隨機數發生器(PRNGs)。
    的頭像 發表于 08-06 11:20 ?593次閱讀
    如何在<b class='flag-5'>FPGA</b>中實現<b class='flag-5'>隨機數</b>發生器

    labview公式節點中的rand函數使用

    labview公式節點中的rand函數怎么使用呀,我的目的是生成0-3區間內的4位小數的隨機數
    發表于 04-25 23:54

    全志R128 SDK HAL 模塊開發指南之 TRNG

    TRNG TRNG是真隨機數發生器,隨機源是8 路獨立的環形振蕩器,由模擬器件電源噪聲產生頻率抖動,用低頻始終重采樣,然后進行彈性抽取和熵提取處理,最終輸出128bit真隨機數。 模塊
    發表于 04-24 09:42

    如何使用Python生成四位隨機數

    為了實現這些目標,Python 為我們提供了random() 模塊。random() 是一個內置的 Python 模塊,用于生成隨機數
    的頭像 發表于 04-15 12:47 ?609次閱讀

    fpga與asic在概念上有什么區別

    FPGA(現場可編程門陣列)和ASIC(應用特定集成電路)在概念上存在明顯的區別。
    的頭像 發表于 03-27 14:12 ?847次閱讀

    合肥硅臻量子芯片通過商密檢測,助力量子芯片商用發展

     據了解,這一成果填補了我國量子隨機數發生器芯片在毫米級領域的空白,成為首個攻克量子隨機數發生器商用規模化制約因素的重要里程碑。
    的頭像 發表于 03-20 15:04 ?906次閱讀

    TC389芯片上HSM的TRNG真隨機數功能,如何判斷其隨機能力呢?

    想咨詢一下,TC389芯片上HSM的TRNG真隨機數功能,如何判斷其隨機能力呢?有什么資料或者測試內容嗎?
    發表于 03-05 07:20

    請問rt-thread studio如何使用硬件隨機數生成器?

    指導一下。 經過查詢得知可以使用rt_hw_random_get()函數來獲取硬件隨機數,請文需要做什么配置才能使用rt_hw_random_get()函數。
    發表于 02-23 08:03

    基于時分復用光學參量振蕩器的5比特全光量子隨機數發生器

    聯合研究團隊研制出一種基于時分復用簡并點飛秒光學參量振蕩器,具備高重復頻率飛秒光纖激光器泵浦,通過在諧振腔中接入多通單元,能高效拓展光路,實現5比特全光量子隨機數發生器,并能保持系統高度的緊湊性和穩定性。
    的頭像 發表于 01-09 11:13 ?493次閱讀
    基于時分復用光學參量振蕩器的5比特全光量子<b class='flag-5'>隨機數</b>發生器

    噪聲發生器電路原理圖

    噪聲發生器是一種設計用于產生構成隨機信號的電噪聲的電路。這些發生器可用于信號測試,以評估噪聲系數、頻率響應和各種參數。此外,噪聲發生器在生成隨機數方面發揮著作用,增加了其應用的多功能性。
    的頭像 發表于 12-21 17:35 ?1664次閱讀
    噪聲發生器電路原理圖

    基于FPGA的貪吃蛇游戲設計

    食物產生模塊完成的任務是:每次初始化就給定一個食物坐標比如(24,10),然后蛇運動的過程中用蛇頭坐標跟食物坐標對比是否重合來判斷是否吃掉了食物,如果相同食物就被吃掉,然后由隨機數產生新的食物坐標。
    的頭像 發表于 12-18 16:14 ?1150次閱讀
    基于<b class='flag-5'>FPGA</b>的貪吃蛇游戲設計

    LTC2156-14在A4寄存器的位數1位是隨機數據輸出功能,請問這個隨機數據輸出模式主要用意是什么呢?

    LTC2156-14有數據校驗功能。寄存器A4所羅列的四種測試模式,在實際運行中均能正常校驗通過。在A4寄存器的位數 1位是隨機數據輸出功能。請問這個隨機數據輸出模式主要用意是什么呢?能否用于校驗
    發表于 11-30 08:13