(57)【要約】【課題】  半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があった場合には、機能ブロックの不具合が修正できるまで半導体集積回路装置の機能検証が中断するため、半導体集積回路の機能検証期間が増大することを防止する。【解決手段】  半導体集積回路内の論理回路を検証するための半導体集積回路の機能検証方法であって、半導体集積回路内の入出力信号の動作仕様を示すアサーションルールとしてアサーションを導入して機能検証を開始する工程と、アサーションルールを入出力信号が満たしているかを調査するアサーションルールチェック工程と、入出力信号がアサーションルールを満たさないとき、入出力信号をアサーションルールを満たす値に変換するフィルタリング実行工程とを含む。これにより、機能ブロックの不具合の修正を待たずに機能検証を実施できる。【選択図】  図１
2007036572.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路内の論理回路を検証するための半導体集積回路の機能検証方法であって、
前記半導体集積回路内の入出力信号の動作仕様を示すアサーションルールとしてアサーションを導入して機能検証を開始する工程と、
前記アサーションルールを前記入出力信号が満たしているかを調査するアサーションルールチェック工程と、
前記入出力信号が前記アサーションルールを満たさないとき、前記入出力信号を前記アサーションルールを満たす値に変換するフィルタリング実行工程とを含む半導体集積回路の機能検証方法。
【請求項２】
半導体集積回路内の論理回路を検証するための半導体集積回路の機能検証方法であって、
機能検証において検証すべき項目を示す検証項目リストを作成する検証項目リスト作成工程と、
前記半導体集積回路内の入出力信号の動作仕様を示すアサーションルールとしてアサーションを導入して機能検証を開始する工程と、
前記アサーションルールと前記検証項目リストとを前記入出力信号が満たしているかを調査するアサーションルールチェック工程と、
前記入出力信号が前記アサーションルールと前記検証項目リストとを満たさないとき、前記入出力信号を前記アサーションルールと前記検証項目リストとを満たす値に変換するフィルタリング実行工程とを含む半導体集積回路の機能検証方法。
【請求項３】
前記アサーションルールを満たす前記入出力信号の値の候補を示したフィルタ変換リストを導出するフィルタ変換リスト導出工程と、
前記フィルタ変換リストから前記入出力信号の値を決定するフィルタリングルールを適用するフィルタリングルール適用工程とを含み、
フィルタリング実行工程は、前記入出力信号を前記フィルタリングルールにより導出された前記アサーションルールを満たす値に変換する請求項１記載の半導体集積回路の機能検証方法。
【請求項４】
前記アサーションルールを満たす前記入出力信号の値の候補を示したフィルタ変換リストを導出するフィルタ変換リスト導出工程と、
前記フィルタ変換リストから前記入出力信号の値を決定するフィルタリングルールを適用するフィルタリングルール適用工程とを含み、
フィルタリング実行工程は、前記入出力信号を前記フィルタリングルールにより導出された前記アサーションルールと前記検証項目リストとを満たす値に変換する請求項２記載の半導体集積回路の機能検証方法。
【請求項５】
前記入出力信号の入力信号は、前記半導体集積回路内の論理回路に対して機能検証を行うために入力するテストベクタの出力手段から入力される信号である請求項１，２，３または４記載の半導体集積回路の機能検証方法。
【請求項６】
前記テストベクタの出力手段から入力される信号は、ランダムな入力パターンである請求項５記載の半導体集積回路の機能検証方法。
【請求項７】
前記フィルタ変換リストは、アサーションルールが複数の入出力信号間で依存関係を満たすように定められている請求項３または４記載の半導体集積回路の機能検証方法。
【請求項８】
前記フィルタ変換リストは、時系列のアサーションルールが含まれている請求項３または４記載の半導体集積回路の機能検証方法。
【請求項９】
前記フィルタ変換リストは、前記アサーションルールを数式表現に変更したアサーション式を用いることにより導出される前記入出力信号の値の候補を示した請求項３または４記載の半導体集積回路の機能検証方法。
【請求項１０】
前記フィルタリングルールは、前記フィルタ変換リストから前記入出力信号の値を選択する方法を規定したフィルタオプションを使用する請求項３または４記載の半導体集積回路の機能検証方法。
【請求項１１】
前記フィルタオプションは、前記フィルタ変換リストから前記入出力信号の値を、ランダムに選択する請求項１０記載の半導体集積回路の機能検証方法。
【請求項１２】
前記フィルタオプションは、前記フィルタ変換リストから前記入出力信号の値を、リスト順に選択する請求項１０記載の半導体集積回路の機能検証方法。
【請求項１３】
前記フィルタオプションは、前記フィルタ変換リストから前記入出力信号の値として、特定の値のみを選択する請求項１０記載の半導体集積回路の機能検証方法。
【請求項１４】
前記フィルタオプションは、前記フィルタ変換リストから前記入出力信号の値を、指定された確率に従って選択する請求項１０記載の半導体集積回路の機能検証方法。
【請求項１５】
半導体集積回路内の論理回路を検証するための半導体集積回路の機能検証方法であって、
前記半導体集積回路内の記憶素子の動作仕様を示すアサーションルールとしてアサーションを導入して機能検証を開始する工程と、
前記アサーションルールを前記記憶素子が満たしているかを調査するアサーションルールチェック工程と、
前記記憶素子が前記アサーションルールを満たさないとき、前記記憶素子の値を前記アサーションルールを満たす値に変換するフィルタリング実行工程とを含む半導体集積回路の機能検証方法。
【請求項１６】
半導体集積回路内の論理回路を検証するための半導体集積回路の機能検証方法であって、
機能検証において検証すべき項目を示す検証項目リストを作成する検証項目リスト作成工程と、
前記半導体集積回路内の記憶素子の動作仕様を示すアサーションルールとしてアサーションを導入して機能検証を開始する工程と、
前記アサーションルールと前記検証項目リストとを前記記憶素子が満たしているかを調査するアサーションルールチェック工程と、
前記記憶素子の値を前記アサーションルールと前記検証項目リストとを満たす値に変換するフィルタリング実行工程とを含む半導体集積回路の機能検証方法。
【請求項１７】
半導体集積回路内の入出力信号を変換するパターン変換装置であって、
前記半導体集積回路内の前記入出力信号の動作仕様を示すアサーションルールと、
前記入出力信号が前記アサーションルールを満たさないとき、前記入出力信号を前記アサーションルールを満たす値に変換するアサーションフィルタとを備えたパターン変換装置。
【請求項１８】
半導体集積回路内の入出力信号を変換するパターン変換装置であって、
前記半導体集積回路内の前記入出力信号の動作仕様を示すアサーションルールと、
前記入出力信号のパターン変換候補を示す変換候補リストと、
前記入出力信号を前記アサーションルールと前記変換候補リストとを満たす値に変換するアサーションフィルタとを備えたパターン変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に対する機能検証方法およびパターン変換装置に関するものである。
【背景技術】
【０００２】
複数の機能ブロックを搭載した半導体集積回路装置に対する従来の機能検証方法の１つ（例えば、非特許文献１を参照）として、マイクロプロセッサを６つのクラスタに分け、クラスタ毎に十分な検証を行った後に、それらのクラスタを接続してマイクロプロセッサ全体（１チップレベル）の検証を行っていた。これにより、内部回路の制御性、検証開始時期の前倒しができる。
【０００３】
以上のような従来の半導体集積回路装置の機能検証方法を以下に説明する。
【０００４】
図２６は従来の半導体集積回路装置全体の機能検証方法の流れを示すフローチャートである。図２６において、ステップ２３は機能ブロックを搭載した半導体集積回路装置の機能検証を行うために必要となるテストベクタを作成するステップ、ステップ２４は機能ブロックを搭載した半導体集積回路装置の機能検証を開始するステップ、ステップ２５はある機能ブロックの出力信号に不具合が発覚したことを検知するステップ、ステップ２６は不具合が発覚した機能ブロックの不具合を修正できるまで待つステップ、ステップ２７は不具合が発覚した機能ブロックを不具合が修正されたものに交換するステップ、ステップ２８は機能ブロックを搭載したＬＳＩの機能検証が終了していない時はステップ２５に戻るステップである。
【０００５】
また、図２７で示すように、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があっても、機能ブロックの不具合を修正できるまで待つステップ２６を回避するため、その不具合を暫定的に修正するためのパッチ回路を用いて暫定修正回路を作成するステップ３０により、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、暫定修正回路により機能検証の再開を行っていた（例えば、特許文献１参照）。
【０００６】
このようにして、ＬＳＩに対して全体の機能検証を実行していた。
【非特許文献１】Ｂｏｂ Ｂｅｎｔｌｅｙ：“Ｖａｌｉｄａｔｉｎｇ  ｔｈｅ  Ｉｎｔｅｌ  Ｐｅｎｔｉｕｍ(登録商標）４  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ”．Ｄｅｓｉｇｎ Ａｕｔｏｍａｔｉｏｎ Ｃｏｎｆｅｒｅｎｃｅ ｐａｇｅ ２４４−２４８，２００１２００１
【特許文献１】特開２００３−２９９４０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
機能検証に使用されるテストベクタは、設計者の手によって作成されるのが一般的であり、設計する機能ブロック毎に生成しなければならないため、半導体集積回路装置の論理規模が増大している昨今では、テストベクタ作成期間が増大していた。また、ランダムなテストベクタを使用した場合にも機能ブロックの複雑さゆえ、実現困難な検証項目が残存していた。さらに、上記従来の半導体集積回路装置の機能検証方法では、ステップ２６により、半導体集積回路装置に対する機能検証の際にある機能ブロックの不具合があった場合には、その機能ブロックの不具合が修正できるまで半導体集積回路装置の機能検証が中断するため、半導体集積回路装置の機能検証期間が増大するという問題点を有していた。また、暫定修正回路を用いた解決法では、機能検証中において固定回路が挿入されるため、実現されない回路状態が発生し、検証範囲が狭まってしまうことがあった。
【０００８】
したがって、本発明の目的は、上記従来の問題点を解決するもので、半導体集積回路装置に対する機能検証において、半導体集積回路装置の論理規模が増大しても、テストベクタの作成量を抑制することにより機能検証期間を短縮することに加え、ランダムなテストベクタの可制御性を向上させることができ、さらに機能ブロックならびにテストベクタに不具合があった場合には、その不具合を最終的に修正するまで待つことなく、あらゆる状態を網羅した上で機能検証を続けることが可能になるため、半導体集積回路装置の機能検証期間の短縮化を実現することができる半導体集積回路の機能検証方法およびパターン変換装置を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の請求項１記載の半導体集積回路の機能検証方法は、半導体集積回路内の論理回路を検証するための半導体集積回路の機能検証方法であって、前記半導体集積回路内の入出力信号の動作仕様を示すアサーションルールとしてアサーションを導入して機能検証を開始する工程と、前記アサーションルールを前記入出力信号が満たしているかを調査するアサーションルールチェック工程と、前記入出力信号が前記アサーションルールを満たさないとき、前記入出力信号を前記アサーションルールを満たす値に変換するフィルタリング実行工程とを含む。
【００１０】
以上により、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があっても、その不具合に関連する入出力信号を、フィルタリング実行工程によってアサーションルールを満たす値に変換することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、機能検証を再開することができる。また、不具合に関連する入出力信号をアサーションルールを満たすあらゆる値に変換することが可能であるため、検証範囲が狭まることがない。
【００１１】
請求項２記載の半導体集積回路の機能検証方法は、半導体集積回路内の論理回路を検証するための半導体集積回路の機能検証方法であって、機能検証において検証すべき項目を示す検証項目リストを作成する検証項目リスト作成工程と、前記半導体集積回路内の入出力信号の動作仕様を示すアサーションルールとしてアサーションを導入して機能検証を開始する工程と、前記アサーションルールと前記検証項目リストとを前記入出力信号が満たしているかを調査するアサーションルールチェック工程と、前記入出力信号が前記アサーションルールと前記検証項目リストとを満たさないとき、前記入出力信号を前記アサーションルールと前記検証項目リストとを満たす値に変換するフィルタリング実行工程とを含む。
【００１２】
以上により、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があっても、その不具合に関連する入出力信号を、フィルタリング実行工程によってアサーションルールを満たす値に変換することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、機能検証を再開することができる。また、不具合に関連する入出力信号をアサーションルールを満たすあらゆる値に変換することが可能であるため、検証範囲が狭まることがない。さらに、入出力信号をフィルタリング実行工程によって、検証項目リストを満たす値に変換することにより、検証項目毎にテストベクタを作成する必要がなくなるため、複数の検証項目が存在する場合にも短期間で検証を実現することができる。
【００１３】
請求項３記載の半導体集積回路の機能検証方法は、請求項１記載の半導体集積回路の機能検証方法において、前記アサーションルールを満たす前記入出力信号の値の候補を示したフィルタ変換リストを導出するフィルタ変換リスト導出工程と、前記フィルタ変換リストから前記入出力信号の値を決定するフィルタリングルールを適用するフィルタリングルール適用工程とを含み、フィルタリング実行工程は、前記入出力信号を前記フィルタリングルールにより導出された前記アサーションルールを満たす値に変換する。
【００１４】
以上により、請求項１の効果に加えて、アサーションルールを満たす入出力信号の値の候補を示したフィルタ変換リストを使用して、変換後の入出力信号の値を決定することにより、アサーションルールを満たす入出力信号の値の導出のため、機能検証を中断することなく、逐次的なパターン変換を実現させることができる。
【００１５】
請求項４記載の半導体集積回路の機能検証方法は、請求項２記載の半導体集積回路の機能検証方法において、前記アサーションルールを満たす前記入出力信号の値の候補を示したフィルタ変換リストを導出するフィルタ変換リスト導出工程と、前記フィルタ変換リストから前記入出力信号の値を決定するフィルタリングルールを適用するフィルタリングルール適用工程とを含み、フィルタリング実行工程は、前記入出力信号を前記フィルタリングルールにより導出された前記アサーションルールと前記検証項目リストとを満たす値に変換する。
【００１６】
以上により、請求項２の効果に加えて、アサーションルールを満たす入出力信号の値の候補を示したフィルタ変換リストを使用して、変換後の入出力信号の値を決定することにより、アサーションルールと検証項目リストとを満たす入出力信号の値の導出のため、機能検証を中断することなく、逐次的なパターン変換を実現させることができる。
【００１７】
請求項５記載の半導体集積回路の機能検証方法は、請求項１，２，３または４記載の半導体集積回路の機能検証方法において、前記入出力信号の入力信号は、前記半導体集積回路内の論理回路に対して機能検証を行うために入力するテストベクタの出力手段から入力される信号である。
【００１８】
以上により、半導体集積回路装置に対する機能検証の際に、テストベクタ出力手段から入力される信号を、フィルタリング実行工程によってアサーションルールを満たす値に変換することにより、動作仕様を満たさないテストベクタを、新たに動作仕様を満たすように作り直す必要がなくなるため、短期間で検証を実現することができる。
【００１９】
請求項６記載の半導体集積回路の機能検証方法は、請求項５記載の半導体集積回路の機能検証方法において、前記テストベクタの出力手段から入力される信号は、ランダムな入力パターンである。
【００２０】
以上により、半導体集積回路装置に対する機能検証の際に、テストベクタ出力手段から入力される信号を、フィルタリング実行工程によって、アサーションルールを満たす値に変換することにより、動作仕様を満たすように制御することが困難であるランダムなテストベクタを、動作仕様を満たすように作成する必要がなくなるため、検証環境を作成する工数を削減することができ、短期間で検証を実現することができる。
【００２１】
請求項７記載の半導体集積回路の機能検証方法は、請求項３または４記載の半導体集積回路の機能検証方法において、前記フィルタ変換リストは、アサーションルールが複数の入出力信号間で依存関係を満たすように定められている。
【００２２】
以上により、半導体集積回路装置に対する機能検証の際に、アサーションルールが複数の入出力信号間で依存関係を持つ時、依存関係を満たすフィルタ変換リストを使用するため、検証者が依存関係を考慮することなく、機能検証を実現することができる。
【００２３】
請求項８記載の半導体集積回路の機能検証方法は、請求項３または４記載の半導体集積回路の機能検証方法において、前記フィルタ変換リストは、時系列のアサーションルールが含まれている。
【００２４】
以上により、半導体集積回路装置に対する機能検証の際に、時系列のアサーションルールを満たすフィルタ変換リストを使用するため、検証者が時系列の動作仕様を考慮することなく、機能検証を実現することができる。
【００２５】
請求項９記載の半導体集積回路の機能検証方法は、請求項３または４記載の半導体集積回路の機能検証方法において、前記フィルタ変換リストは、前記アサーションルールを数式表現に変更したアサーション式を用いることにより導出される前記入出力信号の値の候補を示した。
【００２６】
以上により、半導体集積回路装置に対する機能検証の際に、アサーションルールを満たす信号値を数式的に導出することができ、導出された信号値を基にフィルタリング実行工程を行うため、検証者がアサーションルールを解析することなく、自動的にフィルタ変換リストを作成することができる。
【００２７】
請求項１０記載の半導体集積回路の機能検証方法は、請求項３または４記載の半導体集積回路の機能検証方法において、前記フィルタリングルールは、前記フィルタ変換リストから前記入出力信号の値を選択する方法を規定したフィルタオプションを使用する。
【００２８】
以上により、半導体集積回路装置に対する機能検証の際に、フィルタオプションを設定することにより、検証者が意図する信号値に変換でき、検証範囲が拡大することを特徴とする。
【００２９】
請求項１１記載の半導体集積回路の機能検証方法は、請求項１０記載の半導体集積回路の機能検証方法において、前記フィルタオプションは、前記フィルタ変換リストから前記入出力信号の値を、ランダムに選択する。
【００３０】
以上により、半導体集積回路装置に対する機能検証の際に、アサーションルールを満たすフィルタ変換リストから入出力信号の値をランダムに選択するため、ランダム性の高い機能検証を実現することができる。
【００３１】
請求項１２記載の半導体集積回路の機能検証方法は、請求項１０記載の半導体集積回路の機能検証方法において、前記フィルタオプションは、前記フィルタ変換リストから前記入出力信号の値を、リスト順に選択する。
【００３２】
以上により、半導体集積回路装置に対する機能検証の際に、アサーションルールを満たすフィルタ変換リストから入出力信号の値をリスト順に選択するため、規則性を持った機能検証を実現することができる。
【００３３】
請求項１３記載の半導体集積回路の機能検証方法は、請求項１０記載の半導体集積回路の機能検証方法において、前記フィルタオプションは、前記フィルタ変換リストから前記入出力信号の値として、特定の値のみを選択する。
【００３４】
以上により、半導体集積回路装置に対する機能検証の際に、アサーションルールを満たすフィルタ変換リストから入出力信号の値として特定の値のみを選択するため、ターゲットを絞った機能検証を実現することができる。そのため、ランダムなテストベクタの制御性を向上させる有効な方法である。
【００３５】
請求項１４記載の半導体集積回路の機能検証方法は、請求項１０記載の半導体集積回路の機能検証方法において、前記フィルタオプションは、前記フィルタ変換リストから前記入出力信号の値を、指定された確率に従って選択する。
【００３６】
以上により、半導体集積回路装置に対する機能検証の際に、アサーションルールを満たすフィルタ変換リストから入出力信号の値を指定された確率に従って選択するため、分布性を持った機能検証を実現することができる。
【００３７】
請求項１５記載の半導体集積回路の機能検証方法は、半導体集積回路内の論理回路を検証するための半導体集積回路の機能検証方法であって、前記半導体集積回路内の記憶素子の動作仕様を示すアサーションルールとしてアサーションを導入して機能検証を開始する工程と、前記アサーションルールを前記記憶素子が満たしているかを調査するアサーションルールチェック工程と、前記記憶素子が前記アサーションルールを満たさないとき、前記記憶素子の値を前記アサーションルールを満たす値に変換するフィルタリング実行工程とを含む。
【００３８】
以上により、半導体集積回路装置に対する機能検証の際に、誤って格納された記憶素子の値を、フィルタリング実行工程によってアサーションルールを満たす値に変換することにより、レジスタ値の設定手順を省略することができる。また、誤って格納された記憶素子の値をアサーションルールを満たすあらゆる値に変換することが可能であるため、検証範囲が狭まることがない。
【００３９】
請求項１６記載の半導体集積回路の機能検証方法は、半導体集積回路内の論理回路を検証するための半導体集積回路の機能検証方法であって、機能検証において検証すべき項目を示す検証項目リストを作成する検証項目リスト作成工程と、前記半導体集積回路内の記憶素子の動作仕様を示すアサーションルールとしてアサーションを導入して機能検証を開始する工程と、前記アサーションルールと前記検証項目リストとを前記記憶素子が満たしているかを調査するアサーションルールチェック工程と、前記記憶素子の値を前記アサーションルールと前記検証項目リストとを満たす値に変換するフィルタリング実行工程とを含む。
【００４０】
以上により、半導体集積回路装置に対する機能検証の際に、誤って格納された記憶素子の値を、フィルタリング実行工程によってアサーションルールを満たす値に変換することにより、レジスタ値の設定手順を省略することができる。また、誤って格納された記憶素子の値をアサーションルールを満たすあらゆる値に変換することが可能であるため、検証範囲が狭まることがない。さらに、記憶素子の値をフィルタリング実行工程によって、検証項目リストを満たす値に変換することにより、検証項目毎にテストベクタを作成する必要がなくなるため、複数の検証項目が存在する場合にも短期間で検証を実現することができる。
【００４１】
請求項１７記載のパターン変換装置は、半導体集積回路内の入出力信号を変換するパターン変換装置であって、前記半導体集積回路内の前記入出力信号の動作仕様を示すアサーションルールと、前記入出力信号が前記アサーションルールを満たさないとき、前記入出力信号を前記アサーションルールを満たす値に変換するアサーションフィルタとを備えた。
【００４２】
以上により、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があっても、その不具合に関連する入出力信号を、アサーションフィルタによって変換済みの動作仕様を満たす値に変換することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、機能検証を再開することができる。また、不具合に関連する入出力信号をアサーションルールを満たすあらゆる値に変換することが可能であるため、検証範囲が狭まることがない。
【００４３】
請求項１８記載のパターン変換装置は、半導体集積回路内の入出力信号を変換するパターン変換装置であって、前記半導体集積回路内の前記入出力信号の動作仕様を示すアサーションルールと、前記入出力信号のパターン変換候補を示す変換候補リストと、前記入出力信号を前記アサーションルールと前記変換候補リストとを満たす値に変換するアサーションフィルタとを備えた。
【００４４】
以上により、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があっても、その不具合に関連する入出力信号を、アサーションフィルタによって変換済みの動作仕様を満たす値に変換することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、機能検証を再開することができる。また、不具合に関連する入出力信号をアサーションルールを満たすあらゆる値に変換することが可能であるため、検証範囲が狭まることがない。さらに、入出力信号をアサーションフィルタによって、検証項目である変換候補リストを満たす値に変換することにより、検証項目毎にテストベクタを作成する必要がなくなるため、複数の検証項目が存在する場合にも短期間で検証を実現することができる。
【発明の効果】
【００４５】
以上のように本発明によれば、半導体集積回路装置に対する機能検証の際に、機能ブロックの不具合があっても、その不具合に関連する入出力信号を、フィルタリング実行工程によってアサーションルールを満たす値に変換することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、機能検証を再開することができる。また、入出力信号を、フィルタリング実行工程によって、検証項目リストを満たす値に変換することにより、検証項目毎に設計者がテストベクタを作成する必要がなくなり、複数の検証項目が存在する場合にも短期間で検証を実現することができる。
【００４６】
また、半導体集積回路装置に対する機能検証の際に、誤って格納された記憶素子の値を、フィルタリング実行工程によってアサーションルールを満たす値に変換することにより、レジスタ値の設定手順を省略することができる。また、記憶素子の値を、フィルタリング実行工程によって、検証項目リストを満たす値に変換することにより、検証項目毎に設計者がテストベクタを作成する必要がなくなり、複数の検証項目が存在する場合にも短期間で検証を実現することができる。
【００４７】
また、半導体集積回路装置に対する機能検証の際に、入出力信号をフィルタオプションによって、検証が意図する値に変換することができ、ランダムなテストベクタを使用する際にも、ランダムなテストベクタでは実現困難な検証項目を実現できるため、ランダム検証における可制御性を向上することができる。
【００４８】
さらに、半導体集積回路装置に対する機能検証の際にテストベクタの不具合があっても、その不具合に関連する信号を、フィルタリング実行工程によって動作仕様を満たす値に変換することにより、あらゆる状態を網羅した上で、不具合箇所の最終的な修正まで機能検証を中断することなく、機能検証を再開することができる。
【発明を実施するための最良の形態】
【００４９】
以下、本発明の実施の形態について、図面を参照しながら具体的に説明する。
（実施の形態１）
本発明の実施の形態１の半導体集積回路装置の機能検証方法を説明する。
【００５０】
図１は本実施の形態１のＬＳＩの機能検証方法を示すフローチャートである。図１において、ステップ１は半導体集積回路内の入出力信号の動作仕様をアサーションルールとして、アサーションを導入するステップ、ステップ２はアサーションを組み込み、機能検証を開始するステップ、ステップ３は機能検証の終了を検出するステップ、ステップ４は、アサーションルールを満たす入出力信号の値の候補を示したフィルタ変換リストを作成するステップ、ステップ５は、アサーションによる入出力信号を評価するステップ、ステップ６はアサーションルールチェック工程であり、アサーションルールに違反する入出力信号を検出するステップ、ステップ７はフィルタリングルール適用工程であり、フィルタ変換リストから強制代入される入出力信号の値を決定するステップ、ステップ８はフィルタリング実行工程であり、アサーションルールを満たした値を強制代入するステップである。
【００５１】
以上のようなステップを有する実施の形態１について、その動作を以下に説明する。
【００５２】
図２は、実施の形態１を適用した半導体集積回路装置の構成図を示したものである。半導体集積回路装置の内部に機能ブロックＡと機能ブロックＢが存在し、機能ブロックＡの出力信号である入出力信号Ｘが、機能ブロックＢに入力されている。なお、入出力信号Ｘのビット幅は３である。
【００５３】
第一に、ステップ１で予め半導体集積回路装置内の入出力信号に対して規定された動作仕様をアサーションルールとして、アサーションを導入する。なお、アサーションルールを適用する入出力信号は、半導体集積回路内の論理回路に対して機能検証を行うために入力するテストベクタの出力装置から入力される信号であるとしてもよく、テストベクタは設計者の手によって作成されたものであるか、ランダムに生成されるテストベクタであるかは問わない。
【００５４】
このアサーションルールは動作仕様そのものであるため、動作仕様から一意に決定することができる。本実施形態において、アサーションルールは、「ビット幅が３の入出力信号Ｘはワンホットである」とする。なお、アサーションルールは、ワンホットルールに限らない。
【００５５】
次に、ステップ２でアサーションを組み込み、機能検証を開始する。機能検証中に、ステップ６でアサーションルールに違反する信号値が検出された場合、ステップ８で入出力信号にアサーションルールを満たした値を強制代入する。強制代入には、回路設計記述における強制代入文を用いることによって簡単に実現できる。なお、強制代入の方法は、これに限ったものではない。
【００５６】
次に、ステップ４により、強制代入されるアサーションルールを満たした値を、フィルタ変換リストを用いて導出する。フィルタ変換リストは、機能検証を実行中に、アサーションルールを満たした値を逐次、導出する。図３はフィルタ変換リストを示したものであり、「ビット幅が３である入出力信号Ｘはワンホットである」というアサーションルールを満たしたものとなる。なお、フィルタ変換リストを使わずにアサーションルールを満たした値を導出しても構わない。その場合には、ステップ４、７は実施されない。
【００５７】
フィルタ変換リストから強制代入される入出力信号値を決定するステップ７において、フィルタオプションを使用する。フィルタオプションは、フィルタ変換リストから強制代入される入出力信号の値の選択方法を規定している。フィルタオプションを基に決定された入出力信号の値をステップ８で強制代入する。なお、フィルタオプションを使わずに、フィルタ変換リストから強制代入される入出力信号の値を決定してもよい。
【００５８】
図４は、フィルタオプションをランダムとし、ランダムにフィルタ変換リストから強制代入される入出力信号の値を決定した場合のタイムチャートである。フィルタオプションがランダムのとき、図３のフィルタ変換リストから、クロックの立ち上がり毎に、強制代入される入出力信号の値をランダムに決定する。すなわち、フィルタ変換リストにあるＸ[２:０]の候補パターン１００、０１０、００１から一つをランダムに選択する。なお、本実施形態においては、クロックの立ち上がり毎に、強制代入される入出力信号の値を決定したが、それに限らない。
【００５９】
その後、ランダムに選択された入出力信号の値をステップ８で強制代入する。図４から、変換前の信号波形００５がアサーションルールに違反しているのに対し、変換後の実線で示した信号波形００６は信号変化が不規則であるが、アサーションルールであるワンホットルールに合致したものであることがわかる。なお、図４の変換前の信号波形００５がアサーションルールを満たさないのは、ワンホットルールを実現する機能ブロックＡに不具合があることに起因するものである。
【００６０】
図５は、フィルタオプションをシーケンシャルとし、順番にフィルタ変換リストから強制代入される入出力信号を決定した場合のタイムチャートである。フィルタオプションがシーケンシャルのとき、図３のフィルタ変換リストから、クロックの立ち上がり毎に、強制代入される入出力信号の値をリストの記載順に決定する。すなわち、リストにあるＸ[２:０]の候補パターン１００、０１０、００１を順番に選択する。よって、サイクルの立ち上がり毎に
１００→０１０→００１
というシーケンスで選択する。その後、順番に選択された入出力信号の値をステップ８で強制代入する。図５から、変換前の信号波形００５がアサーションルールに違反しているのに対し、変換後の実線で示した信号波形００７は信号変化が規則的であり、かつアサーションルールに合致したものであることがわかる。
【００６１】
図６は、フィルタオプションをマキシマムとし、フィルタ変換リストから強制代入される入出力信号の値を決定した場合のタイムチャートである。フィルタオプションがマキシマムのとき、図３のフィルタ変換リストから、クロックの立ち上がり毎に、２進数換算で最大となる値を選択する。すなわち、フィルタ変換リストにあるＸ[２:０]の候補パターン１００、０１０、００１から１００を常に選択する。その後、決定された入出力信号の値をステップ８で強制代入する。変換前の信号波形００５がアサーションルールに違反しているのに対し、変換後の実線で示した信号波形００８はアサーションルールを満たし、かつ入出力信号Ｘの値が２進数換算で最大となる１００のみが選択されていることがわかる。
【００６２】
図７は、フィルタオプションを５０％ミニマムとし、フィルタ変換リストから強制代入される入出力信号の値を決定した場合のタイムチャートである。フィルタオプションが５０％ミニマムのとき、図３のフィルタ変換リストから、クロックの立ち上がり毎に、２進数換算で最小となる値を５０％の確率で選択する。すなわち、リストにあるＸ[２:０]の候補パターン００１を５０％の確率で選択する。さらに、残り５０％はフィルタ変換リスト０１０、１００からランダムに選択される。その後、決定された入出力信号の値をステップ８で強制代入する。図７より、変換前の信号波形００５がアサーションルールに違反しているのに対し、変換後の実線で示した信号波形００９はアサーションルールを満たしたものである。また、入力信号Ｘの値は、２進数換算で最小となる００１が５０％の確率で選択され、残り５０％がフィルタ変換リスト０１０、１００からランダムに選択されていることがわかる。
【００６３】
なお、本実施形態においては、フィルタオプションはランダム、シーケンシャル、マキシマム、５０％ミニマムとしたが、それに限ったものではない。
【００６４】
この結果、ワンホットルールを実現する機能ブロックＡに不具合があるとき、不具合に関連する入出力信号Ｘが、機能検証実行中に、フィルタリング実行工程により、アサーションルールを満たす値に修正される。
【００６５】
以上により、半導体集積回路装置に対する機能検証の際に機能ブロックに不具合がある場合、機能ブロックの最終的な修正まで機能検証を中断する必要がなく、機能検証を再開することができる。また、不具合に関連する入出力信号をアサーションルールを満たすあらゆる値に変換することが可能であるため、検証範囲が狭まることがない。
【００６６】
また、フィルタ変換リストを使用したことにより、アサーションルールを満たす入出力信号の値の導出のため、機能検証を中断することなく、逐次的なパターン変換を実現させることを特徴とする。
【００６７】
さらに、フィルタオプションを設定することにより、検証者が意図する信号値に変換することができる。
（実施の形態２）
本発明の実施の形態２の半導体集積回路装置の機能検証方法を説明する。
【００６８】
図８は本実施の形態２のＬＳＩの機能検証方法を示すフローチャートである。図８において、ステップ１は半導体集積回路内の入出力信号の動作仕様をアサーションルールとして、アサーションを導入するステップ、ステップ９は検証項目リスト作成工程であり、検証項目を示す検証項目リストを作成するステップ、ステップ２はアサーションを組み込み、機能検証を開始するステップ、ステップ３は機能検証の終了を検出するステップ、ステップ４はフィルタ変換リスト導出工程であり、アサーションルールを満たす入出力信号の値の候補を示したフィルタ変換リストを作成するステップ、ステップ１０は、検証項目リストを満たさないファイル変換リストをリストから除外するステップ、ステップ５は、アサーションによる入出力信号を評価するステップ、ステップ１１はアサーションルールチェック工程であり、アサーションルールと検証項目とを満たさない入出力信号を検出するステップ、ステップ７はフィルタリングルール適用工程であり、フィルタ変換リストから強制代入される入出力信号の値を決定するステップ、ステップ１２はフィルタリング実行工程であり、入出力信号にアサーションルールと検証項目リストとを満たした値を強制代入するステップである。
【００６９】
以上のようなステップを有する実施の形態２について、その動作を以下に説明する。
【００７０】
図９は、実施の形態２を適用した半導体集積回路装置の構成図を示したものである。半導体集積回路装置の内部に機能ブロックＣと機能ブロックＤが存在し、機能ブロックＣの出力信号である入出力信号Ｙが、機能ブロックＤに入力されている。なお、入出力信号Ｙのビット幅は１である。
【００７１】
ステップ１で予め半導体集積回路装置の入出力信号に対して規定された動作仕様をアサーションルールとして、アサーションを導入する。なお、アサーションルールを適用する入出力信号を、半導体集積回路内の論理回路に対して機能検証を行うために入力するテストベクタの出力装置から入力される信号であるとしてもよく、テストベクタは設計者の手によって作成されたものであるか、ランダムに生成されるテストベクタであるかは問わない。
【００７２】
このアサーションルールは動作仕様そのものであるため、動作仕様から一意に決定することができる。本実施形態においては、「半導体集積回路装置内のビット幅が１である入出力信号Ｙは不定値をとらない」というアサーションルールを用いて説明する。なお、アサーションルールは不定値に関するルールに限らない。
【００７３】
次に、検証項目として、検証項目リストを作成する。本実施形態においては、「半導体集積回路装置内の入出力信号Ｙの値は１である」という検証項目リストを用いて説明する。なお、検証項目リストは、本実施形態に限るものではない。
【００７４】
次に、アサーションを組み込み、機能検証を開始する。機能検証中に、ステップ１１でアサーションルールと検証リストとを満たさない信号値が検出された場合、ステップ１２で入出力信号にアサーションルールと検証項目リストとを満たした値を強制代入する。
【００７５】
ここでアサーションルールと検証項目リストとを満たした値は、フィルタ変換リストを用いて導出する。アサーションルールを満たすフィルタ変換リストはステップ４で導出され、本実施形態におけるフィルタ変換リストは、入出力信号Ｙが０もしくは１の２つのパターンがリスト化されている。なお、ステップ４のフィルタ変換リストの作成は、機能検証を実施中に、アサーションルールを満たした値を逐次、導出する。ステップ１０より、検証項目リストを満たさない信号値である０を排除することにより、アサーションルールと検証項目リストとを満たした値とは、入出力信号Ｙが１であることを示す。なお、必ずしもアサーションルールと検証項目リストとを満たした値を、フィルタ変換リストを用いて導出する必要はない。その場合には、ステップ４、７、１０は実施されない。
【００７６】
図１０はステップ１２により、変換された入出力信号のタイミングチャートである。変換前の信号波形０１３がアサーションルールに違反しているのに対し、変換後の信号波形０１４はアサーションルールと検証項目リストとを満たしたものであることがわかる。
【００７７】
以上により、半導体集積回路装置に対する機能検証の際に、入出力信号を検証項目リストを満たす値に変換することにより、検証項目毎に検証パターンを作成する必要がなくなるため、複数の検証項目が存在する場合にも短期間で検証を実現することができる。また、フィルタ変換リストを使用することにより、アサーションルールと検証項目リストを満たす入出力信号の値の導出のため、機能検証を中断することなく、逐次的なパターン変換を実現させることを特徴とする。
（実施の形態３）
本発明の実施の形態３の半導体集積回路装置の機能検証方法を説明する。
【００７８】
図１１は、実施の形態３を適用した半導体集積回路装置の構成図を示したものである。半導体集積回路の内部に機能ブロックＥと機能ブロックＦが存在し、機能ブロックＥの出力信号である入出力信号ＱとＲが、機能ブロックＦに入力されている。なお、入出力信号ＱとＲのビット幅はともに２である。
【００７９】
本実施の形態１のＬＳＩの機能検証方法を示すフローチャートはアサーションルールを満たす入出力信号の値の候補を示したフィルタ変換リストを作成するステップ４を有した。実施の形態３は、本ステップにおいて、前記アサーションルールが複数の前記入出力信号間で依存関係を持つ時、依存関係を満たすフィルタ変換リストを作成することを特徴とする。本実施形態においては、アサーションルールは「２ビット入出力信号Ｑは２ビットの入出力信号Ｒをビット反転した値と等しい」、「２ビットの入出力信号Ｒはワンホットである」の２項目とする。なお、アサーションルールはこれに限ったものではない。
【００８０】
図１２で示すように実施の形態３は、ステップ４のフィルタ変換リストを作成するとき、アサーションルールを数式表現であるアサーション式に変更するステップ１３、アサーション式を満たすパターンを導出するステップ１４、ステップ１４で導出されたパターンをフィルタ変換リストに置き換えるステップ１５を実施する。なお、依存関係を満たすフィルタ変換リストを作成するとき、必ずしもアサーション式を使用するものではない。
【００８１】
以上のようなステップを有する実施の形態３について、その動作を以下に説明する。
【００８２】
第一に、ステップ１３によりアサーションルールをアサーション式に変更した実例を示す。
「２ビット入出力信号Ｑは２ビットの入出力信号Ｒをビット反転した値と等しい」
→Ｑ[１]＝〜Ｒ[１],Ｑ[０]＝〜Ｒ[０]・・・(１)
「２ビットの入出力信号Ｒはワンホットである」
→(Ｒ[１]＋Ｒ[０])＝１・・・(２)
式（１）は「２ビット入出力信号Ｑは２ビットの入出力信号Ｒをビット反転した値と等しい」ということを数式表現したものである。式（２）は、「２ビットの入出力信号Ｒはワンホットである」ということを数式表現したものである。図１３はアサーション式に違反していない値を全入力パターンから導出した結果を示したものである。図１３において、判定結果が○と記載されたパターンのみが、アサーション式に違反していないパターンとなる。ステップ１４により、全入力パターンをアサーション式に順次代入し、アサーション式が成立した場合には、そのときの入力パターンは数式表現を満たすパターンとし、アサーション式が成立しなかった場合には、そのときの入力パターンはアサーションルールを満たさない無効なデータとする。最後に、ステップ１５により、導出されたアサーション式を満たすパターンをフィルタ変換リストに置き換える。ステップ１５により得られたフィルタ変換リストは、図１４で示される。得られたフィルタ変換リストは、アサーションルールを満たしたものになる。
【００８３】
作成されたフィルタ変換リストを基に、アサーションルールに違反する入出力信号を検出するステップ６、フィルタ変換リストから強制代入する入出力信号を決定するステップ７、アサーションルールを満たした値を強制代入するステップ８を実施する。
【００８４】
以上により、動作仕様が複数の入出力信号間で依存関係を持つ時、検証者が依存関係を考慮することなく、機能検証を実現することができる。また、アサーション式を用いることにより、アサーションルールを満たす信号値を数式的に導出し、導出された信号値を基にフィルタリング実行工程を行うため、検証者がアサーションルールを解析することなく、自動的にフィルタ変換リストを作成することができる。
（実施の形態４）
本発明の実施の形態４の半導体集積回路装置の機能検証方法を説明する。
【００８５】
図１５は、実施の形態４を適用した半導体集積回路装置の構成図を示したものである。半導体集積回路の内部に機能ブロックＧと機能ブロックＨが存在し、機能ブロックＧの出力信号である入出力信号ＡＡとＢＢが、機能ブロックＨに入力されている。なお、入出力信号ＡＡとＢＢのビット幅はともに２である。
【００８６】
本実施の形態１のＬＳＩの機能検証方法を示すフローチャートはアサーションルールを満たす前記入出力信号の値の候補を示したフィルタ変換リストを作成するステップ４を有した。実施の形態４は、本ステップにおいて、前記アサーションルールに、時系列なアサーションルールが含まれている時、時系列なアサーションルールが次サイクル以降にも違反しないパターンを導出することを特徴とする。本実施形態においては、アサーションルールは「ビット幅２の入出力信号ＡＡはビット幅２の入出力信号ＢＢと等しくない」、「入出力信号ＡＡは１サイクル毎に１インクリメントされる」、「入出力信号ＢＢは１サイクル以上値を保持する」とする。なお、アサーションルールは必ずしもこれに限ったものではない。
【００８７】
図１２で示すように実施の形態４は、ステップ４のフィルタ変換リストを作成するとき、アサーションルールを数式表現であるアサーション式に変更するステップ１３、アサーション式を満たすパターンを導出するステップ１４、ステップ１４で導出されたパターンをフィルタ変換リストに置き換えるステップ１５を実施する。
【００８８】
図１６は、時系列なアサーションルールが、次サイクル以降に違反してしまうタイミングチャートを示したものである。時刻Ｔはクロックの立ち上がり毎に１ずつ増加し、時刻Ｔが２のとき、「入出力信号ＡＡは入出力信号ＢＢと等しくない」というルールを違反している。これは、時刻Ｔが１のとき、入出力信号ＢＢを２と変化させたことが原因である。
次に、ステップ１３のアサーションルールを数式表現であるアサーション式に変更した実例を示す。なお、時系列なアサーションルールを満たすフィルタ変換リストを作成するとき、必ずしもアサーション式を使用するものではない。
【００８９】
入出力信号ＡＡは入出力信号ＢＢと等しくない。
→ＡＡ≠ＢＢ・・・(３)
入出力信号ＡＡは１サイクル毎に１インクリメントされる。
→ＡＡ(Ｔ＋１)＝ＡＡ(Ｔ)＋１・・・(４)
入出力信号ＢＢは１サイクル以上値を保持する。
→Ｉｆ(ＢＢ(Ｔ−１)≠ＢＢ(Ｔ))
ＢＢ(Ｔ＋１)＝ＢＢ(Ｔ)・・・(５)
式（３）は「入出力信号ＡＡは入出力信号ＢＢと等しくない」ということを数式表現したものである。式（４）は、「入出力信号ＡＡは１サイクル毎に１インクリメントされる」ということを数式表現したものである。式（５）は、「入出力信号ＢＢは１サイクル以上値を保持する」ということを数式表現したものである。ステップ１４により、全入力パターンをアサーション式に順次代入し、アサーション式が成立した場合には、そのときの入力パターンは数式表現を満たすパターンとし、アサーション式が成立しなかった場合には、そのときの入力パターンはアサーションルールを満たさない無効なデータとし、破棄する。数式表現を満たす値を示した結果が図１７である。図１７において、判定結果が○と記載されたパターンのみが、アサーション式に違反していないパターンとなる。最後に、ステップ１５により、導出されたアサーション式を満たすパターンをフィルタ変換リストに置き換える。ステップ１５により得られたフィルタ変換リストは、図１８で示される。得られたフィルタ変換リストは、次サイクル以降のアサーションルールも満たしたものになる。
【００９０】
作成されたフィルタ変換リストを基に、アサーションルールに違反する入出力信号を検出するステップ６、フィルタ変換リストから強制代入する入出力信号を決定するステップ７、アサーションルールを満たした値を強制代入するステップ８を実施する。
【００９１】
以上により、半導体集積回路装置に対する機能検証の際に、検証者が時系列な動作仕様を考慮することなく、機能検証を実現することができる。
（実施の形態５）
図１９は本実施の形態５のＬＳＩの機能検証方法を示すフローチャートである。図１９において、ステップ１６は半導体集積回路内の記憶素子の動作仕様をアサーションルールとして、アサーションを導入するステップ、ステップ２はアサーションを組み込み、機能検証を開始するステップ、ステップ３は機能検証の終了を検出するステップ、ステップ１７は、アサーションによる記憶素子を評価するステップ、ステップ１８はアサーションルールチェック工程であり、アサーションルールに違反する記憶素子を検出するステップ、ステップ１９はフィルタリング実行工程であり、アサーションルールに違反する記憶素子を検出したとき、記憶素子に動作仕様を満たした値を強制代入するステップである。
【００９２】
以上のようなステップを有する実施の形態５について、その動作を以下に説明する。
【００９３】
図２０は、実施の形態５を適用した半導体集積回路装置の構成図を示したものである。半導体集積回路装置の内部に機能ブロックＩが存在し、機能ブロックＩの内部に記憶素子であるＲＥＧ１、ＲＥＧ２、ＲＥＧ３が存在する。
【００９４】
ステップ１６で予め半導体集積回路装置の記憶素子に対して規定された動作仕様をアサーションルールとして、アサーションを導入する。このアサーションルールは動作仕様そのものであるため、動作仕様から一意に決定することができる。本実施形態においては、「半導体集積回路装置内のビット幅が１である記憶素子ＲＥＧ１が不定ではない」というアサーションルールを用いて説明する。なお、アサーションルールは不定値に関するものに限らない。また、図２１のタイミングチャートは記憶素子ＲＥＧ１の初期設定を行うためのシーケンスを示している。図２１から、記憶素子ＲＥＧ１は初期設定を行う前は、不定値をとっており、初期設定するためには、他の記憶素子ＲＥＧ２、ＲＥＧ３を先に設定する必要があることがわかる。
【００９５】
次に、ステップ２で本アサーションを組み込み、機能検証を開始する。機能検証中に、ステップ１８でアサーションルールに違反する記憶素子が検出された場合、ステップ１９で記憶素子にアサーションルールを満たした値を強制代入する。ここで、アサーションルールに違反する値とは、記憶素子ＲＥＧ１が不定をとったことを示し、初期設定を行っていない状態、もしくは記憶素子ＲＥＧ１を制御するブロックに不具合があるときに検出される。また、アサーションルールを満たした値とは、記憶素子ＲＥＧ１が０もしくは１であることを示す。
【００９６】
以上により、半導体集積回路装置に対する機能検証の際に記憶素子に不具合がある場合、記憶素子の最終的な修正まで機能検証を中断する必要がなく、機能検証を再開することができる。また、複数の工程を省略して初期設定を行うことができる。また、誤って格納された記憶素子の値をアサーションルールを満たすあらゆる値に変換することが可能であるため、検証範囲が狭まることがない。
（実施の形態６）
本発明の実施の形態６の半導体集積回路装置の機能検証方法を説明する。
【００９７】
図２２は本実施の形態６のＬＳＩの機能検証方法を示すフローチャートである。図２２において、ステップ１６は半導体集積回路内の記憶素子の動作仕様をアサーションルールとして、アサーションを導入するステップ、ステップ２０は検証項目リスト作成工程であり、検証項目を示す検証項目リストを作成するステップ、ステップ２はアサーションを組み込み、機能検証を開始するステップ、ステップ３は機能検証の終了を検出するステップ、ステップ１７は、アサーションによる記憶素子を評価するステップ、ステップ２１はアサーションルールチェック工程であり、アサーションルールと検証項目を満たさない記憶素子を検出するステップ、ステップ２２はフィルタリング実行工程であり、検証項目リストとアサーションルールを満たした値を強制代入するステップである。
【００９８】
以上のようなステップを有する実施の形態６について、その動作を以下に説明する。
【００９９】
図２３は、実施の形態５を適用した半導体集積回路装置の構成図を示したものである。半導体集積回路装置の内部に機能ブロックＪが存在し、機能ブロックＪの内部に記憶素子であるＲＥＧ４、ＲＥＧ５、ＲＥＧ６が存在する。なお、ＲＥＧ４の設定には、ＲＥＧ５、ＲＥＧ６の値を予め設定する必要がある。
【０１００】
ステップ１６で予め半導体集積回路装置の記憶素子に対して規定された動作仕様をアサーションルールとして、アサーションを導入する。このアサーションルールは動作仕様そのものであるため、動作仕様から一意に決定することができる。本実施形態においては、「半導体集積回路装置内のビット幅が３である記憶素子ＲＥＧ４はワンホットである」というアサーションルールを用いて説明する。なお、アサーションルールはワンホットルールに限ったものではない。
【０１０１】
次に、検証項目として、検証項目リストを作成する。本実施形態においては、「半導体集積回路装置内の記憶素子ＲＥＧ４は３’ｂ１００である」という検証項目リストを用いて説明する。次に、本アサーションを組み込み、機能検証を開始する。機能検証中に、ステップ２１でアサーションルールと検証リストを満たさない信号値が検出された場合、ステップ２２で記憶素子にアサーションルールと検証項目リストとを満たした値を強制代入する。ここでは、検証リストを満たさない信号値とは、記憶素子ＲＥＧ４が３’ｂ０１０もしくは３’ｂ００１をとったことを示し、アサーションルールと検証項目リストとを満たした値とは、記憶素子ＲＥＧ４が３’b１００であることを示す。なお、ステップ２２で記憶素子にアサーションルール及び検証項目リストを満たした値を強制代入することにより、ＲＥＧ4の設定のため、ＲＥＧ５、ＲＥＧ６の値を予め設定する必要がない。
【０１０２】
以上により、半導体集積回路装置に対する機能検証の際に、記憶素子の値を検証項目リストを満たす値に変換することにより、検証項目毎に検証パターンを作成する必要がなくなるため、複数の検証項目が存在する場合にも短期間で検証を実現することができる。また、検証者がレジスタ値の設定シーケンスを考慮することなくレジスタ値設定を行うことができるため、短期間で検証を実現することができる。
（実施の形態７）
本発明の実施の形態７の半導体集積回路装置のパターン変換装置を説明する。
【０１０３】
図２４は本実施の形態７のＬＳＩのパターン変換装置の構成を示す。図２４において、０３１は半導体集積回路、０３２は半導体集積回路に入力するテストベクタ、０３３は半導体集積回路内の入出力信号の動作仕様を示すアサーションルール、０３４は機能検証時にアサーションルールに違反する入出力信号を検出したとき、入出力信号に動作仕様を満たした値を強制的に入力するアサーションフィルタ、０３５は半導体集積回路の内部に存在する機能ブロックＫ、０３６は半導体集積回路の内部に存在する機能ブロックＬ、０３７は機能ブロックＫの出力信号であり機能ブロックＬに入力されている入出力信号Ｘである。
【０１０４】
この構成において、コンピュータ装置は、０３４のアサーションフィルタ処理を担当する。コンピュータ装置は、機能検証時にアサーションルールに違反する入出力信号を検出したとき、動作仕様を満たした値を導出し、導出した値をコンピュータ装置と半導体集積回路０３１のインターフェースを介して入出力信号に強制的に代入する。また、０３３のアサーションルールはコンピュータ装置の外部のハードディスクに格納されており、コンピュータ装置とハードディスクとのインターフェースを介してコンピュータ装置内に取り込まれる。
【０１０５】
以上のような構成である実施の形態７について、その動作を以下に説明する。
【０１０６】
０３３のアサーションルールは動作仕様そのものであるため、動作仕様から一意に決定することができる。本実施形態においては、「半導体集積回路装置内のビット幅が１である入出力信号Ｘが不定ではない」というアサーションルールを用いて説明する。なお、アサーションルールは、これに限ったものではない。次に、テストベクタを半導体集積回路に入力し、機能検証を開始する。アサーションフィルタ０３４でアサーションルール０３３に違反する信号値が検出された場合、入出力信号にアサーションルール０３３を満たした値をアサーションフィルタ０３４が強制代入する。ここでは、アサーションルール０３３に違反する信号値とは、入出力信号Ｘが不定をとったことを示し、アサーションルール０３３を満たした値とは、入出力信号Ｘが０もしくは１であることを示す。
【０１０７】
この結果、入出力信号Ｘを出力する機能ブロックＫに不具合があるとき、入出力信号Ｘは、機能検証実行中にフィルタリング実行工程により、アサーションルールを満たす値に修正される。
【０１０８】
以上により、半導体集積回路装置に対する機能検証の際に機能ブロックに不具合がある場合、機能ブロックの最終的な修正まで機能検証を中断する必要がなく、機能検証を再開することができる。また、不具合に関連する入出力信号をアサーションルールを満たすあらゆる値に変換することが可能であるため、検証範囲が狭まることがない。
（実施の形態８）
本発明の実施の形態８の半導体集積回路装置のパターン変換装置を説明する。
【０１０９】
図２５は本実施の形態８のＬＳＩのパターン変換装置の構成を示す。図２５において、０３１は半導体集積回路、０３２は半導体集積回路に入力するテストベクタ、０３３は半導体集積回路内の入出力信号の動作仕様を示すアサーションルール、０４１は変換候補リスト、０３４は機能検証時にアサーションルールに違反する入出力信号を検出したとき、入出力信号に動作仕様と変換項目リストとを満たした値を強制的に入力するアサーションフィルタ、０３８は半導体集積回路の内部に存在する機能ブロックＭ、０３９は半導体集積回路の内部に存在する機能ブロックＮ、０４０は機能ブロックＭの出力信号であり機能ブロックＮに入力されている入出力信号Ｙである。
【０１１０】
この構成において、コンピュータ装置は、０３４のアサーションフィルタ処理を担当する。コンピュータ装置は、機能検証時にアサーションルールに違反する入出力信号を検出したとき、動作仕様と変換項目リストとを満たした値を導出し、導出した値をコンピュータ装置と半導体集積回路０３１のインターフェースを介して入出力信号に強制的に代入する。また、０３３のアサーションルールと０４１の変換候補リストはコンピュータ装置の外部のハードディスクに格納されており、コンピュータ装置とハードディスクとのインターフェースを介してコンピュータ装置内に取り込まれる。
【０１１１】
以上のような構成である実施の形態８について、その動作を以下に説明する。
【０１１２】
０３３のアサーションルールは動作仕様そのものであるため、動作仕様から一意に決定することができる。本実施形態においては、「半導体集積回路装置内のビット幅が３である入出力信号Ｙはワンホットである」というアサーションルールを用いて説明する。なお、アサーションルールは、これに限ったものではない。０４１の変換候補リストは、「半導体集積回路装置内の入出力信号Ｙは３’ｂ１００である」とする。次に、テストベクタを半導体集積回路に入力し、機能検証を開始する。機能検証中に、アサーションフィルタ０３４でアサーションルール０３３と変換候補リスト０４１を満たさない信号値が検出された場合、入出力信号にアサーションルール０３３と変換候補リスト０４１とを満たした値をアサーションフィルタ０３４が強制代入する。ここでは、変換候補リスト０４１を満たさない信号値とは、入出力信号Ｙが３’ｂ０１０もしくは３’ｂ００１をとったことを示し、アサーションルール０３３と変換候補リスト０４１とを満たした値とは、入出力信号Ｙが３’ｂ１００であることを示す。
【０１１３】
以上により、半導体集積回路装置に対する機能検証の際に、入出力信号をアサーションフィルタによって、検証項目である変換候補リストを満たす値に変換することにより、検証項目毎に検証パターンを作成する必要がなくなるため、複数の検証項目が存在する場合にも短期間で検証を実現することができる。
【産業上の利用可能性】
【０１１４】
本発明にかかる半導体集積回路の機能検証方法は、半導体集積回路装置の機能検証期間の短縮化することができる方法であり、半導体集積回路（ＬＳＩ）の検証方法として有用である。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施の形態１における機能検証方法を示すフローチャート。
【図２】本発明の実施の形態１を適用した半導体集積回路。
【図３】本発明の実施の形態１におけるフィルタ変換リスト。
【図４】本発明の実施の形態１においてパターン変換された入出力信号のタイミングチャート。
【図５】本発明の実施の形態１においてパターン変換された入出力信号のタイミングチャート。
【図６】本発明の実施の形態１においてパターン変換された入出力信号のタイミングチャート。
【図７】本発明の実施の形態１においてパターン変換された入出力信号のタイミングチャート。
【図８】本発明の実施の形態２における機能検証方法を示すフローチャート。
【図９】本発明の実施の形態２を適用した半導体集積回路。
【図１０】本発明の実施の形態２においてパターン変換された入出力信号のタイミングチャート。
【図１１】本発明の実施の形態３を適用した半導体集積回路。
【図１２】本発明の実施の形態３における機能検証方法を示すフローチャート。
【図１３】本発明の実施の形態３におけるアサーション式を満たす値を示したリスト。
【図１４】本発明の実施の形態３におけるフィルタ変換リスト。
【図１５】本発明の実施の形態４を適用した半導体集積回路。
【図１６】本発明の実施の形態４におけるアサーションルールを満たさないタイミングチャート。
【図１７】本発明の実施の形態４におけるアサーション式を満たす値を示したリスト。
【図１８】本発明の実施の形態４におけるフィルタ変換リスト。
【図１９】本発明の実施の形態５における機能検証方法を示すフローチャート。
【図２０】本発明の実施の形態５を適用した半導体集積回路。
【図２１】本発明の実施の形態５におけるレジスタ初期設定のタイミングチャート。
【図２２】本発明の実施の形態６における機能検証方法を示すフローチャート。
【図２３】本発明の実施の形態６を適用した半導体集積回路。
【図２４】本発明の実施の形態７のパターン変換装置の構成図。
【図２５】本発明の実施の形態８のパターン変換装置の構成図。
【図２６】従来の検証方法を示すフローチャート。
【図２７】従来の検証方法を示すフローチャート。
【符号の説明】
【０１１６】
００５  実施の形態１における変換前の信号波形
００６  実施の形態１における変換後の信号波形
００７  実施の形態１における変換前の信号波形
００８  実施の形態１における変換後の信号波形
００９  実施の形態１における変換後の信号波形
０１３  実施の形態２における変換前の信号波形
０１４  実施の形態２における変換後の信号波形
０３２  テストベクタ
０３３  アサーションルール
０３４  アサーションフィルタ
０４１  変換候補リスト
【図１】
2007036572.tif 000003
【図２】
2007036572.tif 000004
【図３】
2007036572.tif 000005
【図４】
2007036572.tif 000006
【図５】
2007036572.tif 000007
【図６】
2007036572.tif 000008
【図７】
2007036572.tif 000009
【図８】
2007036572.tif 000010
【図９】
2007036572.tif 000011
【図１０】
2007036572.tif 000012
【図１１】
2007036572.tif 000013
【図１２】
2007036572.tif 000014
【図１３】
2007036572.tif 000015
【図１４】
2007036572.tif 000016
【図１５】
2007036572.tif 000017
【図１６】
2007036572.tif 000018
【図１７】
2007036572.tif 000019
【図１８】
2007036572.tif 000020
【図１９】
2007036572.tif 000021
【図２０】
2007036572.tif 000022
【図２１】
2007036572.tif 000023
【図２２】
2007036572.tif 000024
【図２３】
2007036572.tif 000025
【図２４】
2007036572.tif 000026
【図２５】
2007036572.tif 000027
【図２６】
2007036572.tif 000028
【図２７】
2007036572.tif 000029