JP2007528553A - 検証性能と検証效率性を高める動的検証−基盤方式の検証装置及びこれを用いた検証方法論 - Google Patents
検証性能と検証效率性を高める動的検証−基盤方式の検証装置及びこれを用いた検証方法論 Download PDFInfo
- Publication number
- JP2007528553A JP2007528553A JP2007502715A JP2007502715A JP2007528553A JP 2007528553 A JP2007528553 A JP 2007528553A JP 2007502715 A JP2007502715 A JP 2007502715A JP 2007502715 A JP2007502715 A JP 2007502715A JP 2007528553 A JP2007528553 A JP 2007528553A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- verification
- design
- execution
- primary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
【選択図】図1
Description
本発明は、デジタル回路やシステムを検証する装置と方法に関し、具体的に、本発明はシステム半導体設計検証装置を用いた設計検証を效果的に行うための検証装置及び検証方法に関する。さらに具体的には、本発明は設計検証の遂行時の検証性能向上と検証時間短縮を可能とする検証装置及び検証方法に関する。
本発明は、数百万ゲート級以上のデジタルシステムの設計を検証する技術に関し、数百万ゲート級以上のデジタルシステムをシミュレーションを通じて検証しようとする場合に、シミュレーションを用いた検証の性能と效率性を増加させる検証装置及びこれを用いた検証方法に関する。
本発明の目的は、超大規模級デジタルシステム設計に対する検証のためのシミュレーションの性能及び效率性を大きく向上させるシミュレーション基盤の設計検証装置及びこれを用いた設計検証方法を提供することにある。具体的には、本発明で言及される技術は、設計された数百万ゲート級以上のデジタルシステムを、シミュレーションと、必要によってはこれと共に、正式検証、シミュレーション加速、ハードウェアエミュレーション、プロトタイピング(これらを検証プラットフォームと総称する)をも用いて検証しようとする場合にも検証の性能と效率性を増加させる検証装置及びこれを用いた検証方法に関する。
本発明のまた他の目的としては、自動化された方式を通じ、上位ステップの設計抽象化の検証結果を下位ステップの設計抽象化での検証に用いて複数の抽象化ステップにわたって存在する全体的な検証性能及び効率を増加させることであり、それにより下位ステップの設計抽象化の検証を加速化し、必要な場合には下位ステップの抽象化の検証結果をレファレンスで用いて上位ステップの設計抽象化での検証効率を増加させることである。
上記の目的を達成するために、本発明による設計検証装置は、検証ソフトウェアと1以上の検証プラットフォーム(例えば、シミュレータ)がインストールされた1以上のコンピュータで構成される。検証ソフトウェアはコンピュータで実行され、若し上記設計検証装置に2以上のコンピュータがある場合には、これらの2以上のコンピュータはネットワークで連結されて、コンピュータ間のファイル移動がネットワークを通じて可能とする。上記1以上の検証プラットフォームは、シミュレータ、またはシミュレーションアクセル、またはモデル検査器や特性検査器のような正式検証器、またはハードウェアエミュレータ、またはプロトタイピングシステムであってもよいが、先ずは特に言及がない限り、検証プラットフォームをシミュレータに限定して説明することとする。
図1は、本発明に係る設計検証装置の一例を概略的に示した図である。
図2は、本発明に係る設計検証装置の他の一例を概略的に示した図である。
図3は、本発明で提案する方法によりシミュレーションを行う過程を概略的に示した図である。
図4は、本発明で提案する前段シミュレーションステップである1次シミュレーションと、後段シミュレーションステップである1次以後のシミュレーションを通じて、設計誤謬を見出して修正する過程を概略的に示した図である。
図5(a)は、図1または図2のような装置を用いた設計検証を行う過程を概略的に示した図である。
図5(b)は、図1または図2のような装置を用いた設計検証を行う他の過程を概略的に示した図である。
図6(a)は、図2のような装置を用いた設計検証において、後段シミュレーションステップである1次以後のシミュレーションを並列的に行う過程を概略的に示した図である。
図6(b)は、図2のような装置を用いた設計検証において、後段シミュレーションステップである1次以後のシミュレーションを並列的に行う他の過程を概略的に示した図である。
図6(c)は、図2のような装置を用いた設計検証において、後段シミュレーションステップである1次以後のシミュレーションを並列的に行う他の過程を概略的に示した図である。
図6(d)は、図2のような装置を用いた設計検証において、後段シミュレーションステップである1次以後のシミュレーションを並列的に行う他の過程を概略的に示した図である。
図7は、本発明に係る設計検証装置の他の一例を概略的に示した図である。
図8は、コンピュータで運営される本発明の検証ソフトウェアとシミュレータを有するコンピュータとハードウェア基盤検証プラットフォームで構成された本発明に係る設計検証装置の一例を概略的に示した図である。
図9は、コンピュータで運営される本発明の検証ソフトウェアとシミュレータを有する2以上のコンピュータとハードウェア基盤検証プラットフォームとこれらのコンピュータを連結するコンピュータネットワークで構成された本発明に係る設計検証装置の他の一例を概略的に示した図である。
図10は、コンピュータで運営される本発明の検証ソフトウェアとこの検証ソフトウェアが運営されるコンピュータとハードウェア基盤検証プラットフォームで構成された本発明に係る設計検証装置の他の一例を概略的に示した図である。
図11は、図8を用いた検証結果再活用の一実施例を説明するフローチャートである。
図12は、図1を用いたシミュレーション結果の再活用の一実施例を説明するフローチャートである。
図13は、任意の検証プラットフォームを用いて設計検証を行う過程において、設計客体の変更前に行われた検証結果を再活用して、設計客体の変更後に行われる検証を速やかに行う過程の一実施例を概略的に示した図である。
図14は、任意のハードウェア基盤検証プラットフォームを用いて設計検証を行う過程において、設計客体の変更前に行われた検証結果を再活用して、設計客体の変更後に行われる検証を速やかに行う過程の一実施例を概略的に示した図である。
図15は、シミュレータを用いて設計検証を行う過程において、設計客体の変更前に行われたシミュレーションの結果を再活用して、設計客体の変更後に行われるシミュレーションを速やかに行う過程の一実施例を概略的に示した図である。
14:DUV設計客体
16:設計ブロック設計客体
18:再生用入力情報
20:変更された設計客体
22:設計変更前に収集された動的情報の一部分
27:ハードウェア基盤検証プラットフォーム
28:プロトタイピングシステムのシステムソフトウェアコンポーネント
29:シミュレーションアクセルのシステムソフトウェアコンポーネント
30:ハードウェアエミュレータのシステムソフトウェアコンポーネント
31:検証ソフトウェアで設計コードや合成で生成されたゲート水準のネットリストに追加コードや追加回路を自動的に付加し、検証準備を進行するソフトウェアモジュール
32:検証ソフトウェア
34:シミュレータ
35:コンピュータ
36:ハードウェアエミュレータプラットフォームのハードウェアコンポーネント
37:シミュレーションアクセルプラットフォームのハードウェアコンポーネント
38:プロトタイピングシステムプラットフォームのハードウェアコンポーネント
42:モデル検査器または特性検査器
44:検証ソフトウェアで検証を実行する途中に、1以上のコンピュータ間のファイルやデータ送信を可能とし、1次検証実行を進行し、1次以後の検証実行のための準備を進行し、1次以後の検証実行を進行するソフトウェアモジュール
Claims (121)
- 検証ソフトウェアと1以上のシミュレータを具備する設計検証装置において、
上記検証ソフトウェアは、設計コードや合成で生成されたゲート水準のネットリストに自動化された方式で付加コードや付加回路を追加し、後段シミュレーションステップである1次シミュレーション以後に行われる1回以上のシミュレーションを、設計コードや合成で生成されたネットリストに存在する1以上の設計客体に対してシミュレーションが行われるようにするのに必要な最小限の情報を、上記前段シミュレーションステップである1次シミュレーションの過程で収集できるようにし、上記1次以後の1回以上のシミュレーションを、可視度を得ながらも速やかに行うことにより、シミュレーションの速度とデバッグのための可視度を同時に確保することを可能とする設計検証装置。 - シミュレーションを複数のテストベンチにより数回行って、設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計誤謬の位置を見出し、これを修正する設計検証方法において、
上記シミュレーションの一部を前段シミュレーションステップである1次シミュレーションと後段シミュレーションステップである1次以後の1回以上のシミュレーションに分けて行い、上記後段シミュレーションステップである1次以後の1回以上のシミュレーションを、設計コードや合成で生成されたネットリストに存在する1以上の設計客体に対してシミュレーションが行われるようにするのに必要な最小限の情報を、上記前段シミュレーションステップである1次シミュレーションの過程で収集できるように、設計コードや合成で生成されたゲート水準のネットリストに付加コードや付加回路を、検証ソフトウェアを用いて自動化された方式で追加し、上記1次以後の1回以上のシミュレーションを、可視度を得ながらも速やかに行うことにより、シミュレーションの速度とデバッグのための可視度を同時に確保することを可能とする検証方法。 - 最小限の情報収集が前段シミュレーションステップである1次シミュレーションの過程において、一定の間隔であるいは1以上の特定のシミュレーション時点で、シミュレーションの状態を1以上のファイル形態で保存することを含む、請求項1、2、12、54または55に記載の設計検証方法。
- 最小限の情報収集が前段シミュレーションステップである1次シミュレーションの過程において、設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計ブロックの入力と入出力を、シミュレーションの全過程にわたって持続的に探針して1以上のファイル形態で保存し、これを後段シミュレーションステップである1次以後のシミュレーションの過程において入力スティミュラスとして用いることを含む、請求項1、2、12、54または55に記載の設計検証方法。
- 前段シミュレーションステップである1次シミュレーションの施行中に、1以上のシミュレーション時点で保存された1つのシミュレーション状態のうち1つのシミュレーション状態を選定し、1次以後の1回以上のシミュレーションを、上記選定された1以上のシミュレーション状態から開示されるように設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数に対する探針を行う、請求項3に記載の設計検証方法。
- 1次以後のシミュレーションを、上記選定された2以上のシミュレーション状態から開示されるように1つのシミュレータを2回以上順次に設定し、順次にシミュレーションを進行する過程において、前段シミュレーションステップである1次シミュレーションの遂行時に、シミュレーションの状態を保存するシミュレーション時点がシミュレーション時間的に最後にあるシミュレーション状態をまず上記1つのシミュレータに設定してこのシミュレーションの状態をもってシミュレーションを進行し、その後のシミュレーションも上記単一のシミュレータで行う過程で状態を保存したシミュレーション時点がシミュレーション時間的に後にあるもの等を優先してシミュレータに設定し、シミュレーションがシミュレーション状態保管時間の逆順に進行しながら、設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数に対する探針を行う、請求項5に記載の設計検証方法。
- 1次シミュレーションの施行中に、1以上のシミュレーション時点でシミュレーション状態を保存する方法を、シミュレータのsave命令語あるいはcheckpoint命令語を用い、後段シミュレーションステップである1次以後の1回以上のシミュレーションを、上記選定された1以上のシミュレーション状態から開示されるようにシミュレータを1回以上設定した後、シミュレーションを進行する方法をシミュレータのrestart命令語あるいはrestore命令語を用いる、請求項1、2、3、5、6、12、54または55に記載の設計検証方法。
- 1次シミュレーションの実行中に、設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計ブロックに対する入力と入出力をシミュレーションの全過程で探針して保存した1以上の探針ファイルのうち1以上を選定して、後段シミュレーションステップである1次以後のシミュレーションを、上記選定された1以上の探針ファイルと該当1以上の設計ブロックを用いてシミュレーションコンパイルして生成された1以上のシミュレーション実行ファイルのうち追加的な探針が必要な設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数を有している該当1以上の設計ブロックをコンパイルされた形態で有している1以上のシミュレーション実行ファイルを実行しながら上記追加的な探針を行うことにより、高いシミュレーション速度と設計ブロックに対する可視度を提供する、請求項4に記載の設計検証方法。
- 後段シミュレーションステップである1次以後の1回以上のシミュレーションを、前段シミュレーションステップである1次シミュレーションの過程で保存された2以上のシミュレーション状態をそれぞれ用いて2回以上の部分シミュレーションをするものに切り換え、コンピュータネットワークで連結された2以上のコンピュータにインストールされた2以上のシミュレータを用いて、上記2以上のシミュレータ状態のそれぞれを上記2以上のシミュレータそれぞれに設定して、2以上のシミュレーションが互いに独立的に上記2以上のシミュレータで並列的に実行して、高いシミュレーション速度を提供する、請求項1、2、3、5、6、7、12、54または55に記載の設計検証方法。
- 後段シミュレーションステップである1次以後の1回以上のシミュレーションを、前段シミュレーションステップである1次シミュレーションを通じて得られた2以上の設計ブロックと、これらの設計ブロックのそれぞれの入力と入出力を、前段シミュレーションステップである1次シミュレーションの全過程で探針した2以上の探針ファイルをシミュレーションコンパイルして得られた2以上のシミュレーション実行ファイルを、コンピュータネットワークで連結された2以上のコンピュータにインストールされた2以上のシミュレータを用いて独立的かつ並列的に実行して、高いシミュレーション速度を提供する、請求項1、2、12、54または55に記載の設計検証方法。
- 後段シミュレーションステップである1次以後の1回以上のシミュレーションを、前段シミュレーションステップである1次シミュレーションを通じて得られた2以上の設計ブロックと、これらの設計ブロックのそれぞれの入力と入出力を、前段シミュレーションステップである1次シミュレーションの全過程で探針した2以上の探針ファイルを変換した2以上のテストベンチファイルをシミュレーションコンパイルして得られた2以上のシミュレーション実行ファイルを、コンピュータネットワークで連結された2以上のコンピュータにインストールされた2以上のシミュレータを用いて独立的かつ並列的に実行して、高いシミュレーション速度を提供する、請求項1、2、12、54または55に記載の設計検証方法。
- 任意のシミュレーション遂行あるいはシミュレーション加速遂行あるいはハードウェアエミュレーション遂行あるいはプロトタイピング遂行を通じて得られた結果を用いた追加的なシミュレーションの遂行において、
上記追加的なシミュレーションの遂行を、前段シミュレーションステップである1次1回のシミュレーションと後段シミュレーションステップである1次以後の1回以上のシミュレーションに分けて行い、上記1次以後の1回以上のシミュレーションを、設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計客体に限定してシミュレーションが行われるようにするのに必要な最小限の情報を1次シミュレーションの過程で収集できるように、設計コードや合成で生成されたゲート水準のネットリストに付加コードや付加回路を検証ソフトウェアを用いて自動化された方式で追加し、上記1次以後の1回以上のシミュレーションを速やかに行うことを可能とする検証方法。 - 前段シミュレーションステップである1次のシミュレーションを並列シミュレーションで行う、請求項1、2、3、4、5、9、10、11、12、23、24、25、27、54または55に記載の検証方法。
- 前段シミュレーションステップである1次のシミュレーションを、DUVの全体あるいはDUV内の1以上の設計客体に対してサイクル−基盤シミュレーションで行い、後段シミュレーションステップである1次以後の1回以上のシミュレーションはイベント−駆動シミュレーションで行う、請求項31または32に記載の検証方法。
- 前段シミュレーションステップである1次のシミュレーションを、DUVの全体あるいはDUV内の1以上の設計客体に対してSystemCシミュレータを用いて行い、後段シミュレーションステップである1次以後の1回以上のシミュレーションは、VerilogシミュレータあるいはVHDLシミュレータあるいはSystemVerilogシミュレータを用いて行う、請求項31または32に記載の検証方法。
- 前段シミュレーションステップである1次のシミュレーションを、DUVの全体あるいはDUV内の1以上の設計客体に対してRTLシミュレーションで行い、後段シミュレーションステップである1次以後の1回以上のシミュレーションはゲート水準シミュレーションで行う、請求項31または32に記載の検証方法。
- 上記後段シミュレーションステップである1次以後の1回以上のシミュレーションを、2以上のシミュレータを用いて並列的に進行する、請求項14、15または16に記載の検証方法。
- シミュレーションを複数のテストベンチにより数回行って、設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計誤謬の位置を見出してこれを修正する設計検証方法において、上記シミュレーションの一部を前段シミュレーションステップである1次シミュレーションと後段シミュレーションステップである1次以後の1回以上のシミュレーションに分けて行い、上記後段シミュレーションステップである1次以後の1回以上のシミュレーションを設計コードや合成で生成されたネットリストに存在する1以上の設計客体に対してシミュレーションが行われるようにするのに必要な最小限の情報を上記前段シミュレーションステップである1次シミュレーション過程で収集できるように設計コードや合成で生成されたゲート水準のネットリストに付加コードや付加回路を検証ソフトウェアを用いて自動化された方式で追加し、上記1次以後の1回以上のシミュレーションを可視度を得ながらも速やかに行うことにより、シミュレーション速度とデバッグのための可視度を同時に確保することを可能にする検証方法。
- 上記後段シミュレーションステップである1次以後の1回以上のシミュレーションをゲート水準でイベント−駆動シミュレーションで行う、請求項14または16に記載の検証方法。
- 上記後段シミュレーションステップである1次以後の1回以上のシミュレーションを、ゲート水準においてイベント−駆動シミュレーションを配置及び配線結果から抽出されたタイミング情報を活用したタイミングシミュレーションで行う、請求項19に記載の検証方法。
- 前段シミュレーションステップである1次のシミュレーションの過程において、1以上のシミュレーション時点で可視度が必要なDUVにおける1以上の設計客体に対する状態情報を得て、このように得られた1以上の設計検証の対象の状態情報を用いて、後段シミュレーションステップである1次以後の1回以上のシミュレーションを行う、請求項14、15、19または20に記載の検証方法。
- 前段シミュレーションステップである1次のシミュレーションの過程において、2以上のシミュレーション時点で可視度が必要なDUVにおける1以上の設計客体に対する状態情報を得て、このように得られた2以上の設計検証の対象の状態情報を用いて、後段シミュレーションステップである1次以後の2回以上のシミュレーションを並列的に行う、請求項14、15、19または20に記載の検証方法。
- 最小限の情報収集が、前段シミュレーションステップである1次シミュレーションの過程において、一定の間隔であるいは1以上の特定のシミュレーション時点で可視度が必要なDUVにおける1以上の設計客体に対する状態の保存と共に、シミュレーションの全区間にわたって上記可視度が必要なDUVにおける1以上の設計客体のすべての入力値と入力モード時のすべての入出力値を、後段シミュレーションステップである1次以後のシミュレーションの過程において入力スティミュラスとして用いるために、上記入力または入出力において、イベントの発生時毎の、あるいはサイクル毎の、あるいはトランスアクション毎の保存を1以上のファイル形態で保存するか、または、上記一定の間隔であるいは1以上の特定のシミュレーション時点でTBの状態の保存を1以上のファイル形態で保存することを含む、請求項1、2、12、54または55に記載の設計検証方法。
- 最小限の情報収集が、前段シミュレーションステップである1次シミュレーションの過程において、一定の間隔であるいは1以上の特定のシミュレーション時点において可視度が必要なDUVにおける1以上の設計客体に対する状態と、上記前段シミュレーションステップである1次シミュレーションの全過程で上記可視度が必要なDUVにおける1以上の設計客体のすべての入力値と入力モード時のすべての入出力値を、後段シミュレーションステップである1次以後のシミュレーションの過程において入力スティミュラスとして用いるために、上記入力または入出力において、イベントの発生時毎の、あるいはサイクル毎の、あるいはトランスアクション毎の保存を1以上のファイル形態で保存することを含む、請求項1、2、12、54または55に記載の設計検証方法。
- 前段シミュレーションステップである1次シミュレーションの施行中に、1以上のシミュレーション時点で保存された1以上の可視度が必要なDUVにおける1以上の設計客体の状態と、場合によっては、TBの状態のうち1以上の状態を選定して、後段シミュレーションステップである1次以後の1回以上のシミュレーションを、上記選定された1以上の可視度が必要なDUVにおける1以上の設計客体の状態と、場合によっては、TBの状態から開示されるようにシミュレータを1回以上設定した後、シミュレーションを1回以上進行しながら、設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数に対する探針を行うことにより、高いシミュレーション速度と設計ブロックに対する可視度を速やかに確保する、請求項23または24に記載の設計検証方法。
- 後段シミュレーションステップである1次以後のシミュレーションを、上記選定された2以上の可視度が必要なDUVにおける1以上の設計客体の状態と、場合によっては、TBの状態から開示されるように1つのシミュレータを2回以上順次に設定して2回以上順次にシミュレーションを進行する過程において、前段シミュレーションステップである1次シミュレーションの遂行時に、上記可視度が必要なDUVにおける1以上の設計客体の状態と、場合によっては、TBの状態を保存するシミュレーション時点がシミュレーション時間的に最後にあるDUVにおける1以上の設計客体の状態と、場合によっては、TBの状態をまず上記1つのシミュレータに設定してこの状態をもってシミュレーションを進行し、その後のシミュレーションも上記単一のシミュレータで行う過程で状態を保存したシミュレーション時点がシミュレーション時間的に後にあるものを優先してシミュレータに設定し、シミュレーションがシミュレーション状態保存時間の逆順に進行しながら、設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数に対する探針を行うことにより、高いシミュレーション速度と設計ブロックに対する可視度を速やかに確保する、請求項25に記載の設計検証方法。
- 後段シミュレーションステップである1次以後の1回以上のシミュレーションを、前段シミュレーションステップである1次シミュレーションの過程で保存された2以上の可視度が必要なDUVにおける1以上の設計客体の状態と、場合によっては、TBの状態をそれぞれ用いて2回以上の部分シミュレーションをするものに切り換え、コンピュータネットワークで連結された2以上のコンピュータにインストールされた2以上のシミュレータを用いて、上記2以上のDUVにおける1以上の設計客体の状態と、場合によっては、TBの状態のそれぞれを、上記2以上のシミュレータのそれぞれに設定して2以上のシミュレーションが互いに独立的に上記2以上のシミュレータで並列的に実行して、高いシミュレーション速度と設計ブロックに対する可視度を速やかに確保する、請求項1、2、23、24、25、26、54または55に記載の設計検証方法。
- 前段シミュレーションステップである1次のシミュレーションを、速やかなシミュレーションが行われるように、元の設計コードの代わりに、元の設計コードと関数的に等価であるが、異なる構文形式に変換された設計コードを用いてシミュレーションする、請求項1、2、3、4、5、9、10、11、12、23、24、25、27、54または55に記載の検証方法。
- シミュレーションを複数のテストベンチにより数回行って、設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計誤謬の位置を見出してこれを修正する設計検証方法において、DUVにおける1以上の設計客体の状態と場合によっては、TBの状態を保存する設計検証方法。
- 上記可視度が必要なDUVにおける1以上の設計客体の状態情報として、上記1以上の該当設計客体の最小状態情報を用いる、請求項21、22、23、24、25、26、27または29に記載の検証方法。
- 前段シミュレーションステップである1次シミュレーションにおいて、最小限1以上の設計客体に対して後段シミュレーションステップである1次以後の1以上のシミュレーションよりさらに抽象化された設計コードを用いることにより、さらに抽象化された水準において上記前段シミュレーションステップである1次シミュレーションを行い、上記後段シミュレーションステップである1次以後の1以上のシミュレーションは、上記前段シミュレーションステップである1次シミュレーションよりさらに抽象化されていない設計コードを用いてシミュレーションを行うことにより、速やかな検証を行う、請求項1、2、3、4、5、9、10、11、12、23、24、25、27、54または55に記載の検証方法。
- 可視度が必要なDUVにおける1以上の設計客体の状態情報は、前段シミュレーションである1次シミュレーションの遂行の途中に獲得され、上記獲得された状態情報を用いて、後段シミュレーションである1つ以上の1次以後のシミュレーションの遂行が2以上のシミュレータで並列にまたは1つのシミュレータで順次に行われる、請求項31に記載の検証方法。
- 前段シミュレーションステップである1次シミュレーションの施行中に、1以上のシミュレーション時点で保存された1以上の可視度が必要なDUVにおける1以上の設計客体の状態と、上記入力スティミュラスとして用いるために保存された1以上のファイルを選定し、後段シミュレーションステップである1次以後の1回以上のシミュレーションを、上記選定された1以上の可視度が必要なDUVにおける1以上の設計客体の状態から開示されるようにシミュレータを1回以上設定した後、シミュレーションを1回以上進行しながら、設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数に対する探針を行うことにより、高いシミュレーション速度と設計ブロックに対する可視度を速やかに確保する、請求項23または24に記載の設計検証方法。
- 後段シミュレーションステップである1次以後のシミュレーションを、上記選定された2以上の可視度が必要なDUVにおける1以上の設計客体の状態から開示されるように、1つのシミュレータを2回以上順次に設定して2回以上順次にシミュレーションを進行する過程において、前段シミュレーションステップである1次シミュレーションの遂行時に、上記可視度が必要なDUVにおける1以上の設計客体の状態を保存するシミュレーション時点がシミュレーション時間的に最後にあるDUVにおける1以上の設計客体の状態を、まず上記1つのシミュレータに設定してこの状態をもってシミュレーションを進行し、その後のシミュレーションも上記単一のシミュレータで行う過程において、状態を保存したシミュレーション時点がシミュレーション時間的に後にあるものを優先してシミュレータに設定し、シミュレーションがシミュレーション状態保存時間の逆順に進行しながら、設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数に対する探針を行うことにより、高いシミュレーション速度と設計ブロックに対する可視度を速やかに確保する、請求項33に記載の設計検証方法。
- 後段シミュレーションステップである1次以後の1回以上のシミュレーションを、前段シミュレーションステップである1次シミュレーションの過程で保存された2以上の可視度が必要なDUVにおける1以上の設計客体の状態をそれぞれ用いて2回以上の部分シミュレーションをするものに切り換え、コンピュータネットワークで連結された2以上のコンピュータにインストールされた2以上のシミュレータを用いて、上記2以上のDUVにおける1以上の設計客体の状態を、それぞれ上記2以上のシミュレータそれぞれに設定して2以上のシミュレーションが互いに独立的に上記2以上のシミュレータで並列的に実行して、高いシミュレーション速度と設計ブロックに対する可視度を速やかに確保する、請求項1、2、23、24、33、34、54または55に記載の設計検証方法。
- シミュレーションを複数のテストベンチにより数回行って、設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計誤謬の位置を見出してこれを修正する設計検証方法において、
上記シミュレーションの一部を前段シミュレーションステップである1次シミュレーションと後段シミュレーションステップである1次以後の1回以上のシミュレーションに分けて行い、上記後段シミュレーションステップである1次以後の1回以上のシミュレーションを設計コードや合成で生成されたネットリストに存在する1以上の設計客体に対してシミュレーションが行われるようにするのに必要な最小限の情報を上記前段シミュレーションステップである1次シミュレーション過程で収集できるように設計コードや合成で生成されたゲート水準のネットリストに付加コードや付加回路を検証ソフトウェアを用いて自動化された方式で追加し、上記1次以後の1回以上のシミュレーションを可視度を得ながらも速やかに行うことにより、シミュレーション速度とデバッグのための可視度を同時に確保することを可能にする検証方法。 - 上位水準におけるシミュレーションの結果を用いて、下位水準におけるシミュレーションを速やかに行う検証方法。
- 上記上位水準におけるシミュレーションの結果が、1以上の設計客体に対する状態情報を含む、請求項37、57または58に記載の検証方法。
- 上記1以上の設計客体に対する状態情報が完全状態情報である、請求項38、64または65に記載の検証方法。
- 上記1以上の設計客体に対する状態情報が最小状態情報である、請求項38、64または65に記載の検証方法。
- 下位水準におけるシミュレーションを速やかに行う方法が、上記1以上の設計客体に対する上記状態情報を用いて、下位水準において2以上のシミュレーションを並列的に行う、請求項38、39、40、64または65に記載の検証方法。
- 並列的遂行が時間的並列遂行である、請求項41または67に記載の検証方法。
- 並列的遂行が空間的並列遂行である、請求項41または67に記載の検証方法。
- 上位水準におけるシミュレーションの結果と下位水準におけるシミュレーションの結果のうち1つをレファレンスと仮定し、1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果を比べて、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果が異なる状況を見出して設計を修正することにより、上記1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果を同一にする、請求項37に記載の設計検証及び設計修正方法。
- 上記上位水準におけるシミュレーションがサイクル−基盤方式であり、上記下位水準におけるシミュレーションがイベント−駆動方式である、請求項44または59に記載の設計検証及び設計修正方法。
- 上記上位水準におけるシミュレーションがSystemCシミュレーションであり、上記下位水準におけるシミュレーションがRTLシミュレーションである、請求項44または59に記載の設計検証及び設計修正方法。
- 上記上位水準におけるシミュレーションがRTLシミュレーションであり、上記下位水準におけるシミュレーションがゲート水準シミュレーションである、請求項44または59に記載の設計検証及び設計修正方法。
- 上記下位水準におけるゲート水準シミュレーションが、タイミング情報を用いたタイミングシミュレーションである、請求項47に記載の設計検証及び設計修正方法。
- 上記下位水準におけるシミュレーションの結果が上位水準におけるシミュレーションの結果と互いに異なる状況を速やかに見出すために、上位水準におけるシミュレーションの結果を用いて下位水準においてシミュレーションを行う、請求項44または59に記載の設計検証及び設計修正方法。
- 上記下位水準におけるシミュレーションの結果が上位水準におけるシミュレーションの結果と互いに異なる状況を速やかに見出すために、上位水準におけるシミュレーションの結果を用いて下位水準において並列的にシミュレーションを行う、請求項44または59に記載の設計検証及び設計修正方法。
- 上記下位水準におけるシミュレーションの結果が上位水準におけるシミュレーションの結果と互いに異なる状況を速やかに見出すために、上記下位水準において用いる上位水準におけるシミュレーションの結果が、1以上の設計客体に対する状態情報を含む、請求項49または50に記載の設計検証及び設計修正方法。
- 上記1以上の設計客体に対する状態情報が上記1以上の設計客体に対する完全状態情報である、請求項51に記載の設計検証及び設計修正方法。
- 上記1以上の設計客体に対する状態情報が上記1以上の設計客体に対する最小状態情報である、請求項51に記載の設計検証及び設計修正方法。
- 検証ソフトウェアと1以上のシミュレータを具備する設計検証装置において、
上記検証ソフトウェアは、設計コードや合成で生成されたゲート水準のネットリストに自動化された方式で付加コードや付加回路を追加し、後段シミュレーションステップである1次シミュレーション以後に行われる1回以上のシミュレーションを、設計コードや合成で生成されたネットリストに存在する1以上の設計客体に対してシミュレーションが行われるようにするのに必要な最小限の情報を、上記前段シミュレーションステップである1次シミュレーションの過程で収集できるようにし、1次以後の1回以上のシミュレーションを、可視度を得ながらも速やかに行うことにより、シミュレーションの速度とデバッグのための可視度を同時に確保することを可能とする設計検証装置。 - シミュレーションを複数のテストベンチにより数回行って、設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計誤謬の位置を見出してこれを修正する設計検証方法において、
上記シミュレーションの一部を前段シミュレーションステップである1次シミュレーションと後段シミュレーションステップである1次以後の1回以上のシミュレーションに分けて行い、上記後段シミュレーションステップである1次以後の1回以上のシミュレーションを設計コードや合成で生成されたネットリストに存在する1以上の設計客体に対してシミュレーションが行われるようにするのに必要な最小限の情報を上記前段シミュレーションステップである1次シミュレーション過程で収集できるように設計コードや合成で生成されたゲート水準のネットリストに付加コードや付加回路を検証ソフトウェアを用いて自動化された方式で追加し、上記1次以後の1回以上のシミュレーションを可視度を得ながらも速やかに行うことにより、シミュレーション速度とデバッグのための可視度を同時に確保することを可能にする検証方法。 - すべての設計客体が変更がない状況において、同じ抽象化ステップで行われる前段シミュレーションにおいては、シミュレーションの過程で最小限のシミュレーション実行結果のみをシミュレーションの結果として保存し、上記保存された前段シミュレーションの結果を用いて、同じ抽象化ステップで行われる後段シミュレーションを、2以上のシミュレータを用いて並列的に、あるいは1つのシミュレータのみを用いて1回以上順次に速やかに行う同時に、必要に応じて後段シミュレーションにおいては、1以上の設計客体に存在する1以上の変数及びシグナルに対するダンプを行って、高い可視度も同時に提供する検証方法。
- 上記上位水準におけるシミュレーションの結果が、シミュレーション波形を保存した1以上のファイルを含み、上記1以上のファイルを下位水準において用いる、請求項37に記載の検証方法。
- 上記上位水準におけるシミュレーションの結果としてシミュレーション波形を保存した1以上のファイルが存在することにより、上記1以上のファイルを下位水準において用いる、請求項37に記載の検証方法。
- シミュレーション波形を保存した1以上のファイルが上記上位水準におけるシミュレーションの結果として存在し、これを下位水準のシミュレーションでレファレンスとして活用して、1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果を上位水準におけるシミュレーションの結果と比べて、下位水準におけるシミュレーションの結果が上位水準におけるシミュレーションの結果と異なる状況を見出して設計を修正することにより、上記1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果を同一にする、請求項37に記載の設計検証及び設計修正方法。
- 上記1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果を上位水準におけるシミュレーションの結果と比べて、下位水準におけるシミュレーションの結果が上位水準におけるシミュレーションの結果と異なる状況を見出して設計を修正することにより、上記1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果を同一にすることを、下位水準におけるシミュレーションの結果を上位水準におけるシミュレーションの結果と同一にすることにより達成する、請求項44または59に記載の設計検証及び設計修正方法。
- 上記1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果を上位水準におけるシミュレーションの結果と比べて、下位水準におけるシミュレーションの結果が上位水準におけるシミュレーションの結果と異なる状況を見出して設計を修正することにより、上記1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果を同一にすることを、上位水準におけるシミュレーションの結果を下位水準におけるシミュレーションの結果と同一にすることにより達成する、請求項44または59に記載の設計検証及び設計修正方法。
- 上記上位水準におけるシミュレーションがトランスアクション−基盤シミュレーションであり、上記下位水準におけるシミュレーションがサイクル−基盤シミュレーションである、請求項44または59に記載の設計検証及び設計修正方法。
- 上記上位水準におけるシミュレーションが行為水準シミュレーションであり、上記下位水準におけるシミュレーションがレジスタ転送水準シミュレーションである、請求項44または59に記載の設計検証及び設計修正方法。
- 上記上位水準におけるシミュレーションの結果が、1以上の設計客体に対する状態情報と、シミュレーションの全区間にわたる上記1以上の設計客体に対するすべての入力と入力モード時の入出力情報を含む、請求項37、57または58に記載の検証方法。
- 上記1以上の設計客体に対する状態情報が、シミュレーションの全区間上でのすべての状態情報ではないシミュレーション区間上での1以上の特定のシミュレーション時点のみにおける状態情報である、請求項38または64に記載の検証方法。
- 上記上位水準におけるシミュレーションの結果が、シミュレーションの全区間にわたる上記1以上の設計客体に対するすべての入力と入力モード時の入出力情報を含む、請求項37、57または58に記載の検証方法。
- 下位水準におけるシミュレーションを速やかに行う方法が、上記シミュレーションの全区間にわたる上記1以上の設計客体に対するすべての入力と入力モード時の入出力情報を用いて、下位水準において2以上のシミュレーションを並列的に行う、請求項66に記載の検証方法。
- 並列的遂行が時間的並列遂行と空間的並列遂行を混用した、請求項41または67に記載の検証方法。
- 下位水準におけるシミュレーションを速やかに行う方法が、上位水準におけるシミュレーションの過程で得られた1以上の設計客体に対する状態情報と、1以上の設計客体に対するすべての入力と入力モード時の入出力情報を用いることにより、下位水準において2以上のシミュレーションを用いた並列的遂行が時間的並列遂行と空間的並列遂行を混用して行われる、請求項37、38または64に記載の検証方法。
- 上記上位水準におけるシミュレーションがトランスアクション−基盤方式であり、上記下位水準におけるシミュレーションがイベント−駆動方式である、請求項44または59に記載の設計検証及び設計修正方法。
- 上記上位水準におけるシミュレーションがトランスアクション−基盤方式とサイクル−基盤方式を共に用い、上記下位水準におけるシミュレーションがイベント−駆動方式である、請求項44または59に記載の設計検証及び設計修正方法。
- 上記元の設計コードと関数的に等価であるが、異なる構文形式に変換された設計コードにおいて、少なくとも一部分が論理変換あるいは論理合成の過程を通じて得られる、請求項28に記載の検証方法。
- 上記元の設計コードと関数的に等価であるが、異なる構文形式に変換された設計コードが、少なくとも部分的に二進決定ダイヤグラム(BDD)あるいは多進決定ダイアグラム(MDD)で表現されてシミュレーションされる、請求項28に記載の検証方法。
- 下位水準におけるシミュレーションの結果を用いて上位水準におけるシミュレーションの結果を部分的にあるいは全体的に修正する、上位水準におけるリシミュレーションを行う検証方法。
- 上位水準におけるシミュレーションの結果と下位水準におけるシミュレーションの結果をもって、1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果を比べて、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果が異なる状況を見出して他の部分での部分的シミュレーションを1回以上行うことにより、上記1以上の特定のシミュレーション時点において、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果を同一にする、請求項37または74に記載の設計検証方法。
- 上記下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果が異なる部分における1回以上の部分的シミュレーションが、上位水準におけるシミュレーションの結果を下位水準におけるシミュレーションで用い、このようにして得られた下位水準におけるシミュレーションの結果を上位水準におけるシミュレーションで再利用し、このような過程を継続的に繰り返して適用することにより、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果を同一にする、請求項75に記載の設計検証方法。
- 上記上位水準におけるシミュレーションがタイミング情報を用いていないゲート水準シミュレーションであり、上記下位水準におけるシミュレーションがタイミング情報を用いたゲート水準におけるタイミングシミュレーションである、請求項37、44または59に記載の設計検証及び設計修正方法。
- 上記ゲート水準シミュレーションがタイミング情報を用いていないゲート水準シミュレーションの場合に、シミュレーションの対象となる設計客体の一部分が部分的に二進決定ダイヤグラム(BDD)あるいは多進決定ダイアグラム(MDD)で表現されてシミュレーションされる、請求項47または77に記載の検証方法。
- 上記上位水準におけるシミュレーションの結果を下位水準におけるシミュレーションで用い、このようにして得られた下位水準におけるシミュレーションの結果を上位水準におけるシミュレーションで再利用する繰り返し過程が、一度繰り返す度にシミュレーションする時間区間を狭めながら適用することにより、下位水準におけるシミュレーションの結果と上位水準におけるシミュレーションの結果を同一にする、請求項76に記載の設計検証方法。
- 検証ソフトウェアと2以上の異なる検証プラットフォームを具備する設計検証装置において、
上記検証ソフトウェアは、設計コードや合成で生成されたゲート水準のネットリストに自動化された方式で付加コードや付加回路を付加して、上記2以上の異なる検証プラットフォームのうち1以上の特定の検証プラットフォーム上で1次検証実行を行いながら、1次検証実行以後の1次検証実行に用いられた1以上の特定の検証プラットフォームとは最小限1つ以上が異なる1以上の他の検証プラットフォーム上で行われる検証実行を、検証サイクル時間区間や設計コードや合成で生成されたゲート水準のネットリストに存在するブロックに対して検証実行が行われるようにするのに必要な最小限の情報を1次検証実行の過程で収集できるようにし、1次以後の1回以上の検証実行を速やかに行うことを可能とする設計検証装置。 - 上記2以上の異なる検証プラットフォーム中の特定の検証プラットフォーム上で1次検証実行を行いながら、1次検証実行以後の上記1次検証実行に用いられた1以上の特定の検証プラットフォームとは最小限1つ以上が異なる1以上の検証プラットフォーム上で行われる検証実行の検証サイクル時間区間や設計コード合成で生成されたゲート水準のネットリストに存在するブロックに対して検証実行が行われるようにするのに必要な最小限の情報を1次検証実行の過程で自動的に収集できるようにし、上記1次検証実行のための1以上の検証プラットフォームを用いた1次検証実行を行いながら上記最小限の情報を収集し、この収集された情報を用いることにより、上記1次検証実行に用いられた1以上の特定の検証プラットフォームとは最小限1つ以上が異なる1以上の検証プラットフォーム上で1次以後の1回以上の検証実行を0検証サイクル時間から開示されなくてもよいようにすることで、検証を速やかに行うことを可能とする、請求項80に記載の設計検証装置。
- 2以上の異なる検証プラットフォーム中の特定1以上の検証プラットフォーム上で1次検証実行を行いながら、1次検証実行以後の上記1次検証実行に用いられた1以上の特定の検証プラットフォームとは最小限1つ以上が異なる1以上の検証プラットフォーム上で行われる検証実行の検証サイクル時間区間や設計コードや合成で生成されたゲート水準のネットリストに存在するブロックに対して検証実行が行われるようにするのに必要な最小限の情報を1次検証実行の過程で自動的に収集できるようにし、上記1次検証プラットフォームを用いた1次検証実行を行いながら上記最小限の情報を収集し、この収集された情報を用いることにより、上記1次検証実行のための1以上の検証プラットフォームを用いた1次検証実行に用いられた1以上の特定の検証プラットフォームとは最小限1つ以上が異なる検証プラットフォーム上で1次以後の1回以上の検証実行において、設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の特定のブロックに対してのみ検証実行を可能とすることにより、検証を速やかに行うことを可能とする、請求項80に記載の設計検証装置。
- 2以上の検証プラットフォームを混合的に用いて設計検証実行を行うことにより、設計コードや合成で生成されたゲート水準のネットリストに存在する設計誤謬の位置を見出してこれを修正する設計検証方法において、
上記検証遂行の一部は、前段検証として行われる1次検証及び後段検証として行われる1次以後検証に分かれ、追加的なコードまたは回路が設計コードまたは合成されたネットリストに自動的に付加され、上記2以上の他の検証プラットフォームの中の1以上の特定検証プラットフォーム上で1次検証実行を行いながら、1次検証実行以後の1次検証実行に用いられた1以上の特定検証プラットフォームとは少なくとも1つ以上で他の1以上の他の検証プラットフォーム上で行われる検証実行を検証サイクル時間区間や設計コードや合成で生成されたゲート水準のネットリストに存在する複数のブロックに対し、検証実行が行われるようにするのに必要な最小限の情報を1次検証実行の過程で収集できるようにし、1つ以上の特定ブロックに対してのみ行われる時、1つ以上の1次以後検証実行を速やかに行うことを可能とする設計検証装置。 - 上記検証遂行の一部は、前段検証として行われる1次検証及び後段として行われる1次以後検証に分かれ、追加的なコードまたは回路が設計コードまたは合成されたネットリストに自動的に付加され、上記2以上の他の検証プラットフォームの中の1以上の特定検証プラットフォーム上で1次検証実行を行いながら、1次検証実行以後の1次検証実行に用いられた1以上の特定検証プラットフォームとは少なくとも1つ以上で他の1以上の他の検証プラットフォーム上で行われる検証実行を検証サイクル時間区間や設計コードや合成で生成されたゲート水準のネットリストに存在する複数のブロックに対して検証実行が行われるようにするのに必要な最小限の情報を1次検証実行の過程で収集できるようにし、この実行の殆どがシミュレーション時間0ではない他のシミュレーション時間から始まる時、1つ以上の1次以後検証実行を速やかに行うことを可能とする設計検証装置。
- 1次以後の1次検証実行に用いられた1以上の特定の検証プラットフォームとは最小限1つ以上が異なる1以上の検証プラットフォーム上での1回以上の検証実行のそれぞれを、2以上の検証プラットフォーム上で並列的に行うことにより、検証を速やかに行うことを可能とする、請求項83または84に記載の検証方法。
- 1次以後の1次検証実行に用いられた1以上の特定の検証プラットフォームとは最小限1つ以上が異なる1以上の検証プラットフォーム上での1回以上の検証実行のそれぞれを行うための、上記2以上の検証プラットフォーム構成を2以上の互いに異なる、それぞれ異なる検証プラットフォームで構成してこれらを並列的に行うことにより、検証を速やかに行うことを可能とする、請求項85に記載の検証方法。
- 1次以後の1次検証実行に用いられた1以上の特定の検証プラットフォームとは異なる検証プラットフォーム上での1回以上の検証実行のそれぞれを、1つの検証プラットフォーム上で順次に行うことにより検証を行うことを可能とする、請求項83または84に記載の検証方法。
- 1次以後の1回以上の検証実行において、検証実行のそれぞれにおいて行おうとする検証サイクルの全区間や検証サイクルの特定区間を、1以上の特定の検証プラットフォームを用いた1次検証実行で収集された2以上の状態情報から開示されるように、1次検証実行に用いられた1以上の特定の検証プラットフォームとは異なる1つの検証プラットフォームを2回以上順次に設定し、2回以上順次に上記他の1つの検証プラットフォームを実行する過程において、1次検証実行時に状態情報を保存する時点が検証時間的に最後にある状態情報を、まず上記1つの検証プラットフォームに設定してこの状態情報をもって進行し、その後の実行も上記1つの検証プラットフォームで行う過程において1次検証実行の過程で状態情報を保存した時点が検証時間的に後にあるものを優先して上記1つの検証プラットフォームに設定し、1次以後の検証実行のそれぞれが2以上の状態情報を用いて設計状態保存時間の逆順に進行しながら、設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数に対する探針を行う、請求項83、84、85、86または87に記載の設計検証方法。
- 最小限の情報収集が、1次検証実行の過程で一定の間隔であるいは特定の時点でDUVの状態情報と検証サイクル全体でDUVのすべての入力と入出力情報を1以上のファイル形態で保存することを含む、請求項80、81、82、83または84に記載の設計検証方法。
- 最小限の情報収集が1次検証実行の過程で一定の間隔であるいは特定の時点でDUVの状態情報とTBの状態情報を1以上のファイル形態で保存することを含む、請求項80、81、82、83または84に記載の設計検証方法。
- 1次検証実行に用いられた検証プラットフォームが1以上のシミュレータである場合において、最小限の情報収集が1次検証実行の過程で一定の間隔であるいは特定の時点でシミュレーション状態を1以上のファイル形態で保存することを含む、請求項80、81、82、83または84に記載の設計検証方法。
- 上記1以上のシミュレータを用いた1次検証実行の施行中に1以上の時点でシミュレーション状態を保存する方法を、シミュレータのsave命令語を用い、1次以後の検証実行を上記選定された1以上のシミュレーション状態から抽出された状態情報から開示されるようにする、請求項91に記載の設計検証方法。
- 最小限の情報収集が1次検証実行の過程で設計コードや合成で生成されたゲート水準のネットリストに存在する特定のブロックの入力と入出力を、検証サイクル全体で持続的に探針して1以上のファイル形態で保存することを含む、請求項80、81、82、83または84に記載の設計検証方法。
- 1次以後の検証実行のそれぞれを1次検証実行の過程で保存された2以上のDUV状態情報のそれぞれを用いて2回以上の部分検証実行をするものに切り換え、コンピュータネットワークで連結された2以上のコンピュータにインストールされた2以上の検証プラットフォームを用いて上記2以上の状態情報のそれぞれを上記2以上の検証プラットフォームのそれぞれに設定して2回以上の部分検証実行が互いに独立的に上記2以上の検証プラットフォームで並列的に実行し、実行された2以上の結果をコンピュータネットワークを用いて1つのコンピュータに伝送し統合して全体の検証結果として提供する、請求項85または86に記載の設計検証方法。
- 1次以後の検証実行のそれぞれを、1次検証実行を通じて得られた2以上のブロックと、これらのブロックそれぞれのすべての入力と入出力を1次検証実行の全過程で探針した2以上の探針ファイルをコンパイルして得られた2以上の実行ファイルを、コンピュータネットワークで連結された2以上のコンピュータにインストールされた2以上の検証プラットフォームを用いて独立的かつ並列的に行い、実行された2以上の結果をコンピュータネットワークを用いて1つのコンピュータに転送して統合し、全体の検証結果として提供する、請求項85または86に記載の設計検証方法。
- 1次検証実行の施行中に1以上の時点で保存された1以上の状態情報の中で1以上の状態情報を選定して、1次以後の設計検証を上記選定された1以上の状態情報から開示されるように、1次検証実行で用いられた検証プラットフォームとは異なる検証プラットフォームを1回以上設定した後、検証実行を1回以上進行しながら、設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数に対する探針を行う、請求項82に記載の設計検証方法。
- 1次検証実行中に設計コードや合成で生成されたゲート水準のネットリストに存在する1以上のブロックに対する入力と入出力を検証実行の検証サイクル全過程で探針して保存した1以上の探針ファイルの中で1以上を選定して、1次以後の検証実行を上記選定された1以上の探針ファイルと該当1以上のブロックを用いて、1次検証実行で用いられた検証プラットフォームとは異なる検証プラットフォームのためにコンパイルして生成された1以上のファイルの中で、追加的な探針が必要な設計コードや合成で生成されたゲート水準のネットリストに存在するシグナルと変数を有している該当1以上のブロックに係るファイルを用いて上記追加的な探針を行う、請求項83に記載の設計検証方法。
- 任意のシミュレーション遂行、シミュレーション加速遂行、ハードウェアエミュレーション遂行、またはプロトタイピング遂行を通じて得られた結果を用いた追加的な設計検証遂行において、上記追加的な設計検証遂行を前段検証としての1次検証実行と、後段検証としての1次以後検証実行に分けて行い、設計コードや合成で生成されたゲート水準のネットリストに存在する1つ以上の設計客体に対して1つ以上の1次以後検証実行が行われるようにするのに必要な最小限の情報を、1次検証実行の過程で収集できるようにし、検証を速やかに行うことを可能とする検証方法。
- 検証ソフトウェアと1以上の検証プラットフォームを具備する設計検証装置において、
上記検証ソフトウェアは、設計客体で構成される設計コードや設計回路に自動化された方式で付加コードや付加回路を追加して、1回以上の検証実行の途中で動的情報の収集を可能とし、この収集された動的情報を1以上の設計客体が変更された後に実行される検証実行に再活用することにより、検証実行の全体時間を全体的にあるいは部分的に短縮できるようにする設計検証装置。 - 検証ソフトウェアと1以上の検証プラットフォームを用いて、設計客体で構成される設計コードや設計回路に自動化された方式で付加コードや付加回路を追加して、1回以上の検証実行の途中に動的情報の収集を可能とし、この収集された動的情報を1以上の設計客体が変更された後に実行される検証実行に再活用することにより、検証実行の全体時間を全体的にあるいは部分的に短縮できるようにする設計検証方法。
- 1以上の設計客体の変更後の設計検証実行結果が、設計客体の変更前の設計検証実行結果と検証時間の側面において最初に異なってくる時点を見出す方法を、変更された1以上の設計客体のすべての出力と両方向の入出力値と、変更される前の上記1以上の設計客体のすべての出力と両方向の入出力値と比べて、自動化された方式で見出す、請求項99または100に記載の設計検証方法。
- 1以上の設計客体の変更後の設計検証実行結果が、設計客体の変更前の設計検証実行結果と検証時間の側面において最初に異なってくる時点を見出す方法を、変更された1以上の設計客体のすべての出力値と、変更される前の上記1以上の設計客体のすべての出力値と比べて、自動化された方式で見出す、請求項99または100に記載の設計検証方法。
- 1以上の設計客体の変更後の設計検証実行結果が、設計客体の変更前の設計検証実行結果と検証時間の側面において最初に異なってくる時点を見出す方法を、変更前の1回以上の検証実行の過程で得られる再生用入力情報を、変更された1以上の設計客体のみに印加して、自動化された方式で見出す、請求項99または100に記載の設計検証方法。
- 1以上の設計客体の変更後に行われる検証実行において、上記1以上の設計客体の変更によって、設計検証実行結果が設計客体の変更前の設計検証実行結果と検証時間の側面において最初に異なってくる時点までは、変更された設計客体とこれらの再生用入力情報のみを用いた検証遂行を通じて速やかに検証する、請求項99、100、101,102または103に記載の設計検証方法。
- 1以上の設計客体の変更後に行われる検証実行において、上記1以上の設計客体の変更によって、設計検証実行結果が設計客体の変更前の設計検証実行結果と検証時間の側面において最初に異なってくる時点までは、変更された設計客体とこれらの再生用入力情報を用いた検証遂行とともに、設計変更が行われていない設計客体の一部分のみを用いた検証遂行のみを通じて速やかに検証する、請求項99、100、101,102または103に記載の設計検証方法。
- 1以上の設計客体の変更後に行われる検証実行において、上記1以上の設計客体の変更によって、設計検証実行結果が設計客体の変更前の設計検証実行結果と検証時間の側面において最初に異なってくる時点以後からは、すべての設計客体を含む検証実行に自動的に切り換えて検証実行する、請求項99、100、101,102または103に記載の設計検証方法。
- 1以上の設計客体の変更後に行われる検証実行において、上記1以上の設計客体の変更によって、設計検証実行結果が設計客体の変更前の設計検証実行結果と検証時間の側面において異なってくる1以上の特定の時点から、さらに等しくなる特定の時点までは、すべての設計客体を含む検証実行に自動的に切り換えて検証実行する、請求項99、100、101,102または103に記載の設計検証方法。
- 1以上の設計客体の変更後に行われる検証実行において、上記1以上の設計客体の変更によって、設計検証実行結果が設計客体の変更前の設計検証実行結果と検証時間の側面において最初に異なってくる時点までは、変更された設計客体とこれらの再生用入力情報を用いて速やかに検証し、上記最初に異なってくる時点以後からはすべての設計客体を含む検証実行に自動的に切り換えて検証実行する、請求項99、100、101,102または103に記載の設計検証方法。
- 上記最初に異なってくる時点以後からはすべての設計客体を含む検証実行に自動的に切り換えるために、設計変更されていない設計客体の状態情報の復元を、上記最初に異なってくる時点の付近で設計変更が行われる前に行われた検証実行の過程で収集された設計客体の状態情報を活用して、自動化された方式で行われる、請求項106または108に記載の設計検証方法。
- 上記設計客体の状態情報の復元は、シミュレータの再出発機能によるし、設計状態の保存は、シミュレータのスナップショット機能による、請求項109に記載の設計検証方法。
- シミュレータの再出発機能を用いる場合に、これをシミュレータのrestoreやrestart命令を用い、シミュレータのスナップショット機能を用いる場合に、これをシミュレータのsaveやcheckpoint命令を用いる、請求項110に記載の設計検証方法。
- 1以上の設計客体の変更によって、設計検証実行結果が設計客体の変更前の設計検証実行結果と検証時間の側面において最初に異なってくる時点を見出す方法を、変更された1以上の設計客体のすべての出力と両方向の入出力値と、変更される前の上記1以上の設計客体のすべての出力と両方向の入出力値と順次に比べて自動化された方式で見出す、請求項99または100に記載の設計検証方法。
- 1以上の設計客体の変更によって、設計検証実行結果が設計客体の変更前の設計検証実行結果と検証時間の側面において最初に異なってくる時点を見出す方法を、変更される前の設計客体に対する1以上の検証時点での動的情報を並列的に用いて自動化された方式で見出す、請求項99または100に記載の設計検証方法。
- 上記検証プラットフォームが、シミュレータ、シミュレーションアクセル、エミュレータ、プロトタイピングシステムまたはこれらの混合からなる、請求項99に記載の設計検証装置。
- 上記検証遂行の全体あるいは一部分がシミュレータを通じて行われる場合には、全体の検証遂行のために2以上のプロセスをプロセス間の通信を用いて連動する、請求項99、100、101、102、103、104、105、110または111に記載の設計検証方法。
- 検証遂行の途中にプロセス間の通信を用いて連動される上記2個以上のプロセスの中で、最小限1個のプロセスに対してスナップショットを活用して設計コード変更前の検証遂行の過程で1以上の設計客体に対する動的情報を収集し、設計コードの変更後に実行される特定の時間帯からの検証実行を上記動的情報を用いた再出発を通じて行うことにより、上記1以上の設計客体が変更された後の検証実行の全体時間を全体的にあるいは部分的に短縮する、請求項115に記載の設計検証方法。
- 上記スナップショットを、シミュレータのsave機能あるいはcheckpoint機能を用い、上記再出発をシミュレータのrestart機能あるいはrestore機能を用いる、請求項116に記載の設計検証方法。
- 検証プラットフォームとしてシミュレーションアクセルを用いる場合、あるいはシミュレーションアクセルが含まれた検証プラットフォームを用いる、請求項99、100、101、102、103、104、105、106、108、109、115、116または117に記載の設計検証方法。
- 上記設計変更後に行われる検証実行の過程で、上記自動に切り換わる時点の決定が、上記付加コードが設計客体に追加されて検証実行の過程で行われることにより自動的に行われる、請求項106、108、109、110または111に記載の設計検証方法。
- 上記設計変更後に行われる検証実行の過程で、上記自動に切り換わる時点における設計変更された設計客体の動的情報と、設計変更されていない設計客体の動的情報のような検証時間帯に正確に合わせることが、付加コードが設計客体に追加されて検証実行の過程で行われることにより自動的に行われる、請求項106、108、109、110または111に記載の設計検証方法。
- 上記設計変更後に行われる検証実行の過程で、上記自動に切り換わる時点からはすべての設計客体を用いた設計検証に切り換わって検証遂行されることが、付加コードが設計客体に追加されて検証実行の過程で行われることにより自動的に行われる、請求項106、108、109、110または111に記載の設計検証方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040017476A KR20040063845A (ko) | 2001-09-14 | 2004-03-09 | 검증 성능을 높이는 시뮬레이션 기반의 검증 장치 및 이를이용한 시뮬레이션 방법 |
KR1020040019066A KR20040063846A (ko) | 2001-09-14 | 2004-03-16 | 다양한 검증 플랫폼들의 통합 사용을 지원하는 검증 장치및 이를 이용한 검증 방법 |
KR20040055329 | 2004-07-12 | ||
KR1020040093309A KR20050090053A (ko) | 2004-03-06 | 2004-11-08 | 검증 성능을 높이는 시뮬레이션 기반의 검증 장치 및 이를이용한 시뮬레이션 방법 |
KR1020050007330A KR20050118107A (ko) | 2004-03-09 | 2005-01-24 | 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론 |
PCT/KR2005/000668 WO2005093575A1 (en) | 2004-03-09 | 2005-03-09 | Dynamic-verification-based verification apparatus achieving high verification performance and verification efficency and the verification methodology using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007528553A true JP2007528553A (ja) | 2007-10-11 |
JP2007528553A5 JP2007528553A5 (ja) | 2008-04-24 |
Family
ID=35056368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007502715A Pending JP2007528553A (ja) | 2004-03-09 | 2005-03-09 | 検証性能と検証效率性を高める動的検証−基盤方式の検証装置及びこれを用いた検証方法論 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2007528553A (ja) |
WO (1) | WO2005093575A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140034050A (ko) * | 2012-09-07 | 2014-03-19 | 삼성전자주식회사 | 사용자 프로그램 코드에 기반한 어써션 생성 장치 및 방법, 어써션을 이용한 프로세서 검증 장치 및 방법 |
JP2014053011A (ja) * | 2012-09-07 | 2014-03-20 | Samsung Electronics Co Ltd | アサーション生成装置及び方法並びにプロセッサ検証装置及び方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8781808B2 (en) | 2005-10-10 | 2014-07-15 | Sei Yang Yang | Prediction-based distributed parallel simulation method |
CN100371910C (zh) * | 2006-04-30 | 2008-02-27 | 华为技术有限公司 | 单板中本地版本软件的校验方法 |
GB2524016B (en) * | 2014-03-11 | 2021-02-17 | Advanced Risc Mach Ltd | Hardware simulation |
US10061876B2 (en) | 2014-12-23 | 2018-08-28 | Board Of Trustees Of The University Of Illinois | Bounded verification through discrepancy computations |
CN109726507B (zh) * | 2019-01-17 | 2023-04-18 | 湖南进芯电子科技有限公司 | 一种高效的多功能验证方法 |
CN111310396B (zh) * | 2020-02-13 | 2023-10-03 | 深圳航天科技创新研究院 | 一种fpga虚拟平台及实现fpga虚拟平台的方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04502985A (ja) * | 1988-10-05 | 1992-05-28 | クイックターン デザイン システムズ インコーポレイテッド | 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法 |
JPH0561933A (ja) * | 1991-09-04 | 1993-03-12 | Hokuriku Nippon Denki Software Kk | 論理検証装置 |
JPH09265489A (ja) * | 1996-03-29 | 1997-10-07 | Fujitsu Ltd | シミュレーション処理方法 |
JPH1010196A (ja) * | 1996-06-21 | 1998-01-16 | Hitachi Ltd | 論理エミュレーション装置 |
JPH10124536A (ja) * | 1996-10-17 | 1998-05-15 | Matsushita Electric Ind Co Ltd | シミュレーション再現方法 |
JPH10232890A (ja) * | 1996-10-28 | 1998-09-02 | Altera Corp | プログラマブル論理回路のための組み込み式論理アナライザー |
JP2000250949A (ja) * | 1999-02-26 | 2000-09-14 | Matsushita Electric Ind Co Ltd | シミュレーション装置 |
WO2003017099A1 (en) * | 2001-08-14 | 2003-02-27 | Axis Systems, Inc. | Vcd-on-demand system and method |
JP2003085235A (ja) * | 2001-09-11 | 2003-03-20 | Matsushita Electric Ind Co Ltd | シミュレーション方法および装置 |
WO2003036523A1 (fr) * | 2001-10-24 | 2003-05-01 | Renesas Technology Corp. | Procede et programme de simulation et procede d'affichage |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185707B1 (en) * | 1998-11-13 | 2001-02-06 | Knights Technology, Inc. | IC test software system for mapping logical functional test data of logic integrated circuits to physical representation |
JP3178458B2 (ja) * | 1999-03-31 | 2001-06-18 | 日本電気株式会社 | 回路シミュレーション装置および方法 |
US6678645B1 (en) * | 1999-10-28 | 2004-01-13 | Advantest Corp. | Method and apparatus for SoC design validation |
US6675310B1 (en) * | 2000-05-04 | 2004-01-06 | Xilinx, Inc. | Combined waveform and data entry apparatus and method for facilitating fast behavorial verification of digital hardware designs |
US6658633B2 (en) * | 2001-10-03 | 2003-12-02 | International Business Machines Corporation | Automated system-on-chip integrated circuit design verification system |
-
2005
- 2005-03-09 WO PCT/KR2005/000668 patent/WO2005093575A1/en active Application Filing
- 2005-03-09 JP JP2007502715A patent/JP2007528553A/ja active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04502985A (ja) * | 1988-10-05 | 1992-05-28 | クイックターン デザイン システムズ インコーポレイテッド | 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法 |
JPH0561933A (ja) * | 1991-09-04 | 1993-03-12 | Hokuriku Nippon Denki Software Kk | 論理検証装置 |
JPH09265489A (ja) * | 1996-03-29 | 1997-10-07 | Fujitsu Ltd | シミュレーション処理方法 |
JPH1010196A (ja) * | 1996-06-21 | 1998-01-16 | Hitachi Ltd | 論理エミュレーション装置 |
JPH10124536A (ja) * | 1996-10-17 | 1998-05-15 | Matsushita Electric Ind Co Ltd | シミュレーション再現方法 |
JPH10232890A (ja) * | 1996-10-28 | 1998-09-02 | Altera Corp | プログラマブル論理回路のための組み込み式論理アナライザー |
JP2000250949A (ja) * | 1999-02-26 | 2000-09-14 | Matsushita Electric Ind Co Ltd | シミュレーション装置 |
WO2003017099A1 (en) * | 2001-08-14 | 2003-02-27 | Axis Systems, Inc. | Vcd-on-demand system and method |
JP2003085235A (ja) * | 2001-09-11 | 2003-03-20 | Matsushita Electric Ind Co Ltd | シミュレーション方法および装置 |
WO2003036523A1 (fr) * | 2001-10-24 | 2003-05-01 | Renesas Technology Corp. | Procede et programme de simulation et procede d'affichage |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140034050A (ko) * | 2012-09-07 | 2014-03-19 | 삼성전자주식회사 | 사용자 프로그램 코드에 기반한 어써션 생성 장치 및 방법, 어써션을 이용한 프로세서 검증 장치 및 방법 |
JP2014053011A (ja) * | 2012-09-07 | 2014-03-20 | Samsung Electronics Co Ltd | アサーション生成装置及び方法並びにプロセッサ検証装置及び方法 |
KR101968214B1 (ko) | 2012-09-07 | 2019-04-11 | 삼성전자주식회사 | 사용자 프로그램 코드에 기반한 어써션 생성 장치 및 방법, 어써션을 이용한 프로세서 검증 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2005093575A1 (en) | 2005-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080306721A1 (en) | Dynamic-Verification-Based Verification Apparatus Achieving High Verification Performance and Verification Efficiency and the Verification Methodology Using the Same | |
US8781808B2 (en) | Prediction-based distributed parallel simulation method | |
US20090150136A1 (en) | Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same | |
US8751984B2 (en) | Method, system and computer program for hardware design debugging | |
US20020040288A1 (en) | Method for design validation of complex IC | |
JP2007528553A (ja) | 検証性能と検証效率性を高める動的検証−基盤方式の検証装置及びこれを用いた検証方法論 | |
WO2007043786A1 (en) | Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same | |
Bartley et al. | A comparison of three verification techniques: directed testing, pseudo-random testing and property checking | |
WO2002073474A1 (en) | Method and apparatus for design validation of complex ic without using logic simulation | |
WO2022251267A1 (en) | Testable time-to-digital converter | |
KR20040063846A (ko) | 다양한 검증 플랫폼들의 통합 사용을 지원하는 검증 장치및 이를 이용한 검증 방법 | |
CN117094269A (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
US11200127B2 (en) | Automated self-check of a closed loop emulation replay | |
US20050076282A1 (en) | System and method for testing a circuit design | |
KR20060066634A (ko) | 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론 | |
Silva et al. | A methodology aimed at better integration of functional verification and RTL design | |
US7051303B1 (en) | Method and apparatus for detection and isolation during large scale circuit verification | |
Bombieri et al. | Hybrid, incremental assertion-based verification for TLM design flows | |
Bombieri et al. | On the reuse of RTL assertions in SystemC TLM verification | |
KR20060101127A (ko) | Esl 설계 방식에서의 효과적인 함수적 설계 검증 장치 및이를 이용한 검증 방법 | |
KR20050118107A (ko) | 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론 | |
KR20050101105A (ko) | 검증 성능을 높이는 시뮬레이션 기반의 검증 장치 및 이를이용한 시뮬레이션 방법 | |
Zhong-hai et al. | The improvement for transaction level verification functional coverage | |
KR20070039857A (ko) | 체계적 점진적 구체화를 통한 전자시스템수준에서부터게이트수준까지의 검증 방법 | |
KR20080107226A (ko) | 대규모 디지털시스템 설계에서의 인터렉티브 디버깅 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080225 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080225 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100525 |