(57)【特許請求の範囲】
【請求項１】
ディジタル回路の検証を行なうディジタル回路検証ツールに従って処理を行うコンピュータにおける該検証に用いられるアサーション記述の生成方法において、
コンピュータが、所定の複数の検証パターンに対するディジタル回路の動作履歴に基づいて、発生頻度が相対的に少ない動作履歴に対応する検証パターンを特定可能な情報を出力し、
コンピュータが、該発生頻度が相対的に少ない動作履歴に対応する検証パターンに対して、前記ディジタル回路が、前記発生頻度が少ない動作履歴に対応する動作を示すことをエラーとして検出するためのアサーション記述を生成する、
ことを特徴とするアサーション記述の生成方法。
【請求項２】
請求項１に記載のアサーション記述の生成方法において、
前記ディジタル回路からの出力に基づいて取得できる情報が、動作履歴として蓄積されることを特徴とするアサーション記述の生成方法。
【請求項３】
請求項１に記載のアサーション記述の生成方法において、
制御信号及び／又はデータ信号に対する応答が、動作履歴として蓄積されることを特徴とするアサーション記述の生成方法。
【請求項４】
請求項１に記載のアサーション記述の生成方法において、
前記発生頻度が相対的に少ない動作履歴に対応する検証パターンに対する動作履歴を表示することを特徴とするアサーション記述の生成方法。
【請求項５】
請求項１ないし４のいずれか１項に記載のアサーション記述の生成方法をコンピュータに実行させるためのプログラム
。
【請求項６】
請求項５に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル回路検証技術に関し、特に、ディジタル回路検証用ツールに用いられるアサーションベース検証におけるアサーション記述の生成方法及びプログラム並びに記録媒体に関する。
【背景技術】
【０００２】
ディジタル回路が要求仕様に合致していることを確認するためには検証が必要である。ディジタル回路の検証方法としてはブラックボックス検証やアサーションベース検証が利用される。
【０００３】
ブラックボックス検証は、スティミュラスとテストベンチを用いた検証方法であり、期待する値（期待値）と同じ出力が検証対象の回路から出力されていれば検証完了となる。スティミュラスとは、試験に使用される検証パターンを示す。しかし、ブラックボックス検証では、あくまでも出力のみが確認されるため、例えば、検証対象の回路内部で不具合が発生しても、出力さえ期待値と一致していれば、その不具合は不具合として検出されず、見過ごされる。
【０００４】
アサーションベース検証とは、設計記述がアサーションに適合しているかどうかをモニタリングする仕組みである。アサーションは、仕様と呼ばれてもよい。設計記述には、ＲＴＬ(Register  Transfer  Level)コードが含まれる。アサーションベース検証は、回路内部における不具合を検証するために用いられる。アサーションベース検証では、アサーションを検証対象の回路内部に埋め込んだ状態で検証が行われる。すなわち、アサーションベース検証では、検証対象の回路内部にモニタリングする機能（アサーション記述）を埋め込むことにより、アサーションベース検証が行われる。
【０００５】
例えば、動作Ｃモデルなどの決められた様式に沿って仕様が自動挿入される。図１に示すように、設計された回路が含まれるブロックＡとブロックＢとがあり、ブロックＡとブロックＢとの間で、通信が行われる。また、ブロックＡ及びＢを囲むようにテストベンチと呼ばれるテスト環境が存在する。アサーションベース検証では、動作Ｃモデル／仕様書を元に、テストベンチにおいてアサーションの自動挿入が行われる。図１によれば、アサーションは、例えば、ブロックＡの受信側に挿入される。例えば、ブロックＡは、リクエスト信号（ＲＥＱ）をブロックＢに送信する。ブロックＢは、該リクエストに対する処理を行う。ブロックＢが該リクエストに対する処理を行い、該処理の終了後、肯定応答（ＡＣＫ）をブロックＡに返す。このアサーションでは、ブロックＢからブロックＡに肯定応答が返されることが検証される。具体的には、仕様に、ブロックＡはリクエスト信号を送信し、ブロックＢは、リクエスト信号を受信したら肯定応答を返信することが記載されている。このアサーションでは、この仕様が検証される。例えば、ブロックＡがリクエスト信号を送信したにもかかわらず、肯定応答が返ってこない場合には、アサーションが挿入されたところで、エラーが出力される。
【０００６】
アサーションベース検証では、ブラックボックス検証では検出不可能な不具合を検出することができ、検証対象の回路の品質を向上させることができる。例えば、バスのプロトコルチェックに使用される。このプロトコルチェックには、リクエスト（ＲＥＱ）、肯定応答（ＡＣＫ）などが含まれる。アサーションベース検証は、ブラックボックス検証と組み合わせて用いられることもある。
【特許文献１】特開２００５−１０８００７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上述した背景技術には以下に示すような問題点がある。
【０００８】
上述したように、アサーションベース検証は、検証の質向上に役立つ。しかし、動作Ｃモデル／仕様書に書式指定があるため、既に設計された回路にそのまま適用できない。すなわち、仕様書は、厳格に決められた書式に則って記述されないと自動挿入できない。アサーションベース検証を利用するには、工数が必要である。この工数には、仕様書を記述するための工数が含まれる。従って、工数削減の観点からは、アサーションベース検証を省力化、自動化することが必要である。
【０００９】
例えば、設計上位の動作シミュレーションの結果と設計下位のＲＴＬシミュレーションの結果とが、ＲＴＬシミュレーションの途中の段階において、又は検証対象となるＬＳＩの回路内部において整合しているかどうかを検証し得るＬＳＩ設計検証方法が開示されている（例えば、特許文献１参照）。
【００１０】
このＬＳＩ設計検証方法では、動作Ｃモデルを元に、アサーションを自動挿入する仕組みが構築される。このＬＳＩ設計検証方法では、動作Ｃモデルなどの決められた様式に沿って仕様を入力する必要がある。しかし、これら様式は一般には公開されていない各社固有の技術であるため、他社は自由に利用できない。例え利用できたとしても、工数がかかる。様式に沿って動作Cモデルを新たに記述し直す必要があるためである。
【００１１】
そこで、本発明では、アサーションベース検証において、工数を削減することができるアサーション記述の生成方法及びプログラム並びに記録媒体を提供する。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、このアサーション記述の生成方法は、
ディジタル回路の検証を行なうディジタル回路検証ツールに従って処理を行うコンピュータにおける該検証に用いられるアサーション記述の生成方法において、
コンピュータが、所定の複数の検証パターンに対するディジタル回路の動作履歴に基づいて、発生頻度が相対的に少ない動作履歴に対応する検証パターンを特定可能な情報を出力し、
コンピュータが、該発生頻度が相対的に少ない動作履歴に対応する検証パターンに対して、前記ディジタル回路が、前記発生頻度が少ない動作履歴に対応する動作を示すことをエラーとして検出するためのアサーション記述を生成する。
【発明の効果】
【００１３】
開示のアサーション記述の生成方法及びプログラム並びに記録媒体によれば、アサーションベース検証において、工数を削減することができる効果を奏する。
【発明を実施するための最良の形態】
【００１４】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
（第１の実施例）
本発明の実施例に係るアサーション検証方法について説明する。本実施例に係るアサーション検証方法は、テストベンチの動作履歴に基づいて、エラーと疑わしき異常な回路動作と、該異常な回路動作がエラーである疑わしさの度合いを検出する。そして、その検出結果に基づいて、自動的にアサーションが生成される。ここで、エラーの疑わしさの度合いは、エラー確率と呼ばれてもよい。
【００１５】
図２に示すように、設計された回路が含まれるブロックＡとブロックＢとがあり、ブロックＡとブロックＢとの間で、通信が行われる。また、ブロックＡ及びＢを囲むようにテストベンチと呼ばれるテスト環境が存在する。テストベンチとは、ある設計が正確・妥当であるかどうかを検証するための仮想的環境のことである。テストベンチは、検査対象となる電子回路の構造や性質に合わせて設計される。テストベンチの結果として出力された値を、事前に算出していた期待値と比較することによって、電子回路の性能を評価・検証することができる。本実施例に係るアサーションベース検証では、テストベンチの動作履歴を元に、テストベンチにおいてアサーションの自動挿入が行われる。
【００１６】
本実施例に係るディジタル回路検証方法について、図３を参照して説明する。本実施例に係るディジタル回路検証方法には、ブラックボックス検証と、テストベンチ動作履歴の蓄積と、エラー尤度検出と、エラー確率算出と、エラー判定と、アサーション記述の自動生成・挿入とが含まれる。そして、テストベンチ動作履歴の蓄積と、エラー尤度検出と、エラー確率算出と、エラー判定はアサーションベース検証と呼ばれてもよい。
【００１７】
本実施例に係るディジタル回路検証方法では、ブラックボックス検証が行われる（ステップＳ３０２）。このブラックボックス検証では、図４に示すように、設計された回路が含まれる検証対象回路とテストベンチとが用意され、複数のスティミュラスを用いて、検証対象回路からの出力が、該スティミュラスに対して予め決定される出力値（期待値）と一致するか否かが確認される。例えば、稀な事象を発生させるのに必要とされる数のスティミュラスが用意され、検証対象回路に入力される。用意されるスティミュラスの数は回路の品質により決定される。若干、例えば１０パターン程度のスティミュラスが用意される。検証対象回路は入力されたスティミュラスに対応する処理を行い出力する。テストベンチでは、この出力が期待値と一致することが検証される。
【００１８】
また、本実施例に係るディジタル回路検証方法では、テストベンチ動作履歴の蓄積が行われる（ステップＳ３０４）。例えば、検証対象回路に、１０パターン程度のスティミュラスが入力される。該スティミュラスに対する応答を蓄積することにより、テストベンチ動作履歴の蓄積が行われる。例えば、図５に示すように、スティミュラスとしてリクエスト信号(REQ)が入力されると、検証対象回路からは、該リクエスト信号に対する肯定応答(ACK)が出力される。本実施例では、図６に示すように、リクエスト信号に対する肯定応答(ACK)の出力されたサイクル間隔がテストベンチ動作履歴として蓄積される。ここで使用されるスティミュラスは、少ない動作履歴に対応する検証パターンを特定可能な情報であることが好ましい。また、テストベンチ動作履歴は、外部に出力されるようにしても、内部に出力するようにしてもよい。スティミュラスは、ブラックボックス検証において使用されたスティミュラスと同じであってもよいし、異なってもよい。このテストベンチ動作履歴の蓄積において、実行されるシミュレーションツールでは、その記述言語として、例えば、ＲＴＬが適用されるようにしてもよい。
【００１９】
また、本実施例に係るディジタル回路検証方法では、エラー尤度の検出が行われる（ステップＳ３０６）。例えば、検証対象回路に入力された１０パターン程度のスティミュラスに対する応答に基づいて、エラー尤度の検出が行われる。例えば、REQと、該REQに対するACKを受信するテストベンチ動作履歴からエラー尤度が求められる。例えば、図７に示すように、テストベンチ動作履歴に蓄積されたREQの送信からACKの受信までのサイクル間隔に基づいて、発生頻度及びエラー尤度が検出される。図６及び図７によれば、REQ立ち上がりの２サイクル後にACKが立ち上がっていた事象は０回、３サイクルであった事象は９回、４サイクルであった事象は１回、５サイクル以上であった事象は０回であった。従って、発生頻度は、REQ立ち上がりの２サイクル後にACKが立ち上がっていた事象の場合は０／１０、３サイクルであった事象の場合は９／１０、４サイクルであった事象の場合は１／１０、５サイクル以上であった事象の場合は０／１０となる。各事象の発生頻度から、REQ立ち上がりの４サイクル後にACKが立ち上がっていた事象は１／１０であり、この事象は滅多に起きないと考えられる。従って、この事象が生じた場合にはエラーと推定するのが尤もらしい。すなわち、エラー尤度が高いと考えられる。本実施例では、エラー尤度を定量的に捉えるため、エラー尤度を式（１）により定義する。エラー尤度とは、エラーであったと推測する尤もらしさを表す数値である。この式（１）は一例であり、適宜変更可能である。
【００２０】
エラー尤度＝１−発生頻度      （１）
式（１）により各事象におけるエラー尤度を求めると、REQ立ち上がりの２サイクル後にACKが立ち上がっていた事象の場合は０、３サイクルであった事象の場合は１／１０、４サイクルであった事象の場合は９／１０、５サイクル以上であった事象の場合は０となる。本実施例では、１度も発生しなかった事象については、便宜的にそのエラー尤度を０とする場合について説明する。
【００２１】
以下、REQ立ち上がりの３サイクル後にACKが立ち上がっていた事象を事象Ａと呼び、REQ立ち上がりの４サイクル後にACKが立ち上がっていた事象を事象Ｂと呼ぶ。
【００２２】
また、本実施例に係るディジタル回路検証方法では、エラー確率の算出が行われる（ステップＳ３０８）。エラー確率の算出では、ステップＳ３０６において求められたエラー尤度に基づいて、各事象に対して、エラー確率が算出される。
【００２３】
例えば、エラー尤度に基づいて、エラー確率を求める場合には、事前にエラーとなりそうな確率をパラメータとして設定しておく。ここで、事前にエラーとなりそうな確率は事前確率Ｐ（Ｘ）と呼ばれてもよい。例えば、事前確率Ｐ（Ｘ）は、以下示される基準に沿って決定される。例えば、事前確率Ｐ（Ｘ）は、検証者が推測して決定するようにしてもよい。
・過去におけるスティミュラスに関するエラーの発生割合
・回路設計者の技術レベル
・回路検証の進捗度合い
以上の基準の全てに基づいて決定される必要はなく、いずれか１つに基づいて決定するようにしてもよいし、事前にエラーとなりそうな確率を求めるために必要とされる他の基準に基づいて決定するようにしてもよい。
【００２４】
事前確率を用いて、エラー確率が算出される。
【００２５】
本実施例においては、エラー確率の算出方法の一例として、ベイズ推定を行うことによりエラー確率を算出する場合について説明するが、他の推定方法を用いるようにしてもよい。
【００２６】
ベイズ推定では、事象Dが成り立つ（発生する）ときにX（エラー）である確率P（Ｘ｜Ｄ）は、式（２）により示される。
【００２７】
P（Ｘ｜Ｄ）＝P（Ｄ｜Ｘ）×Ｐ（Ｘ）／（Ｄが起こり得る全ての場合の確率の和）      （２）
式（２）において、Ｐ（Ｘ）は事前確率であり、Ｐ（Ｄ｜Ｘ）は事象Ｘが成り立つときにＤである確率であり、Ｄが起こり得る全ての場合の確率の和はＰ（Ｄ｜Ｘ）×Ｐ（Ｘ）＋P（Ｄ｜Ｘの補事象）×Ｐ（Ｘの補事象）により示される。ここで、Ｐ（Ｄ｜Ｘ）はエラー尤度のことである。
【００２８】
例えば、事象Ｂのエラー確率を求める。事象Ｂについては、Ｐ（Ｘ）＝０．７、P（Ｄ｜Ｘ）＝０．９、P（Ｄ｜Ｘの補事象）＝０．５である。この場合には、P（Ｘ｜Ｄ）は、下記のように算出できる。ここで、例えば、Ｐ（Ｘ）は検証者により推測された値であり、P（Ｄ｜Ｘ）は、エラー尤度である。P（Ｄ｜Ｘ）は、Ｐ（事象Ｂ｜エラー）を示されてもよい。P（Ｄ｜Ｘの補事象）は、任意の値を取り得る。P（Ｄ｜Ｘの補事象）は、Ｐ（事象Ｂ｜非エラー）と示されてもよい。本実施例では、P（Ｄ｜Ｘの補事象）を０．５とした。
【００２９】
P（Ｘ｜Ｄ）＝P（Ｄ｜Ｘ）×Ｐ（Ｘ）／（Ｄが起こり得る全ての場合の確率の和）
＝P（Ｄ｜Ｘ）×Ｐ（Ｘ）／（Ｐ（Ｄ｜Ｘ）×Ｐ（Ｘ）＋P（Ｄ｜Ｘの補事象）×Ｐ（Ｘの補事象））
＝０．９×０．７／０．９×０．７＋０．５×（１−０．７）
＝０．８
他の事象、例えば事象Ａのエラー確率も同様にして算出できる。
【００３０】
また、本実施例に係るディジタル回路検証方法では、エラー判定が行われる（ステップＳ３１０）。エラー判定では、ステップＳ３０８において求められたエラー確率に基づいて、各事象が本当のエラーであるか否かが判定される。言い換えれば、ステップＳ３０４において蓄積された各事象はエラーの候補である。ステップＳ３１０では、エラーの候補として蓄積された事象から、本当のエラーとなる事象が判定される。例えば、エラー確率が、本当のエラーと判定されるエラー確率以上である場合に、該事象を本当のエラーであると判定する。例えは、エラー確率が５０％以上である事象を本当のエラーであると判定するようにしてもよい。以下、本当のエラーを真性エラーと呼び、真性エラー以外のエラーの候補を擬似エラーと呼ぶ。
【００３１】
また、ステップＳ３０８において求められたエラー確率を、その値の高い順にソートして表示するようにしてもよい。この場合、真性エラーと判定されるエラー確率以上の事象を表示するようにしてもよい。そして、表示されたエラー確率に基づいて、検証者が真性エラーであるか否かを判定するようにしてもよい。つまり、エラー確率は検証者がエラー判定する際の参考情報としても使用できる。例えば、図８に示すように、エラー確率が５０％以上である事象を表示するようにした場合、この事象に対して検証者が真性エラーであるか擬似エラーであるかを判断する。このように算出されたエラー確率を参考にして、要求仕様を理解する検証者が真性エラーを判断することにより、間違いのないエラーの確定を行うことができる。
【００３２】
また、ここで、例えば、真性エラーと判定された事象に対しては、その事象に対するエラー確率を１（１００％）に変更し、擬似エラーと判定された事象に対しては、その事象に対するエラー確率を０に変更するようにしてもよい。このようにすることにより、一度確定した真性エラー、疑似エラーについては、エラー確率を算出する処理を省略することができ、以降に行われるブラックボックス検証及びアサーションベース検証において、同様の事象が発生した場合に、該事象のエラー確率を求める必要が無くなり、本実施例に係るディジタル回路検証方法を実行する検証ツールによる計算時間を削減することができる。この場合、事象Ｂが真性エラーと判定された段階で、エラー確率を０．８から１に変更するとともに、事象Ａのエラー確率を０．２から０に変更する。
【００３３】
また、本実施例に係るディジタル回路検証方法では、アサーション記述の自動生成・挿入が行われる（ステップＳ３１２）。アサーション記述の自動生成・挿入では、ステップＳ３１０におけるエラー判定により、真性エラーと判定されたエラーを検出するためのアサーション記述が自動的に生成され、挿入される。言い換えれば、発生頻度が相対的に少ない動作履歴に対応する検証パターンに対して、該発生頻度が相対的に少ない動作履歴に対応する動作を示すことをエラーとして検出するためのアサーション記述を生成する。例えば、事象Ｂが真性エラーと判定された場合について説明する。この場合、図９に示すように、ブロックＡの受信側に、リクエスト信号を送信してから３サイクル後に肯定応答を受信するというアサーション記述が挿入される。この場合、リクエスト信号を送信してから３サイクル後に肯定応答を受信できなかった場合に検証者に通知される。例えば、アラームにより通知するようにしてもよい。このようにすることにより、エラーと確定された事象を、以後簡単に検出できる。
【００３４】
また、本実施例に係るディジタル回路検証方法では、アサーション記述の挿入が行われてから、ステップＳ３０２からステップＳ３１２と同様の処理が行われる。例えば、１０パターン程度のスティミュラスに対する応答に基づいて、スティミュラスの追加が行われた場合、１１パターン目のスティミュラスに対して、該挿入されたアサーション記述が反映される。
【００３５】
以降、検証パターン（スティミュラス）を追加しながら、上述したディジタル回路検証方法が繰り返し継続される。このように一度構築されたテストベンチ動作履歴に対し、繰り返し履歴データを追加することにより、それまで見つからなかったエラーと疑わしき異常な回路動作を新たに検出することができる。この繰り返しにより、検証品質が高まるため、回路の不具合を減少させることができる。アサーションを挿入した回路動作については、不具合が発生次第、すぐに、簡単に検出することができる。
【００３６】
ここで、上述した本実施例に係るディジタル回路検証方法は、コンピュータにより実行させることができる。このコンピュータは、図１０に示すように、プログラムにしたがって演算処理を行うＣＰＵ１０２と、エラー確率の表示を行う出力部１０４と、入力部１０６と、ＲＡＭ（ランダムアクセスメモリ）１０８と、ハードディスク装置等の大容量の記憶部１１０を備える。ＣＰＵ１０２と、出力部１０４と、入力部１０６と、ＲＡＭ１０８と、記憶部１１０はバス２００を介して接続される。
【００３７】
記憶部１１０には、上述したディジタル回路検証方法をコンピュータに実行させるためのプログラムが格納される。また、記憶部１１０には、テストベンチ動作履歴が格納される。また、記憶部１１０には、スティミュラスが格納される。また、記憶部１１０には、検証対象回路が格納される。
【００３８】
コンピュータにディジタル回路検証方法を実行させるためのプログラムは、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、メモリカード等の記録媒体に記録された状態で提供される。この記録媒体をコンピュータの補助記憶装置に挿入すると、記録媒体に記録されたプログラムが読み取られる。そして、ＣＰＵは、読み込んだプログラムをＲＡＭあるいは記憶部１１０に書き込み、このプログラムにしたがって処理を実行する。また、このプログラムは、電気通信回線を介して提供されるようにしてもよい。
【００３９】
本実施例によれば、アサーション記述が自動的に生成され、挿入されるため、様式に沿って動作Cモデルを新たに記述し直す必要がないため、検証工数を削減することができる。また、稀な事象を発生させるのに必要とされる数のスティミュラスで、検証を開始することができるため、最低限の検証パターン数で、回路の品質を確保することができる。
（第２の実施例）
本発明の他の実施例に係るディジタル回路検証方法について説明する。本実施例に係るアサーション検証方法は、第１の実施例において説明したディジタル回路検証方法において、検証対象信号を指定できるようにしたものである。
【００４０】
例えば、図１１に示すように検証対象を制御信号（REQ,ACK）に限定することができる。上述した実施例では、検証対象を制御信号とした場合について説明した。また、検証対象をデータ信号に限定するようにしてもよい。
【００４１】
このようにディジタル回路検証方法による検証対象箇所を限定することにより、検証対象を減らすことができ、検証工数も減らすことができる。
（第３の実施例）
本発明の他の実施例に係るディジタル回路検証方法について説明する。本実施例に係るディジタル回路検証方法は、第１及び第２の実施例において説明したディジタル回路検証方法において、テストベンチ動作履歴として、サイクル間隔以外の情報を適用したものである。サイクル間隔以外の情報としては、検証対象回路からの出力に基づいて取得できる情報が適用される。例えば、検証対象回路からの出力値を用いてもよい。
【００４２】
また、上述した第１及び第２の実施例においては、検証対象回路に含まれるブロック間で送受信される入出力信号が１対１である場合について説明したが、1対多でもよいし、多対１でもよいし、多対多でもよい。
【００４３】
一例として、多対１の場合について、図１２及び図１３を参照して、説明する。この場合、アサーションは、例えば、ブロックＡの受信側に挿入される。例えば、ブロックＡは、データ信号Ａ１及びＡ２をブロックＢに送信する。ブロックＢは、該データ信号に対する処理を行う。ブロックＢが該データ信号Ａ１及びＡ２に対する処理の終了後、出力信号ＢをブロックＡに返す。このアサーションでは、ブロックＢからブロックＡに送信される値検証される。このようなアサーション検証において、ブロックＡからデータ信号が送信されると、ブロックＢからデータが返信される。このデータの値がテストベンチ動作履歴として蓄積される。
【００４４】
例えば、図１３に示すように、スティミュラスがデータ信号Ａ１及びＡ２として、ブロックＡからブロックＢに入力される。そして、データ信号Ａ１及びＡ２に対する応答の値がテストベンチ動作履歴として蓄積される。例えば、テストベンチ動作履歴に蓄積されたブロックＡから送信されたデータ信号Ａ１及びＡ２に対するブロックＢからの応答されたデータの値が蓄積される。図１３には、ブロックＡから送信されたデータ信号Ａ１及びＡ２が１である場合に、該データ信号に対する応答として、ブロックＢから２が送信された場合と３が送信された場合が示される。
【００４５】
例えば、１０パターン程度のスティミュラスに対する応答として、ブロックＢから２が送信された事象が９回で、３が送信された事象が１回であり、それ以外が０回であった場合、その発生頻度は、ブロックＢから２が送信された事象の場合は９／１０、３が送信された事象の場合は１／１０、それ以外は０／１０となる。以下、上述した実施例と同様に、エラー尤度が検出され、エラー確率が算出され、エラー判定が行われる。そして、エラー判定により真性エラーと判定されたエラーを検出するためのアサーション記述が自動的に生成され、挿入される。
（付記１）
ディジタル回路の検証を行なうディジタル回路検証ツールにおける該検証に用いられるアサーション記述の生成方法において、
所定の複数の検証パターンに対するディジタル回路の動作履歴に基づいて、発生頻度が相対的に少ない動作履歴に対応する検証パターンを特定可能な情報を出力し、
該発生頻度が相対的に少ない動作履歴に対応する検証パターンに対して、前記ディジタル回路が、前記発生頻度が少ない動作履歴に対応する動作を示すことをエラーとして検出するためのアサーション記述を生成する、
ことを特徴とするアサーション記述の生成方法。
（付記２）
付記１に記載のアサーション記述の生成方法において、
前記ディジタル回路からの出力に基づいて取得できる情報が、動作履歴として蓄積されることを特徴とするアサーション記述の生成方法。
（付記３）
付記２に記載のアサーション記述の生成方法法において、
検証パターンの送信から該検証パターンに対する応答の受信までのサイクル間隔又は前記検証対象回路からの出力値が蓄積されることを特徴とするアサーション記述の生成方法。
（付記４）
付記１に記載のアサーション記述の生成方法において、
制御信号及び／又はデータ信号に対する応答が、動作履歴として蓄積されることを特徴とするアサーション記述の生成方法。
（付記５）
付記１に記載のアサーション記述の生成方法において、
ベイズ推定により、前記発生頻度が少ない動作履歴に対応する動作を求めることを特徴とするアサーション記述の生成方法。
（付記６）
付記１に記載のアサーション記述の生成方法において、
前記発生頻度が相対的に少ない動作履歴に対応する検証パターンに対する動作履歴を表示することを特徴とするアサーション記述の生成方法。
（付記７）
付記１ないし６のいずれか１項に記載のアサーション検証方法をコンピュータに実行させるためのプログラム 。
（付記８）
付記７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図面の簡単な説明】
【００４６】
【図１】アサーションベース検証を示す説明図である。
【図２】本発明の一実施例に係るディジタル回路検証を示す説明図である。
【図３】本発明の一実施例に係るディジタル回路検証を示すフロー図である。
【図４】本発明の一実施例に係るディジタル回路検証におけるブラックボックス検証を示す説明図である。
【図５】本発明の一実施例に係るディジタル回路検証におけるテストベンチ動作履歴として蓄積される履歴情報を示す説明図である。
【図６】本発明の一実施例に係るディジタル回路検証におけるテストベンチ動作履歴として蓄積される履歴情報を示す説明図である。
【図７】本発明の一実施例に係るディジタル回路検証におけるエラー尤度検出処理を示す説明図である。
【図８】本発明の一実施例に係るディジタル回路検証におけるエラー判定処理を示す説明図である。
【図９】本発明の一実施例に係るディジタル回路検証におけるアサーション自動生成・挿入処理を示す説明図である。
【図１０】本発明の一実施例に係るディジタル回路検証が実行されるハードウエア構成を示すブロック図である。
【図１１】本発明の一実施例に係るディジタル回路検証における検証対象を限定する処理を示す説明図である。
【図１２】本発明の一実施例に係るディジタル回路検証におけるテストベンチ動作履歴として蓄積される履歴情報を示す説明図である。
【図１３】本発明の一実施例に係るディジタル回路検証におけるテストベンチ動作履歴として蓄積される履歴情報を示す説明図である。
【符号の説明】
【００４７】
１０２  ＣＰＵ(Central  Processing  Unit)
１０４  出力部
１０６  入力部
１０８  ＲＡＭ
１１０  記憶部
【図１】
0005211685.tif 000002
【図２】
0005211685.tif 000003
【図３】
0005211685.tif 000004
【図４】
0005211685.tif 000005
【図５】
0005211685.tif 000006
【図６】
0005211685.tif 000007
【図７】
0005211685.tif 000008
【図８】
0005211685.tif 000009
【図９】
0005211685.tif 000010
【図１０】
0005211685.tif 000011
【図１１】
0005211685.tif 000012
【図１２】
0005211685.tif 000013
【図１３】
0005211685.tif 000014