JP4559985B2 - 乱数発生回路 - Google Patents

乱数発生回路 Download PDF

Info

Publication number
JP4559985B2
JP4559985B2 JP2006067462A JP2006067462A JP4559985B2 JP 4559985 B2 JP4559985 B2 JP 4559985B2 JP 2006067462 A JP2006067462 A JP 2006067462A JP 2006067462 A JP2006067462 A JP 2006067462A JP 4559985 B2 JP4559985 B2 JP 4559985B2
Authority
JP
Japan
Prior art keywords
circuit
random
signal
sampling
ring oscillator
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.)
Expired - Fee Related
Application number
JP2006067462A
Other languages
English (en)
Other versions
JP2006294001A (ja
Inventor
木 健 聡 鈴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006067462A priority Critical patent/JP4559985B2/ja
Priority to US11/376,659 priority patent/US7702705B2/en
Publication of JP2006294001A publication Critical patent/JP2006294001A/ja
Application granted granted Critical
Publication of JP4559985B2 publication Critical patent/JP4559985B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/354Astable circuits

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Pulse Circuits (AREA)

Description

本発明は、乱数を発生させる乱数発生回路に関する。
CMOSインバータを1段または3段接続した発振回路と、この発振回路で生成した発振信号をラッチするフリップフロップと、フリップフロップの出力信号に基づいて疑似乱数を生成する帰還シフトレジスタとを備えた乱数発生回路が知られている(特許文献1参照)。
この種の従来の乱数発生回路は、フリップフロップの出力信号を種(シード)として帰還シフトレジスタに入力している。後段の帰還シフトレジスタ等で乱数のランダム性を向上させることはある程度は可能であるが、帰還シフトレジスタに入力されるシードが十分なランダム性を持たない限り、最終的に得られる乱数の衝突確率を低減することはできない。
乱数の衝突確率は、フリップフロップで生成されるシードの不確定性に依存するが、この不確定性は主に、CMOSインバータで構成される発振回路が温度及び電源電圧の変動に対して不安定であることに依存する。この不安定性のみでは、乱数生成時間内に、温度、電源電圧等に大きな外乱要因が無い限り、従来の方法では同一のシードを生成する確率が高く、乱数の衝突確率を低下させることは困難である。したがって、従来の乱数発生回路では、質のよい乱数が得られないという問題がある。
特開2002-236582公報
本発明の目的は、ランダム性が高く、質のよい乱数を生成可能な乱数発生回路を提供することにある。
本発明の一態様によれば、リング状に接続された奇数個の反転増幅器を有するリング発振器と、基準クロック信号を遅延させて所定のクロック信号を生成する遅延制御回路と、前記リング発振器で生成された発振信号を前記所定のクロック信号でサンプリングする第1のサンプリング回路と、前記第1のサンプリング回路でサンプリングされたサンプリング信号の「0」と「1」の出現頻度を均一化する第1の論理均一化回路と、前記第1の論理均一化回路の出力信号に基づいて、ランダムシリアルデータを生成する線形帰還シフトレジスタ(LFSR:Linear Feedback Shift Register)と、前記ランダムシリアルデータを直並列変換して、前記遅延制御回路の遅延量を制御するのに用いられるランダムパラレルデータを生成する直並列変換器と、を備える。
本発明の一態様では、リング状に接続された奇数個の反転増幅器と、前記奇数個の反転増幅器のそれぞれの電源経路に接続される奇数個の電流増幅回路と、を有するリング発振器と、
前記リング発振器で生成された発振信号を所定のクロック信号でサンプリングする第1のサンプリング回路と、
前記第1のサンプリング回路でサンプリングされたサンプリング信号の「0」と「1」の出現頻度を均一化する第1の論理均一化回路と、
前記第1の論理均一化回路の出力信号に基づいて、ランダムシリアルデータを生成する線形帰還シフトレジスタ(LFSR:Linear Feedback Shift Register)と、
前記ランダムシリアルデータを直並列変換して、ランダムパラレルデータを生成する直並列変換器と、を備えることを特徴とする乱数発生回路が提供される。
本発明の一態様では、リング状に接続された奇数個の反転増幅器と、前記奇数個の反転増幅器それぞれの駆動能力を電圧制御する奇数個の電圧制御回路と、を有するリング発振型VCOと、
前記リング発振型VCOで生成された発振信号を所定のクロック信号でサンプリングする第1のサンプリング回路と、
前記第1のサンプリング回路でサンプリングされたサンプリング信号の「0」と「1」の出現頻度を均一化する第1の論理均一化回路と、
前記第1の論理均一化回路の出力信号に基づいて、ランダムシリアルデータを生成する線形帰還シフトレジスタ(LFSR:Linear Feedback Shift Register)と、
前記ランダムシリアルデータを直並列変換して、ランダムパラレルデータを生成する直並列変換器と、を備えることを特徴とする乱数発生回路が提供される。
本発明によれば、ランダム性が高く質のよい乱数を生成することができる。
以下、図面を参照しながら、本発明の実施形態について説明する。
(第1の実施形態)
図1は本発明の一実施形態に係る乱数発生回路の概略構成を示すブロック図である。図1の乱数発生回路は、縦続接続された奇数個のインバータ1を有するリング発振器2と、基準クロック信号CK0を遅延させて遅延基準クロック信号CK1,CK2を生成する遅延制御回路3と、リング発振器2で生成された発振信号を遅延基準クロック信号CK1でラッチする第1のフリップフロップ4と、第1のフリップフロップ4の出力論理「0」,「1」の出現頻度を均一化する第1のExOR回路5と、リング発振器2で生成された発振信号を遅延させる遅延回路6と、遅延回路6で遅延された発振信号を遅延基準クロック信号CK2でラッチする第2のフリップフロップ7と、第2のフリップフロップ7の出力論理「0」と「1」の出現頻度を均一化する第2のExOR回路8と、第1および第2のExOR回路5,8の出力信号に基づいて乱数(ランダムシリアルデータ)を生成する線形帰還レジスタ9(LFSR)と、線形帰還レジスタ9から出力されたランダムシリアルデータを直並列変換してランダムパラレルデータを生成する直並列変換器10とを備えている。
リング発振器2は、奇数個のインバータ1の後段に接続されたORゲート11を有し、ORゲート11の出力端子は初段のインバータ1の入力端子に接続されている。ORゲート11は2つの入力端子を有し、一つは前段のインバータ1の出力端子に接続され、もう一つはテスト端子TESTに接続されている。テスト端子TESTに「1」が入力されると、ORゲート11の出力は「1」になり、リング発振器2は発振動作を停止する。通常動作時は、テスト端子TESTは「0」であり、リング発振器2で生成された発振信号は、位相調整用のインバータ14で位相が所定量だけシフトした後、第1のフリップフロップ4のデータ入力端子に入力される。
第1のフリップフロップ4のクロック端子には、遅延制御回路3から出力された遅延基準クロック信号CK1が供給される。遅延制御回路3は、直並列変換器10から出力されたランダムパラレルデータに基づいて、不図示の外部PLL回路からの基準クロック信号CK0の遅延量を調整する。
第1のフリップフロップ4の出力信号は質の悪い乱数であるが、「0」と「1」の出現頻度に偏りがある。このため、第1のExOR回路5により、第1のフリップフロップ4の出力信号と線形帰還レジスタ9の出力信号との排他的論理和を演算する。これにより、第1のExOR回路5からは、「0」と「1」の出現頻度の偏りが抑制された疑似乱数が出力される。
第2のフリップフロップ7は、リング発振器2で生成された発振信号を遅延回路6で遅延した信号を、遅延基準クロック信号CK2でラッチして、乱数信号を出力する。リング発振器2で生成された発振信号を遅延回路6で遅延させる理由は、第1のフリップフロップ4とは異なる位相の乱数信号を生成するためである。第2のフリップフロップ7の出力信号は、第2のExOR回路8に入力されて、「0」と「1」の出現頻度の偏りが抑制された疑似乱数が生成される。
第1のフリップフロップ4から出力された乱数と第2のフリップフロップ7から出力された疑似乱数はともに線形帰還レジスタ9に入力される。線形帰還レジスタ9は、これら乱数をシード(seed)としてランダムシリアルデータを生成する。線形帰還レジスタ9の構成自体は公知であるため、その説明は省略する。
線形帰還レジスタ9で生成されたランダムシリアルデータは、直並列変換器10に入力されるとともに、第1および第2のExOR回路5,8にも入力される。直並列変換器10は、ランダムシリアルデータをランダムパラレルデータに変換する。
遅延制御回路3は、遅延量を可変できる遅延回路12と、ランダムパラレルデータに基づいて遅延回路12の遅延量を選択するセレクタ13とを有する。ランダムパラレルデータ自体が乱数であるため、遅延回路12の遅延量もランダムに変化し、線形帰還レジスタ9に入力される疑似乱数のランダム性が向上する。このため、線形帰還レジスタ9は、ランダム性の高い質のよいランダムシリアルデータを生成することができる。
従来の乱数発生回路は、線形帰還レジスタ9を使用することはあっても、線形帰還レジスタ9にランダム性の高いシードを与えることはなかった。例えば、図1の第1および第2のフリップフロップ4,7がリング発振器2の発振信号を基準クロック信号CK0でラッチしたと仮定すると、第1および第2のフリップフロップ4,7は、ある周期性をもった信号を出力する。このような周期性のある信号は、以下の(1)式の関係を満たす。frはリング発振器2の発振周波数、fは基準クロック信号CK0の発振周波数、mおよびnは整数である。
fr×m=f×n …(1)
このように、第1および第2のフリップフロップ4,7がある周期性のある信号を出力する場合には、線形帰還レジスタ9に周期性を持ったシードが与えられることになり、線形帰還レジスタ9でランダム性が高くて質のよい乱数を生成することができなくなる。すなわち、線形帰還レジスタ9からは、衝突の可能性の高くてランダム性が低い乱数が出力されてしまう。
従来は、線形帰還レジスタ9に与えるシードを生成するフリップフロップに入力される基準クロック信号CK0がジッタ成分を持っており、また温度変動や電圧変動等によりリング発振器2の発振信号に不確定性が生じることを積極的に利用して乱数を生成していた。ところが、このような乱数は、環境条件等によってランダム性が変化するため、安定して質の高い乱数とはいえない。これに対して、本実施形態によれば、環境条件によらず、衝突確率が十分に低くてランダム性の高い乱数を生成することができる。
本実施形態のリング発振器2は、本発明者の実験によると、ゲート長0.18μmのCMOSテクノロジーを利用した場合で約2.5GHzで発振した。リング発振器2内の負荷容量や温度に応じて発振周波数は大きく変化することもわかった。
本実施形態では、消費電力の削減のために単一のリング発振器2の発振信号を第1および第2のフリップフロップ4,7に供給しているが、各フリップフロップごとに専用のリング発振器2を設けてもよい。この方が、両フリップフロップから出力される乱数のランダム性が向上する。
図2は図1の各部の動作タイミング図である。図2(a)はリング発振器2の出力波形、図2(b)は基準クロックの信号波形、図2(c)は第1のフリップフロップ4の出力波形を表している。また、図2(d)は図2(c)と同じ第1のフリップフロップ4の出力波形を表しているが、図2(c)よりも時間間隔を長く取っている。図2(e)は線形帰還レジスタ9の出力波形を表しており、図2(d)と同じ時間間隔を取っている。
リング発振器2の発振信号の方が基準クロック信号CK0よりもはるかに周波数が高く(2倍より高く)、また発振信号と基準クロック信号CK0は互いに非同期であるため、周波数および位相の違いを利用して、第1および第2のフリップフロップ4,7は疑似乱数信号を生成することができる。
図2(d)を見ればわかるように、第1のフリップフロップ4の出力波形には「0」と「1」の出現頻度に偏りがあるが、図2(e)に示すように線形帰還レジスタ9の出力波形ではその偏りが抑制されている。
図3は遅延制御回路3の具体的構成の一例を示す回路図である。図3の遅延制御回路3は、微小な遅延量を調整する微小遅延量設定部21と、大きな遅延量を調整する大遅延量設定部22とを有する。
微小遅延量設定部21は、並列接続された複数のトライステートバッファからなる第1の遅延量可変部23と、第1の遅延量可変部23の出力端子と接地端子との間に接続された負荷容量24と、第1の遅延量可変部23の出力端子に縦続接続されるインバータ25と、後段のインバータ25に接続され並列接続された複数のトライステートバッファからなる第2の遅延量可変部26とを有する。
第1の遅延量可変部23には、基準クロック信号CK0が入力される。第1の遅延量可変部23は、基準クロック信号CK0の遅延量を調整する。第1の遅延量可変部23内のトライステートバッファは個別にオン・オフを設定できる。オンのトライステートバッファが増えるほど、基準クロック信号CK0の遅延量は小さくなる。同様に、第2の遅延量可変部26内のトライステートバッファも個別にオン・オフを設定でき、オンのトライステートバッファが増えるほど、第2の遅延量可変部26の遅延量は大きくなる。
第1の遅延量可変部23の出力端子には負荷容量24が接続されており、第1の遅延量可変部23のインピーダンスと負荷容量の容量値により決まる時定数で信号を遅延させることができる。
なお、第1の遅延量可変部23と第2の遅延量可変部26内の並列接続されたトライステートバッファの数には特に制限はない。トライステートバッファの数が多くなるほど、遅延量の可変幅が大きくなる。
大遅延量設定部22は、第1のセレクタ31と、第1のセレクタ31の出力端子に縦続接続されたインバータ32と、第2のセレクタ33と、第2のセレクタ33の出力端子に接続されたインバータ34と、第3のセレクタ35とを有する。
第1のセレクタ31は、基準クロック信号CK0と微小遅延量設定部21の出力信号とのいずれかを選択する。第2のセレクタ33は、第1のセレクタ31の出力信号と、この出力信号をインバータ32で遅延させた信号とのいずれかを選択する。第3のセレクタ35は、第2のセレクタ33の出力信号と、この出力信号を複数のインバータ34で遅延させた信号と、この出力信号を一つのインバータ34のみで遅延させた信号とのいずれかを選択する。
第1〜第3のセレクタ31,33,35は、図1に示した直並列変換器10から出力されるランダムパラレルデータに基づいて選択動作を切り替える。
なお、大遅延量設定部22内部のインバータ32,34の段数や、第1〜第3のセレクタ31,33,35にて選択されるべき信号の数は任意に変更可能である。また、セレクタ31,33,35の数を増減してもよい。
このように、遅延制御回路3は、大遅延量設定部22で大きな遅延量を調整し、微小遅延量設定部21で微小な遅延量を調整するため、結果として、基準クロック信号CK0を所望の遅延量だけ正確かつ迅速に設定することができる。
図3では、遅延基準クロック信号CK1を出力する構成部分しか図示していないが、遅延基準クロック信号CK2を出力する構成部分も図3と同様に構成されている。
本発明者の実験によると、標準的な容量値を用いた場合、CMOSプロセスのインバータ1の伝搬遅延時間は約0.1nsであった。上述したように、リング発振器2の発振周波数は約2.5GHzであったため、リング発振器2の1周期に相当する遅延量を得るには、最低4個のインバータ1を縦続接続すれば十分であることがわかった。
図4は図1に示したリング発振器2の具体的構成の一例を示す回路図である。図4のリング発振器2は、奇数段のインバータ41と、最終段のインバータ41の出力端子に並列接続された複数のトライステートバッファ42と、これらトライステートバッファ42の出力端子と接地端子との間に接続された負荷容量43とを有し、これらトライステートバッファ42の出力端子から発振信号が出力され、この発振信号は初段のインバータ41の入力端子に帰還される。
図4では、インバータ41を一つだけ設けた例を示しているが、奇数個である限り、インバータ1の接続段数には特に制限はない。
図4において、並列接続された複数のトライステートバッファ42は個別にオン・オフが可能であり、オンのトライステートバッファ42の数が減少するほど、遅延量が大きくなり、発振周波数は低くなる。図4のリング発振器2の発振周波数は、オンのトライステートバッファ42の数に応じたインピーダンスと負荷容量43の容量値とで決まる時定数により決定される。また、並列接続されるトライステートバッファ42の数を増減することにより、変更可能な発振周波数の数を増減できる。例えば、図4のように、8個のトライステートバッファ42を並列接続した場合、発振周波数を8通りに変更することができる。
図5はリング発振器2の一変形例を示す回路図である。図5のリング発振器2は、奇数段のインバータ51の後段に並列接続された複数のバッファ52と、少なくとも一部のバッファ52の出力端子と接地端子との間に接続された負荷容量53と、これら複数のバッファ52の出力信号の中から一つを選択するセレクタ54とを有し、セレクタ54の出力から発振信号が出力され、この発振信号は初段のインバータ51の入力端子に帰還される。
バッファ52の出力端子に接続される負荷容量は、互いに容量値が異なっている。このため、各バッファ52の出力信号は、遅延時間が互いに変化する。このため、セレクタ54は、所望の遅延時間を持った信号を選択することができる。
このように、本実施形態では、ランダム性の高い疑似乱数を第1および第2のフリップフロップ4,7で生成して線形帰還レジスタ9に与えるため、線形帰還レジスタ9で生成される乱数のランダム性が向上し、質の高い乱数を生成できる。
また、本実施形態に係る乱数発生回路は、すべてデジタル回路で構成されるため、集積化を容易に行える。この乱数発生回路は、種々の用途に利用可能である。例えば、コピー保護装置、ICカード用の暗号鍵生成装置、およびゲーム機の乱数発生装置など、幅広い用途に利用可能である。
上述した図1では、第1および第2のフリップフロップ4,7で生成した2種類の擬似乱数をシードとして線形帰還レジスタ9に入力しているが、遅延回路6,第2のフリップフロップ7と、およびその後段の第2のExOR回路8は省略してもよい。この場合、図1よりも多少線形帰還レジスタ9で生成される乱数のランダム性が劣るが、回路構成を簡略化することができる。
(第2の実施形態)
第2の実施形態は、リング発振器で生成される発振信号の位相変動をランダム化するものである。
図6は本発明の第2の実施形態による乱数発生回路の概略構成を示すブロック図である。図6では、図1と共通する構成部分には同一符号を付しており、以下では相違点を中心に説明する。
図6の乱数発生回路は、図1とは異なる内部構成のリング発振器2aと、リング発振器2aの出力信号をラッチする第1のフリップフロップ4と、第1のフリップフロップ4の出力論理「0」と「1」の出現頻度を均一化する第1のExOR回路5と、第1のExOR回路5の出力信号に基づいて乱数(ランダムシリアルデータ)を生成する線形帰還レジスタ9(LFSR)と、線形帰還レジスタ9から出力されたランダムシリアルデータを直並列変換してランダムパラレルデータを生成する直並列変換器10とを備えている。
リング発振器2aは、直列接続された奇数個の反転増幅器61と、各反転増幅器61の電源経路に接続される奇数個の電流増幅回路62と、最終段の反転増幅器61の出力端子に接続されるテスト選択回路63とを有する。
リング発振器2a内の各反転増幅器61は、PMOSトランジスタ64とNMOSトランジスタ65とを有する。各反転増幅器61に対応して設けられる電流増幅回路62は、NMOSトランジスタ66とPMOSトランジスタ67を有する。NMOSトランジスタ66のドレインとゲートはともに不安定電源線VDD1に接続され、NMOSトランジスタ66のソースは対応する反転増幅器61内のPMOSトランジスタ64のソースに接続されている。PMOSトランジスタ67のドレインは不安定電源線VSS1に接続され、PMOSトランジスタ67のゲートとソースはともに対応する反転増幅器61内のNMOSトランジスタ65のソースに接続されている。
不安定電源線VDD1,VSS1はペアになっている。以下、これら電源線を不安定電源線対と呼ぶ。不安定電源線対VDD1,VSS1は、電圧変動が大きい、すなわちダイナミックIRドロップの大きい電圧源68に接続される。ここでいうダイナミックIRドロップとは、チップ内のある場所で電位が時間的に変動することを指し、電源ノイズと呼ばれることもある。この電圧源68の詳細については後述する。
リング発振器2a内のテスト選択回路63は、リング発振器2aの出力信号とテスト信号との論理和演算を行った結果を出力する。テスト選択回路63の出力信号は、初段の反転増幅器61の入力端子にフィードバックされる。
このテスト選択回路63は、必須の構成ではないが、テスト時にリング発振器2aの動作を強制的に停止する動作を行うため、無駄な消費電力を削減できる。
第1のフリップフロップ4のクロック端子には、基準クロック信号CK1が供給される。第1の実施形態では、第1のフリップフロップ4のクロック端子に遅延基準クロック信号CK1を供給したが、本実施形態の基準クロック信号CK1は予め決められた位相のクロック信号でよい。
第1のフリップフロップ4の出力信号は乱数であるが、「0」と「1」の出現頻度に偏りがある。このため、第1のExOR回路5により、第1のフリップフロップ4の出力信号と線形帰還レジスタ9の出力信号との排他的論理和を演算する。これにより、第1のExOR回路5からは、「0」と「1」の出現頻度の偏りが抑制された真性乱数が出力される。
第1のフリップフロップ4から出力された真性乱数は、線形帰還レジスタ9に入力される。線形帰還レジスタ9は、この乱数をシードとしてランダムシリアルデータを生成する。
線形帰還レジスタ9で生成されたランダムシリアルデータは、直並列変換器10に入力されるとともに、第1のExOR回路5にも入力される。直並列変換器10は、ランダムシリアルデータをランダムパラレルデータに変換する。
次に、不安定電源線対VDD1,VSS1に接続されるダイナミックIRドロップの大きい電圧源68について説明する。ダイナミックIRドロップは、トランジスタスイッチが頻繁にオン・オフする場所で特に大きくなる。本発明者による実験によれば、ダイナミックIRドロップは、チップ内のデータバス等の内部バスや暗号処理を行うブロックで特に大きいことがわかった。したがって、内部バスの電源線や暗号処理を行うブロックの電源線を上述した電圧源68として用いれば、不安定電源線対VDD1,VSS1を他の一般の電源線に接続するよりも、電源変動を大きくすることができる。
ここで、他の一般の電源線とは、不安定電源線対VDD1,VSS1を自動配置配線する場合に、特に接続先を指定しないことを指す。この場合、リング発振器2aの電源線とその周辺回路の電源線とが共有されるため、不安定電源線対VDD1,VSS1の電位変動幅はそれほど大きくならない。
リング発振器2a内の電流増幅回路62は、不安定電源線対VDD1,VSS1の電位変動量を増幅する作用を行う。例えば、不安定電源線VDD1の電位が降下した場合、リング発振器2a内のNMOSトランジスタの駆動電圧が低下するため、同トランジスタのスイッチング速度が低下し、リング発振器2aの発振周波数は低くなる。
逆に、不安定電源線VDD1の電位が高くなると、リング発振器2a内のNMOSトランジスタの駆動電圧が高くなるため、スイッチング速度が上昇し、リング発振器2aの発振周波数は高くなる。
このように、リング発振器2aの発振信号におけるジッタ成分は、電位や温度に応じて大きく変動し、発振信号の周波数や位相が変動する。その位相変動量は、基準クロック信号CK1の周期の数十〜数百倍である。リング発振器2aの発振信号の位相が変動すると、その発振信号をラッチする第1のフリップフロップ4の出力振幅も変化し、第1のフリップフロップ4の出力データのランダム性が増す。
従来の乱数発生回路は、上述したジッタ成分が小さかったために、線形帰還レジスタ9を使用したとしても、線形帰還レジスタ9にランダム性の高いシードを与えることはなかった。
例えば、図1に示す第1のフリップフロップ4がリング発振器2aの発振信号を基準クロック信号CK0でラッチしたと仮定すると、第1のフリップフロップ4はある周期性をもったデータを出力する。このような周期性のあるデータは、リング発振器2aの発振周波数が基準クロック信号の倍数になった場合に生成される。これは、「ロック」と呼ばれる現象であり、生成されるシードがある周期をもった値を持つことになる。
この場合、線形帰還レジスタ9に周期性を持ったシードが与えられることになり、線形帰還レジスタ9はランダム性が高くて質のよい乱数を生成できなくなる。すなわち、この場合、線形帰還レジスタ9は、ある周期性をもった乱数を出力するため、衝突の可能性が高くてランダム性の低い乱数を生成できなくなる。しかも、線形帰還レジスタ9で生成される乱数は、環境条件等によってランダム性が変化するため、安定して質の高い乱数とはいえない。
これに対して、本実施形態によれば、線形帰還レジスタ9に供給されるシード自体のランダム性が高いため、環境条件によらず、常に衝突確率が十分に低くてランダム性の高い乱数を生成することができる。
図1のリング発振器2aは、本発明者の実験によると、ゲート長0.18μmのCMOSテクノロジーを利用した場合、約2.5GHzで発振したが、リング発振器2a内の負荷容量や温度に応じて発振周波数は大きく変化した。したがって、積極的に電源電圧変動成分を大きくすることで、乱数の質を向上できることが実験により確かめられた。
図7(a)−7(e)は図6の各部の動作タイミング図である。図7(a)はリング発振器2aの出力波形、図7(b)は基準クロック信号の信号波形、図7(c)は第1のフリップフロップ4の出力波形をそれぞれ示している。また、図7(d)は図7(c)と同じ第1のフリップフロップ4の出力波形を示しているが、図7(c)よりも長い時間間隔の信号波形を示している。図7(e)は線形帰還レジスタ9の出力波形を示しており、図7(d)と同じ時間間隔を取っている。
リング発振器2aの発振信号は、基準クロック信号よりもはるかに周波数が高く、かつ両信号は互いに非同期であるため、発振信号のランダム性が高ければ、その発振信号をラッチする第1のフリップフロップ4は擬似乱数信号を生成することができる。
図7(d)を見ればわかるように、第1のフリップフロップ4の出力波形には「0」と「1」の出現頻度に偏りがあるが、図2(e)に示すように線形帰還レジスタ9の出力波形ではその偏りが抑制されている。
図8はある平均的な回路内の電源電圧変動の概念図である。図示のように、ダイナミックな最大電圧降下は、スタティックな電圧降下よりも数倍大きい。
一方、図9は不安定電源線に接続された回路内の電源電圧変動の概念図である。図9における単位時間内の電源電圧の変動量は、図8の数倍から数十倍大きくなる。
上述した実施形態では、不安定電源線対VDD1,VSS1に接続される電圧源68をデータバス内の電源線とする例を説明したが、電圧源68の種類は特に問わない。例えば、チップ内の電源変動の大きい回路ブロックの電源線を電圧源68として利用してもよい。チップ内の電源変動の大きい回路ブロックは、シミュレーションや消費電力解析ツール等を用いて検出することができる。
あるいは、外部接続される電源装置を電圧源68として用いてもよい。電源装置から不安定な電源供給を受ける場合、図6の不安定電源線VDD1に接続される外部接続端子と不安定電源線VSS1に接続される外部接続端子を設けておき、これら端子に電源装置を接続して不安定な電源を供給すればよい。
最近の電源装置は、電源変動の少ない安定した直流電圧を出力する場合が多いため、本実施形態で用いる電源装置としては、電源変動の大きい不安定な電圧を出力する古い電源装置を用いるのが望ましい。特に、定格容量の低い電源装置を用いれば、チップ内の電力消費の変動に電源電圧が追いついていけないため、さらに望ましい。
このように、第2の実施形態では、リング発振器2aの電源経路に不安定電源線対VDD1,VSS1を接続するため、リング発振器2aの発振信号の周波数や位相がランダムに変動し、この発振信号をラッチする第1のフリップフロップ4の出力もランダムに変化する。したがって、線形帰還レジスタ9にてランダム性が高くて質のよい乱数を生成できる。
(第3の実施形態)
第3の実施形態は、第2の実施形態の変形例であり、リング発振器2aの代わりにリング発振型VCOを設けるものである。
図10は本発明の第3の実施形態で用いるリング発振型VCO2bの内部構成を示す回路図である。このリング発振型VCO2bは、図6のリング発振器2aの代わりに用いられ、乱数発生回路内のその他の構成は図6と同様であるため、図10では省略している。
図10のリング発振型VCO2bは、リング状に接続された奇数個の反転増幅器61と、奇数個の反転増幅器61それぞれの駆動能力を電圧制御する奇数個の電圧制御回路69とを備えている。
リング発振器2a内の各反転増幅器61は、PMOSトランジスタ64とNMOSトランジスタ65とを有する。各反転増幅器61に対応して設けられる電圧制御回路69は、PMOSトランジスタ70とNMOSトランジスタ71を有する。PMOSトランジスタ70のソースは不安定電源線VDD1に接続され、ゲートは不安定電源線VSS2に接続され、ドレインは反転増幅器61内のPMOSトランジスタ64のソースに接続されている。NMOSトランジスタ71のドレインはNMOSトランジスタ65のソースに接続され、NMOSトランジスタの71のゲートは不安定電源線VDD2に接続され、ソースは不安定電源線VSS1に接続されている。
このように、図10のリング発振型VCO2bには、二組の不安定電源線対(VDD1,VSS1)、(VDD2,VSS2)が接続されている。これら二組の不安定電源線対は、互いに無関係に電源変動を起こすため、リング発振型VCO2bの発振信号の周波数と位相はよりランダムに変動する。したがって、この発振信号を用いて生成される乱数の質もより向上する。
二組の不安定電源線対を生成する電圧源68は、第2の実施形態と同様に、内部バスの電源線でもよいし、外部接続の電源装置でもよいし、それ以外でもよい。
図10では、最終段の反転増幅器61の出力信号を初段の反転増幅器61の入力端子にフィードバックしているが、図6と同様に、最終段の反転増幅器61の出力信号をテスト選択回路63を介して初段の反転増幅器61の入力端子にフィードバックしてもよい。
このように、第3の実施形態では、2組の不安定電源線対にてリング発振型VCO2bに電源供給を行うため、リング発振型VCO2bの発振信号の周波数と位相がよりランダムに変動し、結果として、線形帰還レジスタ9で生成される乱数のランダム性も増して質の高い乱数が得られる。
本発明の一実施形態に係る乱数発生回路の概略構成を示すブロック図。 図2は図1の各部の動作タイミング図。 図3は遅延制御回路3の具体的構成の一例を示す回路図。 図4は図1に示したリング発振器2の具体的構成の一例を示す回路図。 図5はリング発振器2の一変形例を示す回路図。 図6は本発明の第2の実施形態による乱数発生回路の概略構成を示すブロック図。 図7(a)−図7(e)は図6の各部の動作タイミングを示す図。 図8はある平均的な回路内の電源電圧変動の概念図。 図9は不安定電源線に接続された回路内の電源電圧変動の概念図。 図10は本発明の第3の実施形態で用いるリング発振型VCO2bの内部構成を示す回路図。
符号の説明
2 リング発振器
3 遅延制御回路
4 第1のフリップフロップ
5 第1のExOR回路
6 遅延回路
7 第2のフリップフロップ
8 第2のExOR回路
9 線形帰還レジスタ
10 直並列変換器
12 遅延回路
21 微小遅延量設定部
22 大遅延量設定部
23 第1の遅延量可変部
26 第2の遅延量可変部

Claims (5)

  1. リング状に接続された奇数個の反転増幅器を有するリング発振器と、
    基準クロック信号を遅延させて所定のクロック信号を生成する遅延制御回路と、
    前記リング発振器で生成された発振信号を前記所定のクロック信号でサンプリングする第1のサンプリング回路と、
    前記第1のサンプリング回路でサンプリングされたサンプリング信号の「0」と「1」の出現頻度を均一化する第1の論理均一化回路と、
    前記第1の論理均一化回路の出力信号に基づいて、ランダムシリアルデータを生成する線形帰還シフトレジスタ(LFSR:Linear Feedback Shift Register)と、
    前記ランダムシリアルデータを直並列変換して、前記遅延制御回路の遅延量を制御するのに用いられるランダムパラレルデータを生成する直並列変換器と、を備えることを特徴とする乱数発生回路。
  2. 前記リング発振器で生成された発振信号を所定量だけ遅延させる遅延回路と、
    前記遅延回路で遅延された発振信号を前記所定のクロック信号でサンプリングする第2のサンプリング回路と、
    前記第2のサンプリング回路でサンプリングされたサンプリング信号の「0」と「1」の出現頻度を均一化する第2の論理均一化回路と、を備え、
    前記線形帰還シフトレジスタは、前記第1の論理均一化回路の出力信号と前記第2の論理均一化回路の出力信号とに基づいて、前記ランダムシリアルデータを生成することを特徴とする請求項1に記載の乱数発生回路。
  3. 前記遅延制御回路は、
    並列接続されるバッファの数を可変制御することにより微小な遅延量を調整する微小遅延量設定部と、
    前記遅延制御回路に接続され、直列接続されるバッファの数を可変制御することにより前記微小遅延量設定部よりも大きな遅延量を調整する大遅延量設定部と、を有することを特徴とする請求項1に記載の乱数発生回路。
  4. リング状に接続された奇数個の反転増幅器と、前記奇数個の反転増幅器のそれぞれの電源経路に接続される奇数個の電流増幅回路と、を有するリング発振器と、
    前記リング発振器で生成された発振信号を所定のクロック信号でサンプリングする第1のサンプリング回路と、
    前記第1のサンプリング回路でサンプリングされたサンプリング信号の「0」と「1」の出現頻度を均一化する第1の論理均一化回路と、
    前記第1の論理均一化回路の出力信号に基づいて、ランダムシリアルデータを生成する線形帰還シフトレジスタ(LFSR:Linear Feedback Shift Register)と、
    前記ランダムシリアルデータを直並列変換して、ランダムパラレルデータを生成する直並列変換器と、を備えることを特徴とする乱数発生回路。
  5. リング状に接続された奇数個の反転増幅器と、前記奇数個の反転増幅器それぞれの駆動能力を電圧制御する奇数個の電圧制御回路と、を有するリング発振型VCOと、
    前記リング発振型VCOで生成された発振信号を所定のクロック信号でサンプリングする第1のサンプリング回路と、
    前記第1のサンプリング回路でサンプリングされたサンプリング信号の「0」と「1」の出現頻度を均一化する第1の論理均一化回路と、
    前記第1の論理均一化回路の出力信号に基づいて、ランダムシリアルデータを生成する線形帰還シフトレジスタ(LFSR:Linear Feedback Shift Register)と、
    前記ランダムシリアルデータを直並列変換して、ランダムパラレルデータを生成する直並列変換器と、を備えることを特徴とする乱数発生回路。
JP2006067462A 2005-03-15 2006-03-13 乱数発生回路 Expired - Fee Related JP4559985B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006067462A JP4559985B2 (ja) 2005-03-15 2006-03-13 乱数発生回路
US11/376,659 US7702705B2 (en) 2005-03-15 2006-03-14 Random number generation circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005073444 2005-03-15
JP2006067462A JP4559985B2 (ja) 2005-03-15 2006-03-13 乱数発生回路

Publications (2)

Publication Number Publication Date
JP2006294001A JP2006294001A (ja) 2006-10-26
JP4559985B2 true JP4559985B2 (ja) 2010-10-13

Family

ID=37233900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006067462A Expired - Fee Related JP4559985B2 (ja) 2005-03-15 2006-03-13 乱数発生回路

Country Status (2)

Country Link
US (1) US7702705B2 (ja)
JP (1) JP4559985B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2899352B1 (fr) * 2006-03-29 2008-06-20 Eads Secure Networks Soc Par A Generateur de nombres aleatoires
US20080256153A1 (en) * 2007-04-13 2008-10-16 Park Ji Man Random number signal generator using pulse oscillator
JP4427581B2 (ja) * 2008-01-08 2010-03-10 株式会社東芝 乱数生成回路
JP5171315B2 (ja) * 2008-02-28 2013-03-27 株式会社東芝 乱数生成回路
US20090327381A1 (en) * 2008-06-30 2009-12-31 Horizon Semiconductors Ltd. True random number generator
JP5074359B2 (ja) * 2008-11-12 2012-11-14 日本電信電話株式会社 乱数生成回路
JP5341690B2 (ja) * 2009-09-14 2013-11-13 株式会社日立製作所 物理乱数生成装置
US20110234282A1 (en) * 2010-03-23 2011-09-29 Mosys, Inc. Method And Circuit For Testing And Characterizing High Speed Signals Using An ON-Chip Oscilloscope
WO2011158948A1 (en) 2010-06-18 2011-12-22 Semiconductor Energy Laboratory Co., Ltd. Method of manufacturing power storage device
US8564529B2 (en) 2010-06-21 2013-10-22 Semiconductor Energy Laboratory Co., Ltd. Method for driving liquid crystal display device
WO2011162166A1 (en) 2010-06-25 2011-12-29 Semiconductor Energy Laboratory Co., Ltd. Liquid crystal display device and electronic appliance
US9286848B2 (en) 2010-07-01 2016-03-15 Semiconductor Energy Laboratory Co., Ltd. Method for driving liquid crystal display device
CN102971784B (zh) 2010-07-02 2016-08-03 株式会社半导体能源研究所 液晶显示装置及驱动液晶显示装置的方法
JP5787311B2 (ja) * 2011-04-04 2015-09-30 国立大学法人横浜国立大学 物理乱数発生器
JP4983991B1 (ja) 2011-04-07 2012-07-25 パナソニック株式会社 乱数生成装置および乱数生成方法
CN103460219B (zh) 2011-04-11 2016-03-16 惠普发展公司,有限责任合伙企业 批量串行化
US8769355B2 (en) 2011-06-27 2014-07-01 Freescale Semiconductor, Inc. Using built-in self test for preventing side channel security attacks on multi-processor systems
US9448942B2 (en) 2012-08-20 2016-09-20 Freescale Semiconductor, Inc. Random access of a cache portion using an access module
US9092622B2 (en) 2012-08-20 2015-07-28 Freescale Semiconductor, Inc. Random timeslot controller for enabling built-in self test module
US10057250B2 (en) 2013-05-14 2018-08-21 Kara Partners Llc Technologies for enhancing computer security
US9454653B1 (en) 2014-05-14 2016-09-27 Brian Penny Technologies for enhancing computer security
US10594687B2 (en) 2013-05-14 2020-03-17 Kara Partners Llc Technologies for enhancing computer security
FR3023396B1 (fr) * 2014-07-02 2016-07-29 Stmicroelectronics Rousset Generateur de nombres aleatoires
TWI497409B (zh) * 2014-07-18 2015-08-21 Winbond Electronics Corp 亂數產生器及其亂數產生方法
CN105322920B (zh) * 2014-08-05 2018-02-23 华邦电子股份有限公司 乱数产生器及其乱数产生方法
US9557964B2 (en) 2014-11-21 2017-01-31 Winbond Electronics Corp. Random number generator and method for generating random number thereof
US11257457B2 (en) 2018-02-23 2022-02-22 Semiconductor Energy Laboratory Co., Ltd. Display device and operation method thereof
US11341064B2 (en) * 2019-12-05 2022-05-24 Realtek Singapore Private Limited Method of protecting sensitive data in integrated circuit and integrated circuit utilizing same
CN111880766B (zh) * 2020-08-07 2023-12-26 上海南芯半导体科技股份有限公司 一种无线充电端的真随机数发生器及其实现方法
CN116418509A (zh) * 2021-12-31 2023-07-11 圣邦微电子(北京)股份有限公司 序列号生成电路及终端对外部设备进行认证的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003029964A (ja) * 2001-07-18 2003-01-31 Fdk Corp 乱数発生装置
JP2005044090A (ja) * 2003-07-28 2005-02-17 Renesas Technology Corp 乱数発生装置
JP2005063250A (ja) * 2003-08-18 2005-03-10 Fdk Corp 物理乱数発生器および物理乱数発生装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA965340B (en) * 1995-06-30 1997-01-27 Interdigital Tech Corp Code division multiple access (cdma) communication system
JPH11290535A (ja) * 1998-04-08 1999-10-26 Le Tec:Kk 遊技機用疑似乱数発生装置
US6480072B1 (en) 2000-04-18 2002-11-12 Advanced Micro Devices, Inc. Method and apparatus for generating random numbers
JP3446742B2 (ja) 2001-02-07 2003-09-16 いわき電子株式会社 乱数発生装置および確率発生装置
US7139397B2 (en) * 2001-07-20 2006-11-21 Stmicroelectronics S.R.L. Hybrid architecture for realizing a random numbers generator
US7206797B2 (en) * 2003-04-14 2007-04-17 M-Systems Flash Disk Pioneers Ltd. Random number slip and swap generators

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003029964A (ja) * 2001-07-18 2003-01-31 Fdk Corp 乱数発生装置
JP2005044090A (ja) * 2003-07-28 2005-02-17 Renesas Technology Corp 乱数発生装置
JP2005063250A (ja) * 2003-08-18 2005-03-10 Fdk Corp 物理乱数発生器および物理乱数発生装置

Also Published As

Publication number Publication date
JP2006294001A (ja) 2006-10-26
US20060244544A1 (en) 2006-11-02
US7702705B2 (en) 2010-04-20

Similar Documents

Publication Publication Date Title
JP4559985B2 (ja) 乱数発生回路
US8260835B2 (en) Random number generator with ring oscillation circuit
US7250822B2 (en) Clock oscillator
US6163224A (en) PLL circuit and method of controlling the same
KR100965766B1 (ko) 링 오실레이터와 이를 이용한 멀티 위상 클럭 보정 회로
US8886692B2 (en) Apparatus for generating random number
US6061702A (en) Random number generator
US6954770B1 (en) Random number generator
US8443022B2 (en) Apparatus and method for generating random number
US20080126458A1 (en) Apparatus and Methods for Generating Random Signals
Fujieda On the feasibility of TERO-based true random number generator on Xilinx FPGAs
US6434062B2 (en) Delay locked loop for use in semiconductor memory device
JP4371531B2 (ja) 遅延同期回路
JP6220642B2 (ja) 乱数生成モードを備える記憶回路
US7135935B2 (en) Hyper-ring oscillator
Stefanou et al. High speed array of oscillator-based truly binary random number generators
JP6886700B2 (ja) 乱数生成回路
JP2017183944A (ja) 固有情報生成装置
US8428112B2 (en) Parameter control circuit
JP5326406B2 (ja) トランスミッタ
KR20120101836A (ko) 난수 발생 장치
US20230221926A1 (en) Starvation-Voltage Based Random Number Generator
US20230044357A1 (en) Semiconductor device implementing physically unclonable function
CN117492701A (zh) 基于施密特触发型反相器的真随机数发生器电路结构
US7400542B2 (en) Control selection circuit and method for a semiconductor device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100413

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: 20100625

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100723

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees