【手続補正書】
【提出日】平成20年2月25日(2008.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シミュレーションを通じて設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計誤謬の存在を見出す検証方法において、
上記シミュレーションが、前段シミュレーション段階の1次シミュレーション段階と、後段シミュレーション段階の1次シミュレーション以後に行なわれる1回以上のシミュレーション段階から構成され、
上記前段シミュレーション段階の1次シミュレーションでは、1次シミュレーションを実行しつつ、上記後段シミュレーション段階の1次シミュレーション以後に行なわれる1回以上のシミュレーションを、1以上の特定のシミュレーション区間や上記設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計ブロックに対し、シミュレーションが行われ得るようにするのに必要な最小限の情報を、上記前段シミュレーション段階の1次シミュレーション過程で自動的に収集することができるよう設計コードや合成で生成されたゲート水準のネットリストに付加コードや付加回路を検証ソフトウェアを利用し自動化された方式で追加し、上記前段シミュレーション段階の1次シミュレーションを上記最小限の情報を収集しながらも速やかに行ない、この収集された情報を利用して、上記後段シミュレーション段階の1次シミュレーション以後に行なわれる1回以上のシミュレーションを行う検証方法。
【請求項２】
シミュレーションを通じて上記設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計誤謬の存在を見出す検証方法において、
上記シミュレーションが、前段シミュレーション段階の1次シミュレーション段階と、後段シミュレーション段階の1次シミュレーション以後に行なわれる1回以上のシミュレーション段階から構成され、
上記前段シミュレーション段階の1次シミュレーションを実行しつつ、上記設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計ブロックのすべての入力と入出力値を全体シミュレーション時間で収集するのと同時に、上記1以上の設計ブロックの状態情報を1以上の特定シミュレーション時点で収集し、
上記収集された入力と入出力値をテストベンチで活用し、上記1以上の設計ブロックの状態情報を初期状態で1回以上活用し、上記後段シミュレーション段階の1次シミュレーション以後に行なわれるシミュレーションで上記設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計ブロックに対する最小1回以上のシミュレーション実行をシミュレーション時間0でない時間から始めることを特徴とする検証方法。
【請求項３】
上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階での上記設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計ブロックに対する最小1回以上のシミュレーション実行を通じて、上記1以上の設計ブロックに存在する1以上の任意のシグナルまたは変数に対する値をダンプすることで可視度を確保する、請求項1又は2に記載の検証方法。
【請求項４】
上記設計ブロックの状態情報を収集する1以上の特定シミュレーション時点の全体時間は、上記前段シミュレーション段階の1次シミュレーションの全体シミュレーション時間よりは小さくし、
上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階での上記設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計ブロックに対する最小1回以上のシミュレーション実行を通じて、上記1以上の設計ブロックに存在する1以上の任意のシグナルまたは変数に対するダンプ値を得て、得られたダンプ値を通じて、上記設計コードや合成で生成されたゲート水準のネットリストでの1以上の設計誤謬の存在有無を見出す、請求項2に記載の検証方法。
【請求項５】
上記設計ブロックの状態情報は最小の状態情報であり、
上記設計ブロックの状態情報を収集する1以上の特定シミュレーション時点の全体時間は、上記前段シミュレーション段階の1次シミュレーションの全体シミュレーション時間よりは小さくし、
上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階での上記設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計ブロックに対する最小1回以上のシミュレーション実行を通じて、上記1以上の設計ブロックに存在する1以上の任意のシグナルまたは変数に対するダンプ値を得て、得られたダンプ値を通じて、上記設計コードや合成で生成されたゲート水準のネットリストでの1以上の設計誤謬の存在有無を見出す、請求項2に記載の検証方法。
【請求項６】
任意の1以上のシミュレータを利用したシミュレーション実行を通じて設計検証を行なう検証方法において、
上記シミュレーションが、前段シミュレーション段階の1次シミュレーション段階と、後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階から構成され、
上記前段シミュレーション段階の1次シミュレーション段階で行われるシミュレーションは、上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションより抽象化水準が高い設計に対するシミュレーションであり、
上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションは、上記前段シミュレーション段階の1次シミュレーション段階で行われるシミュレーションより抽象化水準が低い設計に対するシミュレーションであり、
上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションのために、上記前段シミュレーション段階の1次シミュレーション段階で行われるシミュレーションより抽象化水準が低い設計に対するシミュレーションでシミュレーション時間0でない1以上のシミュレーション時点で収集された1以上の設計客体に対する状態情報を収集し、
上記収集された1以上の設計客体に対する状態情報を利用し、上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションを行う検証方法。
【請求項７】
任意の1以上のシミュレータを利用したシミュレーション実行を通じて設計検証を行う検証方法において、
上記シミュレーションが、前段シミュレーション段階の1次シミュレーション段階と、後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階から構成され、
上記前段シミュレーション段階の1次シミュレーション段階で行われるシミュレーションは、上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションより抽象化水準が高い設計に対するシミュレーションであり、
上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションは、上記前段シミュレーション段階の1次シミュレーション段階で行われるシミュレーションより抽象化水準が低い設計に対するシミュレーションであり、
上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションのために、上記前段シミュレーション段階の1次シミュレーション段階で行われるシミュレーションより抽象化水準が低い設計に対するシミュレーションでシミュレーション時間0でない1以上のシミュレーション時点で収集された1以上の設計客体に対する状態情報を収集し、同時に全体シミュレーション時間にわたって上記1以上の設計客体に対するすべての入力と入出力値またはすべての入力と出力と入出力値を収集し、
上記収集された1以上の設計客体に対する状態情報と、上記収集されたすべての入力と入出力値またはすべての入力と出力と入出力値を利用し、上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションを行う検証方法。
【請求項８】
上記前段シミュレーション段階でのシミュレーションがトランスアクション水準シミュレーションあるいはトランスアクション/レジスター送信混合水準シミュレーションであり、上記後段シミュレーション段階でのシミュレーションがレジスター送信水準シミュレーションであったり、または
上記前段シミュレーション段階でのシミュレーションがレジスター送信水準シミュレーションあるいはレジスター送信/ゲート混合水準シミュレーションであり、上記後段シミュレーション段階でのシミュレーションがゲート水準シミュレーションであったり、または
上記前段シミュレーション段階でのシミュレーションが単純化された遅延時間モデルを利用したシミュレーションであり、上記後段シミュレーション段階でのシミュレーションが上記単純化された遅延時間モデルよりさらに正確な遅延時間モデルを利用したシミュレーションであったり、または
上記前段シミュレーション段階でのシミュレーションがサイクル基盤-シミュレーションであり、上記後段シミュレーション段階でのシミュレーションがイベント駆動-シミュレーションである、請求項6または7に記載の検証方法。
【請求項９】
上記1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションが2回以上であり、この2回以上のシミュレーションを2以上のシミュレータを活用して並列的に実行させる、請求項2、6、7のいずれか1つに記載の検証方法。
【請求項１０】
上記前段シミュレーション段階でのシミュレーションがトランスアクション水準シミュレーションあるいはトランスアクション/レジスター送信混合水準シミュレーションであり、上記後段シミュレーション段階でのシミュレーションがレジスター送信水準シミュレーションであったり、または
上記前段シミュレーション段階でのシミュレーションがレジスター送信水準シミュレーションあるいはレジスター送信/ゲート混合水準シミュレーションであり、上記後段シミュレーション段階でのシミュレーションがゲート水準シミュレーションであったり、または
上記前段シミュレーション段階でのシミュレーションが単純化された遅延時間モデルを利用したシミュレーションであり、上記後段シミュレーション段階でのシミュレーションが上記単純化された遅延時間モデルよりさらに正確な遅延時間モデルを利用したシミュレーションであったり、または
上記前段シミュレーション段階でのシミュレーションがサイクル基盤-シミュレーションであり、上記後段シミュレーション段階でのシミュレーションがイベント駆動-シミュレーションであり、
上記1次シミュレーション以後に行われる1回以上のシミュレーション段階で行われるシミュレーションが2回以上であり、この2回以上のシミュレーションを2以上のシミュレータを活用して並列的に実行させる、請求項6または7に記載の検証方法。
【請求項１１】
任意のコンピュータで実行される検証ソフトウェアと、1以上のシミュレータまたは1以上のシミュレーション加速器または1以上のハードウェアエミュレータまたは1以上のプロトタイピングシステムを含む検証プラットフォームを具備する設計検証装置において、
上記検証ソフトウェアは、2以上の設計客体で構成される検証対象設計コードや設計回路に自動化された方式を通じて付加コードや付加回路を追加して、上記検証プラットフォーム上で上記設計コードや設計回路を付加コードや付加回路とともに行われるようにし、1回以上の検証実行(シミュレーション実行またはシミュレーション加速実行)途中の1以上の特定検証時点で動的情報の収集を可能にし、
この収集された動的情報を1以上の設計客体が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)に再活用することで上記検証対象設計コードや設計回路に存在する2以上の設計客体の中で変更になっていない1以上の設計客体は、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されなくても良いようにすることで、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)の所要時間を短縮させることができるようにすることを特徴とする検証装置。
【請求項１２】
1以上のシミュレータまたは1以上のシミュレーション加速器または1以上のハードウェアエミュレータまたは1以上のプロトタイピングシステムを含む検証プラットフォームを利用する検証方法において、
2以上の設計客体で構成される検証対象設計コードや設計回路に存在する1以上の設計客体をDO(m')と表わす場合に、
上記2以上の設計客体で構成される検証対象設計コードや設計回路に付加コードや付加回路を追加して、上記検証プラットフォーム上で設計コードや設計回路を付加コードや付加回路とともに行われるようにし、1回以上の検証実行(シミュレーション実行またはシミュレーション加速実行)途中に1以上の特定検証時点で動的情報の収集を可能にし、
この収集された動的情報を上記1以上の設計客体DO(m')が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)に再活用することで、上記検証設計コードや設計回路に存在する2以上の設計客体の中で変更されない設計客体中の1以上の設計客体は、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されなくても良いようにすることで、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)の所要時間を短縮させることができるようにすることを特徴とする検証方法。
【請求項１３】
1以上のシミュレータまたは1以上のシミュレーション加速器または1以上のハードウェアエミュレータまたは1以上のプロトタイピングシステムを含む検証プラットフォームを利用する検証方法において、
2以上の設計客体で構成される検証対象設計コードや設計回路に存在する1以上の設計客体をDO(i)で表わし、設計検証過程が進行されながら、上記DO(i)中で変更が行われるようになる設計客体をDO(m')で表わし、上記DO(m')の変更が行われた後の設計客体をDO(m)で表わす場合に、
上記2以上の設計客体で構成される検証対象設計コードや設計回路に付加コードや付加回路を追加して、上記検証プラットフォーム上で設計コードや設計回路を付加コードや付加回路とともに行われるようにし、1回以上の検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点から特定検証時点まで上記1以上の設計客体DO(i)のすべての入力値とすべての出力値とすべての両方向入出力値の収集と1以上のチェックポイントとなる検証時点で上記1以上の設計客体DO(i)の状態情報保存をする段階と、
上記検証対象設計コードや設計回路内に存在する1以上の設計客体DO(m')が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果が変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果と最初に変わる時点を、変更以前検証実行(シミュレーション実行またはシミュレーション加速実行)過程で収集された設計客体DO(m)のすべての入力とすべての両方向入出力での入力値を上記変更された1以上の設計客体DO(m)のみに印加して得られる上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果と変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)過程で収集された上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果を比較して見出すと同時に、
上記変更された1以上の設計客体DO(m)に対する状態情報保存を1以上の特定検証で行ない、変更以後の検証実行(シミュレーション実行またはシミュレーション加速実行)過程で得られた変更が行われた1以上の設計客体DO(m)に対する状態情報と変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)過程で得られた変更が行われなかった1以上の設計客体に対する状態情報を活用したり、または変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)過程で得られた変更が行われなかった1以上の設計客体に対する状態情報を活用する段階を通じて、
上記検証対象設計コードや設計回路に存在する上記2以上の設計客体中で、少なくとも変更にならない1以上の設計客体は、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されなくても良いようにすることで、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)の所要時間を短縮させることができるようにする検証方法。
【請求項１４】
2以上のシミュレータ、または1以上のシミュレータと1以上のハードウェア基盤の検証プラットフォームで構成される検証プラットフォームを利用する検証方法において、
2以上の設計客体で構成される検証対象設計コードや設計回路に存在する1以上の設計客体をDO(i)で表わし、設計検証過程が進行されつつ、上記DO(i)の中で、変更が行われるようになる設計客体をDO(m')で表わし、上記DO(m')の変更が行われた後の設計客体をDO(m)で表わす場合に、
上記2以上の設計客体で構成される検証対象設計コードや設計回路に付加コードや付加回路を追加し、上記検証プラットフォーム上で設計コードや設計回路を付加コードや付加回路とともに検証実行(シミュレーション実行またはシミュレーション加速実行)を行ない、1回以上の検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点から特定検証時点まで上記1以上の設計客体(i)のすべての入力値とすべての出力値とすべての両方向入出力値の収集をする段階と、
上記検証対象設計コードや設計回路内に存在する1以上の設計客体が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果が変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果と最初に変わる時点(td)を、上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果が上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果と比較して見出す段階と、
変更が行われなかった1以上の設計客体に対しては、変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から上記最初に変わる時点(td)までは変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された上記変更が行われなかった1以上の設計客体のすべての入力と入出力で入力値を印加して遂行する段階と、
上記最初に変わる時点(td)からは、変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で得られた動的情報を再活用しないで、すべての設計客体が共に互いに連動する方式で検証実行(シミュレーション実行またはシミュレーション加速実行)が行なう段階を含む検証方法。
【請求項１５】
2以上のシミュレータ、または1以上のシミュレータと1以上のハードウェア基盤の検証プラットフォームで構成される検証プラットフォームを利用する検証方法において、
2以上の設計客体で構成される検証対象設計コードや設計回路に存在する1以上の設計客体をDO(i)で表わし、設計検証過程が進行されつつ、上記DO(i)中で変更が行われるようになる設計客体をDO(m')で表わし、上記DO(m')の変更が行われた後の設計客体をDO(m)で表わす場合に、
上記2以上の設計客体で構成される検証対象設計コードや設計回路に付加コードや付加回路を追加し、上記検証プラットフォーム上で設計コードや設計回路を付加コードや付加回路とともに検証実行(シミュレーション実行またはシミュレーション加速実行)を行ない、1回以上の検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点から特定検証時点まで上記1以上の設計客体DO(i)のすべての入力値とすべての出力値とすべての両方向入出力値の収集と1以上のチェックポイントとなる検証時点で上記1以上の設計客体DO(i)に対する実行を行なうシミュレータのシミュレーション状態情報を保存する段階と、
上記検証対象設計コードや設計回路内に存在する1以上の設計客体が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果が変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果と最初に変わる時点を、変更以前検証実行(シミュレーション実行またはシミュレーション加速実行)過程で収集された設計客体DO(m’)のすべての入力と入出力で入力値を上記変更された1以上の設計客体DO(m)のみに印加して得られる上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果を変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)過程で収集された上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果と比較して見出すと同時に、
上記変更が行われた1以上の設計客体DO(m)に対する変更以後の検証実行(シミュレーション実行またはシミュレーション加速実行)で1以上の特定シミュレーション時点で保存されるシミュレーション状態情報と変更が行われなかった1以上の設計客体に対する変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で保存されたシミュレーション状態情報を活用したり、または変更が行われなかった1以上の設計客体に対する変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で保存されたシミュレーション状態情報を活用する段階を通じて、
上記検証対象設計コードや設計回路に存在する上記2以上の設計客体の中で、少なくとも変更にならない1以上の設計客体は、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されなくても良いようにすることで、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)の所要時間を短縮させることができるようにする検証方法。
【請求項１６】
上記1以上の設計客体DO(m')が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で再活用される動的情報に上記1以上の設計客体DO(m')に対する変更以前に行なわれた検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0以外の1以上の検証時点(Tr)で収集された変更にならない1以上の設計客体の状態情報が含まれており、
上記1以上の設計客体DO(m')が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)では、上記1以上の設計客体DO(m')に対する変更以前に行なわれた検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された変更にならない1以上の設計客体の上記Trでの状態情報として上記変更にならない1以上の設計客体の状態情報が復元されるによって、上記変更にならない1以上の設計客体は上記検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されないで上記Trから実行されるようにすることを特徴とする、請求項12に記載の検証方法。 
【請求項１７】
上記変更にならない1以上の設計客体をDO(u)で表わす場合に、
検証対象設計コードや設計回路に存在する上記1以上の設計客体DO(i)に対する上記1以上のチェックポイントとなる検証時点で設計客体の状態情報保存を上記変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0以外の1以上の検証時点(Tr)で行ない、
上記1以上の設計客体DO(m')に対する変更後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)では、上記変更にならない1以上の設計客体DO(u)が上記検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されないで、上記1以上の設計客体DO(m')に対する上記変更以前の検証実行(シミュレーション実行シミュレーション加速実行)で収集された上記変更にならない1以上の設計客体DO(u)の状態情報での復元を通じて、上記Trから実行されることを特徴とする、請求項13に記載の検証方法。
【請求項１８】
上記変更にならない1以上の設計客体をDO(u)で表わす場合に、
検証対象設計コードや設計回路に存在する上記1以上の設計客体に対するシミュレーションを行なうシミュレータに対する上記チェックポイントとなる検証時点でのシミュレーション状態情報保存を上記変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0以外の1以上の検証時点(Tr)で行ない、
上記1以上の設計客体DO(m')に対する変更後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で、上記変更にならない1以上の設計客体DO(u)が上記検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されないで、上記1以上の設計客体DO(m')に対する上記変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された上記変更にならない1以上の設計客体DO(u)に対するシミュレーションを行なうシミュレータのシミュレーション状態情報への復元を通じて、上記Trから実行されることを特徴とする、請求項15に記載の検証方法。
【請求項１９】
上記1以上の設計客体DO(m')が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で再活用される動的情報に上記1以上の設計客体DO(m')に対する変更以前に行なわれた検証実行(シミュレーション実行またはシミュレーション加速実行)過程で収集された上記1以上の設計客体DO(m')のすべての入力、出力、入出力の値の情報が含まれていることを特徴とする、請求項12に記載の検証方法。
【請求項２０】
1以上のシミュレータまたは1以上のシミュレーション加速器または1以上のハードウェアエミュレータまたは1以上のプロトタイピングシステムを含む検証プラットフォームを利用する検証方法において、
2以上の設計客体で構成される検証対象設計コードや設計回路に存在する1以上の設計客体をDO(i)で表わし、設計検証過程が進行されつつ、上記DO(i)中で変更が行われるようになる設計客体をDO(m')で表わし、上記DO(m')の変更が行われた後の設計客体をDO(m)で表わし、上記2以上の設計客体で構成される検証対象設計コードや設計回路で変更が成り立たない1以上の設計客体をDO(u)で表わす場合に、
上記2以上の設計客体で構成される検証対象設計コードや設計回路に付加コードや付加回路を追加し、上記検証プラットフォーム上で設計コードや設計回路を付加コードや付加回路とともに行なわれるようにし、1回以上の検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点から特定検証時点まで上記1以上の設計客体DO(i)のすべての入力値とすべての出力値とすべての両方向入出力値を収集する段階と、
上記検証対象設計コードや設計回路内に存在する1以上の設計客体DO(m')が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果が変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果と最初に変わる時点を、変更以前検証実行(シミュレーション実行またはシミュレーション加速実行)過程で収集された設計客体DO(m')のすべての入力と入出力での入力値を上記変更された1以上の設計客体DO(m)のみに印加して得られる上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果と変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)過程で収集された上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果を比較して見出すと同時に、
上記変更された1以上の設計客体DO(m)に対する状態情報保存を1以上の特定検証時点で行ない、変更以後の検証実行(シミュレーション実行またはシミュレーション加速実行)過程で得られた変更が行われた1以上の設計客体DO(m)に対する状態情報を活用する段階を通じて、
1以上の設計客体が変更された後に進行される検証実行(シミュレーション実行またはシミュレーション加速実行)で、上記検証対象設計コードや設計回路に存在する上記設計客体DO(u)は、検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されなくても良いようにすることで、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)の所要時間を短縮させることができるようにする検証方法。
【請求項２１】
2以上のシミュレータ、または1以上のシミュレータと1以上のハードウェア基盤の検証プラットフォームで構成される検証プラットフォームを利用する検証方法において、
2以上の設計客体で構成される検証対象設計コードや設計回路に存在する1以上の設計客体をDO(i)で表わし、設計検証過程が進行されながら、上記DO(i)中で変更が行われるようになる設計客体をDO(m')で表わし、上記DO(m')の変更が行われた後の設計客体をDO(m)で表わし、上記2以上の設計客体で構成される検証対象設計コードや設計回路で変更が行われない1以上の設計客体をDO(u)で表わす場合に、
上記2以上の設計客体で構成される検証対象設計コードや設計回路に付加コードや付加回路を追加し、上記検証プラットフォーム上で設計コードや設計回路を付加コードや付加回路とともに行われるようにし、1回以上の検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点から特定検証時点まで上記1以上の設計客体のすべての入力値とすべての出力値とすべての両方向入出力値の収集をする段階と、
上記検証対象設計コードや設計回路内に存在する1以上の設計客体DO(m')が変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)で上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果が変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果と最初に変わる時点を、変更後の検証実行(シミュレーション実行またはシミュレーション加速実行)過程で変更以前検証実行(シミュレーション実行またはシミュレーション加速実行)過程で収集された設計客体DO(m')のすべての入力と入出力での入力値を上記変更された1以上の設計客体DO(m)のみに印加して得られる上記変更された1以上の設計客体DO(m)のすべての出力とすべての両方向入出力での出力値の結果と変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)過程で収集された上記設計客体DO(m')のすべての出力とすべての両方向入出力での出力値の結果を比較して見出すと同時に、
変更が行われた1以上の設計客体DO(m)に対する変更以後の検証実行(シミュレーション実行またはシミュレーション加速実行)で保存されるシミュレーション状態情報を活用する段階を通じ、
1以上の設計客体が変更された後に進行される検証実行(シミュレーション実行またはシミュレーション加速実行)で、上記検証対象設計コードや設計回路に存在する設計客体DO(u)が検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されなくても良いようにすることで、上記変更された後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)の所要時間を短縮させることができるようにする検証方法。
【請求項２２】
2以上の設計客体で構成される検証対象設計コードや設計回路に存在する1以上の設計客体をDO(i)で表わし、設計検証過程が進行されつつ、上記DO(i)中で変更が行われるようになる設計客体をDO(m')で表わし、上記2以上の設計客体で構成される検証対象設計コードや設計回路で変更が行われない1以上の設計客体をDO(u)で表わす場合に、
上記付加コードまたは付加回路を通じて、上記検証対象設計コードや設計回路に存在する上記1以上の設計客体DO(i)に対する1以上のチェックポイントとなる検証時点での設計客体の状態情報保存を変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0以外の1以上の検証時点(Tr)で行ない、
上記付加コードまたは付加回路を通じて、1以上の設計客体DO(m')に対する変更後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)では、変更にならない1以上の設計客体DO(u)が検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されないで、上記1以上の設計客体DO(m')に対する上記変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された変更にならない1以上の設計客体DO(u)の状態情報復元を通じて、上記Trから実行されることを特徴とする、請求項11に記載の検証装置。
【請求項２３】
2以上の設計客体で構成される検証対象設計コードや設計回路に存在する1以上の設計客体をDO(i)で表わし、設計検証過程が進行されつつ、上記DO(i)の中で変更が行われるようになる設計客体をDO(m')で表わし、上記2以上の設計客体で構成される検証対象設計コードや設計回路で変更が行われない1以上の設計客体をDO(u)で表わす場合に、
上記付加コードまたは付加回路を通じて、上記検証対象設計コードや設計回路に存在する上記1以上の設計客体DO(i)に対する1以上のチェックポイントとなる検証時点での上記設計客体DO(i)に対するシミュレーションを行なうシミュレータのシミュレーション状態情報保存を変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0以外の1以上の検証時点(Tr)で行ない、
上記付加コードまたは付加回路を通じて、1以上の設計客体DO(m')に対する変更後に行われる検証実行(シミュレーション実行またはシミュレーション加速実行)では、変更にならない1以上の設計客体DO(u)が検証実行(シミュレーション実行またはシミュレーション加速実行)の開始検証時点の検証時間0から実行されないで、上記1以上の設計客体DO(m')に対する上記変更以前の検証実行(シミュレーション実行またはシミュレーション加速実行)で収集された変更にならない1以上の設計客体DO(u)に対するシミュレーションを行なうシミュレータのシミュレーション状態情報復元を通じて、上記Trから実行されることを特徴とする、請求項11に記載の検証装置。
【請求項２４】
上記前段シミュレーション段階の1次シミュレーションは、ハードウェアエミュレータまたはシミュレーション加速器を利用したシミュレーション加速の修行を通じたシミュレーションであり、上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーションは、1以上のシミュレータだけを利用するシミュレーションであり、
上記設計ブロックの状態情報は最小状態であり、
上記設計ブロックの状態情報を収集する1以上の特定シミュレーション時点の全体時間は、上記前段シミュレーション段階の1次シミュレーションの全体シミュレーション時間よりは小さくし、
上記後段シミュレーション段階の1次シミュレーション以後に行われる1回以上のシミュレーション段階での上記設計コードや合成で生成されたゲート水準のネットリストに存在する1以上の設計ブロックに対する最小1回以上のシミュレーション実行を通じて、上記1以上の設計ブロックに存在する1以上の任意のシグナルまたは変数に対するダンプ値を得て、得られたダンプ値を通じて、上記設計コードや合成で生成されたゲート水準のネットリストでの1以上の設計誤謬の存在有無を見出す、請求項2に記載の検証方法。