JP3672336B2 - アナログ集積回路のための試験プランを発生する方法 - Google Patents
アナログ集積回路のための試験プランを発生する方法 Download PDFInfo
- Publication number
- JP3672336B2 JP3672336B2 JP01286894A JP1286894A JP3672336B2 JP 3672336 B2 JP3672336 B2 JP 3672336B2 JP 01286894 A JP01286894 A JP 01286894A JP 1286894 A JP1286894 A JP 1286894A JP 3672336 B2 JP3672336 B2 JP 3672336B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- block
- test
- input
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012360 testing method Methods 0.000 title claims description 137
- 238000000034 method Methods 0.000 title claims description 58
- 239000011159 matrix material Substances 0.000 claims description 46
- 230000000873 masking effect Effects 0.000 claims 1
- 238000004088 simulation Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 101100194362 Schizosaccharomyces pombe (strain 972 / ATCC 24843) res1 gene Proteins 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010998 test method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/3167—Testing of combined analog and digital circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31707—Test strategies
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Tests Of Electronic Circuits (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
- Testing Of Individual Semiconductor Devices (AREA)
Description
この発明は、集積回路の試験に関し、特にアナログ信号素子及び混合信号素子を有する集積回路のための試験プラン(試験フォーマット)を自動的に発生させる方法に関する。
【0002】
【発明の背景】
半導体チップ上に集積することのできる素子の数は急速に増大した。同時に、集積可能な素子の種類の数も増大した。今日の集積回路(IC)は、アナログ信号素子、デジタル信号素子、又は混合信号素子、又はこれらの種類の何らかの組み合わせを有することが出来る。
アナログ信号IC及び混合信号ICを試験することには、デジタル集積回路の試験で遭遇する問題とは異なる問題がある。アナログ信号IC及び混合信号ICはアナログ信号を処理し、トランジスタ及びその他の素子は線型に動作することも、しないことも、ある。
アナログ回路試験は、回路中の欠陥を、意図する機能を実行し得ない回路の故障と関連付けようとするので、一般に『機能的』である。機能的試験への一つのアプローチは、回路を機能モジュールの集合として概念化することである。これにより、回路の各々の基本的素子を試験するのに比べて、試験操作の煩雑さが少なくなる。
回路が集積されていないときは、ブロック機能試験は特に困難ではない。各ブロックは、入力信号値を印加して出力を測定することによって別々に試験される。
【0003】
ICについては、入力信号を印加して出力を測定するために回路の入力及び出力を使用できるので、機能試験は回路全体の『終わりから終わりまで』の試験(“end to end”testing)で容易に実現される。しかし、ブロック・レベル試験では、回路の入力や出力とは同じでない1つ以上の入力又は出力をブロックが持っており、試験値をブロック入力に物理的に印加することはできず、ブロック出力を物理的に測定することはできない。
ブロック機能試験に対する1つの解決策は、ブロック入力及び出力を回路入力及び出力へ手操作で伝えることである。過去において、これは手操作で行われたが、複雑な回路については、その計算の負担は大きい。逆方向及び順方向の伝達のための自動化技術も記述されている。テキサス・インスツルメンツ・インコーポレーテッドに譲渡された『アナログ試験プランを発生させる方法』と題した米国特許第970,973 号は、順方向径路及び逆方向径路の伝達を使用する、アナログ試験回路を試験する方法を記述している。ブロック入力に印加されるべき試験値と、ブロック出力における期待される値とが回路入力及び出力に伝達されるべく試みられる。
【0004】
既存の試験プラン発生方法は、ある条件下では試験を提供し得ない。例えば、それらは、電流セッティング、ac分析、又は過渡分析を必要とする試験を提供しない。それらはフィードバックを伴う回路のための試験を提供しない。あらゆる種類のアナログ回路のための、あらゆる種類の試験を発生させる方法に対する需要が存在する。
【0005】
【発明の概要】
本発明の第1の特徴はアナログ、デジタル、又は混合信号素子のブロック、又はこれらの素子の何らかの組み合わせから成る回路のための試験プランを発生させるために回路シミュレーション技術を使う方法である。この方法は各ブロックを別々に処理し、試験、試験の方法、及び発見的解決策を試みる反復プロセスを実行する。従って、第1のステップは、回路のブロックを、試験される現在のブロックとして選択することである。次に、このブロックに対して実行されるべき第1の試験が選択される。その試験は、所定の試験値でセットされるべき或る入力と、測定されて期待値と比較されるべき或る出力とを指定する。ブロックの入力は、その試験値をそれらに割り当てることによりセットされる。解くことのできるマトリックスを形成できるように未知の変数の数を減らすために、何らかの回路入力を発見的に識別してセットする必要があるか否か判定される。若しそうならば、これらの入力は、発見的規則を使うことにより識別され、或る値にセットされる。回路方程式のマトリックスが形成されるが、それは、ブロック入力における試験値を結果することになる回路入力値について解くことのできるものである。今、試験中に回路入力に印加されるべき値を決定するためにそのマトリックスを解くことが出来る。マトリックスの解は、期待される回路出力をも包含する。試験プランは、これらの回路入力値と、測定されるべき回路出力とをリストする。
【0006】
本発明の方法は、その回路入力が所望のブロック入力を結果することになるという意味でブロック入力と『矛盾しない』回路入力値の集合を提供する。同時に、期待されるブロック出力と矛盾しない少なくとも1つの回路出力が提供される。回路ピンに印加され測定されるべきこれらの矛盾しない値は、試験モデルによりブロック・ピンに対して指定される値とは異なることがある。
本発明の技術的利点は、集積回路内の線型及び非線型のアナログ副回路のための試験を自動的に発生させることにある。それは、DC、AC、及び過渡応答分析を含む種々の機能試験に用いることが出来る。平均で、試験プランの発生にかかる時間は、従来の自動的方法に比べると短い。これは、少なくとも部分的にはトランジスタ・レベル・モジュールではなくて、試験プラン発生のための基礎として機能ブロック・モデルを使用したためである。それは、ブロック入力においてセットされるべき電流値を有するものなどの、従来方法では発生され得なかった試験を発生させる。
この特許文献の開示内容の一部分は、著作権保護の対象となるものを含んでいる。著作権所有者は、特許商標庁の特許ファイルに見られる通りの特許開示内容の複写に異議を唱えないけれども、それ以外では全ての著作権を留保する。
【0007】
【実施例】
I.試験プラン発生
図1は、本発明に従って試験プログラムを発生させるプロセスの基本的ステップを示す。図1のステップの各々について、この第1部において一般的用語で説明する。第2部において、同じステップを、単純な例としての回路の見地から説明する。
以下の記述から明らかなように、この方法はコンピューターのための試験ジェネレータ・プログラムで実施し得るものであるが、それは、或る所定のデータ・ファイル及びライブラリーにアクセスして試験プランを発生させる。回路記述、機能モデル、及び試験プラン・ジェネレータのための入力として使われる試験モデルの多くは、コンピューター・データベースの形の既存のライブラリーから導出できるものである。これらのライブラリー中のデータを試験プラン・ジェネレータの構文法に順応させるために種々の分解ルーチンを使うことがことが出来る。
一般に、本方法はアナログ又は部分的アナログモジュラー回路に当てはまるものであり、その回路では副回路が機能ブロックの用語で定義される。コンピューターに基づく方法の実施のために、回路記述、そのブロックのための機能モデルの集合、及びこれらのブロックのための試験モデルの集合が試験プラン・ジェネレータに入力される。ブロック毎に、各ブロックについて既知の入力と期待される出力との間の関係を決定するためにその機能モデル及び試験モデルが使われる。各ブロックについて、試験プラン・ジェネレータは、これらのブロック入力を生じさせるために回路入力にどのような値を入力するべきか、またブロック出力から生じる回路出力における値を決定する。換言すると、回路入力は、ブロックにおける試験モデルにリストされる値を生じさせる。このようにして、試験プラン・ジェネレータは、ブロックが試験されているときに回路レベルで印加され測定されるべき矛盾のない回路値の集合を生じさせる。回路値の計算は、回路方程式のマトリックスを使って、回路シミュレーションにより行われる。その結果は試験プランであり、それでは既知の回路入力をICに印加することができ、その結果として生じる出力を、その回路について期待される結果と比較することが出来る。
【0008】
前記の概説に従って、試験されるべき回路はモジュラー・デザインを持っていて、各モジュールを高レベル機能モデルで記述できるということが仮定される。これらのモジュールは、ここでは『ブロック』と呼ばれる。その機能モデルは、電子デザイン・ソフトウェア・パッケージから導出又は利用され得るものである。
ステップ11に示されている様に、試験されるICは、コンピューターが解釈できる概略記述という用語で表現される。概略捕捉ソフトウェア(schematic capturesoftware) 、回路統合ソフトウェア(circuit synthesis software)、或いはハードウェア記述言語(hardware description languages)などの、そのような記述を発生させる既知の方法を使用できる。
回路は『ブロック』という用語で表現される。1つのブロックは『回路ブロック』であり、これは回路全体を表すものである。他のブロックは副回路を表す。各副回路ブロックは、それ自身のブロック入力及びブロック出力を特定するので、ブロック入力に試験電圧及び電流セットで回路シミュレーションを行うことが出来る。後述するように、回路シミュレーションは、回路と、その回路における未知の電流及び電圧とを表す方程式のマトリックスの形である。そのマトリックスは、その未知の値について解かれる。
【0009】
この記述の目的で、ブロックの入力及び出力ノードと、回路のそれとを『ピン』と称する。しかし、回路の全てのピンは物理的にアクセス可能であるけれども、ブロックのそれは内部のものであるか又は回路のそれと同一であるということが理解されるべきである。
ステップ12において、回路の各ブロックは、その動作の機能モデルで記述されるが、それはその入力及び出力の間でのそのブロックの挙動を記述するものである。内部的に同一である、即ち同種の素子を持っている、回路中の2つのブロックは、そのモデルのパラメータに関連付けられるべき異なる値と同じ機能モデルを有するという意味において、機能モデルは、試験されるブロックからは独立しているものである。例えば、2つの抵抗は同じ機能モデルを持つが、異なる抵抗値を持つことができる。或いは、他の例として、回路中の全ての演算増幅器『オペアンプ』は類似の入力対出力特性を持つことがあるが、異なるCMRR、オープンループ利得、等々のパラメータを持つことができる。
機能モデルは、電子回路解析技術の分野で知られている技術を使って作ることのできるものである。それらは一般的にブロックの特性を記述する数学的パラメータ及び方程式の集合である。例えば、ダイオードの動作を記述するためにショックレー方程式を使うことが出来る。本発明においてコンピュータに用いるために、既知のモデル化言語を用いることが出来る。市販されているモデルの例としては、スパイス(SPICE)回路シミュレーション・プログラムにより提供されるものや、セーバー(SABER)シミュレーターのために使われるマスト(MAST)アナログ挙動記述言語で書かれたものなどがある。
【0010】
典型的には、特定の回路のブロックについての機能モデルは機能モデルのライブラリーに既に格納されている。よって、実際には、ステップ12は、このライブラリーにアクセスしてデータを分解して各ブロックについての機能モデル・データ構造を形成することにより実施される。
ステップ13において、回路の各ブロックについての試験モデルが作られる。ブロックの試験モデルは、そのブロックで実行され得る試験に関する情報を与える。機能モデルの場合と同じく、どの2つ以上の同一のブロックも同じ試験モデルを有する。それらの試験モデルは、そのブロックが独立型回路であり、全ての入力及び出力が試験電圧及び電流の印加のためにアクセス可能であると仮定している。
ブロックの種類により、その試験モデルは2つ以上の試験を有することがある。更に、各試験は2つ以上の方法を有することがある。各方法の中で、或るブロック・パラメーターは『セット値』であり、他のパラメーターは『測定値』である。セット値は、それらに特別の電圧及び電流の値を割り当てることによりセットされる。測定値は、ブロックが動作している間に測定される値を表す。測定値は、期待される出力値と比較され、或いは期待される出力値と比較される他の何らかの値を計算するために使用される。若し比較が好都合であるならば、ブロックは正しく動作していると仮定することが出来る。試験の種類は、dc、ac、又は過渡である。ac試験については、試験方法は周波数値をも指定することが出来る。
【0011】
機能モデルの場合と同じく、試験モデルは、各ブロックについて試験モデル・データ構造を作るために分解され、又はその他の方法で処理される。
ステップ14は、回路中の各ブロックについて試験の発生中にいずれかの回路入力が識別されセットされるべきか否か発見的に判定するための規則の集合を作る。若しそのような回路入力があるならば、それらは識別されセットされる。このステップは、回路マトリックスを解くために充分な方程式を使用できることを保証する。このステップの詳細を、図2と関連させて次に説明する。
ステップ15において、試験プラン・ジェネレータは、反復的な、ブロック毎の試験発生プロセスを実行する。それは、各ブロックについての試験を回路の実際の入力ピン及び出力ピンにどのように関連させるかを決定する。非発見的に識別された回路入力から、試験値でセットされるべきブロック入力への径路が識別される。また、試験出力のために測定されるべきブロック出力からの径路が識別される。若しその径路中に混合信号ブロックがあれば、適切なピンが識別されセットされる。このステップにおいては、異なるマトリックスで回路をシミュレートするために異なる変数を各ブロックが有するのであるが、このステップの詳細については図2と関連させて次に説明をする。
【0012】
ステップ16において、試験プラン・ジェネレータの出力は、アナログ信号又は混合信号を有する回路中の各ブロックについての試験の集合である。各試験は、回路ピンにセットされるべき電流、電圧及び周波数の値と、測定されるべき値とを、リストする。この試験プランは、使用できる試験装置に特有の試験プログラムに変換できるものである。
ここで図2を参照すると、試験プランを発生させるプロセスは反復的であって、試験される回路の各ブロックが別々に解析されるようになっている。各ブロックについて、異なる試験と、各試験内の異なる方法とを試みることが出来る。
図2のプロセスは、コンピュータ処理装置で走らせるべきコンピュータ・プログラムで実施され得る。コンピュータ・プログラムは、図1と関連して上記したデータ構造、特に回路記述、機能モデルの集合、及び試験モデルの集合、に適しているものと仮定する。
ステップ21において、回路の第1のブロックが分析されるために回路記述から選択される。この発明の方法はアナログ試験のために設計されているので、完全にデジタル的な入力及び出力を有するブロックは考慮されない。しかし、デジタル入力及び出力に高電圧値又は低電圧値が割り当てられる限りは、混合信号ブロックは試験されることが出来る。
【0013】
ステップ22aにおいて、そのブロックについての第1の試験が選択される。ステップ22bにおいて、その試験から方法が選択される。
ステップ23において、試験されるブロックについて試験入力値の集合を提供するために試験モデルが使われる。これらの値は適切なブロック入力ノードに割り当てられる。
試験値が割り当てられたブロック入力は、ICの入力及び出力により直接にアクセス可能であることもないこともある。換言すると、若しブロックが『内部』であれば、そのブロック入力又は出力のうちの1つ以上が回路の入力ピン又は出力ピンと同一ではない。しばしば、回路の入力及び出力の数はブロックの入力及び出力の数より多い。ブロック入力の与えられた集合について、ステップ27a〜27cのマトリックス計算によって回路入力における矛盾のない値を計算できる。しかし、普通はブロック・ピンより多数の回路ピンがあるので、マトリックスを解くことが出来る前に幾つかのピンをセットしなければならない。本発明の特徴は、最良の回路シミュレーションを提供するためにこれらのピンが発見的に識別されることである。
【0014】
また、ステップ23の一部として、回路のパワー・ピンが識別されてセットされる。これらのピンのための値は、回路データ・ベースにより提供されることが出来る。
ステップ24において、回路の径路がシミュレーションの目的で『敏感化』される。このために、試験モデルからの各々の測定値が適切な出力ノードに割り当てられ、選択された回路出力に径路が割り当てられる。ブロック出力に結合された全ての回路出力のリスト、即ち『出力ピン・リスト』が発生される。
本発明の特徴は、混合信号ブロックを包含する径路も敏感化され得ることである。回路ピンへの径路中の混合信号ブロックを発見して、回路シミュレーションを実行し得るように混合信号ブロックのあるピンをセットしなければならない。より詳しく言えば、径路を選択するために、ステップ24は、試験されるブロックの各ピンに作用する。若しピンが回路入力であれば、それ以上の動作は行われない。若しそのピンが回路出力であれば、それは出力ピン・リストに含まれる。
若しブロック・ピンが回路ピンでなければ、それに結合されている全てのブロックが識別される。すると、これらのブロックの各々について、そのブロックのピンが『制御』型のピンであるか否かが判定され、若しそうであればそのブロックは混合信号ブロックとして識別される。若しこのピンが出力ピンであれば、1つの入力ピンとこの出力ピンとが起動される。若しこのピンが入力ピンであれば、1つの出力ピンとこの入力ピンとが敏感化される。若しいずれかの敏感化されたピンが回路ピンであれば、ここでステップ24は停止する。このブロックのいずれのピンも制御型のピンでなければ、そのブロックは混合信号ブロックではなくて、若しその結合されたピンが回路ピンであるならば、その出力は出力ピン・リストに含まれる。
【0015】
試験されるブロックの各入力ピンについて、各ブロック出力のために上記のルーチンが1回ずつ行われる。試験されるブロックの各出力ピンについて、各ブロック入力のためにその機能が1回ずつ呼び出される。
ステップ24の結果として、純粋にアナログ的なブロックを通して試験されるブロックに結合された全ての回路出力が測定される。この場合、出力ピン・リストは全ての回路出力を包含する。回路中のいずれの混合信号ブロックについても、そのブロックを通る特定の径路だけが起動されるとともに、出力値を測定するために重要である。
ステップ25は、ステップ24で判定されたように、試験されるブロックへの径路又はそのブロックから回路入力または出力への径路の中に混合信号ブロックがあるならば、適用される。若しそうならば、その径路がシミュレーション中に活動状態となるように、ハイの値又はローの値がデジタル・ピンにセットされる。
ステップ26は、マトリックスの解の前にセットされるべき回路ピンが、若しあるならば、どの回路ピンであるかを発見的に決定する。そのような回路ピンがあるか否か決定するために、セット値を有するブロック入力の数mが回路ピンの数nから差し引かれる。差は、発見的にセットされるべき回路ピンの数である。セット値の数mは、試験モデルにより又はパワー・ピンのセッティング時に、ステップ24においてセットされるブロック入力の総数である。
【0016】
1つ以上の回路ピンが発見的にセットされるべきであると一旦判定されたならば、それらを識別するために種々のアプローチを用いることが出来る。1つのアプローチは、各回路ピンと、試験されるブロックとの間の距離を発見することを含む『距離』アプローチである。最も遠い回路ピンがセットされるべきである。
この距離発見手続きのアルゴリズムの、より精しい説明は、後記の第III 部で行う。
発見的に識別された回路ピンに、入力値が割り当てられる。この明細書の場合と同じく、マトリックスのためにKCL方程式が使われる場合には、この値は入力電圧を表す。発見的に決定された入力に対してセットする値は、入力ピンの範囲内の如何なる値でもよい。この範囲は、試験ブロック・モデルなどにおいて指定され得る。例えば、若しその範囲が−4.5Vから4.5Vまであるとすれば、0を含むこの範囲内の何処にでもセットされ得る。
【0017】
ステップ26の結果として、発見的回路ピンの数はセット値を有する。残りの回路ピンは、マトリックス計算によりセットされた値を受け取る回路ピンである。これは、充分な数の回路方程式の形成がうまく解かれることを可能にする、即ち、未知数の数は方程式の数を越えない。
ステップ26は、回路入力又は出力を発見的に識別しセットするために使われ得る。例えば、或る出力がブロックから最も遠いとすると、それにマトリックスを解く目的で値が割り当てられ得る。しかし、試験プラン発生の目的のためには、若しこれが測定された出力であるならば、それは、セットされるのではなくて測定されるべき値として指定されることになる。
ステップ27aにおいて、回路を解くための方程式のマトリックスが形成される。一般に、マトリックスは、普通の回路シミュレーション・マトリックスに似ている。しかし、求める変数は、普通のシミュレーションのそれとは異なる。或る既知の変数は発見的にセットされ、他の変数はマトリックスにおいてブロック入力により表される。マトリックスを解くことにより、試験されるブロックにおける所望の試験入力値を生じることになる矛盾のない回路入力値が計算される。
【0018】
マトリックスを形成するために、径路及びノードの回路グラフからKCL方程式が抽出される。これらの方程式はマトリックスの形で記憶される。回路グラフにより記述されるように、このマトリックスの各行はノードに対応し、各列は径路に対応する。マトリックスの項は−1、0、又は1であり得る。若し径路がノードに結合されていなければ、項は0である。径路上の電流がノードに入っていれば、項は1である。若し径路上の電流がノードから出てゆくのであれば、項は−1である。回路入力ピンでもグランド・ピンでもない各ノードについてKCL方程式が使用可能である。ブロックについての機能モデルにより追加の方程式が供給される。
数学的に言うと、n個の未知数を有するn個の方程式の系が形成される。ステップ26において説明したように、使える方程式の数が回路の未知数より少ないときには、未知数の数が使える方程式の数と同じになるように幾つかの未知数が発見的にセットされる。よって、マトリックス中の方程式の数はKCL方程式の数と、回路のブロックから導出された方程式の数との和である。
ステップ27bにおいて、マトリックスを解く試みが行われる。マトリックスを解くために使われる技術は、伝統的な数値方法を含む。一般的に、列マトリックスG(x(k))が組み立てられ、その微分正方行列Jが計算される。ニュートン−ラフソン手順(Newton-Raphson procedure) の各反復時に、Gマトリックス及びJマトリックスは、試験されるブロックの機能モデルを解くことにより、更新される。
【0019】
若しマトリックスを解くことができなければ、異なる発見的規則又は発見的に導出された異なるピンで、又は発見的に導出された同じピン上の異なる値で、ステップ26が反復される。ステップ27aが新しいマトリックスを形成するために反復され、ステップ27bがそれを解く試みを行うために反復される。若しプログラムがブロックのために如何なる試験を作ることもできないならば、それは、デザイン技術者が回路を試験可能になるように設計し直せるように、メッセージをユーザーに対して出力する。
ステップ27bの結果としてマトリックスの解が得られたときにはステップ28が実行される。マトリックスの解は、ブロック試験モデルにより提供されるブロック入力値と矛盾しない回路入力値を提供する。それは、試験モデルにより提供される期待されるブロック出力値と矛盾しない少なくとも1つの回路出力値をも提供する。換言すると、ブロック電圧、回路電圧、及び回路ブロック中の全ての電流が回路マトリックスの一部を形成するので、これらの全ての値が決定される。試験方法は、測定された回路出力、及びステップ26で発見的にセットされ又はステップ27bで計算された回路入力を伴って、試験プランに加えられる。
【0020】
ステップ29aにおいて、他の試験方法がそのブロックについてなお試みられるべきか否か決定される。若しそうならば、その方法についてステップ23〜28を反復することが出来る。若し1つの試験方法が成功すれば、そのブロックについて追加の試験があるか否か判定するために直ちにステップ29bに進み、或いは試験されるべき付加的なブロックがあるか否か判定するためにステップ29cに直ちに進むのが得策であろうという意味においてステップ29は随意的である。
上記のプロセスは、アナログ信号又は混合信号集積回路に特に有益である。若し回路がデジタル・ブロックを有するならば、試験発生中にそれをマスクすることが出来る。また、論理判定の代わりに高電圧及び低電圧がセットされ判定される場合には、この方法をデジタル・ブロックの機能試験のために使うことが出来る。
II. 試験プラン・ジェネレータのための例としての回路
図3は、単純な回路の略図であり、これについて本発明に従って試験プランを発生させることが出来る。本書では、これを、フィードバック及び入力抵抗器を伴う2つの演算増幅器からなる『カスケード演算増幅器』回路と称する。
【0021】
図1のステップ11に従って、回路は、回路ブロック、カスケード(CASCADE)、及び2つの内部ブロック即ちRESISTOR及びOP AMPの用語で説明される。この内部ブロックは、演算増幅器及び抵抗器について使える機能モデルに対応する。これらのブロックを使って、回路記述は次の通りとなり得る:
終端演算増幅器;
図4は、図3の回路の等価方向グラフであり、これはその径路及びノードをより良く示す。この回路は6個の径路と8個のノードを有する。各ノードには、図4において、可変的な名称と数値識別子との両方が付されている。
【0022】
図1のステップ12に従って、各々の異なるブロックに機能モデルが付随している。よって、抵抗器ブロックは、演算増幅器ブロックと同じ機能モデルを有する。
この例は、電気的モデルの市販されているSABER−MASTセットから利用できるモデルを利用する。演算増幅器ブロックについては、入力がノードA及びBにあり、出力がノードCにあるが、モデルは次のように表現される:
要素テンプレート演算増幅器A B C GND=利得、voc
電気的A,B,C,GND
数 利得
数 voo
{
val v Vout,Vin
var i il
数 tmp
値 {
Vout=v(C)
Vin =v(B)=v(A)
}
方程式 {
i(C) +=i1
i1: Vout=利得*Vin
}
}
抵抗器についてのモデルは次のとおりである:
テンプレート抵抗器 A B=r
電気的 A,B
数 r
{
val v v1,v2
val i i1
値 {
v1=v(A)
v2=v(B)
i1=(v1−v2)/r
}
方程式 {
i(A=>B)+=i1
}
}
図1のステップ13により、各々の種類のブロックについて試験モデルが導出される。演算増幅器ブロックについては、2つの試験、即ち1つは出力電圧Vooについての試験及びもう1つは利得についての試験、がある:
OPAMP () {
試験VOO {
試験タイプ=DC;
方法 1 {
MTYPE=CHAR;
アクセス {C}
制御 {A、B}
手順 {
SET VB=0V;
SET VA=0V;
MEAS VC;
ASSIGN VO=vC V;
COMPARE (vO=voo nom);
}
}
} ENDT TEST VOO
試験利得 {
試験タイプ=DC;
方法 1 {
MTYPE=CHAR;
アクセス {C}
制御 {A、B}
手順 {
ASSIGN v1=(vstart+(vend))/2V;
SET vA=v1 V;
SET vB=v1 V;
MEAS vC;
ASSIGN v2=vC V;
SET vB=v1 V;
ASSIGN v4=((vstart)+(vend))
/2)+0.0001 V;
SET vA=v4 V;
MEAS vC;
ASSIGN v3=vC V;
ASSIGN g1=(v3−v2)/0.0001 V;
COMPARE (gi=gain nom);
}
}
} ENDT TEST GAIN;
}ENDF OPAMP;
抵抗器についての試験モデルは次のとおりである;
抵抗器() {
試験 R {
試験タイプ=DC;
方法 1 {
MTYPE=PROD;
アクセス { A }
制御 { B }
手順 {
SET vA=2V;
SET vB=0V;
MEAS iA;
ASSIGN rval=1/iA;
COMPARE (rva1=r nom);
}
}
} ENDT TEST R
TEST RCURR {
試験タイプ=DC;
方法 1 {
MTYPE=PROD;
アクセス { A }
制御 { B }
手順 {
SET vA=2V;
SET vB=0.1A;
MEAS vB;
}
}
} ENDT TEST RCURR;
}ENDF RESISTOR;
この点で、試験プラン・ジェネレータについての入力は、図1に示されている様に、完成する。ここで図2を参照すると、カスケード型演算増幅器回路の各ブロックは、そのブロックについての試験プランを得るために別々に処理される。
【0023】
次の記述は、現在処理されているブロックは図3のRES1ブロックであると仮定している。よって、図2のステップ21に従って、選択されるブロックはRES1である。
ステップ22aにおいて、抵抗器についての第1の試験が考慮のために選択される。これは、上記した抵抗器試験モデルのR試験である。それは唯一の方法を有しており、ステップ22bはその方法を選択する。
ステップ23において、ブロック・ノードへの値が試験モデルに従ってセットされる。よって、RES1のノードAに対応するIN1は2ボルトにセットされる。RES1のノードBに対応するIN MINUSは0ボルトにセットされる。
ステップ24において、ブロック出力から回路出力までの径路がたどられる。これにより、OUT2は、試験中に回路測定が行われるノードとして識別される。また、GNDはパワー・ピンとして識別されて0にセットされる。
ステップ25は、回路についてのマトリックスを形成する。回路入力ノードの他に4個のノードがある。図4を参照すると、これらのノードはOUT2、IN MINUS,OUT,及びIN MINUS2である。ノードm及びnの間で、imnは電流iを表すが、これらのノードについてのKCL方程式は次の通りである:
OUT2では i73−i34 =0
IN MINUSでは i05−i56 =0
OUTでは i56−i64−i67=0
IN MINUS2では i67−i73 =0
これらの方程式についてのKCLマトリックスは、各行が異なるノードでのKCLを表すように組み立てられる。各列は径路を表す。よって、ノード4(GND)が0ボルトにセットされる場合には次の通りとなる:
ノード3 000 000 001 -001 000 000
ノード5 -001 000 000 000 001 000
ノード6 000 001 000 000 -001 001
ノード7 000 000 000 001 000 -001
付加的な8個の方程式を使って回路ブロックを表すことが出来る。上記した機能モデルを参照すると、各抵抗器は1つの方程式を与え、各演算増幅器は2つの方程式を与える。よって次のとおりとなる:
よって、利用できる方程式の数は12個である。しかし、未知の変数の数は13個、即ち、i05、i56、i64、i67、i73、i34、v1、v2、v6、v7、v3、i1(演算増幅器1)、i1(演算増幅器2)、である。
【0024】
ステップ26は、何個の値を発見的にセットするべきかを決定することから始まる。この決定のために、セット値を伴うノードの数が回路入力の数から差し引かれる。この例では、4個の回路入力と3個のセット値とがある。(上記したように、ノードGNDは回路入力と見なされ、その値はデフォールト(default)により0にセットされる)。よって、1つの値が発見的にセットされなければならない。
ステップ26は、セットされるべき各ノードを識別することも含む。距離発見手法を使って、RESIへの入力と他の回路入力との間の距離が計算される。ノード2(IN3)は、RES1から9単位の距離を有する。ノード1(IN2)は、3単位の距離を有する。よって、ノード2は、試験されるブロックから最も遠いノードである。それは、0などの任意の値にセットされる。残りの回路入力(IN2)はブロック入力に突き合わされる。よって、解かれるべき値はIN2であり、これは、0ポルトがIN MINUSに現われることとなるように試験中に印加されるべき入力信号を提供する。今や12個の未知変数と12個のマトリックス方程式とがある。このマトリックスを今や解くことが出来る。
【0025】
ステップ22〜28の結果は、ブロックについての試験プランである。指摘したように、各試験について、プラン・リストは、IN1、IN2、IN3、及びGNDについての入力値を提供する。それは、回路出力OUT2についての期待される値も提供する。試験中、各試験が実行され、OUT2が測定される。測定された値は、期待される出力値と比較される。
III. 距離発見手法
発見的にセットされるべき回路ピンを識別する1つの方法は、Dマトリックスを形成することである。このマトリックスはx×xの次元を有し、このxは回路中のノードの数である。
Dマトリックスの要素は、無限の値、即ち非常に大きな数で満たされる。ここで、Dマトリックスは、
D = 〔d(i,j)〕
のようにウェートを与えられる。ここで、
d(i,j)=ノードi及びjを結合させるブロックの複雑性
d(i,i)=0
である。
【0026】
換言すると、(i,j)におけるブロックの複雑性が無限大より小さければ、その数が無限大の代わりに使われる。
よって、試験されるブロックのピンの各対について、Dの中の対応する要素についてゼロが入れられる。その結果として、ブロックの回りの全てのノードが単一のブロック・ノードとして互いに『融合』させられる。このとき、この『融合』したノードから、回路ピンである各ノードへの最短の径路が計算される。この計算のために、ディジクストラのアルゴリズム(Dijkstra's algorithm) として知られるアルゴリズムを使うことが出来る。その結果は、ブロックから各回路ピンへの距離のリストであり、それから最も遠い距離を選ぶことが出来る。
他の実施例
特別の実施例を参照して本発明を説明したけれども、この明細書は限定的意味に解されるべきではない。開示した実施例の種々の変形、及び代替の実施例は当業者にとっては明白であろう。従って、付属の特許請求の範囲の欄の記載内容は、本発明に属する全ての変形を包摂するものと考えられる。
【図面の簡単な説明】
【図1】本発明により試験プランを発生させる基本的ステップを示す。
【図2】図1の試験発生ステップの詳細を示す。
【図3】本発明の方法を使って試験されるべきアナログ回路の例である。
【図4】図3の回路の経路及びノードのグラフである。
Claims (9)
- アナログ信号素子または混合信号素子のブロックから成る集積回路のために試験プランを自動的に生成させるために、コンピュータを使用する方法であって、未知の回路電圧及び電流の数が利用可能な回路方程式の数より大きい場合、
前記集積回路のブロック機能記述をコンピュータにロードするステップと、
前記集積回路の各ブロックのため予め定義されたブロック試験モデルを前記コンピュータにロードするステップと、
各機能ブロックの入力を、前記予め定義されたブロック試験モデルによって特定された値にセットするステップと、
前記未知の回路電圧及び電流の数が利用可能な回路方程式の数と同じになるように、ブロック入力の充分な数が前記セットするステップによってセットされるか否かを前記コンピュータによって自動的に判定するステップと、
もし、入力の数が充分でなければ、既知の電圧値でセットされるべき回路ピンをコンピュータによって自動的に識別するステップと、
前記識別するステップ中に、識別された各回路ピンをコンピュータによってある電圧値で自動的にセットするステップと、
未知の変数が前記識別ステップで識別されなかったそれらの回路ピンにおける電圧を含む回路方程式のマトリックスを前記コンピュータによって自動的に形成するステップと、
前記未知の変数を求めるため前記マトリックスを前記コンピュータによって自動的に解くステップと、
前記解くステップによって得られた値を、前記ブロックの試験中に印加されるべき回路の入力値としてリスト化するステップと、
を有することを特徴とする方法。 - 前記識別するステップは、試験中のブロックから最も遠い回路入力の位置を突き止めることにより実行されることを特徴とする請求項1に記載の方法。
- 更に、前記ブロックの試験中に測定されるべき回路の出力を識別するステップを有することを特徴とする請求項1に記載の方法。
- 前記マトリックスは未知の回路の出力を含み、更に、前記解くステップにより得られた値を、前記ブロックの試験中に期待されるべき回路の出力値としてリスト化するステップを有することを特徴とする請求項1に記載の方法。
- 更に、前記解くステップの前に前記回路のパワー・ピンに値をセットするステップを有することを特徴とする請求項1に記載の方法。
- 前記セットするステップにおいてセットされた値を有する入力の数が回路の入力の数より少ない場合に前記識別ステップが実行されることを特徴とする請求項4に記載の方法。
- 更に、前記回路中の混合信号ブロックを識別するステップと、前記混合信号ブロックの少なくとも一つの入力及び少なくとも一つの出力の値をセットするステップを有することを特徴とする請求項5に記載の方法。
- 更に、前記回路中のディジタルブロックを識別して、マスクするステップを有することを特徴とする請求項1に記載の方法。
- マトリックスを形成する前記ステップは、前記回路についてのKCL方程式と前記回路の各ブロックに対する少なくとも一つの機能方程式を生成することによって達成されることを特徴とする請求項1に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/013903 | 1993-02-05 | ||
| US08/013,903 US5369604A (en) | 1993-02-05 | 1993-02-05 | Test plan generation for analog integrated circuits |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06317631A JPH06317631A (ja) | 1994-11-15 |
| JP3672336B2 true JP3672336B2 (ja) | 2005-07-20 |
Family
ID=21762424
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP01286894A Expired - Fee Related JP3672336B2 (ja) | 1993-02-05 | 1994-02-04 | アナログ集積回路のための試験プランを発生する方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5369604A (ja) |
| JP (1) | JP3672336B2 (ja) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3099310B2 (ja) * | 1993-03-15 | 2000-10-16 | 株式会社東芝 | 回路解析装置 |
| US5581738A (en) * | 1993-06-07 | 1996-12-03 | Xilinx, Inc. | Method and apparatus for back-annotating timing constraints into simulation models of field programmable gate arrays |
| US5617430A (en) * | 1993-12-22 | 1997-04-01 | International Business Machines Corporation | Testing system interconnections using dynamic configuration and test generation |
| US6295517B1 (en) * | 1998-04-07 | 2001-09-25 | Synopsis, Inc. | Method and apparatus for adaptively or selectively choosing event-triggered cycle-based simulation or oblivious-triggered cycle-based simulation on a cluster-by-cluster basis |
| US6212490B1 (en) * | 1998-06-24 | 2001-04-03 | S3 Incorporated | Hybrid circuit model simulator for accurate timing and noise analysis |
| US6421574B1 (en) * | 1999-09-23 | 2002-07-16 | Advanced Micro Devices, Inc. | Automatic defect classification system based variable sampling plan |
| JP3349123B2 (ja) * | 1999-11-01 | 2002-11-20 | 株式会社半導体理工学研究センター | 集積回路及びその集積回路の回路設計方法 |
| US7085980B2 (en) * | 2002-05-02 | 2006-08-01 | International Business Machines Corporation | Method and apparatus for determining the failing operation of a device-under-test |
| AU2003222702A1 (en) | 2002-05-03 | 2003-11-17 | Mcgill University | Method and device for use in dc parametric tests |
| EP1376413A1 (en) * | 2002-06-25 | 2004-01-02 | STMicroelectronics S.r.l. | Test bench generator for integrated circuits, particularly memories |
| US7376876B2 (en) * | 2004-12-23 | 2008-05-20 | Honeywell International Inc. | Test program set generation tool |
| US8682631B2 (en) * | 2009-09-03 | 2014-03-25 | Henry Chung-herng Chang | Specifications-driven platform for analog, mixed-signal, and radio frequency verification |
| US20110288808A1 (en) * | 2010-05-20 | 2011-11-24 | International Business Machines Corporation | Optimal test flow scheduling within automated test equipment for minimized mean time to detect failure |
| CN111766510B (zh) * | 2020-07-27 | 2021-01-26 | 中南民族大学 | 一种便携式数字芯片自动测试系统及其工作方法 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4000460A (en) * | 1974-07-01 | 1976-12-28 | Xerox Corporation | Digital circuit module test system |
| US4228537A (en) * | 1978-08-29 | 1980-10-14 | Genrad, Inc. | Method of and apparatus for automatic fault diagnosis of electrical circuits employing on-line simulation of faults in such circuits during diagnosis |
| US4204633A (en) * | 1978-11-20 | 1980-05-27 | International Business Machines Corporation | Logic chip test system with path oriented decision making test pattern generator |
| US4656632A (en) * | 1983-11-25 | 1987-04-07 | Giordano Associates, Inc. | System for automatic testing of circuits and systems |
| US4907230A (en) * | 1988-02-29 | 1990-03-06 | Rik Heller | Apparatus and method for testing printed circuit boards and their components |
| US5105373A (en) * | 1990-01-22 | 1992-04-14 | Texas Instruments Incorporated | Method of simulating the operation of a circuit having analog and digital circuit parts |
-
1993
- 1993-02-05 US US08/013,903 patent/US5369604A/en not_active Expired - Lifetime
-
1994
- 1994-02-04 JP JP01286894A patent/JP3672336B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US5369604A (en) | 1994-11-29 |
| JPH06317631A (ja) | 1994-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20230076636A1 (en) | Automated verification of integrated circuits | |
| US7191112B2 (en) | Multiple test bench optimizer | |
| US5369604A (en) | Test plan generation for analog integrated circuits | |
| KR20180109837A (ko) | 회로 스텐실들의 발생 및 인스턴스화를 이용한 집적 회로 설계 | |
| JP3971167B2 (ja) | 等価回路の導出方法、および、そのためのシステム | |
| US20100031206A1 (en) | Method and technique for analogue circuit synthesis | |
| US20050102124A1 (en) | Method for generating a circuit model | |
| WO2000036485A2 (en) | Language controlled design flow for electronic design | |
| US5634115A (en) | System and method for behavioral description translation | |
| US5659257A (en) | Method and circuit structure for measuring and testing discrete components on mixed-signal circuit boards | |
| JP2000121705A (ja) | 基板モデル修正方法および装置 | |
| Beenker et al. | Analog CAD for consumer ICs | |
| Zilch et al. | Automatic tool for test set generation and DfT assessment in analog circuits | |
| Mahdavi et al. | Evolutionary derivation of optimal test sets for neural network based analog and mixed signal circuits fault diagnosis approach | |
| Yang et al. | Fast, robust DC and transient fault simulation for nonlinear analogue circuits | |
| US20230267257A1 (en) | Automated verification of integrated circuits | |
| Caunegre et al. | Fault simulation for mixed-signal systems | |
| Modala et al. | Increasing the efficiency of hierarchical fault simulation through functional fault clustering | |
| US5265028A (en) | Optimization system | |
| Koza et al. | Evolution of a low-distortion, low-bias 60 decibel op amp with good frequency generalization using genetic programming | |
| Novak et al. | Enhancing design-for-test for active analog filters by using CLP | |
| Somayajula | A neural network approach to hierarchical analog fault diagnosis | |
| Audoin | High Performance Library for a Magnetic Position Sensor | |
| Ravindranath et al. | Automatic test plan generation for analog and mixed signal integrated circuits using partial activation and high level simulation | |
| Kim et al. | A new approach to built-in self-testable datapath synthesis based on integer linear programming |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031125 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040225 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040301 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040524 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050322 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050419 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080428 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |
