一種隨機數生成器及方法與流程
2023-05-18 08:31:17 2

本發明涉及電子技術領域,具體涉及一種隨機數生成器。
背景技術:
隨機數分為真隨機數和偽隨機數,生成隨機數的隨機數生成器也相應的稱之為真隨機數生成器和偽隨機數生成器,偽隨機數生成器大部分是利用計算機軟體由程序生成,使得其模擬的情景與真實情況處在差別,進而給計算結果帶來了誤差。真隨機數產生器一般通過硬體構建,現有的真隨機數產生器常常採用帶隙基準電路和運算放大器等,其存在電路設計複雜,電路面積過大及電路功耗過高的缺點。
技術實現要素:
本發明的目的在於提供一種隨機數生成器,其能夠感應環境中的隨機噪聲並將其放大,從而使得生成的隨機數是真實的隨機數。
本發明所解決的技術問題可以採用以下技術方案來實現:
一種隨機數生成器,其中,包括,
第一信號線,於一第一控制信號的作用下可選擇地與一供電電壓連通或位於浮空狀態,所述第一信號線位於浮空狀態時用以感應隨機的環境噪聲;
第二信號線,於所述第一控制信號的作用下可選擇地與所述供電電壓連 通或位於浮空狀態,所述第二信號線位於浮空狀態時用以感應隨機的環境噪聲;
差分電壓放大單元,提供第一輸入端、第二輸入端和輸出端,所述第一輸入端和所述第一信號線連接,所述第二輸入端與所述第二信號線連接,於一使能控制信號的作用下對所述第一輸入端和所述第二輸入端為浮空狀態時感應的信號進行差分放大以產生隨機數並自所述輸出端輸出。
本發明的隨機數生成器,所述差分電壓放大單元採用SRAM存儲器中的感應放大器。
本發明的隨機數生成器,所述差分電壓放大單元包括,
第一PMOS管,於所述第二輸入端的電壓作用下可控制地導通一第一節點和所述第一輸入端;
第二PMOS管,於所述第一輸入端的電壓作用下可控制地導通所述第一節點和所述第二輸入端;
第一NMOS管,於所述第二輸入端的電壓作用下可控制地導通所述第一輸入端和第二節點;
第二NMOS管,於所述第一輸入端電壓作用下可選擇地導通所述第二輸入端和所述第二節點;
第一開關器件,於所述使能控制信號的控制下連接所述第一節點與一電源電壓;
所述第二節點與地電壓連接,所述輸出端自所述第一輸入端引出。
本發明的隨機數生成器,所述差分電壓放大單元包括,
第一PMOS管,於所述第二輸入端的電壓作用下可控制地導通一第一節 點和所述第一輸入端;
第二PMOS管,於所述第一輸入端的電壓作用下可控制地導通所述第一節點和所述第二輸入端;
第一NMOS管,於所述第二輸入端的電壓作用下可控制地導通所述第一輸入端和第二節點;
第二NMOS管,於所述第一輸入端電壓作用下可選擇地導通所述第二輸入端和所述第二節點;
第一開關器件,於所述使能控制信號的控制下連接所述第二節點與地電壓;
所述第一節點與電源電壓連接,所述輸出端自所述第一輸入端引出。
本發明的隨機數生成器,所述輸出端通過一緩衝器與所述第一輸入端連接。
本發明的隨機數生成器,還包括,
一第三開關器件,於所述第一控制信號的作用下可控制地導通所述供電電壓和所述第一信號線;
一第四開關器件,於所述第一控制信號的作用下可控制地導通所述供電電壓和所述第二信號線。
本發明的隨機數生成器,所述供電電壓為地電壓或電源電壓。
本發明還提供一種隨機數生成方法,用於上述的隨機數生成器,包括以下步驟:
步驟1,第一控制信號的作用下所述第一信號線和所述第二信號線被充電至高電平或放電至低電平;
步驟2,斷開所述第一信號線與所述供電電壓的連接,及所述第二信號線與所述供電電壓的連接,使所述第一信號線和所述第二信號線處於浮空狀態,所述第一信號線和所述第二信號線於浮空狀態下感應隨機的環境噪聲使得電壓發生變化;
步驟3,開啟所述差分電壓放大單元,所述差分電壓放大單元對所述第一輸入端和所述第二輸入端為浮空狀態時感應的信號進行差分放大以產生隨機數並自所述輸出端輸出。
本發明的隨機數生成方法,所述步驟3中差分電壓放大單元於所述使能控制信號的作用下開啟。
本發明的隨機數生成方法,步驟2中所述第一信號線和所述第二信號線處於浮空狀態並保持設定時間。
有益效果:由於採用以上技術方案,本發明感應環境中的隨機噪聲並將其差分放大,從而使得生成的隨機數是真實的隨機數。
附圖說明
圖1為本發明的一種電路示意圖;
圖2為本發明的工作波形圖;
圖3為本發明的另一種電路示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而 不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
需要說明的是,在不衝突的情況下,本發明中的實施例及實施例中的特徵可以相互組合。
下面結合附圖和具體實施例對本發明作進一步說明,但不作為本發明的限定。
參照圖1,本發明提供一種隨機數生成器,其中,包括,
第一信號線BL,於一第一控制信號PRCHB的作用下可選擇地與一供電電壓連通或位於浮空狀態,第一信號線位於浮空狀態時用以感應隨機的環境噪聲;
第二信號線BLB,於第一控制信號PRCHB的作用下可選擇地與供電電壓連通或位於浮空狀態,第二信號線位於浮空狀態時用以感應隨機的環境噪聲;
差分電壓放大單元,提供第一輸入端、第二輸入端和輸出端,第一輸入端和第一信號線BL連接,第二輸入端與第二信號線BLB連接,於一使能控制信號SAE/SAEB的作用下對第一輸入端和第二輸入端的為浮空狀態時感應的信號進行差分放大以產生隨機數並自該輸出端輸出。
本發明的隨機數生成器,差分電壓放大單元可以如圖1所示,包括,
第一PMOS管MP0,於第二輸入端的電壓作用下可控制地導通一第一節點CM1和第一輸入端;
第二PMOS管MP1,於第一輸入端的電壓作用下可控制地導通第一節點CM1和第二輸入端;
第一NMOS管MN2,於第二輸入端的電壓作用下可控制地導通第一輸入端和第二節點CM2;
第二NMOS管MN1,於第一輸入端電壓作用下可選擇地導通第二輸入端和第二節點CM2;
第一開關器件MN0,於使能控制信號SAE的控制下連接第二節點CM2與低電壓VSS;第一節點CM1與電源電壓VDD連接,輸出端自第一輸入端引出。
本發明的隨機數生成器,還包括,
一第三開關器件,於第一控制信號PRCHB的作用下可控制地導通供電電壓和第一信號線BL;
一第四開關器件,於第一控制信號PRCHB的作用下可控制地導通供電電壓和第二信號線BLB。
圖1中第三開關器件採用PMOS管MP2,於第一控制信號PRCHB的作用下可控制地導通電源電壓VDD和第一信號線BL;第四開關器件採用PMOS管MP3,於第一控制信號PRCHB的作用下可控制地導通電源電壓VDD和第二信號線BLB;此時供電電壓為電源電壓;
上述的電路工作過程描述如下:
第一階段:使能控制信號SAE置為低電平VSS,第一控制信號PRCHB也置為低電平VSS,此時差分電壓放大單元處於非工作狀態,第一信號線BL和第二信號線BLB預充電至高電平VDD;
第二階段:第一控制信號PRCHB也置為高電平VDD,關閉預充電通路,使得第一信號線BL和第二信號線BLB處於浮空(floating)狀態;
第三階段:讓第一信號線BL和第二信號線BLB維持一段時間的浮空狀態,在這個過程中,第一信號線BL和第二信號線BLB接收環境噪聲的隨機影響,具有一電壓差;
第四階段:使能控制信號SAE由低變高開啟差分電壓放大單元對第一信號線BL和第二信號線BLB的電壓差進行放大,之後差分電壓放大單元的輸出Q即為隨機輸出。
作為一種優選的實施例,若第一信號線BL的電壓高於第二信號線BLB的電壓,則輸出端Q輸出的隨機數為邏輯1;反之,若第一信號線BL的電壓低於第二信號線BLB的電壓,則輸出端Q輸出的隨機數為邏輯0。
當然,作為另一種實施例,若第一信號線BL的電壓高於第二信號線BLB的電壓,則輸出端Q輸出的隨機數可以為邏輯0;反之,若第一信號線BL的電壓低於第二信號線BLB的電壓,則輸出端Q輸出的隨機數可以為邏輯1。
上述的第一信號線BL和第二信號線BLB的電壓差的正負完全由環境噪聲對第一信號線BL和第二信號線BLB的隨機影響決定,在自然界中環境噪聲具有真實的隨機性,因而確保了隨機輸出的隨機性,同時,本發明的差分電壓放大單元結構簡單,相比運算放大器會佔用更小的面積,圖2為本發明的波形示意圖。其中第一信號線BL(以實線表示)和第二信號線BLB(以虛線表示)在浮空狀態時的電壓具有很大的隨機性,確保兩者的差分信號的隨機性。
本發明的一種隨機數生成器,差分電壓放大單元還可以如圖3所示,包括,
第一PMOS管MP0,於第二輸入端的電壓作用下可控制地導通一第一節 點CM1和第一輸入端;
第二PMOS管MP1,於第一輸入端的電壓作用下可控制地導通第一節點CM1和第二輸入端;
第一NMOS管MN2,於第二輸入端的電壓作用下可控制地導通第一輸入端和第二節點CM2;
第二NMOS管MN1,於第一輸入端電壓作用下可選擇地導通第二輸入端和第二節點CM2;
第二開關器件Mp3,於使能控制信號SAEB的控制下連接第一節點CM1與一電源電壓VDD;第二節點CM2與低電壓VSS連接,輸出端自第一輸入端引出。
圖3中第三開關器件採用NMOS管MN3,於第一控制信號PRCHB的作用下可控制地導通低電壓VSS和第一信號線BL;第四開關器件採用PMOS管MP3,於第一控制信號PRCHB的作用下可控制地導通電源電壓VDD和第二信號線BLB;此時供電電壓為低電壓VSS。
圖3所示電路的工作過程如下:
第一階段:使能控制信號SAE置為低電平VSS,第一控制信號PRCHB也置為低電平VSS,此時差分電壓放大單元處於非工作狀態,第一信號線BL和第二信號線BLB預放電至低電平VSS;
第二階段:第一控制信號PRCHB也置為高電平VDD,關閉預放電通路,使得第一信號線BL和第二信號線BLB處於浮空(floating)狀態;
第三階段:讓第一信號線BL和第二信號線BLB維持一段時間的浮空狀態,在這個過程中,第一信號線BL和第二信號線BLB接收環境噪聲的隨機 影響,具有一電壓差;
第四階段:使能控制信號SAE由低變高開啟差分電壓放大單元對第一信號線BL和第二信號線BLB的電壓差進行放大,之後差分電壓放大單元的輸出Q即為隨機輸出。
本發明的一種隨機數生成器,上述的輸出端為信號輸入端通過一緩衝器Buffer引出,用於對輸出信號進行整形並加強輸出信號,以輸出方波信號。
上述的差分電壓放大單元可以採用SRAM存儲器中的感應放大器,SRAM存儲器的感應放大器通常由三個NMOS管和兩個PMOS管構成,除差分電壓放大單元外,還有SRAM存儲陣列,SRAM存儲陣列位線預充電電路及差分電壓感應放大器的輸出端的緩衝器Buffer,其中SRAM存儲陣列的第一位線BL和存儲陣列的第二位線BLB作為差分電壓感應放大器的差分輸入,放大後的差分信號經過緩衝器Buffer自輸出端輸出Q,本發明可以基於SRAM存儲器的感應放大器,通過預先對第一位線BL和第二位線BLB充電,然後關閉充電通路,並使得第一位線BL和第二位線BLB保持一定時間的浮空狀態,接收外部噪聲的影響以具有隨機的電壓差,實現輸出隨機數的目的。
本發明還提供一種隨機數生成方法,用於上述的隨機數生成器,包括以下步驟:
步驟1,第一控制信號PRCHB的作用下第一信號線BL和第二信號線BLB被充電至高電平或放電至低電平;
步驟2,斷開第一信號線BL與供電電壓的連接,及第二信號線BLB與供電電壓的連接,使第一信號線BL和第二信號線BLB處於浮空狀態,第一信號線BL和第二信號線BLB於環境噪聲的作用下電壓發生變化;
步驟3,開啟差分電壓放大單元,差分電壓放大單元對第一輸入端和第二輸入端為浮空狀態時感應的信號進行差分放大以產生隨機數並自輸出端輸出。
本發明的隨機數生成方法,步驟3中差分電壓放大單元於使能控制信號的作用下開啟。
本發明的隨機數生成方法,作為一種優選的實施例,若第一信號線BL的電壓高於第二信號線BLB的電壓,則輸出端Q輸出的隨機數為邏輯1;反之,若第一信號線BL的電壓低於第二信號線BLB的電壓,則輸出端Q輸出的隨機數為邏輯0。
作為另一種實施例,若第一信號線BL的電壓高於第二信號線BLB的電壓,則輸出端Q輸出的隨機數可以為邏輯0;反之,若第一信號線BL的電壓低於第二信號線BLB的電壓,則輸出端Q輸出的隨機數可以為邏輯1。
步驟2中第一信號線BL和第二信號線BLB應當處於浮空狀態並保持設定時間,以使得感應的電壓最大程度地受環境隨機噪聲的影響,使得生成的隨機數是真實的隨機數。
以上僅為本發明較佳的實施例,並非因此限制本發明的實施方式及保護範圍,對於本領域技術人員而言,應當能夠意識到凡運用本發明說明書及圖示內容所作出的等同替換和顯而易見的變化所得到的方案,均應當包含在本發明的保護範圍內。