(57)【特許請求の範囲】
【請求項１】
検証確認のための電子的設計の変更評価の、コンピュータによって実施される方法であって、
少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される前記電子的設計を受け取るステップと、
前記少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を採用するステップと、
前記少なくとも１つのサブコンポーネントを表す前記データの現在の署名を生成するステップと、
前記現在の署名および前記バンクされた署名に少なくとも部分的に基づいて、相違を決定するステップと、
前記決定された相違に応じて、前記少なくとも１つのサブコンポーネントに階層的に関連する少なくとも１つの直系のサブコンポーネントを追跡するステップとを備え、
前記少なくとも１つのサブコンポーネントは、複数の抽象化レベルを有する定義を備える、方法。
【請求項２】
検証確認のための電子的設計の変更評価の、コンピュータによって実施される方法であって、
少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される前記電子的設計を受け取るステップと、
前記少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を採用するステップと、
前記少なくとも１つのサブコンポーネントを表す前記データの現在の署名を生成するステップと、
前記現在の署名および前記バンクされた署名に少なくとも部分的に基づいて、相違を決定するステップと、
前記決定された相違に応じて、前記少なくとも１つのサブコンポーネントに階層的に関連する少なくとも１つの直系のサブコンポーネントを追跡するステップとを備え、
前記少なくとも１つの直系のサブコンポーネントは、より高い抽象化レベルのためのものである、方法。
【請求項３】
検証確認のための電子的設計の変更評価の、コンピュータによって実施される方法であって、
少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される前記電子的設計を受け取るステップと、
前記少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を採用するステップと、
前記少なくとも１つのサブコンポーネントを表す前記データの現在の署名を生成するステップと、
前記現在の署名および前記バンクされた署名に少なくとも部分的に基づいて、相違を決定するステップと、
前記決定された相違に応じて、前記少なくとも１つのサブコンポーネントに階層的に関連する少なくとも１つの直系のサブコンポーネントを追跡するステップとを備え、
前記少なくとも１つの直系のサブコンポーネントは、より低い抽象化レベルのためのものである、方法。
【請求項４】
前記電子的設計の検証履歴を決定するステップをさらに備える、請求項１から請求項３のいずれか一項に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項５】
前記電子的設計の検証履歴を受け取るステップをさらに備える、請求項１から請求項３のいずれか一項に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項６】
前記少なくとも１つのサブコンポーネントの修正を少なくとも１つ受け取るステップをさらに備える、請求項５に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項７】
前記決定された相違に応じて、前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つの修正されたサブコンポーネントとの等価性を評価するステップをさらに備える、請求項６に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項８】
前記決定された相違と、前記評価された等価性と、前記少なくとも１つの直系のサブコンポーネントとに少なくとも部分的に基づいて、結果ログを提供するステップをさらに備え、
前記結果ログは、前記少なくとも１つのサブコンポーネントの、前記少なくとも１つの修正の結果としての、前記電子的設計に対する影響を示す、請求項７に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項９】
前記結果ログおよび前記検証履歴に少なくとも部分的に基づいて検証デルタを決定するステップをさらに備える、請求項８に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項１０】
検証確認のための電子的設計の変更評価の、コンピュータによって実施される方法であって、
少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される前記電子的設計を受け取るステップと、
前記少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を採用するステップと、
前記少なくとも１つのサブコンポーネントのレビュー要求を少なくとも１つ受け取るステップと、
前記少なくとも１つのレビュー要求に応じて、前記少なくとも１つのサブコンポーネントを表すデータの現在の署名を生成するステップと、
前記現在の署名および前記バンクされた署名に少なくとも部分的に基づいて、相違を決定するステップと、
前記決定された相違に応じて、前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのレビューされたサブコンポーネントの等価性を評価するステップとを備える、方法。
【請求項１１】
前記等価性評価は、前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのレビューされたサブコンポーネントの構造的レイアウトを認識することを備える、請求項１０に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項１２】
前記等価性評価は、前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのレビューされたサブコンポーネントの固有値のマッピングを備える、請求項１０に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項１３】
前記等価性評価は、前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのレビューされたサブコンポーネントのネットリストのマッピングを備える、請求項１０に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項１４】
前記等価性評価は、前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのレビューされたサブコンポーネントのマトリックススタンプのマッピングを備える、請求項１０に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項１５】
前記等価性評価は、
動作的領域および電気的領域の間のマッピングを定義することと、
前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのレビューされたサブコンポーネントの動作的実装および電気的実装の間の偏位を計算することと
を備える、請求項１０に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項１６】
コンピュータに、修正の対象となった検証確認のための電子的設計の変更評価の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される前記電子的設計を受け取るステップと、
前記少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を採用するステップと、
前記電子的設計の検証履歴を受け取るステップと、
前記少なくとも１つのサブコンポーネントの修正を少なくとも１つ受け取るためにコンピュータプロセッサを用いるステップと、
前記少なくとも１つの修正に応じて、前記少なくとも１つのサブコンポーネントを表すデータの現在の署名を生成するステップと、
前記現在の署名および前記バンクされた署名に少なくとも部分的に基づいて、相違を決定するステップと、
前記決定された相違に応じ、前記少なくとも１つのサブコンポーネントの、前記少なくとも１つの修正によって影響を受けて、前記少なくとも１つのサブコンポーネントに階層的に関連する少なくとも１つの直系のサブコンポーネントを追跡するステップと、
前記決定された相違および前記少なくとも１つの直系のサブコンポーネントに少なくとも部分的に基づいて、結果ログを提供するステップであって、前記結果ログは、前記少なくとも１つのサブコンポーネントの、前記少なくとも１つの修正の結果として得られる前記電子的設計に対する影響を示す、結果ログを提供するステップと、
前記結果ログおよび前記検証履歴に少なくとも部分的に基づいて、検証デルタを査定するステップと
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記階層的関連は、少なくとも、システムレベルと、アーキテクチャレベルと、データフローレベルと、電気的レベルと、デバイスレベルと、テクノロジーレベルとを備える、請求項１６に記載の記録媒体。
【請求項１８】
修正の対象となった電子的設計の変更評価に基づいて検証を確認する、コンピュータベースのシステムであって、
プログラムコード命令のセットを実行するためのコンピュータプロセッサと、
前記プログラムコード命令を担持するメモリと、を備え、
前記プログラムコード命令は、前記コンピュータプロセッサに、
少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される前記電子的設計を受け取ることと、
前記少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を採用することと、
前記少なくとも１つのサブコンポーネントの修正を少なくとも１つ受け取るために前記コンピュータプロセッサを用いることと、
前記少なくとも１つの修正に応じて、前記少なくとも１つのサブコンポーネントを表すデータの現在の署名を生成することと、
前記現在の署名および前記バンクされた署名に少なくとも部分的に基づいて、相違を決定することと、
前記決定された相違に応じて、前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つの修正されたサブコンポーネントに少なくとも部分的に基づいて、等価性を評価することと、
前記決定された相違および前記評価された等価性に応じて、前記少なくとも１つの修正されたサブコンポーネントに階層的に関連する少なくとも１つの直系のサブコンポーネントを追跡することと、
前記決定された相違と、前記評価された等価性と、前記少なくとも１つの直系のサブコンポーネントとに少なくとも部分的に基づいて、結果ログを提供することであって、前記結果ログは、前記少なくとも１つのサブコンポーネントの、前記少なくとも１つの修正の結果として得られる前記電子的設計に対する影響を示す、結果ログを提供することと、
を実行させる、システム。
【請求項１９】
検証確認のための電子的設計の変更評価の、コンピュータによって実施される方法であって、
少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される前記電子的設計の表現を受け取るステップと、
前記電子的設計の前記表現とともに、前記少なくとも１つのサブコンポーネントをテストするための少なくとも１つのテストハーネスモデルを受け取るステップと、
前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのテストハーネスモデルを表すデータのバンクされた署名を採用するステップと、
前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのテストハーネスモデルのレビュー要求を少なくとも１つ受け取るステップと、
前記少なくとも１つのレビュー要求に応じて、前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのテストハーネスモデルを表すデータの現在の署名を生成するステップと、
前記現在の署名および前記バンクされた署名に少なくとも部分的に基づいて、相違を決定するステップと、
前記決定された相違に応じて、前記少なくとも１つのサブコンポーネントおよび前記少なくとも１つのレビューされたサブコンポーネントの等価性を評価するステップとを備える、方法。
【請求項２０】
前記少なくとも１つのテストハーネスモデルはアナログである、請求項１９に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項２１】
前記少なくとも１つのテストハーネスモデルはアナログとデジタルの混合である、請求項１９に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【請求項２２】
前記少なくとも１つのテストハーネスモデルはデジタルである、請求項１９に記載の、検証確認のための電子的設計の変更評価のコンピュータによって実施される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本願は、米国特許出願第１３／９２９，００７号明細書（２０１３年６月２７日に出願され、「METHOD AND SYSTEM OF CHANGE EVALUATION OF AN ELECTRONIC DESIGN FOR VERIFICATION CONFIRMATION」と題するもの。代理人整理番号ZPLG-31797。その明細書の全体が参照により本明細書に援用される）の優先権および／または利益を主張する。
【０００２】
［背景］
本方法およびシステムは、概して、アナログおよび混合信号集積回路の検証に関する。
【０００３】
電子的設計自動化(electronic design automation)（ＥＤＡ）は、電子的ブロックを設計するためのソフトウェアである。いくつかの広い種類の電子的信号と、コンポーネントおよびブロックと、デジタルと、アナログと、混合信号と呼ばれるデジタルおよびアナログの混合物とが存在する。電子的設計は概して回路情報の以下のレベルのうち少なくとも１つを含む。すなわち、システムレベル、アーキテクチャレベル、データフローレベル、電気的レベル、デバイスレベル、テクノロジーレベル、等である。
【０００４】
デジタル信号は、離散的な入出力値「０」および「１」（離散的な時刻値において発生し、典型的にはクロック信号に結び付けられる）を有する。デジタル信号を入出力するデジタルコンポーネントは、典型的には、静的なピン出力および相互作用プロトコルを有する。デジタルコンポーネントを備えるデジタルブロックは、しっかりと確立されしっかりと文書化された物理的レイアウトおよび電気的相互作用を有する。デジタルブロック用のシミュレータは、離散時間イベント駆動型のシミュレータである。
【０００５】
アナログ信号は、概して連続的な入出力値（時間とともに変化し得る）を有する。アナログコンポーネントは、典型的には、入力、出力、トリガ、バイアス、等を変更するためにカスタマイズ可能なレイアウトを有する。したがって、カスタマイズによっては、アナログコンポーネントを備えるアナログブロックは、しっかりと確立されしっかりと文書化された物理的レイアウトや電気的相互作用を有しない場合がある。アナログブロック用のシミュレータは、概して、連続時間領域シミュレータを必要とする。
【０００６】
混合信号ブロックは、シミュレートされるコンポーネント内のデジタル信号ブロックおよびアナログ信号ブロックの組み合わせである。シミュレーションのために利用可能な最も一般的なオプションは、コンポーネントをアナログブロックのグルーピングとしてシミュレートすることか、または、アナログコンポーネント／ブロックおよびデジタルコンポーネント／ブロックを個別に解析して、デジタル領域とアナログ領域との境界における入出力を領域間通信のために翻訳することである。
【０００７】
ＥＤＡ内では、回路レビューの、２つの大きな関連するカテゴリ（シミュレーションおよび検証）がある。シミュレーションは、回路の振る舞いを予測する数的解の集合である。検証は、関連する条件のもとで（機能的検証）、および、製造プロセスのバリエーションにわたって（パラメータ的検証）、回路の振る舞いを記述することのシステマティックな追求である。したがって、検証は、概して、シミュレーションに比べて、回路、その動作条件、製造動作バリエーションの、はるかに広範囲なレビューを必要とする。回路の機能性を、いかなる実質的程度にも検証することなく、多数回のシミュレーションを実行することが可能である。検証は、ある範囲の条件にわたる回路性能の評価および回路の振る舞いの数学的モデル化である。究極的には、検証の成功の測度は、回路設計がいかにうまく回路仕様に適合しているかを報告することである。アナログおよび混合信号検証メソドロジーは、増大し続けるアナログおよび混合信号回路の、複雑さ、コスト、および計算的要求についていくのに苦労している。
【０００８】
検証テストケースの数および複雑さは、アナログおよび混合信号設計の複雑さとともに増大する。加えて、回路のサイズが増大するにつれて、シミュレーションスピードが低下し、メモリ使用量が増加する。このように、回路を検証するための計算処理パワーは、回路の複雑さとともに劇的に増加する可能性がある。スケジュールの遅延がもっとも深刻だと思われる設計サイクルの最後に検証が行われるということが、この問題をより苦痛あるものとしている。このように、検証は、概して設計サイクル全体のうち小部分のためにかなりの量のシミュレーション処理パワーを必要とする活動であり、タイム・ツー・マーケット要求(time to market demand)を満たすために、概して検証資源の効率的な使用が必要とされる。
【０００９】
今日の複雑な検証ソリューションは、関連する条件下で回路の動作が完全かつ効率的に検証されることを保証するために、検証活動に具体的にエンジニアリングを絞っている。この絞りこまれたアナログおよび混合信号検証は、デジタル検証よりもはるかに、手作業・経験により駆動される。この散発的な対話式アナログ検証は、会社にリスクを残す。変更が起きたか否か、その重要性、および、回路の他の部分への影響を決定するための、より自動化された手順の必要性が長く存在していた。
【００１０】
アナログおよび混合信号回路の頑強な検証は、概して、テストベンチ、性能評価ルーチン、および、シミュレーションを加速するために用い得るマクロモデルへのかなりの投資を必要とする。この付帯事実の複雑さは、アナログおよび混合信号集積回路の複雑さにつれて増大する。設計チームが設計資源を追加すると、それは設計のコストに加えて検証資源の追加も必要とする。会社が製品を市場に出そうと努力している時には、設計サイクルの最後に課される不可避の時間的制約に起因して、これらの資源の効率的な使用が最優先事項となる。
【００１１】
電子製造業界における現在の技術の軌跡は、ますます単一チップ設計（システムズ・オン・ア・チップ(Systems on a Chip)（ＳｏＣ）と呼ばれる）に向かいつつある。ほとんどのシステムズ・オン・ア・チップは、概して、あるレベルの混合信号検証を必要とする。このことは、混合信号設計がサイズおよび複雑さにおいて増大するにつれて、ファーストパス設計(first pass design)の成功を保証し、タイム・ツー・マーケットを短縮するために、追加の負担を発生させる。アナログおよび混合信号ＡＳＩＣ設計の複雑さは、ムーアの法則に積極的に従っているが、設計検証における技術革新は概してそうではない。
【００１２】
貴重な設計時間および計算資源ならびに高価なシミュレータ資源は、現在のアドホックな手法とは異なり、等価でない変更に対する目標カバレッジを達成するために、本開示の方法によって具体的に絞りこまれてもよい。本方法は、再検証される必要がある領域を特定し、設計チームおよび設計管理にほぼ即時のフィードバックを提供する。テストカバレッジ効率（すなわちシミュレーション時間を浪費しないこと）を改善することにより、資源のより効率的な使用が可能になる。
【００１３】
本開示は、アナログおよび混合信号(analog and mixed signal)（Ａ／ＭＳ）特定アプリケーション用集積回路（ＡＳＩＣ）に対する検証を確認するための電子的設計に対する変更を評価することに関する。アナログおよび混合信号集積回路は、多くの現代的電子デバイス内に存在し、これらの回路は製造前にシミュレーションを介して検証される必要がある。検証確認の態様は、変更が発生したか否か、もし変更が発生していれば、結果として等価な回路となるか否か、もし変更が発生しておりかつ回路が等価でなければ、回路全体に対する結果としての影響はどのようなものか、を決定することを含む。
【００１４】
したがって、本開示は、変更が発生したか否かを決定することと、修正された回路は等価であるか否かを決定することと、回路修正の結果としての影響を決定することとを介して、改善された検証効率を実現する。これらの、および他の潜在的な、本開示の利点、特徴および利益は、本開示の代表例の詳細な説明を、添付図面とともに注意深く考察することに基づいて、当業者に理解され得る。
【００１５】
［概要］
サブコンポーネントを含む電子的設計を受け取るステップと、サブコンポーネントを表すデータのバンクされた署名(banked signature)を採用するステップとを有する、検証確認のための電子的設計の変更評価方法の、一例および本開示の一態様によれば、提供される。この例は、サブコンポーネントのレビュー要求を受け取るステップと、サブコンポーネントを表すデータの現在の署名(current signature)を生成するステップと、現在の署名およびバンクされた署名に基づいて相違を決定するステップと、を有する。
【００１６】
本開示は、以下の詳細な説明および図面を考慮することにより、より明確に理解される。
【図面の簡単な説明】
【００１７】
【図１】本開示の事例を実施するのに適したコンピュータシステムを示すブロック図である。
【図２】本開示の事例を実施するのに適したコンピュータネットワークシステムを示すブロック図である。
【図３】低電圧損失（ＬＤＯ）回路の例を示す図である。
【図４】増幅回路の例を示す図である。
【図５】増幅器用のテストベンチピン出力を示す図である。
【図６】階層構造の例を示す図である。
【図７】修正されたサブコンポーネントと、その設計表現内の影響を受ける直系の各サブコンポーネントとを示す階層構造の例を示す図である。
【図８】一般的な階層構造の例を示す図である。
【図９】パースされたテスト階層構造例の事例を示す図である。
【図１０Ａ】電源管理集積回路用の第１の設計構成例を示す図である。
【図１０Ｂ】電源管理集積回路用の第１の設計構成例を示す図である。
【図１１Ａ】電源管理集積回路用の第２の設計構成例を示す図である。
【図１１Ｂ】電源管理集積回路用の第２の設計構成例を示す図である。
【図１２Ａ】電源管理集積回路用の第３の設計構成例を示す図である。
【図１２Ｂ】電源管理集積回路用の第３の設計構成例を示す図である。
【図１３】検証確認のための電子的設計の変更検証の第１の例を示す図である。
【図１４】検証確認のための電子的設計の変更検証の第２の例を示す図である。
【図１５】検証確認のための電子的設計の変更検証の第３の例を示す図である。
【図１６】修正対象となった電子的設計の変更評価に基づく検証確認のコンピュータプログラム製品を示す図である。
【図１７】修正対象となった電子的設計の変更評価に基づく検証確認のコンピュータベースシステムを示す図である。
【図１８】相違決定方法を示す図である。
【図１９】検証確認の等価性評価の第１の例を示す図である。
【図２０】検証確認の等価性評価の第２の例を示す図である。
【図２１】検証確認の等価性評価の第３の例を示す図である。
【図２２】検証確認の等価性評価の第４の例を示す図である。
【図２３】検証確認の等価性評価の第４の例を示す図である。
【図２４】ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈ１構成の概略を示す図である。
【図２５】ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈ１のための設計階層構造の設計構成の第１の例を示す図である。
【図２６】ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈ１のための設計階層構造の設計構成の第２の例を示す図である。
【図２７】検証確認用のテストベンチ構成を含む等価性評価の第５の例を示す図である。
【発明を実施するための形態】
【００１８】
詳細な説明中の参照符号は、様々な図中の類似の参照符号に対応する（そうでないと断った場合を除く）。書面中で用いられる記述的および方向的用語（右、左、後、頂点(top)、底、上側、側面、他）は、とくに断らない限り、紙上に配置された通りの図面自体を参照し、本開示の物理的限定を参照しない。各図はスケールを示すものではなく、図示され論じられる例の特徴のいくつかは、本開示の原理および特徴と、利点とを例示するために、単純化され誇張されている。
【００１９】
［詳細な説明］
本開示の特徴および他の詳細は、以下に、添付図面への参照とともにより詳細に記載される。添付図面には、開示される事項の様々な例示が示されおよび／または記載される。本明細書に記載される特定の例は、本開示の限定としてではなく、例として示されるということが理解される。さらに、開示される事項は、本明細書に記載されるいずれかの例に限定されると考えるべきではない。そうではなく、これらの例は、本開示が完全かつ完結したものとなり、開示される事項の範囲を当業者に十分に伝えるように提供される。本開示の本質的特徴は、本開示の範囲から逸脱することなく、様々な例において採用し得る。
【００２０】
本明細書において用いられる用語法は、特定の例を記述することのみを目的としており、開示される事項の限定としては意図されていない。本明細書を通して、類似した番号は類似した要素を参照する。本明細書において用いられる用語「および／または(and/or)」は、関連して列挙される事項のうち１つ以上の任意の組み合わせすべてを包含する。また、本明細書において用いられる単数形「a」、「an」および「the」は、複数形も同様に含むことを意図される（ただしそうでないことを文脈が明確に示す場合を除く）。さらに、本明細書において用いられる場合、用語「備える」（"comprises", and/or "comprising"）および「含む」（"comprises", and/or "comprising"）は、記述された特徴、完全体(integers)、ステップ、動作、要素、および／または構成要素の存在を特定するが、他の特徴、完全体、ステップ、動作、要素、構成要素、および／またはこれらの群のうち１つ以上の存在または追加を排除しない。また、本明細において用いられる相対的用語（第１の、第２の、頂点(top)、底(bottom)、左、右、等）は、１つの主体または動作を別の主体または動作と区別するためだけに用いられており、必ずしもそのような主体または動作の間の実際の関係または順序を要求または示唆するものではない。
【００２１】
アナログおよび混合信号ＩＣ設計への参入障壁のコストは、とくに自社工場を持たない会社（パッケージされたＡＳＩＣの形で、または顧客のシステムズ・オン・ア・チップ（ＳｏＣｓ）に集積されるべきモジュールの形で、ＡＳＩＣ知的財産を開発する会社）に特有のものである。たとえば、自社工場を持たない設計センターに５人のＩＣ設計エンジニアが配置されている場合には、そのチームに設計ツールを持たせることは、人員を４倍にするのと財務的に等価である。これは、ＥＤＡツールを所有することの高いコスト（毎年のライセンス料、設置およびサポート、トレーニング等に限られない）に起因する。知的な変更管理追跡および評価を通じてシステムの使用を縮小することは、より効率的な資源配置を可能にする。
【００２２】
アナログおよび混合信号検証は、時間・計算集約的である。回路が仕様に合わせて機能することを保証するためには、概して、様々な条件および様々な製造条件における様々な入力に対する回路の機能性をシミュレートすることが必要となる。元の検証の時間・計算集約性を重畳させることは、設計の各側面を複数の設計チームがレビューまたは修正する可能性があるということである。回路が適切に検証されたか否かを確認する際には、変更が発生したか否か、その変更が結果として等価な回路に帰着するか否か、および、それら等価でない変更の結果としての影響、を評価することが最優先事項となる。
【００２３】
本開示は、回路の修正が発生したか否かを扱う。回路の修正がない場合には、追加の検証を行ってもよいが、追加の検証確認問題を扱う必要はない。ファイルを開くことが日付をインデキシングし擬陽性を示す可能性があるので、ファイルの最終更新タイムスタンプを見て修正が発生したか否かを決定することは、場合によっては不可能である。ファイルを開いた後にそのファイルについて現在の署名(current signature)を生成することは、これをそのファイルのバンクされた署名(banked signature)と比較することを可能にする。バンクされた署名と現在の署名との間に相違があれば、実際のファイル変更が発生したと推定することができる。バンクされたファイルに関連付けられ得る署名の種類は、暗号化されたもの、時間ベースのもの、データビットベースのもの、等であってもよく、署名はファイルとともにバンクされ記憶されるか、または、代替として、オン・ザ・フライで生成されてもよい。現在の署名およびまたはバンクされた署名は、ユーザによりユーザの選択のもとに生成されるよう強制してもよいということが構想される。
【００２４】
設計ファイルの一部が変更されたことが示された後、他の問題を扱う必要がある可能性がある。これらの問題のうち１つは、示された変更が等価でない回路に帰着するか否かである。非等価性は、回路の変更から帰着される場合もあれば、そうでない場合もある。修正された回路が等価であると解析された場合には、検証確認問題は縮小される可能性がある。回路に対する複数の異なる等価性評価方法が存在する（元のサブコンポーネントと修正されたサブコンポーネントとの間の構造概略相違を認識すること、元のサブコンポーネントと修正されたサブコンポーネントとの固有値をマッピングすること、動作的領域および電気的領域(behavioral and electrical domains)の間をマッピングして元のサブコンポーネントと修正されたサブコンポーネントとの動作的実装および電気的実装の間の偏位を計算すること、元のサブコンポーネントと修正されたサブコンポーネントとのネットリスト(netlist)をマッピングすること、元のサブコンポーネントと修正されたサブコンポーネントとのスタンプされたマトリックス(matrix)をマッピングすること、等）。
【００２５】
ファイルが実際に修正されたと査定された場合には、全体設計に対するその設計ファイルの影響の程度と、その検証とを査定してもよい。この問題を扱うためのステップは、検証履歴を受け取ること、修正されたサブコンポーネントに階層的に関連する直系のサブコンポーネントを追跡すること、決定された相違および直系のサブコンポーネントに基づいて結果ログを提供すること、結果ログおよび検証履歴に基づいて検証デルタ(verification delta)を査定すること、を備える。結果ログは、修正されたサブコンポーネントの結果である電子的設計に対する影響を示す。検証デルタは、過去に検証された構成内の１つのサブコンポーネントにおける変更によって影響を受けた特定のテスト構成内の任意の事項を含み得る。サブコンポーネント内の変更がその過去の検証出力に影響を与えた場合には、検証デルタが検出される。
【００２６】
したがって、開示される変更評価システムおよび方法によって解決される問題のうち、コンピュータおよび人的資源のより効率的な使用、市場までのタイムラグの短縮を許容すること、および、より絞りこまれた完全な検証確認を保証することである。
【００２７】
コンピュータシステム図１は、例示的なコンピュータシステム１００（本開示はこれとともに実装され得る）のためのシステムアーキテクチャを示す。図１の例示的なコンピュータシステムは、説明のためだけのものである。本記載は、特定のコンピュータシステム（ＩＢＭパーソナルコンピュータ等）を記載する際に一般的に用いられる用語を参照する場合があるが、本記載およびコンセプトは、他のシステム（図１には類似しないアーキテクチャを有するシステムを含む）にも同等に当てはまる。
【００２８】
コンピュータシステム１００は、典型的には、中央処理装置（ＣＰＵ）１１０（１つ以上のマイクロプロセッサによって実装されてもよい）と、情報の一時的記憶のためのランダムアクセスメモリ（ＲＡＭ）１１２と、情報の永続的記憶のための読み出し専用メモリ（ＲＯＭ）１１４とを含む。ＲＡＭを制御するためにメモリコントローラ１１６が提供される。バス１１８が、コンピュータシステムの構成要素を相互接続する。バスを制御するために、バスコントローラ１２０が提供される。システムの構成要素からの様々な割り込み信号を受け取って処理するために、割り込みコントローラ１２２が用いられる。フラッシュ１２４、ＤＶＤ１２６、またはハードディスク１２８、たとえばソリッドステートドライブによって、大容量記憶が提供されてもよい。リムーバブルメディア（フラッシュドライブおよびＤＶＤ等）を介して、コンピュータシステムとデータおよびソフトウェアを交換してもよい。フラッシュドライブは、ユニバーサルシリアルバス（ＵＳＢ）ドライブ１３０に挿入可能であり、ユニバーサルシリアルバス（ＵＳＢ）ドライブ１３０はコントローラ１３２によってバスに接続される。同様に、ＤＶＤはＤＶＤドライブ１３４に挿入可能であり、ＤＶＤドライブ１３４はコントローラ１３６によってバスに接続される。ハードディスクは固定ディスクドライブ１３８の一部であり、固定ディスクドライブ１３８はコントローラ１４０によってバスに接続される。
【００２９】
コンピュータシステムに対するユーザ入力は、いくつかのデバイスによって提供可能である。たとえば、キーボード１４２およびマウス１４４がコントローラ１４６によってバスに接続される。オーディオ変換器１４８（マイクロホンおよびスピーカとして作用してもよい）は、図示のようにオーディオコントローラ１５０によってバスに接続される。他の入力デバイス（ペンおよび／またはタブロイド等）がバスおよび適切なコントローラおよびソフトウェアに接続されてもよい。システムＲＡＭへの直接のメモリアクセスを行うために、ＤＭＡコントローラ１５２が提供される。
【００３０】
ビデオディスプレイ１５６を制御するビデオサブシステム１５４によって、視覚的表示が生成される。コンピュータシステムは、通信アダプタ１５８（ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）または他の適切なネットワーク（概略的にバス１６０およびネットワーク１６２によって示される）にシステムが相互接続できるようにするもの）も含む。
【００３１】
コンピュータシステムの動作は、概して、オペレーティングシステム（いくつか例を挙げれば、Microsoft Corporationから入手可能なウィンドウズ（登録商標）およびウィンドウズ７オペレーティングシステム、Ｕｎｉｘ（登録商標）、Ｌｉｎｕｘ（登録商標）またはＡｐｐｌｅ  ＯＳ  Ｘオペレーティングシステム）によって制御され調和される。オペレーティングシステムは、システム資源の割り当てを制御し、とくに、スケジューリング処理、メモリ管理、ネットワーキング、Ｉ／Ｏサービス等のタスクを実行する。
【００３２】
コンピュータシステム図２は、システム２００を示す。システム２００では、コンピュータユーザ２１０がネットワーク２１２に接続され、ネットワーク２１２がクラウド２１４および計算ファーム２１６に接続される。
【００３３】
低電圧損失（ＬＤＯ）３００回路の概略例が図３に示される。ＬＤＯは増幅器Ａ１を有する。増幅器Ａ１は、反転入力（「−入力」）と、非反転入力（「＋入力」）と、出力と、正電力供給電圧入力「＋Ｖ」と、負電力供給電圧入力「−Ｖ」とを有する。ＬＤＯ回路は、電圧入力Ｖｉｎと、電圧出力Ｖｏｕｔとを有する。ＬＤＯは、電力出力ブロックＱ１、Ｑ２およびＲ２を有する。ＬＤＯフィードバック回路は、Ｒ３、Ｒ４、Ｄ１およびＲ１を備える。増幅器Ａ１はシンボルと呼ばれ、要素Ｄ１、Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｃ１、Ｃ２、Ｑ１およびＱ２はプリミティブと呼ばれる。
【００３４】
増幅器Ａ１  ４００回路の概略例は、図４に示される。増幅器のシンボルは、トランジスタＱ３、Ｑ４、Ｑ５、Ｑ６、Ｑ７およびＱ８と、抵抗器Ｒ５とを備える。反転入力（「−入力」）と、非反転入力（「＋入力」）と、出力と、正電圧入力「＋Ｖ」と、負電圧入力「−Ｖ」とを有する増幅器Ａ１。
【００３５】
図５は、増幅器Ａ１  ５１０のためのテストベンチ５００を示す。テストベンチは、それが接続されたデバイスのために実行される、入力、出力、テスト条件等の特定の構成である。テストベンチは、反転入力５１２と、非反転入力５１４と、正電力入力５１６と、負電力入力５１８と、出力５２０とを有する。テストベンチは、関連付けられた接続、電力供給、ＩＯ、等を有し、これらはテストベンチコラテラル（test bench collateral）と呼ばれる。回路の周縁のまわりの部分は、検証ハーネスと呼ばれる。ピン出力および検証ハーネスの動作は、テストされる回路に整合する必要がある。
【００３６】
図６は、階層構造６００の一例を示す。集積回路設計は、情報の複雑さおよび量を取り扱うために、階層的に管理される。しかしながら、アナログおよび混合信号集積回路設計については、設計エンジニアはしばしば設計を結線図の階層構造として解釈し、典型的には、設計を製造プロセスにリリースするために設計データの複数の表現が利用可能である。図５に示す演算増幅器は、そのような例の１つを示す。設計は、セルと、階層構造の様々なレベルにおける様々な設計表現とを備えるライブラリに含めることができる。この例では、ライブラリ６１０は、頂点セル６１２（このケースでは演算増幅器）と、設計に用いられるプリミティブデバイスタイプ（ＮＭＯＳ６１４およびＰＭＯＳ６１６トランジスタ等）とを含み得る。この例では、頂点セルは３つの設計表現を有する。すなわち、シンボルビュー６１８（図５に用いられる演算増幅器に対するシンボル等）と、個別のデバイスの概略ビュー６２０（演算増幅器を備えるもの）と、レイアウトビュー６２２（生産のためのマスクセットを生成するための形状およびレイヤを含み得る）とである。概略ビューの内部にはプリミティブデバイスのシンボルが配置されてもよい。具体的なプリミティブデバイスが、同一のまたは異なるパラメータ値（幅および長さ等）をもって複数回配置されてもよい。これらの配置はそのデバイスの例であると考えられる。設計階層構造の、より複雑な例は、図８〜１２に示される可能性がある。
【００３７】
図７は、設計表現７００内の階層構造の例を示す。たとえば、Ａ１  ７１０は、低電圧損失レギュレータの概略ビューであるＢ１  ７１２の配置を含む電源管理集積回路（ＰＭＩＣ）設計の概略であるか。Ｂ１は、増幅器およびフィードバックループの概略ビューであるＣ２  ７１４の配置を含む。Ｃ２概略ビューは、増幅器Ｄ３の概略ビューを含み得る。Ｄ３  ７１６に対する概略ビューが変更された場合には、実行された評価のうちＤ３を含むものすべてが被疑物(suspect)であり再評価される必要がある。したがって、Ａ１、Ｂ１および／またはＣ２を用いた評価は、Ｄ３に対して実行された評価と同様に被疑物である。より詳細な例は図８〜１２に示される可能性がある。
【００３８】
図８は、テスト中のデバイス(Device under test)（ＤＵＴ）の階層構造８００の一般的な例を示す。階層構造はレベルＡ、Ｂ、Ｃおよびデバイスに従って、また、インスタンス１、２および３に従って配列される。接続線は、具体的な検証に対し、階層構造を通してどの表現どうしが接続されているかを示す。レベルおよびインスタンス内で、複数のビュータイプが存在可能である。これらの例は、各ケースおよびビューまたはビュータイプに限定することを意図するものではなく、いくつかの可能な階層構造構成を示すものである。
【００３９】
集積回路設計階層構造は、階層構造表現を利用した集積回路設計の表現である。この表現により、数百万個のコンポーネント（トランジスタ、抵抗器、コンデンサ、デバイスを接続する金属線、等）を含み得る複雑なデザインの、より効率的な作成が可能になる。設計プロセスの任意の時点において用いられる設計階層構造表現は、実行される設計ステップおよび設計機能のタイプ（アナログ、デジタル、メモリ、等）に基づいて異なり得る。
【００４０】
設計が製造されるべきである場合には、表現をマッピングできるように設計のレイアウトが作成される。このマッピングにより、設計製造が可能になるように、マスクセットの各レベル上にパターンが作成できるようになる。概して、レイアウト表現を作成するための設計フローは、デジタル機能ブロックおよびサブシステムに比べて、アナログの場合には非常に異なったものとなる。
【００４１】
設計プロセスの早期において、設計の大きな部分が、はじめて設計され既存のレイアウト表現を持たずに存在する可能性がある。設計の他の部分はすでに証明されている可能性があり、これらはより高いレベルの抽象度において表現されてもよく、またはレイアウト表現を含んでもよい。
【００４２】
本明細書において「ビュー」として参照される、いくつかの共通のタイプ(common type)の設計表現は、様々なビュータイプを備えてもよい。概略ビュータイプは、線またはネットで示される接続性を伴うブロックまたはコンポーネントと、ピンを介した階層構造の他のレベルへの接続との絵(picture)である。Ｓｐｉｃｅビュータイプは、コンポーネントとその関連付けられたパラメータとの表現であり、場合によっては、Ｓｐｉｃｅネットリストへとインスタンス化される具体的なデバイスモデルを含む。ＬＶＳＥｘｔｒａｃｔは、ツール（レイアウトビューを解析するとともに、個別のコンポーネントおよび接続性をリバースエンジニアリングするもの）によって作成されるビュータイプである。このタイプのビューのバリエーションは、物理的レイアウトの結果として得られる、設計者によっては描かれなかった抽出された寄生的コンポーネントを含んでもよい。レイアウトビュータイプは、設計のその部分に対するルーティング(routing)を含む具体的な幾何学的配置の表現である。Ｖｅｒｉｌｏｇビュータイプは、標準化されたＶｅｒｉｌｏｇ形式のテキストファイルである。Ｖｅｒｉｌｏｇ−Ａビュータイプは、標準化されたＶｅｒｉｌｏｇ−Ａ形式のテキストファイルである。Ｖｅｒｉｌｏｇ−ＡＭＳビュータイプは、標準化されたＶｅｒｉｌｏｇ−ＡＭＳ形式のテキストファイルである。ビュータイプの名称は、電子的設計自動化ツールプロバイダによって異なり得る。
【００４３】
他のビュータイプのタイプは、階層構造の組織化および可読性を支援してもよい。一例として、概略的キャプチャシステム等のグラフィック設計ツールは、配置されたグラフィックについてシンボルビュータイプを用いてもよい。シンボルは、階層構造を介してインスタンスを接続するピンと、ブロックの機能を示す図面とを収容してもよい。各例は演算増幅器、基本的デジタルゲート、トランジスタ、抵抗器、等に対する共通のシンボルを含んでもよい。
【００４４】
記載の複雑性にさらに加えて、設計階層構造の、あるレベルにおける所与のブロックは、同一ビュータイプのビューを複数含んでもよい。一例は、あるブロックの様々なｖｅｒｉｌｏｇ表現（たとえば、１つはレイアウトに基づく注釈付きタイミングを伴うもの、１つは推定タイミングを伴うもの、１つはタイミングを伴わないもの）であるか、または、設計表現の様々なレベル（ゲートレベル、レジスタ転送レベルＲＴＬ、等）である。同様に、アナログビューは多数の概略ビューを有してもよい（たとえば、最終トランジスタレベル設計にマッピングするもの、より高いレベルのモデリングのための行動的ブロックの配置を含むもの、レイアウトからの寄生的要素を含み得るもの、混合信号シミュレーションのためのアナログブロックとデジタルブロックとの間のインタフェース要素を含むもの）。また、アナログブロックについて、様々なシミュレーションエクササイズの目的に基づいてモデルが様々な機能性および精度を含む場合には、同一のブロックに対して複数のＶｅｒｉｌｏｇ−ＡまたはＶｅｒｉｌｏｇ−ＡＭＳモデルビューが存在してもよい。これら複数のビューおよびビュータイプは、具体的なタスクまたは解析のために用いられる構成にマッピングされる。
【００４５】
しばしば、ある具体的なビューがどのタイプの解析のために有益な可能性があるかについてのヒントを提供するために、ビュー名称が作成される。ビュー名称は、以下にリストされるもの等を含んでもよい。Ｓｃｈｅｍａｔｉｃは、トランジスタレベルまたは行動的モデル等の階層構造のいずれかのレベルにおいて評価され得るブロックの配置を含む概略ビューである。Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌは、行動的要素を備える概略ビューである。Ｓｃｈｅｍａｔｉｃ＿ｐａｒａｓｉｔｉｃｓは、レイアウトから抽出または推定される寄生的コンポーネントを含む概略ビューである。Ｓｐｉｃｅは、ネットリストに実装される情報と、具体的なアナログシミュレータのためのコンポーネントとを含むｓｐｉｃｅビューである。Ｂｅｈａｖｉｏｒａｌ＿ｖａは、Ｖｅｒｉｌｏｇ−Ａを評価し得るアナログシミュレータのための具体的なブロックをモデル化するＶｅｒｉｌｏｇ−Ａ形式のテキストビューであり、Ｂｅｈａｖｉｏｒａｌ＿ｖａｍｓは、Ｖｅｒｉｌｏｇ−ＡおよびＶｅｒｉｌｏｇを評価し得る混合信号シミュレータのための具体的なブロックをモデル化するＶｅｒｉｌｏｇ−ＡＭＳ形式のテキストビューである。
【００４６】
図８に示す具体例では、テスト中のデバイスＡ１、インスタンス１を持つテストベンチ１が、後続の構成に基づいて定義され、Ａ１、インスタンス１およびＢ１、インスタンス１は、Ｓｃｈｅｍａｔｉｃレベルモデルによってモデル化される。Ｂ２、インスタンス１は、Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌモデルによってモデル化され、Ｃ１、インスタンス１およびＣ２インスタンス１は、Ｓｃｈｅｍａｔｉｃモデルを用いてモデル化される。Ｃ１、インスタンス２およびＣ３、インスタンス１は、Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌモデルによってモデル化される。階層構造の底(bottom)には、デバイス１、２〜ｘ、インスタンス１、２および３が、Ｓｐｉｃｅを用いてモデル化される。
【００４７】
図８に示す具体例では、デバイス１、インスタンス２はダミーデバイスであり、したがって、シミュレータマトリックスを変更しない。デバイス１、インスタンス２概略は、ダミーデバイスとして接続されるＣ１、インスタンス１内に配置されており、したがって、シミュレータ内にスタンプされるＡ１、インスタンス１マトリックスの一部ではない。
【００４８】
ある変更が、検証の再実行を必要とするか否かは、部分的には、階層構造を介した接続によって決定される。テストベンチ１、テスト中のデバイスＡ１、インスタンス１に対するこの具体例では、デバイス１、インスタンス２、Ｓｃｈｅｍａｔｉｃビューが変更されたとしても、このデバイスはダミーデバイスであって、シミュレータ内にスタンプされるマトリックスを修正しないので、シミュレータを再実行する必要はないであろう。
【００４９】
図８に対するビューでは、Ｃ１、インスタンス１  Ｓｃｈｅｍａｔｉｃビューが、シミュレータモデルの構成の一部を形成する。もしこれが変更され、変更がシミュレータマトリックスに影響を与えるのに十分なほど実体的なものであれば、テストベンチ１は再実行する必要があろう。Ｃ１、インスタンス２Ｓｃｈｅｍａｔｉｃビューは、シミュレータモデル例の構成の一部を形成しないので、これが変更されたとしても、テストベンチ１は再実行する必要はないであろう。
【００５０】
より抽象的なレベルでは、Ｃ１、Ｓｃｈｅｍａｔｉｃビューが変更された場合（したがってこれによりインスタンス１および２内の概略ビューが変更される）には、これはシミュレータマトリックス内にスタンプされる情報の変更に影響を与えるので、テストベンチ１は再実行する必要があろう。Ｃ１、Ｓｃｈｅｍａｔｉｃビューに対する非実体的な変更が（たとえばコメントの追加によって）行われ、マトリックス内のシミュレータによってスタンプされる情報に変更が行われなかった場合には、テストベンチ１は再実行する必要がないであろう。構成に変更が行われたか否かと、マトリックスのスタンプの影響とを決定することは、必要となる検証実行の数に大きな影響を与えることが明白である。
【００５１】
図９は、電源管理チップＰＭＩＣ９００をモデル化するためにから選択され得る様々なモデルビューのいくつかを示す。ＰＭＩＣは、ＳｃｈｅｍａｔｉｃレベルおよびＳｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌレベルを有する。ＬＤＯ、ＬＤＯイネーブル制御およびバッテリスーパーバイザは、Ｓｃｈｅｍａｔｉｃレベル、Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌレベルおよびＢｅｈａｖｉｏｒａｌ＿ｖａｍｓレベルにおいて定義される。電圧基準、ＬＤＯフィードバックおよびＬＤＯ比較器は、ＳｃｈｅｍａｔｉｃレベルおよびＢｅｈａｖｉｏｒａｌ＿ｖａレベルにおいて定義される。ＬＤＯ増幅器は、ＳｃｈｅｍａｔｉｃレベルおよびＳｃｈｅｍａｔｉｃ＿ｐａｒａｓｉｔｉｃｓレベルにおいて定義される。行動的増幅器（Behavioral Amplifier）および行動的バイアス（Behavioral Bias）は、Ｂｅｈａｖｉｏｒ＿ｖａレベルにおいて定義される。ＬＤＯ
ＬＤＯ制御論理は、ＳｃｈｅｍａｔｉｃレベルおよびＶｅｒｉｌｏｇレベルにおいて定義される。デバイス１〜Ｘは、Ｓｐｉｃｅレベルにおいて定義される。
【００５２】
図１０Ａおよび図１０Ｂは、電源管理チップ１０００のためのテスト階層構造を示す。これらの図は、Ｓｐｉｃｅプリミティブコンポーネント構成が定義されている場合には、階層構造の一部を例示する。このモデルでは、デバイス１、インスタンス２はダミーデバイスであり、シミュレータマトリックスを変更しない。
【００５３】
図１１Ａおよび図１１Ｂは、電源管理チップ１１００のためのテスト階層構造を示す。これらの図は、いくつかのアナログ行動的レベルモデルと、いくつかのＶｅｒｉｌｏｇ表現と、いくつかのＳｐｉｃｅプリミティブコンポーネントとを伴う可能な混合構成の１つのための階層構造の一部を例示する。
【００５４】
図１２Ａおよび図１２Ｂは、電源管理チップ１２００のためのテスト階層構造を示す。これらの図は、行動的構成が定義されている場合には、階層構造の一部を例示する。
【００５５】
一例では、図１３は、検証確認のための電子的設計の変更評価の、コンピュータによって実施される方法１３００（電子的設計のサブコンポーネントを少なくとも１つ受け取るステップ１３１０と、当該少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を採用するステップ１３１２とを備える）を例示する。コンピュータによって実施される方法は、さらに、当該少なくとも１つのサブコンポーネントのレビュー要求を受け取るステップ１３１４と、当該少なくとも１つのサブコンポーネントを表すデータの現在の署名を生成するステップ１３１６と、少なくとも部分的に現在の署名およびバンクされた署名に基づいて相違を決定するステップ１３１８とを備える。コンピュータによって実施される方法は、さらに、決定された相違に少なくとも部分的に基づいて、バンクされた署名を現在の署名にマッチするよう更新するステップを備える。バンクされた署名は暗号的署名、タイムスタンプ、ビットコピー、等であってもよい。電子的設計は、アナログ、デジタルまたは混合信号であることが構想される。
【００５６】
別の例では、図１４は、検証確認のための電子的設計の変更評価の、コンピュータによって実施される方法１４００（少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される電子的設計を受け取るステップ１４１０と、当該少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を受け取るステップ１４１２とを備える）を例示する。コンピュータによって実施される方法は、さらに、当該少なくとも１つのサブコンポーネントを表すデータの現在の署名を生成するステップ１４１４と、現在の署名とバンクされた署名とに少なくとも部分的に基づいて相違を決定するステップ１４１６と、決定された相違に応じ、当該少なくとも１つのサブコンポーネントに階層的に関連する少なくとも１つの直系のサブコンポーネントを追跡するステップ１４１８とを備える。階層的関連は、修正されたサブコンポーネントに別のサブコンポーネントがリンクされ、そのサブコンポーネントの変更によってその別のサブコンポーネントが影響を受けるというものである。リンクされたサブコンポーネントにおけるこの変更は、変更されたサブコンポーネントの系統(lineage)内にあるので、直系の(lineal)サブコンポーネントと呼ばれる。
【００５７】
図１４の、コンピュータによって実施される方法もまた、電子的設計の検証履歴を決定するステップと、電子的設計の検証履歴を受け取るステップと、少なくとも１つのサブコンポーネントの修正を少なくとも１つ受け取ることステップとを備えてもよい。この、コンピュータによって実施される方法は、また、当該少なくとも１つのサブコンポーネントと、当該少なくとも１つの修正されたサブコンポーネントとの等価性を評価するステップと、決定された相違、評価された等価性および少なくとも１つの直系のサブコンポーネントに少なくとも部分的に基づいて結果ログを提供するステップとを備えてもよい。結果ログは、当該少なくとも１つのサブコンポーネントの、少なくとも１つの修正の結果として得られる、電子的設計に対する影響を示す。この、コンピュータによって実施される方法は、結果ログと、検証履歴とに少なくとも部分的に基づいて、検証デルタを決定するステップをさらに備えてもよい。当該少なくとも１つのサブコンポーネントは、複数の抽象化レベルを有する定義（少なくとも１つの直系のサブコンポーネントがより高い抽象化レベルに対するものであり、少なくとも１つの直系のサブコンポーネントがより低い抽象化レベルに対するものである）を備えてもよい。結果ログは、設計の構成を表す階層構造内のテストベンチの集合である。特定の事項が第１の時刻から第２の時刻に変更された場合には、関連付けられたテストベンチが再実行される必要がある。テストベンチは、入力、出力、テスト条件、等の具体的構成であり、当該テストベンチが接続されたデバイスに対して実行されるものである。この例は、さらに加えて、少なくとも１ユーザ要求に応じて現在の署名を生成することが実行されるというステップを備えてもよい。
【００５８】
さらなる例では、図１５は、検証確認のための電子的設計の変更評価の、コンピュータによって実施される方法１５００（少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される電子的設計を受け取るステップ１５１０と、当該少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を受け取るステップ１５１２とを備える）を例示する。この、コンピュータによって実施される方法は、さらに、当該少なくとも１つのサブコンポーネントのレビュー要求を少なくとも１つ受け取るステップ１５１４と、当該少なくとも１つのレビュー要求に応じて当該少なくとも１つのサブコンポーネントを表すデータの現在の署名を生成するステップ１５１６とを備える。この、コンピュータによって実施される方法は、さらに、現在の署名とバンクされた署名とに少なくとも部分的に基づいて相違を決定するステップ１５１８と、当該少なくとも１つのサブコンポーネントと当該少なくとも１つのレビューされたサブコンポーネントとの等価性を評価するステップ１５２０とを備える。
【００５９】
等価性評価は、当該少なくとも１つのサブコンポーネントと当該少なくとも１つのレビューされたサブコンポーネントとの構造的レイアウトか、当該少なくとも１つのサブコンポーネントと当該少なくとも１つのレビューされたサブコンポーネントとの固有値のマッピングか、動作的領域と電気的領域との間のマッピングを定義し当該少なくとも１つのサブコンポーネントと当該少なくとも１つのレビューされたサブコンポーネントとの動作的実装および電気的実装の間の偏位を計算することか、等を備えてもよい。
【００６０】
さらなる例では、図１６は、過渡的でないコンピュータ可用媒体（プロセッサによって実行された時に、修正の対象となった検証確認のための電子的設計の変更評価方法を当該プロセッサに実行させる命令のシーケンスを記憶した、過渡的でないコンピュータ可用媒体）に具体化されたコンピュータプログラム製品１６００を例示する。過渡的でないコンピュータ可用媒体上に具体化されたこのコンピュータプログラム製品は、少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される電子的設計を受け取るステップ１６１０と、当該少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を受け取るステップ１６１２と、電子的設計の検証履歴を受け取るステップ１６１４とを備える。過渡的でないコンピュータ可用媒体上に具体化されたこのコンピュータプログラム製品は、当該少なくとも１つのサブコンポーネントの修正を少なくとも１つ受け取る１６１８ためにコンピュータプロセッサ１６１６を用いる。過渡的でないコンピュータ可用媒体上に具体化されたこのコンピュータプログラム製品は、さらに、当該少なくとも１つの修正に応じて当該少なくとも１つのサブコンポーネントを表すデータの現在の署名を生成するステップ１６２０と、現在の署名およびバンクされた署名に少なくとも部分的に基づいて相違を決定するステップ１６２２と、決定された相違に応じ、当該少なくとも１つのサブコンポーネントの、当該少なくとも１つの修正に影響を受けて、当該少なくとも１つのサブコンポーネントに階層的に関連する少なくとも１つの直系のサブコンポーネントを追跡するステップ１６２４とを備える。さらに、過渡的でないコンピュータ可用媒体上に具体化されたこのコンピュータプログラム製品は、決定された相違と当該少なくとも１つの直系のサブコンポーネントとに少なくとも部分的に基づいて、結果ログ（この結果ログは、当該少なくとも１つのサブコンポーネントの、当該少なくとも１つの修正の結果としての電子的設計に対する影響を示す）を提供するステップ１６２６と、結果ログおよび検証履歴に少なくとも部分的に基づいて検証デルタを査定するステップ１６２８とを備える。階層的関連は、少なくとも、システムレベル、アーキテクチャレベル、データフローレベル、電気的レベル、デバイスレベルおよびテクノロジーレベルを備えてもよい。
【００６１】
別の例では、図１７は、修正の対象となった電子的設計の変更評価に基づいて検証を確認するコンピュータベースのシステム１７００（プログラムコード命令のセットを実行するためのコンピュータプロセッサ１７１０と、プログラムコード命令を担持するメモリ１７１２と（その中でプログラムコード命令がプログラムコードを備える）、少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される電子的設計を受け取ること１７１４と、当該少なくとも１つのサブコンポーネントを表すデータのバンクされた署名を受け取ること１７１６とを備える）を例示する。コンピュータプロセッサは、当該少なくとも１つのサブコンポーネントの修正を少なくとも１つ受け取ること１７１８と、当該少なくとも１つの修正に応じて当該少なくとも１つのサブコンポーネントを表すデータの現在の署名を生成すること１７２０と、現在の署名およびバンクされた署名に少なくとも部分的に基づいて相違を決定すること１７２２と、決定された相違に応じ、当該少なくとも１つのサブコンポーネントと、当該少なくとも１つの修正されたサブコンポーネントとに少なくとも部分的に基づいて、等価性を評価すること１７２４とのために用いられる。コンピュータプロセッサは、さらに、決定された相違と、評価された等価性とに応じ、当該少なくとも１つの修正されたサブコンポーネントに階層的に関連する少なくとも１つの直系のサブコンポーネントを追跡すること１７２６と、決定された相違、評価された等価性および当該少なくとも１つの直系のサブコンポーネントに少なくとも部分的に基づいて結果ログを提供すること１７２８とのために用いられる。結果ログは、当該少なくとも１つのサブコンポーネントの、当該少なくとも１つの修正の結果としての、電子的設計に対する影響を示す。
【００６２】
図１８は、バンクされた署名１８１０および現在の署名１８１２の相違の決定１８００を例示する。署名の相違の決定１８１４は、暗号的署名、タイムスタンプ署名、ビットコピー署名、等であってもよい。ファイルの署名は他の方法で計算されてもよいということが構想される。
【００６３】
図１９は、元のサブコンポーネント１９１０と、レビューされたサブコンポーネント１９１２との間の等価性評価１９００が、当該少なくとも１つのサブコンポーネントと、当該少なくとも１つの修正されたサブコンポーネントとの構造的レイアウトを認識すること１９１４に基づいてもよいということを例示する。
【００６４】
図２０は、元のサブコンポーネント２０１０とレビューされたサブコンポーネント２０１２との間の等価性評価２０００が、当該少なくとも１つのサブコンポーネントと当該少なくとも１つの修正されたサブコンポーネントとの固有値のマッピング２０１４に基づいてもよいということを例示する。
【００６５】
図２１は、元のサブコンポーネント２１１０とレビューされたサブコンポーネント２１１２との間の等価性評価２１００が、動作的領域および電気的領域の間のマッピング２１１４と、当該少なくとも１つのサブコンポーネントおよび当該少なくとも１つの修正されたサブコンポーネントの動作的実装および電気的実装の間の偏位の計算とに基づいてもよいということを例示する。
【００６６】
図２２は、元のサブコンポーネント２２１０とレビューされたサブコンポーネント２２１２との間の等価性評価２２００が、当該少なくとも１つのサブコンポーネントと当該少なくとも１つのレビューされたサブコンポーネントとのネットリストのマッピング２２１４に基づいてもよいということを例示する。
【００６７】
図２３は、元のサブコンポーネント２３１０とレビューされたサブコンポーネント２３１２との間の等価性評価２３００が、当該少なくとも１つのサブコンポーネントと当該少なくとも１つのレビューされたサブコンポーネントとのマトリックススタンプのマッピング２３１４に基づいてもよいということを例示する。
【００６８】
図２４はＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈ１の概略を例示する。図２５および図２６に示すように、この概略は、２つのインスタンスすなわちＰＭＩＣおよびＰＭＩＣ＿ＴＢを有する。
【００６９】
図２５は、ＰＭＩＣ＿ｔｅｓｔｂｅｎｃｈ１のための設計階層構造の表現の構成の可能な例を１つ示す。ＰＭＩＣ＿ＴＢ設計表現Ｓｃｈｅｍａｔｉｃ１は、ＴＢ＿ｓｔｉｍｕｌｕｓ＿ｍｅａｓｕｒｅ  Ｂｅｈａｖｉｏｒａｌ＿ｖａビューと、ＴＢ＿ｓｙｓｔｅｍ  Ｓｃｈｅｍａｔｉｃ＿ｃｕｓｔｏｍｅｒ１とを含む。ＰＭＩＣ  Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌ設計構成は、ＬＤＯブロックと、バッテリスーパーバイザブロックと、電圧基準ブロックとを含む。
【００７０】
図２６は別の可能な構成を例示する。この構成では、ＰＭＩＣ構成は変更しないが、ＰＭＩＣ＿ＴＢ  Ｓｃｈｅｍａｔｉｃ＿ｂｅｈａｖｉｏｒａｌは、ＴＢ＿ｓｔｉｍｕｌｕｓ＿ｍｅａｓｕｒｅ  Ｂｅｈａｖｉｏｒａｌ＿ｖａｍｓビューと、ＴＢ＿ｓｙｓｔｅｍ  Ｂｅｈａｖｉｏｒａｌ＿ｖａｍｓ＿ｃｕｓｔｏｍｅｒ２ビューとを用いる。電子的設計に対する変更とともに、ＰＭＩＣ＿ＴＢの各部分の変更は、所与の検証実行において用いられる具体的構成に影響を与える変更の場合には関連性がある。テストベンチ構成に対する変更は、電子的設計における変更と等価の変更をもたらす。ＬＤＯまたはＬＤＯ増幅器のような設計階層構造内のブロックに対して、様々なテストベンチを利用することができる。
【００７１】
図２７は、検証確認のための電子的設計の変更評価の、コンピュータによって実施される方法２７００（少なくとも１つのサブコンポーネントを有する階層構造によって少なくとも部分的に構成される電子的設計の表現を受け取るステップ２７１０と、電子的設計の表現とともに当該少なくとも１つのサブコンポーネントをテストするためのテストハーネスモデルを少なくとも１つ受け取るステップ２７１２と、当該少なくとも１つのサブコンポーネントおよび当該少なくとも１つのテストハーネスモデルを表すデータのバンクされた署名を採用するステップ２７１４とを備える）を例示する。この方法はまた、当該少なくとも１つのサブコンポーネントおよび当該少なくとも１つのテストハーネスモデルのレビュー要求を少なくとも１つ受け取るステップ２７１６と、当該少なくとも１つのレビュー要求に応じて当該少なくとも１つのサブコンポーネントおよび当該少なくとも１つのテストハーネスモデルを表すデータの現在の署名を生成するステップ２７１８と、現在の署名およびバンクされた署名に少なくとも部分的に基づいて相違を決定するステップ２７２０と、当該少なくとも１つのサブコンポーネントおよび当該少なくとも１つのレビューされたサブコンポーネントの等価性を評価するステップ２７２２とを含む。当該少なくとも１つのテストハーネスモデルは、アナログ、デジタルおよび／または混合信号であってもよい。電子的設計の表現もまた、アナログ、デジタルおよび／または混合信号であってもよい。
【００７２】
本明細書では、本開示の様々な例示的な例を作成することおよび用いることが議論されるが、本開示は、広範囲の具体的コンテキストにおいて記載可能なコンセプトを提供するということが理解されるべきである。本開示は特定の例に関して示され記載されたが、本明細書を読んで理解した他の当業者は、均等物および修正を考えつくということが明白である。本開示は、そのような均等物および修正を含み、添付の特許請求の範囲によってのみ限定される。
【００７３】
方法および装置は、ローカルでまたはリモートで実施してもよく、ステップのためのデータはローカルでまたはリモートで記憶してもよいということが理解されるべきである。明瞭さのため、応用可能な技術の当業者にはありふれた機能、コンポーネントおよびシステムの詳細な記載は含まれない。本開示の方法および装置は、１つ以上の利益（改良されたスピード効率、低減した計算、低減した再検証の数、等を含むが、これに限らない）を提供する。本開示は特定の例示的な例を参照して記載されたが、本明細書に記載されたものは限定的な意味に解釈されることを意図するものではない。たとえば、示され説明された例におけるステップまたは材料の変形または組み合わせが、本開示から逸脱しない範囲で具体的な場合に用いられてもよい。例示的な例の様々な修正および組み合わせと、他の利益および例とが、図面、明細書および特許請求の範囲への参照に基づいて、当業者には明白である。
【図１】
0006546163.tif 000002
【図２】
0006546163.tif 000003
【図３】
0006546163.tif 000004
【図４】
0006546163.tif 000005
【図５】
0006546163.tif 000006
【図６】
0006546163.tif 000007
【図７】
0006546163.tif 000008
【図８】
0006546163.tif 000009
【図９】
0006546163.tif 000010
【図１０Ａ】
0006546163.tif 000011
【図１０Ｂ】
0006546163.tif 000012
【図１１Ａ】
0006546163.tif 000013
【図１１Ｂ】
0006546163.tif 000014
【図１２Ａ】
0006546163.tif 000015
【図１２Ｂ】
0006546163.tif 000016
【図１３】
0006546163.tif 000017
【図１４】
0006546163.tif 000018
【図１５】
0006546163.tif 000019
【図１６】
0006546163.tif 000020
【図１７】
0006546163.tif 000021
【図１８】
0006546163.tif 000022
【図１９】
0006546163.tif 000023
【図２０】
0006546163.tif 000024
【図２１】
0006546163.tif 000025
【図２２】
0006546163.tif 000026
【図２３】
0006546163.tif 000027
【図２４】
0006546163.tif 000028
【図２５】
0006546163.tif 000029
【図２６】
0006546163.tif 000030
【図２７】
0006546163.tif 000031