IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 独立行政法人産業技術総合研究所の特許一覧

特開2023-69592磁気抵抗素子を備える確率生成器および乱数生成器
<>
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図1
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図2
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図3
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図4
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図5
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図6
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図7
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図8
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図9
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図10
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図11
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図12
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図13
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図14
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図15
  • 特開-磁気抵抗素子を備える確率生成器および乱数生成器 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023069592
(43)【公開日】2023-05-18
(54)【発明の名称】磁気抵抗素子を備える確率生成器および乱数生成器
(51)【国際特許分類】
   G06F 7/58 20060101AFI20230511BHJP
   H10N 50/10 20230101ALI20230511BHJP
【FI】
G06F7/58 680
H01L43/08 Z
H01L43/08 U
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2021181586
(22)【出願日】2021-11-08
(71)【出願人】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(72)【発明者】
【氏名】福島 章雄
【テーマコード(参考)】
5F092
【Fターム(参考)】
5F092AB10
5F092AC12
5F092AD23
5F092AD25
5F092BB10
5F092BB23
5F092BB35
5F092BB36
5F092BB43
5F092BB55
5F092BC03
5F092BC07
5F092BC22
5F092DA03
(57)【要約】
【課題】新規で有用な確率生成器および乱数生成器を提供する。
【解決手段】‘0’または‘1’のビットの所定の生成確率を設定可能な確率生成器であって、ランダムなジッタを含む方形波を複数周期生成する発振部11と、上記発振部から入力された上記方形波の電位を検出して、該電位に応じて‘0’または‘1’のビットを割当てる判定部13と、を備え、上記発振部は、磁化自由層と、磁化固定層と、該磁化自由層と該磁化固定層との間にトンネル障壁層とを有する磁気抵抗素子を含む発振回路16を有し、該磁気抵抗素子に電流を流すことで該磁化自由層の磁化の向きが反転可能であり、該磁化自由層の磁化の向きと該磁化固定層の磁化の向きとが平行状態または反平行状態であるかに応じて抵抗値が変化し、該抵抗値の変化のタイミングに基づいて上記ジッタが発生する、確率生成器が提供される。
【選択図】図1
【特許請求の範囲】
【請求項1】
‘0’または‘1’のビットの所定の生成確率を設定可能な確率生成器であって、
ランダムなジッタを含む方形波を複数周期生成する発振部と、
前記発振部から入力された前記方形波の電位を検出して、該電位に応じて‘0’または‘1’のビットを割当てる判定部と、を備え、
前記発振部は、磁化自由層と、磁化固定層と、該磁化自由層と該磁化固定層との間にトンネル障壁層とを有する磁気抵抗素子を含む発振回路を有し、該磁気抵抗素子に電流を流すことで該磁化自由層の磁化の向きが反転可能であり、該磁化自由層の磁化の向きと該磁化固定層の磁化の向きとが平行状態または反平行状態であるかに応じて抵抗値が変化し、該抵抗値の変化のタイミングに基づいて前記ジッタが発生する、前記確率生成器。
【請求項2】
前記判定部に接続され、‘0’および‘1’のビットの生成確率を前記所定の生成確率になるように制御する生成確率制御部をさらに備える、請求項1記載の確率生成器。
【請求項3】
前記発振部は、複数周期の制御信号を発生する制御信号発生部と、該制御信号に応じて前記発振回路の発振をオンまたはオフする発振制御部とをさらに有し、該発振回路が抵抗とコンデンサと前記磁気抵抗素子とからなる積分回路を含み、該積分回路が入力端子と所定の電位との間に前記抵抗と前記コンデンサとを直列接続し、前記コンデンサと前記磁気抵抗素子とを並列接続し、前記抵抗の一端を入力端子とし、前記抵抗の他端を前記コンデンサおよび前記磁気抵抗素子の一端と接続して出力端子とし、
前記判定部は、前記生成された方形波が入力される入力端子と前記制御信号に対して或る遅延時間後に発生するトリガ信号が入力される他の入力端子とを有し、該トリガ信号のタイミングに応じて前記方形波の電位を検出する、請求項2記載の確率生成器。
【請求項4】
前記生成確率制御部は、前記判定部からの前記‘0’および‘1’のビットを受け取って平均値を求める演算部と、前記平均値に応じて前記所定の生成確率になるように前記遅延時間を調整する調節部と、前記制御信号に対して前記調整された遅延時間後に前記トリガ信号を発生するトリガ信号発生部とを有する、請求項3記載の確率生成器。
【請求項5】
前記発振回路は、直列に環状に接続された3個以上の奇数個のインバータ論理回路を有し、第1のインバータ論理回路の出力端子に前記積分回路の入力端子が接続され、前記積分回路の出力端子が第2のインバータ論理回路の入力端子に接続され、前記所定の電位が前記第2のインバータ論理回路の入力端子の第1の基準電位と第2の基準電位との間の電位であり、前記第1のインバータ論理回路以外のインバータ論理回路の出力端子から出力される前記方形波に前記ジッタが重畳する、請求項3または4記載の確率生成器。
【請求項6】
前記発振制御部は、前記奇数個のインバータ論理回路のうちの一つをNANDゲートに置き換えたものであり、該NANDゲートの第1の入力端子に前段のインバータ論理回路の出力端子を接続し、第2の入力端子に前記制御信号が入力され、該制御信号に応じて前記発振器の発振をオンまたはオフする、請求項5記載の乱数生成器。
【請求項7】
前記発振回路は、前記積分回路を複数有する、請求項3~6のうちいずれか一項記載の確率生成器。
【請求項8】
前記発振部は、抵抗とコンデンサと前記磁気抵抗素子とからなる積分回路を含む前記発振回路と、該発振回路が生成した前記方形波を前記所定の生成確率に応じたデューティ比に設定するデューティ比設定部とを有し、該デューティ比に設定された方形波を前記判定部に出力し、
前記判定部は、前記デューティ比に設定された方形波が入力される入力端子と他のトリガ信号が入力される他の入力端子とを有し、該他のトリガ信号のタイミングに応じて前記方形波の電位を検出する、請求項1記載の確率生成器。
【請求項9】
前記判定部に接続され、‘0’および‘1’のビットの生成確率を前記所定の生成確率になるように制御する生成確率制御部をさらに備える、請求項8記載の確率生成器。
【請求項10】
前記生成確率制御部は、前記判定部からの前記‘0’および‘1’のビットを受け取って平均値を求める演算部と、前記平均値に応じて前記所定の生成確率に応じた前記デューティ比を決定するデューティ比決定部であって、該決定したデューティ比を前記デューティ比設定部に出力する該デューティ比決定部とを含む、請求項9記載の確率生成器。
【請求項11】
前記デューティ比設定部は、前記デューティ比決定部からの信号に基づいて前記発振部からの前記方形波のパルス幅を調整して前記決定したデューティ比に設定する機能を有する、請求項10記載の確率生成器。
【請求項12】
前記デューティ比設定部は、前記所定の生成確率に応じた少なくとも一つの分周回路を有する、請求項8記載の確率生成器。
【請求項13】
請求項1~12のうちいずれか一項に記載の確率生成器を備え、
前記‘1’のビットの生成確率が0.5になるように設定されてなる、乱数生成器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、磁化固定層の磁化に対する磁化自由層の磁化の相対的な角度に応じて抵抗値が変化する磁気抵抗素子を備える確率生成器および乱数生成器に関する。
【背景技術】
【0002】
磁気抵抗素子は、磁化固定層、中間層および磁化自由層の積層体からなる素子である。磁化固定層は磁化自由層に比べ大きな磁化を持ち、通常の動作範囲では、その磁化の向きは固定されている。それに対し、磁化自由層の磁化の向きは外部磁界や素子を流れる電流によって変えることができる。磁化自由層の磁化が一軸の異方性を持つとき、磁化固定層の磁化と磁化自由層の磁化との向きが平行のときと反平行のときに磁化のエネルギーが極小値となり、磁気抵抗素子は二つの安定状態を取る。磁気抵抗素子の抵抗値は、磁化の相対的な角度に依存し、平行のときに最も低くなり、反平行のとき最も高くなる。したがって、一軸の異方性を持つ磁気抵抗素子は二つの抵抗値を保持することができるため、不揮発メモリ素子として利用されている。
【0003】
磁気抵抗素子において、その面内形状を直径100ナノメートル以下、磁化自由層の厚さを2ナノメートル程度にすると、磁化自由層を貫く直流電流によって、磁化の向きを反転させることができる。これが電流磁化反転と呼ばれる現象である。この反転をデータの書き込み法として用いた不揮発メモリがスピン注入磁化反転・磁気抵抗変化型メモリ(STT-MRAM)である。電流磁化反転において、磁化自由層の磁化を反転させるために必要なエネルギーは数十kBT(kB:ボルツマン定数、T:絶対温度)であり、室温のエネルギー(kBT)の数十倍である。言い換えると、電流磁化反転とは数十kBTのエネルギー障壁で隔てられた2つの磁化状態間(平行と反平行状態)のスイッチングとみなすことができる。室温における電流磁化反転では、エネルギー障壁の高さに比べ熱擾乱の大きさが無視できず、磁化を反転させるための電流(反転電流)がばらつくことが知られている。この反転電流のばらつきを反転結果のばらつきに転化して、乱数源として利用する技術が開発されている(例えば、特許文献1、非特許文献1または2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4625936号明細書
【非特許文献】
【0005】
【非特許文献1】Akio Fukushima et. al.; “Spin dice: A scalable truly random number generator based on spintronics”, Applied Physics Express 7, 083001(2014).
【非特許文献2】Won Ho Choi et. al., “A Magnetic Tunnel Junction based True Random Number Generator with conditional perturb and real-time output probability tracking”, IEDM2014 abstract 12.5.1 (2014).
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、新規で有用な確率生成器および乱数生成器を提供することである。
【課題を解決するための手段】
【0007】
本発明の一態様によれば、‘0’または‘1’のビットの所定の生成確率を設定可能な確率生成器であって、ランダムなジッタを含む方形波を複数周期生成する発振部と、上記発振部から入力された上記方形波の電位を検出して、該電位に応じて‘0’または‘1’のビットを割当てる判定部と、を備え、上記発振部は、磁化自由層と、磁化固定層と、該磁化自由層と該磁化固定層との間にトンネル障壁層とを有する磁気抵抗素子を含む発振回路を有し、該磁気抵抗素子に電流を流すことで該磁化自由層の磁化の向きが反転可能であり、該磁化自由層の磁化の向きと該磁化固定層の磁化の向きとが平行状態または反平行状態であるかに応じて抵抗値が変化し、該抵抗値の変化のタイミングに基づいて上記ジッタが発生する、上記確率生成器が提供される。
【0008】
上記態様によれば、確率生成器は、発振回路に磁気抵抗素子を備えることで、確率的な磁化反転によるジッタを発生する。ジッタがランダムに生ずるので、そのジッタを含む方形波の電位を判定部で検出して、電位に応じて‘0’または‘1’を割当てて二値のビットを出力する。これにより、確率生成器は、ランダムに‘0’および‘1’のビットを生成できる。
【0009】
本発明の他の態様によれば、上記態様の確率生成器を備え、上記‘1’のビットの生成確率が0.5になるように設定されてなる、乱数生成器が提供される。
【0010】
上記他の態様によれば、上記態様の確率生成器がランダムに‘0’および‘1’のビットを生成でき、‘1’のビットの生成確率が0.5になるように設定することで、乱数生成器を提供できる。
【図面の簡単な説明】
【0011】
図1】本発明の第1実施形態に係る確率生成器の概略構成を示すブロック図である。
図2】発振回路に含まれる積分回路の構成図である。
図3】磁気抵抗素子の概略断面図である。
図4】電流磁化反転が起こる微小な磁気抵抗素子の電流-電圧特性図である。
図5】第1実施形態に係る確率生成器の実施例1の構成図である。
図6】実施例1のタイミングチャートである。
図7】実施例1のビットの生成確率とトリガ信号の遅延時間との関係を示す図である。
図8】実施例1および比較例1のビットの生成確率とトリガ信号の遅延時間との関係を示す図である。
図9】第1実施形態に係る確率生成器の実施例2の構成図である。
図10】実施例2-1、実施例2-2および比較例2の発振回路の出力のFFTスペクトルである。
図11】実施例2-1、実施例2-2および比較例2のビットの生成確率とトリガ信号の遅延時間との関係を示す図である。
図12】本発明の第2実施形態に係る確率生成器の概略構成を示すブロック図である。
図13】第2実施形態に係る確率生成器の実施例3の構成図である。
図14】第2実施形態に係る確率生成器の実施例4の構成図である。
図15】実施例4のタイミングチャートである。
図16】実施例4のビットの生成確率を示す図である。
【発明を実施するための形態】
【0012】
以下、図面に基づいて本発明の実施形態を説明する。なお、複数の図面間において共通する要素については同じ符号を付し、その要素の詳細な説明の繰り返しを省略する。
【0013】
[第1実施形態に係る確率生成器]
図1は、本発明の第1実施形態に係る確率生成器の概略構成を示すブロック図である。図1を参照するに、確率生成器10は、発振部11と、生成確率制御部12と、判定部13とを有する。発振部11はジッタを含む方形波を判定部13に供給する。判定部13は、生成確率制御部12から供給されるトリガ信号のタイミングで、ジッタを含む方形波の電位を検出して、その電位に応じて‘0’または‘1’のビットを割当てて出力する。生成確率制御部12は、判定部13が出力した‘0’および‘1’を受け取って‘0’および‘1’の生成確率を求めて、所望の生成確率になるように発生タイミングを調整してトリガ信号を判定部13に供給する。
【0014】
発振部11は、制御信号発生部14と、発振制御部15と、発振回路16とを含む。制御信号発生部14は、複数周期の方形波の制御信号を発生し、発振制御部15に供給する。発振制御部15は、制御信号に応じて、例えば“HIGH”、“LOW”に応じて、発振回路の発振のオンおよびオフのタイミングを決定する。発振回路16は、ジッタが重畳された複数周期の方形波を発生し、判定部13の入力端子13aに供給する。発振回路16は、電流を流すことで確率的な磁化反転を生じる磁気抵抗素子を含む。発振回路16は、磁気抵抗素子を含む積分回路を有することで、ジッタが重畳された複数周期の方形波を発生する。
【0015】
図2は、発振回路に含まれる積分回路の構成図である。図2図1と合わせて参照するに、積分回路18は、抵抗19と、コンデンサ20と、磁気抵抗素子21とを有する。入力端子22と所定の電位V1間に抵抗19とコンデンサ20とを直列接続し、コンデンサ20と磁気抵抗素子21とを並列接続する。抵抗19の一端を入力端子22と接続し、抵抗19の他端をコンデンサ20および磁気抵抗素子21の一端と接続して出力端子22とする。積分回路18の時定数は、主として抵抗19とコンデンサ20により決まる。磁気抵抗素子21は、薄膜の積層体による磁気デバイスである。この磁気抵抗素子21は、充放電時においてコンデンサ20からみて抵抗19と並列のパスとなるため、積分回路18の時定数を短くする効果がある。磁気抵抗素子21の抵抗値が変化することで、積分回路18の時定数が変化する。さらに、発振回路16の発振周波数は積分回路18の時定数により決まるため、磁気抵抗素子21の抵抗が変化することで、発振回路16の周波数も変化する。
【0016】
図3は、磁気抵抗素子の概略断面図である。図3図2と合わせて参照するに、磁気抵抗素子21は、下部電極層23と上部電極層24との間に、磁化自由層25と磁化固定層26とこれらの間にトンネル障壁層28とが形成された積層をもつデバイスである。下部電極層23および上部電極層24は、Cu(銅)、Au(金)、アルミニウム(Al)等の金属層からなる。
【0017】
磁化自由層25は、強磁性層からなり、例えばCoFeB層である。磁化自由層25の磁化は、無磁場下において、磁化固定層26に対して、平行・反平行の2つの安定状態をもつ。磁化自由層25の下地にバッファ層として例えばTa(タンタル)層を設けてもよい。
【0018】
トンネル障壁層28は、磁化自由層25の上に形成され、酸化マグネシウム(MgO)やスピネル(Al-Mg-O)のような絶縁材料からなる。
【0019】
磁化固定層26は、磁化の向きが固定された強磁性層、または積層フェリ(SAF)構造の強磁性層/中間層/強磁性層を有する。SAF構造は2つの強磁性層が反強磁性的に結合し、各々の磁化が反平行に向いている構造である。中間層は薄膜の導電層である。磁化固定層26の磁化の向きはほぼ同じ方向で固定されている。磁化の向きが積層方向に一致する場合を垂直磁化膜と呼び、磁化の向きが積層方向と直交する場合を面内磁化膜と呼ぶ。磁化固定層26は、例えば、垂直磁化膜のCoPt積層膜/Ru層/CoPt積層膜である。なお、磁化固定層26の上に導電材料からなるキャップ層(不図示)を形成してもよい。キャップ層は、例えば、Ta層/Ru層である。
【0020】
磁気抵抗素子21は、その形状を、膜面において直径100ナノメートル以下、磁化自由層の厚さを2ナノメートル程度に微細化すると、この積層体を貫く電流を流すことで、磁化自由層25の磁化を反転させることができる。この現象を電流磁化反転と呼ぶ。電流磁化反転は、上記特許文献1(特許第4625936号明細書)に記載されているように、熱擾乱の影響を受けるため、電流磁化反転が生じる電流(いわゆる、反転電流)に確率的にばらつきが生じる。
【0021】
図2に示す積分回路18において、入力端子22に電圧パルスを与えると、磁気抵抗素子21に電流が流れ、その電流の大きさに応じて、磁化自由層25の磁化の向きが反転する。磁化自由層25の磁化と磁化固定層26の磁化の向きが平行状態であるか反平行状態であるかによって、下部電極層23と上部電極層24との間の磁気抵抗素子21の電気抵抗値(以下、「抵抗値」とも称する)が変化する。平行状態である場合が、反平行状態である場合よりも抵抗値が低い。
【0022】
図4は、電流磁化反転が起こる微小な磁気抵抗素子の電流-電圧特性図であり、横軸が磁気抵抗素子に印加する電圧であり、縦軸が磁気抵抗素子を流れる電流である。この特性を取得した磁気抵抗素子21は、磁化自由層25がCoFeB膜、磁化固定層26がFeB膜、トンネル障壁層28がMgO膜であり、概ね直径60nmに微細加工した素子である。磁気抵抗素子21は、磁化自由層25の磁化が磁化固定層26の磁化と平行のとき(平行状態)の磁気抵抗素子21の抵抗値がおよそ1300Ω、反平行のとき(反平行状態)の抵抗値がおよそ2300Ωの素子である。
【0023】
図4図2および図3と合わせて参照するに、磁気抵抗素子21に印加する電圧を-0.2Vから0.2Vの間で掃引すると、電流-電圧特性図は、ヒステリシスループを形成する。磁化自由層25および磁化固定層26の磁化の向きが反平行状態(APとも称する)の場合に電圧を-0.2Vから増加させると、0.063Vを付近の電圧(A点)で磁化自由層25の磁化反転が生じて平行状態(Pとも称する)になり、磁気抵抗素子21の抵抗値が減少するのでステップ状に電流値が増加する。一方、平行状態の場合に電圧を0.2Vから減少させると、-0.140V付近の電圧(B点)で磁化自由層25の磁化反転が生じて反平行状態になり磁気抵抗素子21の抵抗値が増加するのでステップ状に電流値の絶対値が減少する。磁化自由層25の磁化反転が起こる電圧値は、先に述べたように、熱擾乱の影響を受けるため確率的にばらつく。積分回路18は、磁気抵抗素子21の磁化反転による抵抗値の変化が生じる電圧値、つまり磁化反転が生じる電流値(反転電流値)のばらつきにより、積分回路18の充放電時間がばらつき、それにより発振回路16の出力にランダムなジッタが生じる。
【0024】
図1に戻り、生成確率制御部12は、演算部30と、調節部31と、トリガ信号発生部32とを含む。演算部30は、判定部13が出力した‘0’および‘1’のビットを受け取って、所定のビット数を単位に、ビット‘0’を0として、ビット‘1’を1として平均値を求め、その平均値を調節部31に供給する。この平均値は、ビット‘1’の生成確率に相当する。
【0025】
調節部31は、所望のビットの生成確率と判定部13から受け取った平均値とを比較して、所望のビットの生成確率になるように制御信号発生部14が発生する制御信号に対してトリガ信号発生部32が発生するトリガ信号の遅延時間を調整する。所望の生成確率は調節部31の外部から入力するようにしてもよく、予め調節部31に設定できるように構成してもよい。
【0026】
トリガ信号発生部32は、制御信号発生部14からの制御信号に対して調節部31で調整された遅延時間後にトリガ信号を発生して判定部13の入力端子13bに供給する。制御信号は複数周期の方形波であり、トリガ信号は制御信号の例えば立ち上がり毎に、立ち上がりから遅延時間後に例えば矩形波のトリガ信号を発生する。
【0027】
判定部13は、発振回路16から一方の入力端子13aにジッタを含む方形波が供給され、トリガ信号発生部32から他方の入力端子13bにトリガ信号が供給される。判定部13は、トリガ信号の例えば立ち上がりタイミングでジッタを含む方形波の電位を検出して、その電位に応じて、0’または‘1’のビットを割当てて出力する。判定部13は、フリップフロップ素子、電位判定回路、およびビット出力回路から構成してもよい。
【0028】
確率生成器10は、発振回路16に充放電時間が抵抗19およびコンデンサ20による時定数による決まる充放電時間を中心として磁気抵抗素子21による確率的な磁化反転によるジッタを含む積分回路18を含む。ジッタがランダムに生ずるのでそのジッタを含む方形波の電位を判定部13で検出して、電位に応じて‘0’または‘1’のビットを割当てて出力する。これにより、確率生成器10は、ランダムに‘0’および‘1’のビットを生成する。生成確率制御部12は、判定部13の出力端子13cが出力した‘0’および‘1’のビットを受け取って平均値を求めてビット‘1’の生成確率を得る。生成確率制御部12は、この平均値と所望の生成確率とを比較して、トリガ信号の制御信号に対する遅延時間を所望の生成確率になるように調整して、トリガ信号を判定部13に供給する。判定部13は、調節されたトリガ信号のタイミングでジッタを含む方形波の電位を検出して、電位に応じて‘0’または‘1’のビットを割当てて出力端子13cから出力する。このように生成確率制御部12に判定部13から‘0’および‘1’のビットをフィードバックすることで、確率生成器10は、‘0’および‘1’のビットを所望の生成確率で生成できる。
【0029】
図5は、第1実施形態に係る確率生成器の実施例1の構成図である。図5図1と合わせて参照するに、実施例1の確率生成器40は、磁気抵抗素子21を含む発振回路16としてリングオシレータを用いた例である。発振回路(リングオシレータ)16は、積分回路42と、直列に環状に接続されたNANDゲート41と2個のインバータ論理回路43,44とを有する。NANDゲート41の出力端子に積分回路42の入力端子である抵抗19の一端を接続し、積分回路42の出力端子がインバータ論理回路43の入力端子に接続する。積分回路42のコンデンサ20および磁気抵抗素子21の他端は(1/2)Vccの電位点に接続されている。ここで図示していないが、VccはNANDゲート41、インバータ論理回路43,44、フリップフロップ素子45の電源電位である。
【0030】
NANDゲート41の一方の入力端子41aは、インバータ論理回路44の出力端子に接続される。他方の入力端子41bは、2ch発振器49のch1の出力端子49aに接続され、“HIGH”および“LOW”の信号が入力される。NANDゲート41は、図1における発振制御部15に相当する。NANDゲート41は、“HIGH”の場合、インバータ論理回路として機能し、発振回路16が発振し、“LOW”の場合は、発振が停止する。
【0031】
発振回路16において、NANDゲート41は“HIGH”とし、リングオシレータとしての特性を評価した。抵抗19として470オーム、Vccとして1.5ボルトとし、磁気抵抗素子を接続せず、コンデンサ20の容量を変えて発振周波数を測定した。コンデンサ20の容量が1ナノファラッドの場合、周波数は約500kHzであった。コンデンサ20の容量が10ナノファラッドの場合、周波数は約200kHzであった。コンデンサ20の容量が100ナノファラッドの場合、周波数は約100kHzであった。コンデンサ20を接続しなかった場合の周波数は約2MHzであり、この周波数はリングオシレータのNANDゲート41およびインバータ論理回路43,44の各々の浮遊容量により決まる周波数であると考えられる。コンデンサ20の容量を10倍にすると積分回路42の時定数は約三分の一(10の平方根倍の逆数倍)になるため、発振周波数は約3倍になることが期待される。発振回路16では、コンデンサ20の容量を10倍にすると、発振周波数は2.5倍から2倍になっており、ほぼ期待される周波数の増加がみられている。発振回路16において、コンデンサ20の容量を1ナノファラッドとし、図4にその特性を示した磁気抵抗素子21を接続した。得られた発振周波数は約500kHzであり、発振の1周期は約2マイクロ秒であった。
【0032】
発振回路16は、インバータ論理回路44の出力端子が判定部のフリップフロップ素子45のD入力端子に接続されている。発振回路16の出力信号は、積分回路42の抵抗19およびコンデンサ20による時定数C×Rと磁気抵抗素子21による時定数の減少分を加味した発振周期のパルス幅を中心として、磁気抵抗素子21の確率的にばらついた磁化反転によるジッタを含むという特性を有する。なお、発振回路16は、NANDゲート41およびインバータ論理回路43,44の総個数が、3個に限定されず、3個以上の奇数個であればよい。発振回路16は、例えば、NANDゲート41が1個とインバータ論理回路43,44が偶数個とを有してもよい。
【0033】
判定部13は、フリップフロップ素子45とデジタルマルチメータ46とを有する。フリップフロップ素子45のD入力端子には、上述したようにジッタを含む方形波が供給される。フリップフロップ素子45のCK入力端子は、2ch発振器49のチャンネルch2の出力端子49bが接続され、トリガ信号が供給される。フリップフロップ素子45は、トリガ信号のタイミングにおけるジッタを含む方形波の電位に応じて、そのQ出力端子が“HIGH”または“LOW”の電位となる。デジタルマルチメータ46は、Q出力端子の電位を検出して、“HIGH”の場合にビット“1”、“LOW”の場合にビット“0”を割り当て、出力端子46bから出力する。この出力が、確率生成器40の出力となる。
【0034】
PC(パソコン)48は、生成確率制御部12の演算部30と調節部31として機能する。PC48は、その入力端子48aがデジタルマルチメータ46の出力端子46bに接続される。インターフェースは例えばシリアル・インターフェースである。PC48は、ソフトウェアにより受け取ったビット‘0’を値0として、ビット‘1’を値1として所定のビット数、例えば20000ビット毎に平均値を算出する。この平均値がビット‘1’の生成確率に等しい。
【0035】
PC48には、確率生成器40の0~1の間の所望のビットの生成確率が予め設定または入力される。PC48は、ソフトウェアにより、所望の生成確率と算出された生成確率とを比較して、その差に応じてトリガ信号の制御信号に対する遅延時間を調節する。例えば、所望の生成確率と算出された生成確率との差が減少するように遅延時間を決定する。遅延時間の代わりとして、所望の生成確率と算出された生成確率との差が減少するように制御信号に対するトリガ信号の位相差を決定してもよい。PC48は、出力端子48bが2ch発振器49に接続されており、決定した遅延時間または位相差を2ch発振器49に供給する。
【0036】
2ch発振器49は、チャンネルch1の出力端子49aがNANDゲート41の入力端子41bに接続され、チャンネルch2の出力端子49bがフリップフロップ素子45のCK入力端子に接続されている。チャンネルch1は、図1における制御信号発生部14に相当し、チャンネルch2が、図1におけるトリガ信号発生部32に相当する。2ch発振器49は、PC48から受け取った遅延時間または位相差をチャンネルch1の制御信号に対してチャンネルch2のトリガ信号に設定する。
【0037】
図6は、実施例1のタイミングチャートである。図6図5と合わせて参照するに、図6(a)は、2ch発振器のch1の出力端子49aからNANDゲート41の入力端子41bに供給された制御信号である。制御信号が“LOW”から“HIGH”に立ち上がると、発振回路(リングオシレータ)16が発振する。図6(b)は発振信号である。発振信号は、インバータ論理回路44の出力端子からフリップフロップ素子45のD入力端子に供給される。発振信号は、方形波であり、磁気抵抗素子21を含む積分回路42により上述したようにランダムなジッタが重畳されている。図6(c)はch2の出力端子49bからフリップフロップ素子45のCK入力端子に供給されるトリガ信号である。2ch発振器49は、図6(a)に示したch1の制御信号が立ち上がってから、図6(c)に示すように、遅延時間分遅らせてトリガ信号が立ち上がるように構成される。トリガ信号の遅延時間は、所望のビットの生成確率に応じてPC48によって設定される。フリップフロップ素子45は、トリガ信号の立ち上がりに同期してフリップフロップ素子45のD入力端子に供給された発振信号の状態を保持し、発振信号の電位に応じて“LOW”または“HIGH”を図6(d)に示すように、Q出力端子からデジタルマルチメータ46の入力端子46aに出力する。図6(c)のトリガ信号が立ち上がった際に発振信号が“HIGH”であるので、図6(d)に示すように“HIGH”を出力する。デジタルマルチメータ46は、入力端子46aに供給された信号の電位に応じてビットを割り当て、ここでは、“HIGH”の場合ビット“1”を、“LOW”の場合ビット“0”を割り当てて出力する。
【0038】
図7は、実施例1のビットの生成確率とトリガ信号の遅延時間との関係を示す図である。図7図5および図6と合わせて参照するに、ビットの生成確率は、デジタルマルチメータ46からのビット“0”および“1”をそれぞれ値0、1として、所定の遅延時間毎に繰り返し測定し、その平均値として求めたものである。図6(b)に示したように制御信号が“HIGH”になって約2.5μ秒後に発振回路(リングオシレータ)16が発振を開始し、制御信号が“LOW”になるまでの約12.1μ秒後まで発振する。トリガ信号の遅延時間を、この発振している期間(約2.5μ秒後~約12.1μ秒後)に、2ch発振器49に対して設定することで、確率生成器40のビットの生成確率が設定できる。図7には、遅延時間8.0μ秒から11.0μ秒の間の遅延時間に対するビットの生成確率が示されている。特定の遅延時間の期間を選択することで、遅延時間に対するビットの生成確率が単純増加する関係が得られる。例えば遅延時間の期間を矢印で示す9.11μ秒から9.24μ秒に設定することで、遅延時間に対して生成確率が単純増加する関係が得られる。PC48が予め図7に示す遅延時間とビットの生成確率を取得して記憶し、所望のビットの生成確率に応じて遅延時間を設定してもよい。代替案としては、PC48がある遅延時間を設定してビットの生成確率を取得し、所望のビットの生成確率と比較して、その差を低減するように遅延時間を変更する動作を繰り返して、所望のビットの生成確率になる遅延時間を求めてもよい。
【0039】
図8は、実施例1および比較例1のビットの生成確率とトリガ信号の遅延時間との関係を示す図である。比較例1は、図5に示した実施例1の確率生成器40において磁気抵抗素子21を設けない場合である。図8の実施例1は図7の時間スケールを拡大したものである。図8を参照するに、実施例1は、生成確率が0から1への変化の時間が0.13μ秒である。比較例1は、生成確率が0から1への変化の時間が0.053μ秒である。これにより、実施例1は、比較例1よりも、遅延時間に対する生成確率の曲線の傾きが小さくなっていることが分かる。これにより、実施例1は磁気抵抗素子21を有することで重畳されるジッタにより、比較例1よりも生成確率に対する遅延時間の設定可能な範囲が広がっており、所望の生成確率により精確に合わせることができる。
【0040】
図9は、第1実施形態に係る確率生成器の実施例2の構成図である。図9図1と合わせて参照するに、実施例2の確率生成器60は、2組の磁気抵抗素子21を含む積分回路61,62を含むリングオシレータを用いた例であり、実施例1の変形例である。
【0041】
確率生成器60は、NANDゲート41とインバータ論理回路43との間に積分回路61が接続され、インバータ論理回路43とインバータ論理回路44との間に積分回路62が接続される。積分回路61,62は、図5に示した実施例1の積分回路42と同様の構成を有する。実施例2は、他の構成は実施例1と同様であるので説明を省略する。
【0042】
実施例2の確率生成器60は、2組の磁気抵抗素子21を含む積分回路61,62を含むことで、発振回路16(すなわちインバータ論理回路44の出力端子)から出力される方形波が実施例1よりも、より大きなジッタを重畳することができる。これにより、遅延時間に対するビットの生成確率の変化が、よりなだらかに(傾きが小さく)なり、所望のビットの生成確率に合わせる制御が容易になる。
【0043】
実施例2の測定例として、図9に示した2組の磁気抵抗素子21を含む積分回路61,62を含む確率生成器60の場合を実施例2-1、これと比較するために、磁気抵抗素子21を含む積分回路61だけ(磁気抵抗素子1個)にした確率生成器(実施例1と同様の構成)を実施例2-2とした。また比較例2として、図9に示した確率生成器60の積分回路61,62が磁気抵抗素子21を含まない回路を比較例2とした。発振回路16において、抵抗19は1300オーム、コンデンサ20は10ナノファラッド、Vccは1.5ボルトとした。この回路において、磁気抵抗素子21を接続しない場合のリングオシレータとしての発振周波数は約190kHzであった。磁気抵抗素子21として、磁化が平行状態の抵抗値が約450オーム、反平行状態の抵抗値が約750オームの素子を用いて、確率生成器60の実験を行った。実施例2-1の場合、用いた二つの磁気抵抗素子21の抵抗値はほぼ同じ値であった。
【0044】
図10は、実施例2-1、実施例2-2および比較例2の発振回路の出力のFFTスペクトルである。発振信号は、図9に示した実施例2のインバータ論理回路44の出力端子から取得して、オシロスコープ(キーサイト・テクノロジー社製モデルDSO9104A)に接続した。NANDゲート41の入力端子41bに入力する制御信号を“HIGH”のままにして常時発振するようにした。図10の(a)は実施例2-1、(b)は実施例2-2、(c)は比較例2である。
【0045】
図10(a)~(c)を参照するに、実施例2-1(磁気抵抗素子が2個の場合)は、263kHz付近にメインピークが現れ、その半値幅は490Hzであり、259kHz付近と267kHz付近にサブバンドが現れた。これに対して、実施例2-2(磁気抵抗素子が1個の場合)は、226kHz付近にピークが現れ、その半値幅は420Hzであった。比較例2(磁気抵抗素子がない場合)は、191kHz付近にピークが現れ、その半値幅は300Hzであった。これらのことから、実施例2-1および実施例2-2では比較例2よりもスペクトルの幅が広がっていることが分かった。これは、磁気抵抗素子21を含む積分回路61,62によりジッタが重畳されたことを示している。実施例2-1はサブバンドが現れているので、実施例2-2よりも周波数の揺らぎが大きくなったことが分かる。これは実施例2-1が磁気抵抗素子21を含む積分回路を2組有することで、ジッタが実施例2-2よりも大きくなったことを示している。これにより、実施例2-1は実施例2-2よりも遅延時間に対するビットの生成確率の変化がより小さくなり、所望のビットの生成確率に合わせることが容易になる。
【0046】
図11は実施例2-1、実施例2-2および比較例2のビットの生成確率とトリガ信号の遅延時間との関係を示す図である。横軸は、説明の便宜のため、生成確率がほぼ0.5となる遅延時間を基準(0)として、n(ナノ)秒で表している。
【0047】
図11(a)~(c)を参照するに、実施例2-1(磁気抵抗素子が2個の場合)は、生成確率が0から1への変化の時間が8.3n秒である。実施例2-2(磁気抵抗素子が1個の場合)は、生成確率が0から1への変化の時間が2.6n秒である。比較例2は、生成確率が0から1への変化の時間が0.9n秒またはそれ以下である。これにより、実施例2-1および実施例2-2は磁気抵抗素子21を有することで重畳されるジッタにより、比較例2よりも生成確率に対する遅延時間の設定可能な範囲が広がっており、所望の生成確率により精確に合わせることができる。特に、実施例2-1は磁気抵抗素子21を2つ有することで、生成確率が0から1への変化の時間に対して実施例2-2よりもなだらかになり、所望の生成確率により精確に合わせることができる。
【0048】
[第2実施形態に係る確率生成器]
図12は、本発明の第2実施形態に係る確率生成器の概略構成を示すブロック図である。図12を参照するに、確率生成器70は、発振部71と、生成確率制御部72と、判定部13とを有する。発振部71はジッタを含む方形波を判定部13に供給する。判定部13は、生成確率制御部72から供給されるトリガ信号のタイミングで、ジッタを含む方形波の電位を検出して、その電位に応じて‘0’または‘1’のビットを割当てて出力する。生成確率制御部72は、発振部71のジッタを含む方形波の周期よりも十分長い周期で繰り返しトリガ信号を供給する。生成確率制御部72は、判定部13が出力した‘0’および‘1’を受け取って‘0’および‘1’の生成確率を求めて、所望の生成確率になるように発振部71の方形波のデューティ比を決定して発振部71に供給する。発振部71は生成確率制御部72から供給されたデューティ比に設定して方形波を判定部13に供給する。
【0049】
発振部71は、発振回路74とデューティ比設定部75とを含む。発振回路74は、ジッタが重畳された複数周期の方形波を発生し、デューティ比設定部75に供給する。発振回路74は、第1実施形態の図2および図3に示した、電流を流すことで確率的な磁化反転を生じる磁気抵抗素子21を含む積分回路18を有する。発振回路74は、磁気抵抗素子21を含む積分回路を有することで、ジッタが重畳された複数周期の方形波(第1方形波とも称する。)を発生する。デューティ比設定部75は、発振回路74から供給された第1方形波のデューティ比を生成確率制御部72(より詳細には、デューティ比決定部78)から供給されたデューティ比に変換する。デューティ比設定部75は、デューティ比が変換されたジッタが重畳された複数周期の方形波(第2方形波とも称する。)を判定部13の入力端子13aに供給する。なお、デューティ比は、方形波の1周期のうち“HIGH”の状態である時間的な割合である。
【0050】
生成確率制御部72は、演算部76と、デューティ比決定部78と、トリガ信号発生部79とを含む。演算部76は、判定部13が出力した‘0’および‘1’のビットを受け取って、所定のビット数を単位に、ビット‘0’を0として、ビット‘1’を1として平均値を求め、その平均値をデューティ比決定部78に供給する。この平均値は、ビット‘1’の生成確率に相当する。
【0051】
デューティ比決定部78は、所望のビットの生成確率と受け取った平均値とを比較して、所望のビットの生成確率になるようにデューティ比を決定する。この際、ビットの生成確率がデューティ比にほぼ等しく、トリガ信号の周期が十分長い場合はビットの生成確率がデューティ比に等しいという関係に基づいてデューティ比を決定する。
【0052】
トリガ信号発生部79のトリガ信号は、判定部13において第2方形波の電位のサンプリングのタイミングを決定する。トリガ信号は、上述した第2方形波の周期よりも長い周期を有する。トリガ信号の1周期の間に含まれる第2方形波の波数と、ジッタの幅(ビットの生成確率がなめらかに変化する時間範囲)の積が、第2方形波の周期よりも長くすることが好ましい。具体的には、トリガ信号発生部79は、トリガ信号の周波数(すなわち判定部13におけるサンプリング周波数)を、第2方形波の周波数の10分の1以下の周波数に設定することが好ましく、更には100分の1以下の周波数に設定することがさらに好ましい。これにより、ビットの生成確率がデューティ比に近づくようになる。
【0053】
判定部13は、第1実施形態と同様の構成と機能を有し、その詳細の説明は省略する。
【0054】
デューティ比設定部75の具体的な構成の例を示す。デューティ比設定部75は、第1方形波のパルス幅を所定のデューティ比に変換できる回路ならば、特に限定されない。デューティ比設定部75は、例えば、NE555タイマーIC(例えば、テキサス・インスツルメンツ社製、以下「タイマーIC」とも称する。)を用いることができる。NE555タイマーICの“CONT”端子にデューティ比決定部78からデューティ比に応じた直流電圧を入力して、第1方形波のデューティ比を変換して、“OUT”端子から第2方形波を判定部13の入力端子13aに供給する。
【0055】
デューティ比設定部75は、1個の分周回路または複数の分周回路を組み合わせて構成し、所望のデューティ比に設定してもよい。デューティ比設定部75は、ビットの生成確率を0.5に設定する場合は、デューティ比を50%にするように分周回路を構成する。この場合、発振回路74の出力端子に1/2分周回路を接続して、その出力端子からデューティ比が50%のジッタを含んだ方形波(第2方形波)を判定部13の入力端子13aに供給する。
【0056】
デューティ比設定部75は、ビットの生成確率を0.25に設定する場合は、デューティ比を25%にするように分周回路を構成する。デューティ比が25%の場合、例えば、発振回路74の出力端子に1/2分周回路と1/4分周回路とを並列に接続し、各々の出力端子をANDゲートの入力端子の各々に接続してANDの処理を行う。デューティ比設定部75は、この構成により、発振回路74の出力端子からの第1方形波のデューティ比によらず、デューティ比が25%でジッタを含む第2方形波を判定部13の入力端子13aに供給する。なお、デューティ比設定部75を分周回路で構成する場合、生成確率制御部72の演算部76およびデューティ比決定部78を省略してもよい。
【0057】
確率生成器70は、発振回路74に図2に示した積分回路18を有する。発振回路74は、磁気抵抗素子の確率的な磁化反転に起因するジッタをランダムに含む方形波(第1方形波)をデューティ比設定部75に出力し、デューティ比設定部75は所望のデューティ比に変換して、ジッタを含む方形波(第2方形波)を判定部13に出力する。判定部13は、第2方形波の電位を判定部13で検出して、電位に応じて‘0’または‘1’のビットを割当てて出力する。ビット‘1’の生成確率は、第2方形波のデューティ比に等しくなるので、所望の生成確率のビットを生成できる。
【0058】
図13は、第2実施形態に係る確率生成器の実施例3の構成図である。図13図12と合わせて参照するに、実施例3の確率生成器80は、磁気抵抗素子21を含む発振回路74としてリングオシレータと、デューティ比設定部75としてタイマーIC82を有する。発振回路(リングオシレータ)74は、図5のNANDゲート41の代わりにインバータ論理回路81を有し、インバータ論理回路44の出力端子をインバータ論理回路81の入力端子81aに接続した以外は、図5に示した発振回路16と同様の構成を有する。発振回路74はジッタを含む方形波をデューティ比設定部75に供給する。
【0059】
デューティ比設定部75のタイマーIC82において、TRG端子が発振回路74の出力端子(インバータ論理回路44の出力端子)に接続され、CONT端子にPC83の決定したデューティ比(デューティ比に応じた直流電圧)を供給する出力端子83bが接続される。タイマーIC81は、CONT端子に供給されたデューティ比に応じた直流電圧に応じて、TRG端子に供給されたジッタを含む方形波をそのデューティ比に変換して、OUT端子から判定部13のフリップフロップ素子45のD端子に供給する。
【0060】
判定部13のフリップフロップ素子45およびデジタルマルチメータ46の構成および動作は、図5に示した実施例1と同様である。デジタルマルチメータ46は、Q出力端子の電位を検出して、“HIGH”の場合にビット“1”、“LOW”の場合にビット“0”を割り当て、出力端子46bから出力する。この出力が、確率生成器80の出力となる。
【0061】
PC83は、生成確率制御部72の演算部76およびデューティ比決定部78として機能する。PC83は、その入力端子83aがデジタルマルチメータ46の出力端子46bに接続される。インターフェースは例えばシリアル・インターフェースである。PC83は、ソフトウェアにより受け取ったビット‘0’を値0として、ビット‘1’を値1として所定のビット数、例えば20000ビット毎に平均値を算出する。この平均値がビット‘1’の生成確率に等しい。
【0062】
PC83には、確率生成器80の0~1の間の所望の生成確率が予め設定または入力される。PC83は、ソフトウェアにより、所望のビットの生成確率と算出された平均値とを比較して、その差が生じている場合はその差に応じてデューティ比としてデューティ比設定部75のタイマーIC82のCONT端子に供給する直流電圧を決定する。
【0063】
なお、タイマーIC82が変換するデューティ比とCONT端子に供給する直流電圧との関係を予め計測等して、ルックアップテーブル等をPC83の記憶部(不図示)に記憶させて、そのルックアップテーブルを参照してタイマーIC82のCONT端子に供給する直流電圧を決定してもよい。
【0064】
図14は、第2実施形態に係る確率生成器の実施例4の構成図である。図14を参照するに、実施例4の確率生成器90は、デューティ比設定部75として1/2分周回路としてフリップフロップ素子91(D-フリップフロップ7474)を設けた。実施例4は、それ以外は実施例3とほぼ同様の構成を有する。
【0065】
フリップフロップ素子91において、CK端子には発振回路74の出力端子(インバータ論理回路44の出力端子)が接続され、D端子にはQバー(Q因子の反転出力)端子が接続され、CLR端子およびPR端子は電源電圧(“HIGH”)に設定される。この構成により、発振回路74からのジッタを含む方形波(第1方形波)の立ち上がりに応じてQ端子の出力が“HIGH”および“LOW”が交互に切り替わり、第1方形波の1/2の周波数でかつジッタを含む方形波(第2方形波)が生成され、デューティ比は概ね50%に変換される。なお、デューティ比設定部75は、1/2分周回路のフリップフロップ素子91を直列に2個接続して1/4分周回路を構成してもよく、N(Nは1以上の自然数)個直列接続して1/2N分周回路を構成してもよい。分周回路の段数を増やすことにより、分周後のデューティ比を50%に近づけることが可能であり、これにより確率生成器80のビット生成確率を0.5に極めて近づけることができる。
【0066】
図15は、実施例4のタイミングチャートである。この実施例では、磁気抵抗素子を備えた積分回路42として、実施例1に用いた回路と同一のものを用いた。図15(a)は、図14に示した発振回路74の出力端子からフリップフロップ素子91のCK端子に供給された第1方形波の波形である。図15(b)は、1/2分周回路のフリップフロップ素子91のQ端子から出力された第2方形波の波形である。図15(a)を参照するに、発振回路74が発生した第1方形波の周波数は、約500kHzである。第1方形波は、“LOW(L)”よりも“HIGH(H)”の時間が長く、デューティ比が64.4%であった。図15(b)を参照するに、第2方形波の周波数は約250kHzであり、周波数が1/2になっている。第2方形波は、デューティ比が51.0%であり、50%に近い値を示した。
【0067】
図16は、実施例4の確率生成器のビットの生成確率を示す図である。トリガ信号の周波数は5kHzとし、20000ビットを1パケットとして、ビットを生成した。図16(a)はパケット毎の生成確率(平均値)を時間に対して示した図である。図16(b)はパケット毎の生成確率の頻度分布を示した図である。データの転送時間を含め、パケット毎の測定間隔は約8秒であった。
【0068】
図16(a)を参照するに、実施例4の確率生成器80は、パケット毎のビットの生成確率がほぼ0.5であり、時間的に安定していることが分かる。乱数評価の一手法として、パケット毎の平均値の分散(分布の幅)と、同じビット数での二項分布に従う二値乱数の平均値の分散(以下、二項分布での分散と呼ぶ)を比較するという手法がある。これは統計学におけるF(エフ)検定と言われる手法と同じである。生成した乱数が理想的な二値乱数とみなせる場合は、そのパケット毎の平均値の分散は、二項分布での分散に等しくなる。しかしながら、外部から生成確率を調節して乱数を生成する場合、設定した確率と生成した乱数の確率との間に有限の誤差が残ってしまうため、生成した乱数の分散は二項分布での分散に比べて大きくなる。磁気抵抗素子のスイッチングを用いた乱数生成器では、生成した乱数の平均値の分散の幅は、パケットのビット数に依存するが、二項分布での分散の数倍から数十倍である。
【0069】
図16(b)を参照するに、ビットの生成確率のパケット毎の分布はほぼガウス分布型のばらつきを示しており、その分散は二項分布での分散の2倍程度である。この結果は本実施例により、良質な物理乱数が生成できることの一つの傍証である。
【0070】
[乱数生成器]
本発明の実施形態に係る乱数生成器は、上述した第1実施形態および第2実施形態に係る確率生成器において、ビットの生成確率を0.5に設定して構成されたものである。
【0071】
一実施形態に係る乱数生成器は、図1に示した確率生成器10の構成を有する。図1を参照するに、乱数生成器は、確率生成器10の生成確率制御部12の調節部31の所望のビットの生成確率(‘1’または‘0’のビットの生成確率)を0.5に設定する。調節部31が判定部13から受け取った平均値と0.5とを比較して、0.5のビットの生成確率になるように制御信号発生部14が発生する制御信号に対してトリガ信号発生部32が発生するトリガ信号の遅延時間を調整する。これにより、確率生成器10の判定部13の出力のビットの生成確率を0.5にすることができる。
【0072】
乱数生成器は、より具体的には、図5に示した実施例1の確率生成器40および図9に示した実施例2の確率生成器60において、PC48に、所望のビットの生成確率を0.5に設定することで構成される。
【0073】
他の実施形態に係る乱数生成器は、図12に示した確率生成器70の構成を有する。図12を参照するに、乱数生成器は、確率生成器70の生成確率制御部72のデューティ比決定部78のデューティ比を50%に設定する。これにより、デューティ比設定部75は、発振回路74から供給された第1方形波のデューティ比を0.5になるように変換して、判定部13に供給する。これにより、判定部13の出力のビットの生成確率を0.5にすることができる。代替例としてはデューティ比設定部75において、1個の分周回路または複数の分周回路を組み合わせてデューティ比が0.5になるように構成してもよい。
【0074】
乱数生成器は、より具体的には、図13に示した実施例3の確率生成器80において、PC83に所望のビットの生成確率を0.5に設定することで、タイマーIC82がデューティ比0.5の第2方形波に変換し、判定部13から出力するビットの生成確率を0.5にすることができる。
【0075】
乱数生成器は、図14に示した実施例4の確率生成器90のように、デューティ比設定部75にデューティ比が0.5になるように1/2分周回路を設けて構成してもよい。これにより、判定部13から出力するビットの生成確率を0.5にすることができる。乱数生成器は、より厳密にビットの生成確率を0.5にする場合は、さらに1/2分周回路を直列に接続してもよい。
【0076】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の範囲内において、種々の変形・変更が可能であり、例えば、各実施形態および実施例を本発明の目的の効果を奏するように組み合わせて構成してもよい。
【符号の説明】
【0077】
10,40,60,70,80,90 確率生成器
11,71 発振部
12,72 生成確率制御部
13 判定部
14 制御信号発生部
15 発振制御部
16,74 発振回路
21 磁気抵抗素子
30,76 演算部
31 調節部
32,79 トリガ信号発生部
42 積分回路
75 デューティ比設定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16