(57)【要約】【課題】  テストベンチの検証精度の低下を防止する。【解決手段】  Ｉ／Ｆバスモデル５と６のいずれが回路２の記憶媒体インタフェースを介して回路２の外部の接続先のメモリにアクセスしているかは、記憶媒体バスモデル４では判断できない。そこで、アービタ２ａの内部信号からこれを判断し、期待値関数群部８、データ生成関数群部９では、この判断結果から、現在、記憶媒体バスモデル４にアクセスしているＩ／Ｆバスモデル５又は６の機能に対応して、回路２の検証に必要な期待値などのデータを生成する。【選択図】    図１
2005250633.tif 000002
【特許請求の範囲】
【請求項１】
外部の接続先に接続する共通インタフェースにアクセスする複数の機能間のアービトレーションを行なうアービタを備えている回路の動作を検証するテストベンチシステムにおいて、
前記回路のＣＰＵインタフェースに対応したバスファンクションモデルであるＣＰＵバスモデルと、
前記共通インタフェースに対応したバスファンクションモデルであるバスモデルと、
前記アービタの内部信号から前記共通インタフェースにアクセスしているのがアービタにより前記複数の機能のうちいずれが選択されているかを判断する手段と、
前記判断に基づいて前記機能ごとの前記検証に必要なデータを選択する手段と、
を備えていることを特徴とするテストベンチシステム。
【請求項２】
前記いずれかの機能が前記アービタで判別できない複数の機能を判別する手段をさらに備え、
前記データの選択は、前記アービタの選択及び前記アービタで判別できない複数の機能の判別に基づいて行う、
ことを特徴とする請求項１に記載のテストベンチシステム。
【請求項３】
前記共通インタフェースに対応したバスモデルは、前記接続先を記憶媒体とする記憶媒体インタフェースに対応した記憶媒体インタフェースである、ことを特徴とする請求項１又は２に記載のテストベンチシステム。
【請求項４】
外部の接続先に接続する共通インタフェースにアクセスする複数の機能間のアービトレーションを行なうアービタを備えている回路の動作を検証するテストベンチをコンピュータに実行させるコンピュータに読み取り可能なプログラムにおいて、
前記回路のＣＰＵインタフェースに対応したバスファンクションモデルであるＣＰＵバスモデルを構築する手段と、
前記共通インタフェースに対応したバスファンクションモデルであるバスモデルを構築する手段と、
前記アービタの内部信号から前記共通インタフェースにアクセスしているのがアービタにより前記複数の機能のうちいずれが選択されているかを判断する手段と、
前記判断に基づいて機能ごとの前記検証に必要なデータを選択する手段と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項５】
前記いずれかの機能が前記アービタで判別できない複数の機能を判別する手段をさらにコンピュータに実行させ、
前記データの選択は、前記アービタの選択及び前記アービタで判別できない複数の機能の判別に基づいて行う、
ことを特徴とする請求項４に記載のプログラム。
【請求項６】
コンピュータに読み取り可能なプログラムを記憶している記憶媒体において、
前記プログラムは請求項４又は５に記載のプログラムであること、を特徴とする記憶媒体。
【請求項７】
外部の接続先に接続する共通インタフェースにアクセスする複数の機能間のアービトレーションを行なうアービタを備えている回路の動作を検証する回路検証方法において、
前記検証に請求項１〜３のいずれかの一に記載のテストベンチシステムを用い、
前記回路は、回路合成、レイアウトを行なう際に当該回路の内部信号名が当該回路ごとに変わらないように回路情報を作成したものを用いる、
ことを特徴とする回路検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部の記憶媒体に接続する記憶媒体インタフェースにアクセスする複数の機能間のアービトレーションを行なうアービタを備えている回路の動作を検証するテストベンチシステム及び回路検証方法、このテストベンチシステムを構築するプログラム、並びに、このプログラムを記憶している記憶媒体に関する。
【背景技術】
【０００２】
回路のテストベンチシステムについては、例えば、特許文献１に開示の技術が知られている。
【０００３】
【特許文献１】特開２００２−２３００７３公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、ＬＳＩ（大規模集積回路）は、動作速度は高速化し、微細加工技術の向上により多くの機能が、１つのＬＳＩに集積される方向にある。そのため、このようなＬＳＩを構成するＡＳＩＣ（Application Specified IC）を検証するテストベンチの技術向上、精度向上、生産性向上などは重要な課題になっている。
【０００５】
このようなテストベンチの技術向上、精度向上、生産性向上のため、まず、ＡＳＩＣにバス接続されるバスモデルと各種設定を行うテストシナリオを別々に取り扱うことで、テストベンチの生産性や再利用性を向上させるとともに、複数のデータパスの存在するＡＳＩＣにおける同時動作の検証を行えるようにすることが考えられる。
【０００６】
このとき、ＡＳＩＣが外部のメモリなどの記憶媒体にアクセスするための共通の記憶媒体インタフェース（I／Ｆ）（メモリI／Ｆなど）は、コマンド情報により動作が決まり、データをメモリなどに読み書きをする場合は、指定したアドレスに対するデータのやり取りを行なうのが通常である。そのため、ＡＳＩＣのどの機能や、どのI／Ｆからのデータ転送なのかを知ることができない。
【０００７】
そこで、アクセスするメモリのアドレス空間を機能ごとに割り振ることにより、どこからのアクセスかを確認し、データのリード動作なら、対応するテストシナリオの管理する、ＡＳＩＣに入力するデータを生成するためのデータ生成関数を呼び出し、データのライト動作なら、対応するテストシナリオの管理する、ＡＳＩＣから出力されるデータの期待値を生成する期待値関数を呼び出すようにする。これにより並列動作検証ができるが、この方法では、複数の機能、I／Ｆが同一アドレス空間を並列にアクセスする検証はできず、検証精度は低下してしまうという不具合がある。
【０００８】
本発明の目的は、テストベンチの検証精度の低下を防止することである。
【０００９】
別の課題として、ＡＳＩＣにおいては、その製造工程のＲＴＬ段階、合成後の仮想段階、レイアウト後の段階のそれぞれの回路情報で、内部回路の信号名が、ＥＤＡツールや、ＡＳＩＣを製造供給するベンダーにより異なることが現状である。
【００１０】
そうすると、同種のＡＳＩＣにおいて、機能が同じでも、ＡＳＩＣ開発の各ステップや、ＡＳＩＣを供給するベンダーの違いにより、ＡＳＩＣの検証に用いるテストベンチシステムを変更していくことが必要になり、テストベンチシステムの流用性、開発効率がわるくなるという不具合もある。
【００１１】
本発明の別の目的は、回路の検証における流用性、開発効率の低下を防止することである。
【課題を解決するための手段】
【００１２】
本発明は、外部の接続先に接続する共通インタフェースにアクセスする複数の機能間のアービトレーションを行なうアービタを備えている回路の動作を検証するテストベンチシステムにおいて、前記回路のＣＰＵインタフェースに対応したバスファンクションモデルであるＣＰＵバスモデルと、前記共通インタフェースに対応したバスファンクションモデルであるバスモデルと、前記アービタの内部信号から前記共通インタフェースにアクセスしているのがアービタにより前記複数の機能のうちいずれが選択されているかを判断する手段と、前記判断に基づいて前記機能ごとの前記検証に必要なデータを選択する手段と、
を備えていることを特徴とするテストベンチシステムである。
【００１３】
別の面から見た本発明は、外部の接続先に接続する共通インタフェースにアクセスする複数の機能間のアービトレーションを行なうアービタを備えている回路の動作を検証するテストベンチをコンピュータに実行させるコンピュータに読み取り可能なプログラムにおいて、前記回路のＣＰＵインタフェースに対応したバスファンクションモデルであるＣＰＵバスモデルを構築する手段と、前記共通インタフェースに対応したバスファンクションモデルであるバスモデルを構築する手段と、前記アービタの内部信号から前記共通インタフェースにアクセスしているのがアービタにより前記複数の機能のうちいずれが選択されているかを判断する手段と、前記判断に基づいて機能ごとの前記検証に必要なデータを選択する手段と、をコンピュータに実行させることを特徴とするプログラムである。
【００１４】
別の面から見た本発明は、外部の接続先に接続する共通インタフェースにアクセスする複数の機能間のアービトレーションを行なうアービタを備えている回路の動作を検証する回路検証方法において、前記検証に請求項１〜３のいずれかの一に記載のテストベンチシステムを用い、前記回路は、回路合成、レイアウトを行なう際に当該回路の内部信号名が当該回路ごとに変わらないように回路情報を作成したものを用いる、ことを特徴とする回路検証方法である。
【発明の効果】
【００１５】
本発明のテストベンチシステム及びプログラムによれば、アービタにより現在選択されている機能を検出し、共通インタフェースからいずれの機能が選択されているか不明である場合でも、必要なデータを選択して検証を行なうことができるので、例えば、回路の外部の接続先が記憶媒体である場合に、アービタが選択する機能の種類ごとにアドレス空間を割り振ることなく、同一アドレス空間に並列にアクセスする検証を実行することができ、検証精度の低下を防止することができる。
【００１６】
本発明の回路検証方法によれば、共通のテストベンチシステムで同種の回路の検証ができ、流用性、開発効率の低下を防ぐことができる。
【発明を実施するための最良の形態】
【００１７】
発明を実施するための最良の一形態について説明する。
【００１８】
図１は、本実施の形態のテストベンチシステム１の機能ブロック図である。
【００１９】
テストベンチシステム１は、回路２の動作を検証する装置である。回路２は、この例ではＡＳＩＣであり、データパスを複数備え、これらは各々同時に動作可能であり、メモリインタフェースを介して接続される回路２の外部の接続先である記憶媒体、この例では図示しないメモリへの回路２のアクセスは、アービタ２ａによってアービトレーションされる。
【００２０】
テストベンチシステム１は、回路２のＣＰＵインタフェースに対応したバスファンクションモデルであるＣＰＵバスモデル３と、回路２のメモリインタフェースなどの記憶媒体インタフェースに対応したバスファンクションモデルである記憶媒体バスモデル４と、回路２の他のインタフェースにそれぞれ対応したバスファンクションモデルであるインタフェース（Ｉ／Ｆ）バスモデル５，６と、を備えている。記憶媒体インタフェースはＩ／Ｆバスモデル５，６のいずれの機能を用いる場合においても、外部のメモリにアクセスするための共通インタフェースとなる。この例では、Ｉ／Ｆバスモデル５，６は、回路のデータ入力インタフェースや、回路のデータ出力インタフェースに対応したバスファンクションモデルとしてきのうすることができる。
【００２１】
テストシナリオＧ１，Ｇ２は、それぞれＩ／Ｆバスモデル５，６に対応し、回路２に所定のテスト動作を実行させるための指示を出す。この例では、テストシナリオＧ１，Ｇ２は、ＣＰＵバスモデル３にそれぞれ起動をかけ、回路２の設定、動作起動を行う。また、各Ｉ／Ｆバスモデル５，６の動作設定、動作起動も、テストシナリオＧ１，Ｇ２が行う。
【００２２】
ＩＤ管理関数部７は、記憶媒体バスモデル４からコマンド情報やアドレス情報を受け、回路２内のアービタ２ａの内部信号を監視し、現時点でのアービタ２ａの選択先がＩ／Ｆバスモデル５，６のいずれであるかをＩＤ認識する。
【００２３】
期待値関数群部８は、Ｉ／Ｆバスモデル５，６のＩＤと関連付けて、テストシナリオＧ２が管理する期待値関数を登録している。期待値関数は、テストベンチで回路２から出力されるデータの期待値を生成する関数である。
【００２４】
データ生成関数群部９は、Ｉ／Ｆバスモデル５，６のＩＤと関連付けて、テストシナリオＧ１が管理するデータ生成関数を登録している。
【００２５】
次に、テストベンチシステム１の動作について説明する。
【００２６】
まず、Ｉ／Ｆバスモデル５，６の動作起動が設定されると、所定のインタフェースの機能を実行するＩ／Ｆバスモデル５，６が、それぞれ回路２に対して動作を開始する。回路２では、アービタ２ａにより、そのときの優先度により、共通バスである記憶媒体インタフェースの機能を果す記憶媒体バスモデル４にアクセスするＩ／Ｆバスモデル５又は６の要求を選択し、選ばれたＩ／Ｆバスモデル５又は６の要求に応じてバス動作を行う。そのとき、記憶媒体バスモデル４は、コマンド情報やアドレス情報をＩＤ管理関数部７に与えて呼び出す。
【００２７】
ＩＤ管理関数部７は、回路２内のアービタ２ａの内部信号を監視し、現時点での選択先がＩ／Ｆバスモデル５，６のいずれであるかをＩＤ認識している。すなわち、Ｉ／Ｆバスモデル５，６にそれぞれ所定のＩＤを付していて、アービタ２ａの内部信号により、現在アービタ２ａにより選択されているのがＩ／Ｆバスモデル５，６のいずれであるかを特定のＩＤで認識する。これにより、アービタ２ａの内部信号から共通インタフェースである記憶媒体インタフェースにアクセスしているのが複数、この例ではＩ／Ｆバスモデル５，６による２つの機能のうちいずれが選択されているかを判断することができる。
【００２８】
そして、ＩＤ管理関数部７は、メモリへのデータのライトの実行を指示するライトコマンドが出されているときは、期待値関数群部８の中から、現在記憶媒体バスモデル４にアクセスしているＩ／Ｆバスモデル５又は６に対応するＩＤと関連付けられて登録されている期待値関数を呼び出す。期待値関数群部８は、対応するテストシナリオＧ１又はＧ２があらかじめ設定した状態で、回路２が正常に動作したときに回路２から出力されるはずの期待値を生成し、現実に回路２から出力された結果と生成した期待値との比較を行い、回路２から出力されたアドレス、データのチェックを行う。
【００２９】
また、メモリへのデータのリードの実行を指示するリードコマンドが出されているときは、ＩＤ管理関数部７は、データ生成関数群部９の中から、現在、記憶媒体バスモデル４にアクセスしているＩ／Ｆバスモデル５又は６に対応するＩＤと関連付けられて登録されているデータ生成関数を呼び出す。データ生成関数群部９も、対応するテストシナリオＧ１又はＧ２があらかじめ設定した状態で、データ生成関数によりデータを生成し、回路２にデータを入力する。
【００３０】
このように、現在、記憶媒体バスモデル４にアクセスしているＩ／Ｆバスモデル５又は６の機能に対応して、回路２の検証に必要な期待値などのデータを、期待値関数群部８、データ生成関数群部９により生成する。
【００３１】
これにより、回路２の外部のメモリのアドレス空間をI／Ｆバスモデル５，６により限定することなく、検証精度を低下させずに並列動作検証することができる。またＩＤ登録されないバスモデルなどに対応した回路２の動作をした場合も回路２を検証でき、単体動作時にも意図していないアービタ２ａの選択不整合も検証できる。
【００３２】
次に、別の実施の形態について説明する。
【００３３】
図２は、別の実施の形態であるテストベンチシステム１の機能ブロック図である。図２において、図１と同一符号の構成要素は図１の場合と同様の構成要素であるため、詳細な説明は省略する。図２のテストベンチシステム１が図１のものと相違するのは、まず、Ｉ／Ｆバスモデル６が用意されておらず、Ｉ／Ｆバスモデル５が、マスター５１、マスター５２の複数のマスター動作をするバスモデルである点である。マスター５１、マスター５２は、それぞれ回路２に対して異なる処理を実行する。また、データ生成関数群部９、テストシナリオＧ２を備えていない。そして、本例では、バスモデルＩＤ管理関数部１０を備えている。
【００３４】
マスター５１，５２は、テストシナリオＧ１で並列動作するよう起動がかけられる。回路２のアービタ２ａは、マスター５１の要求とマスター５２の要求のどちらかを選択し、要求を受け付ける。Ｉ／Ｆバスモデル５は、この受け付けられた情報を与えて、バスモデルＩＤ管理関数部１０を呼び出す。バスモデルＩＤ管理関数部１０は、期待値関数群部８と共有できる前述のＩＤ管理関数部７で管理しているものとは別のＩＤ（バスモデルＩＤ）を登録している。このバスモデルＩＤは、マスター５１、マスター５２ごとに異なり、アービタ２ａがマスター５１の要求とマスター５２の要求のどちらを選択したかを識別するものである。バスモデルＩＤ管理関数部１０は、アービタ２ａが選択したマスター５１又は５２のバスモデルＩＤを期待値関数群部８に渡す。期待値関数群部８は、ＩＤ管理関数部７から得られたＩＤで前述の例と同様にＩ／Ｆバスモデル５を識別し、バスモデルＩＤ管理関数部７からのバスモデルＩＤでアービタ２ａが現在選択しているものとしてマスター５１又は５２を識別して、そのマスター５１又は５２に対応した（Ｉ／Ｆバスモデル５のＩＤとバスモデルＩＤとに対応した）期待値関数を選択し、期待値関数群部８は、対応するテストシナリオＧ１があらかじめ設定した状態で、回路２が正常に動作したときに回路２から出力されるはずの期待値を生成し、現実に回路２から出力された結果と生成した期待値との比較を行い、回路２から出力されたアドレス、データのチェックを行う。
【００３５】
したがって、ＩＤ管理関数部７ではＩ／Ｆバスモデル５を認識しても、Ｉ／Ｆバスモデル５の機能のうち、マスター５１と５２のいずれの機能が使用されているか判断できないが、バスモデルＩＤ管理関数部１０がこれを判断することができるので、期待値関数群部８では、ＩＤ管理関数部７とバスモデルＩＤ管理関数部１０の各判断により使用されているマスター５１又は５２に対応した適切な期待値を生成することができ、検証を精度の低下を防止することができる。
【００３６】
前述の各実施の形態のテストベンチシステム１のハードウェア構成例について説明する。図３は、テストベンチシステム１の電気的な接続のブロック図である。図３に示すように、テストベンチシステム１は、ワークステーションなどのコンピュータにより実現され、このコンピュータは、各種演算を行ない、画像処理装置の各部を集中的に制御するＣＰＵ２１１と、各種のＲＯＭ、ＲＡＭからなるメモリ２１２とが、バス２１３で接続されている。
【００３７】
バス２１３には、所定のインタフェースを介して、ハードディスクなどの磁気記憶装置２１４と、キーボード、マウスなどの入力装置２１５と、表示装置２１６とが接続され、また、ネットワーク２０１と通信を行なう所定の通信インタフェース２１９が接続されている。なお、記憶媒体２１７としては、ＣＤ，ＤＶＤなどの光ディスク、光磁気ディスク、フレキシブルディスクなどの各種メディアを用いることができる。また、記憶媒体読取装置２１８は、具体的には記憶媒体２１７の種類に応じて光ディスク装置、光磁気ディスク装置、フレキシブルディスク装置などが用いられる。
【００３８】
テストベンチシステム１は、この発明の記憶媒体を実施する記憶媒体２１７から、この発明のプログラムを実施するプログラム２２０を読み取って、磁気記憶装置２１４にインストールすることにより、動作可能な状態となる。これらのプログラム２０はインターネットなどのネットワーク２０１等を介してダウンロードしてインストールするようにしてもよい。なお、プログラム２２０は、所定のＯＳ上で動作するものであってもよい。
【００３９】
そして、バス２１３には、所定のインタフェース２２１を介して、回路２と接続される。そして、プログラム２２０に基づいてＣＰＵ２１１が実行する処理により、ＣＰＵバスモデル３と、記憶媒体バスモデル４、Ｉ／Ｆバスモデル５，６、ＩＤ管理関数部７、期待値関数群部８、データ生成関数群部９、バスモデルＩＤ管理関数部１０を構築し、テストシナリオＧ１，Ｇ２を用いて、回路２の動作が正常に行なわれるか否かの検査処理を実行する。
【００４０】
ところで、前述の各テストベンチシステム１を用いて回路２の動作を検証する回路検証方法を実行する場合には、回路２は、回路合成、レイアウトを行なう際に回路２の内部信号名が、回路２ごとに変わらないように回路情報を作成したものを用いるのが望ましい。
【００４１】
すなわち、回路２の内部信号の信号名を、ＲＴＬ回路、ＲＴＬ回路から合成して作成する仮想ＮＥＴ回路、仮想ＮＥＴ回路からレイアウトされ作成される実配線ＮＥＴ回路で変化しないように作成することで、同種の回路２であっても供給先のベンダーが異なる場合に、これら供給先の違いにかかわらず共通のテストベンチシステム１を用いて各回路２の検証を実行することができ、回路２の内部信号の信号名の変化を確認して対応する必要がないので、生産性の低下もなく、テストベンチシステム１の流用性を向上させることができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施の形態であるテストベンチシステムの機能ブロック図である。
【図２】本発明の別の実施の形態であるテストベンチシステムの機能ブロック図である。
【図３】テストベンチシステムの電気的な接続の機能ブロック図である。
【符号の説明】
【００４３】
１  テストベンチシステム
２  回路
２ａ  アービタ
３  ＣＰＵバスモデル
４  共通バスモデル、記憶媒体バスモデル
５，６  バスモデル
２１７  記憶媒体
２２０  プログラム
【図１】
2005250633.tif 000003
【図２】
2005250633.tif 000004
【図３】
2005250633.tif 000005