(57)【要約】【課題】検証中のＬＳＩ回路の設計変更があるごとにリグレッションテストの必要性を判断し、必要なら実行可能とする。【解決手段】データ管理装置１で、入力設計データ１１、テストベンチ１２を登録済みデータとの差分チェックを行いながらデータベース１３に登録し、検証内容に応じたデータをシミュレーション装置２へ送る。差分チェックにおいて入力設計データに差分があると、シミュレーション装置で実行中（予約中）のリグレッションテストがあるか問合せ、ある場合は、利用者の確認を得てから中止させる。ない場合及び中止後は、利用者の確認を得てから最新の設計データに関連するテストベンチをデータベースより読み出し最新の設計データと組にしてシミュレーション装置へ送出する。【選択図】　　　図１
2004118443.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア記述言語により設計されたＬＳＩ回路の機能を検証するために設計データ及びテストベンチを用いてシミュレーション及び再シミュレーションによるリグレッションテストを行うシミュレーション装置へ供給する設計データ及びテストベンチを管理するデータ管理装置であり、
前記設計データと前記テストベンチとを外部から入力するデータ入力手段と、
利用者に対する情報の入力及び出力を行う利用者インタフェース手段と、
前記設計データと前記テストベンチとを蓄積するデータ蓄積手段と、
前記設計データと前記テストベンチとを前記シミュレーション装置へ出力するデータ出力手段と、
前記データ入力手段を通して入力された設計データ及びテストベンチの各々を登録済みの設計データ及びテストベンチの各々との差分チェックを行いながら前記データ蓄積手段に登録し、前記ＬＳＩ回路の検証内容に応じた設計データと該設計データに関連するテストベンチとの組を前記データ蓄積手段より読み出し前記データ出力手段を通して前記シミュレーション装置へ出力し、且つ前記差分チェック時に、入力された設計データである最新の設計データに登録済みの設計データとの差分があることを検出すると新たな設計変更が行われたと認識し、前記シミュレーション装置に対して該設計データの以前の設計変更に対するリグレッションテストが実行中か問合せ、回答内容が実行中あるいは実行予約中である場合は、前記利用者インタフェース手段を通して前記利用者に対し実行中止してよいかの確認を行ってから前記シミュレーション装置に対し実行中止を指示し、実行中及び実行予約中のいずれでもない場合及び実行中止を指示した場合は、前記利用者インタフェース手段を通して前記利用者に対し最新の設計変更に伴うリグレッションテストを実行してよいかの確認を行ってから該設計データに関連するテストベンチを前記データ蓄積手段より読み出し前記最新の設計データと組にして前記シミュレーション装置へ出力する制御手段とを備えることを特徴とするデータ管理装置。
【請求項２】
前記制御手段が、前記利用者インタフェース手段を通して利用者の確認不要をあらかじめ設定されると、前記シミュレーション装置に対し該設計データの以前の設計変更に対するリグレッションテストが実行中か問合せたときに、回答内容が実行中あるいは実行予約中である場合は、前記利用者に対する実行中止してよいかの確認を行うことなく前記シミュレーション装置に実行中止を指示し、実行中及び実行予約中のいずれでもない場合及び実行中止を指示した場合は、前記利用者に対し最新の設計変更に伴うリグレッションテストを実行してよいかの確認を行うことなく該設計データに関連するテストベンチを前記データ蓄積手段より読み出し前記最新の設計データと組にして前記シミュレーション装置へ出力することを特徴とする請求項１記載のデータ管理装置。
【請求項３】
ハードウェア記述言語により設計されたＬＳＩ回路の機能を検証するために設計データ及びテストベンチを用いてシミュレーション及び再シミュレーションによるリグレッションテストを行うシミュレーション装置において、
ジョブとして指定された設計データに対し同時に指定されたテストベンチにより、シミュレーション及びリグレッションテストを行うシミュレータと、
外部のデータ管理装置からの設計データと該設計データに関連するテストベンチとの組を受けると、ジョブとしてジョブリストに順次登録するとともに、前記ジョブリストからジョブを順次読み出し前記シミュレータに供給してシミュレーション及びリグレッションテストを実行させ、前記データ管理装置からの指定された設計データに対するリグレッションテストが実行中かの問合せを受けると、前記ジョブリストを参照して該当リグレッションテストが前記シミュレータで実行中あるいは実行予約中かどうかを回答し、実行中止の指示を受けると、該当リグレッションテストが前記シミュレータで実行中の場合は該当シミュレータに実行を中止させ、実行予約中の場合は前記ジョブリストから該当ジョブを削除するジョブ管理装置とを備えることを特徴とするシミュレーション装置。
【請求項４】
前記シミュレータとして複数のシミュレータを有し、
前記ジョブ管理装置が前記複数のシミュレータの各々の負荷に応じて実行させるジョブを選択することを特徴とする請求項３記載のシミュレーション装置。
【請求項５】
請求項１または２記載のデータ管理装置と、請求項３または４記載のシミュレーション装置とを備えることを特徴とするリグレッションテストシステム。
【請求項６】
ハードウェア記述言語により設計されたＬＳＩ回路の機能を検証するために設計データ及びテストベンチを用いてシミュレーション及び再シミュレーションによるリグレッションテストを行うシミュレーション装置を備えたリグレッションテストシステムにおけるリグレッションテスト方法において、前記シミュレーション装置の前段に設けられ利用者に対する情報の入出力を行う利用者インタフェース手段を有するデータ管理装置で、外部から入力された設計データ及びテストベンチの各々を既に登録済みの設計データ及びテストベンチの各々との差分チェックを行いながらデータ蓄積手段に登録し、前記ＬＳＩ回路の検証内容に応じた設計データと該設計データに関連するテストベンチとの組を前記データ蓄積手段より読み出し前記シミュレーション装置へ送出し、
前記シミュレーション装置で前記データ管理装置からの設計データと該設計データに関連するテストベンチとの組を受けると、ジョブとしてジョブリストに順次登録するとともに、前記ジョブリストからジョブを順次読み出しシミュレーション及びリグレッションテストを実行し、
前記データ管理装置での前記差分チェック時に、入力された設計データである最新の設計データに登録済みの設計データとの差分があることを検出すると新たな設計変更が行われたと認識し、前記シミュレーション装置に対して該設計データの以前の設計変更に対するリグレッションテストが実行中か問合せ、
前記シミュレーション装置で前記データ管理装置からの前記問合せを受けると、前記ジョブリストを参照して該当リグレッションテストが実行中あるいは実行予約中かどうかを回答し、
前記データ管理装置で前記シミュレーション装置からの回答内容が実行中あるいは実行予約中である場合は、利用者に対し実行中止してよいかの確認を行ってから前記シミュレーション装置に対し実行中止を指示し、
前記シミュレーション装置で前記データ管理装置からの前記実行中止の指示を受けると、該当リグレッションテストを実行中の場合は実行を中止し、実行予約中の場合は前記ジョブリストから該当ジョブを削除し、
前記データ管理装置で前記シミュレーション装置からの回答内容が実行中及び実行予約中のいずれでもない場合及び実行中止を指示した場合は、前記利用者に対し最新の設計変更に伴うリグレッションテストを実行してよいかの確認を行ってから該設計データに関連するテストベンチを前記データ蓄積手段より読み出し前記最新の設計データと組にして前記シミュレーション装置へ送出することを特徴とするリグレッションテスト方法。
【請求項７】
前記データ管理装置で、前記利用者インタフェース手段を通して利用者の確認不要をあらかじめ設定されると、前記シミュレーション装置に対し該設計データの以前の設計変更に対するリグレッションテストが実行中か問合せたときに、回答内容が実行中あるいは実行予約中である場合は、前記利用者に対し実行中止してよいかの確認を行うことなく前記シミュレーション装置に実行中止を指示し、実行中及び実行予約中のいずれでもない場合及び実行中止を指示した場合は、前記利用者に対し最新の設計変更に伴うリグレッションテストを実行してよいかの確認を行うことなく該設計データに関連するテストベンチを前記データ蓄積手段より読み出し前記最新の設計データと組にして前記シミュレーション装置へ送出することを特徴とする請求項６記載のリグレッションテスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＬＳＩ回路のリグレッションテストシステム、及びそれに用いる装置とそのリグレッションテスト方法に関し、特にハードウェア記述言語により設計されたＬＳＩ回路の機能を検証するために設計データ及びテストベンチを用いてシミュレーション及び再シミュレーションによるリグレッションテストを行うシミュレーション装置と、このシミュレーション装置へ供給する設計データ及びテストベンチを管理するデータ管理装置と、これら装置よりなるリグレッションテストシステムとそのリグレッションテスト方法とに関する。
【０００２】
【従来の技術】
ハードウェア記述言語によるＬＳＩ（大規模半導体集積回路）の設計において、ＬＳＩ回路の機能、すなわち設計データを検証するとき、一般にテストベンチと呼ばれるテストプログラムを用いて、シミュレーション装置上でシミュレーションを行う（例えば、特許文献１参照）。このとき、一部の回路変更が、検証済みの他の機能の検証結果に影響を及ぼさないことを確認するために、リグレッションテスト（回帰テスト）と呼ばれるシミュレーションを行う。リグレッションテストは、既に行われたシミュレーションを再実行することにより行う。
【０００３】
【特許文献１】
特開２０００−３１５２２２号公報（第１−４頁、図１）
【０００４】
【発明が解決しようとする課題】
上述した従来のリグレッションテストは、既に行われたシミュレーションを再実行するため、設計が進むにつれ（設計データが変更されるにつれ）、リグレッションテストに必要なシミュレーションは増加し、準備とシミュレーションに時間がかかっていた。そのため、論理合成前、クリーンファイル前など、設計工程の大きな節目ごとの設計者（システム利用者）の判断するタイミングでのみリグレッションテストを行うことが多く、リグレッションテストで設計に不備が見つかった場合の後戻りが大きくなるという問題点があった。
【０００５】
本発明の目的は、設計変更ごとのリグレッションテストの必要性の判断が欠けることなく、リグレッションテスト実行時に掛かる時間と、リグレッションテスト省略時に後戻りする恐れのある時間とのバランスを適正化しながら必要なリグレッションテストを実行可能としたＬＳＩ回路のリグレッションテストシステム、及びそれに用いる装置とそのリグレッションテスト方法を提供することにある。
【０００６】
【課題を解決するための手段】
本発明の請求項１に係るデータ管理装置は；ハードウェア記述言語により設計されたＬＳＩ回路の機能を検証するために設計データ及びテストベンチを用いてシミュレーション及び再シミュレーションによるリグレッションテストを行うシミュレーション装置へ供給する設計データ及びテストベンチを管理するデータ管理装置であり；前記設計データと前記テストベンチとを外部から入力するデータ入力手段と；利用者に対する情報の入力及び出力を行う利用者インタフェース手段と；前記設計データと前記テストベンチとを蓄積するデータ蓄積手段と；前記設計データと前記テストベンチとを前記シミュレーション装置へ出力するデータ出力手段と；前記データ入力手段を通して入力された設計データ及びテストベンチの各々を登録済みの設計データ及びテストベンチの各々との差分チェックを行いながら前記データ蓄積手段に登録し、前記ＬＳＩ回路の検証内容に応じた設計データと該設計データに関連するテストベンチとの組を前記データ蓄積手段より読み出し前記データ出力手段を通して前記シミュレーション装置へ出力し、且つ前記差分チェック時に、入力された設計データである最新の設計データに登録済みの設計データとの差分があることを検出すると新たな設計変更が行われたと認識し、前記シミュレーション装置に対して該設計データの以前の設計変更に対するリグレッションテストが実行中か問合せ、回答内容が実行中あるいは実行予約中である場合は、前記利用者インタフェース手段を通して前記利用者に対し実行中止してよいかの確認を行ってから前記シミュレーション装置に対し実行中止を指示し、実行中及び実行予約中のいずれでもない場合及び実行中止を指示した場合は、前記利用者インタフェース手段を通して前記利用者に対し最新の設計変更に伴うリグレッションテストを実行してよいかの確認を行ってから該設計データに関連するテストベンチを前記データ蓄積手段より読み出し前記最新の設計データと組にして前記シミュレーション装置へ出力する制御手段とを備える。
【０００７】
本発明の請求項２に係るデータ管理装置は；請求項１に係るデータ管理装置において；前記制御手段が、前記利用者インタフェース手段を通して利用者の確認不要をあらかじめ設定されると、前記シミュレーション装置に対し該設計データの以前の設計変更に対するリグレッションテストが実行中か問合せたときに、回答内容が実行中あるいは実行予約中である場合は、前記利用者に対する実行中止してよいかの確認を行うことなく前記シミュレーション装置に実行中止を指示し、実行中及び実行予約中のいずれでもない場合及び実行中止を指示した場合は、前記利用者に対し最新の設計変更に伴うリグレッションテストを実行してよいかの確認を行うことなく該設計データに関連するテストベンチを前記データ蓄積手段より読み出し前記最新の設計データと組にして前記シミュレーション装置へ出力する構成を有する。
【０００８】
本発明の請求項３に係るシミュレーション装置は；ハードウェア記述言語により設計されたＬＳＩ回路の機能を検証するために設計データ及びテストベンチを用いてシミュレーション及び再シミュレーションによるリグレッションテストを行うシミュレーション装置において；ジョブとして指定された設計データに対し同時に指定されたテストベンチにより、シミュレーション及びリグレッションテストを行うシミュレータと；外部のデータ管理装置からの設計データと該設計データに関連するテストベンチとの組を受けると、ジョブとしてジョブリストに順次登録するとともに、前記ジョブリストからジョブを順次読み出し前記シミュレータに供給してシミュレーション及びリグレッションテストを実行させ、前記データ管理装置からの指定された設計データに対するリグレッションテストが実行中かの問合せを受けると、前記ジョブリストを参照して該当リグレッションテストが前記シミュレータで実行中あるいは実行予約中かどうかを回答し、実行中止の指示を受けると、該当リグレッションテストが前記シミュレータで実行中の場合は該当シミュレータに実行を中止させ、実行予約中の場合は前記ジョブリストから該当ジョブを削除するジョブ管理装置とを備える。
【０００９】
本発明の請求項４に係るシミュレーション装置は；請求項３に係るシミュレーション装置において；前記シミュレータとして複数のシミュレータを有し；前記ジョブ管理装置が前記複数のシミュレータの各々の負荷に応じて実行させるジョブを選択する構成を有する。
【００１０】
本発明の請求項５に係るリグレッションテストシステムは、請求項１または２に係るデータ管理装置と、請求項３または４に係るシミュレーション装置とを備える。
【００１１】
本発明の請求項６に係るリグレッションテスト方法は；ハードウェア記述言語により設計されたＬＳＩ回路の機能を検証するために設計データ及びテストベンチを用いてシミュレーション及び再シミュレーションによるリグレッションテストを行うシミュレーション装置を備えたリグレッションテストシステムにおけるリグレッションテスト方法において；前記シミュレーション装置の前段に設けられ利用者に対する情報の入出力を行う利用者インタフェース手段を有するデータ管理装置で、外部から入力された設計データ及びテストベンチの各々を既に登録済みの設計データ及びテストベンチの各々との差分チェックを行いながらデータ蓄積手段に登録し、前記ＬＳＩ回路の検証内容に応じた設計データと該設計データに関連するテストベンチとの組を前記データ蓄積手段より読み出し前記シミュレーション装置へ送出し；前記シミュレーション装置で前記データ管理装置からの設計データと該設計データに関連するテストベンチとの組を受けると、ジョブとしてジョブリストに順次登録するとともに、前記ジョブリストからジョブを順次読み出しシミュレーション及びリグレッションテストを実行し；前記データ管理装置での前記差分チェック時に、入力された設計データである最新の設計データに登録済みの設計データとの差分があることを検出すると新たな設計変更が行われたと認識し、前記シミュレーション装置に対して該設計データの以前の設計変更に対するリグレッションテストが実行中か問合せ；前記シミュレーション装置で前記データ管理装置からの前記問合せを受けると、前記ジョブリストを参照して該当リグレッションテストが実行中あるいは実行予約中かどうかを回答し；前記データ管理装置で前記シミュレーション装置からの回答内容が実行中あるいは実行予約中である場合は、利用者に対し実行中止してよいかの確認を行ってから前記シミュレーション装置に対し実行中止を指示し；前記シミュレーション装置で前記データ管理装置からの前記実行中止の指示を受けると、該当リグレッションテストを実行中の場合は実行を中止し、実行予約中の場合は前記ジョブリストから該当ジョブを削除し；前記データ管理装置で前記シミュレーション装置からの回答内容が実行中及び実行予約中のいずれでもない場合及び実行中止を指示した場合は、前記利用者に対し最新の設計変更に伴うリグレッションテストを実行してよいかの確認を行ってから該設計データに関連するテストベンチを前記データ蓄積手段より読み出し前記最新の設計データと組にして前記シミュレーション装置へ送出する工程を有する。
【００１２】
本発明の請求項７に係るリグレッションテスト方法は；請求項６に係るリグレッションテスト方法において；前記データ管理装置で、前記利用者インタフェース手段を通して利用者の確認不要をあらかじめ設定されると、前記シミュレーション装置に対し該設計データの以前の設計変更に対するリグレッションテストが実行中か問合せたときに、回答内容が実行中あるいは実行予約中である場合は、前記利用者に対し実行中止してよいかの確認を行うことなく前記シミュレーション装置に実行中止を指示し、実行中及び実行予約中のいずれでもない場合及び実行中止を指示した場合は、前記利用者に対し最新の設計変更に伴うリグレッションテストを実行してよいかの確認を行うことなく該設計データに関連するテストベンチを前記データ蓄積手段より読み出し前記最新の設計データと組にして前記シミュレーション装置へ送出する工程を有する。
【００１３】
【発明の実施の形態】
まず、本発明の概要を説明する。本発明は、利用者インタフェース手段を備えたデータ管理装置を用いてハードウェア記述言語により設計されたＬＳＩ回路の機能を検証するための設計データ及びテストベンチ（テストプログラム）を差分チェックを行いながら管理し、シミュレーション装置へ供給してシミュレーション及び再シミュレーションによるリグレッションテストを行うことにより、設計変更が起きるたびに、リグレッションテストを実行することができ、常に最新の設計データによるリグレッションテスト結果を得ることができる。その際、リグレッションテストを実行しないようにした場合（変更内容が名前の変更など機能の変わらない場合や、軽微な変更で利用者が変更の影響範囲を特定できる場合等に、利用者がリグレッションテスト不要と判断した場合）でも、利用者は設計変更があったことを確認しており、再度の設計変更など適切な機会を選んでリグレッションテストを実行させることができる。また、シミュレーションに用いたテストベンチを設計データと同様にデータ管理システムで管理することにより、リグレッションテストの際に必要となる既に行ったシミュレーションの再現を容易にする。
【００１４】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
図１は本発明の一実施の形態を示すシステム構成図である。図１において、本例のリグレッションテストシステムは、ＬＳＩ回路の設計データ１１及びテストベンチ１２をデータベース１３により管理するデータ管理装置１と、データ管理装置１からジョブとして供給された設計データ１１及びテストベンチ１２によりシミュレーション及び再シミュレーションによるリグレッションテストを行うシミュレーション装置２とから構成される。
【００１６】
データ管理装置１は、設計データ１１とテストベンチ１２とを外部から入力する図示していないデータ入力手段と、利用者に対する情報の入力及び出力を行う図示していない利用者インタフェース手段と、設計データ１１とテストベンチ１２とを蓄積するデータ蓄積手段であるデータベース１３と、設計データ１１とテストベンチ１２とをシミュレーション装置２へ出力する図示していないデータ出力手段と、データ管理装置全体を制御する図示していない制御手段とを備えている。このデータ管理装置１は、プログラム制御の中央制御回路（ＣＰＵ）、情報の記憶回路、情報の入出力回路、キーボード、ディスプレイ等を備えたコンピュータシステムにより実現することができる。
【００１７】
データ管理装置１の制御手段は、データ入力手段を通して入力された設計データ１１及びテストベンチ１２の各々を登録済みの設計データ１１及びテストベンチ１２の各々との版数管理及び差分チェックを行いながらデータベース１３に登録し、ＬＳＩ回路の検証内容に応じた設計データ１１と該設計データに関連するテストベンチ１２との組（ジョブ）をデータベース１３より読み出しデータ出力手段を通してシミュレーション装置２へ出力する。また上記差分チェック時に、入力された設計データである最新の設計データ１１に登録済みの設計データ１１との差分があることを検出すると新たな設計変更が行われたと認識し、シミュレーション装置２に対して該設計データの以前の設計変更に対するリグレッションテストが実行中か問合せる。回答内容が実行中あるいは実行予約中である場合は、利用者インタフェース手段（キーボード、ディスプレイ等）を通して利用者に対し実行中止してよいかの確認を行ってからシミュレーション装置２に対し実行中止を指示する。実行中及び実行予約中のいずれでもない場合及び実行中止を指示した場合は、利用者インタフェース手段を通して利用者に対し最新の設計変更に伴うリグレッションテストを実行してよいかの確認を行ってから該設計データに関連するテストベンチ１２をデータベース１３より読み出し最新の設計データ１１と組（ジョブ）にしてシミュレーション装置２へ出力する。
【００１８】
シミュレーション装置２は、シミュレーション装置全体の制御を行うジョブ管理装置２１と、ジョブ管理装置２１からジョブとして指定された設計データ１１及びテストベンチ１２によりシミュレーション及びリグレッションテストをそれぞれ行う複数のシミュレータ２２とを備えている。このシミュレーション装置２も、プログラム制御の中央制御回路（ＣＰＵ）、情報の記憶回路、情報の入出力回路等を備えたコンピュータシステムにより実現することができる。
【００１９】
シミュレーション装置２のジョブ管理装置２１は、データ管理装置１からの設計データ１１と該設計データに関連するテストベンチ１２との組を受けると、ジョブとしてジョブリスト２３に順次登録するとともに、ジョブリスト２３からジョブを順次読み出しシミュレータ２２に供給してシミュレーション及びリグレッションテスト（再シミュレーション）を実行させる。その際、複数のシミュレータ２２の各々の稼動状況（ＣＰＵの負荷状況など）を考慮し、シミュレーションジョブを負荷の少ないシミュレータ２２へ送ることにより、シミュレーション時間の短縮を行う。
【００２０】
ジョブ管理装置２１はまた、データ管理装置１からの指定された設計データに対するリグレッションテストが実行中かの問合せを受けると、ジョブリスト２３を参照して該当リグレッションテストがシミュレータ２２で実行中あるいは実行予約中かどうかを回答する。その後、実行中止の指示を受けると、該当リグレッションテストがシミュレータ２２で実行中の場合は該当シミュレータ２２に実行を中止させ、実行予約中の場合はジョブリスト２３から該当ジョブを削除する。これにより、データ管理装置１からの次の指示（ジョブ）に従い、最新の設計変更に伴うリグレッションテストを速やかに実行することが可能となる。
【００２１】
シミュレーション装置２はまた、図示していないが、シミュレータ２２のシミュレーションの実行状況や実行結果を、データ管理装置１や外部の他システムへ出力する手段を有している。
【００２２】
次に、本発明の動作について、図１とともに図２〜４を参照して詳細に説明する。
【００２３】
はじめに、設計データ１１は、図２で示すような階層構造をもっているものとする。すなわち、最上位階層として１つのトップ情報“ＴＯＰ”、第２位階層として“ＴＯＰ”配下の３つのモジュール情報“ＭＯＤＵＬＥ＿Ａ”，“ＭＯＤＵＬＥ＿Ｂ”，“ＭＯＤＵＬＥ＿Ｃ”、第３階層（最下位階層）として“ＭＯＤＵＬＥ＿Ａ”配下の２つのブロック情報“ＢＬＯＣＫ＿Ａ”，“ＢＬＯＣＫ＿Ｂ”及び“ＭＯＤＵＬＥ＿Ｂ”配下の１つのブロック情報“ＢＬＯＣＫ＿Ｃ”とから成る。
【００２４】
テストベンチ１２は、図３で示すように、設計データ１１の階層構造に合わせて作られていて、検証項目の違いによって同じ階層に対するテストベンチが複数存在する場合もあるものとする。例えば、“ＴＢ＿ＴＯＰ＿１”及び“ＴＢ＿ＴＯＰ＿２”は“ＴＯＰ”以下を検証するためのテストベンチ、“ＴＢ＿ＭＯＤＵＬＥ＿Ａ＿１”は“ＭＯＤＵＬＥ＿Ａ”以下を検証するためのテストベンチ、“ＴＢ＿ＢＬＯＣＫ＿Ａ＿１”は“ＢＬＯＣＫ＿Ａ”を検証するためのテストベンチである。
【００２５】
次に、“ＢＬＯＣＫ＿Ａ”の設計データを更新する場合を例に動作を説明する。
【００２６】
“ＢＬＯＣＫ＿Ａ”の設計データ１１がテータ管理装置１に登録（入力）されたとする（図４のステップＳ１）。
【００２７】
データ管理装置１は、データベース１３中の設計データ１１から“ＢＬＯＣＫ＿Ａ”を検索し、版数管理と差分チェックを行う（ステップＳ２）。差分がない場合は版数管理のみで処理を終了する。
【００２８】
ステップＳ２の処理で差分があった場合（新たな設計変更が行われた場合）、データ管理装置１は、データベース１３に新版の“ＢＬＯＣＫ＿Ａ”を保存し（ステップＳ３）、当該設計データ（この場合、“ＢＬＯＣＫ＿Ａ”）の旧版によるリグレッションテストが実行中であるかどうか、シミユレーション装置２に問い合わせる。
【００２９】
シミユレーション装置２のジョブ管理装置２１は、ジョブリスト２３を参照して各シミュレータ２２で当該設計データ（“ＢＬＯＣＫ＿Ａ”の旧版）によるリグレッションテストが実行中（あるいは実行予約中）であるか判定し、判定結果をデータ管理装置１へ返信する（ステップＳ４）。
【００３０】
データ管理装置１は、シミユレーション装置２からの返信内容を判別し、リグレッションテストが実行中（あるいは実行予約中）であれば、利用者に「中断（中止）して良いか」を問い合わせるメッセージをディスプレイ等に出力してその意思を確認する。利用者は設計変更の内容を勘案し、今回の設計変更（“ＢＬＯＣＫ＿Ａ”の新版）に対するリグレッションテストを行うよりも前回の設計変更（“ＢＬＯＣＫ＿Ａ”の旧版）に対するリグレッションテストで十分であると判断した場合は、キーボード等より「中断ＮＧ（中断不可）」を入力する。前回の設計変更に対するリグレッションテストはもはや必要ないと判断した場合は、「中断ＯＫ（中断可）」を入力する。
【００３１】
利用者からの応答が「中断ＮＧ」であれば、データ管理装置１は、当該リグレッションテストに関してシミユレーション装置２に対し何もせず、処理を終了する（ステップＳ５）。
【００３２】
利用者からの応答が「中断ＯＫ」であれば、データ管理装置１はシミユレーション装置２に対し当該リグレッションテストの実行を中断（あるいは実行予約をジョブリスト２３から削除）させて、「中断した」旨を示すメッセージをディスプレイ等に出力して利用者に通知する（ステップＳ６）。
【００３３】
ステップＳ４の処理で実行中のリグレッションテストが存在しない、もしくは、ステップＳ５，Ｓ６の処理でリグレッションテストを中断した場合、データ管理装置１は、利用者に「当該設計データ（“ＢＬＯＣＫ＿Ａ”）の新版によるリグレッションテストを実行するか」を問い合わせるメッセージをディスプレイ等に出力してその意思を確認する。利用者は設計変更の内容を勘案し、名前の変更など機能の変わらない場合や、軽微な変更で変更の影響範囲を特定できる場合等、リグレッションテスト不要と判断した場合は、キーボード等より「実行しない」を入力する。リグレッションテスト必要と判断した場合は、「実行する」を入力する（ステップＳ７）。
【００３４】
利用者からの応答が「実行しない」である場合、データ管理装置１は、当該リグレッションテスト（“ＢＬＯＣＫ＿Ａ”の新版）の処理を終了する。
【００３５】
利用者からの応答が「実行する」である場合、データ管理装置１は、当該設計データ１１（“ＢＬＯＣＫ＿Ａ”）に関連するテストベンチ１２をデータベース１３内から検索する（ステップＳ８）。
【００３６】
この例では、“ＢＬＯＣＫ＿Ａ”を含む階層に対応する複数のテストベンチ“ＴＢ＿ＴＯＰ＿１”，“ＴＢ＿ＴＯＰ＿２”，“ＴＢ＿ＭＯＤＵＬＥ＿Ａ＿１”，“ＴＢ＿ＢＬＯＣＫ＿Ａ＿１”が検索結果として得られる。
【００３７】
得られたそれぞれのテストベンチ１２と、その検証対象となる設計データ１１とを組にして、シミュレーションジョブとしてシミュレーション装置２へ送る（ステップＳ９）。このシミュレーションジョブは、ジョブリスト２３に登録される。
【００３８】
例えば、“ＴＢ＿ＴＯＰ＿１”は“ＴＯＰ”以下のデータと組にされる。
【００３９】
ジョブ管理装置１は、ジョブリスト２３に基づいて、マシンのＣＰＵ負荷など複数のシミュレータ２２各々の稼動状況を考慮し、負荷の少ないシミュレータ２２ヘジョブを送る（ステップ１０）。
【００４０】
各シミュレータ２２は与えられたジョブに従いシミュレーション（リグレッションテスト）を行う。シミュレーション結果は、他のシステムに伝えられる。
【００４１】
なお、ステップＳ５の処理や、ステップＳ７の処理で、利用者の判断により実行されなかった、新たな設計変更に対するリグレッションテストは、利用者がキーボード等よりデータ管理装置１に別途指示することにより実行できるようにしてもよい。ただし、再度新たな設計変更が発生すれば、その必要はなくなる。
【００４２】
また、あらかじめ利用者がキーボード等より、データ管理装置１に「リグレッションテストの中断及び実行の確認不要」を設定しておくことにより、上述のステップＳ５及びＳ７の処理で、利用者の確認を要することなく自動的に、リグレッションテストを中断させたり、リグレッションテストを実行させたりすることができる。
【００４３】
【発明の効果】
本発明によれば、ＬＳＩ回路の機能を検証するために設計データ及びテストベンチを用いてシミュレーション及び再シミュレーションによるリグレッションテストを行うシミュレーション装置の前段にデータ管理装置を設け、入力された設計データ及びテストベンチの各々を登録済みのものとの差分チェックを行い、差分があれば、利用者の判断に基づいて該当データに関する以前のリグレッションテストの中止及びリグレッションテストの実行を行うので、設計変更が起きるたびに、リグレッションテストを実行することができ、常に最新の設計データによるリグレッションテスト結果を得ることができる。また、利用者の判断によりリグレッションテストを実行しないようにした場合でも、利用者は設計変更があったことを確認しており、適切な機会を選んでリグレッションテストを実行させることができる。このため、設計変更ごとのリグレッションテストの必要性の判断が欠けることなく、リグレッションテスト実行時に掛かる時間と、リグレッションテスト省略時に後戻りする恐れのある時間とのバランスを適正化しながら必要なリグレッションテストを実行することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態を示すシステム構成図である。
【図２】設計データの構成例を示す図である。
【図３】テストベンチの登録例を示す図である。
【図４】本発明の動作を示すフローチャートである。
【符号の説明】
１　　データ管理装置
２　　シミュレーション装置
１１　　設計データ
１２　　テストベンチ
１３　　データベース
２１　　ジョブ管理装置
２２　　シミュレータ
【図１】
2004118443.tif 000003
【図２】
2004118443.tif 000004
【図３】
2004118443.tif 000005
【図４】
2004118443.tif 000006