(57)【要約】【課題】  論理回路の妥当性をシミュレーションによって確認する為のテストデータの数は、確認内容の増加,論理回路の規模増加及び組合せ状態数の増加によって増え、シミュレーションに必要な時間が増えるという問題があった。また、論理回路が複雑さを増す事により、テストデータを作成する事も困難になるという問題があった。【解決手段】  観測点を設けた論理回路とテストデータをシミュレーションして得た実行結果から、テストデータ−観測点相関図生成機能によってテストデータ−観測点相関図を生成し、テストデータと論理回路動作部の関係を可視化する。また、相関図から抽出した特徴に基づいて、テストデータの生成を制御する。【選択図】  図１
2011150441.tif 000002
【特許請求の範囲】
【請求項１】
動作状況を取得する観測点を設けた論理回路と、確認する内容を模擬するテストデータとを、シミュレーションして論理回路の妥当性を確認する論理検証方式に於いて、シミュレーション結果から得たテストデータと観測点毎の動作状況を、論理的に意味のある順に並べて相関図で示すことを特徴とした論理検証方式。
【請求項２】
動作状況を取得する観測点を設けた論理回路と、確認する内容を模擬するテストデータとを、シミュレーションして論理回路の妥当性を確認する論理検証方式に於いて、シミュレーション結果から得たテストデータと観測点毎の動作状況から、テストデータと観測点の特徴を抽出し、特徴に基づいてテストデータを生成することを特徴とした論理検証方式。
【請求項３】
実物を作成する為の物理位置まで確定した論理回路に対して、論理回路に設けた観測点から取得した動作状況を、その観測点の消費電力値とし、消費電力値を物理的位置で並べた、請求項１及び請求項２の論理検証方式。
【請求項４】
テストデータ及び観測点の何れか若しくは両方に対し、複数を纏めて動作状況を集計した、請求項１,請求項２及び請求項３の論理検証方式。
【請求項５】
観測点の動作状況を取得する為に、動作回数を保持する手段が、底が１０の対数若しくは底が２の対数である、請求項１,請求項２及び請求項３の論理検証方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路の検証方式に関するものである。
【背景技術】
【０００２】
論理回路の妥当性をシミュレーションによって確認する場合、確認内容を模擬するテストデータを、確認内容に応じて作成していた。また、論理回路に観測点を設けて、動作状況を把握する事が行われてきた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−２３１０００
【発明の概要】
【発明が解決しようとする課題】
【０００４】
論理回路の妥当性をシミュレーションによって確認する場合に作成する、確認内容を模擬するテストデータの数は、確認内容の増加に応じて増える。さらに、論理回路の規模増加や、組合せ状態数の増加によっても、テストデータの数は増える。このテストデータの数が増える事により、シミュレーションに必要な時間が増えるという問題があった。
【０００５】
また、論理回路が複雑さを増す事により、確認内容を模擬するテストデータを作成する事も困難になるという問題があった。
【課題を解決するための手段】
【０００６】
本発明ではこれらの問題を解決するため、テストデータと観測点の相関図を生成するテストデータ−観測点相関図生成機能と、テストデータと観測点の関係からテストデータ生成を制御するテストデータ生成用パラメータ調整機能を追加する。
【０００７】
さらに、テストデータ−消費電力分布相関図生成機能,階層表示機能,及び動作回数管理機能を付加する。
【発明の効果】
【０００８】
本発明によれば、生成されるテストデータ−観測点相関図によって、テストデータと論理回路動作部の関係が可視化され、テストデータを定量的に評価する事が出来るので、効率の良いシミュレーションが可能となる。また、可視化する事により、設計者の想い通りにシミュレーション出来ているかを確認する事ができ、複雑な論理回路に対しても、テストデータを作成する事が可能となる。
【０００９】
さらに、テストデータ−消費電力分布相関図生成機能,階層表示機能及び動作回数管理機能を用いれば、それぞれ、消費電力低減に向けた検討,大きな粒度での傾向の把握及びエミュレータ使用時の効率向上が可能となる。
【図面の簡単な説明】
【００１０】
【図１】全体構成図
【図２】テストデータ−観測点 相関図例
【図３】テスト対象論理例１ 内部構成図
【図４】テスト対象論理例２ 内部構成図
【図５】シミュレーション環境例
【図６】生成用パラメータ例
【発明を実施するための形態】
【００１１】
論理回路の妥当性をシミュレーションによって確認する場合に、以下の実施例に例示する機能を有する本発明を実施する事により、効率の良いシミュレーションが可能となる。
【実施例１】
【００１２】
本発明の機能であるテストデータ−観測点相関図生成機能について、図１,図２及び図３を用いて詳細例を示す。
【００１３】
図１は本発明の一実施例であり、テストデータ−観測点相関図生成100が本発明で、テストデータ−観測点相関図200を生成する。
【００１４】
論理回路の妥当性をシミュレーションによって確認する場合、その論理回路をテスト対象論理111とし、確認する内容を模擬する為のテストデータ112と併せて、論理シミュレータ110でシミュレーションを行い、その実行結果113から妥当性を確認する。この時、テスト対象論理111に例えば信号の立上り及び立下り遷移を検出する観測点を設け、シミュレーション時に観測点の遷移回数を取得する。取得した遷移回数から、テストデータ112によってテスト対象論理111の、どの部分がどの程度動作したかを得る。
【００１５】
図２に、テストデータ−観測点相関図200の例を示す。テストデータ−観測点相関図200は、テストデータ112を例えば作成単位毎に並べたテストデータ軸201、観測点を例えば論理機能毎に並べた観測点軸202、そのときの動作確率を動作確率軸203とする、３次元のグラフである。動作確率軸203は、例えば観測点の遷移回数をシミュレーションサイクル数で除した値で、シミュレーションサイクルに占める動作割合を示す。
【００１６】
設計者が論理回路を作成する場合は、ある機能単位毎に思考し、作成する。妥当性を確認する場合は、確認する内容を検討し、それを模擬する為のテストデータ112を作成する。つまり、テスト対象論理111及びテストデータ112は無秩序に作成された物では無く、設計者の思考結果に基づいて作成した物である。したがって、テスト対象論理111及びテストデータ112のシミュレーション結果は、本発明が生成するテストデータ−観測点相関図200によって、ある特徴を持った３次元グラフとして可視化される。
【００１７】
図３にテスト対象論理111の一例であるテスト対象論理例１の内部構成を示す。テスト対象論理例１300は、例えばプロセッサの様な論理回路で、命令に応じた制御を行う論理回路である命令制御301,演算を行う演算器302及びキャッシュメモリの制御を行う論理回路であるキャッシュメモリ制御303から構成される。これら論理回路には、例えばフリップフロップが0及び1の２状態を取る場合に、0から1への状態遷移と、1から0への状態遷移を検出する観測点を設ける。命令制御301内の観測点をFF001,FF002及びFF003とし、同様に、演算器302内の観測点をFF101,FF102及びFF103、キャッシュメモリ制御303内の観測点をFF201,FF202及びFF203とする。
【００１８】
また、演算器302の妥当性確認の為にTDN001,TDN002及びTDN003を、命令制御301の妥当性確認の為にTDN101,TDN102及びTDN103を、それぞれテストデータ112として作成する。
【００１９】
テスト対象論理例１300とテストデータ112をシミュレーションして得られた実行結果113に対して、テストデータ−観測点相関図生成100を行い、図２に示すテストデータ−観測点相関図200を生成する。
【００２０】
図２の、TDN001,TDN002及びTDN003と、FF101,FF102及びFF103の交点を、領域210とし、同様に、それぞれの交点を領域211及び領域212とする。領域210には、周囲より高い『山』が現れており、動作確率が高かった事を示している。同様に、領域211及び領域212にも『山』が現れている。
【００２１】
領域210に現れた『山』により、演算器302の妥当性確認の為に作成したTDN001,TDN002及びTDN003は、設計者の想い通りに、演算器302を動作させた事が確認できる。
【００２２】
一方、領域211に現れた『山』により、命令制御301の妥当性確認の為に作成したTDN101,TDN102及びTDN103は、命令制御301を動作させた事が確認できる。しかし、領域212に現れている『山』により、キャッシュメモリ制御303も動作している事が確認できる。領域211と領域212の『山』の高さを比べると、領域212の方が高く、領域212の動作確率が領域211より高くなっている事を示している。これは、命令制御301の妥当性確認の為に作成したTDN101,TDN102及びTDN103は、設計者の想いと異なり、命令制御301よりもキャッシュメモリ制御303を動作させている事を示している。
【００２３】
つまり、本発明であるテストデータ−観測点相関図生成100から生成されるテストデータ−観測点相関図200によって、テストデータと論理回路動作部の関係が可視化され、設計者の想い通りにシミュレーション出来ているかを確認する事が可能となる。
【実施例２】
【００２４】
本発明の機能であるテストデータ生成用パラメータ調整機能について、図１,図２,図４,図５及び図６を用いて詳細例を示す。
【００２５】
図１は本発明の一実施例であり、相関関係特徴抽出101及びパラメータ調整102が本発明で、テストデータ生成103で用いる、生成用パラメータ600を調整する。
【００２６】
図４にテスト対象論理111の一例であるテスト対象論理例２の内部構成を示す。テスト対象論理例２400は、例えば多ポートのブリッジの様な論理回路で、上流側のポートをそれぞれ制御する、上流ポート１制御401,上流ポート２制御402及び上流ポート３制御403と、下流側のポートをそれぞれ制御する、下流ポート１制御404,下流ポート２制御405及び下流ポート３制御406と、データの流れを切り換える切替器407と、各ポートの状況と切替要求に応じてテスト対象論理例２400全体を制御する調停競合制御408から構成される。これら論理回路には、実施例１と同様に観測点を設ける。調停競合制御408内の観測点をFF001,FF002及びFF003とし、同様に、切替器407内の観測点をFF101,FF102及びFF103、上流ポート２制御402内の観測点をFF201,FF202及びFF203、下流ポート２制御405内の観測点をFF301,FF302及びFF303とする。
【００２７】
テスト対象論理例２400の様な論理回路の妥当性をシミュレーションによって確認する場合、図５に示すテスト環境を作成して、テスト対象論理例２400が使用される環境を、シミュレーションテストベンチ500で模擬する。シミュレーションテストベンチ500は、ポートの接続先を模擬するポート接続先モデル502と、ポート接続先モデル502を制御してシミュレーションで確認する内容を模擬するシミュレーションモデル501から構成される。テスト対象論理例２400の各ポートにポート接続先モデル502を接続して、シミュレーションテストベンチ500及びテスト対象論理例２400をテスト対象論理111とする。シミュレーションでは、テストデータ112に応じてシミュレーションモデル501を制御して、テスト対象論理例２400が使用される環境を模擬し、妥当性を確認する。
【００２８】
テスト対象論理例２400の妥当性を確認する為のテストデータ112は、図６に示す生成用パラメータ600から、テストデータ生成103によって生成する。テストデータ生成103は、生成用パラメータ600に従い乱数を用いて条件を変更し、パラメータセット１601に従ってTDN201,TDN202及びTDN203を、パラメータセット２602に従ってTDN301,TDN302及びTDN303を、それぞれテストデータ112として生成する。
【００２９】
テスト対象論理例２400の様な論理回路では、例えばポート間の組合せ状態数が多数になり、全組合せの妥当性を確認する事は、現実的では無い。この為、全組合せ中の幾つかを乱数を用いて無作為に選択し、選択した組合せについてのみ妥当性を確認する事によって、全組合せの妥当性を確認する事に代える。
【００３０】
実施例１同様に、テスト対象論理例２400とテストデータ112をシミュレーションして得られた実行結果113に対して、テストデータ−観測点相関図生成100を行い、図２に示すテストデータ−観測点相関図200を生成する。
【００３１】
図２の、TDN201,TDN202,TDN203,TDN301,TDN302及びTDN303と、FF001,FF002及びFF003の交点を、領域213とする。領域213の、TDN201,TDN202及びTDN203側と、TDN301,TDN302及びTDN303側では、『山』の高さに差がある。これは、TDN301,TDN302及びTDN303側の方が動作確率が高く、パラメータセット１601よりパラメータセット２602の方が、調停競合制御408を動作させた事を示している。
【００３２】
相関関係特徴抽出101は、テストデータ−観測点相関図200から特徴を抽出する。例えば、着目点の周囲との差分や、指定した閾値との差分などによって、領域213に現れた『山』の高低差の様な、特徴を抽出する。
【００３３】
パラメータ調整102は、相関関係特徴抽出101によって抽出した特徴に基づいて、生成用パラメータ600を調整する。例えば、相関関係特徴抽出101によって抽出された領域213の『山』の高低差から、パラメータセット２602の方が調停競合制御408を動作させる事を得て、パラメータセット２602に従ったテストデータ112を生成する。
【００３４】
これにより、論理回路の特定部分を動作させるテストデータ112を、無作為な乱数によってでは無く、テストデータ−観測点相関図200から得た特徴に基づいて、効率よく作成する事が可能となる。
【００３５】
さらに、パラメータセット１601とパラメータセット２602を比較する事により、その差異であるパケットサイズが、調停競合制御408の動作確率に影響している事が得られる。同様にして、パラメータセットの差異から、各パラメータが動作確率に与える影響を得れば、新たな妥当性を確認する内容に対しても、パラメータセットを作成する事が可能となる。
【実施例３】
【００３６】
本発明に付加される機能であるテストデータ−消費電力分布相関図生成機能について、図１及び図２を用いて詳細例を示す。
【００３７】
テストデータ−消費電力分布相関図生成機能は、テストデータ−観測点相関図生成100に付加し、観測点軸202を、論理機能毎に並べるのでは無く、例えば観測点座標の様な物理的位置で並べた、テストデータ−観測点相関図200を生成する。
【００３８】
動作確率と消費電力は比例関係にあるので、動作確率軸203を消費電力軸とすると、テストデータ−観測点相関図200は、消費電力を表す事となる。
【００３９】
実施例１及び実施例２を、例えばテスト対象論理111で作成したLSIの様な物理的位置まで確定した論理回路に対して、テストデータ−消費電力分布相関図生成機能を付加して行うと、論理機能毎では無くLSI内位置毎の消費電力分布で、それぞれ実施される。
【００４０】
実施例１及び実施例２では、テストデータ−観測点相関図生成100で生成するテストデータ−観測点相関図200の観測点軸202は、例えば論理機能毎に並べて、設計者の想い通りにシミュレーション出来ているかを確認した。
【００４１】
テストデータ−消費電力分布相関図生成機能を用いると、消費電力分布という観点での、シミュレーションでの論理回路の妥当性確認ができ、消費電力低減に向けた検討が可能となる。
【実施例４】
【００４２】
本発明に付加される機能である階層表示機能について、図１及び図２を用いて詳細例を示す。
【００４３】
階層表示機能は、テストデータ−観測点相関図生成100に付加し、テストデータ軸201及び観測点軸202の何れか若しくは両方に対して、例えば妥当性を確認する内容が同じ複数のテストデータ112の様な論理的に意味を持つ単位で纏めた、テストデータ−観測点相関図200を生成する。
【００４４】
実施例１,実施例２及び実施例３に対して、階層表示機能を付加すると、論理的意味を持つ単位で纏めたより大きな粒度で、それぞれの実施例が行われる。
【００４５】
これにより、例えば設計初期段階でテストデータ数及び観測点数が少ない様な要素の数が小さい状況でも、大きな粒度での傾向を把握する事ができる。また、設計者単位で纏めて能力を定量的に示したり、時間軸で纏めて設計進捗を管理する事も可能となる。
【実施例５】
【００４６】
本発明に付加される機能である動作回数管理機能について、図１及び図２を用いて詳細例を示す。
【００４７】
動作回数管理機能は、論理シミュレータ110及びテストデータ−観測点相関図生成100の何れか若しくは両方に付加され、動作確率軸203を、動作割合では無く、例えば観測点の遷移回数の様な動作回数とした、テストデータ−観測点相関図200を生成する。動作回数は、全く動作しなかった０と、動作した回数を自然数,底が１０の対数及び底が２の対数で表す。
【００４８】
実施例１,実施例２及び実施例３に対して、動作回数管理機能を付加すると、シミュレーションサイクル数の管理が不要となり、動作回数のみで、それぞれの実施例が行われる。
【００４９】
さらに、動作回数を底が１０の対数及び底が２の対数とすると、動作回数の管理に必要な情報量を、自然数に比べて削減する事ができる。
【００５０】
また、動作回数を底が２の対数とすると、動作回数の管理に２進数カウンタがそのまま適用できるので、シミュレーションを行う論理シミュレータ110に、例えばエミュレータの様な実際の論理回路を用いる場合に、１０進数カウンタに比べて効率良く処理できる。
【符号の説明】
【００５１】
100  テストデータ−観測点 相関図生成
101  相関関係特徴抽出
102  パラメータ調整
103  テストデータ生成
110  論理シミュレータ
111  テスト対象論理
112  テストデータ
113  実行結果
200  テストデータ−観測点 相関図
201  テストデータ軸
202  観測点軸
203  動作確率軸
210  テストデータTDN00x−観測点FF10x 領域
211  テストデータTDN10x−観測点FF00x 領域
212  テストデータTDN10x−観測点FF20x 領域
213  テストデータTDN20xTDN30x−観測点FF00x 領域
300  テスト対象論理例１
301  命令制御
302  演算器
303  キャッシュメモリ制御
400  テスト対象論理例２
401  上流ポート１制御
402  上流ポート２制御
403  上流ポート３制御
404  下流ポート１制御
405  下流ポート２制御
406  下流ポート３制御
407  切替器
408  調停競合制御
500  シミュレーションテストベンチ
501  シミュレーションモデル
502  ポート接続先モデル
600  生成用パラメータ
601  パラメータセット１
602  パラメータセット２
【図１】
2011150441.tif 000003
【図２】
2011150441.tif 000004
【図３】
2011150441.tif 000005
【図４】
2011150441.tif 000006
【図５】
2011150441.tif 000007
【図６】
2011150441.tif 000008