JP4662520B2 - Scan test circuit, scan test method, and semiconductor integrated circuit - Google Patents

Scan test circuit, scan test method, and semiconductor integrated circuit Download PDF

Info

Publication number
JP4662520B2
JP4662520B2 JP2001185050A JP2001185050A JP4662520B2 JP 4662520 B2 JP4662520 B2 JP 4662520B2 JP 2001185050 A JP2001185050 A JP 2001185050A JP 2001185050 A JP2001185050 A JP 2001185050A JP 4662520 B2 JP4662520 B2 JP 4662520B2
Authority
JP
Japan
Prior art keywords
clock
scan chain
scan
test
output
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
Application number
JP2001185050A
Other languages
Japanese (ja)
Other versions
JP2003004807A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001185050A priority Critical patent/JP4662520B2/en
Publication of JP2003004807A publication Critical patent/JP2003004807A/en
Application granted granted Critical
Publication of JP4662520B2 publication Critical patent/JP4662520B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明はスキャンテスト回路およびスキャンテスト方法に関し、さらに詳しくは、半導体集積回路(LSI)を実際の動作速度でテストするスキャンテスト回路およびスキャンテスト方法に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
LSIの内部をテストする方法としてスキャンテストが知られている。一般に、スキャンテストは、LSIの内部回路と外部入出力部とを同じクロックに同期させて行う。通常、LSIの内部回路は高速で動作できるのに対してLSIの外部入出力部の動作速度はより低速である。このため、スキャンテストの速度はLSIの外部入出力部の動作速度によって制限される。したがって高速で動作するLSIの場合、実際の動作速度で内部回路が正しく動くかどうかを調べるタイミングテスト(例えば、遅延故障検査など)をスキャンテストによって行うことは困難である。一方、タイミングテストをスキャンテスト以外の方法で行う場合にはテストパターンが膨大となる。また、高価なテスタが必要となる。
【0003】
近年、遅延故障検査などのタイミングテストをスキャンテストによって行うためのアプローチがいくつかなされている。そのためには、テストを高速で行えることだけでなく高精度のサイクルタイムが要求される。
【0004】
なお、特開平2−247586号公報には、スキャンチェーンの前後にFIFOメモリを設けることによってスキャンテストを高速化する技術が開示されている。
【0005】
この発明の目的は、高速で動作するLSIを実際の動作速度でテストすることができるスキャンテスト回路およびスキャンテスト方法を提供することである。
【0006】
【課題を解決するための手段】
この発明の1つの局面に従うと、スキャンテスト回路は、第1のスキャンチェーンと、セレクタとを備える。セレクタは、テストデータまたは第1のスキャンチェーンの出力データを選択的に第1のスキャンチェーンの入力に与える。第1のスキャンチェーンは、シフトモードおよびキャプチャモードを有する。シフトモードのとき第1のスキャンチェーンは、セレクタによって入力に与えられたデータを第1のクロックまたは第2のクロックに同期してシフトする。第2のクロックは、第1のクロックの周波数よりも高い周波数を有する。キャプチャモードのとき第1のスキャンチェーンは、テスト対象からのテストデータに対する出力を第2のクロックに同期して取り込む。
【0007】
上記スキャンテスト回路では、まず、セレクタによってテストデータが第1のスキャンチェーンの入力に与えられる。第1のスキャンチェーンはシフトモードとなり、セレクタによって入力に与えられたテストデータを第1のクロックに同期してシフトする。これにより、第1のスキャンチェーンにテストデータがセットされる。
【0008】
次いで、セレクタは第1のスキャンチェーンの出力データを第1のスキャンチェーンの入力に与える。これにより、(第1のスキャンチェーンの出力)−(セレクタ)−(第1のスキャンチェーンの入力)間でループが形成される。第1のスキャンチェーンはシフトモードのままであり、セットされたテストデータを第2のクロックに同期してシフトする。ここでは(第1のスキャンチェーンの出力)−(セレクタ)−(第1のスキャンチェーンの入力)間でループが形成されているため、第1のスキャンチェーンから出力されたテストデータはセレクタを介してスキャンチェーンの入力に与えられる。すなわち、第1のスキャンチェーンにセットされたテストデータは第2のクロックに同期して上記ループ上を巡回する。テストデータが上記ループ上を巡回している間に第2のクロックが安定する。
【0009】
次いで、第1のスキャンチェーンがキャプチャモードとなり、テスト対象からのテストデータに対する出力(テスト結果)を第2のクロックに同期して取り込む。これにより、第1のスキャンチェーンに格納されていたテストデータはテスト結果に置き換えられる。そして第1のスキャンチェーンがふたたびシフトモードとなり、第1のクロックに同期してテスト結果を外部へ出力する。
【0010】
以上のように、上記スキャンテスト回路では、第1のクロックに同期して第1のスキャンチェーンにテストデータをセットし、第1のクロックの周波数よりも高い周波数を有する第2のクロックに同期して第1のスキャンチェーンにテスト結果を取り込むことができる。したがって、テスト対象となる半導体集積回路(LSI)の動作速度が高速であっても、実際の動作速度で内部回路が正しく動くかどうかを調べるタイミングテスト(例えば、遅延故障検査など)を行うことができる。
【0011】
また、(第1のスキャンチェーンの出力)−(セレクタ)−(第1のスキャンチェーンの入力)間でループを形成し、第1のスキャンチェーンにセットされたテストデータをこのループ上で巡回させることができる。これにより、第2のクロックが安定した状態で高精度なタイミングテストを行うことができる。
【0012】
また、高価なテスタを必要としないため、テストコストの上昇を抑えることができる。
【0013】
好ましくは、上記スキャンテスト回路はさらに、キャプチャ信号発生手段を備える。キャプチャ信号発生手段は、セレクタによって第1のスキャンチェーンの入力に与えられるデータがテストデータから第1のスキャンチェーンの出力データに切り替わってから第1の期間が経過した後に活性のキャプチャ信号を第2の期間出力する。そして上記第1のスキャンチェーンは、キャプチャ信号発生手段からの活性のキャプチャ信号に応答してキャプチャモードとなり、不活性のキャプチャ信号に応答してシフトモードとなる。
【0014】
上記スキャンテスト回路では、まず、セレクタによってテストデータが第1のスキャンチェーンの入力に与えられる。キャプチャ信号発生手段は不活性のキャプチャ信号を出力する。不活性のキャプチャ信号に応答して第1のスキャンチェーンはシフトモードとなり、セレクタによって入力に与えられたテストデータを第1のクロックに同期してシフトする。これにより、第1のスキャンチェーンにテストデータがセットされる。
【0015】
次いで、セレクタは第1のスキャンチェーンの出力データを第1のスキャンチェーンの入力に与える。これにより、(第1のスキャンチェーンの出力)−(セレクタ)−(第1のスキャンチェーンの入力)間でループが形成される。引き続きキャプチャ信号発生手段は不活性のキャプチャ信号を出力する。第1のスキャンチェーンはシフトモードのままであり、セットされたテストデータを第2のクロックに同期してシフトする。すなわち、第1のスキャンチェーンにセットされたテストデータは第2のクロックに同期して上記ループ上を巡回する。
【0016】
第1のスキャンチェーンの出力データが第1のスキャンチェーンの入力に与えられるようになってから第1の期間が経過すると、キャプチャ信号発生手段は活性のキャプチャ信号を出力する。活性のキャプチャ信号に応答して第1のスキャンチェーンがキャプチャモードとなり、テスト対象からのテストデータに対する出力(テスト結果)を第2のクロックに同期して取り込む。これにより、第1のスキャンチェーンに格納されていたテストデータはテスト結果に置き換えられる。
【0017】
活性のキャプチャ信号を第2の期間出力するとキャプチャ信号発生手段は、不活性のキャプチャ信号を出力する。不活性のキャプチャ信号に応答して第1のスキャンチェーンがふたたびシフトモードとなり、第1のクロックに同期してテスト結果を外部へ出力する。
【0018】
高速で動作するLSIでは、スキャンチェーンのシフトモード/キャプチャモードの切り替えをLSIの実際の動作速度に応答して外部から制御することは困難である。しかし、上記スキャンテスト回路では、キャプチャ信号発生手段からのキャプチャ信号に応答して第1のスキャンチェーンのシフトモード/キャプチャモードが切り替わる。このため、第1のスキャンチェーンのシフトモード/キャプチャモードの切り替えを外部から直接に制御する必要がない。したがって、高速で動作するLSIであっても実際の動作速度でのテストを容易に行うことができる。
【0019】
好ましくは、上記スキャンテスト回路はさらに、クロック切り替え手段を備える。クロック切り替え手段は、第1のクロックまたは第2のクロックを選択的に第1のスキャンチェーンに供給する。
【0020】
好ましくは、上記クロック切り替え手段は、セレクタによって第1のスキャンチェーンの入力に与えられるデータがテストデータから第1のスキャンチェーンの出力データへ切り替わるのに応答して所定期間 第2のクロックを第1のスキャンチェーンに供給し、当該所定期間が経過すると第1のクロックを第1のスキャンチェーンに供給する。
【0021】
上記スキャンテスト回路では、クロック切り替え手段を設けたため、第1のスキャンチェーンに供給するクロックの切り替えを外部から直接に制御する必要がない。したがって、高速で動作するLSIであっても実際の動作速度でのテストを容易に行うことができる。
【0022】
好ましくは、上記スキャンテスト回路はさらに、ホールド信号発生手段を備える。ホールド信号発生手段は、第1のスキャンチェーンがキャプチャモードからシフトモードに変わって所定期間が経過した後から第1のスキャンチェーンによるスキャンアウトの直前までの期間 第1のスキャンチェーンに活性のホールド信号を与える。そして上記第1のスキャンチェーンは、ホールド信号発生手段からの活性のホールド信号を受けている間はシフト動作を行わずにデータを保持し続ける。
【0023】
上記スキャンテスト回路では、第1のスキャンチェーンがキャプチャモードからシフトモードに変わると、第1のスキャンチェーンに取り込まれたテスト結果は(第1のスキャンチェーンの出力)−(セレクタ)−(第1のスキャンチェーンの入力)間で形成されるループ上を第2のクロックに同期して巡回する。第1のスキャンチェーンがキャプチャモードからシフトモードに変わって所定期間が経過すると、ホールド信号発生手段は活性のホールド信号を第1のスキャンチェーンに与える。活性のホールド信号を受けている間第1のスキャンチェーンは、テスト結果をシフトせずに保持し続ける。そしてホールド信号発生手段からのホールド信号が活性から不活性に切り替わった後、第1のスキャンチェーンは、保持しているテスト結果を第1のクロックに同期して外部へシリアルに出力(スキャンアウト)する。スキャンアウト(外部へ出力)されるテスト結果の順序は、第1のスキャンチェーンに活性のホールド信号が与えられた時点でスキャンチェーンに格納されているテスト結果の順となる。したがって、上記所定期間(第1のスキャンチェーンがキャプチャモードからシフトモードに変わってから活性のホールド信号を第1のスキャンチェーンに与えるまでの期間)を適切な期間に設定することによって、外部へ出力されるテスト結果の順序を所望の順序にすることができる。
【0024】
好ましくは、上記スキャンテスト回路はさらに、クロック計数手段を備える。クロック計数手段は、第1のスキャンチェーンがキャプチャモードからシフトモードに変わった後に第1のスキャンチェーンに与えられる第2のクロックの数をカウントする。
【0025】
上記スキャンテスト回路では、第1のスキャンチェーンがキャプチャモードからシフトモードに変わると、第1のスキャンチェーンに取り込まれたテスト結果は(第1のスキャンチェーンの出力)−(セレクタ)−(第1のスキャンチェーンの入力)間で形成されるループ上を第2のクロックに同期して巡回する。第1のスキャンチェーンがキャプチャモードからシフトモードに変わってから所定の期間が経過すると、第1のスキャンチェーンは、保持しているテスト結果を第1のクロックに同期して外部へシリアルに出力(スキャンアウト)する。外部へ出力されるテスト結果の順序は、上記所定の期間に第1のスキャンチェーンに与えられた第2のクロックの数に応じてずれている。上記所定の期間に第1のスキャンチェーンに与えられた第2のクロックの数はクロック計数手段によってカウントされている。したがって、外部へ出力されるテスト結果の順序のずれを補正することができる。
【0026】
好ましくは、上記クロック計数手段は、第2のスキャンチェーンを含む。第2のスキャンチェーンは第1のスキャンチェーンに直列に接続される。第1のスキャンチェーンに第2のクロックが与えられるとき第2のスキャンチェーンは、カウントされる第2のクロックの数を保持する。第1のスキャンチェーンに第1のクロックが与えられるとき第2のスキャンチェーンは、保持する値を第1のクロックに同期してシフトする。
【0027】
上記スキャンテスト回路では、上記所定の期間に第1のスキャンチェーンに与えられた第2のクロックの数は第2のスキャンチェーンに保持される。そして、直列に接続された第1および第2のスキャンチェーンは、テスト結果および上記所定の期間に第1のスキャンチェーンに与えられた第2のクロックの数を第1のクロックに同期して外部へシリアルに出力する。
【0028】
この発明のもう1つの局面に従うと、スキャンテスト方法はステップ(a)−ステップ(d)を備える。ステップ(a)では、第1のクロックに同期してテストデータをスキャンチェーンにスキャンインする。ステップ(b)では、スキャンチェーンからの出力をスキャンチェーンの入力に与えることによってループを形成し、第1のクロックよりも高い周波数を有する第2のクロックに同期してテストデータを当該ループ上で所定期間シフトする。ステップ(c)では、テスト対象からのテストデータに対する出力すなわちテスト結果を第2のクロックに同期してスキャンチェーンに取り込む。ステップ(d)では、テスト結果をスキャンアウトする。
【0029】
上記スキャンテスト方法では、第1のクロックに同期してテストデータをスキャンチェーンにスキャンインし、第1のクロックの周波数よりも高い周波数を有する第2のクロックに同期して第1のスキャンチェーンにテスト結果を取り込む。したがって、テスト対象となる半導体集積回路(LSI)の動作速度が高速であっても、実際の動作速度で内部回路が正しく動くかどうかを調べるタイミングテスト(例えば、遅延故障検査など)を行うことができる。
【0030】
また、スキャンチェーンからの出力をスキャンチェーンの入力に与えることによってループを形成し、第2のクロックに同期してテストデータを当該ループ上で所定期間シフトする。これにより、第2のクロックが安定した状態で高精度なタイミングテストを行うことができる。
【0031】
【発明の実施の形態】
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【0032】
(第1の実施形態)
<構成>
図1は、この発明の第1の実施形態による半導体集積回路装置(LSI)の構成を示すブロック図である。図1に示すLSI1はスキャン設計されており、順序回路100と、セレクタ201と、テスト制御回路202と、スキャン入力端子11と、制御信号入力端子12と、クロック入力端子13と、スキャン出力端子14とを備える。
【0033】
スキャン入力端子11には外部からテストデータSINが与えられる。制御信号入力端子12には外部から制御信号STARTが与えられる。クロック入力端子13には外部からクロックCKが与えられる。スキャン出力端子14からテスト結果SOUTが外部に出力される。
【0034】
テスト制御回路202は、制御信号入力端子12からの制御信号STARTに基づいてループ信号LPおよびキャプチャ信号CAPTを生成する。具体的には、テスト制御回路202は、制御信号STARTがHレベル(論理ハイレベル)のときにはHレベルのループ信号LPを出力し、制御信号STARTがLレベル(論理ローレベル)のときにはLレベルのループ信号LPを出力する。またテスト制御回路202は、制御信号STARTがLレベルからHレベルに変化した時点から第1の期間(ここでは、クロックCKの6クロックサイクルとする。)が経過した後に第2の期間(ここでは、クロックCKの1クロックサイクルとする。)Hレベルのキャプチャ信号CAPTを出力し、それ以外のときはLレベルのキャプチャ信号CAPTを出力する。
【0035】
順序回路100はスキャンテストの対象となる回路であり、組み合わせ回路110と、スキャンフリップフロップff1−ff6とを含む。スキャンフリップフロップff1−ff6は、順序回路100に含まれていた通常のフリップフロップをスキャン動作が可能となるように置き換えたものである。このように置き換えることによって、順序回路100内のフリップフロップに完全な可制御性・可観測性が付加され、順序回路100を組み合わせ回路110として取り扱うことができる。スキャンフリップフロップff1−ff6は、スキャン動作が可能なフリップフロップである。スキャンフリップフロップff1−ff6は、シフトレジスタのように直列に接続され、クロック入力端子13からのクロックCKに同期して動作する。このように接続されたスキャンフリップフロップff1−ff6をスキャンチェーン120と呼ぶ。スキャンチェーン120は、スキャンテストのシフトモードではシフトレジスタとして働き、キャプチャモードおよび通常動作時には、順序回路100の機能を実現するための単なるフリップフロップとして働く。スキャンチェーン120は、テスト制御回路202からのキャプチャ信号CAPTに応答してシフトモードまたはキャプチャモードとなる。具体的には、スキャンチェーン120は、Hレベルのキャプチャ信号CAPTに応答してキャプチャモードとなり、Lレベルのキャプチャ信号CAPTに応答してシフトモードとなる。
【0036】
セレクタ201は、テスト制御回路202からのループ信号LPに応答して、スキャン入力端子11からのテストデータSINまたはスキャンチェーン120の出力(スキャンフリップフロップff6の出力)をスキャンチェーン120の入力(スキャンフリップフロップff1の入力)に与える。具体的には、セレクタ201はLレベルのループ信号LPに応答してスキャン入力端子11からのテストデータSINをスキャンチェーン120の入力に与え、Hレベルのループ信号LPに応答してスキャンチェーン120の出力をスキャンチェーン120の入力に与える。
【0037】
以上のように構成されたLSI1のうちのスキャンチェーン120、セレクタ201およびテスト制御回路202によってスキャンテスト回路が構成される。
【0038】
<スキャンテストの手順>
図1に示したスキャンテスト回路によるスキャンテストの手順について図2を参照しつつ説明する。
【0039】
(1)時刻t0から時刻t1までの期間
LSI1の実際の動作速度よりも低い周波数のクロックCKがクロック入力端子13に与えられる。また、Lレベルの制御信号STARTが制御信号入力端子12に与えられる。Lレベルの制御信号STARTに応答して、テスト制御回路202はLレベルのループ信号LPおよびLレベルのキャプチャ信号CAPTを出力する。クロックCKに同期してテストデータSIN(ここでは、D1−D6)がシリアルにスキャン入力端子11に与えられる。セレクタ201は、スキャン入力端子11からのテストデータD1−D6をスキャンチェーン120の入力に与える。スキャンチェーン120は、セレクタ201からのテストデータD1−D6をクロックCKに同期してシフトする。これにより、スキャンフリップフロップff6−ff1にはテストデータD1−D6がセットされる。
【0040】
以上のように、このスキャンテスト回路では、スキャン入力端子11に与えられたテストデータSIN(D1−D6)を、LSI1の実際の動作速度よりも低い周波数のクロックCKに同期してスキャンチェーン120に設定する。このように、スキャン入力端子11に与えられたテストデータSINをクロックCKに同期してスキャンチェーン120に設定することを「スキャンイン」という。
【0041】
(2)時刻t1から時刻t2までの期間
外部からクロック入力端子13へのクロックの供給が停止される。これは、クロック切り替え時のLSI1の誤動作を防ぐためである。また、この期間内に、制御信号入力端子12に与えられている制御信号STARTがLレベルからHレベルに切り替わる。これに応答してテスト制御回路202は、ループ信号LPをLレベルからHレベルに切り替える。Hレベルのループ信号LPに応答して、セレクタ201は、スキャンチェーン120の出力をスキャンチェーン120の入力に与える。これにより、(スキャンチェーン120の出力)−(セレクタ201)−(スキャンチェーン120の入力)間でループが形成される。
【0042】
(3)時刻t2から時刻t3までの期間
LSI1の実際の動作速度に等しい周波数のクロックCKがクロック入力端子13に与えられる。制御信号STARTおよびループ信号LPはHレベルであり、キャプチャ信号CAPTはLレベルである。スキャンチェーン120のスキャンフリップフロップff6−ff1に格納されたテストデータD1−D6は、LSI1の実際の動作速度に等しい周波数のクロックCKに同期してシフトされる。ここでは(スキャンチェーン120の出力)−(セレクタ201)−(スキャンチェーン120の入力)間でループが形成されているため、スキャンフリップフロップff6から出力されたデータはセレクタ201を介してスキャンフリップフロップff1に入力される。すなわち、スキャンチェーン120上のテストデータD1−D6は、LSI1の実際の動作速度に等しいクロックCKに同期して上述のループ上を巡回する。ここでは第1の期間を6クロックサイクルとしているため、時刻t2から時刻t3までの期間は6クロックサイクルとなる。したがって、時刻t3においてスキャンフリップフロップff6−ff1には再びテストデータD1−D6が設定される。
【0043】
テストデータD1−D6が上述のループ上を巡回している間に、LSI1の実際の動作速度に等しい周波数のクロックCKが安定する。これにより、タイミングテスト(例えば、遅延故障検査など)を安定してかつ高精度に行うことができる。
【0044】
なお、ここでは第1の期間を6クロックサイクルとしたが、この期間は任意に設定することができる。例えば、クロックCKが安定するまでにさらに長い期間を必要とするときには、12クロックサイクル、18クロックサイクルのようにすることができる。また、時刻t3においてスキャンフリップフロップff1−ff6に格納されるテストデータは第1の期間に応じて変わる。例えば第1の期間を7クロックサイクルとしたときには、時刻t3においてスキャンフリップフロップff6−ff1にはテストデータD2−D6,D1が格納される。したがって、クロックCKが安定するために必要な期間、スキャンフリップフロップff1−ff6に格納するテストデータに応じて第1の期間を設定することができる。
【0045】
(4)時刻t3から時刻t4までの期間
引き続き、LSI1の実際の動作速度に等しい周波数のクロックCKがクロック入力端子13に与えられる。制御信号STARTがLレベルからHレベルに変化した時点から第1の期間(6クロックサイクル)が経過したため、テスト制御回路202は、第2の期間(ここでは、時刻t3から時刻t4までの1クロックサイクル)Hレベルのキャプチャ信号CAPTを出力する。Hレベルのキャプチャ信号CAPTに応答してスキャンチェーン120はキャプチャモードとなる。キャプチャモードとなったスキャンチェーン120では、テストデータD1−D6に対する組み合わせ回路110の出力R1−R6(テスト結果)がスキャンフリップフロップff6−ff1に取り込まれる。これにより、スキャンフリップフロップff6−ff1に格納されていたテストデータD1−D6がテスト結果R1−R6に置き換えられる。このように、テストデータD1−D6に対する組み合わせ回路110の出力R1−R6(テスト結果)をスキャンフリップフロップff6−ff1に取り込むことを「キャプチャ」という。
【0046】
(5)時刻t4から時刻t5までの期間
テスト制御手段202は、Lレベルのキャプチャ信号CAPTを出力する。ループ信号LPはHレベルのままである。したがって、時刻t3から時刻t4までの期間にスキャンフリップフロップff6−ff1に取り込まれたテスト結果R1−R6は、(スキャンチェーン120の出力)−(セレクタ201)−(スキャンチェーン120の入力)間で形成されたループ上を、LSI1の実際の動作速度に等しい周波数のクロックCKに同期して巡回する。ここでは時刻t4から時刻t5までの期間を6クロックサイクルとしている。したがって、時刻t5においてスキャンフリップフロップff6−ff1には再びテスト結果R1−R6が設定される。
【0047】
(6)時刻t5から時刻t6までの期間
外部からクロック入力端子13へのクロックの供給が停止される。これは、クロック切り替え時のLSI1の誤動作を防ぐためである。また、この期間内に、制御信号入力端子12に与えられている制御信号STARTがHレベルからLレベルに切り替わる。これに応答してテスト制御回路202は、ループ信号LPをHレベルからLレベルに切り替える。
【0048】
(7)時刻t6から時刻t7までの期間
LSI1の実際の動作速度よりも遅い周波数のクロックCKがクロック入力端子13に与えられる。また、制御信号START、ループ信号LPおよびキャプチャ信号CAPTはLレベルである。スキャンチェーン120は、スキャンフリップフロップff6−ff1に格納されているテスト結果R1−R6をクロックCKに同期してシフトする。これにより、スキャン出力端子14から外部へテスト結果SOUT(R1−R6)が、クロックCKに同期してシリアルに出力される。
このように、スキャンフリップフロップff6−ff1に格納されているテスト結果R1−R6をスキャン出力端子14から外部へ出力することを「スキャンアウト」という。
【0049】
<効果>
この発明の第1の実施形態によるLSI1におけるスキャンテスト回路によれば以下の効果が得られる。
【0050】
LSI1の実際の動作速度よりも低い周波数のクロックに同期してスキャンインおよびスキャンアウトを行い、LSI1の実際の動作速度に等しい周波数のクロックに同期してキャプチャを行う。したがって、LSI1の動作速度が高速であっても、実際の動作速度で内部回路が正しく動くかどうかを調べるタイミングテスト(例えば、遅延故障検査など)を行うことができる。
【0051】
また、(スキャンチェーン120の出力)−(セレクタ201)−(スキャンチェーン120の入力)間でループを形成し、スキャンインしたテストデータD1−D6を所定期間このループ上で巡回させる。これにより、クロックが安定した状態で高精度なタイミングテストを行うことができる。
【0052】
また、高価なテスタを必要としないため、テストコストの上昇を抑えることができる。
【0053】
<なお書き>
ここでは6段のスキャンフリップフロップff1−ff6によってスキャンチェーン120を構成したけれどもスキャンチェーンを構成するスキャンフリップフロップの数は6段に限られない。
【0054】
また、ここでは、(スキャンチェーン120の出力)−(セレクタ201)−(スキャンチェーン120の入力)間で、6クロックサイクルで一巡するループを1つ形成した。これに代えて、スキャンチェーン120を複数のスキャンチェーンに分割し、複数のスキャンチェーンの各々についてループを形成してもよい。これにより、ループを一巡するのに要するクロックサイクル数を少なくすることができる。例えば、図3に示すように、スキャンチェーン120(図1)を、スキャンフリップフロップff1−ff3で構成されるスキャンチェーン301とスキャンフリップフロップff4−ff6で構成されるスキャンチェーン302とに分割する。また、セレクタ201と同様のセレクタ203を設ける。これにより、(スキャンチェーン301の出力)−(セレクタ201)−(スキャンチェーン301の入力)間、および(スキャンチェーン302の出力)−(セレクタ203)−(スキャンチェーン302の入力)間で、3クロックサイクルで一巡するループが形成される。
【0055】
(第2の実施形態)
<構成>
図4は、この発明の第2の実施形態による半導体集積回路装置(LSI)の構成を示すブロック図である。図4に示すLSI4は、図1に示した制御信号入力端子12およびテスト制御回路202に代えて、ループ信号入力端子15およびテスト制御回路400を備える。その他の構成は図1に示したLSI1と同様である。
【0056】
ループ信号入力端子15には外部からループ信号LPが与えられる。外部からループ信号入力端子15に与えられたループ信号LPは、セレクタ201およびテスト制御回路400に供給される。
【0057】
テスト制御回路400は、内部クロック発生回路401と、クロック切り替え器402と、キャプチャ信号発生回路403とを含む。内部クロック発生回路401は、LSI4の動作速度に等しい周波数のクロックCKbを生成する。クロック切り替え器402は、ループ信号入力端子15からのループ信号LPおよびキャプチャ信号発生回路403からのクロック制御信号SLに応答して、クロック入力端子13からのクロックCKaまたは内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。具体的には、クロック切り替え器402は、ループ信号LPおよびクロック制御信号SLがともにHレベルのとき内部クロック発生回路401からのクロックCKbをクロックCKとして出力し、それ以外のときはクロック入力端子13からのクロックCKaをクロックCKとして出力する。キャプチャ信号発生回路403は、ループ信号入力端子15からのループ信号LPおよびクロック切り替え器402からのクロックCKに基づいてキャプチャ信号CAPTおよびクロック制御信号SLを生成する。具体的には、キャプチャ信号発生回路403は、ループ信号LPがLレベルからHレベルに変化した時点から第1の期間(ここでは、クロックCKの6クロックサイクルとする。)が経過した後に第2の期間(ここでは、クロックCKの1クロックサイクルとする。)Hレベルのキャプチャ信号CAPTを出力し、それ以外のときはLレベルのキャプチャ信号CAPTを出力する。また、キャプチャ信号発生回路403は、ループ信号LPのLレベルからHレベルへの変化に応答して第3の期間(ここでは、クロックCKの13クロックサイクルとする。)Hレベルのクロック制御信号SLを出力し、それ以外のときはLレベルのクロック制御信号SLを出力する。
【0058】
以上のように構成されたLSI4のうちのスキャンチェーン120、セレクタ201およびテスト制御回路400によってスキャンテスト回路が構成される。
【0059】
<スキャンテストの手順>
図4に示したスキャンテスト回路によるスキャンテストの手順について図5を参照しつつ説明する。
【0060】
(1)時刻t0から時刻t1までの期間
LSI4の実際の動作速度よりも低い周波数のクロックCKaがクロック入力端子13に与えられる。また、Lレベルのループ信号LPがループ信号入力端子15に与えられる。Lレベルのループ信号LPに応答して、クロック切り替え器402はクロック入力端子13からのクロック信号CKaをクロックCKとして出力する。またキャプチャ信号発生回路403は、Lレベルのキャプチャ信号CAPTを出力する。テストデータSIN(ここでは、D1−D6)がシリアルにスキャン入力端子11に与えられる。セレクタ201は、スキャン入力端子11からのテストデータD1−D6をスキャンチェーン120の入力に与える。スキャンチェーン120は、セレクタ201からのテストデータD1−D6をクロックCKに同期してシフトする。これにより、スキャンフリップフロップff6−ff1にはテストデータD1−D6がセットされる。
【0061】
(2)時刻t1から時刻t2までの期間
外部からクロック入力端子13へのクロックCKaの供給が停止される。これは、クロック切り替え時のLSI4の誤動作を防ぐためである。なお、これ以降時刻t6までの期間、外部からクロック入力端子13へのクロックCKaの供給が停止される。時刻t1から時刻t2までの期間内に、ループ信号入力端子15に与えられるループ信号LPがLレベルからHレベルに切り替わる。これに応答してキャプチャ信号発生回路403は、クロック制御信号SLをLレベルからHレベルに切り替える。また、セレクタ201は、スキャンチェーン120の出力をスキャンチェーン120の入力に与える。これにより、(スキャンチェーン120の出力)−(セレクタ201)−(スキャンチェーン120の入力)間でループが形成される。
【0062】
(3)時刻t2から時刻t3までの期間
Hレベルのループ信号LPおよびHレベルのクロック制御信号SLに応答してクロック切り替え器402は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。キャプチャ信号発生回路403からのキャプチャ信号CAPTはLレベルである。スキャンチェーン120に格納されたテストデータD1−D6は、LSI4の実際の動作速度に等しいクロックCKに同期して上述のループ上を巡回する。ここでは第1の期間を6クロックサイクルとしているため、時刻t2から時刻t3までの期間は6クロックサイクルとなる。したがって、時刻t3においてスキャンフリップフロップff6−ff1には再びテストデータD1−D6が設定される。
【0063】
(4)時刻t3から時刻t4までの期間
引き続きクロック切り替え器402は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。ループ信号LPがLレベルからHレベルに変化した時点から第1の期間(6クロックサイクル)が経過したため、キャプチャ信号発生回路403は、第2の期間(ここでは、時刻t3から時刻t4までの1クロックサイクル)Hレベルのキャプチャ信号CAPTを出力する。Hレベルのキャプチャ信号CAPTに応答してスキャンチェーン120はキャプチャモードとなる。キャプチャモードとなったスキャンチェーン120では、テストデータD1−D6に対する組み合わせ回路110の出力R1−R6(テスト結果)がスキャンフリップフロップff6−ff1に取り込まれる。
【0064】
(5)時刻t4から時刻t5までの期間
引き続きクロック切り替え器402は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。キャプチャ信号発生回路403は、Lレベルのキャプチャ信号CAPTを出力する。ループ信号LPはHレベルのままである。したがって、時刻t3から時刻t4までの期間にスキャンフリップフロップff6−ff1に取り込まれたテスト結果R1−R6は、LSI4の実際の動作速度に等しい周波数のクロックCKに同期して上述のループ上を巡回する。
【0065】
ループ信号LPがLレベルからHレベルに変化してから第3の期間(クロックCKの13クロックサイクル)が経過すると、キャプチャ信号発生回路403は、クロック制御信号SLをHレベルからLレベルへ切り替える。時刻t4からこの時点までの期間は6クロックサイクルとなるため、スキャンフリップフロップff6−ff1には再びテスト結果R1−R6が設定される。
【0066】
なお、ここでは第3の期間を13クロックサイクルとしたけれども第3の期間はこれに限られない。例えば第3の期間を14クロックサイクルとしたときには時刻t4から第3の期間の終わりまでの期間は7クロックサイクルとなり、第3の期間が経過した時点でスキャンフリップフロップff6−ff1にはテスト結果R2−R6,R1が格納される。このように、第3の期間が経過した時点のスキャンフリップフロップff1−ff6に格納すべきテスト結果に応じて第3の期間を設定することができる。
【0067】
(6)時刻t5から時刻t6までの期間
Lレベルのクロック制御信号SLに応答してクロック切り替え器402は、クロック入力端子13からのクロックCKaをクロックCKとして出力する。ところがこの期間は外部からクロック入力端子13へのクロックCKaの供給が停止しているため、クロック切り替え器402からのクロックCKの出力も停止する。また、この期間内に、ループ信号入力端子15に与えられるループ信号LPがHレベルからLレベルに切り替わる。
【0068】
(7)時刻t6から時刻t7までの期間
外部からクロック入力端子13へふたたびクロックCKaが与えられる。クロック切り替え器402は、クロック入力端子13からのクロックCKaをクロックCKとして出力する。また、ループ信号LPおよびキャプチャ信号CAPTはLレベルである。スキャンチェーン120は、スキャンフリップフロップff6−ff1に格納されているテスト結果R1−R6をクロックCKに同期してシフトする。これにより、スキャン出力端子14から外部へテスト結果SOUT(R1−R6)が、クロックCKに同期してシリアルに出力される。スキャン出力端子14から外部へシリアルに出力されるテスト結果SOUTは、第3の期間が経過した時点でスキャンフリップフロップff6−ff1に格納されているテスト結果の順となる。
【0069】
<効果>
この発明の第2の実施形態によるLSI4におけるスキャンテスト回路では、第1の実施形態において説明した効果に加えてさらに以下の効果が得られる。
【0070】
一般に、高速で動作するLSIでは、スキャンチェーンのシフトモード/キャプチャモードの切り替えをLSIの実際の動作速度に応答して外部から制御するのは困難である。しかし、このスキャンテスト回路ではキャプチャ信号発生回路403を設けたため、スキャンチェーン120のシフトモード/キャプチャモードの切り替えを外部から制御する必要がない。したがって、高速で動作するLSIであっても実際の動作速度でのテストを容易に行うことができる。
【0071】
また一般に、LSIの内部クロックを高速なクロックから低速なクロックへ切り替えるタイミングをLSIの外部から直接正確に制御するのは困難である。しかしこのスキャンテスト回路では、キャプチャ信号発生回路403は、ループ信号LPがLレベルからHレベルに変化してから第3の期間が経過すると自動的にクロック制御信号SLをHレベルからLレベルに切り替え、これに応答してクロック切り替え器402は、クロック入力端子13からのクロックCKaをクロックCKとして出力する。これにより、時刻t5から時刻t6までの期間におけるクロックCKの切り替え(高速なクロックから低速なクロックへの切り替え)を外部から直接に制御する必要がない。したがって、高速で動作するLSIであっても実際の動作速度でのテストを容易に行うことができる。
【0072】
また、第3の期間を適切な期間に設定することによって、スキャン出力端子14から外部へシリアルに出力されるテスト結果の順序を所望の順序にすることができる。
【0073】
<なお書き>
ここでは、時刻t1からt2までの期間および時刻t5からt6までの期間、外部からクロック入力端子13へのクロックCKaの供給が停止しかつクロック切り替え器402はクロック入力端子13からのクロックCKaをクロックCKとして出力する。これにより、クロックCKの停止状態を実現している。これに代えて、Lレベルのクロック制御信号SLに応答してクロックCKbの発生を停止するように内部クロック発生回路401を構成し、かつ、内部クロック発生回路401からのクロックCKbをクロックCKとして出力するようにクロック切り替え器402を構成することによっても実現できる。
【0074】
(第3の実施形態)
<構成>
図6は、この発明の第3の実施形態による半導体集積回路装置(LSI)の構成を示すブロック図である。図6に示すLSI6は、図4に示したテスト制御回路400およびスキャンフリップフロップff1−ff6に代えて、テスト制御回路600およびスキャンフリップフロップff61−ff66を備える。その他の構成は図4に示したLSI4と同様である。
【0075】
テスト制御回路600は、内部クロック発生回路401と、クロック切り替え器601と、キャプチャ信号およびホールド信号発生回路602とを含む。クロック切り替え器601は、ループ信号入力端子15からのループ信号LPに応答して、クロック入力端子13からのクロックCKaまたは内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。具体的には、クロック切り替え器601は、ループ信号LPがHレベルのときは内部クロック発生回路401からのクロックCKbをクロックCKとして出力し、ループ信号LPがLレベルのときはクロック入力端子13からのクロックCKaをクロックCKとして出力する。キャプチャ信号およびホールド信号発生回路602は、ループ信号入力端子15からのループ信号LPおよびクロック切り替え器601からのクロックCKに基づいてキャプチャ信号CAPTおよびホールド信号HDを生成する。具体的には、キャプチャ信号およびホールド信号発生回路602は、ループ信号LPがLレベルからHレベルに変化した時点から第1の期間(ここでは、クロックCKの6クロックサイクルとする。)が経過した後に第2の期間(ここでは、クロックCKの1クロックサイクルとする。)Hレベルのキャプチャ信号CAPTを出力し、それ以外のときはLレベルのキャプチャ信号CAPTを出力する。また、キャプチャ信号発生回路403は、ループ信号LPがLレベルからHレベルに変化した時点から第3の期間(ここでは、クロックCKの13クロックサイクルとする。)が経過してからループ信号LPがLレベルに変化するまでの期間Hレベルのホールド信号HDを出力し、それ以外のときはLレベルのホールド信号HDを出力する。
【0076】
スキャンフリップフロップff61−ff66は、順序回路100に含まれていた通常のフリップフロップをスキャン動作が可能となるように置き換えたものである。スキャンフリップフロップff61−ff66は、シフトレジスタのように直列に接続され、クロック入力端子13からのクロックCKに同期して動作する。このように接続されたスキャンフリップフロップff61−ff66をスキャンチェーン120と呼ぶ。スキャンフリップフロップff61−ff66は、シフトモード(キャプチャ信号CAPTがLレベルのとき)においてキャプチャ信号およびホールド信号発生回路602からのホールド信号HDがLレベルのときはシフト動作を行い、シフトモードにおいてホールド信号HDがHレベルのときはシフト動作を行わずに値を保持し続ける。このようにスキャンフリップフロップff61−ff66が値を保持し続ける状態を以下「ホールドモード」という。
【0077】
以上のように構成されたLSI6のうちのスキャンチェーン120、セレクタ201およびテスト制御回路600によってスキャンテスト回路が構成される。
【0078】
<スキャンフリップフロップff61−ff66の構成および動作>
図7は、図6に示したスキャンフリップフロップff61−ff66の内部構成を示すブロック図である。図7を参照して、スキャンフリップフロップff61−ff66は、セレクタ701,702と、マスタラッチ703と、スレーブラッチ704と、インバータ705とを含む。セレクタ701は、Lレベルのホールド信号HDに応答して前段のスキャンフリップフロップからのデータSDをセレクタ702に出力し、Hレベルのホールド信号HDに応答してスレーブラッチ704の出力Qをセレクタ702に出力する。セレクタ702は、Lレベルのキャプチャ信号CAPTに応答してセレクタ701からのデータをマスタラッチ703に出力し、Hレベルのキャプチャ信号CAPTに応答して組み合わせ回路110(図6)からのデータDをマスタラッチ703に出力する。マスタラッチ703は、クロックCKに応答してセレクタ702からのデータをラッチし当該データをスレーブラッチ704に出力する。インバータ705はクロックCKを反転する。スレーブラッチ704は、インバータ705からのクロックに応答してマスタラッチ703からのデータをラッチし当該データを出力Qとして出力する。
【0079】
以上のように構成されたスキャンフリップフロップff61−ff66では、キャプチャ信号CAPTがLレベルの場合においてホールド信号HDがLレベルのときは、前段のスキャンフリップフロップからのデータSDがマスタラッチ703に与えられる。したがって、スキャンフリップフロップff61−ff66はシフトレジスタとして働く。一方、キャプチャ信号CAPTがLレベルの場合においてホールド信号HDがHレベルのときは、スレーブラッチ704の出力Qがマスタラッチ703に与えられる。したがって、スキャンフリップフロップff61−ff66は1サイクル前の値を保ち続ける。
【0080】
<スキャンテストの手順>
図6に示したスキャンテスト回路によるスキャンテストの手順について図8を参照しつつ説明する。
【0081】
(1)時刻t0から時刻t1までの期間
LSI6の実際の動作速度よりも低い周波数のクロックCKaがクロック入力端子13に与えられる。また、Lレベルのループ信号LPがループ信号入力端子15に与えられる。Lレベルのループ信号LPに応答して、クロック切り替え器601はクロック入力端子13からのクロック信号CKaをクロックCKとして出力する。キャプチャ信号およびホールド信号発生回路602は、Lレベルのキャプチャ信号CAPTを出力する。テストデータSIN(ここでは、D1−D6)がシリアルにスキャン入力端子11に与えられる。セレクタ201は、スキャン入力端子11からのテストデータD1−D6をスキャンチェーン120の入力に与える。スキャンチェーン120は、セレクタ201からのテストデータD1−D6をクロックCKに同期してシフトする。これにより、スキャンフリップフロップff66−ff61には、それぞれテストデータD1−D6がセットされる。
【0082】
(2)時刻t1から時刻t2までの期間
外部からクロック入力端子13へのクロックCKaの供給が停止される。これは、クロック切り替え時のLSI6の誤動作を防ぐためである。なお、これ以降時刻t6までの期間、外部からクロック入力端子13へのクロックCKaの供給が停止される。時刻t1から時刻t2までの期間内に、ループ信号入力端子15に与えられるループ信号LPがLレベルからHレベルに切り替わる。これに応答してセレクタ201は、スキャンチェーン120の出力をスキャンチェーン120の入力に与える。これにより、(スキャンチェーン120の出力)−(セレクタ201)−(スキャンチェーン120の入力)間でループが形成される。
【0083】
(3)時刻t2から時刻t3までの期間
Hレベルのループ信号LPに応答してクロック切り替え器601は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。キャプチャ信号およびホールド信号発生回路602からのキャプチャ信号CAPTはLレベルである。スキャンチェーン120に格納されたテストデータD1−D6は、LSI6の実際の動作速度に等しいクロックCKに同期して上述のループ上を巡回する。ここでは時刻t2から時刻t3までの期間を6クロックサイクルとしている。したがって、時刻t3においてスキャンフリップフロップff66−ff61には再びテストデータD1−D6が設定される。
【0084】
(4)時刻t3から時刻t4までの期間
引き続きクロック切り替え器601は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。ループ信号LPがLレベルからHレベルに変化した時点から第1の期間(6クロックサイクル)が経過したため、キャプチャ信号およびホールド信号発生回路602は、第2の期間(ここでは、時刻t3から時刻t4までの1クロックサイクル)Hレベルのキャプチャ信号CAPTを出力する。Hレベルのキャプチャ信号CAPTに応答してスキャンチェーン120はキャプチャモードとなる。キャプチャモードとなったスキャンチェーン120では、テストデータD1−D6に対する組み合わせ回路110の出力R1−R6(テスト結果)がスキャンフリップフロップff66−ff61に取り込まれる。
【0085】
(5)時刻t4から時刻t5までの期間
引き続きクロック切り替え器601は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。キャプチャ信号およびホールド信号発生回路602は、Lレベルのキャプチャ信号CAPTを出力する。ループ信号LPはHレベルのままである。したがって、時刻t3から時刻t4までの期間にスキャンフリップフロップff66−ff61に取り込まれたテスト結果R1−R6は、LSI6の実際の動作速度に等しい周波数のクロックCKに同期して上述のループ上を巡回する。
【0086】
ループ信号LPがLレベルからHレベルに変化してから第3の期間(クロックCKの13クロックサイクル)が経過すると、キャプチャ信号発生回路403は、ホールド信号HDをLレベルからHレベルへ切り替える。時刻t4からこの時点までの期間は6クロックサイクルとなるため、スキャンフリップフロップff66−ff61には再びテスト結果R1−R6が設定されている。これ以降、ホールド信号HDがHレベルである間スキャンフリップフロップff66−ff61はシフト動作を行わずにテスト結果R1−R6を保持し続ける。このようにスキャンフリップフロップff66−ff61がシフト動作を行わずにテスト結果R1−R6を保持し続ける状態を「ホールドモード」という。
【0087】
ここでは、第3の期間をクロックCKの13クロックサイクルとしたため、ホールド信号HDがHレベルになった時点でスキャンフリップフロップff66−ff61にはテスト結果R1−R6が設定される。第3の期間を変えることによって、ホールド信号HDがHレベルになった時点でスキャンフリップフロップff61−ff66に設定されるテスト結果が変わる。例えば、第3の期間をクロックCKの12クロックサイクルとすると、ホールド信号HDがHレベルになった時点でスキャンフリップフロップff66−ff61にはテスト結果R6,R1−R5が設定される。したがって、第3の期間を適切に設定することによって、ホールド信号HDがHレベルになった時点のスキャンフリップフロップff61−ff66に所望のテスト結果を設定することができる。
【0088】
(6)時刻t5から時刻t6までの期間
この期間内に、ループ信号入力端子15に与えられるループ信号LPがHレベルからLレベルに切り替わる。これに応答してキャプチャ信号およびホールド信号発生回路602はホールド信号HDをHレベルからLレベルに切り替える。これにより、スキャンフリップフロップff61−ff66はホールドモードではなくなる。また、クロック切り替え器601は、クロック入力端子13からのクロックCKaをクロックCKとして出力する。ところがこの期間は外部からクロック入力端子13へのクロックCKaの供給が停止しているため、クロック切り替え器601からのクロックCKの出力も停止する。
【0089】
(7)時刻t6から時刻t7までの期間
外部からクロック入力端子13へふたたびクロックCKaが与えられる。クロック切り替え器601は、クロック入力端子13からのクロックCKaをクロックCKとして出力する。また、ループ信号LP、ホールド信号HDおよびキャプチャ信号CAPTはLレベルである。スキャンチェーン120は、スキャンフリップフロップff66−ff61に格納されているテスト結果R1−R6をクロックCKに同期してシフトする。これにより、スキャン出力端子14から外部へテスト結果SOUT(R1−R6)が、クロックCKに同期してシリアルに出力される。スキャン出力端子14から外部へシリアルに出力されるテスト結果SOUTは、ホールド信号HDがHレベルになった時点でスキャンフリップフロップff6−ff1に格納されているテスト結果の順となる。
【0090】
<効果>
この発明の第3の実施形態によるLSI6におけるスキャンテスト回路では、第1の実施形態において説明した効果に加えてさらに以下の効果が得られる。
【0091】
キャプチャ信号およびホールド信号発生回路602を設けたため、スキャンチェーン120のシフトモード/キャプチャモードの切り替えを外部から制御する必要がない。したがって、高速で動作するLSIであっても実際の動作速度でのテストを容易に行うことができる。
【0092】
また、第3の期間を適切な期間に設定することによって、スキャン出力端子14から外部へシリアルに出力されるテスト結果の順序を自動的に所望の順序にすることができる。
【0093】
また、キャプチャ信号およびホールド信号発生回路602と、スキャンフリップフロップff61−ff66とを設けたため、スキャン出力端子14から外部へシリアルに出力されるテスト結果の順序を時刻t4から時刻t5までの期間の長さ(クロックサイクル数)にかかわらず一定の順序にすることができる。
【0094】
(第4の実施形態)
<構成>
図9は、この発明の第4の実施形態による半導体集積回路装置(LSI)の構成を示すブロック図である。図9に示すLSI9は、図4に示したテスト制御回路400およびスキャンフリップフロップff1−ff6に代えて、テスト制御回路900およびスキャンフリップフロップff1−ff4を備える。その他の構成は図4に示したLSI4と同様である。
【0095】
テスト制御回路900は、内部クロック発生回路401と、クロック切り替え器901と、キャプチャ信号発生回路902と、クロック計数器910とを含む。クロック切り替え器901は、ループ信号入力端子15からのループ信号LPに応答して、クロック入力端子13からのクロックCKaまたは内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。またクロック切り替え器901は、出力するクロックCKに応じたクロックモード信号CMを出力する。具体的には、クロック切り替え器901は、ループ信号LPがHレベルのときは内部クロック発生回路401からのクロックCKbをクロックCKとして出力し、ループ信号LPがLレベルのときはクロック入力端子13からのクロックCKaをクロックCKとして出力する。またクロック切り替え器901は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力するときはHレベルのクロックモード信号CMを出力し、クロック入力端子13からのクロックCKaをクロックCKとして出力するときはLレベルのクロックモード信号CMを出力する。キャプチャ信号発生回路902は、クロック切り替え器901からのクロックモード信号CMおよびクロックCKに基づいてキャプチャ信号CAPTを生成する。具体的には、キャプチャ信号発生回路902は、クロックモード信号CMがLレベルからHレベルに変化した時点から第1の期間(ここでは、クロックCKの4クロックサイクルとする。)が経過した後に第2の期間(ここでは、クロックCKの1クロックサイクルとする。)Hレベルのキャプチャ信号CAPTを出力し、それ以外のときはLレベルのキャプチャ信号CAPTを出力する。
【0096】
スキャンフリップフロップff1−ff4は、順序回路100に含まれていた通常のフリップフロップをスキャン動作が可能となるように置き換えたものである。スキャンフリップフロップff1−ff4は、シフトレジスタのように直列に接続され、クロック入力端子13からのクロックCKに同期して動作する。このように接続されたスキャンフリップフロップff1−ff4をスキャンチェーン120と呼ぶ。スキャンチェーン120は、Hレベルのキャプチャ信号CAPTに応答してキャプチャモードとなり、Lレベルのキャプチャ信号CAPTに応答してシフトモードとなる。
【0097】
クロック計数器910は、レジスタ911を含む。レジスタ911は、スキャンフリップフロップff11,ff12を含む。スキャンフリップフロップff11,ff12は、スキャン動作が可能なフリップフロップである。スキャンフリップフロップff11,ff12はシフトレジスタのように直列に接続されてスキャンチェーン912を構成する。スキャンチェーン912は、スキャンチェーン120の出力とスキャン出力端子14との間に接続される。スキャンチェーン912は、クロック切り替え器901からのクロックモード信号CMがLレベルのときにはシフトレジスタとして働き、クロック切り替え器901からのクロックモード信号CMがHレベルのときには2ビットのレジスタとして働く。スキャンフリップフロップff11,ff12は、キャプチャ信号発生回路902からのキャプチャ信号CAPTがHレベルのとき、保持している値をクロック切り替え器901からのクロックCKに同期してリセットする(0にする)。
【0098】
クロック計数器910は、クロック切り替え器901からのクロックモード信号CMがHレベルのとき、クロック切り替え器901からのクロックCKの立ち上がりに応答して、レジスタ911に格納されている値に1を加算しその結果をレジスタ911に格納する。このようにしてクロック計数器910はクロックCKの数をカウントする。
【0099】
以上のように構成されたLSI9のうちのスキャンチェーン120、セレクタ201およびテスト制御回路900によってスキャンテスト回路が構成される。
【0100】
<スキャンテストの手順>
図9に示したスキャンテスト回路によるスキャンテストの手順について図10を参照しつつ説明する。
【0101】
(1)時刻t0から時刻t1までの期間
LSI9の実際の動作速度よりも低い周波数のクロックCKaがクロック入力端子13に与えられる。また、Lレベルのループ信号LPがループ信号入力端子15に与えられる。Lレベルのループ信号LPに応答してクロック切り替え器901は、クロック入力端子13からのクロック信号CKaをクロックCKとして出力するとともにLレベルのクロックモード信号CMを出力する。キャプチャ信号発生回路902は、Lレベルのキャプチャ信号CAPTを出力する。レジスタ911の初期値(ここでは、0,0)およびテストデータSIN(ここでは、D1−D4)がシリアルにスキャン入力端子11に与えられる。セレクタ201は、スキャン入力端子11からの初期値0,0およびテストデータD1−D4をスキャンチェーン120の入力に与える。直列に接続されたスキャンチェーン120,912は、セレクタ201からの初期値0,0およびテストデータD1−D4をクロックCKに同期してシフトする。これにより、スキャンフリップフロップff12,ff11には初期値0,0が、スキャンフリップフロップff4−ff1にはテストデータD1−D4がセットされる。
【0102】
(2)時刻t1から時刻t2までの期間
外部からクロック入力端子13へのクロックCKaの供給が停止される。これは、クロック切り替え時のLSI9の誤動作を防ぐためである。なお、これ以降時刻t6までの期間、外部からクロック入力端子13へのクロックCKaの供給が停止される。時刻t1から時刻t2までの期間内に、ループ信号入力端子15に与えられるループ信号LPがLレベルからHレベルに切り替わる。これに応答してセレクタ201は、スキャンチェーン120の出力をスキャンチェーン120の入力に与える。これにより、(スキャンチェーン120の出力)−(セレクタ201)−(スキャンチェーン120の入力)間でループが形成される。LレベルからHレベルへのループ信号LPの切り替わりに応答して、クロック切り替え器901は、クロックモード信号CMをLレベルからHレベルに切り替える。
【0103】
(3)時刻t2から時刻t3までの期間
Hレベルのループ信号LPに応答してクロック切り替え器901は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。キャプチャ信号発生回路902からのキャプチャ信号CAPTはLレベルである。スキャンチェーン120に格納されたテストデータD1−D4は、LSI9の実際の動作速度に等しいクロックCKに同期して上述のループ上を巡回する。ここでは時刻t2から時刻t3までの期間を4クロックサイクルとしている。したがって、時刻t3においてスキャンフリップフロップff4−ff1には再びテストデータD1−D4が設定される。
【0104】
クロック計数器910は、クロック切り替え器901からのクロックCKの立ち上がりごとに、レジスタ911内のスキャンチェーン912に格納されている値に1を加算しその結果をスキャンチェーン912に格納する。時刻t2より前の時点でスキャンチェーン912には初期値として0(10進表示)が格納されている。したがって、スキャンチェーン912に格納される値CNTは、クロックCKの立ち上がりごとに1,2,3,0(すべて10進表示)となる。
【0105】
(4)時刻t3から時刻t4までの期間
引き続きクロック切り替え器901は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。クロックモード信号CMがLレベルからHレベルに変化した時点から第1の期間(4クロックサイクル)が経過したため、キャプチャ信号発生回路902は、第2の期間(ここでは、時刻t3から時刻t4までの1クロックサイクル)Hレベルのキャプチャ信号CAPTを出力する。Hレベルのキャプチャ信号CAPTに応答してスキャンチェーン120はキャプチャモードとなる。キャプチャモードとなったスキャンチェーン120では、テストデータD1−D4に対する組み合わせ回路110の出力R1−R4(テスト結果)がスキャンフリップフロップff4−ff1に取り込まれる。スキャンフリップフロップff11,ff12は、保持している値をクロックCKに同期してリセットする(0にする)。
【0106】
(5)時刻t4から時刻t5までの期間
引き続きクロック切り替え器901は、内部クロック発生回路401からのクロックCKbをクロックCKとして出力する。キャプチャ信号発生回路902は、Lレベルのキャプチャ信号CAPTを出力する。ループ信号LPおよびクロックモード信号CMはHレベルのままである。したがって、時刻t3から時刻t4までの期間にスキャンフリップフロップff4−ff1に取り込まれたテスト結果R1−R4は、LSI9の実際の動作速度に等しい周波数のクロックCKに同期して上述のループ上を巡回する。ここでは、時刻t4から時刻t5までの期間を5クロックサイクルとしている。したがって時刻t5においてスキャンフリップフロップff4−ff1にはテスト結果R2−R4,R1が格納される。
【0107】
時刻t4においてスキャンチェーン912には0(10進表示)が格納されている。したがって、スキャンチェーン912に格納される値CNTは、クロックCKの立ち上がりごとに1,2,3,0,1(すべて10進表示)となる。
【0108】
(6)時刻t5から時刻t6までの期間
この期間内に、ループ信号入力端子15に与えられるループ信号LPがHレベルからLレベルに切り替わる。これに応答してクロック切り替え器901は、クロックモード信号CMをHレベルからLレベルに切り替える。またクロック切り替え器901は、クロック入力端子13からのクロックCKaをクロックCKとして出力する。ところがこの期間は外部からクロック入力端子13へのクロックCKaの供給が停止しているため、クロック切り替え器901からのクロックCKの出力も停止する。
【0109】
(7)時刻t6から時刻t7までの期間
外部からクロック入力端子13へふたたびクロックCKaが与えられる。クロック切り替え器901は、クロック入力端子13からのクロックCKaをクロックCKとして出力する。また、ループ信号LP、クロックモード信号CMおよびキャプチャ信号CAPTはLレベルである。直列に接続されたスキャンチェーン912,120は、スキャンフリップフロップff12,ff11,ff4−ff1に格納されている計数値C12,C11およびテスト結果R2−R4,R1をクロックCKに同期してシフトする。これにより、スキャン出力端子14から外部へ計数値C12,C11およびテスト結果R2−R4,R1が、クロックCKに同期してシリアルに出力される。ここで出力される2ビットの計数値(C12,C11)を10進数で表わすと1である。この計数値(C12,C11)は、出力されるテスト結果R2−R4,R1の順序が1クロック分ずれていることを示している。したがって、出力されたテスト結果R2−R4,R1の順序をR1−R4に補正する。そして補正した順序のテスト結果R1−R4と期待値とを比較する。
【0110】
LSI9の実際の動作速度が高速な場合、所望の数のクロックサイクルが経過した時点でループ信号LPをHレベルからLレベルに外部から直接に切り替えるのは困難である。実際には、ループ信号LPをLレベルからHレベルに切り替えた後、LSI9の内部でキャプチャが行われるのに十分な時間が経過するのを待ってからループ信号LPをLレベルに切り替える。したがって、ここでは時刻t4から時刻t5までの期間はクロックCKの5クロックサイクルとなっているけれどもこの期間が3クロックサイクルや100クロックサイクルとなることもある。そしてスキャンアウトされるテスト結果の順序は、時刻t4から時刻t5までの期間のクロックサイクル数に応じてずれる。例えば時刻t4から時刻t5までの期間が3クロックサイクルの場合、スキャンアウトされる計数値(C12,C11)は3(10進表記)、テスト結果の順序はR4,R1−R3となる。この計数値(C12,C11)は、出力されるテスト結果R4,R1−R3の順序が3クロック分ずれていることを示している。したがって、出力されたテスト結果R4,R1−R3の順序をR1−R4に補正する。このように、計数値(C12,C11)を用いてテスト結果の順序のずれを補正する。
【0111】
<効果>
この発明の第4の実施形態によるLSI9におけるスキャンテスト回路では、第1の実施形態において説明した効果に加えてさらに以下の効果が得られる。
【0112】
すなわち、クロック計数器910を設けたため、スキャンアウトされるテスト結果の順序のずれを補正することができる。
【0113】
<なお書き>
ここでは4段のスキャンフリップフロップff1−ff4によってスキャンチェーン120を構成したけれどもスキャンチェーン120を構成するスキャンフリップフロップの段数は4段に限られない。さらにスキャンチェーン120を構成するスキャンフリップフロップの段数に応じて、スキャンチェーン912を構成するスキャンフリップフロップの段数も適宜変えることが望ましい。
【0114】
また、ここではキャプチャ信号CAPTを用いてスキャンフリップフロップff11,ff12をリセットしたけれどもスキャンフリップフロップff11,ff12をリセットするための信号はこれに限られない。何クロック目に発生したかを外部から特定できる信号であればよい。このような信号であればそのクロック数を用いて計数値を補正できるためである。
【0115】
また、内部クロック発生回路401からのクロックCKbにクロックCKが切り替わってからキャプチャまでのクロックサイクル数はあらかじめ決まっている。したがって、スキャンフリップフロップff11,ff12をリセットしなくとも、スキャンインの際にスキャンフリップフロップff11,ff12に初期値を設定しておけば計数値を補正することができる。
【0116】
また、スキャンインの際にスキャンフリップフロップff11,ff12を0で初期化し、キャプチャ信号CAPTがHレベルになるまではスキャンフリップフロップff11,ff12をシフト動作させて初期値0を保持させる。キャプチャ信号CAPTがHレベルになった以降は、クロックCKの数を保持するレジスタとしてスキャンフリップフロップff11,ff12を機能させる。そしてスキャンアウトのときはスキャンフリップフロップff11,ff12をシフト動作させてクロックCKの数を読み出すというようにしてもよい。
【0117】
【発明の効果】
この発明の1つの局面に従ったスキャンテスト回路では、第1のクロックに同期して第1のスキャンチェーンにテストデータをセットし、第1のクロックの周波数よりも高い周波数を有する第2のクロックに同期して第1のスキャンチェーンにテスト結果を取り込むことができる。したがって、テスト対象となる半導体集積回路(LSI)の動作速度が高速であっても、実際の動作速度で内部回路が正しく動くかどうかを調べるタイミングテスト(例えば、遅延故障検査など)を行うことができる。
【0118】
また、(第1のスキャンチェーンの出力)−(セレクタ)−(第1のスキャンチェーンの入力)間でループを形成し、第1のスキャンチェーンにセットされたテストデータをこのループ上で巡回させることができる。これにより、第2のクロックが安定した状態で高精度なタイミングテストを行うことができる。
【0119】
また、高価なテスタを必要としないため、テストコストの上昇を抑えることができる。
【0120】
また、キャプチャ信号発生手段を設けたため、第1のスキャンチェーンのシフトモード/キャプチャモードの切り替えを外部から直接に制御する必要がない。したがって、高速で動作するLSIであっても実際の動作速度でのテストを容易に行うことができる。
【0121】
また、クロック切り替え手段を設けたため、第1のスキャンチェーンに供給するクロックの切り替えを外部から直接に制御する必要がない。したがって、高速で動作するLSIであっても実際の動作速度でのテストを容易に行うことができる。
【0122】
また、ホールド信号発生手段を設け、第1のスキャンチェーンは活性のホールド信号を受けている間はシフト動作を行わずにデータを保持し続けるため、第1のスキャンチェーンがキャプチャモードからシフトモードに変わってから活性のホールド信号を第1のスキャンチェーンに与えるまでの期間を適切な期間に設定することによって、外部へ出力されるテスト結果の順序を所望の順序にすることができる。
【0123】
また、クロック計数手段を設けたため、外部へ出力されるテスト結果の順序のずれを補正することができる。
【0124】
この発明のもう1つの局面に従ったスキャンテスト方法では、第1のクロックに同期してテストデータをスキャンチェーンにスキャンインし、第1のクロックの周波数よりも高い周波数を有する第2のクロックに同期して第1のスキャンチェーンにテスト結果を取り込む。したがって、テスト対象となる半導体集積回路(LSI)の動作速度が高速であっても、実際の動作速度で内部回路が正しく動くかどうかを調べるタイミングテスト(例えば、遅延故障検査など)を行うことができる。
【0125】
また、スキャンチェーンからの出力をスキャンチェーンの入力に与えることによってループを形成し、第2のクロックに同期してテストデータを当該ループ上で所定期間シフトする。これにより、第2のクロックが安定した状態で高精度なタイミングテストを行うことができる。
【図面の簡単な説明】
【図1】この発明の第1の実施形態によるLSIの構成を示すブロック図である。
【図2】図1に示したスキャンテスト回路の動作を説明するためのタイミングチャートである。
【図3】図1に示したスキャンチェーンを分割して2つのループを形成する場合の例を示す図である。
【図4】この発明の第2の実施形態によるLSIの構成を示すブロック図である。
【図5】図4に示したスキャンテスト回路の動作を説明するためのタイミングチャートである。
【図6】この発明の第3の実施形態によるLSIの構成を示すブロック図である。
【図7】図6に示したスキャンフリップフロップの内部構成を示すブロック図である。
【図8】図6に示したスキャンテスト回路の動作を説明するためのタイミングチャートである。
【図9】この発明の第4の実施形態によるLSIの構成を示すブロック図である。
【図10】図9に示したスキャンテスト回路の動作を説明するためのタイミングチャートである。
【符号の説明】
120,912 スキャンチェーン
201 セレクタ
402,601,901 クロック切り替え器
403,902 キャプチャ信号発生回路
602 キャプチャ信号およびホールド信号発生回路
910 クロック係数器
ff1−ff6,ff61−ff66,ff11,ff12 スキャンフリップフロップ
CK,CKa,CKb クロック
CAPT キャプチャ信号
HD ホールド信号
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a scan test circuit and a scan test method, and more particularly to a scan test circuit and a scan test method for testing a semiconductor integrated circuit (LSI) at an actual operation speed.
[0002]
[Background Art and Problems to be Solved by the Invention]
A scan test is known as a method for testing the inside of an LSI. In general, the scan test is performed by synchronizing the internal circuit of the LSI and the external input / output unit with the same clock. Normally, the internal circuit of an LSI can operate at a high speed, whereas the operation speed of the external input / output unit of the LSI is lower. For this reason, the speed of the scan test is limited by the operation speed of the external input / output unit of the LSI. Therefore, in the case of an LSI that operates at a high speed, it is difficult to perform a timing test (for example, a delay fault inspection) that checks whether an internal circuit operates correctly at an actual operation speed by a scan test. On the other hand, when the timing test is performed by a method other than the scan test, the test pattern becomes enormous. In addition, an expensive tester is required.
[0003]
In recent years, several approaches for performing a timing test such as a delay fault inspection by a scan test have been made. For this purpose, not only the test can be performed at a high speed but also a highly accurate cycle time is required.
[0004]
JP-A-2-247586 discloses a technique for speeding up a scan test by providing FIFO memories before and after a scan chain.
[0005]
An object of the present invention is to provide a scan test circuit and a scan test method capable of testing an LSI operating at a high speed at an actual operation speed.
[0006]
[Means for Solving the Problems]
According to one aspect of the present invention, the scan test circuit includes a first scan chain and a selector. The selector selectively supplies test data or output data of the first scan chain to an input of the first scan chain. The first scan chain has a shift mode and a capture mode. In the shift mode, the first scan chain shifts data supplied to the input by the selector in synchronization with the first clock or the second clock. The second clock has a higher frequency than the frequency of the first clock. In the capture mode, the first scan chain captures the output for the test data from the test object in synchronization with the second clock.
[0007]
In the scan test circuit, first, test data is given to the input of the first scan chain by the selector. The first scan chain enters the shift mode, and the test data given to the input by the selector is shifted in synchronization with the first clock. As a result, test data is set in the first scan chain.
[0008]
The selector then provides the output data of the first scan chain to the input of the first scan chain. Thereby, a loop is formed between (output of the first scan chain) − (selector) − (input of the first scan chain). The first scan chain remains in the shift mode, and the set test data is shifted in synchronization with the second clock. Here, since a loop is formed between (output of the first scan chain) − (selector) − (input of the first scan chain), the test data output from the first scan chain passes through the selector. Given to the input of the scan chain. That is, the test data set in the first scan chain circulates on the loop in synchronization with the second clock. While the test data circulates on the loop, the second clock is stabilized.
[0009]
Next, the first scan chain enters the capture mode, and the output (test result) for the test data from the test object is captured in synchronization with the second clock. As a result, the test data stored in the first scan chain is replaced with the test result. Then, the first scan chain again enters the shift mode, and the test result is output to the outside in synchronization with the first clock.
[0010]
As described above, the scan test circuit sets test data in the first scan chain in synchronization with the first clock, and synchronizes with the second clock having a frequency higher than the frequency of the first clock. Thus, the test result can be taken into the first scan chain. Therefore, even if the operation speed of the semiconductor integrated circuit (LSI) to be tested is high, it is possible to perform a timing test (for example, a delay fault inspection) to check whether the internal circuit operates correctly at the actual operation speed. it can.
[0011]
Further, a loop is formed between (output of the first scan chain)-(selector)-(input of the first scan chain), and the test data set in the first scan chain is circulated on this loop. be able to. As a result, a highly accurate timing test can be performed while the second clock is stable.
[0012]
Moreover, since an expensive tester is not required, an increase in test cost can be suppressed.
[0013]
Preferably, the scan test circuit further includes capture signal generation means. The capture signal generating means outputs an active capture signal after the first period has elapsed since the data given to the input of the first scan chain by the selector is switched from the test data to the output data of the first scan chain. Output for the period. The first scan chain enters the capture mode in response to the active capture signal from the capture signal generating means, and enters the shift mode in response to the inactive capture signal.
[0014]
In the scan test circuit, first, test data is given to the input of the first scan chain by the selector. The capture signal generating means outputs an inactive capture signal. In response to the inactive capture signal, the first scan chain enters the shift mode, and the test data given to the input by the selector is shifted in synchronization with the first clock. As a result, test data is set in the first scan chain.
[0015]
The selector then provides the output data of the first scan chain to the input of the first scan chain. Thereby, a loop is formed between (output of the first scan chain) − (selector) − (input of the first scan chain). Subsequently, the capture signal generating means outputs an inactive capture signal. The first scan chain remains in the shift mode, and the set test data is shifted in synchronization with the second clock. That is, the test data set in the first scan chain circulates on the loop in synchronization with the second clock.
[0016]
When the first period elapses after the output data of the first scan chain is supplied to the input of the first scan chain, the capture signal generating means outputs an active capture signal. In response to the active capture signal, the first scan chain enters the capture mode, and the output (test result) for the test data from the test object is captured in synchronization with the second clock. As a result, the test data stored in the first scan chain is replaced with the test result.
[0017]
When the active capture signal is output for the second period, the capture signal generating means outputs an inactive capture signal. In response to the inactive capture signal, the first scan chain again enters the shift mode, and the test result is output to the outside in synchronization with the first clock.
[0018]
In an LSI operating at high speed, it is difficult to control the switching of the scan chain shift mode / capture mode from the outside in response to the actual operating speed of the LSI. However, in the scan test circuit, the shift mode / capture mode of the first scan chain is switched in response to the capture signal from the capture signal generating means. For this reason, it is not necessary to directly control switching of the shift mode / capture mode of the first scan chain from the outside. Therefore, even an LSI that operates at high speed can be easily tested at an actual operation speed.
[0019]
Preferably, the scan test circuit further includes a clock switching unit. The clock switching means selectively supplies the first clock or the second clock to the first scan chain.
[0020]
Preferably, the clock switching means supplies the second clock to the first clock for a predetermined period in response to switching of data applied to the input of the first scan chain by the selector from the test data to the output data of the first scan chain. The first clock is supplied to the first scan chain when the predetermined period elapses.
[0021]
In the scan test circuit, since the clock switching means is provided, it is not necessary to directly control switching of the clock supplied to the first scan chain from the outside. Therefore, even an LSI that operates at high speed can be easily tested at an actual operation speed.
[0022]
Preferably, the scan test circuit further includes hold signal generating means. The hold signal generating means is a period from when the first scan chain changes from the capture mode to the shift mode and immediately after a predetermined period elapses until immediately before the scan-out by the first scan chain. give. The first scan chain continues to hold data without performing a shift operation while receiving an active hold signal from the hold signal generating means.
[0023]
In the scan test circuit, when the first scan chain changes from the capture mode to the shift mode, the test result taken into the first scan chain is (output of the first scan chain) − (selector) − (first Circulates in synchronization with the second clock on the loop formed between the inputs of the scan chain. When a predetermined period elapses after the first scan chain changes from the capture mode to the shift mode, the hold signal generating means gives an active hold signal to the first scan chain. While receiving the active hold signal, the first scan chain continues to hold the test result without shifting. After the hold signal from the hold signal generating means is switched from active to inactive, the first scan chain outputs the held test result serially to the outside in synchronization with the first clock (scanout). To do. The order of the test results scanned out (output to the outside) is the order of the test results stored in the scan chain when the active hold signal is given to the first scan chain. Therefore, by setting the predetermined period (the period from when the first scan chain is changed from the capture mode to the shift mode until the active hold signal is given to the first scan chain) to an appropriate period, the output is performed to the outside. The order of the test results to be performed can be in a desired order.
[0024]
Preferably, the scan test circuit further includes clock counting means. The clock counting means counts the number of second clocks applied to the first scan chain after the first scan chain changes from the capture mode to the shift mode.
[0025]
In the scan test circuit, when the first scan chain changes from the capture mode to the shift mode, the test result taken into the first scan chain is (output of the first scan chain) − (selector) − (first Circulates in synchronization with the second clock on the loop formed between the inputs of the scan chain. When a predetermined period elapses after the first scan chain changes from the capture mode to the shift mode, the first scan chain outputs the held test result serially to the outside in synchronization with the first clock ( Scan out). The order of the test results output to the outside deviates according to the number of second clocks given to the first scan chain during the predetermined period. The number of second clocks given to the first scan chain during the predetermined period is counted by the clock counting means. Accordingly, it is possible to correct a shift in the order of the test results output to the outside.
[0026]
Preferably, the clock counting means includes a second scan chain. The second scan chain is connected in series with the first scan chain. When the second clock is applied to the first scan chain, the second scan chain holds the number of second clocks to be counted. When the first clock is supplied to the first scan chain, the second scan chain shifts the value to be held in synchronization with the first clock.
[0027]
In the scan test circuit, the number of the second clock given to the first scan chain during the predetermined period is held in the second scan chain. The first and second scan chains connected in series are externally synchronized with the first clock by synchronizing the test result and the number of second clocks given to the first scan chain during the predetermined period. Output serially.
[0028]
According to another aspect of the present invention, the scan test method includes steps (a) to (d). In step (a), test data is scanned into the scan chain in synchronization with the first clock. In step (b), a loop is formed by applying the output from the scan chain to the input of the scan chain, and the test data is synchronized with the second clock having a higher frequency than the first clock on the loop. Shift for a predetermined period. In step (c), the output for the test data from the test object, that is, the test result is taken into the scan chain in synchronization with the second clock. In step (d), the test result is scanned out.
[0029]
In the scan test method, the test data is scanned into the scan chain in synchronization with the first clock, and the first scan chain is synchronized with the second clock having a frequency higher than the frequency of the first clock. Capture test results. Therefore, even if the operation speed of the semiconductor integrated circuit (LSI) to be tested is high, it is possible to perform a timing test (for example, a delay fault inspection) to check whether the internal circuit operates correctly at the actual operation speed. it can.
[0030]
Further, a loop is formed by giving the output from the scan chain to the input of the scan chain, and the test data is shifted on the loop for a predetermined period in synchronization with the second clock. As a result, a highly accurate timing test can be performed while the second clock is stable.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and description thereof will not be repeated.
[0032]
(First embodiment)
<Configuration>
FIG. 1 is a block diagram showing a configuration of a semiconductor integrated circuit device (LSI) according to the first embodiment of the present invention. The LSI 1 shown in FIG. 1 is designed to be scanned, and includes a sequential circuit 100, a selector 201, a test control circuit 202, a scan input terminal 11, a control signal input terminal 12, a clock input terminal 13, and a scan output terminal 14. With.
[0033]
Test data SIN is given to the scan input terminal 11 from the outside. A control signal START is supplied to the control signal input terminal 12 from the outside. A clock CK is supplied to the clock input terminal 13 from the outside. The test result SOUT is output from the scan output terminal 14 to the outside.
[0034]
The test control circuit 202 generates a loop signal LP and a capture signal CAPT based on the control signal START from the control signal input terminal 12. Specifically, the test control circuit 202 outputs an H level loop signal LP when the control signal START is at an H level (logic high level), and is at an L level when the control signal START is at an L level (logic low level). The loop signal LP is output. In addition, the test control circuit 202 has a second period (here, six clock cycles of the clock CK) after the first period (here, six clock cycles of the clock CK) has elapsed since the control signal START changes from the L level to the H level. The clock signal CK is one clock cycle.) The H level capture signal CAPT is output, and otherwise, the L level capture signal CAPT is output.
[0035]
The sequential circuit 100 is a circuit to be subjected to a scan test, and includes a combinational circuit 110 and scan flip-flops ff1 to ff6. The scan flip-flops ff1 to ff6 are obtained by replacing the normal flip-flops included in the sequential circuit 100 so that the scan operation can be performed. By replacing in this way, complete controllability and observability are added to the flip-flops in the sequential circuit 100, and the sequential circuit 100 can be handled as the combinational circuit 110. The scan flip-flops ff1-ff6 are flip-flops that can perform a scan operation. The scan flip-flops ff1 to ff6 are connected in series like a shift register and operate in synchronization with the clock CK from the clock input terminal 13. The scan flip-flops ff1 to ff6 connected in this way are called a scan chain 120. The scan chain 120 functions as a shift register in the shift mode of the scan test, and functions as a mere flip-flop for realizing the function of the sequential circuit 100 in the capture mode and the normal operation. The scan chain 120 enters the shift mode or the capture mode in response to the capture signal CAPT from the test control circuit 202. Specifically, the scan chain 120 enters the capture mode in response to the H level capture signal CAPT, and enters the shift mode in response to the L level capture signal CAPT.
[0036]
In response to the loop signal LP from the test control circuit 202, the selector 201 outputs the test data SIN from the scan input terminal 11 or the output of the scan chain 120 (output of the scan flip-flop ff6) to the input of the scan chain 120 (scan flip-flop). Input to ff1). Specifically, the selector 201 applies test data SIN from the scan input terminal 11 to the input of the scan chain 120 in response to the L level loop signal LP, and responds to the H level loop signal LP in response to the scan chain 120. The output is applied to the input of the scan chain 120.
[0037]
Of the LSI 1 configured as described above, the scan chain 120, the selector 201, and the test control circuit 202 constitute a scan test circuit.
[0038]
<Scan test procedure>
A scan test procedure by the scan test circuit shown in FIG. 1 will be described with reference to FIG.
[0039]
(1) Period from time t0 to time t1
A clock CK having a frequency lower than the actual operation speed of the LSI 1 is applied to the clock input terminal 13. An L level control signal START is applied to the control signal input terminal 12. In response to the L level control signal START, the test control circuit 202 outputs an L level loop signal LP and an L level capture signal CAPT. Test data SIN (D1-D6 in this case) is serially applied to the scan input terminal 11 in synchronization with the clock CK. The selector 201 supplies test data D 1 -D 6 from the scan input terminal 11 to the input of the scan chain 120. The scan chain 120 shifts the test data D1-D6 from the selector 201 in synchronization with the clock CK. As a result, the test data D1-D6 are set in the scan flip-flops ff6-ff1.
[0040]
As described above, in this scan test circuit, the test data SIN (D1-D6) given to the scan input terminal 11 is transferred to the scan chain 120 in synchronization with the clock CK having a frequency lower than the actual operation speed of the LSI 1. Set. Thus, setting the test data SIN given to the scan input terminal 11 in the scan chain 120 in synchronization with the clock CK is called “scan-in”.
[0041]
(2) Period from time t1 to time t2
Clock supply from the outside to the clock input terminal 13 is stopped. This is to prevent malfunction of the LSI 1 at the time of clock switching. Also, during this period, the control signal START applied to the control signal input terminal 12 is switched from the L level to the H level. In response to this, the test control circuit 202 switches the loop signal LP from the L level to the H level. In response to the H level loop signal LP, the selector 201 provides the output of the scan chain 120 to the input of the scan chain 120. As a result, a loop is formed between (output of scan chain 120) − (selector 201) − (input of scan chain 120).
[0042]
(3) Period from time t2 to time t3
A clock CK having a frequency equal to the actual operating speed of the LSI 1 is applied to the clock input terminal 13. Control signal START and loop signal LP are at the H level, and capture signal CAPT is at the L level. The test data D1-D6 stored in the scan flip-flops ff6-ff1 of the scan chain 120 are shifted in synchronization with the clock CK having a frequency equal to the actual operation speed of the LSI 1. Here, since a loop is formed between (output of the scan chain 120) − (selector 201) − (input of the scan chain 120), the data output from the scan flip-flop ff6 is passed through the selector 201 to the scan flip-flop. It is input to ff1. That is, the test data D1-D6 on the scan chain 120 circulates on the above loop in synchronization with the clock CK equal to the actual operating speed of the LSI 1. Here, since the first period is 6 clock cycles, the period from time t2 to time t3 is 6 clock cycles. Accordingly, the test data D1-D6 is set again in the scan flip-flops ff6-ff1 at time t3.
[0043]
While the test data D1-D6 circulates on the above loop, the clock CK having a frequency equal to the actual operation speed of the LSI 1 is stabilized. Thereby, a timing test (for example, a delay fault inspection etc.) can be performed stably and with high accuracy.
[0044]
Although the first period is 6 clock cycles here, this period can be arbitrarily set. For example, when a longer period is required until the clock CK becomes stable, it can be set to 12 clock cycles or 18 clock cycles. Further, the test data stored in the scan flip-flops ff1 to ff6 at time t3 changes according to the first period. For example, when the first period is 7 clock cycles, the test data D2-D6 and D1 are stored in the scan flip-flops ff6-ff1 at time t3. Therefore, the first period can be set according to the test data stored in the scan flip-flops ff1 to ff6, which is necessary for the clock CK to be stable.
[0045]
(4) Period from time t3 to time t4
Subsequently, a clock CK having a frequency equal to the actual operation speed of the LSI 1 is supplied to the clock input terminal 13. Since the first period (6 clock cycles) has elapsed from the time when the control signal START changes from the L level to the H level, the test control circuit 202 performs the second period (here, one clock from time t3 to time t4). Cycle) The H level capture signal CAPT is output. In response to the H level capture signal CAPT, the scan chain 120 enters the capture mode. In the scan chain 120 in the capture mode, the outputs R1-R6 (test results) of the combinational circuit 110 for the test data D1-D6 are taken into the scan flip-flops ff6-ff1. As a result, the test data D1-D6 stored in the scan flip-flops ff6-ff1 are replaced with the test results R1-R6. Thus, capturing the outputs R1-R6 (test results) of the combinational circuit 110 for the test data D1-D6 into the scan flip-flops ff6-ff1 is referred to as “capture”.
[0046]
(5) Period from time t4 to time t5
The test control means 202 outputs an L level capture signal CAPT. The loop signal LP remains at the H level. Therefore, the test results R1-R6 captured in the scan flip-flops ff6-ff1 during the period from time t3 to time t4 are between (output of scan chain 120) − (selector 201) − (input of scan chain 120). The formed loop circulates in synchronization with a clock CK having a frequency equal to the actual operating speed of the LSI 1. Here, the period from time t4 to time t5 is 6 clock cycles. Accordingly, the test results R1-R6 are set again in the scan flip-flops ff6-ff1 at time t5.
[0047]
(6) Period from time t5 to time t6
Clock supply from the outside to the clock input terminal 13 is stopped. This is to prevent malfunction of the LSI 1 at the time of clock switching. Also, during this period, the control signal START applied to the control signal input terminal 12 is switched from the H level to the L level. In response to this, the test control circuit 202 switches the loop signal LP from the H level to the L level.
[0048]
(7) Period from time t6 to time t7
A clock CK having a frequency slower than the actual operation speed of the LSI 1 is applied to the clock input terminal 13. Further, the control signal START, the loop signal LP, and the capture signal CAPT are at the L level. The scan chain 120 shifts the test results R1-R6 stored in the scan flip-flops ff6-ff1 in synchronization with the clock CK. As a result, the test result SOUT (R1-R6) is serially output from the scan output terminal 14 in synchronization with the clock CK.
Thus, outputting the test results R1-R6 stored in the scan flip-flops ff6-ff1 from the scan output terminal 14 to the outside is referred to as “scanout”.
[0049]
<Effect>
The scan test circuit in the LSI 1 according to the first embodiment of the present invention provides the following effects.
[0050]
Scan-in and scan-out are performed in synchronization with a clock having a frequency lower than the actual operation speed of the LSI 1, and capture is performed in synchronization with a clock having a frequency equal to the actual operation speed of the LSI 1. Therefore, even if the operation speed of the LSI 1 is high, it is possible to perform a timing test (for example, a delay fault inspection) that checks whether the internal circuit operates correctly at the actual operation speed.
[0051]
Further, a loop is formed between (output of scan chain 120)-(selector 201)-(input of scan chain 120), and the scanned-in test data D1-D6 are circulated on this loop for a predetermined period. As a result, a highly accurate timing test can be performed while the clock is stable.
[0052]
Moreover, since an expensive tester is not required, an increase in test cost can be suppressed.
[0053]
<Notes>
Here, the scan chain 120 is configured by the six-stage scan flip-flops ff1 to ff6, but the number of scan flip-flops configuring the scan chain is not limited to six.
[0054]
Further, here, one loop is formed between (output of the scan chain 120) − (selector 201) − (input of the scan chain 120) in six clock cycles. Alternatively, the scan chain 120 may be divided into a plurality of scan chains, and a loop may be formed for each of the plurality of scan chains. As a result, the number of clock cycles required to make a round of the loop can be reduced. For example, as shown in FIG. 3, the scan chain 120 (FIG. 1) is divided into a scan chain 301 composed of scan flip-flops ff1-ff3 and a scan chain 302 composed of scan flip-flops ff4-ff6. Further, a selector 203 similar to the selector 201 is provided. Thus, between (output of scan chain 301)-(selector 201)-(input of scan chain 301) and between (output of scan chain 302)-(selector 203)-(input of scan chain 302), 3 A loop that makes a round in a clock cycle is formed.
[0055]
(Second Embodiment)
<Configuration>
FIG. 4 is a block diagram showing a configuration of a semiconductor integrated circuit device (LSI) according to the second embodiment of the present invention. The LSI 4 shown in FIG. 4 includes a loop signal input terminal 15 and a test control circuit 400 in place of the control signal input terminal 12 and the test control circuit 202 shown in FIG. Other configurations are the same as those of the LSI 1 shown in FIG.
[0056]
The loop signal LP is supplied to the loop signal input terminal 15 from the outside. A loop signal LP applied to the loop signal input terminal 15 from the outside is supplied to the selector 201 and the test control circuit 400.
[0057]
Test control circuit 400 includes an internal clock generation circuit 401, a clock switch 402, and a capture signal generation circuit 403. The internal clock generation circuit 401 generates a clock CKb having a frequency equal to the operation speed of the LSI 4. The clock switcher 402 responds to the loop signal LP from the loop signal input terminal 15 and the clock control signal SL from the capture signal generation circuit 403, or the clock CKa from the clock input terminal 13 or the clock from the internal clock generation circuit 401. CKb is output as the clock CK. Specifically, the clock switch 402 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK when both the loop signal LP and the clock control signal SL are at the H level, and otherwise the clock input terminal 13. Is output as the clock CK. The capture signal generation circuit 403 generates a capture signal CAPT and a clock control signal SL based on the loop signal LP from the loop signal input terminal 15 and the clock CK from the clock switch 402. Specifically, the capture signal generation circuit 403 performs the second operation after the first period (here, 6 clock cycles of the clock CK) has elapsed from the time when the loop signal LP changes from the L level to the H level. During this period (here, one clock cycle of the clock CK), the H level capture signal CAPT is output, and otherwise, the L level capture signal CAPT is output. Further, the capture signal generation circuit 403 responds to the change of the loop signal LP from the L level to the H level in the third period (here, 13 clock cycles of the clock CK). The H level clock control signal SL. Otherwise, an L level clock control signal SL is output.
[0058]
Of the LSI 4 configured as described above, the scan chain 120, the selector 201, and the test control circuit 400 constitute a scan test circuit.
[0059]
<Scan test procedure>
The procedure of the scan test by the scan test circuit shown in FIG. 4 will be described with reference to FIG.
[0060]
(1) Period from time t0 to time t1
A clock CKa having a frequency lower than the actual operation speed of the LSI 4 is applied to the clock input terminal 13. Further, the L level loop signal LP is applied to the loop signal input terminal 15. In response to the L level loop signal LP, the clock switch 402 outputs the clock signal CKa from the clock input terminal 13 as the clock CK. The capture signal generation circuit 403 outputs an L level capture signal CAPT. Test data SIN (here, D1-D6) is serially applied to the scan input terminal 11. The selector 201 supplies test data D 1 -D 6 from the scan input terminal 11 to the input of the scan chain 120. The scan chain 120 shifts the test data D1-D6 from the selector 201 in synchronization with the clock CK. As a result, the test data D1-D6 are set in the scan flip-flops ff6-ff1.
[0061]
(2) Period from time t1 to time t2
The supply of the clock CKa to the clock input terminal 13 from the outside is stopped. This is to prevent malfunction of the LSI 4 at the time of clock switching. Note that the supply of the clock CKa from the outside to the clock input terminal 13 is stopped during the period up to the time t6 thereafter. Within a period from time t1 to time t2, the loop signal LP applied to the loop signal input terminal 15 is switched from L level to H level. In response to this, the capture signal generation circuit 403 switches the clock control signal SL from the L level to the H level. The selector 201 gives the output of the scan chain 120 to the input of the scan chain 120. As a result, a loop is formed between (output of scan chain 120) − (selector 201) − (input of scan chain 120).
[0062]
(3) Period from time t2 to time t3
In response to the H level loop signal LP and the H level clock control signal SL, the clock switch 402 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK. Capture signal CAPT from capture signal generation circuit 403 is at L level. The test data D1-D6 stored in the scan chain 120 circulates on the above loop in synchronization with the clock CK equal to the actual operation speed of the LSI 4. Here, since the first period is 6 clock cycles, the period from time t2 to time t3 is 6 clock cycles. Accordingly, the test data D1-D6 is set again in the scan flip-flops ff6-ff1 at time t3.
[0063]
(4) Period from time t3 to time t4
Subsequently, the clock switch 402 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK. Since the first period (six clock cycles) has elapsed since the time when the loop signal LP changed from the L level to the H level, the capture signal generation circuit 403 performs the second period (here, 1 from the time t3 to the time t4). (Clock cycle) An H level capture signal CAPT is output. In response to the H level capture signal CAPT, the scan chain 120 enters the capture mode. In the scan chain 120 in the capture mode, the outputs R1-R6 (test results) of the combinational circuit 110 for the test data D1-D6 are taken into the scan flip-flops ff6-ff1.
[0064]
(5) Period from time t4 to time t5
Subsequently, the clock switch 402 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK. The capture signal generation circuit 403 outputs an L level capture signal CAPT. The loop signal LP remains at the H level. Therefore, the test results R1-R6 fetched into the scan flip-flops ff6-ff1 during the period from the time t3 to the time t4 are circulated on the above loop in synchronization with the clock CK having a frequency equal to the actual operation speed of the LSI 4. To do.
[0065]
When the third period (13 clock cycles of the clock CK) elapses after the loop signal LP changes from the L level to the H level, the capture signal generation circuit 403 switches the clock control signal SL from the H level to the L level. Since the period from time t4 to this point is 6 clock cycles, the test results R1-R6 are set again in the scan flip-flops ff6-ff1.
[0066]
Although the third period is 13 clock cycles here, the third period is not limited to this. For example, when the third period is 14 clock cycles, the period from time t4 to the end of the third period is 7 clock cycles, and when the third period has elapsed, the scan flip-flops ff6-ff1 have the test result R2 -R6 and R1 are stored. As described above, the third period can be set according to the test result to be stored in the scan flip-flops ff1 to ff6 when the third period has elapsed.
[0067]
(6) Period from time t5 to time t6
In response to the L level clock control signal SL, the clock switch 402 outputs the clock CKa from the clock input terminal 13 as the clock CK. However, since the supply of the clock CKa from the outside to the clock input terminal 13 is stopped during this period, the output of the clock CK from the clock switch 402 is also stopped. Further, within this period, the loop signal LP applied to the loop signal input terminal 15 is switched from the H level to the L level.
[0068]
(7) Period from time t6 to time t7
The clock CKa is again supplied to the clock input terminal 13 from the outside. The clock switch 402 outputs the clock CKa from the clock input terminal 13 as the clock CK. The loop signal LP and the capture signal CAPT are at the L level. The scan chain 120 shifts the test results R1-R6 stored in the scan flip-flops ff6-ff1 in synchronization with the clock CK. As a result, the test result SOUT (R1-R6) is serially output from the scan output terminal 14 in synchronization with the clock CK. The test results SOUT serially output from the scan output terminal 14 are in the order of the test results stored in the scan flip-flops ff6-ff1 when the third period has elapsed.
[0069]
<Effect>
In the scan test circuit in the LSI 4 according to the second embodiment of the present invention, the following effects are obtained in addition to the effects described in the first embodiment.
[0070]
In general, in an LSI operating at high speed, it is difficult to control the switching of the scan chain shift mode / capture mode from the outside in response to the actual operating speed of the LSI. However, since the scan signal generation circuit 403 is provided in this scan test circuit, it is not necessary to control the shift mode / capture mode switching of the scan chain 120 from the outside. Therefore, even an LSI that operates at high speed can be easily tested at an actual operation speed.
[0071]
In general, it is difficult to accurately control the timing of switching the internal clock of an LSI from a high-speed clock to a low-speed clock directly from the outside of the LSI. However, in this scan test circuit, the capture signal generation circuit 403 automatically switches the clock control signal SL from the H level to the L level when the third period elapses after the loop signal LP changes from the L level to the H level. In response to this, the clock switch 402 outputs the clock CKa from the clock input terminal 13 as the clock CK. This eliminates the need to directly control the switching of the clock CK (switching from a high-speed clock to a low-speed clock) during the period from time t5 to time t6. Therefore, even an LSI that operates at high speed can be easily tested at an actual operation speed.
[0072]
In addition, by setting the third period to an appropriate period, the order of test results serially output from the scan output terminal 14 to the outside can be changed to a desired order.
[0073]
<Notes>
Here, the supply of the clock CKa from the outside to the clock input terminal 13 is stopped during the period from the time t1 to the time t2 and the period from the time t5 to the time t6, and the clock switching unit 402 clocks the clock CKa from the clock input terminal 13 Output as CK. Thereby, the stop state of the clock CK is realized. Instead, the internal clock generation circuit 401 is configured to stop the generation of the clock CKb in response to the L-level clock control signal SL, and the clock CKb from the internal clock generation circuit 401 is output as the clock CK. This can also be realized by configuring the clock switch 402.
[0074]
(Third embodiment)
<Configuration>
FIG. 6 is a block diagram showing a configuration of a semiconductor integrated circuit device (LSI) according to the third embodiment of the present invention. The LSI 6 shown in FIG. 6 includes a test control circuit 600 and scan flip-flops ff61-ff66 instead of the test control circuit 400 and scan flip-flops ff1-ff6 shown in FIG. Other configurations are the same as those of the LSI 4 shown in FIG.
[0075]
Test control circuit 600 includes an internal clock generation circuit 401, a clock switch 601, and a capture signal and hold signal generation circuit 602. In response to the loop signal LP from the loop signal input terminal 15, the clock switcher 601 outputs the clock CKa from the clock input terminal 13 or the clock CKb from the internal clock generation circuit 401 as the clock CK. Specifically, the clock switch 601 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK when the loop signal LP is at the H level, and from the clock input terminal 13 when the loop signal LP is at the L level. The clock CKa is output as the clock CK. The capture signal and hold signal generation circuit 602 generates the capture signal CAPT and the hold signal HD based on the loop signal LP from the loop signal input terminal 15 and the clock CK from the clock switch 601. Specifically, the capture signal and hold signal generation circuit 602 has passed the first period (here, 6 clock cycles of the clock CK) from the time when the loop signal LP changes from the L level to the H level. Later, in a second period (here, one clock cycle of the clock CK), an H level capture signal CAPT is output, and in other cases, an L level capture signal CAPT is output. The capture signal generation circuit 403 receives the loop signal LP after a third period (here, 13 clock cycles of the clock CK) has elapsed since the loop signal LP changed from the L level to the H level. The H level hold signal HD is output during the period until it changes to the L level, and the L level hold signal HD is output otherwise.
[0076]
The scan flip-flops ff61 to ff66 are obtained by replacing normal flip-flops included in the sequential circuit 100 so that a scan operation can be performed. The scan flip-flops ff61 to ff66 are connected in series like a shift register and operate in synchronization with the clock CK from the clock input terminal 13. The scan flip-flops ff61 to ff66 connected in this way are called a scan chain 120. Scan flip-flops ff61-ff66 perform a shift operation when the capture signal and hold signal HD from hold signal generation circuit 602 are at L level in the shift mode (when capture signal CAPT is at L level), and hold signals in shift mode. When HD is at the H level, the value is continuously held without performing the shift operation. The state in which the scan flip-flops ff61 to ff66 continue to hold values is hereinafter referred to as “hold mode”.
[0077]
Of the LSI 6 configured as described above, a scan test circuit is configured by the scan chain 120, the selector 201, and the test control circuit 600.
[0078]
<Configuration and operation of scan flip-flops ff61-ff66>
FIG. 7 is a block diagram showing an internal configuration of the scan flip-flops ff61 to ff66 shown in FIG. Referring to FIG. 7, scan flip-flops ff61-ff66 include selectors 701, 702, a master latch 703, a slave latch 704, and an inverter 705. The selector 701 outputs the data SD from the preceding scan flip-flop to the selector 702 in response to the L level hold signal HD, and outputs the output Q of the slave latch 704 to the selector 702 in response to the H level hold signal HD. Output. The selector 702 outputs the data from the selector 701 to the master latch 703 in response to the L level capture signal CAPT, and the data D from the combinational circuit 110 (FIG. 6) in response to the H level capture signal CAPT. Output to. The master latch 703 latches the data from the selector 702 in response to the clock CK and outputs the data to the slave latch 704. The inverter 705 inverts the clock CK. The slave latch 704 latches the data from the master latch 703 in response to the clock from the inverter 705 and outputs the data as the output Q.
[0079]
In the scan flip-flops ff61 to ff66 configured as described above, when the hold signal HD is at the L level when the capture signal CAPT is at the L level, the data SD from the previous scan flip-flop is supplied to the master latch 703. Accordingly, the scan flip-flops ff61 to ff66 function as shift registers. On the other hand, when the hold signal HD is at the H level when the capture signal CAPT is at the L level, the output Q of the slave latch 704 is given to the master latch 703. Therefore, the scan flip-flops ff61 to ff66 keep the value one cycle before.
[0080]
<Scan test procedure>
The procedure of the scan test by the scan test circuit shown in FIG. 6 will be described with reference to FIG.
[0081]
(1) Period from time t0 to time t1
A clock CKa having a frequency lower than the actual operation speed of the LSI 6 is applied to the clock input terminal 13. Further, the L level loop signal LP is applied to the loop signal input terminal 15. In response to the L level loop signal LP, the clock switch 601 outputs the clock signal CKa from the clock input terminal 13 as the clock CK. The capture signal and hold signal generation circuit 602 outputs an L level capture signal CAPT. Test data SIN (here, D1-D6) is serially applied to the scan input terminal 11. The selector 201 supplies test data D 1 -D 6 from the scan input terminal 11 to the input of the scan chain 120. The scan chain 120 shifts the test data D1-D6 from the selector 201 in synchronization with the clock CK. As a result, the test data D1-D6 are set in the scan flip-flops ff66-ff61, respectively.
[0082]
(2) Period from time t1 to time t2
The supply of the clock CKa to the clock input terminal 13 from the outside is stopped. This is to prevent malfunction of the LSI 6 when the clock is switched. Note that the supply of the clock CKa from the outside to the clock input terminal 13 is stopped during the period up to the time t6 thereafter. Within a period from time t1 to time t2, the loop signal LP applied to the loop signal input terminal 15 is switched from L level to H level. In response to this, the selector 201 gives the output of the scan chain 120 to the input of the scan chain 120. As a result, a loop is formed between (output of scan chain 120) − (selector 201) − (input of scan chain 120).
[0083]
(3) Period from time t2 to time t3
In response to the H level loop signal LP, the clock switch 601 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK. Capture signal CAPT from capture signal and hold signal generation circuit 602 is at L level. The test data D1-D6 stored in the scan chain 120 circulates on the above loop in synchronization with the clock CK equal to the actual operation speed of the LSI 6. Here, the period from time t2 to time t3 is 6 clock cycles. Therefore, the test data D1-D6 is set again in the scan flip-flops ff66-ff61 at time t3.
[0084]
(4) Period from time t3 to time t4
Subsequently, the clock switch 601 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK. Since the first period (six clock cycles) has elapsed since the time when the loop signal LP changed from the L level to the H level, the capture signal and hold signal generation circuit 602 operates in the second period (here, from time t3 to time t4). 1 clock cycle until) The H level capture signal CAPT is output. In response to the H level capture signal CAPT, the scan chain 120 enters the capture mode. In the scan chain 120 in the capture mode, the outputs R1-R6 (test results) of the combinational circuit 110 for the test data D1-D6 are taken into the scan flip-flops ff66-ff61.
[0085]
(5) Period from time t4 to time t5
Subsequently, the clock switch 601 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK. The capture signal and hold signal generation circuit 602 outputs an L level capture signal CAPT. The loop signal LP remains at the H level. Therefore, the test results R1-R6 captured in the scan flip-flops ff66-ff61 during the period from the time t3 to the time t4 circulate on the above loop in synchronization with the clock CK having a frequency equal to the actual operating speed of the LSI 6. To do.
[0086]
When the third period (13 clock cycles of clock CK) elapses after the loop signal LP changes from L level to H level, the capture signal generation circuit 403 switches the hold signal HD from L level to H level. Since the period from time t4 to this point is 6 clock cycles, the test results R1-R6 are set again in the scan flip-flops ff66-ff61. Thereafter, while the hold signal HD is at the H level, the scan flip-flops ff66 to ff61 continue to hold the test results R1 to R6 without performing the shift operation. A state in which the scan flip-flops ff66 to ff61 continue to hold the test results R1 to R6 without performing the shift operation is referred to as “hold mode”.
[0087]
Here, since the third period is 13 clock cycles of the clock CK, the test results R1-R6 are set in the scan flip-flops ff66-ff61 when the hold signal HD becomes H level. By changing the third period, the test result set in the scan flip-flops ff61 to ff66 at the time when the hold signal HD becomes H level is changed. For example, if the third period is 12 clock cycles of the clock CK, the test results R6, R1-R5 are set in the scan flip-flops ff66-ff61 when the hold signal HD becomes H level. Therefore, by setting the third period appropriately, a desired test result can be set in the scan flip-flops ff61 to ff66 at the time when the hold signal HD becomes H level.
[0088]
(6) Period from time t5 to time t6
Within this period, the loop signal LP applied to the loop signal input terminal 15 is switched from the H level to the L level. In response to this, the capture signal and hold signal generation circuit 602 switches the hold signal HD from the H level to the L level. As a result, the scan flip-flops ff61 to ff66 are not in the hold mode. The clock switch 601 outputs the clock CKa from the clock input terminal 13 as the clock CK. However, since the supply of the clock CKa from the outside to the clock input terminal 13 is stopped during this period, the output of the clock CK from the clock switch 601 is also stopped.
[0089]
(7) Period from time t6 to time t7
The clock CKa is again supplied to the clock input terminal 13 from the outside. The clock switch 601 outputs the clock CKa from the clock input terminal 13 as the clock CK. Further, the loop signal LP, the hold signal HD, and the capture signal CAPT are at the L level. The scan chain 120 shifts the test results R1-R6 stored in the scan flip-flops ff66-ff61 in synchronization with the clock CK. As a result, the test result SOUT (R1-R6) is serially output from the scan output terminal 14 in synchronization with the clock CK. The test results SOUT output serially from the scan output terminal 14 are in the order of the test results stored in the scan flip-flops ff6-ff1 when the hold signal HD becomes H level.
[0090]
<Effect>
In the scan test circuit in the LSI 6 according to the third embodiment of the present invention, the following effects can be obtained in addition to the effects described in the first embodiment.
[0091]
Since the capture signal and hold signal generation circuit 602 is provided, it is not necessary to control the shift mode / capture mode switching of the scan chain 120 from the outside. Therefore, even an LSI that operates at high speed can be easily tested at an actual operation speed.
[0092]
Further, by setting the third period to an appropriate period, the order of the test results serially output from the scan output terminal 14 to the outside can be automatically set to a desired order.
[0093]
Further, since the capture signal and hold signal generation circuit 602 and the scan flip-flops ff61 to ff66 are provided, the order of the test results serially output from the scan output terminal 14 to the outside is set to the length of the period from time t4 to time t5. Regardless of the number of clock cycles, the order can be fixed.
[0094]
(Fourth embodiment)
<Configuration>
FIG. 9 is a block diagram showing a configuration of a semiconductor integrated circuit device (LSI) according to the fourth embodiment of the present invention. The LSI 9 shown in FIG. 9 includes a test control circuit 900 and scan flip-flops ff1-ff4 instead of the test control circuit 400 and scan flip-flops ff1-ff6 shown in FIG. Other configurations are the same as those of the LSI 4 shown in FIG.
[0095]
The test control circuit 900 includes an internal clock generation circuit 401, a clock switch 901, a capture signal generation circuit 902, and a clock counter 910. In response to the loop signal LP from the loop signal input terminal 15, the clock switch 901 outputs the clock CKa from the clock input terminal 13 or the clock CKb from the internal clock generation circuit 401 as the clock CK. The clock switcher 901 outputs a clock mode signal CM corresponding to the output clock CK. Specifically, the clock switch 901 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK when the loop signal LP is at the H level, and from the clock input terminal 13 when the loop signal LP is at the L level. The clock CKa is output as the clock CK. The clock switch 901 outputs an H-level clock mode signal CM when outputting the clock CKb from the internal clock generation circuit 401 as the clock CK, and outputs the clock CKa from the clock input terminal 13 as the clock CK. Outputs an L-level clock mode signal CM. The capture signal generation circuit 902 generates a capture signal CAPT based on the clock mode signal CM and the clock CK from the clock switch 901. Specifically, the capture signal generation circuit 902 performs the first operation after the first period (here, four clock cycles of the clock CK) has elapsed since the clock mode signal CM changed from the L level to the H level. The H level capture signal CAPT is output for a period of 2 (here, one clock cycle of the clock CK). Otherwise, the L level capture signal CAPT is output.
[0096]
The scan flip-flops ff1 to ff4 are obtained by replacing normal flip-flops included in the sequential circuit 100 so that a scan operation can be performed. The scan flip-flops ff1 to ff4 are connected in series like a shift register and operate in synchronization with the clock CK from the clock input terminal 13. The scan flip-flops ff1 to ff4 connected in this way are referred to as a scan chain 120. The scan chain 120 enters the capture mode in response to the H level capture signal CAPT, and enters the shift mode in response to the L level capture signal CAPT.
[0097]
The clock counter 910 includes a register 911. The register 911 includes scan flip-flops ff11 and ff12. The scan flip-flops ff11 and ff12 are flip-flops that can perform a scan operation. The scan flip-flops ff11 and ff12 are connected in series like a shift register to form a scan chain 912. The scan chain 912 is connected between the output of the scan chain 120 and the scan output terminal 14. The scan chain 912 functions as a shift register when the clock mode signal CM from the clock switch 901 is at L level, and functions as a 2-bit register when the clock mode signal CM from the clock switch 901 is at H level. The scan flip-flops ff11 and ff12 reset the held value in synchronization with the clock CK from the clock switch 901 (set it to 0) when the capture signal CAPT from the capture signal generation circuit 902 is at the H level.
[0098]
The clock counter 910 adds 1 to the value stored in the register 911 in response to the rising edge of the clock CK from the clock switch 901 when the clock mode signal CM from the clock switch 901 is at the H level. The result is stored in the register 911. In this way, the clock counter 910 counts the number of clocks CK.
[0099]
Of the LSI 9 configured as described above, the scan chain 120, the selector 201, and the test control circuit 900 constitute a scan test circuit.
[0100]
<Scan test procedure>
A scan test procedure by the scan test circuit shown in FIG. 9 will be described with reference to FIG.
[0101]
(1) Period from time t0 to time t1
A clock CKa having a frequency lower than the actual operating speed of the LSI 9 is applied to the clock input terminal 13. Further, the L level loop signal LP is applied to the loop signal input terminal 15. In response to the L level loop signal LP, the clock switch 901 outputs the clock signal CKa from the clock input terminal 13 as the clock CK and also outputs the L level clock mode signal CM. The capture signal generation circuit 902 outputs an L level capture signal CAPT. The initial value (here, 0, 0) of the register 911 and the test data SIN (here, D1-D4) are serially applied to the scan input terminal 11. The selector 201 gives initial values 0, 0 and test data D1-D4 from the scan input terminal 11 to the input of the scan chain 120. The scan chains 120 and 912 connected in series shift the initial values 0 and 0 and the test data D1 to D4 from the selector 201 in synchronization with the clock CK. As a result, initial values 0 and 0 are set in the scan flip-flops ff12 and ff11, and test data D1 to D4 are set in the scan flip-flops ff4 and ff1.
[0102]
(2) Period from time t1 to time t2
The supply of the clock CKa to the clock input terminal 13 from the outside is stopped. This is to prevent malfunction of the LSI 9 at the time of clock switching. Note that the supply of the clock CKa from the outside to the clock input terminal 13 is stopped during the period up to the time t6 thereafter. Within a period from time t1 to time t2, the loop signal LP applied to the loop signal input terminal 15 is switched from L level to H level. In response to this, the selector 201 gives the output of the scan chain 120 to the input of the scan chain 120. As a result, a loop is formed between (output of scan chain 120) − (selector 201) − (input of scan chain 120). In response to the switching of the loop signal LP from the L level to the H level, the clock switch 901 switches the clock mode signal CM from the L level to the H level.
[0103]
(3) Period from time t2 to time t3
In response to the H level loop signal LP, the clock switch 901 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK. Capture signal CAPT from capture signal generation circuit 902 is at L level. The test data D1-D4 stored in the scan chain 120 circulates on the above loop in synchronization with the clock CK equal to the actual operation speed of the LSI 9. Here, the period from time t2 to time t3 is 4 clock cycles. Accordingly, the test data D1-D4 is set again in the scan flip-flops ff4-ff1 at time t3.
[0104]
The clock counter 910 adds 1 to the value stored in the scan chain 912 in the register 911 every time the clock CK from the clock switch 901 rises, and stores the result in the scan chain 912. Before the time t2, the scan chain 912 stores 0 (decimal display) as an initial value. Therefore, the value CNT stored in the scan chain 912 is 1, 2, 3, 0 (all in decimal notation) every time the clock CK rises.
[0105]
(4) Period from time t3 to time t4
Subsequently, the clock switch 901 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK. Since the first period (four clock cycles) has elapsed since the clock mode signal CM changed from the L level to the H level, the capture signal generation circuit 902 operates in the second period (here, from time t3 to time t4). 1 clock cycle) An H level capture signal CAPT is output. In response to the H level capture signal CAPT, the scan chain 120 enters the capture mode. In the scan chain 120 in the capture mode, the outputs R1-R4 (test results) of the combinational circuit 110 for the test data D1-D4 are taken into the scan flip-flops ff4-ff1. The scan flip-flops ff11 and ff12 reset the held values in synchronization with the clock CK (set to 0).
[0106]
(5) Period from time t4 to time t5
Subsequently, the clock switch 901 outputs the clock CKb from the internal clock generation circuit 401 as the clock CK. The capture signal generation circuit 902 outputs an L level capture signal CAPT. The loop signal LP and the clock mode signal CM remain at the H level. Therefore, the test results R1-R4 taken into the scan flip-flops ff4-ff1 during the period from the time t3 to the time t4 are circulated on the above-described loop in synchronization with the clock CK having a frequency equal to the actual operation speed of the LSI 9. To do. Here, the period from time t4 to time t5 is 5 clock cycles. Therefore, test results R2-R4, R1 are stored in scan flip-flops ff4-ff1 at time t5.
[0107]
At time t4, 0 (decimal display) is stored in the scan chain 912. Therefore, the value CNT stored in the scan chain 912 becomes 1, 2, 3, 0, 1 (all in decimal notation) every time the clock CK rises.
[0108]
(6) Period from time t5 to time t6
Within this period, the loop signal LP applied to the loop signal input terminal 15 is switched from the H level to the L level. In response to this, the clock switch 901 switches the clock mode signal CM from the H level to the L level. The clock switch 901 outputs the clock CKa from the clock input terminal 13 as the clock CK. However, since the supply of the clock CKa from the outside to the clock input terminal 13 is stopped during this period, the output of the clock CK from the clock switch 901 is also stopped.
[0109]
(7) Period from time t6 to time t7
The clock CKa is again supplied to the clock input terminal 13 from the outside. The clock switch 901 outputs the clock CKa from the clock input terminal 13 as the clock CK. The loop signal LP, the clock mode signal CM, and the capture signal CAPT are at L level. The scan chains 912 and 120 connected in series shift the count values C12 and C11 and the test results R2-R4 and R1 stored in the scan flip-flops ff12, ff11, and ff4-ff1 in synchronization with the clock CK. As a result, the count values C12 and C11 and the test results R2-R4 and R1 are serially output from the scan output terminal 14 in synchronization with the clock CK. The 2-bit count value (C12, C11) output here is 1 in decimal. The counted values (C12, C11) indicate that the order of the output test results R2-R4, R1 is shifted by one clock. Therefore, the order of the output test results R2-R4, R1 is corrected to R1-R4. Then, the corrected test results R1-R4 are compared with the expected values.
[0110]
When the actual operation speed of the LSI 9 is high, it is difficult to directly switch the loop signal LP from the H level to the L level from the outside when a desired number of clock cycles have elapsed. Actually, after the loop signal LP is switched from the L level to the H level, the loop signal LP is switched to the L level after waiting for a sufficient time to be captured inside the LSI 9. Therefore, although the period from time t4 to time t5 is 5 clock cycles of the clock CK here, this period may be 3 clock cycles or 100 clock cycles. The order of the test results scanned out is shifted according to the number of clock cycles in the period from time t4 to time t5. For example, when the period from time t4 to time t5 is 3 clock cycles, the scanned out count values (C12, C11) are 3 (decimal notation), and the order of the test results is R4, R1-R3. The count values (C12, C11) indicate that the order of the output test results R4, R1-R3 is shifted by 3 clocks. Therefore, the order of the output test results R4, R1-R3 is corrected to R1-R4. In this way, the misalignment of the test results is corrected using the count values (C12, C11).
[0111]
<Effect>
In the scan test circuit in the LSI 9 according to the fourth embodiment of the present invention, the following effects can be obtained in addition to the effects described in the first embodiment.
[0112]
That is, since the clock counter 910 is provided, it is possible to correct a shift in the order of the test results to be scanned out.
[0113]
<Notes>
Here, although the scan chain 120 is configured by the four-stage scan flip-flops ff1 to ff4, the number of scan flip-flops configuring the scan chain 120 is not limited to four. Further, it is desirable that the number of scan flip-flops constituting the scan chain 912 is appropriately changed according to the number of scan flip-flops constituting the scan chain 120.
[0114]
Although the scan flip-flops ff11 and ff12 are reset using the capture signal CAPT here, the signal for resetting the scan flip-flops ff11 and ff12 is not limited to this. Any signal can be used as long as it can be identified from the outside at what clock. This is because such a signal can correct the count value using the number of clocks.
[0115]
In addition, the number of clock cycles from when the clock CK is switched to the clock CKb from the internal clock generation circuit 401 until capture is determined in advance. Therefore, even if the scan flip-flops ff11 and ff12 are not reset, the count value can be corrected by setting initial values in the scan flip-flops ff11 and ff12 at the time of scan-in.
[0116]
Further, the scan flip-flops ff11 and ff12 are initialized with 0 at the time of scan-in, and the scan flip-flops ff11 and ff12 are shifted to hold the initial value 0 until the capture signal CAPT becomes H level. After the capture signal CAPT becomes H level, the scan flip-flops ff11 and ff12 function as registers that hold the number of clocks CK. At the time of scan-out, the scan flip-flops ff11 and ff12 may be shifted to read out the number of clocks CK.
[0117]
【The invention's effect】
In the scan test circuit according to one aspect of the present invention, the test data is set in the first scan chain in synchronization with the first clock, and the second clock having a frequency higher than the frequency of the first clock. The test result can be taken into the first scan chain in synchronization with the first scan chain. Therefore, even if the operation speed of the semiconductor integrated circuit (LSI) to be tested is high, it is possible to perform a timing test (for example, a delay fault inspection) to check whether the internal circuit operates correctly at the actual operation speed. it can.
[0118]
Further, a loop is formed between (output of the first scan chain)-(selector)-(input of the first scan chain), and the test data set in the first scan chain is circulated on this loop. be able to. As a result, a highly accurate timing test can be performed while the second clock is stable.
[0119]
Moreover, since an expensive tester is not required, an increase in test cost can be suppressed.
[0120]
Further, since the capture signal generating means is provided, it is not necessary to directly control the shift mode / capture mode switching of the first scan chain from the outside. Therefore, even an LSI that operates at high speed can be easily tested at an actual operation speed.
[0121]
Further, since the clock switching means is provided, it is not necessary to directly control the switching of the clock supplied to the first scan chain from the outside. Therefore, even an LSI that operates at high speed can be easily tested at an actual operation speed.
[0122]
Also, hold signal generating means is provided, and the first scan chain keeps holding data without performing a shift operation while receiving an active hold signal, so that the first scan chain changes from the capture mode to the shift mode. By setting the period from when the change occurs until the active hold signal is applied to the first scan chain to an appropriate period, the order of the test results output to the outside can be set to a desired order.
[0123]
Further, since the clock counting means is provided, it is possible to correct a deviation in the order of the test results output to the outside.
[0124]
In the scan test method according to another aspect of the present invention, the test data is scanned into the scan chain in synchronization with the first clock, and the second clock having a frequency higher than the frequency of the first clock is obtained. Synchronously, the test result is taken into the first scan chain. Therefore, even if the operation speed of the semiconductor integrated circuit (LSI) to be tested is high, it is possible to perform a timing test (for example, a delay fault inspection) to check whether the internal circuit operates correctly at the actual operation speed. it can.
[0125]
Further, a loop is formed by giving the output from the scan chain to the input of the scan chain, and the test data is shifted on the loop for a predetermined period in synchronization with the second clock. As a result, a highly accurate timing test can be performed while the second clock is stable.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an LSI according to a first embodiment of the present invention.
FIG. 2 is a timing chart for explaining the operation of the scan test circuit shown in FIG. 1;
FIG. 3 is a diagram showing an example in which the scan chain shown in FIG. 1 is divided to form two loops.
FIG. 4 is a block diagram showing a configuration of an LSI according to a second embodiment of the present invention.
5 is a timing chart for explaining the operation of the scan test circuit shown in FIG. 4;
FIG. 6 is a block diagram showing a configuration of an LSI according to a third embodiment of the present invention.
7 is a block diagram showing an internal configuration of the scan flip-flop shown in FIG. 6. FIG.
8 is a timing chart for explaining the operation of the scan test circuit shown in FIG. 6;
FIG. 9 is a block diagram showing a configuration of an LSI according to a fourth embodiment of the present invention.
10 is a timing chart for explaining the operation of the scan test circuit shown in FIG. 9;
[Explanation of symbols]
120,912 scan chain
201 selector
402,601,901 Clock switch
403, 902 Capture signal generation circuit
602 Capture signal and hold signal generation circuit
910 Clock coefficient unit
ff1-ff6, ff61-ff66, ff11, ff12 Scan flip-flop
CK, CKa, CKb clock
CAPT capture signal
HD hold signal

Claims (15)

複数のフリップフロップからなる第1のスキャンチェーンと、
前記スキャンチェーンの外部から生成されるテストデータまたは前記第1のスキャンチェーンの出力データを選択的に前記第1のスキャンチェーンの入力に与えるセレクタとを備え、
前記第1のスキャンチェーンは、シフトモードおよびキャプチャモードを有し、シフトモードのときは、前記セレクタによって入力に与えられた前記テストデータを第1のクロックに同期してシフトした後に、前記セレクタによって入力に与えられた前記第1のスキャンチェーンの前記出力データを前記第1のクロックの周波数よりも高い周波数を有する第2のクロックに同期してシフトし、前記第2のクロックに同期して行われるシフトに続いて実行されるキャプチャモードのときは、テスト対象の組み合わせ回路からの出力を前記第2のクロックに同期して前記複数のフリップフロップに取り込むことを特徴とするスキャンテスト回路。
A first scan chain comprising a plurality of flip-flops ;
A selector that selectively supplies test data generated from the outside of the scan chain or output data of the first scan chain to an input of the first scan chain;
The first scan chain has a shift mode and a capture mode. In the shift mode, the test data supplied to the input by the selector is shifted in synchronization with the first clock , and then the selector scans the test data . shifts in synchronization with the second clock having a frequency higher than the frequency of the output data of the first clock of the first scan chain applied to input, line in synchronization with the second clock A scan test circuit, wherein, in a capture mode executed following the shift, an output from a combinational circuit to be tested is taken into the plurality of flip-flops in synchronization with the second clock.
請求項1に記載のスキャンテスト回路において、前記セレクタによって前記第1のスキャンチェーンの入力に与えられるデータが前記テストデータから前記第1のスキャンチェーンの出力データに切り替わってから第1の期間が経過した後に活性のキャプチャ信号を第2の期間出力するキャプチャ信号発生手段をさらに備え、前記第1のスキャンチェーンは、前記キャプチャ信号発生手段からの活性のキャプチャ信号に応答してキャプチャモードとなり、不活性のキャプチャ信号に応答してシフトモードとなることを特徴とするスキャンテスト回路。  2. The scan test circuit according to claim 1, wherein a first period elapses after data given to the input of the first scan chain by the selector is switched from the test data to output data of the first scan chain. Capture signal generating means for outputting an active capture signal for a second period after the first scan chain enters a capture mode in response to an active capture signal from the capture signal generating means, and is inactive A scan test circuit, which is in a shift mode in response to a capture signal. 請求項1に記載のスキャンテスト回路において、前記第1のクロックまたは前記第2のクロックを選択的に前記第1のスキャンチェーンに供給するクロック切り替え手段をさらに備えることを特徴とするスキャンテスト回路。  2. The scan test circuit according to claim 1, further comprising clock switching means for selectively supplying the first clock or the second clock to the first scan chain. 請求項3に記載のスキャンテスト回路において、前記クロック切り替え手段は、前記セレクタによって前記第1のスキャンチェーンの入力に与えられるデータが前記テストデータから前記第1のスキャンチェーンの出力データへ切り替わるのに応答して所定期間 前記第2のクロックを前記第1のスキャンチェーンに供給し、前記所定期間が経過すると前記第1のクロックを前記第1のスキャンチェーンに供給することを特徴とするスキャンテスト回路。  4. The scan test circuit according to claim 3, wherein the clock switching means switches the data applied to the input of the first scan chain by the selector from the test data to the output data of the first scan chain. In response, the second clock is supplied to the first scan chain for a predetermined period, and the first clock is supplied to the first scan chain when the predetermined period elapses. . 請求項1に記載のスキャンテスト回路において、前記第1のスキャンチェーンがキャプチャモードからシフトモードに変わって所定期間が経過した後から前記第1のスキャンチェーンによるスキャンアウトの直前までの期間 前記第1のスキャンチェーンに活性のホールド信号を与えるホールド信号発生手段をさらに備え、前記第1のスキャンチェーンは、前記ホールド信号発生手段からの活性のホールド信号を受けている間はシフト動作を行わずにデータを保持し続けることを特徴とするスキャンテスト回路。  2. The scan test circuit according to claim 1, wherein a period from when the first scan chain changes from the capture mode to the shift mode and a predetermined period elapses and immediately before the scanout by the first scan chain is performed. Hold signal generating means for providing an active hold signal to the scan chain of the first scan chain, and the first scan chain performs data shift without performing a shift operation while receiving the active hold signal from the hold signal generating means. A scan test circuit characterized by continuing to hold data. 請求項1に記載のスキャンテスト回路において、前記第1のスキャンチェーンがキャプチャモードからシフトモードに変わった後に前記第1のスキャンチェーンに与えられる前記第2のクロックの数をカウントするクロック計数手段をさらに備えることを特徴とするスキャンテスト回路。  2. The scan test circuit according to claim 1, further comprising clock counting means for counting the number of the second clocks applied to the first scan chain after the first scan chain changes from the capture mode to the shift mode. A scan test circuit, further comprising: 請求項6に記載のスキャンテスト回路において、前記クロック計数手段は、前記第1のスキャンチェーンに直列に接続され、前記第1のスキャンチェーンに前記第2のクロックが与えられるときは、カウントされる前記第2のクロックの数を保持し、前記第1のスキャンチェーンに前記第1のクロックが与えられるときは、保持する値を前記第1のクロックに同期してシフトする第2のスキャンチェーンを含むことを特徴とするスキャンテスト回路。  7. The scan test circuit according to claim 6, wherein the clock counting means is connected in series to the first scan chain, and counts when the second clock is applied to the first scan chain. When the number of the second clock is held and the first clock is given to the first scan chain, a second scan chain that shifts the held value in synchronization with the first clock A scan test circuit comprising: 第1のクロックに同期してテストデータを複数のフリップフロップからなるスキャンチェーンにスキャンインするステップ(a)と、
前記スキャンチェーンからの出力を前記スキャンチェーンの入力に与えることによってループを形成し、前記第1のクロックよりも高い周波数を有する第2のクロックに同期して前記テストデータを前記ループ上で所定期間シフトするステップ(b)と、
テスト対象の組み合わせ回路からの出力を前記第2のクロックに同期して前記複数のフリップフロップに取り込むステップ(c)と、
前記テスト結果をスキャンアウトするステップ(d)とを備え、
前記ステップ(b)は前記ステップ(a)に続いて実行され、前記ステップ(c)は前記ステップ(b)に続いて実行され、前記ステップ(d)は前記ステップ(c)に続いて実行されることを特徴とするスキャンテスト方法。
A step (a) of scanning test data into a scan chain composed of a plurality of flip-flops in synchronization with a first clock;
A loop is formed by applying an output from the scan chain to an input of the scan chain, and the test data is synchronized with a second clock having a higher frequency than the first clock for a predetermined period on the loop. Shifting step (b);
(C) capturing the output from the combinational circuit to be tested into the plurality of flip-flops in synchronization with the second clock;
Scanning out the test results (d),
The step (b) is performed following the step (a), the step (c) is performed following the step (b), and the step (d) is performed following the step (c). scan test method, characterized in that that.
スキャンチェーンを有する半導体集積回路であって、  A semiconductor integrated circuit having a scan chain,
前記スキャンチェーンは、前記スキャンチェーンの外部からデータが入力される第1のシフト動作と、前記スキャンチェーンの出力からデータが入力される第2のシフト動作が可能であり、  The scan chain can perform a first shift operation in which data is input from the outside of the scan chain and a second shift operation in which data is input from the output of the scan chain.
前記第1のシフト動作は、第1のクロックに同期して行われ、  The first shift operation is performed in synchronization with a first clock;
前記第2のシフト動作は、前記第1シフト動作に続いて、前記第1のクロックの周波数よりも高い周波数を有する第2のクロックに同期して行われ、  The second shift operation is performed in synchronization with a second clock having a frequency higher than the frequency of the first clock following the first shift operation,
前記第2のシフト動作に続いて、前記第2のクロックに同期してキャプチャ動作が行われる半導体集積回路。  A semiconductor integrated circuit in which a capture operation is performed in synchronization with the second clock following the second shift operation.
第1のスキャンチェーンと第2のスキャンチェーンを有する半導体集積回路であって、  A semiconductor integrated circuit having a first scan chain and a second scan chain,
前記第1のスキャンチェーンは、前記スキャンチェーンの外部からデータが入力される第1のシフト動作と、前記第1のスキャンチェーンの出力からデータが入力される第2のシフト動作が可能であり、The first scan chain can perform a first shift operation in which data is input from the outside of the scan chain and a second shift operation in which data is input from an output of the first scan chain,
前記第2のスキャンチェーンは、前記第1のスキャンチェーンの出力からデータが入力される前記第1のシフト動作と、前記第2のスキャンチェーンの出力からデータが入力される前記第2のシフト動作が可能であり、  The second scan chain includes the first shift operation in which data is input from the output of the first scan chain, and the second shift operation in which data is input from the output of the second scan chain. Is possible,
前記第1のシフト動作は、第1のクロックに同期して行われ、  The first shift operation is performed in synchronization with a first clock;
前記第2のシフト動作は、前記第1シフト動作に続いて前記第1のクロックの周波数よりも高い周波数を有する第2のクロックに同期して行われ、  The second shift operation is performed in synchronization with a second clock having a frequency higher than the frequency of the first clock following the first shift operation,
前記第2のシフト動作に続いて、前記第2のクロックに同期してキャプチャ動作が行われる半導体集積回路。A semiconductor integrated circuit in which a capture operation is performed in synchronization with the second clock following the second shift operation.
スキャンテスト設計された半導体集積回路であって、  A semiconductor integrated circuit designed for scan testing,
スキャンチェーンの出力から入力へのフィードバックループを形成されない状態で、第1のクロックに同期して第1のシフト動作を行った後に、前記スキャンチェーンの出力から入力へのフィードバックループを形成した状態で、前記第1のクロックよりも周波数の高い第2のクロックに同期して、第2のシフト動作とキャプチャ動作を連続して行うことができる半導体集積回路。  In a state in which a feedback loop from the output of the scan chain to the input is not formed, and after a first shift operation is performed in synchronization with the first clock, a feedback loop from the output of the scan chain to the input is formed. A semiconductor integrated circuit capable of continuously performing a second shift operation and a capture operation in synchronization with a second clock having a frequency higher than that of the first clock.
請求項9乃至11のいずれか1項に記載の半導体集積回路であって、前記第2のシフト動作が、前記第2のクロックの2サイクル以上実行可能であることを特徴とする半導体集積回路。  12. The semiconductor integrated circuit according to claim 9, wherein the second shift operation can be executed for two cycles or more of the second clock. 前記第1のシフト動作と前記第2のシフト動作の切り替えを行うセレクタを有する請求項9乃至12のいずれか1項に記載の半導体集積回路。  The semiconductor integrated circuit according to claim 9, further comprising a selector that switches between the first shift operation and the second shift operation. 前記第1のクロックと前記第2のクロックを選択的に前記スキャンチェーンに供給するクロック切り替え手段を有する請求項9乃至13のいずれか1項に記載の半導体集積回路。  14. The semiconductor integrated circuit according to claim 9, further comprising clock switching means for selectively supplying the first clock and the second clock to the scan chain. スキャンチェーンの出力から入力へのフィードバックループを形成されない状態で、第1のクロックに同期して第1のシフト動作を行った後に、  After performing the first shift operation in synchronization with the first clock without forming a feedback loop from the output of the scan chain to the input,
前記スキャンチェーンの出力から入力へのフィードバックループを形成した状態で、前記第1のクロックよりも周波数の高い第2のクロックに同期して、第2のシフト動作とキャプチャ動作を連続して行うことを特徴とする半導体集積回路のスキャンテスト方法。  In a state where a feedback loop from the output of the scan chain to the input is formed, a second shift operation and a capture operation are continuously performed in synchronization with a second clock having a frequency higher than that of the first clock. A scan test method for a semiconductor integrated circuit.
JP2001185050A 2001-06-19 2001-06-19 Scan test circuit, scan test method, and semiconductor integrated circuit Expired - Fee Related JP4662520B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001185050A JP4662520B2 (en) 2001-06-19 2001-06-19 Scan test circuit, scan test method, and semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001185050A JP4662520B2 (en) 2001-06-19 2001-06-19 Scan test circuit, scan test method, and semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JP2003004807A JP2003004807A (en) 2003-01-08
JP4662520B2 true JP4662520B2 (en) 2011-03-30

Family

ID=19024700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001185050A Expired - Fee Related JP4662520B2 (en) 2001-06-19 2001-06-19 Scan test circuit, scan test method, and semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP4662520B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4815326B2 (en) 2006-10-31 2011-11-16 富士通株式会社 Integrated circuit timing failure improvement apparatus, integrated circuit timing failure diagnosis apparatus and method, and integrated circuit
US8248073B2 (en) 2007-04-06 2012-08-21 Nec Corporation Semiconductor integrated circuit and testing method therefor
JP5169356B2 (en) * 2008-03-19 2013-03-27 富士通株式会社 Program and method for determining connection state of integrated circuit device, and integrated circuit device
JP6008386B2 (en) * 2012-04-02 2016-10-19 日本電気通信システム株式会社 Semiconductor device and test method thereof
CN116381471B (en) * 2023-06-05 2023-09-19 上海类比半导体技术有限公司 Scan test circuit, method and chip

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000081466A (en) * 1998-09-07 2000-03-21 Oki Electric Ind Co Ltd Semiconductor integrated device
JP2001091590A (en) * 1999-09-21 2001-04-06 Hitachi Ltd Semiconductor integrated circuit

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59119443A (en) * 1982-12-27 1984-07-10 Toshiba Corp Logic circuit
JPS6324330A (en) * 1986-07-16 1988-02-01 Nec Corp System for facilitating test
JPH0312570A (en) * 1989-06-09 1991-01-21 Mitsubishi Electric Corp Semiconductor integrated circuit
JPH08201481A (en) * 1995-01-27 1996-08-09 Internatl Business Mach Corp <Ibm> Semiconductor integrated circuit
JP3156644B2 (en) * 1997-07-25 2001-04-16 日本電気株式会社 Semiconductor integrated circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000081466A (en) * 1998-09-07 2000-03-21 Oki Electric Ind Co Ltd Semiconductor integrated device
JP2001091590A (en) * 1999-09-21 2001-04-06 Hitachi Ltd Semiconductor integrated circuit

Also Published As

Publication number Publication date
JP2003004807A (en) 2003-01-08

Similar Documents

Publication Publication Date Title
US7437636B2 (en) Method and apparatus for at-speed testing of digital circuits
US8065549B2 (en) Scan-based integrated circuit having clock frequency divider
US20030084390A1 (en) At-speed test using on-chip controller
JPH06160477A (en) Logic circuit
US7380189B2 (en) Circuit for PLL-based at-speed scan testing
US20090240996A1 (en) Semiconductor integrated circuit device
US9989590B2 (en) Self-test circuit in integrated circuit, and data processing circuit
JP4662520B2 (en) Scan test circuit, scan test method, and semiconductor integrated circuit
JPH06160476A (en) Circuit for controlling test of scan path
JP2001141784A (en) Semiconductor device test circuit
US20060248422A1 (en) Sequential Scan Based Techniques to Test Interface Between Modules Designed to Operate at Different Frequencies
US5848075A (en) Test device employing scan path having circuitry at switches between a scan in signal transmitted and previously held at a predetermined clock timing
JP3633901B2 (en) LSSD interface
US20050050418A1 (en) Method and apparatus for generating signal transitions used for testing an electronic device
US6748563B1 (en) Method and apparatus for testing path delays in a high-speed boundary scan implementation
JP2008275480A (en) Test circuit and test method of semiconductor integrated circuit
JP3594582B2 (en) Semiconductor device
JP2013088400A (en) Method for inspecting semiconductor integrated circuit, and the semiconductor integrated circuit
JP3573692B2 (en) Scan path circuit, scan path circuit generation method, and recording medium recording the program
JPH05341016A (en) Semiconductor integrated circuit device and testing method therefor
KR970002062B1 (en) Test data output circuit of boundary-scan architecture
JPH112664A (en) Boundary scan register
JP2000227456A (en) Scan flip-flop
JP2004037264A (en) Flip-flop circuit with scanning function, and scanning test circuit
JPH0261569A (en) Serial shift register

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100726

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: 20101207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101229

R150 Certificate of patent or registration of utility model

Ref document number: 4662520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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