JP4362594B2 - 疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置 - Google Patents

疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置 Download PDF

Info

Publication number
JP4362594B2
JP4362594B2 JP2006174216A JP2006174216A JP4362594B2 JP 4362594 B2 JP4362594 B2 JP 4362594B2 JP 2006174216 A JP2006174216 A JP 2006174216A JP 2006174216 A JP2006174216 A JP 2006174216A JP 4362594 B2 JP4362594 B2 JP 4362594B2
Authority
JP
Japan
Prior art keywords
state
pseudo
random number
variable
identification flag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006174216A
Other languages
English (en)
Other versions
JP2008003937A (ja
Inventor
浩二 新井
剛 山内
Original Assignee
防衛省技術研究本部長
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 防衛省技術研究本部長 filed Critical 防衛省技術研究本部長
Priority to JP2006174216A priority Critical patent/JP4362594B2/ja
Publication of JP2008003937A publication Critical patent/JP2008003937A/ja
Application granted granted Critical
Publication of JP4362594B2 publication Critical patent/JP4362594B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Description

本発明は、疑似乱数を発生する疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置に係り、特に、状態遷移図を自動描画可能とするための疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置に関する。
計算機シミュレーションの設計において活用されている状態遷移図が、理解の容易性、保守性の観点から優れているかを判定する状態遷移図解析装置及び状態遷移図解析方法は下記特許文献1で提案されているが、疑似乱数を発生する疑似乱数発生機構における周期特性の解析に活用したものは無い。
特開2002−366586号公報
従来は、疑似乱数発生機構の状態遷移を手作業により解析し、手作業により状態遷移図を作成描画し、作画した状態遷移図のループ長を構成する状態数をカウントすることにより周期長を計測していたが、疑似乱数発生機構の規模が大きくなるにつれ解析時間は増大し、描画は困難を極めている。
本発明は、上記の点に鑑み、疑似乱数発生機構における状態遷移を自動解析することにより状態遷移解析の省力化並びに解析時間の短縮化を図り、自動描画することにより軽易にビジュアルな状態遷移図を作製可能な疑似乱数発生機構における状態遷移解析方法及び装置を提供することを目的とする。
また、疑似乱数発生機構の周期長の計測についても自動処理することにより高速計測が可能な疑似乱数発生機構における周期長計測装置を提供することをもう一つの目的とする。
本発明のその他の目的や新規な特徴は後述の実施の形態において明らかにする。
本発明の第1の態様は、疑似乱数発生機構における状態遷移解析方法である。この方法は、
疑似乱数発生部を備える疑似乱数発生機構における状態遷移を解析する方法であり、
前記疑似乱数発生部は、取り得る状態が複数あり、1個の状態に対して1個の疑似乱数が対応し、かつ疑似乱数を発生すると所定の規則に従って状態遷移するものであり、
前記疑似乱数発生部の各々の状態に対して状態変数が、当該状態の1つ前の状態の状態番号と、当該状態の1つ後の状態の状態番号と、当該状態の結合状態識別フラグと、当該状態のグループ識別フラグとを含むものとして定義され、
本方法は、
状態遷移解析部が、前記疑似乱数発生部の状態を、まだ状態変数が付与されていない任意の状態にセットする初期状態設定手順と、
前記疑似乱数発生部が、前記初期状態設定手順でセットされた状態から出発し、自己の状態に対応した疑似乱数を発生して状態遷移する動作を所定回数実行する状態遷移手順と、
前記状態遷移解析部が、前記状態遷移手順における前記疑似乱数発生部の状態遷移を解析し、前記疑似乱数発生部の各状態に状態変数を順次付与する状態変数付与手順とを所定回数繰り返すものであり、
前記状態変数付与手順は、
前記初期状態設定手順でセットした第1の状態からまだ状態変数の付与されていない第2の状態に至るまでの前記疑似乱数発生部の全状態の状態変数に同じ値のグループ識別フラグを付与するグループ識別フラグ付与処理と、
前記疑似乱数発生部が前記第2の状態から既に状態変数の付与されている第3の状態に遷移したとき、前記第2及び第3の状態が同じ状態でなく、かつ前記第2及び第3の状態の状態変数のグループ識別フラグの値が同じであることを条件に、前記第3の状態から前記第2の状態に至るまでの前記疑似乱数発生部の全状態の状態変数の結合状態識別フラグの値をループとする結合ループ処理と、
前記疑似乱数発生部が既に状態変数の付与されている状態に遷移したことを条件に、その後のグループ識別フラグ付与処理で付与するグループ識別フラグの値を、その値をグループ識別フラグとする状態変数が存在しない値に設定するグルーブ識別フラグ設定処理とを含み、
前記疑似乱数発生部が既に状態変数の付与されている状態に遷移したことを条件に、前記初期状態設定手順を再度実行するものである。
第1の態様の状態遷移解析方法において、前記疑似乱数発生部の各状態の状態変数を初期化する状態変数初期化手順をさらに含み、前記状態変数初期化手順の後に前記初期状態設定手順と前記状態遷移手順と前記状態変数付与手順とを所定回数繰り返してもよい。
また、前記状態変数付与手順は、前記疑似乱数発生部が特定の状態から当該特定の状態に遷移したとき、当該特定の状態の状態変数の結合状態識別フラグの値を収束点とする収束点処理をさらに含んでもよい。
また、前記状態変数付与手順は、前記初期状態設定手順でセットした状態の状態変数の結合状態識別フラグの値を始点を含むものとする始点処理をさらに含んでもよい。
第1の態様の状態遷移解析方法において、前記状態変数付与手順は、前記疑似乱数発生部が第4の状態から既に状態変数の付与されている第5の状態に遷移したとき、前記第4及び第5の状態の状態変数のグループ識別フラグの値が異なることを条件に、状態変数のグループ識別フラグの値が前記第4の状態の状態変数のグループ識別フラグの値と同じである全状態の状態変数のグループ識別フラグの値を、前記第5の状態の状態変数のグループ識別フラグの値と同じ値に変更するグループ識別フラグ再セット処理をさらに含んでもよい。
また、前記状態変数付与手順は、前記疑似乱数発生部が第6の状態から既に状態変数の付与されている第7の状態に遷移したとき、前記第7の状態の状態変数の結合状態識別フラグの値が始点であることを条件に、前記第7の状態の状態変数の結合状態識別フラグの値を始点から枝結合に変更する結合状態識別フラグ再セット処理をさらに含んでもよい。
あるいは、前記状態変数付与手順は、前記疑似乱数発生部が第6の状態から既に状態変数の付与されている第7の状態に遷移したとき、前記第7の状態の状態変数の結合状態識別フラグの値がループであることを条件に、前記第7の状態の状態変数の結合状態識別フラグの値をループからループ及び枝結合の両方を併せたものに変更する結合状態識別フラグ再セット処理をさらに含んでもよい。
また、前記状態変数付与手順は、前記疑似乱数発生部が第8の状態から既に状態変数の付与されている第9の状態に遷移したとき、前記第8の状態の状態変数の結合状態識別フラグの値を枝結合を含むものとする枝結合処理をさらに含んでもよい。
この場合、前記枝結合処理は、前記第8の状態が前記初期状態設定手順でセットした状態であることを条件に、前記第8の状態の状態変数の結合状態識別フラグの値を始点及び枝結合の両方を併せたものとしてもよい。
第1の態様の状態遷移解析方法において、前記状態変数付与手順は、前記疑似乱数発生部が前記初期状態設定手順でセットした状態でない第10の状態からまだ状態変数の付与されていない第11の状態に遷移したとき、前記第10の状態の状態変数の結合状態識別フラグの値を枝結合とする枝結合処理をさらに含んでもよい。
また、前記疑似乱数発生部は状態記憶素子を有してもよい。この場合、前記状態記憶素子は複数のFSRであってもよい。
第1の態様の状態遷移解析方法において、前記状態変数付与手順の後に前記状態遷移解析部が、グループ識別フラグの値が同じで結合状態識別フラグの値がループである又はループを含む状態変数の個数をカウントしてループの周期長を計算する周期長計算手順を実行してもよい。
この場合、前記状態変数付与手順の後に、結合状態識別フラグの値がループ及び枝結合の両方を併せたものである状態変数を付与されている状態から結合状態識別フラグの値が始点である状態変数を付与されている状態までの長さを計算する枝長計算手順を実行し、その後、前記周期長計算手順で計算した前記ループの周期長と前記枝長計算手順で計算した枝の長さとを基にループと枝とを含む状態遷移図を状態遷移図描画部が描画する状態遷移図描画手順を実行してもよい。
本発明の第2の態様は、疑似乱数発生機構における状態遷移解析装置である。この装置は、第1の態様の状態遷移解析方法で疑似乱数発生部の状態遷移解析を行い、グループ識別フラグの値が同じで結合状態識別フラグの値がループである又はループを含む状態変数の個数をカウントしてループの周期長を計算し、結合状態識別フラグの値がループ及び枝結合の両方を併せたものである状態変数を付与されている状態から結合状態識別フラグの値が始点である状態変数を付与されている状態までの長さを計算する状態遷移解析手段と、前記状態遷移解析手段からの状態遷移図表示情報を用いてループと枝とを含む状態遷移図を自動描画する描画手段とを備えたことを特徴としている。
本発明の第3の態様は、周期長計測装置である。この装置は、第1の態様の状態遷移解析方法で疑似乱数発生部の状態遷移解析を行い、グループ識別フラグの値が同じで結合状態識別フラグの値がループである又はループを含む状態変数の個数をカウントしてループの周期長を計算する周期長計測部を備え、前記疑似乱数発生部及び前記周期長計測部をFPGAで構成しことを特徴としている。
本発明に係る疑似乱数発生機構における状態遷移解析方法及び装置によれば、疑似乱数発生機構における状態遷移を自動解析することにより省力化及び解析時間の短縮を図り、自動描画することにより軽易にビジュアルな状態遷移図を提供し、周期長の計測についても自動処理することにより従来の課題を解決可能である。つまり、疑似乱数発生機構の周期特性を容易に解析可能である。
また、本発明に係る疑似乱数発生機構における周期長計測装置によれば、計測対象が複雑な疑似乱数発生機構である場合や長周期をもつ擬似乱数発生機構である場合であっても、疑似乱数発生部及び周期長計測部を書換え可能なFPGA(フィールド・プログラマブル・ゲート・アレイ)で実現することで、高速な処理を行い、飛躍的に計測時間を短縮できることから、効率的な計測が可能となる。さらに、周期特性について、従来考えられていた周期長と異なり、かけ離れた短い周期長を持つ状態遷移図が描かれるなど新たな発見があった。さらに、将来における疑似乱数発生機構における長周期乱数発生に寄与できる。
以下、本発明を実施するための最良の形態として、疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置の実施の形態を図面に従って説明する。
図1乃至図21を用いて、本発明に係る疑似乱数発生機構における状態遷移解析方法及び装置を、実施の形態1にて説明する。疑似乱数発生機構は疑似乱数を発生する疑似乱数発生部及びこれに付随する機構を含むものである。また、表1において、本明細書中の用語の定義を示す。
Figure 0004362594
なお、表1で定義された「状態」は、疑似乱数発生部の発生する疑似乱数に対応しており、状態が同じであれば、同じ疑似乱数が発生される。
図1は実施の形態1の状態遷移解析のための処理概要を表すブロック図であり、図2は疑似乱数発生機構が備える疑似乱数発生部(例えば、状態記憶素子としてのFSR等を複数個有して疑似乱数を発生するもの)についての状態遷移図の模式図である。
まず、図2について説明する。乱数は、確率的なモデルのシミュレーション、標本の無作為抽出、暗号の作成などに幅広く用いられている。真性乱数は、取り得る状態に繰り返しによる周期性が無く次の状態が予測できないという周期特性があり、理想的な乱数である。一方、疑似乱数は固有の有限な周期を持ち、一定な状態遷移を繰り返した後に同一の状態に戻る規則的な周期特性を有している。このような疑似乱数を発生する疑似乱数発生機構の場合には、図2に示すような様々な始点11から枝12を経由し、最終的にはループ13に帰着し、そのループ13内を巡回して抜け出さない。特殊な場合としてループ13の大きさが状態1つのみになる収束点14を形成することもある。疑似乱数発生機構については同図のような枝12を有するループ13の構造として状態遷移を行うことが分かっているが、細部のループ13の構造に関する調査報告は少ない。
本発明においては、疑似乱数発生機構における枝を有するループ構造の解明を行うことにより構造をビジュアルな状態遷移図として描画するとともにループの周期長を計測することを目的としている。
図1のブロック図のように、状態遷移解析装置は、入出力部21と、疑似乱数発生部22と、状態遷移解析部23と、状態遷移図描画部24と、解析情報記憶部25と、状態遷移図表示情報記憶部26とを備えている。
入出力部21より、FSR(Feedback Shift Register)等選択情報201を疑似乱数発生部22に設定する。この際、状態遷移図描画部24の出力の有無を選択する描画切替信号202を状態遷移図描画部24に与えることが出来る。
疑似乱数発生部22はFSR等選択情報201に基づき疑似乱数発生回路を構成し、状態遷移解析部23からの初期状態情報203による疑似乱数を発生させ一動作させて内部状態情報204を状態遷移解析部23に送る。1個の状態に対して1個の疑似乱数が対応している。
状態遷移解析手段としての状態遷移解析部23は、各状態の状態変数として前の状態番号、次の状態番号、結合状態の識別フラグ、グループの識別フラグの少なくとも4つの変数を持つ構造体として定義する。この状態変数をST(前・次・結合状態・グループ)という形式で表現する。
全ての状態変数を初期化しておき状態を遷移させながら全ての状態をチェックするまで疑似乱数発生部22に初期状態情報203を付与しながら状態探索を実施する。初期状態情報203と疑似乱数発生部22からの内部状態情報204に基づき、2つの状態相互の状態遷移を解析・判断し、次の7項目の処理を実施する。
(1)グループの識別フラグ(Gp番号)を付与する。
(2)当初は始点として取り扱う。
(3)自分自身に遷移するなら収束点である。
(4)すでに結合状態のチェックがあるなら結合点であり、遷移を中止し結合した点の再評価(収束点、枝結合点、ループ結合点)を実施し、結合したグループの識別フラグと同じ番号の識別フラグを設定し直す。
(5)ループを検知したならば、結合状態(ループ)を付与する。
(6)前記5つの項目による解析の結果として解析情報205を生成する。
(7)遷移図表示に必要な座標情報を計算して状態遷移図表示情報206を生成する。
解析情報205は解析情報記憶部25に蓄積する。状態遷移図表示情報206は状態遷移図表示情報記憶部26に蓄積する。
全ての初期状態情報203の解析が終了したならば、解析情報記憶部25の解析情報205を集計処理して解析結果207を作成し入出力部21に出力する。
描画切替信号202が有効な場合には状態遷移図描画部24は状態遷移図表示情報記憶部26より状態遷移図表示情報206を取り出し状態遷移図208を作成し入出力部21に出力し、入出力部21にて自動描画する。状態遷移図描画部24及び入出力部21が状態遷移図を自動描画する描画手段であると考えることができる。
図3乃至図20は状態遷移解析の一例を表し、状態遷移解析部23の解析手順の変化図である。
次の表2において16進表示された15個の状態は通常動作では記述順に巡回するものとする。それぞれの状態における次の状態へ遷移する量として直下に記述したスキップ量分遷移する場合の状態遷移を解析する。なお、スキップ量は表1のスキップコントロールによって制御できる。

表2
状態 1,3,7,F,E,D,A,5,B,6,C,9,2,4,8
スキップ量 3,5,5,5,4,3,4,3,5,4,2,3,4,2,2
手順1. 状態変数の初期化を行う。
図3は、この実施の形態1の状態遷移解析の一例を表す図である。任意の状態番号Nに対し、状態変数ST(N)は(前の状態、次の状態、結合状態、Gp番号)で定義され、(NULL,NULL,0,0)に初期化される。NULLとは値が未定であることを示す。また、結合状態を表す変数は、ループが8、枝結合は4、始点は2、収束点は1と定義する。
手順2. フェーズ1の準備を行う。
図4は、この実施の形態1の状態遷移解析の一例を表す図である。探索スタート状態として状態“1”をセットする。Gp番号を1にセットする。また、フェーズ監視は1である。
手順3. 状態1より探索開始し、表2からスキップ量3でスキップ後の状態は“F”である。
図5は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態Fには状態変数が付与されていない。処理として状態1は始点で状態Fへ枝を延長する。状態1の状態変数ST(1)は(NULL,F,2,1)となる。
手順4. 状態Fより、スキップ量5(表2参照以下同様)でスキップ後の状態は“B”である。
図6は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態Bには状態変数が付与されていない。処理として状態Fは枝結合で状態Bへ枝を延長する。状態Fの状態変数ST(F)は(1,B,4,1)となる。
手順5. 状態Bよりスキップ量5でスキップ後の状態は“4”である。
図7は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態4には状態変数が付与されていない。処理として状態Bは枝結合で状態4へ枝を延長する。状態Bの状態変数ST(B)は(F,4,4,1)となる。
手順6. 状態4よりスキップ量2でスキップ後の状態は“1”である。
図8は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態1はすでに状態変数が付与されている。状態1にはループはまだない。状態1は同一Gpである。状態4からは自分自身への遷移ではない。処理として状態4から状態1へ結合する。状態4の状態変数ST(4)は(B,1,4,1)となる。
結合状態ループ処理をすると、状態変数ST(1)は(4,F,8,1)となる。状態変数ST(F)は(1,B,8,1)となる。状態変数ST(B)は(F,4,8,1)となる。状態変数ST(4)は(B,1,8,1)となる。ループ処理後Gp番号を2へカウントアップする。
手順7. フェーズ2の準備を行う。
図9は、この実施の形態1の状態遷移解析の一例を表す図である。探索スタート状態として状態“2”をセットする。Gp番号は2にセットされている。フェーズ監視は2となる。
手順8. 状態2より探索開始し、スキップ量4でスキップ後の状態は“3”である。
図10は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態3には状態変数が付与されていない。処理として状態2は始点で状態3へ枝を延長する。状態2の状態変数ST(2)は(NULL,3,2,2)となる。
手順9. 状態3よりスキップ量5でスキップ後の状態は“A”である。
図11は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態Aには状態変数が付与されていない。処理として状態3は枝結合で状態Aへ枝を延長する。状態3の状態変数ST(3)は(2,A,4,2)となる。
手順10. 状態Aよりスキップ量4でスキップ後の状態は“C”である。
図12は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態Cには状態変数が付与されていない。処理として状態Aは枝結合で状態Cへ枝を延長する。状態Aの状態変数ST(A)は(3,C,4,2)となる。
手順11. 状態Cよりスキップ量2でスキップ後の状態は“2”である。
図13は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態2はすでに状態変数が付与されている。状態2にはループはまだない。状態2は同一Gpである。状態Cからは自分自身への遷移ではない。処理として状態Cから状態2へ結合する。状態Cの状態変数ST(C)は(A,2,4,2)となる。
結合状態ループ処理をすると、状態変数ST(2)は(C,3,8,2)となる。状態変数ST(3)は(2,A,8,2)となる。状態変数ST(A)は(3,C,8,2)となる。状態変数ST(C)は(A,2,8,2)となる。ループ処理後Gp番号を3へカウントアップする。
手順12. フェーズ3の準備を行う。
図14は、この実施の形態1の状態遷移解析の一例を表す図である。状態3、状態4は設定済みである。探索スタート状態として状態“5”をセットする。Gp番号は3にセットされている。フェーズ監視は3となる。
手順13. 状態5より探索開始し、スキップ量3でスキップ後の状態は“C”である。
図15は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態Cはすでに状態変数が付与されている。状態Cにはループが付与されている。処理として状態5は始点で状態5から状態Cへループと枝結合する。結合状態は{始点2}と{枝結合4}の両方を併せた6となる。状態5の状態変数ST(5)は(NULL,C,6,3)となる。状態Cでは、結合状態は{ループ8}と{枝結合4}の両方を併せた12となり、状態変数ST(C)は(A,2,12,2)となる。Gp番号3の全状態を状態CのGp番号2へ変更する。状態変数ST(5)は(NULL,C,6,2)となる。
手順14. フェーズ4の準備を行う。
図16は、この実施の形態1の状態遷移解析の一例を表す図である。探索スタート状態として状態“6”をセットする。Gp番号は3にセットされている。フェーズ監視は4となる。
手順15. 状態6より探索開始し、スキップ量4でスキップ後の状態は“4”である。
図17は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態4はすでに状態変数が付与されている。状態4にはループが付与されている。処理として状態6は始点で状態6から状態4へループと枝結合する。結合状態は{始点2}と{枝結合4}の両方を併せた6となる。状態6の状態変数ST(6)は(NULL,4,6,3)となる。状態4はループと枝結合する。結合状態は{ループ8}と{枝結合4}の両方を併せた12、状態変数ST(4)は(B,1,12,1)となる。Gp番号3の全状態を状態のGp番号1へ変更する。状態変数ST(6)は(NULL,4,6,1)となる。
手順16. フェーズ5の準備を行う。
図18は、この実施の形態1の状態遷移解析の一例を表す図である。探索スタート状態として状態“7”をセットする。Gp番号は3にセットされている。フェーズ監視は5となる。
手順17. 状態7より探索開始し、スキップ量5でスキップ後の状態は“5”である。
図19は、この実施の形態1の状態遷移解析の一例を表す図である。判断として状態5はすでに状態変数が付与されている。状態5にはループはまだない。状態5は同一Gpではない。処理として状態7は始点で状態7から状態5へ枝結合する。結合状態は{始点2}と{枝結合4}の両方を併せた6となる。状態7の状態変数ST(7)は(NULL,5,6,3)となる。状態5は始点ではなく枝結合する。
結合状態は{始点2}より{枝結合4}へ変更する。状態変数ST(5)は(7,C,4,2)となる。Gp番号3の全状態を状態のGp番号2へ変更する。状態変数ST(7)は(NULL,5,6,2)となる。
手順18. フェーズ6、状態8の処理を行う。
図20は、この実施の形態1の状態遷移解析の一例を表す図であり、手順25までを含める。
手順19. 状態8は始点で状態3へループと枝結合する。
状態8の状態変数ST(8)は(NULL,3,6,2)となる。状態変数ST(3)は(2,A,12,2)となる。
手順20. フェーズ7、状態9の処理を行う。
手順21. 状態9は始点で状態8へ枝結合、状態8は始点から枝の中点へ変更する。
状態9の状態変数ST(9)は(NULL,8,6,2)となる。状態8の状態変数ST(8)は(9,3,4,2)となる。
手順22.フェーズ8、状態Dの処理を行う。
手順23. 状態Dは始点で状態Bへループと枝結合する。
状態Dの状態変数ST(D)は(NULL,B,6,1)となる。状態変数ST(B)は(F,4,12,1)となる。
手順24. フェーズ9、状態Eの処理を行う。
手順25. 状態Eは始点で状態Bへループと枝結合する。
状態Eの状態変数ST(E)は(NULL,B,6,1)となる。状態変数ST(B)は(F,4,12,1)となる。
状態探索終了時の各状態の状態変数は次のとおりである。
状態変数ST(N)は(前の状態、次の状態、結合状態、Gp番号)となる。結合状態に表示されている数字については、4とは枝の中点、6とは始点で枝結合あり、8とはループ内の点、12とはループ内の点で枝結合あり、ということを表している。
状態変数ST(1)は(4,F,8,1)となる。
状態変数ST(3)は(2,A,12,2)となる。
状態変数ST(7)は(NULL,5,6,2)となる。
状態変数ST(F)は(1,B,8,1)となる。
状態変数ST(E)は(NULL,B,6,1)となる。
状態変数ST(D)は(NULL,B,6,1)となる。
状態変数ST(A)は(3,C,8,2)となる。
状態変数ST(5)は(7,C,4,2)となる。
状態変数ST(B)は(F,4,12,1)となる。
状態変数ST(6)は(NULL,4,6,1)となる。
状態変数ST(C)は(A,2,8,2)となる。
状態変数ST(9)は(NULL,8,6,2)となる。
状態変数ST(2)は(C,3,8,2)となる。
状態変数ST(4)は(B,1,12,1)となる。
状態変数ST(8)は(9,3,4,2)となる。
描画要領及び周期長の計測要領について説明する。
図21は上記で説明した状態遷移解析による状態遷移図の一例を表す図である。図1の状態遷移解析部23で状態遷移を解析した結果は、解析情報205として解析情報記憶部25に記憶されるとともに、状態遷移図表示情報206として遷移図表示情報記憶部26に記憶される。
その状態遷移図表示情報206を基に各Gp毎に結合状態の識別フラグでループ識別子に着目してループを構成する状態変数の個数をカウントし周期長を計算する。
図21の状態遷移図の描画に際して、ループ円周は半径を円周率乗し2倍したものである公式により半径を求める。
最大の枝の長さを計算し、半径と合わせて描画範囲に図形が収まるように全体の拡大率を段階的に変化させて中心となるループを描画する。
各枝は、枝の付け根より、前の状態変数を利用して始点までの長さを計算する。枝の描画始点と長さに関する情報を二次元直交座標から極座標形式に変換し描画方向を決定して線分として描画する(図1の入出力部21にて描画を実行する)。
この実施の形態1によれば、次の通りの効果を得ることができる。
(1) 疑似乱数発生機構が備える疑似乱数発生部22の状態遷移を自動解析することによって、状態遷移解析の省力化並びに解析時間の短縮化が可能である。
(2) 状態遷移解析部23から状態遷移図表示情報206を得て、状態遷移図描画部24にて入出力部21を介し、表示器や紙面等に自動描画することが可能であり、軽易にビジュアルな状態遷移図を作製可能である。
(3) 特定の疑似乱数に対応した特定の状態の状態変数STを、当該特定の状態の前の状態、次の状態、結合状態の識別フラグ、グループの識別フラグを用いて定義し、この状態変数STに着目することで前記自動解析が可能である。
次に、疑似乱数発生機構の周期長の計測を高速に処理する周期長計測装置について図22を参照して説明する。
図22は、本発明の実施の形態2であり、疑似乱数発生機構における周期長計測装置のブロック図である。図22に示すように、疑似乱数発生機構における周期長計測装置32はホストコンピュータ31と接続して、制御信号の授受及びデータの授受等を行う。
あらかじめ計測対象の疑似乱数発生回路33(図1の疑似乱数発生部22に相当)と周期長計測回路34(図1の状態遷移解析部23に相当)をプログラム化しFPGAに回路構成可能なデータに変換し、疑似乱数発生機構における周期長計測装置32としてFPGAに実装する(FPGAで構成する)ことにより、本装置を専用コンピュータとして構成する。
まず、疑似乱数発生回路33を動作させるために必要な初期情報301をホストコンピュータ31から疑似乱数発生回路33へ設定する。この情報により、疑似乱数を発生させるための様々な方式制御を可能とする。また、計測要領を規定する計測要領情報302を周期長計測回路34に設定する。この情報には、周期を計測開始する状態や、計測を終了する状態等を含んでいる。
疑似乱数発生回路33は、初期情報に基づく発生方式制御機能(例えばFSRの段数やFSRの個数を幾つに設定するか等)、疑似乱数発生機能、疑似乱数発生機構状態出力機能(例えば、各FSRの数値を出力する機能等)を備えている。
周期長計測回路34は、疑似乱数出力記憶機能、計測要領情報に基づく周期長計測機能、周期長出力機能を備えている。
次に周期長計測のフェーズに移り、ホストコンピュータ31から疑似乱数発生回路33に対し動作開始の命令を与えることにより、疑似乱数発生回路33は乱数を発生するとともに周期長計測回路34に対し常に状態情報303を送る。
周期長計測回路34と疑似乱数発生回路33を同期させることにより、状態情報303を常に監視し計測要領を規定する情報302に基づき周期を計測する。
規定した周期長計測を終了したならば、周期長情報304をホストコンピュータ31へ返し、その結果表示機能により周期長情報を表示する。
図23は疑似乱数発生機構を構成する疑似乱数発生回路33の一例である。この例では、4個のFSR A〜FSR D及びクロック制御回路331を含み、FSR C及びFSR Dの半加算出力で各FSRへクロックを供給するクロック制御回路331の動作が制御され、FSR A及びFSR Bの半加算出力が乱数出力となっている。ここで、半加算出力とは、2入力1出力回路において、次の定義により規定されるものであり、〇に+を重ねた記号で示される。
入力1 入力2 出力
0 0 0
0 1 1
1 0 1
1 1 0
このようなFSRを利用した疑似乱数発生回路では、FSRの段数の増加及びFSR個数の増加により周期長は一般的に長くなるとともに、乱数発生に時間を要する。特に汎用プロセッサを用いて図23の疑似乱数発生回路33をソフトウェアでシミュレートした場合、図24の汎用プロセッサを用いた場合の処理説明の様に、それぞれを逐次に処理しなければならないため(FSR A〜FSR D処理、クロック制御処理までの一連の処理が終わって計測処理が可能)、FSR段数の増加やFSR個数の増加に比例し乱数発生に要する時間は長くなり、さらに周期長の計測も比例して時間が長くなる。
本発明の実施の形態2では、図22の疑似乱数発生回路33及び周期長計測回路34をFPGAに実装する(FPGAで構成する)ことにより、図24のFPGAを用いた場合の処理説明の様に、それぞれの処理を並列化する(1クロックでFSR A〜FSR Dを同時に動かせる)とともに、周期長の計測も同時に行うことが可能であるため、FSRの段数の増加及びFSR個数の増加に関係なく高速に乱数を発生させることができる。特に、FSRの段数の増加やFSR個数が増えるほど汎用プロセッサで疑似乱数発生回路33をシミュレートした場合と比較したときの差は大きくなる。
前記周期長の計測は、実施の形態1の状態遷移解析方法を利用でき、所定ループついて、計測スタート時の状態と一致する状態を見いだすことで周期長の計測が可能である。
この実施の形態2の場合、疑似乱数発生機構の周期長の計測を自動処理することにより高速計測が可能である。また、周期長計測を高速で行えるから、周期長の大きい疑似乱数発生部の設計に寄与できる。
以上本発明の実施の形態について説明してきたが、本発明はこれに限定されることなく請求項の記載の範囲内において各種の変形、変更が可能なことは当業者には自明であろう。
本発明の実施の形態1であって、疑似乱数発生機構における状態遷移解析方法及び装置を説明するブロック図である。 実施の形態1で説明する状態遷移図模式図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1の状態遷移解析の一例を表す説明図である。 実施の形態1で状態遷移解析し、描画した状態遷移図である。 本発明の実施の形態2であって、疑似乱数発生機構に対する周期長計測装置の構成例を表すブロック図である。 実施の形態2において疑似乱数発生機構の一例を表すブロック図である。 実施の形態2の周期長計測装置と汎用プロセッサを用いた場合との比較を表す説明図である。
符号の説明
11 始点
12 枝
13 ループ
14 収束点
21 入出力部
22 疑似乱数発生部
23 状態遷移解析部
24 状態遷移図描画部
25 解析情報記憶部
26 遷移図表示情報記憶部
201 FSR等選択信号
202 描画切替信号
203 初期状態情報
204 内部状態情報
205 解析情報
206 状態遷移図表示情報
207 解析結果
208 状態遷移図
31 ホストコンピュータ
32 周期長計測装置
33 疑似乱数発生回路
34 周期長計測回路
301 初期情報
302 計測要領情報
303 状態情報
304 周期長情報
331 クロック制御回路

Claims (16)

  1. 疑似乱数発生部を備える疑似乱数発生機構における状態遷移を解析する方法であり、
    前記疑似乱数発生部は、取り得る状態が複数あり、1個の状態に対して1個の疑似乱数が対応し、かつ疑似乱数を発生すると所定の規則に従って状態遷移するものであり、
    前記疑似乱数発生部の各々の状態に対して状態変数が、当該状態の1つ前の状態の状態番号と、当該状態の1つ後の状態の状態番号と、当該状態の結合状態識別フラグと、当該状態のグループ識別フラグとを含むものとして定義され、
    本方法は、
    状態遷移解析部が、前記疑似乱数発生部の状態を、まだ状態変数が付与されていない任意の状態にセットする初期状態設定手順と、
    前記疑似乱数発生部が、前記初期状態設定手順でセットされた状態から出発し、自己の状態に対応した疑似乱数を発生して状態遷移する動作を所定回数実行する状態遷移手順と、
    前記状態遷移解析部が、前記状態遷移手順における前記疑似乱数発生部の状態遷移を解析し、前記疑似乱数発生部の各状態に状態変数を順次付与する状態変数付与手順とを所定回数繰り返すものであり、
    前記状態変数付与手順は、
    前記初期状態設定手順でセットした第1の状態からまだ状態変数の付与されていない第2の状態に至るまでの前記疑似乱数発生部の全状態の状態変数に同じ値のグループ識別フラグを付与するグループ識別フラグ付与処理と、
    前記疑似乱数発生部が前記第2の状態から既に状態変数の付与されている第3の状態に遷移したとき、前記第2及び第3の状態が同じ状態でなく、かつ前記第2及び第3の状態の状態変数のグループ識別フラグの値が同じであることを条件に、前記第3の状態から前記第2の状態に至るまでの前記疑似乱数発生部の全状態の状態変数の結合状態識別フラグの値をループとする結合ループ処理と、
    前記疑似乱数発生部が既に状態変数の付与されている状態に遷移したことを条件に、その後のグループ識別フラグ付与処理で付与するグループ識別フラグの値を、その値をグループ識別フラグとする状態変数が存在しない値に設定するグルーブ識別フラグ設定処理とを含み、
    前記疑似乱数発生部が既に状態変数の付与されている状態に遷移したことを条件に、前記初期状態設定手順を再度実行する、疑似乱数発生機構における状態遷移解析方法。
  2. 請求項1に記載の状態遷移解析方法において、前記疑似乱数発生部の各状態の状態変数を初期化する状態変数初期化手順をさらに含み、前記状態変数初期化手順の後に前記初期状態設定手順と前記状態遷移手順と前記状態変数付与手順とを所定回数繰り返す、疑似乱数発生機構における状態遷移解析方法。
  3. 請求項1又は2に記載の状態遷移解析方法において、前記状態変数付与手順は、前記疑似乱数発生部が特定の状態から当該特定の状態に遷移したとき、当該特定の状態の状態変数の結合状態識別フラグの値を収束点とする収束点処理をさらに含む、疑似乱数発生機構における状態遷移解析方法。
  4. 請求項1から3のいずれかに記載の状態遷移解析方法において、前記状態変数付与手順は、前記初期状態設定手順でセットした状態の状態変数の結合状態識別フラグの値を始点を含むものとする始点処理をさらに含む、疑似乱数発生機構における状態遷移解析方法。
  5. 請求項1から4のいずれかに記載の状態遷移解析方法において、前記状態変数付与手順は、前記疑似乱数発生部が第4の状態から既に状態変数の付与されている第5の状態に遷移したとき、前記第4及び第5の状態の状態変数のグループ識別フラグの値が異なることを条件に、状態変数のグループ識別フラグの値が前記第4の状態の状態変数のグループ識別フラグの値と同じである全状態の状態変数のグループ識別フラグの値を、前記第5の状態の状態変数のグループ識別フラグの値と同じ値に変更するグループ識別フラグ再セット処理をさらに含む、疑似乱数発生機構における状態遷移解析方法。
  6. 請求項1から5のいずれかに記載の状態遷移解析方法において、前記状態変数付与手順は、前記疑似乱数発生部が第6の状態から既に状態変数の付与されている第7の状態に遷移したとき、前記第7の状態の状態変数の結合状態識別フラグの値が始点であることを条件に、前記第7の状態の状態変数の結合状態識別フラグの値を始点から枝結合に変更する結合状態識別フラグ再セット処理をさらに含む、疑似乱数発生機構における状態遷移解析方法。
  7. 請求項1から5のいずれかに記載の状態遷移解析方法において、前記状態変数付与手順は、前記疑似乱数発生部が第6の状態から既に状態変数の付与されている第7の状態に遷移したとき、前記第7の状態の状態変数の結合状態識別フラグの値がループであることを条件に、前記第7の状態の状態変数の結合状態識別フラグの値をループからループ及び枝結合の両方を併せたものに変更する結合状態識別フラグ再セット処理をさらに含む、疑似乱数発生機構における状態遷移解析方法。
  8. 請求項1から7のいずれかに記載の状態遷移解析方法において、前記状態変数付与手順は、前記疑似乱数発生部が第8の状態から既に状態変数の付与されている第9の状態に遷移したとき、前記第8の状態の状態変数の結合状態識別フラグの値を枝結合を含むものとする枝結合処理をさらに含む、疑似乱数発生機構における状態遷移解析方法。
  9. 請求項8に記載の状態遷移解析方法において、前記枝結合処理は、前記第8の状態が前記初期状態設定手順でセットした状態であることを条件に、前記第8の状態の状態変数の結合状態識別フラグの値を始点及び枝結合の両方を併せたものとする、疑似乱数発生機構における状態遷移解析方法。
  10. 請求項1から9のいずれかに記載の状態遷移解析方法において、前記状態変数付与手順は、前記疑似乱数発生部が前記初期状態設定手順でセットした状態でない第10の状態からまだ状態変数の付与されていない第11の状態に遷移したとき、前記第10の状態の状態変数の結合状態識別フラグの値を枝結合とする枝結合処理をさらに含む、疑似乱数発生機構における状態遷移解析方法。
  11. 請求項1から10のいずれかに記載の状態遷移解析方法において、前記疑似乱数発生部は状態記憶素子を有する、疑似乱数発生機構における状態遷移解析方法。
  12. 請求項11に記載の状態遷移解析方法において、前記状態記憶素子が複数のFSRである、疑似乱数発生機構における状態遷移解析方法。
  13. 請求項1から12のいずれかに記載の状態遷移解析方法において、前記状態変数付与手順の後に前記状態遷移解析部が、グループ識別フラグの値が同じで結合状態識別フラグの値がループである又はループを含む状態変数の個数をカウントしてループの周期長を計算する周期長計算手順を実行する、疑似乱数発生機構における状態遷移解析方法。
  14. 請求項13に記載の状態遷移解析方法において、前記状態変数付与手順の後に、結合状態識別フラグの値がループ及び枝結合の両方を併せたものである状態変数を付与されている状態から結合状態識別フラグの値が始点である状態変数を付与されている状態までの長さを計算する枝長計算手順を実行し、その後、前記周期長計算手順で計算した前記ループの周期長と前記枝長計算手順で計算した枝の長さとを基にループと枝とを含む状態遷移図を状態遷移図描画部が描画する状態遷移図描画手順を実行する、疑似乱数発生機構における状態遷移解析方法。
  15. 前記請求項1から12のいずれかに記載の状態遷移解析方法で疑似乱数発生部の状態遷移解析を行い、グループ識別フラグの値が同じで結合状態識別フラグの値がループである又はループを含む状態変数の個数をカウントしてループの周期長を計算し、結合状態識別フラグの値がループ及び枝結合の両方を併せたものである状態変数を付与されている状態から結合状態識別フラグの値が始点である状態変数を付与されている状態までの長さを計算する状態遷移解析手段と、前記状態遷移解析手段からの状態遷移図表示情報を用いてループと枝とを含む状態遷移図を自動描画する描画手段とを備えたことを特徴とする疑似乱数発生機構における状態遷移解析装置。
  16. 前記請求項1から12のいずれかに記載の状態遷移解析方法で疑似乱数発生部の状態遷移解析を行い、グループ識別フラグの値が同じで結合状態識別フラグの値がループである又はループを含む状態変数の個数をカウントしてループの周期長を計算する周期長計測部を備え、前記疑似乱数発生部及び前記周期長計測部をFPGAで構成しことを特徴とする周期長計測装置。
JP2006174216A 2006-06-23 2006-06-23 疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置 Active JP4362594B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006174216A JP4362594B2 (ja) 2006-06-23 2006-06-23 疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006174216A JP4362594B2 (ja) 2006-06-23 2006-06-23 疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置

Publications (2)

Publication Number Publication Date
JP2008003937A JP2008003937A (ja) 2008-01-10
JP4362594B2 true JP4362594B2 (ja) 2009-11-11

Family

ID=39008254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006174216A Active JP4362594B2 (ja) 2006-06-23 2006-06-23 疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置

Country Status (1)

Country Link
JP (1) JP4362594B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123693A (ja) * 2009-12-11 2011-06-23 Netcomsec Co Ltd 整数系列の周期判定方法、周期判定装置及び周期判定プログラム
JP6701207B2 (ja) * 2015-08-24 2020-05-27 株式会社日立製作所 情報処理システム

Also Published As

Publication number Publication date
JP2008003937A (ja) 2008-01-10

Similar Documents

Publication Publication Date Title
US9754396B2 (en) Event chain visualization of performance data
US20050097536A1 (en) Method of graphically displaying and manipulating multiple workflow run instances of a software application
CN108153670A (zh) 一种接口测试方法、装置及电子设备
CN104750731B (zh) 一种获取完整用户画像的方法及装置
JP2004514146A (ja) デジタルオシロスコープまたは同様の機器におけるデータ処理のための処理ウエッブエディタ
CN110705690B (zh) 基于生成模型和元学习优化方法的连续学习方法及系统
CN108057249A (zh) 一种业务数据处理方法和装置
CN102222043A (zh) 一种测试方法和测试装置
US20150033172A1 (en) Timeline Charts with Subgraphs
CN110222407A (zh) 一种bim数据的融合方法及装置
JP4362594B2 (ja) 疑似乱数発生機構における状態遷移解析方法及び装置並びに周期長計測装置
JP2015046082A (ja) シミュレーション装置およびシミュレーションプログラム
CN111985014B (zh) 一种基于标准图集的建模方法及系统
US20180101294A1 (en) Information generating system, information generating device, information generating method, and information generating program
US7131087B2 (en) Multi-cycle path analyzing method
JP5996150B2 (ja) プログラマブル表示器及び作画ソフトウェア
US9251609B1 (en) Timelined spider diagrams
CN105095093A (zh) 一种智能终端性能测试方法及系统
CN105515551A (zh) 一种具有任意波编辑功能的信号发生器
JP2010224972A (ja) シミュレーションシステム
Friske et al. Improving test coverage for UML state machines using transition instrumentation
EP3025251A1 (en) Event chain visualization of performance data
Biggs et al. Rapid data processing pipeline development using openrtm-aist
Siegmund et al. Interoperability of non-functional requirements in complex systems
JP2006285835A (ja) 消費電力評価方法および消費電力評価システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090715

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350