JP3544912B2 - ハードマクロテスト回路、そのテスト方法およびテストパタン生成方法 - Google Patents
ハードマクロテスト回路、そのテスト方法およびテストパタン生成方法 Download PDFInfo
- Publication number
- JP3544912B2 JP3544912B2 JP2000020411A JP2000020411A JP3544912B2 JP 3544912 B2 JP3544912 B2 JP 3544912B2 JP 2000020411 A JP2000020411 A JP 2000020411A JP 2000020411 A JP2000020411 A JP 2000020411A JP 3544912 B2 JP3544912 B2 JP 3544912B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- pattern
- test
- scan
- hard macro
- 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
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明はハードマクロテスト回路、そのテスト方法およびテストパタン生成方法に係わり、特にハードマクロ回路およびそのテスト回路を内蔵した半導体装置(LSI)に対するスキャンパス検査および内蔵したハードマクロ回路に対する単体検査の両方の検査を一体化して試験するハードマクロテスト回路、そのテスト方法およびテストパタン生成方法に関する。
【0002】
【従来の技術】
近年、半導体素子の微細化技術の進展に伴い、その半導体素子で構成する半導体装置も大規模化している。例えば、1つの半導体基板上に既存の複数のチップを搭載し、これらのチップ相互間を所定の配線で結線することによって、これらのチップの組み合わせに基づいた所望の多機能な処理を実現する半導体装置、いわゆるシステムオンチップ(以下、SOCと称する)を構成することも可能になってきている。
【0003】
この種の従来のシステムオンチップの機能をテストする方法も考慮した設計、すなわち、テスト設計が一般的に行われるようになっている。このテスト設計では、ランダムロジックによる組み合わせ回路やフリップフロップ等の順序回路で構成する周辺回路(以下、ユーザロジックと称す)部分に対しては、フリップフロップ群をセレクタにより通常動作時の接続状態からテスト状態に切り替えることによって、フリップフロップ群を直列接続しシフトレジスタの状態にした上で、テストパターンをシリアルに与え、テストパタンが順次に最後のフリップフロップまで到達した時点で、通常動作の接続状態にセレクタを切り替えフリップフロップにデータを取り込み、再度テスト状態に切り替えることによって、それぞれの保持内容を順次に読み出すスキャンパスによるテストを適用し、ハードマクロ回路に対してはテストバスを用いるテストを適用するといった、個々に確立したテスト方式を組み合わせている。
【0004】
ハ−ドマクロのライブラリは、レイアウトのみならずマクロの論理回路、マクロ単体テスト用パタン等、シミュレーションデータなども含みデータベース化されている。
【0005】
半導体装置上に搭載するハードマクロ回路は、その個数だけでなく、各ハードマクロ回路の端子(以下、ハードマクロ回路端子と称す)も増えてきており、ハードマクロ回路端子に接続する接続線をマルチプレクサ等を経由して半導体装置の入出力端子まで引き出し接続することにより、これらの入出力端子を介してハードマクロ回路をテストする、いわゆるテストバス方式の限界が見えてきている。
【0006】
上述したテストバス方式の一例の構成を示した図5を参照すると、(ハードマクロ回路端子数)≦(半導体装置の端子数)の関係が成立する場合、ハードマクロ回路の入力端子とユーザロジックである組み合わせ回路の出力端子との間に、マルチプレクサ301を挿入している。
【0007】
このマルチプレクサ301それぞれのデータ入力端子の一方を、周辺に配置された組み合わせ回路10の対応する回路の出力端子に接続し、マルチプレクサ301のデータ入力端子の他方を、それぞれ対応するテストバス310に接続する。
【0008】
一方、マルチプレクサ301それぞれの出力端子の出力線がそれぞれ対応する入力端子に接続されるハードマクロ回路2の出力端子を、それぞれ対応するテストバス310に接続することによって、ハードマクロ回路単体のテストが行えるように構成されている。
【0009】
ここで、(ハードマクロ回路端子数)≦(半導体装置の端子数の関係が)が成立しない場合であっても、ハードマクロ回路を半導体装置と見立ててテストするため、半導体装置の入出力端子に割り当てられないハードマクロ回路端子が発生し、半導体装置外部と直接信号のやり取りが行えない入出力端子が存在することになる。
【0010】
そこで、ハードマクロ回路の出力を組み合わせ回路を用いて論理演算する。すなわち、ハードマクロ回路と、組み合わせ回路で実現したテスト用周辺回路とを含めたテストパタンを作成し、このテストパタンを、前述したテストバスを用いて(ハードマクロ回路)+(テスト用周辺回路)とやり取りを行っている。
【0011】
上述したように従来のハードマクロ回路では、ハードマクロ回路と、組み合わせ回路で実現したテスト用周辺回路とを含めたテストパタンを予め作成しておき、テスト時には、作成しておいたテストパタンを前述したテストバスを介して、ハードマクロ回路およびテスト用周辺回路を含めてデータ信号のやり取りを行っている。
【0012】
そのため、例えば、図5およびハードマクロ回路端子数を半導体装置の入出力端子数以下にする組み合わせ回路を追加したハードマクロ回路テスト回路図を示す図6を併せて参照すると、テストバス310のバス配線領域およびマルチプレクサ301の面積オーバーヘッドの他に、さらに図6に示したEXOR回路302を含むテスト用周辺回路の面積オーバーヘッドが発生する。
【0013】
また、他の例として、ハードマクロ回路と組み合わせ回路との境界の論理をバイパスするための迂回回路を有する構成を示した図7を参照すると、ハードマクロ回路2と組み合わせ回路23との境界の論理をハードマクロ回路2の論理に関与しない他のスキャンフリップフロップ回路30と迂回経路311およびEXOR回路302を介して接続するためのマルチプレクサMUX303と組み合わせ回路24とを有する。その配線領域分が、更に追加のオーバーヘッドとなっている。
【0014】
一方、ハードマクロ回路のテスト回路の例が特開平11−101859号公報に記載されている。同公報記載の構成を示した図8を参照すると、機能マクロ回路と、この機能マクロ回路の入力信号をテスト信号MTESTに応答して選択する選択回路S1と、この選択回路S1の一方の入力端子に接続される組み合わせ回路C1と、選択回路S1の他方の入力端子に接続される検査入力端子K2、前段の組み合わせ回路の出力をD入力に受けスキャン入力端子K1からスキャン入力信号をDT入力に受け後段の組み合わせ回路C1に信号を出力するスキャンフリップフロップSFF1と、テスト信号STESTの極性反転信号に応答して機能マクロ回路の出力または他方の入力を選択する選択回路S2と、この選択回路S2の出力を外部へ出力する検査出力K3と、選択回路S2の出力を受ける組み合わせ回路C2と、この組み合わせ回路C2の出力をD入力に受けDT入力にSFF1の負極性出力を受けて正極性の出力を次段の選択回路へ出力するSFF2と、このSFF2の負極性出力をDT入力に受けD入力に前段の組み合わせ回路の出力を受け正極性出力を選択回路S2の他方の入力端へ出力するSFF3と、このSFF3の負極性出力をDT入力に受け前段の組み合わせ回路の出力をD入力に受けるSFF4と、このSFF4の正極性出力を受ける組み合わせ回路C3と、この組み合わせ回路C3の出力を一方の選択入力端に入力し、他方の選択入力端に選択回路S1の出力を受ける選択回路S3と、この選択回路S3の出力をD入力端に受けDT入力にSFF4の負極性出力を受けるとともに自身の正極性出力を次段の選択回路へ出力するSFF5と、このSFF5の負極性出力をDT入力に受けD入力に前段の組み合わせ回路の出力をを受けるとともに自身の負極性出力をスキャン出力端子K4を介して外部へ出力するSFF6と、このSFF6の正極性出力およびテスト信号STESTの論理をとりその出力で選択回路S3を制御するAND回路3ACとで構成する。
【0015】
なお、各スキャンフリップフロップSFFは、T入力端に入力するキャプチャモード信号TEに応答してD入力またはDT入力を選択する。
【0016】
上述したスキャン入力信号またはデータ入力信号を受けるSFF1の出力と機能マクロ回路の入力との間に挿入された組み合わせ回路C1の故障検出は経路K32で行い、機能マクロ回路の出力とSFF2の入力との間に挿入された組み合わせ回路C2の故障検出は経路K34で行い、SFF4とSFF5との間に挿入された組み合わせ回路C3の故障検出は経路K33で行うことができる。
【0017】
そのため、ハードマクロ回路だけでなく設けられた全ての組み合わせ回路の故障検出が行える。
【0018】
【発明が解決しようとする課題】
上述したように従来のハードマクロ回路では、図5,図6および図7で説明したように、テストバス310のバス配線領域、およびマルチプレクサ301の面積オーバーヘッド、図6におけるEXOR回路302のオーバヘッドに加え、迂回経路311、即ちハードマクロ回路と組み合わせ回路の境界の論理をハードマクロ回路の論理に関与しない他のスキャンフリップフロップ回路と接続するための迂回経路311と図7のEXOR回路302とマルチプレクサ303とその配線領域分が、更に追加のオーバーヘッドとなっている。
【0019】
一方、特開平11−101859号公報に記載のハードマクロ回路のテスト回路では、組み合わせ回路の前または後に設ける選択回路およびその接続配線分のオーバヘッドが増加する。
【0020】
本発明の目的は、上述した従来の欠点に鑑みなされたものであり、ハードマクロ回路の周辺回路に設けたマルチプレクサ(選択回路)およびテストバスや迂回回路、EXOR回路等によるチップサイズに対するオーバーヘッドが生じない工夫をした、ハードマクロ回路を内蔵した半導体装置のスキャンパス検査および内蔵したハードマクロ回路の単体検査の両検査が適用できる回路構成を提供することにある。
【0021】
【課題を解決するための手段】
本発明のハードマクロテスト回路は、テスト時にテスト用のスキャンパタンをシリアル入力するスキャンシフト入力端子と、前記スキャンシフト入力端子から与えられた前記スキャンパタンをシフトレジスタ動作で順次転送する第1のスキャンフリップフロップ群と、対応する前記第1のスキャンフリップフロップ群から転送された前記スキャンパタンを入力し組み合わせ回路の論理に従い処理し出力する第1の組み合わせ回路群と、前記第1の組み合わせ回路群で処理された前記スキャンパタンを、前記スキャンパタンによる論理に従って演算処理しその処理結果を出力するハードマクロ回路と、前記ハードマクロ回路で演算処理された前記スキャンパタンを入力し組み合わせ回路の論理に従い処理して出力する第2の組み合わせ回路群と、前記第2の組み合わせ回路群で処理された前記スキャンパタンを入力しシフトレジスタ動作で順次転送する第2のスキャンフリップフロップ群と、前記第2のスキャンフリップフロップ群から転送された前記スキャンパタンを、あらかじめ定めた期待値と比較させるための比較信号として外部にシリアル出力するスキャンシフト出力端子とを備えた回路構成であり、かつ、前記テスト時に前記回路構成に適用される前記スキャンパタンは、前記ハードマクロ回路、前記ハードマクロ回路の入力側に接続される前記第1の組み合わせ回路群、前記ハードマクロ回路の出力側に接続される前記第2の組み合わせ回路群、それぞれの論理も含めてテストする構成を有することを特徴とする。
【0022】
本発明のハードマクロテスト回路の他の特徴は、あらかじめレイアウトデータ、マクロの論理回路、マクロ単体テスト用のテストパタン、シミュレーションデータも含みデータベース化されて登録されたハードマクロ回路と、前記ハードマクロ回路の周辺回路としてあらかじめ内在させたスキャンパス手段のスキャンフリップフロップ群および組み合わせ回路群とを備え、前記スキャンパス手段が、予め準備したテスト用のスキャンパタンにより、スキャンフリップフロップ群と前記ハードマクロ回路との間に配置された前記組み合わせ回路の論理も含めてテストする機能を有することにある。
【0024】
また、テスト用の前記スキャンパタンは、あらかじめセルライブラリに登録された前記ハードマクロ回路の単体テスト用テストパタンを、1パタン目より順次に、前記組み合わせ回路の論理も含めてテストするパタンに変換して生成したテストパタンである。
【0026】
また、通常動作時には入力データをパラレル入力し、テスト時にはシフトレジスタとしてスキャンパス手段を構成しスキャンシフト入力端子からの入力データをシリアル転送する前記第1のスキャンフリップフロップ群とこれら第1のスキャンフリップフロップ群それぞれのパラレル出力を入力する第1の組み合わせ回路群とからなる入力側のユーザロジックと、前記第1の組み合わせ回路群それぞれの出力を入力する前記ハードマクロ回路と、このハードマクロ回路の複数の出力のうち、それぞれ対応する出力を入力する第2の組み合わせ回路群とこれら第2の組み合わせ回路群それぞれの対応する出力をパラレル入力し、かつテスト時には前記スキャンパス手段として前記第1のスキャンフリップフロップ群からシリアル転送された入力データをシリアル入力する前記第2のスキャンフリップフロップ群とからなる出力側のユーザロジックとで構成することもできる。
【0027】
さらにまた、前記通常動作時または前記テスト時のいずれの状態であっても、前記組み合わせ回路と前記ハードマクロ回路との間は、他の回路を介さず、常時直接接続状態とする。
【0028】
本発明のハードマクロテスト回路のテスト方法は、テスト時にテスト用のスキャンパタンをシリアル入力するスキャンシフト入力端子と、前記スキャンシフト入力端子から与えられた前記スキャンパタンをシフトレジスタ動作で順次転送する第1のスキャンフリップフロップ群と、対応する前記第1のスキャンフリップフロップ群から転送された前記スキャンパタンを入力し組み合わせ回路の論理に従い処理し出力する第1の組み合わせ回路群と、前記第1の組み合わせ回路群で処理された前記スキャンパタンを、前記スキャンパタンによる論理に従って演算処理しその処理結果を出力するハードマクロ回路と、前記ハードマクロ回路で演算処理された前記スキャンパタンを入力し組み合わせ回路の論理に従い処理して出力する第2の組み合わせ回路群と、前記第2の組み合わせ回路群で処理された前記スキャンパタンを入力しシフトレジスタ動作で順次転送する第2のスキャンフリップフロップ群と、前記第2のスキャンフリップフロップ群から転送された前記スキャンパタンを、あらかじめ定めた期待値と比較させるための比較信号として外部に出力するスキャンシフト出力端子とを備えたハードマクロテスト回路であり、かつ、前記テスト時に、前記ハードマクロテスト回路が、前記スキャンパタンにより、前記ハードマクロ回路、前記ハードマクロ回路の入力側に接続される前記第1の組み合わせ回路群、前記ハードマクロ回路の出力側に接続される前記第2の組み合わせ回路群それぞれの論理も含めてテストすることにある。
【0029】
本発明のハードマクロテスト回路のテスト方法の他の特徴は、あらかじめレイアウトデータ、マクロの論理回路、マクロ単体テスト用のテストパタン、シミュレーションデータも含みデータベース化されて登録されたハードマクロ回路と、前記ハードマクロ回路の周辺回路としてあらかじめ内在させたスキャンパス手段のスキャンフリップフロップ群および組み合わせ回路群とを備え、前記スキャンパス手段が、予め準備したテスト用のスキャンパタンにより、スキャンフリップフロップ群と前記ハードマクロ回路との間に配置された前記組み合わせ回路の論理も含めてテストすることにある。
【0030】
また、前記ハードマクロ回路の周辺回路に内在させたスキャンパス手段が、前記スキャンフリップフロップと前記ハードマクロ回路との間に配置された組み合わせ回路の論理も含めたテストを行うために、前記ハードマクロ回路の入力条件を満たすようにあらかじめ設定した前記組み合わせ回路群の入力値を前記スキャンフリップフロップの入力とするテストパタンを用いて、前記テストを実行する。
【0031】
さらに、前記スキャンパス手段が、あらかじめセルライブラリに登録された前記ハードマクロ回路の単体テスト用テストパタンを、1パタン目より順次に、前記組み合わせ回路の論理も含めてテストするパタンに変換して生成したテスト用の前記スキャンパタンを用いてテストすることもできる。
【0032】
入力手段と記憶手段と制御手段と表示手段とを備え、あらかじめ前記記憶手段のセルライブラリにデータベースとして登録されているハードマクロ回路の単体テスト用テストパタンを基に、ハードマクロ回路のスキャンテストパタン自動生成および前記テストパタンによる故障シミュレーションを実行する機能を備えたエンジニアリング・ワークステーション(EWS)装置を用い、前記記憶手段から読み出したスキャンパタン自動生成用回路を前記制御手段に入力するとともに、前記制御手段が、
前記スキャンパタン自動生成用回路から単体テスト用テストパタンを選択し、そのパタン番号に対応する前記ハードマクロ回路の入力値を基に入力側の前記スキャンフリップフロップ群それぞれの入力値を逆算して求め、さらに、前記ハードマクロ回路の出力値を基に出力側の前記スキャンフリップフロップ群それぞれの出力値を求める処理を前記パタン番号の終了まで順次に繰り返して前記ハードマクロ回路の単体テスト用テストパタンをスキャンテストパタン自動生成パタンに変換する処理と、変換したスキャンテストパタン自動生成パタンを故障シミュレーションを実行して目標とする故障検出率が得られたかを検証し、未達成の場合はテストポイントとして新たなスキャンフリップフロップを挿入しパタン値を与えて目標とする故障検出率が得られるようにした後、前記スキャンテストパタン自動生成パタンを前記ハードマクロ回路のテスト用のスキャンパタンに変換する処理を実行して、テスト用の前記スキャンパタンを生成することを特徴とする。
【0034】
また、前記ハードマクロ回路の単体テスト用パタンをマクロテスト用スキャン自動生成パタンに変換する処理は、前記制御手段が、
前記スキャンパタン自動生成用回路から前記入力側のスキャンフリップフロップおよび組み合わせ回路と、ハードマクロ回路と、出力側の組み合わせ回路およびスキャンフリップフロップとをそれぞれ切り出すハードマクロ回路のスキャンテストパタン自動生成用のマクロテスト回路生成処理と、予め所定の記憶装置に格納されている前記単体テスト用パタンを呼び出して1パタン目を選択してパタン変換の開始をテストパタンの先頭から行えるように設定する初期設定処理と、
前記初期設定処理で選択されているパタン番号を選択し、前記ハードマクロ回路の入力および出力端に割り当てるパタン選択処理と、
前記パタン選択処理で割り当てられたパタン番号に対応するハードマクロ回路の入力値を、前記入力側の組み合わせ回路を経由して入力側のスキャンフリップフロップの方向に論理を逆算し、前記パタン選択処理で割り当てられた値を実現するためのスキャンフリップフロップに設定すべき値を求めるスキャンテストパタン自動生成用の入力パタン生成処理と、
前記パタン選択処理で割り当てられたパタン番号に対応する、ハードマクロ回路の出力値を出力側の組み合わせ回路を経由して出力側のスキャンフリップフロップの方向に論理を伝播し、前記パタン選択処理で割り当てられた値を実現するための出力側の前記スキャンフリップフロップに出力される値を求めるスキャンテストパタン自動生成用の出力パタン生成処理と、
前記スキャンテストパタン自動生成用の前記入力および出力パタン生成処理において対象とならなかったスキャンフリップフロップの論理値を不定値に設定する対象外スキャンフリップフロップのパタン設定処理と、
入力されたハードマクロ回路の単体テスト用パタンを1パタン目から最終パタンまで順次パタン生成が行われたと判定された時、前記マクロテスト用スキャン自動生成パタンを出力するマクロテスト用スキャン自動生成パタンのパタン出力処理と、
前記パタン選択処理で選択されているパタン番号が、前記ハードマクロ回路の前記単体テスト用パタンの最終パタン番号に到達していれば、前記マクロテスト用スキャン自動生成パタンのパタン出力処理へ移行し、到達していなければパタンカウンタ処理へ移行するパタン終了判定処理と、
ハードマクロ回路の単体テスト用テストパタンのパタン番号を1パタン進めて、次のテストパタンをパタン選択処理で選択できるようにするパタンカウンタ処理と、を実行することができる。
【0035】
さらに、前記スキャンテストパタン自動生成パタンを前記ハードマクロ回路のテスト用のスキャンパタンに変換する処理は、前記制御手段が、
前記スキャンパタン自動生成用回路から入力側のスキャンフリップフロップと入力側の組み合わせ回路とハードマクロ回路とを切り出した回路を生成するハードマクロ回路の入力側テストパタン自動生成用の回路生成処理と、
前段の処理で生成したマクロテスト用スキャン自動生成パタンを用いて、ハードマクロ回路の入力側スキャンテストパタン自動生成用の回路生成処理で生成して切り出した回路の動作を検証するテスト困難度調査処理と、
前記テスト困難度調査処理で検証した処理結果を、予め設定された故障検出率に到達したかを判定し、到達していない場合はテストポイント挿入処理へ移行し、到達した場合はハードマクロ回路の出力側スキャンテストパタン自動生成用の回路生成処理に移行する判定処理と、
前記判定処理における判定結果が予め設定された故障検出率に到達していない原因である未検出故障箇所の内、最も入力側に近い箇所にテストポイントを挿入し、かつ挿入したテストポイントに論理が伝播する値を入力するための端子と、その伝搬する値とを設定するテストポイント挿入処理と、
通常のスキャンテストパタン自動生成に用いるスキャンテストパタン自動生成用回路から、ハードマクロ回路と組み合わせ回路とスキャンフリップフロップとを切り出した回路を生成する前記ハードマクロ回路の出力側スキャンテストパタン自動生成用の回路生成処理と、
前記ハードマクロ回路の入力側スキャンテストパタン自動生成用の回路生成処理から前記ハードマクロ回路の出力側スキャンテストパタン自動生成用の回路生成処理までと同じ処理を出力側のユーザロジックに対して行う処理と、
入力側及び出力側の前記テストポイント挿入処理でそれぞれ挿入されたテストポイントに対し、前記スキャンフリップフロップそれぞれに値を設定出来るように、前記ハードマクロ回路テスト対象外であるスキャンフリップフロップ以外の出力とテストポイントの接続とを前記ハードマクロ回路のテスト対象スキャンフリップフロップとして扱うために、前記テスト対象外スキャンフリップフロップのリストから削除し、かつ、前記マクロテスト用スキャン自動生成パタンに対し、前記テストポイントに論理が伝播する値を設定するテストポイント接続処理と、予め準備されている前記ハードマクロ回路の制御入力に対して、スキャンシフト動作時にそれ以前の入力パタン値を固定する回路を挿入するハードマクロ回路の制御回路挿入処理と、
前記マクロ用スキャン自動生成パタンを当該半導体装置のハードマクロ回路テスト用のスキャンパタンに変換するハードマクロ回路テスト用のスキャンテストパタン自動生成処理と、を実行することもできる。
【0036】
さらにまた、入力側および出力側の前記テストポイント挿入処理は、前記テスト困難度調査処理の処理結果に対し、予め指定された、テストポイント挿入対象外とする指定が有った故障については、未検出故障から削除することもできる。
【0037】
【発明の実施の形態】
まず、本発明の概要を述べる。本発明のハードマクロ回路のテスト回路(以下、ハードマクロテスト回路と称す)を示した図1を参照すると、本発明によるハードマクロテスト回路は、ランダムロジックによる組み合わせ回路やフリップフロップ等の順序回路で構成する周辺回路であるユーザロジック10と、このユーザロジック10のテストのために予めユーザロジック10内に内在させてあるスキャンパス回路のスキャンフリップフロップ(以下、SCAN−FFと称す)30と、組み合わせ回路21および22と、ハードマクロ回路2とを半導体装置(LSI)1に有して構成されている。
【0038】
ここでのSCAN−FF30は、図示しないが、従来の構成と同様に、通常動作時のデータ入力端子と、テスト時にシリアル信号を入力するシリアルデータ入力端子と、テスト時にシリアルデータ入力モードに固定するための制御端子と、クロック端子と、出力端子とを備える。
【0039】
上述したハードマクロテスト回路の構成によれば、前述した図5における従来技術では必要不可欠であったマルチプレクサ301とテストバス310とが削除されていることがわかる。
【0040】
このハードマクロテスト回路は、スキャンパス回路のスキャンテスト動作において、組み合わせ回路21の論理を考慮したハードマクロ回路テスト用のスキャンパタンを、スキャンシフト入力端子SINからSCAN−FF30に設定する。この設定されたハードマクロ回路テスト用のスキャンパタンは組み合わせ回路21を経由してハードマクロ回路2に出力される。
【0041】
ハードマクロ回路2は入力したハードマクロ回路テスト用のスキャンパタンの論理に従って動作し、その結果、ハードマクロ回路2は処理したハードマクロ回路テスト用のスキャンパタンに従い演算動作結果を組み合わせ回路22に出力する。ハードマクロ回路テスト用のスキャンパタンを受けた組み合わせ回路22は、組み合わせ回路の論理に従ってハードマクロ回路テスト用のスキャンパタンを処理し、その処理結果をSCAN−FF30に取り込む。
【0042】
組み合わせ回路の処理結果を受けたSCAN−FF30は、それぞれの保持内容を直列に順次シフトしながらスキャンシフト出力端子SOTから出力する。スキャンシフト出力端子SOTから順次出力される出力信号を、予め準備された組み合わせ回路22の論理を考慮した期待値とを比較して、ハードマクロ回路2と組み合わせ回路21、22の良/不良の判定を行う。
【0043】
つまり、ハードマクロ回路およびこのハードマクロ回路周辺に配置されるスキャンスリップフロップもハードマクロ回路と一体化でスキャン変換して生成されたハードマクロ回路テスト用のスキャンパタンによりテストされる構成を備えていることになり、ここでいう一体化とは、ハードマクロ回路の周辺回路に内在させたスキャンパス回路により、スキャンフリップフロップおよびハードマクロ回路間に配置された組み合わせ回路の論理も含めたテストを行うことを意味する。
【0044】
従って、図5におけるテストバス310、マルチプレクサ301が不要となるので、マクロテスト回路の面積オーバーヘッドを減少させることができる。
【0045】
本発明のハードマクロテスト回路の作成ツールとしては、特に図示はしないが、例えば一般的なエンジニアリング・ワークステーション(EWS:Engineering Workstation)を対象とし、メニューを表示する表示装置と、表示されているメニューについて外部からの選択指示をを受ける入力装置と、データを格納する記憶装置と、入力されたコマンドの処理を実行するコンピュータとを備える。
【0046】
上述したEWSによるハードマクロ回路テスト用のスキャンパタンを生成するフローを示した図3を参照すると、本発明よるハードマクロ回路テスト用のスキャンパタンは、従来技術と同様に事前に準備されているハードマクロ回路の単体テスト用テストパタンを、1パタン目より順次組み合わせ回路21、22を考慮したパタンに変換して、ハードマクロ回路テスト用のスキャンパタンを生成する。
【0047】
従って、組み合わせ回路21、22の論理を考慮したハードマクロ回路テスト用のスキャンパタンを使用するので、図7で説明した迂回経路311、EXOR回路302およびマルチプレクサ303のテスト回路追加を行わなくても、組み合わせ回路21、22の故障検出が可能となる。
【0048】
ハードマクロ回路のテスト回路部分を取り出して示した図2を参照すると、入力側に配置されたSCAN−FF30と出力側に配置されたSCAN−FF30とで挟まれた領域の部分回路にテスト対象となるハードマクロ回路2が含まれている。
【0049】
このハードマクロ回路2の入力端子に組み合わせ回路21の出力端子がそれぞれ接続され、ハードマクロ回路2の出力端子に組み合わせ回路22がそれぞれ接続されている。
【0050】
組み合わせ回路21は、ハードマクロ回路2と入力側のSCAN−FF30、あるいは外部入力端子(図示せず)を境界とするハードマクロ回路2の入力に影響のある組み合わせ回路群で構成されている。組み合わせ回路22は、ハードマクロ回路2と入力側のSCAN−FF30、あるいは外部出力端子(図示せず)を境界とするハードマクロ回路2の出力の影響を受ける組み合わせ回路群で構成されている。
【0051】
スキャンパス回路を構成するSCAN−FF30は、入力側のSCAN−FF30および出力側のSCAN−FF30の他に、それぞれ組み合わせ回路21、22に接続されていないものも含まれている。
【0052】
図1および図2に示したスキャンパス回路自体の構成および動作は、公知のものであり、また本発明とは直接関係しないので、ここでの詳細な説明は省略する。
【0053】
再び図1を参照しながらさらに詳述する。このハードマクロテスト回路は、スキャンパス回路のスキャンテスト動作によってハードマクロ回路2とこのハードマクロ回路2の前段および後段に配置された組み合わせ回路21,22のテストを行うものである。
【0054】
すなわち、このハードマクロテスト回路のテスト方法を説明すると、スキャンパス回路であるフリップフロップ群のSCAN−FF30は、前述したように公知の回路構成および動作を有しており、組み合わせ回路21の論理を考慮したハードマクロ回路テスト用のスキャンパタンをスキャンシフト入力端子SINから順次シリアルに入力することによって、まずハードマクロ回路テスト用のスキャンパタンの論理値が入力側のSCAN−FF30に設定される。
【0055】
入力側のSCAN−FF30にそれぞれ設定されたハードマクロ回路テスト用のスキャンパタンデータは、スキャンクロックに同期して組み合わせ回路21を経由してハードマクロ回路2のそれぞれ対応する入力端子に与えられる。
【0056】
その結果、ハードマクロ回路2のそれぞれの出力端子から出力されたハードマクロ回路テスト用のスキャンパタンデータは、組み合わせ回路22を経由してそれぞれ対応する出力側のSCAN−FF30に取り込まれる。
【0057】
出力側のSCAN−FF30に取り込まれたハードマクロ回路テスト用のスキャンパタンデータは、スキャンクロックに同期して順次シフトされてスキャンシフト出力端子SOTから出力される。
【0058】
スキャンシフト出力端子SOTから順次出力されるハードマクロ回路テスト用のスキャンパタンデータを、予め準備された期待値とそれぞれ比較することによって、組み合わせ回路21とハードマクロ回路2と組み合わせ回路22とからなる経路の良/不良の判定を行うことができる。
【0059】
ここではこの経路の良/不良が判定できればよいのであって、個々の回路の良/不良は区別しない。
【0060】
通常、半導体装置のテストに使用するテストパタンは、どこが不良かを検出できるかではなく、半導体装置として良品か不良品かを検出できるかが問題である。
【0061】
テストの結果、全チップあるいは低歩留まりの時、設計起因による不良か、製造上の問題かを判別する為、解析を必要とすることがあるが、ハードマクロ回路は事前にTEG(ハードマクロの評価用チップ)を作成し、その妥当性を確認している。
【0062】
したがって、設計起因による不良は組合せ回路部分が不良かマクロとのインタフェース部分が不良かのどちらかである。
【0063】
本発明のハードマクロテスト回路の動作は、前述したように公知の技術であるスキャンパス回路の動作に従い、ハードマクロ回路テスト用のスキャンパタンによってスキャンパス回路はシフト動作に設定される。
【0064】
このシフト動作設定により、ハードマクロ回路テスト用のスキャンパタンに記述されているスキャンシフト入力が、ハードマクロ回路テスト用のスキャンパタンに設定された数だけスキャンシフト入力端子SINからシフト入力されて入力側のSCAN−FF30に所定の値が設定される。
【0065】
この時、ハードマクロ回路2の制御入力は、図示しない公知のスキャン制御回路の信号により、ハードマクロ回路の動作を保持するモードに固定されているものとする。
【0066】
次に、ハードマクロ回路テスト用のスキャンパタンによってスキャンパス回路はパラレル動作に設定され、シフト動作で設定された入力側のSCAN−FF30の値が組み合わせ回路21を経由して、ハードマクロ回路2の入力に到達する。
【0067】
この時、ハードマクロ回路2の制御入力は、図示しないスキャン制御回路の出力信号により、ハードマクロ回路の動作を保持するモードを解除され、組み合わせ回路21の出力値によりハードマクロ回路2は論理演算を実行して、その演算結果をハードマクロ回路2の出力から組み合わせ回路22を経由して、出力側のSCAN−FF30に出力する。
【0068】
組み合わせ回路22の出力端に接続されている出力側のSCAN−FF30は、その出力値を取り込む。
【0069】
スキャンパス回路はシフト動作に設定され、スキャンシフト出力端子SOTに入力側のSCAN−FF30の値を順次シフト出力し、ハードマクロ回路テスト用のスキャンパタンに記載されている期待値と比較し、ハードマクロ回路2と組み合わせ回路21、22の良/不良の判定を行う。
【0070】
この時、ハードマクロ回路2の制御入力は、図示しない公知のスキャン制御回路の信号により、ハードマクロ回路の動作を保持するモードに固定されているものとする。
【0071】
この一連の動作を、ハードマクロ回路テスト用のスキャンパタンに記載されているパタン数分だけ、繰り返すことによりテストを実行する。
【0072】
次に、ハードマクロ回路テスト用のSCAN ATGパタン(以下、マクロテスト用スキャン自動生成パタンと称す)生成フローを示した図3を参照しながら、EWSによる故障シミュレーションを実行して、マクロテスト用スキャン自動生成パタンを生成するフローを説明する。
【0073】
なお、自動テストパタン生成(ATG=Automatic Test Pattern Generation)は、論理回路情報から半導体装置のテストパタンを自動生成する。組み合わせ回路ならばテストパタンをほぼ求められるが、順序回路を含む論理回路に対しては難しく、その解決策の一つとして順序回路の全てをテストモード時に一本のシフトレジスタとして動作させている。
【0074】
前述したハードマクロ回路テスト用のスキャンパタン生成フローは、スキャンテストパタン自動生成用のマクロテスト回路生成処理100、初期設定処理101、パタン選択処理102、マクロテスト用スキャン自動生成パタン用の入力パタン生成処理103、マクロテスト用スキャン自動生成パタンの出力パタン生成処理104、対象外SCAN−FF30のパタン設定処理105、マクロテスト用スキャン自動生成パタン用のパタン出力処理106と、パタンEND判定処理107、パタンカウンタ処理108を有する。
【0075】
まず、スキャンテストパタン自動生成用のマクロテスト回路生成処理100は、通常のスキャンテスト用パタン生成に用いるスキャンテストパタン自動生成用回路をこの回路が格納された記憶装置から制御装置に入力して、入力側のSCAN−FF30と、組み合わせ回路21と、組み合わせ回路22と、ハードマクロ回路2と、出力側のSCAN−FF30とを切り出した回路を生成する処理である。
【0076】
初期設定処理101は、ハードマクロ回路の単体テスト用テストパタンが予め準備され格納されている記憶媒体から単体テスト用パタンを呼び出し、そのパタン番号の内、1パタン目を選択する。
【0077】
すなわち、パタン変換の開始をテストパタンの先頭から行えるように設定する処理である。
【0078】
パタン選択処理102は、処理101で選択されているパタン番号を選択し、ハードマクロ回路2の入力および出力に割り当てる処理である。
【0079】
ハードマクロ回路のスキャンテストパタン自動生成用の入力パタン生成処理103は、パタン選択処理102で割り当てられたパタン番号に対応するハードマクロ回路2の入力値を、組み合わせ回路21を経由して、入力側のSCAN−FF30の方向に論理を伝播し、パタン選択処理102で割り当てられた値を実現するための入力側のSCAN−FF30に設定すべき値を求める処理である。
【0080】
ハードマクロ回路用のスキャンテストパタン自動生成用の出力パタン生成処理104は、パタン選択処理102で割り当てられたパタン番号に対応する、ハードマクロ回路2の出力値を組み合わせ回路22を経由して、出力側のSCAN−FF30の方向に論理を伝播し、パタン選択処理102で割り当てられた値によって出力側のSCAN−FF30に出力される値を求める処理である。
【0081】
対象外スキャンフリップフロップのパタン設定処理105は、マクロテスト用スキャン自動生成パタン用の入力パタン生成処理103とマクロテスト用スキャン自動生成パタン用の出力パタン生成処理104において対象とならなかったSCAN−FF30との論理値を不定値に設定する処理である。
【0082】
マクロテスト用スキャン自動生成パタン用のパタン出力処理106は、入力されたハードマクロ回路の単体テスト用テストパタンを1パタン目から最終パタンまで順次パタン生成が行われたと判定された時、マクロテスト用スキャン自動生成パタンを出力する処理である。
【0083】
パタン終了(END)判定処理107は、パタン選択処理102で選択されているパタン番号が、ハードマクロ回路の単体テスト用テストパタンの最終パタン番号に到達していれば処理を終了し、到達していなければパタンカウンタ処理108へ移行する処理である。
【0084】
パタンカウンタ処理108は、ハードマクロ回路の単体テスト用テストパタンのパタン番号を1パタン進める、すなわち、次のテストパタンをパタン選択処理102で選択できるようにする処理である。
【0085】
つまり、ハードマクロ回路の入力側の値を処理103で求め、出力側の値を処理104で求め、処理103、104のパタンをマージして、処理105で対象外のものは不定値を入れて、マクロテスト用スキャン自動生成パタンに順次出力する。
【0086】
処理103のパタンと処理104のパタンをマージしても、同じSCAN−FF30の出力値が重複することはなく、同様に同じSCAN−FF30の入力値が重複することもない。
【0087】
マージ後、対象外のSCAN−FF30には、不定値を与えることにより、1パタン分が生成される。これを順次追加することでマクロテスト用スキャン自動生成パタンが作成できる。
【0088】
次に、ここでも上述したEWSを使用ツールとして、ハードマクロ回路テスト用のスキャンパタン変換フローを示した図4を参照すると、このハードマクロ回路テスト用のスキャンパタン変換フローは、ハードマクロ回路の入力側スキャン自動生成パタン用の回路生成処理120と、テスト困難度調査処理121と、判定処理122と、テストポイント挿入処理123と、ハードマクロ回路の出力側スキャン自動生成パタン用の回路生成処理124と、テスト困難度調査処理125と、判定処理126と、テストポイント挿入処理127と、テストポイント接続処理128と、ハードマクロ回路の制御回路挿入処理129と、ハードマクロ回路テスト用のスキャンテストパタン自動生成処理130とを有している。
【0089】
ハードマクロ回路の入力側スキャン自動生成パタン用の回路生成処理120は、通常のスキャンテスト用パタン生成に用いるスキャンテストパタン自動生成用回路から、入力側のSCAN−FF30と、組み合わせ回路21と、ハードマクロ回路2を切り出した回路を生成する処理である。
【0090】
テスト困難度調査処理121は、図3におけるハードマクロ回路用のスキャン自動生成パタン用のパタン生成フローで生成したハードマクロ回路テスト用のスキャン自動生成パタンを用いて、ハードマクロ回路の入力側スキャン自動生成パタン用の回路生成処理120で生成して切り出した回路の動作を故障シミュレーションにより検証する処理である。
【0091】
故障シミュレーションは論理回路のどの部分の故障が検出できるか否かを判定し、入力のテストベクトルは故障検出率を上げるように工夫する。この故障検出率が低いパタンだとデバイス評価時に良否の判定テストができない。従って、後工程の自動テストパタン生成ができるような設計が要求される。
【0092】
判定処理122は、テスト困難度調査処理121で検証した処理結果を、予め設定された故障検出率に到達したかを判定する。もし、到達していない場合はテストポイント挿入処理123へ移行し、到達した場合はハードマクロ回路の出力側スキャン自動生成パタン用の回路生成処理124に移行する処理である。
【0093】
テストポイント挿入処理123は、判定処理122における判定結果が予め設定された故障検出率に到達していない原因である未検出故障箇所の内、例えば、最も入力側に近い箇所にテストポイントを挿入し、かつ挿入したテストポイントに論理が伝播する値を入力するための端子と、その伝搬する値を設定する処理である。 尚、テストポイント挿入個所および挿入回路の選定については、図示しない公知の技術がそのまま適用できる。
【0094】
ハードマクロ回路の出力側スキャン自動生成パタン用の回路生成処理124は、通常のスキャンテスト用パタン生成に用いるスキャンテストパタン自動生成用回路から、ハードマクロ回路2と、組み合わせ回路22と、出力側のSCAN−FF30とを切り出した回路を生成する処理である。
【0095】
テスト困難度調査処理125は、図3におけるハードマクロ回路テスト用のスキャンパタン生成フローで生成したマクロテスト用スキャン自動生成パタンを用いて、ハードマクロ回路の出力側スキャン自動生成パタン用の回路生成処理124で生成して切り出した回路の動作を検証する処理である。
【0096】
判定処理126は、テスト困難度調査処理125における動作検証処理結果を、予め設定された故障検出率に到達したかを判定する。もし到達していない場合は、テストポイント挿入処理127へ移行し、到達した場合はテストポイント接続処理128に移行する処理である。
【0097】
テストポイント挿入処理127は、判定結果が到達していない原因である未検出故障箇所の内、例えば、最も入力に近い箇所にテストポイントを挿入し、かつ挿入したテストポイントに論理が伝播する値を入力するための端子と、その伝搬する値を設定する処理である。
【0098】
テストポイント接続処理128は、テストポイント挿入処理123および127で挿入されたテストポイントに、入力側のSCAN−FF30と出力側のSCAN−FF30とに値を設定出来るように、ハードマクロ回路テスト対象外のSCAN−FF30以外の出力とテストポイントの接続とハードマクロ回路のテスト対象SCAN−FF30として扱うように、ハードマクロ回路のテスト対象外SCAN−FF30のリストから削除し、かつ、マクロテスト用スキャン自動生成パタンに対してテストポイントに論理が伝播する値を設定する処理である。
【0099】
ハードマクロ回路の制御回路挿入処理129は、予め準備されているハードマクロ回路2の制御入力に対して、スキャンシフト動作時にそれ以前の入力パタン値を固定する(把持する)回路を挿入する処理である。
【0100】
ハードマクロ回路テスト用のスキャンテストパタン自動生成処理130は、ハードマクロ回路テスト用のスキャンテストパタン自動生成パタンを当該半導体装置(本発明のマクロテスト回路を搭載した)のハードマクロ回路テスト用のスキャンパタンに変換する処理である。
【0101】
すなわち、SCAN−FF30に設定する論理値、およびSCAN−FF30が受け取る論理値を表現した図3で示した処理108で得られたパタンを、図4における処理120、129において、故障検出率向上のために挿入したテストポイントを考慮したマクロテスト用スキャン自動生成パタンに修正される。
【0102】
この部分は、スキャンパステストのパタン生成における、基本的な原理に相当する所定の手順である。
【0103】
すなわち、このマクロテスト用スキャン自動生成パタンは、各SCAN−FF30、および外部端子の値が表現されているが、実際の半導体装置ではスキャンパステストの原理上、SCAN−FF30に直接半導体装置外部から値を設定できない。
【0104】
したがって、スキャンシフト出力SOTに近いSCAN−FF30に設定する論理値から順にスキャンシフト入力SINに対して入力できるようなパタンに変換し、同様にスキャンシフト出力SOTには、スキャンシフト出力SOTに近いSCAN−FF30が受け取る論理値を期待値として、比較照合できるようにしたパタンに変換する。
【0105】
上述した図4のテストポイント挿入処理123および127は、テスト困難度調査処理121および125の処理結果に対し、予め指定された、テストポイント挿入対象外とする指定が有った故障については、未検出故障から削除することも可能である。
【0106】
例えば、組み合わせ回路21、22では、実現出来ない論理の組み合わせがハードマクロ回路の単体テスト用パタンに含まれていた場合、この半導体装置では使用しない機能であるため、削除することにより、テストポイントの挿入量を減らすこともできる。
【0107】
さらに、図4のハードマクロ回路テスト用のスキャンパタン変換フローにおいて、テストポイントの挿入が行われるが、テストポイントとは、例えば、2入力ORゲートを回路に挿入し、一方の入力と出力を、挿入した箇所のユーザロジックに接続し、他方の入力をテスト信号で、通常は“0”、挿入した箇所の論理を強制的に“1”にしたい時に、“1”を入力する。
【0108】
なお、挿入箇所に用いられる回路の構成、および動作は、公知であり、また本発明とは直接関係しないので、その詳細は省略する。
【0109】
上述したように、ハードマクロ回路テストにおいて、テストバスを用いず、予めユーザロジック10のテストのために内在しているスキャンパス回路を使用するため、図5に示すテストバス310の配線領域、およびマルチプレクサ301の面積オーバーヘッドが削減できるという効果が有る。
【0110】
更に、ハードマクロ回路の端子数が半導体装置の端子数を超えた場合に発生する問題、すなわち、(ハードマクロ回路の端子数)≦(半導体装置の端子数)が成立しない場合、ハードマクロ回路を半導体装置と見立ててテストするため、半導体装置の端子に割り当てられないハードマクロ回路の端子が発生し、半導体装置の外部にハードマクロ回路の端子を引き出すということができないことから、半導体装置の外部に引き出すハードマクロ回路の端子数を削減するために、組み合わせ回路を追加してテストを行うという問題が発生しない、という効果が有る。
【0111】
しかも、SCAN−FF30とハードマクロ回路の入力、および出力の間にある組み合わせ回路のテストは、この組み合わせ回路とハードマクロ回路を含めた回路をテスト対象としたハードマクロ回路テスト用のスキャンパタンを用いるため、図7に示す迂回経路311、すなわち、ハードマクロ回路と組み合わせ回路の境界の論理をハードマクロ回路の論理に関与しない、他のSCAN−FF30と接続するためのマルチプレクサ303とその配線領域を追加すること無く、組み合わせ回路の故障検出も可能である。
【0112】
【発明の効果】
上述したように、本発明のハードマクロテスト回路は、組み合わせ回路の論理を考慮したハードマクロ回路テスト用のスキャンパタンを、スキャンシフト入力端子から入力側のスキャンフリップフロップに設定するとともにスキャンフリップフロップの出力を入力側の組み合わせ回路を経由してハードマクロ回路に入力し、ハードマクロ回路の演算結果をさらに出力側の組み合わせ回路を経由して出力側のスキャンフリップフロップに取り込み、そのスキャンフリップフロップ出力をスキャンシフト出力端子においてあらかじめ定めた期待値と比較させるための比較信号として出力するので、テストバスを用いず、予めユーザロジックのテストのために内在しているスキャンパス回路を使用するため、テストバスの配線領域、およびマルチプレクサの面積オーバーヘッドが削減できるという効果が有る。
【0113】
更に、ハードマクロ回路端子数が半導体装置の端子数を超えた場合、すなわち、ハードマクロ回路端子数≦半導体装置の端子数が成立しない場合、ハードマクロ回路を半導体装置と見立ててテストするので、半導体装置の端子に割り当てられないハードマクロ回路端子が発生し、半導体装置外部にハードマクロ回路の端子を引き出すということがある。したがって、半導体装置外部に引き出すハードマクロ回路の端子数を削減するために行っていた、組み合わせ回路を追加してテストを行う必要がない、という効果が有る。
【0114】
しかも、SCAN−FF30とハードマクロ回路の入力、および出力の間にある組み合わせ回路のテストは、この組み合わせ回路とハードマクロ回路を含めた回路をテスト対象としたハードマクロ回路テスト用のスキャンパタンを用いるので、従来必要とした迂回経路、すなわちハードマクロ回路と組み合わせ回路の境界の論理をハードマクロ回路の論理に関与しない、他のSCAN−FF30と接続するためのマルチプレクサとその配線領域を追加すること無く、組み合わせ回路の故障検出も可能である。
【図面の簡単な説明】
【図1】本発明のハードマクロテスト回路を搭載した半導体装置の概略の構成図である。
【図2】本発明のハードマクロテスト回路の構成図である。
【図3】本発明のハードマクロ回路テスト用のスキャンパタン生成フローである。
【図4】本発明のハードマクロ回路テスト用のスキャンパタン変換フローである。
【図5】従来技術のテストバス方式による半導体装置の構成図である。
【図6】従来技術のハードマクロ回路端子数を半導体装置の端子数以下にする組み合わせ回路を追加したハードマクロテスト回の構成図である。
【図7】従来技術のハードマクロ回路およびSCAN−FF間の組み合わせ回路の故障検出を可能とする迂回経路を追加したハードマクロテスト回路の構成図である。
【図8】従来のハードマクロテスト回路の他の例の回路図である。
【符号の説明】
SIN スキャンシフト入力
SOT スキャンシフト出力
1 半導体装置
2 ハードマクロ回路
10 ユーザロジック
21、22、23、24 組み合わせ回路
30 SCAN−FF
301、303 マルチプレクサ
302 EXOR回路
310 テストバス
311 迂回経路
Claims (13)
- テスト時にテスト用のスキャンパタンをシリアル入力するスキャンシフト入力端子と、前記スキャンシフト入力端子から与えられた前記スキャンパタンをシフトレジスタ動作で順次転送する第1のスキャンフリップフロップ群と、対応する前記第1のスキャンフリップフロップ群から転送された前記スキャンパタンを入力し組み合わせ回路の論理に従い処理し出力する第1の組み合わせ回路群と、前記第1の組み合わせ回路群で処理された前記スキャンパタンを、前記スキャンパタンによる論理に従って演算処理しその処理結果を出力するハードマクロ回路と、前記ハードマクロ回路で演算処理された前記スキャンパタンを入力し組み合わせ回路の論理に従い処理して出力する第2の組み合わせ回路群と、前記第2の組み合わせ回路群で処理された前記スキャンパタンを入力しシフトレジスタ動作で順次転送する第2のスキャンフリップフロップ群と、前記第2のスキャンフリップフロップ群から転送された前記スキャンパタンを、あらかじめ定めた期待値と比較させるための比較信号として外部にシリアル出力するスキャンシフト出力端子とを備えた回路構成であり、かつ、前記テスト時に前記回路構成に適用される前記スキャンパタンは、前記ハードマクロ回路、前記ハードマクロ回路の入力側に接続される前記第1の組み合わせ回路群、前記ハードマクロ回路の出力側に接続される前記第2の組み合わせ回路群、それぞれの論理も含めてテストする構成を有することを特徴とするハードマクロテスト回路。
- あらかじめレイアウトデータ、マクロの論理回路、マクロ単体テスト用のテストパタン、シミュレーションデータも含みデータベース化されて登録されたハードマクロ回路と、前記ハードマクロ回路の周辺回路としてあらかじめ内在させたスキャンパス手段のスキャンフリップフロップ群および組み合わせ回路群とを備え、前記スキャンパス手段が、あらかじめ準備したテスト用のスキャンパタンにより、スキャンフリップフロップ群と前記ハードマクロ回路との間に配置された前記組み合わせ回路の論理も含めてテストする機能を有することを特徴とするハードマクロテスト回路。
- テスト用の前記スキャンパタンは、あらかじめセルライブラリに登録された前記ハードマクロ回路の単体テスト用テストパタンを、1パタン 目より順次に、前記組み合わせ回路の論理も含めてテストするパタンに変換して生成したテストパタンである請求項1または2記載のハードマクロテスト回路。
- 通常動作時には入力データをパラレル入力し、テスト時にはシフトレジスタとしてスキャンパス手段を構成しスキャンシフト入力端子からの入力データをシリアル転送する前記第1のスキャンフリップフロップ群とこれら第1のスキャンフリップフロップ群それぞれのパラレル出力を入力する第1の組み合わせ回路群とからなる入力側のユーザロジックと、前記第1の組み合わせ回路群それぞれの出力を入力する前記ハードマクロ回路と、このハードマクロ回路の複数の出力のうち、それぞれ対応する出力を入力する第2の組み合わせ回路群とこれら第2の組み合わせ回路群それぞれの対応する出力をパラレル入力し、かつテスト時には前記スキャンパス手段として前記第1のスキャンフリップフロップ群からシリアル転送された入力データをシリアル入力する前記第2のスキャンフリップフロップ群とからなる出力側のユーザロジックとで構成する請求項1、または2記載のハードマクロテスト回路。
- 前記通常動作時または前記テスト時のいずれの状態であっても、前記組み合わせ回路と前記ハードマクロ回路との間は、他の回路を介さず、常時直接接続状態とする請求項4記載のハードマクロテスト回路。
- テスト時にテスト用のスキャンパタンをシリアル入力するスキャンシフト入力端子と、前記スキャンシフト入力端子から与えられた前記スキャンパタンをシフトレジスタ動作で順次転送する第1のスキャンフリップフロップ群と、対応する前記第1のスキャンフリップフロップ群から転送された前記スキャンパタンを入力し組み合わせ回路の論理に従い処理し出力する第1の組み合わせ回路群と、前記第1の組み合わせ回路群で処理された前記スキャンパタンを、前記スキャンパタンによる論理に従って演算処理しその処理結果を出力するハードマクロ回路と、前記ハードマクロ回路で演算処理された前記スキャンパタンを入力し組み合わせ回路の論理に従い処理して出力する第2の組み合わせ回路群と、前記第2の組み合わせ回路群で処理された前記スキャンパタンを入力しシフトレジスタ動作で順次転送する第2のスキャンフリップフロップ群と、前記第2のスキャンフリップフロップ群から転送された前記スキャンパタンを、あらかじめ定めた期待値と比較させるための比較信号として外部に出力するスキャンシフト出力端子とを備えたハードマクロテスト回路であり、かつ、前記テスト時に、前記ハードマクロテスト回路が、前記スキャンパタンにより、前記ハードマクロ回路、前記ハードマクロ回路の入力側に接続される前記第1の組み合わせ回路群、前記ハードマクロ回路の出力側に接続される前記第2の組み合わせ回路群それぞれの論理も含めてテストすることを特徴とするハードマクロテスト回路のテスト方法。
- あらかじめレイアウトデータ、マクロの論理回路、マクロ単体テスト用のテストパタン、シミュレーションデータも含みデータベース化されて登録されたハードマクロ回路と、前記ハードマクロ回路の周辺回路としてあらかじめ内在させたスキャンパス手段のスキャンフリップフロップ群および組み合わせ回路群とを備え、前記スキャンパス手段が、予め準備したテスト用のスキャンパタンにより、スキャンフリップフロップ群と前記ハードマクロ回路との間に配置された前記組み合わせ回路の論理も含めてテストすることを特徴とするハードマクロテスト回路のテスト方法。
- 前記ハードマクロ回路の周辺回路に内在させたスキャンパス手段が、前記スキャンフリップフロップと前記ハードマクロ回路との間に配置された組み合わせ回路の論理も含めたテストを行うために、前記ハードマクロ回路の入力条件を満たすようにあらかじめ設定した前記組み合わせ回路群の入力値を前記スキャンフリップフロップの入力とするテストパタンを用いて、前記テストを実行する請求項6記載のハードマクロテスト回路のテスト方法。
- 前記スキャンパス手段が、あらかじめセルライブラリに登録された前記ハードマクロ回路の単体テスト用テストパタンを、1パタン目より順次に、前記組み合わせ回路の論理も含めてテストするパタンに変換して生成したテスト用の前記スキャンパタンを用いてテストする請求項7記載のハードマクロテスト回路のテスト方法。
- 入力手段と記憶手段と制御手段と表示手段とを備え、あらかじめ前記記憶手段のセルライブラリにデータベースとして登録されているハードマクロ回路の単体テスト用テストパタンを基に、ハードマクロ回路のスキャンテストパタン自動生成および前記テストパタンによる故障シミュレーションを実行する機能を備えたエンジニアリング・ワークステーション(EWS)装置を用い、前記記憶手段から読み出したスキャンパタン自動生成用回路を前記制御手段に入力するとともに、前記制御手段が、
前記スキャンパタン自動生成用回路から単体テスト用テストパタンを選択し、そのパタン番号に対応する前記ハードマクロ回路の入力値を基に入力側の前記スキャンフリップフロップ群それぞれの入力値を逆算して求め、さらに、前記ハードマクロ回路の出力値を基に出力側の前記スキャンフリップフロップ群それぞれの出力値を求める処理を前記パタン番号の終了まで順次に繰り返して前記ハードマクロ回路の単体テスト用テストパタンをスキャンテストパタン自動生成パタンに変換する処理と、変換したスキャンテストパタン自動生成パタンを故障シミュレーションを実行して目標とする故障検出率が得られたかを検証し、未達成の場合はテストポイントとして新たなスキャンフリップフロップを挿入しパタン値を与えて目標とする故障検出率が得られるようにした後、前記スキャンテストパタン自動生成パタンを前記ハードマクロ回路のテスト用のスキャンパタンに変換する処理を実行して、テスト用の前記スキャンパタンを生成することを特徴とするハードマクロテスト回路のテストパタン生成方法。 - 前記ハードマクロ回路の単体テスト用パタンをマクロテスト用スキャン自動生成パタンに変換する処理は、前記制御手段が、
前記スキャンパタン自動生成用回路から前記入力側のスキャンフリップフロップおよび組み合わせ回路と、ハードマクロ回路と、出力側の組み合わせ回路およびスキャンフリップフロップとをそれぞれ切り出すハードマクロ回路のスキャンテストパタン自動生成用のマクロテスト回路生成処理と、予め所定の記憶装置に格納されている前記単体テスト用パタンを呼び出して1パタン目を選択してパタン変換の開始をテストパタンの先頭から行えるように設定する初期設定処理と、
前記初期設定処理で選択されているパタン番号を選択し、前記ハードマクロ回路の入力および出力端に割り当てるパタン選択処理と、
前記パタン選択処理で割り当てられたパタン番号に対応するハードマクロ回路の入力値を、前記入力側の組み合わせ回路を経由して入力側のスキャンフリップフロップの方向に論理を逆算し、前記パタン選択処理で割り当てられた値を実現するためのスキャンフリップフロップに設定すべき値を求めるスキャンテストパタン自動生成用の入力パタン生成処理と、
前記パタン選択処理で割り当てられたパタン番号に対応する、ハードマクロ回路の出力値を出力側の組み合わせ回路を経由して出力側のスキャンフリップフロップの方向に論理を伝播し、前記パタン選択処理で割り当てられた値を実現するための出力側の前記スキャンフリップフロップに出力される値を求めるスキャンテストパタン自動生成用の出力パタン生成処理と、
前記スキャンテストパタン自動生成用の前記入力および出力パタン生成処理において対象とならなかったスキャンフリップフロップの論理値を不定値に設定する対象外スキャンフリップフロップのパタン設定処理と、
入力されたハードマクロ回路の単体テスト用パタンを1パタン目から最終パタンまで順次パタン生成が行われたと判定された時、前記マクロテスト用スキャン自動生成パタンを出力するマクロテスト用スキャン自動生成パタンのパタン出力処理と、
前記パタン選択処理で選択されているパタン番号が、前記ハードマクロ回路の前記単体テスト用パタンの最終パタン番号に到達していれば、前記マクロテスト用スキャン自動生成パタンのパタン出力処理へ移行し、到達していなければパタンカウンタ処理へ移行するパタン終了判定処理と、
ハードマクロ回路の単体テスト用テストパタンのパタン番号を1パタン進めて、次のテストパタンをパタン選択処理で選択できるようにするパタンカウンタ処理と、を実行する請求項10記載のハードマクロテスト回路のテストパタン生成方法。 - 前記スキャンテストパタン自動生成パタンを前記ハードマクロ回路のテスト用のスキャンパタンに変換する処理は、前記制御手段が、
前記スキャンパタン自動生成用回路から入力側のスキャンフリップフロップと入力側の組み合わせ回路とハードマクロ回路とを切り出した回路を生成するハードマクロ回路の入力側テストパタン自動生成用の回路生成処理と、
前段の処理で生成したマクロテスト用スキャン自動生成パタンを用いて、ハードマクロ回路の入力側スキャンテストパタン自動生成用の回路生成処理で生成して切り出した回路の動作を検証するテスト困難度調査処理と、
前記テスト困難度調査処理で検証した処理結果を、予め設定された故障検出率に到達したかを判定し、到達していない場合はテストポイント挿入処理へ移行し、到達した場合はハードマクロ回路の出力側スキャンテストパタン自動生成用の回路生成処理に移行する判定処理と、
前記判定処理における判定結果が予め設定された故障検出率に到達していない原因である未検出故障箇所の内、最も入力側に近い箇所にテストポイントを挿入し、かつ挿入したテストポイントに論理が伝播する値を入力するための端子と、その伝搬する値とを設定するテストポイント挿入処理と、
通常のスキャンテストパタン自動生成に用いるスキャンテストパタン自動生成用回路から、ハードマクロ回路と組み合わせ回路とスキャンフリップフロップとを切り出した回路を生成する前記ハードマクロ回路の出力側スキャンテストパタン自動生成用の回路生成処理と、
前記ハードマクロ回路の入力側スキャンテストパタン自動生成用の回路生成処理から前記ハードマクロ回路の出力側スキャンテストパタン自動生成用の回路生成処理までと同じ処理を出力側のユーザロジックに対して行う処理と、
入力側及び出力側の前記テストポイント挿入処理でそれぞれ挿入されたテストポイントに対し、前記スキャンフリップフロップそれぞれに値を設定出来るように、前記ハードマクロ回路テスト対象外であるスキャンフリップフロップ以外の出力とテストポイントの接続とを前記ハードマクロ回路のテスト対象スキャンフリップフロップとして扱うために、前記テスト対象外スキャンフリップフロップのリストから削除し、かつ、前記マクロテスト用スキャン自動生成パタンに対し、前記テストポイントに論理が伝播する値を設定するテストポイント接続処理と、予め準備されている前記ハードマクロ回路の制御入力に対して、スキャンシフト動作時にそれ以前の入力パタン値を固定する回路を挿入するハードマクロ回路の制御回路挿入処理と、
前記マクロ用スキャン自動生成パタンを当該半導体装置のハードマクロ回路テスト用のスキャンパタンに変換するハードマクロ回路テスト用のスキャンテストパタン自動生成処理と、を実行する請求項10記載のハードマクロテスト回路のテストパタン生成方法。 - 入力側および出力側の前記テストポイント挿入処理は、前記テスト困難度調査処理の処理結果に対し、予め指定された、テストポイント挿入対象外とする指定が有った故障については、未検出故障から削除する請求項12記載のハードマクロテスト回路のテストパタン生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000020411A JP3544912B2 (ja) | 2000-01-28 | 2000-01-28 | ハードマクロテスト回路、そのテスト方法およびテストパタン生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000020411A JP3544912B2 (ja) | 2000-01-28 | 2000-01-28 | ハードマクロテスト回路、そのテスト方法およびテストパタン生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001208810A JP2001208810A (ja) | 2001-08-03 |
JP3544912B2 true JP3544912B2 (ja) | 2004-07-21 |
Family
ID=18546978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000020411A Expired - Fee Related JP3544912B2 (ja) | 2000-01-28 | 2000-01-28 | ハードマクロテスト回路、そのテスト方法およびテストパタン生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3544912B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5099869B2 (ja) | 2005-02-23 | 2012-12-19 | ルネサスエレクトロニクス株式会社 | 半導体集積回路および半導体集積回路のテスト方法 |
JP5899781B2 (ja) * | 2011-10-11 | 2016-04-06 | 富士通株式会社 | 設計支援装置、設計支援方法および設計支援プログラム |
-
2000
- 2000-01-28 JP JP2000020411A patent/JP3544912B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001208810A (ja) | 2001-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0195164B1 (en) | Integrated circuits | |
EP0730232B1 (en) | Apparatus for generating test pattern for sequential logic circuit of integrated circuit and method thereof | |
JP3749541B2 (ja) | 集積回路試験装置及び試験法 | |
JPH1049567A (ja) | 回路設計の可試験性を向上させる方法 | |
US8738978B2 (en) | Efficient wrapper cell design for scan testing of integrated | |
Ghosh-Dastidar et al. | Adaptive techniques for improving delay fault diagnosis | |
GB2318876A (en) | Method for testing electronic circuits | |
US6370662B2 (en) | Modifying circuit designs running from both edges of clock to run from positive edge | |
JP3544912B2 (ja) | ハードマクロテスト回路、そのテスト方法およびテストパタン生成方法 | |
JP2001042012A (ja) | テストパターン生成装置、ループ切断方法、伝播経路切断方法、遅延故障検出方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3561660B2 (ja) | 半導体集積回路 | |
JP2003006253A (ja) | ロジック回路設計方法およびその方法をコンピュータに実行させるプログラム | |
JP4549701B2 (ja) | 半導体回路装置及び半導体回路に関するスキャンテスト方法 | |
JP3190364B2 (ja) | 検査方法及び回路 | |
JP3003781B2 (ja) | 検査容易化設計方法、バスエラー回避設計方法及び集積回路 | |
JP2989586B2 (ja) | 半導体集積回路及びその設計方法並びに半導体集積回路の設計プログラムを記録した記録媒体 | |
JPH05264656A (ja) | 回路機能検査処理方式 | |
US7051254B2 (en) | Semiconductor integrated circuit device and method for designing a semiconductor integrated circuit device | |
JP4610919B2 (ja) | 半導体集積回路装置 | |
JP4020731B2 (ja) | 半導体集積回路の故障診断方法 | |
US20040030976A1 (en) | Partial BIST with recording of the connections between individual blocks | |
Chang et al. | Functional scan chain testing | |
Hosokawa et al. | Novel DFT strategies using full/partial scan designs and test point insertion to reduce test application time | |
Mathew et al. | Combining multiple DFT schemes with test generation | |
JP2003172771A (ja) | システムlsiのテストパターン作成方法,テストパターン作成装置,テスト方法及びテスト回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040121 |
|
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: 20040316 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040406 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080416 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100416 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110416 Year of fee payment: 7 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110416 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120416 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120416 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |