(57)【特許請求の範囲】
【請求項１】
検証対象が有する特定の機能を実現するオブジェクトおよび当該オブジェクトの動作の流れを示すパス分析結果の入力を受け付けさせる入力工程と、
前記入力工程によって入力されたパス分析結果に基づいて、前記検証対象の論理検証に関する概略シナリオデータを生成させる概略シナリオデータ生成工程と、
前記論理検証に関する検証項目の集合の中から選ばれた前記検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を、前記パス分析結果ごとに表示画面に表示させる一覧表表示工程と、
前記一覧表表示工程によって表示された一覧表の中から、ユーザの操作入力によって任意のパス分析結果に関する検証項目の組み合わせの選択を受け付けさせる選択工程と、
前記選択工程によって選択された検証項目の組み合わせと、前記概略シナリオデータ生成工程によって生成された概略シナリオデータとを用いて、前記論理検証に関する検証シナリオデータを生成させる検証シナリオデータ生成工程と、
をコンピュータに実行させることを特徴とする検証シナリオ作成プログラム。
【請求項２】
前記概略シナリオデータを前記表示画面に表示させる概略シナリオデータ表示工程と、
前記概略シナリオデータ表示工程によって前記表示画面に表示された概略シナリオデータに対し、前記ユーザの操作入力により修正されたか否かを判断させる判断工程とを前記コンピュータに実行させ、
前記検証シナリオデータ生成工程は、
前記判断工程によって判断された判断結果に基づいて、前記論理検証に関する検証シナリオデータを生成させることを特徴とする請求項１に記載の検証シナリオ作成プログラム。
【請求項３】
請求項１または２に記載の検証シナリオ作成プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項４】
検証対象が有する特定の機能を実現するオブジェクトおよび当該オブジェクトの動作の流れを示すパス分析結果の入力を受け付ける入力手段と、
前記入力手段によって入力されたパス分析結果に基づいて、前記検証対象の論理検証に関する概略シナリオデータを生成する概略シナリオデータ生成手段と、
表示画面を有する表示手段と、
前記表示画面を制御して前記論理検証に関する検証項目の集合の中から選ばれた前記検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を、前記パス分析結果ごとに表示する表示制御手段と、
前記表示制御手段によって表示された一覧表の中から、ユーザの操作入力によって任意のパス分析結果に関する検証項目の組み合わせの選択を受け付ける選択手段と、
前記選択手段によって選択された検証項目の組み合わせと、前記概略シナリオデータ生成手段によって生成された概略シナリオデータとを用いて、前記論理検証に関する検証シナリオデータを生成する検証シナリオデータ生成手段と、
を備えることを特徴とする検証シナリオ作成装置。
【請求項５】
コンピュータが、
検証対象が有する特定の機能を実現するオブジェクトおよび当該オブジェクトの動作の流れを示すパス分析結果の入力を受け付ける入力工程と、
前記入力工程によって入力されたパス分析結果に基づいて、前記検証対象の論理検証に関する概略シナリオデータを生成する概略シナリオデータ生成工程と、
前記論理検証に関する検証項目の集合の中から選ばれた前記検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を、前記パス分析結果ごとに表示画面に表示する一覧表表示工程と、
前記一覧表表示工程によって表示された一覧表の中から、ユーザの操作入力によって任意のパス分析結果に関する検証項目の組み合わせの選択を受け付ける選択工程と、
前記選択工程によって選択された検証項目の組み合わせと、前記概略シナリオデータ生
成工程によって生成された概略シナリオデータとを用いて、前記論理検証に関する検証シナリオデータを生成する検証シナリオデータ生成工程と、
を実行することを特徴とする検証シナリオ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＬＳＩの論理検証をおこなう際の検証シナリオを作成する検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法に関する。
【背景技術】
【０００２】
ＬＳＩ設計では、ＬＳＩが正常に動作するか否かを検証する論理シミュレーションなどの論理検証作業によって動作確認をおこなうことが必要不可欠である。特に、大規模化、高機能化、高速化および低消費電力化が要求されているＬＳＩについては、高品質を維持するためにもこの論理検証作業は重要である一方、従来から設計期間の短縮による作業効率化が要求されている。
【０００３】
検証作業の効率化には、検証項目の抽出が重要となっており、たとえば、検証項目の抽出が少なすぎると歩留まりが下がってしまい、ＬＳＩの作り直しなどの手戻りが発生してしまい多大な作業工数の増加を生じてしまう。また、検証項目の抽出が多すぎる場合には、検証が冗長になり作業工数が増加してしまう。このように、適切な検証項目の抽出をおこなうことができない場合には、ＬＳＩ設計における設計期間の増加や製作コストの増加を招くこととなる。
【０００４】
さらに、検証項目を抽出した後に、実際に論理シミュレーションなどに利用するための検証シナリオを作成する必要がある。このとき、たとえば抽出された検証項目が膨大な量であった場合には、すべての検証項目を網羅した検証シナリオを作成することが困難である。また、誤った検証シナリオを利用した論理シミュレーションをおこなった場合には、論理シミュレーションのやり直しが生じてしまい、論理検証作業の長期化の原因となっている。
【０００５】
このため、従来より、論理検証作業をおこなう際における、ユーザによる検証作業の負担を低減させるために、検証項目の抽出、検証シナリオの作成および検証シナリオに基づく論理検証を、すべて自動でおこなうことができる検証シナリオ作成装置が提供されている（たとえば、下記特許文献１参照。）。
【０００６】
【特許文献１】特開２００６−８５３１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の検証シナリオ作成装置では、検証項目の抽出、検証シナリオの作成および当該検証シナリオに基づく論理検証などの一連の処理が自動的におこなわれるため、設計者は、具体的にどのような検証項目に対して論理検証がおこなわれたのかを検証シナリオ作成の途中で視認することができないという問題があった。
【０００８】
このため、熟練度の低い設計者などにとっては、検証シナリオを見ただけでは検証シナリオの正誤を判断することが難しかった。これにより、誤った検証シナリオを利用して論理検証がおこなわれてしまう場合があり、検証作業の精度の向上を図ることが難しかった。
【０００９】
また、熟練度の高い設計者が、経験やカンを頼りに検証結果の正誤を判断することも考えられるが、検証結果に誤りがあった場合には、抽出すべき検証項目の追加や削除などの修正をおこない、修正した検証項目に基づいた検証シナリオを作成する必要がある。この場合、あらたに作成した検証シナリオに基づいて、始めから論理検証をやり直す必要があり、依然としてＬＳＩ設計における設計期間の増加や製作コストの増加を招くこととなる。
【００１０】
さらに、上述した従来の検証シナリオ作成装置によって作成される検証シナリオは、論理検証をおこなう検証対象のアーキテクチャに依存しており、特定の設計範囲を超えたアーキテクチャに対しては使用することができないため、汎用性に乏しいという問題があった。
【００１１】
また、論理検証をおこなう検証対象のアーキテクチャに合わせて、検証シナリオ作成プログラムなどの構成を構築し直すことも考えられるが、プログラムを再構築するには多大な時間と労力を要する場合があり、設計期間の増加および製作コストの増加につながってしまうという問題があった。
【００１２】
この発明は、上述した従来技術による問題点を解消するため、精度の高い論理検証をおこなうとともに、検証作業の効率化を図ることができる検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、この発明にかかる検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法は、検証対象が有する特定の機能を実現するオブジェクトおよび当該オブジェクトの動作の流れを示すパス分析結果の入力を受け付け、入力されたパス分析結果に基づいて、前記検証対象の論理検証に関する概略シナリオデータを生成し、前記論理検証に関する検証項目の集合の中から選ばれた前記検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を前記パス分析結果ごとに表示画面に表示し、表示された一覧表の中から、ユーザの操作入力によって任意のパス分析結果に関する検証項目の組み合わせの選択を受け付け、選択された検証項目の組み合わせと、前記概略シナリオデータとを用いて、前記論理検証に関する検証シナリオデータを生成することを特徴とする。
【００１４】
この発明によれば、検証途中においてユーザに対して一覧表を提示することによって、論理検証をおこなう際の検証項目の妥当性を確認させることができ、適切な検証シナリオデータを生成することができる。また、検証対象ごとに作成されたパス分析結果に基づいて、各検証対象に応じた概略シナリオデータを生成することができるため、検証対象のアーキテクチャに依存しない論理検証をおこなうことができる。
【００１５】
また、上記発明において、生成された概略シナリオデータを表示画面に表示し、前記表示画面に表示された概略シナリオデータに対して、前記ユーザの操作入力により修正されたか否かを判断し、この判断結果に基づいて、前記論理検証に関する検証シナリオデータを生成することとしてもよい。
【００１６】
この発明によれば、検証シナリオ作成前においてユーザの操作入力による概略シナリオデータの修正を可能とし、修正された場合には、修正された概略シナリオデータを用いて検証シナリオを生成することができる。
【００１７】
また、上記発明において、前記表示画面に表示された前記論理検証に関する検証項目の集合の中から前記検証対象に関する論理検証に必要な検証項目の組み合わせを前記ユーザの操作入力によって選択することにより、前記一覧表を前記パス分析結果ごとに表示することとしてもよい。
【００１８】
この発明によれば、ユーザの操作入力により検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を作成することができる。
【００１９】
また、上記発明において、前記表示画面に表示された一覧表の検証項目と前記概略シナリオデータの記述内容とが適合するか否かを判断し、この判断結果に基づいて、前記概略シナリオデータの記述内容と適合していない前記一覧表の検証項目を強調表示することとしてもよい。
【００２０】
この発明によれば、概略シナリオデータの記述内容と適合していない一覧表の検証項目を、ユーザが直感的に認識することができる表示形式で表示することができる。
【発明の効果】
【００２１】
本発明にかかる検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法によれば、精度の高い論理検証をおこなうことができ、検証作業の効率化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照して、この発明にかかる検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法の好適な実施の形態を詳細に説明する。
【００２３】
（実施の形態）
＜検証シナリオ作成装置のハードウェア構成＞
まず、この発明の実施の形態にかかる検証シナリオ作成装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかる検証シナリオ作成装置のハードウェア構成を示すブロック図である。
【００２４】
図１において、検証シナリオ作成装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３とを備えている。また、各構成部は、バス１００によってそれぞれ接続されている。
【００２５】
ここで、ＣＰＵ１０１は、検証シナリオ作成装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記録している。ＲＡＭ１０３は、ＣＰＵ１０１のワークウェアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００２６】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータを検証シナリオ作成装置に読み取らせたりする。
【００２７】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８には、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２８】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２９】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様の機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３０】
スキャナ１１２は、画像を光学的に読み取り、検証シナリオ作成装置内に画像データを読み込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタなどを採用することができる。
【００３１】
＜検証シナリオ作成装置の機能的構成＞
つぎに、この発明の実施の形態にかかる検証シナリオ作成装置の機能的構成について説明する。図２−１は、この発明の実施の形態にかかる検証シナリオ作成装置の機能的構成を示すブロック図である。図２−１において、検証シナリオ作成装置は、入力部２０１と、概略シナリオデータ生成部２０２と、表示部２０３と、表示制御部２０４と、選択部２０５と、検証シナリオデータ生成部２０６と、判断部２０７と、から構成されている。
【００３２】
入力部２０１は、検証対象に関するパス分析結果の入力を受け付ける。検証対象とは、たとえば、特定の機能を有したＬＳＩなどであり、論理検証をおこなう際の対象となるものである。また、パス分析結果とは、検証対象が有する機能を実現するために必要なオブジェクトや当該オブジェクトの動作の流れなどが示された記述データである。このパス分析結果は、ユーザの操作入力などによって検証対象ごとに作成される。
【００３３】
概略シナリオデータ生成部２０２は、入力部２０１によって入力されたパス分析結果に基づいて、検証対象の論理検証に関する概略シナリオデータを生成する。概略シナリオデータとは、後述する検証シナリオデータの骨組みとなる中間データであり、上記オブジェクトの動作に関する定義などが示された記述データである。また、概略シナリオデータ生成部２０２は、入力部２０１によって入力されたパス分析結果ごとに概略シナリオデータを生成する。
【００３４】
表示部２０３は、表示画面を有する。表示制御部２０４は、表示画面を制御して論理検証に関する検証項目の集合の中から選択された検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を、パス分析結果ごとに表示画面に表示する。論理検証に関する検証項目の集合とは、ユーザによって任意に設定された検証項目の集合である。なお、ユーザによって任意に設定される検証項目の集合については図１４および図１５で後述する。
【００３５】
また、表示制御部２０４は、概略シナリオデータ生成部２０２によって生成された概略シナリオデータを表示画面に表示する。さらに、表示制御部２０４は、表示画面に表示された論理検証に関する検証項目の集合の中から検証対象に関する論理検証に必要な検証項目の組み合わせをユーザの操作入力によって選択することにより、一覧表をパス分析結果ごとに表示する。
【００３６】
選択部２０５は、表示制御部２０４によって表示された一覧表の中から、ユーザの操作入力によって任意のパス分析結果に関する検証項目の組み合わせの選択を受け付ける。ユーザの操作入力についての詳細な説明は後述する。
【００３７】
検証シナリオデータ生成部２０６は、選択部２０５によって選択された検証項目の組み合わせと、概略シナリオデータ生成部２０２によって生成された概略シナリオデータとを用いて、論理検証に関する検証シナリオデータを生成する。検証シナリオデータとは、検証対象のある機能を検証する場合に利用される当該機能の流れ（シナリオ）を示す記述データである。たとえば、ＣＰＵの演算器の機能を検証する場合、『Ａ＋Ｂ＝Ｃとなる』という動作がおこなわれるかどうかを検証するために演算器へ入力されるパターンデータである。
【００３８】
判断部２０７は、表示制御部２０４によって表示画面に表示された概略シナリオデータに対し、ユーザの操作入力により修正されたか否かを判断する。そして、検証シナリオデータ生成部２０６は、判断部２０７によって判断された判断結果に基づいて、論理検証に関する検証シナリオデータを生成する。
【００３９】
具体的には、ユーザは、表示画面に表示された概略シナリオデータの記述内容に誤りがあった場合などに、概略シナリオデータを任意に修正することができる。そして、検証シナリオデータ生成部２０６は、ユーザによって概略シナリオデータが修正された場合、修正された概略シナリオデータを用いて検証シナリオデータを生成する。
【００４０】
また、判断部２０７は、表示制御部２０４によって表示画面に表示された一覧表の検証項目と概略シナリオデータの記述内容とが適合するか否かを判断する。そして、表示制御部２０４は、判断部２０７によって判断された判断結果に基づいて、概略シナリオデータの記述内容と適合していない一覧表の検証項目を強調表示する。具体的には、たとえば、表示制御部２０４は、一覧表における概略シナリオデータの記述内容と適合していない検証項目が表示されているセルの色を変化させて強調表示する。
【００４１】
なお、入力部２０１、概略シナリオデータ生成部２０２、表示制御部２０４、選択部２０５および検証シナリオデータ生成部２０６は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５などの記録媒体に記録されているプログラムをＣＰＵ１０１に実行させることによって、またはＩ／Ｆ１０９によって、その機能を実現する。
【００４２】
＜検証シナリオ作成装置の検証シナリオ作成処理手順＞
図２−２は、この発明の実施の形態にかかる検証シナリオ作成装置における検証シナリオ作成処理手順を示すフローチャートである。図２−２において、まず、入力部２０１によって検証対象に関するパス分析結果の入力を待ち受ける（ステップＳ２０１：Ｎｏ）。
【００４３】
そして、パス分析結果が入力された場合（ステップＳ２０１：Ｙｅｓ）、概略シナリオデータ生成部２０２は、入力部２０１によって入力されたパス分析結果に基づいて、検証対象の論理検証に関する概略シナリオデータを生成する（ステップＳ２０２）。つぎに、表示制御部２０４は、論理検証に関する検証項目の集合の中から選択された検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を、パス分析結果ごとに表示画面に表示する（ステップＳ２０３）。
【００４４】
ここで、選択部２０５は、表示制御部２０４によって表示された一覧表の中から、ユーザの操作入力によって任意のパス分析結果に関する検証項目の組み合わせの選択を待ち受ける（ステップＳ２０４：Ｎｏ）。そして、選択された場合（ステップＳ２０４：Ｙｅｓ）、検証シナリオデータ生成部２０６は、選択部２０５によって選択された検証項目の組み合わせと、概略シナリオデータ生成部２０２によって生成された概略シナリオデータとを用いて、論理検証に関する検証シナリオデータを生成する（ステップＳ２０５）。
【００４５】
この検証シナリオ作成装置によれば、検証途中においてユーザに対して一覧表を提示することによって、論理検証をおこなう際の検証項目の妥当性を確認させることができ、適切な検証シナリオデータを生成することができる。このため、ユーザは、適切な検証シナリオデータを利用した、精度の高い論理検証をおこなうことができる。
【００４６】
また、検証シナリオ作成装置によれば、検証シナリオ作成前に、ユーザの操作入力による概略シナリオデータの修正を可能とし、修正された場合には、修正された概略シナリオデータを用いて検証シナリオを作成することができる。このため、ユーザは、検証途中において概略シナリオデータの内容を修正することができ、適切な検証シナリオを得ることができる。
【００４７】
さらに、検証シナリオ作成装置によれば、ユーザの操作入力により検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を作成することができる。これにより、検証対象に関する論理検証に必要な検証項目の組み合わせ作成時における、ユーザの利便性の向上を図ることができる。
【００４８】
また、検証シナリオ作成装置によれば、概略シナリオデータの記述内容と適合していない一覧表の検証項目を、ユーザが直感的に認識することができる表示形式で表示することができる。これにより、検証対象に関する論理検証に必要な検証項目の組み合わせ修正時におけるユーザの利便性の向上を図ることができる。
【００４９】
＜具体例＞
＜検証シナリオ作成装置の処理の概要＞
つぎに、この発明の実施の形態にかかる検証シナリオ作成装置の処理の概要を説明する。図３は、この発明の実施の形態にかかる検証シナリオ作成装置の処理の概要を示す説明図である。図３に示すように、検証シナリオ作成装置は、論理検証をおこなう際に利用する検証シナリオを最終的に出力するまでに、所定の中間ファイル（概略シナリオ、検証項目表）を出力することができる。
【００５０】
まず、検証シナリオ作成装置は、検証シナリオの骨組みとなる中間ファイルとして、概略シナリオを出力する。ここで、概略シナリオとは、論理検証をおこなう際に設定するパラメータ（たとえば、検証項目を指定するためのレジスタ値）にあまり依存しない中間ファイルである。この概略シナリオをユーザに提示することによって、検証途中の段階で概略シナリオの記述内容に誤りがないか確認させることができる。
【００５１】
具体的には、検証シナリオ作成装置は、入力部２０１（図２−１参照）によって入力されたパス分析結果、概略シナリオコマンド群、概略シナリオテンプレートおよびパス分析定義ファイルに基づいて、概略シナリオデータ生成部２０２（図２−１参照）が自動的に概略シナリオを生成し、出力する。なお、検証シナリオ作成装置に入力されるパス分析結果、概略シナリオテンプレート、概略シナリオコマンド群およびパス分析定義ファイルについての詳細な説明は後述する。
【００５２】
つぎに、検証シナリオ作成装置は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を利用したユーザの操作入力に基づいて検証項目表を作成する。検証項目表とは、検証シナリオ作成装置の表示制御部２０４（図２−１参照）によってディスプレイ１０８に表示された論理検証に関する検証項目の集合の中から選択された検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表である。
【００５３】
また、検証シナリオ作成装置は、パラメータの組み合わせを自動で作成することができる組み合わせ定義ファイルを読み込むことによって検証項目表を作成することができる。組み合わせ定義ファイルについての詳細な説明は後述する。そして、作成された検証項目表は、検証シナリオ作成装置の表示制御部２０４（図２−１参照）によってディスプレイ１０８に表示される。ユーザは、ディスプレイ１０８に表示された検証項目表を視認することによって、論理検証をおこなう際における検証項目の妥当性を確認することができる。
【００５４】
最後に、検証シナリオ作成装置は、概略シナリオ、検証項目表および入力されたレジスタ定義に基づいて、検証シナリオを作成する。具体的には、検証シナリオ作成装置の検証シナリオデータ生成部２０６（図２−１参照）が概略シナリオ、検証項目表における選択部２０５（図２−１参照）によって選択された検証項目の組み合わせおよび入力されたレジスタ定義に基づいて、検証シナリオを生成し、出力する。ここで、検証シナリオとは、たとえば、シミュレーションパラメータやシミュレーションシナリオなどであり、論理検証シミュレーションを実行する際に利用される。
【００５５】
また、ユーザによって検証項目表の内容を修正（たとえば、検証項目の追加や削除など）された場合には、検証シナリオ作成装置は、修正後の検証項目表を用いて検証シナリオを作成する。具体的には、検証シナリオ作成装置の判断部２０７（図２−１参照）によってユーザの操作入力により検証項目表が修正されたか否かを判断し、この判断結果に基づいて、検証シナリオデータ生成部２０６が検証シナリオデータを生成する。
【００５６】
このように、論理検証をおこなう際に利用される検証シナリオを作成するときに、段階的に概略シナリオや検証項目表などの中間ファイルの内容をユーザに確認させることによって、適切な検証シナリオによる精度の高い論理検証をおこなうことができる。
【００５７】
＜概略シナリオの作成処理＞
つぎに、検証シナリオ作成装置によって上述した概略シナリオを作成する処理について説明する。ここでは、画像転送機能に関するＬＳＩを検証対象として、論理検証をおこなう際の処理について説明する。図４は、画像データ転送機能の概略を示すユースケース図である。
【００５８】
図４には、画像データ転送機能を実現するためのオブジェクトとして、ＣＰＵ４０１、外部ブロック４０２、メモリ４０３および画像データ転送機能を有したＬＳＩを搭載した画像処理装置４０４が示されている。ここでは、ＣＰＵ４０１、外部ブロック４０２およびメモリ４０３が画像処理装置４０４に作用することによって、画像データを外部ブロック４０２からメモリ４０３に転送する機能を実現している。
【００５９】
具体的には、ＣＰＵ４０１の制御に基づいて、画像処理装置４０４は、外部ブロック４０２から出力された画像データを取り込み、取り込んだ画像データをメモリ４０３に転送する。以下、図４に示すユースケースが不具合なく機能するか否かを検証するための論理検証について説明する。
【００６０】
論理検証をおこなう場合に必要となる概略シナリオを作成するには、まず、画像データ転送処理をおこなう際における、ＣＰＵモデルの動作についてシナリオ化したパス分析結果を作成する。ＣＰＵモデルとは、画像データ転送処理を実現するために必要なオブジェクトであり、ここではＣＰＵ４０１、外部ブロック４０２、メモリ４０３および画像処理装置４０４を示している。
【００６１】
具体的には、たとえば、ユーザは、キーボード１１０を操作して、あらかじめ用意された分析結果テンプレートなどにデータを入力することによって、パス分析結果を作成する。なお、パス分析結果を自動作成することができるツールなどが存在する場合、ユーザは、このツールを用いてパス分析結果を自動で作成することができる。
【００６２】
図５は、パス分析結果の一例を示す説明図である。図５に示すパス分析結果には、パス番号、画像データ転送処理の概要、条件、オブジェクトおよび概要の流れを示すイベントフローが記述されている。パス番号は、パス分析結果が複数ある場合に、それぞれを区別するための番号である。また、条件とは、画像データ転送処理を実行する際の条件であり、ここでは、処理を実行中にエラーが発生しないことを条件としている。具体的には、たとえば画像データ転送処理を実行中にエラーが発生した場合には、一連の処理を強制終了するようにしてもよい。
【００６３】
ここで、パス分析結果に示す画像データ転送処理の概要に沿って、イベントフローの説明をおこなう。まず、検証シナリオ作成装置によってＣＰＵ４０１のレジスタが「ＣＥ＝１」に設定されると、画像処理装置４０４の内部の動作が開始する。このとき、外部ブロック４０２は、画像処理装置４０４に対して画像データを出力する。
【００６４】
つぎに、ＣＰＵ４０１のレジスタを初期化（ソフトリセット）すると、画像処理装置４０４の内部状態が初期化され（具体的には、画像処理装置４０４内部のカウンタが初期化される。）、動き始めることができる状態となる。つぎに、ＣＰＵ４０１は、外部ブロック４０２と画像処理装置４０４との間の動作タイミングを合わせるため「１フレーム」待って同期をとる。具体的には、たとえば、ＣＰＵ４０１は、画像処理装置４０４の内部カウンタにおけるカウント値が処理の値となった場合に、「１フレーム」完了したと判断する。
【００６５】
同期のため「１フレーム」待った後、ＣＰＵ４０１のレジスタを「ＯＥ＝１」に設定すると、画像処理装置４０４は、外部ブロック４０２から出力された画像データの取り込みを開始する。画像処理装置４０４によって取り込まれた画像データは、メモリ４０３に転送されて、書き込まれる。
【００６６】
そして、「１フレーム」分の処理が完了した場合、画像処理装置４０４は、割り込みを発生させ、ＣＰＵ４０１に通知する。つぎに、ＣＰＵ４０１は、画像処理装置４０４からの割り込みを受信した場合、画像処理装置４０４のステータスを確認して内部状態をクリアする。最後に、ＣＰＵ４０１のレジスタを「ＯＥ＝０、ＣＥ＝０」に設定し、一連の処理を停止する。
【００６７】
つぎに、検証シナリオ作成装置に入力される概略シナリオコマンド群について説明する。概略シナリオコマンドは、上述したイベントフローに出てくる動作を特定のコマンドに置き換えて定義するものである。図６は、概略シナリオコマンド群の一例を示す説明図である。図６には、上述したイベントフローに出てくる各種動作に対応する概略シナリオコマンドが示されている。
【００６８】
まず、レジスタ設定動作に関する概略シナリオコマンドについて説明する（図中（１）参照）。レジスタを設定する場合、設定するレジスタが一つ（単発）であり、レジスタ名が指定のときには、レジスタ名およびイベントフロー中の設定値を順に記述したものを概略シナリオコマンドとする。具体的には、たとえばレジスタ名が「ＣＥ」であり、設定値が「１」であった場合には、概略シナリオコマンドは『ＷＲＩＴＥ，ＣＥ，１』である。
【００６９】
また、ＣＰＵ４０１のレジスタを初期化する場合には、初期化するレジスタをひとまとめにして定義し、それぞれ、レジスタ名およびイベントフロー中の設定値を順に記述したものを概略シナリオコマンドとする。なお、初期化するレジスタを定義するときに、レジスタの設定値が未定の場合には、ここでは具体的な設定値を記述しなくてもよい。たとえば、レジスタの設定値が可変のパラメータである場合などには、設定値をここでは記述しない。
【００７０】
つぎに、同期のために「１フレーム」待つ動作の概略シナリオコマンドについて説明する（図中（２）参照）。ここでは、同期のための一連の動作が概略シナリオコマンドによって定義されている。具体的には、ＣＰＵ４０１は、同期のために「１フレーム」待つ場合、アドレス６０１のレジスタのレジスタ値を監視し、画像処理装置４０４の内部カウンタによってレジスタ値が「５２５」までカウントされた場合に、「１フレーム」完了したと判断し、つぎの処理に移行する。
【００７１】
つぎに、割り込み受信動作の概略シナリオコマンドについて説明する（図中（３）参照）。ここでは、割り込みが発生した場合に、フラグが「１」となる仕組みをあらかじめ作っておく。そして、ＣＰＵ４０１は、このフラグを監視し、フラグが「１」となったときに、割り込みを受信したと判断する。
【００７２】
ここで、検証シナリオ作成装置に入力される概略シナリオテンプレートおよびパス分析定義ファイルについて説明する。図７は、概略シナリオテンプレートおよびパス分析定義ファイルの一例を示す説明図である。概略シナリオテンプレートは、概略シナリオの骨組みとなるものであり、上述した概略シナリオコマンド群をあてはめる下地として定義されたものである。ここで示す概略シナリオテンプレートでは、『ｓｃｅｎａｒｉｏ（）｛』から、つぎの『｝』までの部分に概略シナリオコマンド群が順番に羅列される。
【００７３】
また、パス分析定義ファイルには、上述したパス分析結果の中から情報を取得するための定義が記述されている。パス分析定義ファイルには、まず、『ＩＮＩＴ』部分に、オブジェクトについてどの項目がＣＰＵモデルに対応しているかが定義されている。具体的には、『ＩＮＩＴ』部分における等式の左辺に、検証シナリオ作成装置において内部的に認識させるための文字列が定義されており、右辺に、具体的なオブジェクト名が定義されている。
【００７４】
さらに、パス分析定義ファイルには、『ＣＯＭＭＡＮＤ』部分に、パス分析結果に示すイベントフローに出てくる動作（イベント）に対応するコマンドが定義されている。具体的には、『ＣＯＭＭＡＮＤ』部分における等式の右辺に、具体的な動作に対応するキーワードが定義されており、左辺に、検証シナリオ作成装置において内部的に認識させるための文字列（コマンド）が定義されている。
【００７５】
なお、パス分析定義ファイル中の表記『＆』は、両隣に記述されているものが両方とも存在する場合に、等式が成立することを示しており、表記『｜』は、両隣に記述されているものどちらかが存在する場合に、等式が成立することを示している。
【００７６】
また、パス分析定義ファイルに記述されている定義は、上から順に優先度が高い。すなわち、後述する概略シナリオ出力処理において、パス分析定義ファイルにおける上に記述されているものから順に、一致または適合しているか否かを評価する。なお、パス分析結果が複数ある場合、パス分析定義ファイルに、複数のパス分析結果に記述されているすべてのオブジェクトおよび動作に対応するオブジェクト名およびコマンドを定義することができる。
【００７７】
＜概略シナリオ出力処理の手順＞
つぎに、この発明の実施の形態にかかる検証シナリオ作成装置における概略シナリオ出力処理の手順について説明する。図８は、この発明の実施の形態にかかる検証シナリオ作成装置における概略シナリオ出力処理の手順を示すフローチャートである。
【００７８】
図８のフローチャートにおいて、まず、検証シナリオ作成装置は、入力データの入力を受け付けたか否かを判断する（ステップＳ８０１）。具体的には、図２−１に示す入力部２０１が入力データの入力を受け付ける。検証シナリオ作成装置に入力される入力データとは、たとえば上述したパス分析結果、概略シナリオコマンド群、概略シナリオテンプレートおよびパス分析定義ファイルである。
【００７９】
ここで、入力データの入力を受け付けるのを待って、入力を受け付けた場合（ステップＳ８０１：Ｙｅｓ）、入力されたパス分析結果を読み込む（ステップＳ８０２）。ステップＳ８０１において、複数のパス分析結果の入力を受け付けた場合には、たとえば、入力を受け付けた順に一つずつパス分析結果を読み込む。
【００８０】
つぎに、読み込んだパス分析結果に基づいて、ＣＰＵモデル認識処理を実行する（ステップＳ８０３）。ＣＰＵモデル認識処理の具体的処理については後述する。さらに、ステップＳ８０２において、読み込んだパス分析結果に基づいて、コマンド登録処理を実行する（ステップＳ８０４）。コマンド登録処理の具体的処理については後述する。つぎに、コマンド登録処理において登録されたコマンドに基づいて、概略シナリオ出力処理を実行する（ステップＳ８０５）。概略シナリオ出力処理の具体的処理については後述する。
【００８１】
そして、ステップＳ８０１において入力を受け付けた、すべてのパス分析結果に対する処理が終了したか否かを判断する（ステップＳ８０６）。ここで、すべてのパス分析結果に対する処理が終了していない場合（ステップＳ８０６：Ｎｏ）は、ステップＳ８０２に戻り一連の処理を繰り返す。また、すべてのパス分析結果に対する処理が終了した場合（ステップＳ８０６：Ｙｅｓ）には、本フローチャートによる一連の処理を終了する。
【００８２】
なお、ステップＳ８０３、ステップＳ８０４およびステップＳ８０５において実行される処理は、図２−１に示す概略シナリオデータ生成部２０２によって実行される。
【００８３】
つぎに、ステップＳ８０３で示したＣＰＵモデル認識処理について具体的に説明する。図９は、ステップＳ８０３で示したＣＰＵモデル認識処理手順を示すフローチャートである。図９のフローチャートにおいて、検証シナリオ作成装置は、図８のステップＳ８０２において読み込んだパス分析結果に記述されているオブジェクトと、パス分析定義ファイルにおける『ＩＮＩＴ』部分に定義されているオブジェクトとが一致するか否かを判断する（ステップＳ９０１）。
【００８４】
上述したように、パス分析定義ファイルに定義されているオブジェクトは、上から順に優先度が高いため、ここでは一番上の項目から順に一致するか否かの判断をおこなう。具体的には、まず、パス分析結果に記述されているオブジェクトと、パス分析定義ファイルの『ＩＮＩＴ』部分の一番上の項目に記述されている等式の右辺のオブジェクト名とが一致するか否かを判断する。
【００８５】
ステップＳ９０１において一致した場合（ステップＳ９０１：Ｙｅｓ）は、一致したオブジェクトをＣＰＵモデルとして認識する（ステップＳ９０２）。具体的には、一致したオブジェクトを、パス分析定義ファイルにおける『ＩＮＩＴ』部分に記述されている等式の左辺の文字列として認識する。
【００８６】
つぎに、パス分析定義ファイルに定義されているすべての項目に対する判断が終了したか否かを判断する（ステップＳ９０３）。ここで、すべての項目に対する判断が終了していない場合（ステップＳ９０３：Ｎｏ）は、一致するか否かの判断をおこなう対象を１つ下の項目に移行し（ステップＳ９０４）、ステップＳ９０１に戻り一連の処理を繰り返す。
【００８７】
また、すべての項目に対する判断が終了した場合（ステップＳ９０３：Ｙｅｓ）は、本フローチャートによる一連の処理を終了する。このように、パス分析定義ファイルに定義されているすべての項目に対してそれぞれ一致するか否かの判断をおこない、パス分析結果に記述されているすべてのオブジェクトを認識する。
【００８８】
なお、たとえばパス分析結果に記述されているオブジェクトと一致するオブジェクトがパス分析定義ファイルに定義されていない場合などには、ユーザにその旨を通知するエラー処理を実行し、本フローチャートによる一連の処理を終了するように構成してもよい。この場合、ユーザは、たとえば、あらたなパス分析定義ファイルを再作成、または、パス分析定義ファイルの内容を修正し、図８に示す一連の処理を始めからやり直すようにしてもよい。
【００８９】
つぎに、ステップＳ８０４で示したコマンド登録処理について具体的に説明する。図１０は、ステップＳ８０４で示したコマンド登録処理手順を示すフローチャートである。図１０のフローチャートにおいて、検証シナリオ作成装置は、図８のステップＳ８０２において読み込んだパス分析結果に記述されているイベントフローの文字列がパス分析定義ファイルにおける『ＣＯＭＭＡＮＤ』部分に定義されているキーワードに適合するか否かを判断する（ステップＳ１００１）。
【００９０】
上述したように、パス分析定義ファイルに定義されているキーワードは、上から順に優先度が高いため、ここでは一番上の項目から順に適合するか否かの判断をおこなう。具体的には、まず、パス分析結果に記述されている一番始め（たとえば、図５に示すパス分析結果におけるイベントフローの数字「１」部分に相当）のイベントに対応した文字列と、パス分析定義ファイルの『ＣＯＭＭＡＮＤ』部分の一番上の項目に記述されている等式の右辺のキーワードとが適合するか否かを判断する。
【００９１】
ステップＳ１００１において適合した場合（ステップＳ１００１：Ｙｅｓ）は、適合したキーワードに応じたコマンドを登録する（ステップＳ１００２）。つぎに、パス分析結果に記述されているすべてのイベントに対する判断が終了したか否かを判断する（ステップＳ１００３）。
【００９２】
ここで、すべてのイベントに対する判断が終了していない場合（ステップＳ１００３：Ｎｏ）は、適合するか否かの判断をおこなうイベントをつぎのイベントに移行し（ステップＳ１００４）、ステップＳ１００１に戻り一連の処理を繰り返す。また、すべてのイベントに対する判断が終了した場合（ステップＳ１００３：Ｙｅｓ）には、本フローチャートによる一連の処理を終了する。
【００９３】
また、ステップＳ１００１において適合しなかった場合（ステップＳ１００１：Ｎｏ）は、つぎに、パス分析定義ファイルに定義されているすべての項目に対する判断が終了したか否かを判断する（ステップＳ１００５）。ここで、すべての項目に対する判断が終了していない場合（ステップＳ１００５：Ｎｏ）は、適合するか否かの判断をおこなう項目を１つ下の項目に移行し（ステップＳ１００６）、ステップＳ１００１に戻り一連の処理を繰り返す。
【００９４】
また、ステップＳ１００５において、すべての項目に対する判断が終了した場合（ステップＳ１００５：Ｙｅｓ）は、本フローチャートによる一連の処理を終了するようにしてもよい。この場合、イベントフローの文字列に適合する項目が存在していないこととなるため、たとえば、その旨をユーザに通知し、パス分析定義ファイルの再作成、または、修正を促すなどのエラー処理を実行するように構成してもよい。
【００９５】
このように、パス分析定義ファイルに定義されているすべての項目に対してそれぞれ適合するか否かの判断をおこない、パス分析結果に記述されているすべてのイベントに対応するコマンドを登録する。
【００９６】
つぎに、ステップＳ８０５で示した概略シナリオ出力処理について具体的に説明する。図１１は、ステップＳ８０５で示した概略シナリオ出力処理手順を示すフローチャートである。図１１のフローチャートにおいて、検証シナリオ作成装置は、図１０のステップＳ１００２において登録されたコマンドを概略シナリオコマンドに置き換える（ステップＳ１１０１）。このとき、ステップＳ１００２において登録されたコマンドを、登録された順に概略シナリオコマンドに置き換える。
【００９７】
そして、置き換えた概略シナリオコマンドを概略シナリオテンプレートに出力する（ステップＳ１１０２）。具体的には、図７に示す概略シナリオテンプレートの『ｓｃｅｎａｒｉｏ（）｛』から、つぎの『｝』までの部分に、ステップＳ１１０１において置き換えられた概略シナリオコマンドが順番に羅列される。
【００９８】
つぎに、ステップＳ１００２において登録されたすべてのコマンドを概略シナリオコマンドに置き換えたか否かを判断する（ステップＳ１１０３）。ここで、すべてのコマンドを置き換えていない場合（ステップＳ１１０３：Ｎｏ）は、ステップＳ１１０１に戻り一連の処理を繰り返す。
【００９９】
また、すべてのコマンドを置き換えた場合（ステップＳ１１０３：Ｙｅｓ）には、作成した概略シナリオを出力し（ステップＳ１１０４）、本フローチャートによる一連の処理を終了する。図１２は、検証シナリオ作成装置によって出力された概略シナリオの一例を示す説明図である。
【０１００】
概略シナリオは、検証シナリオの骨組みとなるものである。ユーザは、中間的に出力された概略シナリオによって検証項目の概要を確認することができる。ここで、ユーザが概略シナリオに定義されている内容の間違いに気づいた場合には、この段階で概略シナリオの修正をおこなうことができる。このため、最終的に検証シナリオを作成した後に、修正箇所を探し、修正する場合などに比べて、手戻りを少なくすることができ検証作業の効率化を図ることができる。
【０１０１】
なお、ここでは、出力された概略シナリオに対して、『パス分析結果のパス番号（ＵＣをＵＣＶに変換する）−Ｐ（出力された順番を示す数字）』の形式でシナリオ番号を付す。具体的には、たとえば、パス番号が『ＵＣ０１−Ｂ０１』であった場合には、シナリオ番号は『ＵＣＶ０１−Ｂ０１−Ｐ０１』となる。
【０１０２】
以上説明したように、ユーザは、パス分析結果、概略シナリオコマンド群、概略シナリオテンプレートおよびパス分析定義ファイルを検証シナリオ作成装置に入力することによって、概略シナリオを自動的に作成することができる。このように、論理検証をおこなう際の設定パラメータに依存しない概略シナリオを、検証対象に応じてあらかじめ作成することによって、検証対象のアーキテクチャに依存しない論理検証をおこなうことができる。
【０１０３】
さらに、ユーザは、出力された概略シナリオの内容を確認することによって、論理検証作業の途中の段階で、間違った箇所の修正をおこなうことができる。このとき、ユーザは、概略シナリオの細切れの部分を修正するだけでよいため、修正作業による手戻りを削減することができる。また、修正された適切な概略シナリオを用いて検証シナリオを作成することができるため、精度の高い論理検証を実現することができる。
【０１０４】
＜検証シナリオ作成処理＞
つぎに、この発明の実施の形態にかかる検証シナリオ作成装置における検証シナリオ作成処理について説明する。検証シナリオ作成装置は、入力された概略シナリオ、レジスタ定義ファイルおよび検証項目表に基づいて、検証シナリオを作成する。
【０１０５】
検証シナリオは、論理検証をおこなう際の論理シミュレーションなどに利用される。この検証シナリオの内容が誤っている場合などには、精度の高い論理検証をおこなうことができない。このため、この発明の実施の形態にかかる検証シナリオ作成装置においては、ユーザによる確認がおこなわれた概略シナリオを用いることによって、適切な検証シナリオを作成することができる。
【０１０６】
＜レジスタ定義ファイル＞
まず、検証シナリオを作成する際に必要となるレジスタ定義について説明する。図１３は、レジスタ定義ファイルの一例を示す説明図である。ここで、レジスタ定義ファイルとは、ＣＰＵ４０１内部のレジスタに関する定義を示すものである。具体的には、たとえばレジスタ定義ファイルには、モジュール名、モジュール名で示す機能の開始アドレス、レジスタ名、レジスタのビット幅、属しているモジュール、ビットの説明（開始ビット位置、終了ビット位置、初期値、典型値、最大値、最小値）などが定義されている。レジスタ定義ファイルには、これらの定義が各レジスタごとに記載されている。
【０１０７】
＜検証項目表＞
つぎに、検証シナリオを作成する際に必要となる検証項目表について説明する。図１４は、論理検証をおこなう際の検証項目をあらわした検証項目表の一例を示す図表（その１）である。また、図１５は、論理検証をおこなう際の検証項目をあらわした検証項目表の一例を示す図表（その２）である。
【０１０８】
図１４には、検証項目表として全体パラメータ表１４００と、制御系レジスタ値に関するパラメータ定義表１４１０とが示されている。全体パラメータ表１４００には、実際に論理検証をおこなう際の検証項目がシナリオ番号ごとに示されている。ユーザは、この全体パラメータ表１４００の内容を確認することによって、論理検証をおこなう際における検証項目の妥当性を検討することができる。
【０１０９】
全体パラメータ表１４００は、パラメータ定義表１４１０および後述するパラメータ定義表１５１０，１５２０の内容に基づいて作成される。具体的には、たとえばユーザがキーボード１１０を操作することによって、全体パラメータ表１４００のテンプレートに値を入力し、全体パラメータ表１４００を完成させる。また、ユーザは、検証シナリオ作成装置に組み合わせ定義ファイルを入力することによって、自動で全体パラメータ表１４００を作成することもできる。
【０１１０】
パラメータ定義表１４１０には、設定しなければならない制御系のレジスタに関するパラメータが定義されている。たとえば、動作の制御を変更することができる機能を有したレジスタ（図１４に示す「ＭｏｄｅＲｅｇｉｓｔｅｒ」）が存在した場合、この機能の組み合わせなどを考慮して、動作モード（同期方法、垂直倍率、水平倍率）に応じたパラメータをパラメータ定義表１４１０に定義する。ここでは、制御系の検証項目として、同期方法、垂直倍率および水平倍率が設定されている。
【０１１１】
パラメータ定義表１４１０に示す「ＭｏｄｅＲｅｇｉｓｔｅｒ」は、記憶容量が５ビットのレジスタであり、それぞれのビットには名前が付けられている。具体的には、「ＭｏｄｅＲｅｇｉｓｔｅｒ」の４ビット目には「ＳＹＮＣ」、２ビット目および３ビット目には「ＶＭＲ」、０ビット目および１ビット目には「ＨＭＲ」と名前が付けられている。
【０１１２】
そして、「ＭｏｄｅＲｅｇｉｓｔｅｒ」内のそれぞれのビットを使用して、パラメータ定義表１４１０に示されている内容をあらわすことができる。具体的には、たとえば、「ＭｏｄｅＲｅｇｉｓｔｅｒ」の４ビット目（「ＳＹＮＣ」）に「０」を入れた場合、『外部信号に同期する』という内容をあらわし、「ＭｏｄｅＲｅｇｉｓｔｅｒ」の４ビット目（「ＳＹＮＣ」）に「１」を入れた場合、『外部信号に同期しない』という内容をあらわすことができる。
【０１１３】
つぎに、図１５には、データ系レジスタ値（その１）に関するパラメータ定義表１５１０およびデータ系レジスタ値（その２）に関するパラメータ定義表１５２０が示されている。ここで、データ系とは、制御系のレジスタに対して依存性がないものである。上述した制御系のレジスタ設定値のすべての組み合わせに対して、データ系のレジスタ設定値を組み合わせて論理検証をおこなう。ここでは、データ系の検証項目として、変換係数（パラメータ定義表１５１０）および割り込みタイミング（パラメータ定義表１５２０）が設定されている。
【０１１４】
パラメータ定義表１５１０において、「ＭＩＮＭＡＸ」、「Ｋ０」および「Ｋ１」の３つのレジスタによって変換係数のパラメータが定義されている。具体的には、「ＭＩＮＭＡＸ」、「Ｋ０」および「Ｋ１」内のそれぞれのビットを使用して、パラメータ定義表１５１０に示されている内容をあらわすことができる。
【０１１５】
また、パラメータ定義表１５２０において、「ＡｃｔｉｖｅＳｔａｒｔＬｉｎｅ１」および「ＡｃｔｉｖｅＳｔａｒｔＬｉｎｅ２」のレジスタによって割り込みタイミングが定義されている。具体的には、「ＡｃｔｉｖｅＳｔａｒｔＬｉｎｅ１」および「ＡｃｔｉｖｅＳｔａｒｔＬｉｎｅ２」内のそれぞれのビットを使用して、パラメータ定義表１５２０の内容をあらわすことができる。
【０１１６】
パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０は、ユーザの手作業によって作成される。具体的には、たとえばユーザは、パラメータ定義表テンプレートに論理検証をおこなう検証対象に応じた検証項目を任意に設定し、それぞれに対応する値をキーボード１１０などを操作して入力することにより、パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０を作成する。また、パラメータに関する定義を示す図表は、検証対象に合わせて作成する。
【０１１７】
そして、ユーザは、パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０の内容を基に、全体パラメータ表１４００を作成する。最終的に、検証シナリオ作成装置は、全体パラメータ表１４００からパラメータを抽出し、上述した概略シナリオおよびレジスタ定義ファイルから検証シナリオを作成する。
【０１１８】
この全体パラメータ表１４００に相当する表を、熟練の設計者のノウハウとして複数作成しておくことによって、初心者でも熟練者と同等の精度で論理検証をおこなうことができる。
【０１１９】
＜ＧＵＩを利用した検証項目表作成＞
つぎに、ユーザがＧＵＩを利用して、全体パラメータ表１４００に相当する検証項目表を作成する際の処理について説明する。ＧＵＩ上で検証項目表を作成する場合、ユーザは、ディスプレイ１０８に表示された内容を確認しつつ、簡単な操作入力によって検証項目表を作成することができる。
【０１２０】
図１６は、ＧＵＩを利用して、検証項目表を作成する際の概要を示す説明図である。ＧＵＩを利用して検証項目表を作成する場合にも、まず、ユーザの手作業によって、パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０を作成する。
【０１２１】
そして、ユーザは、ＧＵＩ上において、パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０に定義されているパラメータの種別（制御系／データ系）、重要度、項目などに応じて組み合わせを作り、検証項目表を作成する。また、ユーザは、作成した検証項目表、概略シナリオおよびレジスタ定義を検証シナリオ作成装置に入力することによって、入力データに基づいた検証シナリオを自動で作成することができる。
【０１２２】
ここで、ＧＵＩを利用して検証項目表を作成する際の具体的な処理について説明する。図１７は、検証項目表を作成する際におけるディスプレイの表示内容（その１）を示す説明図である。図１７に示すように、ＧＵＩを利用して検証項目表を作成する際には、まず、組み合わせアシスト画面１７００がディスプレイ１０８に表示される。
【０１２３】
組み合わせアシスト画面１７００には、組み合わせを自動で作成する際における、組み合わせの順番が示されている。なお、ここでは、組み合わせの順番などがあらかじめ設定された状態となっているが、組み合わせの順番や内容をユーザが任意に変更することができるように構成してもよい。
【０１２４】
ユーザは、組み合わせアシスト画面１７００の内容を視認することによって、組み合わせの順番を確認することができる。つぎに、ユーザが、マウス１１１などによってディスプレイ１０８に表示されているカーソルを操作し、「次へボタン」をクリックした場合、ディスプレイ１０８の表示内容が切り替わる。
【０１２５】
図１８は、検証項目表を作成する際におけるディスプレイの表示内容（その２）を示す説明図である。図１８には、組み合わせを作成する際における選択可能な設定方法が示されている。具体的には、たとえば、組み合わせアシスト画面１８００には、「すべての組み合わせを作成」、「条件を指定しながら組み合わせを作成」、「組み合わせ定義ファイルを読み込む」などの設定方法が示されている。
【０１２６】
ここで、ユーザは、組み合わせを作成する際における設定方法を選択することができる。なお、組み合わせ定義ファイルとは、外部のエディタなどで作成した条件式が定義されたものであり、この組み合わせ定義ファイルを検証シナリオ作成装置に入力することによって自動で組み合わせを作成することができる。以下、「すべての組み合わせを作成」を選択した場合について説明する。
【０１２７】
ユーザが設定方法を選択し、「次へボタン」をクリックした場合、ディスプレイ１０８の表示内容が切り替わる。図１９は、検証項目表を作成する際におけるディスプレイの表示内容（その３）を示す説明図である。図１９に示す組み合わせアシスト画面１９００には、組み合わせを作成する際の条件として、ユーザが指定した重要度に対する組み合わせが表示される。ここでは、ユーザによってまだ何も指定されていないため、組み合わせアシスト画面１９００には、何も表示されていない。
【０１２８】
ここで、ユーザが、組み合わせアシスト画面１９００における「編集ボタン」をクリックした場合、ディスプレイ１０８の表示内容が切り替わる。図２０は、検証項目表を作成する際におけるディスプレイの表示内容（その４）を示す説明図である。図２０には、重要度に対する組み合わせを指定する際に、ディスプレイ１０８に表示される組み合わせ編集画面２０００が示されている。
【０１２９】
ここで、ユーザは、重要度に対する組み合わせを編集することができる。まず、ユーザは、「条件」として制御系の項目を選択する。具体的には、たとえば、ユーザがマウス１１１を操作して、「条件」として指定したい項目をリスト２００１からドラッグ＆ドロップで選択する。
【０１３０】
つぎに、ユーザは、「対象」としてデータ系の項目を選択する。具体的には、たとえば、ユーザがマウス１１１を操作して、「対象」として指定したい項目をリスト２００１からドラッグ＆ドロップで選択する。ここで、リスト２００１とは、パラメータ定義表１４１０（図１４参照）に示す制御系の項目、および、パラメータ定義表１５１０、１５２０（図１５参照）に示すデータ系の項目を羅列したものである。
【０１３１】
図２１は、検証項目表を作成する際におけるディスプレイの表示内容（その５）を示す説明図である。図２１には、重要度に対する組み合わせを編集した後の、組み合わせ編集画面２１００が示されている。ここでは、「条件」として「同期方法」が選択され、重要度が「Ａ」に設定されている。さらに、「条件」として「水平倍率」が選択され、重要度が「Ｃ」に設定されている。
【０１３２】
また、「対象」として「変換係数」が選択され、重要度が「Ａ」に設定されている。さらに、「対象」として「ＡＬＬ」が選択され、重要度が「Ａ」および「Ｂ」に設定されている。ここで、「ＡＬＬ」とは、すべての項目を選択することを示している。なお、ここで項目として選択されていないものに関しては、すべての値を取り得ることとする。具体的には、たとえば、「条件」として「同期方法：Ａ」が設定され、「対象」として「変換係数：Ａ」が設定されている場合、それ以外の「垂直倍率」、「水平倍率」および「割り込みタイミング」に関しては、すべての値を取り得ることとなる。
【０１３３】
組み合わせ編集画面２１００において、選択された「条件」と「対象」とを組み合わせたものを、論理検証をおこなう際の検証項目とする。なお、組み合わせ編集画面２１００に示す「条件」と「対象」とを組み合わせるときは、組み合わせ編集画面２１００において同一行に示されている「条件」と「対象」とを組み合わせる。
【０１３４】
また、組み合わせ編集画面２１００において、空欄２１０１のように「条件」が指定されていない場合には、空欄２１０１の一つ上に指定されている「条件」に従って、組み合わせを作成する。このように、一つの「条件」に対して、複数の「対象」を指定することができる。
【０１３５】
重要度に対する組み合わせの編集が終了し、ユーザが、組み合わせ編集画面２１００における「保存ボタン」をクリックした場合、編集した内容がＨＤ１０５などの記録媒体に保存されるとともに、ディスプレイ１０８の表示内容が切り替わる。図２２は、検証項目表を作成する際におけるディスプレイの表示内容（その６）を示す説明図である。図２２に示す、組み合わせアシスト画面２２００には、ユーザが指定した重要度に対する組み合わせが表示されている。
【０１３６】
ここで、ユーザは、組み合わせアシスト画面２２００を視認することによって、指定した重要度に対する組み合わせを確認することができる。このとき、指定した組み合わせが間違っていた場合などには、「戻るボタン」をクリックすることによって、組み合わせ編集画面２１００に戻ることができる。また、ユーザが、組み合わせアシスト画面２２００における「次へボタン」をクリックした場合、ディスプレイ１０８の表示内容が切り替わる。図２３は、検証項目表を作成する際におけるディスプレイの表示内容（その７）を示す説明図である。
【０１３７】
図２３に示す、組み合わせアシスト画面２３００には、組み合わせを作成する際の条件として、ユーザが指定した個別組み合わせが表示される。個別組み合わせとは、特定の「条件」および「対象」を個別に組み合わせることによって作成された組み合わせである。ここでは、ユーザによってまだ何も指定されていないため、組み合わせアシスト画面２３００には、何も表示されていない。ここで、ユーザが、組み合わせアシスト画面２３００における「編集ボタン」をクリックした場合、ディスプレイ１０８の表示内容が切り替わる。
【０１３８】
図２４は、検証項目表を作成する際におけるディスプレイの表示内容（その８）を示す説明図である。図２４に示す、組み合わせ編集画面２４００には、「条件」および「対象」がそれぞれ具体的に指定されている。なお、「条件」および「対象」の指定方法は、重要度に対する組み合わせを指定する場合と同様のため説明を省略する。
【０１３９】
また、ユーザが、組み合わせ編集画面２４００における「グループボタン」をクリックすることによって、複数の条件を一つのグループとしてあらわすことができる。組み合わせ編集画面２４００に示す点線枠２４０１は、一つのグループをあらわしている。この場合、このグループに対して「対象」に指定された一行目および二行目をそれぞれ組み合わせる。
【０１４０】
ここで、個別組み合わせの編集が終了し、ユーザが、組み合わせ編集画面２４００における「保存ボタン」をクリックした場合、編集した内容がＨＤ１０５などの記録媒体に保存されるとともに、ディスプレイ１０８の表示内容が切り替わる。図２５は、検証項目表を作成する際におけるディスプレイの表示内容（その９）を示す説明図である。
【０１４１】
図２５に示す、組み合わせアシスト画面２５００には、ユーザが指定した個別組み合わせが表示されている。ここで、ユーザは、組み合わせアシスト画面２５００を視認することによって、指定した個別組み合わせを確認することができる。このとき、指定した組み合わせが間違っていた場合などには、「戻るボタン」をクリックすることによって、組み合わせ編集画面２４００に戻ることができる。
【０１４２】
また、ユーザが、組み合わせアシスト画面２５００における「次へボタン」をクリックした場合、ディスプレイ１０８の表示内容が切り替わる。図２６は、検証項目表を作成する際におけるディスプレイの表示内容（その１０）を示す説明図である。図２６に示す、組み合わせアシスト画面２６００には、ユーザが指定した重要度に対する組み合わせおよび個別組み合わせがまとめて表示されている。
【０１４３】
ここで、ユーザは、組み合わせアシスト画面２６００を視認することによって、ユーザが指定したすべての組み合わせを確認することができる。組み合わせアシスト画面２６００に表示されている組み合わせは、重要度条件と個別条件とに分かれ、それぞれ左側に制御系、右側にデータ系が表現されており、ユーザがどのような条件で組み合わせをおこなうのか、直感的に判断することができる。
【０１４４】
そして、ユーザが、組み合わせアシスト画面２６００における「次へ」をクリックした場合、指定した組み合わせに対応した検証項目表が自動的に作成される。なお、組み合わせアシスト画面２６００における「組合せ数計算ボタン」をクリックした場合、組み合わせを作成したときの組み合わせ数が算出される。
【０１４５】
＜検証項目表作成処理＞
ここで、ＧＵＩを利用して検証項目表を作成する際の処理について説明する。検証シナリオ作成装置は、まず、パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０に基づいて、ユーザが指定した重要度条件を各表にあらわされている具体的な内容（以下「内容レベル」という）に変換する。たとえば、「同期方法：Ａ」という重要度条件を、パラメータ定義表１４１０に基づいて、「同期方法：同期する」という内容レベルに変換する。
【０１４６】
このように、すべての重要度条件を内容レベルに変換し、つぎに、ユーザの操作入力によって「条件」および「制御」の一覧表を作成する。以下、組み合わせアシスト画面２６００（図２６参照）に示す重要度条件および個別条件を例に挙げて作成される一覧表について説明する。図２７は、「条件」および「制御」の一覧表（その１）を示す説明図である。
【０１４７】
まず、組み合わせアシスト画面２６００に示す重要度条件に関する条件一覧表（図２７に示す「条件」）について説明する。条件一覧表は、パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０に示されている「同期方法」、「水平倍率」、「変換係数」および「割り込みタイミング」の各項目に対して、どのような内容を取り得るかを示した表である。
【０１４８】
つぎに、組み合わせアシスト画面２６００に示す重要度条件に関する制御一覧表（図２７に示す「制御」）について説明する。制御一覧表は、条件指定で指定された制御の一覧表である。初期設定として、パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０に示す各項目が、それぞれ取り得るすべての内容をあらわす一覧表２７２０が、項目ごとに設定されている。また、各一覧表２７２０には、添字番号「０」が付されている。なお、この添字番号は、条件一覧表において利用される。
【０１４９】
ここでは、重要度条件は、「同期方法：Ａ」かつ「変換係数：Ａ」であり、重要度条件の内容レベルは、「同期方法：同期する」かつ「変換係数：初期値、典型値」である。ユーザは、この重要度条件に対応した一覧表を作成し、制御一覧に追加する。具体的には、重要度条件として「変換係数：初期値、典型値」の条件があるため、ユーザは、「変換係数」として「初期値」または「典型値」しか取り得ない一覧表２７２１を作成し、制御一覧表に追加する。また、一覧表２７２１には、添字番号「１」が付されている。
【０１５０】
さらに、重要度条件として、「水平倍率：Ｃ」かつ「データ系のすべての項目：Ａ」、「水平倍率：Ｃ」かつ「データ系のすべての項目：Ｂ」が指定されている。ここで、「データ系のすべての項目」について重要度「Ａ」および「Ｂ」の条件があるため、「割り込みタイミング」として、「ＮＴＳＣ典型値」、「ＰＡＬ典型値」および「最小値」のいずれか一つしか取り得ない一覧表２７２２（すなわち、重要度「Ｃ」に関する内容を含まない一覧表。）を作成し、制御一覧表に追加する。また、一覧表２７２２には、添字番号「１」が付されている。
【０１５１】
そして、この制御一覧表における各一覧表に付されている添字番号を利用して、条件一覧表を完成させる。具体的には、たとえば条件一覧表における「同期方法」の一覧表２７０１において、「制御（垂直倍率）」の部分に添字番号「０」、「制御（水平倍率）」の部分に添字番号「０」、「制御（変換係数）」の部分に添字番号「１」、「制御（割り込みタイミング）」の部分に添字番号「０」を入れて表を完成させる。なお、一覧表２７０１に示す項目と同一項目であるため、「制御（同期方法）」の部分には、添字番号「−」を入れる。また、条件一覧表における「水平倍率」の一覧表２７０２に関しても同様にして表を完成させる。
【０１５２】
個別条件に関しても、重要度条件と同様に条件一覧表および制御一覧表を作成する。図２８は、「条件」および「制御」の一覧表（その２）を示す説明図である。まず、パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０に基づいて、ユーザが指定した個別条件を内容レベルに変換する。
【０１５３】
つぎに、個別条件に対応した制御一覧表を作成する。制御一覧表（図２８に示す「制御」）には、初期設定である一覧表２７２０および重要度条件に対応して作成された一覧表２７２１、２７２２が設定されている。ここで、ユーザは、個別条件として「垂直倍率：８／９倍」、「水平倍率：８／９倍」および「変換係数：典型値、初期値」が指定されているため、これらに対応する一覧表を作成する。
【０１５４】
具体的には、ユーザは、個別条件「垂直倍率：８／９倍」に対応した一覧表２８２１、個別条件「水平倍率：８／９倍」に対応した一覧表２８２２を作成する。また、一覧表２８２１には、添字番号「１」が、一覧表２８２２には、添字番号「１」がそれぞれ付されている。なお、個別条件「変換係数：典型値、初期値」に対応する一覧表に関しては、同一の内容を示す一覧表２７２２があらかじめ作成されているため、これを利用する。
【０１５５】
そして、この制御一覧表における各一覧表に付されている添字番号を利用して、条件一覧表を完成させる。なお、条件一覧表の内容は、重要度条件として指定された内容よりも、個別条件として指定された内容を優先する。具体的には、条件一覧表における「水平倍率」の「制御（垂直倍率）」に関して、図２７に示す一覧表２７０２においては、「制御（垂直倍率）：０」となっていたが、一覧表２８０１においては、「制御（垂直倍率）：１」となる。このように、個別条件として指定された内容を優先し、対応する添字番号を条件一覧表に入れる。
【０１５６】
そして、検証シナリオ作成装置は、重要度条件および個別条件を考慮して作成された条件一覧表および制御一覧表に基づいて、組み合わせを作成する。図２９は、組み合わせ定義ファイルの一例を示す説明図である。図２９に示す組み合わせ定義ファイルには、条件一覧表および制御一覧表に基づいて、作成された組み合わせに関する定義が記述されている。また、組み合わせ定義ファイルに示す組み合わせの段数は、パラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０に示す項目の数である。
【０１５７】
また、組み合わせ定義ファイルには、指定された項目に関する組み合わせ数が定義されている。具体的には、たとえば、組み合わせ定義ファイルにおける「同期方法」に関する構文において、「制御要素」の後の「［添字］」には、制御一覧表における「同期方法」に対応する添字番号「０」が入る。また、「［添字］」の後の「ｉ」には、添字番号「０」が付された一覧表に示す内容の数が入る。ここでは、同期方法として取り得ることができる内容が、「同期する」または「同期しない」であるため、「ｉ」に「０，１」を入れる。
【０１５８】
さらに、組み合わせ定義ファイルにおける「垂直倍率」に関する構文において、「制御要素」の後の「添字」には、制御一覧表における「垂直倍率」に対応する添字番号「０，１」が入る。また、「添字」の後の「ｉ」には、添字番号「０，１」が付されたそれぞれの一覧表に示す内容の数が入る。ここでは、垂直倍率として取り得ることができる内容として、添字番号「０」が付された一覧表には、「等倍」、「２倍」、「４倍」および「８／９倍」が示されており、添字番号「１」が付された一覧表には、「８／９倍」が示されている。このため、「ｊ」には、「０〜３，０」が入る。
【０１５９】
このように、すべての項目に対して、数字を入れていき「ｋ」、「ｌ」に値を入れる。そして、「ｉ」、「ｊ」、「ｋ」、「ｌ」に入れたそれぞれの数字を掛けることによって組み合わせ数を算出することができる。また、組み合わせを作成時に、同じ内容の組み合わせが発生した場合には、一つのみを残し、残りを削除する。なお、すべての内容についての組み合わせを作成する場合には、「制御要素」の後の「添字」に入れる値を、すべて「０」にする。
【０１６０】
また、一度作成した組み合わせ定義ファイルは、たとえば、ＨＤ１０５やＦＤ１０７の記録媒体に記録され、以降の論理検証において利用することができる。具体的には、アシスト画面１８００（図１８参照）において、組み合わせを作成する際における設定方法を「組み合わせ定義ファイルを読み込む」とした場合、ＨＤ１０５などに記録されている組み合わせ定義ファイルが表示され、その中から任意の組み合わせ定義ファイルを選択することができる。
【０１６１】
図３０、３１および３２は、条件指定された項目に対して取り得る内容を示す説明図である。図３０〜３２には、それぞれ、条件指定された項目に対して取り得る内容が、強調表示（図中グレー部分）されている。そして、それぞれの項目に対して取り得る内容の数をそれぞれ掛けることによって、それぞれの項目に対応した組み合わせ数を算出することができる。具体的には、たとえば「同期方法」に対応した組み合わせ数は、「１×４×４×２×５」となる。このように、それぞれの項目に対応する組み合わせ数を算出し、最後にその算出結果を足し合わせることによって全体の組み合わせ数を求めることができる。
【０１６２】
図３３−１は、検証項目表の一例を示す説明図である。検証項目表３３００には、上述した条件一覧表および制御一覧表に基づいて作成された組み合わせが点線で囲った部分３３０１に最初から表示されている。ここで、ユーザがシナリオ番号ボタン３３０２をクリックした場合、シナリオリスト３３０３にシナリオ番号が表示される。ユーザは、検証項目表３３００に表示されている内容を確認しながら、それぞれの内容に対応するシナリオ番号をシナリオリスト３３０３からドラッグ＆ドロップで選択し、検証項目表を完成させる。
【０１６３】
また、検証シナリオ作成装置は、ユーザが選択したシナリオ番号と、検証項目表３３００に表示されている内容とが適合しているか否かを判断する機能を有する構成としてもよい。具体的には、たとえば、検証項目表３３００に表示されている検証項目と、概略シナリオの記述内容とが適合するか否かを判断するようにしてもよい。さらに、適合していない場合、たとえば、検証項目表３３００における適合していない項目が表示されているセルの背景色を変えて強調表示することによって、適合していない項目をユーザに報知する構成としてもよい。
【０１６４】
図３３−２は、検証項目表の検証項目と概略シナリオの記述内容とが適合しない場合の一例を示す説明図である。図３３−２には、同一のパス番号に対応した概略シナリオの一部分３３１０および検証項目表の一部分３３２０が示されている。ここで、概略シナリオの一部分３３１０には、『ＷＲＩＴＥ，ＳＹＮＣ，０』と定義されている。このため、検証項目として取り得る内容は「同期方法：同期する」のみである。
【０１６５】
しかしながら、検証項目表の一部分３３２０のセル３３２１には、「同期方法：同期しない」の内容が示されている。この場合、検証シナリオ作成装置は、検証項目表に表示されている検証項目と、概略シナリオの記述内容とが適合しないと判断し、セル３３２１の背景色を変えて強調表示する。
【０１６６】
図３３−１の説明に戻り、ユーザがシナリオ番号を選択した場合、当該シナリオ番号に応じたパス番号が自動的に表示される。そして、ユーザが、検証項目表３３００に表示されたシナリオ番号から実際に検証シナリオを作成するものを選択した場合、ディスプレイ１０８の表示内容がシナリオ出力画面に切り替わる。さらに、ユーザがシナリオ出力画面上のシナリオ出力ボタンをクリックすると、選択されたシナリオ番号に対応する検証シナリオが自動的に作成されて、出力される。
【０１６７】
＜検証シナリオ出力処理手順＞
つぎに、この発明の実施の形態にかかる検証シナリオ作成装置における検証シナリオ出力処理の手順について説明する。図３４および３５は、この発明の実施の形態にかかる検証シナリオ作成装置における検証シナリオ出力処理の手順を示すフローチャートである。図３４に示すフローチャートにおいて、検証シナリオ作成装置は、シナリオ番号の入力を受け付けたか否かを判断する（ステップＳ３４０１）。
【０１６８】
シナリオ番号の入力は、たとえば、ユーザが図３３−１に示す検証項目表３３００に表示されているシナリオ番号から選択することによっておこなわれる。つぎに、参照するパラメータ定義表を読み込む（ステップＳ３４０２）。パラメータ定義表は、たとえば、上述したパラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０などである。ここでは、入力されたパラメータ定義表１４１０、パラメータ定義表１５１０およびパラメータ定義表１５２０を順に読み込む。
【０１６９】
つぎに、読み込んだパラメータ定義表に基づいて、使用するレジスタを設定する（ステップＳ３４０３）。具体的には、たとえば、パラメータ定義表１４１０を読み込んだ場合、使用するレジスタを「ＭｏｄｅＲｅｇｉｓｔｅｒ」に設定する。そして、読み込んだパラメータ定義表に基づいて、参照する項目を設定する（ステップＳ３４０４）。具体的には、たとえばパラメータ定義表１４１０に示す「同期方法」、「垂直倍率」、「水平倍率」を参照する項目として順に設定する。
【０１７０】
つぎに、読み込んだパラメータ定義表に基づいて、ステップＳ３４０４において設定した項目に関するレジスタ値を設定する（ステップＳ３４０５）。具体的には、パラメータ定義表に定義されている順に、内容に応じたレジスタ値を設定する。そして、ステップＳ３４０３において設定されたレジスタに対応するアドレスをレジスタ定義ファイルから取得して（ステップＳ３４０６）、図３５のフローチャートに示すステップＳ３５０１に移行する。
【０１７１】
図３５のフローチャートのステップＳ３５０１において、検証シナリオ作成装置は、設定されたレジスタが概略シナリオに定義されているか否かを判断する。ここで、定義されている場合（ステップＳ３５０１：Ｙｅｓ）、概略シナリオにおいてレジスタ値が設定されているか否かを判断する（ステップＳ３５０２）。
【０１７２】
ステップＳ３５０２において、レジスタ値が設定されている場合（ステップＳ３５０２：Ｙｅｓ）、図３４のフローチャートに示すステップＳ３４０５において設定したレジスタ値と概略シナリオにおいて設定されているレジスタ値とが同一であるか否かを判断する（ステップＳ３５０３）。
【０１７３】
ここで、同一である場合（ステップＳ３５０３：Ｙｅｓ）、概略シナリオに記述されたコマンドを変換する（ステップＳ３５０４）。具体的には、概略シナリオに記述されたコマンドを「ＷＲＩＴＥ：ｃｐｕ＿ｗｒｉｔｅ（アドレス、値）」から「ＲＥＡＤ：ｃｐｕ＿ｒｅａｄ（アドレス）」に変換する。また、ステップＳ３５０２において、レジスタ値が設定されていない場合（ステップＳ３５０２：Ｎｏ）、ステップＳ３５０４に移行する。
【０１７４】
ステップＳ３５０３において、レジスタ値が同一ではない場合（ステップＳ３５０３：Ｎｏ）、レジスタ値が異なる旨をユーザに通知する（ステップＳ３５０５）。具体的には、たとえばディスプレイ１０８に『レジスタ値が異なります。』などのコメントを警告表示してユーザに通知するように構成してもよい。さらに、警告表示された場合、ユーザは、検証シナリオ出力処理の途中において、警告表示された内容に対応する修正をおこなうことができる。
【０１７５】
また、ステップＳ３５０１において、設定されたレジスタが概略シナリオに定義されていなかった場合（ステップＳ３５０１：Ｎｏ）、該当するレジスタが概略シナリオに定義されていない旨をユーザに通知する（ステップＳ３５０６）。具体的には、たとえばディスプレイ１０８に『概略シナリオに「ＭｏｄｅＲｅｇｉｓｔｅｒ」が定義されていません。』などのコメントを警告表示してユーザに通知するように構成してもよい。この場合も上記同様に、警告表示された内容に対応する修正を検証シナリオ出力処理の途中においておこなうことができる。
【０１７６】
つぎに、パラメータ定義表に定義されているすべての内容についてレジスタ値を設定したか否かを判断する（ステップＳ３５０７）。ここで、設定していない場合（ステップＳ３５０７：Ｎｏ）、ステップＳ３４０５に戻り一連の処理を繰り返す。なお、ステップＳ３４０５に戻った場合、パラメータ定義表における一つ下の内容についてレジスタ値を設定する。
【０１７７】
ステップＳ３５０７において、設定した場合（ステップＳ３５０７：Ｙｅｓ）、パラメータ定義表に定義されているすべての項目を設定したか否かを判断する（ステップＳ３５０８）。ここで、設定していない場合（ステップＳ３５０８：Ｎｏ）、ステップＳ３４０４に戻り一連の処理を繰り返す。なお、ステップＳ３４０４に戻った場合、パラメータ定義表における一つ下の項目を設定する。
【０１７８】
ステップＳ３５０８において、設定した場合（ステップＳ３５０８：Ｙｅｓ）、入力されたすべてのパラメータ定義表を読み込んだか否かを判断する（ステップＳ３５０９）。ここで、読み込んでいない場合（ステップＳ３５０９：Ｎｏ）、ステップＳ３４０２に戻り一連の処理を繰り返す。なお、ステップＳ３４０２に戻った場合、入力された順につぎのパラメータ定義表を読み込む。
【０１７９】
ステップＳ３５０９において、読み込んだ場合（ステップＳ３５０９：Ｙｅｓ）、検証シナリオにおいて置き換わっていないレジスタ値があるか否かを判断する（ステップＳ３５１０）。ここで、置き換わっていないレジスタ値がある場合（ステップＳ３５１０：Ｙｅｓ）、レジスタ定義ファイルに定義されている値を設定する（ステップＳ３５１１）。具体的には、置き換わっていないレジスタ値をレジスタ定義ファイルに定義されている「初期値、最大値、典型値」に設定する。
【０１８０】
ステップＳ３５１０において、置き換わっていないレジスタ値がない場合（ステップＳ３５１０：Ｎｏ）、検証シナリオとしてシミュレーションシナリオおよびパラメータファイルを出力し（ステップＳ３５１２）、図３４および３５に示すフローチャートによる一連の処理を終了する。図３６は、シミュレーションシナリオの一例を示す説明図である。また、図３７は、パラメータファイルの一例を示す説明図である。
【０１８１】
図３６に示すシミュレーションシナリオは、検証項目として「同期方法：同期する」、「垂直倍率：等倍」、「水平倍率：等倍」、「変換係数：初期値」および「割り込みタイミング：ＮＴＳＣ典型値」が指定されている。このシミュレーションシナリオを、論理シミュレーションに使用することによって、ＬＳＩなどの論理検証をおこなうことができる。
【０１８２】
また、図３７に示すパラメータファイルは、論理検証をおこなう際の組み合わせを示すものであり、たとえば、他のツールなどを用いて期待値などの数値を求めるときに利用される。
【０１８３】
検証シナリオ作成装置によれば、ユーザが検証項目表３３００に表示されているシナリオ番号の中から所望のシナリオ番号を選択することによって、選択したシナリオ番号に対応した検証シナリオを出力することができる。このように、検証シナリオ作成装置は、概略シナリオおよび検証項目表３３００に記述されている内容を網羅した検証シナリオを出力することができる。そして、ユーザは、この検証シナリオを利用した論理検証をおこなうことによって、精度の高い論理検証を実現することができる。
【０１８４】
以上説明したように、検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法によれば、検証途中においてユーザに対して検証項目表３３００を提示することによって、論理検証をおこなう際の検証項目の妥当性を確認させることができ、適切な検証シナリオを作成することができる。このため、ユーザは、適切な検証シナリオを利用した、精度の高い論理検証をおこなうことができる。
【０１８５】
また、ユーザは、ＧＵＩ上において簡単な操作入力をおこなうことによって検証項目表３３００を作成することができる。ＧＵＩ上で検証項目表３３００を作成した際に、検証項目表３３００に示された検証項目に誤りがあった場合には、ユーザが直感的に認識することができるような表示形式で検証項目を強調表示することができる。これにより、検証項目表３３００修正時におけるユーザの利便性の向上を図ることができる。
【０１８６】
また、検証項目表３３００の内容に誤りがあった場合には、検証シナリオ作成前に、検証項目の追加、削除などの修正をおこなうことができ、修正した検証項目に基づく適切な検証シナリオを作成することができる。このため、論理検証のやり直しによる手戻りを少なくすることができ、検証作業の効率化を図ることができる。
【０１８７】
なお、本実施の形態で説明した検証シナリオ作成方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１８８】
（付記１）検証対象に関するパス分析結果の入力を受け付けさせる入力工程と、
前記入力工程によって入力されたパス分析結果に基づいて、前記検証対象の論理検証に関する概略シナリオデータを生成させる概略シナリオデータ生成工程と、
前記論理検証に関する検証項目の集合の中から選ばれた前記検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を、前記パス分析結果ごとに表示画面に表示させる一覧表表示工程と、
前記一覧表表示工程によって表示された一覧表の中から、ユーザの操作入力によって任意のパス分析結果に関する検証項目の組み合わせの選択を受け付けさせる選択工程と、
前記選択工程によって選択された検証項目の組み合わせと、前記概略シナリオデータ生成工程によって生成された概略シナリオデータとを用いて、前記論理検証に関する検証シナリオデータを生成させる検証シナリオデータ生成工程と、
をコンピュータに実行させることを特徴とする検証シナリオ作成プログラム。
【０１８９】
（付記２）前記概略シナリオデータを前記表示画面に表示させる概略シナリオデータ表示工程と、
前記概略シナリオデータ表示工程によって前記表示画面に表示された概略シナリオデータに対し、前記ユーザの操作入力により修正されたか否かを判断させる判断工程とを前記コンピュータに実行させ、
前記検証シナリオデータ生成工程は、
前記判断工程によって判断された判断結果に基づいて、前記論理検証に関する検証シナリオデータを生成させることを特徴とする付記１に記載の検証シナリオ作成プログラム。
【０１９０】
（付記３）前記一覧表表示工程は、
前記表示画面に表示された前記論理検証に関する検証項目の集合の中から前記検証対象に関する論理検証に必要な検証項目の組み合わせを前記ユーザの操作入力によって選択することにより、前記一覧表を前記パス分析結果ごとに表示させることを特徴とする付記１または２に記載の検証シナリオ作成プログラム。
【０１９１】
（付記４）前記表示画面に表示された一覧表の検証項目と前記概略シナリオデータの記述内容とが適合するか否かを判断させる第２の判断工程を前記コンピュータに実行させ、
前記一覧表表示工程は、
前記第２の判断工程によって判断された判断結果に基づいて、前記概略シナリオデータの記述内容と適合していない前記一覧表の検証項目を強調表示させることを特徴とする付記１〜３のいずれか一つに記載の検証シナリオ作成プログラム。
【０１９２】
（付記５）付記１〜４のいずれか一つに記載の検証シナリオ作成プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０１９３】
（付記６）検証対象に関するパス分析結果の入力を受け付ける入力手段と、
前記入力手段によって入力されたパス分析結果に基づいて、前記検証対象の論理検証に関する概略シナリオデータを生成する概略シナリオデータ生成手段と、
表示画面を有する表示手段と、
前記表示画面を制御して前記論理検証に関する検証項目の集合の中から選ばれた前記検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を、前記パス分析結果ごとに表示画面に表示する表示制御手段と、
前記表示制御手段によって表示された一覧表の中から、ユーザの操作入力によって任意のパス分析結果に関する検証項目の組み合わせの選択を受け付ける選択手段と、
前記選択手段によって選択された検証項目の組み合わせと、前記概略シナリオデータ生成手段によって生成された概略シナリオデータとを用いて、前記論理検証に関する検証シナリオデータを生成する検証シナリオデータ生成手段と、
を備えることを特徴とする検証シナリオ作成装置。
【０１９４】
（付記７）前記表示制御手段は、前記概略シナリオデータ生成手段によって生成された概略シナリオデータを前記表示画面に表示し、
前記表示制御手段によって前記表示画面に表示された概略シナリオデータに対し、前記ユーザの操作入力により修正されたか否かを判断する判断手段を備え、
前記検証シナリオデータ生成手段は、
前記判断手段によって判断された判断結果に基づいて、前記論理検証に関する検証シナリオデータを生成することを特徴とする付記６に記載の検証シナリオ作成装置。
【０１９５】
（付記８）前記表示制御手段は、
前記表示画面に表示された前記論理検証に関する検証項目の集合の中から前記検証対象に関する論理検証に必要な検証項目の組み合わせを前記ユーザの操作入力によって選択することにより、前記一覧表を前記パス分析結果ごとに表示することを特徴とする付記６または７に記載の検証シナリオ作成装置。
【０１９６】
（付記９）前記判断手段は、
前記表示画面に表示された一覧表の検証項目と前記概略シナリオデータの記述内容とが適合するか否かを判断し、
前記表示制御手段は、
前記判断手段によって判断された判断結果に基づいて、前記概略シナリオデータの記述内容と適合していない前記一覧表の検証項目を強調表示することを特徴とする付記６〜８のいずれか一つに記載の検証シナリオ作成装置。
【０１９７】
（付記１０）検証対象に関するパス分析結果の入力を受け付ける入力工程と、
前記入力工程によって入力されたパス分析結果に基づいて、前記検証対象の論理検証に関する概略シナリオデータを生成する概略シナリオデータ生成工程と、
前記論理検証に関する検証項目の集合の中から選ばれた前記検証対象に関する論理検証に必要な検証項目の組み合わせをあらわす一覧表を、前記パス分析結果ごとに表示画面に表示する一覧表表示工程と、
前記一覧表表示工程によって表示された一覧表の中から、ユーザの操作入力によって任意のパス分析結果に関する検証項目の組み合わせの選択を受け付ける選択工程と、
前記選択工程によって選択された検証項目の組み合わせと、前記概略シナリオデータ生成工程によって生成された概略シナリオデータとを用いて、前記論理検証に関する検証シナリオデータを生成する検証シナリオデータ生成工程と、
を含んだことを特徴とする検証シナリオ作成方法。
【産業上の利用可能性】
【０１９８】
以上のように、本発明にかかる検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法は、ＬＳＩの論理検証に有用である。
【図面の簡単な説明】
【０１９９】
【図１】この発明の実施の形態にかかる検証シナリオ作成装置のハードウェア構成を示すブロック図である。
【図２−１】この発明の実施の形態にかかる検証シナリオ作成装置の機能的構成を示すブロック図である。
【図２−２】この発明の実施の形態にかかる検証シナリオ作成装置における検証シナリオ作成処理手順を示すフローチャートである。
【図３】この発明の実施の形態にかかる検証シナリオ作成装置の処理の概要を示す説明図である。
【図４】画像データ転送機能の概略を示すユースケース図である。
【図５】パス分析結果の一例を示す説明図である。
【図６】概略シナリオコマンド群の一例を示す説明図である。
【図７】概略シナリオテンプレートおよびパス分析定義ファイルの一例を示す説明図である。
【図８】この発明の実施の形態にかかる検証シナリオ作成装置における概略シナリオ出力処理の手順を示すフローチャートである。
【図９】ステップＳ８０３で示したＣＰＵモデル認識処理手順を示すフローチャートである。
【図１０】ステップＳ８０４で示したコマンド登録処理手順を示すフローチャートである。
【図１１】ステップＳ８０５で示した概略シナリオ出力処理手順を示すフローチャートである。
【図１２】検証シナリオ作成装置によって出力された概略シナリオの一例を示す説明図である。
【図１３】レジスタ定義ファイルの一例を示す説明図である。
【図１４】論理検証をおこなう際の検証項目をあらわした検証項目表の一例を示す図表（その１）である。
【図１５】論理検証をおこなう際の検証項目をあらわした検証項目表の一例を示す図表（その２）である。
【図１６】ＧＵＩを利用して、検証項目表を作成する際の概要を示す説明図である。
【図１７】検証項目表を作成する際におけるディスプレイの表示内容（その１）を示す説明図である。
【図１８】検証項目表を作成する際におけるディスプレイの表示内容（その２）を示す説明図である。
【図１９】検証項目表を作成する際におけるディスプレイの表示内容（その３）を示す説明図である。
【図２０】検証項目表を作成する際におけるディスプレイの表示内容（その４）を示す説明図である。
【図２１】検証項目表を作成する際におけるディスプレイの表示内容（その５）を示す説明図である。
【図２２】検証項目表を作成する際におけるディスプレイの表示内容（その６）を示す説明図である。
【図２３】検証項目表を作成する際におけるディスプレイの表示内容（その７）を示す説明図である。
【図２４】検証項目表を作成する際におけるディスプレイの表示内容（その８）を示す説明図である。
【図２５】検証項目表を作成する際におけるディスプレイの表示内容（その９）を示す説明図である。
【図２６】検証項目表を作成する際におけるディスプレイの表示内容（その１０）を示す説明図である。
【図２７】「条件」および「制御」の一覧表（その１）を示す説明図である。
【図２８】「条件」および「制御」の一覧表（その２）を示す説明図である。
【図２９】組み合わせ定義ファイルの一例を示す説明図である。
【図３０】条件指定された項目に対して取り得る内容を示す説明図である。
【図３１】条件指定された項目に対して取り得る内容を示す説明図である。
【図３２】条件指定された項目に対して取り得る内容を示す説明図である。
【図３３−１】検証項目表の一例を示す説明図である。
【図３３−２】検証項目表の検証項目と概略シナリオの記述内容とが適合しない場合の一例を示す説明図である。
【図３４】この発明の実施の形態にかかる検証シナリオ作成装置における検証シナリオ出力処理の手順を示すフローチャートである。
【図３５】この発明の実施の形態にかかる検証シナリオ作成装置における検証シナリオ出力処理の手順を示すフローチャートである。
【図３６】シミュレーションシナリオの一例を示す説明図である。
【図３７】パラメータファイルの一例を示す説明図である。
【符号の説明】
【０２００】
２０１  入力部
２０２  概略シナリオデータ生成部
２０３  表示部
２０４  表示制御部
２０５  選択部
２０６  検証シナリオデータ生成部
２０７  判断部
４０１  ＣＰＵ
４０２  外部ブロック
４０３  メモリ
４０４  画像処理装置
【図１】
0004747034.tif 000002
【図２−１】
0004747034.tif 000003
【図２−２】
0004747034.tif 000004
【図３】
0004747034.tif 000005
【図４】
0004747034.tif 000006
【図５】
0004747034.tif 000007
【図６】
0004747034.tif 000008
【図７】
0004747034.tif 000009
【図８】
0004747034.tif 000010
【図９】
0004747034.tif 000011
【図１０】
0004747034.tif 000012
【図１１】
0004747034.tif 000013
【図１２】
0004747034.tif 000014
【図１３】
0004747034.tif 000015
【図１４】
0004747034.tif 000016
【図１５】
0004747034.tif 000017
【図１６】
0004747034.tif 000018
【図１７】
0004747034.tif 000019
【図１８】
0004747034.tif 000020
【図１９】
0004747034.tif 000021
【図２０】
0004747034.tif 000022
【図２１】
0004747034.tif 000023
【図２２】
0004747034.tif 000024
【図２３】
0004747034.tif 000025
【図２４】
0004747034.tif 000026
【図２５】
0004747034.tif 000027
【図２６】
0004747034.tif 000028
【図２７】
0004747034.tif 000029
【図２８】
0004747034.tif 000030
【図２９】
0004747034.tif 000031
【図３０】
0004747034.tif 000032
【図３１】
0004747034.tif 000033
【図３２】
0004747034.tif 000034
【図３３−１】
0004747034.tif 000035
【図３３−２】
0004747034.tif 000036
【図３４】
0004747034.tif 000037
【図３５】
0004747034.tif 000038
【図３６】
0004747034.tif 000039
【図３７】
0004747034.tif 000040