JPWO2007013306A1 - 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム - Google Patents

半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム Download PDF

Info

Publication number
JPWO2007013306A1
JPWO2007013306A1 JP2007528409A JP2007528409A JPWO2007013306A1 JP WO2007013306 A1 JPWO2007013306 A1 JP WO2007013306A1 JP 2007528409 A JP2007528409 A JP 2007528409A JP 2007528409 A JP2007528409 A JP 2007528409A JP WO2007013306 A1 JPWO2007013306 A1 JP WO2007013306A1
Authority
JP
Japan
Prior art keywords
bit
permutation
justification
type
pseudo external
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.)
Granted
Application number
JP2007528409A
Other languages
English (en)
Other versions
JP4752030B2 (ja
Inventor
暁青 温
暁青 温
誠司 梶原
誠司 梶原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyushu Institute of Technology NUC
Original Assignee
Kyushu Institute of Technology NUC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kyushu Institute of Technology NUC filed Critical Kyushu Institute of Technology NUC
Priority to JP2007528409A priority Critical patent/JP4752030B2/ja
Publication of JPWO2007013306A1 publication Critical patent/JPWO2007013306A1/ja
Application granted granted Critical
Publication of JP4752030B2 publication Critical patent/JP4752030B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

各ビット順列のXタイプを判別する(ステップ301)。Xタイプ1つまり未確定ビットを含まないケース以外のXタイプが存在するときには、キャプチャクロックパルスC1,C2に対する総キャプチャ状態変化数TECTA1,TECTA2を計算する(ステップ303)。この結果、TECTA1>TECTA2のときには、キャプチャクロックパルスC1についてXタイプを選択し、第1のX埋込み処理を行う(ステップ305)。他方、TECTA1≦TECTA2のときには、キャプチャクロックパルスC2についてXタイプを選択し、第2のX埋込み処理を行う(ステップ306)。

Description

本発明は遅延故障を対象とする実速度スキャンテストにおける半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラムに関する。
半導体論理回路装置は、設計、製造、テストの三段階を経て出荷される。ここで、テストとは、製造された半導体論理回路装置に対してテストベクトルを印加し、半導体論理回路装置からテスト応答を観測し、このテスト応答を期待テスト応答と比較して良品、不良品の判別を行う。その良品率は歩留りと呼ばれ、半導体論理回路装置の製造コストを大きく左右する。
一般に、半導体論理回路装置(主に順序回路)は、ANDゲート、NANDゲート、ORゲート、NORゲート等の論理素子からなる組合せ部分と、組合せ部分の内部状態を記憶するフリップフロップ群とよりなる。この場合、組合せ部分は、外部入力線PI、フリップフロップ群の出力線である擬似外部入力線PPI、外部出力線PO、及びフリップフロップ群の入力線である擬似外部出力線PPOを有する。つまり、組合せ部分への入力は、外部入力線より直接与えられるものと、擬似外部入力線を介して与えられるものとからなる。また、組合せ部分からの出力は、外部出力線に直接現れるものと、擬似外部出力線に現れるものとからなる。
半導体論理回路装置の組合せ部分をテストするために、組合せ部分の外部入力線及び擬似外部入力線から所定のテストベクトルを印加し、組合せ部分の外部出力線及び擬似外部出力線からテスト応答を観測する必要がある。1つのテストベクトルは、外部入力線に対応するビットと擬似外部入力線に対応するビットとからなる。また、1つのテスト応答は、外部出力線に対応するビットと擬似外部出力線に対応するビットとからなる。
しかし、半導体論理回路装置のフリップフロップ群の出力線(擬似外部入力線)及び入力線(擬似外部出力線)は一般に外部より直接アクセスできない。従って、組合せ部分をテストするためには、擬似外部入力線の可制御性及び擬似外部出力線の可観測性に問題がある。
上述の組合せ部分のテストにおける可制御性及び可観測性の問題を解決する主な手法として、スキャン設計がある。スキャン設計とは、フリップフロップ(FF)をスキャンフリップフロップ(スキャンFF)に置き換えた上で、それらを用いて1本または複数本のスキャンチェーンを形成することである。スキャンフリップフロップの動作はスキャンイネーブル信号SEで制御される。例えば、SE=0のとき、通常のフリップフロップと同一動作をする。つまり、クロックパルスが与えられると、組合せ部分の出力によりスキャンフリップフロップの出力値が更新される。他方、SE=1のとき、同一スキャンチェーンにある複数のスキャンフリップフロップが1つのシフトレジスタを形成する。つまり、クロックパルスが与えられると、外部から新しい値がスキャンフリップフロップに逐次シフトインされると同時に、スキャンフリップフロップに現存する値が外部へ逐次シフトアウトされる。尚、一般に、同一スキャンチェーンにあるスキャンフリップフロップは同一スキャンイネーブル信号SEを共有するが、異なるスキャンチェーンにあるスキャンフリップフロップのスキャンイネーブル信号SEは同一の場合もあれば異なる場合もある。
図14はスキャン設計された半導体論理回路装置の組合せ部分の遅延故障を対象とする
実速度スキャンテストを説明するための回路図である。図14において、1は半導体論理回路装置、2はテスタである。
図14の半導体論理回路装置1は、ANDゲート、ORゲート、NANDゲート、NORゲート等の論理素子よりなる組合せ部分11、スキャンフリップフロップ群12、高速の実速クロック信号RCLKを発生するフェイズロックドループ(PLL)回路13、及び実速クロック信号RCLKあるいはテスタ2から供給される低速のシフトクロック信号SCLKを選択してスキャンフリップフロップ群12に供給するマルチプレクサ14よりなる。尚、テスタ2からのクロックイネーブル信号CEはPLL回路13からのキャプチャパルスの発生を制御するためのものである。
組合せ部分11は、外部入力線PI、スキャンフリップフロップ群12の出力線である擬似外部入力線PPI、外部出力線PO、及びスキャンフリップフロップ群12の入力線である擬似外部出力線PPOを有する。尚、外部入力線PIのビット数と外部出力線POのビット数とは必ずしも同数ではないが、擬似外部入力線PPIのビット数と擬似外部出力線PPOのビット数とは必ず同数である。
図15は図14の実速度スキャンテストを説明するためのタイミング図である。実速度スキャンテストはシフト操作と2回のキャプチャ操作(以下、二重キャプチャ操作とする)を繰り返すことによって行われる。シフト操作は、スキャンイネーブル信号SEが“1”にされているシフトモードで行われる。シフトモードにおいては、低速の1つまたは複数のシフトクロックパルスS,…,Sが与えられ、外部から1つまたは複数の新しい値がスキャンチェーン内のスキャンフリップフロップ群12にシフトインされる。また同時に、そのスキャンチェーン内のスキャンフリップフロップ群12に現存の1つまたは複数の値が外部へシフトアウトされる。尚、Lの最大値はスキャンチェーンを形成するスキャンスキャンフリップフロップ12の数である。また、シフトクロックパルスは低速であっても問題がない。他方、キャプチャ操作は、スキャンイネーブル信号SEが“0”にされているキャプチャモードで行われる。キャプチャモードにおいては、クロックイネーブル信号CEがイネーブル(CE=“0”)され、CEの立下がりに応答して図14のPLL回路13から、1つのスキャンチェーンにあるスキャンフリップフロップ群12に2つのクロックパルスC,Cが与えられ、組合せ部分11の擬似外部出力線PPOの値がすべてのスキャンフリップフロップ群12に取り込まれる。これらのクロックパルスC,Cの間隔Tは設計仕様によって定められるので、実速度スキャンテストの効果が得られる。
シフト操作は、擬似外部入力線PPIを介して組合せ部分11へテストベクトルを印加するためと、擬似外部出力線PPOを介して組合せ部分11からテスト応答を観測するために用いられる。また、キャプチャ操作は、組合せ部分11のテスト応答をスキャンフリップフロップ群12に取り込むために用いられる。すべてのテストベクトルに対して、シフト操作と二重キャプチャ操作を繰り返すことによって、組合せ部分11を実速度スキャンテストすることができる。このようなテスト方式は実速度スキャンテスト方式という。
実速度スキャンテスト方式では、組合せ部分11へのテストベクトルの印加は、外部入力PIから直接行われる部分と、シフト操作によって行われる部分とがある。シフト操作によって、任意の論理値を任意のスキャンフリップフロップに設定することができるので、擬似外部入力線PPIの可制御性の問題が解決される。他方、組合せ部分11からのテスト応答の観測は、外部出力POから直接行われる部分と、シフト操作によって行われる部分とがある。シフト操作によって、任意のスキャンフリップフロップの出力値を観測することができるため、擬似外部入力線PPIの可観測性の問題が解決される。このように、実速度スキャンテスト方式においては、自動テストパターン生成(ATPG)プログラ
ムを用いて組合せ部分に対してテストベクトル及び期待テスト応答を求めるだけで十分である。
上述の実速度スキャンテスト方式が有効性を有しているにもかかわらず、通常動作時よりテスト時の消費電力が非常に大きいという問題点が存在する。例えば、半導体論理回路装置がCMOS回路で構成されていれば、消費電力としては、漏れ電流による静的消費電力と、論理ゲートやフリップフロップのスイッチング動作による動的消費電力とがある。さらに、後者の動的消費電力は、シフト操作時におけるシフト消費電力と、キャプチャ操作時におけるキャプチャ消費電力とがある。
1つのテストベクトルに対して、シフト操作時に与えられる低速のシフトクロックパルスの数は一般に多い。例えば、あるスキャンチェーン内のすべてのスキャンフリップフロップ12に新しい値を設定するために、最大の場合にスキャンフリップフロップ個数分のシフトクロックパルスを与える必要がある。このため、シフト消費電力によるエネルギーが大きくなり、過度な発熱を引き起こすことがある。それによって、半導体論理回路装置を損壊する恐れがある。このため、シフト消費電力の削減手法が盛んに研究されている。
他方、1つのテストベクトルに対して、二重キャプチャ操作時の必要なキャプチャクロックパルスの数は1つのスキャンチェーンにつき2つである。そのため、二重キャプチャ消費電力による発熱は問題にならない。しかし、キャプチャモードにおいて、擬似外部出力線PPOに現れる組合せ部分11のテスト応答がスキャンフリップフロップ群12に取り込まれるとき、テスト応答値とスキャンフリップフロップ群12の現在値が異なれば、対応するスキャンフリップフロップ12の出力値が変化する。このような出力変化スキャンフリップフロップ12が多数あれば、論理ゲートとスキャンフリップフロップ12のスイッチング動作によって、電源電圧VDDが一時的に低下する。この現象はIR(I:電流、R:抵抗)ドロップ現象とも呼ばれる。IRドロップ現象により回路が誤動作し、誤ったテスト応答値がスキャンフリップフロップ12に取り込まれることがある。これによって、通常時には正常に動作できる半導体論理回路装置は、テスト時に不良品として判定されてしまうという誤テストが発生する。その結果として、歩留りが低下する。特に、半導体論理回路装置が超大規模化、超微細化、低電源電圧化した場合、誤テストによる歩留り低下は顕著である。従って、実速度テストのための二重キャプチャ操作におけるキャプチャ消費電力の削減が必要である。
クロックゲーティング手法を用いてキャプチャ消費電力を削減することができるが、半導体論理回路装置の物理設計への影響が大きい。また、ワンホット手法や多重クロック手法でキャプチャ消費電力を削減することができるが、前者はテストデータ量が著しく増大し、後者はテストベクトル生成に膨大なメモリ消費が必要になるなどの欠点がある。従って、キャプチャ消費電力の削減においては、物理設計への影響、テストデータ量の増加、及び所用メモリ量が小さい手法が望ましい。
他方、未確定ビット(以下、Xビットとも言う)を有するテストキューブはATPGプログラムによるテストベクトルの生成過程で現れることが多い。また、Xビットを有しないテストベクトルの集合が与えられる場合、その集合の故障検出率を変えずに、一部のテストベクトルの一部ビットをXビットにすることができる。つまり、Xビット抽出プログラムによってテストキューブを得ることもできる。テストキューブが存在する原因は、組合せ部分11内の1つの対象故障を検出するために、外部入力線PIと擬似外部入力線PPIにおける一部のビットに必要な論理値を設定すれば十分であることが多いからである。その残りのビットに0を設定しても1を設定しても、その対象故障の検出に影響を与えないため、そのようなビットはその対象故障にとってXビットになる。
Xビットを有するテストキューブはあくまでXビットを有しないテストベクトルを生成する過程で現れる中間物である。このため、テストキューブのXビットに最終的には0あるいは1を何らかの方法で埋め込む必要があり、その方法としては、アルゴリズム埋め込み方法、マージ埋め込み方法、ランダム埋め込み方法がある。
アルゴリズム埋め込み方法では、テストキューブ中のXビットにある目的に最適な論理値(0または1)をアルゴリズムによって決定して埋め込む。このようなアルゴリズムはATPGプログラムに実装されていることが多い。アルゴリズム埋め込み方法は動的圧縮と呼ばれるテストベクトルの総数の削減作業(参照:非特許文献1,2)、シフト消費電力の削減作業(参照:非特許文献3)あるいは単一キャプチャ操作時のキャプチャ消費電力の削減作業(参照:非特許文献4)のために用いられる。
マージ埋め込み方法では、あるテストキューブを他のテストキューブとマージすることを前提として、両テストキューブの対応ビットが同じ論理値となるように、Xビットに0あるいは1を埋め込む。例えば、テストキューブ1X0とテストキューブ11Xをマージするために、テストキューブ1X0のXビットに1を埋め込み、テストキューブ11XのXビットに0を埋め込む。このマージ埋め込み方法は静的圧縮と呼ばれるテストベクトルの総数の削減作業(参照:非特許文献5)あるいはシフト消費電力の削減作業(参照:非特許文献6)のために用いられる。
ランダム埋め込み方法では、テストキューブにあるXビットに0あるいは1をランダムに埋め込む。このランダム埋め込み方法は、アルゴリズム埋め込み方法あるいはマージ埋め込み方法を行った後に残存しているXビットを対象に行われることが多い。このランダム埋め込み方法も動的圧縮と呼ばれるテストベクトルの総数の削減作業(参照:非特許文献5)あるいはシフト消費電力の削減作業(参照:非特許文献7)のために用いられる。
M. Abramovici, M. Breuer, and A. Friedman, Digital Systems Testing and Testable Design, Computer Science Press, 1990. X. Lin, J. Rajski, I. Pomeranz, S. M. Reddy, "On Static Test Compaction and Test Pattern Ordering for Scan Designs", Proc. Intl. Test Conf., pp. 1088-1097, 2001. S. Kajihara, K. Ishida, and K. Miyase, "Test Vector Modification for Power Reduction during Scan Testing", Proc. VLSI Test Symp., pp. 160-165, 2002. X. Wen, Y. Yamashita, S. Kajihara, L. Wang, K. K. Saluja, and K. Kinoshita, "On Low-Capture-Power Test Generation for Scan Testing," Proc. VLSI Test Symp., pp. 265-270, 2005. M. Abramovici, M. Breuer, and A. Friedman, Digital Systems Testing and Testable Design, Computer Science Press, 1990. R. Sankaralingam, R. Oruganti, and N. Touba, "Static Compaction Techniques to Control Scan Vector Power Dissipation", Proc. VLSI Test Symp., pp. 35-40, 2000. R. Sankaralingam, R. Oruganti, and N. Touba, "Static Compaction Techniques to Control Scan Vector Power Dissipation", Proc. VLSI Test Symp., pp. 35-40, 2000.
しかしながら、上述のテストキューブのXビットに0あるいは1を埋め込むアルゴリズム埋め込み方法、マージ埋め込み方法及びランダム埋め込み方法のいずれも、テストベクトルの総数の削減、シフト消費電力の削減もしくは単一キャプチャ消費電力の削減を目的としており、二重キャプチャ消費電力の増大による誤テストを回避できず、この結果、半導体論理回路装置の歩留りが低下するという課題がある。
そこで、本発明の目的は、二重キャプチャ操作時の出力変化スキャンフリップフロップの数を少なくすることによって二重キャプチャ消費電力を削減し、結果としてIRドロップを低減させることによって誤テストを回避する半導体論理回路装置のテストベクトル生成方法、装置及び半導体論理回路装置のテストベクトル生成プログラムを記憶した記憶媒体を提供することにある。
上述の目的を達成するために本発明は、外部入力線、擬似外部入力線、外部出力線及び擬似外部出力線を有する組合せ部分と、擬似外部出力線と擬似外部入力線との間に接続されたスキャンチェーンを形成しているスキャンフリップフロップ群とを具備する半導体論理回路装置のテストベクトル生成方法において、 組合せ部分を仮想的に外部入力線を共通とする第1、第2の組合せ部分とし、スキャンフリップフロップ群を仮想的に第1、第2の組合せ部分に対して連続する第1、第2のキャプチャクロックパルスによって動作する第1、第2のスキャンフリップフロップ群とし、第1の組合せ部分の擬似外部出力線を第2の組合せ部分の擬似外部入力線とする。第1の埋込工程は第1の組合せ部分の擬似外部入力線と擬似外部出力線との対応ビット間の不一致数が少なくなるようにテストキューブのXビットに0あるいは1を埋込む。第2の埋込工程は第2の組合せ部分の擬似外部入力線と擬似外部出力線との対応ビット間の不一致が少なくなるようにテストキューブのXビットに0あるいは1を埋込む。不一致数均衡削減工程は第1の埋込工程の対応ビット間の不一致数と第2の埋込工程の対応ビット間の不一致数とが均衡的に少なくなるように第1、第2の埋込工程を選択かつ繰返して実行させる。また、第3の埋込工程は、第1の組合せ部分の擬似外部入力線、第1の組合せ部分の擬似外部出力線および第2の組合せ部分の擬似外部出力線にXビットがない場合、テストキューブの残りのXビットに0あるいは1を埋込む。これにより、テストキューブをXビットを含まないテストベクトルに変換するものである。
本発明によれば、二重キャプチャ操作時における出力変化スキャンフリップフロップの数が減少するので、二重キャプチャ消費電力を削減でき、従って、IRドロップによる電源電圧低下に起因する誤テストを回避できる。
図1は本発明に係る半導体論理回路装置のテストベクトル生成の原理を示す回路展開図である。
図1は、図14の半導体論理回路装置を二重キャプチャパルスC、Cにより二重キャプチャ操作させた場合の消費電力の削減を説明するためのものである。従って、図14の組合せ部分11及びスキャンフリップフロップ群12を仮想的に二重化させ、つまり組合せ部分11と同一の組合せ部分11、11及びスキャンフリップフロップ群12と同一のスキャンフリップフロップ群12、12を仮想的に設けてある。この場合、組
合せ部分11の外部入力線PIを組合せ部分11の外部入力線とし、また、組合せ部分11の擬似外部出力線PPOを組合せ部分11の擬似外部入力線とする。さらに、スキャンフリップフロップ群12はキャプチャクロックパルスCによりキャプチャ操作を行い、また、スキャンフリップフロップ群12はキャプチャクロックパルスCによりキャプチャ操作を行う。
図1においては、擬似外部入力線PPIの値と擬似外部出力線PPOの値の相違するビット数N、及び擬似外部出力線PPOの値と擬似外部出力線PPOの値の相違するビット数Nを均衡的に少なくすることにより電源電圧VDDの低下を小さくし、この結果、実速度スキャンテストにおける誤テストを回避できる。具体的には、NとNの和(N+N)とNとNの差の絶対値(|N−N|)の両方を小さくすることによりキャプチャパルスCとキャプチャパルスCにおけるIRドロップを均衡的に小さくし、この結果、実速度スキャンテストにおける誤テストを効果的に回避できる。
図2は図1のテストベクトル生成の原理を実現するテストベクトル生成プログラムを示すフローチャートである。
図2のルーチンはATPGプログラムまたはXビット抽出プログラムによって得られた初期テストキューブが付与されることによってスタートする。この場合、初期テストキューブは初期故障と呼ばれる対象故障を検出するために生成されたものであり、そのXビット数をNX1とする。このXビット数NX1中に二次故障と呼ばれる他の対象故障の検出に使用されたXビット数をNX2とすると、二次故障検出のためのXビット使用率Xusage
usage = (NX2/NX1)×100% ・・・・・・ (1)
で定義する。
ステップ201では、Xビット使用率Xusageを0と初期化する。
次に、ステップ202では、Xビット使用率Xusageを予め設定されたXビット使用率Xusageの上限値Xth例えば20%と比較する。つまり、
usage < Xth
か否かを判別する。この結果、Xusage < Xthであればステップ203に進み、他方、Xusage ≧ Xthであればステップ206に進む。
次に、ステップ203では、テストキューブによって他の二次故障を検出する見込みがあるか否かを判断する。この結果、検出見込みがあればステップ204に進み、他方、検出見込みがなければステップ206に進む。
次に、ステップ204では、対象二次故障が検出されるようにテストキューブの未確定ビットに必要な0あるいは1を埋込む。
次に、ステップ205では、式(1)を用いてXビット使用率Xusageを更新する。
ステップ202〜205の処理を繰返し、Xusage ≧ Xthもしくは二次故障を検出する検出込みがなくなったとき、ステップ206に進む。
ステップ206では、残存したXビットを含むテストキューブに対して二重キャプチャ低電力消費の埋込み処理を行う。ステップ206の詳細なフローを図3に示す。
ステップ301では、各ビット順列(ppi,ppo,ppo)のXタイプを判
別する。ここで、ppiは図1の組合せ部分11の擬似外部入力線PPIの1つのビット、ppoは図1の組合せ部分11の擬似外部出力線PPIの対応ビット、ppoは図1の組合せ部分11の擬似外部出力線PPOの対応ビットである。
図4に示すように、上述のビット順列のXタイプとしてはXタイプ1〜8存在する。ここで、Xタイプ1はXビットを含まず、Xタイプ2〜4は1つのXビットを含み、Xタイプ5〜7は2つのXビットを含み、Xタイプ8は3つのXビットを含む。
次に、ステップ302では、すべてのビット順列がXタイプ1のみか否かを判別する。Xタイプ1のみであれば、ステップ308、309に進む。他方、Xタイプ1以外のXタイプのビット順列があればステップ303に進む。
ステップ303では、対象キャプチャクロックパルスC,Cに対する総キャプチャ状態変化数TECTA、TECTAを計算する。つまり、
TECTA = ECT + PCT ・ k
但し、ECT(Existing Capture Transition)は第1の組合せ部分の擬似外部入力線のビットの論理値と第1の組合せ部分の擬似外部出力線の対応ビットの論理値とが不一致であるビット対の数、PCT(Potential Capture Transition)は第1の組合せ部分の擬似外部入力線のビットと前記第1の組合せ部分の擬似外部出力線の対応ビットの少なくとも一方が未確定値であるビット対の数、またkはウェイト係数である。例えば、0.5をkの値とすることができる。
また、
TECTA = ECT + PCT ・ k
但し、ECT(Existing Capture Transition)は第2の組合せ部分の擬似外部入力線のビットの論理値と第2の組合せ部分の擬似外部出力線の対応ビットの論理値とが不一致であるビット対の数、PCT(Potential Capture Transition)は第2の組合せ部分の擬似外部入力線のビットと第2の組合せ部分の擬似外部出力線の対応ビットの少なくとも一方が未確定値であるビット対の数、kはウェイト係数である。例えば、0.5をkの値とすることができる。
図5は総キャプチャ状態変化数TECTA、TECTAの計算例を示す図である。図5の例では、TECTA=2.5、TECTA=2.0となり、TECTA
TECTAとなる。
次に、ステップ304では、総キャプチャ状態変化数TECTA、TECTAを比較する。この結果、TECTA > TECTAであればステップ305に進み、他方、TECTA ≦ TECTAであればステップ306に進む。尚、ステップ304ではTECTA ≧ TECTAであってもよい。
ステップ305では、第1のX埋込処理を行う。また、ステップ306では、第2のX埋込処理を行う。
ステップ303〜306により、低電力消費の埋込み処理を対象キャプチャクロックパルスC,Cについて均衡的に行う。
ステップ307では論理シミュレーションを行うことにより、外部出力線PO及び擬似外部出力線PPOに存在するXビットの一部もしくは全部に論理値が決まる。その後、ステップ301に戻る。
ステップ308においては、出力変化スキャンフリップフロップの数を削減できないが
、テストキューブであれば、外部入力線PIにXビットが存在する。このため、テストベクトルの数やシフト消費電力を削減するなどの目的に、外部入力線PIのすべてのXビットに0もしくは1を埋込む第3の埋込処理を行う。この結果、ステップ309において、Xを含まないテストベクトルが得られる。
図3のステップ305の第1のX埋込み処理の詳細を図6により説明する。
始めに、ステップ601では、割当型Xタイプのビット順列が存在するか否かを判別する。ここで、対象キャプチャクロックパルスCに対する割当型XタイプはXタイプ2,6である。割当型Xタイプのビット順列が少なくとも1つ存在するときにはステップ602に進み、割当型Xタイプのビット順列が存在しないときにはステップ603に進む。
ステップ602では、割当型Xタイプの一個または複数個のビット順列を選択し、該ビット順列のXビットにそれぞれ擬似外部出力線PPOの対応ビットの論理値を割当てる。例えば、図7に示すごとく、擬似外部入力線PPIのXビットa5に擬似外部出力線PPOの対応ビットb4の論理値1を割当てる。割当操作は必ず成功する。これにより、ビットa5とビットb4に対応するスキャンフリップフロップ12の出力も、キャプチャ操作時において変化しないことになる。その結果、キャプチャ消費電力が低減する。そして、図3のステップ307に進む。
ステップ603では、Xタイプ3、5、7および8の各ビット順列に対して正当化容易度(JE)を計算する。そして、正当化容易度JEが最大値であるビット順列を正当化操作の成功率が高いとみなして対象ビット順列として選択する。
正当化容易度JEは図8の(A)に示すごとく定義する。ここで、Sはある目標論理値の正当化が必要な、Xビットを持つ信号線である。また、S,S,…,SはSから到達できる図1の組合せ部分11、11の外部入力線及び組合せ部分11の擬似外部入力線とする。正当化容易度JEは、S,S,…,SのSへの平均到達容易度を表す。図8の(A)において、
Lは図1の組合せ部分11と図1の組合せ部分11を含む前回路の最大論理レベル、
は信号線Sの論理レベル、
Siは信号線Siの論理レベル
を示す。尚、論理レベルは、図8の(B)の例に示すように定義する。すなわち、
1)図1の組合せ部分11の外部出力信号線、図2の組合せ部分11の外部出力信号線および図2の組合せ部分11の擬似外部出力線の論理レベルを1とする。
2)あるゲートの出力の論理レベルをLとすると、そのゲートの入力の論理レベルをL+1とする。
3)ゲートのファンアウト信号線の論理レベルをL,L,…, Lpとすれば、そのゲートの出力(ファンアウトの幹)の論理レベルはL,L,…, Lpの最大値とする。
例えば、図8の(B)における信号線801の正当化容易度JE(801)は、
JE(801)=(4−|1−3|)/4+(4−|1−4|)/4
=2/4+1/4
=0.75
となる。また、図8の(B)における信号線802の正当化容易度JE(802)は、
JE(802)=(4−|1−4|)/4
=1/4
=0.25
となる。従って、ある信号線に対して、到達可能なテストキューブ中Xビット数が多い程
、また、それらとの論理レベル差が小さい程、その信号線の正当化容易度JEは大きくなる。
ステップ604では、選択された対象ビット順列が正当化操作のみを必要とする正当化型(Xタイプ3,5)か割当操作及び正当化操作の両方を必要とする割当/正当化型(Xタイプ7,8)かを判別する。この結果、正当化型であればステップ605〜607に進み、他方、割当/正当化型であればステップ608〜614に進む。
ステップ605〜607について説明する。
ステップ605においては、第1の正当化操作を行う。すなわち、図9の(A)に示すように、Xタイプ3もしくは5の対象ビット順列の第2のビット(この例では、b3)に該対象ビット順列の第1のビット(この例では、a4)の論理値(この例では、0)が現れるように、テストキューブ内のXビットに必要な論理値を決定する処理を行い、ステップ606に進む。
ステップ606では、第1の正当化操作が失敗したか否かを判別する。つまり、必要な論理値の決定ができず失敗した場合、ステップ606からステップ607に進み、第2の正当化操作を行う。すなわち、図9の(B)に示すように、Xタイプ3もしくは5の対象ビット順列の第2のビット(この例では、b3)に該対象ビット順列の第1のビット(この例では、a4)の論理値(この例では、0)と反対の論理値(この例では、1)が現れるように、テストキューブ内のXビットに必要な論理値を決定する処理を行う。
ステップ606において第1の正当化操作が成功したと判別されたとき、あるいはステップ607において第2の正当化操作が終了したときには図3のステップ307に進む。
次に、ステップ608〜614について説明する。
ステップ608においては、第1の割当/正当化操作を行う。すなわち、図10の(A)に示すごとく、Xタイプ7もしくは8の対象ビット順列の第1のビット(この例では、a6)に論理値0の割当てを行い、また、該対象ビット順列の第2のビット(この例では、b5)に論理値0が現れるように、テストキューブのXビットに必要な論理値を決定する。ステップ609では、第1の割当/正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ609からステップ610に進む。
ステップ610においては、第2の割当/正当化操作を行う。すなわち、図10の(B)に示すごとく、Xタイプ7もしくは8の対象ビット順列の第1のビット(この例では、a6)に論理値1の割当てを行い、また、該対象ビット順列の第2のビット(この例では、b5)に論理値1が現れるように、テストキューブのXビットに必要な論理値を決定する。ステップ611では、第2の割当/正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ611からステップ612に進む。
ステップ612においては、第3の割当/正当化操作を行う。すなわち、図11の(A)に示すごとく、Xタイプ7もしくは8の対象ビット順列の第1のビット(この例では、a6)に論理値0の割当てを行い、また、該対象ビット順列の第2のビット(この例では、b5)に論理値1が現れるように、テストキューブのXビットに必要な論理値を決定する。ステップ613では、第2の割当/正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ613からステップ614に進む。
ステップ614においては、第4の割当/正当化操作を行う。すなわち、図11の(B
)に示すごとく、Xタイプ7もしくは8の対象ビット順列の第1のビット(この例では、a6)に論理値1の割当てを行い、また、該対象ビット順列の第2のビット(この例では、b5)に論理値0が現れるように、テストキューブのXビットに必要な論理値を決定する。
ステップ609、611、613において第1、第2、第3の割当/正当化操作が成功したと判別されたとき、あるいはステップ614において第4の割当/正当化操作が終了したときには図3のステップ307に進む。
図3のステップ306の第2のX埋込み処理の詳細を図12により説明する。
ステップ1201では、Xタイプ3〜8の各ビット順列に対して正当化容易度(JE)を計算する。そして、正当化容易度JEが最大値であるビット順列を正当化操作の成功率が高いとみなして対象ビット順列として選択する。
ステップ1202では、選択された対象ビット順列が1つのXビットに対する正当化操作を必要とする単一正当化型(Xタイプ3,4,6,7)か2つの正当化操作を必要とする二重正当化型(Xタイプ5,8)かを判別する。この結果、単一正当化型であればステップ1203〜1205に進み、他方、二重正当化型であればステップ1206〜1212に進む。
ステップ1203〜1205について説明する。
ステップ1203においては、第3の正当化操作を行う。すなわち、選択された対象ビット順列がXタイプ4もしくは6のときに該対象ビット順列の第3のビットに該対象ビット順列の第2のビットの論理値が現れるように、また選択された対象ビット順列がXタイプ3もしくは7のときに該対象ビット順列の第2のビットに該対象ビット順列の第3のビットの論理値が現れるように、前記テストキューブの未確定ビットに0あるいは1を決定する。ステップ1204では、第3の正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ1204からステップ1205に進む。
ステップ1205においては、第4の正当化操作を行う。すなわち、選択された対象ビット順列がXタイプ4もしくは6のときに該対象ビット順列の第3のビットに該対象ビット順列の第2のビットの論理値と反対の論理値が現れるように、また選択された対象ビット順列がXタイプ3もしくは7のときに該対象ビット順列の第2のビットに該対象ビット順列の第3のビットの論理値と反対の論理値が現れるように、前記テストキューブの未確定ビットに0あるいは1を決定する。
ステップ1204において第3の正当化操作が成功したと判別されたとき、あるいはステップ1205において第4の正当化操作が終了したときには図3のステップ307に進む。
次に、ステップ1206〜1212について説明する。
ステップ1206においては、第5の正当化操作を行う。すなわち、Xタイプ5もしくは8の対象ビット順列の第2のビットと第3のビットに論理値0が現れるように、テストキューブのXビットに必要な論理値を決定する。ステップ1207では、第5の正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ1207からステップ1208に進む。
ステップ1208においては、第6の正当化操作を行う。すなわち、Xタイプ5もしく
は8の対象ビット順列の第2のビットと第3のビットに論理値1が現れるように、テストキューブのXビットに必要な論理値を決定する。ステップ1209では、第5の正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ1209からステップ1210に進む。
ステップ1210においては、第7の正当化操作を行う。すなわち、Xタイプ5もしくは8の対象ビット順列の第2のビットに論理値0、第3のビットに論理値1が現れるように、テストキューブのXビットに必要な論理値を決定する。ステップ1211では、第5の正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ1211からステップ1212に進む。
ステップ1212においては、第8の正当化操作を行う。すなわち、Xタイプ5もしくは8の対象ビット順列の第2のビットに論理値1、第3のビットに論理値0が現れるように、テストキューブのXビットに必要な論理値を決定する。
ステップ1207、1209、1211において第5、第6、第7の正当化操作が成功したと判別されたとき、あるいはステップ1212において第8の正当化操作が終了したときには図3のステップ307に進む。
図13は本発明に係る二重キャプチャ低消費電力埋込み処理の一例を示す図である。
図13の(A)に示すごとく、テストキューブとして<X,X,1,0,X,X>が与えられ、3ビット順列として<1,0,0>,<0,X,1>,<X,1,X>,<X,0,1>が存在する。この場合、キャプチャクロックパルスC、Cの総キャプチャ状態変化数TECTA,TECTAは、それぞれ、2.5, 2.0であり、従って、TECTA≧TECTAであるので、まずは対象キャプチャクロックパルスCについてのキャプチャ状態変化数を小さくする必要がある。
図13の(B)は、対象キャプチャクロックパルスCに対して組合せ部分11の擬似外部入力のビットa5,a6に対して割当操作を行う。これにより、対象キャプチャクロックパルスCについてのキャプチャ状態変化数は小さくなる。この場合において、キャプチャクロックパルスC,Cの総キャプチャ状態変化数TECTA,TECTAは、それぞれ、1.5, 2.0となり、従って、TECTA<TECTAであるので、次に対象キャプチャクロックパルスCについてのキャプチャ状態変化数を小さくする必要がある。
図13の(C)は、対象キャプチャクロックパルスCに対して組合せ部分11の擬似外部出力のビットd4に対して正当化操作を行う。これにより、対象キャプチャクロックパルスCについてのキャプチャ状態変化数は小さくなる。この場合において、キャプチャクロックパルスC,Cの総キャプチャ状態変化数TECTA,TECTAは、それぞれ、1.5, 1.5であり、従って、TECTA≧TECTAであるので、対象キャプチャクロックパルスCについてのキャプチャ状態変化数を小さくする必要がある。
図13の(D)は、対象キャプチャクロックパルスCに対して組合せ部分11の擬似外部出力のビットb3に対して正当化操作を行う。これにより、対象キャプチャクロックパルスCについてのキャプチャ状態変化数は小さくなる。
このように、対象キャプチャクロックパルスC,Cに対して消費電力を均衡的に削減することができる。
尚、図6のステップ605、607では、正当化操作の論理値を0→1の順序で行っているが、1→0の順序でもよい。また、図6のステップ608、610では、割当/正当化操作の論理値を(0割当て、0正当化)→(1割当て、1正当化)の順序で行っているが、(1割当て、1正当化)→(0割当て、0正当化)の順序でもよい。さらに、図6のステップ612、614では、割当/正当化操作の論理値を(0割当て、1正当化)→(1割当て、0正当化)の順序で行っているが、(1割当て、0正当化)→(0割当て、1正当化)の順序でもよい。
尚、図12のステップ1203、1205では、第3、第4の正当化操作の論理値を0→1の順序で行っているが、1→0の順序でもよい。図12のステップ1206、1208では、正当化操作の論理値を(0正当化、0正当化)→(1正当化、1正当化)の順序で行っているが、(1正当化、1正当化)→(0正当化、0正当化)の順序でもよい。さらに、図12のステップ1210、1212では、正当化操作の論理値を(0正当化、1正当化)→(1正当化、0正当化)の順序で行っているが、(1正当化、0正当化)→(0正当化、1正当化)の順序でもよい。
上述の図2、図3、図6、図12のルーチンはプログラムとして記憶媒体に記憶される。例えば、記憶媒体がROM等の不揮発性メモリであれば予め組込まれ、記憶媒体がRAM等の揮発性メモリであれば必要に応じて書込まれる。
本発明に係る半導体論理回路装置のテストベクトル生成の原理を示す回路展開図である。 本発明に係る半導体論理回路装置のテストベクトル生成方法の一実施の形態を説明するフローチャートである。 図2の二重キャプチャ低消費電力埋込みステップの詳細なフローチャートである。 図3のステップ302のXタイプを示す表である。 図3のステップ303の総キャプチャ状態変化数の計算の一例を示す図である。 図3の対象キャプチャクロックパルスCに対するX埋込み処理ステップ305の詳細なフローチャートである。 図6のステップ602を説明する図である。 図6の正当化容易度計算ステップ603を説明する図である。 図6の正当化操作ステップ605、607を説明する図である。 図6の割当/正当化操作ステップ608、610を説明する図である。 図6の割当/正当化操作ステップ612、614を説明する図である。 図3の対象キャプチャクロックパルスCに対するX埋込み処理ステップ306の詳細なフローチャートである。 本発明に係る二重キャプチャ低消費電力埋込み処理の一例を示す図である。 従来の実速度スキャンテストを説明するブロック回路図である。 図14の回路動作を説明するタイミング図である。
符号の説明
11,11,11:組合せ部分
12:スキャンフリップフロップ群
PI:外部入力線
PPI:擬似外部入力線
PO:外部出力線
PPO:擬似外部出力線
SC:スキャンチェーン
本発明は遅延故障を対象とする実速度スキャンテストを実行する半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラムに関する。
図15は図14の実速度スキャンテストを説明するためのタイミング図である。実速度スキャンテストはシフト操作と2回のキャプチャ操作(以下、二重キャプチャ操作とする)を繰り返すことによって行われる。シフト操作は、スキャンイネーブル信号SEが“1”にされているシフトモードで行われる。シフトモードにおいては、低速の1つまたは複数のシフトクロックパルスS,…,Sが与えられ、外部から1つまたは複数の新しい値がスキャンチェーン内のスキャンフリップフロップ群12にシフトインされる。また同時に、そのスキャンチェーン内のスキャンフリップフロップ群12に現存の1つまたは複数の値が外部へシフトアウトされる。尚、最大値Lはスキャンチェーンを形成するスキャンフリップフロップ群12のスキャンフリップフロップの数である。また、シフトクロックパルスは低速であっても問題がない。他方、キャプチャ操作は、スキャンイネーブル信号SEが“0”にされているキャプチャモードで行われる。キャプチャモードにおいては、クロックイネーブル信号CEがイネーブル(CE=“0”)され、クロックイネーブル信号CEの立下がりに応答して図14のPLL回路13から、1つのスキャンチェーンにあるスキャンフリップフロップ群12に2つのクロックパルスC,Cが与えられ、組合せ部分11の擬似外部出力線PPOの値がスキャンフリップフロップ群12のすべてのスキャンフリップフロップに取り込まれる。これらのクロックパルスC,Cの間隔Tは設計仕様によって定められるので、実速度スキャンテストの効果が得られる。
実速度スキャンテスト方式では、組合せ部分11へのテストベクトルの印加は、外部入力PIから直接行われる部分と、シフト操作によって行われる部分とがある。シフト操作によって、任意の論理値を任意のスキャンフリップフロップに設定することができるので、擬似外部入力線PPIの可制御性の問題が解決される。他方、組合せ部分11からのテスト応答の観測は、外部出力POから直接行われる部分と、シフト操作によって行われる部分とがある。シフト操作によって、任意のスキャンフリップフロップの出力値を観測することができるため、擬似外部入力線PPIの可観測性の問題が解決される。このように、実速度スキャンテスト方式においては、自動テストパターン生成(ATPG)プログラムを用いて組合せ部分11に対してテストベクトル及び期待テスト応答を求めるだけで十分である。
1つのテストベクトルに対して、シフト操作時に与えられる低速のシフトクロックパルスの数は一般に多い。例えば、あるスキャンチェーン内のスキャンフリップフロップ群12のすべてのスキャンフリップフロップに新しい値を設定するために、最大の場合にスキャンフリップフロップ群12のスキャンフリップフロップ個数分のシフトクロックパルスを与える必要がある。このため、シフト消費電力によるエネルギーが大きくなり、過度な発熱を引き起こすことがある。それによって、半導体論理回路装置を損壊する恐れがある。このため、シフト消費電力の削減手法が盛んに研究されている。
他方、1つのテストベクトルに対して、二重キャプチャ操作時の必要なキャプチャクロックパルスの数は1つのスキャンチェーンにつき2つである。そのため、二重キャプチャ消費電力による発熱は問題にならない。しかし、キャプチャモードにおいて、擬似外部出力線PPOに現れる組合せ部分11のテスト応答がスキャンフリップフロップ群12に取り込まれるとき、テスト応答値とスキャンフリップフロップ群12の現在値が異なれば、対応するスキャンフリップフロップ12の出力値が変化する。このような出力変化スキャンフリップフロップが多数あれば、論理ゲートとスキャンフリップフロップ12のスイッチング動作によって、電源電圧VDDが一時的に低下する。この現象はIR(I:電流、R:抵抗)ドロップ現象とも呼ばれる。IRドロップ現象により回路が誤動作し、誤ったテスト応答値がスキャンフリップフロップ12に取り込まれることがある。これによって、通常時には正常に動作できる半導体論理回路装置は、テスト時に不良品として判定されてしまうという誤テストが発生する。その結果として、歩留りが低下する。特に、半導体論理回路装置が超大規模化、超微細化、低電源電圧化した場合、誤テストによる歩留り低下は顕著である。従って、実速度テストのための二重キャプチャ操作におけるキャプチャ消費電力の削減が必要である。
マージ埋め込み方法では、あるテストキューブを他のテストキューブとマージすることを前提として、両テストキューブの対応ビットが同じ論理値となるように、Xビットに0あるいは1を埋め込む。例えば、テストキューブ1X0とテストキューブ11Xをマージするために、テストキューブ1X0のXビットに1を埋め込み、テストキューブ11XのXビットに0を埋め込む。このマージ埋め込み方法は静的圧縮と呼ばれるテストベクトルの総数の削減作業(参照:非特許文献)あるいはシフト消費電力の削減作業(参照:非特許文献)のために用いられる。
ランダム埋め込み方法では、テストキューブにあるXビットに0あるいは1をランダムに埋め込む。このランダム埋め込み方法は、アルゴリズム埋め込み方法あるいはマージ埋め込み方法を行った後に残存しているXビットを対象に行われることが多い。このランダム埋め込み方法も動的圧縮と呼ばれるテストベクトルの総数の削減作業(参照:非特許文献)あるいはシフト消費電力の削減作業(参照:非特許文献)のために用いられる。
M. Abramovici, M. Breuer, and A. Friedman, Digital Systems Testing and Testable Design, Computer Science Press, pp. 245-246, 1990. X. Lin, J. Rajski, I.Pomeranz, S. M. Reddy, "On Static Test Compaction and Test Pattern Ordering for Scan Designs", Proc. Intl. Test Conf., pp. 1088-1097, 2001. S. Kajihara, K. Ishida, and K. Miyase, "Test Vector Modification for Power Reduction during Scan Testing", Proc. VLSI Test Symp., pp. 160-165, 2002. X. Wen, Y. Yamashita, S. Kajihara, L. Wang, K. K. Saluja, and K. Kinoshita, "On Low-Capture-Power Test Generation for Scan Testing," Proc. VLSI Test Symp., pp. 265-270, 2005. R. Sankaralingam, R. Oruganti, and N. Touba, "Static Compaction Techniques to Control Scan Vector Power Dissipation", Proc. VLSI Test Symp., pp. 35-40, 2000.
そこで、本発明の目的は、二重キャプチャ操作時の出力変化スキャンフリップフロップの数を少なくすることによって二重キャプチャ消費電力を削減し、結果としてIRドロップを低減させることによって誤テストを回避する半導体論理回路装置のテストベクトル生成方法及び半導体論理回路装置のテストベクトル生成プログラムを提供することにある。
ステップ301では、各ビット順列(ppi,ppo,ppo)のXタイプを判別する。ここで、ppiは図1の組合せ部分11の擬似外部入力線PPIの1つのビット、ppoは図1の組合せ部分11の擬似外部出力線PPO の対応ビット、ppoは図1の組合せ部分11の擬似外部出力線PPOの対応ビットである。
ステップ303では、対象キャプチャクロックパルスC,Cに対する総キャプチャ状態変化数TECTA、TECTAを計算する。つまり、
TECTA = ECT + PCT ・ k
但し、ECT(Existing Capture Transition)は第1の組合せ部分11 の擬似外部入力線PPI のビットの論理値と第1の組合せ部分11 の擬似外部出力線PPO の対応ビットの論理値とが不一致であるビット対の数、PCT(Potential Capture Transition)は第1の組合せ部分11 の擬似外部入力線PPI のビットと第1の組合せ部分11 の擬似外部出力線PPO の対応ビットの少なくとも一方が未確定値であるビット対の数、またkはウェイト係数である。例えば、0.5をkの値とすることができる。
また、
TECTA = ECT + PCT ・ k
但し、ECT(Existing Capture Transition)は第2の組合せ部分11 の擬似外部入力線PPO のビットの論理値と第2の組合せ部分11 の擬似外部出力線PPO の対応ビットの論理値とが不一致であるビット対の数、PCT(Potential Capture Transition)は第2の組合せ部分11 の擬似外部入力線PPO のビットと第2の組合せ部分11 の擬似外部出力線PPO の対応ビットの少なくとも一方が未確定値であるビット対の数、kはウェイト係数である。例えば、0.5をkの値とすることができる。
ステップ308においては、出力変化スキャンフリップフロップの数を削減できないが、テストキューブであれば、外部入力線PIにXビットが存在する。このため、テストベクトルの数やシフト消費電力を削減するなどの目的に、外部入力線PIのすべてのXビットに0もしくは1を埋込む第3の埋込処理を行う。この結果、ステップ309において、Xを含まないテストベクトルが得られる。
ステップ602では、割当型Xタイプの一個または複数個のビット順列を選択し、該ビット順列のXビットppi にそれぞれ擬似外部出力線PPO の対応ビットの論理値を割当てる。例えば、図7に示すごとく、擬似外部入力線PPI のXビットa5に擬似外部出力線PPO の対応ビットb4の論理値1を割当てる。割当操作は必ず成功する。これにより、ビットa5とビットb4に対応するスキャンフリップフロップの出力も、キャプチャ操作時において変化しないことになる。その結果、キャプチャ消費電力が低減する。そして、図3のステップ307に進む。
正当化容易度JEは図8の(A)に示すごとく定義する。ここで、Sはある目標論理値の正当化が必要な、Xビットを持つ信号線である。また、S,S,…,S信号線Sから到達できる図1の組合せ部分11、11の外部入力線PI 及び組合せ部分11の擬似外部入力線PPI とする。正当化容易度JEは、S,S,…,SのSへの平均到達容易度を表す。図8の(A)において、
Lは図1の組合せ部分11と図1の組合せ部分11を含む回路の最大論理レベル、
は信号線Sの論理レベル、
Si入力線Siの論理レベル
を示す。尚、論理レベルは、図8の(B)の例に示すように定義する。すなわち、
1)図1の組合せ部分11の外部出力信号線PO 、図の組合せ部分11の外部出力信号線PO および図の組合せ部分11の擬似外部出力線PPO の論理レベルを1とする。
2)あるゲートの出力の論理レベルをLとすると、そのゲートの入力の論理レベルをL+1とする。
3)ゲートのファンアウト信号線の論理レベルをL,L,…, Lpとすれば、そのゲートの出力(ファンアウトの幹)の論理レベルはL,L,…, Lpの最大値とする。
例えば、図8の(B)における信号線801の正当化容易度JE(801)は、
JE(801)=(4−|1−3|)/4+(4−|1−4|)/4
=2/4+1/4
=0.75
となる。また、図8の(B)における信号線802の正当化容易度JE(802)は、
JE(802)=(4−|1−4|)/4
=1/4
=0.25
となる。従って、ある信号線に対して、到達可能なテストキューブ中Xビット数が多い程、また、それらとの論理レベル差が小さい程、その信号線の正当化容易度JEは大きくなる。
ステップ612においては、第3の割当/正当化操作を行う。すなわち、図11の(A)に示すごとく、Xタイプ7もしくは8の対象ビット順列の第1のビット(この例では、a6)に論理値0の割当てを行い、また、該対象ビット順列の第2のビット(この例では、b5)に論理値1が現れるように、テストキューブのXビットに必要な論理値を決定する。ステップ613では、第の割当/正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ613からステップ614に進む。
ステップ1208においては、第6の正当化操作を行う。すなわち、Xタイプ5もしくは8の対象ビット順列の第2のビットと第3のビットに論理値1が現れるように、テストキューブのXビットに必要な論理値を決定する。ステップ1209では、第の正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ1209からステップ1210に進む。
ステップ1210においては、第7の正当化操作を行う。すなわち、Xタイプ5もしくは8の対象ビット順列の第2のビットに論理値0、第3のビットに論理値1が現れるように、テストキューブのXビットに必要な論理値を決定する。ステップ1211では、第の正当化操作が失敗したか否かを判別する。この操作が失敗した場合、ステップ1211からステップ1212に進む。
図13の(A)に示すごとく、テストキューブとして<X,X,1,0,X,X>が与えられ、3ビット順列として<1,0,0>,<0,X,1>,<X,1,X>,<X,0,1>が存在する。この場合、キャプチャクロックパルスC、Cの総キャプチャ状態変化数TECTA,TECTAは、それぞれ、2.5, 2.0であり、従って、TECTA≧TECTAであるので、まずは対象キャプチャクロックパルスCについてのキャプチャ状態変化数TECTA を小さくする必要がある。
図13の(B)では、対象キャプチャクロックパルスCに対して組合せ部分11の擬似外部入力線PPI のビットa5,a6に対して割当操作を行う。これにより、対象キャプチャクロックパルスCについてのキャプチャ状態変化数TECTA は小さくなる。この場合において、キャプチャクロックパルスC,Cの総キャプチャ状態変化数TECTA,TECTAは、それぞれ、1.5, 2.0となり、従って、TECTA<TECTAであるので、次に対象キャプチャクロックパルスCについてのキャプチャ状態変化数TECTA を小さくする必要がある。
図13の(C)は、対象キャプチャクロックパルスCに対して組合せ部分11の擬似外部出力線PPO のビットd4に対して正当化操作を行う。これにより、対象キャプチャクロックパルスCについてのキャプチャ状態変化数TECTA は小さくなる。この場合において、キャプチャクロックパルスC,Cの総キャプチャ状態変化数TECTA,TECTAは、それぞれ、1.5, 1.5であり、従って、TECTA≧TECTAであるので、対象キャプチャクロックパルスCについてのキャプチャ状態変化数TECTA を小さくする必要がある。
図13の(D)は、対象キャプチャクロックパルスCに対して組合せ部分11の擬似外部出力のビットb3に対して正当化操作を行う。これにより、対象キャプチャクロックパルスCについてのキャプチャ状態変化数TECTA は小さくなる。
本発明に係る半導体論理回路装置のテストベクトル生成の原理を示す回路展開図である。 本発明に係る半導体論理回路装置のテストベクトル生成方法の一実施の形態を説明するフローチャートである。 図2の二重キャプチャ低消費電力埋込みステップの詳細なフローチャートである。 図3のステップ301のXタイプを示す表である。 図3のステップ303の総キャプチャ状態変化数の計算の一例を示す図である。 図3の対象キャプチャクロックパルスCに対するX埋込み処理ステップ305の詳細なフローチャートである。 図6のステップ602を説明する図である。 図6の正当化容易度計算ステップ603を説明する図である。 図6の正当化操作ステップ605、607を説明する図である。 図6の割当/正当化操作ステップ608、610を説明する図である。 図6の割当/正当化操作ステップ612、614を説明する図である。 図3の対象キャプチャクロックパルスCに対するX埋込み処理ステップ306の詳細なフローチャートである。 本発明に係る二重キャプチャ低消費電力埋込み処理の一例を示す図である。 従来の実速度スキャンテストを説明するブロック回路図である。 図14の回路動作を説明するタイミング図である。

Claims (16)

  1. 外部入力線(PI)、擬似外部入力線(PPI)、外部出力線(PO)、擬似外部出力線(PPO)を有する組合せ部分(11)と、
    前記擬似外部出力線と前記擬似外部入力線との間に接続されたスキャンフリップフロップ群(12)と
    を具備する半導体論理回路装置のテストベクトル生成方法において、
    前記組合せ部分を仮想的に前記外部入力線を共通とする第1、第2の組合せ部分(11,11)とし、前記スキャンフリップフロップ群を仮想的に前記第1、第2の組合せ部分に対して連続する第1、第2のキャプチャクロックパルス(C,C)によって動作する第1、第2のスキャンフリップフロップ群(12,12)とし、前記第1の組合せ部分の擬似外部出力線を前記第2の組合せ部分の擬似外部入力線とし、
    前記第1の組合せ部分の外部入力線及び擬似外部入力線において故障検出に使わない未確定ビットを含むテストキューブが与えられ、かつ前記第1の組合せ部分の擬似外部入力線のビットもしくは第1の組合せ部分の擬似外部出力線の対応ビットに未確定ビットが存在するとき、前記第1の組合せ部分の擬似外部入力線の該ビットと擬似外部出力線の該対応ビットに同じ論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を埋込む第1の埋込工程と、
    前記第1の組合せ部分の外部入力線及び擬似外部入力線において故障検出に使わない未確定ビットを含むテストキューブが与えられ、かつ前記第2の組合せ部分の擬似外部入力線のビットもしくは第2の組合せ部分の擬似外部出力線の対応ビットに未確定ビットが存在するとき、前記第2の組合せ部分の擬似外部入力線の該ビットと擬似外部出力線の該対応ビットに同じ論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を埋込む第2の埋込工程と、
    前記第1の組合せ部分の擬似外部入力線のビットと第1の組合せ部分の擬似外部出力線のビットとの対応ビット間の不一致数と前記第2の組合せ部分の擬似外部入力線のビットと第2の組合せ部分の擬似外部出力線のビットとの対応ビット間の不一致数とが均衡的に少なくなるように前記第1、第2の埋込工程を選択かつ繰返して実行させる不一致数均衡削減工程と、
    前記第1の組合せ部分の擬似外部入力線、前記第1の組合せ部分の擬似外部出力線及び前記第2の組合せ部分の擬似外部出力線に未確定ビットが存在しないとき、前記第1の組合せ部分の外部入力線のすべての未確定ビットに0あるいは1を埋込む第3の埋込工程と
    を具備し、前記テストキューブを未確定ビットを含まないテストベクトルに変換することを特徴とする半導体論理回路装置のテストベクトル生成方法。
  2. 前記不一致数均衡削減工程は、
    前記第1の組合せ部分の擬似外部入力線のビット(ppi)、前記第1の組合せ部分の擬似外部出力線の対応ビット(ppo)及び前記第2の組合せ部分の擬似外部出力線の対応ビット(ppo)の3ビットよりなるビット順列のXタイプを判別するXタイプ判別工程と、
    前記第1、第2のキャプチャクロックパルスによる前記第1、第2のスキャンフリップフロップ群の第1、第2の総キャプチャ状態変化数(TECTA,TECTA)を計
    算する第1、第2の総キャプチャ状態変化数計算工程と、
    前記第1もしくは第2の埋込工程の終了毎に論理シミュレーションを行うことにより前記第1、第2の組合せ部分の外部出力線、擬似外部出力線に存在する未確定ビットの一部あるいは全部に0あるいは1を決定する論理シミュレーション工程と
    を具備し、
    前記第1の総キャプチャ状態変化数が前記第2の総キャプチャ状態変化数より多いときに前記第1の埋込工程が実行され、前記第2の総キャプチャ状態変化数が前記第1の総キャプチャ状態変化数より多いときに前記第2の埋込工程が実行され、前記第1の総キャプチャ状態変化数と前記第2の総キャプチャ状態変化数が等しいときに前記第1の埋込工程もしくは前記第2の埋込工程が実行され、
    前記Xタイプ判別工程、前記第1、第2の総キャプチャ状態変化数計算工程、前記第1、第2の埋込工程及び前記論理シミュレーション工程を前記第1の組合せ部分の擬似外部入力線、前記第1の組合せ部分の擬似外部出力線及び前記第2の組合せ部分の擬似外部出力線に未確定ビットがなくなるまで繰返す請求項1に記載の半導体論理回路装置のテストベクトル生成方法。
  3. 前記Xタイプ判別工程は、前記第1の組合せ部分の擬似外部入力線のビット(ppi)、前記第1の組合せ部分の擬似外部出力線の対応ビット(ppo)及び前記第2の組合せ部分の擬似外部出力線の対応ビット(ppo)の3ビットよりなるビット順列(ppi,ppo,ppo)に対して、Xを未確定ビットとし、またb,b,bをそれぞれ任意の論理値とすれば、ビット順列が(b,b,b)のときそのXタイプをXタイプ1とし、ビット順列が(X,b,b)のときそのXタイプをXタイプ2とし、ビット順列が(b,X,b)のときそのXタイプをXタイプ3とし、ビット順列が(b,b,X)のときそのXタイプをXタイプ4とし、ビット順列が(b,X,X)のときそのXタイプをXタイプ5とし、ビット順列が(X,b,X)のときそのXタイプをXタイプ6とし、ビット順列が(X,X,b)のときそのXタイプをXタイプ7とし、ビット順列が(X,X,X)のときそのXタイプをXタイプ8とする請求項2に記載の半導体論理回路装置のテストベクトル生成方法。
  4. 前記第1の総キャプチャ状態変化数計算工程は、第1の総キャプチャ状態変化数TECTA
    TECTA=ECT+PCT・k
    但し、ECTは前記第1の組合せ部分の擬似外部入力線のビットの論理値と前記第1の組合せ部分の擬似外部出力線の対応ビットの論理値とが不一致であるビット対の数、
    PCTは前記第1の組合せ部分の擬似外部入力線のビットと前記第1の組合せ部分の擬似外部出力線の対応ビットの少なくとも一方が未確定値であるビット対の数、
    kはウェイト係数、
    により計算し、
    前記第2の総キャプチャ状態変化数計算工程は、第2の総キャプチャ状態変化数TECTA
    TECTA=ECT+PCT・k
    但し、ECTは前記第2の組合せ部分の擬似外部入力線のビットの論理値と前記第2の組合せ部分の擬似外部出力線の対応ビットの論理値とが不一致であるビット対の数、
    PCTは前記第2の組合せ部分の擬似外部入力線のビットと前記第2の組合せ部分の擬似外部出力線の対応ビットの少なくとも一方が未確定値であるビット対の数、
    kはウェイト係数、
    により計算する請求項2に記載の半導体論理回路装置のテストベクトル生成方法。
  5. 前記第1の埋込工程は、
    Xタイプ2あるいは6のビット順列が存在するときに、Xタイプ2あるいは6のビット
    順列の一個または複数個を対象ビット順列として選択し該対象ビット順列の第1のビットに該対象ビット順列の第2のビットの論理値を割当てる割当工程と、
    Xタイプ2あるいは6のビット順列が存在しないときに、Xタイプ3、5、7および8の各ビット順列に対して第1の正当化容易度(JE)を計算する第1の正当化容易度計算工程と、
    Xタイプ2あるいは6のビット順列が存在しないときに、最大の第1の正当化容易度(JE)を有するXタイプ3、5、7もしくは8のビット順列を対象ビット順列として選択する第1の対象ビット順列選択工程と、
    前記対象ビット順列がXタイプ3もしくは5のときに該対象ビット順列の第2のビットに該対象ビット順列の第1のビットの論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第1の正当化操作工程と、
    該第1の正当化操作工程が失敗したときに前記対象ビット順列の第2のビットに該対象ビット順列の第1のビットの論理値の反対値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第2の正当化操作工程と、
    前記対象ビット順列がXタイプ7もしくは8のときに該対象ビット順列の第1のビットに第1の論理値を割当てると共に該対象ビット順列の第2のビットに該第1の論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第1の割当/正当化操作工程と、
    前記第1の割当/正当化操作工程が失敗したときに該対象ビット順列の第1のビットに前記第1の論理値と反対の第2の論理値を割当てると共に該対象ビット順列の第2のビットに該第2の論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第2の割当/正当化操作工程と、
    前記第2の割当/正当化操作工程が失敗したときに該対象ビット順列の第1のビットに前記第1、第2の論理値の一方(論理値Aという)を割当てると共に該対象ビット順列の第2のビットに該第1、第2の論理値の他方(論理値Bという)が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第3の割当/正当化操作工程と、
    前記第3の割当/正当化操作工程が失敗したときに該対象ビット順列の第1のビットに前記論理値Bを割当てると共に該対象ビット順列の第2のビットに前記論理値Aが現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第4の割当/正当化操作工程と
    を具備する請求項2に記載の半導体論理回路装置のテストベクトル生成方法。
  6. 前記第1の正当化容易度計算工程は、前記第1の正当化容易度をビット順列の第2のビットから到達できる前記外部入力線及び前記擬似外部入力線の未確定ビットの、該第2のビットに対する距離の平均値に基づき計算する請求項5に記載の半導体論理回路装置のテストベクトル生成方法。
  7. 前記第2の埋込工程は、
    Xタイプ3〜8の各ビット順列に対して第2の正当化容易度(JE)を計算する第2の正当化容易度計算工程と、
    最大の第2の正当化容易度(JE)を有するXタイプ3〜8のビット順列を対象ビット順列として選択する第2の対象ビット順列選択工程と、
    前記対象ビット順列がXタイプ4もしくは6のときに該対象ビット順列の第3のビットに該対象ビット順列の第2のビットの論理値が現れるように、また前記対象ビット順列がXタイプ3もしくは7のときに該対象ビット順列の第2のビットに該対象ビット順列の第3のビットの論理値が現れるように、前記テストキューブの未確定ビットに0あるいは1を決定する第3の正当化操作工程と、
    該第3の正当化操作工程が失敗したときに、前記対象ビット順列がXタイプ4もしくは6のときに該対象ビット順列の第3のビットに該対象ビット順列の第2のビットの論理値と反対の論理値が現れるように、また前記対象ビット順列がXタイプ3もしくは7のとき
    に該対象ビット順列の第2のビットに該対象ビット順列の第3のビットの論理値と反対の論理値が現れるように、前記テストキューブの未確定ビットに0あるいは1を決定する第4の正当化操作工程と、
    前記対象ビット順列がXタイプ5もしくは8のときに該対象ビット順列の第2のビットと第3のビットに第3の論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第5の正当化操作工程と、
    前記第5の正当化操作工程が失敗したときに該対象ビット順列の第2のビットと第3のビットに前記第3の論理値と反対の第4の論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第6の正当化操作工程と、
    前記第6の正当化操作工程が失敗したときに該対象ビット順列の第2のビットに前記第3、第4の論理値の一方(論理値Cという)が現れるようにまた該対象ビット順列の第3のビットに該第3、第4の論理値の他方(論理値Dという)が現れるように前記外部入力線あるいは前記テストキューブの未確定ビットに0あるいは1を決定する第7の正当化操作工程と、
    前記第7の正当化操作工程が失敗したときに該対象ビット順列の第2のビットに前記倫理値Dが現れるようにまた該対象ビット順列の第3のビットに前記倫理値Cが現れるように前記外部入力線あるいは前記テストキューブの未確定ビットに0あるいは1を決定する第8の正当化操作工程と
    を具備する請求項2に記載の半導体論理回路装置のテストベクトル生成方法。
  8. 前記第2の正当化容易度計算工程は、前記第2の正当化容易度をビット順列の第1のビット以外の未確定ビットの集合から到達できる前記外部入力線及び前記擬似外部入力線の未確定ビットの、該集合の未確定ビットに対する距離の平均値に基づき計算する請求項7に記載の半導体論理回路装置のテストベクトル生成方法。
  9. 外部入力線(PI)、擬似外部入力線(PPI)、外部出力線(PO)、擬似外部出力線(PPO)を有する組合せ部分(11)と、
    前記擬似外部出力線と前記擬似外部入力線との間に接続されたスキャンフリップフロップ群(12)と
    を具備する半導体論理回路装置のテストベクトル生成プログラムにおいて、
    前記組合せ部分を仮想的に前記外部入力線を共通とする第1、第2の組合せ部分(11,11)とし、前記スキャンフリップフロップ群を仮想的に前記第1、第2の組合せ部分に対して連続する第1、第2のキャプチャクロックパルス(C,C)によって動作する第1、第2のスキャンフリップフロップ群(12,12)とし、前記第1の組合せ部分の擬似外部出力線を前記第2の組合せ部分の擬似外部入力線とし、
    前記第1の組合せ部分の外部入力線及び擬似外部入力線において故障検出に使わない未確定ビットを含むテストキューブが与えられ、かつ前記第1の組合せ部分の擬似外部入力線のビットもしくは第1の組合せ部分の擬似外部出力線の対応ビットに未確定ビットが存在するとき、前記第1の組合せ部分の擬似外部入力線の該ビットと擬似外部出力線の該対応ビットに同じ論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を埋込む第1の埋込手順と、
    前記第1の組合せ部分の外部入力線及び擬似外部入力線において故障検出に使わない未確定ビットを含むテストキューブが与えられ、かつ前記第2の組合せ部分の擬似外部入力線のビットもしくは第2の組合せ部分の擬似外部出力線の対応ビットに未確定ビットが存在するとき、前記第2の組合せ部分の擬似外部入力線の該ビットと擬似外部出力線の該対応ビットに同じ論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を埋込む第2の埋込手順と、
    前記第1の組合せ部分の擬似外部入力線のビットと第1の組合せ部分の擬似外部出力線のビットとの対応ビット間の不一致数と前記第2の組合せ部分の擬似外部入力線のビットと第2の組合せ部分の擬似外部出力線のビットとの対応ビット間の不一致数とが均衡的に
    少なくなるように前記第1、第2の埋込手順を選択かつ繰返して実行させる不一致数均衡削減手順と、
    前記第1の組合せ部分の擬似外部入力線、前記第1の組合せ部分の擬似外部出力線及び前記第2の組合せ部分の擬似外部出力線に未確定ビットが存在しないとき、前記第1の組合せ部分の外部入力線のすべての未確定ビットに0あるいは1を埋込む第3の埋込手順と
    を具備し、前記テストキューブを未確定ビットを含まないテストベクトルに変換することを特徴とする半導体論理回路装置のテストベクトル生成プログラム。
  10. 前記不一致数均衡削減手順は、
    前記第1の組合せ部分の擬似外部入力線のビット(ppi)、前記第1の組合せ部分の擬似外部出力線の対応ビット(ppo)及び前記第2の組合せ部分の擬似外部出力線の対応ビット(ppo)の3ビットよりなるビット順列のXタイプを判別するXタイプ判別手順と、
    前記第1、第2のキャプチャクロックパルスによる前記第1、第2のスキャンフリップフロップ群の第1、第2の総キャプチャ状態変化数(TECTA,TECTA)を計算する第1、第2の総キャプチャ状態変化数計算手順と、
    前記第1もしくは第2の埋込手順の終了毎に論理シミュレーションを行うことにより前記第1、第2の組合せ部分の外部出力線、擬似外部出力線に存在する未確定ビットの一部あるいは全部に0あるいは1を決定する論理シミュレーション手順と
    を具備し、
    前記第1の総キャプチャ状態変化数が前記第2の総キャプチャ状態変化数より多いときに前記第1の埋込手順が実行され、前記第2の総キャプチャ状態変化数が前記第1の総キャプチャ状態変化数より多いときに前記第2の埋込手順が実行され、前記第1の総キャプチャ状態変化数と前記第2の総キャプチャ状態変化数が等しいときに前記第1の埋込手順もしくは前記第2の埋込手順が実行され、
    前記Xタイプ判別手順、前記第1、第2の総キャプチャ状態変化数計算手順、前記第1、第2の埋込手順及び前記論理シミュレーション手順を前記第1の組合せ部分の擬似外部入力線、前記第1の組合せ部分の擬似外部出力線及び前記第2の組合せ部分の擬似外部出力線に未確定ビットがなくなるまで繰返す請求項9に記載の半導体論理回路装置のテストベクトル生成プログラム。
  11. 前記Xタイプ判別手順は、前記第1の組合せ部分の擬似外部入力線のビット(ppi)、前記第1の組合せ部分の擬似外部出力線の対応ビット(ppo)及び前記第2の組合せ部分の擬似外部出力線の対応ビット(ppo)の3ビットよりなるビット順列(ppi,ppo,ppo)に対して、Xを未確定ビットとし、またb,b,bをそれぞれ任意の論理値とすれば、ビット順列が(b,b,b)のときそのXタイプをXタイプ1とし、ビット順列が(X,b,b)のときそのXタイプをXタイプ2とし、ビット順列が(b,X,b)のときそのXタイプをXタイプ3とし、ビット順列が(b,b,X)のときそのXタイプをXタイプ4とし、ビット順列が(b,X,X)のときそのXタイプをXタイプ5とし、ビット順列が(X,b,X)のときそのXタイプをXタイプ6とし、ビット順列が(X,X,b)のときそのXタイプをXタイプ7とし、ビット順列が(X,X,X)のときそのXタイプをXタイプ8とする請求項10に記載の半導体論理回路装置のテストベクトル生成プログラム。
  12. 前記第1の総キャプチャ状態変化数計算手順は、第1の総キャプチャ状態変化数TECTA
    TECTA=ECT+PCT・k
    但し、ECTは前記第1の組合せ部分の擬似外部入力線のビットの論理値と前記第1の組合せ部分の擬似外部出力線の対応ビットの論理値とが不一致であるビット対の数、
    PCTは前記第1の組合せ部分の擬似外部入力線のビットと前記第1の組合せ部分の
    擬似外部出力線の対応ビットの少なくとも一方が未確定値であるビット対の数、
    kはウェイト係数、
    により計算し、
    前記第2の総キャプチャ状態変化数計算手順は、第2の総キャプチャ状態変化数TECTA
    TECTA=ECT+PCT・k
    但し、ECTは前記第2の組合せ部分の擬似外部入力線のビットの論理値と前記第2の組合せ部分の擬似外部出力線の対応ビットの論理値とが不一致であるビット対の数、
    PCTは前記第2の組合せ部分の擬似外部入力線のビットと前記第2の組合せ部分の擬似外部出力線の対応ビットの少なくとも一方が未確定値であるビット対の数、
    kはウェイト係数、
    により計算する請求項10に記載の半導体論理回路装置のテストベクトル生成プログラム。
  13. 前記第1の埋込手順は、
    Xタイプ2あるいは6のビット順列が存在するときに、Xタイプ2あるいは6のビット順列の一個または複数個を対象ビット順列として選択し該対象ビット順列の第1のビットに該対象ビット順列の第2のビットの論理値を割当てる割当手順と、
    Xタイプ2あるいは6のビット順列が存在しないときに、Xタイプ3、5、7および8の各ビット順列に対して第1の正当化容易度(JE)を計算する第1の正当化容易度計算手順と、
    Xタイプ2あるいは6のビット順列が存在しないときに、最大の第1の正当化容易度(JE)を有するXタイプ3、5、7もしくは8のビット順列を対象ビット順列として選択する第1の対象ビット順列選択手順と、
    前記対象ビット順列がXタイプ3もしくは5のときに該対象ビット順列の第2のビットに該対象ビット順列の第1のビットの論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第1の正当化操作手順と、
    該第1の正当化操作手順が失敗したときに前記対象ビット順列の第2のビットに該対象ビット順列の第1のビットの論理値の反対値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第2の正当化操作手順と、
    前記対象ビット順列がXタイプ7もしくは8のときに該対象ビット順列の第1のビットに第1の論理値を割当てると共に該対象ビット順列の第2のビットに該第1の論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第1の割当/正当化操作手順と、
    前記第1の割当/正当化操作手順が失敗したときに該対象ビット順列の第1のビットに前記第1の論理値と反対の第2の論理値を割当てると共に該対象ビット順列の第2のビットに該第2の論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第2の割当/正当化操作手順と、
    前記第2の割当/正当化操作手順が失敗したときに該対象ビット順列の第1のビットに前記第1、第2の論理値の一方(論理値Aという)を割当てると共に該対象ビット順列の第2のビットに該第1、第2の論理値の他方(論理値Bという)が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第3の割当/正当化操作手順と、
    前記第3の割当/正当化操作手順が失敗したときに該対象ビット順列の第1のビットに前記論理値Bを割当てると共に該対象ビット順列の第2のビットに前記論理値Aが現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第4の割当/正当化操作手順と
    を具備する請求項10に記載の半導体論理回路装置のテストベクトル生成プログラム。
  14. 前記第1の正当化容易度計算手順は、前記第1の正当化容易度をビット順列の第2のビットから到達できる前記外部入力線及び前記擬似外部入力線の未確定ビットの、該第2の
    ビットに対する距離の平均値に基づき計算する請求項13に記載の半導体論理回路装置のテストベクトル生成プログラム。
  15. 前記第2の埋込手順は、
    Xタイプ3〜8の各ビット順列に対して第2の正当化容易度(JE)を計算する第2の正当化容易度計算手順と、
    最大の第2の正当化容易度(JE)を有するXタイプ3〜8のビット順列を対象ビット順列として選択する第2の対象ビット順列選択手順と、
    前記対象ビット順列がXタイプ4もしくは6のときに該対象ビット順列の第3のビットに該対象ビット順列の第2のビットの論理値が現れるように、また前記対象ビット順列がXタイプ3もしくは7のときに該対象ビット順列の第2のビットに該対象ビット順列の第3のビットの論理値が現れるように、前記テストキューブの未確定ビットに0あるいは1を決定する第3の正当化操作手順と、
    該第3の正当化操作手順が失敗したときに、前記対象ビット順列がXタイプ4もしくは6のときに該対象ビット順列の第3のビットに該対象ビット順列の第2のビットの論理値と反対の論理値が現れるように、また前記対象ビット順列がXタイプ3もしくは7のときに該対象ビット順列の第2のビットに該対象ビット順列の第3のビットの論理値と反対の論理値が現れるように、前記テストキューブの未確定ビットに0あるいは1を決定する第4の正当化操作手順と、
    前記対象ビット順列がXタイプ5もしくは8のときに該対象ビット順列の第2のビットと第3のビットに第3の論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第5の正当化操作手順と、
    前記第5の正当化操作手順が失敗したときに該対象ビット順列の第2のビットと第3のビットに前記第3の論理値と反対の第4の論理値が現れるように前記テストキューブの未確定ビットに0あるいは1を決定する第6の正当化操作手順と、
    前記第6の正当化操作手順が失敗したときに該対象ビット順列の第2のビットに前記第3、第4の論理値の一方(論理値Cという)が現れるようにまた該対象ビット順列の第3のビットに該第3、第4の論理値の他方(論理値Dという)が現れるように前記外部入力線あるいは前記テストキューブの未確定ビットに0あるいは1を決定する第7の正当化操作手順と、
    前記第7の正当化操作手順が失敗したときに該対象ビット順列の第2のビットに前記倫理値Dが現れるようにまた該対象ビット順列の第3のビットに前記倫理値Cが現れるように前記外部入力線あるいは前記テストキューブの未確定ビットに0あるいは1を決定する第8の正当化操作手順と
    を具備する請求項10に記載の半導体論理回路装置のテストベクトル生成プログラム。
  16. 前記第2の正当化容易度計算手順は、前記第2の正当化容易度をビット順列の第1のビット以外の未確定ビットの集合から到達できる前記外部入力線及び前記擬似外部入力線の未確定ビットの、該集合の未確定ビットに対する距離の平均値に基づき計算する請求項15に記載の半導体論理回路装置のテストベクトル生成プログラム。
JP2007528409A 2005-07-26 2006-07-12 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム Expired - Fee Related JP4752030B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007528409A JP4752030B2 (ja) 2005-07-26 2006-07-12 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005215214 2005-07-26
JP2005215214 2005-07-26
PCT/JP2006/313848 WO2007013306A1 (ja) 2005-07-26 2006-07-12 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム
JP2007528409A JP4752030B2 (ja) 2005-07-26 2006-07-12 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム

Publications (2)

Publication Number Publication Date
JPWO2007013306A1 true JPWO2007013306A1 (ja) 2009-02-05
JP4752030B2 JP4752030B2 (ja) 2011-08-17

Family

ID=37683207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007528409A Expired - Fee Related JP4752030B2 (ja) 2005-07-26 2006-07-12 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム

Country Status (5)

Country Link
US (1) US7743306B2 (ja)
JP (1) JP4752030B2 (ja)
KR (1) KR101010504B1 (ja)
TW (1) TW200712520A (ja)
WO (1) WO2007013306A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006106626A1 (ja) * 2005-03-30 2006-10-12 Kyushu Institute Of Technology 半導体論理回路装置のテスト方法及びテストプログラム
JP5017604B2 (ja) * 2006-09-27 2012-09-05 国立大学法人九州工業大学 生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体
JP2008224315A (ja) * 2007-03-09 2008-09-25 Nec Electronics Corp テストパターン生成装置およびテストパターン生成方法
WO2009051191A1 (ja) * 2007-10-19 2009-04-23 Kyushu Institute Of Technology ドントケアビット抽出方法及びドントケアビット抽出プログラム
US7966536B2 (en) * 2008-04-11 2011-06-21 International Business Machines Corporation Method and apparatus for automatic scan completion in the event of a system checkstop
US8311222B2 (en) * 2008-08-26 2012-11-13 GlobalFoundries, Inc. Hardware based multi-dimensional encryption
US7925948B2 (en) * 2008-09-09 2011-04-12 International Business Machines Corporation System and method for power reduction through power aware latch weighting
US7930610B2 (en) * 2008-09-09 2011-04-19 International Business Machines Corporation System and method for power reduction through power aware latch weighting of complex sub-circuits
TWI403746B (zh) * 2008-10-22 2013-08-01 國立臺灣大學 測試圖案最佳化的方法
WO2010047219A1 (ja) * 2008-10-23 2010-04-29 国立大学法人 九州工業大学 生成装置、判別方法、生成方法及びプログラム
WO2010124148A1 (en) * 2009-04-22 2010-10-28 Mentor Graphics Corporation At-speed scan testing with controlled switching activity
US10359471B2 (en) * 2016-06-09 2019-07-23 International Business Machines Corporation Implementing decreased scan data interdependence for compressed patterns in on product multiple input signature register (OPMISR) through scan skewing
US10151797B2 (en) * 2016-07-29 2018-12-11 Stmicroelectronics International N.V. Logic built-in self-test (LBIST) with pipeline scan enable launch on shift (LOS) flip-flop circuit
US11816228B2 (en) 2020-09-25 2023-11-14 Advanced Micro Devices, Inc. Metadata tweak for channel encryption differentiation
TWI800008B (zh) * 2021-09-24 2023-04-21 英業達股份有限公司 測試非揮發性記憶體儲存裝置背板之系統及方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03201035A (ja) 1989-10-24 1991-09-02 Matsushita Electric Ind Co Ltd 検査系列生成方法
JPH04244979A (ja) 1991-01-31 1992-09-01 Hitachi Ltd 遅延テストパターン及びその作成方法
US5590135A (en) 1991-11-20 1996-12-31 Lucent Technologies Inc. Testing a sequential circuit
US5418792A (en) * 1992-12-02 1995-05-23 At&T Corp. Method for the speedup of test vector generation for digital circuits
US5737341A (en) * 1993-07-01 1998-04-07 Matsushita Electric Industrial Co., Ltd. Method of generating test sequence and apparatus for generating test sequence
US5625630A (en) * 1996-04-24 1997-04-29 Lucent Technologies Inc. Increasing testability by clock transformation
US6067651A (en) * 1998-02-20 2000-05-23 Hewlett-Packard Company Test pattern generator having improved test sequence compaction
US7000202B1 (en) * 1998-07-22 2006-02-14 Magma Design Automation, Inc. Method of vector generation for estimating performance of integrated circuit designs
JP3430079B2 (ja) * 1999-09-29 2003-07-28 Necエレクトロニクス株式会社 テストパタン圧縮方法とテストパタン圧縮装置及びシステム並びに記録媒体
US6327687B1 (en) * 1999-11-23 2001-12-04 Janusz Rajski Test pattern compression for an integrated circuit test environment
US6865706B1 (en) * 2000-06-07 2005-03-08 Agilent Technologies, Inc. Apparatus and method for generating a set of test vectors using nonrandom filling
US6795948B2 (en) * 2000-12-27 2004-09-21 Intel Corporation Weighted random pattern test using pre-stored weights
US6728917B2 (en) * 2001-02-09 2004-04-27 Agere Systems Inc. Sequential test pattern generation using combinational techniques
US6836856B2 (en) * 2001-05-25 2004-12-28 Carnegie Mellon University Methods for characterizing, generating test sequences for, and/or simulating integrated circuit faults using fault tuples and related systems and computer program products
US6986090B2 (en) * 2002-02-20 2006-01-10 International Business Machines Corporation Method for reducing switching activity during a scan operation with limited impact on the test coverage of an integrated circuit
US7124342B2 (en) * 2004-05-21 2006-10-17 Syntest Technologies, Inc. Smart capture for ATPG (automatic test pattern generation) and fault simulation of scan-based integrated circuits
JP4265934B2 (ja) 2003-06-06 2009-05-20 シャープ株式会社 スキャンパス回路およびそれを備える論理回路ならびに集積回路のテスト方法
JP4244979B2 (ja) 2005-09-22 2009-03-25 トヨタ自動車株式会社 内燃機関の過給圧制御装置

Also Published As

Publication number Publication date
US7743306B2 (en) 2010-06-22
TWI311650B (ja) 2009-07-01
JP4752030B2 (ja) 2011-08-17
KR20080027348A (ko) 2008-03-26
WO2007013306A1 (ja) 2007-02-01
KR101010504B1 (ko) 2011-01-21
US20090259898A1 (en) 2009-10-15
TW200712520A (en) 2007-04-01

Similar Documents

Publication Publication Date Title
JP4752030B2 (ja) 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム
US7484151B2 (en) Method and apparatus for testing logic circuit designs
US8645778B2 (en) Scan test circuitry with delay defect bypass functionality
JP5017603B2 (ja) 変換装置、変換方法、変換方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体
US7266746B2 (en) Device and method for testing integrated circuit
WO2008041537A1 (fr) Dispositif de génération, procédé de génération, programme et support d'enregistrement
JP4752029B2 (ja) 半導体論理回路装置のテスト方法及びテストプログラム
JPWO2008001818A1 (ja) 変換装置、変換方法、変換方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体
US7293210B2 (en) System and method for improving transition delay fault coverage in delay fault tests through use of transition launch flip-flop
US7228478B2 (en) Built-in self-test (BIST) for high performance circuits
US8751884B2 (en) Scan test circuitry with selectable transition launch mode
US20020129322A1 (en) Method of design for testability, method of design for integrated circuits and integrated circuits
Jahanirad et al. BIST-based online test approach for SRAM-based FPGAs
Lien et al. A new LFSR reseeding scheme via internal response feedback
Kumar et al. Design of an Improved Fault Coverage Programmable Pseudorandom Pattern Generator for Bist
Yilmaz et al. Seed selection in LFSR-reseeding-based test compression for the detection of small-delay defects
Putman et al. Using multiple expansion ratios and dependency analysis to improve test compression
Poulos et al. An enhanced approach to reduce test application time through limited shift operations in scan chains
Lai et al. Low-capture-power test generation by specifying a minimum set of controlling inputs
Wang et al. Switching activity reduction for scan-based BIST using weighted scan input data
Samala Test Pattern Generation for Double Transition Faults
CHARLES et al. Realization of Functional Broadside Tests with BIST Technique using a Fixed Hardware Structure
Lala built-in Self-Test
REDDY et al. Power Safe Test Pattern Determination and Refinement for Transition Fault Coverage
Pomeranz Invariant states and redundant logic in synchronous sequential circuits

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110419

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees