(57)【特許請求の範囲】
【請求項１】
電流ノイズ源および前記電流ノイズ源の出力を受けるシュミット・インバータを有する組を少なくとも１組含むリング発振器と、
前記リング発振器の出力の周波数揺らぎを乱数化し、乱数を出力する乱数化回路と、
を備えていることを特徴とする乱数生成回路。
【請求項２】
前記シュミット・インバータは第１閾値電圧ＶＨと前記第１閾値電圧よりも低い第２閾値電圧ＶＬとを有し、Ｃを前記シュミット・インバータの入力ゲート容量、σを前記電流ノイズ源の電気伝導度、Δσを前記電流ノイズ源の電気伝導度σの揺らぎ、ＶＤＤを電源電圧、Ｔを前記リング発振器から前記シュミット・インバータを除いた部分のゲート遅延の積算値、ｔ１を前記シュミット・インバータのゲートの電圧が前記第２閾値電圧ＶＬから前記第１閾値電圧ＶＨになるまでの時間、Δｔ１を前記電流ノイズ源の電気伝導度σがΔσだけ揺らいでいる場合の遅延時間の揺らぎとすると、前記第１閾値電圧ＶＨおよび前記第２閾値電圧ＶＬは、以下の関係式を満たすことを特徴とする請求項１記載の乱数生成回路。
【数１】
0004427581.tif 000009
【請求項３】
前記電流ノイズ源はｎチャネルＭＯＳＦＥＴ型電流ノイズ源であって、ＶＨを前記シュミット・インバータの２つの閾値のうち大きい方の閾値とし、Ｖｔｈを前記ｎチャネルＭＯＳＦＥＴ型電流ノイズ源の閾値とするとき、前記ｎチャネルＭＯＳＦＥＴ型電流ノイズ源のゲートに印加する電圧ＶＧは、
ＶＧ＞ＶＨ＋Ｖｔｈ
を満たすように与えられることを特徴とする請求項１または２記載の乱数生成回路。
【請求項４】
前記電流ノイズ源はｐチャネルＭＯＳＦＥＴ型電流ノイズ源であって、ＶＬを前記シュミット・インバータの２つの閾値のうち小さい方の閾値とし、Ｖｔｈを前記ｐチャネルＭＯＳＦＥＴ型電流ノイズ源の閾値の絶対値とするとき、前記ｐチャネルＭＯＳＦＥＴ型電流ノイズ源のゲートに印加する電圧ＶＧは、
ＶＧ＜ＶＬ−Ｖｔｈ
を満たすように与えられることを特徴とする請求項１または２記載の乱数生成回路。
【請求項５】
前記乱数化回路は、
前記リング発振器の出力を受けるＣＥ端子、外部からの発振信号を受けるＣＫ端子、Ｄ端子、およびＱ端子を有する第１のＤ型フリップフロップと、
前記第１のＤ型フリップフロップのＱ端子からの出力を反転し前記第１のＤ型フリップフロップのＤ端子に帰還する第１のインバータと、
前記リング発振器の出力を反転する第２のインバータと、
前記第２のインバータの出力を受けるＣＫ端子、前記第１のＤ型フリップフロップのＱ端子からの出力を受けるＤ端子、および乱数を出力するＱ端子を有する第２のＤ型フリップフロップと、
を備えていることを特徴とする請求項１乃至４のいずれかに記載の乱数生成回路。
【請求項６】
前記乱数化回路が受ける前記リング発振器の出力は、ハイレベルの期間がローレベルの期間より長い信号であることを特徴とする請求項５記載の乱数生成回路。
【請求項７】
前記乱数化回路は、
前記リング発振器の出力を受けるＣＫ端子、外部からの発振信号を受けるＣＥ端子、Ｄ端子、およびＱ端子を有する第１のＤ型フリップフロップと、
前記第１のＤ型フリップフロップのＱ端子からの出力を反転し前記第１のＤ型フリップフロップのＤ端子に帰還する第１のインバータと、
前記リング発振器の出力を反転する第２のインバータと、
前記第２のインバータの出力を受けるＣＫ端子、前記第１のＤ型フリップフロップのＱ端子からの出力を受けるＤ端子、および乱数を出力するＱ端子を有する第２のＤ型フリップフロップと、
を備えていることを特徴とする請求項１乃至４のいずれかに記載の乱数生成回路。
【請求項８】
外部からの前記発振信号は、ハイレベルの期間がローレベルの期間より長い信号であることを特徴とする請求項７記載の乱数生成回路。
【請求項９】
前記乱数化回路は、前記リング発振器の出力を受けるＣＫ端子、外部からの発振信号を受けるＤ端子、および乱数を出力するＱ端子を有するＤ型フリップフロップを備えていることを特徴とする請求項１乃至４のいずれかに記載の乱数生成回路。
【請求項１０】
前記乱数化回路は、
前記リング発振器の出力の周波数を分周する分周器と、
外部からの発振信号を受けるＣＫ端子、前記分周器の出力を受けるＤ端子、および乱数を出力するＱ端子を有するＤ型フリップフロップと、
を備えていることを特徴とする請求項１乃至４のいずれかに記載の乱数生成回路。
【請求項１１】
前記乱数化回路は、前記リング発振器の出力を受けるＤ端子、外部からの発振信号を受けるＣＫ端子、および乱数を出力するＱ端子を有するＤ型フリップフロップを備えていることを特徴とする請求項１乃至４のいずれかに記載の乱数生成回路。
【請求項１２】
前記シュミット・インバータは、
入力端子と、
出力端子と、
ゲートが前記入力端子に接続され、ソースが駆動電源に接続される第１のｐチャネルＭＯＳＦＥＴと、
ゲートが前記入力端子に接続され、ソースが前記第１のｐチャネルＭＯＳＦＥＴのドレインに接続される第２のｐチャネルＭＯＳＦＥＴと、
ゲートが前記入力端子に接続され、ドレインが前記第２のｐチャネルＭＯＳＦＥＴのドレインに接続される第１のｎチャネルＭＯＳＦＥＴと、
ゲートが前記入力端子に接続され、ドレインが前記第１のｎチャネルＭＯＳＦＥＴのソースに接続され、ソースが接地される第２のｎチャネルＭＯＳＦＥＴと、
ソースが前記第１のｐチャネルＭＯＳＦＥＴのドレインに接続され、ドレインが接地され、ゲートが前記出力端子に接続される第３のｐチャネルＭＯＳＦＥＴと、
ソースが前記第１のｎチャネルＭＯＳＦＥＴのソースに接続され、ドレインが前記駆動電源に接続され、ゲートが前記出力端子に接続される第３のｎチャネルＭＯＳＦＥＴと、
を備えていることを特徴とする請求項１乃至１１のいずれかに記載の乱数生成回路。
【請求項１３】
前記リング発振器は、前記電流ノイズ源および前記シュミット・インバータからなる組が奇数個直列に接続された直列回路であることを特徴とする請求項１乃至１２のいずれかに記載の乱数生成回路。
【請求項１４】
前記リング発振器は、
少なくとも１つのインバータを更に備え、前記シュミット・インバータの個数と前記インバータの個数の合計が奇数であることを特徴とする請求項１乃至１２のいずれかに記載の乱数生成回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、乱数生成回路に関し、特に、物理現象に基づき乱数を生成する乱数生成回路に関する。
【背景技術】
【０００２】
情報通信技術の進展、普及に伴い、高品質な乱数に対する要求が高まっている。情報セキュリティの強度は、予測困難性の元となる乱数に依存している。また、科学技術計算の分野でも、より正確な計算のために、高品質乱数を必要としている。
【０００３】
一般的に用いられている乱数は、あるアルゴリズムに基づいて、計算により擬似的に求められた算術乱数である。この算術乱数を発生する回路は簡易に製作することができるが、初期値（シード）が一定であれば、出力乱数は常に一定になる。また、出力乱数が、回路の構成により決まる一定の周期を持つという問題がある。
【０００４】
一方、算術乱数とは異なる、物理的な揺らぎ現象を利用して生成される物理乱数が知られている。物理乱数においては、物理的な揺らぎを利用することにより、出力される乱数が初期値に依存せず、また周期を持たない乱数列を得ることができる。このような物理乱数を発生する乱数生成回路の例として、例えば特許文献１に開示されている。
【特許文献１】特開２００６−１８９９４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に開示された乱数生成回路では、ノイズを意図的に大きくした素子をノイズ源とすることによって、良質な乱数を生成することができる。しかしながら、上記乱数生成回路においては、ノイズ源となる素子の出力を乱数化するためにコンパレータが用いられているが、このコンパレータは、消費電力が大きいという問題があった。
【０００６】
本発明は、上記事情を考慮してなされたものであって、消費電力が可及的に少ない、物理乱数を生成する乱数生成回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様による乱数生成回路は、電流ノイズ源および前記電流ノイズ源の出力を受けるシュミット・インバータを有する組を少なくとも１組含むリング発振器と、前記リング発振器の出力の周波数揺らぎを乱数化し、乱数を出力する乱数化回路と、を備えていることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、消費電力が可及的に少ない、物理乱数を生成する乱数生成回路を提供することができる。
【発明を実施するための最良の形態】
【０００９】
本発明の実施形態を説明する前に、本発明に至った経緯について説明する。
【００１０】
まず、本発明の一実施形態による乱数生成回路に用いられる電流ノイズ源について説明する。電流ノイズ源とは、電流ノイズ源となる素子の各端子に一定電圧を加えた場合に、その電流値の揺らぎが大きい素子を指している。例えば、図２に示すような、ナノスケールの微細な電子チャネル４２と、この電子チャネル４２の近傍に配設された、ノイズ信号を発生させる電子トラップ４４とを備えた素子４０を指す。この素子４０の一具体例として微細なチャネル長、チャネル幅を持つ電界効果トランジスタ（ＦＥＴ）が挙げられる。このＦＥＴにおいては、電子チャネル４２はＦＥＴのソース領域とドレイン領域との間のチャネルであり、電子トラップ４４はＦＥＴのゲート絶縁膜中の電子トラップである。電子トラップ４４に電子ｅが捕獲されると、電子ｅが作るクーロン場により電子チャネル４２を通過する電子ｅが影響を受け、電子チャネル４２の伝導度が変化する。電子トラップ４４における電子ｅの捕獲又は放出は、電子チャネル４２と電子トラップ４４との間に存在するエネルギ障壁を介して、電子チャネル４２との間において行われる。電子ｅの捕獲又は放出はランダムに発生するので、電子チャネル４２の伝導度はランダムに揺らぐことになる。結果的に、電子チャネル４２に一定電圧を供給しても、電子チャネルにおいて電流値がランダムに揺らいだノイズ信号を生成することができる。このような素子は、例えば、特開２００７−３０４７３０号公報に開示されている。この特開２００７−３０４７３０号公報に開示された電流ノイズ源は、ＭＯＳＦＥＴの構造を工夫することによって、ノイズを大きくしている。ＭＯＳＦＥＴの構造やレイアウトを工夫することにより電流ノイズを大きくした電流ノイズ源はＭＯＳＦＥＴ型電流ノイズ源と呼ばれている。
【００１１】
また、電流ノイズ源４０の他の例としては、図３に示すように、一対の電極４６ａ、４６ｂ間に挟まれ疑似破壊された絶縁膜４８を有する構成とすることもできる。この電流ノイズ源は、例えばコンデンサである。コンデンサにおいては、絶縁膜４８に電気的ストレスを加えると、絶縁膜４８の伝導度が若干増加した状態になる。このとき、絶縁膜４８に一定電圧を印加すると、絶縁膜４８中の電子トラップ間をトンネル現象により電子ｅがランダムに移動し、大きく揺らいだ電流値が得られる。この電流値の揺らぎにより、ノイズ信号を生成することができる。電極４６ａ、４６ｂは、単結晶シリコン、多結晶シリコン、非晶質シリコン、金属等の導電性材料により形成される。絶縁膜４８としては、シリコン酸化膜、シリコン窒化膜等の単層膜、ハフニウムやアルミニウムを含む高誘電率酸化物（いわゆるｈｉｇｈ−ｋ絶縁膜）、またそれらを積層した複合膜等の絶縁性材料により構成される。擬似破壊された絶縁膜４８における電極４６ａ、４６ｂ間の平均の伝導度は、電極４６ａ、４６ｂ間に印加される電圧によって変化することが無い。このように、平均の伝導度が端子の電圧によらない電流ノイズ源は抵抗型電流ノイズ源と呼ばれている。
【００１２】
本発明者達は、図４に示す、３段のインバータ５０１、５０２、５０３からなるリング発振器の経路に、ＭＯＳＦＥＴ型電流ノイズ源４０を組み込んだ発振器について考察した。この発振器において、点Ａと点Ｂにおける発振波形を、オシロスコープで取得した図を図５に示す。点Ａは電流ノイズ源４０の出力端子と１段目のインバータ５０１の入力端子との接続点を示し、点Ｂは第１段目のインバータ５０１の出力端子と２段目のインバータ５０２の入力端子との接続点を示す。点Ａ及び点Ｂの発振波形は、計測した複数の点Ｂの波形のそれぞれの縦軸のレベルが点Ｚを通過する点でタイミングを合わせて、すなわち横軸においてトリガと示された点でタイミングを合わせて、重ねて描いたものである。なお、図５において、ＧＮＤＡは点Ａのグランドレベルを示し、ＧＮＤＢは点Ｂのグランドレベルを示している。発振器の発振周期が一定の場合、波形がよく重なり合うため、オシロスコープの画面には乱れの無い発振波形が表示される。一方、発振器の発振周期に揺らぎがある場合は、波形が重なり合わず、ばらついた波形が表示される。オシロスコープの画面の表示のばらつき具合が、発振周波数の揺らぎの程度を見る目安になる。
【００１３】
図５からわかるように、発振波形は互いによく重なりあっていて、周波数の揺らぎがあまり無いことが分かる。また、点Ａと点Ｂの発振振幅を比較すると、点Ｂは２．２Ｖ程度の振幅を持つのに対して、点Ａは０．６Ｖ程度と点Ｂに比べて小さい振幅であることが分かる。点Ａの電位変化が小さいということは、点Ａにおける電荷の移動が小さいということを意味している。発振器の発振周波数に揺らぎがみられないのは、電流ノイズ源４０に流れる電荷量が小さいため、発振波形に現れるノイズの効果が小さいためだと考えられる。
【００１４】
次に、電流ノイズ源４０の出力端子の直後の点Ａにおける電位変化が小さい理由を説明する。インバータの入力電圧Ｖｉｎと出力電圧Ｖｏｕｔの関係を図６に示す。図６中の点線で示したように、インバータの出力が反転するために必要な入力電圧の変化量は小さい。図４に示すリング発振器を構成する各インバータ５０１、５０２、５０３のゲートが充電される経路を図７に示す。破線６０で示したように、インバータ５０１の入力は、インバータ５０３のｐＭＯＳＦＥＴと電流ノイズ源４０とを介して充電される。一方、破線６２で示したように、それ以外のインバータ５０２、５０３は前段のインバータのｐＭＯＳＦＥＴのみを介して充電される。一般的に、電流ノイズ源４０の伝導度はインバータ５０１、５０２、５０３を構成するＭＯＳＦＥＴに比べて小さい。即ち、電流ノイズ源４０の直後のインバータ５０１のゲート容量は、他のインバータ５０２、５０３のゲート容量に比べて、充電される速度が遅い。各インバータ５０１、５０２、５０３の放電速度に関しても同様の議論が成り立つ。したがって、図７においては、点Ａの電位変化の速度は、点Ｂ、点Ｃ、点Ｄの電位変化速度に比べて遅い。なお、点Ｃは第２段目のインバータ５０２の出力端子と３段目のインバータ５０３の入力端子との接続点を示し、点Ｄは第３段目のインバータ５０３の出力端子と電流ノイズ源４０の入力端子との接続点を示す。
【００１５】
点Ａにおける電位変化を起点として、図４に示すリング発振器の動作を考える。点Ａの電位がインバータ５０１の閾値を超えると、インバータ５０１の出力が反転する。そして、Ｂ→Ｃ→Ｄへと反転信号が順次伝わる。点Ｄに反転信号が到達すると同時に、点Ａにおける電位変化方向が逆転する。点Ａの電位変化速度は遅いため、点Dに反転信号が到達した時点では、点Ａの電位はインバータ５０１の閾値からあまり変化していない。この動作が繰り返されるため、点Ａにおける発振振幅は、概ねインバータの出力が遷移するために必要な入力の幅程度（図６に示す点線間の幅Ｖｓｔ程度）になる。
【００１６】
以上の説明からわかるように、図４に示すリング発振器の発振周波数の揺らぎが小さいのは、点Ａの電位変化速度が遅く、またインバータ５０１が反転するために必要な入力の幅が小さいため、電流ノイズ源４０にあまり電荷が流れないためである。
【００１７】
そこで、本発明者達は、電流ノイズ源の出力が入力されるインバータは、電流ノイズ源が、ある程度電荷を流すまで反転を待つものであればよいと考えた。すなわち、図８に示すような、入出力関係にヒステリシスを持つ、シュミット・トリガ技術を使ったインバータを用いれば良いと考えた。以下このようなインバータを、シュミット・インバータと呼ぶ。
【００１８】
（一実施形態）
次に、本発明の一実施形態による乱数生成回路を説明する。本実施形態の乱数生成回路を図１に示す。本実施形態の乱数生成回路は、電流ノイズ源２と、シュミット・インバータ４と、インバータ１２１、１２２と、乱数化回路２０とを備えている。電流ノイズ源２は、ＭＯＳＦＥＴ型電流ノイズ源または抵抗型電流ノイズ源のいずれであってもよい。シュミット・インバータ４は電流ノイズ源２の出力を受ける。インバータ１２１はシュミット・インバータ４の出力を受け、インバータ１２２はインバータ１２１の出力を受ける。そして、インバータ１２２の出力は電流源ノイズ２に入力される。すなわち、電流ノイズ源２、シュミット・インバータ４、およびインバータ１２１、１２２によってリング発振器を構成している。このリング発振器においては、シュミット・インバータ４が電流ノイズ源２に効率的に電荷を流すことにより、このリング発振器の発振信号にノイズの影響が効果的に加わる。このため、リング発振器の周波数は大きく揺らぐことになる。乱数化回路２０は、リング発振器の発振周波数の揺らぎを利用して乱数を生成する。
【００１９】
次に、上述のように構成された本実施形態の乱数生成回路の作用および効果を説明する。
【００２０】
本実施形態の乱数生成回路に用いられるリング発振器を図９に示す。このリング発振器の点Ａと点Ｂの発振波形をオシロスコープで取得した図を図１０に示す。点Ａは電流ノイズ源２の出力端子とシュミット・インバータ４の入力端子との接続点を示し、点Ｂはシュミット・インバータ４の出力端子とインバータ１２１の入力端子との接続点を示す。この図１０においては、図５に示す場合と同様に、トリガで示した点でタイミングを合わせて、複数個の発振波形を重ねて描いている。また、時間スケールを図５と揃えている。図１０を見ると、トリガの左右において、波形が乱れていることが分かる。これは、重ね描いた複数の発振波形が、互いに重なりあっていないためである。すなわち、発振周期に揺らぎが生じていることを示している。点Ａの電位振幅を見ると１．３Ｖ程度であり、図５に示す場合に比べて増加していることが分かる。電位振幅が増えたということは、その分だけ電流ノイズ源２に流れる電荷が増えたことを意味している。発振周波数の揺らぎが増加したのは、電流ノイズ源２に、より多くの電荷を流せるようになったからであると考えられる。
【００２１】
次に、図９に示す点Ａを起点として、リング発振器の動作を考える。点Ａの電位が図８に示す電位ＶＨを超えると、シュミット・インバータ４が反転してその信号がＢ→Ｃ→Ｄと伝わる。ここで、点Ｃはインバータ１２１の出力端子とインバータ１２２の入力端子との接続点を示し、点Ｄはインバータ１２２の出力端子と電流ノイズ源２の入力端子との接続点を示す。点Ｄに反転信号が伝わると、点Ａの電位が減少し始める。点Ａの電位変化速度は遅いが、シュミット・インバータ４は点Ａの電位が図８に示すＶＬよりも下がるまで反転を待つ。この間に電流ノイズ源２に電流が流れるため、発振波形にノイズの影響が加わる。点Ａの電位がＶＬよりも下がると、シュミット・インバータ４が反転してその信号がＢ→Ｃ→Ｄと伝わる。そして点Ｄに反転信号が伝わると点Ａの電位が増加し始める。点Ａの電位変化速度は遅いが、シュミット・インバータ４は点Ａの電位がＶＨに到達するまで反転を待つ。この間に電流ノイズ源２に電流が流れる。この動作を繰り返すことで、図９のリング発振器は発振する。
【００２２】
既に、図４を参照して説明したように、電流ノイズ源の出力を通常のインバータに入力した場合は、点Ａの電位はインバータの遷移幅程度しか変化しなかった。
【００２３】
これに対して、本実施形態のように、電流ノイズ源２の出力をシュミット・インバータ４に入力した場合は、点Ａの電位はシュミット・インバータの閾値の差（＝ＶＨ−ＶＬ）程度変化できるようになる。点Ａの電位変化量が増加することで、電流ノイズ源２に、より多くの電荷を流すことができるようになり、リング発振器の発振周波数の揺らぎを大きくすることができる。以上の動作が実現されているために、図９に示すリング発振器の発振周波数は、図１０に示される大きな揺らぎを持つ。
【００２４】
次に、シュミット・インバータ４の一具体例を、図１１を参照して説明する。この一具体例のシュミット・インバータ４は、直列に接続されたｐチャネルＭＯＳＦＥＴ４ａ、４ｂと、直列に接続されたｎチャネルＭＯＳＦＥＴ４ｃ、４ｄと、ｐチャネルＭＯＳＦＥＴ４ｅと、ｎチャネルＭＯＳＦＥＴ４ｆと、を備えている。ｐチャネルＭＯＳＦＥＴ４ａ、４ｂと、ｎチャネルＭＯＳＦＥＴ４ｃ、４ｄのゲートはそれぞれ共通に接続されて、入力電圧Ｖｉｎが入力される。ｐチャネルＭＯＳＦＥＴ４ａは、ソースに電源電圧ＶＤＤが印加され、ドレインがｐチャネルＭＯＳＦＥＴ４ｂのソースと接続ノードＮ１で共通に接続されている。ｐチャネルＭＯＳＦＥＴ４ｂはドレインがｎチャネルＭＯＳＦＥＴ４ｃのドレインと接続ノードＮ２で共通に接続されている。ｎチャネルＭＯＳＦＥＴ４ｃは、ソースがｎチャネルＭＯＳＦＥＴ４ｄのドレインと接続ノードＮ３に共通に接続されている。ｎチャネルＭＯＳＦＥＴ４ｄはソースが接地されている。また、ｐチャネルＭＯＳＦＥＴ４ｅは、ソースが接続ノードＮ１に接続され、ドレインが接地され、ゲートが接続ノードＮ２に接続されている。また、ｎチャネルＭＯＳＦＥＴ４ｆは、ソースが接続ノードＮ３に接続され、ドレインに電源電圧ＶＤＤが印加されている。接続ノードＮ２から出力Ｖｏｕｔが出力される。
【００２５】
次に、このように構成された本具体例のシュミット・インバータ４の動作を、図８および図１１を参照して説明する。入力Ｖｉｎの電位が「０」のとき、ｐチャネルＭＯＳＦＥＴ４ａ、４ｂはＯＮ状態となり、ｎチャネルＭＯＳＦＥＴ４ｃ、４ｄがＯＦＦ状態となるから、ノードＮ２の電位はＶＤＤ、すなわち出力ＶｏｕｔはＶＤＤとなっている。このとき、ｐチャネルＭＯＳＦＥＴ４ｅはＯＦＦ状態となっているから、ノードＮ１の電位はＶＤＤである。また、ノードＮ３とＶＤＤの間には、飽和領域にドライブされたｎチャネルＭＯＳＦＥＴ４ｆが存在するので、ノードＮ３の電位は「ＶＤＤ−Ｖｔｈ４ｆ」となる。ここで、Ｖｔｈ４ｆはｎチャネルＭＯＳＦＥＴ４ｆの閾値電圧である。
【００２６】
この状態において、入力Ｖｉｎの電位が「０」から増加して行き、直列に接続された１個のｐチャネルＭＯＳＦＥＴおよび１個のｎチャネルＭＯＳＦＥＴからなる通常のインバータの出力が反転する電位（通常、ＶＤＤ／２）に近づくと、ｎチャネルＭＯＳＦＥＴ４ｄが徐々にＯＮし始める。しかし、ｎチャネルＭＯＳＦＥＴ４ｆがＯＮ状態であるため、ノードＮ３の電位は「ＶＤＤ−Ｖｔｈ４ｆ」から減少するものの「０」にはならない。そのため、ｎチャネルＭＯＳＦＥＴ４ｃのゲートとソース間の電位差が、ｎチャネルＭＯＳＦＥＴ４ｃの閾値電圧よりも小さく、ｎチャネルＭＯＳＦＥＴ４ｃはＯＦＦ状態で、Ｖｏｕｔは依然としてＶＤＤを維持する（図８参照）。
【００２７】
更にＶｉｎが増加し、ある所定の電位、すなわち第１閾値ＶＨに達する直前から（図８参照）、ｎチャネルＭＯＳＦＥＴ４ｃがＯＮし始め、出力Ｖｏｕｔが減少し始める。
【００２８】
更に入力Ｖｉｎの電位が増加し、第１閾値ＶＨを超えると、ｐチャネルＭＯＳＦＥＴ４ｂがＯＦＦ状態となるとともにｎチャネルＭＯＳＦＥＴ４ｃがＯＮ状態となって、出力Ｖｏｕｔが「０」となる（図８参照）。更にＶｉｎを増加しても出力Ｖｏｕｔは「０」を維持する。
【００２９】
入力Ｖｉｎの電位が「ＶＤＤ」のとき、ｐチャネルＭＯＳＦＥＴ４ａ、４ｂはＯＦＦ状態となり、ｎチャネルＭＯＳＦＥＴ４ｃ、４ｄがＯＮ状態となるから、ノードＮ２の電位は「０」、すなわち出力Ｖｏｕｔは「０」となっている。このとき、ｎチャネルＭＯＳＦＥＴ４ｆはＯＦＦ状態となっているから、ノードＮ３の電位は「０」である。また、ノードＮ１とＶＤＤの間には、飽和領域にドライブされたｐチャネルＭＯＳＦＥＴ４ｅが存在するので、ノードＮ１の電位は、「Ｖｔｈ４ｅ」となる。ここでＶｔｈ４ｅはｐチャネルＭＯＳＦＥＴ４ｅの閾値電圧の絶対値である。
【００３０】
この状態で、入力Ｖｉｎの電位がＶＤＤから減少し、直列に接続された１個のｐチャネルＭＯＳＦＥＴおよび１個のｎチャネルＭＯＳＦＥＴからなる通常のインバータの出力が反転する電位（通常、ＶＤＤ／２）に近づくと、ｐチャネルＭＯＳＦＥＴ４ａが徐々にＯＮし始める。しかし、ｐチャネルＭＯＳＦＥＴ４ｅがＯＮの状態であるため、ノードＮ１の電位は「Ｖｔｈ４ｅ」から増加するものの、「ＶＤＤ」にはならない。そのため、ｐチャネルＭＯＳＦＥＴ４ｂのゲートとソース間の電位差が閾値電圧よりも小さく、ｐチャネルＭＯＳＦＥＴ４ｂはＯＦＦ状態で、Ｖｏｕｔは依然として「０」を維持する（図８参照）。
【００３１】
更に入力Ｖｉｎの電位が減少し、ある所定の電位値すなわち第２閾値ＶＬに達する直前から（図８参照）、ｐチャネルＭＯＳＦＥＴ４ｂがＯＮし始め出力Ｖｏｕｔが増加し始める。
【００３２】
更に入力Ｖｉｎの電位が減少し、第１閾値ＶLよりも小さくなると、ｎチャネルＭＯＳＦＥＴ４ｃがＯＦＦ状態となるとともにｐチャネルＭＯＳＦＥＴ４ｂがＯＮ状態となって、出力Ｖｏｕｔが「ＶＤＤ」となる（図８参照）。更にＶｉｎを増加しても出力Ｖｏｕｔは「ＶＤＤ」を維持する。
【００３３】
次に、シュミット・インバータ４の第１および第２閾値電圧に関する条件について説明する。
【００３４】
シュミット・インバータ４の第１および第２閾値ＶＨ、ＶＬの、望ましい関係について説明する。シュミット・インバータ４の入力の電位をＶ、電流ノイズ源の伝導度をσ、シュミット・インバータ４の入力ゲート容量をＣ、電源電圧をＶＤＤとする。簡単のため、インバータ１２２を構成するＭＯＳＦＥＴの伝導度は、電流ノイズ源２の伝導度に比べて小さいとして無視する。時刻ｔ＝０において、シュミット・インバータ４の入力電位が上昇し始めるとする。このとき、ゲートに流入する電流ｉとＶの関係は次の（１）式を満たす。
【数１】
0004427581.tif 000002
【００３５】
また、シュミット・インバータ４の入力ゲートに蓄えられた電荷をＱとすると、Ｑ＝Ｃ×Ｖなので、
【数２】
0004427581.tif 000003
となる。（１）、（２）式から、
【数３】
0004427581.tif 000004
となる。電流ノイズ源２の伝導度は各端子に与えられた電圧に依存しないと仮定する。ｔ＝０でＶ＝ＶＬという初期条件で（３）式の微分方程式を解くと、電圧Ｖは次の（４）で表される。
【数４】
0004427581.tif 000005
ここで、ｔ＝ｔ１でＶ＝ＶＨとなるとすると、
【数５】
0004427581.tif 000006
これが、シュミット・インバータ４の前段のインバータ（図１においては、インバータ１２２）が反転してから、シュミット・インバータ４の出力が反転するのに要する遅延時間である。伝導度σがΔσだけ揺らいでいる場合、遅延時間の揺らぎΔｔ１は以下のように表される。
【数６】
0004427581.tif 000007
【００３６】
リング発振器からシュミット・インバータ４を除いた部分のゲート遅延の積算をＴとすると、平均の発振周期はＴ＋ｔ１である。高品質な乱数を生成する場合、発振周期の揺らぎΔｔ１は、発振周期Ｔ＋ｔ１の１％以上であることが望ましい。即ち、次の（８）式を満たすことが望ましい。
【数７】
0004427581.tif 000008
【００３７】
これが、シュミット・インバータ４の第１および第２閾値ＶＨ、ＶＬに対する望ましい関係である。もし伝導度が端子に与えられた電圧に依存する場合は、平均の伝導度を用いて上式を適用する。
【００３８】
次に、本実施形態において、電流ノイズ源２として、ｎＭＯＳＦＥＴ型電流ノイズ源を使う場合、ｎチャネルＭＯＳＦＥＴ型電流ノイズ源のゲートに加える電圧ＶＧは以下の関係式を満たす必要がある
ＶＧ＞ＶＨ＋Ｖｔｈ
ここで、ＶＨはシュミット・インバータ４の閾値の大きい側の値（第１閾値）であり、ＶｔｈはｎチャネルＭＯＳＦＥＴ型電流ノイズ源の閾値電圧である。この関係が満たされない場合、図９に示す点Ａの電位が上昇していくと、ある時点でＶＧＳ＝Ｖｔｈが成立する。こうなってしまうと、ｎチャネルＭＯＳＦＥＴ型電流ノイズ源がオフするので、点Ａに電荷が流入できなくなり、発振が止まる。
【００３９】
また、本実施形態において、電流ノイズ源として、ｐチャネルＭＯＳＦＥＴ型電流ノイズ源を使う場合、ｐチャネルＭＯＳＦＥＴ型電流ノイズ源のゲートに加える電圧ＶＧは以下の関係式を満たす必要がある
ＶＧ＜ＶＬ−ＶＴＨ
ここで、ＶＬはシュミット・インバータ４の閾値の小さい側の値（第２閾値）であり、ＶＴＨはｐチャネルＭＯＳＦＥＴ型電流ノイズ源の閾値電圧の絶対値である。この関係が満たされない場合、図９に示す点Ａの電位が減少していくと、ある時点でＶＧＳ＝ＶＴＨが成立する。こうなってしまうと、ｐチャネルＭＯＳＦＥＴ型電流ノイズ源がオフするので、点Ａに電荷が流入できなくなり、発振が止まる。
【００４０】
なお、本実施形態においては、リング発振器に含まれる電流ノイズ源とシュミット・インバータとからなる組の数は１組であったが、複数組を備えていてもよい。例えば、図１２に示すように、電流ノイズ源とシュミット・インバータの組を複数組（図１２では、２組）と、少なくとも１個の通常のインバータとを備えていてもよい。すなわち、図１２に示すリング発振器は、直列に接続されたＭＯＳＦＥＴ型電流ノイズ源２１およびシュミット・インバータ４１の組と、直列に接続されたＭＯＳＦＥＴ型電流ノイズ源２２およびシュミット・インバータ４２の組と、通常のインバータ１２とを備え、それらが直列に接続された構成としてもよい。この場合は、リング発振器に含まれる、シュミット・インバータおよび通常のインバータの総数は奇数個である必要がある。さもないと、発振しないからである。
【００４１】
また、図１３に示すように、リング発振器は、電流ノイズ源とシュミット・インバータとからなる組を、３以上の奇数組（図１３では３組）直列に接続した直列回路のみからなる構成としてもよい。すなわち、図１３に示すリング発振器は、直列に接続されたＭＯＳＦＥＴ型電流ノイズ源２１およびシュミット・インバータ４１の組と、直列に接続されたＭＯＳＦＥＴ型電流ノイズ源２２およびシュミット・インバータ４２の組と、直列に接続されたＭＯＳＦＥＴ型電流ノイズ源２３およびシュミット・インバータ４３の組と、を備え、それらが直列に接続された構成としてもよい。この場合、通常のインバータは不要なる。
【００４２】
さらに、図１４に示すように、電流ノイズ源とシュミット・インバータとからなる組を複数組と、少なくとも１個の通常のインバータとを備え、各組の電流ノイズ源として異なる種類の電流ノイズ源を用いてもよい。すなわち、図１４に示すリング発振器は、直列に接続された電流ノイズ源２１およびシュミット・インバータ４１の組と、直列に接続された電流ノイズ源２２およびシュミット・インバータ４２の組と、通常のインバータ１２とを備え、それらが直列に接続され、電流ノイズ源２１として例えばＭＯＳＦＥＴ型電流ノイズ源を用い、電流ノイズ源２２として例えば抵抗型電流ノイズ源を用いてもよい。
【００４３】
また、図１５に示すように、リング発振器として、直列に接続された電流ノイズ源、シュミット・インバータ、および通常のインバータからなる組をｎ−１個（ｎは３以上の整数）直列に接続した直列回路と、直列に接続された電流ノイズ源およびシュミット・インバータからなる一組の直列回路とを直列に接続するように構成してもよい。すなわち、電流ノイズ源２１、シュミット・インバータ４１、インバータ１２１、電流ノイズ源２２、シュミット・インバータ４２、インバータ１２２、・・・、電流ノイズ源２ｎ、およびシュミット・インバータ４ｎ、を直列に接続した構成としてもよい。また、図２７に示すように、直列に接続された電流ノイズ源２ｉ（ｉ＝１，・・・，ｎ）およびシュミット・インバータ４ｉからなる直列回路をｎ個（ｎ≧１）直列に接続し、それらの間に複数個（図２７においては、４個）のインバータ１２１〜１２４を設けた構成としてもよい。そして、インバータは任意の位置に設けることができる。また、リング発振器内に設けられるインバータの個数は、リング発振器を構成するシュミット・インバータの個数との合計が奇数であれば、制限はない。そして、リング発振器の出力は、シュミット・インバータの出力から取り出さなくてもよい。例えば、図２７においては、シュミット・インバータ４１の出力端子から、リング発振器の出力が取り出されているが、図２８に示すように、インバータ１２３の出力端子から取り出してもよい。なお、図２８に示すリング発振器は、図２７に示すリング発振器と同じ構成を有している。
【００４４】
このように、リング発振器として、電流ノイズ源とシュミット・インバータとの組を複数組備えることは、１組の場合よりも、発振周波数の揺らぎを大きくする効果がある。
【００４５】
これまでの説明では、シュミット・インバータとして、シュミット・トリガ技術を使ったインバータを使用してきた。シュミット・インバータの代わりに、同様の動作する、シュミット・トリガ技術を使ったバッファを用いてもよい。もちろん、結合するインバータやバッファの数は、リング発振機として動作するように設計する必要がある。
【００４６】
次に、リング発振器のデューティー比について説明する。
【００４７】
図１０に示す発振波形を見ると、デューティー比が５０％ではないことが分かる。特にＭＯＳＦＥＴ型電流ノイズ源を使った場合、回路構成によっては、デューティー比が５０％にならない場合がある。その理由について説明する。
【００４８】
電流ノイズ源はｎチャネルＭＯＳＦＥＴ型であるとする。ＭＯＳＦＥＴの伝導度は、主としてゲートに与えた電位とソース電位の差によって制御される。ここでソース電位とは、ｎチャネルＭＯＳＦＥＴのチャネル両端の電極のうち、電位が低い方である。図１６に、点Ａの電位が「ハイ」から「ロー」に変化するときの、ゲート・ソース間電圧ＶＧＳと電流の関係を示す。点Ａの電位が「ハイ」から「ロー」になる場合は、図１６の矢印に示す経路に電流が流れることにより、点Ａに蓄えられた電荷が放電される。このとき、電流ノイズ源２のソース電極は図１６において左側の端子になり、ＶＧＳは放電される間一定である。すなわち、電流ノイズ源２の伝導度はほとんど変化しない。
【００４９】
一方、図１７には、点Ａの電位が「ロー」から「ハイ」に変化する場合を示している。この場合、図１７の矢印で示した方向に電流が流れ、点Ａが充電される。このとき、ソース電極は図１７において右側の端子になる。電流が流れるに従って点Ａの電位が上昇し、ＶＧＳは減少する。すなわち、点Ａの電位が上昇するに従って、電流ノイズ源２の伝導度が小さくなっていく。以上から、ｎチャネルＭＯＳＦＥＴ型電流ノイズ源２を使った場合、点Ａの電位が上昇する速度は、点Ａの電位が減少する速度よりも遅いことが分かる。
【００５０】
電流ノイズ源２がｐチャネルＭＯＳＦＥＴ型の場合、伝導度を決めるソース電位は、チャネル両端の電極のうち電位の高い方である。図１６、１７のｎチャネルＭＯＳＦＥＴ型の電流ノイズ源をｐチャネルＭＯＳＦＥＴ型に変えた場合、点Ａの電位変化速度は、電位上昇が速く、電位降下は遅い。以上のように、ＭＯＳＦＥＴ型電流ノイズ源を用いた場合、電位上昇速度と降下速度は非対称である。そのため、発振器のデューティー比が５０％にならない場合がある。
【００５１】
これに対して、抵抗型電流ノイズ源の場合、伝導度は端子に与えられた電位に依存しないので、デューティー比を５０％にすることは容易である。ただし、例えばインバータを構成するｎチャネルＭＯＳＦＥＴおよびｐチャネルＭＯＳＦＥＴのゲート長やゲート幅のマッチングによっては、デューティー比が５０％にならない場合もある。
【００５２】
次に、本実施形態に係る乱数化回路の具体例について説明する。乱数化回路と、リング発振器との接続箇所は、具体例によって異なってくる。
【００５３】
リング発振器のどこから、乱数化回路が入力を受けるかは、デューティー比を考慮することが望ましい場合がある。乱数化回路の具体例とともに説明する。
【００５４】
本実施形態に係る乱数化回路の第１具体例を図１８に示す。この第１具体例の乱数化回路２０Ａは、Ｄ型のフリップフロップ２０ａと、インバータ２０ｂ、２０ｃと、Ｄ型のフリップフロップ２０ｄとを備えている。
【００５５】
一般に、Ｄ型のフリップフロップ２０ａは、その動作を制御するCE端子を持つことを特徴とする。CE端子に「ハイ」レベルが入力された場合はフリップフロップが通常の動作をし、「ロー」レベルの信号が入力された場合はフリップフロップの動作が停止する。このフリップフロップの動作は、ＣＫ端子に入力される信号（通常はクロック信号）に基づいて動作し、Ｄ端子に入力されたデータが１クロック遅れて出力端子となるＱ端子から出力される。
【００５６】
本実施形態においては、インバータ２０ｂはＤ型フリップフロップ２０ａの出力Ｑを反転してＤ端子に帰還する。Ｄ型フリップフロップ２０ｄのＣＫ端子には、入力信号ＩＮをインバータ２０ｃによって反転した信号が入力される。Ｄ型フリップフロップ２０ｄは、そのＤ端子にＤ型フリップフロップ２０ａの出力Ｑを受ける。そして、Ｄ型フリップフロップ２０ｄは、Ｑ端子から出力されるデータが乱数となる。
【００５７】
次に、図１９を参照して第１具体例の乱数化回路２０Ａの動作を説明する。入力信号ＩＮが「ロー」レベルの状態のとき、Ｄ型フリップフロップ２０ａの出力端子ＱとＤ型フリップフロップ２０ｄのＤ端子との接続ノードＭのレベルは「ロー」レベルで、出力ＯＵＴも「ロー」レベルとなっている。この状態は、時刻ｔ１において、入力信号ＩＮが「ハイ」レベルとなるまで続く。このとき、フリップフロップ２０ａのＤ端子は、「ハイ」レベルとなっている。そして、時刻ｔ２に（＞ｔ１）に発振信号ＣＳが「ハイ」レベルとなると、フリップフロップ２０ａの出力となるノードＭは「ハイ」レベルとなる。このとき、フリップフロップ２０ａのＤ端子はインバータ２０ｂによって「ロー」レベルにされる。続いて、時刻ｔ３に（＞ｔ２）に発振信号ＣＳが「ハイ」レベルとなると、フリップフロップ２０ａの出力となるノードＭは「ロー」レベルとなる。このとき、フリップフロップ２０ａのＤ端子はインバータ２０ｂによって「ハイ」レベルにされる。これらのことは、入力信号ＩＮが「ハイ」レベルの間、繰り返される。すなわち、入力信号ＩＮが「ハイ」レベルの間は、ノードＭの電位レベルは、発振信号ＣＳの振動に応じて「ハイ」レベルと、「ロー」レベルが交互に繰り返される。
【００５８】
その後、時刻ｔ４（＞ｔ３）になる直前において、ノードＭの電位が「ハイ」レベルであるときに、時刻ｔ４において、入力信号ＩＮが「ハイ」レベルから「ロー」レベルに変化すると、フリップフロップ２０ｄのＣＫ端子に入力される信号は「ロー」レベルから「ハイ」レベルに変化するので、フリップフロップ２０ｄのＱ端子の電位レベル、すなわち出力ＯＵＴは「ロー」レベルから「ハイ」レベルに変化する。しかし、時刻ｔ４を過ぎると、入力信号ＩＮのレベルが「ロー」となるから、ノードＭの電位レベルは「ハイ」のままとなる。
【００５９】
そして、時刻ｔ５（＞ｔ４）において、入力信号ＩＮが「ロー」レベルから「ハイ」レベルになる。そして、入力信号ＩＮが「ハイ」レベルになった後の、発振信号ＣＳの最初の立ち上がりに同期してノードＭの電位レベルは「ロー」となる（時刻ｔ５’）。それ以降、入力信号ＩＮが「ハイ」レベルの間は、ノードＭの電位レベルは、発振信号ＣＳの振動に応じて「ハイ」レベルと、「ロー」レベルが交互に繰り返される。しかし、この期間、出力ＯＵＴの電位レベルは「ハイ」レベルのままである。
【００６０】
その後、時刻ｔ６（＞ｔ５）になる直前において、ノードＭの電位が「ロー」レベルであるときに、時刻ｔ６において、入力信号ＩＮが「ハイ」レベルから「ロー」レベルに変化すると、フリップフロップ２０ｄのＣＫ端子に入力される信号は「ロー」レベルから「ハイ」レベルに変化するので、フリップフロップ２０ｄのＱ端子の電位レベル、すなわち出力ＯＵＴは「ハイ」レベルから「ロー」レベルに変化する。しかし、時刻ｔ６を過ぎると、入力信号ＩＮのレベルが「ロー」となるから、ノードＭの電位レベルは「ロー」のままとなる。
【００６１】
以上の動作説明からわかるように、入力信号ＩＮが「ハイ」レベルの間、ノードＭには発振信号ＣＳの振動回数に応じて「ハイ」レベルと「ロー」レベルが交互に出力される。入力信号ＩＮが「ロー」レベルに落ちると、ノードＭの値がＯＵＴに出力される。このため、入力信号ＩＮの「ハイ」レベルの期間がランダムに変動すれば、入力信号ＩＮが「ハイ」レベルから「ロー」レベルに変化する直前のノードＭの電位レベルはランダムとなり、その結果、出力ＯＵＴは乱数となる。また、発振信号のＣＳの発振周波数がランダムに変動する場合には、入力信号ＩＮが「ハイ」レベルから「ロー」レベルに変化する直前のノードＭの電位レベルはランダムとなり、その結果、出力ＯＵＴは乱数となる。
【００６２】
本実施形態に係るリング発振器と図１８に示す乱数化回路２０Ａを使って乱数を生成する場合、リング発振器の出力を乱数化回路２０Ａのフリップフロップ２０ａのＣＥ端子またはＣＫ端子のどちらに入力するかによって、二通りの方法がある。一つは、フリップフロップ２０ａのＣＥ端子にリング発振器の出力を入れ、ＣＫ端子に外部の発振信号を入れる方法である。もう一つは、ＣＥ端子に外部の発振信号を入力し、ＣＫ端子にリング発振器の出力を入力する方法である。それぞれの特徴と回路構成上の注意点について解説する。
【００６３】
図１５に示すリング発振器の出力をＣＥ端子に、外部の発振信号をＣＫ端子に入力した回路を図２０に示す。この回路構成は、リング発振器の発振周波数で乱数を生成できるので、乱数生成速度が高速であるという特徴がある。リング発振器の発振周波数に対して、十分速い外部の発振信号を用意できる場合に有効である。また、リング発振器のデューティー比が５０％でない場合、ＣＥ端子には、「ハイ」レベルの期間が「ロー」レベルの期間よりも長い信号を入力することが望ましい。これは、図１０に示す波形から分かるように、出力時間が長いレベルの揺らぎの方が、出力時間が短いレベルの揺らぎよりも大きいためである。
【００６４】
レイアウトの都合等で「ハイ」レベルの方が長い出力を取れない場合は、図２１に示すように、フリップフロップ２０ａのＣＥ端子の直前にインバータ３０を置く。こうすることで、乱数化回路２０Ａにハイレベルの方が長い信号を入力することができる。
【００６５】
フリップフロップ２０ａのＣＥ端子に外部の発振信号を、ＣＫ端子に、図１５に示すリング発振器の出力を入力した乱数生成回路を図２２に示す。この場合、外部の発振信号は発振器の出力に比べて発振周波数が小さい必要がある。この回路構成は、発振器の発振周波数が、必要とされる乱数生成レートに比べて十分速い場合に有効である。また、高速な外部の発振信号が他の回路のノイズ源となる恐れがある場合にも有効である。図２２に示す回路構成では、図２０、図２１に示す構成とは異なり、リング発振器のどの出力を入力しても構わない。これは、図１８に示す乱数化回路２０ＡはＣＫ端子に入力される信号の発振回数を数えられていて、そのデューティー比は動作に影響しないからである。また、外部の発振信号は、デューティー比５０％ではなく、ハイレベルの方がローレベルよりも長い発振信号にすることも有効である。これは、リング発振器を長時間振動させる方が、ランダム性を高めることができるからである。
【００６６】
図２０に示す乱数生成回路において、リング発振器として図９に示すリング発振器を用いた場合の消費電力と、特開２００６−１８９９４６号公報に示された乱数生成回路における消費電力の比較を、シミュレーションを行って比較した。シミュレーション用のトランジスタモデルは、Predictive Technology Modelを用いた（URL : http://www.eas.asu.edu/~ptm/、およびY. Cao, T. Sato, D. Sylvester, M. Orshansky, C. Hu, "New paradigm of predictive MOSFET and interconnect modeling for early circuit design," pp. 201-204, CICC, 2000.参照）。
【００６７】
消費電力を計算した結果、特開２００６−１８９９４６号公報に示された乱数生成回路は０．８７ｍＷ、本実施形態の乱数生成回路は０．７４ｍＷとなり、消費電力が改善されることが示された。
【００６８】
次に、本実施形態に係る乱数化回路の第２具体例を図２３に示す。この第２具体例の乱数化回路２０Ｂは、Ｄ型フリップフロップ２０ｅを有している。このフリップフロップ２０ｅのＤ端子に入力された発振信号を、ＣＫ端子に入力されるクロック信号ＣＬＫの立ち上がりで、Ｑ端子から出力ＯＵＴが出力される。発振周波数は、Ｄ端子に入力される信号ＩＮの方がＣＫ端子に入力される信号ＣＬＫよりも大きい必要がある。図２３に示す乱数化回路２０Ｂと、本実施形態に係るリング発振器から乱数を生成する方法は、二通りある。一つは、Ｄ端子に外部の発振信号を入力し、ＣＫ端子にリング発振器の出力を入力する方法である。もう一つは、Ｄ端子にリング発振器の出力を入力し、ＣＫ端子に外部の発振信号を入力する方法である。
【００６９】
図２３に示す乱数化回路２０ＢのＤ端子に外部の発振信号を、ＣＫ端子に、図１５に示すリング発振器の出力を入力した乱数生成回路を図２４に示す。この回路構成では、外部の発振信号のデューティー比は５０％であることが望ましい。また、ＣＫ端子への入力は、リング発振器のどこから取っても構わない。そして、この回路構成は、発振器の発振周波数で乱数を生成できるので、乱数生成速度が高速であるという特徴がある。
【００７０】
図２３に示す乱数化回路２０ＢのＤ端子に図１５に示すリング発振器の出力を、ＣＫ端子に外部の発振信号を入力した乱数生成回路を図２５に示す。この回路構成では、発振器はデューティー５０％であることが望ましい。もしデューティーが５０％にならない場合は、図２６に示すように、リング発振器の出力と、乱数化回路２０Ｂとの間に分周器３５を設ければよい。この分周器３５は、ＣＫ端子にリング発振器の出力を受けるＤ型フリップフロップ３５ａと、フリップフロップ３５ａのＱ端子からの出力の反転信号をＤ端子に帰還させるインバータ３５ｂと、を備えている。したがって、図２６に示す分周器３５は１／２分周器となる。
【００７１】
なお、図２６では１／２分周器を用いているが、１／４、１／８、１／１６等、何分周しても構わない。この回路構成では、外部の発振信号がリング発振器の発振周波数よりも遅い必要がある。また、この回路構成は、発振器の発振周波数が必要とされる乱数生成速度よりも十分速い場合や、高速の外部の発振信号を使えない場合に有効である。
【００７２】
本実施形態の乱数生成回路は、電流ノイズ源、リング発振器、乱数化回路とも、標準の半導体集積回路製造工程で作成することができる。そのため半導体基板上に集積化することが容易である。
【００７３】
次に、本実施形態の乱数生成回路と、他の公知の乱数生成回路との差について説明する。
【００７４】
発振器中に発振周期を変化させるための回路を付加した乱数生成回路が、特開２００１−１６６９２０号公報に開示されている。この特開２００１−１６６９２０号公報に記載された乱数生成回路では、インバータで構成されたリング発振器に発振周波数を変化させるための回路を付加している。
【００７５】
本発明に至った経緯で既に説明したように、インバータの出力が反転するために必要な入力の幅は狭い。そのため、特開２００１−１６６９２０号公報に記載された乱数生成回路においても、本発明に至った経緯と同様の議論が成り立ち、発振周波数の変化は小さい。そのため良質の乱数を出力するのが難しい。
【００７６】
これに対して、電流ノイズ源の出力が入力されるシュミット・インバータをリング発振器の中に組み込むという本実施形態の構成により、発振周波数の揺らぎが大きくすることが可能になり、良質の乱数を生成することができる。
【００７７】
また、リング発振器とシュミット・トリガを使った乱数生成回路が、特開２００３−１０８３６５号公報に開示されている。この特開２００３−１０８３６５号公報に示された乱数生成回路においては、発振器の出力をノイズ源となるＣＲ積分器に入力し、ＣＲ積分器の熱雑音の効果により発振信号にジッタを加える。そして、そのジッタを利用して乱数を生成するものである。シュミット・トリガとＣＲ積分器は、発振機の外側に配置するという構成になっている。また、シュミット・トリガは、電圧雑音により回路が誤動作するのを防ぐためのバッファとしての効果を持ち、シュミット・トリガの使用目的として一般的に知られている。雑音源を発振器の外側に置くため、雑音の効果は各周期で使い捨てであり、発信信号には雑音の効果が保存されない。言い換えると、雑音によるエントロピーは蓄積されない。
【００７８】
これに対して、本実施形態では、電流ノイズ源の出力が入力されるシュミット・インバータをリング発振器の中に組み込む構成となっている。この構成により、電流ノイズ源に流れる電荷を増やし、発振波形に効果的にノイズの影響を加えることができるという効果を持つ。さらに、発振のたびに電流ノイズ源によるエントロピーを蓄積することができる。本実施形態の乱数生成回路と、特開２００３−１０８３６５号公報に開示された乱数生成回路とは、その構成、目的、および効果が異なっている。シュミット・トリガの最も一般的な使用法は、電圧雑音により回路が誤動作するのを防ぐことである。
【００７９】
これに対して、本実施形態では、一般的に雑音除去に使用されるロジックゲートを、雑音の影響を発振信号に効果的に加えるという、新しい目的で使用している。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施形態による乱数生成回路を示すブロック図。
【図２】電流ノイズ源を説明する模式図。
【図３】抵抗型電流ノイズ源を示す断面図。
【図４】３段のインバータからなるリング発振器にＭＯＳＦＥＴ型電流ノイズ源を組み込んだ乱数生成回路。
【図５】図４に示す乱数生成回路の特性を示す波形図。
【図６】ＣＭＯＳインバータの特性を示す図。
【図７】図４に示す乱数生成回路を構成するインバータのゲートの充電経路を説明する図。
【図８】シュミット・インバータの特性を示す図。
【図９】図１に示す乱数生成回路の電流ノイズ源にＭＯＳＦＥＴ型電流ノイズ源を用いた回路図。
【図１０】図９に示す乱数生成回路の特性を示す波形図。
【図１１】図１に示す一実施形態に用いられるシュミット・インバータの一具体例を示す回路図。
【図１２】第１変形例によるリング発振器を示す回路図。
【図１３】第２変形例によるリング発振器を示す回路図。
【図１４】第３変形例によるリング発振器を示す回路図。
【図１５】第４変形例によるリング発振器を有する乱数生成回路を示す回路図。
【図１６】ｎチャネルＭＯＳＦＥＴ型電流ノイズ源の出力端の電位が上昇する速度が減少する速度よりも遅いことを説明する図。
【図１７】ｎチャネルＭＯＳＦＥＴ型電流ノイズ源の出力端の電位が上昇する速度が減少する速度よりも遅いことを説明する図。
【図１８】第１具体例の乱数化回路を示す回路図。
【図１９】第１具体例の乱数化回路の動作を示すタイミングチャート。
【図２０】第１具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図２１】第１具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図２２】第１具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図２３】第２具体例の乱数化回路を示す回路図。
【図２４】第２具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図２５】第２具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図２６】第２具体例の乱数化回路を用いた一実施形態による乱数生成回路を示す回路図。
【図２７】リング発振器の一具体例を示す回路図。
【図２８】リング発振器の出力の位置を説明する回路図。
【符号の説明】
【００８１】
２  電流ノイズ源
４  シュミット・インバータ
１２  インバータ
１２１，１２２  インバータ
２０  乱数化回路
４０  電流ノイズ源
【図１】
0004427581.tif 000010
【図２】
0004427581.tif 000011
【図３】
0004427581.tif 000012
【図４】
0004427581.tif 000013
【図５】
0004427581.tif 000014
【図６】
0004427581.tif 000015
【図７】
0004427581.tif 000016
【図８】
0004427581.tif 000017
【図９】
0004427581.tif 000018
【図１０】
0004427581.tif 000019
【図１１】
0004427581.tif 000020
【図１２】
0004427581.tif 000021
【図１３】
0004427581.tif 000022
【図１４】
0004427581.tif 000023
【図１５】
0004427581.tif 000024
【図１６】
0004427581.tif 000025
【図１７】
0004427581.tif 000026
【図１８】
0004427581.tif 000027
【図１９】
0004427581.tif 000028
【図２０】
0004427581.tif 000029
【図２１】
0004427581.tif 000030
【図２２】
0004427581.tif 000031
【図２３】
0004427581.tif 000032
【図２４】
0004427581.tif 000033
【図２５】
0004427581.tif 000034
【図２６】
0004427581.tif 000035
【図２７】
0004427581.tif 000036
【図２８】
0004427581.tif 000037