(57)【特許請求の範囲】
【請求項１】
言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定を実行させるプログラムであって、
前記言語記述および前記言語記述に基づき生成される設計情報からＦＳＭ構成を抽出する機能と、
前記ＦＳＭの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間のＦＳＭ入力論理を抽出する抽出機能と、
前記ＦＳＭ入力論理とＦＳＭの遷移論理に、定数伝播を用いて、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する機能と、前記ＦＳＭ入力論理を最適化した結果と、前記ＦＳＭの遷移論理を用いて、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する機能と、を有する検出機能と、
前記検出機能の出力である前記絶対に到達しない状態数をＦＳＭステートカバレッジの総数から削減し、前記絶対に発生しない遷移数をＦＳＭアークカバレッジの総数から削減し、その後に前記カバレッジ測定を実行して網羅率を算出し、前記算出の結果を出力する出力機能と、
をコンピュータに実行させるプログラム。
【請求項２】
前記ＦＳＭのＦＳＭレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出機能と、
前記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出機能と、
前記ＦＳＭレジスタ変数または前記派生変数がＦＳＭの遷移条件として使用されている状態を抽出する第２状態抽出機能と、
前記第1状態抽出機能と前記第２状態抽出機能の抽出結果を出力する前記出力機能を、
コンピュータに実行させることを特徴とする請求項１に記載のプログラム。
【請求項３】
言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定をする方法であって、
コンピュータが、
記録部に記録されている前記言語記述および前記言語記述に基づき生成される設計情報からＦＳＭ構成を抽出する処理と、
前記ＦＳＭの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間の論理を抽出する処理と、
抽出した前記論理とＦＳＭの遷移条件に、定数伝播を用いて、前記絶対に到達しない状態および前記絶対に発生しない遷移がないかと、前記抽出した論理を最適化と前記ＦＳＭの遷移条件を用いて、前記絶対に到達しない状態および前記絶対に発生しない遷移がないかをチェックする処理と、
前記チェックのひとつの結果である前記絶対に到達しない状態数をＦＳＭステートカバレッジ総数から削減し、前記チェックの他の結果である前記絶対に発生しない遷移数をＦＳＭアークカバレッジ総数から削減し、前記カバレッジ測定を実行する処理と、
前記ＦＳＭのＦＳＭレジスタ変数を入力として使用している派生変数を抽出して、前記派生変数が次状態の遷移先として使用されている第１の状態の抽出と、前記ＦＳＭレジスタ変数または前記派生変数がＦＳＭの遷移条件として使用されている第２の状態の抽出をする処理と、
前記カバレッジ測定の実行結果と、前記第１の状態と前記第２の状態の抽出結果を、出力装置または表示装置に出力する処理と、
を実行することを特徴とするＦＳＭカバレッジ測定方法。
【請求項４】
言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定を行う設計装置であって、
前記言語記述および前記言語記述に基づき生成される設計情報からＦＳＭ構成を抽出し、前記ＦＳＭの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間のＦＳＭ入力論理を抽出し、
前記ＦＳＭ入力論理とＦＳＭの遷移論理に、定数伝播を用いて、絶対に到達しない状態および絶対に発生しない遷移がないかを検出して、前記ＦＳＭ入力論理を最適化した結果と、前記ＦＳＭの遷移論理を用いて、絶対に到達しない状態および絶対に発生しない遷移がないかを検出して、絶対に到達しない状態および絶対に発生しない遷移がないかをチェックするＦＳＭチェック部と、
前記絶対に到達しない状態数をＦＳＭステートカバレッジの総数から削減し、前記絶対に発生しない遷移数をＦＳＭアークカバレッジの総数から削減し、前記ＦＳＭカバレッジ測定を実行してＦＳＭカバレッジ測定の結果を求めるＦＳＭカバレッジ測定部と、
前記ＦＳＭのＦＳＭレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出部と、
前記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出部と、
前記ＦＳＭレジスタ変数または前記派生変数がＦＳＭの遷移条件として使用されている状態を抽出する第２状態抽出部と、
前記カバレッジ測定の結果と、前記第1状態抽出部と前記第２の状態の抽出結果を出力する出力部と、
を具備することを特徴とする設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は設計装置の検査方法に係り、特にＦＳＭカバレッジ測定を利用した検査の技術に関する。
【背景技術】
【０００２】
近年、ＥＤＡ（Electronic Design Automation）ツールを駆使したＨＤＬ（Hardware Description Language：ハードウェア記述言語）などによるディジタル回路設計が行われている。このような設計では従来の設計手法とは異なり、ソフトウェア開発と並行してハードウェア設計が行われるようになり、データ処理やプロトコル処理など、ソフトウェアが対応してきた処理をディジタル回路化することも多くなっている。そのため、大規模な論理回路をＨＤＬなどでシステム設計を行った場合、設計時のデバッグ時間や出荷時の検査時間が増加する傾向にある。
【０００３】
例えば、ＨＤＬ記述で設計された論理回路のモデルの検査は、一般的に検証スイート（テストベンチ）をシミュレータに入力して検証を行う。この検証の進捗は、ＲＴＬ（レジスタ転送レベル）記述に記述された論理式や条件文の活性化、各状態の網羅率、さらに状態間の遷移が既存の検証スイートでカバー（補償）されているかで判断される。その検査のひとつとして、カバレッジ測定がある。カバレッジ測定は重要な項目であり、検査に使用するテストベンチ自体の品質を把握しないまま検査をしても、定量的な品質向上を図ることに直接つながるわけではなく、カバレッジ （コード実行網羅率、ブランチ実行網羅率、パス実行網羅率、ＭＣ／ＤＣなど）の測定を行うことにより、どれだけ十分に検査できたかを定量的に把握し、出荷可能かどうかの客観的な判断基準とするものである。
【０００４】
しかしながら、このカバレッジ（補償範囲）を計測するカバレッジ評価において検査をする場合、網羅率が１００％にならないときがあり、網羅率を１００％にするために記述内容を調査するなど原因を特定する調査に時間を費やすことになり、設計時のデバッグ時間や出荷時の検査時間が増加してしまう。
【０００５】
特許文献１によれば、カバレッジ評価行うために、ＲＴＬ記述と検証スイートを機能テストカバレッジを計測する機能テストカバレッジ計測装置と、ＲＴＬ記述を簡単化するＲＴＬ簡単化装置に入力する。そして変換された検証スイートを出力する。この出力される検証スイートは、入力された検証スイートに含まれるテストベクタのうち、ＲＴＬ記述の冗長な部分に関する不要なものを削除して生成する。この検証スイートを利用することで検査時間を短縮している。
【０００６】
また、カバレッジ測定を向上させるための方法として、最初にブラックボックステスト（ソースコードを確認しないテスト）でカバレッジをある程度上げておき、その後、実行されていないパス、コードを発見し、その箇所を実行するためのテストケースを作成し再度テストを実行する方法が提案されている。
【０００７】
ところで、ＦＳＭ（Finite State Machine）のカバレッジ測定に注目すると、モジュール単位でＦＳＭ抽出を行って定義されている状態に遷移したかを測定するＦＳＭステートカバレッジ、各状態からの条件分岐による遷移が発生したかを測定するＦＳＭアークカバレッジがある。図１６はＦＳＭを図で示したもので、状態（ステート：Ｓｘ）と遷移（アーク：Ａｘ）によって示す方法が一般的に使用されている。図１６に示すステートマシンでは、ステートＳ０においてステートＳ１に遷移する条件として、Ａ０の矢印が示す遷移により変化する条件と、またＡ２の矢印が示すルートで遷移する条件があり、この遷移により次のＳ１の状態に遷移する。同様にＳ０からＳ２への条件が揃ったときは遷移Ａ１のルートで遷移する。また、Ｓ３へもＡ３のルートで遷移する。Ｓ１からＳ３に遷移する場合はＡ５のルートで変化する。Ｓ２の場合はＡ４、Ａ７のルートでＳ０、Ｓ３に遷移し、Ａ４ではＳ０に、Ａ７ではＳ３に遷移する。Ｓ３ではＡ６でＳ２に遷移する。
【０００８】
検査では、このようにＳ０〜Ｓ３の４状態を全数として全ての状態に遷移すれば、このステートを網羅したことになり、同様にＡ０〜Ａ７の８遷移を全数として全ての遷移が発生すれば、このアークを網羅した事になり検査をパスすることになる。
【０００９】
しかしながら、ＦＳＭステートカバレッジでは、状態（Ｓｘ）として定義されたすべてが総数となるため、設計の意図として絶対に遷移しないエラー状態等が記述されていると、そのエラー状態に遷移しないため、遷移検査結果が１００％にならない。つまり、状態（Ｓｘ）の全総数を分母とし、シミュレーションなどで実際に遷移した状態を分子とすると、遷移しない状態があるかぎり分子と分母は同じならず結果は１００％にならない。
【００１０】
また、ＦＳＭアークカバレッジではＦＳＭ記述のあるモジュール内でのみ最適化された遷移（Ａｘ）が総数となるため、モジュール階層間において定数となる記述や排他的な論理記述があると結果が１００％にならない。
【００１１】
シミュレーション実行後にＦＳＭカバレッジ結果が１００％にならない場合、カバーされていない箇所を抽出して原因の解析を行い問題がないかを確認する必要があり、問題のない記述の場合には不要な原因解析を行うこととなり非常に効率が悪い。
【特許文献１】特開２００１−０１４３６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は上記のような実情に鑑てなされたものであり、ＦＳＭカバレッジ測定のエラー状態を検出し検査時間を短縮する装置と方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明のひとつの態様では、言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定をコンピュータに実行させるプログラムであって、上記言語記述および上記言語記述に基づき生成される設計情報からＦＳＭ構成を抽出する機能と、上記ＦＳＭの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間のＦＳＭ入力論理を抽出する抽出機能と、上記ＦＳＭ入力論理で検出された排他性を有する論理とＦＳＭの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する検出機能と、をコンピュータに実行させるプログラムである。
【００１４】
好ましくは、上記検出機能は、上記ＦＳＭ入力論理で検出された定数伝播の論理とＦＳＭの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する定数伝播による検出をするようにしてもよい。
【００１５】
また、好ましくは上記検出機能は、上記抽出機能とともに最適化を実行して、上記最適化されたＦＳＭ入力論理で検出された排他性を有する論理とＦＳＭの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出するようにしてもよい。
【００１６】
また、好ましくは検出機能の出力を、上記絶対に到達しない状態数をＦＳＭステートカバレッジの総数から削減し、上記絶対に発生しない遷移数をＦＳＭアークカバレッジの総数から削減し、その後に上記カバレッジ測定を実行して網羅率を算出し、上記算出の結果を出力するようにしてもよい。
【００１７】
本発明の他の態様では、言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定をコンピュータに実行させるプログラムであって、上記言語記述および上記言語記述に基づき生成される設計情報からＦＳＭの構成を抽出する抽出機能と、上記ＦＳＭのＦＳＭレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出機能と、上記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出機能と、上記ＦＳＭレジスタ変数または上記派生変数がＦＳＭの遷移条件として使用されている状態を抽出する第２状態抽出機能をコンピュータに実行させる。
【００１８】
好ましくは、上記第１抽出機能の演算結果を表示するようにしてもよい。
また、好ましくは上記第２抽出機能の演算結果を表示するようにしてもよい。
上記構成によりＦＳＭカバレッジ測定前に排他的な絶対に到達しない状態および絶対に発生しない遷移を、網羅率から予め削除できるため、ＦＳＭカバレッジ測定を効率よく行うことができる。また、抽出結果を利用者に表示することでソースの変更を促すことができる。
【００１９】
本発明の他の態様では、コンピュータによって言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定をする方法であって、上記言語記述および上記言語記述に基づき生成される設計情報からＦＳＭ構成を抽出する工程と、
上記ＦＳＭの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間の論理を抽出する工程と、抽出した論理とＦＳＭでの遷移条件を合わせて定数伝播と最適化をし、上記絶対に到達しない状態および上記絶対に発生しない遷移がないかをチェックし、上記チェックの結果を出力する工程と、上記絶対に到達しない状態数をＦＳＭステートカバレッジ総数から削減し、上記絶対に発生しない遷移数をＦＳＭアークカバレッジ総数から削減し、上記カバレッジ測定を実行した結果を出力する工程と、を実行させることを特徴とする。
【００２０】
本発明の他の態様では、コンピュータによって言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定をする方法であって、上記言語記述および上記言語記述に基づき生成される設計情報からＦＳＭの構成を抽出する処理と、上記ＦＳＭのＦＳＭレジスタ変数を入力として使用している派生変数を抽出する処理と、上記派生変数が次状態の遷移先として使用されている状態を抽出する処理と、上記ＦＳＭレジスタ変数または上記派生変数がＦＳＭの遷移条件として使用されている状態を抽出する処理と、を実行させることを特徴とする。
【００２１】
本発明の他の態様では、言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定を行う設計装置であって、上記言語記述および上記言語記述に基づき生成される設計情報からＦＳＭ構成を抽出し、上記ＦＳＭの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、定数伝播と最適化をし、絶対に到達しない状態および絶対に発生しない遷移がないかをシミュレーション実行前チェックして上記チェック結果を出力するＦＳＭチェック部と、上記絶対に到達しない状態をＦＳＭステートカバレッジの総数から削減するとともに、上記絶対に発生しない遷移をＦＳＭアークカバレッジの総数から削減し、上記テストベンチに基づいて上記ＦＳＭカバレッジ測定を実行してＦＳＭカバレッジ結果を出力するＦＳＭカバレッジ測定部と、上記ＦＳＭのＦＳＭレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出部と、上記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出部と、上記ＦＳＭレジスタ変数または上記派生変数がＦＳＭの遷移条件として使用されている状態を抽出する第２状態抽出部と、を具備する構成とする。
【００２２】
上記構成によりＦＳＭカバレッジ測定前に排他的な絶対に到達しない状態および絶対に発生しない遷移を、網羅率から予め削除できるため、ＦＳＭカバレッジ測定を効率よく行うことができる。
【発明の効果】
【００２３】
本発明によれば、ＨＤＬにより記述されたソースに基づいて生成されるＦＳＭカバレッジ測定を効率よく行うことができる。
【発明を実施するための最良の形態】
【００２４】
以下図面に基づいて、本発明の実施形態について詳細を説明する。
（実施例１）
（本発明のシステム構成）
図１は本発明を実現するためのシステム構成を示すブロック図である。図１において、設計装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ（ＨＤＤ）１４、フレキシブルディスクドライブ（ＦＤＤ）１５、入力インタフェース（入力Ｉ／Ｆ）１６、通信インタフェース（通信Ｉ／Ｆ）１７、出力インタフェース（出力Ｉ／Ｆ）１９、グラフィック処理部１１０などを備えている。また、上記各構成部はバス１１１によってそれぞれ接続されている。
【００２５】
ＣＰＵ１１は、ＲＯＭ１２、ＲＡＭ１３、ＨＤＤ１４、ＦＤＤ１５に格納されているプログラムやデータに応じた処理を実行し、設計装置１０の全体の制御などをする。ＲＯＭ１２は、ＣＰＵ１１が実行する基本的なプログラム（ブートプログラムなど）やデータを記録する。ＲＡＭ１３は、ＣＰＵ１１が実行途中のプログラムやデータを記録し、ワークエリアなどとして使用される。
【００２６】
ＨＤＤ１４には、ＣＰＵ１１が実行するＯＳ（Operation System）やアプリケーションプログラムなどが記録され、ＣＰＵ１１の制御に従いハードディスクにデータのリード／ライトを実行する。ＦＤＤ１５は、ＣＰＵ１１の制御にしたがってＦＤ１５ａに対するデータのリード／ライトを制御する。ＦＤ１５ａは、ＦＤＤ１５の制御で書き込まれたデータを記憶したり、ＦＤ１５ａに記憶されたデータを設計装置１０に読み取らせたりする。また、着脱可能な記録媒体としてＦＤ１５ａのほか、コンピュータで読み取り可能な記録媒体として、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ(Digital Versatile Disc)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact DiscRead OnlyMemory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、ＭＯ(Magneto-Opticaldisk)などがある。
【００２７】
入力Ｉ／Ｆ１６は、マウスやキーボードが接続され、ユーザが入力した情報を受信し、バス１１１を介してＣＰＵ１１に送信する。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウスは、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２８】
通信Ｉ／Ｆ１７は、必要に応じ、他のコンピュータとの間のＬＡＮ接続やインターネット接続や無線接続のためのインタフェースである。通信回線１８を通じてインターネットなどのネットワークを介して他の装置に接続される。そして、ネットワーク１８と内部のインタフェースは、外部装置からのデータの入出力を制御する。例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００２９】
出力Ｉ／Ｆ１９は、プリンタなどの出力装置１９ａを制御するために備えられている。また、グラフィック処理部１１０には、ディスプレイなどの表示装置１１０ａが接続され、グラフィック処理部１１０は、ＣＰＵ１１からの描画命令に従って表示装置１１０ａの画面上に操作情報、論理シミュレーション後のログやカバレッジの集計結果、信号波形等を表示する。例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。なお、グラフィック処理部１１０を介さずに、出力Ｉ／Ｆ１９から表示装置と接続してもよい。
（本発明の原理）
図２は本発明の原理を示すブロック図である。
【００３０】
言語により回路記述をし、例えばＨＤＬによりＲＴＬ記述を行ったソース２１と、シミュレーションなどを実行するさいに用いるテストベンチ２２を作成し、ＦＳＭチェック部２３とＦＳＭカバレッジ測定部２４に入力する。
【００３１】
そして、入力されたソース２１を取り込み、構文木を生成し、ソース２１に含まれる変数や演算、条件文、ループ文等を解析して、コントロールデータフローグラフ（ＣＤＦＧ:CDFG：control data flow graph）を生成する。この、コントロールデータフローグラフとは、演算をノード、演算間のデータの流れをエッジとしたグラフである。
【００３２】
また、ＣＤＦＧを基に、値保持に必要なレジスタを割り付け、ＦＳＭを認識し、状態、状態間の遷移、遷移を起こす条件を作成する。なお、このＣＤＦＧでは、ポートや信号、論理／機能演算子、左辺信号への代入及び「ＩＦ」や「ＣＡＳＥ」文等の条件をノードとして表現し、またノード間の結線をアークとして内部形式で表現する。
【００３３】
また、このＣＤＦＧに基づいて、所望の動作を実行する演算器数とステップ数を決めるスケジューリング処理や、さらに「アロケーション(データパス割り当て)」と呼ばれる処理を実行する。また、変数や演算に対応するレジスタや演算器に割り当てる。スケジューリングとデータパス割り当てが終了すると、回路のシーケンスを決めてデータパスの制御信号を出力するステートマシンを生成し、データパスの記述とともに論理合成可能なＲＴＬ記述に変換する。
【００３４】
ここでは詳細について説明をしないが、実際のＣＤＦＧは分岐やループなどを含んだ複雑なものとなる。また動作合成の制約条件として、演算器数やレジスタ数、入出力端子数、さらにアクセス時間などが設定されるのが普通である。
【００３５】
ＦＳＭチェック部２３では、Ａ）ソース２１を構成するモジュールの記述に対応する変換された設計情報を格納したファイル（ＣＤＦＧやそれと同様なデータ有するデータベースなどで構成されるデータ）からＦＳＭを抽出（ＦＳＭ抽出部）する。その後、Ｂ）ＦＳＭの入力となる変数からバックトレースしてＦＦ（フリップフロップ）出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開して定数伝播部では定数伝播を検出し、最適化部では最適化を行い、Ｃ）絶対に到達しない状態および絶対に発生しない遷移がないかをシミュレーション実行前チェック部でシミュレーション実行前にチェックする。ここで、シミュレーション実行前チェックとは１）絶対に到達しない状態が存在する記述、２）絶対に発生しない遷移が存在する記述をチェックすることである。ここで記述とは記述から変換されたＣＤＦＧやデータベースとしてもよい。
【００３６】
また、ＦＳＭカバレッジ測定部２４ではＤ）絶対に到達しない状態数、絶対に発生しない遷移数をＦＳＭカバレッジ総数から削除（ＦＳＭカバレッジ総数削除部）し、Ｅ）ＦＳＭカバレッジ測定を行う。ここで、ＦＳＭカバレッジ総数の削減は、Ｆ）絶対に到達しない状態をＦＳＭステートカバレッジの総数から削減（ステート削減部）することと、Ｇ）絶対に発生しない遷移をＦＳＭアークカバレッジの総数から削減（アーク削減部）することである。その後、ＦＳＭチェック部２３からチェック結果２５を出力する。また、ＦＳＭカバレッジ測定部２４からＦＳＭカバレッジ結果２６を出力する。
（本発明の処理）
図３に上記説明した処理内容のフローを示し説明する。
【００３７】
ステップ（Ｓ１）では、ＦＳＭの特定と、モジュール入力に対する階層間の論理であるＦＳＭ入力論理を抽出する。ステップ（Ｓ２）では、ＦＳＭ遷移論理の抽出を行う。ステップＳ１、Ｓ２では、論理回路のソース２１を読み込みモジュール単位にＦＳＭの特定を行い、各ＦＳＭごとに入力となる変数からモジュール階層を展開しながらバックトレースしてＦＦ出力またはトップモジュールの外部入力に到達するまでの範囲に関して抽出する（抽出機能）。
【００３８】
ステップ（Ｓ３）では、抽出したＦＳＭ入力論理をＦＳＭ遷移論理に加えて、ＦＳＭの論理に影響を与える排他的に絶対に発生しない論理を検出する（検出機能）。検出は定数伝播をしている箇所の検出や、最適化をしてから排他的に絶対に発生しない論理を検出してもよい。
【００３９】
ステップ（Ｓ４）では、絶対に到達しない状態と発生しない遷移のチェックを行う。また、ステップ（Ｓ５）では、シミュレーションを実行する。
ステップ（Ｓ６）では、Ｓ４で絶対に到達しない状態および絶対に発生しない遷移がないかをチェックし、この処理をシミュレーション前に実行してチェック結果を出力する。それとともに、ＦＳＭカバレッジ測定も行うことでＦＳＭステートカバレッジ総数から絶対に到達しない状態を削減し、ＦＳＭアークカバレッジ総数からも絶対に発生しない遷移をそれぞれ削減して結果を出力する。
（定数伝播のチェック）
図４のＲＴＬ記述（ソース２１：例文Verilog-HDLで記載）は、モジュール名「module sample１」（ライン１〜１０）をトップモジュールとして記述されたものであり、ライン１〜４４までの記述範囲で「module sample１」はトップモジュールとなっている。このトップモジュールの下位階層に下位モジュール「sample1_fsm」が存在する構成となっている。
【００４０】
図５は図４に示したＲＴＬ記述に基づいて処理を実行した場合のフローを示した図である。ステップ（Ｓ５１）では、「sample1_fsm」モジュール内でＦＳＭの入力となる変数ｉ１、ｉ２、ｉ３ごとに入力方向へのバックトレースにより論理抽出をする。ｉ１→ｉ１、ｉ２→ｈｉｇｈ（１’ｂ１：ビット幅１の定数１を意である）、ｉ３→ｉ１＆ｉ２｜〜ｉ１｜〜ｉ２を抽出する。
【００４１】
ステップ（Ｓ５２）では、論理抽出した部分に定数伝播による論理計算をした結果をＦＳＭの遷移条件に適用（ｉ２、ｉ３は常に１となり、図４のライン３４、３６は未発生）し、絶対に発生しないアーク（遷移）Ｓ０→Ｓ３、Ｓ１→Ｓ４を抽出する。
【００４２】
ステップ（Ｓ５３）では、絶対に発生しない遷移の有無を判定する。その結果、絶対に発生しない遷移が無ければ終了し、有る場合はステップ（Ｓ５４）に移行する。
ステップ（Ｓ５４）では、絶対に発生しない遷移をレポートし、遷移先の状態が当該遷移なしで絶対に到達しないステートＳ３、Ｓ４を抽出する。
【００４３】
ステップ（Ｓ５５）では、絶対に到達しない状態の有無を判定する。その結果、絶対に到達しない状態が無ければ終了し、有る場合はステップ（Ｓ５６）に移行する。
ステップ（Ｓ５６）では、絶対に到達しない状態のレポートをし、状態から遷移する全ての絶対に発生しないアークＳ３→Ｓ０、Ｓ４→Ｓ０を抽出する。
【００４４】
ステップ（Ｓ５７）では、遷移の有無を判定する。その結果遷移が無ければ終了し、有る場合はステップ（Ｓ５４）に戻る。
図６のＦＳＭの遷移図を用い説明すると、図４のライン２６に記述されたリセット（ＲＳＴ信号）により最初の状態がＳ０になる（ライン４０にもデフォルトでＳ０が記述されている）。その後、Ｓ０の状態で入力ｉ１がｈｉｇｈつまり１（ライン３２）であればＳ１に遷移（図６のアークｉ１）をする。次にＳ０の状態でｉ１がＬｏｗでｉ２がｈｉｇｈつまり（〜ｉ１＆ｉ２）がｈｉｇｈ（ライン３３）であればＳ２に遷移（図６のアーク〜ｉ１＆ｉ２）をする。そして上記条件以外であればＳ３に遷移（図６の点線アーク〜ｉ１＆〜ｉ２）をする。
【００４５】
Ｓ１の状態ではｉ３がｈｉｇｈ（ライン３５）のときＳ０に戻る遷移（図６のアークｉ３）をする。また〜ｉ３つまりｉ３がｌｏｗ（ライン３６）のときＳ４に遷移（図６の点線アーク〜ｉ３）をする。Ｓ２、Ｓ３、Ｓ４の状態からの戻りは、無条件（ライン３７〜３９）でＳ０に遷移（図６のアーク‘１’）をする。
【００４６】
上記のようにＦＳＭが記述されたモジュールをインスタンスとする場合、下位モジュールの入力に定数または論理計算により定数となる変数が接続される場合がある。モジュール「sample1_fsm」内でＦＳＭ記述のみでカバレッジ総数を抽出するとステート（状態）数がＳ０、Ｓ１、Ｓ２、Ｓ３、Ｓ４の５つのステートと、アーク数がＳ０→Ｓ１、Ｓ０→Ｓ２、Ｓ０→Ｓ３、Ｓ１→Ｓ０、Ｓ１→Ｓ４、Ｓ２→Ｓ０、Ｓ３→Ｓ０、Ｓ４→Ｓ０の８つのアークであることが分かる。
【００４７】
次に、ＦＳＭの入力となる変数（ｉ１、ｉ２、ｉ３）からトップモジュール「sample1」へのバックトレースにより論理抽出を行うとｉ２ピンに定数（１’ｂ１）が、ｉ３ピンには論理計算により定数となる変数（Ｗ）が接続されている。その結果、定数伝播を行うとアークＳ０→Ｓ３、Ｓ１→Ｓ４への遷移条件は絶対に発生せず、ステートＳ３、Ｓ４への遷移は当該アークのみであることからステートＳ３、Ｓ４は絶対に到達しない状態となり、ステートＳ３、Ｓ４からの遷移も絶対に発生しない。そのため、カバレッジ総数としてはステート数がＳ０、Ｓ１、Ｓ２の３ステート、アーク数がＳ０→Ｓ１、Ｓ０→Ｓ２、Ｓ１→Ｓ０、Ｓ２→Ｓ０の４アークとなる。
【００４８】
上記結果から図６で示した点線の矢印の遷移は発生しないため、図７のような結果となる。図７は約５０００回のテストをした結果を示したものであり、図７（ａ）は図４の記述を従来のＦＳＭステートカバレッジ測定した結果である。Ｓ３、Ｓ４の状態には、到達できないため６０％（３／５）になっている。同図（ｂ）は従来のＦＳＭアークカバレッジ測定の結果は、発生しない遷移が４つあるため５０％（４／８）になっている。
【００４９】
しかし、同図（ｃ）（ｄ）では、到達しない状態、発生しない遷移はカバレッジ測定以前に分母から削減されているため、ともに１００％の結果を示している。
上記のように構成することで、例えばエラー記述（作為的な場合も含む）がソース２１に記述されていた場合でも、自動でＦＳＭのエラー記述部分を除いてカバレッジ測定をすることで検査時間を短縮できる。
（論理最適化のチェック）
次に、ＦＳＭが記述されたモジュールをインスタンスする場合、下位モジュールの入力へ接続する論理がＦＳＭ入力への論理に影響を与えて排他的に絶対にあり得ない論理となる場合がある。図８は「sample2」をトップモジュールとして下位モジュールに「sample2_ff」、「sample2_fsm」を配した構成のＲＴＬ記述（ソース２１）である。
【００５０】
まず、モジュール「sample2_fsm」内のＦＳＭ記述のみでカバレッジ総数を抽出するとステート数がＳ０、Ｓ１、Ｓ２、Ｓ３、Ｓ４の５ステート、アーク数がＳ０→Ｓ１、Ｓ０→Ｓ２、Ｓ０→Ｓ３、Ｓ０→Ｓ４、Ｓ１→Ｓ０、Ｓ１→Ｓ１、Ｓ１→Ｓ２、Ｓ１→Ｓ４、Ｓ２→Ｓ０、Ｓ３→Ｓ０、Ｓ４→Ｓ０の１１アークとなる。
【００５１】
ＦＳＭ記述で入力となる変数Ｃ０、Ｃ１、Ｃ２、Ｃ３からバックトレースしてトップモジュール「sample2」外部入力ピンまたはＦＦ出力に到達する範囲を論理抽出する。そして、ＦＳＭの入力論理への最適化を行うとステートＳ０では図９に示すように入力変数（ｉ１、Ｒ、ｉ３）において、（Ｃ１）が（１’ｂ１）かつ（Ｃ２）が（１’ｂ０）かつ（Ｃ３）が（１’ｂ０）という遷移条件は絶対に発生しないという排他性がある。このことからアークＳ０→Ｓ３は絶対に発生せず、Ｓ３への遷移は当該アークのみであることからステートＳ３は絶対に到達しない状態となり、Ｓ３から遷移するアークも絶対に発生しない。そのため、カバレッジ総数としてはステート数がＳ０、Ｓ１、Ｓ２、Ｓ４の４ステート、アーク数がＳ０→Ｓ１、Ｓ０→Ｓ２、Ｓ０→Ｓ４、Ｓ１→Ｓ０、Ｓ１→Ｓ１、Ｓ１→Ｓ２、Ｓ１→Ｓ４、Ｓ２→Ｓ０、Ｓ４→Ｓ０の９アークとなる。
【００５２】
なお、同様な遷移条件であるＳ１では、図１０に示すようにｉ２がＦＦ（「sample2_ff」）前後となるため、排他的論理とはならずに全ての遷移が発生する。ライン５９〜６７に記述された条件を全て満足する。
【００５３】
上記処理について図１１に示すフローで説明する。
ステップ（Ｓ１１１）では、モジュール「sample2_fsm」内でＦＳＭの入力となる変数（Ｃ０、Ｃ１、Ｃ２、Ｃ３）ごとにトップモジュール外部入力（ｉ１、ｉ２、ｉ３）またはＦＦ出力（Ｒ）まで入力方向にバックトレースして論理抽出する。本例ではアークＣ０→ｉ１＆ｉ２、Ｃ１→ｉ１＆Ｒ、Ｃ２→Ｒ＆ｉ３、Ｃ３→Ｒ＆〜ｉ３を抽出する。
【００５４】
ステップ（Ｓ１１２）では、論理抽出した部分を論理最適化した結果をＦＳＭの遷移条件に適用され、Ｃ１＆Ｃ２がｈｉｇｈの条件下ではＣ３は常にｈｉｇｈつまり１となる（ライン５７が未発生）。絶対に発生しないアークＳ０→Ｓ３を抽出する。
【００５５】
ステップ（Ｓ１１３）では、絶対に発生しない遷移の有無を判定する。絶対に発生しない遷移が無い場合は終了し、有る場合はステップＳ１１４に移行する。
ステップ（Ｓ１１４）では、絶対に発生しない遷移をレポートし、遷移先の状態が当該遷移なしで絶対に到達しないステートＳ３を抽出する。
【００５６】
ステップ（Ｓ１１５）では、絶対に到達しない状態の有無を判定する。絶対に到達しない状態が無い場合は終了し、有る場合はステップＳ１１６に移行する。
ステップ（Ｓ１１６）では、絶対に到達しない状態レポートし、当該状態からの遷移すべてを絶対に発生しないアークＳ３→Ｓ０を抽出する。
【００５７】
ステップ（Ｓ１１７）では、遷移の有無を判定し、遷移が無い場合は終了し、有る場合はステップＳ１１４に戻る。
上記処理を図１２のＦＳＭ遷移図で説明すると、ステートＳ０をデフォルトとしてステートＳ１〜Ｓ４への遷移が考えられる。つまり、図８のライン５５に記述されたＳ１への遷移（図１２のアークＣ１＆Ｃ２）、図８のライン５６に記述されたＳ２への遷移（図１２のアークＣ１＆〜Ｃ２＆Ｃ３）、図８のライン５７に記述されたＳ３への遷移（図１２の点線アークＣ１＆〜Ｃ２＆〜Ｃ３）、図８のライン５８に記述されたＳ４への遷移（図１２のアーク〜Ｃ１）である。
【００５８】
Ｓ１からの遷移は、図８のライン５９〜６３に記述された、Ｓ１へのループする遷移（図１２のアークＣ０＆〜Ｃ２＆Ｃ３）と、Ｓ０に戻る遷移（図１２のアークＣ０＆Ｃ２）と、Ｓ２への遷移（図１２のアークＣ０＆〜Ｃ２＆〜Ｃ３）と、Ｓ４への遷移（図１２のアーク〜Ｃ０）である。
【００５９】
Ｓ２、Ｓ３、Ｓ４からの遷移は、図８のライン６４〜６６に記述されているように無条件でＳ０に遷移（図１２のアーク‘１’）する。
しかし、点線矢印で示したアークＳ０→Ｓ３には遷移しないためステートＳ３に到達することはない。よって、Ｓ３→Ｓ０に戻るアークも存在しないことになる。この戻らないことが自明な遷移についても抽出する。
【００６０】
図１３にＦＳＭカバレッジ測定結果を示す。図１３（ａ）では従来のＦＳＭカバレッジ測定の結果はＳ３に到達しないため８０％（４／５）である。また図１３（ｂ）では２アークが上記説明したように２つあるため８１％（９／１１）になっている。図１３（ｃ）（ｄ）では、論理最適化によりＦＳＭカバレッジ測定をしているので、到達しない状態および絶対に発生しない遷移を削減しているので１００％の結果となっている。
【００６１】
上記のように構成することで、例えばエラー記述（作為的な場合も含む）がソース２１に記述されていた場合でも、自動でＦＳＭのエラー記述部分を除いてカバレッジ測定をすることで検査時間を短縮できる。
（実施例２）
ＦＳＭの状態内において遷移先を決定する論理にＦＳＭレジスタ変数、またはその派生変数が記述されて、かつＦＳＭレジスタ変数・派生変数が状態分岐以外の遷移条件内や次状態として使用されている場合には、ＦＳＭカバレッジ１００％達成が難しい。図１４に示すＲＴＬ記述は、ライン２８〜５２のＦＳＭに記述されたレジスタ変数（ｃｕｒ＿ｓｔａｔ,ｎｘｔ＿ｓｔａｔ）からの派生として派生変数（ｓｔａｔｅ）が存在し、ステートＳ３において派生変数（ｓｔａｔｅ）との比較条件、ステートＳ５においてレジスタ変数（ｃｕｒ＿ｓｔａｔ）との比較条件、及び派生変数（ｓｔａｔｅ）への遷移先への代入が記述されている。
【００６２】
図１５に上記の場合について抽出処理について説明する。
ステップ（Ｓ１５１）では、「sample3」モジュール内のＦＳＭレジスタ変数（ｃｕｒ＿ｓｔａｔ,ｎｘｔ＿ｓｔａｔ）を入力として使用している派生変数を抽出する。本例では（ｓｔａｔｅ）を抽出する（派生変数抽出機能）。
【００６３】
ステップ（Ｓ１５２）では、上記派生変数の有無を判断する。例えば、図１４の記述または上述した設計情報を調べ派生変数が無い場合はステップ（Ｓ１５６）に移行し、有る場合はステップ（Ｓ１５３）に移行する。
【００６４】
ステップ（Ｓ１５３）では、派生変数が次状態の遷移先として使用されている状態を抽出する（第１状態抽出機能）。本例ではステートＳ５を抽出する。
ステップ（Ｓ１５４）では、使用箇所の有無を判定する。無い場合はステップ（Ｓ１５６）に進み、有る場合はステップ（Ｓ１５５）に進む。本例ではライン４７に派生変数が記述され、ステートＳ５に遷移している。
【００６５】
ステップ（Ｓ１５５）では、使用箇所としてステートＳ５をレポートする。
ステップ（Ｓ１５６）では、ＦＳＭレジスタ変数または派生変数がＦＳＭの遷移条件で使用されている状態を抽出する（第２状態抽出機能）。本例ではステートＳ３, Ｓ５を抽出する
ステップ（Ｓ１５７）では、使用箇所の有無を判定する。無い場合は終了し、有る場合はステップ（Ｓ１５８）に進む。本例ではライン４１〜４３、４５〜４９に記述されているステートＳ３、Ｓ５にＦＳＭレジスタ変数と派生変数が使用されている。
【００６６】
ステップ（Ｓ１５８）では、使用箇所としてステートＳ３、Ｓ５をレポートする。
上記フローによるチェックの結果、ＦＳＭレジスタ、派生変数を遷移条件に使用した状態がステートＳ３、Ｓ５の２つとなり、派生変数を遷移先に使用した状態はＳ５である。
【００６７】
上記のように構成することで、ＲＴＬ記述（ソース２１）からＦＳＭのレジスタ変数を遷移条件に使用したＦＳＭと、ＦＳＭのレジスタを遷移論理使用した状態を抽出することができる。その結果に基づいて、ソース２１を書き換えるように注意を促すことができる。
【００６８】
このようなハードウェア構成を有するコンピュータを１台または２台以上用いることによって、上記説明した各種処理機能が実現される。その場合システムが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行させることにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【００６９】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００７０】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次受け取ったプログラムに従った処理を実行することもできる。
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
【００７１】
（付記１）
言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定を行うのためのプログラムを記録した記録媒体であって、
前記言語記述および前記言語記述に基づき生成される設計情報からＦＳＭ構成を抽出する機能と、
前記ＦＳＭの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間のＦＳＭ入力論理を抽出する抽出機能と、
前記ＦＳＭ入力論理で検出された排他性を有する論理とＦＳＭの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する検出機能と、
を実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
（付記２）
前記検出機能は、前記ＦＳＭ入力論理で検出された定数伝播の論理とＦＳＭの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する定数伝播による検出をすることを特徴とする付記１に記載のコンピュータに実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
（付記３）
前記検出機能は、前記抽出機能とともに最適化を実行して、前記最適化されたＦＳＭ入力論理で検出された排他性を有する論理とＦＳＭの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出することを特徴とする付記１に記載のコンピュータに実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
（付記４）
検出機能の出力を、前記絶対に到達しない状態数をＦＳＭステートカバレッジの総数から削減し、前記絶対に発生しない遷移数をＦＳＭアークカバレッジの総数から削減し、その後に前記カバレッジ測定を実行して網羅率を算出し、前記算出の結果を出力する出力機能を特徴とする付記１に記載のコンピュータで実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
（付記５）
言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定を行うのためのプログラムを記録した記録媒体であって、
前記言語記述および前記言語記述に基づき生成される設計情報からＦＳＭの構成を抽出する抽出機能と、
前記ＦＳＭのＦＳＭレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出機能と、
前記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出機能と、
前記ＦＳＭレジスタ変数または前記派生変数がＦＳＭの遷移条件として使用されている状態を抽出する第２状態抽出機能と、
をコンピュータで実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
（付記６）
前記第１抽出機能の演算結果を表示することを特徴とする付記５に記載のコンピュータに実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
（付記７）
前記第２抽出機能の演算結果を表示することを特徴とする付記５に記載のコンピュータに実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
（付記８）
言語記述された論理回路とテストベンチに基づいてＦＳＭカバレッジ測定を行う設計装置であって、
前記言語記述および前記言語記述に基づき生成される設計情報からＦＳＭ構成を抽出し、前記ＦＳＭの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、定数伝播と最適化をし、絶対に到達しない状態および絶対に発生しない遷移がないかをシミュレーション実行前チェックして前記チェック結果を出力するＦＳＭチェック部と、
前記絶対に到達しない状態をＦＳＭステートカバレッジの総数から削減するとともに、前記絶対に発生しない遷移をＦＳＭアークカバレッジの総数から削減し、前記テストベンチに基づいて前記ＦＳＭカバレッジ測定を実行してＦＳＭカバレッジ結果を出力するＦＳＭカバレッジ測定部と、
を具備することを特徴とする設計装置。
（付記９）
付記８に記載の設計装置であって、
さらに、前記言語記述および前記言語記述に基づき生成される設計情報からＦＳＭの構成を抽出する抽出部と、
前記ＦＳＭのＦＳＭレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出部と、
前記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出部と、
前記ＦＳＭレジスタ変数または前記派生変数がＦＳＭの遷移条件として使用されている状態を抽出する第２状態抽出部と、
を具備することを特徴とする設計装置。
（付記１０）
前記検出機能は、前記ＦＳＭ入力論理で検出された定数伝播の論理とＦＳＭの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する定数伝播による検出をすることを特徴とする付記８に記載の設計装置。
（付記１１）
前記検出機能は、前記抽出機能とともに最適化を実行して、前記最適化されたＦＳＭ入力論理で検出された排他性を有する論理とＦＳＭの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出することを特徴とする付記８に記載の設計装置。
（付記１２）
検出機能の出力を、前記絶対に到達しない状態数をＦＳＭステートカバレッジの総数から削減し、前記絶対に発生しない遷移数をＦＳＭアークカバレッジの総数から削減し、その後に前記カバレッジ測定を実行して網羅率を算出し、前記算出の結果を出力する出力機能を特徴とする付記８に記載の設計装置。
（付記１３）
前記第１抽出機能の演算結果を表示することを特徴とする付記９に記載の設計装置。
（付記１４）
前記第２抽出機能の演算結果を表示することを特徴とする付記９に記載の設計装置。
【図面の簡単な説明】
【００７２】
【図１】本発明を実現させるためのシステム構成を示した図である。
【図２】本発明の原理を示すブロック図である。
【図３】本発明の処理内容のフローを示す図である。
【図４】定数伝播のチェック時のＲＴＬ記述例を示す図である。
【図５】図４に示したＲＴＬ記述に基づいて処理を実行した場合のフローを示した図である。
【図６】図４に示したＲＴＬ記述のＦＳＭの遷移図である。
【図７】図４に示したＲＴＬ記述のＦＳＭカバレッジ測定した結果である。（ａ）従来のＦＳＭステートカバレッジ測定、（ｂ）従来のＦＳＭアークカバレッジ測定、（ｃ）本発明のＦＳＭステートカバレッジ測定、（ｄ）本発明のＦＳＭアークカバレッジ測定
【図８】論理最適化のチェック時のＲＴＬ記述例を示す図である。
【図９】図８に示したＲＴＬ記述のステートＳ０の遷移カバーを示す図である。
【図１０】図８に示したＲＴＬ記述のステートＳ１の遷移カバーを示す図である。
【図１１】図８に示したＲＴＬ記述に基づいて処理を実行した場合のフローを示した図である
【図１２】図８に示したＲＴＬ記述のＦＳＭの遷移図である。
【図１３】図８に示したＲＴＬ記述のＦＳＭカバレッジ測定した結果である。（ａ）従来のＦＳＭステートカバレッジ測定、（ｂ）従来のＦＳＭアークカバレッジ測定、（ｃ）本発明のＦＳＭステートカバレッジ測定、（ｄ）本発明のＦＳＭアークカバレッジ測定
【図１４】実施例２のＲＴＬ記述例を示す図である。
【図１５】実施例２の処理を示すフロー図である。
【図１６】ＦＳＭを示す図である。
【符号の説明】
【００７３】
１０      設計装置
１１      ＣＰＵ
１２      ＲＯＭ
１３      ＲＡＭ
１４      ハードディスクドライブ（ＨＤＤ）
１５      フレキシブルディスクドライブ（ＦＤＤ）
１５ａ      ＦＤ
１６      入力インタフェース（入力Ｉ／Ｆ）
１６ａ      入力装置
１７      通信インタフェース（通信Ｉ／Ｆ）
１８      通信回線
１９      出力インタフェース（出力Ｉ／Ｆ）
１９ａ      出力装置
２１      ソース
２２      テストベンチ
２３      ＦＳＭチェック部
２４      ＦＳＭカバレッジ測定部
２５      チェック結果
２６      ＦＳＭカバレッジ結果
１１０      グラフィック処理部
１１０ａ      表示装置
１１１      バス
【図１】
0004657912.tif 000002
【図２】
0004657912.tif 000003
【図３】
0004657912.tif 000004
【図４】
0004657912.tif 000005
【図５】
0004657912.tif 000006
【図６】
0004657912.tif 000007
【図７】
0004657912.tif 000008
【図８】
0004657912.tif 000009
【図９】
0004657912.tif 000010
【図１０】
0004657912.tif 000011
【図１１】
0004657912.tif 000012
【図１２】
0004657912.tif 000013
【図１３】
0004657912.tif 000014
【図１４】
0004657912.tif 000015
【図１５】
0004657912.tif 000016
【図１６】
0004657912.tif 000017