(57)【要約】  ビット生成装置１００は、複数のパルスを含むグリッチ信号ｙ１〜ｙＭを発生するグリッチ発生回路１２０と、グリッチ信号ｙ１〜ｙＭを入力し、グリッチ信号に含まれる複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、０と１とのいずれかのビット値を生成するＴ−ＦＦビット生成回路１３１（１）〜１３１（Ｍ）とを備える。Ｔ−ＦＦビット生成回路１３１（１）〜１３１（Ｍ）のそれぞれは、複数のパルスの立ち上がりエッジの個数の偶奇と、立ち下がりエッジの個数の偶奇とのいずれかに基づいて、ビット値ｂ１〜ｂＭを生成する。Ｔ−ＦＦビット生成回路１３１（１）〜１３１（Ｍ）の採用によって、従来では必要とされた、グリッチＰＵＦに本質的には必要の無い回路が不要となり、ビット生成装置１００の回路規模の拡大やビット生成の処理時間の増大を抑制できる。
2012095972.tif 000002
【特許請求の範囲】
【請求項１】
複数のパルスを含むグリッチ信号を発生するグリッチ発生部と、
前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、０と１とのいずれかのビット値を生成するビット値生成部と
を備えたことを特徴とするビット生成装置。
【請求項２】
前記ビット値生成部は、
前記複数のパルスの立ち上がりエッジの個数と、立ち下がりエッジの個数とのいずれかに基づいて、前記ビット値を生成することを特徴とする請求項１記載のビット生成装置。
【請求項３】
前記ビット値生成部は、
前記複数のパルスの立ち上がりエッジの個数の偶奇と、立ち下がりエッジの個数の偶奇とのいずれかに基づいて、前記ビット値を生成することを特徴とする請求項２記載のビット生成装置。
【請求項４】
前記ビット生成装置は、さらに、
前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号から所定のパルス幅に満たない前記パルスを除去し、所定のパルス幅に満たない前記パルスが除去された前記グリッチ信号を前記ビット値生成部に出力するフィルター部を備え、
前記ビット値生成部は、
前記フィルター部から出力された前記グリッチ信号を対象として、前記ビット値を生成することを特徴とする請求項１〜３のいずれかに記載のビット生成装置。
【請求項５】
前記ビット生成装置は、
前記グリッチ発生部によって発生された同一の前記グリッチ信号を、前記グリッチ発生部から互いに異なる信号経路を介して入力し、入力された前記グリッチ信号から前記ビット値を生成する複数の前記ビット値生成部と、
複数の前記ビット値生成部によって生成された複数の前記ビット値の示す０と１との個数に基づいて、複数の前記ビット値を、０と１とのいずれかの値を示す代表ビット値に変換する変換部と
を備えたことを特徴とする請求項１〜４のいずれかに記載のビット生成装置。
【請求項６】
前記変換部は、
複数の前記ビット値生成部によって生成された複数の前記ビット値の中で０と１とのうちのいずれか一方のビット値が所定の比率を満たす場合に、複数の前記ビット値を、前記代表ビットとして前記所定の比率を満たす前記一方のビット値に変換することを特徴とする請求項５記載のビット生成装置。
【請求項７】
前記変換部は、
０と１とのうちのいずれか一方のビット値が前記所定の比率を満たしたかどうかを示す充足情報を生成し、生成された前記充足情報を記憶装置に記憶し、
前記グリッチ発生部は、
前記グリッチ信号を生成するための入力信号を入力し、入力された前記入力信号に対応する前記グリッチ信号を生成し、
複数の前記ビット値生成部は、
前記充足情報の生成の元となる前記グリッチ信号に対応する前記入力信号と同一の前記入力信号によって前記グリッチ発生部が発生した前記グリッチ信号である第２グリッチ信号を、前記グリッチ発生部から互いに異なる前記信号経路を介して入力し、入力された前記第２グリッチ信号から前記ビット値である第２ビット値を生成し、
前記変換部は、
前記記憶装置に記憶された前記充足情報を参照し、前記充足情報が前記所定の比率の充足を示す場合には複数の前記第２ビット値の中で０と１とのうちのいずれか一方のビット値が前記所定の比率よりも低い所定の比率を満たすかどうかを判定し、前記所定の比率よりも低い前記所定の比率を満たすと判定した場合に、複数の前記第２ビット値を、前記代表ビット値として、前記所定の比率よりも低い前記所定の比率を満たすと判定されたビット値に変換することを特徴とする請求項６記載のビット生成装置。
【請求項８】
前記変換部は、
前記所定の比率として、０と１とのうちのいずれか一方のビット値が１００％を満たす場合に、複数の前記ビット値を、前記代表ビットとして、１００％を満たす前記一方のビット値に変換することを特徴とする請求項６記載のビット生成装置。
【請求項９】
前記変換部は、
前記所定の比率として、０と１とのうちのいずれか一方のビット値が５０％を超える比率の場合に、複数の前記ビット値を、前記代表ビットとして、５０％を超える前記一方のビット値に変換することを特徴とする請求項６記載のビット生成装置。
【請求項１０】
前記ビット生成装置は、
前記ビット値生成部として、トグルフリップフロップ回路を備えたことを特徴とする請求項１〜９のいずれかに記載のビット生成装置。
【請求項１１】
グリッチ発生部と、ビット値生成部とを備えたビット生成装置が行うビット生成方法であって、
前記グリッチ発生部が、
複数のパルスを含むグリッチ信号を発生し、
前記ビット値生成部が、
前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、０と１とのいずれかのビット値を生成することを特徴とするビット生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証処理や暗号化処理などを実行するセキュリティ装置に関する。例えば、暗号処理で用いる秘密情報や、装置を認証するために必要な装置固有の識別子を、装置に固有な物理量を元に生成する装置に関する。
【背景技術】
【０００２】
ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の半導体デバイスにおいて、同一種類のデバイス上に同一の回路を実装しても、ゲート遅延等のデバイス特性がデバイス個体毎に異なることによって、デバイス個体毎に異なる出力が得られる現象が存在する。このような現象を生む回路もしくはその技術は、「Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ、あるいはＰｈｙｓｉｃａｌ  Ｕｎｃｌｏｎｉｎｇ技術」（以下、ＰＵＦという）などと呼ばれる。ＰＵＦは、認証や暗号化等への応用が期待される。【０００３】
ＰＵＦの例として、非特許文献１がある。非特許文献１は、組み合わせ回路の出力信号に発生するグリッチを利用する。図１４、図１５は、非特許文献１のＰＵＦ（グリッチＰＵＦと呼ぶ）の原理を示す図である。図１４、図１５を参照して、非特許文献１グリッチＰＵＦを説明する。グリッチは、信号が変化する際の過渡状態において、値が０と１とで変化を繰り返す現象である。図１４において、組み合わせ回路で構成されたランダムロジック２０１への入力信号ｘ１〜ｘＬの値を変化させると、それに応じて出力信号ｙ１〜ｙＭ（およびその中から１つ選択した信号ｇ）の値が変化する。その変化は、瞬間にではなく、ある時間をかけて生じる。変化の過渡状態においては、範囲２０２に示すように、値が、０と１とで変化を繰り返すグリッチが発生する。【０００４】
グリッチの形状は、ランダムロジック２０１を構成するゲートの遅延によって決定される。ゲート遅延は、デバイス個体によって異なるため、グリッチ形状はデバイス個体によって異なる。従って、グリッチ形状を０または１に割り当てることにより、デバイス固有の情報ビットを生成することが可能となる。非特許文献１では、図１５の（ａ），（ｂ）のように、グリッチに含まれるパルス個数の偶奇性をビットに変換する方法が述べられている。以上がグリッチＰＵＦの原理である。【０００５】
非特許文献１では、グリッチ形状を捕捉するため、グリッチを含む信号（以下、グリッチ信号という）をサンプリングし、グリッチを含む波形（グリッチ波形と呼ぶ）を取得する。グリッチはクロック周期よりも短い時間で発生する現象である。このため、
（ａ）微小に位相をずらしたＮ個のクロックで１個のグリッチ信号をサンプリングする必要がある。
（ｂ）あるいは、微小な遅延を付加したＮ個のグリッチ信号を１個のクロックでサンプリングする必要がある。【０００６】
ここで「微小な遅延」とは、グリッチに含まれるパルスの間隔を下回る程度の時間（遅延）である。非特許文献１は、後者（ｂ）を用いている（図１６）。また、非特許文献１は、「微小な遅延」を付加する方法として、ＦＰＧＡのようなＬＳＩにおいて遅延が小さく抑えられている加算回路のキャリー（桁上げ）ビットの配線を用いる方法を提案している。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】鈴木大輔他「グリッチ形状を利用したデバイス固有鍵の生成方式（１）」ＳＣＩＳ２０１０，３Ｆ１−１
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１のサンプリングによるグリッチ波形の捕捉には、グリッチＰＵＦに本質的には必要の無い回路が必要となるため、回路規模や処理時間が増大するという課題があった。また、その結果として、同時に生成可能なビット数が少なくなるという課題もあった。【０００９】
以下に上記課題が生じる理由を述べる。図１６では、サンプリング用遅延回路２０３によって微小な遅延を付加したＮ個の信号ｓ１〜ｓＮを生成している。これら信号ｓ１〜ｓＮは理想的には、図１７（Ｎ＝６としている）のように、遅延が付加された順序を保ったままサンプリングされ、その結果から元の波形が再現できる。しかし現実には、図１６において信号ｓ１〜ｓＮがサンプリングレジスタ群２０４に到達するまでの配線や、サンプリング用のクロックＣＬＫのスキューによって生じる遅延が、サンプリング用遅延回路２０３によって付加される微小な遅延よりも大きい場合がある。その結果、図１８のように、遅延が付加された順序に逆転が生じた状態でサンプリングされ、元の波形が再現できなくなってしまう課題がある。【００１０】
非特許文献１ではこの課題を解決するため、タイミングの異なるパルスを次々にサンプリングして、それらの結果から逆転した順序関係を学習し、並べ替えを行うという処理（ソーティングと呼ぶ）を、ＰＵＦの前処理として実行している。図１９は、非特許文献１のビット列生成回路４０１の構成である。伝令信号用遅延回路４０２は、上述のタイミングの異なるパルスを発生させる回路である。そのパルスと、ＰＵＦ処理に用いるグリッチ信号との選択のため、セレクタ４０３が必要となる。また、サンプリング用遅延回路４０４やサンプリングレジスタ４０５という、グリッチＰＵＦとは直接関係のない回路が必要となっている。また、サンプリングのタイミングを調整するために、可変遅延回路４０６も必要となっている。伝令信号用遅延回路４０２〜可変遅延回路４０６、およびグリッチ形状判定回路４０７によって一度に生成可能なビット数は１である。伝令信号用遅延回路４０２〜グリッチ形状判定回路４０７を並列に実装することで、複数ビットの同時生成も原理的には可能である。しかし、回路規模が増大するという実用上の課題がある。【００１１】
本発明は、グリッチＰＵＦにおいて、グリッチ波形の形状に基づく情報ビット生成を、グリッチ信号のサンプリングやソーティング無しで実現し、その結果、回路規模の小さい、処理時間の短い、同時に生成可能なビット数の多い、ビット生成装置の提供を目的とする。
【課題を解決するための手段】
【００１２】
この発明のビット生成装置は、
複数のパルスを含むグリッチ信号を発生するグリッチ発生部と、
前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、０と１とのいずれかのビット値を生成するビット値生成部と
を備えたことを特徴とする。
【発明の効果】
【００１３】
本発明により、従来で必要とされた、グリッチＰＵＦに本質的には必要の無い回路が不要となり、回路規模や処理時間の増大を抑制できる。また、その結果として、同時に生成可能なビット数が少なくなるという課題を解決できる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１のビット列生成回路１００のシステムＬＳＩへの搭載例を示す図。
【図２】実施の形態１のＴ−ＦＦを示す図。
【図３】実施の形態１のＴ−ＦＦの入力信号Ｔと出力信号Ｑとを示す図。
【図４】実施の形態１のビット列生成回路１００のブロック図。
【図５】実施の形態１のグリッチ発生回路１２０の内部構成を示す図。
【図６】実施の形態１のＤフリップフロップを用いたＡＳＩＣにおけるＴ−ＦＦの構成を示す図。
【図７】実施の形態１のＦＰＧＡにおけるＦ−ＦＦの構成を示す図。
【図８】実施の形態１のＴ−ＦＦの前段に設けられたフィルター回路１５０を示す図。
【図９】実施の形態１のＴ−ＦＦビット生成回路１３１（１）が複数のＴ−ＦＦと生成ビット安定化回路１６０とを備えた構成を示す図。
【図１０】実施の形態１の生成ビット安定化回路１６０の具体構成を示す図。
【図１１】実施の形態１の生成ビット安定化回路１６０の別の具体構成を示す図。
【図１２】実施の形態１のビット列生成回路１００の動作を示すフローチャート。
【図１３】実施の形態１のビット列生成回路１００の動作を示す別のフローチャート。
【図１４】従来技術を示す図。
【図１５】従来技術を示す図。
【図１６】従来技術を示す図。
【図１７】従来技術を示す図。
【図１８】従来技術を示す図。
【図１９】従来技術を示す図。
【発明を実施するための形態】
【００１５】
実施の形態１．
図１は、ビット列生成回路１００（ビット生成装置）をシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）１０００に搭載する例を示す図である。図１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５００、内部メモリ６００（記憶装置の一例）、外部インタフェース７００などを備える一般的な構成のシステムＬＳＩに、ビット列生成回路１００と、誤り訂正回路３００（誤り訂正部）、暗号処理回路４００を搭載した例である。以下に説明するが、ビット列生成回路１００は、グリッチ信号からビット列を生成する。その場合、ビット列生成回路１００は、並行処理によって複数のビット値を生成し、生成された複数のビット値から、ビット列である鍵情報あるいはデバイスの識別情報を生成する。これらの鍵情報等は、グリッチＰＵＦである。ビット列生成回路１００によって生成されたデータ（ビット列）は、例えば、暗号処理回路４００による暗号処理などの、情報セキュリティ処理で必要な鍵情報として利用される。ビット列生成回路１００に対する制御は、ＣＰＵ５００から制御可能としてもよい。ビット列生成回路１００は、後述（図９）のように、生成ビットの安定性を高める処理（生成ビット安定化回路１６０）を含んでいる。しかし、それでも、生成されるビット列に含まれる誤りを０にすることは難しい。図１では、この誤りを誤り訂正回路３００によって訂正する。誤り訂正回路３００を使用することで、ビット列生成回路１００によって生成されるデバイス固有情報を、暗号処理に必要な鍵情報として利用することが可能となる。
【００１６】
ビット列生成回路１００の特徴は、グリッチ信号に含まれるパルス個数の奇数、偶数（偶奇性）の判定を、ビットの反転回数によって行う点である。グリッチ信号の偶奇性の判定には、トグルフリップフロップ（Ｔ−ＦＦと表記する）と呼ばれる回路が使用される。
【００１７】
図２は、Ｔ−ＦＦ（後述の単位回路の一例）を示す。Ｔ−ＦＦは、図２のような回路記号で表される順序回路である。
図３は、図２に示すＴ−ＦＦの入力信号Ｔと出力信号Ｑを示す。図３の（ａ）は、グリッチ信号に含まれるパルスの個数が３個（奇数）の場合を示し、図３の（ｂ）は、グリッチ信号に含まれるパルス個数が４個（偶数）の場合を示す。Ｔ−ＦＦは、入力信号Ｔが立ち上がる毎に一度、出力信号Ｑの値が反転するフリップフロップである。その結果、図３のように、入力Ｔのパルス個数が偶数か奇数かによって最終的な出力Ｑの値が決定する。この原理により、グリッチ信号をＴ−ＦＦの入力信号Ｔとして入力し、その出力信号Ｑを利用することで、グリッチＰＵＦが実現できる。すなわち、図３の（ａ）では入力信号Ｔのパルスの個数は３個（奇数）である。このパルスに対して、Ｔ−ＦＦは、立ち上がりエッジを検出する都度、出力信号Ｑの値が反転する。よって、図３の（ａ）の破線領域２０５で示すように、入力信号Ｔのパルス個数が３個（奇数）であれば「出力信号Ｑの最終値」はハイレベルとなる。一方、図３の（ｂ）の破線領域２０６で示すように、入力信号Ｔのパルス個数が４個（偶数）であれば「出力信号Ｑの最終値」はローレベルとなる。
よって、
「出力信号Ｑの最終値がハイレベル」（パルス数が奇数）＝ビット値「０」、
「出力信号Ｑの最終値がローレベル」（パルス数が偶数）＝ビット値「１」、
とビットを決定できる。
なお、図３において出力Ｑの初期の信号レベルを「ハイ」とすることで、
「出力信号Ｑの最終値がローレベル」（パルス数が奇数）＝ビット値「０」、
「出力信号Ｑの最終値がハイレベル」（パルス数が偶数）＝ビット値「１」、
とすることができる。
このように、出力Ｑの反転回数（出力Ｑの最終値）がパルスの偶奇に一致するので、出力信号Ｑの最終値により、ビット値を決定することができる。なお、図３ではＴ−ＦＦによって入力信号Ｔ（グリッチ信号）のパルスの立ち上がりエッジを検出する場合を説明したが、立ち下がりエッジを検出しても良いのは明らかである。
【００１８】
（ビット列生成回路１００の構成）
図４は、ビット列生成回路１００のブロック図である。ビット列生成回路１００は、デバイス固有の情報ビット列の生成を目的とする。ビット列生成回路１００は、データバス１０１，１０２に接続される。ビット列生成回路１００は、データレジスタ群１１０、グリッチ発生回路１２０（グリッチ発生部）、ビット生成回路群１３０、制御レジスタ群１４０を備えている。ビット生成回路群１３０は、Ｔ−ＦＦに基づくＴ−ＦＦビット生成回路１３１（ビット値生成部）をＭ個備えている。個々のＴ−ＦＦビット生成回路１３１を区別する場合には、Ｔ−ＦＦビット生成回路１３１（ｉ）（ｉ＝１〜Ｍ）のように表記する。例えば、Ｔ−ＦＦビット生成回路１３１（１）は、グリッチ信号ｙ１を入力して、ビットｂ１を出力する。Ｔ−ＦＦビット生成回路１３１（１）は、一つのＴ−ＦＦからなる後述の単位回路でもよいし、図９で後述するように、複数の単位回路からなる構成でもよい。
【００１９】
データレジスタ群１１０は、データバス１０１からのデータ入力に対して、グリッチ発生回路１２０への入力信号「ｘ１〜ｘＬ」を保持するレジスタを含む。
【００２０】
グリッチ発生回路１２０は、データ信号ｘ１〜ｘＬを入力とし、信号ｙ１〜ｙＭを返す（出力する）。信号ｙ１〜ｙＭは、ビット列生成回路１００のグリッチ発生回路ごとに異なる、グリッチ信号である。
図５は、グリッチ発生回路１２０の内部構成を示す。グリッチ発生回路１２０は、ランダムロジック部１２１（組み合わせ回路）を備えている。ランダムロジック部１２１は、ｘ１〜ｘＬのＬビットの入力を、任意の関数の組み合わせ回路によって処理し、Ｍビットのデータｙ１〜ｙＭを出力する。ランダムロジック部１２１で処理する関数の例として、共通鍵暗号ＡＥＳで定義されるＳ−ｂｏｘが挙げられる。Ｓ−ｂｏｘの場合、Ｌ＝Ｍ＝８となる。
【００２１】
ビット生成回路群１３０は、グリッチ発生回路１２０の出力ｙ１〜ｙＭのそれぞれを入力Ｔとして入力し、入力信号ｙ１〜ｙＭに応じてビットｂ１〜ｂＭを生成し、出力するＭ個のＴ−ＦＦビット生成回路１３１からなる。具体的には図４に示すように、
Ｔ−ＦＦビット生成回路１３１（１）は、入力信号ｙ１を入力してビット値ｂ１を出力し、
Ｔ−ＦＦビット生成回路１３１（２）は、入力信号ｙ２を入力してビット値ｂ２を出力し、
同様に、
Ｔ−ＦＦビット生成回路１３１（Ｍ）は、入力信号ｙＭを入力してビット値ｂＭを出力する。
【００２２】
図６、図７は、図２で説明したＴ−ＦＦの、ＬＳＩにおける構成例である。
図６は、一般的なＤフリップフロップを用いたＡＳＩＣにおけるＴ−ＦＦの構成である。
図６のＴ−ＦＦは、Ｄフリップフロップの反転出力をフィードバックして入力する。図６、図７のＴ−ＦＦは、単位回路の場合のＴ−ＦＦビット生成回路１３１（１）、単位回路であるＴ−ＦＦビット生成回路１３１（１１）−１に相当する。
【００２３】
図７のＴ−ＦＦは、ＦＰＧＡにおけるＦ−ＦＦの構成例である。一般的にＦＰＧＡは、論理関数を実現するＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ  ）と、ＬＵＴの出力を保持するためのレジスタとの対からなる構成要素を複数有する。これら複数の構成要素の間が、配線可能な構成となっている。
図７は、Ｘｉｌｉｎｘ社のＳｐａｒｔａｎ−３Ａと呼ばれるＦＰＧＡシリーズを例とした図である。図７のＦＰＧＡは、ＬＵＴとレジスタとの対を２個有するスライスと呼ばれる構成要素と、Ｓｗｉｔｃｈ  Ｍａｔｒｉｘと呼ばれる、スライス同士、もしくは、スライスをＲＡＭ等の別の構成要素と配線するための構成要素を有する。１個のスライス内の１個のレジスタを用い、その出力をＳｗｉｔｃｈ  Ｍａｔｒｉｘによる配線で再び同じスライスに入力する。そして、スライス内に存在する反転経路を通して同じレジスタに入力する。これによって、図７では、Ｔ−ＦＦが構成される。ここで、例えば反転処理にＬＵＴを用いることにより配線中にＬＵＴを含むと、グリッチ信号におけるパルス発生に反転処理が間に合わず、タイミング違反が起こる可能性がある。このため、反転処理にはＬＵＴは使用しない。
【００２４】
図８〜図１１を参照して、ビット生成回路群１３０の具体的な内部構成を説明する。
図８は、Ｔ−ＦＦの前段に、グリッチ信号に対するフィルター回路１５０（フィルター部）を備えた構成である。グリッチ信号（図４の信号ｙ１〜ｙＭ）のパルスの中には、パルス幅が極端に狭いものが含まれることがある。例えば図８の破線１５２で囲まれたパルスである。このようなパルスは、ゲートを通過する際に消えてしまったり、図６、図７等のＴ−ＦＦにおいて、ラッチ間隔が短かすぎるためフィードバック入力が間に合わなくなったりするなど、ビット生成を不安定にする要因となる。そこで、ビット生成を安定化させるため、幅が極端に狭いパルスを除去するフィルター回路１５０を、Ｔ−ＦＦの前段に設ける。図８では、フィルター回路１５０の具体的構成として、インバーターを直列に接続したフィルター回路１５１を示す。
【００２５】
図９は、一つのグリッチ信号（例として信号ｙ１とする）を分岐させ、それぞれのＴ−ＦＦに入力する構成である。図９は、図４のＴ−ＦＦビット生成回路１３１（１）が、Ｋ個のＴ−ＦＦビット生成回路と、生成ビット安定化回路１６０（変換部）とを備えた場合を示す。図９に示すＫ個のＴ−ＦＦビット生成回路を、Ｔ−ＦＦビット生成回路１３１（１）−１〜１３１（１）―Ｋと表記する。以下、Ｔ−ＦＦビット生成回路１３１（１）−１〜１３１（１）―Ｋの個々を「単位回路」とも呼ぶ。「単位回路」（ビット値生成部）とは、信号ｙ１のような一つのグリッチ信号を入力として、一つのビットを出力する回路をいう。Ｔ−ＦＦビット生成回路１３１（２）〜Ｔ−ＦＦビット生成回路１３１（Ｍ）に関しても、Ｔ−ＦＦビット生成回路１３１（１）と同様の構成である。同一のグリッチ信号ｙ１であっても、単位回路によって生成されるビットｂ１が変化する場合がある。言い換えれば、グリッチ信号ｙ１に対して、一つの単位回路のみでビット値ｂ１を生成する場合、生成されるビット値ｂ１は、安定しないおそれがある。すなわち、図４のＴ−ＦＦビット生成回路１３１（１）を一つの単位回路のみとした場合は、出力されるビット値ｂ１が安定しないおそれがある。そこで、図９に示すように、Ｔ−ＦＦビット生成回路１３１（１）がＫ個の単位回路と、生成ビット安定化回路１６０とを備える構成とした。図９において、それぞれの単位回路は、グリッチ発生回路１２０の発生したグリッチ信号ｙ１を、互いに異なる信号経路を介して入力し、ビット値ｂ’ｉ（ｉ＝１〜Ｋ）を出力する。生成ビット安定化回路１６０は、それぞれの単位回路によって生成されたＫ個のビット値の示す０と１との個数に基づいて、Ｋ個のビット値を、０と１とのいずれかの値を示す代表ビット値に変換する。図９は、生成ビット安定化回路１６０が、Ｋ個のビット値を、代表ビット値「ｂ１＝０」に変換した場合を示す。このように、生成ビット安定化回路１６０は、グリッチ信号ｙｉ（ｉ＝１〜Ｍ）から生成されるビット値ｂｉ（ｉ＝１〜Ｍ）を安定化させる回路である。
【００２６】
図１０、図１１は、生成ビット安定化回路１６０の具体的な構成の、生成ビット安定化回路１６１、生成ビット安定化回路１６２を示す。図１０の生成ビット安定化回路１６１は、それぞれの単位回路によって生成されたＫ個のビットをなす１と０とのうち、多く生成されたビットを最終的な出力ビットｂ１とする。また、図１１の生成ビット安定化回路１６２は、それぞれの単位回路によって生成されたＫ個のビットに関して、Ｋ個のビットが全て同じ値（すべて１、あるいはすべて０）のときに限り、そのビットを情報として使用する。Ｋ個のビットに０と１とが混在する場合は、生成ビット安定化回路１６２は、出力ビットｂ１を情報として使用しないことを示すフラグ信号を出力する。すなわち、生成ビット安定化回路１６２は、出力ビットを情報として使用するかどうかを示すフラグ信号（充足情報）を出力ビットｂと同時に出力する。このフラグ信号は、後述の「マスク」である。
【００２７】
制御レジスタ群１４０は、ビット列生成回路１００が、Ｔ−ＦＦに基づくビット生成回路として図８および図９の構成を備える。制御レジスタ群１４０は、ビット列生成回路１００が少なくともいずれか一方を選択可能な機能を備える場合に、その選択信号を保持する。選択信号は、データバス１０１を介して外部から入力される。
【００２８】
図１２、図１３を参照して、ビット列生成回路１００の動作を説明する。
図１２、図１３は、ビット列生成回路１００による、情報ビット生成の動作を表すフローチャートである。以下に説明する図１２、図１３の動作に関しては、ＣＰＵ５００がビット列生成回路１００を制御するものとする。
【００２９】
まず図１２を説明する。以下の説明では図４、図９等も参照する。まず初期設定として、ＣＰＵ５００によって、ビット列生成回路１００の全レジスタが初期化される（Ｓ１００１）。初期設定後、ＣＰＵ５００は、データレジスタ群１１０にデータを入力する（Ｓ１００２、Ｓ１００３）。Ｓ１００２において、ｄがｄ＝０からｄ＝２Ｌ−１までループする。このｄのループは、Ｓ１００３に示すように、Ｌビットの入力データ（ｘ１，ｘ２，・・・ｘＬ）＝（０，０，・・・，０）〜（１，１，・・・，１）の２Ｌ通りに対応する。例えば、ｄ＝０はＬビットのすべてが０である（ｘ１，ｘ２，・・・ｘＬ）＝（０，０，・・・０）に対応し、ｄ＝２Ｌ−１はＬビットのすべてが１である（ｘ１，ｘ２，・・・ｘＬ）＝（１，１，・・・，１）に対応する。Ｓ１００３におけるｘ１〜ｘＬの入力により、グリッチ発生回路１２０は、ｘ１〜ｘＬの入力に伴うグリッチ信号であるｙ１〜ｙＭを出力する。
【００３０】
グリッチ発生回路１２０によって発生されたグリッチ信号ｙ１〜ｙＭは、ビット生成回路群１３０によって処理される。すなわちグリッチ信号ｙ１〜ｙＭは、図４の個々のＴ−ＦＦビット生成回路１３１（ｉ）によって処理される。ビット生成回路群１３０によって、グリッチ信号ｙ１〜ｙＭのそれぞれに対して１ビット、合計Ｍビットの情報ビットが最終的にデータバス１０２に出力される。
【００３１】
図１２のＳ１００４〜Ｓ１００９のステップは、ビット列生成の流れを示す。ただし、説明を簡略化するため、Ｓ１００４〜Ｓ１００９は、生成されるビット数が１ビットの場合を示した。すなわち、Ｓ１００４〜Ｓ１００９は、例えば、図４のＴ−ＦＦビット生成回路１３１（１）のみに着目している。Ｍビットの生成は、Ｓ１００４〜Ｓ１００９のステップをＭ個並列して行うことで実現される。すなわちＴ−ＦＦビット生成回路１３１（１）〜１３１（Ｍ）によって並列処理を実行する。以下、Ｔ−ＦＦビット生成回路１３１（１）を想定して、Ｓ１００４〜Ｓ１００９を説明する。
【００３２】
Ｓ１００４は、図９に示す構成に対応するステップである。Ｓ１００４は、ビット生成の安定化を目的とする。グリッチ発生回路１２０によって発生されたグリッチ信号ｙ１に対し、Ｋ個のＴ−ＦＦ（単位回路）が、Ｋ個のビットｂ’１〜ｂ’Ｋを生成する。「ｂ’１〜ｂ’Ｋ」は、同一のグリッチ信号ｙ１から生成されたビットであるから、理想的には同一の値となる。しかし、実際のデバイス上では、Ｔ−ＦＦ（単位回路）に到達するまでの配線や、Ｔ−ＦＦ自体の特性によって、ビット値が異なる可能性がある。逆に言えば、「ｂ’１〜ｂ’Ｋ」の値が全て一致する場合、ビットは安定しているといえる。一般には、Ｋ個生成されたビット値のうち、数が多い（Ｋ／２個より多い）方のビット値が、正しいビット値であるとみなせる。そして、一致度が高くなればなるほど（０と１とのどちらかのビットが総数Ｋに近づくほど）、そのビットは、安定しているといえる。
【００３３】
Ｓ１００５は、登録時と再生成時とで、異なる基準でビット生成を行うため、処理が分岐する。「登録」とは生成したビット列を、鍵情報として、他の装置に登録するような場合を意味し、通常、最初のビット列生成時である、登録後以降（通常、２回目以降）の情報ビット生成を「再生成」という。例えば「登録」は、ビット列生成回路１００が組み込まれた装置を製造するメーカーが鍵情報（ビット列）を保管するために行う処理である。「再生成」は、例えば、ビット列生成回路１００が組み込まれた装置がユーザに購入され、鍵情報が生成される場合である。
【００３４】
（登録時）
Ｓ１００６，Ｓ１００７は登録時のステップである。Ｓ１００６では、生成ビット安定化回路１６０は、「基準１」にしたがって出力ビットｂ１を決定し、Ｓ１００７で、出力ビットｂ１の安定性を表す「マスク」（前述のフラグ信号）を出力する。なお、後述のＳ１００８において、生成ビット安定化回路１６０は、「基準１」にしたがって出力ビットｂ１を決定するが、「基準１」はＳ１００８の「基準２」よりも厳しい基準である。
【００３５】
（マスク）
以下、登録時に生成されるマスクを説明する。図９に示す生成ビット安定化回路１６０によって，Ｋ個のビットの代表ビットとして出力されるｂ１は、最低でもＫ／２個より多く生成された方のビット値である。しかし、ぎりぎりＫ／２を超える程度では、再生成時に個数がビットが逆転する可能性があり、安定性が低い。より厳しい条件をみたすビット、すなわち、生成された個数が総数Ｋ個に近いビットのみを情報ビットｂ１として使用すれば、ビット生成の安定性を高めることができる。すなわち、生成ビット安定化回路１６０は、Ｋ個の単位回路よって生成された「ｂ’１〜ｂ’Ｋ」のＫ個のビット値の中で、０と１とのうちのいずれか一方のビット値が所定の比率を満たす場合に、Ｋ個のビット値を、代表ビットとして、前記所定の比率を満たす一方のビット値に変換する。生成ビット安定化回路１６０は、前記所定の比率を満たすかどうかを示す情報として、「マスク」（前述のフラグ信号）を生成する。ここで「所定の比率」とは、図１１で述べたように「１００％」でもよいし、あるいは「９０％」でもよい。「所定の比率」は自由に設定可能とする。このように、生成ビット安定化回路１６０は、出力ビットｂ１が「厳しい条件」をみたすビットであることを表す情報を、マスク（充足情報）として出力する。これにより、そのビットｂ１を使用するかどうかのＣＰＵ５００による判断を可能とする。「厳しい条件」の例としては、前述のように、「ｂ’１〜ｂ’Ｋ」のＫ個のビット値の全数一致の場合である。
【００３６】
（再生成時）
Ｓ１００８は再生成時のステップである。再生成時では、生成ビット安定化回路１６０は、「基準２」にしたがって出力ビットｂ１（代表ビット）を決定する。「基準２」は、「基準１」と同じであっても異なっていても良い。ただし、Ｋ個全て一致という条件では、全て一致しなかった場合のビット値を決定できないため、それ以外の条件にする。通常、「基準２」は「基準１」よりも緩い基準である。例えば、「基準１」が図１１に示す「全数一致」とすれば、「基準２」は、図１０に示す「過半数」のような条件である。このように、生成ビット安定化回路１６０は、Ｓ１００８において、「基準２」によって図９に示す代表ビットｂ１を出力する。
【００３７】
なお、図１２は、情報ビット生成をサブルーチンとして使用するような上位のルーチンの処理を想定している。図１２はマスクを生成し、記憶（Ｓ１００７）するのみである。マスクを伴う出力ビットｂを使用するかどうかをマスクに従って決定する処理は、その上位のルーチンが行う。
【００３８】
図１３は、マスクを用いた処理を、情報ビット生成に含める場合を示す。図１３では、図１２に対し、Ｓ１１０１，Ｓ１１０２のステップが追加された。Ｓ１１０１において、処理がマスクの値によって分岐される。図１３では、マスクの値が「１」の場合に、ビットｂを使用する。マスクが「１」であれば、図１２と同様、「基準２」に従ってビットｂ（代表ビット）が決定される（Ｓ１００８）。マスクが０であれば、ビットｂ１の値は情報ビットとして使用されない。そこで、基準２による決定処理を省き、即座にｂ＝０とすることで処理の高速化が可能である。この値は使用されないので、ｂ＝１としても同じである。
すなわち、Ｔ−ＦＦビット生成回路１３１（１）−１〜１３１（１）−Ｋは、図９に示すように、マスク生成（Ｓ１００７）の元となるグリッチ信号ｙ１に対応する入力信号（ｘ１〜ｘＬ）と同一の入力信号によってグリッチ発生回路１２０が発生したグリッチ信号ｙ１（第２グリッチ信号）を、グリッチ発生回路１２０から互いに異なる信号経路を介して入力する。
そして、Ｔ−ＦＦビット生成回路１３１（１）−１〜１３１（１）−Ｋは、入力されたグリッチ信号（第２グリッチ信号）からビットｂ’１〜ｂ’Ｍ（第２ビット値）を生成する。生成ビット安定回路１６０は、内部メモリ６００等の記憶装置に記憶されたマスクを参照する。生成ビット安定回路１６０は、マスクが「１」の場合（マスクが所定の比率の充足を示す場合）にはＫ個のビット値の中で０と１とのうちのいずれか一方のビット値が基準１よりも緩やかな基準２を満たすかどうかを判定する。生成ビット安定回路１６０は、基準２を満たすと判定した場合に、Ｋ個のビット値を、基準２にしたがって変換されるべきビット値（代表ビット値）に変換する。
【００３９】
図１２、図１３のＳ１００９では、生成されたビットｂが出力される。以上の処理を、入力データ「ｘ１〜ｘＬ」を変えて繰り返し行う（Ｓ１００２のループ）。図４のビット列生成回路１００の構成は、Ｍビット並列で生成可能である。
よって、最終的に、
ｂ１（ｄ）〜ｂＭ（ｄ）（ｄ＝０，１，．．．，２Ｌ−１）のＭ×２Ｌビットの出力が得られる。このうち、Ｓ１００７によるマスク（フラグ信号）で示された部分をデバイス固有の情報として利用する。
【００４０】
実施の形態１のビット列生成回路１００により、従来では必要とされた、グリッチＰＵＦに本質的には必要の無い回路が不要となり、回路規模や処理時間の増大を抑制できる。また、その結果として、同時に生成可能なビット数が少なくなるという課題を解決できる。
【００４１】
従来のビット列生成回路４０１と、実施の形態１のビット列生成回路１００との比較から、ビット列生成回路１００によれば、従来のグリッチＰＵＦで必要であったサンプリング処理やソーティング処理に係る回路およびレジスタが不要であり、回路規模の縮小効果が得られることが分かる。制御レジスタに関しても削減される。
【００４２】
ビット列生成回路１００によれば、処理性能に関して、必要な処理の削減によって処理速度が向上し、また、回路規模の削減によって、複数ビットの同時生成が可能となった。
また、ビット生成には、グリッチ形状のサンプリングデータの処理ではではなく、Ｔ−ＦＦによるビット反転という単純な処理を用いている。
このため、ビット生成の安定化のための処理を図８、図１０、図１１に示すような小規模な回路で、ハードウェアで行うことが可能となった。このことも、処理速度の向上効果を生み出している。
【００４３】
以上の実施の形態では装置としてのビット列生成回路１００を説明したが、ビット列生成回路１００の構成要素の各動作を、グリッチ信号からビットを生成するビット生成方法として把握することも可能である。
【符号の説明】
【００４４】
１００  ビット列生成回路、１０１，１０２  データバス、１１０  データレジスタ群、１２０  グリッチ発生回路、１２１  ランダムロジック部、１３０  ビット生成回路群、１３１  Ｔ−ＦＦビット生成回路、１３１（１）−１  Ｔ−ＦＦビット生成回路、１４０  制御レジスタ群、１５０，１５１  フィルター回路、１６０，１６１，１６２  生成ビット安定化回路、１０００  システムＬＳＩ。
【図１】
2012095972.tif 000003
【図２】
2012095972.tif 000004
【図３】
2012095972.tif 000005
【図４】
2012095972.tif 000006
【図５】
2012095972.tif 000007
【図６】
2012095972.tif 000008
【図７】
2012095972.tif 000009
【図８】
2012095972.tif 000010
【図９】
2012095972.tif 000011
【図１０】
2012095972.tif 000012
【図１１】
2012095972.tif 000013
【図１２】
2012095972.tif 000014
【図１３】
2012095972.tif 000015
【図１４】
2012095972.tif 000016
【図１５】
2012095972.tif 000017
【図１６】
2012095972.tif 000018
【図１７】
2012095972.tif 000019
【図１８】
2012095972.tif 000020
【図１９】
2012095972.tif 000021
【手続補正書】
【提出日】平成24年4月5日(2012.4.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のパルスを含むグリッチ信号を発生するグリッチ発生部と、
第１から第Ｎ（Ｎは２以上の整数）までのＮ個の半導体素子の直列接続から構成されるフィルター部であって、前記グリッチ発生部によって発生された前記グリッチ信号を前記第１の半導体素子から入力し、入力された前記グリッチ信号を第１から第Ｎまでの各半導体素子を通過させることにより所定のパルス幅に満たない前記パルスを除去し、所定のパルス幅に満たない前記パルスが除去された前記グリッチ信号を前記第Ｎの半導体素子から出力するフィルター部と、
前記フィルター部によって出力された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、０と１とのいずれかのビット値を生成するビット値生成部と
を備えたことを特徴とするビット生成装置。
【請求項２】
前記フィルター部は、
前記Ｎ個の半導体素子として、第１から第ＮまでのＮ個のＮＯＴゲートの直列接続から構成されることを特徴とする請求項１記載のビット生成装置。
【請求項３】
前記ビット生成装置は、
前記フィルター部によって出力された同一の前記グリッチ信号を、前記フィルター部から互いに異なる信号経路を介して入力し、入力された前記グリッチ信号から前記ビット値を生成する複数の前記ビット値生成部と、
複数の前記ビット値生成部によって生成された複数の前記ビット値の示す０と１との個数に基づいて、複数の前記ビット値を、０と１とのいずれかの値を示す代表ビット値に変換する変換部と
を備えたことを特徴とする請求項１または２のいずれかに記載のビット生成装置。
【請求項４】
前記変換部は、
複数の前記ビット値生成部によって生成された複数の前記ビット値の中で０と１とのうちのいずれか一方のビット値が所定の比率を満たす場合に、複数の前記ビット値を、前記代表ビットとして前記所定の比率を満たす前記一方のビット値に変換することを特徴とする請求項３記載のビット生成装置。
【請求項５】
前記グリッチ発生部は、
前記グリッチ信号を生成するための入力信号を入力し、入力された前記入力信号に対応する前記グリッチ信号を生成し、
前記フィルター部は、
前記グリッチ発生部が生成した前記グリッチ信号を前記第１の半導体素子から入力し、入力された前記グリッチ信号を前記第Ｎの半導体素子から出力し、
前記複数のビット値生成部の各ビット値生成部は、
前記フィルター部によって出力された同一の前記グリッチ信号を、前記フィルター部から互いに異なる信号経路を介して入力し、入力された前記グリッチ信号から前記ビット値を生成し、
前記変換部は、
複数の前記ビット値生成部によって生成された複数の前記ビット値の示す０と１との個数に基づいて、複数の前記ビット値を、０と１とのいずれかの値を示す代表ビット値に変換すると共に、０と１とのうちのいずれか一方のビット値が前記所定の比率を満たしたかどうかを示す充足情報を生成し、生成された前記充足情報を記憶装置に記憶し、
前記グリッチ発生部は、
前記充足情報が生成された複数の前記ビット値の生成の元となる前記グリッチ信号を発生させた前記入力信号と同一の前記入力信号を入力し、入力された前記入力信号に対応するグリッチ信号である第２グリッチ信号を生成し、
前記フィルター部は、
前記グリッチ発生部が生成した前記第２グリッチ信号を前記第１の半導体素子から入力し、入力された前記第２グリッチ信号を前記第Ｎの半導体素子から出力し、
前記複数のビット値生成部の各ビット値生成部は、
前記フィルター部によって出力された前記第２グリッチ信号を、前記フィルター部から互いに異なる前記信号経路を介して入力し、入力された前記第２グリッチ信号から前記ビット値である第２ビット値を生成し、
前記変換部は、
前記記憶装置に記憶された前記充足情報を参照し、前記充足情報が前記所定の比率の充足を示す場合には複数の前記第２ビット値の中で０と１とのうちのいずれか一方のビット値が前記所定の比率よりも低い所定の比率を満たすかどうかを判定し、前記所定の比率よりも低い前記所定の比率を満たすと判定した場合に、複数の前記第２ビット値を、前記代表ビット値として、前記所定の比率よりも低い前記所定の比率を満たすと判定されたビット値に変換することを特徴とする請求項４記載のビット生成装置。
【請求項６】
前記変換部は、
０と１とのうちのいずれか一方のビット値が、５０％を超える比率を満たしたかどうかを示す前記充足情報を生成することを特徴とする請求項５記載のビット生成装置。
【請求項７】
前記ビット値生成部は、
前記フィルター部によって出力された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジの個数の偶奇に基づいて、０と１とのいずれかのビット値を生成し、
前記ビット生成装置は、
前記ビット値生成部として、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジの個数の偶奇に応じて、０と１とのいずれかのビット値を出力するトグルフリップフロップ回路を備えたことを特徴とする請求項１〜６のいずれかに記載のビット生成装置。
【請求項８】
グリッチ発生部と、フィルター部と、ビット値生成部とを備えるビット生成装置が行うビット生成方法であって、
前記グリッチ発生部が、
複数のパルスを含むグリッチ信号を発生し、
第１から第Ｎ（Ｎは２以上の整数）までのＮ個の半導体素子の直列接続から構成された前記フィルター部が、
前記グリッチ発生部によって発生された前記グリッチ信号を前記第１の半導体素子から入力し、入力された前記グリッチ信号を第１から第Ｎまでの各半導体素子を通過させることにより所定のパルス幅に満たない前記パルスを除去し、所定のパルス幅に満たない前記パルスが除去された前記グリッチ信号を前記第Ｎの半導体素子から出力し、
前記ビット値生成部が、
前記フィルター部によって出力された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、０と１とのいずれかのビット値を生成することを特徴とするビット生成方法。
【請求項９】
（削除）
【請求項１０】
（削除）
【請求項１１】
（削除）
【手続補正書】
【提出日】平成25年12月19日(2013.12.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
（マスク）
以下、登録時に生成されるマスクを説明する。図９に示す生成ビット安定化回路１６０によって，Ｋ個のビットの代表ビットとして出力されるｂ１は、最低でもＫ／２個より多く生成された方のビット値である。しかし、ぎりぎりＫ／２を超える程度では、再生成時にビット値が逆転する可能性があり、安定性が低い。より厳しい条件をみたすビット、すなわち、生成された個数が総数Ｋ個に近いビットのみを情報ビットｂ１として使用すれば、ビット生成の安定性を高めることができる。すなわち、生成ビット安定化回路１６０は、Ｋ個の単位回路によって生成された「ｂ’１〜ｂ’Ｋ」のＫ個のビット値の中で、０と１とのうちのいずれか一方のビット値が所定の比率を満たす場合に、Ｋ個のビット値を、代表ビットとして、前記所定の比率を満たす一方のビット値に変換する。生成ビット安定化回路１６０は、前記所定の比率を満たすかどうかを示す情報として、「マスク」（前述のフラグ信号）を生成する。ここで「所定の比率」とは、図１１で述べたように「１００％」でもよいし、あるいは「９０％」でもよい。「所定の比率」は自由に設定可能とする。このように、生成ビット安定化回路１６０は、出力ビットｂ１が「厳しい条件」をみたすビットであることを表す情報を、マスク（充足情報）として出力する。これにより、そのビットｂ１を使用するかどうかのＣＰＵ５００による判断を可能とする。「厳しい条件」の例としては、前述のように、「ｂ’１〜ｂ’Ｋ」のＫ個のビット値の全数一致の場合である。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のパルスを含むグリッチ信号を発生するグリッチ発生部と、
第１から第Ｎ（Ｎは２以上の整数）までのＮ個の半導体素子の直列接続から構成されるフィルター部であって、前記グリッチ発生部によって発生された前記グリッチ信号を前記第１の半導体素子から入力し、入力された前記グリッチ信号を第１から第Ｎまでの各半導体素子を通過させることにより所定のパルス幅に満たない前記パルスを除去し、所定のパルス幅に満たない前記パルスが除去された前記グリッチ信号を前記第Ｎの半導体素子から出力するフィルター部と、
前記フィルター部によって出力された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、０と１とのいずれかのビット値を生成するビット値生成部と
を備えると共に、
前記フィルター部によって出力された同一の前記グリッチ信号を、前記フィルター部から互いに異なる信号経路を介して入力し、入力された前記グリッチ信号から前記ビット値を生成する複数の前記ビット値生成部と、
複数の前記ビット値生成部によって生成された複数の前記ビット値の示す０と１との個数に基づいて、複数の前記ビット値を、０と１とのいずれかの値を示す代表ビット値に変換する変換部と
を備えたことを特徴とするビット生成装置。
【請求項２】
前記変換部は、
複数の前記ビット値生成部によって生成された複数の前記ビット値の中で０と１とのうちのいずれか一方のビット値が所定の比率を満たす場合に、複数の前記ビット値を、前記代表ビットとして前記所定の比率を満たす前記一方のビット値に変換することを特徴とする請求項１記載のビット生成装置。
【請求項３】
前記グリッチ発生部は、
前記グリッチ信号を生成するための入力信号を入力し、入力された前記入力信号に対応する前記グリッチ信号を生成し、
前記フィルター部は、
前記グリッチ発生部が生成した前記グリッチ信号を前記第１の半導体素子から入力し、入力された前記グリッチ信号を前記第Ｎの半導体素子から出力し、
前記複数のビット値生成部の各ビット値生成部は、
前記フィルター部によって出力された同一の前記グリッチ信号を、前記フィルター部から互いに異なる信号経路を介して入力し、入力された前記グリッチ信号から前記ビット値を生成し、
前記変換部は、
複数の前記ビット値生成部によって生成された複数の前記ビット値の示す０と１との個数に基づいて、複数の前記ビット値を、０と１とのいずれかの値を示す代表ビット値に変換すると共に、０と１とのうちのいずれか一方のビット値が前記所定の比率を満たしたかどうかを示す充足情報を生成し、生成された前記充足情報を記憶装置に記憶し、
前記グリッチ発生部は、
前記充足情報が生成された複数の前記ビット値の生成の元となる前記グリッチ信号を発生させた前記入力信号と同一の前記入力信号を入力し、入力された前記入力信号に対応するグリッチ信号である第２グリッチ信号を生成し、
前記フィルター部は、
前記グリッチ発生部が生成した前記第２グリッチ信号を前記第１の半導体素子から入力し、入力された前記第２グリッチ信号を前記第Ｎの半導体素子から出力し、
前記複数のビット値生成部の各ビット値生成部は、
前記フィルター部によって出力された前記第２グリッチ信号を、前記フィルター部から互いに異なる前記信号経路を介して入力し、入力された前記第２グリッチ信号から前記ビット値である第２ビット値を生成し、
前記変換部は、
前記記憶装置に記憶された前記充足情報を参照し、前記充足情報が前記所定の比率の充足を示す場合には複数の前記第２ビット値の中で０と１とのうちのいずれか一方のビット値が前記所定の比率よりも低い所定の比率を満たすかどうかを判定し、前記所定の比率よりも低い前記所定の比率を満たすと判定した場合に、複数の前記第２ビット値を、前記代表ビット値として、前記所定の比率よりも低い前記所定の比率を満たすと判定されたビット値に変換することを特徴とする請求項２記載のビット生成装置。
【請求項４】
前記変換部は、
０と１とのうちのいずれか一方のビット値が、５０％を超える比率を満たしたかどうかを示す前記充足情報を生成することを特徴とする請求項３記載のビット生成装置。
【請求項５】
前記フィルター部は、
前記Ｎ個の半導体素子として、第１から第ＮまでのＮ個のＮＯＴゲートの直列接続から構成されることを特徴とする請求項１から４のいずれかに記載のビット生成装置。
【請求項６】
前記ビット値生成部は、
前記フィルター部によって出力された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジの個数の偶奇に基づいて、０と１とのいずれかのビット値を生成し、
前記ビット生成装置は、
前記ビット値生成部として、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジの個数の偶奇に応じて、０と１とのいずれかのビット値を出力するトグルフリップフロップ回路を備えたことを特徴とする請求項１〜５のいずれかに記載のビット生成装置。
【請求項７】
グリッチ発生部と、フィルター部と、ビット値生成部とを備えるビット生成装置が行うビット生成方法であって、
前記グリッチ発生部が、
複数のパルスを含むグリッチ信号を発生し、
第１から第Ｎ（Ｎは２以上の整数）までのＮ個の半導体素子の直列接続から構成された前記フィルター部が、
前記グリッチ発生部によって発生された前記グリッチ信号を前記第１の半導体素子から入力し、入力された前記グリッチ信号を第１から第Ｎまでの各半導体素子を通過させることにより所定のパルス幅に満たない前記パルスを除去し、所定のパルス幅に満たない前記パルスが除去された前記グリッチ信号を前記第Ｎの半導体素子から出力し、
前記ビット値生成部が、
前記フィルター部によって出力された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、０と１とのいずれかのビット値を生成すると共に、
前記ビット生成装置は、さらに、
複数の前記ビット値生成部と、変換部とを備え、
複数の前記ビット値生成部が、
前記フィルター部によって出力された同一の前記グリッチ信号を、前記フィルター部から互いに異なる信号経路を介して入力し、入力された前記グリッチ信号から前記ビット値を生成し、
前記変換部が、
複数の前記ビット値生成部によって生成された複数の前記ビット値の示す０と１との個数に基づいて、複数の前記ビット値を、０と１とのいずれかの値を示す代表ビット値に変換することを特徴とするビット生成方法。
【国際調査報告】
2012095972.tif 000022
2012095972.tif 000023
2012095972.tif 000024
2012095972.tif 000025