(57)【要約】【課題】ランダムなテストパターンと機能カバレッジを利用したシステムＬＳＩの論理回路機能検証機能における機能カバレッジアイテムの抜け、また、これに伴う不具合の看過を防止する。【解決手段】論理回路の機能検証装置は、ＲＴＬ３で記述された論理回路について予め想定した機能カバレッジアイテム２に対し、所定のテストプログラムによるテストにより正しい結果が得られた機能カバレッジアイテムの網羅率（機能カバレッジ）を算出する機能シミュレータ６と、前記テストプログラムによるテストのコードカバレッジを算出するコードカバレッジ算出部と、テスト中に、前記コードカバレッジに変化があり、かつ、前記機能カバレッジに変化が無かった場合のテストパターンを想定外動作テストパターン１１として出力する想定外動作検出部１０と、を備える。【選択図】図１
2008134808.tif 000002
【特許請求の範囲】
【請求項１】
所定のハードウェア記述言語で記述された論理回路について予め想定した機能カバレッジアイテムに対し、所定のテストプログラムによるテストにより正しい結果が得られた機能カバレッジアイテムの網羅率（機能カバレッジ）を算出する機能シミュレータを備えた論理回路の機能検証装置であって、更に、
前記テストプログラムによるテストのコードカバレッジを算出するコードカバレッジ算出部と、
テスト中に、前記コードカバレッジに変化があり、かつ、前記機能カバレッジに変化が無かった場合のテストパターンを想定外動作テストパターンとして出力する想定外動作検出部と、を備えたこと、
を特徴とする論理回路の機能検証装置。
【請求項２】
前記機能シミュレータは、
前記所定のテストプログラムによりランダムなテストパターンを出力するテストパターンジェネレータと、
検証対象の論理回路を再現動作する論理回路シミュレータと、
前記機能検証プログラムの出力結果と、前記論理回路シミュレータの出力とを比較することにより、論理回路が正しく動作しているか否かを確認する機能チェッカーと、
前記機能チェッカーにより正常動作が確認されたテストパターンに対応する機能カバレッジアイテムを検出する機能カバレッジチェッカーとを含んで構成されていること、
を特徴とする請求項１に記載の論理回路の機能検証装置。
【請求項３】
所定のハードウェア記述言語で記述された論理回路について予め想定した機能カバレッジアイテムに対し、所定のテストプログラムによるテストにより正しい結果が得られた機能カバレッジアイテムの網羅率（機能カバレッジ）を算出する機能シミュレータと、前記テストプログラムによるテストのコードカバレッジを算出するコードカバレッジ算出部と、を含んだコンピュータシステムを用いた前記機能カバレッジアイテムの検証方法であって、
前記コンピュータシステムが、前記コードカバレッジの変化を検出するステップと、
前記コンピュータシステムが、前記機能カバレッジの変化を検出するステップと、
前記コンピュータシステムが、テスト中に、前記コードカバレッジに変化があり、かつ、前記機能カバレッジに変化が無かった場合の前記テストプログラムにより生成されたテストパターンを想定外動作テストパターンとして出力するステップと、を含むこと、
を特徴とする機能カバレッジアイテムの検証方法。
【請求項４】
所定のハードウェア記述言語で記述された論理回路について予め想定した機能カバレッジアイテムに対し、所定のテストプログラムによるテストにより正しい結果が得られた機能カバレッジアイテムの網羅率（機能カバレッジ）を算出する機能シミュレータと、前記テストプログラムによるテストのコードカバレッジを算出するコードカバレッジ算出部と、を含んだコンピュータシステムに実行させるプログラムであって、
前記機能シミュレータ及びコードカバレッジ算出部の出力結果を監視し、前記コードカバレッジに変化があり、かつ、前記機能カバレッジに変化が無かった場合の前記テストプログラムにより生成されたテストパターンを想定外動作テストパターンとして出力する処理をコンピュータシステムに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩ（半導体集積回路）等に含まれる論理回路の機能検証装置、機能カバレッジアイテムの検証方法及びプログラムに関し、特にランダムなテストパターンを用いて論理回路の機能テストを行うとともに、その網羅率（機能カバレッジ）を測ることのできる論理回路の機能検証装置、機能カバレッジアイテムの検証方法及びプログラムに関する。
【背景技術】
【０００２】
近年のシステムＬＳＩは、その機能が非常に複雑化しており、開発の現場において機能検証に膨大な手間がかかるようになってきている。実際上、このようなシステムＬＳＩが有するすべての機能を人手で一つ一つ確認することは困難であり、それを解決する方法としてランダムなテストパターンを用いた検証方法が行われるようになってきている。ランダムなテストパターンは人が考えるテストパターンよりも複雑多様であるため、思いがけない論理故障を発見できるという利点がある。また、複雑な論理回路に対してすべての機能を検証するテストパターンを人手で作成することは莫大な時間がかかるため、開発時間の短縮になる。
【０００３】
ここで、上記テストパターンの完全性が問題となるが、設計仕様において満たさなければならない機能検証項目を機能カバレッジアイテムとして設定し、上記ランダムなテストパターンを生成した際に、その機能カバレッジが満たされたかどうかで機能検証が十分になされたかどうかを判断することが行われている。
【０００４】
上記ランダムなテストパターンと機能カバレッジを応用したシステムＬＳＩの機能検証を行う装置が特許文献１に記載されている。図５は、特許文献１記載の機能検証装置とほぼ等価のシステム構成図であり、機能シミュレータで、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）で記述された論理回路のシミュレーションを行った結果、検出された機能カバレッジアイテムが機能カバレッジに反映される。
【０００５】
また、特許文献２には、システムＬＳＩの論理回路シミュレーションでコードカバレッジを収集する装置が記載されている。
【０００６】
【特許文献１】特開２００４−８６８３８号公報
【特許文献２】特開２００１−９２８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記した従来技術は、上記機能カバレッジにより機能検証の完全性を測っているが、その基準となる機能カバレッジアイテムの完全性を確認することができないという問題点がある。機能カバレッジアイテムに抜けが生ずるということは、当該抜けてしまった機能カバレッジアイテムに対応する機能検証項目が検証されたかどうかが不明のままテストが完了してしまうことを意味する。
【０００８】
特に、冒頭に述べたとおり、システムＬＳＩの機能が非常に複雑化している中では、設計仕様上の機能のすべてを完全に抜き出すことは困難を極めている。また、上記抜き出した機能を機能カバレッジアイテムとして機能検証装置に設定する際に人為的ミスが生ずることも考えられる。
【課題を解決するための手段】
【０００９】
本発明の第１の視点によれば、所定のハードウェア記述言語で記述された論理回路について予め想定した機能カバレッジアイテムに対し、所定のテストプログラムによるテストにより正しい結果が得られた機能カバレッジアイテムの網羅率（機能カバレッジ）を算出する機能シミュレータを備えた論理回路の機能検証装置であって、更に、前記テストプログラムによるテストのコードカバレッジを算出するコードカバレッジ算出部と、テスト中に、前記コードカバレッジに変化があり、かつ、前記機能カバレッジに変化が無かった場合のテストパターンを想定外動作テストパターンとして出力する想定外動作検出部と、を備えたこと、を特徴とする論理回路の機能検証装置及びコンピュータを該機能検証装置として機能させるためのプログラム（あるいは、当該プログラムを格納した記録媒体）が提供される。
【００１０】
本発明の第２の視点によれば、所定のハードウェア記述言語で記述された論理回路について予め想定した機能カバレッジアイテムに対し、所定のテストプログラムによるテストにより正しい結果が得られた機能カバレッジアイテムの網羅率（機能カバレッジ）を算出する機能シミュレータと、前記テストプログラムによるテストのコードカバレッジを算出するコードカバレッジ算出部と、を含んだコンピュータシステムを用いた前記機能カバレッジアイテムの検証方法であって、前記コンピュータシステムが、前記コードカバレッジの変化を検出するステップと、前記コンピュータシステムが、前記機能カバレッジの変化を検出するステップと、前記コンピュータシステムが、テスト中に、前記コードカバレッジに変化があり、かつ、前記機能カバレッジに変化が無かった場合の前記テストプログラムにより生成されたテストパターンを想定外動作テストパターンとして出力するステップと、を含むこと、を特徴とする機能カバレッジアイテムの検証方法が提供される。
【発明の効果】
【００１１】
本発明によれば、機能カバレッジアイテムの抜け（設定漏れ）を想定外動作テストパターンとして検出することが可能となる。また、上記想定外動作テストパターンが出力されなければ、機能カバレッジの完全性（設計仕様から設定した検証すべき機能のすべてが網羅された状態）を確認することができる。
【発明を実施するための最良の形態】
【００１２】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態に係るシステムＬＳＩの論理回路の機能検証装置の構成を表したブロック図である。図１と図５を比較して明らかなとおり、本実施形態は、機能シミュレータ６にコードカバレッジの算出機能と、前記算出されたコードカバレッジと、機能カバレッジを用いた想定外動作検出機能（想定外動作検出部）を備えたことを大きな特徴としている。
【００１３】
機能カバレッジアイテム（機能カバレッジ項目）２は、検証対象のシステムＬＳＩの設計仕様に基づいて設定された検証項目１を、コンピュータ装置が解釈できるような態様にしたデータである。より具体的には、機能カバレッジアイテム２は、検証対象のシステムＬＳＩの論理回路が設計仕様上有さなければならない機能や、入出力信号の条件、内部レジスタの値等の機能の単位を表す。例えば、検証対象が命令コマンドを受けて動作するコントローラのようなものであれば、その命令コマンドの種類一つ一つが機能カバレッジアイテムであり、その命令に対する応答の種類の一つ一つも機能カバレッジアイテムとなる。
【００１４】
ＲＴＬ３は、検証対象となるシステムＬＳＩの論理回路を、レジスタ転送レベルのハードウェア記述言語で表現したものである。
【００１５】
テストプログラム４は、検証対象の論理回路を機能的にランダム動作させるためのランダムなテストパターン（入力信号パターン）を生成するためのプログラムであり、機能シミュレータ６を構成するコンピュータシステムに読み出されてテストパターンを生成する。例えば検証対象が命令コマンドを受けて動作するコントローラのようなものであれば、テストパターン（入力信号パターン）は、命令コマンドを入力するコマンドの種類や組み合わせ、タイミング等がランダムに並べられたパターンとなる。
【００１６】
機能検証プログラム５は、論理回路の動作が設計仕様に対して正しく動作しているか否かを確認するプログラムであり、機能シミュレータ６を構成するコンピュータシステムに読み出されて検証対象の論理回路の動作を検証する。具体的には、機能検証プログラム５は、入力信号に対する検証対象の論理回路の出力データや内部レジスタの値、内部信号の時間的な変化等を観測して、それらが正しいものであるか否かを判定する。
【００１７】
機能シミュレータ６及び想定外動作検出部１０は、中央処理装置（ＣＰＵ）及びその周辺回路・周辺装置からなり、内蔵の半導体メモリ（ＲＯＭ、ＲＡＭ等）や外部記憶媒体（ハードディスク、光磁気ディスク等）に記録された制御プログラムに基づいて動作するコンピュータシステム上に構成される。
【００１８】
上記機能シミュレータ６への入力データは、検証対象のシステムＬＳＩの論理回路が記述されたＲＴＬ３、ランダムなテストパターンを生成させるためのテストプログラム４、検証対象の論理回路の動作が正しいか判断するための機能検証プログラム５、機能カバレッジアイテム２である。
【００１９】
また、機能シミュレータ６の出力データは、機能カバレッジ、コードカバレッジ、テストパターンであり、それぞれ機能カバレッジデータベース７、コードカバレッジデータベース８、テストパターン９に出力される。
【００２０】
機能カバレッジは一般に、あるテストが論理回路の機能をどれだけ網羅したかを表す指標として知られている。機能カバレッジが１００％であるということは、検証者が設計仕様から設定した検証すべき機能のすべてを網羅したということを意味する。本実施形態では、機能シミュレータ６にて論理回路シミュレーションを行った結果、（正常検出された機能カバレッジアイテム数）／（すべての機能カバレッジアイテム数）［％］を機能カバレッジとしている。
【００２１】
コードカバレッジは一般に、あるテストプログラムが論理回路をどれだけ活性化するテストパターンを生成できているかを表す指標として知られている。また、コードカバレッジは冗長なＲＴＬ記述がどれほど含まれているのかの指標としても用いられる。本実施形態では、機能シミュレータ６にてＲＴＬ３の論理回路シミュレーションを行った際に、（検出（実行）された有効なコードの行数）／（すべての有効なコードの行数）［％］をコードカバレッジとしている。ここで、有効なコードとは、ＲＴＬ記述で論理回路の動作を表していない部分を除いたコードという意味である。
【００２２】
図２は、機能シミュレータ６の詳細構成を表したブロック図である。図２を参照すると、機能シミュレータ６は、テストパターンジェネレータ１２と、論理回路シミュレータ１４と、コードカバレッジチェッカー１７と、機能チェッカー１８と、機能カバレッジチェッカー１９とを備えて構成されている。
【００２３】
テストパターンジェネレータ１２は、入力されたテストプログラム４を実行し、ランダムなテストパターン１３を生成する。
【００２４】
論理回路シミュレータ１４は、検証対象のシステムＬＳＩの論理回路が記述されたＲＴＬ３をコンパイルして実行可能なコード（シミュレータの実行コード１５）にするとともに、テストパターンジェネレータ１２にて生成されたランダムなテストパターン１３を用いて検証対象の論理回路を再現動作（シミュレート）し、論理回路信号値１６を出力する。
【００２５】
コードカバレッジチェッカー１７は、入力されたＲＴＬ３と論理回路シミュレータ１４から出力されるシミュレータの実行コード１５に基づいて、ＲＴＬ３におけるどの行が論理回路シミュレータ１４で実行されたかを検出し、コードカバレッジデータベース８を更新する。
【００２６】
機能チェッカー１８には、論理回路シミュレータ１４から入力された論理回路信号値１６と、そのときのテストパターン１３及び機能検証プログラム５が入力される。機能チェッカー１８には、テストパターン１３と機能検証プログラム５から作られる論理回路の動作期待値と、論理回路信号値１６とを比較し、論理回路が正しく動作しているか否かを確認する。
【００２７】
機能カバレッジチェッカー１９には、論理回路信号値１６とテストパターン１３、機能カバレッジアイテム２が入力される。機能カバレッジチェッカー１９は、機能チェッカー１８にてエラーが検出されなかったとき、即ち、論理回路が正しく動作しているときに、当該論理回路信号値１６とテストパターン１３に対応する機能カバレッジアイテムを検出し、機能カバレッジデータベース７を更新する。
【００２８】
想定外動作検出部１０は、機能カバレッジデータベース７、コードカバレッジデータベース８、テストパターン９を監視し、機能シミュレータ６にて算出されたコードカバレッジに変化があり、かつ、機能カバレッジに変化が無かった場合のテストパターン１３を想定外動作テストパターンとして出力する。
【００２９】
このような機能シミュレータ６を連続的に実行させると、次々とランダムなテストパターン１３が生成され、そのテストパターン毎に機能カバレッジ、コードカバレッジが随時更新される。
【００３０】
図３は、テストパターン１３の入力毎に実行される想定外動作検出部１０の動作を表したフローチャートである。まず、想定外動作検出部１０は、機能シミュレータ６から出力されるテストパターン９及び機能カバレッジデータベース７、コードカバレッジデータベース８のデータを入力する（ステップＳ１）。
【００３１】
想定外動作検出部１０は、今回入力されたコードカバレッジに前回入力されたコードカバレッジから変化があるか否かを判定する（ステップＳ２）。ここで、コードカバレッジに変化がなければステップＳ１に戻り、次の入力を待つ。
【００３２】
一方、コードカバレッジに変化があった場合、想定外動作検出部１０は、今回入力された機能カバレッジに、前回入力された機能カバレッジから変化があるか否かを判定する。（ステップＳ３）。ここで、機能カバレッジに変化があればステップＳ１に戻り、次の入力を待つ。コードカバレッジと機能カバレッジの双方に変化がある場合は、機能カバレッジアイテムとして想定された機能が動作したことを示し、問題とはならないからである。
【００３３】
一方、コードカバレッジに変化があったにも拘わらず機能カバレッジに変化がなかった場合、想定外動作検出部１０は、このときのテストパターン９を想定外動作テストパターン１１として出力する（ステップＳ４）。コードカバレッジに変化があったということは、入力されたテストパターン９により新たに動作した機能があったことを示しているが、それにも拘わらず機能カバレッジに変化が無いということは、当該機能が、機能カバレッジアイテムとして想定されていないことを示しているからである。
【００３４】
［実施例１］
続いて、本発明の理解をより深めるため、簡単な論理回路を検証対象とした場合の上記実施形態に係る論理回路の機能検証装置の動作例を挙げて詳細に説明する。
【００３５】
本実施例で検証対象とする論理回路の設計仕様は、以下の通りとする。
入力端子：ＩＮ１、ＩＮ２、ＣＭＤ
出力端子：ＯＵＴ
機能：入力データに対し、ＣＭＤが表す演算を行い、結果をＯＵＴから出力する。ＣＭＤがＡのときは演算Ａ、Ｂのときは演算Ｂ、Ｃのときは演算Ｃを行うものとする。
【００３６】
図４は上記設計仕様を満たすよう設計された論理回路の図である。図４を参照すると、この論理回路は、演算Ａ、Ｂ、Ｃを行う演算器Ａ、Ｂ、Ｃを備え、ＣＭＤの値で各演算器の出力ＯＵＴ＿Ａ、ＯＵＴ＿Ｂ、ＯＵＴ＿Ｃをセレクタで切り替える設計になっている。
【００３７】
ここで、演算器Ｃは論理故障していると仮定する。
【００３８】
始めに、検証者が機能カバレッジアイテム２を設定する。検証対象の設計仕様から以下の機能カバレッジアイテムが考えられる。
機能カバレッジアイテム００１：ＣＭＤがＡである。
機能カバレッジアイテム００２：ＣＭＤがＢである。
機能カバレッジアイテム００３：ＣＭＤがＣである。
これら機能カバレッジアイテムは、検証者が設計仕様に基づいて設定するため、検証者の設計仕様に対する理解度や人的ミスにより、機能カバレッジアイテム００３が抜けてしまったと仮定する。
【００３９】
検証対象の論理回路中のセレクタは、ＲＴＬで以下のような記述であったとする。
０００：  ｃａｓｅ（  ＣＭＤ  ）
００１：  Ａ：ＯＵＴ  ＜＝  ＯＵＴ＿Ａ；
００２：  Ｂ：ＯＵＴ  ＜＝  ＯＵＴ＿Ｂ；
００３：  Ｂ：ＯＵＴ  ＜＝  ＯＵＴ＿Ｃ；
００４：  ｅｎｄｃａｓｅ
【００４０】
上記ＲＴＬ記述の行０、４は論理回路の動作を表していないため、有効なコードは行１、２、３となる。従って、コードカバレッジの対象行は以下のとおりとなる。
コードカバレッジ行００１：「  Ａ：ＯＵＴ  ＜＝  ＯＵＴ＿Ａ；  」
コードカバレッジ行００２：「  Ｂ：ＯＵＴ  ＜＝  ＯＵＴ＿Ｂ；  」
コードカバレッジ行００３：「  Ｂ：ＯＵＴ  ＜＝  ＯＵＴ＿Ｃ；  」
【００４１】
テストプログラム４は、ＣＭＤについてＡ、Ｂ、Ｃを、ＩＮ１、ＩＮ２について適当なデータをランダムに生成するものとする。機能検証プログラム５は、ＣＭＤとＩＮの値に対するＯＵＴの期待値を生成して、論理回路信号値のＯＵＴの値と比較し、不一致ならばエラーを出力する。
【００４２】
以上の前提でテストを開始する。まず、テストパターンジェネレータ１２によりＩＮ１、ＩＮ２とＣＭＤについてランダムなテストパターンが生成され、論理回路シミュレータ１４に入力される。
【００４３】
このときのＣＭＤがＡだったとすると、コードカバレッジ行００１が検出されたという情報がコードカバレッジデータベース８に記録される。これと並行して、機能チェッカー１８はＯＵＴの値がＩＮ１、ＩＮ２の値の演算Ａであるかを確認する。機能チェッカー１８による確認の結果、エラーがなければ機能カバレッジチェッカー１９は機能カバレッジアイテム００１が検出されたと判定し、機能カバレッジデータベース７に記録する。
【００４４】
この場合、コードカバレッジ行００１が検出されてコードカバレッジが変化しているので図３のステップＳ２からステップＳ３に進むが、機能カバレッジアイテム００１が検出されて機能カバレッジも変化しているので、想定外動作検出部１０は、ステップＳ４の想定外動作テストパターンの出力は行わない。
【００４５】
次にＣＭＤがＢであるテストパターンが入力されたとすると、ＣＭＤがＡのときと同様にコードカバレッジ行００２と機能カバレッジアイテム００２がそれぞれ検出される。従って、この場合もコードカバレッジと機能カバレッジの双方が変化するため、想定外動作検出部１０は、ステップＳ４の想定外動作テストパターンの出力は行わない。
【００４６】
次にＣＭＤがＣであるテストパターンが入力されたとすると、コードカバレッジ行００３が検出されたという情報がコードカバレッジデータベース８に記録される。一方、機能カバレッジチェッカー１９は、対応する機能カバレッジアイテム００３を見つけることができない（上述の前提条件のとおり機能カバレッジアイテム００３が設定されていないことによる）ため、機能カバレッジデータベース７上の機能カバレッジを変化させることができない。
【００４７】
この場合、図３のステップＳ２からステップＳ３、ステップＳ４と進み、想定外動作検出部１０は、想定外動作テストパターンとして、このときのテストパターン（例えば、ＣＭＤ＝Ｃ、ＩＮ１＝Ｘ、ＩＮ２＝Ｙ）を出力する。このように想定外動作パターンが検出されたことで、検証者は、少なくとも機能カバレッジの抜けがあることに気がつくことができる。
【００４８】
一方、上記のような機能カバレッジアイテム２の検証機能を持たない従来技術では、すべての機能カバレッジアイテムが検出され、機能カバレッジは１００％になったということになる。このことは機能検証が十分になされて完了することを意味している。上記機能カバレッジアイテム２の抜けだけならまだ良いとして、仮にＣＭＤがＣのときにＯＵＴがＩＮ１、ＩＮ２の演算Ｃであることを検査するという機能が機能検証プログラム５になければ、機能チェッカー１８がエラーを出すこともないため、検証者は演算器Ｃの論理故障に気がつくことはない。
【００４９】
以上のとおり、ランダムなテストパターンと機能カバレッジを利用したシステムＬＳＩの論理機能検証において、機能カバレッジアイテムの設定漏れとなっている機能の有無を確実に検出することが可能となり、また、当該機能を動作させる条件となるテストパターンを検出することができる。
【００５０】
以上、本発明の好適な実施形態及びその具体例を挙げて詳細に説明したが、本発明の技術的範囲は、上記各記載に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形を施すことが可能である。例えば、上記した実施形態では、機能シミュレータ６と別に、想定外動作検出部１０を設けた例を挙げて説明したが、機能シミュレータ６に想定外動作検出部１０と同等の想定外動作検出機能を設けることとしても良いことはもちろんである。
【００５１】
上記した実施形態及びその具体例では、論理回路をＲＴＬにて記述した例を挙げて説明したが、機能シミュレータにて再現動作（シミュレート）し、機能カバレッジやコードカバレッジを算出可能なその他のハードウェア記述言語でも良いことはもちろんである。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１の実施形態に係るシステムＬＳＩの機能検証装置の構成を表したブロック図である。
【図２】本発明の第１の実施形態に係るシステムＬＳＩの機能検証装置の機能シミュレータの詳細構成を表したブロック図である。
【図３】本発明の第１の実施形態に係るシステムＬＳＩの機能検証装置の想定外動作検出部の動作を表したフローチャートである。
【図４】本発明の第１の実施形態に係るシステムＬＳＩの機能検証装置の具体的な動作を説明するためのサンプル回路図である。
【図５】従来のシステムＬＳＩの機能検証装置と等価のシステム構成図である。
【符号の説明】
【００５３】
１  検証項目
２  機能カバレッジアイテム（機能カバレッジ項目）
３  ＲＴＬ（記述）
４  テストプログラム
５  機能検証プログラム
６  機能シミュレータ
７  機能カバレッジデータベース
８  コードカバレッジデータベース
９、１３  テストパターン
１０  想定外動作検出部
１１  想定外動作テストパターン
１２  テストパターンジェネレータ
１４  論理回路シミュレータ
１５  シミュレータの実行コード
１６  論理回路信号値
１７  コードカバレッジチェッカー
１８  機能チェッカー
１９  機能カバレッジチェッカー
【図１】
2008134808.tif 000003
【図２】
2008134808.tif 000004
【図３】
2008134808.tif 000005
【図４】
2008134808.tif 000006
【図５】
2008134808.tif 000007