(57)【要約】本発明の１つの好適例は、処理装置(21)によって実行される集積回路シミュレーションに含めるアサーションの用意を含む。この処理装置(21)への入力に応答して、一組の集積回路波形を規定してアサーションをテストする。処理装置(21)はこれらの波形でアサーションをテストし、テストの結果が良好であった後に、このアサーションで集積回路シミュレーションを実行する。
2009508203.tif 000002
【特許請求の範囲】
【請求項１】
集積回路シミュレーション用の波形データベースであって、各々が共通の期間に関連して変化する複数の集積回路波形に対応する波形データベースを用意するステップと；
処理装置によって前記集積回路波形に第１アサーションを適用するステップであって、前記第１アサーションが、前記集積回路波形に対応する集積回路設計モデルの挙動をテストするように構成されているステップと；
前記適用に基づいて、前記第１アサーションを評価するステップと；
前記評価に対応して、前記第１アサーションを修正して第２アサーションを提供し、該第２アサーションで前記集積回路設計モデルの挙動をテストするステップと
を具えていることを特徴とする方法。
【請求項２】
前記処理装置によって規定されるグラフィカル・ユーザインタフェースで、異なるアサーションに対して異なる集積回路波形の組をカスタマイズすることを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記波形データベースを用意し、前記第１アサーションの適用を、少なくとも部分的に前記処理装置のプログラミングによって規定されるアサーション開発ツールで実行することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記波形データベースを、シミュレータで生成した波形データを記憶することによって用意することを特徴とする請求項３に記載の方法。
【請求項５】
前記集積回路設計モデルで集積回路シミュレーションを実行すること、及び前記第２アサーションを前記シミュレーションに含めることを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記修正するステップが、前記第２アサーションを再コンパイルすることを含み、前記第１アサーション及び前記第２アサーションはＰＳＬで提供されることを特徴とする請求項１に記載の方法。
【請求項７】
集積回路シミュレーション用のアサーションを用意するステップと；
処理装置への入力に応答して、前記アサーションをテストするために選択した一組の集積回路波形を規定するステップと；
前記処理装置によって、前記アサーションを前記集積回路波形でテストするステップと；
前記テストの結果が良好であった後に、前記集積回路シミュレーションを前記アサーションで実行するステップと
を具えていることを特徴とする方法。
【請求項８】
前記一組の集積回路波形を規定するステップ、及び前記アサーションをテストするステップを、前記処理装置を設けたアサーション開発ツールで実行し、前記処理装置は、前記アサーション開発ツールに応答するディスプレイに動作的に結合されて、前記集積回路波形の図形表現を表示することを特徴とする請求項７に記載の方法。
【請求項９】
前記処理装置によって規定されるグラフィカル・ユーザインタフェースで、異なるアサーションに対して異なる集積回路波形の組をカスタマイズすることを含むことを特徴とする請求項７に記載の方法。
【請求項１０】
前記シミュレーションをＨＤＬモデルで実行し、前記アサーションがＰＳＬで規定されることを特徴とする請求項７に記載の方法。
【請求項１１】
前記テストに対応して前記アサーションを修正し、前記修正後に前記アサーションを再コンパイルして前記テストを繰り返すことを含み、この繰り返し後に、前記集積回路シミュレーションを実行することを特徴とする請求項７に記載の方法。
【請求項１２】
前記一組の集積回路波形を規定するステップ、前記アサーションをテストするステップ、及び前記シミュレーションを実行するステップを、前記処理装置のプログラミングに従って実行することを特徴とする請求項１１に記載の方法。
【請求項１３】
表示装置と；
１つ以上の入力装置と；
前記表示装置及び前記１つ以上の入力装置に動作的に結合された処理装置とを具え、
前記処理装置は、集積回路モデル及び第１組の波形の挙動を検証すべく動作するアサーションを表現するデータを記憶するように構成されたメモリーを含み、
前記処理装置は、１つ以上の入力装置に応答して、前記アサーションの前記第１組の波形に対する動作をテストし、
前記表示装置は、前記処理装置からの第１出力に応答して、前記第１組の波形、及び前記アサーションの動作に対応する指標を可視化し、
前記処理装置はさらに、前記１つ以上の入力装置に応答して、
異なるアサーションの動作をテストするためにカスタマイズされた第２組の波形を発生し；
前記第２組の波形及び前記異なるアサーションを表現する他のデータを前記メモリーに記憶し；
前記異なるアサーションの動作を前記第２組の波形で評価し；
前記第２組の波形を可視化するための第２出力を前記表示装置に対して発生し、前記異なるアサーションの動作に対応する他の指標を前記表示装置に供給する
ことを特徴とするシステム。
【請求項１４】
さらに、波形データを対話的に作成し修正するためのグラフィック・ユーザインタフェースを具えていることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記処理装置がさらに、アサーションのデータベース及び波形データベースを記憶すべく動作し、前記波形データベースは、前記第１組の波形及び前記第２組の波形を含むことを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記アサーションをＨＤＬモデルに基づいて実行する手段を含むことを特徴とする請求項１３に記載のシステム。
【請求項１７】
さらに、前記アサーションのテスト時の動作に基づいて、前記アサーションを修正する手段を具えていることを特徴とする請求項１３に記載のシステム。
【請求項１８】
コンピュータシステムによって実行可能であり、
集積回路設計モデルの挙動をシミュレーションによって検証するためのアサーションを用意し；
前記コンピュータシステムの１つ以上のオペレータ入力装置からの入力に応答して前記アサーションを評価するために選択した一組の集積回路波形を規定する
ための動作論理を含む装置を具えた機器であって、
前記動作論理は、前記一組の集積回路波形を、前記コンピュータシステムに含まれるディスプレイ上で可視化するための出力を供給すべく動作し、
前記動作論理は、前記１つ以上のオペレータ入力装置からの入力に応答して、前記一組の集積回路波形の１つ以上を修正または作成して前記アサーションの評価を実行すべく動作し、
前記動作論理はさらに、前記アサーションの動作を前記集積回路波形でテストし、前記アサーションの動作が許容可能であるか否かを判定した後に、前記シミュレーションを、前記集積回路モデル及び前記アサーションで実行すべく動作する
ことを特徴とする機器。
【請求項１９】
前記装置が、前記動作論理を符号化記録したリムーバブル・ディスクメモリーであることを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記装置が、前記動作論理に対応する符号化信号を搬送するコンピュータ・ネットワークの少なくとも一部分であることを特徴とする請求項１８に記載のシステム。
【請求項２１】
前記動作論理がさらに、アサーションの修正を実行すべく動作することを特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路設計の検証に関するものであり、これに限らないが特に、集積回路設計を検証するために開発されたアサーションの評価に関するものである。
【背景技術】
【０００２】
シミュレーション技術はデバッグに包含されてきているか、さもなければ電子回路の性能を評価する。シミュレーションは、集積回路設計の挙動を指定するハードウェア記述言語（ＨＤＬ：Hardware Description Language）モデルで実行されることが多い。ＨＤＬは、共通して認識される２つの規格、即ち：Verilog（ディジタル回路設計用ハードウェア記述言語）及びＶＨＤＬ（ＶＨＳＩＣ（Very High Speed Integrated Circuit：米国防総省の次世代高速ＩＣ開発計画）用ＨＤＬ）を含む。集積回路をモデル化するために使用される代わりの言語はＣ言語を含む。集積回路の設計が、より複雑に、そして費用効果的にシミュレートすることがより困難になり続けると共に、より良好な集積回路設計の検証技術の必要性が増加する。これらの必要性は、例えば２、３個だけ挙げれば、より高密度の特定用途向け集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）、フィールドプログラマブル・ゲートアレイ（ＦＰＧＡ：Field Programmable Gate Array）、及びシステム・オンチップ（ＳｏＣ：System On Chip）デバイスによって増加している。これらの設計検証の必要性の増加が認識されると共に、シミュレーション中に設計性能を評価することを目標としたさらなるツールが出現している。
【０００３】
これらのツールの中にあるものは、シミュレーション中に適用して所望の設計の特徴が実現されているか否かを判定することのできる論理的「アサーション」を含めることである。本明細書で用いる「アサーション」とは、設計が適正に構成されている場合に、常に評価が期待される結果になることを予期される、集積回路設計の特定挙動特性についてのステートメント（宣言文）である。一般的な使用では、指定された条件に対して、アサーションは「真（TRUE）」の評価になる。アサーションの手続きの一例は：「ストローブ線が活性化された後に、６本の選択線のうち１本が、１０サイクル以内に活性（アクティブ）にならなければならない」ということである。アサーションは、特定シミュレータによって認識される形式にコンパイル可能な言語における１つ以上の書き下しステートメントとして、シミュレーションに含めることができる。例えば、Cadence Design System社によって提供されるシミュレータでは、Suger（回路記述言語の１つ）と同様の特性記述（プロパティ仕様）言語（ＰＳＬ：Property Specification Language）を用いてアサーションを規定する。Cadence Design Systems社の住所は、2655 Seely Avenue, San Jose, California 95134である。「Declarative Language（宣言言語）」及び「Formal Property Language（公式特性言語）」は、アサーション・ステートメントの準備に関連して時々用いられる他のものである。アサーションは、一組の順序的なＨＤＬ実行ステートメントの文脈内で記述される「手続き的なもの」、そして集積回路設計の構造的文脈内に規定され、あるいは存在する「宣言的なもの」としても分類されている。
【０００４】
新たに開発されるアサーションの適正な動作は、集積回路設計のシミュレーション中に含めることによってテストされる。シミュレーション結果が、テストしたアサーションが所望通りに動作していないことを示す場合には、一般にアサーションを修正し再コンパイルし、そして修正したアサーションでシミュレーションを繰り返す。不都合なことに、アサーション開発専用のシミュレーションは少量の処理リソースとしか関連することができず、時間を有し得るし、かつ／あるいは高価になり得る。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、この技術領域におけるさらなる寄与の必要性が存在する。
【課題を解決するための手段】
【０００６】
本発明の１つの好適例は、集積回路設計検証用等のアサーション開発を含む独自の技術である。他の好適例は、集積回路設計検証用に開発したアサーションを評価するための独自の方法、システム、デバイス、及び装置を含む。
【０００７】
他の好適例は、集積回路シミュレータ用のアサーションを用意すること、このアサーションをテストするために選択する一組の集積回路波形を規定すること、及びこうしたテストの結果が良好であった後に、このアサーションで集積回路を動作させることを含む。結果が良好でないテストに対応して、アサーションを修正し、所望の挙動が実現されるまで再テストすることができる。１つの形では、アサーション開発ツールを処理装置で定義して、異なる波形の組に対してアサーションをテストして評価する。これらの波形はシミュレータによって出力することができ、かつ／あるいはユーザインタフェースを通して作成／修正することができる。アサーション開発ツールはシミュレータ製品と共に提供することができる。
【０００８】
さらに他の好適例は、表示装置、１つ以上の入力装置、及びこれらの表示装置及び１つ以上の入力装置に動作的に結合された処理装置を含む。この処理装置は、集積回路モデルの挙動及び第１組の波形を検証すべく動作するアサーションを表現するデータを記憶するように構成されたメモリーを含む。この処理装置は、上記１つ以上の入力装置に応答して、このアサーションの上記第１組の波形に対する動作を検証し、これらの波形及び上記アサーションの動作に対応する少なくとも１つの指標を可視化するための第１出力を表示装置に供給する。上記処理装置はさらに、上記１つ以上の入力装置に応答して、異なるアサーションの動作を評価するためにカスタマイズ（手直し）した第２組の波形を発生し、この第２組の波形及び上記アサーションを表現する別なデータを上記メモリーに記憶し、上記第２組の波形での上記異なるアサーションの動作を評価し、そして、上記第２組の波形、及び上記異なるアサーションの動作に対応する他の指標を可視化するための第２出力を上記表示装置に供給する。
【０００９】
さらに他の好適例は、コンピュータシステムによって実行可能であり、各々が共通の期間に関連して変化する一組の集積回路波形を表現する波形データベースを記憶する動作論理回路を有する装置を含む。上記動作論理回路はさらに、上記一組の集積回路波形にアサーションを適用して、集積回路設計モデルをテストすることによってアサーション評価を実行し、このアサーション評価に対応する出力を供給するように構成されている
【００１０】
従って、本発明の目的は、集積回路設計を検証するためのアサーションの開発を含む独自の技術を提供することにある。
【００１１】
本発明の他の目的は、集積回路設計のシミュレーション用に開発されたアサーションを評価するための独自の方法、システム、デバイス、または装置を提供することを含む。
【００１２】
本発明のさらなる目的、好適例、形態、態様、利益、利点、及び特徴は、以下の記載の及び図面より明らかになる。
【発明を実施するための最良の形態】
【００１３】
本発明の原理の理解を促進する目的で、以下、図面に例示する実施例を参照し、特別な言葉遣いを用いて説明する。しかし、これにより本発明の範囲を限定することを意図するものではないことは明らかである。説明する実施例における変更及びさらなる修正、及び本明細書に記載の本発明の原理の別な応用は、本発明に関係する当業者が通常考案し得るものと考えられる。
【００１４】
本発明の一実施例は、集積回路設計シミュレーションにおいてアサーションを使用する前に、アサーションの動作を評価することに指向した論理アサーションツールである。このツールは、ユーザインタフェースを通したオペレータ（操作員）の入力に応答して、アサーション評価用に選択した一組の集積回路波形を規定し、これらの集積回路波形でアサーションをテストする。テストの結果が良好であった後に、このアサーションで集積回路設計のシミュレーションを実行する。
【００１５】
図１に、本発明の他の実施例のコンピュータ処理システム２０を示す。システム２０は処理装置２１を含む。処理装置２１は、バス３０に結合されたプロセッサ２２及びメモリー３２を含む。処理装置２１は、コンピュータ・ネットワーク上に分布する１つ以上のハードウェアリソースを構成する予めパッケージ化されたコンピュータユニットの形で提供することができ、あるいは、当業者が考案するような他の形態で提供することができる。一具体例では、プロセッサ２２は、メモリー３２からバス３０経由で読み出した命令を実行すべく動作するプログラマブルなディジタル半導体の品種である。プロセッサ２２は、プログラミング命令及び／または他の形態の動作論理（ロジック）に従って動作を実行し、特に、シミュレーション及び以下に説明するこれに関係する動作を実行するのに適した種類のものである。一形態では、プロセッサ２２は集積回路ベースのものであり、各々がマイクロプロセッサの形の１つ以上のディジタル半導体中央処理装置を含む。なお、単一のプロセッサ２２を図示しているが、これはマルチプロセッサ構成及びシングル（単一）プロセッサ構成を代表する。さらに、プロセッサ２２は、縮小命令セット（ＲＩＳＣ：Reduced Instruction Set Computer）型、複合命令セット（ＣＩＳＣ：Complex Instruction Set Computer）型、あるいは両者の組合せとすることができる。マルチプロセッサ形式については、並列及び／またはパイプライン処理を適宜利用することができる。その代わりに、あるいはこれに加えて、プロセッサ２２は、１つ以上の構成要素の形で、単一ユニットまたは複数ユニットとして提供することができる。一具体例では、プロセッサ２２は１つ以上の高度に集積されたディジタル半導体デバイスの形態である。
【００１６】
メモリー３２は、半導体電子メモリー、磁気メモリー、光メモリー、あるいはこれらの組合せのような１つ以上の種類のものとすることができる。図１に示すように、メモリー３２はリムーバブル（着脱可能）／ポータブル（携帯）記憶装置３４を含む。リムーバブル記憶装置３４は、（ＣＤ−ＲＯＭまたはＤＶＤのような）光ディスク、及び／または磁気符号化されるハードディスク、フロッピー（登録商標）ディスク、等を含むことのできるディスクメモリー３６を含む。他の具体例では、リムーバブル記憶装置３４は、テープまたはカートリッジの形態、及び当業者が考案し得る他の形態を含むことができる。一具体例では、メモリー３２の少なくとも一部分が、プロセッサ２２による選択的実行用のプログラミング命令を記憶すべく動作する。その代わりに、あるいはこれに加えて、メモリー３２は、プロセッサ２２用のプログラミング命令以外のデータを記憶するように構成することができる。さらに他の具体例では、メモリー３２及び／またはリムーバブル記憶装置３４をなくすことができる。
【００１７】
システム２０は、オペレータ用入力装置２４、オペレータ用出力装置２６、インタフェース２８、及びバス３０によって処理装置２１に動作的に結合されたコンピュータ・ネットワーク４０を含むことができる。オペレータ用出力装置２６は、カラーまたは単色プラズマ型、陰極線管（ＣＲＴ：Cathode Ray Tube）型、または液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）型のような通常のグラフィックディスプレイ２７を含み、さらに、プリンタ、音声出力システム、及び／または当業者が考案し得る異なる種類の出力装置を含むことができる。他の具体例では、より多数またはより少数のオペレータ用入力装置２４及び／またはオペレータ用出力装置２６を利用することができる。インタフェース２８は、モデム、あるいは他の種類の通信及び／または機器インタフェースとすることができる。他の具体例では、インタフェース２８をなくすことができる。
【００１８】
システム２０はコンピュータ・ネットワーク４０も含み、コンピュータ・ネットワーク４０は、ローカルエリア・ネットワーク（ＬＡＮ：Local Area Network）、メトロポリタンエリア・ネットワーク（ＭＡＮ：Metropolitan Area Network）、インターネットのような広域ネットワーク（ＷＡＮ：Wide Area Network）、当業者が考案し得る他の種類のネットワーク、あるいはこれらの組合せとすることができる。ネットワーク４０は処理装置２１を１つ以上の他のコンピュータに結合することができ、これらのコンピュータはそれぞれ、システム２０で実行される一部または全部の処理に関係してクライアント及びサーバーとして構成することができる。なお、この構成については、他の多くのリモートコンピュータを装置２１のクライアントとして含むことができるが、明瞭さを保つために図示していない。他の具体例では、装置２１及び他の１つ以上のコンピュータを、互いに異なるサイトに１つ以上の処理ユニットがある分散処理構成の参加メンバーとすることができる。こうした構成の分散したプロセッサを用いて、本発明によりルーチンを集合的に実行することができる。なお、さらに、ネットワーク４０はインタフェース２８の代わりとして用いることができ、かつ／あるいは、追加的なセットワーク接続を提供することができる。さらに他の具体例では、ネットワーク４０をなくすことができる。
【００１９】
プロセッサ２２用の動作論理は、以下に説明する種々のルーチン、サブルーチン、コンピュータモデル、シミュレーション、手続き、段階、条件文の実行を促進するように構成する。この動作論理は、専用のハードワイヤード（配線接続）の品種、及び／または特定のプロセッサ構成に適したプログラミング命令とすることができる。こうした論理は少なくとも部分的に、（ディスクメモリー３６のような）リムーバブル記憶装置３４上で、記憶及び／または他のコンピュータへの転送用に符号化される。その代わりに、あるいはこれに加えて、処理装置２１の動作論理は、ネットワーク４０のような伝送媒体によって搬送される１つ以上の信号の形態にすることができる。
【００２０】
図２のフローチャートは、システム２０で実現することのできるアサーション開発手順１２０を示す。手順１２０では、操作１２２で最初にアサーションを用意する。操作１２２については、プロセッサ２１の動作論理は一般に、１つ以上の入力装置２４からのオペレータ入力に応答し、１つ以上の出力装置２６でオペレータに出力を提供する適切なユーザインタフェースを規定する。アサーションの用意は、アサーションを集積回路シミュレーションの一部として、あるいはこうしたシミュレーションに含めるための実行可能な形にコンパイルする。
【００２１】
操作２２から、手順１２０は条件分岐１２４に進む。条件分岐１２４は、アサーションのコンパイルが適正に実行されたか否かをテストする。条件分岐１２４のテストが否定（偽）である場合には、手順１２０の操作１２６を実行する。操作１２６では、コンパイルエラーを通知してアサーションを再コンパイルする。操作１２６の実行後に、手順は条件分岐１２４に戻って適正なコンパイルについて再びテストする。条件分岐１２４のテストが肯定（真）である場合には、手順１２０は操作１３０に進む。手順１３０では、コンパイルしたアサーションで集積回路シミュレーションを実行する。
【００２２】
これに加えて図３に、手順１２０に相当する論理ツール５０を概略的に示す。ＨＤＬモデル５２は、集積回路のＨＤＬフォーマットでのモデル化に関連するコード及びデータを表わす。アサーションソース（アサーション源）５４は、ＨＤＬモデル５２の適正な挙動を検証するために選択したアサーションを表わす。シミュレータ５６での集積回路シミュレーション中には、モデル５２及びアサーションソース５４を一緒に適用する。これに対応して、手順１２０の操作１３０で実行するシミュレーションは、シミュレータ５６（図３）によって、操作１２２で用意したアサーション、及びＨＤＬモデル５２を用いて実行する。
【００２３】
シミュレータ５６によって出力され、これに対応して操作１３０で出力される結果は、代表的な期間にわたるディジタル波形を含む。これらの集積回路波形を表現するデータを捕捉し分析して、シミュレーション及び／またはアサーションの動作を評価することができる。図３の波形データベース５８は、操作１３０においてシミュレータ５６が出力した捕捉波形データに相当する。
【００２４】
手順１２０は操作１３０から条件分岐１３２に進んで、評価中のアサーションがシミュレーション中に正しく実行されたか否かをテストする。このことは、アサーションまたは他にあり得る欠陥がシミュレーションによって証明されたか否かを判定することを含む。条件分岐１３２のテストが否定（偽）である場合には、手順１２０は操作１３４に進む。操作１３４では、開発中のアサーションを修正し再コンパイルする。これらの態様は図３のアサーション修正兼評価ツール６０で表わされる。
【００２５】
操作１３４からの修正したアサーションは、操作１３６で再評価する。操作１３６では、修正したアサーションで完全なシミュレーションを再実行するより複雑なプロセスを用いる代わりに、修正したアサーションを捕捉した集積回路波形に対して評価する。操作１３６から、手順は条件分岐１３２に戻って、捕捉した波形に適用する修正したアサーションが正しく動作しているか否かを判定する。なお、利用する必要があるのは、アサーションによってテストされる回路ノードに対応する波形のみである。これに対応して、アサーション修正兼評価ツール６０はソース５４にリンクされて更新されたアサーションを提供し、そして波形データベース５８にもリンクされて、アサーションを波形でテストする。
【００２６】
一旦、条件分岐１３２のテストが肯定になると、条件分岐１４０がある。条件分岐１４０は、アサーションの評価が完了したか否かをテストする。条件分岐１４０のテストが否定（偽）である場合には、手順１２０は操作１２２にループバックして、他のアサーションを用意して評価する。なお、手順１２０は、アサーションの変更毎に完全なシミュレーションを実行する代わりに、開発中のアサーションについてのアサーション評価に関係する波形データを利用することによってシミュレーション時間を低減する。一旦、この方法でアサーションを有効検証すると、このアサーションはより高い適正さの信頼度でシミュレーションに適用することができる。１つの実現では、手順１２０を、集積回路シミュレーション製品内のアサーションの評価及び／または開発ツールとして提供する。他の具体例では、手順１２０をスタンドアロン（独立型）のツールとして提供する。
【００２７】
図４に、アサーション開発ツール１５０の他の実施例を示す。ツール１５０は、処理装置２１で実行される動作論理によってより詳細に規定されるデータ及び動作１５２を有するシステム２０でも実現することができる。図４に関連して、図５のフローチャートは、アサーション開発ツール１５０の１つのモードを手順２２０として例示する。手順２２０は操作２２２を有し、ここではコンパイルしたアサーションを評価用に提供する。アサーションの選択及び用意は、オペレータ用入力装置２４及び／またはオペレータ用出力装置２６によって適切なユーザインタフェースを介して行うことができる。図４では、処理装置２１の動作論理によって規定することのできるグラフィカル・ユーザインタフェース（ＧＵＩ）６２を記号的に表わす。ＧＵＩ６２は、既に用意されコンパイルされたアサーションをツール１５０のアサーション・データベースから選択し、その後にデータベース１６４に含めるアサーションを用意してコンパイルし、かつ／あるいは既にデータベース１６４に含まれているアサーションを修正するための適切なオペレータ・インタフェースを提供することができる。
【００２８】
操作２２２から、手順２２０は操作２２３に進む。操作２２３では、ＧＵＩ１６２を通して、アサーションの評価用の波形を選択、修正、あるいはさもなければ作成する。選択した波形は、用意したアサーションでテストされる回路ノードのみに対応するようにカスタマイズ（手直し）することができる。これらの波形は波形データベース１６８（図４）に記憶する。これらの波形の少なくとも一部は、集積回路シミュレーションから最初に捕捉した種類のものとすることができる。その代わりに、あるいはこれに加えて、データベース１６８に記憶されている波形は、捕捉した波形データから修正することができ、かつ／あるいは、オペレータがＧＵＩ１６２を通して作成することができる。ＧＵＩ１６２の１つの特定形態では、波形を図形的にディスプレイ２７上に示して、操作２２３でオペレータが波形を作成／修正／選択することを支援する。
【００２９】
操作２２３から、手順２２０は操作２２４に進む。操作２２４では、操作１２３においてデータベース１６８から提供された波形にアサーションを適用する。操作１２４でアサーションを波形に適用した後に、手順２２０は操作２２６に進む。条件分岐２２６は、アサーションが正しく実行されたか否かをテストする。条件分岐２２６のテストが否定（偽）である場合には、操作２３０を実行する。操作２３０では、アサーションを修正して再コンパイルし、そして手順は操作２２４に戻って、このアサーションを評価目的で上記波形に再適用する。
【００３０】
条件分岐２２６のテストが肯定（真）である場合には、手順２２０は条件分岐２３２に進んで、何れかの波形を調整してアサーションのさらなる評価を実行すべきか否かをテストする。条件分岐２３２のテストが肯定（真）である場合には、手順２２０は操作２２３に戻って波形を用意／発生する。条件分岐２３２のテストが否定（偽）である場合には、手順２２０は条件分岐２４０に進む。条件分岐２４０は、他のアサーションに進むべきか中止すべきかをテストする。条件分岐２４０のテストが肯定（真）である場合には、手順２２０は操作２２２にループバックして、他のアサーションを評価／開発用に提供／用意する。条件分岐２４０のテストが否定（偽）である場合には、手順２２０を中止する。ツール１５０及び／または手順２２０はシミュレーション・プラットフォームの一部分として提供するか、あるいはスタンドアロンで提供することができる。手順１２０及びツール５０の場合のように、ツール１５０及び手順２２０は前に保存した波形を利用してアサーションを評価し、アサーション開発中のシミュレーションをより控えめに実行することを可能にする。
【００３１】
他の多くの実施例が考えられる。例えば、本発明の他の実施例では、図２〜５の手順、条件分岐、操作、ツール、及び他の特徴を、異なる順序にすること、組み合わせること、重複させること、置き換えること、等ができる。別な例では、アサーション開発は、適切に適応させた処理装置によって制御される回路エミュレーション及び／またはフィールドプログラマブル・ゲートアレイ（ＦＰＧＡ）検証に基づくものとすることができる。他の例では、装置が、集積回路設計のアサーション及び波形データベースを記憶するメモリーを有する処理装置を具えている。この処理装置は、アサーション向けにカスタマイズ（手直し）した第１組の集積回路波形を発生する手段を具え、この第１組の集積回路波形はデータベースに記憶され、この処理装置はさらに、この第１組の集積回路波形を適用することによって第１アサーション評価を実行する手段と；この第１アサーション評価の結果に対応してアサーションを選択的に修正する手段と；この修正する手段で変更した後のアサーションの第２アサーション評価を実行する手段とを含む。
【００３２】
さらに他の例は、集積回路シミュレーション用のアサーションを用意する手段と；１つ以上の入力装置による入力に応答してアサーションをテストするために選択した一組の集積回路波形を規定する手段と；これらの集積回路波形でアサーションをテストする手段と；テスト後のアサーションで集積回路シミュレーションを実行する手段とを有するコンピュータシステムを含む。
【００３３】
別な例は、いくつかの集積回路波形に対応する集積回路シミュレーション用の波形データベースを提供することを含む。これらの波形の各々が共通の期間に関連して変化する。この実施例はさらに、これらの波形に対応する集積回路設計モデルの挙動をテストするように構成した処理装置で、こうした波形を第１アサーションに適用することを含む。この第１アサーションはこの適用に基づいて評価し、この評価に応じて第１アサーションを修正して、集積回路設計モデルの挙動をテストするための第２アサーションを提供する。
【００３４】
さらに他の例では、装置が、コンピュータシステムによって実行可能な動作論理を含んで、シミュレーションによって集積回路設計モデルの挙動を検証するためのアサーションを用意し、コンピュータシステムの１つ以上のオペレータ入力装置からの入力に応答してアサーションを評価するために選択した一組の集積回路波形を規定する。この動作論理を実行して、コンピュータシステムに含まれるディスプレイに出力を供給して、上記一組の集積回路波形を可視化する。この動作論理は、１つ以上のオペレータ入力装置からの入力に応答して、上記一組の集積回路波形の１つ以上を修正または作成する。また、上記動作論理は、上記集積回路波形で上記アサーションの動作をテストし、上記アサーションの動作が許容可能であることを判定した後に、上記集積回路設計モデル及び上記アサーションでシミュレーションを実行するように動作する。
【００３５】
図面及び以上の記述で本発明を例示し詳細に説明してきたが、これらは例示的なものであり限定的な性格のものではなく、選択した実施例のみを図示及び説明しており、以上に説明し、かつ／あるいは請求項に規定する本発明の範囲内に入るすべての変更、変形、及び等価なもののすべてが保護されることが望まれる。
【図面の簡単な説明】
【００３６】
【図１】コンピュータシステムの概略図である。
【図２】図１のシステムで実現可能なアサーションを開発する１つの手順のフローチャートである。
【図３】図２の手順に用いる論理ツールの概略図である。
【図４】図１のシステムで実現可能なアサーション開発ツールの概略図である。
【図５】図４のアサーション開発ツールを提供するために図１のシステムで実現可能な他の手順のフローチャートである。
【図１】
2009508203.tif 000003
【図２】
2009508203.tif 000004
【図３】
2009508203.tif 000005
【図４】
2009508203.tif 000006
【図５】
2009508203.tif 000007
【国際調査報告】
2009508203.tif 000008
2009508203.tif 000009
2009508203.tif 000010
2009508203.tif 000011
2009508203.tif 000012