• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 消費電子 > 業界動態 > 基于Virtex-5平臺的真隨機數發生器的設計實現

    基于Virtex-5平臺的真隨機數發生器的設計實現

    作者: 時間:2015-02-06 來源:網絡 收藏

      真(TRNG)在統計學、信息安全等領域有著廣泛的應用。在這些領域中,不僅要求數據序列分布均勻、彼此獨立,而且要求其具有不可預測性,能夠抵御針對隨機性的攻擊。B.Sunar,W.J.Martin和D.R.Stinson提出,真的性能受3個因素的影響:熵源(Entropy Source),采集方式(Harvesting Mechanism)和后續處理(Post-Processing)。在電路系統中最常見的三種真隨機數產生方法為:1)直接放大法:放大電路中的電阻熱噪聲等物理噪聲,通過比較器進行比較后獲得隨機數序列;2)振蕩采樣法:用帶有抖動的慢振蕩器通過D觸發器采樣一個周期固定的快振蕩器,輸出隨機序列;3)離散時間混沌法:利用混沌電路不可預測以及對初始條件敏感的依賴性的特點產生隨機序列。基于模擬電路的結構,熵源的統計分布更加理想,且熵源噪聲不隨采樣周期的變化而改變;基于數字電路的結構,集成度高,便于在等通用可編程平臺上實現,但熵源的統計特性與模擬電路相比不夠理想。

    本文引用地址:http://www.czjhyjcfj.com/article/269579.htm

      本文嘗試了一種用純數字電路實現的TRNG結構,且不使用諸如PLL等特殊資源,便于設計由驗證移植到芯片設計。其核心思想是使用反相器和延時單元構成兩個相互獨立的振蕩器,由于內部噪聲的差異引起的相位偏移作為熵源,經過一段時間振蕩后,隨機的狀態由數字雙穩態電路鎖存。多組振蕩器的輸出,經過異或和同步處理后得到隨機序列。該TRNG在物理平臺上實現并進行了測試驗證。

      1 TRNG的設計

      1.1 相位漂移與抖動

      由于受到電路中噪聲的影響,數字電路中時鐘信號的周期在每個不同的周期上可能縮短或者加長,這就是時鐘抖動。抖動可以用許多方法來衡量和表征,它是一個均值為零的隨機變量。振蕩器起振時刻的差異和電路元件的工藝偏差,使得振蕩器間存在相位漂移。因此抖動信號和相位漂移適合在數字電路中作為TRNG的隨機源。

      1.2 亞穩態

      鎖存器是有邏輯‘1’和‘0’兩個穩定狀態的雙穩態器件,但是在特殊情況下其可能進入亞穩態,此時它的輸出是介于‘1’和‘0’之間的中間電平。如圖1所示鎖存器用兩個反相器和兩個開關表征。當鎖存器導通時,采樣開關閉合,保持開關打開(圖a);當鎖存器關閉時,采樣開關打開,保持開關閉合(圖b)。圖c展示了兩個反相器的直流傳輸特性。當鎖存器關閉時A=B,穩態是A=B=0和A=B=VDD,亞穩態為A=B= Vm,其中Vm不是一個合理的邏輯值。因為電平在該點是相互穩定的并且可以無限期停留,所以稱該點為亞穩態。但是,任何噪聲或者其他干擾都會使得A和B最終穩定在兩個穩態中的一個狀態。圖d非常形象地表征了亞穩態,它就好像處于山頂的小球任何干擾都會使小球滾落到山兩端的穩定狀態。

      

     

      1.3 振蕩器的設計

      如圖2所示,二選一復用器既作為延遲單元又作為選通單元使用。當選通信號為‘1’時,形成兩個相互獨立、自由振蕩的環形振蕩器。當選通信號為‘0’時,兩組反相器交叉相連形成雙穩態器件。自由振蕩時,兩個振蕩器之間存在著抖動和相位偏移。在振蕩的停止時刻,即振蕩環路斷開、兩組反相器交叉連接時,反相器的瞬時輸出電壓以及內部噪聲的絕對和相對值決定了電路最終穩定在哪個邏輯值上。有時即使反相器跨接在一起,電路也會振蕩很長一段時間才能穩定下來,形成亞穩態。綜上所述,隨機序列的來源用到了抖動和亞穩態兩種機制。

      波形如圖3所示,為了方便數據采集選通信號是由時鐘經過分頻得到的。在自由振蕩階段,輸出信號快速變化不屬于任何穩定狀態,在圖中用斜線表示。在解析階段,電路是雙穩態器件,此時應該保持解析時間足夠長,從而使輸出電平在大多數情況下穩定在邏輯‘1’或‘0’。

      

     

      1.4 隨機源模塊的電路設計

      各個振蕩器的輸出經過異或運算可以增加隨機性,而亞穩態的傳播會造成后續電路的錯誤動作,因此使用同步器將異或后的隨機序列與后續電路隔離開來,同時也方便采集穩定的輸出序列做性能分析。此處采用了三級寄存器的同步結構,由MTBF(Mean Time Between Failure)的定義可知,平均需要經過數百年時間才會發生一次亞穩態通過同步器向下傳播的事件,因此是滿足設計要求的。該模塊電路圖如圖4所示。

      

     

      1.5 后續處理模塊的設計

      理想情況下,D觸發器所采集的信號具有隨機的統計特性,可是FPGA內部電路不可避免地會受到溫度漂移、電壓抖動等不良因素影響,從而導致采樣得到的隨機信號中存在偏置,影響結果的統計特性。所以在采樣得到隨機序列后要對數據進行消偏處理,使0和1出現的概率相當。

      本設計采用16位最大長度二進制偽隨機序列(Pseudo Random Binary Sequence)的輸出與采樣得到的隨機序列進行異或運算作為后續處理,PRBS產生電路消耗資源少并且使用線性反饋移位寄存器實現,非常適合于在FPGA上實現。它的生成多項式是:

      

     

      多項式表示如圖5所示。

      

    負離子發生器相關文章:負離子發生器原理

    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 江永县| 江北区| 普格县| 鄂托克旗| 黔西县| 凤城市| 新昌县| 新宁县| 西峡县| 赣州市| 阿瓦提县| 大同县| 阿坝| 墨玉县| 雷山县| 洞头县| 靖远县| 砚山县| 汝州市| 德兴市| 梨树县| 政和县| 福建省| 阆中市| 宜川县| 商城县| 调兵山市| 汝城县| 聂荣县| 隆安县| 武山县| 沭阳县| 永泰县| 吉林市| 南开区| 庆安县| 横山县| 沂水县| 河曲县| 通道| 丹东市|