(57)【要約】【課題】最大構成のテストベンチ管理の一元化と、検証用プログラムに最適化されたテストベンチ構築による検証時間の効率化と、を実現する点にある。【解決手段】検証用プログラムに必要なテストベンチの構成を検証用プログラム内に記述することで、記述されたテストベンチ構成にしたがったテストベンチが最大構成のテストベンチから自動的に構築されてから実行される仕組みを構築する。【選択図】        図１
2004362094.tif 000002
【特許請求の範囲】
【請求項１】
中央制御回路（以下、ＣＰＵ）と、該ＣＰＵと電気的に接続した周辺回路とを内蔵したことを特徴とする集積回路（以下、システムＬＳＩ）と、該システムＬＳＩの検証を行うための仮想動作モデル（以下、ビヘイビュアモデル）と、該システムＬＳＩを該ビヘイビュアモデルを用いて検証するための論理検証環境（以下、テストベンチ）と、該テストベンチ上で該システムＬＳＩの検証を行う検証用プログラムと、該検証用プログラムを使用することで該システムＬＳＩの検証を行うシステムＬＳＩの論理検証方式。
【請求項２】
上記論理検証方式において、該検証用プログラムごとに必要となるテストベンチの構成を検証用プログラム内に記述し、該検証用プログラムが起動した時点でテストベンチ構成記述にしたがったテストベンチが自動的に構築されることを特徴とした、システムＬＳＩの論理検証方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路の論理検証方式に関するものである。
【０００２】
【従来の技術】
従来、システムＬＳＩの検証は、テストベンチを用いて行なわれている（例えば、特許文献１を参照）。その際、システムＬＳＩの回路構成およびテスト環境を全て網羅した最大構成のテストベンチ上で、システムＬＳＩの内部回路の検証を行っていた。もしくは検証時間を削減するため、特定の検証用プログラムに必要な最小構成のテストベンチを構築したうえで、検証を行っていた。
【０００３】
【特許文献１】
特開２０００−３１５２２１号公報
【０００４】
【発明が解決しようとする課題】
しかしながら上記従来例では、最大構成のテストベンチ上でシステムＬＳＩ内部の検証を行う場合、回路および検証環境の規模が増大するに伴い、検証に要する時間も増大してしまう、という欠点があった。
【０００５】
また、特定の検証用プログラムに必要な最小構成のテストベンチを構築して検証を行う場合、検証用プログラムの種類の増大に伴い、管理するテストベンチの種類も増大し管理が煩雑になる、という欠点があった。またこの場合、各テストベンチで検証した検証用プログラムが、最大構成のテストベンチ上でも動作保証することが困難、という欠点があった。
【０００６】
本発明の目的は、検証用プログラムに必要なテストベンチの構成を検証用プログラム内に記述することで、記述されたテストベンチ構成にしたがったテストベンチが最大構成のテストベンチから自動的に構築されてから実行される仕組みを構築することで、最大構成のテストベンチ管理の一元化と、検証用プログラムに最適化されたテストベンチ構築による検証時間の効率化と、を実現する点にある。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、本出願に係わる第１の発明は、該テスト検証用プログラムにテストベンチの構成を記述し、記述されたテストベンチの構成に従ったテストベンチを自動的に構築する手段を、有することを特徴とする。
【０００８】
【発明の実施の形態】
（第一の実施例）
図１は本発明の特徴を最もよく表す図である。
【０００９】
１０１はシステムＬＳＩ、１０２はシステムＬＳＩ１０１の回路を検証するための検証用プログラム、１０３は検証用プログラム１０２に記述されたテストベンチ構成、１０４はＣＰＵビヘイビュアモデル、１０５はＣＰＵビヘイビュアモデル１０４の電気的信号が接続されるＣＰＵバス、１０６はＣＰＵバス１０５のバス利用権を調停するバスアービター、１０７はＣＰＵバス１０５に接続されるメモリコントローラ、１０８はメモリコントローラ１０７により読書きされるメモリ、１０９はＣＰＵバス１０５に接続されるＤＭＡコントローラ、１１０〜１１２は周辺デバイスのビヘイビュアモデル、１１３〜１１５は各周辺デバイス１１０〜１１２を制御する周辺デバイスコントローラ、である。
【００１０】
検証用プログラム１０２においてＣＰＵコマンドを記述することにより、ＣＰＵコマンドはＣＰＵビヘイビュアモデル１０３に命令の実行を要求する。例えば検証用プログラムでメモリ１０８上のアドレスＡにデータＤを書き込むＣＰＵコマンドが記述された場合、要求を受けたＣＰＵビヘイビュアモデル１０４は、バスアービター１０６にバス利用権の取得要求を出す。バス利用権の調停の結果、バスアービター１０６がＣＰＵビヘイビュアモデル１０４にバス利用権を与えると、ＣＰＵビヘイビュアモデル１０４はメモリコントローラ１０７にメモリ１０８上のアドレスＡへのデータＤを書き込み要求を出す。要求を受けたメモリコントローラ１０７はメモリ１０８にアクセスし、データを書き込み、ＣＰＵビヘイビュアモデル１０４には書き込み完了を通知する。するとＣＰＵビヘイビュアモデル１０４は、メモリへの書き込み要求を行った検証用プログラム１０２に書き込み完了を通知する。
【００１１】
このように検証用プログラム１０２がＣＰＵビヘイビュアモデル１０４を使用することで、システムＬＳＩ１０１内の回路の制御が可能となる。さらに、外部の周辺デバイスのビヘイビュアモデル１１０〜１１２の制御も検証用プログラムから行うことで、周辺デバイスを動作させながら周辺デバイスコントローラの検証を行うことができる。例えば、１１１がシリアルインターフェースのビヘイビュアモデルで、１１４がシリアルインターフェースモデル１１１のコントローラである場合、シリアルインターフェースのビヘイビュアモデル１１１に様々な転送速度で動作させるための設定や、転送エラーを発生させる設定など、ビヘイビュアモデルの設定も検証用プログラム１０２から行うことでシリアルコントローラの仕様を満たす検証を行う。
【００１２】
以上説明したように、検証用プログラム１０２からＣＰＵビヘイビュアモデル１０４と周辺デバイスのビヘイビュアモデル１１０〜１１２を制御することで、システムＬＳＩ内部の周辺デバイスコントローラ１１３〜１１５の検証を行うことができる。ここで、前記シリアルコントローラ１１４の検証を行う場合、周辺デバイスのビヘイビュアモデル１１０および１１２や、周辺デバイスコントローラ１１３および１１５はテストベンチ上から削除しても検証は可能である。そこで、シリアルコントローラの検証用プログラム内に、必要なテストベンチ構成１０３を記述しておき、上記ビヘイビュアモデルおよび周辺デバイスコントローラが削除されたテストベンチが自動的に構築されてから、ビヘイビュアモデルへの制御が実行される仕組みを取り入れることで、検証時間の効率化が図れる。また、最大構成のテストベンチ構成は１つであるため、各々の周辺デバイスコントローラの検証用プログラムは常に、最大構成でも動作確認が可能であり保証される。
【００１３】
図２は、検証用プログラム１０２の記述例を示したものである。
【００１４】
２０１は検証用プログラム１０２の例を示しており、３〜６行目は使用するシステムＬＳＩの周辺デバイスコントローラ、８〜１１行目は使用する周辺デバイスのビヘイビュアモデル、１３〜３０行目は周辺デバイスコントローラのテストプログラムである。検証用プログラム１０２を実行すると、３〜１１行目でｄｅｆｉｎｅされた周辺デバイスコントローラおよび周辺デバイスのビヘイビュアモデルが検証可能な実行ファイル形式に変換され、コメントアウトされたものは削除されたテストベンチが構築されてから、１４〜３０行目のテストプログラムが実行される。この場合、例えば周辺デバイスコントローラ１１３が削除されることにより、バスアービター１０６にバス権を要求する信号が不定となり、システムＬＳＩの動作が保証されなくなる信号に関しては固定される。
【００１５】
図３は、テストベンチ構成１０３によるテストベンチ自動構築の例を示したものである。
【００１６】
３０１はテストベンチをｖｅｒｉｌｏｇで記述した例を示しており、１３行目でａｄｄ＿ｓｅｒｉａｌ＿ｃｏｎｔｒｏｌｌｅｒがｄｅｆｉｎｅされていた場合、１４行目でｓｅｒｉａｌ＿ｃｏｎｔｏｒｏｌｌｅｒがｉ＿ｓｅｒｉａｌ＿ｃｏｎｔｏｒｏｌｌｅｒとして構築される。一方、１行目でａｄｄ＿ｒｏｍ＿ｃｏｎｔｏｒｏｌｌｅｒがｄｅｆｉｎｅされていない場合、２行目のｒｏｍ＿ｃｏｎｔｏｒｏｌｌｅｒの替りに７行目のｒｏｍ＿ｃｏｎｔｒｏｌｌｅｒ＿ｅｍｐｔｙがｉ＿ｒｏｍ＿ｃｏｎｔｏｒｏｌｌｅｒとして構築される。ここで、ｒｏｍ＿ｃｏｎｔｒｏｌｌｅｒ＿ｅｍｐｔｙは、制御回路は含まれていない替りに、システムＬＳＩの動作が保証される最低限の信号を固定する。これらは周辺デバイスコントローラの例であるが、周辺デバイスのビヘイビュアモデルに関しても同様である。
【００１７】
図４は、本発明のテストベンチ自動構築のアルゴリズムの例を示したものである。
【００１８】
検証用プログラム１０２が起動されると、４０１で検証用プログラムの解析が行われ、図２で示した使用する周辺デバイス２０２、使用する周辺デバイスのビヘイビュアモデル２０３、テストプログラム２０４のパートに分割される。まず４０２で使用する周辺デバイスが選択され、使用する場合は４０３で実行形式に変換され、４０４で全ての周辺デバイスが選択されるまで繰り返される。同様に４０５で使用する周辺デバイスのビヘイビュアモデルが選択され、使用する場合は４０６で実行形式に変換され、４０７で全ての周辺デバイスのビヘイビュアモデルが選択されるまで繰り返される。４０８では実行形式に変換された周辺デバイスおよび周辺デバイスのビヘイビュアモデルにより構成されるテストベンチを構築し、４０９で構築されたテストベンチ上でテストプログラムが起動され４１０でテストプログラムが終了するまで実行される。
【００１９】
【発明の効果】
以上説明したように、本出願に係わる発明によれば、最大構成のテストベンチ管理の一元化と、検証用プログラムに最適化されたテストベンチ構築による検証時間の効率化と、を実現する点にある。
【図面の簡単な説明】
【図１】本発明の第一の実施例に係わる、システムＬＳＩの検証方式を表す図である。
【図２】検証用プログラム１０２の記述例を示したものである。
【図３】テストベンチ構成１０３によるテストベンチ自動構築の例を示したものである。
【図４】本発明のテストベンチ自動構築のアルゴリズムの例を示したものである。
【符号の説明】
１０１  システムＬＳＩ
１０２  システムＬＳＩ１０１の回路を検証するための検証用プログラム
１０３  検証用プログラム１０２に記述されたテストベンチ構成
１０４  ＣＰＵビヘイビュアモデル
１０５  ＣＰＵビヘイビュアモデル１０４の電気的信号が接続されるＣＰＵバス
１０６  ＣＰＵバス１０５のバス利用権を調停するバスアービター
１０７  ＣＰＵバス１０５に接続されるメモリコントローラ
１０８  メモリコントローラ１０７により読書きされるメモリ
１０９  ＣＰＵバス１０５に接続されるＤＭＡコントローラ
１１０〜１１２  周辺デバイスのビヘイビュアモデル
１１３〜１１５  各周辺デバイス１１０〜１１２を制御する周辺デバイスコントローラ
２０１  検証用プログラム１０２の例
３０１  テストベンチをｖｅｒｉｌｏｇで記述した例
４０１  検証用プログラムの解析
４０２  使用する周辺デバイス選択
４０３  実行形式への変換
４０４  全ての周辺デバイスが選択終了確認
４０５  使用する周辺デバイスのビヘイビュアモデル選択
４０６  実行形式への変換
４０７  使用する周辺デバイスのビヘイビュアモデル終了確認
４０８  テストベンチ構築
４０９  テストプログラム起動
４１０  テストプログラム終了確認
【図１】
2004362094.tif 000003
【図２】
2004362094.tif 000004
【図３】
2004362094.tif 000005
【図４】
2004362094.tif 000006