隨機數生成裝置的制造方法
【技術領域】
[0001] 本實用新型涉及數字電路領域,尤其涉及一種隨機數生成裝置。
【背景技術】
[0002] 在數字同步電路中常采用觸發器或鎖存器作為存儲單元,這兩種器件都定義了一 個信號的時序要求,只有滿足了這個時序要求這兩種器件才可以正確地在輸入端獲取 (capture)數據、在輸出端產生數據。這兩種器件都易進入亞穩態,所謂亞穩態是指觸發器 或鎖存器無法在某個規定時間段內達到一個可確認的狀態。當觸發器或鎖存器進入亞穩態 時,既無法預測觸發器或鎖存器的輸出電平,也無法預測觸發器或鎖存器輸出何時才能穩 定在某個正確的電平上。在這期間,觸發器或鎖存器輸出一些中間級電平,或者可能處于振 蕩狀態,并且這些中間級電平可以沿信號通道上的各個觸發器或鎖存器級聯式傳播下去。 下面以觸發器為例介紹亞穩態的情況,對于鎖存器也同樣適用。
[0003] 為了確保觸發器中操作的可靠性,輸入信號在時鐘沿之前必須穩定一段時間,這 段時間通常被定義為觸發器建立時間Ts,且輸入信號在時鐘沿之后還要繼續穩定一段時 間,將這段時間定義為觸發器保持時間Th,然后觸發器經過輸出延時(clock to output,簡 稱:Tco)后輸出信號。如果一個數據信號在變化時沒有滿足觸發器建立時間Ts和保持時間 Th的要求,觸發器的輸出就可能會出現亞穩態的情況。
[0004] 如圖1所示,為現有技術中觸發器正常狀態時的時序圖,具體地,在圖1(a)中,輸入 信號A在時鐘上升沿之前已經穩定且大于觸發器建立時間Ts,并且在時鐘上升沿之后穩定 時間大于觸發器保持時間Th,此時觸發器的輸出不會出現亞穩態,經過輸出延時Tco后觸發 器輸出信號的值等于輸入信號A。其中,如果輸入信號與時鐘信號異步,該輸入信號又稱為 異步輸入信號,過渡期(transition)為異步輸入信號由A到B變化過程中的過渡時間,在這 個transition過程中異步輸入信號的值是不確定的;在圖1(b)中,與圖1(a)類似,異步輸入 信號B在時鐘上升沿之前已經穩定且大于觸發器建立時間Ts,在時鐘上升沿之后穩定時間 大于觸發器保持時間Th,此時觸發器的輸出不會出現亞穩態,經過輸出延時Tco后觸發器輸 出信號的值等于異步輸入信號B。如圖2所示,為現有技術中觸發器發生亞穩態時的時序圖, 與圖1不同的是,在該圖中,異步輸入信號在時鐘上升沿之前就已經由A變到B,但是異步輸 入信號B在時鐘上升沿之前的穩定時間小于了觸發器建立時間Ts,而A在時鐘上升沿之前就 已經結束,所以A的時鐘上升沿之后穩定時間可以視為負值,而該負值小于觸發器要求的保 持時間Th,所以在這種情況下,觸發器的輸出可能會出現亞穩態的情況,并且在亞穩態穩定 下來后觸發器的輸出可能是異步輸入信號A,也可能是異步輸入信號B,是隨機的、與異步輸 入信號沒有關系的。觸發器在經歷亞穩態以后,輸出值具體會穩定在哪個值,受觸發器電路 設計、制造工藝偏差、電路環境溫度、噪聲等多個因素的影響,這種不確定性可以作為真隨 機數源。對于觸發器而言,發生亞穩態的可能性越低,其作為真隨機數源生成的隨機數的質 量就越低。
[0005] 根據圖1和圖2的時序圖可知,觸發器輸入端的異步輸入信號如果在觸發器時鐘沿 的前后Ts+Th時間內保持穩定,也就是異步輸入信號在Ts+Th時間窗沒有變化,那么觸發器 就不會發生亞穩態,此時觸發器的輸出是完全確定的、沒有隨機性的;而只有在觸發器時鐘 沿的前后Ts+Th時間窗內,若異步輸入信號發生了變化,觸發器的輸出才有可能發生亞穩 態。但是,在先進的半導體工藝下,Ts+Th時間窗非常小,例如:0.1ns,甚至更小,那么假設觸 發器時鐘的周期是50ns,那么異步輸入信號在Ts+Th時間窗內發生變化的可能性只為: 0.1ns*100%/50ns = 0.2%。因此,這種情況下觸發器的輸出發生亞穩態的可能性非常小, 可能性最大時為〇. 2%,可能性最小時基本為零。
[0006] 另外,在芯片電路設計中,異步輸入信號往往需要特定的時鐘源來產生,例如:需 要抖動比較大的時鐘來產生異步輸入信號,所以產生異步輸入信號的難度比較大,還會增 加芯片的復雜度;并且由于該異步輸入信號的時鐘與觸發器的時鐘是不相干的兩個時鐘, 這兩個時鐘之間可能是異步的情況,也可能是同步的情況,這是無法預測的,這種情況下該 異步輸入信號不能做到與觸發器時鐘完全異步,所以該異步輸入信號的變化與觸發器的時 鐘沿可能會發生相關的"共振"現象,這樣就會大大減少異步輸入信號在Ts+Th時間窗內發 生變化的可能性,從而進一步降低觸發器的輸出發生亞穩態的可能性。 【實用新型內容】
[0007] 本實用新型提供一種隨機數生成裝置,用以提高觸發器的輸出發生亞穩態的可能 性,實現根據觸發器輸出端的亞穩態生成真隨機數,且不用采用專門的時鐘產生異步輸入 信號,降低芯片的復雜度。
[0008] 本實用新型提供一種隨機數生成裝置,包括:
[0009] 可調延遲模塊,用于對第一時鐘信號進行延遲,生成η個第二時鐘信號,在控制信 號的控制下對所述η個第二時鐘信號的延遲進行調整,其中,所述η個第二時鐘信號相對于 所述第一時鐘信號的延遲依次增大,η為大于或等于3的自然數;
[0010] 存儲模塊,包括η級存儲單元,所述η級存儲單元包括第1級存儲單元、中間級存儲 單元和第η級存儲單元,所述η個第二時鐘信號和第三時鐘信號分別作為所述η級存儲單元 的輸入信號和時鐘信號,使得所述第1級存儲單元和所述第η級存儲單元的輸出為正常狀 態,所述中間級存儲單元中至少有一級存儲單元的輸出為亞穩態,所述第一時鐘信號與所 述第三時鐘信號為同步信號;
[0011] 同步邏輯模塊,用于對所述η級存儲單元的輸出進行同步,以便得到所述η級存儲 單元的穩定的輸出,消除所述亞穩態;
[0012] 延遲控制邏輯模塊,用于根據所述η級存儲單元的穩定的輸出,生成所述控制信 號,生成并輸出真隨機數。
[0013] 在本實用新型中,可調延遲模塊對第一時鐘信號進行延遲,生成η個第二時鐘信 號,在控制信號的控制下對η個第二時鐘信號的延遲進行調整,其中,η個第二時鐘信號相對 于第一時鐘信號的延遲依次增大,η為大于或等于3的自然數,η個第二時鐘信號和第三時鐘 信號分別作為存儲模塊中η級存儲單元的輸入信號和時鐘信號,使得第1級存儲單元和第η 級存儲單元的輸出為正常狀態,中間級存儲單元中至少有一級存儲單元為亞穩態,然后通 過同步邏輯模塊對η級存儲單元的輸出進行同步,得到η級存儲單元的穩定的輸出,消除前 述的亞穩態,最后延遲控制邏輯模塊根據η級存儲單元的穩定的輸出生成控制信號,生成并 輸出真隨機數,這樣,由于采用的第一時鐘信號與第三時鐘信號為同步信號,所以可以避免 采用異步輸入信號時不能與存儲單元的時鐘完全異步的情況,提高了存儲單元的輸出發生 亞穩態的可能性,實現根據觸發器輸出端的亞穩態生成真隨機數,保證了得到的真隨機數 的隨機性,且不用采用專門的時鐘產生異步輸入信號,容易實現,降低了芯片的復雜度。
【附圖說明】
[0014] 圖1為現有技術中觸發器正常狀態時的時序圖;
[0015] 圖2為現有技術中觸發器發生亞穩態時的時序圖;
[0016] 圖3為本實用新型隨機數生成裝置實施例的結構示意圖;
[0017] 圖4為本實用新型隨機數生成裝置實施例的第一實例結構示意圖;
[0018] 圖5為本實用新型隨機數生成裝置實施例的圖4實例中η級D觸發器的D輸入端的第 三時鐘信號的上升沿與時鐘端的第二時鐘信號的上升沿的相對關系;
[0019] 圖6為本實用新型隨機數生成裝置實施例的第二實例結構示意圖;
[0020] 圖7為本實用新型隨機數生成裝置實施例的圖6實例中η級D觸發器的D輸入端的第 三時鐘信號的下降沿與時鐘端的第二時鐘信號的上升沿的相對關系;
[0021 ]圖8為本實用新型隨機數生成裝置實施例的第三實例結構示意圖;
[0022] 圖9為本實用新型隨機數生成裝置實施例的圖8實例中η級D觸發器的D輸入端的第 二時鐘信號的上升沿與時鐘端的第三時鐘信號的上升沿的相對關系;
[0023] 圖10為本實用新型隨機數生成裝置實施例的第四實例結構示意圖;
[0024] 圖11為本實用新型隨機數生成裝置實施例的圖10實例中η