(57)【特許請求の範囲】
【請求項１】
半導体集積回路を同期動作させるためのクロック信号を発生する発振回路と、前記クロック信号に同期して所定系列の乱数を発生する乱数発生回路と、該乱数発生回路が出力する乱数を利用する回路に入力してその論理状態を確定させるためのリセット信号を発生する初期化回路とを有する半導体装置であって、
前記乱数発生回路は、前記初期化回路が出力する前記リセット信号が入力されず、前記発振回路の発振動作が不安定な状態である電源投入直後から前記クロック信号が入力されており、
前記発振回路の発振動作が安定状態に移行後、まず所定時間経過後に前記リセット信号が前記乱数を利用する回路に与えられ、次に、前記リセット信号が与えられてから所定時間経過後に前記乱数発生回路で生成される乱数を前記乱数を利用する回路が読み出すことを特徴とする半導体装置。
【請求項２】
前記初期化回路が、
前記クロック信号が入力されるとともに、前記リセット信号を生成するシステムリセット信号生成回路と、
電源投入後、所定の時間経過後に出力信号のレベルが変化するとともに該出力信号が前記システムリセット信号生成回路に入力されるパワーオンリセット回路とを備え、
前記システムリセット信号生成回路が、
前記発振回路から入力される前記クロック信号のカウントを前記パワーオンリセット回路の出力信号のレベルが変化した時点から開始するとともに、入力される前記クロック信号の数が所定の数をカウントした後に前記リセット信号を生成することを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記乱数発生回路が、前記乱数発生回路の動作確認のためのテスト信号が外部から入力されるリセット端子を備えることを特徴とする請求項１又は請求項２に記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力クロックに同期して所定系列の乱数を出力する乱数発生回路を有する半導体装置に関するものである。
【０００２】
【従来の技術】
通常、システムにおいては、電源投入時には、安定動作を確保するため、システム全体を初期化するとともに、クロックの発振が安定するまでリセットをかける（動作させない）ようになっており、乱数を出力する乱数発生回路を有するシステムの場合も同様であった。
【０００３】
【発明が解決しようとする課題】
ここで、乱数を出力する乱数発生回路がカウンタ構成（入力クロックに同期して所定系列の乱数を出力する構成）である場合、リセット解除後の同じタイミングで得られる乱数の値は必ず同じである。
【０００４】
また、通常、乱数を使用する回路では、リセット解除後、入力クロックのカウント数によって乱数を読み出すようになっており、常に同じタイミングで乱数を読み出すことになる。
【０００５】
以上より、乱数発生回路を有する従来の乱数発生システムでは、乱数発生回路がカウンタ構成である場合、乱数を使用する回路によって電源投入直後に読み出される乱数は常に同じ値となってしまう。
【０００６】
そこで、本発明は、カウンタ構成の乱数発生回路を有する半導体装置であって、電源投入直後に乱数を使用する回路によって読み出される乱数の値が常に同一となることがないようにした半導体装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記の目的を達成するため、本発明では、半導体集積回路を同期動作させるためのクロック信号を発生する発振回路と、前記半導体集積回路の論理状態を確定させるためのリセット信号を発生する初期化回路と、前記クロック信号に同期して所定系列の乱数を発生する乱数発生回路とを有する半導体装置であって、前記乱数発生回路は、前記リセット信号で初期化されることがないとともに、前記発振回路の動作が不安定な状態でも前記クロック信号が入力されるようにしている。
【０００８】
以上の構成により、電源投入後、乱数発生回路は出力する乱数の意図する初期値を与えられることなく動作を開始し、また、動作を開始してから一定時間が経過するまでに入力されるクロックの数は不定となり、システム全体（乱数発生回路を除く）のリセット解除後の同じタイミングであっても、乱数発生回路から出力される乱数は常に同じ値となることはない。
【０００９】
【発明の実施の形態】
以下に、本発明の実施形態を図面を参照しながら説明する。図１は本発明の一実施形態である半導体装置の構成を示す図である。同図において、１はクリスタルの発振回路、２はパワーオンリセット回路、３はカウンタ、４はカウンタ構成の乱数発生回路、５はインバータ回路、６はＡＮＤ回路、７はＯＲ回路である。
【００１０】
発振回路１の発振波はインバータ回路５を介して乱数発生回路４のクロック端子ＣＫ及びＡＮＤ回路６に入力される。ＡＮＤ回路６のもう一方の入力にはＮビットのバイナリカウンタとして構成されたカウンタ３の出力端子−Ｑｎが接続されており、ＡＮＤ回路６の出力はカウンタ３のクロック端子ＣＫに接続されている。
【００１１】
パワーオンリセット回路２の出力は、カウンタ３のリセット端子Ｒｅｓｅｔに接続されているとともに、ＯＲ回路７の入力に接続されている。ＯＲ回路７のもう一方の入力にはカウンタ３の出力端子−Ｑｎが接続されている。
【００１２】
そして、ＯＲ回路７の出力（以下、「システムリセット信号ＳＲ」と呼ぶ）は、乱数発生回路４が出力する乱数を使用する回路（不図示）に入力されており、この乱数を使用する回路は、システム全体のリセットが解除された後（システムリセット信号ＳＲがハイレベルからローレベルになった後）、入力されるクロックを所定数カウントすると、乱数発生回路４が出力する乱数を読み出すようになっており、常に同じタイミングで乱数が読み出されることになる。
【００１３】
パワーオンリセット回路２は、電源電圧ＶDDとグランドＧＮＤ間に直列接続された抵抗ＲとコンデンサＣとの接続点がインバータＩＮＶの入力に接続されており、その出力（インバータＩＮＶの出力側）は、電源投入直後はハイレベルとなるが、コンデンサＣと抵抗Ｒとによって決まる所定時間ｔ0が経過するとローレベルに切り換わる。
【００１４】
カウンタ３は、リセット状態（リセット端子Ｒｅｓｅｔに入力される信号がハイレベルである状態）では、出力端子−Ｑｎからの出力をハイレベルとするが、リセット解除後（リセット端子Ｒｅｓｅｔに入力される信号がハイレベルからローレベルに切り換わった後）、クロック端子ＣＫに入力されるクロックの立ち上がりを所定回数カウントすると、出力端子−Ｑｎからの出力をローレベルに切り換える。
【００１５】
尚、カウンタ３がクロック端子ＣＫから入力するクロックの立ち上がりをカウントする回数は、カウンタ３の出力端子−Ｑｎからの出力が、電源投入後、発振回路１の発振波が安定した後に、ローレベルに切り換わるように設定されている。
【００１６】
乱数発生回路４は、例えば、図３に示すようなカウンタ構成であり、この例では、８つのフリップフロップＦＦ１〜ＦＦ８が縦続接続され、これらの縦続接続間のうち、フリップフロップＦＦ２とフリップフロップＦＦ３との間、フリップフロップＦＦ３とフリップフロップＦＦ４との間、フリップフロップＦＦ５とフリップフロップＦＦ６との間に、それぞれＥＸＯＲ回路Ｇ１、Ｇ２、Ｇ３が設けられ、最終段の出力が初段のフリップフロップＦＦ１の入力、及び、各ＥＸＯＲ回路Ｇ１〜Ｇ３に帰還されている。これにより、各段の入力からなる８ビットには、クロック端子ＣＫに入力されるクロックに同期して所定系列の乱数が現れることになる。
【００１７】
尚、乱数発生回路４はリセット端子Ｒｅｓｅｔを有しており、このリセット端子Ｒｅｓｅｔに入力される信号によってリセットがかかり、乱数として出力する初期値が与えられるが、このリセット端子はシステム内部ではどこにも接続されておらず、正常に動作しているか否かを判定することなどを目的として、テスト時にのみ、外部からリセット端子に信号を入力し、乱数発生回路４に外部からリセットをかけることができるようになっている。
【００１８】
以上より、電源投入後の、発振回路１の発振波Ａ、パワーオンリセット回路２のコンデンサＣと抵抗Ｒとの接続点Ｂの電圧、パワーオンリセット回路２の出力Ｃ、カウンタ３の出力Ｄ、及び、システムリセット信号ＳＲのタイミングチャートは図２に示すようになり、電源投入後、時間ｔ0＋ｔ1が経過すると、すなわち、発振回路１の発振が安定した後に、システム全体のリセットが解除され、その後、さらに時間ｔ2が経過すると、乱数が読み出されることになる。尚、ｔ0はパワーオンリセット回路１のコンデンサＣと抵抗Ｒとで決まる時間、ｔ1はカウンタ３がクロックの立ち上がりを所定回数カウントするまでに要する時間、ｔ2は乱数を使用する回路がクロックを所定数カウントするまでに要する時間である。
【００１９】
したがって、システム全体のリセットが解除された後、常に同じタイミングで乱数が読み出されることになるが、本実施形態では、乱数発生回路４については、電源投入後、初期化することなく、さらに、発振回路１の発振波が不安定な状態で、動作を開始させることになるので、意図する初期値を与えられることなく動作を開始し、また、動作を開始してから一定時間が経過するまでに入力されるクロックの数は不定となり、これにより、電源投入直後に読み出される乱数の値は常に同一となることはない。
【００２０】
尚、カウンタ構成の乱数発生回路については、トランジスタの能力のアンバランスなどにより、リセットをかけなくても、電源投入時に出力する乱数の値が同一になる場合があるが、このような場合でも、本実施形態では、さらに、入力クロックが不安定な状態から動作させるようにしているので、電源投入後、一定時間が経過するまでに入力されるクロックの数は不定であり、乱数を使用する回路によって読み出される乱数の値は常に同一となることはない。
【００２１】
さらに、本実施形態では、コンデンサＣと抵抗Ｒのばらつきによって、電源投入後、パワーオンリセット回路２の出力がハイレベルからローレベルに変化するまでの時間、ひいては、システムリセットが解除されるまでの時間がばらつくので、乱数を使用する回路によって電源投入後に読み出される乱数の値はシステム毎に異なるものとなる。
【００２２】
尚、本発明は、上記実施形態に限定されるものではなく、例えば、発振回路１、パワーオンリセット回路２、カウンタ３、及び、乱数発生回路４については、様々な構成を取り得る。また、発振回路１及びパワーオンリセット回路２については、ＩＣ内部であってもＩＣ外部であってもどちらでも構わない。
【００２３】
【発明の効果】
以上説明したように、乱数発生回路を有する本発明の半導体装置によれば、電源投入後、乱数発生回路は意図する初期値を与えられることなく動作を開始し、また、動作を開始してから一定時間が経過するまでに入力されるクロックの数は不定となるので、システム全体（乱数発生回路を除く）のリセットが解除された後、同じタイミングで乱数が読み出されたとしても、その値が常に同一となることはなくなる。
【図面の簡単な説明】
【図１】  本発明の一実施形態である半導体装置の構成を示す図である。
【図２】  各信号のタイミングチャートを示す図である。
【図３】  カウンタ構成の乱数発生回路を示す図である。
【符号の説明】
１    発振回路
２    パワーオンリセット回路
３    カウンタ
４    乱数発生回路
５    インバータ回路
６    ＡＮＤ回路
７    ＯＲ回路
ＦＦ１〜ＦＦ８    フリップフロップ
Ｇ１〜Ｇ３    ＥＸＯＲ回路
【図１】
0003690915.tif 000002
【図２】
0003690915.tif 000003
【図３】
0003690915.tif 000004