(57)【要約】  乱数発生器のための装置および方法が開示される。乱数発生器は、アナログブロックを備え、アナログブロックは、加算アナログ増幅器と、加算アナログ増幅器に結合される積分器とを含み、積分器の出力は加算アナログ増幅器にフィードバックされる。さらに、乱数発生器は、積分器に結合されるしきい値検出器と、しきい値検出器およびクロックに結合されるラッチとを含むことができ、ラッチは、しきい値検出器からの出力に基づいて、ランダム化されたデジタルビットパターンを出力する。加算アナログ増幅器は、ランダム化されたデジタルビットパターンを積分器のフィードバックされた出力に加算する。さらに、出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、利得コントローラが、アナログブロックに利得を適用してアナログブロックの時定数を変更することができる。
2017518692.tif 000002
【特許請求の範囲】
【請求項１】
乱数発生器であって、
アナログブロックであって、
加算アナログ増幅器と、
前記加算アナログ増幅器に結合される積分器であって、前記積分器の出力は前記加算アナログ増幅器にフィードバックされる、積分器と
を含む、アナログブロックと、
前記積分器に結合されるしきい値検出器と、
前記しきい値検出器およびクロックに結合されるラッチであって、前記ラッチは、前記しきい値検出器からの出力に基づいて、ランダム化されたデジタルビットパターンを出力し、前記加算アナログ増幅器は、前記ランダム化されたデジタルビットパターンを前記積分器の前記フィードバックされた出力に加算する、ラッチと、
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記アナログブロックに利得を適用して前記アナログブロックのループ利得を変更する利得コントローラと
を備える、乱数発生器。
【請求項２】
前記利得コントローラは、前記適用される利得を通して、前記積分器の出力が、前記クロックの先行するサイクル後に前記クロックの1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ前記出力されるランダム化されたデジタルビットパターンの前記エントロピーが十分に高いほど十分に短くなるように、前記アナログブロックの時定数を調整する、請求項1に記載の乱数発生器。
【請求項３】
前記積分器は、電圧制御電流源およびキャパシタである、請求項1に記載の乱数発生器。
【請求項４】
前記電圧制御電流源はトランジスタ回路である、請求項3に記載の乱数発生器。
【請求項５】
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記利得コントローラは、前記電圧制御電流源に利得を適用して時定数を変更する、請求項3に記載の乱数発生器。
【請求項６】
前記加算アナログ増幅器および前記積分器の回路特性の経時的な電圧および温度変動を反映する、前記出力されるランダム化されたデジタルビットパターンの計算された統計値に基づいて、前記利得コントローラは前記アナログブロックに前記利得を適用する、請求項1に記載の乱数発生器。
【請求項７】
前記出力されるランダム化されたデジタルビットパターンの所定の量の連続する数の検出に基づいて、前記利得コントローラは、前記アナログブロックに前記利得を適用し、前記アナログブロックの時定数を変更する、請求項1に記載の乱数発生器。
【請求項８】
前記出力されるランダム化されたデジタルビットパターン内の所定の特定のビットパターンの検出の発生に基づいて、前記利得コントローラは、前記アナログブロックに前記利得を適用して前記アナログブロックの時定数を変更する、請求項1に記載の乱数発生器。
【請求項９】
前記乱数発生器は、シリコンベースのシステムオンチップ(SoC)上に構成される、請求項1に記載の乱数発生器。
【請求項１０】
乱数発生器であって、
アナログブロックであって、
加算アナログ増幅器と、
キャパシタに結合され、かつ前記加算アナログ増幅器に結合される電圧制御電流源であって、前記電圧制御電流源の出力は前記加算アナログ増幅器にフィードバックされる、電圧制御電流源と
を含む、アナログブロックと、
前記電圧制御電流源に結合されるしきい値検出器と、
前記しきい値検出器およびクロックに結合されるラッチであって、前記ラッチは、前記しきい値検出器からの出力に基づいて、ランダム化されたデジタルビットパターンを出力し、前記加算アナログ増幅器は、前記ランダム化されたデジタルビットパターンを前記電圧制御電流源の前記フィードバックされた出力に加算する、ラッチと
を備える、乱数発生器。
【請求項１１】
前記電圧制御電流源および前記キャパシタに結合される前記加算アナログ増幅器は、前記ラッチから出力される前記出力されるランダム化されたデジタルビットパターンが常に、前記加算アナログ増幅器にフィードバックされる前記電圧制御電流源の前記出力を超えるように構成され、それにより、前記電圧制御電流源からの出力が飽和状態にあっても、前記ラッチからの前記出力の結果として、前記電圧制御電流源からの前記出力が、飽和した出力状態から離れる方向に動くようにする、請求項10に記載の乱数発生器。
【請求項１２】
前記電圧制御電流源はトランジスタ回路である、請求項10に記載の乱数発生器。
【請求項１３】
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記アナログブロックに利得を適用して前記アナログブロックの時定数を変更する利得コントローラをさらに備える、請求項10に記載の乱数発生器。
【請求項１４】
前記利得コントローラは、適用される利得を通して、前記積分器の出力が、前記クロックの先行するサイクル後に前記クロックの1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ前記出力されるランダム化されたデジタルビットパターンの前記エントロピーが十分であるほど十分に短くなるように、前記アナログブロックの前記時定数を調整する、請求項13に記載の乱数発生器。
【請求項１５】
前記加算アナログ増幅器、前記電圧制御電流源および前記キャパシタの特性の経時的な電圧および温度変動を反映する、前記出力されるランダム化されたデジタルビットパターンの計算された統計値に基づいて、前記利得コントローラは前記アナログブロックに前記利得を適用する、請求項13に記載の乱数発生器。
【請求項１６】
前記出力されるランダム化されたデジタルビットパターン内の所定の数の連続して繰り返されるビットからなるパターンの検出に基づいて、前記利得コントローラは、前記アナログブロックに前記利得を適用して前記アナログブロックの時定数を変更する、請求項13に記載の乱数発生器。
【請求項１７】
前記出力されるランダム化されたデジタルビットパターン内の所定の特定のビットパターンの検出に基づいて、前記利得コントローラは、前記アナログブロックに前記利得を適用して前記アナログブロックの時定数を変更する、請求項13に記載の乱数発生器。
【請求項１８】
前記乱数発生器は、シリコンベースのシステムオンチップ(SoC)に組み込まれる、請求項10に記載の乱数発生器。
【請求項１９】
加算アナログ増幅器出力を生成するために、加算アナログ増幅器において、ランダム化されたデジタルビットパターンをフィードバックして積分器の出力に加算するステップと、
前記加算アナログ増幅器出力を前記積分器に伝送するステップと、
前記積分器の前記出力を前記加算アナログ増幅器にフィードバックするステップと、
前記積分器からの前記出力をしきい値検出器への入力として伝送するステップと、
前記しきい値検出器からの出力をラッチに伝送するステップであって、前記しきい値検出器からの前記出力に基づいて、前記ラッチは、前記ランダム化されたデジタルビットパターンを出力し、前記ランダム化されたデジタルビットパターンは前記加算アナログ増幅器にフィードバックされる、伝送するステップと、
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記加算アナログ増幅器に利得を適用して前記加算アナログ増幅器および前記積分器のループ利得を変更するステップと
を含む、方法。
【請求項２０】
前記積分器の出力が、前記クロックの先行するサイクル後に前記クロックの1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ前記出力されるランダム化されたデジタルビットパターンの前記エントロピーが十分であるほど十分に短くなるように、利得を適用して前記加算アナログ増幅器および前記積分器からなる閉ループ回路の時定数を調整するステップをさらに含む、請求項19に記載の方法。
【請求項２１】
前記積分器は、電圧制御電流源およびキャパシタである、請求項19に記載の方法。
【請求項２２】
前記電圧制御電流源はトランジスタ回路である、請求項21に記載の方法。
【請求項２３】
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記電圧制御電流源に利得を適用して時定数を変更するステップをさらに含む、請求項21に記載の方法。
【請求項２４】
前記加算アナログ増幅器および前記積分器の回路特性の経時的な電圧および温度変動を反映する、前記出力されるランダム化されたデジタルビットパターンの計算された統計値に基づいて、前記加算アナログ増幅器に前記利得を適用するステップをさらに含む、請求項19に記載の方法。
【請求項２５】
前記出力されるランダム化されたデジタルビットパターンの所定の量の連続する数の検出に基づいて、前記加算アナログ増幅器に前記利得を適用して前記加算アナログ増幅器の時定数を変更するステップをさらに含む、請求項19に記載の方法。
【請求項２６】
前記出力されるランダム化されたデジタルビットパターンの所定の特定のビットパターンの検出に基づいて、前記加算アナログ増幅器に前記利得を適用して前記加算アナログ増幅器および前記積分器からなる閉ループ回路の時定数を変更するステップをさらに含む、請求項19に記載の方法。
【請求項２７】
加算アナログ増幅器出力を生成するために、加算アナログ増幅器において、ランダム化されたデジタルビットパターンをキャパシタに結合される電圧制御電流源の出力に加算するステップと、
前記加算アナログ増幅器出力を前記電圧制御電流源に伝送するステップと、
前記電圧制御電流源の前記出力を前記加算アナログ増幅器にフィードバックするステップと、
前記電圧制御電流源からの前記出力をしきい値検出器への入力として伝送するステップと、
前記しきい値検出器からの出力をラッチに伝送するステップであって、前記しきい値検出器からの前記出力に基づいて、前記ラッチは、前記ランダム化されたデジタルビットパターンを出力し、前記ランダム化されたデジタルビットパターンは前記加算アナログ増幅器にフィードバックされる、伝送するステップと
を含む、方法。
【請求項２８】
前記電圧制御電流源および前記キャパシタに結合される前記加算アナログ増幅器は、前記ラッチから出力される前記出力されるランダム化されたデジタルビットパターンが常に、前記加算アナログ増幅器にフィードバックされる前記電圧制御電流源の前記出力を超えるように構成され、それにより、前記電圧制御電流源からの出力が飽和状態にあっても、前記ラッチからの前記出力の結果として、前記電圧制御電流源からの前記出力が、飽和した出力状態から離れる方向に動くようにする、請求項27に記載の方法。
【請求項２９】
前記電圧制御電流源はトランジスタ回路である、請求項27に記載の方法。
【請求項３０】
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記加算アナログ増幅器に利得を適用して前記加算アナログ増幅器および前記積分器からなる閉ループ回路の時定数を変更するステップをさらに含む、請求項27に記載の方法。
【請求項３１】
前記加算アナログ増幅器および前記積分器からなる前記閉ループ回路の前記時定数を調整するために適用される前記利得は、前記積分器の出力が、前記クロックの先行するサイクル後に前記クロックの1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ前記出力されるランダム化されたデジタルビットパターンの前記エントロピーが十分に高いほど十分に短くなるように構成される、請求項30に記載の方法。
【請求項３２】
前記加算アナログ増幅器に適用される前記利得は、前記加算アナログ増幅器、前記電圧制御電流源および前記キャパシタの回路特性の経時的な電圧および温度変動を反映する、前記出力されるランダム化されたデジタルビットパターンの計算された統計値に基づく、請求項30に記載の方法。
【請求項３３】
前記加算アナログ増幅器の時定数を変更するために前記加算アナログ増幅器に適用される前記利得は、前記出力されるランダム化されたデジタルビットパターンの所定の量の連続する数の検出に基づく、請求項30に記載の方法。
【請求項３４】
前記加算アナログ増幅器および前記積分器からなる前記閉ループ回路の時定数を変更するために前記加算アナログ増幅器に適用される前記利得は、前記出力されるランダム化されたデジタルビットパターンの所定の特定のビットパターンの検出に基づく、請求項30に記載の方法。
【請求項３５】
出力を生成するために、ラッチから受信されたランダム化されたデジタルビットパターンを積分器の出力に加算するための手段と、
前記出力を前記積分器に伝送するための手段と、
前記積分器からの前記出力をしきい値検出器への入力として伝送するための手段と、
前記しきい値検出器からの出力を前記ラッチに伝送するための手段であって、前記しきい値検出器からの前記出力に基づいて、前記ラッチは前記ランダム化されたデジタルビットパターンを出力する、伝送するための手段と、
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、利得を適用して時定数を変更するための手段とを備える、乱数発生器。
【請求項３６】
前記積分器は、電圧制御電流源およびキャパシタである、請求項35に記載の乱数発生器。
【請求項３７】
前記電圧制御電流源はトランジスタ回路である、請求項36に記載の乱数発生器。
【請求項３８】
前記出力されるランダム化されたデジタルビットパターンの所定の量の連続する数の検出に基づいて、前記利得を適用して時定数を変更するための手段をさらに備える、請求項35に記載の乱数発生器。
【請求項３９】
前記出力されるランダム化されたデジタルビットパターンの所定の特定のビットパターンの検出に基づいて、前記利得を適用して時定数を変更するための手段をさらに備える、請求項35に記載の乱数発生器。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その内容全体が参照により本明細書に組み込まれている、2014年5月12日に出願された“ENTROPY SOURCE”という名称の米国特許出願第14/275,676号からの優先権の利益を主張する。
【０００２】
本発明は、乱数発生器がエントロピー源を提供するための装置および方法に関する。
【背景技術】
【０００３】
セキュリティのために使用されるシリコン回路において使用される乱数発生器は、難しい課題に直面している。適切な乱数発生器は、そのデジタル出力において十分なエントロピーを生成し、種々のプロセス、温度および電圧範囲にわたって信頼性があり、外部源から予測不可能であり、外部操作(たとえば、攻撃者による)の影響を受けにくく、システムオンチップ(SoC)のためのシリコンプロセス技術を用いる実施態様になじみやすくすべきである。現在、シリコン技術の実施態様のための1つの典型的な実施形態は、乱数発生器として使用するためのエントロピー源として、システムクロック上でサンプリングされるリング発振器を使用する。
【０００４】
残念なことに、リング発生器を使用しても、多くの理由から、適切な乱数発生器にならない場合がある。たとえば、リング発振器周波数とシステムクロックとの間の関係により、生成される出力エントロピーが実質的に異なる場合がある。詳細には、電圧または温度変化が、リング発振器出力をサンプリングクロックの単純な比率に近づける場合があり、結果として、出力エントロピーが非常に低くなる場合がある。また、注入される周波数またはローカルシステムクロックによって、リング発生器がその周波数またはクロックに概ね位相同期する可能性があり、結果として、予測可能な信号になる。これは、エントロピーの破滅的失敗となる場合があり、結果として、攻撃につながる恐れがある。さらに、長周期の相関(すなわち、かなり安定した周波数および低いジッタ)を有するリング発振器は、低いエントロピーを暗示する。総合して、これらの短所によって、リング発振器は、安全な乱数発生器のために適していないエントロピー源になる。
【発明の概要】
【課題を解決するための手段】
【０００５】
乱数発生器のための装置および方法が開示される。乱数発生器は、アナログブロックを備え、アナログブロックは、加算アナログ増幅器と、加算アナログ増幅器に結合される積分器とを含み、積分器の出力は加算アナログ増幅器にフィードバックされる。さらに、乱数発生器は、積分器に結合されるしきい値検出器と、しきい値検出器およびクロックに結合されるラッチとを含むことができ、ラッチは、しきい値検出器からの出力に基づいて、ランダム化されたデジタルビットパターンを出力する。加算アナログ増幅器は、ランダム化されたデジタルビットパターンを積分器のフィードバックされた出力に加算する。さらに、出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、利得コントローラが、アナログブロックに利得を適用してアナログブロックの時定数を変更することができる。
【図面の簡単な説明】
【０００６】
【図１】本開示の一実施形態による、乱数発生器回路の回路図である。
【図２】キャパシタに結合される電圧制御電流源を含む積分器の回路図である。
【図３】選択されたビットパターンのパーセンテージ発生率を示すグラフである。
【図４】出力されるランダム化されたデジタルビットパターンを生成するための方法を示す流れ図である。
【図５】乱数発生器が利用される場合があるコンピューティングデバイスの図である。
【発明を実施するための形態】
【０００７】
「例示的」または「例」という単語は、本明細書では「例、事例、または例示としての役割を果たすこと」を意味するために使用される。「例示的」または「例」として本明細書に記載される任意の態様または実施形態は、必ずしも、他の態様または実施形態に比べて好ましいか、または有利であると解釈されるべきではない。
【０００８】
図1を参照すると、本発明の一実施形態による、乱数発生器回路100が示される。乱数発生器回路100は、アナログブロック103を形成する、積分器106に結合される加算アナログ増幅器102を含むことができる。加算アナログ増幅器102の出力は積分器106に伝送される。積分器106の出力は、加算アナログ増幅器102の入力としてフィードバックすることができる。さらに、しきい値検出器110が積分器106に結合される。積分器106からの出力は、しきい値検出器110に入力として供給される。ラッチ120が、しきい値検出器110およびクロック源124に結合される。しきい値検出器110からの出力は、ラッチ120に伝送される。しきい値検出器110(反転比較器など)は、デジタル値を出力するために、その入力範囲の中間点近くに設定することができる。ラッチ120は、それに結合されるクロック124によってクロックを供給される場合がある。ラッチ120は、しきい値検出器110からの出力に基づいて、ランダム化されたデジタルビットパターン130を出力することができる。加算アナログ増幅器102は、ランダム化されたデジタルビットパターン130を積分器106のフィードバックされた出力に加算することができる。さらに、この値は、しきい値検出器110への入力として伝送される。各信号の極性は、形成される2つのフィードバックループのそれぞれにおける全体的なループ利得極性が保持される場合には、変更されてもよい。
【０００９】
一実施形態では、オプションで、利得コントローラ140をアナログブロック103(たとえば、加算アナログ増幅器102および/または積分器106)に結合することができ、利得コントローラは、出力されるランダム化されたデジタルビットパターン130の十分なエントロピーを確保するために、アナログブロック103に利得を適用してアナログブロック103のループ利得を変更することができる。さらに、一実施形態では、利得コントローラ140は、適用される利得を通して、積分器106の出力が、クロック124の先行するサイクル後にクロック124の1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ出力されるランダム化されたデジタルビットパターン130のエントロピーが十分であるほど十分に短くなるように、アナログブロック103の時定数を調整することができる。
【００１０】
さらに、一実施形態では、後にさらに詳細に説明されるように、積分器106は、電圧制御電流源およびキャパシタとすることができる。たとえば、電圧制御電流源は、トランジスタ回路とすることができる。一実施形態では、利得コントローラ140が利用されるとき、出力されるランダム化されたデジタルビットパターン130の十分なエントロピーを確保するために、利得コントローラ140を利用して、電圧制御電流源に利得を適用して時定数を変更することができる。しかしながら、利得コントローラ140は、乱数発生器回路100のすべての実施形態において必ずしも利用される必要はないことを理解されたい。いくつかの実施形態では、利得コントローラ140は利用されない。さらに、一実施形態では、乱数発生器回路100は、シリコンベースのシステムオンチップ(SoC)上で使用するように構成することができる。これは、積分器106が、キャパシタとともにトランジスタ回路として実現される場合がある電圧制御電流源であるときに特に役に立つことがある。
【００１１】
したがって、一実施形態では、乱数発生器回路100は、単極を有するフィードバックループを備えるアナログブロック103を含むエントロピー源とみなすことができ、ゼロ入力時のその出力は、単なる指数関数的に増加する電圧であり、ラッチ120によってクロック124上でサンプリングされるしきい値検出器110に接続される。その後、しきい値検出器110およびラッチ120のサンプリングされたバイナリデジタル出力値(たとえば、+/-1)(たとえば、ランダム化されたデジタルビットパターン130)は、アナログシステムの(すなわち、加算アナログ増幅器102および積分器106からの)出力をその線形動作範囲内に保つようにフィードバックされる。
【００１２】
乱数発生器回路100の説明に役に立つようにするために、乱数発生器回路100は、RHP(右半面極:Right-Hand-Plane-Pole)通過関数を実現し、そのインパルス応答は、時間とともに指数関数的に増加する電圧である。詳細には、閉ループフィードバックを有するように構成される加算アナログ幅器102および積分器106が、RHP通過関数を実現する。しかしながら、RHP通過関数は、不安定な応答であり、一般的に、入力がゼロに保たれる場合には短時間のうちの出力が飽和する(すなわち、積分器106がドライブすることができる最も高い値または最も低い値に達する)。出力が、ゼロと区別できない値から開始する場合であっても、回路内に雑音がある結果として、ゼロから発散し、結果として指数関数的に増加する出力が生じる。本明細書において参照される乱数発生器回路100では、RHP通過関数を実現する加算アナログ増幅器102および積分器106からなるこのブロックは、アナログブロック103と呼ばれる場合がある。
【００１３】
(たとえば、比較器として実現可能である)しきい値検出器110およびラッチ120を追加して、クロック124からの一定周波数のクロック信号がラッチ120にクロックを供給し、アナログブロック103の時定数が著しく長い場合に、アナログブロック103(たとえば、RHP極ブロック)のアナログ出力が、しきい値検出器110の出力がラッチされる時刻において適切な電圧範囲内にあり、ラッチの出力(たとえば、ランダム化されたデジタルビットパターン130)が加算アナログ増幅器102の入力にフィードバックされるなら、乱数発生器回路100は、飽和しない動作範囲内にとどまるはずである。これは、いくつかの要因の組合せに基づいて:アナログブロック103の出力が決められた(たとえば、それぞれの供給レール電圧に近い)レベルにおいて飽和することになり、逆極性のラッチ120の出力が、飽和から離れる方向において出力を開始させるだけの十分な振幅からなり、アナログブロック103の時定数が、出力が(たとえば、出力の飽和によって)不十分な線形動作領域に入らないほど十分に長いように取り決められる場合がある。正しく動作するために満たされる必要があるさらなる条件は、アナログブロック103が、通常動作中に生じる入力電圧および出力電圧のすべての取り得る組合せの場合に十分に線形に動作するように規定されることである。「十分に線形」は、アナログブロック103の出力の変化率が通常動作条件下で入力の単調関数であること意味することを指している。「単調関数」は、変化率関数が、アナログブロック103の入力範囲にわたって厳密に増加することを意味することを指している。これは、入力電圧に何らかの差があれば、どんなに小さくても、結果として、正しい極性の出力の変化率に非0の差が生じるべきであることを意味する。また、しきい値検出器110は比較器として実現される場合があることを理解されたい。
【００１４】
アナログブロック103の時定数(たとえば、指数関数倍増時間として測定される)は、線形性要件を満たすだけの十分な余裕をもって、ラッチ120へのクロック124のクロック信号の周期(サイクル時間)未満にすべきである。時定数が増加するにつれて、乱数発生器回路100の出力エントロピー(たとえば、ランダム化されたデジタルビットパターン130)は低減されるので、時定数は長くしすぎるべきではない。乱数発生器回路100の特性は、これらの要因を考慮に入れるべきであり、時定数が適切な範囲内にとどまるのを確実にすべきである。
【００１５】
(たとえば、ランダム化されたデジタルビットパターン130によって特徴付けられる)エントロピー発生は、次のように理解することができる。アナログブロック103の初期条件の任意の差、すなわち、後に付加される雑音が、クロック124による各クロックサイクル中にアナログブロック103によって、1より大きい倍率で乗算される場合がある。しきい値検出器110およびラッチ120によって実施されるデジタルサンプリングプロセス(たとえば、+/-1を出力する)は、乱数発生器回路100をその動作範囲内に保つフィードバック(たとえば、ランダム化されたデジタルビットパターン130)を与え、この乗算が、サイクルごとの離散調整を除いて、クロック124によって設定されるサイクルごとに生じるのを確実にする。デジタル選択(たとえば、ラッチされた値+/-1)は以前に乗算された値によって決まり、これは、出力値の履歴が完全に知られている場合であっても、すべてのラッチサンプル(たとえば、それぞれのランダム化されたデジタルビットパターン130)が、新たなエントロピー(予測不可能性)を有するのを確実にする。出力エントロピーはクロックサイクルあたり1ビット未満であるが、回路の挙動および出力の完全な履歴が完全に知られている場合であっても、後続の出力ビット値について推定することができる大部分は、2つの取り得る値の確率の比である。この比は、ランダム化されたデジタルビットパターン130から生じているビットによって決まるが、特定可能な確率範囲内に存在する。各出力ビットbiのシャノンエントロピー(ビット単位)は、-Σipilog2piであり、ここでiは出力ビットの2つの取り得る値(0および1)を有し、関連するpiはそのビット値に関連付けられる確率である。2つの確率は、関係Σipi=p0+p1=1を満たすことになり、エントロピーは、出力ビットが確実に推定できる場合にのみ0になるであろう。適切に設計することにより、各ビットに関するエントロピーは、適切な値より高くなることを保証することができる。これが、その回路からの保証されるエントロピー出力の根拠である。詳細には、本発明の実施形態は、出力されるランダム化されたデジタルビットパターン130の十分な、または保証されたエントロピーを確実にすることに向けられる。
【００１６】
RHPインパルス応答の実施態様は、図1においてアナログブロック103によって示されるように、正のフィードバックを有する単一の積分器とみなすことができる。差動入力と大きな利得帯域幅積とを有する加算アナログ増幅器を利用するアナログブロック103の代替の実施態様は、たとえば、100MHzのクロック周波数の場合にそうであるように、利得帯域幅積が大きいことをしばしば要求される状況において難題をもたらす。
【００１７】
本発明の一実施形態では、積分器106は、集積度の高い半導体回路における実施態様になじみやすい場合がある電圧制御電流源とすることができる。利得コントローラ140が利用される実施形態において、または利得コントローラ140が利用されない実施形態において、電圧制御電流源が使用される場合があることを理解されたい。さらに図2を手短に参照すると、積分器106が示されており、その積分器は、キャパシタ204に結合される電圧制御電流源202である。この例では、電圧制御電流源202は、トランジスタ回路として実現することができる。たとえば、使用されることになるトランジスタのタイプは、バイポーラ接合トランジスタ(BJT)または金属酸化膜電界効果トランジスタ(MOSFET)を含むことができ、適度に線形に制御され、電圧制御電流源202を実現するのにフィードバックが不要である電流源としての役割を果たす構成においてトランジスタが使用される場合がある。しかしながら、任意の適切なタイプのトランジスタが利用される場合があることを理解されたい。そのような構成において使用されるとき、利得帯域幅積は高くすることができ、一方、その線形性は、数多くの異なるタイプの実施態様の場合に依然として十分であるはずである。これらのタイプのトランジスタを使用することによって、クロック周期が短い(たとえば、100MHzの周波数に対応する10nsである)とき、集積度の高い回路の場合に典型的であるように、電流源の最大出力電流は低く(たとえば、0.01mA〜1mA)、電圧範囲は小さく(たとえば、1V)、その場合、必要とされるキャパシタンスは小さくなり(この例の場合、約0.1pF〜10pF)、それゆえ、限られたシリコン面積しか必要としない可能性があり、さらに、金属および/またはポリシリコンの他の回路上に載せられる可能性がある。詳細には、このタイプの実施態様によれば、乱数発生器100を、まさに、シリコンベースのシステムオンチップ(SoC)において使用するために構成できるようになる。
【００１８】
再び図1を参照すると、本発明の一実施形態では、利得コントローラ140を利用して、乱数発生器回路100の変動を考慮に入れることができる。後に説明されるように、利得コントローラ140は、出力されるランダム化されたデジタルビットパターン130の十分なエントロピーを確保するために、アナログブロック103(たとえば、加算アナログ増幅器102および/または積分器106)に利得を適用してアナログブロック103のループ利得を変更することができる。一例として、利得コントローラ140は、アナログブロック103の時定数を変更することができる。詳細には、後に説明されるように、加算アナログ増幅器102の利得を制御することができ、その際に、ランダム化されたデジタルビットパターン130内の選択された特定のビットパターンの周波数の決定に基づいて、これらの周波数が目標値に近いままであるように、時定数を調整することができる。したがって、時定数が、電圧、温度およびプロセス変動に起因していくつかのクロック周期までの範囲にわたって変化できるようにする代わりに、フィードバックを用いて、時定数を所望の値に調整し、それにより、十分なエントロピーを確保することができる。利得コントローラ140は、汎用積分器106とともに、または図2を参照しながら先に説明されたような、電圧制御電流源(たとえば、トランジスタ回路およびキャパシタ)とともに利用される場合があることを理解されたい。
【００１９】
一実施形態では、乱数発生器回路100は、アナログブロック103を含むことができ、アナログブロックは、アナログブロック103を形成する積分器106に結合される加算アナログ増幅器102を備え、積分器106の出力は、先に説明されたように、加算アナログ増幅器102にフィードバックされる。さらに、積分器106にしきい値検出器110が結合され、しきい値検出器110にラッチ120が結合され、ラッチはクロック124によってクロックを供給される。先に説明されたように、ラッチ120は、しきい値検出器110の出力に基づいて、ランダム化されたデジタルパターン130を出力し、加算アナログ増幅器102は、ランダム化されたデジタルビットパターン130を積分器106のフィードバックされた出力に加算する。一例として、一実施形態では、しきい値検出器/比較器110およびラッチ120のサンプリングされたバイナリデジタル出力値(たとえば、+/-1)(たとえば、ランダム化されたデジタルビットパターン130)は、クロック124に基づいてサイクルごとにサンプリング/ラッチされ、アナログシステムの(すなわち、加算アナログ増幅器102および積分器106-アナログブロック103からの)出力をその線形動作範囲内に保つようにフィードバックされる。このようにして、デジタルラッチの出力は、デジタルフィードバックが負になり、最大アナログフィードバックよりわずかに大きくなることができるように、加算アナログ増幅器102の第2の入力にフィードバックされる。さらに、ラッチは、クロックによって設定された時間にわたってデータを保持する任意の種類のデジタル回路であると考えることができることは当業者には理解されたい。
【００２０】
さらに、本発明の一実施形態によれば、ランダム化されたデジタルパターン130の出力の十分なエントロピーを確保するために、利得コントローラ140が、アナログブロック103(たとえば、加算アナログ増幅器102および/または積分器106)に利得を適用してアナログブロック103のループ利得を変更することができる。
【００２１】
先に説明されたように、利得コントローラ140は、適用される利得を通して、アナログブロック103の出力が、クロック124の先行するサイクル後にクロック124の1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ出力されるランダム化されたデジタルビットパターン130のエントロピーが十分であるほど十分に短くなるように、アナログブロック103の時定数を調整することができる。ランダム化されたデジタルビットパターンの出力の十分なエントロピーを確保するために、設計上の選択に関する広範な種々のタイプの置換を用いて、アナログブロック103のループ利得を変更することができることを理解されたい。
【００２２】
回路の製造プロセス、電圧および温度の変動が、乱数発生器回路100の動作パラメータに影響を及ぼす場合があり、特に、クロック124のクロック周波数と比較して、アナログブロック103の時定数に影響を及ぼす場合があることを理解されたい。さらに、ランダム化されたデジタルビットパターン130を得るための乱数発生器のラッチ120用のクロック124の周波数選択に関して融通性あることが望ましい場合がある。アナログブロック103の動作を適切な範囲内に保つために、これらの要因のすべてを組み合わせて、アナログブロック103の時定数を制御するための要件にすることができる。したがって、利得コントローラ140に関連する本発明の態様は、時定数を大きくするか、小さくするかを判断する時定数制御機構を提供することができ、その機構は、利得コントローラ140によってアナログブロック103の利得を制御することによって実現することができる。
【００２３】
本発明の一実施形態では、利得コントローラ140は、アナログブロック103に利得を適用して、積分器106の出力がクロック124の先行するサイクル後のクロック124の1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ出力されるランダム化されたデジタルビットパターン130のエントロピーが十分に高いほど十分に短くなるように、アナログブロック103の時定数を調整する。乱数発生器回路100は、製造前に、適切な時定数および利得を計算するためにシミュレートされる場合があることを理解されたい。たとえば、シミュレーション中に、0から、次のクロック刻時前に乱数発生器回路100が飽和する場合がある(すなわち、動作要件が違反される)利得までの範囲内のいずれかの場所に、利得を設定することができる。このようにして、乱数発生器回路100によって使用するための所定の利得および時定数をあらかじめ決定することができ、動作時に利用することができる。
【００２４】
詳細には、一実施形態では、利得コントローラ140は、加算アナログ増幅器102および積分器106の回路特性の経時的な電圧および温度変動を反映する、出力されるランダム化されたデジタルビットパターン130の計算された統計値に基づいて、アナログブロック103の加算アナログ増幅器102および/または積分器106に利得を適用することができる。利得コントローラ140は、ランダム化されたデジタルビットパターン130の所定のデジタルパターンの検出に基づいて、アナログブロック103(たとえば、加算アナログ増幅器102および/または積分器106)に利得を適用してアナログブロック103のループ利得を変更することができる。出力されるランダム化されたデジタルビットパターン130内の特定のパターンの予想される発生率は、シミュレーションの観測を通して特定することができ、乱数発生器回路100の実際の動作時に利用できることを理解されたい。乱数発生器回路100の回路動作が事実上無秩序である場合であっても、大部分の短いビットパターンの出力における発生頻度は、その後に利得コントローラ140によって適用される場合がある利得に関連付けられる場合がある。したがって、出力されるランダム化されたデジタルビットパターン130の十分なエントロピーを確保するために、利得コントローラ140によってフィードバック制御利得を適用するために使用することができるパターンが現れる。
【００２５】
さらに図3を手短に参照すると、パターンのパーセンテージ発生率(y軸)対利得コントローラによって制御されるアナログ出力利得係数(x軸)を示すグラフ300が示される。たとえば、ライン302を参照すると、同じ値(すなわち、すべて0またはすべて1)の3つの連続するビットを伴うパターンの発生がライン302によって示されており、ライン302は、利得コントローラによって制御されるのに応じて、アナログ出力がクロックサイクルごとに2倍になるように利得が設定されるときの25%から、アナログ出力が、クロックサイクルごとに1.62倍(またはそれ以下)しか上昇しないときの0%まで、比較的に滑らかに降下する。したがって、利得制御の一例は、パターンが観測されない間に利得をゆっくり、徐々に増加させている場合があり、これらのパターンのうちの1つが観測されるときに、利得をはるかに大きく実質的に減少させ(たとえば、100分の1または1000分の1程度)、それにより、たとえば、これらのパターンが1%、さらには0.1%の頻度で観測されるようにする。
【００２６】
4つの連続する等しいビットのパターン、すなわち、ライン306の場合、その発生が、利得コントローラによって制御されるのに応じて、アナログ出力がクロックサイクルごとに2倍になるときの12.5%において開始し、アナログ出力がクロックサイクルごとに1.84倍(またはそれ以下)しか上昇しないときの0%まで降下することを除いて、類似の挙動が生じる。より低い利得が望ましい場合(たとえば、飽和領域からのより大きなマージンを与えるため)、他のビットパターンを用いて、その利得が妥当であるか否かを判断することができる。たとえば、ライン310によって示されるような、ビットパターン:0010、0110、1101および1001、代替的にはその逆(重複パターンを含む)の発生は、アナログ出力がクロックサイクルごとに1.27倍(またはそれ以下)まで上昇するときに50%において概ね一定であるが、そうでない場合には低い。したがって、出力されるランダム化されたデジタルビットパターン130の十分なエントロピーを確保するために、所定の量の連続する数の検出、および/または出力されるランダム化されたデジタルビットパターン内の所定の特定のビットパターンの発生に基づいて、利得コントローラ140の利得を計算し、かつアナログブロック103に適用して、アナログブロック103の時定数を変更することができる。
【００２７】
利得コントローラ140の使用を含む、乱数発生器回路100のこれまでに説明された実施態様は、標準的な積分器106とともに、または電圧制御電流源202およびキャパシタ204(たとえば、図2を参照)である以前に説明された特殊な積分器とともに利用することができ、電圧制御電流源はトランジスタ回路とすることができることを理解されたい。これまでに説明されたように、このタイプの実施態様は、システムオンチップ(SoC)のような、シリコンベースの集積回路の場合に非常に適した構成とすることができる。
【００２８】
しかしながら、図1を再び参照すると、先に説明されたような、本発明の実施形態は、利得コントローラ140を利用する必要はなく、利得コントローラ140を使用することなく動作できることを理解されたい。一実施形態では、乱数発生器回路100は、積分器106に結合される加算アナログ増幅器102を含むことができ、積分器は、電圧制御電流源202およびキャパシタ204を含み、電圧制御電流源202の出力が加算アナログ増幅器102にフィードバックされる。さらに、乱数発生器回路100は、電圧制御電流源202に結合されるしきい値検出器110と、ラッチ120とを含む。ラッチ120は、しきい値検出器110およびクロック124に結合される。この実施形態では、ラッチ120は、しきい値検出器110の出力に基づいて、ランダム化されたデジタルビットパターン130を出力し、ランダム化されたデジタルビットパターン130も加算アナログ増幅器102にフィードバックされる。加算アナログ増幅器102は、ランダム化されたデジタルビットパターン130を電圧制御電流源202のフィードバックされた出力に加算する。この実施形態は、利得コントローラ140を用いることなく、以前に詳細に説明されている。この特定の実施態様例では、電圧制御電流源202およびキャパシタ204に結合される加算アナログ増幅器102は、ラッチ120から出力されるランダム化されたデジタルビットパターン130が常に、加算アナログ増幅器102にフィードバックされる電圧制御電流源202の出力を超えるように構成することができ、それにより、電圧制御電流源202からの出力が飽和状態にあっても、ラッチ120からの出力の結果として、電圧制御電流源202からの出力が、飽和した出力状態から離れる方向に動くようにする。以前に詳細に説明されたように、電圧制御電流源202を利用するこのタイプの乱数発生器回路100は、以前に詳細に説明されたのと同じく、および/または同様に利得コントローラ140を利用することもできることを理解されたい。
【００２９】
したがって、以前に詳細に説明されたように、RHP極を伴うアナログブロック103を利用して、乱数発生器回路100のランダム化されたデジタルビットパターン130においてエントロピーを生成することによって、リング発振器のような他のエントロピー源とは異なり、アナログブロック103のエントロピー源は、以前に詳細に説明されたように、乱数発生器回路100の動作パラメータを妥当な限度内に保つことができるなら、外部信号注入に対してロバストに動作することができる。さらに、以前に説明されたように、乱数発生器回路100によって生成されるエントロピー源はモデル化することができ、エントロピー率は、ループ利得が所与の範囲内に入ることがわかっている場合には、定量可能な量を超えることがわかっている場合がある。これにより、出力されるランダム化されたデジタルビットパターン130のランダム性について、高い安全性を保証できるようになる。さらに、一実施形態では、出力されるランダム化されたデジタルビットパターン130の十分なエントロピーを確保するために、利得コントローラ140を用いて、加算アナログ増幅器102および/または積分器106に利得を適用してアナログブロック103のループ利得を変更することができる。一例では、利得コントローラ140によって、利得を加算アナログ増幅器102に適用して、アナログブロックの時定数を変更することができる。詳細には、時定数を、電圧、温度およびプロセス変動によっていくつかのクロック周期までの範囲にわたって変化できるようにする代わりに、利得コントローラ140を用いて時定数を所望の値に調整し、それにより、ランダム化されたデジタルビットパターン130のための十分なエントロピー出力を確保することができる。
【００３０】
図4を手短に参照すると、出力されるランダム化されたデジタルビットパターンを生成するための方法が開示される。ブロック402において、加算アナログ増幅器出力を生成するために、加算アナログ増幅器において、ランダム化されたデジタルビットパターンが積分器の出力に加算される。ブロック404において、加算アナログ増幅器出力が積分器に伝送される。ブロック406において、積分器の出力が加算アナログ増幅器にフィードバックされる。ブロック408において、積分器からの出力がしきい値検出器への入力として伝送される。ブロック410において、しきい値検出器からの出力がラッチに伝送され、しきい値検出器からの出力に基づいて、ラッチはランダム化されたデジタルビットパターンを出力し、ランダム化されたデジタルビットパターンは加算アナログ増幅器にフィードバックされる。ブロック412において、出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、加算アナログ増幅器に利得が適用され、アナログブロックのループ利得を変更する。
【００３１】
これまでに説明された乱数発生器100は任意のタイプのコンピューティングデバイスまたはシステムとともに利用できることを理解されたい。
【００３２】
本明細書において用いられるときに、「コンピューティングデバイスまたはシステム」という用語は、限定はしないが、ラップトップおよびデスクトップコンピュータ、タブレット、スマートフォン、テレビ、家庭電化製品、セルラー電話、パーソナルテレビデバイス、携帯情報端末(PDA)、パームトップコンピュータ、ワイヤレス電子メールレシーバ、マルチメディアインターネット対応セルラー電話、グローバルポジショニングシステム(GPS)レシーバ、ワイヤレスゲームコントローラ、車両(たとえば、自動車)に内蔵されるレシーバ、インタラクティブゲームデバイス、ノートブック、スマートブック、ネットブック、モバイルテレビデバイス、または任意のデータ処理装置を含む、任意の形のプログラマブルコンピュータデバイスを指している。
【００３３】
十分なエントロピーを有する乱数を生成するために、これまでに説明された乱数発生器100利用することができる例示的なコンピューティングデバイス500が図5に示される。コンピューティングデバイス500は、バス505を介して電気的に結合することができる(または必要に応じて他の方法で通信することができる)ハードウェア要素を備えるように図示されている。ハードウェア要素は、限定はしないが、1つもしくは複数の汎用プロセッサおよび/または1つもしくは複数の専用プロセッサ(デジタル信号処理チップ、グラフィックスアクセラレーションプロセッサなど)を含む1つもしくは複数のプロセッサ510と、1つもしくは複数の入力デバイス515(たとえば、キーボード、キーパッド、タッチスクリーン、マウスなど)と、少なくとも1つのディスプレイデバイス521を含み、さらに、限定はしないが、スピーカ、プリンタなどを含むことができる1つもしくは複数の出力デバイス520とを含むことができる。
【００３４】
コンピューティングデバイス500は、限定はしないが、ローカルおよび/またはネットワークアクセス可能記憶装置を含むことができ、かつ/あるいは限定はしないが、ディスクドライブ、ドライブアレイ、光記憶デバイス、プログラム可能、フラッシュ書換え可能などとすることができる、ランダムアクセスメモリ(“RAM”)および/もしくはリードオンリーメモリ(“ROM”)などの固体記憶デバイス、ならびに/または同様のものを含むことができる、1つまたは複数の非一時的記憶デバイス525をさらに含む(かつ/または1つまたは複数の非一時的記憶デバイス525と通信する)ことができる。そのような記憶デバイスは、限定はしないが、種々のファイルシステム、データベース構造などを含む、任意の適切なデータストアを実現するように構成される場合がある。
【００３５】
コンピューティングデバイス500は、通信サブシステム530を含むこともでき、これは、限定はしないが、モデム、ネットワークカード(ワイヤレスもしくは有線)、赤外線通信デバイス、(Bluetooth(登録商標)デバイス、802.11デバイス、Wi-Fiデバイス、WiMaxデバイス、セルラー通信デバイスなどの)ワイヤレス通信デバイスおよび/もしくはチップセット、ならびに/または同類のものを含むこともできる。通信サブシステム530は、データが、ネットワーク、他のコンピュータシステム、および/または本明細書において説明される他の任意のデバイスとデータを交換できるようにする場合がある。多くの実施形態では、コンピューティングデバイス500は、先に説明されたRAMまたはROMデバイスを含むことができる作業メモリ535をさらに備える。さらに、コンピューティングデバイス500は、システムメモリ管理ユニット(MMU)を含むことができ、これは、メモリ参照がそれに通されるコンピュータハードウェアユニットであり、アプリケーションを実施するために、仮想メモリアドレスの物理アドレスへの変換を実行するのに使用される場合がある。コンピューティングデバイス500は、オペレーティングシステム540、アプリケーション545、デバイスドライバ、実行可能ライブラリおよび/または他のコードを含む、作業メモリ535内に現在配置されているように示される、ソフトウェア要素も含むことができる。
【００３６】
単なる例として、以下に論じられる方法に関連して説明される1つまたは複数の手順は、コンピュータデバイス(および/またはコンピュータデバイス内のプロセッサ)によって実行可能なコードおよび/または命令として実現することができ、本発明の実施形態によれば、一態様において、その後、そのようなコードおよび/または命令は、説明される方法に従って1つまたは複数の動作を実行するように汎用コンピュータ(たとえば、コンピューティングデバイス)を構成し、および/または適応させるために使用することができる。これらの命令および/またはコードのセットは、非一時的コンピュータ可読記憶媒体に記憶することができる。場合によっては、記憶媒体は、コンピューティングデバイス500などのコンピュータデバイス内に組み込まれる場合がある。他の実施形態では、記憶媒体は、コンピュータシステムとは別(たとえば、コンパクトディスクなどのリムーバブル媒体)とすることができ、かつ/または記憶媒体は、それに記憶された命令/コードで汎用コンピュータをプログラムし、構成し、かつ/もしくは適応させるために記憶媒体を使用できるような、インストールパッケージの形で提供することができる。これらの命令は、コンピュータ化されたコンピューティングデバイス500によって実行可能である実行可能コードの形をとることができ、かつ/または(たとえば、多様な一般に入手可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)コンピューティングデバイス500上でコンパイルおよび/もしくはインストールすると、実行可能コードの形をとる、ソースコードおよび/もしくはインストール可能コードの形をとることができる。
【００３７】
乱数発生器100は、例示的なコンピューティングデバイス500によって要求される任意の機能の場合に十分なエントロピーを有する乱数を生成するために、例示的なコンピューティングデバイス500によって利用される場合がある。
【００３８】
先に説明された本発明の態様は、プロセッサによる命令の実行に関連して実施される場合があることを理解されたい。詳細には、限定はしないが、プロセッサを含む、デバイスの回路は、プログラム、ルーチンの制御下、または命令の実行下で動作して、先に説明された本発明の実施形態による方法またはプロセスを実行することができる。たとえば、そのようなプログラムは、(たとえば、メモリおよび/または他のロケーションに記憶される)ファームウェアまたはソフトウェアにおいて実現される場合があり、デバイスのプロセッサおよび/または他の回路によって実施される場合がある。さらに、プロセッサ、マイクロプロセッサ、回路、コントローラなどの用語は、論理、コマンド、命令、ソフトウェア、ファームウェア、機能などを実行することが可能な任意のタイプの論理または回路を指すことを理解されたい。
【００３９】
デバイスがモバイルデバイスまたはワイヤレスデバイスであるとき、それらのデバイスは、任意の適切なワイヤレス通信技術に基づくか、または別の方法でその技術をサポートするワイヤレスネットワークを通じて1つまたは複数のワイヤレス通信リンクを介して通信する場合があることを理解されたい。たとえば、いくつかの態様では、ワイヤレスデバイスおよび他のデバイスは、ワイヤレスネットワークを含むネットワークと関連付けることができる。いくつかの態様では、ネットワークは、ボディエリアネットワークまたはパーソナルエリアネットワーク(たとえば超広帯域ネットワーク)を含む場合がある。いくつかの態様では、ネットワークは、ローカルエリアネットワークまたはワイドエリアネットワークを含む場合がある。ワイヤレスデバイスは、様々なワイヤレス通信技術、プロトコル、またはたとえば3G、LTE、Advanced LTE、4G、CDMA、TDMA、OFDM、OFDMA、WiMAX、およびWiFiなどの規格のうちの1つまたは複数をサポートするか、または別の方法で使用する場合がある。同様に、ワイヤレスデバイスは、様々な対応する変調方式または多重化方式のうちの1つまたは複数をサポートするか、または別の方法で使用する場合がある。したがって、ワイヤレスデバイスは、上記または他のワイヤレス通信技術を使用して、1つまたは複数のワイヤレス通信リンクを確立し、その通信リンクを介して通信するのに適した構成要素(たとえばエアインターフェース)を含む場合がある。たとえば、デバイスは、ワイヤレス媒体を介して通信するのを容易にする種々の構成要素(たとえば、信号発生器およびシグナルプロセッサ)を含む場合がある、関連するトランスミッタおよびレシーバ構成要素(たとえば、トランスミッタおよびレシーバ)を備えるワイヤレストランシーバを含む場合がある。よく知られているように、したがって、モバイルワイヤレスデバイスは、他のモバイルデバイス、携帯電話、他の有線およびワイヤレスコンピュータ、インターネットウェブサイトなどとワイヤレスに通信する場合がある。
【００４０】
本明細書の教示は、様々な装置(たとえば、デバイス)に組み込まれる(たとえば、それらの装置内に実装されるか、またはそれらの装置によって実行される)場合がある。たとえば、本明細書において教示される1つまたは複数の態様は、電話(たとえば、セルラー電話)、携帯情報端末(“PDA”)、タブレット、モバイルコンピュータ、ラップトップコンピュータ、エンターテインメントデバイス(たとえば、音楽デバイスもしくはビデオデバイス)、ヘッドセット(たとえば、ヘッドフォン、イヤピースなど)、医療デバイス(たとえば、生体センサ、心拍数モニタ、歩数計、EKGデバイスなど)、ユーザI/Oデバイス、コンピュータ、有線コンピュータ、固定コンピュータ、デスクトップコンピュータ、サーバ、店頭デバイス、セットトップボックス、または任意の他の適切なデバイスに組み込まれる場合がある。これらのデバイスは、異なる電力要件およびデータ要件を有する場合がある。
【００４１】
いくつかの態様では、ワイヤレスデバイスは、通信システムのためのアクセスデバイス(たとえばWi-Fiアクセスポイント)を含む場合がある。そのようなアクセスデバイスは、たとえば、有線またはワイヤレスの通信リンクを介しての、別のネットワーク(たとえば、インターネットまたはセルラーネットワークなどのワイドエリアネットワーク)への接続を提供することができる。したがって、アクセスデバイスによって、別のデバイス(たとえばWiFi局)が他のネットワークまたは何らかの他の機能にアクセスできるようになる場合がある。
【００４２】
様々な異なる技術および技法のいずれかを使用して情報および信号が表される場合があることは当業者であれば理解されよう。たとえば、上記の説明全体を通して参照される場合があるデータ、命令、指令、情報、信号、ビット、記号およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表される場合がある。
【００４３】
本明細書において開示される実施形態に関連して説明される種々の例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実現される場合があることは、当業者はさらに理解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップが、全般にそれらの機能に関してこれまで説明されてきた。そのような機能がハードウェアとして実現されるか、ソフトウェアとして実現されるかは、特定の適用例およびシステム全体に課される設計制約によって決まる。当業者は、特定の適用例ごとに様々な方法で記載された機能を実現することができるが、そのような実施態様の決定は、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００４４】
本明細書において開示される実施形態に関連して説明される種々の例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途用集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別のゲートもしくはトランジスタ論理、個別のハードウェア構成要素、または本明細書において説明された機能を果たすように設計されたこれらの任意の組合せを用いて、実現されるか、または実行される場合がある。汎用プロセッサはマイクロプロセッサとすることが、代替形態では、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、またはステートマシンとすることができる。また、プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実現される場合もある。
【００４５】
本明細書において開示される実施形態との関連で説明された方法またはアルゴリズムのステップは、ハードウェアにおいて直接、または、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこの2つの組合せにおいて具現される場合がある。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意のその他の形の記憶媒体内に存在する場合がある。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み出し、かつ、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替形態では、記憶媒体は、プロセッサと一体に構成することができる。プロセッサおよび記憶媒体は、ASIC内に存在する場合がある。ASICは、ユーザ端末内に存在する場合がある。代替形態では、プロセッサおよび記憶媒体は、ユーザ端末内に個別構成要素として存在する場合がある。
【００４６】
1つまたは複数の例示的な実施形態では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実現される場合がある。コンピュータプログラム製品としてソフトウェアで実現される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信される場合がある。コンピュータ可読媒体は、コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体との両方を含む。記憶媒体は、コンピュータによってアクセス可能である任意の入手可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形において所望のプログラムコードを搬送もしくは記憶するために使用することができ、コンピュータによってアクセスすることができる任意の他の媒体を含むことができる。また、あらゆる接続がコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合には、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書において使用されるとき、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記のものの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００４７】
開示された実施形態のこれまでの説明は、当業者が本発明を構成または使用できるようにするために提供される。これらの実施形態に対する種々の変更形態が、当業者には容易に理解され、本明細書において規定される一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用される場合がある。したがって、本発明は、本明細書において示される実施形態に限定されるものではなく、本明細書において開示される原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００４８】
100  乱数発生器回路
102  加算アナログ増幅器
103  アナログブロック
106  積分器
110  しきい値検出器
120  ラッチ
124  クロック
130  ランダム化されたデジタルビットパターン
140  利得コントローラ
202  電圧制御電流源
204  キャパシタ
300  グラフ
302  ライン
306  ライン
310  ライン
500  コンピューティングデバイス
505  バス
510  プロセッサ
515  入力デバイス
520  出力デバイス
521  ディスプレイデバイス
525  記憶デバイス
530  通信サブシステム
535  作業メモリ
540  オペレーティングシステム
545  アプリケーション
【図１】
2017518692.tif 000003
【図２】
2017518692.tif 000004
【図３】
2017518692.tif 000005
【図４】
2017518692.tif 000006
【図５】
2017518692.tif 000007
【手続補正書】
【提出日】平成28年11月15日(2016.11.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
乱数発生器であって、
アナログブロックであって、
加算アナログ増幅器と、
前記加算アナログ増幅器に結合される積分器であって、前記積分器の出力は前記加算アナログ増幅器にフィードバックされる、積分器と
を含む、アナログブロックと、
前記積分器に結合されるしきい値検出器と、
前記しきい値検出器およびクロックに結合されるラッチであって、前記ラッチは、前記しきい値検出器からの出力に基づいて、ランダム化されたデジタルビットパターンを出力し、前記加算アナログ増幅器は、前記ランダム化されたデジタルビットパターンを前記積分器の前記フィードバックされた出力に加算する、ラッチと、
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記アナログブロックに利得を適用して前記アナログブロックのループ利得を変更する利得コントローラであって、前記加算アナログ増幅器および前記積分器は、インパルス応答が時間とともに指数関数的に増加する電圧である右半面極通過関数を実現する利得コントローラと
を備える、乱数発生器。
【請求項２】
前記利得コントローラは、前記適用される利得を通して、前記積分器の出力が、前記クロックの先行するサイクル後に前記クロックの1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ前記出力されるランダム化されたデジタルビットパターンの前記エントロピーが十分に高いほど十分に短くなるように、前記アナログブロックの時定数を調整する、請求項1に記載の乱数発生器。
【請求項３】
前記積分器は、電圧制御電流源およびキャパシタである、請求項1に記載の乱数発生器。
【請求項４】
前記電圧制御電流源はトランジスタ回路である、請求項3に記載の乱数発生器。
【請求項５】
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記利得コントローラは、前記電圧制御電流源に利得を適用して時定数を変更する、請求項3に記載の乱数発生器。
【請求項６】
前記加算アナログ増幅器および前記積分器の回路特性の経時的な電圧および温度変動を反映する、前記出力されるランダム化されたデジタルビットパターンの計算された統計値に基づいて、前記利得コントローラは前記アナログブロックに前記利得を適用する、請求項1に記載の乱数発生器。
【請求項７】
前記出力されるランダム化されたデジタルビットパターンの所定の量の連続する数の検出に基づいて、前記利得コントローラは、前記アナログブロックに前記利得を適用して前記アナログブロックの時定数を変更する、請求項1に記載の乱数発生器。
【請求項８】
前記出力されるランダム化されたデジタルビットパターン内の所定の特定のビットパターンの検出の発生に基づいて、前記利得コントローラは、前記アナログブロックに前記利得を適用して前記アナログブロックの時定数を変更する、請求項1に記載の乱数発生器。
【請求項９】
前記乱数発生器は、シリコンベースのシステムオンチップ(SoC)上に構成される、請求項1に記載の乱数発生器。
【請求項１０】
乱数発生器であって、
アナログブロックであって、
加算アナログ増幅器と、
キャパシタに結合され、かつ前記加算アナログ増幅器に結合される電圧制御電流源であって、前記電圧制御電流源の出力は前記加算アナログ増幅器にフィードバックされる、電圧制御電流源と
を含む、アナログブロックと、
前記電圧制御電流源に結合されるしきい値検出器と、
前記しきい値検出器およびクロックに結合されるラッチであって、前記ラッチは、前記しきい値検出器からの出力に基づいて、ランダム化されたデジタルビットパターンを出力し、前記加算アナログ増幅器は、前記ランダム化されたデジタルビットパターンを前記電圧制御電流源の前記フィードバックされた出力に加算し、前記加算アナログ増幅器と、前記キャパシタに結合される前記電圧制御電流源とは、インパルス応答が時間とともに指数関数的に増加する電圧である右半面極通過関数を実現する、ラッチと
を備える、乱数発生器。
【請求項１１】
前記電圧制御電流源および前記キャパシタに結合される前記加算アナログ増幅器は、前記ラッチから出力される前記出力されるランダム化されたデジタルビットパターンが常に、前記加算アナログ増幅器にフィードバックされる前記電圧制御電流源の前記出力を超えるように構成され、それにより、前記電圧制御電流源からの出力が飽和状態にあっても、前記ラッチからの前記出力の結果として、前記電圧制御電流源からの前記出力が、飽和した出力状態から離れる方向に動き始めるようにする、請求項10に記載の乱数発生器。
【請求項１２】
前記電圧制御電流源はトランジスタ回路である、請求項10に記載の乱数発生器。
【請求項１３】
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記アナログブロックに利得を適用して前記アナログブロックの時定数を変更する利得コントローラをさらに備える、請求項10に記載の乱数発生器。
【請求項１４】
前記利得コントローラは、適用される利得を通して、前記積分器の出力が、前記クロックの先行するサイクル後に前記クロックの1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ前記出力されるランダム化されたデジタルビットパターンの前記エントロピーが十分であるほど十分に短くなるように、前記アナログブロックの前記時定数を調整する、請求項13に記載の乱数発生器。
【請求項１５】
前記加算アナログ増幅器、前記電圧制御電流源および前記キャパシタの特性の経時的な電圧および温度変動を反映する、前記出力されるランダム化されたデジタルビットパターンの計算された統計値に基づいて、前記利得コントローラは前記アナログブロックに前記利得を適用する、請求項13に記載の乱数発生器。
【請求項１６】
前記出力されるランダム化されたデジタルビットパターン内の所定の数の連続して繰り返されるビットからなるパターンの検出に基づいて、前記利得コントローラは、前記アナログブロックに前記利得を適用して前記アナログブロックの時定数を変更する、請求項13に記載の乱数発生器。
【請求項１７】
前記出力されるランダム化されたデジタルビットパターン内の所定の特定のビットパターンの検出に基づいて、前記利得コントローラは、前記アナログブロックに前記利得を適用して前記アナログブロックの時定数を変更する、請求項13に記載の乱数発生器。
【請求項１８】
前記乱数発生器は、シリコンベースのシステムオンチップ(SoC)に組み込まれる、請求項10に記載の乱数発生器。
【請求項１９】
加算アナログ増幅器出力を生成するために、加算アナログ増幅器において、ランダム化されたデジタルビットパターンを積分器の出力に加算するステップと、
前記加算アナログ増幅器出力を前記積分器に伝送するステップと、
前記積分器の前記出力を前記加算アナログ増幅器にフィードバックするステップと、
前記積分器からの前記出力をしきい値検出器への入力として伝送するステップと、
前記しきい値検出器からの出力をラッチに伝送するステップであって、前記しきい値検出器からの前記出力に基づいて、前記ラッチは、前記ランダム化されたデジタルビットパターンを出力し、前記ランダム化されたデジタルビットパターンは前記加算アナログ増幅器にフィードバックされる、伝送するステップと、
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記加算アナログ増幅器に利得を適用して前記加算アナログ増幅器および前記積分器のループ利得を変更するステップであって、前記加算アナログ増幅器および前記積分器は、インパルス応答が時間とともに指数関数的に増加する電圧である右半面極通過関数を実現する、変更するステップと
を含む、方法。
【請求項２０】
前記積分器の出力が、クロックの先行するサイクル後に前記クロックの1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ前記出力されるランダム化されたデジタルビットパターンの前記エントロピーが十分であるほど十分に短くなるように、利得を適用して前記加算アナログ増幅器および前記積分器からなる閉ループ回路の時定数を調整するステップをさらに含む、請求項19に記載の方法。
【請求項２１】
前記積分器は、電圧制御電流源およびキャパシタである、請求項19に記載の方法。
【請求項２２】
前記電圧制御電流源はトランジスタ回路である、請求項21に記載の方法。
【請求項２３】
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記電圧制御電流源に利得を適用して時定数を変更するステップをさらに含む、請求項21に記載の方法。
【請求項２４】
前記加算アナログ増幅器および前記積分器の回路特性の経時的な電圧および温度変動を反映する、前記出力されるランダム化されたデジタルビットパターンの計算された統計値に基づいて、前記加算アナログ増幅器に前記利得を適用するステップをさらに含む、請求項19に記載の方法。
【請求項２５】
前記出力されるランダム化されたデジタルビットパターンの所定の量の連続する数の検出に基づいて、前記加算アナログ増幅器に前記利得を適用して前記加算アナログ増幅器の時定数を変更するステップをさらに含む、請求項19に記載の方法。
【請求項２６】
前記出力されるランダム化されたデジタルビットパターンの所定の特定のビットパターンの検出に基づいて、前記加算アナログ増幅器に前記利得を適用して前記加算アナログ増幅器および前記積分器からなる閉ループ回路の時定数を変更するステップをさらに含む、請求項19に記載の方法。
【請求項２７】
加算アナログ増幅器出力を生成するために、加算アナログ増幅器において、ランダム化されたデジタルビットパターンをキャパシタに結合される電圧制御電流源の出力に加算するステップと、
前記加算アナログ増幅器出力を前記電圧制御電流源に伝送するステップと、
前記電圧制御電流源の前記出力を前記加算アナログ増幅器にフィードバックするステップと、
前記電圧制御電流源からの前記出力をしきい値検出器への入力として伝送するステップと、
前記しきい値検出器からの出力をラッチに伝送するステップであって、前記しきい値検出器からの前記出力に基づいて、前記ラッチは、前記ランダム化されたデジタルビットパターンを出力し、前記ランダム化されたデジタルビットパターンは前記加算アナログ増幅器にフィードバックされ、前記加算アナログ増幅器、および前記キャパシタに結合される前記電圧制御電流源は、インパルス応答が時間とともに指数関数的に増加する電圧である右半面極通過関数を実現する、伝送するステップと
を含む、方法。
【請求項２８】
前記電圧制御電流源および前記キャパシタに結合される前記加算アナログ増幅器は、前記ラッチから出力される前記出力されるランダム化されたデジタルビットパターンが常に、前記加算アナログ増幅器にフィードバックされる前記電圧制御電流源の前記出力を超えるように構成され、それにより、前記電圧制御電流源からの出力が飽和状態にあっても、前記ラッチからの前記出力の結果として、前記電圧制御電流源からの前記出力が、飽和した出力状態から離れる方向に動き始めるようにする、請求項27に記載の方法。
【請求項２９】
前記電圧制御電流源はトランジスタ回路である、請求項27に記載の方法。
【請求項３０】
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、前記加算アナログ増幅器に利得を適用して前記加算アナログ増幅器および前記積分器からなる閉ループ回路の時定数を変更するステップをさらに含む、請求項27に記載の方法。
【請求項３１】
前記加算アナログ増幅器および前記積分器からなる前記閉ループ回路の前記時定数を調整するために適用される前記利得は、前記積分器の出力が、クロックの先行するサイクル後に前記クロックの1クロックサイクル内で非飽和範囲から発散しないようにするほど十分に長くなり、かつ前記出力されるランダム化されたデジタルビットパターンの前記エントロピーが十分に高いほど十分に短くなるように構成される、請求項30に記載の方法。
【請求項３２】
前記加算アナログ増幅器に適用される前記利得は、前記加算アナログ増幅器、前記電圧制御電流源および前記キャパシタの経時的な電圧および温度変動を反映する、前記出力されるランダム化されたデジタルビットパターンの計算された統計値に基づく、請求項30に記載の方法。
【請求項３３】
前記加算アナログ増幅器の時定数を変更するために前記加算アナログ増幅器に適用される前記利得は、前記出力されるランダム化されたデジタルビットパターンの所定の量の連続する数の検出に基づく、請求項30に記載の方法。
【請求項３４】
前記加算アナログ増幅器および前記積分器からなる前記閉ループ回路の時定数を変更するために前記加算アナログ増幅器に適用される前記利得は、前記出力されるランダム化されたデジタルビットパターンの所定の特定のビットパターンの検出に基づく、請求項30に記載の方法。
【請求項３５】
出力を生成するために、ラッチから受信されたランダム化されたデジタルビットパターンを積分器の出力に加算するための手段と、
前記出力を前記積分器に伝送するための手段と、
前記積分器からの前記出力をしきい値検出器への入力として伝送するための手段と、
前記しきい値検出器からの出力を前記ラッチに伝送するための手段であって、前記しきい値検出器からの前記出力に基づいて、前記ラッチは前記ランダム化されたデジタルビットパターンを出力する、伝送するための手段と、
前記出力されるランダム化されたデジタルビットパターンの十分なエントロピーを確保するために、利得を適用して時定数を変更するための手段であって、前記加算するための手段および前記積分器は、インパルス応答が時間とともに指数関数的に増加する電圧である右半面極通過関数を実現する、利得を適用して時定数を変更するための手段と
を備える、乱数発生器。
【請求項３６】
前記積分器は、電圧制御電流源およびキャパシタである、請求項35に記載の乱数発生器。
【請求項３７】
前記電圧制御電流源はトランジスタ回路である、請求項36に記載の乱数発生器。
【請求項３８】
前記出力されるランダム化されたデジタルビットパターンの所定の量の連続する数の検出に基づいて、前記利得を適用して時定数を変更するための手段をさらに備える、請求項35に記載の乱数発生器。
【請求項３９】
前記出力されるランダム化されたデジタルビットパターンの所定の特定のビットパターンの検出に基づいて、前記利得を適用して時定数を変更するための手段をさらに備える、請求項35に記載の乱数発生器。
【国際調査報告】
2017518692.tif 000008
2017518692.tif 000009