図面 (/)

技術 テスト・ベクタ自動作成方法

出願人 アジレント・テクノロジー株式会社
発明者 納俊樹
出願日 1993年7月9日 (27年7ヶ月経過) 出願番号 1993-194035
公開日 1995年1月31日 (26年0ヶ月経過) 公開番号 1995-027834
状態 未査定
技術分野 CAD デジタル計算機の試験診断 電子回路の試験 電子回路の試験
主要キーワード 設計評価 量産テスト ベクタ数 論理ネットリスト 自動作成処理 追加作成 発生ステップ 各論理ゲート
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1995年1月31日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (3)

目的

ASIC論理回路設計において、スキャンパス構成でないフリップフロップを含む回路テストを可能にするテスト・ベクタ自動作成する。

構成

フリップフロップを1入力1出力のバッファとみなして、故障検出率を最大にするようなICの入力信号論理値1になる確率を計算し、該確率を乱数重み付けとしてテスト・ベクタを発生させる。

概要

背景

概要

ASIC論理回路設計において、スキャンパス構成でないフリップフロップを含む回路テストを可能にするテスト・ベクタ自動作成する。

フリップフロップを1入力1出力のバッファとみなして、故障検出率を最大にするようなICの入力信号論理値1になる確率を計算し、該確率を乱数重み付けとしてテスト・ベクタを発生させる。

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

スキャンパス構成でないフリップフロップを含んだ論理回路縮退故障を検出するテストにおいて、フリップフロップを1入力1出力のバッファと見なして故障検出率を最大にするようなICの入力信号論理値1になる確率を計算し、該確率を乱数重み付けとしたテスト・ベクタを発生し、故障シミュレーションによりテスト・ベクタの故障検出率を算出し、故障検出率が目標を達成しないときは未検出の故障について重み付けを再計算してテスト・ベクタを追加し、故障検出率が目標値に達すかあるいはテスト・ベクタの個数制限値を越えるまでテスト・ベクタ追加する処理を繰り返し、故障率検出率が目標を達した後故障検出率向上に寄与しないテスト・ベクタを間引く、各ステップを含むことを特徴とするテスト・ベクタ自動作成方法

--

0001

本発明はASIC論理回路設計支援装置において、論理回路縮退故障検出用テストベクタ作成方法に関する。なお、縮退故障とは論理値が0または1に固定した故障であり、ASICの故障の大部分を占める。

0002

ASICの論理設計は、目的の機能を備えたASICの論理回路を設計し、ASICの製造情報としてネットリストを出力し、検査情報としてテスト・ベクタを出力する。一般に該設計は、ASIC論理回路設計支援装置と呼ばれる広義CADシステム支援により行われている。本発明のテスト・ベクタ自動作成はASIC論理回路支援装置の1つの構成要素である。ASICは機能の高度化に伴い、回路が大規模化しかつ複雑になって来た。その結果、テストも複雑になり、テスト・プログラム作成に大きな時間を費やし、またテスト時間が長くなる傾向である。一般にテストには、設計が目的通り出来ているかをテストする設計評価テストと製造した個々のICが正常であるかを検査する量産テストの2通りがある。本発明は後者に関係する。製造されたASICはIC内部をプローブピンで当たれないので、ICの外部端子に加えた入力信号応答して他の外部端子に現れた出力信号から、IC内部の故障を検出しなければならない。即ち、入力信号に対する出力の応答の実測値正常値と比較して良否を判断する。この入力信号をテスト・ベクタまたはテスト・パターンと云う。テストは、IC内の全てのノードに対して効率よく良否を検出しなければならない。そのためには故障検出率の高いテスト・ベクタの作成が重要である。また複雑化に伴いテスト・ベクタの自動作成は必須である。

0003

論理回路を、入力に対して一義的に出力の定まる組み合せ回路と、過去の状態と入力の関数によって出力の定まる順序回路分類できる。組み合せ回路のテストは、Dアルゴリズムあるいは乱数を使用して自動作成する方法が一般化している。一方、フリップフロップ回路に代表される順序回路は、出力が過去の入力による履歴に依存するために、直接Dアルゴリズムを適用するのは難しい。そこで従来技術は、フリップフロップ初期値の設定と出力結果の読み出しを可能にするために、設計段階スキャンパス構成の設計を行い、Dアルゴリズムを使用してテスト・ベクタを作成している。スキャン・パス構成は、テスト・モードの時、フリップフロップが一本のシフトレジスタになるように構成し、外部端子から直接観測、制御する方式である。そのための回路が付加されるので、回路規模が増大し、コスト高になる。このため、データ・パス系の回路のようにフリップフロップを多用する回路等ではスキャン・パス構成を用いることが難しく、スキャン・パス構成でないASICを効果的に経済的にテストする方法が望まれていた。

0004

組み合せ回路に対してDアルゴリズムは理論的には完全なテスト・ベクタを作成出来るが、ASICの規模が大きくなると論理をすべて追いかけて完全な解を得ることは困難である。またフリップフロップを含む回路への適用も不可能ではないが、アルゴリズムが複雑で規模の大きい回路に適用することは難しい。乱数を使った組み合せ回路のテスト・ベクタ作成方法としては、Robert Lisanke, Franc Brglez, Aart J. Dgeus, David Gregory :" Testability-Driven Random Test-Pattern Generation ",IEEE Transactions on Computer-Aided Design, VolCAD-6, No 6, pp1082-1087(Nov. 1987)の論文発表されている。この論文では、組み合せ回路の故障検出率を最大にするような、入力信号が1になる確率を計算し、この確率に応じた重み付乱数によりテスト・ベクタを作成している。但しこの論文は、フリップフロップの部分はスキャン・パス方式を使うことを前提にしている。

0005

本発明の目的は、上述欠点を除去するためになされたもので、スキャン・パス構成でないフリップフロップを含む回路のテストを可能にするテスト・ベクタを自動作成することにある。

発明の概要

0006

乱数を使用した従来のテスト・ベクタ自動作成方法ではフリップフロップのテストが不可能であった。本発明は従来技術の欠点を改良した乱数を使用したテスト・ベクタ自動作成方法で、次のようなステップで構成される。故障検出率を最大にするようなICの入力信号が論理値1になる確率を計算し、該確率を乱数の重み付けとしたテスト・ベクタを発生し、故障シミュレーションによりテスト・ベクタの故障検出率を算出し、故障検出率が目標を達成しないときは未検出の故障について重み付けを再計算してテスト・ベクタを追加し、故障検出率が目標値に達すかあるいはテスト・ベクタの個数制限値を越えるまでテスト・ベクタ追加する処理を繰り返し、故障率検出率が目標を達した後故障検出率向上に寄与しないテスト・ベクタを間引く、各ステップから構成されている。本発明は上記の故障検出率を最大にするICの入力が論理値1になる確率を計算するステップにおいて、フリップフロップを1入力1出力のバッファと見なして該確率を計算する方法によりフリップフロップのテスト・ベクタ自動作成を可能にした。

0007

図1は本発明の一実施例を示す図である。図はASIC論理回路設計支援装置におけるテスト・ベクタ自動作成の処理過程を流れ図で表したものである。但し、流れ図は従来技術の乱数を用いたテスト・ベクタ発生方法と変わりはない。本発明は図のステップ3の乱数の重み計算に関する。1はテスト・ベクタ自動作成の動作開始ステップ、2は乱数の重み計算を再計算する、しないの判断ステップ、3は乱数の重み計算ステップ、4はテスト・ベクタ発生ステップ、5は故障シミュレーションステップ、6は故障検出率が目標値に達したか否か、またはベクタの個数が制限値に達したか否かの判断ステップ、7は不要ベクタを削除するステップ、8はテスト・ベクタ自動作成処理の完了ステップである。

0008

テスト・ベクタ自動作成は論理ネットリスト入力情報として受取り、処理を開始する。2は処理時間の節約のために設けられたステップで、初回の処理の判断はYesである。ステップ3で後述するコスト関数を最小にするような、入力信号の論理値が1になる確率を計算し、この確率を乱数の重みとして、ステップ4に渡す。ステップ4では重み付乱数に従ったテスト・ベクタを作成する。例えば、入力が1になる確率が70%のときコスト関数が最小になるとすれば、ステップ4でテスト・ベクタとして1が選ばれる確率は70%、0になる確率が30%である。ステップ5の故障シミュレーションでは該テスト・ベクタをコンピュータ上の仮想的論理回路に入力し、模擬的故障検出を行い故障検出率を計算する。ステップ6で故障検出率が目標に達したか、あるいはベクタの個数が制限値に達したかを判定する。Noならばステップ2に戻り今まで作成したテスト・ベクタでは見つからなかった故障を検出するテスト・ベクタを新たに追加作成する過程に入る。前記と同様の処理を行い、ステップ6で故障検出率が目標値を満たしたか、テスト・ベクタの個数が目標値を越えたかの判断がなされるまで、テスト・ベクタを追加していく処理を繰り返す。ステップ6がYesになれば、ステップ7に進み、故障検出率向上に寄与しなかったテスト・ベクタを間引いてテスト・ベクタが完成し、作成の全処理が完了する。ステップ2は、処理時間の短縮のために設けてある。図2を用いて後述するように、テスト・ベクタ作成の初期、即ちテスト・ベクタの個数が少ない時は、テスト・ベクタの追加により故障検出率の向上は大きい。従って、テスト・ベクタの個数が少ないときは、重みの再計算を省略して処理時間の短縮を図っている。

0009

本発明は、該処理のステップ3の重みの計算に関する。乱数を使う方法は前記R.Lisanke等の論文による方法が広く使われている。以下に従来の方法を述べた後、本発明の一実施例について述べる。ここで、i番目のネットの故障検出の確率を求める。まず、Ciをi番目のネットのコントローラビリティ、Oiをi番目のネットのオブザーバビリティと定義する。コントローラビリティとは当該ネットが1になる確率であり、オブザーバビリティとは当該ネットの論理値を最外部出力で観測出来る確率である。従って求める故障検出の確率は次のようになる。

0010

0011

なお、0縮退故障、1縮退故障とは、それぞれ論理値が0、1に固定した故障である。故障検出の確率から、n個の独立したテスト・ベクタを入力した時、故障jが検出される確率CPdjが得られる。

0012

0013

次に、全故障の数をMとすると、故障検出の確率の平均値

0014

0015

となる。図2に故障検出の確率の平均値の曲線を示す。直感的に分かるように、テスト・ベクタ数が増加すれば、故障検出の確率は高くなっていく。またテスト・ベクタの個数が小さい時は故障検出の確率の増分が大で、テスト・ベクタの個数が大きい時は増分が小である。また、図2縦縞線の部分は、故障が検出されなかった確率の部分である。コスト関数は、この故障が検出されなかった部分の積算値と定義する。従ってコスト関数は次のように表される。

0016

0017

このコスト関数を最小にする最外部入力のコントローラビリティを算出する。言い替えれば、ICの外部入力が論理値1になる確率分布の中で、故障検出率を最大にする確率を見つける。その確率を乱数の重み付けとしてテスト・ベクタを作成すればよい。コスト関数の最小値傾斜法により求める。即ち勾配ベクタを次式で計算する。

0018

0019

(5)式を計算して、傾きがあるときはまだ最小でないと判断し、傾きの方向に移り、再び勾配ベクタを求め、傾きが無くなるまで続け、傾きがなくなったら最小と判断する。(5)式で、dOj/dCi、dCk/dCi、dOi/dOkは各論理ゲートの種類により固有の値をとる。従来技術ではこの方法をフリップフロップに適用していなかった。本発明では、データ・パス系の論理回路ではフィードバックループが比較的少ないことおよび大規模ASICでは一般に同期クロックを使用しているのでクロック信号を無視出来ることを利用して、フリップフロップを1入力1出力のバッファとみなし、フリップフロップへの適用を可能にした。即ち、1入力1出力としてdOj/dCi、dCk/dCi、dOi/dOkの値を決め(5)式に代入し、コスト関数の最小値を求め、テスト・ベクタを発生させることができた。その具体的数値を例示する。これらはすべて定数である。dOj/dCiは2入力以上のゲートの場合の係数である。従ってフリップフロップでは1入力のバッファと見なしているので、0である。dCk/dCiはある入力のコントローラビリティが変化した時の係数である。1入力1出力のバッファは入出力同じだから1である。dOi/dOkはある出力のオブザーバビリティが変化した時の係数であるから、この場合も1になる。dOj/dCi、dCk/dCi、dOi/dOkの値を上述のようにして、スキャン・パス構成でないフリップフロップについてもテスト・ベクタの自動作成が可能になった。

発明の効果

0020

本発明の実施により、フリップフロップを含む回路に対して、乱数を使ったテスト・ベクタの自動作成がが可能になり、テスト・ベクタ作成時間およびテスト時間の短縮でき、かつ高い故障検出を達成し、経済上・品質上の効果大である。なお、例示の構成機器表示画面は、その型式や様式その他に限定するものでなく、必要に応じて本発明の要旨を失うことなく構成の変形も許容される。

図面の簡単な説明

0021

図1テスト・ベクタ発生処理の流れ図である。
図2故障検出の確率とコスト関数の図である。

--

0022

1:流れ図のステップ1、始め。
2:流れ図のステップ2、乱数の重み再計算の判断。
3:流れ図のステップ3、乱数の重み計算。
4:流れ図のステップ4、テスト・ベクタ発生。
5:流れ図のステップ5、故障シミュレーション。
6:流れ図のステップ6、目標故障検出率またはベクタ個数制限値に達した判断。
7:流れ図のステップ7、不要なテスト・ベクタの削除。
8:流れ図のステップ8、終了。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ