(57)【特許請求の範囲】
【請求項１】
ＬＳＩに対する検証仕様及び検証項目に基づく機能カバレッジを定義内容で細分化する細分化部と、
前記細分化部により細分化された機能カバレッジを、テストパターンのパラメータの調整による検証難易度で分類する分類部と、
前記分類部により分類された機能カバレッジを検証難易度の低い機能カバレッジと組み合わせる組み合わせ部と、
前記細分化部、前記分類部及び前記組み合わせ部により得られた情報を記録する情報記録部と、
パラメータがランダムに設定されたテストパターンを前記ＬＳＩに入力して動作させるシミュレーション部と、
前記シミュレーション部により前記ＬＳＩの動作が正常な場合に得られた機能カバレッジの検証回数を記録する結果記録部と、
前記情報記録部及び前記結果記録部に記録された情報から、検証対象の機能カバレッジを選択する選択部と、
前記情報記録部に記録された情報から、前記選択部により選択された機能カバレッジに関するテストパターンのパラメータが取りうる値又は範囲を調整する解析部とを備え、
前記シミュレーション部は、前記解析部による調整結果を反映したテストパターンを用いる
ことを特徴とするＬＳＩ検証解析装置。
【請求項２】
前記分類部は、前記細分化部により細分化された機能カバレッジを、テストパターンのパラメータに関する第１の機能カバレッジ、当該パラメータの調整により前記シミュレーション部で得られ易いと予測される第２の機能カバレッジ、当該パラメータの調整では前記シミュレーション部で得られ難いと予測される第３の機能カバレッジに分類する
ことを特徴とする請求項１記載のＬＳＩ検証解析装置。
【請求項３】
前記組み合わせ部は、前記第２の機能カバレッジ毎に全ての前記第１の機能カバレッジを組み合わせ、且つ、前記第３の機能カバレッジ毎に全ての前記第１の機能カバレッジ及び全ての前記第２の機能カバレッジをそれぞれ組み合わせる
ことを特徴とする請求項２記載のＬＳＩ検証解析装置。
【請求項４】
前記選択部は、細分化された機能カバレッジに対して検証対象とする優先順位を検証難易度により予め設定し、当該優先順位に基づき検証対象の機能カバレッジを選択する
ことを特徴とする請求項１から請求項３のうちのいずれか１項記載のＬＳＩ検証解析装置。
【請求項５】
前記解析部は、前記選択部により選択された機能カバレッジに対して、組み合わせられた機能カバレッジが存在する場合において、相関関係があり、且つ、相関係数が規定範囲内の場合に、当該組み合わせられた機能カバレッジに関するテストパターンのパラメータが取りうる値又は範囲を調整する
ことを特徴とする請求項１から請求項４のうちのいずれか１項記載のＬＳＩ検証解析装置。
【請求項６】
前記解析部は、前記シミュレーション部で用いられるテストパターンのパラメータが、検証対象の機能カバレッジが得られるパラメータとなる確率を高めるように、当該テストパターンのパラメータが取りうる値又は範囲を調整する
ことを特徴とする請求項１から請求項５のうちのいずれか１項記載のＬＳＩ検証解析装置。
【請求項７】
細分化部が、ＬＳＩに対する検証仕様及び検証項目に基づく機能カバレッジを定義内容で細分化する細分化ステップと、
分類部が、前記細分化部により細分化された機能カバレッジを、テストパターンのパラメータの調整による検証難易度で分類する分類ステップと、
組み合わせ部が、前記分類部により分類された機能カバレッジを検証難易度の低い機能カバレッジと組み合わせる組み合わせステップと、
情報記録部が、前記細分化部、前記分類部及び前記組み合わせ部により得られた情報を記録する情報記録ステップと、
シミュレーション部が、パラメータがランダムに設定されたテストパターンを前記ＬＳＩに入力して動作させるシミュレーションステップと、
結果記録部が、前記シミュレーション部により前記ＬＳＩの動作が正常な場合に得られた機能カバレッジの検証回数を記録する結果記録ステップと、
選択部が、前記情報記録部及び前記結果記録部に記録された情報から、検証対象の機能カバレッジを選択する選択ステップと、
解析部が、前記情報記録部に記録された情報から、前記選択部により選択された機能カバレッジに関するテストパターンのパラメータが取りうる値又は範囲を調整する解析ステップとを有し、
前記シミュレーション部は、前記解析部による調整結果を反映したテストパターンを用いる
ことを特徴とするＬＳＩ検証解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）又はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）の開発において、ＬＳＩに機能が正しく実装されているかを検証するための、乱数を用いた論理シミュレーションによるＬＳＩ検証解析装置及びＬＳＩ検証解析方法に関するものである。
【背景技術】
【０００２】
従来から、論理シミュレーションを用いてＬＳＩに機能が正しく実装されているかを検証する技術が存在している。このＬＳＩの検証では、ＬＳＩへ入力するテストパターンを人手によって作成する場合と、人手の代わりに乱数を用いてランダムに生成する場合の２通りが存在する。
【０００３】
テストパターンをランダムに生成する場合、テストパラメータと呼ばれる要因を使用してテストパターンを生成している。そして、このテストパラメータを、シミュレーション結果である検証内容に応じて調整することで、様々な検証を行うことが可能である。またこの際、ＬＳＩの検証状況から検証が十分に行われていない機能を特定し、その機能を効率的に検証できるようにテストパラメータを調整する。
【０００４】
このＬＳＩの検証方式の一つであるランダム検証を行う技術として、特許文献１に開示された技術がある。この従来構成では、ＬＳＩにランダムのテストパターンを入力し、それと並行して機能カバレッジの測定及び解析を行っている。そして、各機能がどこまで検証されたかを確認し、以降のシミュレーションにおいて検証されていない機能を重点的に検証するのに必要なテストパラメータの調整を行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０-０４４６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術では、シミュレーションの実行、シミュレーションの網羅性のチェック、それ以降のシミュレーションへのフィードバックについて述べられている。しかしながら、従来技術では、シミュレーションの網羅性のチェックに使用する機能カバレッジの解析方法、及び、テストパラメータのフィードバック方法が、ＬＳＩに依存するという課題がある。そのため、ＬＳＩが変わるたびに、それらの方法を考え直す必要がある。また、人手によって解析を行っているため、実際にフィードバックが行われるまでに時間を要し、検証工程を遅らせる原因となっている。
【０００７】
この発明は、上記のような課題を解決するためになされたもので、従来構成に対し、機能カバレッジの解析が容易となり、また、機能カバレッジの解析時間及びシミュレーション時間を削減することができるＬＳＩ検証解析装置及びＬＳＩ検証解析方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
この発明に係るＬＳＩ検証解析装置は、ＬＳＩに対する検証仕様及び検証項目に基づく機能カバレッジを定義内容で細分化する細分化部と、細分化部により細分化された機能カバレッジを、テストパターンのパラメータの調整による検証難易度で分類する分類部と、分類部により分類された機能カバレッジを検証難易度の低い機能カバレッジと組み合わせる組み合わせ部と、細分化部、分類部及び組み合わせ部により得られた情報を記録する情報記録部と、パラメータがランダムに設定されたテストパターンをＬＳＩに入力して動作させるシミュレーション部と、シミュレーション部によりＬＳＩの動作が正常な場合に得られた機能カバレッジの検証回数を記録する結果記録部と、情報記録部及び結果記録部に記録された情報から、検証対象の機能カバレッジを選択する選択部と、情報記録部に記録された情報から、選択部により選択された機能カバレッジに関するテストパターンのパラメータが取りうる値又は範囲を調整する解析部とを備え、シミュレーション部は、解析部による調整結果を反映したテストパターンを用いるものである。
【０００９】
また、この発明に係るＬＳＩ検証解析方法は、細分化部が、ＬＳＩに対する検証仕様及び検証項目に基づく機能カバレッジを定義内容で細分化する細分化ステップと、分類部が、細分化部により細分化された機能カバレッジを、テストパターンのパラメータの調整による検証難易度で分類する分類ステップと、組み合わせ部が、分類部により分類された機能カバレッジを検証難易度の低い機能カバレッジと組み合わせる組み合わせステップと、情報記録部が、細分化部、分類部及び組み合わせ部により得られた情報を記録する情報記録ステップと、シミュレーション部が、パラメータがランダムに設定されたテストパターンをＬＳＩに入力して動作させるシミュレーションステップと、結果記録部が、シミュレーション部によりＬＳＩの動作が正常な場合に得られた機能カバレッジの検証回数を記録する結果記録ステップと、選択部が、情報記録部及び結果記録部に記録された情報から、検証対象の機能カバレッジを選択する選択ステップと、解析部が、情報記録部に記録された情報から、選択部により選択された機能カバレッジに関するテストパターンのパラメータが取りうる値又は範囲を調整する解析ステップとを有し、シミュレーション部は、解析部による調整結果を反映したテストパターンを用いるものである。
【発明の効果】
【００１０】
この発明によれば、上記のように構成したので、従来構成に対し、機能カバレッジの解析が容易となり、また、機能カバレッジの解析時間及びシミュレーション時間を削減することができる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１に係るＬＳＩ検証解析装置の構成例を示す図である。
【図２】この発明の実施の形態１に係るＬＳＩ検証解析装置のハードウェア構成例を示す図である。
【図３】この発明の実施の形態１に係るＬＳＩ検証解析装置の動作例を示すフローチャートである。
【図４】この発明の実施の形態１におけるカバレッジ細分化部による機能カバレッジの細分化条件及び細分化方法の一覧を示す図である。
【図５】この発明の実施の形態１におけるカバレッジ分類部による機能カバレッジ（ＴＣ）の分類条件の一覧を示す図である。
【図６】この発明の実施の形態１におけるカバレッジ分類部による機能カバレッジ（ＳＣ）の分類条件の一覧を示す図である。
【図７】この発明の実施の形態１におけるカバレッジ分類部による機能カバレッジ（ＢＣ）の分類条件の一覧を示す図である。
【図８】この発明の実施の形態１におけるカバレッジ組み合わせ部による機能カバレッジの組み合わせ方法の一覧を示す図である。
【図９】図８に示すＮｏ．１の組み合わせによる効果のイメージを示す図である。
【図１０】図８に示すＮｏ．２，３の組み合わせによる効果のイメージを示す図である。
【図１１】この発明の実施の形態１におけるカバレッジ反映部による機能カバレッジ検証結果の記録内容の一覧を示す図である。
【図１２】この発明の実施の形態１におけるパラメータ反映部による機能カバレッジの優先順位付けの条件一覧を示す図である。
【図１３】この発明の実施の形態１におけるパラメータ反映部の動作例を示すフローチャートである。
【図１４】この発明の実施の形態１におけるパラメータ反映部による機能カバレッジの種別毎の優先順位の一覧を示す図である。
【図１５】この発明の実施の形態１におけるパラメータ反映部による機能カバレッジの定義内容毎の優先順位の一覧を示す図である。
【図１６】この発明の実施の形態１におけるカバレッジ解析部による機能カバレッジ（ＴＣ）の解析動作例を示すフローチャートである。
【図１７】この発明の実施の形態１におけるカバレッジ解析部による機能カバレッジ（ＳＣ）の解析動作例を示すフローチャートである。
【図１８】この発明の実施の形態１におけるカバレッジ解析部による機能カバレッジ（ＢＣ）の解析動作例を示すフローチャートである。
【図１９】この発明の実施の形態１におけるカバレッジ細分化部による処理の具体例を示す図である。
【図２０】この発明の実施の形態１におけるカバレッジ分類部による処理の具体例を示す図である。
【図２１】この発明の実施の形態１におけるカバレッジ組み合わせ部による処理の具体例を示す図である。
【図２２】この発明の実施の形態１におけるカバレッジ反映部による処理の具体例を示す図である。
【図２３】この発明の実施の形態１におけるパラメータ反映部及びカバレッジ解析部による処理の具体例を示す図である。
【発明を実施するための形態】
【００１２】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１はこの発明の実施の形態１に係るＬＳＩ検証解析装置１の構成例を示す図である。
ＬＳＩ検証解析装置１は、ＦＰＧＡ又はＡＳＩＣ等のＬＳＩの開発において、ＬＳＩに機能が正しく実装されているかを検証するための、乱数を用いた論理シミュレーションによる検証解析を行う装置である。このＬＳＩ検証解析装置１は、図１に示すように、カバレッジ作成部１０１、カバレッジ細分化部（細分化部）１０２、カバレッジ分類部（分類部）１０３、カバレッジ組み合わせ部（組み合わせ部）１０４、カバレッジ情報記録部（情報記録部）１０５、シミュレーション部１０６、検証結果確認部１０７、不具合解析部１０８、カバレッジ反映部（結果記録部）１０９、カバレッジ検証結果確認部１１０、パラメータ反映部（選択部）１１１及びカバレッジ解析部（解析部）１１２を備えている。
【００１３】
カバレッジ作成部１０１は、ＬＳＩに対する検証仕様及び検証項目を基に、当該ＬＳＩの機能に対する検証の網羅性を確認するための機能カバレッジを作成するものである。このカバレッジ作成部１０１により作成された機能カバレッジを示す情報はカバレッジ情報記録部１０５に記録される。
【００１４】
カバレッジ細分化部１０２は、カバレッジ作成部１０１により作成された機能カバレッジを定義内容で細分化するものである。このカバレッジ細分化部１０２により細分化された機能カバレッジを示す情報はカバレッジ情報記録部１０５に記録される。
【００１５】
カバレッジ分類部１０３は、カバレッジ細分化部１０２により細分化された機能カバレッジを、テストパターンのパラメータ（テストパラメータ）の調整による検証難易度で分類するものである。この際、カバレッジ分類部１０３は、テストパラメータに関する第１の機能カバレッジ（ＴＣ：Ｔｅｓｔ  ｐａｒａｍｅｔｅｒ  Ｃｏｖｅｒａｇｅ）、ＬＳＩへのスティミュラスに関する第２の機能カバレッジ（ＳＣ：Ｓｔｉｍｕｌｕｓ  Ｃｏｖｅｒａｇｅ）、ＬＳＩの振る舞いに関する第３の機能カバレッジ（ＢＣ：Ｂｅｈａｖｉｏｒ  Ｃｏｖｅｒａｇｅ）に分類する。なお、機能カバレッジ（ＳＣ）は、検証環境から制御可能であり、且つ、テストパラメータの調整によりシミュレーション部１０６で得られ易いと予測される機能カバレッジを全て含む。また、機能カバレッジ（ＢＣ）は、検証環境から制御不可能であり、且つ、テストパラメータの調整ではシミュレーション部１０６で得られ難いと予測される機能カバレッジを全て含む。このカバレッジ分類部１０３により分類された機能カバレッジを示す情報はカバレッジ情報記録部１０５に記録される。
【００１６】
カバレッジ組み合わせ部１０４は、カバレッジ分類部１０３により分類された機能カバレッジを検証難易度の低い機能カバレッジと組み合わせるものである。すなわち、カバレッジ組み合わせ部１０４は、機能カバレッジ（ＳＣ）毎に全ての機能カバレッジ（ＴＣ）を組み合わせ、且つ、機能カバレッジ（ＢＣ）毎に全ての機能カバレッジ（ＳＣ）及び全ての機能カバレッジ（ＴＣ）をそれぞれ組み合わせる。このカバレッジ組み合わせ部１０４により設定された機能カバレッジの組み合わせを示す情報はカバレッジ情報記録部１０５に記録される。
【００１７】
カバレッジ情報記録部１０５は、カバレッジ作成部１０１、カバレッジ細分化部１０２、カバレッジ分類部１０３、カバレッジ組み合わせ部１０４による処理結果を示す情報をそれぞれ記録するものである。
【００１８】
シミュレーション部１０６は、テストパラメータがランダムに設定されたテストパターン（スティミュラス）をＬＳＩに入力して動作させるものである。そして、シミュレーション部１０６は、このシミュレーションの中で発生した検証内容である機能カバレッジとその検証結果（チェック結果）をそれぞれ取得する。このシミュレーション部１０６により検証（取得）された機能カバレッジ及び検証結果を示す情報は検証結果確認部１０７に出力される。また、シミュレーション部１０６は、カバレッジ解析部１１２によるテストパラメータの調整結果を示す情報が出力された場合には、この調整結果を反映させたテストパターンを用いてシミュレーションを行う。
【００１９】
検証結果確認部１０７は、シミュレーション部１０６による検証結果から、ＬＳＩに不具合がないかを確認するものである。そして、検証結果確認部１０７は、ＬＳＩに不具合があると判定した場合にはその旨を不具合解析部１０８に通知し、ＬＳＩに不具合がないと判定した場合にはシミュレーション部１０６により検証された機能カバレッジを示す情報をカバレッジ反映部１０９に出力する。
【００２０】
不具合解析部１０８は、検証結果確認部１０７によりＬＳＩに不具合があることが判明された場合に、当該ＬＳＩを解析して修正するものである。そして、ＬＳＩの修正が完了した後、再度検証を始めからやり直す。
【００２１】
カバレッジ反映部１０９は、検証結果確認部１０７によりＬＳＩに不具合がないと判定された場合に、シミュレーション部１０６により検証された機能カバレッジの検証回数を記録するものである。このカバレッジ反映部１０９により記録された情報は、検証の進捗状況を示す情報及び機能カバレッジ間の相関関係を導く情報として用いられる。
【００２２】
カバレッジ検証結果確認部１１０は、カバレッジ反映部１０９に記録された情報から、検証の網羅性を確認するものである。そして、カバレッジ検証結果確認部１１０は、全ての機能カバレッジに対する検証が完了したと判定した場合には、ＬＳＩ検証解析装置１による動作を終了する。
【００２３】
パラメータ反映部１１１は、カバレッジ検証結果確認部１１０により未検証の機能カバレッジがあると判定された場合に、カバレッジ情報記録部１０５及びカバレッジ反映部１０９に記録された情報から、検証対象の機能カバレッジを選択するものである。また、パラメータ反映部１１１は、細分化された機能カバレッジに対して検証対象とする優先順位を検証難易度により予め設定しており、当該優先順位に基づき検証対象の機能カバレッジの選択を行う。このパラメータ反映部１１１により選択された機能カバレッジを示す情報はカバレッジ解析部１１２に出力される。
【００２４】
カバレッジ解析部１１２は、カバレッジ情報記録部１０５に記録された情報から、パラメータ反映部１１１により選択された機能カバレッジに関するテストパターンのテストパラメータが取りうる値又は範囲を調整するものである。この際、カバレッジ解析部１１２は、検証対象の機能カバレッジに対して組み合わせられた機能カバレッジが存在する場合において、相関関係があり、且つ、相関係数が規定範囲内の場合には、当該組み合わせられた機能カバレッジに関するテストパターンのテストパラメータが取りうる値又は範囲を調整する。また、カバレッジ解析部１１２は、シミュレーション部１０６で用いられるテストパターンのテストパラメータが、検証対象の機能カバレッジが得られるテストパラメータとなる確率を高めるように、当該テストパターンのテストパラメータが取りうる値又は範囲を調整する。このカバレッジ解析部１１２によるテストパラメータの調整結果を示す情報はシミュレーション部１０６に出力される。
【００２５】
次に、上記のように構成されたＬＳＩ検証解析装置１を実現するためのハードウェア構成の一例を、図２を参照しながら説明する。
ＬＳＩ検証解析装置１のハードウェア構成は、例えば図２に示すように、プロセッサ５２及びメモリ５１から構成されている。
【００２６】
この図２において、図１に示すカバレッジ情報記録部１０５及びカバレッジ反映部１０９は、メモリ５１で実現される。また、図１に示すカバレッジ作成部１０１、カバレッジ細分化部１０２、カバレッジ分類部１０３、カバレッジ組み合わせ部１０４、シミュレーション部１０６、検証結果確認部１０７、不具合解析部１０８、カバレッジ検証結果確認部１１０、パラメータ反映部１１１及びカバレッジ解析部１１２は、メモリ５１に記録されたプログラムを実行するプロセッサ５２により実現される。また、複数のプロセッサ５２及び複数のメモリ５１が連携して上記機能を実行してもよい。
【００２７】
次に、上記のように構成されたＬＳＩ検証解析装置１の動作例について説明する。
ＬＳＩ検証解析装置１の動作例では、図３に示すように、まず、カバレッジ作成部１０１は、ＬＳＩに対する検証仕様及び検証項目を基に機能カバレッジを作成する（ステップＳＴ３０１、作成ステップ）。このカバレッジ作成部１０１の動作は従来構成と同様でありその詳細を省略する。
【００２８】
次いで、カバレッジ細分化部１０２は、カバレッジ作成部１０１により作成された機能カバレッジを定義内容で細分化する（ステップＳＴ３０２、細分化ステップ）。この際、カバレッジ細分化部１０２は、例えば図４に示すように、検証仕様及び検証項目から定義された機能カバレッジを、より詳細な定義の機能カバレッジに細分化する。図４に示す一覧では、機能カバレッジの細分化条件と細分化方法が示されている。そして、カバレッジ細分化部１０２は、カバレッジ作成部１０１により作成された機能カバレッジが、図４に示す細分化条件のいずれか一つ以上に該当する場合に、細分化を行う。この細分化は、図４に示す細分化条件に照らし合わせて、いずれの細分化条件にも該当しなくなるまで繰り返す。このカバレッジ細分化部１０２により、カバレッジ解析部１１２において、検証仕様及び検証項目に基づく機能カバレッジが定義する機能がどこまで発生し、どこから発生していないのかを詳細に把握することができる。
【００２９】
なお、カバレッジ細分化部１０２で細分化を行った場合に、細分化前と細分化後の機能カバレッジの関係を示す情報を、カバレッジ情報記録部１０５に記録してもよい。この情報は、パラメータ反映部１１１での処理（未検証の機能カバレッジを検証するために必要なテストパラメータの選択及び調整）に活用できる。
【００３０】
次いで、カバレッジ分類部１０３は、カバレッジ細分化部１０２により細分化された機能カバレッジを、テストパターンのテストパラメータの調整による検証難易度で機能パラメータ（ＴＣ，ＳＣ，ＢＣ）に分類する（ステップＳＴ３０３、分類ステップ）。この際、カバレッジ分類部１０３は、細分化された機能カバレッジが、例えば図５に示す分類条件に該当する場合には機能カバレッジ（ＴＣ）に分類する。また、カバレッジ分類部１０３は、細分化された機能カバレッジが、例えば図６に示すＮｏ．１の分類条件及びそれ以外のいずれか一つ以上の分類条件に該当する場合には機能カバレッジ（ＳＣ）に分類する。また、カバレッジ分類部１０３は、細分化された機能カバレッジが、例えば図７に示す分類条件のいずれか一つ以上に該当する場合には機能カバレッジ（ＢＣ）に分類する。このカバレッジ分類部１０３により、カバレッジ解析部１１２において、各機能カバレッジとテストパラメータとの相関関係を示すのに必要な情報を洗い出すことができる。
【００３１】
次いで、カバレッジ組み合わせ部１０４は、カバレッジ分類部１０３により分類された機能カバレッジを検証難易度の低い機能カバレッジと組み合わせる（ステップＳＴ３０４、組み合わせステップ）。すなわち、カバレッジ組み合わせ部１０４は、図８に示すように、機能カバレッジ（ＳＣ）毎に全ての機能カバレッジ（ＴＣ）を組み合わせ、機能カバレッジ（ＢＣ）毎に全ての機能カバレッジ（ＳＣ）及び全ての機能カバレッジ（ＴＣ）をそれぞれ組み合わせる。
【００３２】
図８に示すＮｏ．１の組み合わせは、機能カバレッジ（ＢＣ）と、テストパラメータに関する機能カバレッジ（ＴＣ）との組み合わせである。この組み合わせにより、カバレッジ解析部１１２において、例えば図９に示すように、どのテストパラメータを調整すれば（どの機能カバレッジ（ＴＣ）が検証できれば）機能カバレッジ（ＢＣ）を検証できるのかを示す相関関係を予測できるようになる。なお図９では、機能カバレッジ（ＢＣ＿０）と機能カバレッジ（ＴＣ＿１）との相関関係が強く、機能カバレッジ（ＢＣ＿１）と機能カバレッジ（ＴＣ＿０，ＴＣ＿２）との相関関係が強い場合を示している。
【００３３】
一方、機能カバレッジ（ＢＣ）は、テストパラメータとＬＳＩの実装（検証環境）の双方が影響する機能カバレッジであるため、テストパラメータの調整のみで検証を行うことは難しい場合が多い。しかしながら、本発明では、検証が困難な機能カバレッジ（ＢＣ）を、予め、検証が容易な機能カバレッジ（ＢＣ）に細分化している。そして、その細分化された機能カバレッジ（ＢＣ）の中には、テストパラメータの調整のみでも検証が容易なものが存在するため、相関関係を予測できることによる効果が高い。
【００３４】
また、検証が困難な機能カバレッジ（ＢＣ）については、図８に示すＮｏ．２，３の組み合わせを併用することで、どのテストパラメータを調整すれば（どの機能カバレッジ（ＴＣ）が検証できれば）機能カバレッジ（ＢＣ）を検証できるのかを示す相関関係を予測できるようになる。
【００３５】
ここで、図８に示すＮｏ．２の組み合わせは、テストパラメータの調整のみで検証できると予測できる機能カバレッジ（ＳＣ）と、テストパラメータに関する機能カバレッジ（ＴＣ）との組み合わせである。この組み合わせにより、カバレッジ解析部１１２において、例えば図１０に示すように、どのテストパラメータを調整すれば（どの機能カバレッジ（ＴＣ）が検証できれば）機能カバレッジ（ＳＣ）を検証できるのかを示す相関関係を予測できるようになる。なお図１０では、機能カバレッジ（ＳＣ＿１）と機能カバレッジ（ＴＣ＿１）との相関関係が強い場合を示している。
【００３６】
また、図８に示すＮｏ．３の組み合わせは、機能カバレッジ（ＢＣ）と機能カバレッジ（ＳＣ）との組み合わせである。この組み合わせにより、カバレッジ解析部１１２において、例えば図１０に示すように、どの機能カバレッジ（ＳＣ）が検証できれば機能カバレッジ（ＢＣ）を検証できるのかを示す相関関係を予測できるようになる。なお図１０では、機能カバレッジ（ＢＣ＿０）と機能カバレッジ（ＳＣ＿１）との相関関係が強い場合を示している。
【００３７】
このように、段階的（ＴＣ→ＳＣ、ＳＣ→ＢＣ）に機能カバレッジの予測を行うことで、どのテストパラメータを調整すれば機能カバレッジ（ＢＣ）を検証できるかを示す相関関係を予測できるようになる。
【００３８】
また、カバレッジ情報記録部１０５は、カバレッジ作成部１０１、カバレッジ細分化部１０２、カバレッジ分類部１０３、カバレッジ組み合わせ部１０４による処理結果を示す情報をそれぞれ記録する（情報記録ステップ）。
【００３９】
次いで、シミュレーション部１０６は、テストパラメータがランダムに設定されたテストパターン（スティミュラス）をＬＳＩに入力して動作させる（ステップＳＴ３０５、シミュレーションステップ）。そして、シミュレーション部１０６は、このシミュレーションの中で発生した検証内容である機能カバレッジとその検証結果（チェック結果）をそれぞれ取得する。このシミュレーション部１０６の動作は従来構成と同様でありその詳細を省略する。
【００４０】
次いで、検証結果確認部１０７は、シミュレーション部１０６による検証結果を確認し、ＬＳＩの不具合を確認する（ステップＳＴ３０６，３０７、検証結果確認ステップ）。この検証結果確認部１０７の動作は従来構成と同様でありその詳細を省略する。
【００４１】
このステップＳＴ３０７において検証結果確認部１０７がＬＳＩに不具合があると判定した場合には、不具合解析部１０８は、当該ＬＳＩを解析して修正する（ステップＳＴ３０８、不具合解析ステップ）。そして、ＬＳＩの修正が完了した後、再度検証を始めからやり直す。この不具合解析部１０８の動作は従来構成と同様でありその詳細を省略する。
【００４２】
一方、ステップＳＴ３０７において検証結果確認部１０７がＬＳＩに不具合がないと判定した場合には、カバレッジ反映部１０９は、シミュレーション部１０６により検証された機能カバレッジの検証回数を記録する（ステップＳＴ３０９、結果記録ステップ）。この際、カバレッジ反映部１０９は、例えば図１１に示すように、細分化された個々の機能カバレッジの検証回数と、組み合わせられた機能カバレッジのシミュレーション毎の検証回数とを、それぞれ記録する。このカバレッジ反映部１０９により記録された情報は、検証の進捗状況を示す情報及び機能カバレッジ間の相関関係を導く情報として用いられる。
【００４３】
ここで、テストパラメータの設定の組み合わせは、シミュレーション毎に異なる。そこで、カバレッジ反映部１０９による記録処理をシミュレーション毎に行う。これにより、テストパラメータの設定の組み合わせ毎の機能カバレッジの検証結果への影響を明瞭にすることができる。
【００４４】
また、カバレッジ反映部１０９では、細分化された個々の機能カバレッジの検証回数と、組み合わせられた機能カバレッジの検証回数とを、分けて記録している。これにより、カバレッジ解析部１１２において両方の検証回数を用いることで、組み合わせられた機能カバレッジ間の相関関係を導き出すことができる。
【００４５】
次いで、カバレッジ検証結果確認部１１０は、カバレッジ反映部１０９に記録された情報から、検証の網羅性を確認する（ステップＳＴ３１０）。すなわち、カバレッジ作成部１０１により作成された全ての機能カバレッジに対する検証が完了したかを判定する。
このステップＳＴ３１０においてカバレッジ検証結果確認部１１０が全ての機能カバレッジに対する検証が完了したと判定した場合には、シーケンスは終了する。
【００４６】
一方、ステップＳＴ３１０においてカバレッジ検証結果確認部１１０が未検証の機能カバレッジがあると判定した場合には、パラメータ反映部１１１は、カバレッジ情報記録部１０５及びカバレッジ反映部１０９に記録された情報から、検証対象の機能カバレッジを選択する（ステップＳＴ３１１、選択ステップ）。ここで、パラメータ反映部１１１は、例えば図１２に示すように、細分化された機能カバレッジに対して検証対象とする優先順位を検証難易度により予め設定しており、当該優先順位に基づき検証対象の機能カバレッジの選択を行う。このパラメータ反映部１１１の動作の詳細については後述する。
【００４７】
次いで、カバレッジ解析部１１２は、カバレッジ情報記録部１０５に記憶された情報から、パラメータ反映部１１１により選択された機能カバレッジに関するテストパターンのテストパラメータが取りうる値又は範囲を調整する（ステップＳＴ３１２、解析ステップ）。この際、カバレッジ解析部１１２は、検証対象の機能カバレッジに対して組み合わせられた機能カバレッジが存在する場合において、相関関係があり、且つ、相関係数が規定範囲内の場合には、当該組み合わせられた機能カバレッジに関するテストパターンのテストパラメータが取りうる値又は範囲を調整する。また、カバレッジ解析部１１２は、シミュレーション部１０６で用いられるテストパターンのテストパラメータが、検証対象の機能カバレッジが得られるパラメータとなる確率を高めるように、当該テストパターンのテストパラメータが取りうる値又は範囲を調整する。このカバレッジ解析部１１２の動作の詳細については後述する。
【００４８】
その後、シミュレーション部１０６は、カバレッジ解析部１１２によるテストパラメータの調整結果を反映させたテストパターンを用いて、シミュレーションを行う。
【００４９】
次に、パラメータ反映部１１１の動作例について、図１３を用いて説明する。この図１３に示すフローチャートでは、図１２に示す優先順位に従って動作する。
パラメータ反映部１１１の動作例では、図１３に示すように、まず、現状のテストパラメータによるシミュレーションが十分に実施済みであるかを判定する（ステップＳＴ１３０１）。これは、テストパラメータの調整後、検証対象の機能カバレッジを検証できるまでの間には、そのテストパラメータの内容に応じて何度もランダムな値を設定したシミュレーションを行う必要がある（一度のシミュレーションで検証対象の機能カバレッジが検証できるとは限らない）ためである。
このステップＳＴ１３０１において、現状のテストパラメータによるシミュレーションが十分に実施済みではないと判定した場合には、シーケンスを終了する。すなわち、ＬＳＩ検証解析装置１は、現状のテストパラメータを用いてシミュレーションを繰り返す。
【００５０】
一方、ステップＳＴ１３０１において、現状のテストパラメータによるシミュレーションが十分に実施済みであると判定した場合には、目標検証回数未満の機能カバレッジ（ＴＣ）があるかを判定する（ステップＳＴ１３０２）。
このステップＳＴ１３０２において、目標検証回数未満の機能カバレッジ（ＴＣ）があると判定した場合には、シーケンスはステップＳＴ１３０５に進む。
【００５１】
一方、ステップＳＴ１３０２において、目標検証回数未満の機能カバレッジ（ＴＣ）がないと判定した場合には、目標検証回数未満の機能カバレッジ（ＳＣ）があるかを判定する（ステップＳＴ１３０３）。
このステップＳＴ１３０３において、目標検証回数未満の機能カバレッジ（ＳＣ）があると判定した場合には、シーケンスはステップＳＴ１３０５に進む。
【００５２】
一方、ステップＳＴ１３０３において、目標検証回数未満の機能カバレッジ（ＳＣ）がないと判定した場合には、目標検証回数未満の機能カバレッジ（ＢＣ）があるかを判定する（ステップＳＴ１３０４）。
このステップＳＴ１３０４において、目標検証回数未満の機能カバレッジ（ＢＣ）があると判定した場合には、シーケンスはステップＳＴ１３０５に進む。一方、ステップＳＴ１３０４において、目標検証回数未満の機能カバレッジ（ＢＣ）がないと判定した場合には、シーケンスは終了する。すなわち、テストパラメータの調整は実施しない。
【００５３】
ここで、検証回数が目標検証回数以上の機能カバレッジは、元々検証し易い機能カバレッジであるか、又は、既にパラメータ反映部１１１により十分にフィードバックが行われている機能カバレッジである。そこで、パラメータ反映部１１１では、機能カバレッジの検証回数が目標検証回数未満である機能カバレッジを全ての条件において優先している。これにより、以降のシミュレーションにおいて検証内容が重複しないようにすることができる。
【００５４】
なお図１４に示す一覧では、機能カバレッジの種別毎の優先順位を検証難易度の易しい順に示している（ステップＳＴ１３０２〜１３０４に対応）。このように、パラメータ反映部１１１では、検証が容易であると予測される機能カバレッジの種別を優先して検証対象としている。これは、検証が容易であると予測される機能カバレッジの種別を優先することで、機能カバレッジの検証率の推移を急峻にすることができるためである。また、検証が困難であると予測される機能カバレッジの種別を優先した場合、相関関係のある機能カバレッジの検証回数の蓄積が十分でない可能性が高いためである。また、検証が容易であると予測される機能カバレッジ（ＴＣ）を優先することで、機能カバレッジ（ＳＣ）、機能カバレッジ（ＢＣ）の順に相関関係のある機能カバレッジの検証回数が蓄積し易いためである。
【００５５】
次いで、ステップＳＴ１３０５では、目標検証回数未満である機能カバレッジ（ＴＣ，ＳＣ，ＢＣ）の中から、機能カバレッジの定義内容のうち検証難易度が低い（通常は最も低い）定義内容の機能カバレッジを抽出する。
【００５６】
図１５に示す一覧では、機能カバレッジの定義内容毎の優先順位を検証難易度の易しい順に示している（ステップＳＴ１３０５に対応）。このように、パラメータ反映部１１１では、検証が容易であると予測される定義内容の機能カバレッジを優先して検証対象としている。これは、検証が容易であると予測される定義内容の機能カバレッジを優先することで、機能カバレッジの検証率の推移を急峻にすることができるためである。また、検証が困難であると予測される定義内容の機能カバレッジを優先した場合、相関関係のある機能カバレッジの検証回数の蓄積が十分でない可能性が高いためである。
【００５７】
次いで、ステップＳＴ１３０５で抽出した機能カバレッジの中から、検証回数が多い（通常は最も多い）機能カバレッジを抽出する（ステップＳＴ１３０６）。
【００５８】
ここで、検証回数が多い機能カバレッジは、検証回数が少ない機能カバレッジに比べて元々検証し易い機能カバレッジであるか、又は、既にパラメータ反映部１１１によりフィードバックが行われている最中の機能カバレッジである。そこで、パラメータ反映部１１１では、検証回数が多い機能カバレッジを優先している。これにより、目標検証回数に到達するまでの時間を短縮させることができる。
【００５９】
また、機能カバレッジ（ＳＣ，ＢＣ）については、ステップＳＴ１３０６において検証回数が０の場合にのみ、当該機能カバレッジを細分化した機能カバレッジを全て抽出する（ステップＳＴ１３０７）。
ここで、未検証の機能カバレッジについては、カバレッジ解析部１１２により相関関係があると判定された機能カバレッジが１つも存在していない。そこで、パラメータ反映部１１１では、機能カバレッジ（ＴＣ）を除く機能カバレッジの検証回数が０回の場合には、その機能カバレッジを細分化したものを検証回数に関係なく優先している。これにより、カバレッジ解析部１１２による解析結果が得られず、テストパラメータの反映が不可能となることを回避できる。
また、細分化された機能カバレッジが既に検証済みであれば、そちらの検証回数が増えるようにテストパラメータを調整する。これにより、未検証の機能カバレッジを検証する確率を上げることができる。
なお、機能カバレッジ（ＴＣ）については上記条件を除く理由は、機能カバレッジ（ＴＣ）の検証のために調整すべきテストパラメータは明瞭であり、未検証の場合もテストパラメータへの反映が可能なためである。
【００６０】
次に、カバレッジ解析部１１２の動作例について説明する。
まず、機能カバレッジ（ＴＣ）の解析動作例について、図１６を用いて説明する。ここで、機能カバレッジ（ＴＣ）は、テストパラメータ（単一の種別、又は複数の種別の組み合わせ）そのものを定義している機能カバレッジである。そのため、この機能カバレッジ（ＴＣ）を検証し易くする場合には、該当するテストパラメータを直接調整すればよい。
【００６１】
機能カバレッジ（ＴＣ）の解析動作例では、図１６に示すように、まず、検証対象の機能カバレッジ（ＴＣ）に関するテストパラメータの種別が複数であるかを判定する（ステップＳＴ１６０１）。
【００６２】
このステップＳＴ１６０１において、テストパラメータの種別が複数であると判定した場合には、当該テストパラメータについて、種別毎に調整を行う（ステップＳＴ１６０２）。この際、シミュレーション部１０６で用いられるテストパラメータの各種別の値又は範囲が、検証対象の機能カバレッジを検証するための値又は範囲となる確率を高めるように（例えば５０％以上となるように）上記各種別の取りうる値又は範囲を調整する。
【００６３】
一方、ステップＳＴ１６０１において、テストパラメータの種別が複数ではないと判定した場合には、当該テストパラメータについて調整を行う（ステップＳＴ１６０３）。この際、シミュレーション部１０６で用いられるテストパラメータの値又は範囲が、検証対象の機能カバレッジを検証するための値又は範囲となる確率を高めるように（例えば５０％以上となるように）上記各種別の取りうる値又は範囲を調整する。
【００６４】
このように、シミュレーション部１０６で用いられるテストパラメータの値又は範囲が所望の値又は範囲となる確率を高めることで、目標検証回数に到達するまでの時間を短縮させることができる。
なお、所望のテストパラメータの発生確率を一例として５０％以上としているのは、発生確率を高くしすぎると、検証に偏りがでてしまい、検証できない機能カバレッジが生じる可能性があるからである。
【００６５】
なお、所望のテストパラメータの発生確率を５０％以上とする場合において、同じ種別のテストパラメータに所望の値又は範囲が複数存在する場合には、それぞれの値又は範囲の発生確率が均一且つその総和が５０％以上となるように調整する。例えば、アドレスに関するテストパラメータにおいて、重点的に検証したいアドレス領域が３つ存在するとする。この場合、３つのアドレス領域が選択される確率がそれぞれ１７％以上（総和で５１％以上）、その他のアドレス領域が選択される確率が残りの４９％以下となるように調整する。
【００６６】
また、テストパラメータの取りうる値又は範囲の総数が元々少ない場合には、カバレッジ解析部１１２による解析を行うまでもなく、既に、所望の値又は範囲となるか確率が均一且つ所望の発生確率である場合がある。その場合には、調整を行う必要はない。
【００６７】
次に、機能カバレッジ（ＳＣ）の解析動作例について、図１７を用いて説明する。機能カバレッジ（ＳＣ）の解析では、カバレッジ反映部１０９に記録された機能カバレッジ（ＳＣ）の検証回数と、組み合わせられた機能カバレッジ（ＴＣ，ＳＣ）のシミュレーション毎の検証回数を基に、相関関係の有無及び強さ（正又は負）を導出し、テストパラメータを調整する。
【００６８】
機能カバレッジ（ＳＣ）の解析動作例では、図１７に示すように、まず、検証対象の機能カバレッジ（ＳＣ）が細分化可能かを判定する（ステップＳＴ１７０１）。
このステップＳＴ１７０１において、検証対象の機能カバレッジ（ＳＣ）が細分化可能な場合には、細分化された機能カバレッジ（ＳＣ）を抽出する（ステップＳＴ１７０２）。この抽出方法としては、カバレッジ細分化部１０２において、細分化前と細分化後の機能カバレッジの関連性を定義しておくことで抽出可能である。その後、シーケンスはステップＳＴ１７０５へ進む。
【００６９】
一方、ステップＳＴ１７０１において、検証対象の機能カバレッジ（ＳＣ）が細分化不可能な場合には、当該機能カバレッジ（ＳＣ）に組み合わせられた機能カバレッジ（ＴＣ）毎に相関係数ｒを算出し、ｔ検定を行う（ステップＳＴ１７０３）。なお、ｔ検定とは、帰無仮説が正しいと仮定した場合に、統計量がｔ分布に従うことを利用する統計学的検定法の総称である。このｔ検定は、相関関数の検定を行い、相関関係の有無を判定する場合に用いられる。相関係数ｒ及びｔ検定による検定統計量ｔは下式（１），（２）から求めることができる。なお、ｎは（データ数−２）で示される自由度である。
0006478831.tif 000002
【００７０】
次いで、相関係数ｒ及びｔ検定の結果を用いて、機能カバレッジ（ＴＣ）を抽出する（ステップＳＴ１７０４）。この際、まず、有意水準ａ及び自由度ｎに対応するｔ分布の値ｋを、ｔ分布表から得る。そして、検定統計量ｔとｔ分布の値ｋとの関係により、ｔ検定結果を得る。すなわち、ｔ＞ｋの場合にはｔ検定結果を「相関関係あり」とし、ｔ≦ｋの場合にはｔ検定結果を「相関関係なし」とする。そして、相関関係があり、且つ、＋０．６＜相関係数ｒ＜＋１以上である機能カバレッジ（ＴＣ）を抽出する。これにより、検証対象の機能カバレッジ（ＳＣ）の検証回数を多くするために、シミュレーションすべきテストパラメータに対応した機能カバレッジ（ＴＣ）を判別することができる。また、ｔ検定の結果、相関関係がないと判定された機能カバレッジ（ＴＣ）については、シミュレーションを増やすべきではないと判定し、テストパラメータへの反映対象から除く。
【００７１】
次いで、抽出した機能カバレッジ毎に解析を行う（ステップＳＴ１７０５）。この機能カバレッジの解析は、図１６に示す処理と同様であり、その説明を省略する。この機能カバレッジの解析により、該当するテストパラメータの調整を行うことができる。
【００７２】
次に、機能カバレッジ（ＢＣ）の解析動作例について、図１８を用いて説明する。機能カバレッジ（ＢＣ）の解析では、カバレッジ反映部１０９に記録された機能カバレッジ（ＢＣ）の検証回数と、組み合わせられた機能カバレッジ（ＴＣ，ＳＣ，ＢＣ）のシミュレーション毎の検証回数を基に、相関関係の有無及び強さ（正又は負）を導出し、テストパラメータを調整する。
【００７３】
機能カバレッジ（ＢＣ）の解析動作例では、図１８に示すように、まず、検証対象の機能カバレッジ（ＢＣ）が細分化可能かを判定する（ステップＳＴ１８０１）。
このステップＳＴ１８０１において、検証対象の機能カバレッジ（ＢＣ）が細分化可能な場合には、細分化された機能カバレッジ（ＢＣ）を抽出する（ステップＳＴ１８０２）。この抽出方法としては、カバレッジ細分化部１０２において、細分化前と細分化後の機能カバレッジの関連性を定義しておくことで抽出可能である。その後、シーケンスはステップＳＴ１８０５へ進む。
【００７４】
一方、ステップＳＴ１８０１において、検証対象の機能カバレッジ（ＢＣ）が細分化不可能な場合には、当該機能カバレッジ（ＢＣ）に組み合わせられた機能カバレッジ（ＳＣ，ＴＣ）毎に相関係数ｒを算出し、ｔ検定を行う（ステップＳＴ１８０３）。この際、上式（１），（２）から相関係数ｒ及びｔ検定による検定統計量ｔを求める。
【００７５】
次いで、ｔ検定の結果、相関関係があると判定した機能カバレッジ（ＳＣ，ＴＣ）を抽出する（ステップＳＴ１８０４）。この際、まず、有意水準ａ及び自由度ｎに対応するｔ分布の値ｋを、ｔ分布表から得る。そして、検定統計量ｔとｔ分布の値ｋとの関係により、ｔ検定結果を得る。すなわち、ｔ＞ｋの場合にはｔ検定結果を「相関関係あり」とし、ｔ≦ｋの場合にはｔ検定結果を「相関関係なし」とする。そして、相関関係があり、且つ、＋０．６＜相関係数ｒ＜＋１以上である機能カバレッジ（ＳＣ，ＴＣ）を抽出する。これにより、検証対象の機能カバレッジ（ＢＣ）の検証回数を多くするために、シミュレーションすべきテストパラメータに対応した機能カバレッジ（ＴＣ）を判別することができる。また、シミュレーションすべきテストパラメータを即時に判別できない場合に、検証対象の機能カバレッジ（ＢＣ）の検証回数を多くするために、間接的な要因となり得る機能カバレッジ（ＳＣ）を判別することができる。また、ｔ検定の結果、相関関係がないと判定された機能カバレッジ（ＳＣ，ＴＣ）については、シミュレーションを増やすべきではないと判定し、テストパラメータへの反映対象から除く。
【００７６】
次いで、抽出した機能カバレッジ毎に解析を行う（ステップＳＴ１８０５）。この機能カバレッジの解析は、図１６，１７に示す処理と同様であり、その説明を省略する。この機能カバレッジの解析により、該当するテストパラメータの調整を行うことができる。
【００７７】
このように、現状のテストパラメータによるシミュレーションが十分に実施されたと判定した後は、改めて、検証対象の機能カバレッジの選択を行い、最優先と判定した機能カバレッジを検証できるように該当するテストパラメータの値又は範囲を調整する。これにより、機能カバレッジの検証を効率的に行うことができる。
なお、直前まで最優先であった機能カバレッジと、新たに最優先とした機能カバレッジが同一である場合にも、テストパラメータの調整は実施する。この場合、前回と今回とでテストパラメータの調整内容が同じとは限らない。これは、テストパラメータの調整後からシミュレーションを十分実施するまでの間に、カバレッジ反映部１０９に情報が蓄積され続け、カバレッジ解析部１１２によって得られるテストパラメータの調整内容が更新されていくためである。
【００７８】
次に、具体例について、図１９〜２３を用いて説明する。
図１９は、カバレッジ細分化部１０２による処理の具体例を示す図である。ここでは、図１９（ａ）に示すように、「入力信号Ａ＝１且つＢ＝１の場合は、その２サイクル後において出力信号Ｃ＝１である」という機能カバレッジを定義内容で細分化する場合を示している。なお、Ａは、ＬＳＩへの入力信号であり、検証環境から制御可能且つテストパラメータで値が決まる信号である。また、Ｂは、ＬＳＩへの入力信号であり、検証環境から制御可能且つテストパラメータでは値が決まらない信号である。また、Ｃは、ＬＳＩの出力信号であり、検証環境から制御不可な信号である。
【００７９】
また、細分化前の機能カバレッジのコードは図１９（ｂ）に示す通りである。図１９（ｂ）では、コードに、細分化対象の箇所も示している。そして、この機能カバレッジを細分化した結果は図１９（ｃ）に示す通りである。
【００８０】
図２０は、カバレッジ分類部１０３による処理の具体例を示す図であり、図１９（ｃ）のように細分化された機能カバレッジに対する分類を示している。図２０に示すコードにおいて、２０１部分は、テストパラメータの状態について定義しているため、機能カバレッジ（ＴＣ）に分類する。また、２０２部分は、ＬＳＩへの入力信号の状態について定義しているため、機能カバレッジ（ＳＣ）に分類する。また、２０３部分は、ＬＳＩの出力信号の状態について定義しているため、機能カバレッジ（ＢＣ）に分類する。また、２０４部分は、ＬＳＩへの入力信号の制御について定義しているため、機能カバレッジ（ＳＣ）に分類する。２０５部分は、ＬＳＩの出力信号の制御によって定義可能なタイミングについて定義しているため、機能カバレッジ（ＢＣ）に分類する。また、２０６部分は、仕様上のＬＳＩに対する期待を定義しているため、機能カバレッジ（ＢＣ）に分類する。
【００８１】
図２１は、カバレッジ組み合わせ部１０４による処理の具体例を示す図である。図２１では、カバレッジ分類部１０３により機能カバレッジ（ＴＣ＿０，ＴＣ＿１）、機能カバレッジ（ＳＣ＿０，ＳＣ＿１）、機能カバレッジ（ＢＣ＿０，ＢＣ＿１）に分類された場合の組み合わせを示している。
【００８２】
図２２は、カバレッジ反映部１０９による処理の具体例を示す図である。図２２（ａ）はシミュレーション部１０６による機能カバレッジの検証結果を示している。また、カバレッジ反映部１０９での記録対象（個々の機能カバレッジと、組み合わせられた機能カバレッジ）を示している。そして、カバレッジ反映部１０９は、個々の機能カバレッジについては、図２２（ｂ）の上段（ｉ）に示すように、全シミュレーションにおけるそれぞれの機能カバレッジの検証回数の総和を記録する。また、カバレッジ反映部１０９は、組み合わせられた機能カバレッジについては、図２２（ｂ）の下段（ｉｉ）に示すように、各機能カバレッジの検証回数をシミュレーション毎に分別して記録する。
【００８３】
図２３は、パラメータ反映部１１１及びカバレッジ解析部１１２による処理の具体例を示す図である。図２３（ａ）は、図２２（ｂ）と同じである。また図２３では、前提条件として、機能カバレッジ（ＴＣ，ＳＣ）は５回以上を目標検証回数とし、機能カバレッジ（ＢＣ）は２０回以上を目標検証回数とし、機能カバレッジ（ＢＣ＿１）はそれ以上細分化できない機能カバレッジとしている。
【００８４】
この場合、目標検証回数に満たないのは機能カバレッジ（ＢＣ＿１）のみであるため、パラメータ反映部１１１は、この機能カバレッジ（ＢＣ＿１）を検証対象の機能カバレッジとして選択する。そして、機能カバレッジ（ＢＣ＿１）はそれ以上細分化できない機能カバレッジであるため、カバレッジ解析部１１２では、機能カバレッジ（ＢＣ＿１）に組み合わせられた機能カバレッジ毎に、相関係数ｒの算出とｔ検定を行う。その結果は図２３（ｂ）の上段（ｉ）に示す通りである。また、有意水準ａは０．０５とし、自由度ｎは１とし、ｔ分布の値ｋは１２．７０とする。そして、検定統計量ｔとｔ分布の値ｋとの関係により、ｔ検定結果を得る。その結果は図２３（ｂ）の下段（ｉｉ）に示す通りである。そして、カバレッジ解析部１１２は、この図２３（ｃ）に示す結果から、相関関係があり、且つ、＋０．６＜相関係数ｒ＜＋１である機能カバレッジ（ＴＣ＿１）を抽出する。そして、機能カバレッジ（ＴＣ＿１）はテストパラメータに対応した機能カバレッジであるため、その発生確率を（例えば５０％以上等に）調整する。
【００８５】
以上のように、この実施の形態１によれば、ＬＳＩに対する検証仕様及び検証項目に基づく機能カバレッジを定義内容で細分化するカバレッジ細分化部１０２と、細分化された機能カバレッジを、テストパラメータの調整による検証難易度で分類するカバレッジ分類部１０３と、分類された機能カバレッジを検証難易度の低い機能カバレッジと組み合わせるカバレッジ組み合わせ部１０４と、カバレッジ細分化部１０２、カバレッジ分類部１０３及びカバレッジ組み合わせ部１０４により得られた情報を記録するカバレッジ情報記録部１０５と、テストパラメータがランダムに設定されたテストパターンをＬＳＩに入力して動作させるシミュレーション部１０６と、シミュレーション部１０６によりＬＳＩの動作が正常な場合に得られた機能カバレッジを示す情報を記録するカバレッジ反映部１０９と、カバレッジ情報記録部１０５及びカバレッジ反映部１０９に記録された情報から、検証対象の機能カバレッジを選択するパラメータ反映部１１１と、カバレッジ情報記録部１０５に記録された情報から、パラメータ反映部１１１により選択された機能カバレッジに関するテストパターンのテストパラメータが取りうる値又は範囲を調整するカバレッジ解析部１１２とを備え、シミュレーション部１０６は、カバレッジ解析部１１２による調整結果を反映したテストパターンを用いるように構成したので、従来構成に対し、機能カバレッジの解析が容易となり、また、機能カバレッジの解析時間及びシミュレーション時間を削減することができる。
【００８６】
すなわち、ＬＳＩの開発において、ＬＳＩに機能が正しく実装されているかを検証するために、乱数を用いた論理シミュレーションを用いる場合に、各機能がどこまで検証されたかを示す機能カバレッジの解析が容易になる。また、以降の検証において検証が十分でない機能カバレッジを検証するために必要なテストパラメータが推測できるようになり、機能カバレッジの解析時間、シミュレーション時間を削減することができる。また、異なるＬＳＩに対して検証を行う場合にも、自動で処理することが可能となる。
【００８７】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【００８８】
１  ＬＳＩ検証解析装置、５１  メモリ、５２  プロセッサ、１０１  カバレッジ作成部（作成部）、１０２  カバレッジ細分化部（細分化部）、１０３  カバレッジ分類部（分類部）、１０４  カバレッジ組み合わせ部（組み合わせ部）、１０５  カバレッジ情報記録部（情報記録部）、１０６  シミュレーション部、１０７  検証結果確認部、１０８  不具合解析部、１０９  カバレッジ反映部（結果記録部）、１１０  カバレッジ検証結果確認部、１１１  パラメータ反映部（選択部）、１１２  カバレッジ解析部（解析部）。
【図１】
0006478831.tif 000003
【図２】
0006478831.tif 000004
【図３】
0006478831.tif 000005
【図４】
0006478831.tif 000006
【図５】
0006478831.tif 000007
【図６】
0006478831.tif 000008
【図７】
0006478831.tif 000009
【図８】
0006478831.tif 000010
【図９】
0006478831.tif 000011
【図１０】
0006478831.tif 000012
【図１１】
0006478831.tif 000013
【図１２】
0006478831.tif 000014
【図１３】
0006478831.tif 000015
【図１４】
0006478831.tif 000016
【図１５】
0006478831.tif 000017
【図１６】
0006478831.tif 000018
【図１７】
0006478831.tif 000019
【図１８】
0006478831.tif 000020
【図１９】
0006478831.tif 000021
【図２０】
0006478831.tif 000022
【図２１】
0006478831.tif 000023
【図２２】
0006478831.tif 000024
【図２３】
0006478831.tif 000025