(57)【特許請求の範囲】
【請求項１】
コンピュータを、
検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段、
前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ
Ｇｒａｐｈ）を取得する取得手段、
前記検証対象回路の中の任意のレジスタが検証対象レジスタに指定された場合、前記取得手段によって取得されたＣＤＦＧから、前記検証対象レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記検証対象レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段、
前記パス抽出手段によって抽出されたパスに含まれる検証対象レジスタの状態遷移を前記ＤＦＧに基づいて特定する特定手段、
前記特定手段によって特定されたパスに含まれる検証対象レジスタの状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段、
前記ＣＤＦＧと、前記ＤＩＲＷマトリックスを利用して抽出した検証対象レジスタの前記パスとの情報に基づき、パラメータとして代入される可能性のある値を算出する算出手段、
前記算出手段によって算出された値を、前記検証対象回路に対する検証内容をあらわす検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段、
として機能させることを特徴とする検証支援プログラム。
【請求項２】
コンピュータを、
検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得手段、
前記取得手段によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成手段、
前記ＣＤＦＧ生成手段によって生成されたＣＤＦＧから、前記検証対象回路に含まれたレジスタのうち外部からアクセス不能な内部レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記内部レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段、
前記パス抽出手段によって抽出されたパスに含まれる内部レジスタの状態遷移を前記ＤＦＧに基づいて特定する特定手段、
前記特定手段によって特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段、
前記判別手段によって前記パスに含まれる内部対象レジスタの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得手段によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている内部レジスタにパラメータとして代入される可能性のある値を算出する算出手段、
前記算出手段によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段、
として機能させることを特徴とする検証支援プログラム。
【請求項３】
コンピュータを、
検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得手段、
前記取得手段によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成手段、
前記ＣＤＦＧに記述されているレジスタのうち、前記取得手段によって取得されたレジスタリストに含まれていないレジスタを実装時の構成に依存して搭載される実装依存レジスタとして抽出するレジスタ抽出手段、
前記ＣＤＦＧ生成手段によって生成されたＣＤＦＧから、前記レジスタ抽出手段によって抽出された実装依存レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記実装依存レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段、
前記パス抽出手段によって抽出されたパスに含まれる実装依存レジスタの状態遷移を前記ＤＦＧに基づいて特定する特定手段、
前記特定手段によって特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段、
前記判別手段によって前記パスに含まれる実装依存レジスタの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得手段によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている実装依存レジスタにパラメータとして代入される可能性のある値を算出する算出手段、
前記算出手段によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段、
として機能させることを特徴とする検証支援プログラム。
【請求項４】
検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段と、
前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ
Ｇｒａｐｈ）を取得する取得手段と、
前記検証対象回路の中の任意のレジスタが検証対象レジスタに指定された場合、前記取得手段によって取得されたＣＤＦＧから、前記検証対象レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段と、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記検証対象レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段と、
前記パス抽出手段によって抽出されたパスに含まれる検証対象レジスタの状態遷移を前記ＤＦＧに基づいて特定する特定手段と、
前記特定手段によって特定されたパスに含まれる検証対象レジスタの状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段と、
前記ＣＤＦＧと、前記ＤＩＲＷマトリックスを利用して抽出した検証対象レジスタの前記パスとの情報に基づき、パラメータとして代入される可能性のある値を算出する算出手段と、
前記算出手段によって算出された値を、前記検証対象回路に対する検証内容をあらわす検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段と、
を備えることを特徴とする検証支援装置。
【請求項５】
コンピュータが備える記録手段により検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスをメモリに記録する記録工程と、
前記コンピュータが備える取得手段により前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を取得する取得工程と、
前記コンピュータが備えるＤＦＧ抽出手段により前記検証対象回路の中の任意のレジスタが検証対象レジスタに指定された場合、前記取得工程によって取得されたＣＤＦＧから、前記検証対象レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出工程と、
前記コンピュータが備えるパス抽出手段により前記ＤＦＧ抽出工程によって抽出されたＤＦＧの中から前記検証対象レジスタに関するデータの流れをあらわすパスを抽出するパス抽出工程と、
前記コンピュータが備える特定手段により前記パス抽出工程によって抽出されたパスに含まれる検証対象レジスタの状態遷移を前記ＤＦＧに基づいて特定する特定工程と、
前記コンピュータが備える判別手段により前記特定工程によって特定されたパスに含まれる検証対象レジスタの状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別工程と、
前記コンピュータが備える算出手段により前記ＣＤＦＧと、前記ＤＩＲＷマトリックスを利用して抽出した検証対象レジスタの前記パスとの情報に基づき、パラメータとして代入される可能性のある値を算出する算出工程と、
前記コンピュータが備えるシナリオ生成手段により前記算出手段によって算出された値を、前記検証対象回路に対する検証内容をあらわす検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成工程と、
を含むことを特徴とする検証支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ハードウェア設計された検証支援回路に含まれるレジスタに対する検証処理を支援する分野に関する。
【背景技術】
【０００２】
従来、所望の機能を実現するためハードウェア（回路）を設計した場合には、実際のハードウェア製造に移行する前段階の処理として設計内容に漏れがないかの論理検証をおこなう作業が必須となる。具体的には、ハードウェアの設計内容に沿った検証シナリオを生成し、この検証シナリオを入力した場合の出力結果を用いて論理検証をおこなっていた。
【０００３】
【特許文献１】特開２００６−１９０２０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の論理検証に利用する検証シナリオにはパラメータの設定に不備が多く、検証効率が低いという問題があった。たとえば、ランダムに指定されたパラメータを代入した検証シナリオを実行させる手法があるが、検証例をすべて網羅することができずに、検証漏れが生じる可能性があった。
【０００５】
また、パラメータとして設定可能な値の中から、最大値、最小値および典型値を指定する手法も提供されていたが、本来検証したいパスが抜けてしまうことがあった。上述のいずれの手法の場合も、パラメータとして指定される値は、ハードウェア設計の仕様によって用途や範囲が定義されてしまっている。したがって、ハードウェア内の特定のレジスタに対して網羅的にパラメータが設定された検証シナリオではないため、検証効率を向上させることはできなかった。
【０００６】
また、仕様書に基づいてハードウェアを設計する際に、実装時の構成に応じて、仕様書には記述されていないレジスタが配置されることがある。このように実装時にのみ登場する実装依存のレジスタに対しては、検証シナリオのパラメータが考慮されていない。したがって、設計されたハードウェアに実装依存のレジスタが存在する場合を網羅した検証はおこなわれず、検証効率を下げる一因となっていた。
【０００７】
上述した従来技術による問題点を解消するため、検証対象レジスタに対する検証精度を向上させる検証支援プログラム、検証支援装置および検証支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この検証支援プログラム、検証支援装置および検証支援方法は、検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する処理と、前記検証対象回路における実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ
Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ
Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を取得する処理と、前記検証対象回路の中の任意のレジスタが検証対象レジスタに指定された場合、取得されたＣＤＦＧから、前記検証対象レジスタが記述されたＤＦＧを抽出する処理と、抽出されたＤＦＧの中から前記検証対象レジスタに関するデータの流れをあらわすパスを抽出する処理と、抽出されたパスに含まれる検証対象レジスタの状態遷移を前記ＤＦＧに基づいて特定する処理と、特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する処理と、前記ＣＤＦＧと、前記ＤＩＲＷマトリックスを利用して抽出した検証対象レジスタの前記パスとの情報に基づき、パラメータとして代入される可能性のある値を算出する処理と、前記算出手段によって算出された値を、前記検証対象回路に対する検証内容をあらわす検証シナリオに設定したパラメータ値付き検証シナリオを生成する処理とを含むことを要件とする。
【０００９】
この検証支援プログラム、検証支援装置および検証支援方法によれば、実装記述の解析によって生成されたＣＤＦＧと、ＤＩＲＷマトリックスを利用して抽出した検証対象レジスタのパスとの情報に基づき、パラメータとして代入される可能性のある値を算出し、算出された値を、検証対象回路に対する検証内容をあらわす検証シナリオに設定したパラメータ値付き検証シナリオを生成することができる。
【００１０】
また、この検証支援プログラム、検証支援装置および検証支援方法は、検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する処理と、前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する処理と、取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成する処理と、生成されたＣＤＦＧから、前記検証対象回路に含まれたレジスタのうち外部からアクセス不能な内部レジスタが記述されたＤＦＧを抽出する処理と、抽出されたＤＦＧの中から前記内部レジスタに関するデータの流れをあらわすパスを抽出する処理と、抽出されたパスに含まれる内部レジスタの状態遷移を前記ＤＦＧに基づいて特定する処理と、特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する処理と、パスに含まれる内部レジスタの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている内部レジスタを算出する処理と、算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成する処理とを含むことを要件とする。
【００１１】
この検証支援プログラム、検証支援装置および検証支援方法によれば、検証対象回路に含まれるレジスタのうち、外部からアクセス不能な内部レジスタの検証対象パスを網羅した検証シナリオを生成することができる。
【００１２】
また、この検証支援プログラム、検証支援装置および検証支援方法は、検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する処理と、前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する処理と、取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成する処理と、前記ＣＤＦＧに記述されているレジスタのうち、取得されたレジスタリストに含まれていないレジスタを実装時の構成に依存して搭載される実装依存レジスタとして抽出する処理と、生成されたＣＤＦＧから、抽出された実装依存レジスタが記述されたＤＦＧを抽出する処理と、抽出されたＤＦＧの中から前記実装依存レジスタに関するデータの流れをあらわすパスを抽出する処理と、抽出されたパスに含まれる実装依存レジスタの状態遷移を前記ＤＦＧに基づいて特定する処理と、特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する処理と、前記パスに含まれる実装依存レジスタの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている実装依存レジスタにパラメータとして代入される可能性のある値を算出する処理と、算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成する処理とを含むことを用件とする。
【００１３】
この検証支援プログラム、検証支援装置および検証支援方法によれば、検証対象回路に含まれるレジスタのうち、実装時の構成に依存して搭載される実装依存レジスタの検証対象パスを網羅した検証シナリオを生成することができる。
【発明の効果】
【００１４】
この検証支援プログラム、検証支援装置および検証支援方法によれば、検証対象レジスタに対する検証精度を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この検証支援プログラム、検証支援装置および検証支援方法の好適な実施の形態を詳細に説明する。この検証支援プログラム、検証支援装置および検証支援方法では、利用者が指定した特定のレジスタを検証対象とした網羅的なパラメータが設定された検証シナリオを生成することによって検証対象となるハードウェアの検証支援を実現する。
【００１６】
（検証支援処理の概要）
まず、本実施の形態にかかる検証支援処理の概要について説明する。図１は、本実施の形態にかかる検証支援処理の概要を示す説明図である。図１のように、ハードウェアの検証をおこなう場合には、検証対象となる回路（ここでは、検証対象回路１００）の構成からレジスタを分類する。この分類に応じてそれぞれ異なる手順により検証シナリオを生成する。
【００１７】
レジスタの分類は、下記の３つに大別される。本実施の形態では、これら３つに分類されたレジスタのうち、従来検証効率の低かった２．内部レジスタと、３．実装依存レジスタとを検証対象とした検証シナリオを生成する。
【００１８】
１．検証対象回路の外部からアクセス可能なＩ／Ｏレジスタ
例）検証対象回路１００のｒ１，ｒ２
２．仕様書の記載されている内部レジスタ
例）検証対象回路１００のＬ，ｔ
３．実装依存で有無が決まる仕様書に記載されていない実装依存レジスタ
例）検証対象回路１００のＳ
【００１９】
したがって、検証対象回路１００の場合、まず、Ｌ，ｔの内部レジスタに着目した検証シナリオ１を生成する（ステップＳ１０１）。さらに、Ｓの実装依存レジスタに着目した検証シナリオ２を生成する（ステップＳ１０２）。これら２つの検証シナリオを合わせることによって検証効率の高い検証シナリオを生成することができる（ステップＳ１０３）。なお、ステップＳ１０１，１０２の検証シナリオ１，２の生成順は問わない。
【００２０】
（検証支援装置のハードウェア構成）
図２は、検証支援装置のハードウェア構成を示すブロック図である。図２において、検証支援装置２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０８と、入力デバイス２０９と、出力デバイス２１０と、を備えている。また、各構成部はバス２２０によってそれぞれ接続されている。
【００２１】
ここで、ＣＰＵ２０１は、検証支援装置２００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムや、検証支援プログラムなどの各種プログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。なお、ＲＯＭ２０２には、検証支援プログラムによって生成された検証シナリオによる検証シミュレーションを実行する検証プログラムが記録されていてもよい。このような場合は、検証支援装置２００によって検証シナリオに留まらず、実際の検証結果まで提供することができる。
【００２２】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２３】
通信インターフェース（以下、「Ｉ／Ｆ」と略する。）２０８は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１１に接続され、このネットワーク２１１を介して他の装置に接続される。そして、通信Ｉ／Ｆ２０８は、ネットワーク２１１と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。通信Ｉ／Ｆ２０８には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２４】
入力デバイス２０９は、検証支援装置２００に対しての外部からの入力を受け付ける。入力デバイス２０９としては、具体的には、キーボード、マウスなどが挙げられる。
【００２５】
キーボードの場合、たとえば、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウスの場合、たとえば、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。また、ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２６】
出力デバイス２１０は、検証支援装置２００によって生成された検証シナリオや、検証シナリオによる検証結果などを出力する。出力デバイス２１０としては、具体的には、ディスプレイ、プリンタなどが挙げられる。
【００２７】
ディスプレイの場合、たとえば、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイとしてさらに、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。また、プリンタの場合、たとえば、画像データや文書データを印刷する。さらに、レーザプリンタやインクジェットプリンタを採用することができる。
【００２８】
（検証支援装置の機能的構成）
つぎに、検証支援装置２００の機能的構成について説明する。図３−１は、検証支援装置の機能的構成を示すブロック図である。検証支援装置２００は、記録部３０１と、取得部３０２と、ＣＤＦＧ生成部３０３と、ＤＦＧ抽出部３０４と、パス抽出部３０５と、特定部３０６と、判別部３０７と、算出部３０８と、シナリオ生成部３０９と、レジスタ抽出部３１０と、を含む構成である。この制御部となる機能（取得部３０２〜シナリオ生成部３０９）は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、通信Ｉ／Ｆ２０８により、その機能を実現する。
【００２９】
記録部３０１は、検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する機能部である。ＤＩＲＷマトリックスにおけるパスの妥当性に関する情報は、検証対象回路１００の設計意図が反映されている。記録部３０１は、たとえば、磁気ディスク２０５や光ディスク２０７などによって実現される。
【００３０】
取得部３０２は、検証支援装置２００の出力データであるパラメータ値付き検証シナリオを生成するための入力データを取得する機能部である。具体的に取得部３０２では、検証対象回路１００に対する検証内容をあらわす検証シナリオ（パラメータなし）と、検証対象回路１００の実装情報と、検証対象回路１００の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する。なお、取得されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３１】
ＣＤＦＧ生成部３０３は、取得部３０２によって取得された実装情報とレジスタリストとから、検証対象回路１００の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成する機能部である。なお、生成されたＣＤＦＧは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３２】
ＤＦＧ抽出部３０４は、ＣＤＦＧ生成部３０３によって生成されたＣＤＦＧから、検証対象回路１００に含まれたレジスタのうち検証対象レジスタとして指定されたレジスタが記述されたＤＦＧを抽出する機能部である。ここでは、上述した内部レジスタと実装依存レジスタとの２種類の検証対象レジスタのうち、内部レジスタを検証対象レジスタとして、以下説明をおこなう。なお、実装依存レジスタを検証対象レジスタとする場合には、検証対象回路２００の実装から実装依存レジスタを抽出する作業が必要となる。このレジスタの抽出についてはレジスタ抽出部３１０の説明の際に述べる。なお、抽出されたＤＦＧの情報は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３３】
パス抽出部３０５は、ＤＦＧ抽出部３０４によって抽出されたＤＦＧの中から内部レジスタに関するデータの流れをあらわすパスを抽出する機能部である。なお、抽出されたパスの情報は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３４】
特定部３０６は、パス抽出部３０５によって抽出されたパスに含まれる検証対象レジスタの状態遷移をＤＦＧに基づいて特定する機能部である。パスに含まれる実装依存レジスタの状態遷移とは、ＤＩＲＷマトリックスにおいて説明したような、Ｄｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の前状態と後状態との変化である。具体的には、ＤｅｃｌａｒｅからＲｅａｄへの遷移、ＩｎｉｔｉａｌｉｚｅからＷｒｉｔｅへの遷移などがあり、ＤＦＧの記述から判断することができる。なお、特定結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３５】
判別部３０７は、特定部３０６によって特定された状態遷移がＤＩＲＷマトリックスに設定されているかを判別する機能部である。なお、判別結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３６】
算出部３０８は、判別部３０７によってパスの状態遷移がＤＩＲＷマトリックスに設定されていると判別された場合、取得部３０２によって取得された検証シナリオと、ＣＤＦＧとを用いて、パスに接続されている内部レジスタにパラメータとして代入される可能性のある値を算出する。算出結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３７】
シナリオ生成部３０９は、算出部３０８によって算出された値を検証シナリオに設定したパラメータ値付き検証シナリオを生成する。なお、シナリオ生成部３０９によって生成されたパラメータ値付き検証シナリオは、たとえば、出力デバイス２０９においてディスプレイへの表示やプリンタへの印刷出力をおこなってもよいし、通信Ｉ／Ｆ２０８による外部装置へ送信してもよい。また、生成されたパラメータ値付き検証シナリオは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶してもよい。
【００３８】
このように、内部レジスタを検証対象レジスタとした場合は、検証支援装置２００の利用者が、仕様書から特定の内部レジスタを指定すれば、この内部レジスタを網羅的に検証する検証シナリオを生成することができる。一方、実装依存レジスタの場合、仕様書には記述されていないため、あらかじめ検証対象レジスタとして指定することができない。したがって、レジスタ抽出部３１０によって、検証対象回路１００に搭載されている実装依存レジスタを個別に抽出する必要がある。
【００３９】
レジスタ抽出部３１０は、ＣＤＦＧに記述されているレジスタのうち、取得部３０２によって取得されたレジスタリストに含まれていないレジスタを実装時の構成に依存して搭載される実装依存レジスタとして抽出する。具体的には、ＣＤＦＧに記述されているレジスタとレジスタリストに含まれているレジスタとを比較して、重複していないレジスタが、実装依存レジスタとなる。なお、抽出された実装依存レジスタの情報は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４０】
レジスタ抽出部３１０によって実装依存レジスタが抽出された場合、実装依存レジスタが検証対象レジスタとなる。したがって、ＤＦＧ抽出部３０４では、ＣＤＦＧ生成部３０３によって生成されたＣＤＦＧから、レジスタ抽出部３１０によって抽出された実装依存レジスタに関するデータの流れが記述されたＤＦＧを抽出する。以下、パス抽出部３０５〜シナリオ生成部３０９までにおこなわれた検証対象レジスタに関する処理は、すべて実装依存レジスタに関する処理として実行される。
【００４１】
なお、上述したように検証支援装置２００に含まれる特定のレジスタを検証対象レジスタとして検証シナリオを生成する場合、どのようなレジスタが検証対象レジスタに設定されたとしても、核となる処理は、検証支援装置２００の実装から検証を要するパス（以下「検証対象パス」という）を抽出する処理である。したがって、以下に検証対象パス抽出の手順について説明する。
【００４２】
図３−２は、検証対象パスの抽出手順を示すフローチャートである。図３−２のフローチャートにおいて、まず、検証対象回路１００のＣＤＦＧを取得する（ステップＳ３２１）。そして、取得したＣＤＦＧから検証対象レジスタを含むＤＦＧを抽出する（ステップＳ３２２）。このステップＳ３２２によって抽出したＤＦＧを参照して検証対象レジスタに関するパスを抽出する（ステップＳ３２３）。
【００４３】
さらに、ステップＳ３２３によって抽出したパスの状態遷移を特定し（ステップＳ３２４）、特定した状態遷移がＤＩＲＷマトリックス設定されているか否かを判断する（ステップＳ３２５）。ＤＩＲＷマトリックス設定されていなければ（ステップＳ３２５：Ｎｏ）、そのまま一連の処理を終了する。一方、ＤＩＲＷマトリックスに設定されている場合（ステップＳ３２５：Ｙｅｓ）、ＤＩＲＷマトリックスに設定されている妥当性に関する情報とともに検証対象レジスタの検証対象パスとして出力され（ステップＳ３２６）、一連の処理を終了する。
【００４４】
以上説明したように、本実施の形態にかかる検証支援処理では、検証対象レジスタを検証するために必要な検証対象パスを抽出することができる。さらに、設計意図が反映されたＤＩＲＷマトリックスを用意して検証対象パスと比較することによって、検証対象パスと妥当性に関する情報とが関連付けられて出力される。したがって、抽出された検証対象パスに対する網羅的に検証するための検証シナリオを容易に生成することができ、検証効率を向上させることができる。
【００４５】
つぎに、上述した検証対象パスの抽出処理を適用して検証効率の高い検証シナリオを生成する処理について具体例を挙げて説明する。
【００４６】
（検証シナリオの生成手順）
つぎに、検証シナリオの生成手順について説明する。図１にて説明したように本実施の形態では、仕様書に記載された内部レジスタと、仕様書に記載されていない実装依存レジスタとをそれぞれ検証対象として必要なパスを網羅するパラメータを設定した検証シナリオを生成する。したがって、以下内部レジスタを検証対象とした場合、実装依存レジスタを検証対象とした場合、それぞれの検証シナリオの生成手順について説明する。
【００４７】
＜１，仕様書に記載された内部レジスタの検証＞
まず、仕様書に記載された内部レジスタの検証について説明する。まず、検証シナリオ生成手順について説明する。図４は、内部レジスタを検証対象とした検証シナリオの生成手順を示すフローチャートである。ここで、実際の手順説明の前に検証シナリオ生成に用いる情報について説明する。本実施の形態は、下記のｉ）〜ｉｖ）の情報の入力を受け付けて検証シナリオを生成する。
【００４８】
ｉ）    検証シナリオ
ｉｉ）  検証対象となるレジスタのリスト
ｉｉｉ）ハードウェアの実装情報
ｉｖ）  ＤＩＲＷマトリックス
これらの情報については個々に説明する。特にｉｖ）ＤＩＲＷマトリックスの利用は、本実施の形態の特徴的な処理となる。
【００４９】
図４のフローチャートでは、まず、上記の情報のうちｉ）〜ｉｉｉ）が入力されることによって、検証シナリオの中の実行範囲を特定し（ステップＳ４０１）、実装記述を解析する（ステップＳ４０２）。その後、ｉｖ）のＤＩＲＷマトリックスが入力されることによってパスを抽出する（ステップＳ４０３）。その後、検証対象となる全レジスタに対する処理が終了したか否かを判断し（ステップＳ４０４）、全レジスタに対する処理が終了するまでパスの抽出処理を繰り返す（ステップＳ４０４：Ｎｏのループ）。そして、全レジスタに対する処理が終了すると（ステップＳ４０４：Ｙｅｓ）、パラメータが算出され（ステップＳ４０５）、パラメータ値付き検証シナリオが生成され（ステップＳ４０６）、一連の処理を終了する。以下、各ステップの処理内容について入力される情報とともに詳細に説明する。
【００５０】
（実行範囲を特定：ステップＳ４０１）
ステップＳ４０１では、システム全体のＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ：レジスタ転送レベル）記述と、システム全体の検証シナリオと、システム全体のレジスタリストとの情報が入力される（上記ｉ）〜ｉｉｉ）に相当）。ここで、図５は、検証対象回路の仕様書を示す説明図である。ステップＳ４０１において入力される検証対象回路１００の検証シナリオは、仕様書５００の記載内容に応じて設定される。
【００５１】
そして、図６は、検証シナリオの記載例を示す説明図である。図６の検証シナリオ６００は、図５にて説明した仕様書５００を反映した検証処理によって構成されている。また、図７は、仕様書に含まれるレジスタリスト例を示す説明図である。検証シナリオ６００に登場するレジスタは、それぞれレジスタリスト７００に記載されたような構成になっている。さらに、図８は、ＲＴＬ記述の記載例を示す説明図（内部レジスタ検証）である。このＲＴＬ記述８００がハードウェアの実装情報となる。また、ＲＴＬ記述８００の中の記述８０１は、レジスタリスト７００（図７参照）に記載されたレジスタに相当する。
【００５２】
以上説明した情報が入力されると、ステップＳ４０１ではＲＴＬ記述８００の全体から検証シナリオ６００によって検証を実行する範囲を抽出する。したがって、ステップＳ４０１の処理後、特定した範囲に関するＲＴＬ記述と、検証シナリオと、レジスタリストとが出力される。
【００５３】
なお、ステップＳ４０１における実行範囲の特定の際には、入力された情報に対して利用者が範囲抽出をおこなってもよいが、公知の技術を用いてもよい。たとえば、上記特許文献１に記載の技術を利用することによって容易に実行範囲を特定することができる。また、ステップＳ４０１の処理は、システム全体の中から利用者にとって検証を要する範囲を特定して検証支援をおこなうための選別処理となる。したがって、ステップＳ４０１によって検証支援処理全体の処理効率を向上させることができる。なお、ステップＳ４０１の処理を省略してシステム全体を検証対象としてもよい。
【００５４】
（実装記述の解析：ステップＳ４０２）
ステップＳ４０２では、ステップＳ４０１によって実行範囲が特定されたＲＴＬ記述（図８参照）と、レジスタリスト（図７参照）とが入力される。そして、入力されたＲＴＬ記述から制御の流れを表すＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）とデータの流をあらわすＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）とを生成する。
【００５５】
図９は、ＣＦＧの構成例を示す回路図（内部レジスタ検証）である。図９のＣＦＧ９００は、ＲＴＬ記述による制御の流れを視覚的にあらわしている。図８のＲＴＬ記述８００の場合は、記述８０２〜８０８によってデータの制御がおこなわれている。したがって、ＣＦＧ９００の処理の流れは記述８０２〜８０８相当となる。
【００５６】
また、ＣＦＧ９００には、５つのＤＦＧが含まれている。図１０−１〜図１０−５は、ＤＦＧ１〜５の構成を示す回路図（内部レジスタ検証）である。図１０−１〜図１０−５にあらわされたレジスタは、下記のようなパラメータが付与されそれぞれ演算がおこなわれる。なお、ＤＦＧ９００は、図８の記述８０２に相当する。また、ＤＦＧ１は図８の記述８０３に、ＤＦＧ２は記述８０４に、ＤＦＧ３は記述８０５に、ＤＦＧ４は記述８０６に、ＤＦＧ５は記述８０７，８０８に、それぞれ相当する。
【００５７】
・ｒ１＝ａ，ｒ２＝ｂ，ｒ３＝ｃ，ｒ４＝ｐ１，ｒ５＝ｐ２，ｒ６＝ｄ
・ｔ、Ｌ：内部レジスタ
・＋：加算
・Ｓ：面積を求める演算
【００５８】
上述のように、ＣＦＧと、ＤＦＧとが生成されると、これらの生成結果を用いてさらに、ＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が生成される。図１１は、ＣＤＦＧの構成例を示す回路図（内部レジスタ検証）である。図１１のように、ＣＤＦＧ１１００は、ＣＦＧ（図９参照）と、ＤＦＧ（図１０−１〜図１０−５参照）とを合成した構成となる。このＣＤＦＧの生成に関する技術として、たとえば、ＲＴＬ記述から回路生成をおこなう高位合成技術を用いてもよい（松永祐介、「高位合成技術の基礎」、電子情報通信学会ソサエティ大会、２００３年９月）。
【００５９】
さらに、図１２は、ＣＤＦＧのデータ構造を示す説明図（内部レジスタ検証）である。ステップＳ４０２では、最終的に、入力されたＲＴＬ記述に対応するＣＤＦＧのデータ１２００を出力する。ＣＤＦＧのデータ１２００は、図１２のようなデータ構造になっており、ＣＦＧごとに、ＣＦＧ内のＤＦＧが含まれた構造となっている。
【００６０】
（パスの抽出：ステップＳ４０３）
ステップＳ４０３では、ステップＳ４０２の実装記述の解析によって生成されたＣＤＦＧと、ＤＩＲＷマトリックスとが入力されＤＩＲＷに対応するパスが出力される。まず、ここで、ＤＩＲＷマトリックスについて説明する。図１３−１は、ＤＩＲＷマトリックスの状態遷移図（内部レジスタ検証）である。また、図１３−２は、ＤＩＲＷマトリックスを示す真理値表（内部レジスタ検証）である。
【００６１】
本実施の形態で利用するＤＩＲＷマトリックスとは、レジスタの状態遷移に応じたパスの状況をあらわした情報である。図１３−１の状態遷移図は、検証対象となるレジスタ（ここでは内部レジスタ）において実際に起こる可能性のある下記の４つの状態の遷移例をあらわしている。
【００６２】
・Ｄｅｃｌａｒｅ（定義）
・Ｉｎｉｔｉａｌｉｚｅ（初期化）
・Ｒｅａｄ（読み出し）
・Ｗｒｉｔｅ（書き込み）
【００６３】
なお、図１３−１の状態遷移図において、実線によって矢印が示されている遷移（たとえば、Ｗｒｉｔｅ→Ｒｅａｄなど）は、正しいパスを意味している。また、破線によって矢印が示されている遷移（たとえば、Ｗｒｉｔｅ→Ｉｎｉｔｉａｌｉｚｅなど）は、設計意図の確認を要するパスを意味している。また、矢印が示されていない遷移（たとえば、Ｄｅｃｌａｒｅ→Ｒｅａｄなど）は、バグとなるパスを意味している。なお、ここで説明するＤＩＲＷマトリックスの場合、Ｄｅｃｌａｒｅへの遷移は起こらないため、Ｄｅｃｌａｒｅへの遷移をあらわす矢印は存在しない。
【００６４】
そして、図１３−１の状態遷移を図表化したものが図１３−２の真理値表である。図１３−２では、遷移前（ｂｅｆｏｒｅ）から遷移後（ａｆｔｅｒ）のパスに対して、それぞれ妥当性に関する情報を３種類に分けて設定している。具体的には、正しいパスをあらわす「○」、設計意図の確認を要するパスをあらわす「△」、バグとなるパスをあらわす「×」となっている。
【００６５】
ステップＳ４０３では、上述したＤＩＲＷマトリックスを参照して特定の内部レジスタに関するパスを抽出する。図１４は、内部レジスタｔに関するパス抽出手順を示す説明図である。図１４を用いて内部レジスタｔに関するパス抽出手順について説明する。
【００６６】
ステップＳ４０２によって生成したＣＤＦＧにおいて、内部レジスタｔが利用される箇所は、ＤＦＧ１、ＤＦＧ２、ＤＦＧ４、ＤＦＧ５の４箇所である。したがって、この４箇所のＤＦＧにおける内部レジスタｔのパスにおいてどのような遷移が起こっているかが抽出される。したがって、内部レジスタｔの場合、下記のような抽出がおこなわれる。
【００６７】
・ＤＦＧ１の０をｔへＩｎｉｔｉａｌｉｚｅするパス（ステップＳ１４０１）
・ＤＦＧ２のｔへＳをＷｒｉｔｅするパス（ステップＳ１４０２）
・ＤＦＧ４のｔからｒ６へＲｅａｄするパス（ステップＳ１４０３）
・ＤＦＧ５のＬからｔへＷｒｉｔｅするパスとｔからｒ６へＲｅａｄするパス（ステップＳ１４０４）
ステップＳ４０３では、上述のように抽出されたパスに対してさらに、上述したパスの場合分け（×、△、○）に応じてそれぞれパスを抽出する。
【００６８】
まず、バグを生じる（×）パス抽出について説明する。図１５は、バグを生じるパス抽出を示す説明図（内部レジスタ検証）である。図１５の真理値表１５００に示すように、バグを生じるパスは、Ｄｅｃｌａｒｅ→Ｒｅａｄ（×１）と、Ｗｒｉｔｅ→Ｗｒｉｔｅ（×２）とが存在する。この２つのパスのうち、ＤＦＧ２と、ＤＦＧ５とにＷｒｉｔｅ→Ｗｒｉｔｅ（×２）のパスが存在しており、バグを生じる（×）パスとして抽出される。
【００６９】
つぎに、設計意図の確認を要する（△）パス抽出について説明する。図１６は、確認を要するパス抽出を示す説明図（内部レジスタ検証）である。図１６の真理値表１６００に示すように、確認を要するパスは、Ｄｅｃｌａｒｅ→Ｗｒｉｔｅ（△１）と、Ｉｎｉｔｉａｌｉｚｅ→Ｒｅａｄ（△２）と、Ｗｒｉｔｅ→Ｉｎｉｔｉａｌｉｚｅ（△３）とが存在する。この３つのパスのうち、ＤＦＧ１と、ＤＦＧ４とにＩｎｉｔｉａｌｉｚｅ→Ｒｅａｄ（△２）のパスが存在しており、確認を要する（△）パスとして抽出される。
【００７０】
最後に、正常な（○）パス抽出について説明する。図１７は、正常なパス抽出を示す説明図（内部レジスタ検証）である。図１７の真理値表１７００に示すように、正常なパスは、上述した５つのパス（×１，２および△１〜３）以外の７つのパスは正常なパスとなる。この７つのパスのうち、ＤＦＧ１には、Ｄｅｃｌａｒｅ→Ｉｎｉｔｉａｌｉｚｅ（○１）と、Ｉｎｉｔｉａｌｉｚｅ→Ｗｒｉｔｅ（○３）が存在している。また、ＤＦＧ２には、Ｉｎｉｔｉａｌｉｚｅ→Ｗｒｉｔｅ（○３）と、Ｗｒｉｔｅ→Ｒｅａｄ（○７）が存在している。また、ＤＦＧ４にはＷｒｉｔｅ→Ｒｅａｄ（○７）が存在し、ＤＦＧ５には、Ｉｎｉｔｉａｌｉｚｅ→Ｗｒｉｔｅ（○３）と、Ｗｒｉｔｅ→Ｒｅａｄ（○７）とが存在する。そして、これらのパスは正常な（○）パスとして抽出される。
【００７１】
このように、ステップＳ４０３では、ＤＩＲＷマトリックスを利用して検証対象となるレジスタ（上述の例では内部レジスタｔ）のパスをすべて検出することができる。なお、ステップＳ４０４によって、全レジスタに対する処理が終了したか否かを判断しているように、ステップＳ４０３のパス抽出は、検証対象となるレジスタすべてに対して順次おこなわれる。したがって、検証対象回路１００の場合は、内部レジスタｔの他に内部レジスタＬが存在するため、内部レジスタＬに対しても、上述のようなパス抽出を実行する。
【００７２】
（パラメータの算出：ステップＳ４０５）
ステップＳ４０６では、ステップＳ４０２の実装記述の解析によって生成されたＣＤＦＧと、ステップＳ４０４およびステップＳ４０５によって抽出されたＤＩＲＷに対応するパスとが入力される。そして、ステップＳ４０５では、これら入力された情報を用いてパラメータとして代入される可能性のある値を算出する。図１８は、パラメータの算出手順を示す説明図（内部レジスタ検証）である。なお、図１８では、内部レジスタｔに関してパラメータとして代入される可能性のある値を算出しているが、その後、他の内部レジスタ（たとえば、内部レジスタＬ）に関するパラメータを順次算出する。
【００７３】
図１８に示すように、たとえば、ＤＦＧ１では、Ｉ（Ｉｎｉｔｉａｌｉｚｅ）→Ｒ（Ｒｅａｄ）に関するパラメータの算出と、Ｄ（Ｄｅｃｌａｒｅ）→Ｉ（Ｉｎｉｔｉａｌｉｚｅ）に関するパラメータの算出と、Ｉ（Ｉｎｉｔｉａｌｉｚｅ）→Ｗ（Ｗｒｉｔｅ）に関するパラメータの算出とがおこなわれる。パラメータの算出の際には、特定の値（１/０）や任意の値がそれぞれ制御条件ごとに場合分けされ代入されることによって求められる。任意の値となるレジスタには、ＣＤＦＧに記述された制御条件に応じた値が代入される。
【００７４】
ＤＦＧ１と同様の処理がＤＦＧ２、ＤＦＧ５でもおこなわれる。ステップＳ４０５におけるパラメータの算出は、検証対象パス数に応じて複雑になるが、ソルバーやＭａｔｈｅｍａｔｉｃａなどの既存の演算アプリケーションを利用することによって容易に実現することができる。生成されたパラメータは、つぎのステップＳ４０６のパラメータ値付き検証シナリオ生成に利用される。
【００７５】
（パラメータ値付き検証シナリオの生成：ステップＳ４０６）
図１９は、パラメータが設定された検証シナリオの出力例を示す図表（内部レジスタ検証）である。ステップＳ４０６では、ステップＳ４０１によって実行範囲が特定された検証シナリオと、ステップＳ４０５によって算出されたパラメータが入力される。そして、検証シナリオにパラメータを設定して、図１９のようにパラメータ値付き検証シナリオ１９００として出力する。
【００７６】
＜２，実装時にのみあらわれる実装依存レジスタの検証＞
つぎに、実装時にのみあらわれる内部レジスタの検証について説明する。実装依存レジスタの検証の場合は、上述したように、実装依存レジスタを抽出する作業が必要となる。したがって、実装依存レジスタ抽出を含んだ検証シナリオの生成手順を説明する。なお、以下説明では、ｉｖ）ＤＩＲＷマトリックスと、ｉｉｉ）ハードウェアの実装情報（実装依存レジスタを含んだ例）のみ内部レジスタの検証とは異なるものを利用するが、他の入力情報（ｉ）検証シナリオ、ｉｉ）検証対象となるレジスタのリスト）については同じものを扱う。
【００７７】
図２０は、実装依存レジスタを検証対象とした検証シナリオの生成手順を示すフローチャートである。図２０のフローチャートでは、まず、上記の情報のうちｉ）〜ｉｉｉ）が入力されることによって、検証シナリオの中の実行範囲を特定し（ステップＳ２００１）、実装記述を解析する（ステップＳ２００２）。その後、実装依存レジスタを抽出する処理（２０００）がおこなわれる。
【００７８】
まず、実装からＤＦＧに記載されたレジスタのレジスタリストを生成する（ステップＳ２００３）、そして、ステップＳ２００３によって生成されたレジスタリストとステップＳ２００１において入力されたｉｉ）検証対象となるレジスタのリストとを比較し（ステップＳ２００４）、実装依存レジスタが抽出される。その後、この実装依存レジスタについてパスを抽出し（ステップＳ２００５）、検証対象となる全レジスタ（実装依存レジスタ）に対する処理が終了したか否かを判断し（ステップＳ２００６）、全レジスタに対する処理が終了するまでパスの抽出処理を繰り返す（ステップＳ２００６：Ｎｏのループ）。そして、全レジスタに対する処理が終了すると（ステップＳ２００６：Ｙｅｓ）、パラメータ値が算出され（ステップＳ２００７）、パラメータ値付き検証シナリオが生成され（ステップＳ２００８）、一連の処理を終了する。以下、各ステップの処理内容について入力される情報とともに説明する。
【００７９】
（実行範囲を特定：ステップＳ２００１）
ステップＳ２００１では、システム全体のＲＴＬ記述と、システム全体の検証シナリオと、システム全体のレジスタリストとの情報が入力される（上記ｉ）〜ｉｉｉ）に相当）。図２１は、実装依存レジスタを含むＲＴＬ記述の記載例を示す説明図である。図２１は、実装依存レジスタを含んだＲＴＬ記述の例であり、ＲＴＬ記述２１００における記述２１０１が実装依存レジスタをあらわす記述である。
【００８０】
以上説明した情報が入力されると、ステップＳ２００１ではＲＴＬ記述２１００の全体から検証シナリオ６００によって検証を実行する範囲を抽出する。したがって、ステップＳ２００１の処理後、特定した範囲に関するＲＴＬ記述と、検証シナリオと、レジスタリストとが出力される。
【００８１】
（実装記述の解析：ステップＳ２００２）
ステップＳ２００２では、ステップＳ２００１によって実行範囲が特定されたＲＴＬ記述（図２１参照）と、レジスタリスト（図７参照）とが入力される。そして、入力されたＲＴＬ記述から制御の流れを表すＣＦＧとデータの流をあらわすＤＦＧとを生成する。
【００８２】
図２２は、ＣＦＧの構成例を示す回路図（実装依存レジスタ検証）である。また、図２３−１〜図２３−５は、ＤＦＧ１〜５の構成を示す回路図（実装依存レジスタ検証）である。図２３−１〜図２３−５にあらわされたレジスタは、内部レジスタに関する検証と同様に各パラメータが付与されそれぞれ演算がおこなわれる。なお、ＤＦＧ２２００は、図２１の記述２１０２に相当する。また、ＤＦＧ１は図２１の記述２１０３に、ＤＦＧ２は記述２１０４に、ＤＦＧ３は記述２１０５に、ＤＦＧ４は記述２１０６に、ＤＦＧ５は記述２１０７に、それぞれ相当する。そして、ＣＦＧと、ＤＦＧとが生成されると、これらの生成結果を用いてさらに、ＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が生成される。
【００８３】
（実装に応じたレジスタリストの生成：ステップＳ２００３）
ステップＳ２００３では、ステップＳ２００２によって生成されたＣＤＦＧが入力される。そして、入力されたＣＤＦＧの中から検証対象回路１００に実装されているレジスタをあらわすレジスタリストを生成する。図２４は、ＤＦＧに関連するレジスタリストの生成を示す図表である。図２４のように、レジスタリスト２４００は、ＣＤＦＧの記述から生成されるため仕様書に含まれるレジスタをあらわすレジスタリスト７００（図７参照）とは、異なる構成となっている。
【００８４】
（レジスタリストの比較・抽出：ステップＳ２００４）
ステップＳ２００４では、ステップＳ２００３によって生成されたに実装レジスタをあらわすレジスタリストと、ステップＳ２００１によって入力されたｉｉ）検証対象となるレジスタのレジスタリストとの比較をおこない、実装依存レジスタを抽出する。
【００８５】
図２５は、レジスタリストの比較手順を示す説明図である。図２５においてリストａは、実装されているレジスタをあらわしている、また、リストｂは、ｉｉ）検証対象となるレジスタのレジスタリストをあらわしている。この２つのリストを比較し、重複しないレジスタをリストａから抽出する。なお、重複しないレジスタとは、片方のレジスタリストにのみ含まれているレジスタ（たとえば、レジスタｔｍｐ＿ｒｅｇ）のみならず、比較したレジスタ同士で型や種類などの属性が異なるレジスタ（たとえばレジスタｔ）も含む。
【００８６】
したがって、ステップＳ２００３によって検証対象回路１００の実装に対応した実装依存レジスタリストを生成することができる。図２６は、実装依存レジスタリストを示す図表である。図２６のレジスタリスト２６００では、実装依存レジスタと仕様書に含まれるレジスタとを網羅したリストとなっている。また、実装と仕様書とで属性の異なるレジスタは、実装された属性が反映されている。このようなレジスタリスト２６００を参照することによって実装依存レジスタが抽出される。また、レジスタリスト２６００の中の実装依存レジスタには抽出を容易にするために専用のフラグを付けておいてもよい。
【００８７】
（パスの抽出：ステップＳ２００５、２００６）
ステップＳ２００５では、ステップＳ２００２の実装記述の解析によって生成されたＣＤＦＧと、ＤＩＲＷマトリックスと、ステップＳ２００４によって抽出された実装依存レジスタとが入力されＤＩＲＷに対応するパスが出力される。図２７−１は、ＤＩＲＷマトリックスの状態遷移図（実装依存レジスタ検証）である。また、図２７−２は、ＤＩＲＷマトリックスを示す真理値表（実装依存レジスタ検証）である。このＤＩＲＷマトリックスは、図１３−１、図１３−２とＷ→Ｗのパスに関する妥当性が異なる設定になっている。
【００８８】
また、図２８は、実装依存レジスタｔｍｐ＿ｒｅｇに関するパス抽出手順を示す説明図である。生成されたＣＤＦＧにおいて、実装依存レジスタｔｍｐ＿ｒｅｇが利用される箇所は、ＤＦＧ２、ＤＦＧ３の２箇所である。したがって、この２箇所のＤＦＧにおける実装依存レジスタｔｍｐ＿ｒｅｇのパスにおいてどのような遷移が起こっているかが抽出される。したがって、実装依存レジスタｔｍｐ＿ｒｅｇの場合、下記のような抽出がおこなわれる。
【００８９】
・ＤＦＧ２のＳからｔｍｐ＿ｒｅｇへＷｒｉｔｅするパス（ステップＳ２８０１）
・ＤＦＧ２のｔｍｐ＿ｒｅｇからｔへＲｅａｄするパス（ステップＳ２８０１）
・ＤＦＧ３のｔｍｐ＿ｒｅｇからｔへＲｅａｄするパス（ステップＳ２８０２）
ステップＳ２００５では、上述のように抽出されたパスに対してさらに、上述したパスの場合分け（×、△、○）に応じてそれぞれパスを抽出する。
【００９０】
まず、バグを生じる（×）パス抽出について説明する。図２９は、バグを生じるパス抽出を示す説明図（実装依存レジスタ検証）である。図２９の真理値表２９００に示すように、バグを生じるパスは、Ｄｅｃｌａｒｅ→Ｒｅａｄ（×１）が存在し、この遷移がＤＦＧ３のパスに存在しており、バグを生じる（×）パスとして抽出される。
【００９１】
つぎに、設計意図の確認を要する（△）パス抽出について説明する。図３０は、確認を要するパス抽出を示す説明図（実装依存レジスタ検証）である。図３０の真理値表３０００に示すように、確認を要するパスは、Ｄｅｃｌａｒｅ→Ｗｒｉｔｅ（△１）と、Ｗｒｉｔｅ→Ｉｎｉｔｉａｌｉｚｅ（△２）と、Ｗｒｉｔｅ→Ｗｒｉｔｅ（△３）とが存在する。この３つのパスのうち、ＤＦＧ２におけるパスが、確認を要する（△）パスとして抽出される。
【００９２】
最後に、正常な（○）パス抽出について説明する。図３１は、正常なパス抽出を示す説明図（実装依存レジスタ検証）である。図３１の真理値表３１００に示すように、正常なパスは、上述した４つのパス（×１および△１〜３）以外の８つのパスは正常なパスとなる。この７つのパスのうち、ＤＦＧ２におけるパスが正常な（○）パスとして抽出される。
【００９３】
このように、ステップＳ２００５では、ＤＩＲＷマトリックスを利用して検証対象となるレジスタ（上述の例では実装依存レジスタｔｍｐ＿ｒｅｇ）のパスをすべて検出することができる。
【００９４】
（パラメータの算出：ステップＳ２００７）
ステップＳ２００７では、ステップＳ２００２の実装記述の解析によって生成されたＣＤＦＧと、ステップＳ２００５およびステップＳ２００６によって抽出されたＤＩＲＷに対応するパスとが入力される。そして、ステップＳ２００７では、これら入力された情報を用いてパラメータとして代入される可能性のある値を算出する。図３２は、パラメータの算出手順を示す説明図（実装依存レジスタ検証）である。なお、図３２では、実装依存レジスタｔｍｐ＿ｒｅｇに関してパラメータとして代入される可能性のある値を算出しているが、その後、他の実装依存レジスタ（たとえば、実装依存レジスタｔ）に関するパラメータを順次算出する。
【００９５】
図３２に示すように、たとえば、ＤＦＧ２では、Ｄ→Ｗに関するパラメータの算出と、Ｗ→Ｒに関するパラメータの算出がおこなわれる。また、ＤＦＧ３においても、同様に、Ｄ→Ｒに関するパラメータの算出がおこなわれる。
【００９６】
（パラメータ値付き検証シナリオの生成：ステップＳ２００８）
図３３は、パラメータが設定された検証シナリオの出力例を示す図表（実装依存レジスタ検証）である。ステップＳ２００８では、ステップＳ２００１によって実行範囲が特定された検証シナリオと、ステップＳ２００７によって算出されたパラメータが入力される。そして、検証シナリオにパラメータを設定して、図３３のようにパラメータ値付き検証シナリオ３３００として出力する。
【００９７】
なお、上述したパラメータ値付き検証シナリオの生成手順の説明では、内部レジスタを扱う場合と、実装依存レジスタを扱う場合とはそれぞれ独立した処理としていたが、一連の処理として扱うこともできる。図３４は、内部レジスタと実装依存レジスタとを検証対象とした検証シナリオの生成手順を示すフローチャートである。
【００９８】
図３４のフローチャートにおいて、ステップＳ３４０１〜ステップＳ３４０４の処理によって実装依存レジスタを抽出したのち、ステップＳ３４０５〜ステップＳ３４０８によって任意の検証対処レジスタ（内部レジスタや実装依存レジスタのうち指定されたレジスタ）を検証するパラメータ値付き検証シナリオを生成することができる（ステップＳ３４０９）。
【００９９】
以上説明したように、本実施の形態によれば、検証対象レジスタを検証するために必要な検証対象パスを抽出する。そして、抽出したパスの妥当性を考慮した網羅的な検証をおこなうためのパラメータ値付き検証シナリオを生成することができる。このようなパラメータ値付き検証シナリオを用いて検証対象回路１００の検証をおこなうことによって検証効率を向上させることができる。
【０１００】
なお、本実施の形態で説明した検証支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。
【０１０１】
また、本実施の形態で説明した検証支援装置２００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した検証支援装置２００の機能（記録部３０１〜レジスタ抽出部３１０）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、検証支援装置２００を製造することができる。
【０１０２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１０３】
（付記１）コンピュータを、
検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段、
前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を取得する取得手段、
前記検証対象回路の中の任意のレジスタが検証対象レジスタに指定された場合、前記取得手段によって取得されたＣＤＦＧから、前記検証対象レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記検証対象レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段、
前記パス抽出手段によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定手段、
前記特定手段によって特定されたパスの状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段、
前記判別手段によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、当該パスを前記検証対象レジスタの検証対象パスとして前記ＤＩＲＷマトリックスに設定されている妥当性に関する情報関連付ける関連付け手段、
前記関連付け手段によって関連付けられた前記検証対象パスと前記妥当性に関する情報とを出力する出力手段、
として機能させる検証支援プログラム。
【０１０４】
（付記２）コンピュータを、
検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得手段、
前記取得手段によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成手段、
前記ＣＤＦＧ生成手段によって生成されたＣＤＦＧから、前記検証対象回路に含まれたレジスタのうち外部からアクセス不能な内部レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記内部レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段、
前記パス抽出手段によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定手段、
前記特定手段によって特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段、
前記判別手段によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得手段によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている内部レジスタにパラメータとして代入される可能性のある値を算出する算出手段、
前記算出手段によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段、
として機能させることを特徴とする検証支援プログラム。
【０１０５】
（付記３）コンピュータを、
検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得手段、
前記取得手段によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成手段、
前記ＣＤＦＧに記述されているレジスタのうち、前記取得手段によって取得されたレジスタリストに含まれていないレジスタを実装時の構成に依存して搭載される実装依存レジスタとして抽出するレジスタ抽出手段、
前記ＣＤＦＧ生成手段によって生成されたＣＤＦＧから、前記レジスタ抽出手段によって抽出された実装依存レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記実装依存レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段、
前記パス抽出手段によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定手段、
前記判別手段によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得手段によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている実装依存レジスタにパラメータとして代入される可能性のある値を算出する算出手段、
前記算出手段によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段、
として機能させることを特徴とする検証支援プログラム。
【０１０６】
（付記４）コンピュータを、
検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得手段、
前記取得手段によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成手段、
前記ＣＤＦＧに記述されているレジスタのうち、前記取得手段によって取得されたレジスタリストに含まれていないレジスタを実装時の構成に依存して搭載される実装依存レジスタとして抽出するレジスタ抽出手段、
前記ＣＤＦＧ生成手段によって生成されたＣＤＦＧから、外部からアクセス不能な内部レジスタと、前記レジスタ抽出手段によって抽出された実装依存レジスタとが記述されたＤＦＧを抽出するＤＦＧ抽出手段、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記内部レジスタと、実装依存レジスタとに関するデータの流れをあらわすパスを抽出するパス抽出手段、
前記パス抽出手段によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定手段、
前記特定手段によって特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段、
前記判別手段によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得手段によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている内部レジスタまたは実装依存レジスタにパラメータとして代入される可能性のある値を算出する算出手段、
前記算出手段によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段、
として機能させることを特徴とする検証支援プログラム。
【０１０７】
（付記５）前記ＣＤＦＧ生成手段は、前記取得手段が、前記検証対象回路の中の検証対象となる範囲が限定された検証シナリオ、実装情報およびレジスタリストと取得した場合、前記範囲限定手段から出力された前記検証対象となる範囲に限定された特定された実装情報およびレジスタリストとから、前記検証対象回路のＣＤＦＧを生成し、
前記算出手段は、前記検証対象となる範囲が限定された検証シナリオと前記ＣＤＦＧとを用いて、前記パラメータを算出することを特徴とする付記２〜４のいずれか一つに記載の検証支援プログラム。
【０１０８】
（付記６）前記ＤＦＧ抽出手段は、前記ＣＤＦＧ生成手段によって生成されたＣＤＦＧから、任意の検証対象レジスタに関するデータの流れが記述されたＤＦＧを抽出し、
前記パス抽出手段は、前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記任意の検証対象レジスタに関するデータの流れをあらわすパスを抽出し、
前記特定手段は、前記パス抽出手段によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定し、
前記判別手段は、特定手段によって特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別し、
前記算出手段は、前記判別手段によって、前記ＤＩＲＷマトリックスに設定されていると判別されたパスを前記任意の検証対象レジスタの検証対象パスとして、前記取得手段によって取得された検証シナリオと前記ＣＤＦＧとに基づいて、前記任意の検証対象レジスタに代入される可能性のあるパラメータを算出することを特徴とする付記２〜５のいずれか一つに記載の検証支援プログラム。
【０１０９】
（付記７）検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段と、
前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を取得する取得手段と、
前記検証対象回路の中の任意のレジスタが検証対象レジスタに指定された場合、前記取得手段によって取得されたＣＤＦＧから、前記検証対象レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段と、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記検証対象レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段と、
前記パス抽出手段によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定手段と、
前記特定手段によって特定されたパスの状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段と、
前記判別手段によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、当該パスを前記検証対象レジスタの検証対象パスとして前記ＤＩＲＷマトリックスに設定されている妥当性に関する情報関連付ける関連付け手段と、
前記関連付け手段によって関連付けられた前記検証対象パスと前記妥当性に関する情報とを出力する出力手段と、
を備えることを特徴とする検証支援装置。
【０１１０】
（付記８）検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段と、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得手段と、
前記取得手段によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成手段と、
前記ＣＤＦＧ生成手段によって生成されたＣＤＦＧから、前記検証対象回路に含まれたレジスタのうち外部からアクセス不能な内部レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段と、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記内部レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段と、
前記パス抽出手段によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定手段と、
前記特定手段によって特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段と、
前記判別手段によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得手段によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている内部レジスタにパラメータとして代入される可能性のある値を算出する算出手段と、
前記算出手段によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段と、
を備えることを特徴とする検証支援装置。
【０１１１】
（付記９）検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段と、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得手段と、
前記取得手段によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成手段と、
前記ＣＤＦＧに記述されているレジスタのうち、前記取得手段によって取得されたレジスタリストに含まれていないレジスタを実装時の構成に依存して搭載される実装依存レジスタとして抽出するレジスタ抽出手段と、
前記ＣＤＦＧ生成手段によって生成されたＣＤＦＧから、前記レジスタ抽出手段によって抽出された実装依存レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出手段と、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記実装依存レジスタに関するデータの流れをあらわすパスを抽出するパス抽出手段と、
前記パス抽出手段によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定手段と、
前記判別手段によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得手段によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている実装依存レジスタにパラメータとして代入される可能性のある値を算出する算出手段と、
前記算出手段によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段と、
を備えることを特徴とする検証支援装置。
【０１１２】
（付記１０）検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスを記録する記録手段と、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得手段と、
前記取得手段によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成手段と、
前記ＣＤＦＧに記述されているレジスタのうち、前記取得手段によって取得されたレジスタリストに含まれていないレジスタを実装時の構成に依存して搭載される実装依存レジスタとして抽出するレジスタ抽出手段と、
前記ＣＤＦＧ生成手段によって生成されたＣＤＦＧから、外部からアクセス不能な内部レジスタと、前記レジスタ抽出手段によって抽出された実装依存レジスタとが記述されたＤＦＧを抽出するＤＦＧ抽出手段と、
前記ＤＦＧ抽出手段によって抽出されたＤＦＧの中から前記内部レジスタと、実装依存レジスタとに関するデータの流れをあらわすパスを抽出するパス抽出手段、
前記パス抽出手段によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定手段と、
前記特定手段によって特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別手段と、
前記判別手段によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得手段によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている内部レジスタまたは実装依存レジスタにパラメータとして代入される可能性のある値を算出する算出手段と、
前記算出手段によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成手段と、
を備えることを特徴とする検証支援装置。
【０１１３】
（付記１１）検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスをメモリに記録する記録工程と、
前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を取得する取得工程と、
前記検証対象回路の中の任意のレジスタが検証対象レジスタに指定された場合、前記取得工程によって取得されたＣＤＦＧから、前記検証対象レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出工程と、
前記ＤＦＧ抽出工程によって抽出されたＤＦＧの中から前記検証対象レジスタに関するデータの流れをあらわすパスを抽出するパス抽出工程と、
前記パス抽出工程によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定工程と、
前記特定工程によって特定されたパスの状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別工程と、
前記判別工程によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、当該パスを前記検証対象レジスタの検証対象パスとして前記ＤＩＲＷマトリックスに設定されている妥当性に関する情報関連付ける関連付け工程と、
前記関連付け工程によって関連付けられた前記検証対象パスと前記妥当性に関する情報とを出力する出力工程と、
を含むことを特徴とする検証支援方法。
【０１１４】
（付記１２）検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスをメモリに記録する記録工程と、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得工程と、
前記取得工程によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成工程と、
前記ＣＤＦＧ生成工程によって生成されたＣＤＦＧから、前記検証対象回路に含まれたレジスタのうち外部からアクセス不能な内部レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出工程と、
前記ＤＦＧ抽出工程によって抽出されたＤＦＧの中から前記内部レジスタに関するデータの流れをあらわすパスを抽出するパス抽出工程と、
前記パス抽出工程によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定工程と、
前記特定工程によって特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別工程と、
前記判別工程によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得工程によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている内部レジスタにパラメータとして代入される可能性のある値を算出する算出工程と、
前記算出工程によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成工程と、
を含むことを特徴とする検証支援方法。
【０１１５】
（付記１３）検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスをメモリに記録する記録工程と、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得工程と、
前記取得工程によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成工程と、
前記ＣＤＦＧに記述されているレジスタのうち、前記取得工程によって取得されたレジスタリストに含まれていないレジスタを実装時の構成に依存して搭載される実装依存レジスタとして抽出するレジスタ抽出工程と、
前記ＣＤＦＧ生成工程によって生成されたＣＤＦＧから、前記レジスタ抽出工程によって抽出された実装依存レジスタが記述されたＤＦＧを抽出するＤＦＧ抽出工程と、
前記ＤＦＧ抽出工程によって抽出されたＤＦＧの中から前記実装依存レジスタに関するデータの流れをあらわすパスを抽出するパス抽出工程と、
前記パス抽出工程によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定工程と、
前記判別工程によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得工程によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている実装依存レジスタにパラメータとして代入される可能性のある値を算出する算出工程と、
前記算出工程によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成工程と、
を含むことを特徴とする検証支援方法。
【０１１６】
（付記１４）検証対象回路に含まれるレジスタにおいてＤｅｃｌａｒｅと、Ｉｎｉｔｉａｌｉｚｅと、Ｒｅａｄと、Ｗｒｉｔｅとの４つの状態の中から生じる可能性のある状態遷移と当該状態遷移に応じたパスの妥当性に関する情報とが設定されたＤＩＲＷマトリックスをメモリに記録する記録工程と、
前記検証対象回路に対する検証内容をあらわす検証シナリオと、前記検証対象回路の実装情報と、前記検証対象回路の仕様書に含まれるレジスタの属性をあらわすレジスタリストとを取得する取得工程と、
前記取得工程によって取得された実装情報とレジスタリストとから、前記検証対象回路の実装時における制御の流れが記述されたＣＦＧ（Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ）に当該ＣＦＧ内のデータの流れが記述されたＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）が書き込まれたＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成するＣＤＦＧ生成工程と、
前記ＣＤＦＧに記述されているレジスタのうち、前記取得工程によって取得されたレジスタリストに含まれていないレジスタを実装時の構成に依存して搭載される実装依存レジスタとして抽出するレジスタ抽出工程と、
前記ＣＤＦＧ生成工程によって生成されたＣＤＦＧから、外部からアクセス不能な内部レジスタと、前記レジスタ抽出工程によって抽出された実装依存レジスタとが記述されたＤＦＧを抽出するＤＦＧ抽出工程と、
前記ＤＦＧ抽出工程によって抽出されたＤＦＧの中から前記内部レジスタと、実装依存レジスタとに関するデータの流れをあらわすパスを抽出するパス抽出工程、
前記パス抽出工程によって抽出されたパスの状態遷移を前記ＤＦＧに基づいて特定する特定工程と、
前記特定工程によって特定された状態遷移が前記ＤＩＲＷマトリックスに設定されているかを判別する判別工程と、
前記判別工程によって前記パスの状態遷移が前記ＤＩＲＷマトリックスに設定されていると判別された場合、前記取得工程によって取得された検証シナリオと前記ＣＤＦＧとを用いて、前記パスに接続されている内部レジスタまたは実装依存レジスタにパラメータとして代入される可能性のある値を算出する算出工程と、
前記算出工程によって算出された値を前記検証シナリオに設定したパラメータ値付き検証シナリオを生成するシナリオ生成工程と、
を含むことを特徴とする検証支援方法。
【図面の簡単な説明】
【０１１７】
【図１】本実施の形態にかかる検証支援処理の概要を示す説明図である。
【図２】検証支援装置のハードウェア構成を示すブロック図である。
【図３−１】検証支援装置の機能的構成を示すブロック図である。
【図３−２】検証対象パスの抽出手順を示すフローチャートである。
【図４】内部レジスタを検証対象とした検証シナリオの生成手順を示すフローチャートである。
【図５】検証対象回路の仕様書を示す説明図である。
【図６】検証シナリオの記載例を示す説明図である。
【図７】仕様書に含まれるレジスタリスト例を示す説明図である。
【図８】ＲＴＬ記述の記載例を示す説明図（内部レジスタ検証）である。
【図９】ＣＦＧの構成例を示す回路図（内部レジスタ検証）である。
【図１０−１】ＤＦＧ１の構成を示す回路図（内部レジスタ検証）である。
【図１０−２】ＤＦＧ２の構成を示す回路図（内部レジスタ検証）である。
【図１０−３】ＤＦＧ３の構成を示す回路図（内部レジスタ検証）である。
【図１０−４】ＤＦＧ４の構成を示す回路図（内部レジスタ検証）である。
【図１０−５】ＤＦＧ５の構成を示す回路図（内部レジスタ検証）である。
【図１１】ＣＤＦＧの構成例を示す回路図（内部レジスタ検証）である。
【図１２】ＣＤＦＧのデータ構造を示す説明図（内部レジスタ検証）である。
【図１３−１】ＤＩＲＷマトリックスの状態遷移図（内部レジスタ検証）である。
【図１３−２】ＤＩＲＷマトリックスを示す真理値表（内部レジスタ検証）である。
【図１４】内部レジスタｔに関するパス抽出手順を示す説明図である。
【図１５】バグを生じるパス抽出を示す説明図（内部レジスタ検証）である。
【図１６】確認を要するパス抽出を示す説明図（内部レジスタ検証）である。
【図１７】正常なパス抽出を示す説明図（内部レジスタ検証）である。
【図１８】パラメータの算出手順を示す説明図（内部レジスタ検証）である。
【図１９】パラメータが設定された検証シナリオの出力例を示す図表（内部レジスタ検証）である。
【図２０】実装依存レジスタを検証対象とした検証シナリオの生成手順を示すフローチャートである。
【図２１】実装依存レジスタを含むＲＴＬ記述の記載例を示す説明図である。
【図２２】ＣＦＧの構成例を示す回路図（実装依存レジスタ検証）である。
【図２３−１】ＤＦＧ１の構成を示す回路図（実装依存レジスタ検証）である。
【図２３−２】ＤＦＧ２の構成を示す回路図（実装依存レジスタ検証）である。
【図２３−３】ＤＦＧ３の構成を示す回路図（実装依存レジスタ検証）である。
【図２３−４】ＤＦＧ４の構成を示す回路図（実装依存レジスタ検証）である。
【図２３−５】ＤＦＧ５の構成を示す回路図（実装依存レジスタ検証）である。
【図２４】ＤＦＧに関連するレジスタリストの生成を示す図表である。
【図２５】レジスタリストの比較手順を示す説明図である。
【図２６】実装依存レジスタリストを示す図表である。
【図２７−１】ＤＩＲＷマトリックスの状態遷移図（実装依存レジスタ検証）である。
【図２７−２】ＤＩＲＷマトリックスを示す真理値表（実装依存レジスタ検証）である。
【図２８】実装依存レジスタｔｍｐ＿ｒｅｇに関するパス抽出手順を示す説明図である。
【図２９】バグを生じるパス抽出を示す説明図（実装依存レジスタ検証）である。
【図３０】確認を要するパス抽出を示す説明図（実装依存レジスタ検証）である。
【図３１】正常なパス抽出を示す説明図（実装依存レジスタ検証）である。
【図３２】パラメータの算出手順を示す説明図（実装依存レジスタ検証）である。
【図３３】パラメータが設定された検証シナリオの出力例を示す図表（実装依存レジスタ検証）である。
【図３４】内部レジスタと実装依存レジスタとを検証対象とした検証シナリオの生成手順を示すフローチャートである。
【符号の説明】
【０１１８】
１００  検証対象回路
２００  検証支援装置
３０１  記録部
３０２  取得部
３０３  ＣＤＦＧ生成部
３０４  ＤＦＧ抽出部
３０５  パス抽出部
３０６  特定部
３０７  判別部
３０８  算出部
３０９  シナリオ生成部
３１０  レジスタ抽出部
【図１】
0005050985.tif 000002
【図２】
0005050985.tif 000003
【図３−１】
0005050985.tif 000004
【図３−２】
0005050985.tif 000005
【図４】
0005050985.tif 000006
【図５】
0005050985.tif 000007
【図６】
0005050985.tif 000008
【図７】
0005050985.tif 000009
【図８】
0005050985.tif 000010
【図９】
0005050985.tif 000011
【図１０−１】
0005050985.tif 000012
【図１０−２】
0005050985.tif 000013
【図１０−３】
0005050985.tif 000014
【図１０−４】
0005050985.tif 000015
【図１０−５】
0005050985.tif 000016
【図１１】
0005050985.tif 000017
【図１２】
0005050985.tif 000018
【図１３−１】
0005050985.tif 000019
【図１３−２】
0005050985.tif 000020
【図１４】
0005050985.tif 000021
【図１５】
0005050985.tif 000022
【図１６】
0005050985.tif 000023
【図１７】
0005050985.tif 000024
【図１８】
0005050985.tif 000025
【図１９】
0005050985.tif 000026
【図２０】
0005050985.tif 000027
【図２１】
0005050985.tif 000028
【図２２】
0005050985.tif 000029
【図２３−１】
0005050985.tif 000030
【図２３−２】
0005050985.tif 000031
【図２３−３】
0005050985.tif 000032
【図２３−４】
0005050985.tif 000033
【図２３−５】
0005050985.tif 000034
【図２４】
0005050985.tif 000035
【図２５】
0005050985.tif 000036
【図２６】
0005050985.tif 000037
【図２７−１】
0005050985.tif 000038
【図２７−２】
0005050985.tif 000039
【図２８】
0005050985.tif 000040
【図２９】
0005050985.tif 000041
【図３０】
0005050985.tif 000042
【図３１】
0005050985.tif 000043
【図３２】
0005050985.tif 000044
【図３３】
0005050985.tif 000045
【図３４】
0005050985.tif 000046