(57)【特許請求の範囲】
【請求項１】
負荷回路へ一定の出力電圧を供給する安定化電源であって、基準電圧に対する前記出力電圧の変動分を増幅して制御信号を生成し、前記制御信号により制御回路を駆動して前記出力電圧の変動を抑圧する前記安定化電源と、
前記制御信号を入力し、前記制御信号の電圧レベルに応じた周波数で発振してクロック信号を出力する電圧制御発振器と、
前記クロック信号により乱数を生成して乱数データを出力する乱数生成部と、
を有することを特徴とする乱数生成回路。
【請求項２】
同期動作用の第１のクロック信号を使用する負荷回路へ、一定の出力電圧を供給する安定化電源であって、基準電圧に対する前記出力電圧の変動分を増幅して制御信号を生成し、前記制御信号により制御回路を駆動して前記出力電圧の変動を抑圧する前記安定化電源と、
前記制御信号を入力し、前記制御信号の電圧レベルに応じた周波数で発振して第２のクロック信号を出力する電圧制御発振器と、
前記第２のクロック信号と前記第１のクロック信号との論理演算を行って演算結果を出力する論理演算回路と、
前記演算結果により乱数を生成して乱数データを出力する乱数生成部と、
を備えたことを特徴とする乱数生成回路。
【請求項３】
前記論理演算回路は、排他的論理和ゲート又は否定排他的論理和ゲートであることを特徴とする請求項２記載の乱数生成回路。
【請求項４】
請求項１〜３のいずれか１項に記載の乱数生成回路において、
前記負荷回路をリセットするためのリセット信号をトリガとして、前記乱数生成部から出力される前記乱数データを一時保持する保持手段と、
前記安定化電源の出力端子に接続された可変の負荷抵抗を有し、前記リセット信号により活性化され、前記保持手段に保持された前記乱数データに対応して前記負荷抵抗の大きさを変化させるリセット電流制御部と、
を設けたことを特徴とする乱数生成回路。
【請求項５】
前記安定化電源は、ボルテージ・レギュレータであり、前記制御回路は、出力トランジスタであることを特徴とする請求項１〜４のいずれか１項に記載の乱数生成回路。
【請求項６】
前記乱数生成部は、Ｍ系列の線形フィードバックシフトレジスタであることを特徴とする請求項１〜５のいずれか１項に記載の乱数生成回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種電子商取引や暗号通信等に使用される乱数生成回路、特に、一定電圧を出力するボルテージ・レギュレータ等の安定化電源の内部の制御信号を利用して乱数データを生成する乱数生成回路に関するものである。
【背景技術】
【０００２】
従来、乱数生成回路に関する技術としては、例えば、次のような文献に記載されるものがあった。
【０００３】
【特許文献１】特開平１０−３４０１８３号公報
【特許文献２】特開２００３−１２２５６０号公報
【０００４】
一般に、従来の乱数生成回路は、一定の周波数のクロック信号（以下単に「クロック」という。）CLKで動作するフリーランカウンタ（Free run Counter、自走カウンタ）で構成され、このカウンタの値をマイクロコンピュータ（マイコン）等の上位ブロックから一定間隔を空けて読出して乱数として使用するものであった。しかし連続して読出したり、ソフト処理で同じクロックCLK数による同じ間隔で読出すと、ある決まった増分値を持った数列となり、乱数として機能しない問題点があった。この欠点を改善するため、特許文献１に次のような技術が記載されている。
【０００５】
図６は、従来の特許文献１に記載された乱数生成回路の構成図である。
この乱数生成回路では、乱数データRNDを出力するフリーランカウンタ１を動作させるためのクロックCLKを電圧制御発振器（Voltage Controlled Oscillator、以下「VCO」という。）２から供給し、このVCO２の入力端子Vinに電圧コントロール部（Vcnt)３からの信号を入力している。電圧コントロール部３には、電源電圧そのものや、温度係数の異なる抵抗で抵抗分圧した電圧を使用して、使用電圧又は使用温度により、VCO２の出力周波数を変化させて前記の問題点を改善している。
【０００６】
又、特許文献２には、半導体集積回路内に搭載される乱数生成回路の外部に設けられた中央処理装置（CPU）や半導体メモリ等の機能ブロックに送信されるデータを利用して、線形フィードバックシフトレジスタ（以下「LFSR」という。）等で構成される乱数生成部から、不規則性（ランダム性）の高い乱数を発生させる技術が記載されている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の特許文献１の乱数生成回路では、電源電圧や温度でのみ、使用するVCO２の周波数が変化するため、電源電圧、温度を一定にして使用することは比較的簡単にできることから、前記問題点を改善するには十分ではなく、依然としてソフト処理で同じクロックCLK数による同じ間隔で読出すと、ある決まった増分値を持った数列となり、乱数として機能しないという課題があった。
【０００８】
この課題を解決するために、仮に、特許文献２の技術を利用しようとした場合、この特許文献２の技術では、電源電圧や温度の変動に対して考慮されていないことや、特許文献１の技術とは基本構成が異なることから、この特許文献２の技術を用いて前記課題を解決することは困難である。
【課題を解決するための手段】
【０００９】
本発明では、負荷回路へ一定の出力電圧を供給する安定化電源内の制御信号を利用して乱数データを生成するようにしている。即ち、本発明の乱数生成回路では、安定化電源と、VCOと、乱数生成部とを有している。前記安定化電源は、基準電圧に対する出力電圧の変動分を増幅して制御信号を生成し、前記制御信号により制御回路を駆動して前記出力電圧の変動を抑圧する回路である。前記VCOは、前記制御信号を入力し、前記制御信号の電圧レベルに応じた周波数で発振してクロック信号を出力する回路である。更に、前記乱数生成部は、前記クロック信号により乱数を生成して乱数データを出力するものである。
【発明の効果】
【００１０】
請求項１、５に係る発明によれば、電源電圧、動作温度だけでなく、負荷回路の消費電流でも出力電圧が変化する安定化電源の制御電圧をVCOの入力としている。特に、安定化電源の出力電圧で動作する負荷回路の内部回路ブロック等は、一般に複数あり、同時に並列して動作するため、その消費電流は非常に複雑になることから、よりランダム性の高い乱数データを生成できる。その上、負荷回路に電源電圧を供給するための安定化電源の内部の制御電圧を利用しているため、回路規模を増大させることなく、実現できる。
【００１１】
請求項２に係る発明によれば、負荷回路で使用する第１のクロックと、全く同期していないVCOから出力される第２のクロックとを、論理演算回路にて論理演算し、この演算結果により乱数生成部で乱数データを生成しているので、演算結果である非常に複雑なクロックが生成できることと、VCOの入力制御電圧により非常に遅い周波数になったり、発振が停止しても、乱数生成が可能となり、VCOの特性を制御電圧の変化により極端に出力周波数が変わるように設定できるため、よりランダム性の高い乱数を生成できる。
【００１２】
請求項３に係る発明によれば、論理演算回路として排他的論理和ゲート（以下「XORゲート」という。）又は否定排他的論理和ゲート（以下「XNORゲート」という。）を使用しているので、他の論理演算回路に比較してランダム性の高い結果が得られる。
【００１３】
請求項４に係る発明によれば、リセット信号で乱数データを一時保持する保持手段と、この保持手段の出力により安定化電源の出力端子への負荷（消費電流）を変化させるリセット電流制御部とを設けたので、リセット状態での消費電流が毎回異なり、この結果、乱数生成のためのクロック周波数が毎回変化し、電源電圧の立上げ時や、リセット時の乱数をより予想し難くする効果が期待できる。
【００１４】
請求項６に係る発明によれば、Ｍ系列のLFSRを用いて乱数生成部を構成したので、各乱数値の発生確率が均等で周期がある程度長いことが保証され、ランダム性のより高い効果が期待できる。
【発明を実施するための最良の形態】
【００１５】
最良の実施形態の乱数生成回路では、負荷回路へ一定の出力電圧を供給するボルテージ・レギュレータ内の制御電圧を利用して乱数データを生成するようにしている。即ち、この乱数生成回路では、ボルテージ・レギュレータと、VCOと、Ｍ系列のＬＦＳＲにより構成される乱数生成部とを有している。ボルテージ・レギュレータは、基準電圧に対する出力電圧の変動分を増幅して制御電圧を生成し、この制御電圧により出力トランジスタを駆動して出力電圧の変動を抑圧している。VCOは、制御電圧を入力し、この制御電圧のレベルに応じた周波数で発振してクロックを乱数生成部へ出力する。乱数生成部は、入力されるクロックにより乱数を生成して乱数データを出力する。
【実施例１】
【００１６】
（実施例１の構成）
図１は、本発明の実施例１を示す乱数生成回路の構成図である。
【００１７】
この乱数生成回路は、大規模半導体集積回路（以下「LSI」という。）内等に設けられ、安定化電源（例えば、ボルテージ・レギュレータ、これを以下単に「レギュレータ」という。）１０を有している。レギュレータ１０は、LSI内等に設けられる各部の回路ブロックといった負荷回路２０へ電源用の一定の出力電圧Voutを供給する定電圧回路であり、この内部の制御信号（例えば、制御電圧）Ｓ１１を出力するノードＮ１１に、VCO３０を介して乱数生成部（例えば、シフトレジスタ４０及び２入力XORゲート４２）が接続されている。
【００１８】
レギュレータ１０は、バンドギャップ電圧等からなる基準電圧Vrefに対する帰還電圧Ｓ１４の誤差分を増幅して制御電圧Ｓ１１を出力する誤差増幅器（以下「アンプ」という。）１１を有し、このアンプ１１の出力端子側のノードＮ１１に、制御電圧Ｓ１１により駆動される制御回路が接続されている。この制御回路は、例えば、制御用の出力トランジスタであるPチャネル型MOSトランジスタ（以下「PMOS」という。）により構成され、このPMOS１２のソースが、外部から供給される電源電圧VDDのノードに接続され、ドレインが、出力電圧Voutを出力する出力端子１３に接続され、ゲートが、ノードＮ１１に接続されている。出力端子１３とグランドGNDとの間には、出力電圧Voutを抵抗分圧して出力電圧レベルを検出する抵抗素子１４が接続され、この抵抗素子１４から出力される帰還電圧Ｓ１４がアンプ１１に帰還入力される。
【００１９】
このレギュレータ１０では、基準電圧Vrefに対する出力電圧Voutの変動分をアンプ１１で増幅して制御電圧Ｓ１１を生成し、この制御電圧Ｓ１１によりPMOS１２を駆動して出力電圧Voutの変動を抑圧するようになっている。制御電圧Ｓ１１を出力するノードＮ１１には、VCO３０の入力端子INが接続されている。VCO３０は、入力端子INから入力される制御電圧Ｓ１１のレベルに応じた周波数で発振してクロックCLKを出力端子OUTから出力する回路であり、この出力端子OUTに、乱数生成部を構成する複数（ｎ)ビットのシフトレジスタ４０が接続されている。
【００２０】
ｎビットのシフトレジスタ４０は、クロックCLKが入力されるクロック入力端子CK、出力端子OUT、及び入力端子INを有し、この入力端子INと出力端子OUTとの間に、各１ビットのｎ個のレジスタ４１−１〜４１−ｎが縦続接続されて構成されている。シフトレジスタ４０の出力端子OUTと、中間段のレジスタ４１−Ｍの出力端子とは、２入力XORゲート４２の入力端子に接続され、このXORゲート４２の出力端子がシフトレジスタ４０の入力端子INに接続され、LFSR構成で且つＭ系列を生成する構造になっている。
【００２１】
このシフトレジスタ４０では、クロックCLKに同期して予め設定されている初期値データが例えば右に１ビットずつシフトされ、最終段のレジスタ４１−ｎの出力データと中間段のレジスタ４１−ｍの出力データとから、XORゲート４２により排他的論理和が求められ、この論理和結果が初段のレジスタ４１−１に帰還入力される。複数ビットの乱数データＤ４０が必要な場合は、シフトレジスタ４０の任意のレジスタ４０−iから必要なビット分の値を出力して使用する。これにより、ランダム性の高い乱数データＤ４０を発生することができる。
【００２２】
（実施例１の動作）
図２は、図１中のVCO３０の動作例を示すグラフであり、横軸に入力制御電圧Ｓ１１［V］、縦軸に出力周波数［MHz］がとられている。
【００２３】
VCO３０は、レギュレータ１０からの制御電圧Ｓ１１により、異なる周波数のクロックCLKを出力する。図２のVCO３０では、入力される制御電圧Ｓ１１が１．０Ｖから３．０Ｖに変化すると、出力周波数が１０MHzから１００MHzに変化する例が示されている。制御電圧Ｓ１１の変化に対して出力周波数の変化が大きい程、本実施例１の効果が大きくなる。VCO３０から出力されるクロックCLKは、シフトレジスタ４０に入力され、XORゲート４２を通じてシフト動作が実施され、Ｍ系列の擬似乱数データＤ４０が生成される。
【００２４】
又、レギュレータ１０は、負荷回路２０である例えば内部回路ブロック各部への供給電源の出力電圧Voutが一定になるように、出力電圧Voutを抵抗素子１４で抵抗分圧した帰還電圧Ｓ１４と、基準電圧Vrefとをアンプ１１で比較して、このアンプ１１から出力される制御電圧Ｓ１１を制御する。制御電圧Ｓ１１は、PMOS１２のゲートに与えられ、レギュレータ１０の出力電圧Voutが制御される。抵抗素子１４で抵抗分圧した帰還電圧Ｓ１４が基準電圧Vrefより小さいと、その差に応じて制御電圧Ｓ１１は低くなり、これによりPMOS１２のソース・ドレイン間電流が多くなる。帰還電圧Ｓ１４が基準電圧Vrefより大きいと、制御電圧Ｓ１１は高くなり、PMOS１２のソース・ドレイン間電流が少なくなる。
【００２５】
つまり、レギュレータ１０の出力電圧Voutで動作する負荷回路２０の消費電流が多くなると、出力電圧Voutが低下し、それに合わせて制御電圧Ｓ１１が低下し、消費電流が少なく出力電圧Voutが高くなると、それに合わせて制御電圧Ｓ１１が高くなる。これにより、レギュレータ１０の出力電圧Voutは、一定の電圧になる。PMOS１２のソース・ドレイン間電流は、外部供給の電源電圧VDDや動作温度によっても変化するため、電源電圧VDDや動作温度によっても制御電圧Ｓ１１は変化する。
【００２６】
一方、レギュレータ１０から出力される制御電圧Ｓ１１は、VCO３０の入力電圧となっており、制御電圧Ｓ１１が負荷回路２０の消費電流、電源電圧VDD、動作温度の変化により変化するため、乱数生成のためのクロックCLKの周波数が大きく変化することになる。
【００２７】
（実施例１の効果）
本実施例１によれば、次の（１）〜（３）のような効果がある。
【００２８】
（１）  本実施例１では、VCO３０から出力されるクロックCLKで動作するシフトレジスタ４０とXORゲート４２でＭ系列により乱数生成する回路において、電源電圧VDD、動作温度だけでなく、負荷回路２０の消費電流でも出力電圧Voutが変化するレギュレータ１０の制御電圧Ｓ１１をVCO３０の入力としたので、乱数生成のためのクロックCLKの周波数が、電源電圧VDD、動作温度、消費電流の全てで変化し、ソフト処理で同じクロックCLKの数による同じ間隔で読出すと、ある決まった増分値を持った数列となり、乱数として機能しないという課題を解決できる。特に、レギュレータ１０の出力電圧Voutで動作する負荷回路２０の内部回路ブロックは、一般に複数あり、同時に並列して動作するため、その消費電流は非常に複雑になることから、よりランダム性の高い乱数データＤ４０を生成することができるという効果も期待できる。
【００２９】
（２）  本実施例１にはレギュレータ１０が必須であり、一見、回路（ハード）追加により回路規模が大きくなるように見えるが、最近のサブミクロンルールの半導体技術では、トランジスタの耐圧や低消費電力化の関係から、レギュレータ１０を使用し、負荷回路２０である内部回路ブロックを低い電圧で動作させることが一般的になっており、そのレギュレータ１０の制御電圧Ｓ１１を利用できるため、殆どハード追加の必要がないという利点もある。
【００３０】
（３）  本実施例１では、Ｍ系列のLFSRを用いて乱数生成部を構成したので、各乱数値の発生確率が均等で周期がある程度長いことが保証され、ランダム性のより高い効果が期待できる。しかし、本発明はこれに限定されず、用途等に応じて、単なるＬＦＳＲやフリーランカウンタ等を使用しても良い。
【実施例２】
【００３１】
（実施例２の構成）
図３は、本発明の実施例２を示す乱数生成回路の構成図であり、実施例１を示す図１中の要素と共通の要素には共通の符号が付されている。
【００３２】
図１の実施例１では、VCO３０の入力にレギュレータ１０の制御電圧Ｓ１１を使用し、VCO３０から出力されるクロックCLKを使用して乱数データＤ４０を生成する構成であり、制御電圧Ｓ１１の変化に対してクロックCLKの変化が大きい程、実施例１の効果が大きくなる。一方、あまり制御電圧Ｓ１１の変化が大きいと、クロックCLKが数KHzと非常に低周波数になったり、あるいは、全く発振しない状態になったりする可能性がある。この場合、乱数データＤ４０を読出す間隔が短いと、乱数とならない。全体的に見ると、同じ数を出すタイミングが多少生じることも乱数発生の１つと考えることもできるが、本実施例２ではこの点について、更に乱数を発生できるように以下のような工夫をしている。
【００３３】
本実施例２では、図３に示すように、VCO３０とシフトレジスタ４０との間に、新たに論理演算回路（例えば、２入力XORゲート)４３を設け、VCO３０から出力される第２のクロックCLKと、負荷回路２０を動作させている第１のクロックであるシステムクロックCLKs（例えば、外部入力、又は発振回路や位相同期回路（PLL)で内部生成したシステムクロック）とを、２入力XORゲート４３に入力して排他的論理和を求め、この論理和結果であるクロックCLK1をシフトレジスタ４０に入力する構成にしている。その他の構成は、実施例１と同様である。
【００３４】
（実施例２の動作）
本実施例２におけるレギュレータ１０及びVCO３０の動作は、実施例１と同様であるため、説明を省略する。
【００３５】
本実施例２では、XORゲート４３が設けられており、電源電圧VDD、動作温度、及び負荷回路２０である内部回路ブロックの消費電流により大きく周波数が変化するVCO３０の出力クロックCLKと、負荷回路２０で使用するシステムクロックCLKsとがXORゲート４３に入力され、この出力クロックCLK1は、２つのクロックCLK,CLKsの差がとられた（マージされた）非常に複雑な周波数成分を持つ信号になる。このクロックCLK1を入力するシフトレジスタ４０とXORゲート４２とにより、よりランダム性の高い乱数データＤ４０が生成できる。更に、VCO３０の出力クロックCLKが非常に遅い周波数になったり、全く発振しない状態になってしまっても、XORゲート４３のもう一方の入力であるシステムクロックCLKsにより、乱数生成が止まったり、変化が少なくなることがないので、安定して乱数データＤ４０を生成することができる。
【００３６】
（実施例２の効果）
本実施例２によれば、次の（Ａ）〜（Ｃ）のような効果がある。
【００３７】
（Ａ）  本実施例２では、新たにXORゲート４３を設けて、VCO３０の出力クロックCLKと負荷回路２０で使用しているシステムクロックCLKsとをXORゲート４３に入力し、この出力クロックCLK1をシフトレジスタ４０に入力して乱数データＤ４０を生成するようにしたので、実施例１の効果（１）〜（３）と同様の効果が期待できる。
【００３８】
（Ｂ）  全く同期していないVCO３０の出力クロックCLKとシステムクロックCLKsとの２つのクロックCLK,CLKsからクロックCLK1を生成しているので、非常に複雑なクロックCLK1が生成できることと、VCO３０の入力制御電圧Ｓ１１により非常に遅い周波数になったり、発振が停止しても、乱数生成が可能となり、VCO３０の特性を制御電圧Ｓ１１の変化により極端に出力周波数が変わるように設定できるため、よりランダム性の高い乱数を生成できる効果が期待できる。
【００３９】
（Ｃ）  論理演算回路として排他的論理和を求めるXORゲート４３を使用しているが、これは排他的論理和が他の論理演算に比較してランダム性の高い結果が得られるからである。本発明は、これに限定されず、用途等に応じて２入力XNORゲート等の他の論理ゲートを使用しても良い。
【実施例３】
【００４０】
（実施例３の構成）
図４は、本発明の実施例３を示す乱数生成回路の構成図であり、実施例２を示す図３中の要素と共通の要素には共通の符号が付されている。
【００４１】
実施例１、２では、電源電圧VDDの立上げ時にシフトレジスタ４０の値は任意の値となり、又、リセット時は前の値を継承して初期値として動作するが、電源電圧VDDの立上げ時、及びリセット処理時のリセット処理期間は、殆ど負荷回路２０が動作していないため、消費電流が一定であり、VCO３０の出力クロックCLKがある一定の周波数になる。この時においても乱数データＤ４０の値が予想し難いように、本実施例３では以下のような工夫をしている。
【００４２】
本実施例３の乱数生成回路では、図４に示すように、実施例３のシフトレジスタ４０から出力される乱数データＤ４０を、システムリセット信号RSTにてトリガされてその乱数データＤ４０を一時保持する保持手段（例えば、レジスタ）４４を新たに設け、更に、その保持された乱数データＤ４０とリセット信号RSTとにより消費電流を制御するリセット電流制御部５０を新たに設け、このリセット電流制御部５０をレギュレータ１０の出力端子１３に接続している。リセット電流制御部５０は、可変の負荷抵抗を有し、リセット信号RSTにより活性化され、レジスタ４４に保持された乱数データＤ４０に対応して負荷抵抗の大きさを変化させる機能を有している。
【００４３】
図５は、図４中のリセット電流制御部５０の一例を示す構成図である。
このリセット電流制御部５０は、異なる抵抗値を持つ抵抗素子群５１と、これらの他方の電極に繋がる例えばNチャネル型MOSトランジスタ（以下「NMOS」という。）からなるスイッチ群５２と、このスイッチ群５２からの信号を１つにまとめた信号とグランドＧＮＤとの間をスイッチングする例えばNMOS５３とにより構成されている。
【００４４】
シフトレジスタ４０から出力される複数ビットの乱数データＤ４０は、スイッチ群５２の各NMOSのゲートに入力され、リセット信号RSTがNMOS５３のゲートに入力される。抵抗素子群５１の一方の電極は、ひとまとめにされ、レギュレータ１０の出力端子１３に接続されている。
【００４５】
（実施例３の動作）
本実施例３では、リセット信号RSTが高レベル（以下「“Ｈ”」という。）にされてリセット状態になると、レジスタ４４はリセット信号RSTの立上りトリガにより、シフトレジスタ４０から出力された乱数データＤ４０を一時保持し、この保持した乱数データＤ４０をリセット電流制御部５０へ出力する。リセット電流制御部５０は、複数ビットの乱数データＤ４０の値により、スイッチ群５２中のオン／オフするNMOSが決まり、又、リセット信号RSTが“Ｈ”のときにNMOS５３がオンする。スイッチ群５２の一方の電極は、抵抗素子群５１を通じてレギュレータ１０の出力端子１３に繋がっているので、乱数データＤ４０の値により、スイッチ群５２を構成するNMOSのオン／オフするパターンが異なり、NMOS５３を通じてグランドGNDと接続される抵抗値が異なるため、出力端子１３にかかる負荷（消費電流）が異なることになる。これにより、レギュレータ１０の制御電圧Ｓ１１が変化し、VCO３０の出力周波数が変化するので、リセット状態での乱数発生用のクロックCLK周波数が毎回異なることになり、乱数データＤ４０を予想することが非常に難しくなる。
【００４６】
一方、リセット信号RSTが低レベル（以下「“Ｌ”」という。）で、リセット状態でないときには、NMOS５３がオフするため、リセット電流制御部５０が動作しない。
【００４７】
（実施例３の効果）
本実施例３では、実施例１の効果（１）〜（３）、及び実施例２の効果（Ａ）〜（Ｃ）と同様の効果が期待できる。更に、システムリセット信号RSTで乱数データＤ４０を一時保持するレジスタ４４と、このレジスタ４４の出力によりレギュレータ１０の出力端子１３への負荷（消費電流）を変化させるリセット電流制御部５０とを設けたので、リセット状態での消費電流が毎回異なり、この結果、乱数生成のためのクロックCLK周波数が毎回変化し、電源電圧VDDの立上げ時や、リセット時の乱数をより予想し難くする効果が期待できる。
【実施例４】
【００４８】
本発明は、上記実施例１〜３に限定されず、種々の変形や利用形態が可能である。この変形や利用形態である実施例４としては、例えば、次の（ａ）〜（ｃ）のようなものがある。
【００４９】
（ａ）  安定化電源を構成するレギュレータ１０や、リセット電流制御部５０の構成は、実施例に限定されるものではない。例えば、レギュレータ１０中の制御回路を構成するPMOS１２を、バイポーラトランジスタ等の他のトランジスタで構成したり、あるいは、その制御回路を他の回路構成に変更しても良い。又、リセット電流制御部５０中のスイッチ群５２は、乱数データＤ４０のビット幅分の個数が必ず必要というのではなく、乱数データＤ４０のビット幅の内の数ビット分でも良い。
【００５０】
（ｂ）  実施例の構成の各回路ブロックは、全てを含む１チップLSI等で構成しても良いし、或いは、複数個のLSI等で構成しても良い。但し、１チップで構成した方が外部から各種制御信号をモニタしたり、信号を強制的に変更したりできないので、セキュリティの面で有利である。
【００５１】
（ｃ）  実施例３では、実施例２を元にレジスタ４４とリセット電流制御部５０を追加して説明したが、実施例１にそれらを追加しても良く、同等の効果が期待できる。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施例１を示す乱数生成回路の構成図である。
【図２】図１中のVCOの動作例を示すグラフである。
【図３】本発明の実施例２を示す乱数生成回路の構成図である。
【図４】本発明の実施例３を示す乱数生成回路の構成図である。
【図５】図４中のリセット電流制御部の一例を示す構成図である。
【図６】従来の乱数生成回路を示す構成図である。
【符号の説明】
【００５３】
１０      レギュレータ
１１      アンプ
１２      PMOS
１４      抵抗素子
３０      VCO
４０      シフトレジスタ
４２，４３      XOR
４４      レジスタ
５０      リセット電流制御部
【図１】
0004478643.tif 000002
【図２】
0004478643.tif 000003
【図３】
0004478643.tif 000004
【図４】
0004478643.tif 000005
【図５】
0004478643.tif 000006
【図６】
0004478643.tif 000007