JP2014001937A - スキャンテスト方法、プログラムおよびスキャンテスト回路 - Google Patents
スキャンテスト方法、プログラムおよびスキャンテスト回路 Download PDFInfo
- Publication number
- JP2014001937A JP2014001937A JP2012135374A JP2012135374A JP2014001937A JP 2014001937 A JP2014001937 A JP 2014001937A JP 2012135374 A JP2012135374 A JP 2012135374A JP 2012135374 A JP2012135374 A JP 2012135374A JP 2014001937 A JP2014001937 A JP 2014001937A
- Authority
- JP
- Japan
- Prior art keywords
- scan
- shift clock
- pattern
- test
- clock signals
- 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.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】半導体装置のスキャンテストにおいて、パターンメモリへのスキャンテストパターンのリロードを防ぐことで、テスト時間を短縮すること。
【解決手段】コンピュータが、半導体装置に対するスキャンテストにおいて、スキューの異なる複数のスキャンシフトクロック信号を生成する工程と、スキャンパスに含まれる複数のスキャンフリップフロップをスキャンシフトクロック信号の個数に応じて複数の組に分割し、複数の組のそれぞれに含まれるスキャンフリップフロップに対して、複数のスキャンシフトクロック信号をそれぞれ割り当てる工程と、複数の組のうちのいずれか1つの組に含まれるスキャンフリップフロップに対するスキャンテストパターンを生成する工程と、スキャンテストパターンのパターン長がテスタのパターンメモリサイズ以下となるように、スキャンシフトクロック信号の個数を調整する工程と、を含む。
【選択図】図3
【解決手段】コンピュータが、半導体装置に対するスキャンテストにおいて、スキューの異なる複数のスキャンシフトクロック信号を生成する工程と、スキャンパスに含まれる複数のスキャンフリップフロップをスキャンシフトクロック信号の個数に応じて複数の組に分割し、複数の組のそれぞれに含まれるスキャンフリップフロップに対して、複数のスキャンシフトクロック信号をそれぞれ割り当てる工程と、複数の組のうちのいずれか1つの組に含まれるスキャンフリップフロップに対するスキャンテストパターンを生成する工程と、スキャンテストパターンのパターン長がテスタのパターンメモリサイズ以下となるように、スキャンシフトクロック信号の個数を調整する工程と、を含む。
【選択図】図3
Description
本発明は、スキャンテスト方法、プログラムおよびスキャンテスト回路に関し、例えば、半導体装置(LSI:Large Scale Integration)のテスト容易化設計(DFT:Design For Test)技術である、スキャンテスト方法、プログラムおよびスキャンテスト回路に関する。
近年、高集積化・大規模化しているLSIの設計において、テスト(試験)に要するコストを削減する観点から、スキャンテストを適用することが必要不可欠となっている。
例えば、特許文献1には、スキャンテストにおいて、スキャンシフトの動作速度を高速化する技術が記載されている。また、特許文献2には、スキャンシフト動作におけるフリップフロップの動作個数を削減し、スキャンシフト動作時の消費電力の増加を抑止する技術が記載されている。さらに、特許文献3には、スキャンテスト回路の回路規模を簡素化する技術が記載されている。
また、関連技術として、非特許文献1には、IRF(Inline Resistance Fault)モデルを用いた遅延故障の解析方法が記載されている。
B. Benware, et al., "Affordable and Effective Screening of Delay Defects in ASICs using the Inline Resistance Fault Model," IEEE 2004, pp.1285-1294.[online], [平成24年5月2日検索], インターネット<URL:http://www.itcprogramdev.org/itc2004proc/Papers/PDFs/0045_3.pdf>
以下の分析は、本発明者によってなされたものである。
回路規模が増大したLSIのテストにおいて、高い故障検出率(テスト品質)を実現するために、スキャンテストパターンが長大となり、LSIテスタにおけるパターンメモリの消費量が増大している。
LSIテスタのパターンメモリ容量は有限であるため、LSIテスタのパターンメモリ容量を超えるスキャンテストパターン長のテストを行うときには、パターンメモリに対してパターンを複数回ロード(リロード)する必要がある。例えば、LSIテスタのパターンメモリ容量よりも長大となったスキャンテストパターンが1回のテスト中にすべてのスキャンテストパターンをロードできなくなったとき、スキャンテストパターンのリロードが行われる。
しかし、スキャンテストパターンのリロードは、LSIテスタのハードディスクとパターンメモリとのアクセスを発生させるため、スキャンテストパターンのリロードを行うと、アクセスタイム分だけテスト時間が長くなり、全体としてのテスト時間も増大する。したがって、テスト中のスキャンパターンのリロードを抑えるために、スキャンテストパターンを短縮することが好ましい。
特許文献1に記載されたスキャンテスト回路の設計方法においては、スキャンチェーン情報に基づいて、隣り合うスキャンフリップフロップ(以下、「スキャンFF」という。)のスキャンシフトクロック信号が逆相となるよう反転クロック制御回路を挿入する。さらに、タイミング検証を実施して、スキャンFF間でセットアップ時間が不足している場合には、セットアップ時間が不足しているスキャンFF間のスキャンシフトクロック信号が同相となるように正転/反転クロック制御回路を挿入する。
特許文献1に記載されたスキャン構築方法によると、スキャンテストパターンを短縮する効果は、最大でも元のスキャンテストパターン長の1/2に過ぎない。その理由は、特許文献1に記載された方法では、正転/反転の高々2種類のスキャンシフトクロック信号しか生成されないからである。
非特許文献1に記載された配線遅延故障(IRF)の理論によると、信号線の遅延故障の多くは、高抵抗オープンによるものと推察され、立上りまたは立下りのいずれかで故障検出することが可能である。この理論を特許文献1に適用すると、スキャンテストパターン長を、スキャンチェーンを構成するスキャンFFの個数の半分にすることができる。しかしながら、特許文献1に記載された技術によると、正転/反転クロック制御回路の挿入により、正転/反転の2種類のスキャンシフトクロック信号しか生成されない。
したがって、特許文献1に記載された技術によると、スキャンテストパターンの短縮の割合は、最大でも元のスキャンテストパターン長の1/2となる。このとき、パターンメモリに収まらないスキャンテストパターンは、LSIのテスト時にリロードする必要があり、テスト時間が長くなるおそれがある。
そこで、半導体装置のスキャンテストにおいて、パターンメモリに対するスキャンテストパターンのリロードを防ぐことで、テスト時間を短縮することが課題となる。なお、その他の課題および新規な特徴は、本明細書の記載および添付図面から明らかにされる。
一実施の形態によれば、スキャンテスト方法は、
コンピュータが、半導体装置に対するスキャンテストにおいて、スキューの異なる複数のスキャンシフトクロック信号を生成する工程と、
スキャンパスに含まれる複数のスキャンFFを前記複数のスキャンシフトクロック信号の個数に応じて複数の組に分割し、前記複数の組のそれぞれに含まれるスキャンFFに対して、前記複数のスキャンシフトクロック信号をそれぞれ割り当てる工程と、
前記複数の組のうちのいずれか1つの組に含まれるスキャンFFに対する第1のスキャンテストパターンを生成する工程と、
前記第1のスキャンテストパターンのパターン長がテスタのパターンメモリサイズ以下となるように、前記複数のスキャンシフトクロック信号の個数を調整する工程と、を含む。
コンピュータが、半導体装置に対するスキャンテストにおいて、スキューの異なる複数のスキャンシフトクロック信号を生成する工程と、
スキャンパスに含まれる複数のスキャンFFを前記複数のスキャンシフトクロック信号の個数に応じて複数の組に分割し、前記複数の組のそれぞれに含まれるスキャンFFに対して、前記複数のスキャンシフトクロック信号をそれぞれ割り当てる工程と、
前記複数の組のうちのいずれか1つの組に含まれるスキャンFFに対する第1のスキャンテストパターンを生成する工程と、
前記第1のスキャンテストパターンのパターン長がテスタのパターンメモリサイズ以下となるように、前記複数のスキャンシフトクロック信号の個数を調整する工程と、を含む。
他の実施形態によれば、プログラムは、
半導体装置に対するスキャンテストにおいて、スキューの異なる複数のスキャンシフトクロック信号を生成する処理と、
スキャンパスに含まれる複数のスキャンFFを前記複数のスキャンシフトクロック信号の個数に応じて複数の組に分割し、前記複数の組のそれぞれに含まれるスキャンFFに対して、前記複数のスキャンシフトクロック信号をそれぞれ割り当てる処理と、
前記複数の組のうちのいずれか1つの組に含まれるスキャンFFに対する第1のスキャンテストパターンを生成する処理と、
前記第1のスキャンテストパターンのパターン長がテスタのパターンメモリサイズ以下となるように、前記複数のスキャンシフトクロック信号の個数を調整する処理と、をコンピュータに実行させる。
半導体装置に対するスキャンテストにおいて、スキューの異なる複数のスキャンシフトクロック信号を生成する処理と、
スキャンパスに含まれる複数のスキャンFFを前記複数のスキャンシフトクロック信号の個数に応じて複数の組に分割し、前記複数の組のそれぞれに含まれるスキャンFFに対して、前記複数のスキャンシフトクロック信号をそれぞれ割り当てる処理と、
前記複数の組のうちのいずれか1つの組に含まれるスキャンFFに対する第1のスキャンテストパターンを生成する処理と、
前記第1のスキャンテストパターンのパターン長がテスタのパターンメモリサイズ以下となるように、前記複数のスキャンシフトクロック信号の個数を調整する処理と、をコンピュータに実行させる。
さらに他の実施の形態によれば、スキャンテスト回路は、
スキャンパス上に設けられた複数のスキャンFFと、
半導体装置に対するスキャンテストにおいてスキューの異なる3つ以上のスキャンシフトクロック信号を生成し、前記スキャンパスに含まれる複数のスキャンFFを前記複数のスキャンシフトクロック信号の個数に応じて複数の組に分割したときの各組に含まれるスキャンFFに対して、前記複数のスキャンシフトクロック信号をそれぞれ供給するスキャンシフトクロック制御回路と、を備える。
スキャンパス上に設けられた複数のスキャンFFと、
半導体装置に対するスキャンテストにおいてスキューの異なる3つ以上のスキャンシフトクロック信号を生成し、前記スキャンパスに含まれる複数のスキャンFFを前記複数のスキャンシフトクロック信号の個数に応じて複数の組に分割したときの各組に含まれるスキャンFFに対して、前記複数のスキャンシフトクロック信号をそれぞれ供給するスキャンシフトクロック制御回路と、を備える。
前記一実施の形態に係るスキャンテスト方法、前記他の実施の形態に係るプログラム、および、前記さらに他の実施の形態に係るスキャンテスト回路によると、半導体装置のスキャンテストにおいて、パターンメモリに対するスキャンテストパターンのリロードを防ぐことで、テスト時間を短縮することが可能となる。
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
本発明は、テスト容易化設計(DFT:Design For Test)技術であるスキャンテスト分野において好適に適用することができる。本発明に係るスキャンテスト方法は、半導体装置(LSI)のスキャンパス構築において、スキューの異なるスキャンシフトクロック信号を生成する工程と、スキャンフリップフロップ(スキャンFF)をスキューの異なるスキャンシフトクロック信号毎に分類する工程と、スキャンFFによる故障検出率を確認し、故障検出率が目標値に達するまでスキャンテストパターンを作成する工程と、スキャンテストパターンのパターン長とテスタのパターンメモリサイズを比較する工程と、を含み、スキャンテストパターンのパターン長がテスタのパターンメモリサイズより小さくなるまで、スキューの異なるスキャンシフトクロック信号の個数、および、スキャンFFの分類数を増やす。
かかるスキャンテスト方法によると、スキャンテストパターンをパターンメモリサイズに収めることが可能となり、LSIのテスト時にパターンメモリにスキャンテストパターンをリロードする必要がなくなり、テスト時間を短縮することが可能となる。
図2は、本発明に係るスキャンテスト方法を一例として示すフロー図である。また、図3は、本発明に係るスキャンテスト方法におけるスキャンパスおよびスキャンFFの接続構成を一例として示す図である。
図2および図3を参照すると、スキャンテスト方法は、コンピュータが、半導体装置に対するスキャンテストにおいて、スキューの異なる複数のスキャンシフトクロック信号(SC1〜SC4)を生成する工程(ステップS104)と、スキャンパスに含まれる複数のスキャンFF(703〜710)をスキャンシフトクロック信号の個数(例えば、4個)に応じて複数の組(例えば、4個の組)に分割し、複数の組のそれぞれに含まれるスキャンFFに対して、複数のスキャンシフトクロック信号(SC1〜SC4)をそれぞれ割り当てる工程と(ステップS104〜S108)、複数の組のうちのいずれか1つの組(例えば、4m番目のスキャンFFから成る組、m=1、2、…)に含まれるスキャンFF(706、710)に対する第1のスキャンテストパターン(D105)を生成する工程(ステップS110)と、第1のスキャンテストパターン(D105)のパターン長がテスタのパターンメモリサイズ以下となるように、スキャンシフトクロック信号の個数を調整する工程(ステップS115)と、を含む。
図2を参照すると、スキャンテスト方法は、コンピュータが、上記1つの組(例えば、4m番目のスキャンFFから成る組)に含まれるスキャンFF(706、710)を用いた半導体装置のスキャンテストの故障検出率が所定の目標値以上となるように、第1のスキャンテストパターン(D105)を調整する工程(ステップS113)を含んでいてもよい。
図5は、一部のスキャンFF(例えば、図3の706、710)を用いてスキャンテストに対する第1のスキャンテストパターン(D105)を複製することで、すべてのスキャンFF(703〜710)を用いたスキャンテストに対する第2のスキャンテストパターン(D107)を生成する方法を例示する図である。
図2および図5を参照すると、スキャンテスト方法は、コンピュータが、第1のスキャンテストパターン(D105、図5の上段)を複製(コピー)することで、複数の組のすべての組に含まれるスキャンFF(703〜710)に対する第2のスキャンテストパターン(D107、図5の下段)を生成する工程と(ステップS116)、複数の組のすべての組に含まれるスキャンFF(703〜710)を用いた、第2のテストパターン(D107)に基づく、半導体装置のスキャンテストの故障検出率が所定の目標値以上となるように、スキャンシフトクロック信号の個数、および、第1のスキャンテストパターン(D105)の少なくともいずれかを調整する工程(ステップS119)と、を含んでいてもよい。
かかるスキャンテスト方法によると、スキャンテストパターンをパターンメモリサイズに収めることが可能となり、半導体装置のテスト時にパターンメモリにスキャンテストパターンをリロードする必要がなくなり、テスト時間を短縮することが可能となる。なぜなら、スキャンテストパターンがパターンメモリに収まるように、スキャンシフトクロック信号の個数を任意の個数に調整することができるからである。また、スキャンテストパターンによる故障検出率を所望の値以上とすることで、半導体装置に対する信頼性の高い試験が可能となる。
図6は、本発明に係るスキャンテスト方法におけるスキャンシフト動作を一例として示すタイミング図である。図6を参照すると、スキャンテスト方法は、コンピュータが、複数の組のすべての組に含まれるスキャンFF(703〜710)を用いた、第1のテストパターン(D105)に基づく、半導体装置のスキャンテストのスキャンシフト動作において、複数のスキャンシフトクロック信号(SC1〜SC4)の周期を、スキャンシフトクロック信号の個数に応じて変更する(例えば、4倍する)工程を含んでいてもよい。
かかるスキャンテスト方法によると、スキャンテストに含まれるスキャンシフト動作を短時間で行うことができ、半導体装置のテストに要する時間を大幅に短縮することが可能となる。
図2および図3を参照すると、スキャンパスに含まれる複数のスキャンFF(703〜710)に対してスキャンパスに沿って順に番号を割り振った場合に、割り振られた番号をスキャンシフトクロック信号の個数(例えば、4個)で除したときの剰余が等しいスキャンFFは、複数の組のうちの同一の組に属するようにしてもよい。ただし、スキャンFFを複数の組に分類する方法は、かかる方法に限定されない。
図7は、本発明に係るスキャンテスト方法を一例として示すフロー図である。図7を参照すると、スキャンテスト方法は、コンピュータが、前記複数の組のすべての組に含まれるスキャンFF(703〜710)と単一のスキャンシフトクロック信号(例えばSC1)に基づいて、半導体装置のスキャンテストを行うための第3のスキャンテストパターン(D301)を生成する工程(ステップS305)と、第1のスキャンテストパターン(D105)および第3のスキャンテストパターン(D301)の合計パターン長がパターンメモリサイズ以下となるように、スキャンシフトクロック信号の個数を調整する工程(ステップS115)と、を含んでいてもよい。
図7を参照すると、スキャンテスト方法は、コンピュータが、複数の組のすべての組に含まれるスキャンFF(703〜710)を用いた、第3のテストパターン(D301)に基づく、半導体装置のスキャンテストの故障検出率が所定の目標値以上となるように、第3のスキャンテストパターン(D301)を調整する工程(ステップS308)を含んでいてもよい。
かかるスキャンテスト方法によると、パターン長が相対的に短いものの故障検出率が相対的に低いスキャンテストパターン(D105)と、パターン長は相対的に長いものの故障検出率が相対的に高いスキャンテストパターン(D301)とを組み合わせたスキャンテストが可能となる。この方法によると、テストパターンのパターン長がパターンメモリに収まるようにしつつ、所望の故障検出率を実現することが、図2に示した方法と比較してさらに容易となる。
図3は、本発明に係るスキャンテスト回路の構成を一例として示すブロック図である。また、図4は、スキャンテスト回路に設けられたスキャンシフトクロック制御回路(702)の回路構成を一例として示す回路図である。
図3および図4を参照すると、スキャンテスト回路は、スキャンパス上に設けられた複数のスキャンFF(703〜710)と、スキャンシフトクロック制御回路(702)と、を備える。スキャンシフトクロック制御回路(702)は、半導体装置に対するスキャンテストにおいてスキューの異なる少なくとも3つ以上のスキャンシフトクロック信号(例えば、SC1〜SC4)を生成し、スキャンパスに含まれる複数のスキャンFFをスキャンシフトクロック信号の個数(例えば、4個)に応じて複数の組(4個の組)に分割したときの各組に含まれるスキャンFFに対して、複数のスキャンシフトクロック信号をそれぞれ供給する。
かかるスキャンテスト回路によると、スキューの異なる所定の個数のスキャンシフトクロック信号を生成することができ、スキャンテストパターンがパターンメモリサイズに収まるように、スキャンシフトクロック信号の個数を調整することが可能となる。したがって、かかるスキャンテスト回路によると、半導体装置のテスト時にパターンメモリにスキャンテストパターンをリロードする必要がなくなり、テスト時間を短縮することが可能となる。
図3を参照すると、スキャンパスに含まれる複数のスキャンFF(703〜710)に対してスキャンパスに沿って順に番号を割り振った場合に、割り振られた番号をスキャンシフトクロック信号の個数(例えば、4個)で除したときの剰余が等しいスキャンFFは、前記複数の組のうちの同一の組に属するようにしてもよい。例えば、図3においては、スキャンFF703、707は同一の組に属し、スキャンFF704、708は同一の組に属し、スキャンFF705、709は同一の組に属し、スキャンFF706、710は同一の組に属する。
図4を参照すると、スキャンシフトクロック制御回路(702)は、それぞれ、遅延素子(801)および反転素子(805)を有し、複数のスキャンシフトクロック信号(SC1〜SC4)のいずれかを生成する複数の回路(C1〜C4)を備えていてもよい。また、複数の回路(C1〜C4)は、それぞれ、クロック信号(CLK_IN)および制御信号(SCm_CTRLn;m=1〜4、n=1、2)を受信し、遅延素子(801)を用いてクロック信号(CLK_IN)を遅延させた第1の信号、反転素子(805)を用いてクロック信号(CLK_IN)を反転させた第2の信号、ならびに、遅延素子(801)および反転素子(805)を用いてクロック信号(CLK_IN)を遅延させるとともに反転させた第3の信号を生成し、クロック信号(CLK_IN)および第1ないし第3の信号のうちのいずれかの信号を制御信号(SCm_CTRLn)に応じて選択し、選択した信号をスキャンシフトクロック信号(SC1〜SC4)として出力してもよい。ただし、スキャンシフトクロック制御回路の構成は、図3および図4に示した構成に限定されない。
(実施形態1)
第1の実施形態に係るスキャンテスト方法について、図面を参照して説明する。図1は、本実施形態に係るスキャンテスト方法を実行する環境を一例として示すシステム構成図である。図1を参照すると、実行環境は、コンピュータ装置10と、サーバ装置14と、記録媒体15と、ネットワーク16とを有する。
第1の実施形態に係るスキャンテスト方法について、図面を参照して説明する。図1は、本実施形態に係るスキャンテスト方法を実行する環境を一例として示すシステム構成図である。図1を参照すると、実行環境は、コンピュータ装置10と、サーバ装置14と、記録媒体15と、ネットワーク16とを有する。
サーバ装置14に設けられた記録媒体15は、実行プログラムを保持する。サーバ装置14は、インターネット、LAN(Local Area Network)などのネットワーク16を介してエンジニアリングワークステーション(EWS:Engineering Workstation)、PC(Personal Computer)等のコンピュータ装置10に接続される。記録媒体15に格納されている実行プログラムは、ネットワーク16を介してコンピュータ装置10にダウンロードされる。ダウンロードされたプログラムは、コンピュータ装置10のローカルなハードディスク、メモリなどに格納(ストア)されて、コンピュータ装置10に処理を実行させる。
図2は、本実施形態に係るスキャンテスト方法、特に、スキャンテスト回路の設計方法およびテストパターンの設計方法を表すフロー図である。
まず、半導体装置のネットリストD101を読み込み、スキャン回路を挿入する(ステップS101)。スキャン回路の挿入方式として、例えば、従来技術のマルチスキャン方式、圧縮スキャン方式などを採用することができる。
次に、スキャン回路に挿入されたスキャンFFに関する情報として、スキャンチェーン情報D102を得る(ステップS102)。スキャンチェーン情報D102は、スキャン入力(スキャンイン)端子SINから順に連続する番号を割り振られたスキャンFFに関する情報を含む。
次に、スキューの異なるスキャンシフトクロック信号の種類の数を仮決めする(ステップS103)。本実施形態では、一例として、スキャンシフトクロック信号の種類の数は4種類に仮決めしている。
次に、スキャンシフトクロック制御回路D103をスキャン回路中に挿入する(ステップS104)。スキャンシフトクロック制御回路D103は、一例として、図4に示したスキャンシフトクロック制御回路702の構成を有する。
ステップS102で番号を割り振ったスキャンFFのうちの4m−3(mは1以上の整数)番目のスキャンFFのクロック端子Cに対して、1種類目のスキャンクシフトロック信号のノードSC1を選択する(ステップS105)。
同様に、ステップS102で番号を割り振ったスキャンFFのうちの4m−2番目のスキャンFFのクロック端子Cに対して、2種類目のスキャンシフトクロック信号のノードSC2を選択する(ステップS106)。
同様に、ステップS102で番号を割り振ったスキャンFFのうちの4m−1番目のスキャンFFのクロック端子Cに対して、3種類目のスキャンシフトクロック信号のノードSC3を選択する(ステップS107)。
同様に、ステップS102で番号を割り振ったスキャンFFのうちの4m番目のスキャンFFのクロック端子Cに対して、4種類目のスキャンシフトクロック信号のノードSC4を選択する(ステップS108)。
すべてのスキャンFFに対して、スキャンシフトクロック信号の選択が完了すると、再接続情報としてシフトクロックチェーンD104が得られる。
次に、4種類のスキャンシフトクロック信号から選択したスキャンシフトクロック信号を、スキャンFFのすべてに対して再接続し、スキャン回路を再構築する(ステップS109)。
次に、スキャンチェーン情報D102から、4m番目のスキャンFFのみを有効としたスキャンパターンを生成し、テストパターンD105を得る(ステップS110)。
次に、テストパターンD105から故障検出率を算出し、故障検出率D106を得る(ステップS111)。故障検出率の算出には、例えば、従来技術の遷移遅延故障、配線遅延故障などの故障検出率の算出方法を採用することができる。
次に、故障検出率D106を参照し、4m番目のスキャンFFのみ対象とした故障検出率を確認する(ステップS112)。
次に、故障検出率が目標値以上かどうか判定する(ステップS113)。故障検出率が目標値以上であれば(ステップS113のYes)、ステップS114に進む。一方、故障検出率が目標値未満であれば(ステップS113のNo)、ステップS110に戻り、再度テストパターンを作成し、上記の処理を繰り返す。
次に、テストパターンD105を参照し、テストパターン長を確認する(ステップS114)。
次に、テストパターン長がLSIテスタのパターンメモリ容量以下かどうかを判定する(ステップS115)。テストパターン長がパターンメモリ容量以下であれば(ステップS115のYes)、ステップS116に進む。一方、テストパターン長がパターンメモリ容量より大きい場合(ステップS115のNo)、ステップS103に戻り、スキャンシフトクロック信号の種類の数を増やし、処理を繰り返す。または、ステップS110に戻りテストパターンD105を作り直す。
次に、シフトクロックチェーンD104に基づいて、テストパターンD105をパターン変換し、検証率確認用のテストパターンD107を得る(ステップS116)。
パターン変換として、図5に示すように、元のテストパターンD105の1パターンをスキャンシフトクロック数分コピーする。図5は、スキャンシフトクロックが4種類であるときのパターンコピーを例示する。なお、テストパターンD107は故障検出率確認のために用いられる故障検証用のテストパターンであり、半導体装置でスキャンテストを行う際にはテストパターンD105を使用する。
次に、検証率確認用のテストパターンD107に基づいて故障検出率を算出し、故障検出率D108を得る(ステップS117)。故障検出率の算出には、例えば、従来技術の遷移遅延故障、配線遅延故障などの故障検出率の算出方法を用いることができる。
次に、故障検出率D108を参照し、すべてのスキャンFFを対象とした故障検出率を確認する(ステップS118)。
次に、故障検出率が目標値以上かどうかを判定する(ステップS119)。故障検出率が目標値以上である場合(ステップS119のYes)、処理を終了する。一方、故障検出率が目標値未満である場合(ステップS119のNo)、ステップS103に戻り、スキャンシフトクロックの種類の数を減らし、処理を繰り返す。または、ステップS110に戻り、テストパターンD105を作り直すようにしてもよい。
以上のフローにより、実際にLSIテスタでのスキャンテストを行うパターンとして、テストパターンD105が得られる。
図3は、本実施形態のスキャンテストを実施するためのスキャン回路の構成を一例として示すブロック図である。図3は、一例として、スキャンシフトクロックが4種類のときの回路接続例を示す。
図3を参照すると、スキャンシフトクロック制御回路702は、ノードCLK_INからクロック信号を入力し、入力端子SMCからスキャンモードの制御を行う信号を入力し、入力端子SC1_CTRL1、SC1_CTRL2、SC2_CTRL1、SC2_CTRL2、SC3_CTRL1、SC3_CTRL2、SC4_CTRL1、SC4_CTRL2からスキャンシフトクロック制御を行う信号を入力し、スキューと位相が異なるスキャンシフトクロック信号をノードSC1〜SC4に出力する。
ノードSC1は、スキャンFF703のクロック端子CとスキャンFF707のクロック端子Cに接続されている。ノードSC2は、スキャンFF704のクロック端子CとスキャンFF708のクロック端子Cに接続されている。ノードSC3は、スキャンFF705のクロック端子CとスキャンFF709のクロック端子Cに接続されている。ノードSC4は、スキャンFF706のクロック端子CとスキャンFF710のクロック端子Cに接続されている。
スキャンFF703は、データ入力端子DINがデータ入力端子DATAと接続され、スキャンイン端子S_INが入力端子SINと接続され、クロック端子CがノードSC1と接続され、出力端子がノードDATA703に接続されている。
スキャンFF704は、データ入力端子DINがユーザロジック(図3のlogic)を介してノードDATA703に接続され、スキャンイン端子S_INがノードDATA703に接続され、クロック端子CがノードSC2に接続され、出力端子がノードDATA704に接続されている。
スキャンFF705は、データ入力端子DINがユーザロジックを介してノードDATA704に接続され、スキャンイン端子S_INがノードDATA704に接続され、クロック端子CがノードSC3と接続され、出力端子がノードDATA705に接続されている。
スキャンFF706は、データ入力端子DINがユーザロジックを介してノードDATA705と接続され、スキャンイン端子S_INがノードDATA705と接続され、クロック端子CがノードSC4と接続され、出力端子がノードDATA705と接続されている。
スキャンFF707は、データ入力端子DINがユーザロジックを介してノードDATA706に接続され、スキャンイン端子S_INがノードDATA706と接続され、クロック端子CがノードSC1と接続され、出力端子がノードDATA705と接続されている。
スキャンFF708は、データ入力端子DINがユーザロジックを介してノードDATA707と接続され、スキャンイン端子S_INがノードDATA707と接続され、クロック端子CがノードSC2と接続され、出力端子がノードDATA705と接続されている。
スキャンFF709は、データ入力端子DINがユーザロジックを介してノードDATA708と接続され、スキャンイン端子S_INがノードDATA708と接続され、クロック端子CがノードSC3と接続され、出力端子がノードDATA705と接続されている。
スキャンFF710は、データ入力端子DINがユーザロジックを介してノードDATA709と接続され、スキャンイン端子S_INがノードDATA709と接続され、クロック端子CがノードSC4と接続され、出力端子が出力端子OUTと接続されている。
図4は、図3に示したスキャンシフトクロック制御回路702の回路構成を一例として示す回路図である。
モジュールC1と、モジュールC2〜C4とは、同一の構成を有する。モジュールC1は、セルライブラリとして準備しておき、図2に示したフロー図に基づいて配置すべき個数を決める。図4は、一例として、モジュールC1を4並列とした構成を示す。なお、本発明においては、位相の異なる複数のクロック信号が生成されればよいので、スキャンシフトクロック制御回路702の構成は、図4に示した回路構成には限定されない。
図4を参照すると、モジュールC1の遅延素子801の入力端子はノードCLK_INに接続されている。また、遅延素子801の出力端子はセレクタ804のポート“1”に接続されている。
アンド回路802の入力端子は入力端子SMCと入力端子SC1_CTRL1とに接続されている。また、アンド回路802の出力端子はセレクタ804のポート“EN”と接続されている。
アンド回路803の入力端子は入力端子SMCと入力端子SC1_CTRL2とに接続されている。また、アンド回路803の出力端子はセレクタ806のポート“EN”と接続されている。
セレクタ804のポート“0”は、ノードCLK_INと接続されている。また、セレクタ804のポート“1”は、遅延素子801の出力端子と接続されている。さらに、セレクタ804のポート“EN”は、アンド回路802の出力端子と接続されている。また、セレクタ804の出力端子は、セレクタ806のポート“0”とインバータ805の入力端子と接続されている。
インバータ805の入力端子は、セレクタ804の出力端子と接続されている。また、インバータ805の出力端子は、セレクタ806のポート“1”と接続されている。
セレクタ806のポート“0”は、セレクタ804の出力端子に接続されている。また、セレクタ806のポート“1”は、インバータ805の出力端子と接続されている。さらに、セレクタ806の出力端子は、ノードSC1と接続されている。
モジュールC2の入力端子は、ノードCLK_INと入力端子SMCと入力端子SC2_CTRL1と入力端子SC2_CTRL2とに接続されている。また、モジュールC2の出力端子は、ノードSC2と接続されている。
モジュールC3の入力端子は、ノードCLK_INと入力端子SMCと入力端子SC3_CTRL1と入力端子SC3_CTRL2とに接続されている。また、モジュールC3の出力端子は、ノードSC3と接続されている。
モジュールC4の入力端子は、ノードCLK_INと入力端子SMCと入力端子SC4_CTRL1と入力端子SC4_CTRL2とに接続されている。また、モジュールC4の出力端子は、ノードSC4と接続されている。
ここでは、モジュールC1〜C4に入力されるクロック信号CLK_INの位相と遅延(スキュー)は、揃っているものとする。
遅延素子801は、ノードCLK_INからの信号を任意の時間だけ遅延する。
アンド回路802は、スキャンモードの制御を行う入力端子SMCからの信号が「1」のときに、スキャンシフトクロック制御を行う入力端子SC1_CTRL1からの信号の制御が有効となる。
アンド回路803は、入力端子SMCからの信号が「1」のときに、入力端子SC1_CTRL2からの信号の制御が有効となる。
セレクタ804は、ノードCLK_INからの信号と遅延素子801で遅延させた信号の一方を、アンド回路802の出力信号に応じて選択する。
インバータ805は、セレクタ804の出力からの信号を反転させる。
セレクタ806は、セレクタ804の出力からの信号とセレクタ804の出力を反転させたインバータ805の出力の一方を、アンド回路803の出力信号に応じて選択する。
入力端子SMCからの信号が「1」のとき、スキャンモードがスキャンシフトモードとなり、アンド回路802の出力は入力端子SC1_CTRL1から入力した値となる。このとき、入力端子SC1_CTRL1の値が「1」であれば、セレクタ804はノードCLK_INからの信号を遅延素子801の遅延時間分だけ遅らせた信号を選択し、入力端子SC1_CTRL1から入力した値が「0」であれば、セレクタ804の出力はノードCLK_INからの信号を選択する。
入力端子SMCからの信号が「1」のとき、スキャンモードがスキャンシフトモードとなり、アンド回路803の出力は入力端子SC1_CTRL2から入力した値となる。このとき、入力端子SC1_CTRL2の値が「1」であれば、セレクタ806は、セレクタ804の出力を反転したインバータ805からの出力信号を選択し、入力端子SC1_CTRL2から入力した値が「0」であれば、セレクタ804から出力された信号を選択する。
入力端子SMCからの信号が「1」のとき、入力端子SC1_CTRL1の値が「0」で、入力端子SC1_CTRL2の値が「0」とすると、ノードSC1の出力は、入力端子CLKからの信号の値となる。
入力端子SMCからの信号が「1」のとき、入力端子SC2_CTRL1の値が「1」で、入力端子SC2_CTRL2の値が「0」とすると、ノードSC2の出力は、入力端子CLKからの信号の値を遅延素子801の遅延量で遅延させたクロック信号となる。
入力端子SMCからの信号が「1」のとき、入力端子SC3_CTRL1の値が「0」で、入力端子SC3_CTRL2の値が「1」とすると、ノードSC3の出力は、入力端子CLKからの信号の値をインバータ805で反転した信号となる。
入力端子SMCからの信号が「1」のとき、入力端子SC4_CTRL1の値が「1」で、入力端子SC4_CTRL2の値が「1」とすると、ノードSC4の出力は、入力端子CLKから信号の値を遅延素子801の遅延量で遅延させた信号をインバータ805で反転させた信号となる。
スキャンシフトクロック制御回路702がノードSC1〜SC4に対してスキューの異なるクロックを出力することで、スキャンチェーン上で隣り合うスキャンFFに対するクロック信号はスキューの異なるものとなる。
また、ノードSC1〜SC4ごとに用意するスキャンシフトクロック制御のための入力端子SC1_CTRL1〜SC4_CTRL1、SC1_CTRL2〜SC4_CTRL2の信号を、I2C(Inter-Integrated Circuit)やJTAG(Joint Test Action Group)で読み書き可能なレジスタを用いて実装することで、スキャンテストのためにテスト用の外部端子を増やすことなく、本実施形態のスキャンテスト方法を実現することができる。
図6は、本実施形態のスキャンテスト方法におけるスキャンシフト動作を一例として示すタイミング図である。図6を参照して、スキャンシフトクロックが4種類のときの動作について説明する。
図6のSC1は、ノードSC1の信号を示す。図6のSC2は、ノードSC2のタイミングを示す。ノードSC2におけるスキャンシフトクロック信号は、ノードSC1におけるスキャンシフトクロック信号に対して期間T101の遅延時間分だけ遅れた信号に相当する。図6のSC3は、ノードSC3の信号を示す。ノードSC3におけるスキャンシフトクロック信号は、ノードSC1におけるスキャンシフトクロック信号をインバータ805で反転させた信号に相当する。期間T102は、ノードSC1におけるスキャンシフトクロック信号を反転をさせることなく、「0」とする期間を示す。図6のSC4は、ノードSC4の信号を示す。ノードSC4におけるスキャンシフトクロック信号は、ノードSC2におけるスキャンシフトクロック信号をインバータ805で反転させた信号に相当する。
入力端子SINは、スキャン挿入回路に外部から入力するスキャンデータである。DATA703は、図3に示したスキャン回路構成におけるスキャンFF703の出力信号を表す。DATA704は、図3に示したスキャン回路構成におけるスキャンFF704の出力信号を表す。DATA705は、図3に示したスキャン回路構成におけるスキャンFF705の出力信号を表す。DATA706は、図3に示したスキャン回路構成におけるスキャンFF706の出力信号を表す。
P01は、1パターン長を表す。同様に、P02、P03も、1パターン長を表す。
1パターン長P01では、入力端子SINからパターンSIN01を入力し、1パターン目のスキャンシフト動作を行う。スキャンシフト動作において、まず、ノードSC1の立ち上がりエッジで、スキャンFF703の出力からパターンSIN01を出力する。次に、SC2の立ち上がりエッジで、スキャンFF704の出力からパターンSIN01を出力する。次に、ノードSC3の立ち上がりエッジで、スキャンFF705の出力からパターンSIN01を出力する。次に、SC4の立ち上がりエッジで、スキャンFF706の出力からパターンSIN01を出力する。
次に、1パターン長P02では、入力端子SINからパターンSIN02を入力する。2パターン目のスキャンシフト動作は、1パターン長P01のときと同様に行う。次に、1パターン長P03では、入力端子SINからパターンSIN03を入力する。3パターン目のスキャンシフト動作は、1パターン長P01のときと同様に行う。以降、スキャンテストパターン分だけ、同様のスキャンシフト動作を行うことができる。
本実施形態では、1パターン長の中でスキューの異なるスキャンシフトクロックを用意し、1パターン長の期間でそれぞれのスキャンFFがスキャンシフト動作することにより、用意したスキャンシフトクロックの数に応じてスキャンテストパターン長を削減することが可能となる。
本実施形態では、フリップフロップナンバ4mに着目し、配線遅延故障(IRF)の理論を用いて故障検証を行うことで、故障検出率を維持したまま、スキャンテストパターン長を削減することができる。特許文献1に記載された技術では、スキャンシフトクロックが2種類しか生成できないため、スキャンテストパターン長を1/2にまでしか短縮できない。しかし、本実施形態によると、パターンメモリサイズに収まるようにスキャンシフトクロックを増やすことが可能となり、半導体装置(LSI)のテスト時にパターンメモリにスキャンテストパターンをリロードする必要がなくなり、テスト時間を短縮することができる。
さらに、本実施形態によると、設計段階でスキャン回路の挿入時にスキャンFFの番号を割り振り、かつ、スキャンシフトクロック制御回路を回路中に挿入しておくことで、LSIができ上がった後にも回路構成を変えずにスキャンシフトクロックの種類を変更することができる。したがって、LSIができ上がった後でも、テストパターン長を変更することが可能となる。
(実施形態2)
実施形態2の構成は、実施形態1と同じである。
実施形態2の構成は、実施形態1と同じである。
図7は、第2の実施形態に係るスキャンテスト方法(特に、スキャンテスト回路の設計方法およびテストパターンの設計方法)を示すフロー図である。
本実施形態では、第1の実施形態に係るスキャンテスト方法に対して、スキャンシフトクロック信号の分割時のスキャンテストパターンと、スキャンシフトクロック信号の非分割時の従来のスキャンテストパターンとを組合せて、故障検出率を満足するパターンを構築する工程が付加される。
ステップS101〜S112までの動作は、第1の実施形態における動作と同様である。
ステップS112において故障検出率を確認し、ステップS301において故障検出率の目標値の判断を行う際に故障検出率の目標値を第1の実施形態1と比較して十分に低い値に設定しておく。例えば、第1の実施形態では90%であった目標値を70%に設定し、70%を目標値(1)とする。ただし、故障検出率の目標値は、これらの値に限定されない。
次に、故障検出率が目標値(1)以上かどうかを判定する(ステップS301)。目標値(1)以上であれば(ステップS301のYes)、ステップS114に進む。一方、目標値(1)未満であれば(ステップS301のNo)、ステップS110に戻り、再度スキャンテストパターンを作成し、処理を繰り返す。
次に、第1の実施形態と同様に、テストパターン長を確認する(ステップS114)。
次に、ステップS114で確認したテストパターン長がLSIテスタのパターンメモリ容量に入るかどうかを判定する(ステップS302)。ここで、予めパターンメモリの空き容量の割合を設定しておく。例えば、テストパターン長がパターンメモリの容量の50%と設定する。テストパターン長がLSIテスタのパターンメモリの容量の50%以下である場合(ステップS302のYes)、ステップS116に進む。一方、テストパターン長がLSIテスタのパターンメモリの容量の50%より大きい場合(ステップS302のNo)、ステップS103に戻り、スキャンシフトクロック信号の種類を増やし、処理を繰り返す(ステップS302)。または、ステップS110に戻り、テストパターンD105を作り直すようにしてもよい。ただし、パターンメモリの空き容量の設定値はこれらの値に限定されない。
ステップS116〜S118までの動作は、第1の実施形態における動作と同様である。
次に、故障検出率を確認する(ステップS118)。
ステップS303において故障検出率の目標値の判断を行う際、故障検出率の目標値を第1の実施形態で設定していた故障検出率の目標値とする。例えば、故障検出率の目標値を90%と設定し、90%を目標値(2)とする。
次に、故障検出率が目標値(2)以上かどうかを判定する(ステップS303)。故障検出率が目標値(2)以上であれば(ステップS303のYes)、フローを終了し、検証率確認用テストパターンD107を得る。
一方、故障検出率が目標値(2)未満である場合(ステップS303のNo)、スキャンシフトクロック制御回路D103をコントロールし、すべてのスキャンFFが、例えば、ノードSC1の同一のスキャンシフトクロックでスキャンシフト動作するようにする(ステップS304)。
次に、テストパターンD105の情報を引き継ぎ、かつ、スキャンシフトクロックが1種類のテストパターンを作成してスキャンテストパターンD301を得る(ステップS305)。
次に、テストパターンD105の情報を引き継いだスキャンテストパターンD301による故障検出率を算出し、故障検出率D302を得る(ステップS306)。
故障検出率D302を確認し(ステップS307)、故障検出率が目標値(2)以上かどうかを判定する(ステップS308)。故障検出率が目標値(2)以上である場合(ステップS308のYes)、ステップS309に進む。
一方、故障検出率が目標値未満である場合(ステップS308のNo)、ステップS103に戻り、スキャンシフトクロックの種類の数を減らし、処理を繰り返す。なお、ステップS308においてNoの場合、ステップS110に戻り、スキャンテストパターンD105を作り直すようにしてもよいし、ステップS305に戻り、テストパターンD301を作り直すようにしてもよい。
次に、テストパターンD105と、テストパターンD301を合わせたテストパターン長を確認し(ステップS309)、テストパターンD105と、テストパターンD301を合わせたテストパターン長がLSIテスタのパターンメモリ容量に入るかどうかを判定する(ステップS115)。テストパターンD105と、テストパターンD301を合わせたテストパターン長がLSIテスタのパターンメモリ容量に収まる場合(ステップS115のYes)、処理を終了する。
一方、テストパターンD105と、テストパターンD301を合わせたテストパターン長がLSIテスタのパターンメモリ容量に収まらない場合(ステップS115のNo)、ステップS103に戻り、スキャンシフトクロックの種類の数を増やし、処理を繰り返す。なお、ステップS115においてNoの場合、ステップS110に戻り、テストパターンD105を作り直すようにしてもよいし、ステップS305に戻り、テストパターンD301を作り直すようにしてもよい。
図7のフローに従って処理を完了すると、実際にLSIテスタでのスキャンテストを行うパターンとして、テストパターンD105およびテストパターンD301が得られる。
図3に示したスキャンシフトクロック制御回路702において、入力端子SC1_CTRL1〜SC4_CTRL1、SC1_CTRL2〜SC4_CTRL2に入力する信号を切替えることによって、ノードSC1〜SC4のスキャンシフトクロック信号をそれぞれスキューが異なる複数のクロック信号とする場合と、スキューが1種類のスキャンシフトクロック信号とする場合とを切替えて、それぞれのテストパターンを作成することが可能となる。
本実施形態によると、スキャンシフトクロックが複数のときのテストパターンの故障検出率を低く設定することで、スキャンシフトクロックが複数のときのテストパターン長を短くすることができ、本来の目標とする故障検出率はスキャンシフトクロックを1種類とした従来のスキャンテストパターンで補填することで故障検出率を下げることなく、全体のテストパターン長を小さくすることが可能となる。
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
10 コンピュータ装置
14 サーバ装置
15 記録媒体
16 ネットワーク
702 スキャンシフトクロック制御回路
703〜710 スキャンフリップフロップ(スキャンFF)
801 遅延素子
802、803 アンド回路
804、806 セレクタ
805 反転素子(インバータ)
C クロック端子
C1〜C4 モジュール
CLK 入力端子
CLK_IN ノード
D101 ネットリスト
D102 スキャンチェーン情報
D103 スキャンシフトクロック制御回路
D104 シフトクロックチェーン
D105、D107、D301 テストパターン
D106、D108、D302 故障検出率
DATA データ入力端子
DATA703〜DATA709 ノード
DIN データ入力端子
OUT 出力端子
P01〜P03 1パターン長
SC1〜SC4 ノード
SC1_CTRL1〜SC4_CTRL1 入力端子
SC1_CTRL2〜SC4_CTRL2 入力端子
SIN 入力端子
S_IN スキャンイン端子
SMC 入力端子
T101、T102 期間
14 サーバ装置
15 記録媒体
16 ネットワーク
702 スキャンシフトクロック制御回路
703〜710 スキャンフリップフロップ(スキャンFF)
801 遅延素子
802、803 アンド回路
804、806 セレクタ
805 反転素子(インバータ)
C クロック端子
C1〜C4 モジュール
CLK 入力端子
CLK_IN ノード
D101 ネットリスト
D102 スキャンチェーン情報
D103 スキャンシフトクロック制御回路
D104 シフトクロックチェーン
D105、D107、D301 テストパターン
D106、D108、D302 故障検出率
DATA データ入力端子
DATA703〜DATA709 ノード
DIN データ入力端子
OUT 出力端子
P01〜P03 1パターン長
SC1〜SC4 ノード
SC1_CTRL1〜SC4_CTRL1 入力端子
SC1_CTRL2〜SC4_CTRL2 入力端子
SIN 入力端子
S_IN スキャンイン端子
SMC 入力端子
T101、T102 期間
Claims (15)
- コンピュータが、半導体装置に対するスキャンテストにおいて、スキューの異なる複数のスキャンシフトクロック信号を生成する工程と、
スキャンパスに含まれる複数のスキャンフリップフロップを前記複数のスキャンシフトクロック信号の個数に応じて複数の組に分割し、前記複数の組のそれぞれに含まれるスキャンフリップフロップに対して、前記複数のスキャンシフトクロック信号をそれぞれ割り当てる工程と、
前記複数の組のうちのいずれか1つの組に含まれるスキャンフリップフロップに対する第1のスキャンテストパターンを生成する工程と、
前記第1のスキャンテストパターンのパターン長がテスタのパターンメモリサイズ以下となるように、前記複数のスキャンシフトクロック信号の個数を調整する工程と、を含む、スキャンテスト方法。 - 前記コンピュータが、前記1つの組に含まれるスキャンフリップフロップを用いた前記半導体装置のスキャンテストの故障検出率が所定の目標値以上となるように、前記第1のスキャンテストパターンを調整する工程を含む、請求項1に記載のスキャンテスト方法。
- 前記コンピュータが、前記第1のスキャンテストパターンを複製することで、前記複数の組のすべての組に含まれるスキャンフリップフロップに対する第2のスキャンテストパターンを生成する工程と、
前記複数の組のすべての組に含まれるスキャンフリップフロップを用いた、前記第2のテストパターンに基づく、前記半導体装置のスキャンテストの故障検出率が所定の目標値以上となるように、前記複数のスキャンシフトクロック信号の個数、および、前記第1のスキャンテストパターンの少なくともいずれかを調整する工程と、を含む、請求項2に記載のスキャンテスト方法。 - 前記コンピュータが、前記複数の組のすべての組に含まれるスキャンフリップフロップを用いた、前記第1のテストパターンに基づく、前記半導体装置のスキャンテストのスキャンシフト動作において、前記複数のスキャンシフトクロック信号の周期を、前記複数のスキャンシフトクロック信号の個数に応じて変更する工程を含む、請求項2に記載のスキャンテスト方法。
- 前記スキャンパスに含まれる複数のスキャンフリップフロップに対して前記スキャンパスに沿って順に番号を割り振った場合に、割り振られた番号を前記複数のスキャンシフトクロック信号の個数で除したときの剰余が等しいスキャンフリップフロップは、前記複数の組のうちの同一の組に属する、請求項4に記載のスキャンテスト方法。
- 前記コンピュータが、前記複数の組のすべての組に含まれるスキャンフリップフロップと単一のスキャンシフトクロック信号に基づいて、前記半導体装置のスキャンテストを行うための第3のスキャンテストパターンを生成する工程と、
前記第1のスキャンテストパターンおよび前記第3のスキャンテストパターンの合計パターン長が前記パターンメモリサイズ以下となるように、前記複数のスキャンシフトクロック信号の個数を調整する工程と、を含む、請求項2に記載のスキャンテスト方法。 - 前記コンピュータが、前記複数の全ての組に含まれるスキャンフリップフロップを用いた、前記第3のテストパターンに基づく、前記半導体装置のスキャンテストの故障検出率が所定の目標値以上となるように、前記第3のスキャンテストパターンを調整する工程を含む、請求項6に記載のスキャンテスト方法。
- 半導体装置に対するスキャンテストにおいて、スキューの異なる複数のスキャンシフトクロック信号を生成する処理と、
スキャンパスに含まれる複数のスキャンフリップフロップを前記複数のスキャンシフトクロック信号の個数に応じて複数の組に分割し、前記複数の組のそれぞれに含まれるスキャンフリップフロップに対して、前記複数のスキャンシフトクロック信号をそれぞれ割り当てる処理と、
前記複数の組のうちのいずれか1つの組に含まれるスキャンフリップフロップに対する第1のスキャンテストパターンを生成する処理と、
前記第1のスキャンテストパターンのパターン長がテスタのパターンメモリサイズ以下となるように、前記複数のスキャンシフトクロック信号の個数を調整する処理と、をコンピュータに実行させる、プログラム。 - 前記1つの組に含まれるスキャンフリップフロップを用いた前記半導体装置のスキャンテストの故障検出率が所定の目標値以上となるように、前記第1のスキャンテストパターンを調整する処理を、前記コンピュータに実行させる、請求項8に記載のプログラム。
- 前記複数の組のすべての組に含まれるスキャンフリップフロップを用いた、前記第1のテストパターンに基づく、前記半導体装置のスキャンテストのスキャンシフト動作おいて、前記複数のスキャンシフトクロック信号の周波数を、前記複数のスキャンシフトクロック信号の個数に応じて逓倍する処理を、前記コンピュータに実行させる、請求項9に記載のプログラム。
- 前記複数の組のすべての組に含まれるスキャンフリップフロップと単一のスキャンシフトクロック信号に基づいて、前記半導体装置のスキャンテストを行うための第3のスキャンテストパターンを生成する処理と、
前記第1のスキャンテストパターンおよび前記第3のスキャンテストパターンの合計パターン長が前記パターンメモリサイズ以下となるように、前記複数のスキャンシフトクロック信号の個数を調整する処理と、を前記コンピュータに実行させる、請求項9に記載のプログラム。 - スキャンパス上に設けられた複数のスキャンフリップフロップと、
半導体装置に対するスキャンテストにおいてスキューの異なる3つ以上のスキャンシフトクロック信号を生成し、前記スキャンパスに含まれる複数のスキャンフリップフロップを前記複数のスキャンシフトクロック信号の個数に応じて複数の組に分割したときの各組に含まれるスキャンフリップフロップに対して、前記複数のスキャンシフトクロック信号をそれぞれ供給するスキャンシフトクロック制御回路と、を備える、スキャンテスト回路。 - 前記スキャンパスに含まれる複数のスキャンフリップフロップに対して前記スキャンパスに沿って順に番号を割り振った場合に、割り振られた番号を前記複数のスキャンシフトクロック信号の個数で除したときの剰余が等しいスキャンフリップフロップは、前記複数の組のうちの同一の組に属する、請求項12に記載のスキャンテスト回路。
- 前記スキャンシフトクロック制御回路は、それぞれ、遅延素子および反転素子を有し、前記複数のスキャンシフトクロック信号のいずれかを生成する第1ないし第3の回路を備える、請求項13に記載のスキャンテスト回路。
- 前記第1ないし第3の回路は、それぞれ、クロック信号および制御信号を受信し、前記遅延素子を用いて前記クロック信号を遅延させた第1の信号、前記反転素子を用いて前記クロック信号を反転させた第2の信号、ならびに、前記遅延素子および前記反転素子を用いて前記クロック信号を遅延させるとともに反転させた第3の信号を生成し、前記クロック信号および前記第1ないし第3の信号のうちのいずれかの信号を前記制御信号に応じて選択し、選択した信号を前記複数のスキャンシフトクロック信号のいずれかとして出力する、請求項14に記載のスキャンテスト回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012135374A JP2014001937A (ja) | 2012-06-15 | 2012-06-15 | スキャンテスト方法、プログラムおよびスキャンテスト回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012135374A JP2014001937A (ja) | 2012-06-15 | 2012-06-15 | スキャンテスト方法、プログラムおよびスキャンテスト回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014001937A true JP2014001937A (ja) | 2014-01-09 |
Family
ID=50035266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012135374A Pending JP2014001937A (ja) | 2012-06-15 | 2012-06-15 | スキャンテスト方法、プログラムおよびスキャンテスト回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014001937A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101618821B1 (ko) | 2014-11-17 | 2016-05-18 | (주)이노티오 | 스캔 테스트 시간 최소화 방법 및 그 장치 |
KR101618822B1 (ko) | 2014-10-29 | 2016-05-18 | (주)이노티오 | 스캔 테스트 시간 최소화 방법 및 그 장치 |
KR101848480B1 (ko) | 2016-04-28 | 2018-04-13 | 주식회사 이노티오 | Ic 칩 테스트 장치, ic 칩 테스트 방법, 및 ic 칩 테스트 시스템 |
US9945904B1 (en) | 2015-10-27 | 2018-04-17 | Innotio Inc. | Apparatus, method, and system for testing IC chip |
WO2023022279A1 (ko) * | 2021-08-18 | 2023-02-23 | (주)이노티오 | Ic 칩 스캔 테스트를 위한 테스트 데이터의 사용 가능한 쉬프트 주파수를 찾기 위한 검색용 데이터를 생성하는 방법 및 그 장치 |
-
2012
- 2012-06-15 JP JP2012135374A patent/JP2014001937A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101618822B1 (ko) | 2014-10-29 | 2016-05-18 | (주)이노티오 | 스캔 테스트 시간 최소화 방법 및 그 장치 |
KR101923142B1 (ko) | 2014-10-29 | 2018-11-28 | 주식회사 이노티오 | Ic 칩 테스트 장치, ic 칩 테스트 방법, 및 ic 칩 테스트 시스템 |
KR101618821B1 (ko) | 2014-11-17 | 2016-05-18 | (주)이노티오 | 스캔 테스트 시간 최소화 방법 및 그 장치 |
US9945904B1 (en) | 2015-10-27 | 2018-04-17 | Innotio Inc. | Apparatus, method, and system for testing IC chip |
US10088520B1 (en) | 2015-10-27 | 2018-10-02 | Innotio Inc. | Apparatus, method, and system for testing IC chip |
KR101848480B1 (ko) | 2016-04-28 | 2018-04-13 | 주식회사 이노티오 | Ic 칩 테스트 장치, ic 칩 테스트 방법, 및 ic 칩 테스트 시스템 |
US10228419B2 (en) | 2016-04-28 | 2019-03-12 | Innotio Inc. | Apparatus, method, and system for testing IC chip |
WO2023022279A1 (ko) * | 2021-08-18 | 2023-02-23 | (주)이노티오 | Ic 칩 스캔 테스트를 위한 테스트 데이터의 사용 가능한 쉬프트 주파수를 찾기 위한 검색용 데이터를 생성하는 방법 및 그 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8065549B2 (en) | Scan-based integrated circuit having clock frequency divider | |
US8381050B2 (en) | Method and apparatus for increased effectiveness of delay and transition fault testing | |
JP2014001937A (ja) | スキャンテスト方法、プログラムおよびスキャンテスト回路 | |
JPWO2006030904A1 (ja) | 半導体装置、及び通信制御方法 | |
Pomeranz | Generation of multi-cycle broadside tests | |
US20070129923A1 (en) | Dynamic synchronizer simulation | |
US6237117B1 (en) | Method for testing circuit design using exhaustive test vector sequence | |
KR102263674B1 (ko) | 프로그램가능 지연 회로 블록 | |
US7080333B1 (en) | Verifying logic synthesizers | |
US5528604A (en) | Test pattern generation for an electronic circuit using a transformed circuit description | |
WO2009110615A1 (ja) | 半導体集積回路の設計装置、半導体集積回路の設計方法、並びに半導体集積回路を設計するコンピュータ・プログラム | |
US6785857B1 (en) | Fixed-logic signal generated in an integrated circuit for testing a function macro integrated in an integrated circuit | |
TW202230132A (zh) | 測試電路、測試方法和包括測試電路的計算系統 | |
JP7069608B2 (ja) | 半導体設計支援装置、半導体設計支援方法及びプログラム | |
JP2012185127A (ja) | 半導体装置およびそのテスト方法 | |
JP2679622B2 (ja) | クロック位相制御回路 | |
CN115389857B (zh) | 基于对称电路的信号线缆延时检测系统 | |
US11669419B1 (en) | System and method for performing a failure assessment of an integrated circuit | |
JP4307169B2 (ja) | 遅延検証装置 | |
JP2013036960A (ja) | 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法 | |
JP2012159371A (ja) | スキャンチェーン回路、スキャンチェーン構築方法及び試験装置 | |
Li et al. | Cost effective partial scan for hardware emulation | |
US20090167380A1 (en) | System and method for reducing EME emissions in digital desynchronized circuits | |
JP5234806B2 (ja) | 論理シミュレーション装置およびそのシミュレーション方法 | |
JP2005259107A (ja) | 回路シミュレーション方法および回路シミュレーション装置 |