(57)【要約】      （修正有）【課題】検証を失敗させる領域を特定し、結果を手作業で解釈する必要を大幅に低減できる知的なテストベンチが生成する電子的設計の検証コマンドの翻訳をコンピュータ実装するシステム及び方法を提供する。【解決手段】方法は、電子的設計を受信するステップと、少なくとも１つの間接分岐貢献ステートメントを有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、少なくとも１つのアナログテストハーネスモデルに少なくとも部分的に基づいて、少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳するステップと、翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、を備える。【選択図】図１６
2020038693.tif 000002
【特許請求の範囲】
【請求項１】
電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計を受信するステップと、
少なくとも１つの間接分岐貢献ステートメントを有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記少なくとも１つのアナログテストハーネスモデルに少なくとも部分的に基づいて、前記少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
を備える、方法。
【請求項２】
前記翻訳は、標準化されたアナログハードウェア記述言語を有する、請求項１に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項３】
前記標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−ＡＴＭ文法およびＶｅｒｉｌｏｇ−ＡＭＳＴＭ文法のうち少なくとも一方を少なくとも備える、請求項２に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項４】
電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計の表現を受信するステップと、
前記電子的設計の前記表現とともに、少なくとも１つの間接分岐貢献ステートメントを有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記少なくとも１つのアナログテストハーネスモデルおよび前記電子的設計に少なくとも部分的に基づいて、前記少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
を備える、方法。
【請求項５】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの刺激を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項６】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの刺激主張を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項７】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項８】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力測定値を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項９】
前記電子的設計の前記表現はアナログである、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１０】
前記電子的設計の前記表現は混合信号である、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１１】
前記電子的設計の前記表現は、少なくとも１つのトランジスタレベル回路部を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１２】
前記電子的設計の前記表現は、少なくとも１つの行動的モデル化された回路部を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１３】
前記電子的設計の前記表現は、物理設計に少なくとも部分的に基づく少なくとも１つの寄生モデルに基づく少なくとも１つの回路を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１４】
前記電子的設計の前記表現は、少なくとも１つの行動的モデル化された回路を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１５】
電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計の表現を受信するステップと、
少なくとも１つの刺激および少なくとも１つの刺激主張のうち少なくとも一方を有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも１つの検証サブルーチンコマンドと、前記少なくとも１つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを、対応する標準化されたアナログハードウェア記述言語へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいて、ネットリストを生成するステップと、
を備える、方法。
【請求項１６】
前記標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−ＡＴＭ文法およびＶｅｒｉｌｏｇ−ＡＭＳＴＭ文法のうち少なくとも一方を少なくとも備える、請求項１５に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１７】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方を有する、請求項１５に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１８】
電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計の表現を受信するステップと、
少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方を有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも１つの検証サブルーチンコマンドと、前記少なくとも１つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを、対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいて、ネットリストを生成するステップと、
を備える、方法。
【請求項１９】
前記標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−ＡＴＭ文法およびＶｅｒｉｌｏｇ−ＡＭＳＴＭ文法のうち少なくとも一方を備える、請求項１８に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２０】
前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットを有する、請求項１８に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２１】
前記少なくとも１つのアナログハーネスモデルは、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち前記少なくとも一方に少なくとも部分的に基づいて、前記少なくとも１つの仕様サブセットを確認する、請求項２０に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２２】
前記少なくとも１つの仕様サブセットはデータ変換を有する、請求項２０に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２３】
過渡的でないコンピュータ可用媒体上に実施されるコンピュータプログラム製品であって、
前記過渡的でないコンピュータ可用媒体は、命令の列を記憶しており、
前記命令の列がプロセッサによって実行されると、前記命令の列は、前記プロセッサに電子的設計の検証コマンドの翻訳の方法を実行させ、
前記方法は、
少なくとも１つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの刺激および少なくとも１つの刺激主張のうち少なくとも一方を有し、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つのパラメータ化された変数を有する、少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも１つのアナログテストハーネスおよび前記少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも１つの規則を検索するステップと、
前記少なくとも１つの検証サブルーチンコマンドと、前記検索された少なくとも１つの規則と、前記少なくとも１つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを、対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいて、ネットリストを生成するステップと、
前記少なくとも１つのアナログテストハーネスモデルを少なくとも部分的に利用して、少なくとも１つのサブコンポーネントを電気的にシミュレートするステップと、
前記電気的シミュレーションを受ける前記電子的設計の、少なくとも１つの性能属性を抽出するステップと、
前記抽出された少なくとも１つの性能属性と、少なくとも１つの出力測定値とを比較するステップと
を備える、コンピュータプログラム製品。
【請求項２４】
前記少なくとも１つのパラメータ化された変数を固定するステップをさらに備える、請求項２３に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項２５】
少なくとも１つの分離したシミュレーション実行において、前記少なくとも１つのパラメータ化された変数を変化させるステップをさらに備える、請求項２３に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項２６】
少なくとも１つのシミュレーション実行において、前記少なくとも１つのパラメータ化された変数を変化させるステップをさらに備える、請求項２３に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項２７】
前記シミュレーションの間に前記少なくとも１つの性能属性が抽出される、請求項２３に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項２８】
前記シミュレーションの後に前記少なくとも１つの性能属性が抽出される、請求項２３に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項２９】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方を有する、請求項２３に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項３０】
過渡的でないコンピュータ可用媒体上に実施されるコンピュータプログラム製品であって、
前記過渡的でないコンピュータ可用媒体は、命令の列を記憶しており、
前記命令の列がプロセッサによって実行されると、前記命令の列は、前記プロセッサに電子的設計の検証コマンドの翻訳の方法を実行させ、
前記方法は、
少なくとも１つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方を有し、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つのパラメータ化された変数を有する、少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも１つのアナログテストハーネスおよび前記少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも１つの規則を検索するステップと、
前記少なくとも１つの検証サブルーチンコマンドと、前記検索された少なくとも１つの規則と、前記少なくとも１つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを、対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいて、ネットリストを生成するステップと、
前記少なくとも１つのアナログテストハーネスモデルを少なくとも部分的に利用して、少なくとも１つのサブコンポーネントを電気的にシミュレートするステップと、
前記電気的シミュレーションを受ける前記電子的設計の、少なくとも１つの性能属性を抽出するステップと、
前記抽出された少なくとも１つの性能属性と、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち前記少なくとも一方とを比較するステップと
を備える、コンピュータプログラム製品。
【請求項３１】
前記標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−ＡＴＭおよびＶｅｒｉｌｏｇ−ＡＭＳのうち少なくとも一方を備える、請求項３０に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項３２】
指定される結果に少なくとも部分的に基づいて、前記少なくとも１つのアナログテストハーネスモデルを修正するステップをさらに備える、請求項３０に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項３３】
指定される結果に少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを修正するステップをさらに備える、請求項３０に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項３４】
前記少なくとも１つのパラメータ化された変数を修正するステップをさらに備える、請求項３０に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項３５】
前記電子的設計は、結果として、少なくとも１つの能動的回路および少なくとも１つの受動的回路のうち少なくとも一方を生じる、請求項３０に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項３６】
前記電子的設計は、結果として少なくとも１つの能動的回路を生じ、前記少なくとも１つの能動的回路は、少なくとも１つの利得と、なくとも１つの電気的信号の少なくとも１つの方向とのうち少なくとも一方を調整する、請求項３０に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項３７】
前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットを有する、請求項３０に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【請求項３８】
前記少なくとも１つのアナログハーネスモデルは、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方に少なくとも部分的に基づいて、前記少なくとも１つの仕様サブセットを確認する、請求項３７に記載の電子的設計の検証コマンドの翻訳のコンピュータプログラム製品実装される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本願は、米国特許出願第１４／７０７，６８９号明細書（２０１５年５月８日に出願され、「COMPUTER IMPLEMENTED SYSTEM AND METHOD OF TRANSLATION OF VERIFICATION COMMANDS OF AN ELECTRONIC DESIGN」と題するもの。代理人整理番号ZPLG-31865）および米国仮出願第６１／９９１，０７２号明細書（２０１４年５月９日に出願され、「COMPUTER IMPLEMENTED SYSTEM AND METHOD OF TRANSLATION OF VERIFICATION COMMANDS OF AN ELECTRONIC DESIGN」と題するもの。代理人整理番号ZPLG-32198）の優先権および／または利益を主張する。これらの出願の明細書は、その全体が参照により本明細書に援用される。
【０００２】
［背景］
本方法およびシステムは、概して、アナログおよび混合信号集積回路の検証に関し、より具体的には、検証サブルーチンコマンドを翻訳する方法およびシステムに関する。
【０００３】
電子的設計自動化(electronic design automation)（ＥＤＡ）は、電子的ブロックを設計するためのソフトウェアである。いくつかの広い種類の電子的信号と、コンポーネントおよびブロックとが存在する（デジタルと、アナログと、混合信号と呼ばれるデジタルおよびアナログの混合物と）。電子的設計は概して回路情報の以下のレベルのうち少なくとも１つを含む。すなわち、システムレベル、アーキテクチャレベル、データフローレベル、電気的レベル、デバイスレベル、テクノロジーレベル、等である。
【０００４】
デジタル信号は、離散的な入出力値「０」および「１」（離散的な時刻値において発生し、典型的にはクロック信号に結び付けられる）を有する。デジタル信号を入出力するデジタルコンポーネントは、典型的には、静的なピン出力および相互作用プロトコルを有する。デジタルコンポーネントを備えるデジタルブロックは、しっかりと確立されしっかりと文書化された物理的レイアウトおよび電気的相互作用を有する。デジタルブロック用のシミュレータは、離散時間イベント駆動型のシミュレータである。
【０００５】
アナログ信号は、概して、時間とともに変化し得る連続的な入出力値を有する。アナログコンポーネントは、典型的には、入力、出力、トリガ、バイアス、等を変更するためにカスタマイズ可能なレイアウトを有する。したがって、カスタマイズによっては、アナログコンポーネントを備えるアナログブロックは、デジタル回路ほどしっかりと確立されるかまたはしっかりと文書化された物理的レイアウトや電気的相互作用を有しない場合がある。アナログブロック用のシミュレータは、概して、連続時間領域シミュレータを必要とする。
【０００６】
混合信号ブロックは、シミュレートされるコンポーネント内のデジタル信号ブロックおよびアナログ信号ブロックの組み合わせである。シミュレーションのために利用可能な最も一般的なオプションは、コンポーネントをアナログブロックのグルーピングとしてシミュレートすることか、または、アナログコンポーネント／ブロックおよびデジタルコンポーネント／ブロックを個別に解析して、デジタル領域とアナログ領域との境界における入出力を領域間通信のために翻訳することである。
【０００７】
ＥＤＡ内では、回路レビューの、２つの大きな関連するカテゴリ（シミュレーションおよび検証）がある。シミュレーションは、回路の行動(behavior)を予測する数的解の集合である。検証は、関連する条件のもとで（機能的検証）、および、製造プロセスのバリエーションにわたって（パラメータ的検証）、回路の行動を記述することのシステマティックな追求である。したがって、検証は、概して、シミュレーションに比べて、回路、その動作条件、製造動作バリエーションの、はるかに広範囲なレビューを必要とする。回路の機能性を、いかなる実質的程度にも検証することなく、多数回のシミュレーションを実行することが可能である。検証は、ある範囲の条件にわたる回路性能の評価および回路の行動の数学的モデル化である。究極的には、検証の成功の測度は、回路設計がいかにうまく回路仕様に適合しているかを報告することである。アナログおよび混合信号検証メソドロジーは、増大し続けるアナログおよび混合信号回路の、複雑さ、コスト、および計算的要求についていくのに苦労している。
【０００８】
検証テストケースの数および複雑さは、アナログおよび混合信号設計の複雑さとともに増大する。加えて、回路のサイズが増大するにつれて、シミュレーションスピードが低下し、メモリ使用量が増加する。このように、回路を検証するための計算処理パワーは、回路の複雑さとともに劇的に増加する可能性がある。検証は、通常、スケジュールの遅延がもっとも深刻だと思われる設計サイクルの最後に行われるということが、この問題をより苦痛あるものとしている。このように、検証は、概して設計サイクル全体のうち小部分のためにかなりの量のシミュレーション処理パワーを必要とする活動であり、したがって、タイム・ツー・マーケット要求(time to market demand)を満たすために、概して検証資源の効率的な使用が必要とされる。
【０００９】
今日の複雑な検証ソリューションは、関連する条件下で回路の動作が完全かつ効率的に検証されることを保証するための検証活動に具体的にエンジニアリングを絞っている。この絞りこまれたアナログおよび混合信号検証は、デジタル検証よりもはるかに、手作業・経験により駆動される。この散発的な対話式アナログ検証は、会社にリスクを残す。本開示により、より高い抽象度で検証タスクを定義できる可能性がある。本開示により、刺激または刺激主張(stimulus assertion)と、出力測定値または出力主張(output assertion)との間の複雑な関係を効率的に捕捉できる可能性がある。本開示により、トランジスタレベル回路、行動的モデル(behavioral model)をもって実装された回路、または、行動的モデルとトランジスタレベル実装との組み合わせを含む回路のテストが可能になる可能性がある。標準的な分岐貢献ステートメント(branch contribution statement)は、条件的表現がコンスタント表現(constant expression)でない限り、条件付き、ルーピング、命名または解析ベースのステートメントにおいて使用できない。区別のために、我々はこれらの標準的な分岐貢献ステートメントを直接分岐貢献ステートメントと呼ぶ。本開示において、間接分岐貢献ステートメント（ＩＢＣＳ）は、直接分岐貢献ステートメント（ＤＢＣＳ）よりもパワフルである。具体的には、間接分岐貢献ステートメントは、ユーザの設計、設計構成、シミュレーション／解析構成、検証状態、および検証履歴に対して動的な条件付きおよびルーピングコンストラクトにおいて用いることができる。独立分岐貢献ステートメントが、条件付き、ルーピング、命名または解析ベースのステートメントで使われることが、または、進行中の解析の結果として得られる異なる引数(argument)を返すことが、長期にわたって要請されていた。
【００１０】
アナログおよび混合信号回路の頑強な検証は、概して、シミュレーションを加速するために用い得るテストベンチ、性能評価ルーチン、およびマクロモデルへのかなりの投資を必要とする。この付帯事実の複雑さは、検証すべきアナログおよび混合信号集積回路の複雑さにつれて増大する。設計チームが設計資源を追加すると、それは設計のコストに加えて検証資源の追加も必要とする。会社が製品を市場に出そうと努力している時には、設計サイクルの最後に課される不可避の時間的制約に起因して、これらの資源の効率的な使用が最優先事項となる。
【００１１】
電子製造業界における現在の技術の軌跡は、ますます単一チップ設計（システムズ・オン・ア・チップ(Systems on a Chip)（ＳｏＣ）または複数のチップが１つのパッケージに含まれるマルチチップモジュール（ＭＣＭ）と呼ばれる）に向かいつつある。ほとんどのシステムズ・オン・ア・チップおよびマルチチップモジュールは、概して、あるレベルの混合信号検証を必要とする。このことは、混合信号設計がサイズおよび複雑さにおいて増大するにつれて、ファーストパス設計(first pass design)の成功を保証し、タイム・ツー・マーケットを短縮するために、検証に追加の負担を発生させる。アナログおよび混合信号ＡＳＩＣ設計の複雑さは、ムーアの法則に従ってきたが、設計検証における技術革新は概してそうではない。
【００１２】
本開示の、検証サブルーチンコマンドを翻訳する方法は、貴重な設計時間および計算資源と、高価なシミュレータ資源とに具体的に焦点を当てることができる。本方法は、複雑な刺激の捕捉と、出力主張および測定値の捕捉をより効率的にする。結果として得られる知的なテストベンチは、検証を失敗させる領域を特定し、結果を手作業で解釈する必要を大幅に低減することにより、設計チームおよび設計マネジメントにはるかに早期のフィードバックを提供する。テスト効率の改善（すなわち、シミュレーション時間を浪費せず、出力解析の時間を短縮する）により、より効率的な資源の利用が可能になる。
【００１３】
本開示は、アナログおよび混合信号（Ａ／ＭＳ）特定アプリケーション向け集積回路（ＡＳＩＣ）のための電子的設計の検証の間に検証サブルーチンコマンドを翻訳することに関する。アナログおよび混合信号集積回路は、多くの現代的な電子的デバイスに存在し、それらの回路は製造の前にシミュレーションを介して検証される必要がある。
【００１４】
［概要］
本開示の電子的設計の検証コマンドの翻訳のコンピュータ実装されるシステムおよび方法の単なる一例およびその態様によれば、電子的設計を受信するステップと、少なくとも１つの間接分岐貢献ステートメントを有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、前記少なくとも１つの間接分岐貢献ステートメントを、前記少なくとも１つのアナログテストハーネスモデルに少なくとも部分的に基づいて複数の直接分岐貢献演算子へと翻訳するステップと、前記翻訳に少なくとも部分的に基づいてネットリストを生成することとを備えるが提供される。
【００１５】
本開示は、以下の詳細な説明および図面を考慮することにより、より明確に理解される。
【図面の簡単な説明】
【００１６】
【図１】本開示の事例を実施するのに適したコンピュータシステムを示すブロック図である。
【図２】本開示の事例を実施するのに適したコンピュータネットワークシステムを示すブロック図である。
【図３】低電圧損失（ＬＤＯ）回路の例を示す図である。
【図４】増幅回路の例を示す図である。
【図５】増幅器用のテストベンチピン出力を示す図である。
【図６】一般的な階層構造の例を示す図である。
【図７】インスタンスパースされたテスト階層構造例を示す図である。
【図８】電源管理集積回路用の第１のテストベンチ例を示す図である。
【図９】電源管理集積回路用の第２のテストベンチ例を示す図である。
【図１０】電源管理集積回路用の第３のテストベンチ例を示す図である。
【図１１】電子的設計の検証サブルーチンコマンドの翻訳を有するマルチプレクサおよびオペアンプの例を示す図である。
【図１２】電子的設計の検証サブルーチンコマンドの翻訳のＢレベルの例を示す図である。
【図１３】電子的設計の検証サブルーチンコマンドの翻訳のＤレベルの例を示す図である。
【図１４】電子的設計の検証サブルーチンコマンドの翻訳の階層構造の例を示す図である。
【図１５】電子的設計の検証サブルーチンコマンドの翻訳のＥレベルの例を示す図である。
【図１６】電子的設計の検証サブルーチンコマンドの翻訳の第１の例を示す図である。
【図１７】電子的設計の検証サブルーチンコマンドの翻訳の第２の例を示す図である。
【図１８】電子的設計の検証サブルーチンコマンドの翻訳の第３の例を示す図である。
【図１９】電子的設計の検証サブルーチンコマンドの翻訳の第４の例を示す図である。
【図２０】電子的設計の検証サブルーチンコマンドの翻訳の第５の例を示す図である。
【図２１】電子的設計の検証サブルーチンコマンドの翻訳の第６の例を示す図である。
【発明を実施するための形態】
【００１７】
詳細な説明中の参照符号は、様々な図中の類似の参照符号に対応する（そうでないと断った場合を除く）。書面中で用いられる記述的および方向的用語（右、左、後、頂点(top)、底、上側、側面、他）は、とくに断らない限り、紙上に配置された通りの図面自体を参照し、本開示の物理的限定を参照しない。各図はスケールを示すものではなく、図示され論じられる例の特徴のいくつかは、本開示の原理および特徴と、利点とを例示するために、単純化または誇張されている。
【００１８】
［詳細な説明］
本開示の特徴および他の詳細は、以下に、添付図面への参照とともにより詳細に記載される。添付図面には、開示される事項の様々な例示が示されおよび／または記載される。本明細書に記載される特定の例は、本開示の限定としてではなく、例として示されるということが理解される。さらに、開示される事項は、本明細書に記載されるいずれかの例に限定されると考えるべきではない。これらの例は、本開示が完全かつ完結したものとなり、開示される事項の範囲を当業者に十分に伝えるように提供される。本開示の本質的特徴は、本開示の範囲から逸脱することなく、様々な例において採用し得る。
【００１９】
本明細書において用いられる用語法は、特定の例を記述することのみを目的としており、開示される事項の限定としては意図されていない。全体を通して、類似した番号は類似した要素を参照する。本明細書において用いられる用語「および／または(and/or)」は、関連して列挙される事項のうち１つ以上の任意の組み合わせすべてを包含する。また、本明細書において用いられる単数形「a」、「an」および「the」は、複数形も同様に含むことを意図される（ただしそうでないことを文脈が明確に示す場合を除く）。さらに、本明細書において用いられる場合、用語「備える」（"comprises" および／または "comprising"）および「含む」（"comprises" および／または "comprising"）は、記述された特徴、整数(integers)、ステップ、動作、要素、および／またはコンポーネントの存在を特定するが、他の特徴、整数、ステップ、動作、要素、コンポーネント、および／またはこれらの群のうち１つ以上の存在または追加を排除しないということが理解される。また、本明細において用いられる相対的用語（第１の、第２の、頂点(top)、底(bottom)、左、右、等）は、１つの主体または動作を別の主体または動作と区別するためだけに用いられる場合があり、必ずしもそのような主体または動作の間の実際の関係または順序を要求または示唆するものではない。
【００２０】
アナログおよび混合信号ＩＣ設計への参入障壁のコストは、とくに自社工場を持たない会社（パッケージされたＡＳＩＣの形で、または顧客のシステムズ・オン・ア・チップ（ＳｏＣｓ）またはマルチチップモジュール（ＭＣＭｓ）に集積されるべきモジュールの形で、ＡＳＩＣ知的財産を開発する会社）に特有のものである。たとえば、自社工場を持たない設計センターに５人のＩＣ設計エンジニアが配置されている場合には、そのチームに設計ツールを持たせることは、人員を４倍にするのと財務的に等価である。これは、ＥＤＡツールを所有することの高いコスト（毎年のライセンス料、設置およびサポート、トレーニング等に限られない）に起因する。検証コマンドの翻訳を通じてシステムの使用を縮小することは、より効率的な資源配置を可能にする。
【００２１】
アナログおよび混合信号検証は、時間・計算機集約的である。回路が仕様に合わせて機能することを保証するためには、概して、様々な条件および様々な製造条件における様々な入力に対する回路の機能性をシミュレートすることが必要となる。
【００２２】
分岐貢献ステートメントは、アナログネットおよびポートの間の連続的な時間における行動を記述するために利用される。１つ以上のアナログネットの間の数学的関係を記述するために、直接貢献ステートメントは、分岐貢献演算子「＜＋」を利用する。これらの直接貢献ステートメントは、コンスタント表現である引数を利用する。標準的な分岐貢献ステートメントは、条件的表現がコンスタント表現でない限り、条件付き、ルーピング、命名または解析ベースのステートメントにおいて使用できない。区別のために、我々はこれらの標準的な分岐貢献ステートメントを直接分岐貢献ステートメントと呼ぶ。本開示において、間接分岐貢献ステートメント（ＩＢＣＳ）は、直接分岐貢献ステートメント（ＤＢＣＳ）よりもパワフルである。具体的には、間接分岐貢献ステートメントは、ユーザの設計、設計構成、シミュレーション／解析構成、検証状態、および検証履歴に対して動的な条件付きおよびルーピングコンストラクトにおいて用いることができる。間接分岐貢献ステートメントは、ネットリストの内容に基づき、直接分岐貢献ステートメントを生成する動的コードを可能にする。
【００２３】
ＡＭＳＴＴＭ（アナログ混合信号テスト）(Analog Mixed Signal Test)は、アナログ／混合信号（Ａ／ＭＳ）刺激と、主張および出力測定値とを特定するためのモジュールである。ＡＭＳＴは、刺激および出力主張の間の複雑な関係を効率的に捕捉することができる。ＡＭＳＴ言語（ＡＭＳＴＬＴＭ）において特定される検証モデルは、比較的高レベルのコマンド（続いてＶｅｒｉｌｏｇ−Ａ／ＡＭＳへと翻訳される）を捕捉する。それぞれ、Ｖｅｒｉｌｏｇ−Ａ、Ｖｅｒｉｌｏｇ−ＡＭＳ、ＶＨＤＬ−ＡＭＳ、ＳｙｓｔｅｍＣ−ＡＭＳ等（アナログおよび混合信号を定義するための標準化された言語である）である。このコードは、アナログシミュレータのための直接分岐貢献ステートメントをサポートする任意の言語標準規格を生成するために用いることもできるということが想像される。
【００２４】
ＡＭＳＴＬは、結果として生じる翻訳されたコードが、回路の行動的モデルにおいて用いられるか、テストハーネスにおいて用いられるかに関わらず、ＩＢＣＳを伴う比較的高レベルのコマンドを捕捉するために用いることができる。ＡＭＳＴ内の主張を捕捉すること（回路の行動的モデルにおけるものではなく）の価値は、回路の表現に関わらず、検証コマンドを再利用できるということである。たとえば、図１５において、ＡＭＰ＿ＡＭＳＴブロックは、オペアンプおよびマルチプレクサが、トランジスタレベルの結線図として表現されているか、行動的モデルとして表現されているかに関わらず、同じコマンドおよび主張を実行する。このときＡＭＰ＿ＡＭＳＴは、これらの回路とともに再利用可能な検証知的財産（ＶＩＰ）としての役割を果たす。このコンセプトは、第三者にアナログ設計知的財産（ＩＰ）を提供する場合を考えると、とくに貴重となる。購入者は、購入したＩＰとともにより大きなＳＯＣ内に埋め込むことができる検証ＩＰを有する。このＶＩＰは、購入した設計ＩＰが不適切に使用されるリスクを低減する。検証ＩＰは、デジタル回路およびトップレベルの入出力について証明されたコンセプトであるが、埋め込まれたアナログＩＰとともに提供することはこれまで実用的ではなかった。
【００２５】
言語ＡＭＳＴＬは、アナログ混合信号集積回路設計について、行動、刺激、出力、測定値、等を記述することを意図しており、アナログシミュレータに入力することを意図される標準的なハードウェア記述言語において利用可能なものより高いレベルのコンストラクトを提供する。利点の１つは、ＡＭＳＴＬにおいてＩＢＣＳが利用可能であることに基づく効率の改善である。加えて、ＡＭＳＴＬコードは、任意の所望の標準言語を出力するためにパースすることができる。モジュールＡＭＳＴは、アナログ混合信号検証知的財産の行動的モデルであり、設計内の階層構造の任意のレベルに存在するよう意図される。モジュールは、それが監視している、刺激している、および／または、評価しているＩＰとともに存在することができる。モデルの出力形式（Ｖｅｒｉｌｏｇ−Ａ、Ｖｅｒｉｌｏｇ−ＡＭＳ、ＶＨＤＬ−ＡＭＳ、等）は、ネットリストを介して、アナログまたは混合信号シミュレータに入力可能である。
【００２６】
ネットリストは、
１）コンポーネントの記述（たとえば、トランジスタ、抵抗器、コンデンサ、行動的モデル、ＡＭＳＴ、デジタルゲート）および設計を組み立てるコンポーネントの属性（たとえばＰＭＯＳ２はＷ＝１ｕｍを有する）
２）設計の接続性（たとえば、ＰＭＯＳ１のドレインはＮＭＯＳ２のゲートへの接続である）
３）特定のシミュレーションタスクに対する設計の階層構造の構成（たとえば、ＰＬＬ１はモデルとして表現され、ＬＤＯ３はトランジスタレベルで表現される）
４）シミュレーションタスクの構成（シミュレーションタイプ（たとえば過渡シミュレーション）、持続時間（たとえば２ｍｓ）、許容度設定（たとえばｉａｂｓｔｏｌ＜１０ｅ−１０）、デジタルパーティションとアナログパーティションとの間のインタフェース要素の構成、および、出力信号選択を含む）
５）検証データベースにおける任意の情報（予測性能値、信号遷移、信号形状、デューティサイクル、等）（検証活動に関する任意の信号または要素のもの）
を含むがこれらに限定されないシミュレーションタスクおよび検証プロジェクトに関する情報を含む１つ以上のデータベースの表現である。
【００２７】
ネットリストは、シミュレーションへの入力である。シミュレーションの目的は、ネットリストにおいて指定される刺激条件および精度基準のもとで、ネットリストに記述される回路の行動を予測することである。ａ）集積回路（ＩＣ）設計のためのフォトマスクは非常に高価であり、ｂ）ＩＣの製造は長時間を要し、ｃ）ＩＣ内部の信号を調べることは極めて困難であり、ｄ）現代のＩＣ設計のブレッドボーディングは非実用的であるので、シミュレーションは集積回路（ＩＣ）設計の必須部分である。シミュレーションはシミュレータで実行される。高レベルでは、集積回路をシミュレートする手法が３つあり、すなわち、ＳＰＩＣＥレベルシミュレーション、デジタルレベルシミュレーション、および、混合モードシミュレーション、である。ＳＰＩＣＥレベルシミュレータは、ネットリストを、暗黙積分法(implicit integration method)、ニュートン法、およびスパース行列技法（sparse matrix technique）を用いて解かれる連立非線形微分代数方程式へと縮小する。ＳＰＩＣＥレベルシミュレータは、絶対的または相対的許容度の組のもとで、電荷(charge)を保存し、キルヒホッフの電流法則およびキルヒホッフの電圧法則を満たす。デジタルシミュレータは、ネットリストを、離散的なイベントによってトリガされるブール関数の組へと縮小する。デジタルシミュレータは、電荷を保存せず、キルヒホッフの電流法則およびキルヒホッフの電圧法則を満たさない。しかしながらそれらは、はるかに大規模な回路を、より高い抽象度のレベルでシミュレートできる。混合モード（ＡＭＳ）シミュレーションは、ＳＰＩＣＥレベルシミュレータをデジタルシミュレータと組み合わせる。このタイプのシミュレーションでは、設計の一部をシミュレートするためにＳＰＩＣＥレベルシミュレータが用いられ、ＳＰＩＣＥレベルパーティション内のコンポーネントのネット電圧および端子電流を予測し、一方で、デジタルパーティション内のコンポーネントのデジタル出力を予測するためにデジタルシミュレータが用いられる。混合モードシミュレーションでは、ＳＰＩＣＥレベルパーティションとデジタルレベルパーティションとは、インタフェース要素（基本的レベルでは、（ＳＰＩＣＥパーティションからデジタルパーティションへと向かう信号については）理想化された１ビットアナログ・デジタル変換器であり、（デジタルパーティションからＳＰＩＣＥパーティションへと向かう信号については）１ビットデジタル・アナログ変換器である）で接続される。
【００２８】
シミュレーションは、以下の出力を生成し得る。
１）ネット電圧および端子電流の連続時間／連続値波形
２）論理ネット出力の離散時間／離散値デジタル波形
３）ネットリストに含まれていた任意のＡＭＳＴモジュールを含む任意の行動的モデルによって書かれた任意のデータ
４）主張違反メッセージ
５）モデル行動についてのデバッグ情報、回路収束困難度、等
【００２９】
シミュレーションからの出力は、１つ以上のデータベースに記憶される。これらの出力は、後に、回路の安定性を評価するために用いられる。このプロセスは手動であってもよい。設計者は、たとえば、波形をグラフィカル波形ビューワーでレビューすることができる。このプロセスは自動化されてもよい。ソフトウェアプログラムは、スペックコンプライアンス行列（回路シミュレーションにおいて満足された設計目的の組および失敗した設計目的の組を要約する）を構築するために、波形結果およびＡＭＳＴ出力をプログラムに従って解析することができる。
【００３０】
間接分岐貢献ステートメント（ＩＢＣＳ）とともに行われ得ることの例は、
１．任意の数のピンを伴うバス（たとえば基準電流バス）をサポートする間接分岐貢献ステートメントを書く。バスのサイズが設計者によって変更されると、実際の直接分岐貢献ステートメントの数が動的に再構成される。
２．ネット名または回路接続性からスペック制限を抽出する間接分岐貢献ステートメントを書く（これによって供給接続性チェックの実装が可能になる）。
３．以前のシミュレーション結果に基づき、制限を設定する間接分岐貢献ステートメントを書く。
４．追加のチェックを、ブロックのトランジスタレベルの実装についてのみ追加する間接分岐貢献ステートメントを書く。
【００３１】
これらのケースのそれぞれにおいて、間接分岐貢献ステートメントを組み立てるコードは、言語標準規格と互換性のあるＶｅｒｉｌｏｇ−Ａ／ＡＭＳステートメントを生成する。
【００３２】
したがって、本開示の検証コマンドの翻訳のシステムおよび方法は、以下の課題のうち１つ以上を解決する可能性がある。すなわち、短縮されたプログラミング時間を介してコンピュータおよび人的資源のより効率的な使用ができるようにすること、マーケットまでのタイムラグを短縮すること、および／または、より焦点を絞ったより完全な検証確認を確実にすること、である。
【００３３】
図１のコンピュータシステムは、本開示が実装可能なシステムアーキテクチャ（たとえば例示のコンピュータシステム１００）を示す。図１の例示的なコンピュータシステムは、説明のためだけのものである。本記載は、特定のコンピュータシステム（パーソナルコンピュータ等）を記載する際に一般的に用いられる用語を参照する場合があるが、本記載およびコンセプトは、他のシステム（図１には類似しないアーキテクチャを有するシステムを含む）にも同等に当てはまる。
【００３４】
コンピュータシステム１００は、典型的には、中央処理装置（ＣＰＵ）１１０（１つ以上のマイクロプロセッサによって実装されてもよい）と、情報の一時的記憶のためのランダムアクセスメモリ（ＲＡＭ）１１２と、情報の永続的記憶のための読み出し専用メモリ（ＲＯＭ）１１４とを含む。ＲＡＭを制御するためにメモリ制御装置１１６が提供される。バス１１８が、コンピュータシステムのコンポーネントを相互接続する。バスを制御するために、バス制御装置１２０が提供される。システムのコンポーネントからの様々な割り込み信号を受け取って処理するために、割り込み制御装置１２２が用いられる。フラッシュ１２４、ＤＶＤ１２６、またはハードディスク１２８、たとえばソリッドステートドライブによって、大容量記憶が提供されてもよい。リムーバブルメディア（フラッシュドライブおよびＤＶＤ等）を介して、コンピュータシステムとデータおよびソフトウェアを交換してもよい。フラッシュドライブは、ユニバーサルシリアルバス（ＵＳＢ）ドライブ１３０に挿入可能であり、ユニバーサルシリアルバス（ＵＳＢ）ドライブ１３０は制御装置１３２によってバスに接続される。同様に、ＤＶＤはＤＶＤドライブ１３４に挿入可能であり、ＤＶＤドライブ１３４は制御装置１３６によってバスに接続される。ハードディスクは固定ディスクドライブ１３８の一部であり、固定ディスクドライブ１３８は制御装置１４０によってバスに接続される。
【００３５】
コンピュータシステムに対するユーザ入力は、いくつかのデバイスによって提供可能である。たとえば、キーボード１４２およびマウス１４４が制御装置１４６によってバスに接続される。オーディオ変換器１４８（マイクロホンおよびスピーカとして作用してもよい）は、図示のようにオーディオ制御装置１５０によってバスに接続される。他の入力デバイス（ペンおよび／またはタブレット等）がバスおよび適切な制御装置およびソフトウェアに接続されてもよい。システムＲＡＭへの直接のメモリアクセスを行うために、ＤＭＡ制御装置１５２が提供される。
【００３６】
ビデオディスプレイ１５６を制御するビデオサブシステム１５４によって、視覚的表示が生成される。コンピュータシステムは、通信アダプタ１５８（ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）または他の適切なネットワーク（概略的にバス１６０およびネットワーク１６２によって示される）にシステムが相互接続できるようにするもの）も含む。
【００３７】
コンピュータシステムの動作は、概して、オペレーティングシステム（いくつか例を挙げれば、Microsoft Corporationから入手可能なウィンドウズ（登録商標）およびウィンドウズ７オペレーティングシステム、Ｕｎｉｘ（登録商標）、Ｌｉｎｕｘ（登録商標）またはＡｐｐｌｅ  ＯＳ  Ｘオペレーティングシステム）によって制御され調和される。オペレーティングシステムは、システム資源の割り当てを制御し、とくに、スケジューリング処理、メモリ管理、ネットワーキング、Ｉ／Ｏサービス等のタスクを実行する。
【００３８】
コンピュータシステム図２は、システム２００を示す。システム２００では、コンピュータユーザ２１０がネットワーク２１２に接続され、ネットワーク２１２がクラウド２１４および計算ファーム２１６に接続される。
【００３９】
低電圧損失（ＬＤＯ）３００回路の概略例が図３に示される。ＬＤＯは増幅器Ａ１を有する。増幅器Ａ１は、反転入力（「−入力」）と、非反転入力（「＋入力」）と、出力と、正電圧入力「＋Ｖ」と、負電圧入力「−Ｖ」とを有する。ＬＤＯ回路は、電圧入力Ｖｉｎと、電圧出力Ｖｏｕｔとを有する。ＬＤＯは、電力出力ブロックＱ１、Ｑ２およびＲ２を有する。ＬＤＯフィードバック回路は、Ｒ３、Ｒ４、Ｄ１およびＲ１を備える。増幅器Ａ１はシンボルと呼ばれ、要素Ｄ１、Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｃ１、Ｃ２、Ｑ１およびＱ２はプリミティブと呼ばれる。
【００４０】
増幅器Ａ１  ４００回路の概略例は、図４に示される。増幅器のシンボルは、トランジスタＱ３、Ｑ４、Ｑ５、Ｑ６、Ｑ７およびＱ８と、抵抗器Ｒ５とを備える。反転入力（「−入力」）と、非反転入力（「＋入力」）と、出力と、正電圧入力「＋Ｖ」と、負電圧入力「−Ｖ」とを有する増幅器Ａ１。
【００４１】
図５は、増幅器Ａ１  ５１０のためのテストベンチ５００を示す。テストベンチは、それが接続されたデバイスのために実行される、入力、出力、テスト条件等の具体的な構成である。テストベンチは、反転入力５１２と、非反転入力５１４と、正電源入力５１６と、負電源入力５１８と、出力５２０とを有する。テストベンチは、関連付けられた接続、電源供給、ＩＯ、等を有し、これらはテストベンチコラテラル（test bench collateral）と呼ばれる。回路の周縁のまわりの部分は、検証ハーネスと呼ばれる。ピン出力および検証ハーネスの動作は、テストされる回路に整合する必要がある。
【００４２】
図６は、テスト中のデバイス(Device under test)（ＤＵＴ）を伴うテストベンチの一般的な階層構造の例６００を示す。階層構造はレベルＡ、Ｂ、Ｃおよびデバイスに従って、また、インスタンス１、２および３に従って配列される。接続線は、具体的な検証に対し、階層構造を通してどのモデルどうしが接続されているかを示す。レベルおよびインスタンス内で、複数のビュータイプが存在可能である。これらの例は、各ケースおよびビューまたはビュータイプに限定することを意図するものではなく、いくつかの可能な階層構造構成を示すものである。
【００４３】
集積回路設計階層構造は、階層構造表現を利用した集積回路設計の表現である。この表現により、数百万個のコンポーネント（トランジスタ、抵抗器、コンデンサ、デバイスを接続する金属線、等）を含み得る複雑なデザインの、より効率的な作成が可能になる。設計プロセスの任意の時点において用いられる設計階層構造表現は、実行される設計ステップおよび設計機能のタイプ（アナログ、デジタル、メモリ、等）に基づいて異なり得る。
【００４４】
設計が製造されるべきである場合には、表現をマッピングできるように設計のレイアウトが作成される。このマッピングにより、設計製造が可能になるように、マスクセットの個々のレベル上にパターンが作成できるようになる。概して、レイアウト表現を作成するための設計フローは、デジタル機能ブロックおよびサブシステムに比べて、アナログの場合には非常に異なったものとなる。
【００４５】
設計プロセスの早期において、設計の大きな部分が、はじめて設計され既存のレイアウト表現を持たずに存在する可能性がある。設計の他の部分はすでに証明されている可能性があり、これらはより高いレベルの抽象度において表現されてもよく（または組み合わせで）レイアウト表現を含んでもよい。
【００４６】
本明細書において「ビュー」として参照される、いくつかの共通のタイプ(common type)の設計表現は、様々なビュータイプを備えてもよい。概略ビュータイプは、線またはネットで示される接続性を伴うブロックまたはコンポーネントと、ピンを介した階層構造の他のレベルへの接続との絵(picture)である。Ｓｐｉｃｅビュータイプは、コンポーネントとその関連付けられたパラメータとの表現であり、場合によっては、ｓｐｉｃｅネットリストへとインスタンス化される具体的なデバイスモデルを含む。ＬＶＳＥｘｔｒａｃｔは、ツール（レイアウトビューを解析するとともに、個別のコンポーネントおよび接続性をリバースエンジニアリングするもの）によって作成されるビュータイプである。このタイプのビューのバリエーションは、物理的レイアウトの結果として得られる、設計者によっては描かれなかった抽出された寄生的コンポーネントを含んでもよい。レイアウトビュータイプは、設計のその部分に対するルーティング(routing)を含む具体的な幾何学的配置の表現である。ＶｅｒｉｌｏｇＴＭビュータイプは、標準化されたＶｅｒｉｌｏｇＴＭ形式のテキストファイルである。Ｖｅｒｉｌｏｇ−ＡＴＭビュータイプは、標準化されたＶｅｒｉｌｏｇ−ＡＴＭ文法のテキストファイルである。Ｖｅｒｉｌｏｇ−ＡＭＳＴＭビュータイプは、標準化されたＶｅｒｉｌｏｇ−ＡＭＳＴＭ文法のテキストファイルである。ビュータイプの名称は、電子的設計自動化ツールプロバイダによって異なり得るが、例としてＳｐｅｃｔｒｅＨＤＬおよびＨＤＬ−Ａを含む。
【００４７】
他のビュータイプのタイプは、階層構造の組織化および可読性を支援してもよい。一例として、概略的キャプチャシステム等のグラフィック設計ツールは、配置されたグラフィックについてシンボルビュータイプを用いてもよい。シンボルは、階層構造を介してインスタンスを接続するピンと、ブロックの機能を示す図面とを含んでもよい。各例は演算増幅器、基本的デジタルゲート、トランジスタ、抵抗器、等に対する共通のシンボルを含む。
【００４８】
記載の複雑性にさらに加えて、設計階層構造の、あるレベルにおける所与のブロックは、同一ビュータイプのビューを複数含んでもよい。一例は、あるブロックの様々なＶｅｒｉｌｏｇＴＭ表現（たとえば、１つはレイアウトに基づく注釈付きタイミングを伴うもの、１つは推定タイミングを伴うもの、１つはタイミングを伴わないもの）であるか、または、設計表現の様々なレベル（ゲートレベル、レジスタ転送レベル（ＲＴＬ）、等）である。同様に、アナログビューは多数の概略ビューを有してもよい（たとえば、最終トランジスタレベル設計にマッピングするもの、より高いレベルのモデリングのための行動的ブロックの配置を含むもの、レイアウトからの寄生的要素を含み得るもの、混合信号シミュレーションのためのアナログブロックとデジタルブロックとの間のインタフェース要素を含むもの）。また、アナログブロックについて、様々なシミュレーションエクササイズの目的に基づいてモデルが様々な機能性および精度を含む場合には、同一のブロックに対して複数のＶｅｒｉｌｏｇ−ＡＴＭまたはＶｅｒｉｌｏｇ−ＡＭＳＴＭモデルビューが存在してもよい。これら複数のビューおよびビュータイプは、具体的なタスクまたは解析のために用いられる構成にマッピングされる。
【００４９】
しばしば、ある具体的なビューがどのタイプの解析のために有益な可能性があるかについてのヒントを提供するために、ビュー名称が作成される。ビュー名称は、以下にリストされるもの等を含んでもよい。Ｓｃｈｅｍａｔｉｃは、トランジスタレベルまたは行動的モデル等の階層構造のいずれかのレベルにおいて評価され得るブロックの配置を含む概略ビューである。Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌは、行動的要素を備える概略ビューである。Ｓｃｈｅｍａｔｉｃ＿ｐａｒａｓｉｔｉｃｓは、レイアウトから抽出または推定される寄生的コンポーネントを含む概略ビューである。Ｓｐｉｃｅは、ネットリストに実装される情報と、具体的なアナログシミュレータのためのコンポーネントとを含むｓｐｉｃｅビューである。Ｂｅｈａｖｉｏｒａｌ＿ｖａは、Ｖｅｒｉｌｏｇ−ＡＴＭを評価し得るアナログシミュレータのための具体的なブロックをモデル化するＶｅｒｉｌｏｇ−ＡＴＭ形式のテキストビューであり、Ｂｅｈａｖｉｏｒａｌ＿ｖａｍｓは、Ｖｅｒｉｌｏｇ−ＡＴＭおよびＶｅｒｉｌｏｇを評価し得る混合信号シミュレータのための具体的なブロックをモデル化するＶｅｒｉｌｏｇ−ＡＭＳＴＭ形式のテキストビューである。
【００５０】
図６に示す具体例では、テスト中のデバイスＡ１、インスタンス１を伴う一般的な階層構造の例が、後続の構成に基づいて定義される：Ａ１、インスタンス１およびＢ１、インスタンス１は、Ｓｃｈｅｍａｔｉｃレベルモデルによってモデル化される。Ｂ２、インスタンス１は、Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌモデルによってモデル化され、Ｃ１、インスタンス１およびＣ２インスタンス１は、Ｓｃｈｅｍａｔｉｃモデルを用いてモデル化される。Ｃ１、インスタンス２およびＣ３、インスタンス１は、Ｂｅｈａｖｉｏｒａｌ＿ｖａモデルによってモデル化される。階層構造の底(bottom)には、デバイス１、２および３、インスタンス１、２および３が、Ｓｐｉｃｅを用いてモデル化される。
【００５１】
図６に示す具体例では、デバイス１、インスタンス２はダミーデバイスであり、したがって、シミュレータマトリックスを変更しない。デバイス１、インスタンス２は、ダミーデバイスとして接続されるＣ１、インスタンス１概略内に配置されており、したがって、シミュレータ内にスタンプされるＡ１、インスタンス１マトリックスの一部ではない。
【００５２】
ある変更が、検証の再実行を必要とするか否かは、階層構造を介した接続によって部分的に決定される。一般的な階層構造の例に対するこの具体的な例では（テスト中のデバイスＡ１、インスタンス１）、デバイス１、インスタンス２、Ｓｃｈｅｍａｔｉｃビューが変更されたとしても、このデバイスはダミーデバイスであって、シミュレータ内にスタンプされるマトリックスを修正しないので、シミュレータを再実行する必要はないであろう。
【００５３】
図６に対するビューでは、Ｃ１、インスタンス１  Ｓｃｈｅｍａｔｉｃビューが、シミュレータモデルの構成の一部を形成する。もしこれが変更され、変更がシミュレータマトリックスに影響を与えるのに十分なほど実体的なものであれば、テストベンチ１は再実行する必要があろう。Ｃ１、インスタンス２Ｓｃｈｅｍａｔｉｃビューは、シミュレータモデル例の構成の一部を形成しないので、これが変更されたとしても、テストベンチ１は再実行する必要はないであろう。
【００５４】
より抽象的なレベルでは、Ｃ１、Ｓｃｈｅｍａｔｉｃビューが変更された場合（したがってこれによりインスタンス１および２内の概略ビューが変更される）には、これはシミュレータマトリックス内にスタンプされる情報の変更に影響を与えるので、テストベンチ１は再実行する必要があろう。Ｃ１、Ｓｃｈｅｍａｔｉｃビューに対する非実体的な変更が（たとえばコメントの追加によって）行われ、マトリックス内のシミュレータによってスタンプされる情報に変更が行われなかった場合には、この設計構成は再実行する必要がないであろう。構成に変更が行われたか否かと、マトリックスのスタンプの影響とを決定することは、必要となる検証実行の回数に大きな影響を与えることが明白である。
【００５５】
図７は、電源管理チップＰＭＩＣ７００をモデル化するためにから選択され得る様々なモデルビューのいくつかを示す。ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈは、Ｂｅｈａｖｉｏｒａｌ＿ｖａｍｓレベルおよびＢｅｈａｖｉｏｒａｌ＿ｖａレベル（刺激および出力を有する）を有する。ＰＭＩＣは、ＳｃｈｅｍａｔｉｃレベルおよびＳｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌレベルを有する。ＬＤＯ、ＬＤＯイネーブル制御およびバッテリスーパーバイザは、Ｓｃｈｅｍａｔｉｃレベル、Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌレベルおよびＢｅｈａｖｉｏｒａｌ＿ｖａｍｓレベルにおいて定義される。電圧基準、ＬＤＯフィードバックおよびＬＤＯ比較器は、ＳｃｈｅｍａｔｉｃレベルおよびＢｅｈａｖｉｏｒａｌ＿ｖａレベルにおいて定義される。ＬＤＯ増幅器は、ＳｃｈｅｍａｔｉｃレベルおよびＳｃｈｅｍａｔｉｃ＿ｐａｒａｓｉｔｉｃｓレベルにおいて定義される。行動的増幅器（Behavioral Amplifier）および行動的バイアス（Behavioral Bias）は、Ｂｅｈａｖｉｏｒ＿ｖａレベルにおいて定義される。ＬＤＯ制御論理は、ＳｃｈｅｍａｔｉｃレベルおよびＶｅｒｉｌｏｇＴＭレベルにおいて定義される。デバイス１〜Ｘは、Ｓｐｉｃｅレベルにおいて定義される。
【００５６】
図８は、電源管理チップ８００のための、図６に記載される電源管理チップＰＭＩＣの第１テスト階層構造を示す。この図は、Ｓｐｉｃｅプリミティブコンポーネント構成が定義されている場合には、階層構造の一部を例示する。このモデルでは、デバイス１、インスタンス２はダミーデバイスであり、シミュレータマトリックスを変更しない。
【００５７】
図９は、電源管理チップ９００のための、図７に記載される電源管理チップＰＭＩＣの第２テスト階層構造を示す。この図は、いくつかのアナログ行動的レベルモデルと、いくつかのＶｅｒｉｌｏｇＴＭ表現と、いくつかのＳｐｉｃｅプリミティブコンポーネントとを伴う可能な混合構成の１つのための階層構造の一部を例示する。
【００５８】
図１０は、電源管理チップ１０００のための、図７に記載される電源管理チップＰＭＩＣの第３テスト階層構造を示す。これらの図は、行動的構成が定義されている場合には、階層構造の一部を例示する。
【００５９】
図１１は、比較的大規模なシステム・オン・ア・チップ（ＳＯＣ）に含まれる増幅器のなんらかの典型的な特徴を持つ演算増幅器の簡単な例を示す。この簡単な例でも、混合信号設計に対する今日の検証困難性の増大する複雑さを実証することができる。簡単なマルチプレクサ（ｍｕｘ）が増幅器に入力を供給する。マルチプレクサに対する制御信号ＩＮ＿ＣＴＲＬが、マルチプレクサブロック内の論理ゲートの列に対するデジタル入力信号として働く。これらのゲートは、２ペアのアナログ入力の間で選択するためにスイッチを制御する（すなわち、ペア１（ＩＮ＿ＰＯＳ＿１およびＩＮ＿ＮＥＧ＿１）およびペア２（ＩＮ＿ＰＯＳ＿２およびＩＮ＿ＮＥＧ＿２）である）。たとえば、論理レベル「０」に等しいＩＮ＿ＣＴＲＬの値は、ＩＮ＿ＰＯＳ＿１およびＩＮ＿ＮＥＧ＿１に接続されたスイッチを閉じることができ、論理レベル「１」のＩＮ＿ＣＴＲＬの値は、ＩＮ＿ＰＯＳ＿２およびＩＮ＿ＮＥＧ＿２に接続されたスイッチを閉じることができる。その後、選択されたアナログ入力はマルチプレクサから出力される。このとき、これらの信号は増幅器入力に接続される。マルチプレクサブロックは、電源供給への接続を有する。このケースでは、アナログ入力がブロックを通過するので、電源供給接続は、アナログ供給電圧ＡＶＤＤおよびＧＮＤに対する。
【００６０】
増幅器ブロックについても、電源供給接続は、アナログ供給電圧ＡＶＤＤおよびＧＮＤに対する。複雑なＳＯＣでは、複数の内部電源供給を有することは珍しいことではないということに注意すべきである。アナログブロックについてすら、異なる電源供給レベルのようなオプションがあり得る。他のケースでは、同一の電圧レベルが供給されてもよいが、供給源の１つは、供給ライン上のいかなるノイズにも敏感な可能性のあるクリティカルなブロックに対して用いられてもよい。よりノイズの多い他のブロック（典型的には、高周波スイッチングのような機能に起因するもの）は、同じ電圧レベルの別の供給源に接続されてもよい。この理由から、デジタルブロックは、ほぼ常に、アナログブロックとは分離して電源供給される。さらに、電力低減の重要さが増しているので、電力供給の一部は様々な動作モードの間にオフにされる。結果として、設計エンジニアは、あるブロックが適切な時間に利用可能な供給源に接続されているということを検証する必要がある場合もある。
【００６１】
比較的大規模なチップ内の別の共通構成は、アナログ機能に必要なバイアス電流の多くを提供する共通ブロックを有することである。この例では、増幅器は１ｕＡバイアス電流のための入力を有する。別の共通オプションは、トリム(trim)および制御またはプログラム可能性に対する信号を含む。この例では、増幅器は、利得値を設定できる２つの制御ビットＧＡＩＮ＿ＣＴＲＬ＜１：０＞と、利得値をわずかに調整する３ビットＧＡＩＮ＿ＴＲＩＭ＜２：０＞とを有する。典型的には、各デバイスがテストされ、製造プロセスのバリエーションを補償して所望の利得値を指定された値になるべく近く整合させるために用いられる時に、トリムが実行される。このケースでは、ＧＡＩＮ＿ＣＴＲＬは、具体的なアプリケーションに対して最良の利得設定をピックするためのプログラム可能性特徴(programmability feature)である。ＥＮＡＢＬＥ信号により、チップが動作している間に増幅器がオンまたはオフになることができる。これらのタイプの制御は、電力消費を最小化するために、チップのクリーンパワーアップシーケンスを可能にするために、および、障害状況中に保護を提供するために、しばしば提供される。
【００６２】
この簡単な例について、検証要件の例がいくつかある。これらの要件は、いくつかのカテゴリに分離することができる：
・動作機能‐増幅器およびマルチプレクサがそれぞれの機能的要件に適合するか
‐マルチプレクサが選択された入力信号を正しくマルチプレクサ出力に通過させるか
‐増幅器がその期待される動作に適合するか（利得、スルーレート(slew rate)、入力範囲、出力範囲、等）
・電源供給およびバイアス
‐ブロックが適切な電源供給に接続され、正しいバイアスを受けるか
‐供給およびバイアスは、期待される時に利用可能なであり、期待される範囲内で動作するか
・制御信号
‐制御信号の全設定について、正しい行動が観測されるか
・障害状況
‐ブロックピンのいずれかが許容または期待される範囲外の態様で行動した時に、ブロックが適切に動作するか、または、その状況があり得ない（他の部分で防止されている）か、処置することを期待されていないか
【００６３】
本特許のコンテキストにおいて、価値のうち多くは、多数の可能性の組み合わせをステップスルーするプロセスをより効率的に管理することの結果として得られる。最良の例の１つは、多数のデジタル制御またはトリムオプションを単にステップスルーすることである。
【００６４】
比較的大規模なＳＯＣと、このＳＯＣに対するトップレベルテストベンチとのコンテキスト内の簡単な例を考える。このテストベンチは、チップ用の多数のテストベンチのうちの１つであってもよいが、この例は、増幅器のために開発された検証知的財産が、トップレベルテストベンチからでも如何に活用され得るかを示すことができる。図６に示す階層構造的コンセプトは、テストベンチの例がどのようにして構築され得るかを示すために挿すことができる。この例では、図６からのＡ１がトップレベルテストベンチ（チップ、すべての必要な回路またはモデル（システム入力、出力負荷、外部電源供給またはチップのための他のコンポーネントを表す）、テスト構成の各部（ソフトウェアを介してプログラムに従って記述可能なもの）を含む）を表す。この階層構造の例は、図６の図示に読み取ることができる。上述のように、階層構造内の各項目は、利用可能な情報とブロックの意図される目的とに依存して、多くのタイプのビューによって表すことができる。
【００６５】
この例における階層構造の第２レベル（図６のレベル「Ｂ」に相関する）は、このトップレベルテストベンチ内に配置されたすべての要素を含む。最初の要素はチップ自身である。この例では、チップはセルＢ１として識別される。Ｂ２は、チップに対するシステム入力を表すためのモデルまたは回路を含むセルであってもよい。Ｂ３は、チップから見たシステム出力負荷およびシステム提供電源供給を表すモデルまたは回路を含むセルであってもよい。この例では、Ｂ４は、チップのピンに直接または他のブロックに接続するための、任意のブロック内で任意のパラメータ化された機能に対する値を提供するための、および／または、シミュレーション中に具体的な性能を監視し測定するための、ソフトウェアに書かれたブロックである。この簡単な例では、増幅器ブロックの例の比較的低いレベルにおける信号の作成につながる信号のみが含まれる。
【００６６】
この、ソフトウェア内に捕捉可能なブロックＢ４（単数または複数）は、典型的には、集積回路設計をターゲットとした高級言語（ＳｙｓｔｅｍＶｅｒｉｌｏｇ、Ｖｅｒｉｌｏｇ、Ｖｅｒｉｌｏｇ−ＡＭＳ、Ｖｅｒｉｌｏｇ−Ａ、ＳｙｓｔｅｍＣ、ＶＨＤＬ、等）を用いるが、より一般的な言語およびスクリプト（Ｃ、Ｃ＋＋、ＴＣＬ、ＰＥＲＬ、等）を活用してもよい。ソフトウェア部分は、刺激を生成してもよく、既存の回路またはシステムブロックにおけるパラメータ用の設計値を定義してもよく、シミュレーション全体を通して性能を測定し監視してもよい。たとえば、ＳｙｓｔｅｍＶｅｒｉｌｏｇのためのユニバーサル検証手法（Universal Verification Methodology）（ＵＶＭ）は、スコアボード関数を定義し監視するとともに刺激を定義するための共通のコンストラクトを含む。デジタル検証手法もまた、具体的な機能またはプロトコルをターゲットとした検証知的財産（ＶＩＰ）の具体的な部分をいくつか含む。インスタンス化され定義された通信標準規格（ユニバーサルシリアルバス（ＵＳＢ）、シリアル周辺インタフェース（ＳＰＩ）バス、等）は、特定の検証ＩＰ（インタフェースを介してデータを供給するとともに、そのインタフェースがプロトコル標準規格に整合していることをテストし確認するために、検証プロセスの間に活用可能である）を持つからである。この例では、デジタルトリムおよび制御は、ＳＰＩインタフェースを介して、またはチップ自身によって、プログラムされていると想定する。
【００６７】
図１２のテストベンチでは、外部電源供給ＶＤＤ＿ＥＸＴが、ＴＯＰ＿ＡＭＳＴにおいてＶｅｒｉｌｏｇ−Ａコードによって生成されるところである。この場合、ＶＤＤ＿ＥＸＴは、ＳＵＰＰＬＩＥＳ＿ＡＮＤ＿ＯＵＴＰＵＴＳブロックへの入力となる。このブロックは、その後、ＳＯＣに主外部電源供給として接続されるＶＤＤを出力する。入力としては、ＩＮＰＵＴＳブロック内でシステム入力が生成され、その後、ＳＯＣに接続する前にＴＯＰ＿ＡＭＳＴブロックを通過する。入力がテストハーネスを通過することにより、シミュレーションの全体を通して、入力信号の電圧および電流の双方を監視（または他の計算のためのパラメータとして使用）できるようになる。同様に、ＳＯＣからのＶＯＵＴは、ＳＵＰＰＬＩＥＳ＿ＡＮＤ＿ＯＵＴＰＵＴＳブロックに入る前にＴＯＰ＿ＡＭＳＴを通過する。最後に、監視のために、ＳＵＰＰＬＩＥＳ＿ＡＮＤ＿ＯＵＴＰＵＴＳブロックからＴＯＰ＿ＡＭＳＴにＶＯＵＴ＿ＥＸＴが供給される。ＡＭＳＴテストハーネスブロックをどの信号が通過すべきかの決定は、システムと、システム全体を正確に表すためにチップ周辺に要求される回路／モデルの量とに強く依存する。究極的には、それらの決定は、システム設計および検証計画によって駆動される。
【００６８】
図１４では、階層構造の比較的低いレベルの信号は、それらの信号がトップレベルのピンに持ってこられない限りアクセスできない。チップを表すインスタンスＢ１の階層構造をさらに考えよう。この例では、チップの階層構造における次のレベルは、Ｃ１すなわちＳＯＣ＿ＣＯＲＥと、Ｃ２すなわちＳＯＣ＿ＰＡＤ＿ＲＩＮＧとを含む。その後、上から、Ｄ１すなわちＡＭＰ＿ＣＯＲＥサブシステム、Ｄ２すなわちＰＷＲ＿ＭＧＭＴ（チップのための電源管理機能）、およびＤ３すなわちＤＩＧ＿ＣＴＲＬを見るために、Ｃ１内にプッシュダウンする。
【００６９】
図１５では、ＡＭＰ＿ＣＯＲＥサブシステム内にさらに下ることにより、サブシステムの要素が示される：Ｅ１すなわちＭＵＸと、Ｅ２すなわちＡＭＰと、Ｅ３すなわちＡＭＰ＿ＡＭＳＴ（このサブシステムに対する検証ＩＰを含むＶｅｒｉｌｏｇＡＭＳブロック）とである。
【００７０】
デジタルトリムビットを伴う簡単なバンドギャップのケースを考える。回路の目的は、環境（たとえば温度）変化およびプロセス（たとえば酸化物の厚さ）変化に関して予測可能な出力電圧を生成することである。デジタルトリムビットは、予測可能なステップサイズを持つ出力値の範囲を提供する。このバンドギャップに対するＡＭＳＴは、電源供給、負荷コンポーネントおよびデジタルトリム値を含むバンドギャップに対してテスト回路全体を定義する必要がある。スターターとして、簡単な供給源の定義を見てみよう：
【００７１】
# 供給開始ランプ時刻
my $glSupplyRampStartObj = $glAMSTObj->create_variable("glSupplyRampStartDbl", 50e-9);
# 供給終了ランプ時刻
my $glSupplyRampEndObj = $glAMSTObj->create_variable("glSupplyRampEndDbl", 100e-9);
# 供給電圧値
my $glAvddValObj = $glAMSTObj->create_variable("glAvddValDbl", 5);
# 供給用のＰＷＬを生成
$glAMSTObj->create_vpwl(
"arP0" => "AVDD",
"arP1" => "AVSS",
"arPwlRef" => [
0, 0,
$glSupplyRampStartObj, 0,
$glSupplyRampEndObj,
$glAvddValObj 
]
);
【００７２】
この例は、ｔ＝０において０Ｖ、ｔ＝５０ｎｓにおいて０Ｖ、ｔ＝１００ｎｓにおいて５Ｖの、簡単な、区分的に線形な供給を生成する。すべての変数がパラメータ化されていることに注意せよ。プログラムは、このＡＭＳＴファイルを読み込み、変数およびそのタイプのリストを抽出することができる。この能力により、ユーザは、これらの値を修正／スイープし、同じグループのＡＭＳＴテストベンチから様々なテストベクトルを構築することができる。参照により、追加の回路コンポーネントをインスタンス化してもよい。たとえば、以下のコードはバンドギャップにＶｅｒｉｌｏｇ−Ａ負荷抵抗器を追加する：
【００７３】
# プログラム的に負荷抵抗器を定義
$glAMSTObj->add_module_instance(
"arModuleName" => "resistor",
"arModuleFilename" => "behav_resistor.va",
"arParameterValueMap" => {
"r" => $glOutputLoadObj
},
"arNodeNetMap" => {
"IN_NODE0" => "VBG",
"OUT_NODE1" => "AVSS",
}               
);
【００７４】
このバンドギャップは、トリムビットの可能な組み合わせすべてについてテストされる必要がある。以下の文法は、すべてのトリムビットのフル・ファクトリアルな実験をセットアップする：
# デジタル入力の可能な組み合わせをすべてテスト
$glAMSTObj->create_voltage_full_factorial(
"arFactDelay" => $glSupplyRampEndObj,
"arFactStateValRef" => [0, $glAvddValObj],
"arFactStateDurRef" => [0.50, 0.50],
"arFactChgTimeRef" => [2e-9, 2e-9],
"arFactMinPeriod" => 10e-6,
"arFactSignalRef" => [
{ "arP0"=>"DTRIM[0:2]",
"arP1"=>"AVSS"}
]
);
【００７５】
これは以下のように展開される：
【００７６】
module amst(...)
output [2:0] DTRIM;
electrical [2:0] DTRIM;
output AVSS;
electrical AVSS;
parameter real glSupplyRampEndDbl = 1e-07;
parameter real glAvddValDbl = 5;
real loDtrimVal2loAvssValBit0;
real loDtrimVal2loAvssValBit1;
real loDtrimVal2loAvssValBit2;
analog begin
@ (initial_step) begin
loDtrimVal2loAvssValBit0 = 0;
loDtrimVal2loAvssValBit1 = 0;
loDtrimVal2loAvssValBit2 = 0;
end
...
// DTRIM[0]
@(timer(glSupplyRampEndDbl, 1e-05, 1p))
loDtrimVal2loAvssValBit0 = 0;
@(timer((glSupplyRampEndDbl + 0.5 * 1e-05), 1e-05, 1p))
loDtrimVal2loAvssValBit0 = glAvddValDbl;
V(DTRIM[0], AVSS) <+ transition(loDtrimVal2loAvssValBit0, 0, 2e-09, 2e-09);
// DTRIM[1]
@(timer(glSupplyRampEndDbl, (1e-05 * 2), 1p))
loDtrimVal2loAvssValBit1 = 0;
@(timer((glSupplyRampEndDbl + (0.5 * 1e-05 * 2)), (1e-05 * 2), 1p))
loDtrimVal2loAvssValBit1 = glAvddValDbl;
V(DTRIM[1], AVSS) <+ transition(loDtrimVal2loAvssValBit1, 0, 2e-09, 2e-09);
// DTRIM[2]
@(timer(glSupplyRampEndDbl, (1e-05 * 4), 1p))
loDtrimVal2loAvssValBit2 = 0;
@(timer((glSupplyRampEndDbl + (0.5 * 1e-05 * 4)), (1e-05 * 4), 1p))
loDtrimVal2loAvssValBit2 = glAvddValDbl;
V(DTRIM[2], AVSS) <+ transition(loDtrimVal2loAvssValBit2, 0, 2e-09, 2e-09);
...
endmodule
【００７７】
上記の定義は、３個のトリム信号が存在することを述べている。各信号は、テストされるべき２つの適正な値を持つ。フル・ファクトリアルは、可能な状態をすべて列挙する。したがって、３個の２進変数について、適正な信号の組み合わせをすべてテストする８個の期間の組を得る。テスト回路および刺激が定義されたら、測定値および主張が定義される必要がある。簡単な電圧測定値の例：
【００７８】
my $glVbgTrim0MeasObj = $glAMSTObj->create_voltage_measure(
"arMeasureNet" => "VBG",
"arRefNet" => "AVSS",
"arMinVal" => 0.850,
"arMaxVal" => 0.900
);
【００７９】
出力ノードＶＢＧが０．８５０〜０．９００の間である時はいつでも、この電圧測定値は真である。この測定は、シミュレーションの時間ステップすべてにおいて実行され評価される。ブール測定値を収集したものは、条件付き主張を生成するために組み合わせることができる。たとえば、以下の主張は、ＤＴＲＩＭ［２：０］ビットが「０００」であり、ＶＤＤ供給がその最小閾値を超えている時には、上で定義された$glVbgTrim0MeasObj測定値（０．８５０≦ＶＢＧ≦０．９００）は真でなければならないということを述べている。
【００８０】
# DTRIM="000"の時 => VBG=0.9
$glAMSTObj->create_conditional_assert(
"arAssertNameStr" => 'when DTRIM=\"000\" => VBG=0.9',
"arCondition" => assert_and(
$glVddAboveMin,
assert_not($glDtrim0MeasObj),
assert_not($glDtrim1MeasObj),
assert_not($glDtrim2MeasObj)
),
"arAssertDelay" => $loMeasureDelayDbl,
"arAssert" => assert_and(
$glVbgTrim0MeasObj,
$glPgoodMeasObj
),
"arAssertAtLeastOnce" => 1
);
【００８１】
出力電圧を、なんらかの時点で測定するとより簡単であろう（たとえば１００ｕｓにおいてＶＢＧは０．８５０と０．９００との間になければならない）。このタイプのチェックもまた、ＡＭＳＴＬで容易に実装可能である。しかしながら、上の主張は、単一の時刻においてのみならず、主張条件が満たされている間は常に、バンドギャップスペックのサブセットを明示的に捕捉し（たとえば「when DTRIM=000 => VBG=0.9」）、スペックのその部分が真であることを確認するので、はるかにパワフルである。
【００８２】
次の例では、以下のコードが、測定目的のための直接分岐貢献ステートメントを生成する。この例では、基準電流のワイヤバスを１６個有する。１ｕｓ後に電流が０．９＊７５０ｎＡと１．１＊７５０ｎＡとの間であることを確実にするために、以下の文法を用いる。
【００８３】
zip_setup_std_supplies(
50e-09, 100e-09,
[
["Ib_750n_AMST_IN[0:15]", "Ib_750n_AMST_OUT[0:15]", 0]
]
);
zip_assert_output_currents(
0.9, 1.1, 1e-06,
{
"Ib_750n_AMST_IN[0:15]" => 750e-09
}
);
…
parameter real loSupplyRampStartDbl = 5e-08;
parameter real loSupplyRampEndDbl = 1e-07;
parameter real loIb_750n_AMST_INValDbl = 0;
parameter real arVolEnGndMin1 = 2.85;
parameter real arVolEnGndMax1 = 3.15;
parameter real arCurIb_750n_amst_in0Min1 = 6.75e-07;
parameter real arCurIb_750n_amst_in0Max1 = 8.25e-07;
real loChangeTimeV1;
real loIb_750n_amst_inValBit0;
// create analog conditional assert 1
integer loVolEnGndAboveMin1;
integer loVolEnGndAboveMax1;
integer loCurIb_750n_amst_in0AboveMin1;
integer loCurIb_750n_amst_in0AboveMax1;
integer loCondition1;
integer loOldCondition1;
integer loSat1;
integer loFail1;
integer loDisplay1;
integer loAssert1;
integer loMeasure1;
real loCheckTime1;
integer loAssertOutOn1;
analog begin
@ (initial_step) begin
loChangeTimeV1 = 0;
loIb_750n_amst_inValBit0 = 0;
//  create analog conditional assert 1
loVolEnGndAboveMin1 = 0;
loVolEnGndAboveMax1 = 0;
loCurIb_750n_amst_in0AboveMin1 = 0;
loCurIb_750n_amst_in0AboveMax1 = 0;
loCondition1 = 0;
loOldCondition1 = 0;
loSat1 = 0;
loFail1 = 0;
loDisplay1 = 0;
loAssert1 = 0;
loMeasure1 = 0;
loCheckTime1 = 0;
loAssertOutOn1 = 0;
end
V(NEG_Ib_750n_amst_in0, Ib_750n_AMST_OUT[0]) <+ transition(loIb_750n_amst_inValBit0, 0, loChangeTimeV1, loChangeTimeV1);
V(Ib_750n_AMST_IN[0], NEG_Ib_750n_amst_in0) <+ 0;
// CURRENT: when 2.85<EN<3.15 ==> 6.75e-07 < Ib_750n_AMST_IN[0] < 8.25e-07
loDisplay1 = 1;
`ZIP_VCROSS_TO_BLN(EN, GND, arVolEnGndMin1, loVolEnGndAboveMin1);
`ZIP_VCROSS_TO_BLN(EN, GND, arVolEnGndMax1, loVolEnGndAboveMax1);
`ZIP_ICROSS_TO_BLN(Ib_750n_AMST_IN[0], NEG_Ib_750n_amst_in0, arCurIb_750n_amst_in0Min1, loCurIb_750n_amst_in0AboveMin1);
`ZIP_ICROSS_TO_BLN(Ib_750n_AMST_IN[0], NEG_Ib_750n_amst_in0, arCurIb_750n_amst_in0Max1, loCurIb_750n_amst_in0AboveMax1);
loCondition1 = (loVolEnGndAboveMin1 && !loVolEnGndAboveMax1);
if (loCondition1 && !loOldCondition1) begin
loAssertOutOn1 = 0;
loCheckTime1 = $abstime + 1e-06;
end
@(timer(loCheckTime1)) begin
loAssertOutOn1 = 1;
end
loAssert1 = (loCurIb_750n_amst_in0AboveMin1 && !loCurIb_750n_amst_in0AboveMax1);
if (loCondition1 && loAssertOutOn1) begin
loMeasure1 = loAssert1;
if ((loSat1 && !loFail1 && loMeasure1) || (!loSat1 && loFail1 && !loMeasure1)) begin
loDisplay1 = 0;
end
if (loDisplay1) begin
if (loMeasure1) begin
loSat1 = 1;
loFail1 = 0;
$fdisplay(fileDescriptor, "CURRENT: when 2.85<EN<3.15 ==> 6.75e-07 < Ib_750n_AMST_IN[0] < 8.25e-07 succeeds %e", $abstime);
end else begin
loSat1 = 0;
loFail1 = 1;
$fdisplay(fileDescriptor, "CURRENT: when 2.85<EN<3.15 ==> 6.75e-07 < Ib_750n_AMST_IN[0] < 8.25e-07 fails %e", $abstime);
end
end
end
loOldCondition1 = loCondition1;
end
【００８４】
一例では、図１６は、電子的設計を受信するステップ１６１０と、少なくとも１つの間接分岐貢献ステートメントを有する少なくとも１つのアナログテストハーネスモデルを受信するステップ１６１２とを備える、電子的設計の検証コマンドの翻訳のネットリストコンピュータ実装される方法１６００に対する電子的設計を示す。また、この方法は、少なくとも１つのアナログテストハーネスモデルに少なくとも部分的に基づいて少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳するステップ１６１４と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ１６１６とを備える。電子的設計は、階層構造の複数のレベルを包含してもよい。アナログテストハーネスは、最も低いレベルにモジュールとして存在してもよい（そのレベルでそれは任意の階層構造レベルに対して回路とともにパッケージされたテストベンチとして作用する）。図６に戻り、電子的設計は、異なる階層構造のレベルを組み合わせる図内の各接続されたブロックを包含する。トップレベル階層構造はＡ１であり、次のレベルの階層構造はＢであり、これはＢ１およびＢ２を含み、Ｂ階層構造の下には、Ｃ１、Ｃ２およびＣ３を有するＣ階層構造が存在する。この具体例では、Ｂ１レベルおよびその下では、モデルはＳｃｈｅｍａｔｉｃモデルおよびＳｐｉｃｅモデルからなる。Ｂ２レベルでは、モデルはＳｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌモデルおよびＢｅｈａｖｉｏｒａｌ＿ｖａモデルを包含する。この例では、アナログテストモデルはＡ１、インスタンス１レベルに接続され、ネットリスト（テスト中のコンポーネントのそれぞれに接続する線）を介して接続される。
【００８５】
一例では、間接分岐貢献ステートメントはループしていてもよい（その中で脱出条件が満たされるまで命令の列が繰り返される）。間接ステートメントは条件付きであってもよい（真または偽のブール条件と、命名（入力、出力またはデバイスがこれに基づいてパースされる）とに基づき、アクションが取られ、命令の組と解析とを推測し（これに基づいてネットに対する出力または入力が解析される）、解析に基づいて決定が行われる）。
【００８６】
アナログテストハーネスモデルは、トップブロックレベルから個々の回路等まで、設計の階層構造の任意のレベルに配置可能である。アナログテストハーネスモデルの例の１つは、低レベルのブロックにおいて記述されモジュールを形成する（設計において、テストするモジュール(testing module)はそのブロックに含まれる）。アナログテストハーネスモデルを個別のブロックに含めることに関してあり得る利点の１つは、モジュール内での自己検証をサポートするための回路設計とともに送られ得ることである。
【００８７】
一例では、ネットリストは電子的設計の接続性を提供する（本質的には、あるデバイスのどの端子が別のデバイスのどの端子に接続されるか）。ネットリストは、各デバイスについてデバイスの詳細(device specifics)を含んでもよい。
【００８８】
一例では、アナログテストハーネスモデルに基づいて間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳することは、１つのブランケットステートメントを、そのブランケットステートメントのスパンを包含する個別のステートメントの列に変換することである。本質的には、「index conditions<1:10>」というステートメントは、「condition 1」、「condition 2」、…、「condition 10」へと分解される。
【００８９】
翻訳は、標準化されたアナログハードウェア記述言語（Ｖｅｒｉｌｏｇ−ＡＴＭ文法およびＶｅｒｉｌｏｇ−ＡＭＳＴＭ文法の少なくとも一方を少なくとも備えてもよい）を利用してもよい。
【００９０】
別の例では、図１７は、電子的設計の表現を受信するステップ１７１０と、少なくとも１つの間接分岐貢献ステートメントを有する少なくとも１つのアナログテストハーネスモデルを電子的設計の表現とともに受信するステップ１７１２とを備える、電子的設計の検証コマンドの翻訳のネットリストコンピュータ実装される方法１７００に対する電子的設計を示す。さらに、この方法は、少なくとも１つのアナログテストハーネスモデルおよび電子的設計に少なくとも部分的に基づいて少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳するステップ１７１４と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ１７１６とを備える。図７に戻り、設計例の各階層構造および各モデルが示される。検証の目的の１つは、設計の各ブロックおよび各モデルを、適切な条件でテストすることである。間接分岐貢献ステートメントを翻訳することは、この多次元のタスクを、循環の少なくとも一部を自動化することにより支援する。
【００９１】
少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの刺激、少なくとも１つの刺激主張、少なくとも１つの出力主張、および／または、少なくとも１つの出力測定値を有してもよい。電子的設計の表現は、アナログまたは混合信号であってもよく、少なくとも１つのトランジスタレベル回路部、少なくとも１つの行動的モデル化された回路部、物理設計に少なくとも部分的に基づく少なくとも１つの寄生モデルに基づく少なくとも１つの回路、および／または、少なくとも１つの行動的モデル化された回路を備えてもよい。
【００９２】
別の例では、図１８は、電子的設計の表現を受信するステップ１８１０と、少なくとも１つの刺激および少なくとも１つの刺激主張のうち少なくとも一方を有する少なくとも１つのアナログテストハーネスモデルを受信するステップ１８１２と、電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップ１８１４とを備える、電子的設計の検証コマンドの翻訳のネットリストコンピュータ実装される方法１８００に対する電子的設計を示す（少なくとも１つの検証サブルーチンコマンドは少なくとも１つの間接分岐貢献ステートメントを有する）。また、この方法は、少なくとも１つの検証サブルーチンコマンドと、少なくとも１つのアナログテストハーネスモデルと、電子的設計とに少なくとも部分的に基づいて、少なくとも１つの検証サブルーチンコマンドを対応する標準化されたアナログハードウェア記述言語へと翻訳するステップ１８１６と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ１８１８とを備える。刺激主張は、電子システム内の属性定義、制約等を定義してもよい。図８に戻り、電子的設計は、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈに続く接続されたブロックのそれぞれを包含し、少なくとも１つのアナログテストハーネスモデルは、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈとマークされたブロックに関する。そのモデルに対するネットリストは、各接続（図８の接続線）を示す。この設計に関連付けられた階層構造は、ＬＤＯ、バッテリスーパーバイザおよび電圧基準のブロックが、階層構造においてＰＭＩＣブロックより低いということを示す。さらに、このモデルは、主に設計の概略部分をレビューする。少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳する能力は、各階層構造および設計の各部分を、設計内の各ブロックについてレビューする効率を増大する可能性がある。
【００９３】
標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−ＡＴＭ文法およびＶｅｒｉｌｏｇ−ＡＭＳＴＭ文法のうち少なくとも一方を少なくとも備えてもよい。少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方を有してもよい。
【００９４】
別の例では、図１９は、電子的設計の表現を受信するステップ１９１０と、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方を有する少なくとも１つのアナログテストハーネスモデルを受信するステップ１９１２と、電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップ１９１４（この少なくとも１つの検証サブルーチンコマンドは少なくとも１つの間接分岐貢献ステートメントを有する）とを備える、電子的設計の検証コマンドの翻訳のコンピュータ実装される方法１９００の検証サブルーチンを介するネットリストに対する電子的設計を示す。また、この方法は、少なくとも１つの検証サブルーチンコマンドと、少なくとも１つのアナログテストハーネスモデルと、電子的設計とに少なくとも部分的に基づいて、少なくとも１つの検証サブルーチンコマンドを対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと翻訳するステップ１９１６と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ１９１８とを備える。図９に戻り、電子的設計は、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈに続く接続されたブロックのそれぞれを包含し、少なくとも１つのアナログテストハーネスモデルは、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈとマークされたブロックに関する。ネットリストは接続性を示す（各ブロックを接続する線によって示される）。この設計に関連付けられた階層構造は、ＬＤＯ、バッテリスーパーバイザおよび電圧基準のブロックが、階層構造においてＰＭＩＣブロックより低いということを示す。このモデルは、モデルの概略、概略行動的、およびｂｅｈａｖｉｏｒａｌ．ｖａの各態様(aspect)をレビューする。全体の電子的設計は図８と同じであるが、テストされる対象、階層構造および接続性が異なる。少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳する能力は、様々なモデルおよび階層構造を、より完全な態様でレビューすることを支援する。
【００９５】
標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−ＡＴＭ文法およびＶｅｒｉｌｏｇ−ＡＭＳＴＭ文法のうち少なくとも一方を少なくとも備えてもよい。少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットを有してもよい。少なくとも１つのアナログハーネスモデルは、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方に少なくとも部分的に基づいて、少なくとも１つの仕様サブセットを確認(validate)してもよい。少なくとも１つの仕様サブセットは、データ変換を有してもよい。
【００９６】
別の例では、図２０は、過渡的でない(non-transitory)コンピュータ可用媒体２０００上に実施される抽出されたデータ比較コンピュータプログラム製品を介する電子的設計を示す（この過渡的でないコンピュータ可用媒体は、命令の列を記憶しており、この命令の列がプロセッサによって実行されると、この命令の列はそのプロセッサを電子的設計の検証コマンドの翻訳の方法を実行させ、方法は、少なくとも１つの刺激および少なくとも１つの刺激主張のうち少なくとも一方を有する少なくとも１つのアナログテストハーネスモデルを受信するステップ２０１０（少なくとも１つのアナログテストハーネスモデルは少なくとも１つのパラメータ化された変数を有する）と、電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップ２０１２（少なくとも１つの検証サブルーチンコマンドは少なくとも１つの間接分岐貢献ステートメントを有する）とを備える）。また、この方法は、少なくとも１つのアナログテストハーネスおよび少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて少なくとも１つの規則を検索(retrieve)するステップ２０１４と、少なくとも１つの検証サブルーチンコマンド、検索された少なくとも１つの規則、少なくとも１つのアナログテストハーネスモデルおよび電子的設計に少なくとも部分的に基づいて、少なくとも１つの検証サブルーチンコマンドを対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと翻訳するステップ２０１６とを備える。さらに、この方法は、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ２０１８と、少なくとも１つのアナログテストハーネスモデルを少なくとも部分的に利用して少なくとも１つのサブコンポーネントを電気的にシミュレートするステップ２０２０と、電気的シミュレーションを受ける電子的設計の、少なくとも１つの性能属性を抽出するステップ２０２２と、抽出された少なくとも１つの性能属性と少なくとも１つの出力測定値とを比較するステップ２０２４とを備える。図１０に戻り、電子的設計は、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈに続く接続されたブロックのそれぞれを包含し、少なくとも１つのアナログテストハーネスモデルは、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈとマークされたブロックに関する。この例では、ＰＭＩＣ階層構造と、ＬＤＯ、バッテリスーパーバイザおよび電圧基準の階層構造とがレビューされる。最も高いレベルではＰＭＩＣが概略レベルでレビューされる（ＬＤＯがＢｅｈａｖｉｏｒａｌ＿ｖａｍｓ、バッテリスーパーバイザがＢｅｈａｖｉｏｒａｌ＿ｖａｍｓ、電圧基準がＢｅｈａｖｉｏｒａｌ＿ｖａレベル）。
【００９７】
コンピュータプログラム製品は、さらに、少なくとも１つの分離したシミュレーション実行において少なくとも１つのパラメータ化された変数を変化させることに関して、および／または、少なくとも１つのシミュレーション実行において少なくとも１つのパラメータ化された変数を変化させることに関して、少なくとも１つのパラメータ化された変数を固定するステップをさらに備えてもよい。シミュレーションの間に少なくとも１つの性能属性が抽出されてもよく、シミュレーションの後に抽出されてもよい。少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方を有してもよい。
【００９８】
別の例では、図２１は、過渡的でないコンピュータ可用媒体２１００上に実施されるコンピュータプログラム製品の抽出されたデータ比較を介する電子的設計を示す（この過渡的でないコンピュータ可用媒体は、命令の列を記憶しており、この命令の列がプロセッサによって実行されると、この命令の列はそのプロセッサを電子的設計の検証コマンドの翻訳の方法を実行させ、方法は、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方を有する少なくとも１つのアナログテストハーネスモデルを受信するステップ２１１０（少なくとも１つのアナログテストハーネスモデルは少なくとも１つのパラメータ化された変数を有する）と、電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップ２１１２（少なくとも１つの検証サブルーチンコマンドは少なくとも１つの間接分岐貢献ステートメントを有する）とを備える）。また、この方法は、少なくとも１つのアナログテストハーネスおよび少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて少なくとも１つの規則を検索するステップ２１１４と、少なくとも１つの検証サブルーチンコマンド、検索された少なくとも１つの規則、少なくとも１つのアナログテストハーネスモデルおよび電子的設計に少なくとも部分的に基づいて、少なくとも１つの検証サブルーチンコマンドを対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと翻訳するステップ２１１６と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ２１１８とを備える。さらに、この方法は、少なくとも１つのアナログテストハーネスモデルを少なくとも部分的に利用して少なくとも１つのサブコンポーネントを電気的にシミュレートするステップ２１２０と、電気的シミュレーションを受ける電子的設計の性能属性を少なくとも１つ抽出するステップ２１２２と、抽出された少なくとも１つの性能属性と少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方とを比較するステップ２１２４とを備える。図１０に戻り、電子的設計は、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈに続く接続されたブロックのそれぞれを包含し、少なくとも１つのアナログテストハーネスモデルは、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈとマークされたブロックに関する。この例では、ＰＭＩＣ階層構造と、ＬＤＯ、バッテリスーパーバイザおよび電圧基準の各階層構造とがレビューされる。最も高いレベルではＰＭＩＣが概略レベルでレビューされる（ＬＤＯがＢｅｈａｖｉｏｒａｌ＿ｖａｍｓ、バッテリスーパーバイザがＢｅｈａｖｉｏｒａｌ＿ｖａｍｓ、電圧基準がＢｅｈａｖｉｏｒａｌ＿ｖａレベル）。
【００９９】
標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−ＡＴＭおよびＶｅｒｉｌｏｇ−ＡＭＳのうち少なくとも一方を備えてもよい。さらに、この方法は、指定された結果に少なくとも部分的に基づいて少なくとも１つのアナログテストハーネスモデルを修正するステップ、指定された結果に少なくとも部分的に基づいて少なくとも１つの検証サブルーチンコマンドを修正するステップ、および／または、少なくとも１つのパラメータ化された変数を修正するステップを備えてもよい。電子的設計は、結果として、少なくとも１つの能動的回路および少なくとも１つの受動的回路のうち少なくとも一方を生じてもよい（結果として少なくとも１つの能動的回路を生じる電子的設計は、少なくとも１つの利得と、少なくとも１つの電気的信号の少なくとも１つの方向とのうち少なくとも一方を調整してもよい）。少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットを有してもよく、少なくとも１つのアナログハーネスモデルは、少なくとも１つの出力主張および少なくとも１つの出力測定値のうち少なくとも一方に少なくとも部分的に基づいて、少なくとも１つの仕様サブセットを確認(validate)してもよい。
【０１００】
本明細書では、本開示の様々な例示的な例を作成することおよび用いることが議論されるが、本開示は、広範囲の具体的コンテキストにおいて記述可能なコンセプトを提供するということが理解されるべきである。本開示は特定の例に関して示され記載されたが、本明細書を読んで理解した他の当業者は、均等物および修正を考えつくということが明白である。本開示は、そのような均等物および修正を含み、添付の特許請求の範囲によってのみ限定される。
【０１０１】
方法および装置は、ローカルでまたは分散してまたはリモートで実施されてもよく、ステップのためのデータはローカルでまたはリモートで記憶してもよいということが理解されるべきである。明瞭さのため、応用可能な技術の当業者にはありふれた機能、コンポーネントおよびシステムの詳細な記載は含まれない。本開示の方法および装置は、１つ以上の利益（改良されたスピード効率、低減した計算時間、低減した再検証の数、等を含むが、これに限らない）を提供する。本開示は特定の例示的な例を参照して記載されたが、本明細書に記載されたものは限定的な意味に解釈されることを意図するものではない。たとえば、示され説明された例におけるステップのバリエーションまたは組み合わせが、本開示から逸脱しない範囲で具体的な場合に用いられてもよい。例示的な例の様々な修正および組み合わせと、他の利益および例とが、図面、明細書および特許請求の範囲への参照に基づいて、当業者には明白である。
【図１】
2020038693.tif 000003
【図２】
2020038693.tif 000004
【図３】
2020038693.tif 000005
【図４】
2020038693.tif 000006
【図５】
2020038693.tif 000007
【図６】
2020038693.tif 000008
【図７】
2020038693.tif 000009
【図８】
2020038693.tif 000010
【図９】
2020038693.tif 000011
【図１０】
2020038693.tif 000012
【図１１】
2020038693.tif 000013
【図１２】
2020038693.tif 000014
【図１３】
2020038693.tif 000015
【図１４】
2020038693.tif 000016
【図１５】
2020038693.tif 000017
【図１６】
2020038693.tif 000018
【図１７】
2020038693.tif 000019
【図１８】
2020038693.tif 000020
【図１９】
2020038693.tif 000021
【図２０】
2020038693.tif 000022
【図２１】
2020038693.tif 000023
【手続補正書】
【提出日】令和1年12月6日(2019.12.6)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子的設計により定義される回路の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記回路を定義する前記電子的設計を受信するステップであって、前記電子的設計は、前記回路の機能レベルの電子設計を定義する、前記回路を定義する前記電子的設計をプロセッサで受信するステップと、
前記回路に関連付けられた少なくとも１つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの間接分岐貢献ステートメントを有し、前記電子的設計に関連付けられ少なくとも１つの仕様データベースに格納された少なくとも１つの仕様パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された少なくとも１つのスティミュラスパラメータ、および、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された少なくとも１つの測定パラメータ、のうち少なくとも１つを有する、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルを前記プロセッサで受信するステップと、
前記少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳するステップであって、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータのうち少なくとも１つと、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルとに少なくとも部分的に基づいて、前記少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと前記プロセッサで翻訳するステップと、
前記少なくとも１つの間接分岐貢献ステートメントの前記翻訳に少なくとも部分的に基づいて前記回路のネットリストを前記プロセッサで生成するステップと、
を備え、
前記翻訳は、標準化されたアナログハードウェア記述言語に従って記述される、
方法。
【請求項２】
前記標準化されたアナログハードウェア記述言語は、少なくとも１つのＶｅｒｉｌｏｇ−ＡTM文法およびＶｅｒｉｌｏｇ−ＡＭＳTM文法のうち少なくとも一方を少なくとも備える、請求項１に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項３】
電子的設計により定義される回路の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記回路の機能レベルの電子設計を定義する前記電子的設計の表現をプロセッサで受信するステップと、
前記回路に関連付けられた少なくとも１つのアナログテストハーネスモデルを、前記回路の前記電子的設計の前記表現とともに受信するステップであって、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの間接分岐貢献ステートメントおよび少なくとも１つのスティミュラスを有し、前記電子的設計に関連付けられ少なくとも１つの仕様データベースに格納された少なくとも１つの仕様パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された少なくとも１つのスティミュラスパラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された少なくとも１つの測定パラメータのうち少なくとも１つを有する、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルを前記プロセッサで受信するステップと、
前記少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳するステップであって、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータのうち少なくとも１つと、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルおよび前記電子的設計に、少なくとも部分的に基づいて、前記少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと前記プロセッサで翻訳するステップと、
前記少なくとも１つの間接分岐貢献ステートメントの前記翻訳に少なくとも部分的に基づいて前記回路のネットリストを前記プロセッサで生成するステップと、
を備える、方法。
【請求項４】
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、前記回路に関連付けられ、少なくとも１つのスティミュラスアサーションを有する、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項５】
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つのスティミュラスアサーションを有し、前記少なくとも１つのスティミュラスアサーションは、前記仕様データベースの前記少なくとも１つのスティミュラスパラメータを含む、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項６】
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力アサーションを有する、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項７】
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力アサーションを有し、前記少なくとも１つの出力アサーションは、仕様データベースの少なくとも１つの仕様パラメータを含む、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項８】
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力測定値を有する、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項９】
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力測定値を有し、仕様データベースの前記少なくとも１つの測定パラメータを含む少なくとも１つの出力アサーションを有する、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１０】
前記回路の前記電子的設計の前記表現はアナログ回路を表すものである、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１１】
前記回路の前記電子的設計の前記表現はデジタルとアナログとの混合信号を表すものである、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１２】
前記回路の前記電子的設計の前記表現は、少なくとも１つのトランジスタレベル回路部を有する、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１３】
前記回路の前記電子的設計の前記表現は、少なくとも１つのビヘイビアモデルで表された回路部を有する、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１４】
前記回路の前記電子的設計の前記表現は、物理設計に少なくとも部分的に基づく少なくとも１つの寄生モデルに基づく少なくとも１つの回路を有する、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１５】
前記回路の前記電子的設計の前記表現は、少なくとも１つのビヘイビアモデルで表された回路を有する、請求項３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１６】
電子的設計により定義される回路の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記回路を定義する前記電子的設計の表現をプロセッサで受信するステップと、
前記回路に関連付けられた少なくとも１つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つのスティミュラスおよび少なくとも１つのスティミュラスアサーションのうち少なくとも１つを有し、前記電子的設計に関連付けられ少なくとも１つの仕様データベースに格納された少なくとも１つの仕様パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された少なくとも１つのスティミュラスパラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された少なくとも１つの測定パラメータのうち少なくとも１つを有し、少なくとも１つの出力アサーションおよび少なくとも１つの出力測定値のうち少なくとも１つを有する、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルを、前記プロセッサで受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを前記プロセッサで受信するステップと、
前記少なくとも１つの検証サブルーチンコマンドを対応する標準化されたアナログハードウェア記述言語へと翻訳するステップであって、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータ、のうち少なくとも１つと、前記少なくとも１つの検証サブルーチンコマンドと、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを、対応する標準化されたアナログハードウェア記述言語へと前記プロセッサで翻訳するステップと、
前記少なくとも１つの検証サブルーチンコマンドの前記翻訳に少なくとも部分的に基づいて、前記回路のネットリストを前記プロセッサで生成するステップと、
を備える、方法。
【請求項１７】
前記標準化されたアナログハードウェア記述言語は、少なくとも１つのＶｅｒｉｌｏｇ−ＡTM文法およびＶｅｒｉｌｏｇ−ＡＭＳTM文法のうち少なくとも一方を少なくとも備える、請求項１６に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１８】
電子的設計により定義される回路の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記回路を定義する前記電子的設計の表現を受信するステップであって、前記電子的設計は、前記回路の機能レベルの電子設計を定義する、前記回路を定義する前記電子的設計の表現を前記プロセッサで受信するステップと、
前記回路に関連付けられた少なくとも１つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力アサーションおよび少なくとも１つの出力測定値のうち少なくとも一方を有し、前記電子的設計に関連付けられ少なくとも１つの仕様データベースに格納された少なくとも１つの仕様パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された少なくとも１つのスティミュラスパラメータ、および、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された少なくとも１つの測定パラメータのうち少なくとも１つを有する、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルを前記プロセッサで受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットおよび少なくとも１つの間接分岐貢献ステートメントを有する、前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを前記プロセッサで受信するステップと、
前記少なくとも１つの検証サブルーチンコマンドを対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと翻訳するステップであって、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータのうち少なくとも１つと、前記少なくとも１つの検証サブルーチンコマンドと、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを、対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと前記プロセッサで翻訳するステップと、
前記少なくとも１つの検証サブルーチンコマンドの前記翻訳に少なくとも部分的に基づいて、前記回路のネットリストを前記プロセッサで生成するステップと、
を備える、方法。
【請求項１９】
前記標準化されたアナログハードウェア記述言語の少なくとも１つは、少なくとも１つのＶｅｒｉｌｏｇ−ＡTM文法およびＶｅｒｉｌｏｇ−ＡＭＳTM文法のうち少なくとも一方を備える、を備える、請求項１８に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２０】
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力アサーションおよび少なくとも１つの出力測定値の少なくとも一方に少なくとも部分的に基づいて、前記少なくとも１つの仕様サブセットを確認する、請求項１８に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２１】
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータのうち少なくとも一方と、少なくとも１つの出力アサーションとの少なくとも一方に少なくとも部分的に基づいて、前記少なくとも１つの仕様サブセットを確認する、請求項１８に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２２】
前記少なくとも１つの仕様サブセットはデータ変換を受ける、請求項１８に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２３】
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記記録媒体は、命令の列を記憶しており、
前記命令の列がプロセッサによって実行されると、前記命令の列は、前記プロセッサに電子的設計により定義される回路の電子的設計の検証コマンドの翻訳の方法を実行させ、
前記方法は、
前記回路に関連付けられた少なくとも１つのアナログテストハーネスモデルを受信するステップであって、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つのスティミュラスおよび少なくとも１つのスティミュラスアサーションのうち少なくとも一方を有し、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータのうち少なくとも１つを有し、前記電子的設計に関連付けられパラメータ化された変数として扱われる少なくとも１つのパラメータを有し、少なくとも１つの出力アサーションおよび少なくとも１つの出力測定値の少なくとも一方を有する、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルを前記プロセッサで受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを前記プロセッサで受信するステップと、
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルおよび前記少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも１つの規則をプロセッサで検索するステップと、
前記少なくとも１つの検証サブルーチンコマンドを対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと翻訳するステップであって、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータのうち少なくとも１つと、前記少なくとも１つの検証サブルーチンコマンドと、前記検索された少なくとも１つの規則と、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルと、パラメータ化された変数として扱われる前記パラメータおよび前記電子設計のうち少なくとも１つとに、少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを、対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと前記プロセッサで翻訳するステップと、
前記少なくとも１つの検証サブルーチンコマンドの前記翻訳に少なくとも部分的に基づいて、前記回路のネットリストを前記プロセッサで生成するステップと、
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルを少なくとも部分的に利用して、前記回路の少なくとも１つのサブコンポーネントを前記プロセッサで電気的にシミュレーションするステップと、
前記電気的に前記シミュレーションを受ける前記電子的設計の、少なくとも１つの性能属性を前記プロセッサで抽出するステップと、
前記抽出された少なくとも１つの性能属性と、少なくとも１つの出力測定値とを、電子的設計に関連付けられ少なくとも１つの仕様データベースに格納された少なくとも１つの仕様パラメータと前記プロセッサで比較するステップと
を備える、コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２４】
前記少なくとも１つのパラメータ化された変数を前記プロセッサで固定するステップをさらに備える、請求項２３に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２５】
少なくとも１つの分離したシミュレーション実行において、前記少なくとも１つのパラメータ化された変数を変化させるステップをさらに備える、請求項２３に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２６】
少なくとも１つのシミュレーション実行において、前記少なくとも１つのパラメータ化された変数を変化させるステップをさらに備える、請求項２３に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２７】
前記シミュレーションの間に前記少なくとも１つの性能属性が抽出される、請求項２３に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２８】
前記シミュレーションの後に前記少なくとも１つの性能属性が抽出される、請求項２３に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２９】
前記回路に関連付けられた少なくとも１つのアナログテストハーネスモデルは、前記少なくとも１つの出力アサーションおよび前記少なくとも１つの出力測定値の少なくとも一方を有し、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータのうち少なくとも１つを有する、請求項２３に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３０】
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記記録媒体は、命令の列を記憶しており、
前記命令の列がプロセッサによって実行されると、前記命令の列は、前記プロセッサに電子的設計により定義される回路の電子的設計の検証コマンドの翻訳の方法を実行させ、
前記方法は、
前記回路に関連付けられた少なくとも１つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力アサーションおよび少なくとも１つの出力測定値のうち少なくとも一方を有し、前記電子的設計に関連付けられ少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータのうち少なくとも１つを有し、前記電子的設計に関連付けられパラメータ化された変数として扱われる少なくとも１つのパラメータを有し、少なくとも１つの出力アサーションおよび少なくとも１つの出力測定値の少なくとも一方に少なくとも部分的に基づいて、少なくとも１つの仕様サブセットを確認する、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルを前記プロセッサで受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、前記少なくとも１つの検証サブルーチンコマンドを前記プロセッサで受信するステップと、
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスおよび前記少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも１つの規則を前記プロセッサで検索するステップと、
前記少なくとも１つの検証サブルーチンコマンドを対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと翻訳するステップであって、前記少なくとも１つの検証サブルーチンコマンドと、前記検索された少なくとも１つの規則と、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルと、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータと、または前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを、対応する少なくとも１つの標準化されたアナログハードウェア記述言語へと前記プロセッサで翻訳するステップと、
前記少なくとも１つの検証サブルーチンコマンドの前記翻訳に少なくとも部分的に基づいて、前記回路のネットリストを前記プロセッサで生成するステップと、
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルを少なくとも部分的に利用して、前記回路の少なくとも１つのサブコンポーネントを前記プロセッサで電気的にシミュレーションするステップと、
前記電気的に前記シミュレーションを受ける前記電子的設計の、少なくとも１つの性能属性を前記プロセッサで抽出するステップと、 
前記抽出された少なくとも１つの性能属性と、少なくとも１つの出力アサーションおよび少なくとも１つの出力測定値の少なくとも一方とを、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータと前記プロセッサで比較するステップと
を備える、コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３１】
少なくとも１つの前記標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−ＡTMおよびＶｅｒｉｌｏｇ−ＡＭＳのうち少なくとも一方を備える、請求項３０に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３２】
指定される結果に少なくとも部分的に基づいて、前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルを前記プロセッサで修正するステップをさらに備える、請求項３０に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３３】
指定される結果に少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを前記プロセッサで修正するステップをさらに備える、請求項３０に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３４】
前記少なくとも１つのパラメータ化された変数を前記プロセッサで修正するステップをさらに備える、請求項３０に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３５】
前記電子的設計は、結果として、少なくとも１つの能動回路および少なくとも１つの受動回路のうち少なくとも一方を生じる、請求項３０に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３６】
前記電子的設計は、結果として少なくとも１つの能動回路を生じ、前記少なくとも１つの能動回路は、少なくとも１つの利得と、少なくとも１つの電気的信号の少なくとも１つの方向とのうち少なくとも一方を調整する、請求項３０に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３７】
前記少なくとも１つの検証サブルーチンコマンドは、前記少なくとも１つの仕様サブセットを有する、請求項３０に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３８】
前記少なくとも１つの検証サブルーチンコマンドは、前記少なくとも１つの仕様サブセットを有し、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータのうち少なくとも１つを有する、請求項３０に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３９】
前記回路に関連付けられた前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力アサーションおよび少なくとも１つの出力測定値の少なくとも一方に少なくとも部分的に基づいて、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの測定パラメータ、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つのスティミュラスパラメータ、および、前記電子的設計に関連付けられ前記少なくとも１つの仕様データベースに格納された前記少なくとも１つの仕様パラメータのうちの少なくとも１つで、前記少なくとも１つの仕様サブセットを確認する、請求項３７に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。