JP5356362B2 - 乱数生成回路 - Google Patents
乱数生成回路 Download PDFInfo
- Publication number
- JP5356362B2 JP5356362B2 JP2010279262A JP2010279262A JP5356362B2 JP 5356362 B2 JP5356362 B2 JP 5356362B2 JP 2010279262 A JP2010279262 A JP 2010279262A JP 2010279262 A JP2010279262 A JP 2010279262A JP 5356362 B2 JP5356362 B2 JP 5356362B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- ring oscillator
- logic gate
- sampling clock
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
図1において、実施例1は、図11に示す従来の乱数生成回路の複数個(M個)のリングオシレータ10−1〜10−Mの1つ(ここでは10−1)を、N個(Nは奇数)のNANDゲートにより構成した場合の回路を示す。すなわち、請求項におけるM1=1、M2=(M−1)の例を示す。
制御部100は、動作ON/OFF制御信号とシステムクロックを入力し、動作ON/OFF制御信号がHighのときにシステムクロックを分周(ここでは4分周)してD−FF22に与えるサンプリングクロックを生成し、必要に応じて乱数有効表示信号を生成する。
一般に1つのNANDゲートを用いるリングオシレータでは、自己発振動作の開始直後は、発振のジッタ成分が十分蓄積されておらずランダム性の効果が不十分と考えられる。そのため、制御部100でサンプリングクロック数をカウントし、カウンタ値がある一定数に達した段階で乱数有効表示信号を有効にすることにより、D−FFから十分なランダム性を備えた乱数値を取得する。この乱数有効表示信号を有効にするカウンタ値は、実評価結果から経験値として決める。例えば、最初の 100ビットを破棄して 101ビット目から有効とする。
図4において、実施例2は、図1または図3に示す実施例1の動作ON/OFF制御信号をリングオシレータ10−1の各NANDゲートに分配するバッファ11に代えて、インバータ31で反転したサンプリングクロックと動作ON/OFF制御信号の論理積出力を各NANDゲートに分配するAND回路12を用いた構成である。
図5において、M個のリングオシレータ10−1〜10−Mのうち、実施例1と同様に少なくとも1つのリングオシレータがN個のNANDゲートで構成される場合に、各リングオシレータの中間ノード出力をサンプリングクロックに同期した前段D−FF23−1〜23−Mでそれぞれラッチする。さらに、前段D−FF23−1〜23−Mの各出力はM入力XOR21に入力され、その出力が後段D−FF24に入力される。後段D−FF24は、前段D−FF23−1〜23−Mと同期したサンプリングクロックにより、M入力XOR21の出力をラッチし、乱数値として出力する。基本的な動作は実施例1と同様である。
図6において、実施例4は、図5に示す実施例3の動作ON/OFF制御信号をリングオシレータ10−1の各NANDゲートに分配するバッファ11に代えて、インバータ31で反転したサンプリングクロックと動作ON/OFF制御信号の論理積出力を各NANDゲートに分配するAND回路12を用いた構成である。
動作ON/OFF制御信号がHighのときにシステムクロックを4分周して生成されるサンプリングクロックは、前段D−FF23−1,23−2に与えられる。さらに、動作ON/OFF制御信号がHighのときに、サンプリングクロックからセレクタ制御信号および出力用クロックが生成される。セレクタ26を制御するセレクタ制御信号は、サンプリングクロックのM回に1回の頻度で前段D−FF23−1のラッチ出力を選択し、(M−1)回は前段D−FF23−1のラッチ出力と前段D−FF23−2のラッチ出力とのXOR出力を選択するように設定される。これは、実施例3のM個のリングオシレータ10−1〜10−Mの1サンプリング毎の出力を前段D−FF23−1〜23−Mでラッチし、M入力XOR21に入力することと等価である。出力用クロックは、周波数SのサンプリングクロックをM分周した周波数S/Mのクロックである。後段D−FF22は、この出力用クロックで前段D−FF23−2の出力をラッチし、乱数値として出力する。
図9において、実施例6は、図7に示す実施例5の動作ON/OFF制御信号をリングオシレータ10の各NANDゲートに分配するバッファ11に代えて、インバータ31で反転したサンプリングクロックと動作ON/OFF制御信号の論理積出力を各NANDゲートに分配するAND回路12を用いた構成である。
11 バッファ
12 AND回路
21 M入力XOR
22 D−FF
23 前段D−FF
24 後段D−FF
25 2入力XOR
26 セレクタ
31 インバータ
100,200 制御部
Claims (8)
- 1以上のリングオシレータの出力を用いて乱数を生成する乱数生成回路において、
少なくとも1つのリングオシレータは、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成され、各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、各論理ゲートの出力にそれぞれインバータが接続され、それらインバータのいずれか1つの出力を当該リングオシレータの出力とする構成である
ことを特徴とする乱数生成回路。 - 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、
偶数段のインバータと1段の論理ゲートで構成されたM2個(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、
前記第1のリングオシレータの中間ノード出力と前記第2のリングオシレータの中間ノード出力の排他的論理和をとる(M1+M2)入力XORと、
前記(M1+M2)入力XORの出力をサンプリングクロックでラッチし、乱数値として出力するD−FFと、
前記サンプリングクロックを生成する制御部と
を備え、
前記第1のリングオシレータを構成する各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、
前記第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。 - 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、
偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、
前記第1のリングオシレータの中間ノード出力と前記第2のリングオシレータの中間ノード出力の排他的論理和をとる(M1+M2)入力XORと、
前記(M1+M2)入力XORの出力をサンプリングクロックでラッチし、乱数値として出力するD−FFと、
前記サンプリングクロックを生成する制御部と
を備え、
前記第1のリングオシレータを構成する各論理ゲートの他方の入力に、当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号と前記サンプリングクロックの反転信号とのAND出力が接続され、
前記第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。 - 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、
偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、
前記第1のリングオシレータの中間ノード出力と前記第2のリングオシレータの中間ノード出力をサンプリングクロックでそれぞれラッチする(M1+M2)個の前段D−FFと、
前記(M1+M2)個の前段D−FFの各ラッチ出力の排他的論理和をとる(M1+M2)入力XORと、
前記(M1+M2)入力XORの出力を前記サンプリングクロックでラッチし、乱数値として出力する後段D−FFと、
前記サンプリングクロックを生成する制御部と
を備え、
前記第1のリングオシレータを構成する各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、
前記第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。 - 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、
偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、
前記第1のリングオシレータの中間ノード出力と前記第2のリングオシレータの中間ノード出力をサンプリングクロックでそれぞれラッチする(M1+M2)個の前段D−FFと、
前記(M1+M2)個の前段D−FFの各ラッチ出力の排他的論理和をとる(M1+M2)入力XORと、
前記(M1+M2)入力XORの出力を前記サンプリングクロックでラッチし、乱数値として出力する後段D−FFと、
前記サンプリングクロックを生成する制御部と
を備え、
前記第1のリングオシレータを構成する各論理ゲートの他方の入力に、当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号と前記サンプリングクロックの反転信号とのAND出力が接続され、
前記第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。 - 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたリングオシレータと、
前記リングオシレータの中間ノード出力を周波数Sのサンプリングクロックでラッチする第1の前段D−FFと、
周波数Sのサンプリングクロックで入力信号をラッチする第2の前段D−FFと、
前記第2の前段D−FFのラッチ出力と、前記第1の前段D−FFのラッチ出力との排他的論理和をとる2入力XORと、
セレクタ制御信号により、前記サンプリングクロックのM回(Mは2以上の整数)に1回の頻度で前記第1の前段D−FFの出力を選択し、前記サンプリングクロックの(M−1)回は前記2入力XORの出力を選択し、前記第2の前段D−FFに入力するセレクタと、
前記周波数SのサンプリングクロックをM分周した周波数S/Mの出力用クロックで前記第2の前段D−FFの出力をラッチし、乱数値として出力する後段D−FFと、
前記周波数Sのサンプリングクロック、前記セレクタ制御信号、前記周波数S/Mの出力用クロックを生成する制御部と
を備え、
前記リングオシレータを構成する各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、
前記リングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。 - 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたリングオシレータと、
前記リングオシレータの中間ノード出力を周波数Sのサンプリングクロックでラッチする第1の前段D−FFと、
周波数Sのサンプリングクロックで入力信号をラッチする第2の前段D−FFと、
前記第2の前段D−FFのラッチ出力と、前記第1の前段D−FFのラッチ出力との排他的論理和をとる2入力XORと、
セレクタ制御信号により、前記サンプリングクロックのM回(Mは2以上の整数)に1回の頻度で前記第1の前段D−FFの出力を選択し、前記サンプリングクロックの(M−1)回は前記2入力XORの出力を選択し、前記第2の前段D−FFに入力するセレクタと、
前記周波数SのサンプリングクロックをM分周した周波数S/Mの出力用クロックで前記第2の前段D−FFの出力をラッチし、乱数値として出力する後段D−FFと、
前記周波数Sのサンプリングクロック、前記セレクタ制御信号、前記周波数S/Mの出力用クロックを生成する制御部と
を備え、
前記リングオシレータを構成する各論理ゲートの他方の入力に、当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号と前記周波数Sのサンプリングクロックの反転信号とのAND出力が接続され、
前記リングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。 - 請求項1〜請求項7のいずれかに記載の乱数生成回路において、
前記論理ゲートは、NANDゲートまたはNORゲートであることを特徴とする乱数生成回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010279262A JP5356362B2 (ja) | 2010-12-15 | 2010-12-15 | 乱数生成回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010279262A JP5356362B2 (ja) | 2010-12-15 | 2010-12-15 | 乱数生成回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012129784A JP2012129784A (ja) | 2012-07-05 |
JP5356362B2 true JP5356362B2 (ja) | 2013-12-04 |
Family
ID=46646355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010279262A Active JP5356362B2 (ja) | 2010-12-15 | 2010-12-15 | 乱数生成回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5356362B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141338B2 (en) | 2012-11-16 | 2015-09-22 | Arm Limited | Storage circuit with random number generation mode |
JP6034153B2 (ja) * | 2012-11-21 | 2016-11-30 | 株式会社東芝 | 乱数生成回路 |
JP2018112861A (ja) * | 2017-01-11 | 2018-07-19 | キヤノン株式会社 | 乱数生成装置、集積回路 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3052691B2 (ja) * | 1993-09-28 | 2000-06-19 | 株式会社デンソー | パルス位相差符号化回路 |
JP4248950B2 (ja) * | 2003-06-24 | 2009-04-02 | 株式会社ルネサステクノロジ | 乱数発生装置 |
JP2005057164A (ja) * | 2003-08-07 | 2005-03-03 | Matsushita Electric Ind Co Ltd | 半導体装置 |
JP4471901B2 (ja) * | 2005-07-28 | 2010-06-02 | 株式会社ルネサステクノロジ | 乱数発生装置 |
JP5034834B2 (ja) * | 2007-09-28 | 2012-09-26 | 富士通セミコンダクター株式会社 | 半導体装置、および半導体装置における制御方法 |
DE102008018678B4 (de) * | 2008-04-14 | 2011-02-03 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge |
-
2010
- 2010-12-15 JP JP2010279262A patent/JP5356362B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012129784A (ja) | 2012-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Golic | New methods for digital generation and postprocessing of random data | |
US8531247B2 (en) | Device and method for generating a random bit sequence | |
US9405510B2 (en) | Random number generator | |
Danger et al. | High speed true random number generator based on open loop structures in FPGAs | |
JP5074359B2 (ja) | 乱数生成回路 | |
US9846568B2 (en) | System and method for dynamic tuning feedback control for random number generator | |
KR101987141B1 (ko) | 난수 발생기 | |
TWI520055B (zh) | 用於產生隨機數之裝置與方法 | |
KR20050001377A (ko) | 링 발진 회로를 구비한 난수 발생 장치 | |
US20130346459A1 (en) | Method for generating random numbers | |
Wu et al. | A new digital true random number generator based on delay chain feedback loop | |
Sivaraman et al. | FPGA based generic RO TRNG architecture for image confusion | |
JP5465636B2 (ja) | 乱数生成回路 | |
JP5356362B2 (ja) | 乱数生成回路 | |
Wu et al. | Ultra-lightweight true random number generators | |
Yakut et al. | Secure and efficient hybrid random number generator based on sponge constructions for cryptographic applications | |
Jin et al. | A dynamically reconfigurable entropy source circuit for high-throughput true random number generator | |
TWI579763B (zh) | 具有亂數產生模式的儲存電路 | |
TW202105919A (zh) | 熵產生器及產生增強熵的方法 | |
Choe et al. | A self-timed ring based TRNG with feedback structure for FPGA implementation | |
Acar et al. | A random number generator based on irregular sampling and transient effect ring oscillators | |
Ni et al. | MRCO: A multi-ring convergence oscillator-based high-efficiency true random number generator | |
TWI497409B (zh) | 亂數產生器及其亂數產生方法 | |
Ma et al. | A low-cost high-efficiency true random number generator on FPGAs | |
Yao et al. | DCDRO: A true random number generator based on dynamically configurable dual-output ring oscillator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130329 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130828 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5356362 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |