(57)【要約】【課題】従来は、疑似乱数発生機構の状態遷移を手作業により解析し、手作業により状態遷移図を作成描画し、作画した状態遷移図のループ長を構成する状態数をカウントすることにより周期長を計測していたが、疑似乱数発生機構の規模が大きくなるにつれ解析時間は増大し、描画は困難を極めている。【解決手段】疑似乱数発生部２２が発生した疑似乱数に対応する状態に、状態変数を順次付与し、状態変数を付与した状態相互の関連性を状態遷移解析部２３にて解析し、解析結果である状態遷移図表示情報に基づき入出力部２１にて自動描画を行う。状態遷移図の作成時間の短縮、省力化が図れる。また、状態遷移解析部２３にて周期長も計測できる。さらに、周期長計測装置として、疑似乱数発生部２２及び状態遷移解析部２３の周期長計測部をＦＰＧＡで構成することにより周期長を高速に計測できる。【選択図】図１
2008003937.tif 000002
【特許請求の範囲】
【請求項１】
疑似乱数発生部が発生した疑似乱数に対応する状態に、状態変数を順次付与し、状態変数を付与した状態相互の関連性を解析することを特徴とする疑似乱数発生機構における状態遷移解析方法。
【請求項２】
特定の疑似乱数に対応した特定の状態の状態変数は、当該特定の状態の前の状態、次の状態、結合状態の識別フラグ、グループの識別フラグを少なくとも用いて定義されている請求項１記載の疑似乱数発生機構における状態遷移解析方法。
【請求項３】
前記結合状態の識別フラグは、ループ、枝結合、始点、収束点の少なくとも４つである請求項２記載の疑似乱数発生機構における状態遷移解析方法。
【請求項４】
前記特定の状態が既に状態変数が付与された次の状態に遷移するとき、当該次の状態が前記特定の状態ではないことを条件に前記結合状態の識別フラグをループとする請求項３記載の疑似乱数発生機構における状態遷移解析方法。
【請求項５】
前記ループが共通または前記ループに枝結合している状態群を１つのグループとして１個の識別フラグを付与する請求項３又は４記載の疑似乱数発生機構における状態遷移解析方法。
【請求項６】
前記請求項１，２，３，４又は５記載の状態遷移解析方法で疑似乱数発生部の状態遷移解析を行う状態遷移解析手段と、前記状態遷移解析手段からの状態遷移図表示情報を用いて前記の状態遷移図を自動描画する描画手段とを備えたことを特徴とする疑似乱数発生機構における状態遷移解析装置。
【請求項７】
疑似乱数発生部及び周期長計測部をＦＰＧＡで構成して周期長の計測を行うことを特徴とする周期長計測装置。
【請求項８】
前記請求項１，２，３，４又は５記載の状態遷移解析方法を用いて周期長を計測する請求項７記載の周期長計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、疑似乱数を発生する疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置に係り、特に、状態遷移図を自動描画可能とするための疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置に関する。
【背景技術】
【０００２】
計算機シミュレーションの設計において活用されている状態遷移図が、理解の容易性、保守性の観点から優れているかを判定する状態遷移図解析装置及び状態遷移図解析方法は下記特許文献１で提案されているが、疑似乱数を発生する疑似乱数発生機構における周期特性の解析に活用したものは無い。
【０００３】
【特許文献１】特開２００２−３６６５８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来は、疑似乱数発生機構の状態遷移を手作業により解析し、手作業により状態遷移図を作成描画し、作画した状態遷移図のループ長を構成する状態数をカウントすることにより周期長を計測していたが、疑似乱数発生機構の規模が大きくなるにつれ解析時間は増大し、描画は困難を極めている。
【０００５】
本発明は、上記の点に鑑み、疑似乱数発生機構における状態遷移を自動解析することにより状態遷移解析の省力化並びに解析時間の短縮化を図り、自動描画することにより軽易にビジュアルな状態遷移図を作製可能な疑似乱数発生機構における状態遷移解析方法及び装置を提供することを目的とする。
【０００６】
また、疑似乱数発生機構の周期長の計測についても自動処理することにより高速計測が可能な疑似乱数発生機構における周期長計測装置を提供することをもう一つの目的とする。
【０００７】
本発明のその他の目的や新規な特徴は後述の実施の形態において明らかにする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る疑似乱数発生機構における状態遷移解析方法は、疑似乱数発生部が発生した乱数に対応する状態に、状態変数を順次付与し、状態変数を付与した状態相互の関連性を解析することを特徴としている。
【０００９】
前記疑似乱数発生機構における状態遷移解析方法において、特定の乱数に対応した特定の状態の状態変数は、当該特定の状態の前の状態、次の状態、結合状態の識別フラグ、グループの識別フラグを少なくとも用いて定義されていてもよい。
【００１０】
また、前記結合状態の識別フラグは、ループ、枝結合、始点、収束点の少なくとも４つであってもよい。
【００１１】
前記特定の状態が既に状態変数が付与された次の状態に遷移するとき、当該次の状態が前記特定の状態ではないことを条件に前記結合状態の識別フラグをループとすることができる。
【００１２】
前記ループが共通または前記ループに枝結合している状態群を１つのグループとして１個の識別フラグを付与することができる。
【００１３】
本発明に係る疑似乱数発生機構における状態遷移解析装置は、前記疑似乱数発生機構における状態遷移解析方法で、疑似乱数発生機構の状態遷移解析を行う状態遷移解析手段と、前記状態遷移解析手段からの状態遷移図表示情報を用いて前記の状態遷移図を自動描画する描画手段とを備えたことを特徴としている。
【００１４】
本発明に係る周期長計測装置は、疑似乱数発生部及び周期長計測部をＦＰＧＡで構成して周期長の計測を行うことを特徴としている。
【００１５】
前記周期長計測装置において、前記状態遷移解析方法を用いて周期長を計測してもよい。
【発明の効果】
【００１６】
本発明に係る疑似乱数発生機構における状態遷移解析方法及び装置によれば、疑似乱数発生機構における状態遷移を自動解析することにより省力化及び解析時間の短縮を図り、自動描画することにより軽易にビジュアルな状態遷移図を提供し、周期長の計測についても自動処理することにより従来の課題を解決可能である。つまり、疑似乱数発生機構の周期特性を容易に解析可能である。
【００１７】
また、本発明に係る疑似乱数発生機構における周期長計測装置によれば、計測対象が複雑な疑似乱数発生機構である場合や長周期をもつ擬似乱数発生機構である場合であっても、疑似乱数発生部及び周期長計測部を書換え可能なＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）で実現することで、高速な処理を行い、飛躍的に計測時間を短縮できることから、効率的な計測が可能となる。さらに、周期特性について、従来考えられていた周期長と異なり、かけ離れた短い周期長を持つ状態遷移図が描かれるなど新たな発見があった。さらに、将来における疑似乱数発生機構における長周期乱数発生に寄与できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態として、疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置の実施の形態を図面に従って説明する。
【００１９】
図１乃至図２１を用いて、本発明に係る疑似乱数発生機構における状態遷移解析方法及び装置を、実施の形態１にて説明する。疑似乱数発生機構は疑似乱数を発生する疑似乱数発生部及びこれに付随する機構を含むものである。また、表１において、本明細書中の用語の定義を示す。
【００２０】
【表１】
2008003937.tif 000003
なお、表１で定義された「状態」は、疑似乱数発生部の発生する疑似乱数に対応しており、状態が同じであれば、同じ疑似乱数が発生される。
【００２１】
図１は実施の形態１の状態遷移解析のための処理概要を表すブロック図であり、図２は疑似乱数発生機構が備える疑似乱数発生部（例えば、状態記憶素子としてのＦＳＲ等を複数個有して疑似乱数を発生するもの）についての状態遷移図の模式図である。
【００２２】
まず、図２について説明する。乱数は、確率的なモデルのシミュレーション、標本の無作為抽出、暗号の作成などに幅広く用いられている。真性乱数は、取り得る状態に繰り返しによる周期性が無く次の状態が予測できないという周期特性があり、理想的な乱数である。一方、疑似乱数は固有の有限な周期を持ち、一定な状態遷移を繰り返した後に同一の状態に戻る規則的な周期特性を有している。このような疑似乱数を発生する疑似乱数発生機構の場合には、図２に示すような様々な始点１１から枝１２を経由し、最終的にはループ１３に帰着し、そのループ１３内を巡回して抜け出さない。特殊な場合としてループ１３の大きさが状態１つのみになる収束点１４を形成することもある。疑似乱数発生機構については同図のような枝１２を有するループ１３の構造として状態遷移を行うことが分かっているが、細部のループ１３の構造に関する調査報告は少ない。
【００２３】
本発明においては、疑似乱数発生機構における枝を有するループ構造の解明を行うことにより構造をビジュアルな状態遷移図として描画するとともにループの周期長を計測することを目的としている。
【００２４】
図１のブロック図のように、状態遷移解析装置は、入出力部２１と、疑似乱数発生部２２と、状態遷移解析部２３と、状態遷移図描画部２４と、解析情報記憶部２５と、状態遷移図表示情報記憶部２６とを備えている。
【００２５】
入出力部２１より、ＦＳＲ（Feedback Shift Register）等選択情報２０１を疑似乱数発生部２２に設定する。この際、状態遷移図描画部２４の出力の有無を選択する描画切替信号２０２を状態遷移図描画部２４に与えることが出来る。
【００２６】
疑似乱数発生部２２はＦＳＲ等選択情報２０１に基づき疑似乱数発生回路を構成し、状態遷移解析部２３からの初期状態情報２０３による疑似乱数を発生させ一動作させて内部状態情報２０４を状態遷移解析部２３に送る。１個の状態に対して１個の疑似乱数が対応している。
【００２７】
状態遷移解析手段としての状態遷移解析部２３は、各状態の状態変数として前の状態番号、次の状態番号、結合状態の識別フラグ、グループの識別フラグの少なくとも４つの変数を持つ構造体として定義する。この状態変数をＳＴ（前・次・結合状態・グループ）という形式で表現する。
【００２８】
全ての状態変数を初期化しておき状態を遷移させながら全ての状態をチェックするまで疑似乱数発生部２２に初期状態情報２０３を付与しながら状態探索を実施する。初期状態情報２０３と疑似乱数発生部２２からの内部状態情報２０４に基づき、２つの状態相互の状態遷移を解析・判断し、次の７項目の処理を実施する。
【００２９】
（１）グループの識別フラグ（Ｇｐ番号）を付与する。
（２）当初は始点として取り扱う。
（３）自分自身に遷移するなら収束点である。
（４）すでに結合状態のチェックがあるなら結合点であり、遷移を中止し結合した点の再評価（収束点、枝結合点、ループ結合点）を実施し、結合したグループの識別フラグと同じ番号の識別フラグを設定し直す。
（５）ループを検知したならば、結合状態（ループ）を付与する。
（６）前記５つの項目による解析の結果として解析情報２０５を生成する。
（７）遷移図表示に必要な座標情報を計算して状態遷移図表示情報２０６を生成する。
【００３０】
解析情報２０５は解析情報記憶部２５に蓄積する。状態遷移図表示情報２０６は状態遷移図表示情報記憶部２６に蓄積する。
【００３１】
全ての初期状態情報２０３の解析が終了したならば、解析情報記憶部２５の解析情報２０５を集計処理して解析結果２０７を作成し入出力部２１に出力する。
【００３２】
描画切替信号２０２が有効な場合には状態遷移図描画部２４は状態遷移図表示情報記憶部２６より状態遷移図表示情報２０６を取り出し状態遷移図２０８を作成し入出力部２１に出力し、入出力部２１にて自動描画する。状態遷移図描画部２４及び入出力部２１が状態遷移図を自動描画する描画手段であると考えることができる。
【００３３】
図３乃至図２０は状態遷移解析の一例を表し、状態遷移解析部２３の解析手順の変化図である。
【００３４】
次の表２において１６進表示された１５個の状態は通常動作では記述順に巡回するものとする。それぞれの状態における次の状態へ遷移する量として直下に記述したスキップ量分遷移する場合の状態遷移を解析する。なお、スキップ量は表１のスキップコントロールによって制御できる。
【００３５】
表２                                                              
状態        １，３，７，Ｆ，Ｅ，Ｄ，Ａ，５，Ｂ，６，Ｃ，９，２，４，８
スキップ量  ３，５，５，５，４，３，４，３，５，４，２，３，４，２，２    
【００３６】
手順１．  状態変数の初期化を行う。
図３は、この実施の形態１の状態遷移解析の一例を表す図である。任意の状態番号Ｎに対し、状態変数ＳＴ（Ｎ）は（前の状態、次の状態、結合状態、Ｇｐ番号）で定義され、（NULL，NULL，０，０）に初期化される。NULLとは値が未定であることを示す。また、結合状態を表す変数は、ループが８、枝結合は４、始点は２、収束点は１と定義する。
【００３７】
手順２．  フェーズ１の準備を行う。
図４は、この実施の形態１の状態遷移解析の一例を表す図である。探索スタート状態として状態“１”をセットする。Ｇｐ番号を１にセットする。また、フェーズ監視は１である。
【００３８】
手順３．  状態１より探索開始し、表２からスキップ量３でスキップ後の状態は“Ｆ”である。
図５は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態Ｆには状態変数が付与されていない。処理として状態１は始点で状態Ｆへ枝を延長する。状態１の状態変数ＳＴ（１）は（NULL，Ｆ，２，１）となる。
【００３９】
手順４．  状態Ｆより、スキップ量５（表２参照以下同様）でスキップ後の状態は“Ｂ”である。
図６は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態Ｂには状態変数が付与されていない。処理として状態Ｆは枝結合で状態Ｂへ枝を延長する。状態Ｆの状態変数ＳＴ（Ｆ）は（１，Ｂ，４，１）となる。
【００４０】
手順５．  状態Ｂよりスキップ量５でスキップ後の状態は“４”である。
図７は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態４には状態変数が付与されていない。処理として状態Ｂは枝結合で状態４へ枝を延長する。状態Ｂの状態変数ＳＴ（Ｂ）は（Ｆ，４，４，１）となる。
【００４１】
手順６．  状態４よりスキップ量２でスキップ後の状態は“１”である。
図８は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態１はすでに状態変数が付与されている。状態１にはループはまだない。状態１は同一Ｇｐである。状態４からは自分自身への遷移ではない。処理として状態４から状態１へ結合する。状態４の状態変数ＳＴ（４）は（Ｂ，１，４，１）となる。
結合状態ループ処理をすると、状態変数ＳＴ（１）は（４，Ｆ，８，１）となる。状態変数ＳＴ（Ｆ）は（１，Ｂ，８，１）となる。状態変数ＳＴ（Ｂ）は（Ｆ，４，８，１）となる。状態変数ＳＴ（４）は（Ｂ，１，８，１）となる。ループ処理後Ｇｐ番号を２へカウントアップする。
【００４２】
手順７．  フェーズ２の準備を行う。
図９は、この実施の形態１の状態遷移解析の一例を表す図である。探索スタート状態として状態“２”をセットする。Ｇｐ番号は２にセットされている。フェーズ監視は２となる。
【００４３】
手順８．  状態２より探索開始し、スキップ量４でスキップ後の状態は“３”である。
図１０は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態３には状態変数が付与されていない。処理として状態２は始点で状態３へ枝を延長する。状態２の状態変数ＳＴ（２）は（NULL，３，２，２）となる。
【００４４】
手順９．  状態３よりスキップ量５でスキップ後の状態は“Ａ”である。
図１１は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態Ａには状態変数が付与されていない。処理として状態３は枝結合で状態Ａへ枝を延長する。状態３の状態変数ＳＴ（３）は（２，Ａ，４，２）となる。
【００４５】
手順１０．  状態Ａよりスキップ量４でスキップ後の状態は“Ｃ”である。
図１２は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態Ｃには状態変数が付与されていない。処理として状態Ａは枝結合で状態Ｃへ枝を延長する。状態Ａの状態変数ＳＴ（Ａ）は（３，Ｃ，４，２）となる。
【００４６】
手順１１．  状態Ｃよりスキップ量２でスキップ後の状態は“２”である。
図１３は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態２はすでに状態変数が付与されている。状態２にはループはまだない。状態２は同一Ｇｐである。状態Ｃからは自分自身への遷移ではない。処理として状態Ｃから状態２へ結合する。状態Ｃの状態変数ＳＴ（Ｃ）は（Ａ，２，４，２）となる。
結合状態ループ処理をすると、状態変数ＳＴ（２）は（Ｃ，３，８，２）となる。状態変数ＳＴ（３）は（２，Ａ，８，２）となる。状態変数ＳＴ（Ａ）は（３，Ｃ，８，２）となる。状態変数ＳＴ（Ｃ）は（Ａ，２，８，２）となる。ループ処理後Ｇｐ番号を３へカウントアップする。
【００４７】
手順１２．  フェーズ３の準備を行う。
図１４は、この実施の形態１の状態遷移解析の一例を表す図である。状態３、状態４は設定済みである。探索スタート状態として状態“５”をセットする。Ｇｐ番号は３にセットされている。フェーズ監視は３となる。
【００４８】
手順１３．  状態５より探索開始し、スキップ量３でスキップ後の状態は“Ｃ”である。
図１５は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態Ｃはすでに状態変数が付与されている。状態Ｃにはループが付与されている。処理として状態５は始点で状態５から状態Ｃへループと枝結合する。結合状態は｛始点２｝と｛枝結合４｝の両方を併せた６となる。状態５の状態変数ＳＴ（５）は（NULL，Ｃ，６，３）となる。状態Ｃでは、結合状態は｛ループ８｝と｛枝結合４｝の両方を併せた１２となり、状態変数ＳＴ（Ｃ）は（Ａ，２，１２，２）となる。Ｇｐ番号３の全状態を状態ＣのＧｐ番号２へ変更する。状態変数ＳＴ（５）は（NULL，Ｃ，６，２）となる。
【００４９】
手順１４．  フェーズ４の準備を行う。
図１６は、この実施の形態１の状態遷移解析の一例を表す図である。探索スタート状態として状態“６”をセットする。Ｇｐ番号は３にセットされている。フェーズ監視は４となる。
【００５０】
手順１５．  状態６より探索開始し、スキップ量４でスキップ後の状態は“４”である。
図１７は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態４はすでに状態変数が付与されている。状態４にはループが付与されている。処理として状態６は始点で状態６から状態４へループと枝結合する。結合状態は｛始点２｝と｛枝結合４｝の両方を併せた６となる。状態６の状態変数ＳＴ（６）は（NULL，４，６，３）となる。状態４はループと枝結合する。結合状態は｛ループ８｝と｛枝結合４｝の両方を併せた１２、状態変数ＳＴ（４）は（Ｂ，１，１２，１）となる。Ｇｐ番号３の全状態を状態ＣのＧｐ番号１へ変更する。状態変数ＳＴ（６）は（NULL，４，６，１）となる。
【００５１】
手順１６．  フェーズ５の準備を行う。
図１８は、この実施の形態１の状態遷移解析の一例を表す図である。探索スタート状態として状態“７”をセットする。Ｇｐ番号は３にセットされている。フェーズ監視は５となる。
【００５２】
手順１７．  状態７より探索開始し、スキップ量５でスキップ後の状態は“５”である。
図１９は、この実施の形態１の状態遷移解析の一例を表す図である。判断として状態５はすでに状態変数が付与されている。状態５にはループはまだない。状態５は同一Ｇｐではない。処理として状態７は始点で状態７から状態５へ枝結合する。結合状態は｛始点２｝と｛枝結合４｝の両方を併せた６となる。状態７の状態変数ＳＴ（７）は（NULL，５，６，３）となる。状態５は始点ではなく枝結合する。
結合状態は｛始点２｝より｛枝結合４｝へ変更する。状態変数ＳＴ（５）は（７，Ｃ，４，２）となる。Ｇｐ番号３の全状態を状態ＣのＧｐ番号２へ変更する。状態変数ＳＴ（７）は（NULL，５，６，２）となる。
【００５３】
手順１８．  フェーズ６、状態８の処理を行う。
図２０は、この実施の形態１の状態遷移解析の一例を表す図であり、手順２５までを含める。
【００５４】
手順１９．  状態８は始点で状態３へループと枝結合する。
状態８の状態変数ＳＴ（８）は（NULL，３，６，２）となる。状態変数ＳＴ（３）は（２，Ａ，１２，２）となる。
【００５５】
手順２０．  フェーズ７、状態９の処理を行う。
【００５６】
手順２１．  状態９は始点で状態８へ枝結合、状態８は始点から枝の中点へ変更する。
状態９の状態変数ＳＴ（９）は（NULL，８，６，２）となる。状態８の状態変数ＳＴ（８）は（９，３，４，２）となる。
【００５７】
手順２２．フェーズ８、状態Ｄの処理を行う。
【００５８】
手順２３．  状態Ｄは始点で状態Ｂへループと枝結合する。
状態Ｄの状態変数ＳＴ（Ｄ）は（NULL，Ｂ，６，１）となる。状態変数ＳＴ（Ｂ）は（Ｆ，４，１２，１）となる。
【００５９】
手順２４．  フェーズ９、状態Ｅの処理を行う。
【００６０】
手順２５．  状態Ｅは始点で状態Ｂへループと枝結合する。
状態Ｅの状態変数ＳＴ（Ｅ）は（NULL，Ｂ，６，１）となる。状態変数ＳＴ（Ｂ）は（Ｆ，４，１２，１）となる。
【００６１】
状態探索終了時の各状態の状態変数は次のとおりである。
状態変数ＳＴ（Ｎ）は（前の状態、次の状態、結合状態、Ｇｐ番号）となる。結合状態に表示されている数字については、４とは枝の中点、６とは始点で枝結合あり、８とはループ内の点、１２とはループ内の点で枝結合あり、ということを表している。
状態変数ＳＴ（１）は（４，Ｆ，８，１）となる。
状態変数ＳＴ（３）は（２，Ａ，１２，２）となる。
状態変数ＳＴ（７）は（NULL，５，６，２）となる。
状態変数ＳＴ（Ｆ）は（１，Ｂ，８，１）となる。
状態変数ＳＴ（Ｅ）は（NULL，Ｂ，６，１）となる。
状態変数ＳＴ（Ｄ）は（NULL，Ｂ，６，１）となる。
状態変数ＳＴ（Ａ）は（３，Ｃ，８，２）となる。
状態変数ＳＴ（５）は（７，Ｃ，４，２）となる。
状態変数ＳＴ（Ｂ）は（Ｆ，４，１２，１）となる。
状態変数ＳＴ（６）は（NULL，４，６，１）となる。
状態変数ＳＴ（Ｃ）は（Ａ，２，８，２）となる。
状態変数ＳＴ（９）は（NULL，８，６，２）となる。
状態変数ＳＴ（２）は（Ｃ，３，８，２）となる。
状態変数ＳＴ（４）は（Ｂ，１，１２，１）となる。
状態変数ＳＴ（８）は（９，３，４，２）となる。
【００６２】
描画要領及び周期長の計測要領について説明する。
図２１は上記で説明した状態遷移解析による状態遷移図の一例を表す図である。図１の状態遷移解析部２３で状態遷移を解析した結果は、解析情報２０５として解析情報記憶部２５に記憶されるとともに、状態遷移図表示情報２０６として遷移図表示情報記憶部２６に記憶される。
【００６３】
その状態遷移図表示情報２０６を基に各Ｇｐ毎に結合状態の識別フラグでループ識別子に着目してループを構成する状態変数の個数をカウントし周期長を計算する。
【００６４】
図２１の状態遷移図の描画に際して、ループ円周は半径を円周率乗し２倍したものである公式により半径を求める。
【００６５】
最大の枝の長さを計算し、半径と合わせて描画範囲に図形が収まるように全体の拡大率を段階的に変化させて中心となるループを描画する。
【００６６】
各枝は、枝の付け根より、前の状態変数を利用して始点までの長さを計算する。枝の描画始点と長さに関する情報を二次元直交座標から極座標形式に変換し描画方向を決定して線分として描画する（図１の入出力部２１にて描画を実行する）。
【００６７】
この実施の形態１によれば、次の通りの効果を得ることができる。
【００６８】
(1)  疑似乱数発生機構が備える疑似乱数発生部２２の状態遷移を自動解析することによって、状態遷移解析の省力化並びに解析時間の短縮化が可能である。
【００６９】
(2)  状態遷移解析部２３から状態遷移図表示情報２０６を得て、状態遷移図描画部２４にて入出力部２１を介し、表示器や紙面等に自動描画することが可能であり、軽易にビジュアルな状態遷移図を作製可能である。
【００７０】
(3)  特定の疑似乱数に対応した特定の状態の状態変数ＳＴを、当該特定の状態の前の状態、次の状態、結合状態の識別フラグ、グループの識別フラグを用いて定義し、この状態変数ＳＴに着目することで前記自動解析が可能である。
【００７１】
次に、疑似乱数発生機構の周期長の計測を高速に処理する周期長計測装置について図２２を参照して説明する。
【００７２】
図２２は、本発明の実施の形態２であり、疑似乱数発生機構における周期長計測装置のブロック図である。図２２に示すように、疑似乱数発生機構における周期長計測装置３２はホストコンピュータ３１と接続して、制御信号の授受及びデータの授受等を行う。
【００７３】
あらかじめ計測対象の疑似乱数発生回路３３（図１の疑似乱数発生部２２に相当）と周期長計測回路３４（図１の状態遷移解析部２３に相当）をプログラム化しＦＰＧＡに回路構成可能なデータに変換し、疑似乱数発生機構における周期長計測装置３２としてＦＰＧＡに実装する（ＦＰＧＡで構成する）ことにより、本装置を専用コンピュータとして構成する。
【００７４】
まず、疑似乱数発生回路３３を動作させるために必要な初期情報３０１をホストコンピュータ３１から疑似乱数発生回路３３へ設定する。この情報により、疑似乱数を発生させるための様々な方式制御を可能とする。また、計測要領を規定する計測要領情報３０２を周期長計測回路３４に設定する。この情報には、周期を計測開始する状態や、計測を終了する状態等を含んでいる。
【００７５】
疑似乱数発生回路３３は、初期情報に基づく発生方式制御機能（例えばＦＳＲの段数やＦＳＲの個数を幾つに設定するか等）、疑似乱数発生機能、疑似乱数発生機構状態出力機能（例えば、各ＦＳＲの数値を出力する機能等）を備えている。
【００７６】
周期長計測回路３４は、疑似乱数出力記憶機能、計測要領情報に基づく周期長計測機能、周期長出力機能を備えている。
【００７７】
次に周期長計測のフェーズに移り、ホストコンピュータ３１から疑似乱数発生回路３３に対し動作開始の命令を与えることにより、疑似乱数発生回路３３は乱数を発生するとともに周期長計測回路３４に対し常に状態情報３０３を送る。
【００７８】
周期長計測回路３４と疑似乱数発生回路３３を同期させることにより、状態情報３０３を常に監視し計測要領を規定する情報３０２に基づき周期を計測する。
【００７９】
規定した周期長計測を終了したならば、周期長情報３０４をホストコンピュータ３１へ返し、その結果表示機能により周期長情報を表示する。
【００８０】
図２３は疑似乱数発生機構を構成する疑似乱数発生回路３３の一例である。この例では、４個のＦＳＲ Ａ〜ＦＳＲ Ｄ及びクロック制御回路３３１を含み、ＦＳＲ Ｃ及びＦＳＲ Ｄの半加算出力で各ＦＳＲへクロックを供給するクロック制御回路３３１の動作が制御され、ＦＳＲ Ａ及びＦＳＲ Ｂの半加算出力が乱数出力となっている。ここで、半加算出力とは、２入力１出力回路において、次の定義により規定されるものであり、〇に＋を重ねた記号で示される。
入力１    入力２    出力
０        ０        ０
０        １        １
１        ０        １
１        １        ０
【００８１】
このようなＦＳＲを利用した疑似乱数発生回路では、ＦＳＲの段数の増加及びＦＳＲ個数の増加により周期長は一般的に長くなるとともに、乱数発生に時間を要する。特に汎用プロセッサを用いて図２３の疑似乱数発生回路３３をソフトウェアでシミュレートした場合、図２４の汎用プロセッサを用いた場合の処理説明の様に、それぞれを逐次に処理しなければならないため（ＦＳＲ Ａ〜ＦＳＲ Ｄ処理、クロック制御処理までの一連の処理が終わって計測処理が可能）、ＦＳＲ段数の増加やＦＳＲ個数の増加に比例し乱数発生に要する時間は長くなり、さらに周期長の計測も比例して時間が長くなる。
【００８２】
本発明の実施の形態２では、図２２の疑似乱数発生回路３３及び周期長計測回路３４をＦＰＧＡに実装する（ＦＰＧＡで構成する）ことにより、図２４のＦＰＧＡを用いた場合の処理説明の様に、それぞれの処理を並列化する（１クロックでＦＳＲ Ａ〜ＦＳＲ Ｄを同時に動かせる）とともに、周期長の計測も同時に行うことが可能であるため、ＦＳＲの段数の増加及びＦＳＲ個数の増加に関係なく高速に乱数を発生させることができる。特に、ＦＳＲの段数の増加やＦＳＲ個数が増えるほど汎用プロセッサで疑似乱数発生回路３３をシミュレートした場合と比較したときの差は大きくなる。
【００８３】
前記周期長の計測は、実施の形態１の状態遷移解析方法を利用でき、所定ループついて、計測スタート時の状態と一致する状態を見いだすことで周期長の計測が可能である。
【００８４】
この実施の形態２の場合、疑似乱数発生機構の周期長の計測を自動処理することにより高速計測が可能である。また、周期長計測を高速で行えるから、周期長の大きい疑似乱数発生部の設計に寄与できる。
【００８５】
以上本発明の実施の形態について説明してきたが、本発明はこれに限定されることなく請求項の記載の範囲内において各種の変形、変更が可能なことは当業者には自明であろう。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施の形態１であって、疑似乱数発生機構における状態遷移解析方法及び装置を説明するブロック図である。
【図２】実施の形態１で説明する状態遷移図模式図である。
【図３】実施の形態１の状態遷移解析の一例を表す説明図である。
【図４】実施の形態１の状態遷移解析の一例を表す説明図である。
【図５】実施の形態１の状態遷移解析の一例を表す説明図である。
【図６】実施の形態１の状態遷移解析の一例を表す説明図である。
【図７】実施の形態１の状態遷移解析の一例を表す説明図である。
【図８】実施の形態１の状態遷移解析の一例を表す説明図である。
【図９】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１０】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１１】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１２】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１３】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１４】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１５】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１６】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１７】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１８】実施の形態１の状態遷移解析の一例を表す説明図である。
【図１９】実施の形態１の状態遷移解析の一例を表す説明図である。
【図２０】実施の形態１の状態遷移解析の一例を表す説明図である。
【図２１】実施の形態１で状態遷移解析し、描画した状態遷移図である。
【図２２】本発明の実施の形態２であって、疑似乱数発生機構に対する周期長計測装置の構成例を表すブロック図である。
【図２３】実施の形態２において疑似乱数発生機構の一例を表すブロック図である。
【図２４】実施の形態２の周期長計測装置と汎用プロセッサを用いた場合との比較を表す説明図である。
【符号の説明】
【００８７】
１１  始点  
１２  枝
１３  ループ
１４  収束点
２１  入出力部
２２  疑似乱数発生部
２３  状態遷移解析部
２４  状態遷移図描画部
２５  解析情報記憶部
２６  遷移図表示情報記憶部
２０１  ＦＳＲ等選択信号
２０２  描画切替信号
２０３  初期状態情報
２０４  内部状態情報
２０５  解析情報
２０６  状態遷移図表示情報
２０７  解析結果
２０８  状態遷移図
３１  ホストコンピュータ
３２  周期長計測装置
３３  疑似乱数発生回路
３４  周期長計測回路
３０１  初期情報
３０２  計測要領情報
３０３  状態情報
３０４  周期長情報
３３１  クロック制御回路
【図１】
2008003937.tif 000004
【図２】
2008003937.tif 000005
【図３】
2008003937.tif 000006
【図４】
2008003937.tif 000007
【図５】
2008003937.tif 000008
【図６】
2008003937.tif 000009
【図７】
2008003937.tif 000010
【図８】
2008003937.tif 000011
【図９】
2008003937.tif 000012
【図１０】
2008003937.tif 000013
【図１１】
2008003937.tif 000014
【図１２】
2008003937.tif 000015
【図１３】
2008003937.tif 000016
【図１４】
2008003937.tif 000017
【図１５】
2008003937.tif 000018
【図１６】
2008003937.tif 000019
【図１７】
2008003937.tif 000020
【図１８】
2008003937.tif 000021
【図１９】
2008003937.tif 000022
【図２０】
2008003937.tif 000023
【図２１】
2008003937.tif 000024
【図２２】
2008003937.tif 000025
【図２３】
2008003937.tif 000026
【図２４】
2008003937.tif 000027