(57)【要約】【課題】発生させにくい事象が絡む複雑な動作の検証の効率化を図る。【解決手段】事象検出部４０３は、検証対象２００、及び検証対象２００に対する検証を行う検証環境１０の少なくともいずれかを監視し、検証中に検証対象２００及び検証環境１０の少なくともいずれかで発生した事象を検出する。パラメータファイル切替部４０２は、事象検出部４０３により検出された事象が特定の事象である場合に、検証環境１０が用いるパラメータファイルを切替える。【選択図】図２
2015158770.tif 000002
【特許請求の範囲】
【請求項１】
検証対象、及びパラメータが記述されたパラメータファイルを用いて前記検証対象に対する検証を行う検証環境の少なくともいずれかを監視し、検証中に前記検証対象及び前記検証環境の少なくともいずれかで発生した事象を検出する事象検出部と、
前記事象検出部により検出された事象が特定の事象である場合に、前記検証環境が用いるパラメータファイルを切替えるパラメータファイル切替部とを有することを特徴とするパラメータファイル制御装置。
【請求項２】
前記パラメータファイル切替部は、
パラメータファイルの切替えを行う事象と、切替先のパラメータファイルとが定義されている定義データを参照し、
前記事象検出部により検出された事象が前記定義データに定義されている事象である場合に、前記検証環境が用いるパラメータファイルを、前記定義データに定義されているパラメータファイルに切替えることを特徴とする請求項１に記載のパラメータファイル制御装置。
【請求項３】
検証対象、及びパラメータが記述されたパラメータファイルを用いて前記検証対象に対する検証を行う検証環境の少なくともいずれかを監視し、検証中に前記検証対象及び前記検証環境の少なくともいずれかで発生した事象を検出する事象検出部と、
前記事象検出部により事象が検出された際に、複数のパラメータファイルの中からランダムに１つのパラメータファイルを選択し、前記検証環境が用いるパラメータファイルを、選択したパラメータファイルに切替えるパラメータファイル切替部とを有することを特徴とするパラメータファイル制御装置。
【請求項４】
前記パラメータファイル切替部は、
各パラメータファイルの選択比重が定義されている選択比重データを参照して、前記複数のパラメータファイルの中からランダムに１つのパラメータファイルを選択することを特徴とする請求項３に記載のパラメータファイル制御装置。
【請求項５】
前記パラメータファイル切替部は、
前記パラメータファイル制御装置のユーザにより指定されたタイミングで、前記検証環境が用いるパラメータファイルを切替えることを特徴とする請求項１又は３に記載のパラメータファイル制御装置。
【請求項６】
コンピュータが、検証対象、及びパラメータが記述されたパラメータファイルを用いて前記検証対象に対する検証を行う検証環境の少なくともいずれかを監視し、検証中に前記検証対象及び前記検証環境の少なくともいずれかで発生した事象を検出する事象検出ステップと、
前記事象検出ステップにより検出された事象が特定の事象である場合に、前記コンピュータが、前記検証環境が用いるパラメータファイルを切替えるパラメータファイル切替ステップとを有することを特徴とするパラメータファイル制御方法。
【請求項７】
コンピュータが、検証対象、及びパラメータが記述されたパラメータファイルを用いて前記検証対象に対する検証を行う検証環境の少なくともいずれかを監視し、検証中に前記検証対象及び前記検証環境の少なくともいずれかで発生した事象を検出する事象検出ステップと、
前記事象検出ステップにより事象が検出された際に、前記コンピュータが、複数のパラメータファイルの中からランダムに１つのパラメータファイルを選択し、前記検証環境が用いるパラメータファイルを、選択したパラメータファイルに切替えるパラメータファイル切替ステップとを有することを特徴とするパラメータファイル制御方法。
【請求項８】
検証対象、及びパラメータが記述されたパラメータファイルを用いて前記検証対象に対する検証を行う検証環境の少なくともいずれかを監視し、検証中に前記検証対象及び前記検証環境の少なくともいずれかで発生した事象を検出する事象検出処理と、
前記事象検出処理により検出された事象が特定の事象である場合に、前記検証環境が用いるパラメータファイルを切替えるパラメータファイル切替処理とをコンピュータに実行させることを特徴とするプログラム。
【請求項９】
検証対象、及びパラメータが記述されたパラメータファイルを用いて前記検証対象に対する検証を行う検証環境の少なくともいずれかを監視し、検証中に前記検証対象及び前記検証環境の少なくともいずれかで発生した事象を検出する事象検出処理と、
前記事象検出処理により事象が検出された際に、複数のパラメータファイルの中からランダムに１つのパラメータファイルを選択し、前記検証環境が用いるパラメータファイルを、選択したパラメータファイルに切替えるパラメータファイル切替処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証に用いるパラメータファイルを切り替える技術に関する。
【背景技術】
【０００２】
ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などの論理回路において、バスに接続された複数のバスマスタ、バスターゲットの機能ブロックの論理検証を行う際、従来は、検証対象となるそれぞれの機能ブロックの入力に対応するシミュレーションモデルの出力について、変動するパラメータの値を決めるパラメータファイルを用いて値を決めてバスマスタからバススレーブに対してバストランザクションを発行させて検証を行っていた（例えば特許文献１）。
また、パラメータファイルの値を乱数を使用してランダムに決め、大量にテストを行うことでランダム検証を行っていた。
これらのパラメータファイルは検証者が人手で作成するか、生成ツールを作成して自動生成を行っていた（例えば特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２８３３８８号公報
【特許文献２】特開２００６−１２７１０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年ＡＳＩＣ、ＬＳＩ、ＦＰＧＡなどの論理回路は回路規模が膨大になってきており、バスに接続する機能ブロックの数も増加している。
そのため、従来の検証方式では、発生させにくい事象が絡む複雑なバストランザクションの組み合わせやタイミングを検証するには、人手で時間をかけてタイミングの調整を行ったり、ランダムにパラメータを変動させて膨大な時間をかけて検証網羅性を高めることが必要であった。
そのため、非効率的であり、検証工数の増加要因となっていた。
検証環境の動作に関する設定を行うパラメータファイルは、検証対象の回路状態に関係なく常に一定であるため、検証対象が発生させにくい状態になった場合でもその近辺の動作もバリエーションが少ない。
そのため、発生させにくい事象の検証はできたとしても、発生させにくい事象が絡む不具合検出漏れが発生することがあった。
その不具合が顕在化するのが、ＬＳＩ開発末期や製品出荷後である場合、工程遅延による製品出荷納期遅れや、顧客使用時の不具合発生により、顧客に多大なる迷惑がかかっていた。
【０００５】
この発明は、上記のような課題を解決することを主な目的としており、発生させにくい事象が絡む複雑な動作の検証の効率化を図ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るパラメータファイル制御装置は、
検証対象、及びパラメータが記述されたパラメータファイルを用いて前記検証対象に対する検証を行う検証環境の少なくともいずれかを監視し、検証中に前記検証対象及び前記検証環境の少なくともいずれかで発生した事象を検出する事象検出部と、
前記事象検出部により検出された事象が特定の事象である場合に、前記検証環境が用いるパラメータファイルを切替えるパラメータファイル切替部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、発生した事象に応じて、テスト用のパラメータを切り替えることで、発生させにくい事象が絡む複雑な動作の検証の効率化を図ることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るパラメータファイル制御装置及び検証環境を示す図。
【図２】実施の形態１に係るパラメータファイル制御装置の構成例を示す図。
【図３】実施の形態１に係る事象定義テーブルの例を示す図。
【図４】実施の形態１に係るパラメータ制御ファイルの例を示す図。
【図５】実施の形態２に係る事象定義テーブルの例を示す図。
【図６】実施の形態２に係るパラメータ制御ファイルの例を示す図。
【図７】実施の形態３に係るパラメータファイル制御装置の構成例を示す図。
【図８】実施の形態３に係るランダムパラメータ制御ファイルの例を示す図。
【図９】実施の形態４に係るパラメータファイル制御装置の構成例を示す図。
【図１０】実施の形態１〜４に係るパラメータファイル制御装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態および以降の実施の形態では、検証対象の回路をモニタして回路動作の事象を検出する機能を設け、テスト用のパラメータを必要なタイミングで切り替えることで、発生させにくい事象が絡む複雑な動作の検証の効率化を図る構成を説明する。
【００１０】
図１は、本実施の形態に係る論理検証方式を適用した構成を示すブロック図である。
【００１１】
図１において、パラメータファイル３０は、検証環境の構成や、動作設定を指示する複数のパラメータの設定値を記したファイルであり、検証環境１０はこのパラメータファイルに従って動作する。
【００１２】
バススレーブ１（２００）は、検証対象となるバススレーブの機能ブロックであり、ＬＳＩ内のシステムバス２０に接続し、バスマスタからのアクセス要求に応答するバススレーブとして動作する。
バススレーブ２（１０２）、バススレーブ３（１０３）は検証用のバススレーブモデルであり、バススレーブ１（２００）と同様にシステムバスに接続して、バススレーブとして動作する。
このバススレーブモデルは、実際のバススレーブ機能ブロックのかわりに検証用として用いるもので、パラメータファイルの設定値に従って、バスマスタからのアクセス要求に対する応答を返すものである。
【００１３】
バスマスタ１（１００）、バスマスタ２（１０１）は、システムバスに接続し、バススレーブに対して、バストランザクションを発行しアクセス要求を行うバスマスタとして動作する、検証用のバスマスタモデルである。
このバスマスタモデルは、実際のバスマスタ機能ブロックのかわりに検証用として用いるもので、検証用のバススレーブモデルと同様にパラメータファイルの設定値に従って、システムバスに接続されたバススレーブに対してバストランザクションを発行しアクセス要求を行うものである。
また、バススレーブからの応答を受け取り、バスマスタ機能としての処理を行う。
【００１４】
パラメータファイル制御装置４００は、検証対象を含む検証環境１０の内部をモニタし、パラメータファイル３０を切り替える手段である。
【００１５】
事象定義テーブル６００は、検証環境１０のモニタ結果に対し、特定の事象を定義するテーブルである。
【００１６】
パラメータ制御ファイル５００は、事象定義テーブル６００で定義した事象に対し、その事象が発生したときに次にどのパラメータファイルを使用するかを定義するファイルである。
【００１７】
図２はパラメータファイル制御装置４００の構成例を示したものである。
【００１８】
事象検出部４０３は、検証環境１０内をモニタする信号であるモニタ１、モニタ２、モニタ３を入力し、発生しにくい事象を検出する。
パラメータファイル切替部４０２は、事象検出部４０３により検出された事象により、検証環境１０が用いるパラメータファイルを切り替える。
パラメータファイル切替部４０２で選択されたパラメータファイルのうちの一つはパラメータ検証環境１０に入力され、図１の検証モデル（バスマスタ１（１００）、バスマスタ２（１０２）、バススレーブ２（１０２）、バススレーブ３（１０３））、および検証環境１０に設定される。
【００１９】
図３は、事象検出部４０３が事象を検出するための事象定義テーブル６０１であり、図１の事象定義テーブル６００の一例である。
モニタ１、モニタ２、モニタ３の組合せの事象により、パラメータファイル３０を切り替えるための条件を定義する。
つまり、事象定義テーブル６０１には、パラメータファイルの切替えを行う事象と、切替先のパラメータファイルとが定義されている。
事象定義テーブル６０１に示される検出事象は、検証環境１０で発生する事象又は検証対象２００で発生する事象である。
事象検出部４０３は、モニタ１〜３により検証環境１０又は検証対象２００を監視し、検証環境１０で発生する事象又は検証対象２００で発生する事象を検出する。
【００２０】
図４は、事象検出部４０３で検出した事象により切り替え条件を入力し、次にどのパラメータファイル３０を選択するかを定義したパラメータ制御ファイル５０１であり、この情報を元にパラメータファイル切替部４０２はパラメータの選択を行う。
なお、事象定義テーブル６０１及びパラメータ制御ファイル５０１が、定義データの例に相当する。
図４の例では、初期のパラメータファイル（番号１）はパラメータＡであり、シミュレーション中に事象検出部４０３が、切り替え条件２（番号２）の事象を検出すると、パラメータＢを選択する。
切り替え条件２以外の切り替え条件が検出されてもパラメータファイルを変更はしない。
このようにして、パラメータ制御ファイルの番号順に、事象検出部４０３が検出した事象に対応する条件により、パラメータファイルを変更していくことでシミュレーションを実行していく。
【００２１】
このように、本実施の形態では、検証対象２００および検証環境１０の回路状態、内部信号をモニタして所望の状態になったところで、検証モデルの動作を制御するパラメータファイルを網羅的に切り替えることで、発生しにくい事象を検証し、検出するだけでなく、発生しにくい事象が発生したときに他の関連する動作を組み合わせた、人手での作成、およびランダムに自動生成するだけでは困難な回路動作の検証を網羅することができ、発生しにくい事象が関連する不具合の検出漏れを効率よく防ぐことができる。
【００２２】
なお、検証対象２００については、バススレーブである必要はなく、バスマスタや、その他の機能ブロックであってもよい。
【００２３】
実施の形態２．
図５は、図１の事象定義テーブル６００におけるモニタ１にクロックなどの一定の期間、または、カウンタ回路などによる定期的に発生する事象のトグルを割り当て、その他をｄｏｎ’ｔ  ｃａｒｅとした事象定義テーブル６０２の例を示す。
また、図６は、図１のパラメータ制御ファイル５００において、切り替えるパラメータとして全てのパラメータファイルを設定したパラメータ制御ファイル５０２である。
【００２４】
本実施の形態でも、検証対象２００、検証環境１０、パラメータファイル制御装置４００の構成は、実施の形態１で示したものと同様であり、パラメータファイル制御装置４００が利用するテーブルが事象定義テーブル６０２とパラメータ制御ファイル５０２に置き換わっている点のみが異なる。
【００２５】
本実施の形態では、順次全てのパラメータファイルにて検証を行うことの自動化が可能となるため、通常の論理検証にて回路変更後の確認試験など手間のかかる繰り返しのシミュレーション実行を自動化することができ、基本的な動作の検証であっても効率化がはかれる。
【００２６】
実施の形態３．
図７は、図２で示す構成のパラメータファイル制御装置４０１の構成を変更したパラメータファイル制御装置４１１であり、パラメータファイル切替部４１２を備え、入力としてランダムパラメータ制御ファイル５１０を備えるランダム検証の構成である。
【００２７】
パラメータファイル切替部４１２は、事象検出部４０３により事象が検出された際に、複数のパラメータファイルの中からランダムに１つのパラメータファイルを選択し、検証環境１０が用いるパラメータファイルを、選択したパラメータファイルに切替える。
より具体的には、パラメータファイル切替部４１２は、ランダムパラメータ制御ファイル５１０に記載されている出現頻度（選択比重）に従って、複数のパラメータファイルの中からランダムに１つのパラメータファイルを選択する。
【００２８】
図８は、ランダムパラメータ制御ファイル５１０の例を示すものであり、５種類のパラメータファイルとそれぞれに対応するランダムに選択するときの重み付け（選択比重）を示したランダムパラメータ制御ファイルである。
この例の場合、パラメータＡの出現確率は１０％であり、パラメータＢ、Ｃ、Ｄ、Ｅそれぞれの出現頻度は３５％、３０％、５％、２０％である。
つまり、パラメータファイル切替部４１２は、パラメータＡ、Ｂ、Ｃ、Ｄ、Ｅがそれぞれ１０％、３５％、３０％、５％、２０％で出現するようにランダムにパラメータファイルの選択を行う。
パラメータファイルをランダムに選択する手段としては、従来のランダム検証で使用していた乱数発生関数による選択でもよいし、Ｓｙｓｔｅｍ  Ｖｅｒｉｌｏｇシミュレータなどの標準機能を使ってもよい。
ランダムパラメータ制御ファイル５１０は、選択比重データの例に相当する。
【００２９】
本実施の形態では、実施の形態１、２と同様に事象検出部４０３で検出した条件をトリガにしてランダムにパラメータを切り替えることができる。
これにより、各パラメータファイル切り替えの組合せが不規則に発生し、検証者の想定が困難であるようなパラメータ切り替えの組合せで発生する不具合を検出することができる。
また、事象検出部４０３の検出条件をトリガにしてパラメータを切り替えているため、実施の形態２のように検証環境１０内でランダムにタイミングを生成する回路を設けておき、その信号をモニタすることにより、ランダムなタイミングでのパラメータファイル切り替えも可能であり、ランダム性を高めることができる。
【００３０】
実施の形態４．
図９は、パラメータファイル３０を切り替えるタイミングをユーザが入力して行うパラメータファイル制御装置４２１を示す。
【００３１】
パラメータファイル切替タイミング生成部４２３は、ユーザの入力によりパラメータファイルの種類とタイミングをパラメータファイル切替部４２２に伝える。
パラメータファイル切替部４２２は、パラメータファイル切替タイミング生成部４２３から伝えられたタイミングで、パラメータファイル切替タイミング生成部４２３から指定されたパラメータファイルに切り替える。
【００３２】
ユーザはシミュレーション実行中にパラメータファイル名と切り替えタイミングを入力することにより、パラメータファイル切替タイミング生成部４２３に情報を伝達する。
パラメータファイル切替タイミング生成部４２３を備えるパラメータファイル制御装置４２１は、ユーザ入力により認識したタイミングで、指示されたパラメータファイルに切り替える。
複数のパラメータファイルを使用して長時間の検証を行うヒートラン、エージングを行う場合に、従来はシミュレーションを一旦終了し、パラメータファイルを切り替え後に再度シミュレーションを実行していたが、シミュレーションを実行しながらユーザが所望のタイミングでパラメータファイルを切り替えることが可能となり、効率化を図ることが可能である。
タイミングの指定は必須ではなく、ユーザが入力したタイミングで切り替えてもよい。
切り替えるタイミングは最速である必要もなく、ユーザ入力後、一定時間経過した後に切り替えてもよい。
【００３３】
最後に、実施の形態１〜４に示したパラメータファイル制御装置４００、４１１、４２１のハードウェア構成例を図１０を参照して説明する。
パラメータファイル制御装置４００、４１１、４２１はコンピュータであり、パラメータファイル制御装置４００、４１１、４２１の各要素をプログラムで実現することができる。
パラメータファイル制御装置４００、４１１、４２１のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５が接続されている。
【００３４】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置である。
主記憶装置９０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入出力装置９０５は、例えばマウス、キーボード、ディスプレイ装置等である。
【００３５】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、図１等に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、図１等に示す「〜部」の機能を実現するプログラムを実行する。
また、実施の形態１〜４の説明において、「〜の検出」、「〜の選択」、「〜の切替」、「〜の参照」、「〜の監視」、「〜の設定」、「〜の生成」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
【００３６】
なお、図１０の構成は、あくまでもパラメータファイル制御装置４００、４１１、４２１のハードウェア構成の一例を示すものであり、パラメータファイル制御装置４００、４１１、４２１のハードウェア構成は図１０に記載の構成に限らず、他の構成であってもよい。
【００３７】
また、実施の形態１〜４に示す手順により、本発明に係るパラメータファイル制御方法を実現可能である。
【符号の説明】
【００３８】
１０  検証環境、２０  システムバス、３０  パラメータファイル、１００  バスマスタモデル、１０１  バスマスタモデル、１０２  バススレーブモデル、１０３  バススレーブモデル、２００  検証対象、４００  パラメータファイル制御装置、４０２  パラメータファイル切替部、４０３  事象検出部、４１１  パラメータファイル制御装置、４１２  パラメータファイル切替部、４２１  パラメータファイル制御装置、４２２  パラメータファイル切替部、４２３  パラメータファイル切替タイミング生成部、５００  パラメータ制御ファイル、５０１  パラメータ制御ファイル、５０２  パラメータ制御ファイル、５１０  ランダムパラメータ制御ファイル、６００  事象定義テーブル、６０１  事象定義テーブル、６０２  事象定義テーブル。
【図１】
2015158770.tif 000003
【図２】
2015158770.tif 000004
【図３】
2015158770.tif 000005
【図４】
2015158770.tif 000006
【図５】
2015158770.tif 000007
【図６】
2015158770.tif 000008
【図７】
2015158770.tif 000009
【図８】
2015158770.tif 000010
【図９】
2015158770.tif 000011
【図１０】
2015158770.tif 000012