(57)【要約】電子的設計の検証コマンドを翻訳するコンピュータ実装される方法は、電子的設計を受信するステップと、少なくとも１つの間接分岐貢献ステートメントを有し、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータの少なくとも１つを有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、少なくとも１つのアナログテストハーネスモデルと、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータの少なくとも１つとに少なくとも部分的に基づいて、少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子に翻訳するステップと、翻訳に少なくとも部分的に基づいてネットリストを生成するステップとを含む。
2020528181.tif 000002
【特許請求の範囲】
【請求項１】
電子的設計の検証コマンドを翻訳するコンピュータ実装される方法であって、
前記電子的設計を受信するステップと、
少なくとも１つの間接分岐貢献ステートメントを有し、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータの少なくとも１つを有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記少なくとも１つのアナログテストハーネスモデルと、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの測定パラメータの前記少なくとも１つとに少なくとも部分的に基づいて、前記少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子に翻訳するステップと、
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
を含む、方法。
【請求項２】
前記翻訳は、標準化されたアナログハードウェア記述言語を有する、請求項１に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項３】
前記標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−Ａ（商標）文法及びＶｅｒｉｌｏｇ−ＡＭＳ（商標）文法のうち少なくとも一方を少なくとも含む、請求項２に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項４】
電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計の表現を受信するステップと、
前記電子的設計の前記表現と共に、少なくとも１つの間接分岐貢献ステートメントを有し、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータの少なくとも１つを有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記少なくとも１つのアナログテストハーネスモデルと、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの測定パラメータの前記少なくとも１つと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子に翻訳するステップと
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
を含む、方法。
【請求項５】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの刺激を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項６】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの刺激主張を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項７】
前記少なくとも１つのアナログテストハーネスモデルは、仕様データベースからの少なくとも１つの刺激パラメータを含む少なくとも１つの刺激主張を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項８】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項９】
前記少なくとも１つのアナログテストハーネスモデルは、仕様データベースからの少なくとも１つの仕様パラメータを含む少なくとも１つの出力主張を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１０】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力測定値を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１１】
前記少なくとも１つのアナログテストハーネスモデルは、仕様データベースからの少なくとも１つの測定パラメータを含む少なくとも１つの出力主張を有する少なくとも１つの出力測定を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１２】
前記電子的設計の前記表現はアナログである、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１３】
前記電子的設計の前記表現は混合信号である、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１４】
前記電子的設計の前記表現は、少なくとも１つのトランジスタレベル回路部を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１５】
前記電子的設計の前記表現は、少なくとも１つの挙動モデル化された回路部を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１６】
前記電子的設計の前記表現は、物理設計に少なくとも部分的に基づく少なくとも１つの寄生モデルに基づく少なくとも１つの回路を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１７】
前記電子的設計の前記表現は、少なくとも１つの挙動モデル化された回路を有する、請求項４に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項１８】
電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計の表現を受信するステップと、
少なくとも１つの刺激及び少なくとも１つの刺激主張のうち少なくとも一方を有し、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうち少なくとも１つを有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも１つの検証サブルーチンコマンドと、前記少なくとも１つのアナログテストハーネスモデルと、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースからの少なくとも１つの測定パラメータのうち少なくとも１つと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを対応する標準化されたアナログハードウェア記述言語に翻訳するステップと、
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
を含む、方法。
【請求項１９】
前記標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−Ａ（商標）文法及びＶｅｒｉｌｏｇ−ＡＭＳ（商標）文法のうち少なくとも一方を少なくとも含む、請求項１８に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２０】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を有する、請求項１８に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２１】
電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計の表現を受信するステップと、
少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を有し、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうち少なくとも１つを有する少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも１つの検証サブルーチンコマンドと、前記少なくとも１つのアナログテストハーネスモデルと、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースからの少なくとも１つの測定パラメータの前記少なくとも１つと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを前記標準化されたアナログハードウェア記述言語の対応する少なくとも１つに翻訳するステップと、
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
を含む、方法。
【請求項２２】
前記標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−Ａ（商標）文法及びＶｅｒｉｌｏｇ−ＡＭＳ（商標）文法のうち少なくとも一方を含む、請求項２１に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２３】
前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットを有する、請求項２１に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２４】
前記少なくとも１つのアナログハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値に少なくとも部分的に基づいて、前記少なくとも１つの仕様サブセットを確認する、請求項２３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２５】
前記少なくとも１つのアナログハーネスモデルは、少なくとも１つの出力主張の前記少なくとも１つと、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータの前記少なくとも１つとに少なくとも部分的に基づいて、前記少なくとも１つの仕様サブセットを確認する、請求項２３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２６】
前記少なくとも１つの仕様サブセットはデータ変換を有する、請求項２３に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
【請求項２７】
非一時的なコンピュータ可用媒体上に実施されるコンピュータプログラム製品であって、前記非一時的なコンピュータ可用媒体は、一連の命令を記憶しており、前記一連の命令がプロセッサによって実行されると、前記一連の命令は、前記プロセッサに電子的設計の検証コマンドの翻訳の方法を実行させ、前記方法は、
少なくとも１つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの刺激及び少なくとも１つの刺激主張のうち少なくとも一方を有し、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータ、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータのうち少なくとも１つを有し、前記パラメータの少なくとも１つはパラメータ化された変数として扱われる、少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも１つのアナログテストハーネス及び前記少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも１つの規則を検索するステップと、
前記少なくとも１つの検証サブルーチンコマンドと、前記検索された少なくとも１つの規則と、前記少なくとも１つのアナログテストハーネスモデルと、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータ、前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの仕様パラメータのうちの前記少なくとも１つであって、パラメータ化された変数として前記パラメータの少なくとも１つを扱う、前記少なくとも１つと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを対応する少なくとも１つの標準化されたアナログハードウェア記述言語に翻訳するステップと、
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
前記少なくとも１つのアナログテストハーネスモデルを少なくとも部分的に利用して、少なくとも１つのサブコンポーネントを電気的にシミュレートするステップと、
前記電気的シミュレーションを受ける前記電子的設計の少なくとも１つの性能属性を抽出するステップと、
前記抽出された少なくとも１つの性能属性及び少なくとも１つの出力測定値を少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータと比較するステップと、
を含む、電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項２８】
前記少なくとも１つのパラメータ化された変数を固定するステップをさらに含む、請求項２７に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項２９】
少なくとも１つの別個のシミュレーション実行において、前記少なくとも１つのパラメータ化された変数を変化させるステップをさらに含む、請求項２７に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項３０】
少なくとも１つのシミュレーション実行内で、前記少なくとも１つのパラメータ化された変数を変化させるステップをさらに含む、請求項２７に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項３１】
前記少なくとも１つの性能属性は、前記シミュレーション中、抽出される、請求項２７に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項３２】
前記少なくとも１つの性能属性は、前記シミュレーション後、抽出される、請求項２７に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項３３】
前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を有する、請求項２７に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項３４】
前記少なくとも１つのアナログテストハーネスモデルは、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの測定パラメータ、及び前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの刺激パラメータのうち前記少なくとも１つとともに、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を有する、請求項２７に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項３５】
非一時的なコンピュータ可用媒体上に実施されるコンピュータプログラム製品であって、前記非一時的なコンピュータ可用媒体は、一連の命令を記憶しており、前記一連の命令がプロセッサによって実行されると、前記一連の命令は、前記プロセッサに電子的設計の検証コマンドの翻訳の方法を実行させ、前記方法は、
少なくとも１つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を有し、前記少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータ、前記少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータのうち少なくとも１つを有し、前記パラメータの少なくとも１つはパラメータ化された変数として扱われる、少なくとも１つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも１つのアナログテストハーネス及び前記少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも１つの規則を検索するステップと、
前記少なくとも１つの検証サブルーチンコマンドと、前記検索された少なくとも１つの規則と、前記少なくとも１つのアナログテストハーネスモデルと、前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの仕様パラメータ又は前記少なくとも１つの測定パラメータと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも１つの検証サブルーチンコマンドを対応する標準化されたアナログハードウェア記述言語の少なくとも１つに翻訳するステップと、
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
前記少なくとも１つのアナログテストハーネスモデルに少なくとも部分的に利用して少なくとも１つのサブコンポーネントを電気的にシミュレートするステップと、
前記電気的シミュレーションを受けている前記電子的設計の少なくとも１つの性能属性を抽出するステップと、
前記抽出された少なくとも１つの性能属性及び少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち前記少なくとも一方を少なくとも１つの仕様データベース内の少なくとも１つの仕様と比較するステップと、
を含む、コンピュータプログラム製品。
【請求項３６】
前記標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−Ａ（商標）文法及びＶｅｒｉｌｏｇ−ＡＭＳ（商標）文法のうち少なくとも一方を含む、請求項３５に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項３７】
指定された結果に少なくとも部分的に基づいて前記少なくとも１つのアナログテストハーネスモデルを変更するステップをさらに含む、請求項３５に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項３８】
指定された結果に少なくとも部分的に基づいて前記少なくとも１つの検証サブルーチンコマンドを変更するステップをさらに含む、請求項３５に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項３９】
前記少なくとも１つのパラメータ化された変数を変更するステップをさらに含む、請求項３５に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項４０】
前記電子的設計は、少なくとも１つの能動回路及び少なくとも１つの受動回路のうち少なくとも一方を生成する、請求項３５に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項４１】
前記電子的設計は、少なくとも１つの利得及び少なくとも１つの電気信号の少なくとも１つの方向のうち少なくとも一方を調整する少なくとも１つの能動回路を生成する、請求項３５に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項４２】
前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットを有する、請求項３５に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項４３】
前記少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットを有し、前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの測定パラメータ、前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの仕様パラメータのうち少なくとも１つを有する、請求項３５に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項４４】
前記少なくとも１つのアナログハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち前記少なくとも一方に少なくとも部分的に基づいて前記少なくとも１つの仕様サブセットを確認する、請求項４２に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【請求項４５】
前記少なくとも１つのアナログハーネスモデルは、前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの測定パラメータ、前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの刺激パラメータ、及び前記少なくとも１つの仕様データベースに記憶された前記少なくとも１つの仕様パラメータのうち少なくとも１つと共に、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち前記少なくとも一方に少なくとも部分的に基づいて前記少なくとも１つの仕様サブセットを確認する、請求項４２に記載の電子回路設計の検証コマンドを翻訳する方法を実施するコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は、２０１７年７月１９日付けで出願された「ＣＯＭＰＵＴＥＲ  ＩＭＰＬＥＭＥＮＴＥＤ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＯＦ  ＴＲＡＮＳＬＡＴＩＯＮ  ＯＦ  ＶＥＲＩＦＩＣＡＴＩＯＮ  ＣＯＭＭＡＮＤＳ  ＯＦ  ＡＮ  ＥＬＥＣＴＲＯＮＩＣ  ＤＥＳＩＧＮ」と題する米国特許出願第１５／６５４，４６９号明細書（ＺＰＬＧ−３３６０３）の優先権及び／又は利益を主張するものである。米国特許出願第１５／６５４，４６９号明細書は、２０１７年７月２５日付けで米国特許第９，７１５，５６６号明細書として発行された、２０１５年５月８日付けで出願された「ＣＯＭＰＵＴＥＲ  ＩＭＰＬＥＭＥＮＴＥＤ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＯＦ  ＴＲＡＮＳＬＡＴＩＯＮ  ＯＦ  ＶＥＲＩＦＩＣＡＴＩＯＮ  ＣＯＭＭＡＮＤＳ  ＯＦ  ＡＮ  ＥＬＥＣＴＲＯＮＩＣ  ＤＥＳＩＧＮ」と題する米国特許出願第１４／７０７，６８９号明細書（代理人整理番号ＺＰＬＧ−３１８６５）の一部継続出願である。米国特許出願第１４／７０７，６８９号明細書は、２０１４年５月９日付けで出願された「ＣＯＭＰＵＴＥＲ  ＩＭＰＬＥＭＥＮＴＥＤ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＯＦ  ＴＲＡＮＳＬＡＴＩＯＮ  ＯＦ  ＶＥＲＩＦＩＣＡＴＩＯＮ  ＣＯＭＭＡＮＤＳ  ＯＦ  ＡＮ  ＥＬＥＣＴＲＯＮＩＣ  ＤＥＳＩＧＮ」と題する米国仮特許出願第６１／９９１，０７２号明細書（代理人整理番号ＺＰＬＧ−３１８６５）の利益を主張する。米国特許出願第１４／７０７，６８９号明細書及び同第６１／９９１，０７２号明細書並びに米国特許第９，７１５，５６６号明細書は、その全体が参照により本明細書に援用される。
【０００２】
本方法及びシステムは、一般的にはアナログ及び混合信号集積回路の検証に関し、より具体的には、検証サブルーチンコマンド（ｖｅｒｉｆｉｃａｔｉｏｎ  ｓｕｂｒｏｕｔｉｎｅ  ｃｏｍｍａｎｄ）を翻訳するシステム及び方法に関する。
【背景技術】
【０００３】
電子的設計自動化（ＥＤＡ）は、電子的ブロックを設計するためのソフトウェアである。電子的な信号、コンポーネント、及びブロックには大きく幾つかの種類がある（デジタル、アナログ、及び混合信号と呼ばれるデジタルとアナログとの混合物）。電子的設計は一般的に回路情報の以下のレベルのうち少なくとも１つを含む：システムレベル、アーキテクチャレベル、データフローレベル、電気的レベル、デバイスレベル、及びテクノロジーレベル等。
【０００４】
デジタル信号は、離散的な時刻値において発生し、典型的にはクロック信号に結び付けられる離散的な入出力値「０」及び「１」を有する。デジタル信号を入出力するデジタルコンポーネントは典型的には、静的なピン出力及び相互作用プロトコルを有する。デジタルコンポーネントで構成されるデジタルブロックは、確立され文書化された物理的レイアウト及び電気的相互作用を有する。デジタルブロック用のシミュレータは、離散時間イベント駆動型のシミュレータである。
【０００５】
アナログ信号は一般に、時間と共に変化し得る連続的な入出力値を有する。アナログコンポーネントは、典型的には、入力、出力、トリガ、バイアス等を変更するようにカスタマイズ可能なレイアウトを有する。したがって、カスタマイズに起因して、アナログコンポーネントで構成されるアナログブロックは、デジタル回路ほどしっかりと確立又は文書化された物理的レイアウト又は電気的相互作用を有さないことがある。アナログブロック用のシミュレータは一般に、連続時間領域シミュレータを必要とする。
【０００６】
混合信号ブロックは、シミュレートされるコンポーネント内のデジタル信号ブロックとアナログ信号ブロックとの組み合わせである。シミュレーションに利用可能な最も一般的な選択肢は、アナログブロックのグループとしてコンポーネントをシミュレートするか、又はアナログコンポーネント／ブロック及びデジタルコンポーネント／ブロックを個別に解析して、領域間通信のためにデジタル領域とアナログ領域との境界において入出力を翻訳することである。
【０００７】
ＥＤＡ内では、回路レビューの２つの大きな関連するカテゴリがある：シミュレーション及び検証。シミュレーションとは、回路の挙動を予測する数的解の集合である。検証とは、関連する条件下で（機能的検証）製造プロセスのバリエーションにわたり（パラメータ的検証）回路の挙動を記述する系統的な追求である。したがって、検証では一般に、シミュレーションと比べて、回路、回路の動作条件、製造動作バリエーションのはるかに広範囲のレビューが必要である。回路の機能性をあまり検証せずに多数回のシミュレーションを実行することが可能である。検証とは、様々な条件にわたる回路挙動及び回路性能評価の数学的モデル化である。究極的には、検証の成功測度は、回路設計がいかにうまく回路仕様に適合しているかを報告することである。アナログ及び混合信号検証方法論は、増大し続けるアナログ及び混合信号回路の複雑さ、コスト、及び計算的要求への対応に苦闘している。
【０００８】
検証テストケースの数及び複雑さは、アナログ及び混合信号設計の複雑さに伴って増大する。加えて、回路のサイズが増大するにつれて、シミュレーション速度は低下し、メモリ使用量は増加する。したがって、回路を検証するための計算処理力は、回路の複雑さに伴って劇的に増大する恐れがある。さらに悪いことに、検証は通常、スケジュールの遅延が最も深刻だと見なされる設計サイクルの最後に行われる。したがって、検証は一般に、設計サイクル全体のうちの僅かな部分に相当量のシミュレーション処理力を必要とする活動であり、したがって、タイムツーマーケット要求を満たすために、一般に検証資源の効率的な使用が必要とされる。
【０００９】
今日の複雑な検証解決策は特に、関連する条件下で回路の動作が完全且つ効率的に検証されることを保証するための検証活動にエンジニアリングを絞っている。この絞りこまれたアナログ及び混合信号検証は、デジタル検証よりもはるかに手作業及び経験により行われる。この散発的な対話式アナログ検証は会社を危険に曝す。本開示は、より高い抽象度で検証タスクを定義できるようにし得る。本開示は、刺激（ｓｔｉｍｕｌｕｓ）又は刺激主張（ｓｔｉｍｕｌｕｓ  ａｓｓｅｒｔｉｏｎｓ）と、出力測定値又は出力主張との複雑な関係を効率的に捕捉できるようにし得る。本開示は、トランジスタレベル回路、挙動モデルを用いて実装された回路、又は挙動モデルとトランジスタレベル実装との組み合わせを含む回路をテストできるようにし得る。標準的な分岐貢献ステートメントは、条件式が定数式でない限り、条件付き、ループ、命名、又は解析ベースのステートメントにおいて使用することができない。区別のために、本明細書ではこれらの標準的な分岐貢献ステートメントを直接分岐貢献ステートメントと呼ぶ。本開示において、間接分岐貢献ステートメント（ＩＢＣＳ）は、直接分岐貢献ステートメント（ＤＢＣＳ）よりも強力である。具体的には、間接分岐貢献ステートメントは、ユーザの設計、設計構成、シミュレーション／解析構成、検証状態、及び検証履歴に対して動的な条件付き及びループ構造で用いることができる。独立分岐貢献ステートメントを条件付き、ループ、命名、又は解析ベースのステートメントで使用すること又は独立分岐貢献ステートメントが進行中の解析から得られる異なる引数を返すことが長年にわたり必要とされていた。
【００１０】
加えて、設計の複雑さの増大により、製品仕様へのトレーサビリティの必要性が増している。今日、多くの顧客及び産業は、各仕様及びテスト条件を確認する特定の検証テストの文書化を必要としている。本開示は、仕様データベースにリンクするパラメータを含むことができる高水準間接分岐貢献ステートメントの概念を含む。これらのパラメータは、限定ではなく、仕様限界、テスト刺激条件（例えば、供給電圧）、及び測定要件（例えば、特定の値の正味交差）を含むことができる。本開示では、検証コマンドの翻訳時、仕様データベースにアクセスし、パラメータを仕様データベースからの対応する厳密な値で置換することができる。他の選択肢は、リンクされたパラメータをネットリストに残し、シミュレーション時、仕様データベースにアクセスして、パラメータ値を抽出するというものである。
【００１１】
アナログ及び混合信号回路のロバスト（ｒｏｂｕｓｔ）な検証は一般に、シミュレーションの加速に用い得るテストベンチ、性能評価ルーチン、及びマクロモデルへのかなりの投資を必要とする。この付帯事実の複雑さは、検証すべきアナログ及び混合信号集積回路の複雑さに伴って増大する。設計チームが設計資源を追加する場合、検証資源も追加する必要があり、設計コストが増大する。会社が製品を市場に出そうとしているとき、設計サイクルの最後に課される不可避の時間制約に起因して、それらの資源の効率的な使用が最優先事項となる。
【００１２】
電子製造業界における現行技術の軌道は、システムオンチップ（ＳｏＣ）と呼ばれる単一チップ設計又は複数のチップが１つのパッケージに含まれるマルチチップモジュール（ＭＣＭ）にますます向かいつつある。大半のシステムオンチップ及びマルチチップモジュールは一般に、あるレベルの混合信号検証を必要とする。混合信号設計のサイズ及び複雑さが増大するにつれて、このことは、ファーストパス設計の成功を保証し、タイムツーマーケットを短縮するために、検証に追加の負担を発生させる。アナログ及び混合信号ＡＳＩＣ設計の複雑さはムーアの法則に従ってきたが、設計検証における技術革新は一般にそうではない。
【００１３】
本開示の検証サブルーチンコマンドを翻訳する方法は、貴重な設計時間及び計算資源と、高価なシミュレータ資源とに特にフォーカスすることができる。本方法は、複雑な刺激の捕捉と、出力主張及び測定値の捕捉とをより効率的にする。結果として得られる知的なテストベンチは、検証を失敗させる領域を特定し、結果を手作業で解釈する必要性を大幅に低減することにより、設計チーム及び設計監理にはるかに即時のフィードバックを提供する。テスト効率の改善（すなわち、シミュレーション時間を浪費せず、出力解析の時間を短縮する）により、より効率的な資源の利用が可能になる。加えて、極めて重要なパラメータを仕様データベースに結び付けることにより、翻訳されたコマンドは、最新版の仕様にアクセスし、仕様から、生成された検証テスト及び結果へのトレーサビリティを提供することができる。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本開示は、アナログ及び混合信号（Ａ／ＭＳ）特定用途向け集積回路（ＡＳＩＣ）の電子的設計の検証中、検証サブルーチンコマンドを翻訳すること及び極めて重要なパラメータを仕様データベースにリンクすることに関する。アナログ及び混合信号集積回路は現代の多くの電子デバイスに存在し、それらの回路は、製造前、シミュレーションを介して検証する必要がある。
【課題を解決するための手段】
【００１５】
本開示の電子的設計の検証コマンドの翻訳のコンピュータ実装されるシステム及び方法の単なる一例及びその態様によれば、電子的設計を受信するステップと、少なくとも１つの間接分岐貢献ステートメントを有し、仕様データベースからの少なくとも１つの仕様又は測定パラメータを有する少なくとも１つのアナログテストハーネスモデル（ａｎａｌｏｇ  ｔｅｓｔ  ｈａｒｎｅｓｓ  ｍｏｄｅｌ）を受信するステップと、少なくとも１つのアナログテストハーネスモデルに少なくとも部分的に基づいて、少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子に翻訳するステップと、翻訳に少なくとも部分的に基づいてネットリストを生成するステップを含むが提供される。
【００１６】
本開示は、以下の詳細な説明及び図面を考慮することにより、より明確に理解される。
【図面の簡単な説明】
【００１７】
【図１】本開示の実施に適したコンピュータシステムを示すブロック図である。
【図２】本開示の実施に適したコンピュータネットワークシステムを示すブロック図である。
【図３】低電圧損失（ＬＤＯ）回路の一例を示す。
【図４】増幅回路の一例を示す。
【図５】増幅器用のテストベンチピン出力を示す。
【図６】一般的な階層構造の一例を示す。
【図７】インスタンスパースされたテスト階層構造例を示す。
【図８】電力管理集積回路の第１のテストベンチ例を示す。
【図９】電力管理集積回路の第２のテストベンチ例を示す。
【図１０】電力管理集積回路の第３のテストベンチ例を示す。
【図１１】電子的設計の検証サブルーチンコマンド翻訳を有するマルチプレクサ及びオペアンプの一例を示す。
【図１２】電子的設計の検証サブルーチンコマンド翻訳のＢレベルの一例を示す。
【図１３】電子的設計の検証サブルーチンコマンド翻訳のＤレベルの一例を示す。
【図１４】電子的設計の検証サブルーチンコマンド翻訳の階層構造の一例を示す。
【図１５】電子的設計の検証サブルーチンコマンド翻訳のＥレベルの一例を示す。
【図１６】電子的設計の検証サブルーチンコマンド翻訳の第１の例を示す。
【図１７】電子的設計の検証サブルーチンコマンド翻訳の第２の例を示す。
【図１８】電子的設計の検証サブルーチンコマンド翻訳の第３の例を示す。
【図１９】電子的設計の検証サブルーチンコマンド翻訳の第４の例を示す。
【図２０】電子的設計の検証サブルーチンコマンド翻訳の第５の例を示す。
【図２１】電子的設計の検証サブルーチンコマンド翻訳の第６の例を示す。
【発明を実施するための形態】
【００１８】
詳細な説明中の参照符号は、別段のことが記される場合を除き、様々な図中の同様の参照符号に対応する。書面中で用いられる右、左、後、上、下、上側、側面等の記述的用語及び方向的用語は、特に断らない限り、紙上に配置された通りの図面自体を参照し、本開示の物理的限定を言及しない。図面は一定の縮尺ではなく、図示され論じられる例の幾つかの特徴は、本開示の原理及び特徴並びに利点を例示するために、単純化又は誇張されている。
【００１９】
詳細な説明
本開示の特徴及び他の詳細について、添付図面を参照してより詳細にこれより説明し、添付図面中、開示される事項の様々な例示が示され及び／又は記載される。本明細書に記載される特定の例は、本開示の限定としてではなく、例として示されることが理解される。さらに、開示される事項は、本明細書に記載されるいずれの例にも限定されるものとして解釈されるべきではない。これらの例は、本開示が完全且つ完成したものとなり、開示される事項の範囲を当業者に十分に伝えるように提供される。本開示の本質的特徴は、本開示の範囲から逸脱することなく、様々な例において採用し得る。
【００２０】
本明細書において用いられる用語は、特定の例を記述することのみを目的としており、開示される事項の限定としては意図されていない。全体を通して、同様の番号は同様の要素を参照する。本明細書において用いられる場合、「及び／又は（ａｎｄ／ｏｒ）」という用語は、関連して列挙される項目のうち１つ又は複数のありとあらゆる組み合わせを包含する。また、本明細書において用いられる場合、単数形「ａ」、「ａｎ」及び「ｔｈｅ」は、別段のことが状況により明確に示される場合を除き、複数形も同様に含むことが意図される。本明細書において用いられる場合、「備える、含む（ｃｏｍｐｒｉｓｅｓ）」及び／又は「備えている、含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」という用語は、記述された特徴、整数（ｉｎｔｅｇｅｒｓ）、ステップ、動作、要素、及び／又はコンポーネントの存在を指定するが、他の特徴、整数、ステップ、動作、要素、コンポーネント、及び／又はこれらの群のうち１つ又は複数の存在又は追加を排除しないことが理解される。また、本明細において用いられる場合、第１の及び第２の、上及び下、及び右等の関係語は、ある主体又は動作を別の主体又は動作と区別するためだけに用いられることがあり、必ずしもそのような主体間又は動作間の任意の実際のそのような関係又は順序を要求又は示唆するものではない。
【００２１】
アナログ及び混合信号ＩＣ設計への参入障壁のコストは、特に、パッケージされたＡＳＩＣの形態又は顧客のシステムオンチップ（ＳｏＣ）若しくはマルチチップモジュール（ＭＣＭ）に集積されるモジュールの形態でＡＳＩＣ知的財産を開発しているファブレス企業に特有のものである。例えば、ファブレス設計センターに５人のＩＣ設計エンジニアが配置されている場合、そのチームに設計ツールを持たせることは、人員を４倍にするのと財務的に等価である。これは、毎年のライセンス料、インストール及びサポート、トレーニング等のみではないＥＤＡツールを所有することの高いコストに起因する。検証コマンドの翻訳を通じてシステムの使用を縮小することは、より効率的な資源割り振りを可能にする。
【００２２】
アナログ及び混合信号検証は時間及び計算機集約的である。回路が仕様に合わせて機能することを保証するためには、一般に、様々な条件及び様々な製造条件において様々な入力に対する回路の機能性をシミュレートすることが必要になる。
【００２３】
分岐貢献ステートメントは、アナログネット及びポート間の連続的な時間における挙動を記述するのに利用される。１つ又は複数のアナログネット間の数学的関係を記述するために、直接貢献ステートメントは分岐貢献演算子＜＋を利用する。これらの直接貢献ステートメントは、定数式である引数を利用する。標準的な分岐貢献ステートメントは、条件式が定数式でない限り、条件付き、ループ、命名、又は解析ベースのステートメントで使用することができない。区別のために、本明細書ではこれらの標準的な分岐貢献ステートメントを直接分岐貢献ステートメントと呼ぶ。本開示において、間接分岐貢献ステートメント（ＩＢＣＳ）は、直接分岐貢献ステートメント（ＤＢＣＳ）よりも強力である。具体的には、間接分岐貢献ステートメントは、ユーザの設計、設計構成、シミュレーション／解析構成、検証状態、及び検証履歴に対して動的な条件付き及びループ構造で用いることができる。間接分岐貢献ステートメントは、ネットリストの内容に基づいて直接分岐貢献ステートメントを生成する動的コードを可能にする。
【００２４】
ＡＭＳＴ（商標）（アナログ混合信号テスト）は、アナログ／混合信号（Ａ／ＭＳ）刺激と、主張及び出力測定値とを指定するモジュールである。ＡＭＳＴは、刺激と出力主張との間の複雑な関係を効率的に捕捉することができる。ＡＭＳＴ言語（ＡＭＳＴＬ（商標））において指定される検証モデルは、続けてＶｅｒｉｌｏｇ−Ａ／ＡＭＳ（商標）に翻訳される比較的高水準のコマンドを捕捉する。それぞれ、アナログ及び混合信号を定義する標準化された言語であるＶｅｒｉｌｏｇ−Ａ、Ｖｅｒｉｌｏｇ−ＡＭＳ、ＶＨＤＬ−ＡＭＳ、又はＳｙｓｔｅｍＣ−ＡＭＳ等。このコードは、アナログシミュレータの直接分岐貢献ステートメントをサポートする任意の言語標準の生成に用いることもできると考えられる。
【００２５】
ＡＭＳＴＬは、結果として生じる翻訳されたコードが、回路の挙動モデルで用いられるか、それともテストハーネスで用いられるかに関わらず、ＩＢＣＳを伴う比較的高水準のコマンドを捕捉するのに用いることができる。回路の挙動モデルではなくＡＭＳＴ内で主張を捕捉することの価値は、回路の表現に関わらず、検証コマンドを再利用できることである。例えば、図１５において、ＡＭＰ＿ＡＭＳＴブロックは、オペアンプ及びマルチプレクサがトランジスタレベルの結線図として表現されているか、それとも挙動モデルとして表現されているかに関わらず、同じコマンド及び主張を実行する。このときＡＭＰ＿ＡＭＳＴは、これらの回路と共に再利用することができる検証知的財産（ＶＩＰ）として機能する。この概念は、アナログ設計知的財産（ＩＰ）を第三者に提供する場合を考えると、特に貴重となる。購入者は、購入したＩＰと共により大きなＳＯＣ内に埋め込むことができる検証ＩＰを有する。このＶＩＰは、購入した設計ＩＰが不適切に使用されるリスクを低減する。検証ＩＰは、デジタル回路及びトップレベルの入出力についての証明された概念であるが、埋め込まれたアナログＩＰと共に提供することは従来、実用的ではなかった。
【００２６】
言語ＡＭＳＴＬは、アナログ混合信号集積回路設計について、挙動、刺激、出力、測定値等を記述することを意図しており、アナログシミュレータへの入力が意図される標準的なハードウェア記述言語において利用可能なものより高水準の構造を提供する。１つの利点は、ＡＭＳＴＬにおいてＩＢＣＳが利用可能であることに基づく効率の改善である。加えて、ＡＭＳＴＬコードをパースして、任意の所望の標準言語を出力することができる。モジュールＡＭＳＴは、アナログ混合信号検証知的財産の挙動モデルであり、設計内の階層構造の任意のレベルに存在することが意図される。モジュールは、監視している、刺激している、及び／又は評価しているＩＰと共に存在することができる。モデルの出力形式（Ｖｅｒｉｌｏｇ−Ａ、Ｖｅｒｉｌｏｇ−ＡＭＳ、ＶＨＤＬ−ＡＭＳ等）は、ネットリストを通してアナログ又は混合信号シミュレータに入力することができる。
【００２７】
ＡＭＳＴは、仕様データベースにリンクするパラメータを含むことができる。仕様データベースは、以下の種類の情報の少なくとも１つを含む：仕様限界、測定条件、又は刺激条件。仕様限界とは、特定のテストで許されている性能の限界を記述する値である。例えば、ＳＯＣの仕様は、供給電流と呼ばれる仕様を含み得る。供給電流は、最小限界値、典型的な限界値、及び／又は最大限界値を含み得る。例えば、供給電流は、テスト中又は指定された測定条件中、最小限界を決して下回るべきではなく、且つ指定された最大限界を決して超えるべきではない。「典型的な」値は、大抵の場合、室温での性能として定義される通常条件下でのその部品の性能についての情報として提供される。厳密に言えば、「典型的な」値は動作の限界ではない。「測定条件」とは、刺激を含む任意のテスト条件を広く記述するのに用いることができる用語であるが、この考察では、測定条件は、測定をいつ行うことができるかを定義する条件を記述するのに用いられる。例えば、測定条件は、チップにおける電圧調整器出力が特定の値を超える場合のみ、供給電流を測定すべきであることを記述し得る。刺激条件は、チップ又はチップ上の特定のピンに適用される電圧、電流、温度等の刺激を記述する。例えば、供給電流測定は、供給電圧が特定の電圧に等しい場合として定義することもできる。この例では、供給電圧は刺激である。目標は、検証オートメーションが、所与の測定の測定要件及び刺激要件を捕捉すると共に、仕様限界が満たされたことを一揃いの検証刺激が示すことができるように、指定されたパラメータをモニタ又は測定することである。
【００２８】
仕様データベースにリンクされるこれらのパラメータは、一意の識別子を有する。これらの識別子は、検証活動ｖｓ仕様に関する決定的なトレーサビリティの機会を提供する。アナログ検証についての今日典型的な実装は、仕様検証テストが所与の仕様をテストしていることをエンジニアが記述する（グラフィカルインターフェース等を通して）ことを含む。例えば、検証テスト及び出力測定値名は特定の仕様に関連付け得るが、仕様が変更された場合、それに合うように検証テストを自動的に更新することができるメカニズムはない。変更ｖｓ検証テストが実行される時間の自動追跡を可能にするリンクもない。換言すれば、仕様データベースと検証テストとの間にリンクがなければ、検証テストが、仕様変更前に行われたのか、それとも仕様変更後に行われたのかを自動的に判断する機会がない。また、仕様における値及び検証テストにおける値が一致しない場合、手動不一致が生じる恐れがある。本開示内に記載される手法は、仕様に関連する極めて重要なパラメータを仕様データベース内に維持し、高水準検証テストがそのデータベースから一意に特定されたパラメータを含み、高水準ＡＭＳＴＬフォーマットからＶｅｒｉｌｏｇ−ＡＭＳ等のより低水準の実装に翻訳するとき又は仕様データベースにアクセスすることにより作成されたパラメータファイルを通してシミュレートするときのいずれかで、パラメータの値をインスタンス化できるようにする。定義上、検証中に用いられるパラメータは、仕様データベース内のパラメータに一致する。
【００２９】
ネットリストは、
１）コンポーネント（例えば、トランジスタ、抵抗器、コンデンサ、挙動モデル、ＡＭＳＴ、デジタルゲート）の記述及び設計を構成するコンポーネントの属性（例えば、ＰＭＯＳ２はＷ＝１ｕｍを有する）、
２）設計の接続性（例えば、ＰＭＯＳ１のドレインはＮＭＯＳ２のゲートへの接続である）、
３）特定のシミュレーションタスクに対する設計の階層構造の構成（例えば、ＰＬＬ１はモデルとして表現され、ＬＤＯ３はトランジスタレベルで表現される）、
４）シミュレーションタイプ（例えば、過渡シミュレーション）、持続時間（例えば、２ｍｓ）、許容度設定（例えば、ｉａｂｓｔｏｌ＜１０ｅ−１０）、デジタルパーティションとアナログパーティションとの間のインタフェース要素の構成、及び出力信号選択を含むシミュレーションタスクの構成、
５）検証活動に関する任意の信号又は要素の予測性能値、信号遷移、信号形状、デューティサイクル等の検証データベース内の任意の情報
を含むがこれらに限定されない、検証プロジェクト及びシミュレーションタスクに関する情報を含む１つ又は複数のデータベースの表現である。
【００３０】
ネットリストはシミュレーションへの入力である。シミュレーションの目的は、ネットリストにおいて指定される刺激条件及び精度基準下で、ネットリストに記述される回路の挙動を予測することである。シミュレーションは集積回路（ＩＣ）設計の必須部分であり、その理由は、ａ）ＩＣ設計のためのフォトマスクは非常に高価であり、ｂ）ＩＣの製造は長時間を要し、ｃ）ＩＣ内部の信号を調べることは極めて困難であり、ｄ）現代のＩＣ設計のブレッドボーディングは非実用的であるためである。シミュレーションはシミュレータを用いて実行される。高水準では、集積回路をシミュレートする手法が３つある：ＳＰＩＣＥレベルシミュレーション、デジタルレベルシミュレーション、及び混合モードシミュレーション。ＳＰＩＣＥレベルシミュレータは、ネットリストを、陰的積分法、ニュートン法、及びスパース行列技法を用いて解かれる連立非線形微分代数方程式へと縮小する。ＳＰＩＣＥレベルシミュレータは、１組の絶対的許容度又は相対的許容度のもとで、電荷を保存し、キルヒホッフの電流法則及びキルヒホッフの電圧法則を満たす。デジタルシミュレータは、ネットリストを、離散的なイベントによってトリガされる１組のブール関数へと縮小する。デジタルシミュレータは、電荷を保存せず、キルヒホッフの電流法則及びキルヒホッフの電圧法則を満たさない。しかし、デジタルシミュレータは、はるかに大規模な回路をより高い抽象度レベルでシミュレートすることができる。混合モード（ＡＭＳ）シミュレーションは、ＳＰＩＣＥレベルシミュレータをデジタルシミュレータと組み合わせる。このタイプのシミュレーションでは、ＳＰＩＣＥレベルシミュレータを用いて設計の一部をシミュレートし、ＳＰＩＣＥレベルパーティション内のコンポーネントのネット電圧及び端子電流を予測し、一方で、デジタルシミュレータを用いて、デジタルパーティション内のコンポーネントのデジタル出力を予測する。混合モードシミュレーションでは、ＳＰＩＣＥレベルパーティション及びデジタルパーティションはインタフェース要素を用いて接続され、インタフェース要素は、基本的レベルでは、（ＳＰＩＣＥパーティションからデジタルパーティションへと向かう信号については）理想化された１ビットアナログ−デジタルコンバータであり、（デジタルパーティションからＳＰＩＣＥパーティションへと向かう信号については）１ビットデジタル−アナログコンバータである。
【００３１】
シミュレーションは以下の出力を生成することができる：
１）ネット電圧及び端子電流の連続時間／連続値波形；
２）論理ネット出力の離散時間／離散値デジタル波形；
３）ネットリストに含まれていた任意のＡＭＳＴモジュールを含む任意の挙動モデルによって書かれた任意のデータ；
４）主張違反メッセージ；
５）主張測定値；並びに
５）モデル挙動についてのデバッグ情報、回路収束困難度等。
【００３２】
シミュレーションからの出力は、１つ又は複数のデータベースに記憶される。これらの出力は、続けて、回路の安定性を評価するのに用いられる。このプロセスは手動であってもよい。設計者は、例えば、波形をグラフィカル波形ビューワでレビューすることができる。このプロセスは自動化されてもよい。ソフトウェアプログラムは波形結果及びＡＭＳＴ出力をプログラムに従って解析して、回路シミュレーションにおいて満足された１組の設計目的及び１組の失敗した設計目的を要約するスペックコンプライアンス行列を構築することができる。これらの仕様測定値は、仕様データベース内の特定の測定条件又は刺激条件について記述される特定の仕様にリンクすることができるため、検証プロセスからの結果は所望の仕様に直接リンクすることができる。
【００３３】
間接分岐貢献ステートメント（ＩＢＣＳ）を用いて行い得ることの例。
１．任意の数のピンを有するバス（例えば、基準電流バス）をサポートする間接分岐貢献ステートメントを書く。バスのサイズが設計者によって変更されると、実際の直接分岐貢献ステートメントの数は動的に再構成される。
２．ネット名又は回路接続性からスペック限界を抽出する間接分岐貢献ステートメントを書く。これにより、供給接続性チェックの実装が可能になる。
３．以前のシミュレーション結果に基づいて、限界を設定する間接分岐貢献ステートメントを書く。
４．追加のチェックを、ブロックのトランジスタレベルの実装についてのみ追加する間接分岐貢献ステートメントを書く。
【００３４】
これらのケースのそれぞれにおいて、間接分岐貢献ステートメントを構成するコードは、言語標準と互換性のあるＶｅｒｉｌｏｇ−Ａ／ＡＭＳステートメントを生成する。
【００３５】
したがって、開示される検証コマンドの翻訳のシステム及び方法は、以下の課題のうち１つ又は複数を解決し得る：プログラミング時間の短縮を通してコンピュータ及び人的資源のより効率的な使用を可能にすること、市場に出すまでのタイムラグを短縮すること、及び／又はより焦点を絞ったより完全な検証確認を保証すること。
【００３６】
図１のコンピュータシステムは、本開示を実施し得る、例示的なコンピュータシステム１００のシステムアーキテクチャを示す。図１の例示的なコンピュータシステムは、説明のためだけのものである。本説明では、パーソナルコンピュータ等の特定のコンピュータシステムを記述する際に一般的に用いられる用語を参照し得るが、本説明及び本概念は、図１には類似しないアーキテクチャを有するシステムを含め、他のシステムにも同等に当てはまる。
【００３７】
コンピュータシステム１００は、典型的には、１つ又は複数のマイクロプロセッサを用いて実装し得る中央演算処理装置（ＣＰＵ）１１０と、情報の一時的記憶のためのランダムアクセスメモリ（ＲＡＭ）１１２と、情報の永続的記憶のための読み出し専用メモリ（ＲＯＭ）１１４とを含む。ＲＡＭを制御するためにメモリコントローラ１１６が提供される。バス１１８は、コンピュータシステムのコンポーネントを相互接続する。バスを制御するために、バスコントローラ１２０が提供される。システムのコンポーネントからの様々な割り込み信号を受け取って処理するために、割り込みコントローラ１２２が用いられる。フラッシュ１２４、ＤＶＤ（登録商標）１２６、又はハードディスク１２８、例えばソリッドステートドライブにより大容量記憶を提供し得る。データ及びソフトウェアは、フラッシュドライブ及びＤＶＤ等のリムーバブルメディアを介してコンピュータシステムと交換し得る。フラッシュドライブは、ユニバーサルシリアルバス（ＵＳＢ）ドライブ１３０に挿入可能であり、ユニバーサルシリアルバス（ＵＳＢ）ドライブ１３０はコントローラ１３２によってバスに接続される。同様に、ＤＶＤはＤＶＤドライブ１３４に挿入可能であり、ＤＶＤドライブ１３４はコントローラ１３６によってバスに接続される。ハードディスクは固定ディスクドライブ１３８の一部であり、固定ディスクドライブ１３８はコントローラ１４０によってバスに接続される。
【００３８】
コンピュータシステムに対するユーザ入力は、幾つかのデバイスによって提供可能である。例えば、キーボード１４２及びマウス１４４がコントローラ１４６によってバスに接続される。オーディオ変換器１４８は、マイクロホン及びスピーカとして機能し得、図示のようにオーディオコントローラ１５０によってバスに接続される。ペン及び／又はタブレット等の他の入力デバイスが、バス並びに適切なコントローラ及びソフトウェアに接続されてもよい。システムＲＡＭへの直接メモリアクセスを行うために、ＤＭＡコントローラ１５２が提供される。
【００３９】
ビデオディスプレイ１５６を制御するビデオサブシステム１５４によって、視覚的表示が生成される。コンピュータシステムは通信アダプタ１５８も含み、通信アダプタ１５８は、概略的にバス１６０及びネットワーク１６２によって示されるローカルエリアネットワーク（ＬＡＮ）若しくはワイドエリアネットワーク（ＷＡＮ）又は他の適したネットワークにシステムを相互接続できるようにする。
【００４０】
コンピュータシステムの動作は一般に、少数の例を挙げれば、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能なＷｉｎｄｏｗｓ（登録商標）及びＷｉｎｄｏｗｓ  ７オペレーティングシステム、Ｕｎｉｘ（登録商標）、Ｌｉｎｕｘ（登録商標）、又はＡｐｐｌｅ  ＯＳ  Ｘ（登録商標）オペレーティングシステム等のオペレーティングシステムによって制御され調整される。オペレーティングシステムは、システム資源の割り振りを制御し、特に処理のスケジューリング、メモリの管理、ネットワーキング、及びＩ／Ｏサービス等のタスクを実行する。
【００４１】
コンピュータシステム図２はシステム２００を示し、システム２００では、コンピュータユーザ２１０はネットワーク２１２に接続され、ネットワーク２１２はクラウド２１４及び計算ファーム２１６に接続される。
【００４２】
低電圧損失（ＬＤＯ）３００回路の概略例を図３に示す。ＬＤＯは増幅器Ａ１を有し、増幅器Ａ１は、反転入力（「−入力」）、非反転入力（「＋入力」）、出力、正電圧入力「＋Ｖ」、及び負電圧入力「−Ｖ」を有する。ＬＤＯ回路は、電圧入力Ｖｉｎ及び電圧出力Ｖｏｕｔを有する。ＬＤＯは、電力出力ブロックＱ１、Ｑ２、及びＲ２を有する。ＬＤＯフィードバック回路は、Ｒ３、Ｒ４、Ｄ１及びＲ１で構成される。増幅器Ａ１はシンボルと呼ばれ、要素Ｄ１、Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｃ１、Ｃ２、Ｑ１、及びＱ２はプリミティブと呼ばれる。
【００４３】
増幅器Ａ１  ４００回路の概略例を図４に示す。増幅器のシンボルは、トランジスタＱ３、Ｑ４、Ｑ５、Ｑ６、Ｑ７、及びＱ８と、抵抗器Ｒ５とで構成される。増幅器Ａ１は反転入力（「−入力」）、非反転入力（「＋入力」）、出力、正電圧入力「＋Ｖ」、及び負電圧入力「−Ｖ」を有する。
【００４４】
図５は、増幅器Ａ１  ５１０のテストベンチ５００を示す。テストベンチは、接続されたデバイスに実行される、入力、出力、及びテスト条件等の具体的な構成である。テストベンチは、反転入力５１２、非反転入力５１４、正電源入力５１６、負電源入力５１８、出力５２０を有する。テストベンチは、関連付けられた接続、電源供給、ＩＯ等を有し、これらはテストベンチコラテラルと呼ばれる。回路の周縁部分は、検証ハーネスと呼ばれる。ピン出力及び検証ハーネスの動作は、テストされる回路に整合する必要がある。
【００４５】
図６は、テスト中のデバイス（ＤＵＴ）を伴うテストベンチの一般的な階層構造の例６００を示す。階層構造はレベルＡ、Ｂ、Ｃ及びデバイスに従って並びにインスタンス１、２、及び３に従って配置される。接続線は、特定の検証で階層構造を通してどのモデル同士が接続されているかを示す。レベル及びインスタンス内で、複数のビュータイプが存在可能である。これらの例は、幾つかの可能な階層構造構成を示し、事例及びビュー又はビュータイプの限定を意図しない。
【００４６】
集積回路設計階層構造は、階層構造表現を利用した集積回路設計の表現である。この表現により、トランジスタ、抵抗器、コンデンサ、及びデバイスを接続する金属線等の数百万個のコンポーネントを含み得る複雑な設計のより効率的な作成が可能になる。設計プロセスの任意の時点において用いられる設計階層構造表現は、実行されている設計ステップ及びアナログ、デジタル、又はメモリ等の設計機能のタイプに基づいて様々であり得る。
【００４７】
設計を製造すべき場合、表現をマッピングし得るように設計のレイアウトが作成される。このマッピングにより、マスクセットの個々のレベルでパターンを作成して、設計製造を可能にすることができる。一般に、レイアウト表現を作成する設計フローは、デジタル機能ブロック及びサブシステムと比べて、アナログでは非常に異なる。
【００４８】
設計プロセスの早期では、設計の大部分は、初めて設計されいかなる既存のレイアウト表現も持たずに存在し得る。設計の他の部分は既に証明されていることがあり、これらはより高レベルの抽象度において表現し得、又は組み合わせでレイアウト表現を含み得る。
【００４９】
本明細書においてビューと呼ばれる幾つかの一般的なタイプの設計表現は、様々なビュータイプを含み得る。概略ビュータイプは、線又はネットで示される接続を有するブロック又はコンポーネントと、ピンを通した階層構造の他のレベルへの接続とのピクチャである。Ｓｐｉｃｅビュータイプは、コンポーネント及び関連付けられたパラメータの表現であり、場合によっては、ｓｐｉｃｅネットリストへとインスタンス化される特定のデバイスモデルを含む。ＬＶＳＥｘｔｒａｃｔは、レイアウトビューを解析し、個別のコンポーネント及び接続性をリバースエンジニアリングするツールによって作成されるビュータイプである。このタイプのビューのバリエーションは、物理的レイアウトから生成される、設計者によって描かれなかった抽出された寄生的コンポーネントを含むこともできる。レイアウトビュータイプは、設計のその部分の配線を含む特定の幾何学的配置の表現である。Ｖｅｒｉｌｏｇ（商標）ビュータイプは、標準化されたＶｅｒｉｌｏｇ（商標）フォーマットのテキストファイルである。Ｖｅｒｉｌｏｇ−Ａ（商標）ビュータイプは、標準化されたＶｅｒｉｌｏｇ−Ａ（商標）文法のテキストファイルである。Ｖｅｒｉｌｏｇ−ＡＭＳ（商標）ビュータイプは、標準化されたＶｅｒｉｌｏｇ−ＡＭＳ（商標）文法のテキストファイルである。ビュータイプの名称は、電子的設計自動化ツールプロバイダに応じて異なり得るが、その例としてＳｐｅｃｔｒｅＨＤＬ及びＨＤＬ−Ａが挙げられる。
【００５０】
他のタイプのビュータイプは、階層構造の組織化及び可読性を支援し得る。一例として、回路図入力システム等のグラフィック設計ツールは、配置されたグラフィックにシンボルビュータイプを使用し得る。シンボルは、階層構造を通してインスタンスを接続するピンと、ブロックの機能を示す図面とを含み得る。例として、演算増幅器、基本デジタルゲート、トランジスタ、及び抵抗器等の共通シンボルが挙げられる。
【００５１】
記述の複雑性にさらに加えて、設計階層構造のあるレベルにおける所与のブロックは、同じビュータイプの複数のビューを含み得る。一例は、所与のブロックの様々なＶｅｒｉｌｏｇ（商標）表現であり、例えば、レイアウトに基づく注釈付きタイミングを有する表現、推定タイミングを有する表現、タイミングを有さない表現、又はゲートレベル若しくはレジスタ転送レベル（ＲＴＬ）等の異なるレベルの設計表現である。同様に、アナログビューも多数の回路図ビューを有し得る：例えば、最終トランジスタレベル設計にマッピングされるビュー、より高レベルのモデリングのための挙動ブロックの配置を含むビュー、レイアウトからの寄生的要素を含み得るビュー、混合信号シミュレーション用にアナログブロックとデジタルブロックとの間にインタフェース要素を含むビュー。また、アナログブロックの場合、同じブロックに複数のＶｅｒｉｌｏｇ−Ａ（商標）又はＶｅｒｉｌｏｇ−ＡＭＳ（商標）モデルビューが存在し得、ここで、モデルは異なるシミュレーション演習の目的に基づいて異なる機能性及び精度を含む。これら複数のビュー及びビュータイプは、特定のタスク又は解析に用いられる構成にマッピングされる。
【００５２】
ビューの名称は往々にして、特定のビューがどのタイプの解析に有用であり得るかについてのヒントを提供するように作成される。ビューの名称は、以下に列挙されるもの等を含み得る。Ｓｃｈｅｍａｔｉｃは、トランジスタレベル又は挙動モデル等の階層構造の何らかのレベルにおいて評価し得るブロックの配置を含む回路図ビューである。Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌは、挙動的要素を含む回路図ビューである。Ｓｃｈｅｍａｔｉｃ＿ｐａｒａｓｉｔｉｃｓは、レイアウトから抽出又は推定される寄生的コンポーネントを含む回路図ビューである。Ｓｐｉｃｅは、特定のアナログシミュレータのネットリスト及びコンポーネントに実装される情報を含むｓｐｉｃｅビューである。Ｂｅｈａｖｉｏｒａｌ＿ｖａは、Ｖｅｒｉｌｏｇ−Ａ（商標）を評価し得るアナログシミュレータの特定のブロックをモデル化するＶｅｒｉｌｏｇ−Ａ（商標）フォーマットのテキストビューであり、Ｂｅｈａｖｉｏｒａｌ＿ｖａｍｓは、Ｖｅｒｉｌｏｇ−Ａ（商標）及びＶｅｒｉｌｏｇを評価し得る混合信号シミュレータの特定のブロックをモデル化するＶｅｒｉｌｏｇ−ＡＭＳ（商標）フォーマットのテキストビューである。
【００５３】
図６に示す具体例では、テスト中のデバイスＡ１、インスタンス１を有する一般的な階層構造の例は、以下の構成に基づいて定義される：Ａ１、インスタンス１及びＢ１、インスタンス１は、Ｓｃｈｅｍａｔｉｃレベルモデルを用いてモデル化される。Ｂ２、インスタンス１は、Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌモデルを用いてモデル化され、Ｃ１、インスタンス１及びＣ２、インスタンス１は、Ｓｃｈｅｍａｔｉｃモデルを用いてモデル化される。Ｃ１、インスタンス２及びＣ３、インスタンス１は、Ｂｅｈａｖｉｏｒａｌ＿ｖａモデルを用いてモデル化される。階層構造の最下部では、デバイス１、２、及び３、インスタンス１、２、及び３が、Ｓｐｉｃｅを用いてモデル化される。
【００５４】
図６に示す具体例では、デバイス１、インスタンス２はダミーデバイスであり、したがって、シミュレータマトリックスを変更しない。デバイス１、インスタンス２は、ダミーデバイスとして接続されるＣ１、インスタンス１回路図内に配置されており、したがって、シミュレータ内にスタンプされるＡ１、インスタンス１マトリックスの一部ではない。
【００５５】
変更が、検証の再実行を必要とするか否かは、階層構造を通した接続によって部分的に決まる。一般的な階層構造の例でのこの具体的な例であるテスト中のデバイスＡ１、インスタンス１では、デバイス１、インスタンス２のＳｃｈｅｍａｔｉｃビューが変更された場合、このデバイスはダミーデバイスであり、シミュレータ内にスタンプされるマトリックスを変更しないため、シミュレータを再実行する必要はない。
【００５６】
図６へのビューでは、Ｃ１、インスタンス１のＳｃｈｅｍａｔｉｃビューは、シミュレータモデルの構成の一部をなし、これが変更され、変更がシミュレータマトリックスに影響を与えるのに十分なほど実体的なものである場合、テストベンチ１を再実行する必要がある。Ｃ１、インスタンス２のＳｃｈｅｍａｔｉｃビューは、シミュレータモデル例の構成の一部を形成せず、したがって、これが変更された場合、テストベンチ１を再実行する必要はない。
【００５７】
より抽象的なレベルでは、Ｃ１のＳｃｈｅｍａｔｉｃビューが変更され、したがって、インスタンス１及び２内の回路図ビューが変更され、シミュレータマトリックス内にスタンプされる情報の変更に影響を与える場合、テストベンチ１を再実行する必要がある。Ｃ１のＳｃｈｅｍａｔｉｃビューに対する非実体的な変更が、例えば、コメントの追加により行われ、マトリックス内のシミュレータによってスタンプされる情報に変更が行われなかった場合、この設計構成を再実行する必要はない。構成に変更が行われたか否か及びマトリックスのスタンプの影響を判断することは、必要となる検証実行の回数に大きな影響を与え得ることは明白である。
【００５８】
図７は、電力管理チップＰＭＩＣ７００をモデル化するために選び得る様々なモデルビューの幾つかを示す。ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈは、刺激及び出力を有するＢｅｈａｖｉｏｒａｌ＿ｖａｍｓレベル及びＢｅｈａｖｉｏｒａｌ＿ｖａレベルを有する。ＰＭＩＣは、Ｓｃｈｅｍａｔｉｃレベル及びＳｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌレベルを有する。ＬＤＯ、ＬＤＯイネーブル（ｅｎａｂｌｅ）制御、及びバッテリスーパーバイザ（ｂａｔｔｅｒｙ  ｓｕｐｅｒｖｉｓｏｒ）は、Ｓｃｈｅｍａｔｉｃレベル、Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌレベル、及びＢｅｈａｖｉｏｒａｌ＿ｖａｍｓレベルにおいて定義される。電圧基準、ＬＤＯフィードバック、及びＬＤＯ比較器は、Ｓｃｈｅｍａｔｉｃレベル及びＢｅｈａｖｉｏｒａｌ＿ｖａレベルにおいて定義される。ＬＤＯ増幅器は、Ｓｃｈｅｍａｔｉｃレベル及びＳｃｈｅｍａｔｉｃ＿ｐａｒａｓｉｔｉｃｓレベルにおいて定義される。挙動増幅器（Ｂｅｈａｖｉｏｒａｌ  Ａｍｐｌｉｆｉｅｒ）及び挙動的バイアス（Ｂｅｈａｖｉｏｒａｌ  Ｂｉａｓ）は、Ｂｅｈａｖｉｏｒｌ＿ｖａレベルにおいて定義される。ＬＤＯ制御論理は、Ｓｃｈｅｍａｔｉｃレベル及びＶｅｒｉｌｏｇ（商標）レベルにおいて定義される。デバイス１〜Ｘは、Ｓｐｉｃｅレベルにおいて定義される。
【００５９】
図８は、電力管理チップ８００の図６に記載される電力管理チップＰＭＩＣの第１のテスト階層構造を示す。この図は、Ｓｐｉｃｅプリミティブコンポーネント構成が定義される場合の階層構造の一部を示す。このモデルでは、デバイス１、インスタンス２はダミーデバイスであり、シミュレータマトリックスを変更しない。
【００６０】
図９は、電力管理チップ９００の図７に記載される電力管理チップＰＭＩＣの第２のテスト階層構造を示す。この図は、幾つかのアナログ挙動的レベルモデルと、幾つかのＶｅｒｉｌｏｇ（商標）表現と、幾つかのＳｐｉｃｅプリミティブコンポーネントとを有する可能な混合構成の１つの階層構造の一部を示す。
【００６１】
図１０は、電力管理チップ１０００の図７に記載される電力管理チップＰＭＩＣの第３のテスト階層構造を示す。この図は、挙動的構成が定義される場合の階層構造の一部を示す。
【００６２】
図１１は、比較的大規模なシステムオンチップ（ＳＯＣ）内に含まれる増幅器の幾つかの典型的な特徴を有する演算増幅器の簡単な例を示す。この簡単な例でも、混合信号設計に対する今日の検証課題の増大する複雑さを実証することができる。増幅器に入力を供給するのは単純なマルチプレクサ（ｍｕｘ）である。マルチプレクサへの制御信号ＩＮ＿ＣＴＲＬは、マルチプレクサブロック内の一連の論理ゲートへのデジタル入力信号として機能する。これらのゲートは次に、スイッチを制御して、２ペアのアナログ入力：ペア１（ＩＮ＿ＰＯＳ＿１及びＩＮ＿ＮＥＧ＿１）並びにペア２（ＩＮ＿ＰＯＳ＿２及びＩＮ＿ＮＥＧ＿２）から選択する。例えば、論理レベル「０」に等しいＩＮ＿ＣＴＲＬの値は、ＩＮ＿ＰＯＳ＿１及びＩＮ＿ＮＥＧ＿１に接続されたスイッチを閉じることができ、一方、論理レベル「１」のＩＮ＿ＣＴＲＬ値は、ＩＮ＿ＰＯＳ＿２及びＩＮ＿ＮＥＧ＿２に接続されたスイッチを閉じることができる。次に、選択されたアナログ入力はマルチプレクサから出力される。このとき、これらの信号は増幅器入力に接続される。マルチプレクサブロックは電源供給への接続も有する。この場合、アナログ信号はブロックを通過するため、電源供給接続は、アナログ供給電圧ＡＶＤＤ及びＧＮＤへのものである。
【００６３】
増幅器ブロックについても、電源供給接続は、アナログ供給電圧ＡＶＤＤ及びＧＮＤへのものである。なお、複雑なＳＯＣでは、複数の内部電源供給を有することは珍しいことではない。アナログブロックの場合でさえも、異なる電源供給レベル等の選択肢があり得る。他の場合、同じ電圧レベルを供給し得るが、１つの供給源は、給電線上の任意のノイズの影響を受けやすいことがある、極めて重要なブロックに対して使用し得る。よりノイズの多い他のブロック（典型的には、高周波スイッチング等の機能に起因する）は、同じ電圧レベルの別の供給源に接続し得る。この理由から、デジタルブロックは略常に、アナログブロックとは別個に給電される。さらに、電力削減の重要さの増大に伴い、様々な動作モード中、幾つかの電源供給はオフにし得る。その結果、設計エンジニアは、所与のブロックが、適切な時間に利用可能な供給源に接続されていることを検証する必要がある場合もある。
【００６４】
比較的大規模なチップ内の別の共通構成は、アナログ機能に必要なバイアス電流の多くを提供する共通ブロックを有することである。この例では、増幅器は１ｕＡバイアス電流の入力を有する。別の共通選択肢は、トリム（ｔｒｉｍ）及び制御又はプログラム可能性の信号を含む。この例では、増幅器は、利得値を設定することができる２つの制御ビットＧＡＩＮ＿ＣＴＲＬ＜１：０＞と、利得値を僅かに調整する３ビットＧＡＩＮ＿ＴＲＩＭ＜２：０＞とを有する。典型的には、各デバイスがテストされ、製造プロセスのバリエーションを補償して所望の利得値を指定された値になるべく近く整合させるのに用いられる場合、トリムが実行される。この場合、ＧＡＩＮ＿ＣＴＲＬは、特定の用途に最良の利得設定を選ぶプログラム可能性特徴である。イネーブル（ｅｎａｂｌｅ）信号は、チップが動作している間、増幅器の電源をオン又はオフに切り替えられるようにする。これらのタイプの制御は多くの場合、消費電力を最小に抑えるため、チップのクリーンな電源投入シーケンスを可能にするため、及び障害状況中に保護を提供するために提供される。
【００６５】
この簡単な例で、多くの検証要件例がある。これらの要件は、幾つかのカテゴリに分けることができる：
・動作機能−増幅器及びマルチプレクサはそれぞれの機能的要件を満たすか
−マルチプレクサは選択された入力信号を正しくマルチプレクサ出力に渡すか
−増幅器は期待される挙動：利得、スルーレート、入力範囲、出力範囲等を満たすか
・電源供給及びバイアス
−ブロックは適切な電源供給に接続され、正しいバイアスを受けているか
−供給源及びバイアスは、期待される時に利用可能であり、期待される範囲内で動作しているか
・制御信号
−制御信号のあらゆる設定で、正しい挙動が観測されるか
・故障状況
−ブロックピンのいずれかが許容又は期待される範囲外の様式で挙動した場合、ブロックは適宜動作するか、又はその状況は、対処が可能ではない（他の場所で阻止される）か、若しくは対処が期待できないか
【００６６】
本特許では、価値の多くは、可能性の多数の組み合わせをステップスルーするプロセスをより効率的に管理することの結果として得られる。最良の例の１つは、多数のデジタル制御又はトリム選択肢を単にステップスルーすることである。さらに、仕様データベースにリンクすることにより、設計プロセスを通して変わる要件を容易に更新、管理することができ、仕様データベース変更に基づいて、必要な場合、シミュレーションを再実行することができる。さらに、検証活動からの結果は次に、仕様データベース内で管理される要件と比較することができる。
【００６７】
比較的大規模なＳＯＣと、このＳＯＣに対するトップレベルテストベンチとの状況内でこの簡単な例を考える。このテストベンチは、チップの多数のテストベンチのうちの１つであり得るが、この例は、増幅器に向けて開発された検証知的財産が、トップレベルテストベンチからでもいかに活用可能であるかを示すことができる。図６に示す階層構造的概念は、テストベンチの例をいかに構築し得るかを示すように埋めることができる。この例では、図６からのＡ１は、チップと、システム入力、出力負荷、及び外部電源供給又はチップの他のコンポーネントを表すのに必要な全ての回路又はモデルと、ソフトウェアを介してプログラムに従って記述することができるテスト構成の部分とを含むトップレベルテストベンチを表す。この階層構造の例は、図６の図において見て取ることができる。上述のように、階層構造内の各項目は、利用可能な情報とブロックの意図される目的とに応じて多くのタイプのビューによって表すことができる。
【００６８】
図６のレベル「Ｂ」に相関する、この例における階層構造の第２のレベルは、このトップレベルテストベンチ内に配置された全ての要素を含む。最初の要素はチップ自体である。この例では、チップはセルＢ１として識別される。Ｂ２は、チップへのシステム入力を表す回路又はモデルを含むセルであることができる。Ｂ３は、システム提供電源供給及びチップから見たシステム出力負荷を表すモデル又は回路を含むセルであることができる。この例では、Ｂ４は、チップのピンに直接又は他のブロックに接続し、任意のブロック内の任意のパラメータ化された機能に値を提供し、及び／又はシミュレーション中に特定の性能をモニタし測定するために、ソフトウェアに書かれたブロックである。この簡単な例には、増幅器ブロックの例の比較的低いレベルでの信号の作成に繋がる信号のみが含まれる。
【００６９】
ソフトウェアで捕捉可能なこのブロックＢ４は、典型的には、集積回路設計をターゲットとした高水準言語（ＳｙｓｔｅｍＶｅｒｉｌｏｇ、Ｖｅｒｉｌｏｇ、Ｖｅｒｉｌｏｇ−ＡＭＳ、Ｖｅｒｉｌｏｇ−Ａ、ＳｙｓｔｅｍＣ、ＶＨＤＬ等）を用いるが、Ｃ、Ｃ＋＋、ＴＣＬ、ＰＥＲＬ等のより汎用性の高い言語及びスクリプトを活用してもよい。ソフトウェア部分は、刺激を生成し、既存の回路若しくはシステムブロックにおけるパラメータの設計値を定義し、又はシミュレーション全体を通して性能を測定しモニタし得る。例えば、ＳｙｓｔｅｍＶｅｒｉｌｏｇのユニバーサル検証方法論（ＵＶＭ）は、スコアボード関数を定義しモニタすると共に刺激を定義するための共通の構造を含む。デジタル検証方法論はまた、特定の機能又はプロトコルをターゲットとした多くの特定の検証知的財産（ＶＩＰ）も含む。インスタンス化される場合、ユニバーサルシリアルバス（ＵＳＢ）、シリアル周辺機器インタフェース（ＳＰＩ）バス等の定義された通信標準規格は、検証プロセス中、インタフェースを通してデータを供給すると共に、インタフェースがプロトコル規格に整合していることをテストし確認するために活用することができる特定の検証ＩＰを有することになる。この例では、デジタルトリム及び制御は、ＳＰＩインタフェースを通して又はチップ自体によってプログラムされると仮定する。
【００７０】
図１２のテストベンチでは、外部電源供給ＶＤＤ＿ＥＸＴが、ＴＯＰ＿ＡＭＳＴ内のＶｅｒｉｌｏｇ−Ａコードによって生成されている。この場合、ＶＤＤ＿ＥＸＴは、ＳＵＰＰＬＩＥＳ＿ＡＮＤ＿ＯＵＴＰＵＴＳブロックへの入力である。このブロックは次に、ＶＤＤを出力し、ＶＤＤは主外部電源供給としてＳＯＣに接続される。入力については、ＩＮＰＵＴＳブロック内でシステム入力が生成され、次に、ＳＯＣに接続する前にＴＯＰ＿ＡＭＳＴブロックを通過する。入力がテストハーネスを通過することにより、シミュレーション全体を通して入力信号の電圧及び電流の両方をモニタ（又は他の計算のパラメータとして使用）できるようになる。同様に、ＳＯＣからのＶＯＵＴは、ＳＵＰＰＬＩＥＳ＿ＡＮＤ＿ＯＵＴＰＵＴＳブロックに入る前にＴＯＰ＿ＡＭＳＴを通過する。最後に、モニタリングのために、ＳＵＰＰＬＩＥＳ＿ＡＮＤ＿ＯＵＴＰＵＴＳブロックからＴＯＰ＿ＡＭＳＴにＶＯＵＴ＿ＥＸＴが供給される。どの信号がＡＭＳＴテストハーネスブロックを通過すべきかの決定は、システムと、システム全体を適宜表すためにチップ周辺に必要とされる回路／モデルの量とに強く依存する。究極的には、それらの決定は、システム設計及び検証計画によって決まる。
【００７１】
図１３では、階層構造の比較的低いレベルの信号は、それらの信号がトップレベルのピンに運ばれない限りアクセスすることができない。チップを表すインスタンスＢ１の階層構造をさらに考える。この例では、チップの階層構造の次のレベルは、Ｃ１  ＳＯＣ＿ＣＯＲＥと、Ｃ２  ＳＯＣ＿ＰＡＤ＿ＲＩＮＧとを含む。次に、Ｃ１を下り、上からＤ１  ＡＭＰ＿ＣＯＲＥサブシステム、Ｄ２  ＰＷＲ＿ＭＧＭＴ（チップの電力管理機能）、及びＤ３  ＤＩＧ＿ＣＴＲＬを見る。
【００７２】
図１５では、ａｍｐ＿ｃｏｒｅサブシステム内にさらに下り、サブシステム要素：Ｅ１  ｍｕｘ、Ｅ２  ａｍｐ、及びこのサブシステムの検証ＩＰを含むＶｅｒｉｌｏｇＡＭＳブロックであるＥ３  ＡＭＰ＿ＡＭＳＴを示す。
【００７３】
デジタルトリムビットを有する簡単なバンドギャップの場合を考える。回路の目的は、環境（例えば、温度）変化及びプロセス（例えば、酸化物の厚さ）変化にわたり予測可能な出力電圧を生成することである。デジタルトリムビットは、予測可能なステップサイズを有する出力値の範囲を提供する。このバンドギャップのＡＭＳＴは、電源供給、負荷コンポーネント、及びデジタルトリム値を含むバンドギャップのテスト回路全体を定義する必要がある。最初に、簡単な供給源の定義を見てみる：
# 供給開始ランプ時刻
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"}
]
);
gets expanded into:
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
);
【００７７】
出力ノードＶＢＧが０．８５０〜０．９００である時は常に、この電圧測定値は真である。この測定は、シミュレーションのあらゆる時間ステップで実行され評価される。ブール測定値の集まりを組み合わせて、条件付き主張を生成することができる。例えば、以下の主張は、ＤＴＲＩＭ［２：０］ビットが「０００」であり、ＶＤＤ供給がその最小閾値を超えている場合、上で定義された＄ｇｌＶｂｇＴｒｉｍ０ＭｅａｓＯｂｊ測定値（０．８５０≦ＶＢＧ≦０．９００）は真でなければならないということを述べている。
# ＤＴＲＩＭ＝“０００”の場合  ＝＞  ＶＢＧ＝０．９
$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
);
【００７８】
出力電圧をある時点で測定するとより簡単であろう（例えば、１００ｕｓにおいてＶＢＧは０．８５０〜０．９００の間でなければならない）。このタイプのチェックもまた、ＡＭＳＴＬで容易に実装可能である。しかし、上の主張は、単一の時点においてのみならず、主張条件が満たされている間は常に、バンドギャップスペックのサブセットを明示的に捕捉し（例えば「ＤＴＲＩＭ＝０００の場合  ＝＞  ＶＢＧ＝０．９」）、スペックのその部分が真であることを確認するため、はるかに強力である。
【００７９】
次の例では、以下のコードが、測定目的のための直接分岐貢献ステートメントを生成する。この例では、基準電流のワイヤバスを１６本有する。以下の文法を用いて、１ｕｓ後に電流が０．９＊７５０ｎＡ〜１．１＊７５０ｎＡとであることを保証する。
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;
// アナログ条件付き主張１を作成する
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;
//  アナログ条件付き主張１を作成する
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;
// 電流: 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
【００８０】
一例では、図１６は、電子的設計を受信するステップ１６１０と、少なくとも１つの間接分岐貢献ステートメントを有し、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうち少なくとも１つを有する少なくとも１つのアナログテストハーネスモデルを受信するステップ１６１２とを含む、電子的設計の検証コマンドの翻訳の、電気的設計からネットリストへのコンピュータ実装される方法１６００を示す。この方法はまた、少なくとも１つのアナログテストハーネスモデルと、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータの少なくとも１つとに少なくとも部分的に基づいて、少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子に翻訳するステップ１６１４と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ１６１６を含む。電子的設計は階層構造の複数のレベルを含み得る。アナログテストハーネスは、最も低いレベルにモジュールとして存在し得、その場合、任意の階層構造レベルに対する、回路と共にパッケージされたテストベンチとして機能する。図６を再び参照すると、電子的設計は、異なる階層構造のレベルを組み込む、図において接続された各ブロックを包含する。トップレベル階層構造はＡ１であり、次のレベルの階層構造はＢであり、これはＢ１及びＢ２を含み、Ｂ階層構造の下には、Ｃ１、Ｃ２、及びＣ３を有するＣ階層構造がある。この具体例では、Ｂ１レベル以下では、モデルはＳｃｈｅｍａｔｉｃモデル及びＳｐｉｃｅモデルで構成される。Ｂ２レベルでは、モデルはＳｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌモデル及びＢｅｈａｖｉｏｒａｌ＿ｖａモデルを包含する。この例では、アナログテストモデルはＡ１、インスタンス１レベルに接続され、テスト中のコンポーネントのそれぞれに接続する線であるネットリストを通して接続される。
【００８１】
一例では、間接分岐貢献ステートメントはループし得、ループにおいて、脱出条件が満たされるまで、一連の命令が繰り返される。間接ステートメントは条件付きであってもよく、条件付きの場合、真又は偽のブール条件と、入力、出力、又はデバイスの命名がパースされ、１組の命令を推測する命名と、ネットへの出力又は入力のいずれかが解析され、解析に基づいて判断が下される解析とに基づいて動作が行われる。
【００８２】
アナログテストハーネスモデルは、トップブロックレベルから個々の回路等まで、設計の階層構造の任意のレベルに配置することができる。アナログテストハーネスモデルの一例は、低レベルのブロック内で記述され、設計内のモジュールを形成するものであり、設計において、テストモジュールは個別のブロック内に含まれる。アナログテストハーネスモデルを個別のブロックに含めることに関連して生じ得る一利点は、モジュール内での自己検証をサポートするために、回路設計と共に送信することができることである。幾つかの使用モデルでは、テストハーネスモデルは、ネット又はテストハーネス内で用いられるポート名により接続し得、回路図に物理的に配置されず、テストハーネスモデルはネットリストに含められる。この手法は多くの場合、別個のテキストファイルとしてより容易に管理することができるが、ネットリスト内に包含される情報を包含するために、アナログ及び混合信号設計内で用いられる。例としては、トランジスタ等の基本コンポーネントのＳＰＩＣＥモデルファイル、プログラミングで書かれる挙動モデル、又はデジタル機能のハードウェア言語及びレジスタ転送レベル（ＲＴＬ）記述が挙げられる。
【００８３】
一例では、ネットリストは、電子的設計の接続性、基本的にはあるデバイスのどの端子が別のデバイスのどの端子に接続されるかを提供する。ネットリストは、各デバイスについてデバイスの詳細を含むこともできる。
【００８４】
一例では、アナログテストハーネスモデルに基づいて間接分岐貢献ステートメントを複数の直接分岐貢献演算子に翻訳することは、１つのブランケットステートメントを、そのブランケットステートメントのスパンを包含する一連の個々のステートメントに変換することである。基本的には、「ｉｎｄｅｘ  ｃｏｎｄｉｔｉｏｎｓ＜１：１０＞」というステートメントは、「ｃｏｎｄｉｔｉｏｎ  １」、「ｃｏｎｄｉｔｉｏｎ  ２」、…、「ｃｏｎｄｉｔｉｏｎ  １０」に分解される。
【００８５】
翻訳は、Ｖｅｒｉｌｏｇ−Ａ（商標）文法及びＶｅｒｉｌｏｇ−ＡＭＳ（商標）文法の少なくとも一方で少なくとも構成し得る標準化されたアナログハードウェア記述言語を利用し得る。
【００８６】
別の例では、図１７は、電子的設計の表現を受信するステップ１７１０と、電子的設計の表現と共に、少なくとも１つの間接分岐貢献ステートメントを有し、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータの少なくとも１つを有する少なくとも１つのアナログテストハーネスモデルを受信するステップ１７１２とを含む、電子的設計の検証コマンドの翻訳の、電子的設計からネットリストへのコンピュータ実装される方法１７００を示す。この方法はさらに、少なくとも１つのアナログテストハーネスモデルと、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータの少なくとも１つと、電子的設計とに少なくとも部分的に基づいて、少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子に翻訳するステップ１７１４と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ１７１６を含む。図７を再び参照すると、設計例の階層構造及びモデルのそれぞれが示されている。検証の目標の１つは、設計の各ブロック及び各モデルを適切な条件でテストすることである。間接分岐貢献ステートメントを翻訳することは、循環の少なくとも一部を自動化することによりこの多次元のタスクを支援する。
【００８７】
少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの刺激、少なくとも１つの刺激主張、少なくとも１つの出力主張、及び／又は少なくとも１つの出力測定値を有し得る。電子的設計の表現は、アナログ又は混合信号であってもよく、少なくとも１つのトランジスタレベル回路部、少なくとも１つの挙動モデル化された回路部、物理設計に少なくとも部分的に基づく少なくとも１つの寄生モデルに基づく少なくとも１つの回路、及び／又は少なくとも１つの挙動モデル化された回路を含んでもよい。
【００８８】
別の例では、図１８は、電子的設計の表現を受信するステップ１８１０と、少なくとも１つの刺激及び少なくとも１つの刺激主張のうち少なくとも一方を有し、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうち少なくとも１つを有する少なくとも１つのアナログテストハーネスモデルを受信するステップ１８１２と、電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップ１８１４であって、少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップ１８１４を有する、電子的設計の検証コマンドの翻訳の、電子的設計からネットリストへのコンピュータ実装される方法１８００を示す。この方法はまた、少なくとも１つの検証サブルーチンコマンドと、少なくとも１つのアナログテストハーネスモデルと、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうち少なくとも１つと、電子的設計とに少なくとも部分的に基づいて、少なくとも１つの検証サブルーチンコマンドを対応する標準化されたアナログハードウェア記述言語に翻訳するステップ１８１６と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ１８１８とを含む。刺激主張は、電子システム内の属性定義及び制約等を定義し得る。図８を再び参照すると、電子的設計は、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈに続く接続されたブロックのそれぞれを包含し、少なくとも１つのアナログテストハーネスモデルは、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈと記されたブロックに関係する。そのモデルのネットリストは、図８の接続線である各接続を示す。この設計に関連付けられた階層構造は、ＬＤＯ、バッテリスーパーバイザ、及び電圧基準のブロックが、階層構造においてＰＭＩＣブロックより低いことを示す。さらに、このモデルは主に、設計の概略部分をレビューする。少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子に翻訳する能力は、各階層構造及び設計の各部分を設計内の各ブロックについてレビューする効率を上げ得る。
【００８９】
標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−Ａ（商標）文法及びＶｅｒｉｌｏｇ−ＡＭＳ（商標）文法のうち少なくとも一方を少なくとも含み得る。少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を有し得る。
【００９０】
別の例では、図１９は、電子的設計の表現を受信するステップ１９１０と、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を有し、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうち少なくとも１つを有する少なくとも１つのアナログテストハーネスモデルを受信するステップ１９１２と、電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップ１９１４であって、少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップ１９１４を有する、電子的設計の検証コマンドの翻訳のコンピュータ実装される方法１９００の検証サブルーチンを介するネットリストに対する電子的設計を示す。この方法はまた、少なくとも１つの検証サブルーチンコマンドと、少なくとも１つのアナログテストハーネスモデルと、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータの少なくとも１つと、電子的設計とに少なくとも部分的に基づいて、少なくとも１つの検証サブルーチンコマンドを標準化されたアナログハードウェア記述言語の対応する少なくとも１つに翻訳するステップ１９１６と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ１９１８とを含む。図９を再び参照すると、電子的設計は、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈに続く接続されたブロックのそれぞれを包含し、少なくとも１つのアナログテストハーネスモデルは、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈと記されたブロックに関連する。ネットリストは各ブロックを接続する線で示される接続性を示す。この設計に関連付けられた階層構造は、ＬＤＯ、バッテリスーパーバイザ、及び電圧基準のブロックが、階層構造においてＰＭＩＣブロックより低いことを示す。このモデルは、モデルの概略、概略挙動的、及びｂｅｈａｖｉｏｒａｌ．ｖａの各態様をレビューする。全体の電子的設計は図８と同じであるが、テストされる対象、階層構造、及び接続性は異なる。少なくとも１つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子に翻訳する能力は、様々なモデル及び階層構造をより完全にレビューすることを支援する。
【００９１】
標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−Ａ（商標）文法及びＶｅｒｉｌｏｇ−ＡＭＳ（商標）文法のうち少なくとも一方で少なくとも構成し得る。少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットを有し得る。少なくとも１つのアナログハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方に少なくとも部分的に基づいて、少なくとも１つの仕様サブセットを確認し得る。少なくとも１つの仕様サブセットは、データ変換を有し得る。
【００９２】
別の例では、図２０は、非一時的なコンピュータ可用媒体２０００上に実施される抽出されたデータ比較コンピュータプログラム製品を介する電子的設計を示し、非一時的なコンピュータ可用媒体は、一連の命令を記憶しており、一連の命令は、プロセッサによって実行されると、プロセッサに電子的設計の検証コマンドの翻訳の方法を実行させ、方法は、少なくとも１つのアナログテストハーネスモデルを受信するステップ２０１０であって、少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの刺激及び少なくとも１つの刺激主張のうち少なくとも一方を有し、少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうち少なくとも１つを有し、上記パラメータの少なくとも１つはパラメータ化された変数として扱われる、少なくとも１つのアナログテストハーネスモデルを受信するステップ２０１０と、電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップ２０１２であって、少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップ２０１２とを有する。この方法はまた、少なくとも１つのアナログテストハーネス及び少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも１つの規則を検索するステップ２０１４と、少なくとも１つの検証サブルーチンコマンドと、検索された少なくとも１つの規則と、少なくとも１つのアナログテストハーネスモデルと、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうちの少なくとも１つであって、パラメータ化された変数として上記パラメータの少なくとも１つを扱う、少なくとも１つと、電子的設計とに少なくとも部分的に基づいて、少なくとも１つの検証サブルーチンコマンドを対応する少なくとも１つの標準化されたアナログハードウェア記述言語に翻訳するステップ２０１６を含む。この方法は、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ２０１８と、少なくとも１つのアナログテストハーネスモデルを少なくとも部分的に利用して、少なくとも１つのサブコンポーネントを電気的にシミュレートするステップ２０２０と、電気的シミュレーションを受ける電子的設計の少なくとも１つの性能属性を抽出するステップ２０２２と、抽出された少なくとも１つの性能属性及び少なくとも１つの出力測定値を少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータと比較するステップ２０２４とをさらに含む。図１０を再び参照すると、電子的設計は、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈに続く接続されたブロックのそれぞれを包含し、少なくとも１つのアナログテストハーネスモデルは、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈと記されたブロックに関連する。この例では、ＰＭＩＣ階層構造及びＬＤＯ、バッテリスーパーバイザ、及び電圧基準の階層構造がレビューされる。最高レベルにおいて、ＰＭＩＣは概略レベルでレビューされ、ＬＤＯはＢｅｈａｖｉｏｒａｌ＿ｖａｍｓにおいてレビューされ、バッテリスーパーバイザはＢｅｈａｖｉｏｒａｌ＿ｖａｍｓにおいてレビューされ、電圧基準はＢｅｈａｖｉｏｒａｌ＿ｖａレベルでレビューされる。
【００９３】
コンピュータプログラム製品は、少なくとも１つのパラメータ化された変数を固定するステップ、少なくとも１つの別個のシミュレーション実行において少なくとも１つのパラメータ化された変数を変化させるステップ、及び／又は少なくとも１つのシミュレーション実行内で少なくとも１つのパラメータ化された変数を変化させるステップをさらに含み得る。シミュレーション中又はシミュレーション後、少なくとも１つの性能属性を抽出し得る。少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を有し得る。
【００９４】
別の例では、図２１は、非一時的なコンピュータ可用媒体２１００上に実施されるコンピュータプログラム製品２１００の抽出されたデータ比較を介する電子的設計を示し、非一時的なコンピュータ可用媒体は、一連の命令を記憶しており、一連の命令は、プロセッサによって実行されると、プロセッサに電子的設計の検証コマンドの翻訳の方法を実行させ、方法は、少なくとも１つのアナログテストハーネスモデルを受信するステップ２１１０であって、少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を有し、少なくとも１つのアナログテストハーネスモデルは、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうち少なくとも１つを有し、上記パラメータの少なくとも１つはパラメータ化された変数として扱われる、少なくとも１つのアナログテストハーネスモデルを受信するステップ２１１０と、電子的設計に対する少なくとも１つの検証サブルーチンコマンドを受信するステップ２１１２であって、少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの間接分岐貢献ステートメントを有する、少なくとも１つの検証サブルーチンコマンドを受信するステップ２１１２とを含む。この方法はまた、少なくとも１つのアナログテストハーネス及び少なくとも１つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも１つの規則を検索するステップ２１１４と、少なくとも１つの検証サブルーチンコマンドと、検索された少なくとも１つの規則と、少なくとも１つのアナログテストハーネスモデルと、少なくとも１つの仕様データベースに記憶された少なくとも１つの仕様パラメータ、少なくとも１つの仕様データベースに記憶された少なくとも１つの刺激パラメータ、及び少なくとも１つの仕様データベースに記憶された少なくとも１つの測定パラメータのうち少なくとも１つであって、上記パラメータの少なくとも１つはパラメータ化された変数として扱われる、少なくとも１つと、電子的設計とに少なくとも部分的に基づいて、少なくとも１つの検証サブルーチンコマンドを標準化されたアナログハードウェア記述言語の少なくとも１つに対応するものに翻訳するステップ２１１６と、翻訳に少なくとも部分的に基づいてネットリストを生成するステップ２１１８とを含む。この方法は、少なくとも１つのアナログテストハーネスモデルに少なくとも部分的に利用して少なくとも１つのサブコンポーネントを電気的にシミュレートするステップ２１２０と、電気的シミュレーションを受けている電子的設計の少なくとも１つの性能属性を抽出するステップ２１２２と、抽出された少なくとも１つの性能属性及び少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方を少なくとも１つの仕様データベース内の少なくとも１つの仕様と比較するステップ２１２４とをさらに含む。図１０を再び参照すると、電子的設計は、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈに続く接続されたブロックのそれぞれを包含し、少なくとも１つのアナログテストハーネスモデルは、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈと記されたブロックに関連する。この例では、ＰＭＩＣ階層構造及びＬＤＯ、バッテリスーパーバイザ、及び電圧基準の階層構造がレビューされる。最高レベルにおいて、ＰＭＩＣは概略レベルでレビューされ、ＬＤＯはＢｅｈａｖｉｏｒａｌ＿ｖａｍｓにおいてレビューされ、バッテリスーパーバイザはＢｅｈａｖｉｏｒａｌ＿ｖａｍｓにおいてレビューされ、電圧基準はＢｅｈａｖｉｏｒａｌ＿ｖａレベルでレビューされる。
【００９５】
標準化されたアナログハードウェア記述言語は、Ｖｅｒｉｌｏｇ−Ａ（商標）及びＶｅｒｉｌｏｇ−ＡＭＳのうち少なくとも一方を含み得る。さらに、この方法は、指定された結果に少なくとも部分的に基づいて少なくとも１つのアナログテストハーネスモデルを変更するステップ、指定された結果に少なくとも部分的に基づいて少なくとも１つの検証サブルーチンコマンドを変更するステップ、及び／又は少なくとも１つのパラメータ化された変数を変更するステップを含み得る。電子的設計は、結果として、少なくとも１つの能動回路及び少なくとも１つの受動回路のうち少なくとも一方を生成し得、少なくとも１つの能動回路を生成する電子的設計は、少なくとも１つの利得と、少なくとも１つの電気的信号の少なくとも１つの方向とのうち少なくとも一方を調整し得る。少なくとも１つの検証サブルーチンコマンドは、少なくとも１つの仕様サブセットを有し得、少なくとも１つのアナログハーネスモデルは、少なくとも１つの出力主張及び少なくとも１つの出力測定値のうち少なくとも一方に少なくとも部分的に基づいて、少なくとも１つの仕様サブセットを確認し得る。
【００９６】
本明細書では、本開示の様々な例示のための例の作成及び使用が考察されるが、本開示が多種多様な特定の状況で説明することができる概念を提示することを理解されたい。本開示は特定の例に関して示され説明されたが、本明細書を読み理解した当業者は、均等物及び変更を考えつくことが明白である。本開示は、そのような均等物及び変更を含み、添付の特許請求の範囲によってのみ限定される。
【００９７】
方法及び装置は、ローカルで又は分散して又はリモートで実施し得、ステップのデータはローカルで又はリモートで記憶し得ることを理解されたい。明瞭さのため、該当する技術分野の当業者にはありふれた機能、コンポーネント、及びシステムの詳細な記載は含まれない。本開示の方法及び装置は、速度効率の改善、計算時間の短縮、及び再検証数の低減等を含むが、これに限定されない１つ又は複数の利点を提供する。本開示は特定の例示のための例を参照して記載されたが、本明細書に記載されたものは限定的な意味で解釈されることを意図しない。例えば、特定の場合、本開示から逸脱せずに、示され説明された例におけるステップの変形又は組み合わせが使用可能である。例示のための例の様々な変更及び組み合わせ並びに他の利点及び例は、図面、明細書、及び特許請求の範囲を参照した上で当業者には明白である。
【図１】
2020528181.tif 000003
【図２】
2020528181.tif 000004
【図３】
2020528181.tif 000005
【図４】
2020528181.tif 000006
【図５】
2020528181.tif 000007
【図６】
2020528181.tif 000008
【図７】
2020528181.tif 000009
【図８】
2020528181.tif 000010
【図９】
2020528181.tif 000011
【図１０】
2020528181.tif 000012
【図１１】
2020528181.tif 000013
【図１２】
2020528181.tif 000014
【図１３】
2020528181.tif 000015
【図１４】
2020528181.tif 000016
【図１５】
2020528181.tif 000017
【図１６】
2020528181.tif 000018
【図１７】
2020528181.tif 000019
【図１８】
2020528181.tif 000020
【図１９】
2020528181.tif 000021
【図２０】
2020528181.tif 000022
【図２１】
2020528181.tif 000023
【国際調査報告】
2020528181.tif 000024