JP2012013609A - テスト回路及び半導体集積回路 - Google Patents
テスト回路及び半導体集積回路 Download PDFInfo
- Publication number
- JP2012013609A JP2012013609A JP2010151919A JP2010151919A JP2012013609A JP 2012013609 A JP2012013609 A JP 2012013609A JP 2010151919 A JP2010151919 A JP 2010151919A JP 2010151919 A JP2010151919 A JP 2010151919A JP 2012013609 A JP2012013609 A JP 2012013609A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- test
- value
- logic
- delay control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Logic Circuits (AREA)
Abstract
【課題】入力されたパルス波形の遅延及び鈍りの影響を抑制し、より高精度なテストを実現すること。
【解決手段】テスト回路6は、複数の論理値を保持する複数のデータ保持/選択回路と、複数の外部端子に含まれる互いに異なる外部端子を介して入力される論理値間の伝播遅延量の検出に基づいて、複数のデータ保持/選択回路それぞれに対して、複数のデータ保持/選択回路それぞれが保持している複数の論理値のいずれを出力すべきかを個別に制御するスキュー調整回路20と、基準クロックの立上がり及び立下りそれぞれに応じて外部端子に入力した論理値を第1及び第2論理値として個別に検出すると共に、個別に検出した第1及び第2論理値の少なくとも一方と期待値間の比較に基づいて、第1及び第2論理値の一方をデータ保持/選択回路に供給する複数の論理値生成/選択回路と、を備える。
【選択図】図2
【解決手段】テスト回路6は、複数の論理値を保持する複数のデータ保持/選択回路と、複数の外部端子に含まれる互いに異なる外部端子を介して入力される論理値間の伝播遅延量の検出に基づいて、複数のデータ保持/選択回路それぞれに対して、複数のデータ保持/選択回路それぞれが保持している複数の論理値のいずれを出力すべきかを個別に制御するスキュー調整回路20と、基準クロックの立上がり及び立下りそれぞれに応じて外部端子に入力した論理値を第1及び第2論理値として個別に検出すると共に、個別に検出した第1及び第2論理値の少なくとも一方と期待値間の比較に基づいて、第1及び第2論理値の一方をデータ保持/選択回路に供給する複数の論理値生成/選択回路と、を備える。
【選択図】図2
Description
本発明はテスト回路に関し、特に複数の外部端子とテスト対象回路間に接続されるテスト回路に関する。また、本発明は、このテスト回路が搭載された半導体集積回路に関する。
近年、半導体集積回路(以下、LSI(Large-Scale Integration)と呼ぶこともある)の大規模化に伴い、LSI内に様々な機能回路(以下、マクロと呼ぶこともある)が搭載されている。例えば、LSIには、RAM(Random Access Memory)等の記憶回路が搭載される。機能回路の信頼性を確保するためには、マクロが実際に動作している際の周波数(実動作周波数)でテストすることが要求される。
特許文献1には、FIFO(First-In First-Out)メモリを有する半導体集積回路が開示されている。この半導体集積回路は、次のように動作する。FIFOメモリは外部からスキャンインされたテストデータを蓄積する。この動作は、テストデータをスキャンクロックに同期させてスキャンインするので比較的低速で行なわれる。次に、蓄積されたテストデータを半導体集積回路装置内のテスト対象ブロックの入力端子を介して当該テスト対象ブロック内に入力させる。このとき、テストデータは、当該半導体集積回路装置のシステムクロックに同期させることにより、当該半導体集積回路装置の実際の動作速度(高速度)で入力される。
実動作周波数にて連続的に機能回路をテストする場合、特許文献1の場合には次の問題点が生じる。具体的には、連続的なテストを実現するためには、ある程度のデータ量のテストデータをFIFOメモリに蓄積させる必要があり、この結果、FIFOメモリの容量が増大してしまう。現実的には、半導体集積回路に搭載されるFIFOメモリの容量は有限である。従って、特許文献1の手法を採用したとしても、実動作周波数にて連続的に機能回路をテストすることは難しい。
特許文献2には、PCI(Peripheral component Interconnect)Expressに関する受信装置が開示されている。具体的には、シンボルの個数が各々のレーン毎に異なる場合であっても、簡単な処理によって、各々のレーンに対応する分割データ列の間のスキュー調整を行なう受信装置が開示されている。
実動作周波数にて機能回路を連続的にテストするためには、一時的にテストデータを保持するFIFOメモリを排除し、半導体集積回路内のテスト対象回路に対してテストデータを外部から連続的に供給すると良い。しかしながら、半導体集積回路の外部端子とテスト対象回路の入力端子間を伝播する過程にて信号の伝播遅延が生じるおそれがある。また、半導体集積回路の外部端子とテスト対象回路の入力端子間に存在する回路内に含まれるトランジスタの特性の影響を受けて、入力されたパルス波形に鈍り(パルス波形の乱れ)が生じるおそれがある。
図15を参照して例示的に説明する。外部端子PADに入力されたパルスは、所定の遅延を伴ってテストパスに存在するF/F(Flip/Flop)に到達する。F/Fは、クロックCLKの立上がりに同期して入力パルスのHレベルを検出する。しかしながら、入力パルスの波形に乱れがあると、Hレベルを検出できない場合が有りうる。この場合、入力信号を正確に検知できない結果、誤ったテストデータを用いて機能回路をテストすることになってしまう。なお、トランジスタの特性は、プロセス、温度、電圧条件等により左右される。
上述のように、入力されたパルス波形の遅延及び鈍りの影響を抑制し、より高精度なテストを実現することが求められている。
本発明に係るテスト回路は、複数の外部端子とテスト対象回路間に接続されるテスト回路であって、複数の前記外部端子それぞれと前記テスト対象回路間に接続され、複数の論理値を保持する複数の論理値保持回路と、複数の前記外部端子に含まれる互いに異なる前記外部端子を介して入力される前記論理値間の伝播遅延量の検出に基づいて、複数の前記論理値保持回路それぞれに対して、複数の前記論理値保持回路それぞれが保持している複数の前記論理値のいずれを出力すべきかを個別に制御する遅延制御回路と、基準クロックの立上がり及び立下りそれぞれに応じて前記外部端子に入力した前記論理値を第1及び第2論理値として個別に検出すると共に、個別に検出した前記第1及び第2論理値の少なくとも一方と期待値間の比較に基づいて、前記第1及び第2論理値の一方を前記論理値保持回路に供給する複数の論理値供給回路と、を備える。
遅延制御回路を具備することによって入力信号の伝播遅延の影響を抑制すると共に、論理値供給回路を具備することによって入力値の検出誤りを抑制する。これによって、入力されたパルス波形の遅延及び鈍りの影響を抑制し、より高精度なテストを実現することが可能になる。
本発明に係る半導体集積回路は、複数の外部端子と、テスト対象回路と、複数の前記外部端子と前記テスト対象回路間に接続されるテスト回路と、を備える半導体集積回路であって、前記テスト回路は、複数の前記外部端子それぞれと前記テスト対象回路間に接続され、複数の論理値を保持する複数の論理値保持回路と、複数の前記外部端子に含まれる互いに異なる前記外部端子を介して入力される前記論理値間の伝播遅延量の検出に基づいて、複数の前記論理値保持回路それぞれに対して、複数の前記論理値保持回路それぞれが保持している複数の前記論理値のいずれを出力すべきかを個別に制御する遅延制御回路と、 基準クロックの立上がり及び立下りそれぞれに応じて前記外部端子に入力した前記論理値を第1及び第2論理値として個別に検出すると共に、個別に検出した前記第1及び第2論理値の少なくとも一方と期待値間の比較に基づいて、前記第1及び第2論理値の一方を前記論理値保持回路に供給する複数の論理値供給回路と、を備える。
本発明によれば、入力されたパルス波形の遅延及び鈍りの影響を抑制し、より高精度なテストを実現することが可能になる。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図1は、LSIの概略的な模式図である。図2は、テスト回路の概略的なブロック図である。図3は、論理値生成/選択回路の概略的な回路図である。図4は、論理値生成/選択回路の動作を示すタイミングチャートである。図5は、データ保持選択回路の概略的な回路図である。図6は、スキュー調整回路の概略的なブロック図である。図7は、スキュー調整部の動作を示すフローチャートである。図8は、スキュー調整部の概略的な回路図である。図9は、スキュー調整回路の動作を示すタイミングチャートである。
以下、図面を参照して本発明の実施の形態について説明する。図1は、LSIの概略的な模式図である。図2は、テスト回路の概略的なブロック図である。図3は、論理値生成/選択回路の概略的な回路図である。図4は、論理値生成/選択回路の動作を示すタイミングチャートである。図5は、データ保持選択回路の概略的な回路図である。図6は、スキュー調整回路の概略的なブロック図である。図7は、スキュー調整部の動作を示すフローチャートである。図8は、スキュー調整部の概略的な回路図である。図9は、スキュー調整回路の動作を示すタイミングチャートである。
図1に示すように、LSI500は、階層A〜Fから構成されるLSIである。外部端子502とテストマクロ7間にはセレクタ504が存在する。セレクタ504は、セレクト信号に応じて、テストパス又は通常パスのいずれかをテストマクロ7に接続する。テストマクロ7の出力は、テストパスと通常パスに分岐する。テストパス上には、階層Dに属する中継F/F、階層Bに属する中継F/F、階層Aに属する中継F/Fが存在する。テストマクロ7の出力は、これらの中継F/Fを介して外部端子502に接続される。
LSI500は、階層単位でレイアウト設計されている。図2に示すテスト回路6及び記憶回路7は、共通の階層Fに属する。テスト対象である記憶回路7とテスト回路6を共通の階層Fに配置することによって、大規模な集積回路のレイアウト設計に適した構成とすることができる。
なお、図1から模式的に理解できるように、階層Fに属するテスト回路6には、他の階層内の回路を介することなく外部端子502が接続される。また、LSI500は、アナログ回路503を有する。図1では、テスト回路6の具体的な図示を省略している。
マクロの高速試験を実現するためには、図14に示すように、外部端子とテストマクロ7の入力端子間を接続するテストパス間に中継F/F505を配置することも考えられる。しかしながら、テストに最適な位置に中継F/Fを置くことは困難な場合がある。例えば、レイアウト設計フローの終盤で実線から破線のようにテストパスの構成を変更する場合には、再度、階層単位でレイアウトを見直す必要がある。このような繰り返し作業を生じさせるテスト回路の実装は極力さける必要がある。
本実施形態では、上述のように、他の階層に中継F/Fを配置することなく、テストマクロ7が属する階層に対してテスト回路6を配置する。これによってレイアウト設計フローの過程にて繰り返し作業を極力生じさせない構成を実現することができる。
図2に示すように、LSI500は、外部端子群5、テスト回路6、及びテストマクロとしての記憶回路7を有する。外部端子群5は、複数の端子ET01〜ET03を有する。テスト回路6は、論理値生成/選択回路(論理値供給回路)10〜12、データ保持/選択回路(論理値保持回路)13〜15、セレクタ16〜18、及びスキュー調整回路(遅延制御回路)20を有する。記憶回路7は、RAM、ROM等である。なお、記憶回路以外の回路をテスト対象回路としても良い。
なお、本願では、説明を簡略化するため、外部端子の数、データ保持/選択回路の数、セレクタの数、記憶回路の入力端子の数、スキー調整回路内に含まれるスキュー調整部(図5参照)の数を3つに省略している。これは、説明の便宜上の問題である。
外部端子ET01は、論理値生成/選択回路10の入力端子に接続される。論理値生成/選択回路10の出力端子は、データ保持/選択回路13の入力端子に接続される。また、論理値生成/選択回路10の出力端子は、スキュー調整回路20の入力端子Tin21に接続される。データ保持/選択回路13の出力端子は、セレクタ16の第1入力端子に接続される。セレクタ16の第1入力端子にはテストパスTP01が接続され、セレクタ16の第2入力端子には通常パスNP01が接続される。セレクタ16の出力端子は、記憶回路7の入力端子Tin71に接続される。スキュー調整回路20の第1出力端子は、データ保持/選択回路13に接続される。
外部端子ET02と記憶回路7の入力端子Tin72間の接続関係も上述の場合と同様である。外部端子ET03と記憶回路7の入力端子Tin73間の接続関係も上述の場合と同様である。従って、重複する説明は省略する。
論理値生成/選択回路10〜12は、外部端子ET01〜ET03と記憶回路7の入力端子Tin71〜Tin73間のパス数に対応して設けられている。
論理値生成/選択回路10は、クロックCLK(基準クロック)の立上がり及び立下りに同期して、入力したパルス信号に基づいて第1論理値及び第2論理値を検出する。また、論理値生成/選択回路10は、第2論理値と期待値間の比較に基づいて、第1論理値及び第2論理値のいずれかを選択的に出力する。他の論理値生成/選択回路11、12についても同様である。なお、第2論理値に代えて又は加えて、第1論理値と期待値間の比較を行なっても良い。クロックCLKは、テスト回路6、記憶回路7に対して共通に供給される。各テスト回路、記憶回路7は、クロックCLKに同期して動作する。
データ保持/選択回路13〜15は、外部端子ET01〜ET03と記憶回路7の入力端子Tin71〜Tin73間のパス数に対応して設けられている。
データ保持/選択回路13は、論理値生成/選択回路10から時間的に連続して出力される論理値をその順で複数保持し、スキュー調整回路20から供給される制御信号に応じて、現在保持している複数の論理値のいずれかを選択的に出力する。他のデータ保持/選択回路14、15についても同様である。
セレクタ16〜18は、外部端子ET01〜ET03と記憶回路7の入力端子Tin71〜Tin73間のパス数に対応して設けられている。
セレクタ16は、テストモード又は通常動作モードのいずれかを示すモード信号に応じて、テストパス又は通常パスのいずれかを記憶回路7の入力端子Tin71に接続する。他のセレクタ17、18についても同様である。尚、テストモードのとき、セレクタ16〜18のセレクト状態を制御するモード信号はHレベルである。通常動作モードのとき、そのモード信号はLレベルである。
スキュー調整回路20は、論理値生成/選択回路10〜12から供給される複数の論理値に基づいて、データ保持/選択回路13〜15それぞれに対して、データ保持/選択回路13〜15が現在保持している論理値のいずれを出力するのかを制御する。
図3に示すように、論理値生成/選択回路10は、F/F(論理値生成回路)31、F/F(論理値生成回路)32、判定回路(比較回路)33、及びセレクタ(選択回路)34を有する。判定回路33は、EXOR(比較回路)35、AND36、及びD−FF37を有する。
外部端子ET01は、F/F31の入力端子、及びF/F32の入力端子それぞれに接続される。F/F31の出力端子は、セレクタ34の入力端子IN1に接続される。F/F32の出力端子は、セレクタ34の入力端子IN2に接続される。F/F32の出力は、EXOR35の第1入力端子に接続される。EXOR35の第2入力端子には、期待値EVが供給される。EXOR35の出力は、AND36の第1入力端子に接続される。AND36の第2入力端子には、モード信号MSが接続される。AND36の出力端子は、D−FF37のイネーブル端子ENに接続される。D−FF37の入力端子INには、ハイクランプ電圧が供給される。D−FF37の出力端子Qは、セレクタ34のセレクト端子に接続される。F/F31のクロック端子、F/F32のクロック端子、及びD−FF37のクロック端子には、クロックCLKが供給される。なお、F/F32のクロック端子には、反転したクロックCLKが供給される。クロックCLKは、テスト時であっても、記憶回路7の実動作周波数にセットされる。なお、上述のモード信号MSは、学習モードであるか、非学習モードであるのかを示す信号である。具体的には、モード信号MSがHレベルのとき学習モードであり、モード信号MSがLレベルのとき非学習モードである。モード信号MSは、セレクタ16〜18に供給されるモード信号とは別の端子から供給される。
F/F31は、クロックCLKの立上がりに同期して、外部端子ET01を介して入力されるパルス波形に応じた論理値を取り込み、取り込んだ論理値LV1を出力する。F/F32は、クロックCLKの立下りに同期して、外部端子ET01を介して入力されるパルス波形に応じた論理値を取り込み、取り込んだ論理値LV2を出力する。EXOR35は、F/F32から供給される論理値LV2と期待値EVとが一致した時に一致信号(Hレベル信号)を出力し、それらが不一致の時には不一致信号(Lレベル信号)を出力する。AND36は、F/F36の出力がHレベルであり、かつモード信号MSもHレベル(学習モードを示す)のとき、Hレベルのイネーブル信号をD−FF37に出力する。AND36は、F/F36の出力又はモード信号MSのいずれかがLレベルのとき、Lレベルのディスイネーブル信号をD−FF37に出力する。D−FF37は、AND36からイネーブル信号が供給されるとき、Hレベルの選択信号Sig_selをセレクタ34に出力して、セレクタ34に対してF/F32の出力(LV2)を選択的に出力させる。D−FF37は、AND36からディスイネーブル信号が供給されるとき、Lレベルの選択信号Sig_selをセレクタ34に出力して、セレクタ34に対してF/F31の出力(論理値LV1)を選択的に出力させる。
上述の説明から明らかなように、本実施形態においては、クロックCLKの立上がり及び立下りの双方に同期して、外部端子を介して入力した論理値の検出を行う。このとき、クロック立下りに同期して検出した論理値と期待値とを比較することによって、クロックの立下りに同期して検出した論理値が正しいか否かを判定する。この判定の結果、クロックの立下りに同期して検出した論理値が正しい場合には、クロックの立下りに同期して検出した論理値を選択的に出力する。クロックの立下りに同期して検出した論理値が正しくない場合には、クロックの立上がりに同期して検出した論理値を選択的に出力する。換言すると、上述の判定結果に応じて、F/F31とセレクタ34の入力端子IN1間の立上がりパスとF/F32とセレクタ34の入力端子IN2間の立下りパスの一方を選択する。これによって、連続的な高速試験を行う場合であっても、入力パルス波形のなまり(乱れ、変形)の影響によってテストデータ自体が消失し、この誤ったテストデータを用いてマクロをテストすることを効果的に抑制することができる。なお、上述の場合に代えて、又は上述の場合に加えて、論理値LV1と期待値EVとを比較し、この比較判定に基づいてセレクト動作をしても良い。
図4に示す場合、外部端子PADに入力された入力値は、所定の遅延を伴って論理値生成/選択回路10の入力端子Din01に到達する。F/F31は、クロックの立上がりに同期して入力値を検出できず、誤った論理値を出力する。F/F32は、クロックの立下りに同期して入力値を検出する。この場合、F/F32からの出力値は、期待値に一致する。従って、EXOR35は、Hレベル信号を出力する。テスト動作をしているため、モード信号MSは、Hレベルである。従って、AND36は、イネーブル信号を出力する。この結果、D−FF37は、クロックに同期して、Hレベルのセレクト信号Sig_selを出力する。セレクタ34は、F/F32の出力を選択する。このようにして、パルス波形の乱れによって入力した論理値1が論理値0として誤って検出されることを抑制し、記憶回路7に入力されるテストデータの信頼性を高めることができる。
図5に示すように、データ保持/選択回路13は、F/F41、F/F42、F/F43、セレクタ44、及びF/F45を有する。なお、F/Fの接続数は任意である。
論理値生成/選択回路10の出力端子は、F/F41の入力端子に接続される。F/F41の出力端子は、F/F42の入力端子に接続される。F/F42の出力端子は、F/F43の入力端子に接続される。セレクタ44の入力端子Tin44aには、F/F43の出力端子が接続される。セレクタ44の入力端子Tin44bには、F/F42の出力端子が接続される。セレクタ44の入力端子Tin44cには、F/F41の出力端子が接続される。セレクタ44の入力端子Tin44dには、論理値生成/選択回路10の出力端子が接続される。セレクタ44の出力端子は、F/F45の入力端子に接続される。F/F45の出力端子は、セレクタ16の入力端子に接続される。F/F41〜43、45それぞれのクロック端子には、クロックCLKが供給される。
論理値生成/選択回路10から供給される論理値は、クロックCLKに同期して順次F/F41〜43に保持される。また、論理値生成/選択回路10から供給される論理値、F/F41〜43に保持されている論理値は、セレクタ44の入力端子Tin44a〜Tin44bにそれぞれ供給される。セレクタ44は、スキュー調整回路20から供給される制御値SL01に応じて、入力端子Tin44a〜Tin44dのいずれかの入力を選択的に出力する。F/F45は、クロックCLKに同期して、セレクタ44から供給された論理値を出力する。
図6に示すように、スキュー調整回路20は、スキュー調整部(遅延制御部)51〜53を有する。スキュー調整部51〜53は、外部端子ET01〜ET03と記憶回路7の入力端子Tin71〜Tin73間のパス数に対応して設けられている。
スキュー調整部51の入力端子Tin21には、論理値生成/選択回路10の出力端子が接続される。スキュー調整部52の入力端子Tin22には、論理値生成/選択回路11の出力端子が接続される。スキュー調整部53の入力端子Tin23には、論理値生成/選択回路12の出力端子が接続される。各スキュー調整部51〜53には、期待値EVが供給される(図8に示す)。スキュー調整部51の出力端子ES51は、スキュー調整部52の入力端子FT1、及びスキュー調整部53の入力端子FT1に接続される。スキュー調整部52の出力端子ES52は、スキュー調整部51の入力端子FT2、スキュー調整部53の入力端子FT2に接続される。スキュー調整部53の出力端子ES53は、スキュー調整部51の入力端子FT3、スキュー調整部52の入力端子FT3に接続される。スキュー調整部51の出力端子OT51は、データ保持/選択回路13(セレクタ44のセレクト端子)に接続される。スキュー調整部52の出力端子OT52は、データ保持/選択回路14(セレクタのセレクト端子)に接続される。スキュー調整部53の出力端子OT53は、データ保持/選択回路15(セレクタのセレクト端子)に接続される。
スキュー調整部51は、入力した論理値と期待値が一致したとき、Hレベルのエンド信号を出力端子ES51から出力する。他のスキュー調整部についても同様である。スキュー調整部51は、他のスキュー調整部52、53からHレベルのエンド信号が入力すると、そのタイミングからカウント動作を開始する。その後、スキュー調整部51は、自身がHレベルのエンド信号END1を生成したタイミングに応じてカウント動作を停止する。スキュー調整部51は、カウント動作にて得られたカウント値(制御値SL01に等しい)をデータ保持/選択回路13に供給する。データ保持/選択回路13内のセレクタ44は、スキュー調整部51から供給されたカウント値に応じて、入力端子Tin44a〜Tin44dに供給されている論理値のいずれかを選択的に出力する。例えば、カウント値=0の場合、セレクタ44は、入力端子Tin44aに供給された論理値を選択的に出力する。カウント値=1の場合、セレクタ44は、入力端子Tin44bに供給された論理値を選択的に出力する。カウント値=2の場合、セレクタ44は、入力端子Tin44cに供給された論理値を選択的に出力する。カウント値=3の場合、セレクタ44は、入力端子Tin44dに供給された論理値を選択的に出力する。このようにして、各テストパス間に存在する入力論理値間の遅延が調整可能になる。
図7のフローチャートを参照して、各スキュー調整部の動作について補足説明する。
まず、カウンタの初期化をする(S100)。スキュー調整部のカウント値は初期値にセットされる。次に、Hレベルのエンド信号ENDが到達したか判断する(S101)。他のスキュー調整部からエンド信号ENDが到達したらカウントを開始する(S102)。次に、自身がHレベルのエンド信号ENDを生成したか判断する(S103)。自身がHレベルのエンド信号ENDを生成しない場合は、カウントを継続する(S104)。自身がHレベルのエンド信号ENDを生成した場合には、カウント値に基づいて遅延調整値を決定する(S105)。なお、本例の場合は、カウント値=遅延調整値として説明している。
図8に示すように、スキュー調整部51は、EXOR(比較回路)61、D−FF62、OR63、AND64、カウンタ65、及びレジスタ66を有する。D−FF62、OR63、AND64、カウンタ65、及びレジスタ66は、制御値生成回路を構成する。
EXOR61の第1入力端子には、論理値生成/選択回路10の出力端子が接続される。EXOR61の第2入力端子には、期待値EVが供給される。EXOR61の出力端子は、D−FF62のイネーブル端子ENに接続される。D−FF62の入力端子には、ハイクランプ電圧が供給される。D−FF62には、モード信号MSが供給される。D−FF62の出力端子は、反転されてAND64の第2入力端子に接続される。D−FF62のQ端子は、スキュー調整部52の入力端子FT1、及びスキュー調整部53の入力端子FT1それぞれに接続される。D−FF62のQ端子は、レジスタ66のイネーブル端子ENに接続される。OR63の第1入力端子には、スキュー調整部52に含まれるD−FFのQ端子が接続される。OR63の第2入力端子には、スキュー調整部53に含まれるD−FFのQ端子が接続される。OR63の出力端子は、AND64の第1入力端子に接続される。AND64の出力端子は、カウンタ65の入力端子INに接続される。カウンタ65のイネーブル端子ENには、モード信号MSが供給される。カウンタ65の出力端子は、レジスタ66の入力端子INに接続される。レジスタ66の出力端子は、セレクタ44のセレクト端子に接続される。D−FF62のクロック端子、カウンタ65のクロック端子、およびレジスタ66のクロック端子それぞれには、クロックCLKが供給される。
EXOR61は、第1入力端子に入力された論理値と第2入力端子に入力された期待値とが一致する場合には、Hレベルのイネーブル信号(検出信号)を出力する。EXOR61は、それ以外の場合、Lレベルのディスイネーブル信号を出力する。D−FF62は、イネーブル信号が入力しているとき、クロックCLKに同期してHレベルのエンド信号END1を出力する。
OR63の第1入力端子には、スキュー調整部52からHレベルのエンド信号END2が供給される。OR63の第2入力端子には、スキュー調整部53からHレベルのエンド信号END3が供給される。OR63は、少なくとも一方のエンド信号END2、END3がHレベルであるとき、Hレベルの論理値を出力する。
AND64は、OR63の出力がHレベルであり、D−FF62の出力がLレベルであるとき、Hレベルのイネーブル信号を出力する。それ以外の場合には、AND64は、Lレベルのディスイネーブル信号を出力する。カウンタ65は、モード信号MSがハイレベルであるとき(すなわち、学習モードのとき)、AND64からHレベルのイネーブル信号が供給されると、クロックCLKに同期してカウント動作を開始する。
カウンタ65は、AND64からLレベルのディスイネーブル信号が供給されると、上述のカウント動作を停止する。なお、D−FF62がHレベルのエンド信号を出力すると、AND64は、Lレベルのディスイネーブル信号を出力する。D−FF62がHレベルのエンド信号を出力すると、レジスタ66のイネーブル端子にはHレベルの論理値が供給される。レジスタ66は、このタイミングで、カウンタ65にカウント値の出力を指示する信号Sig_capを出力する。その後、レジスタ66は、クロックCLKに同期して、カウンタ65から入力端子INに供給されるカウント値を取得保持する。
なお、スキュー調整部52、53は、スキュー調整部51と同様の構成を有するものとする。従って、重複する説明は省略する。
本実施形態では、各スキュー調整部51〜53のレジスタは、各テストパス間に存在する入力値間の遅延を調整するためのカウント値(制御値に等しい)SL01〜SL03を保持する。各データ保持/選択回路13〜15は、各スキュー調整部51〜53から供給されるカウント値SL01〜SL03に応じて、現在保持している論理値のいずれかを選択的に出力する。このようにして、各テストパス間における遅延を調整することが可能になる。
図9を参照して、テスト回路6の動作について説明する。なお、予めカウンタは初期化されているものとする。
時刻t1のとき、クロックCLKの供給が開始される。時刻t2のとき、モード信号がHレベルになる。つまり、時刻t2以降、学習モードに入る。
時刻t3のとき、外部端子PADにテストデータとしての論理値が入力される。この入力値は、期待値に等しいものとする。そして、この入力値は、論理値生成/選択回路にて処理される。なお、論理値生成/選択回路の動作は、図4を参照して説明したとおりである。
時刻t7のとき、論理値生成/選択回路11の出力値は、スキュー調整部52に到達する。スキュー調整部52内のEXOR61は、入力した論理値と期待値とが一致した条件にてHレベルのイネーブル信号(検出信号)を出力する。
時刻t8のとき、スキュー調整部52のD−FF62は、クロックCLKに同期してエンド信号END2を出力する。エンド信号END2は、スキュー調整部52から他のスキュー調整部51、53に供給される。スキュー調整部51では、ハイレベルのエンド信号END2の入力に応じて、OR63は、ハイレベルの論理値を出力する。スキュー調整部51のD−FF62自体は、エンド信号END1を出力していない状態にあるため、AND64は、ハイレベルのイネーブル信号を出力する。これに応じて、カウンタ65は、クロックCLKに応じてカウント動作を開始する。時刻t8の後、スキュー調整部51のカウンタ65のカウント値は、V0からV1に更新される。スキュー調整部53の動作についても同様である。
時刻t9のとき、論理値生成/選択回路12の出力値は、スキュー調整部53に到達する。スキュー調整部53内のEXOR61は、入力した論理値と期待値とが一致した条件にてHレベルのイネーブル信号(検出信号)を出力する。
時刻t10のとき、スキュー調整部53のD−FF62は、クロックCLKに同期してハイレベルのエンド信号END3を出力する。スキュー調整部53のAND64の第2入力端子には、ハイレベルのエンド信号END3が反転して入力し、AND64は、ローレベルのディスイネーブル信号を出力する。そして、スキュー調整部53のカウンタ65は、カウントアップを停止し、カウント値=V2を保持する。また、スキュー調整部53のレジスタ66のイネーブル端子ENには、D−FF62から出力されるハイレベルのエンド信号END3が供給される。これに応じて、レジスタ66は、カウンタ65にカウント値V2を出力させ、カウンタ65から出力されるカウント値V2を保持する。データ保持/選択回路15のセレクタ44には、スキュー調整部53のレジスタ66からカウント値V2が供給される。このセレクタ44は、カウント値V2に応じて、入力端子Tin3に入力している論理値を選択的に出力する。
また、時刻t10のとき、論理値生成/選択回路10の出力値は、スキュー調整部51に到達する。スキュー調整部51内のEXOR61は、入力した論理値と期待値とが一致した条件にてHレベルのイネーブル信号(検出信号)を出力する。
時刻t11のとき、スキュー調整部51のD−FF62は、クロックCLKに同期してハイレベルのエンド信号END1を出力する。スキュー調整部51のAND64の第2入力端子には、ハイレベルのエンド信号END1が反転して入力し、AND64は、ローレベルのディスイネーブル信号を出力する。そして、スキュー調整部51のカウンタ65は、カウントアップを停止し、カウント値=V3を保持する。また、スキュー調整部51のレジスタ66のイネーブル端子ENには、D−FF62から出力されるハイレベルのエンド信号END1が供給される。これに応じて、レジスタ66は、カウンタ65に現在のカウント値V3を出力させ、カウンタ65から出力されるカウント値V3を保持する。データ保持/選択回路13のセレクタ44には、スキュー調整部51のレジスタ66からカウント値V3が供給される。このセレクタ44は、カウント値V3に応じて、入力端子Tin4に入力している論理値を選択的に出力する。
このようにして各テストパス間のスキューが調整される。なお、スキュー調整部52からは、カウント値V0が出力される。データ保持/選択回路14のセレクタ44は、スキュー調整部52から供給されるカウント値V0に応じて入力端子Tin1に入力される論理値を選択的に出力する。
時刻t15のとき、モード信号MSは、ハイレベルからローレベルになる。これによって、学習モードは終了する。
上述の説明から明らかなように、本実施形態では、テスト回路6は、各テストパスに論理値生成/選択回路を有する。これによって、上述のように、連続的な高速試験を行う場合であっても、入力パルス波形のなまり(乱れ、変形)の影響によってテストデータ自体が消失し、誤ったテストデータ(期待値データに一致しないデータ)を用いてマクロをテストすることを効果的に抑制することができる。
また、本実施形態では、各テストパスにデータ保持/選択回路13〜15を配置し、スキュー調整回路20の動作によって、各テストパス間で生じる入力データの遅延量を調整する。この構成を採用することによって、テストデータを一時的に保持するFIFOメモリを設けることなく、外部からテストデータをテスト回路6及び記憶回路7に対して直接的に連続して供給することが可能になる。これは、各テストパス間に存在するデータ伝送遅延の影響が低減され、記憶回路7に対して各テストパスから同時に所望のテストデータを入力することが可能になるためである。このようにして、実動作周波数における連続したテストが実現可能になる。
実施の形態2
以下、図10乃至図13を参照して、実施形態2について説明する。なお、実施の形態1と重複する説明は省略する。実施の形態1と実施の形態2とは互いに独立したものではなく、相互に組み合わせ可能なものであり、かつ組み合わせによる相乗的な効果も理解されるものとする。
以下、図10乃至図13を参照して、実施形態2について説明する。なお、実施の形態1と重複する説明は省略する。実施の形態1と実施の形態2とは互いに独立したものではなく、相互に組み合わせ可能なものであり、かつ組み合わせによる相乗的な効果も理解されるものとする。
図10は、テスト回路の概略的なブロック図である。図11は、スキュー調整部の概略的な回路図である。図12は、スキュー調整回路の動作を示すタイミングチャートである。図13は、スキュー調整回路の動作を示すタイミングチャートである。なお、図10は、実施形態1に示したテスト回路6とは異なる部分を模式的に示すにとどまる。実施形態1に示したテスト回路6と一致する点は、図10には示されていない。図10に示すデータ保持/選択回路13の入力端子は、実施形態1と同様、論理値生成/選択回路10の出力端子に接続される。データ保持/選択部14、15についても実施形態1の場合と同様である。セレクタ16の出力端子は、記憶回路7の入力端子Tin71に接続される。セレクタ17、18についても実施形態1の場合と同様である。
本実施形態では、実施形態1と比較して、次の点が異なる。図10に模式的に示すように、スキュー調整回路20には、論理値生成/選択回路10〜12の出力に代えて、データ保持/選択回路13〜15の出力が接続される。より具体的には、データ保持/選択回路13の出力端子は、スキュー調整部51の入力端子Tin21に接続される。データ保持/選択回路14の出力端子は、スキュー調整部52の入力端子Tin22に接続される。データ保持/選択回路15の出力端子は、スキュー調整部53の入力端子Tin23に接続される。また、スキュー調整部51〜53間の接続関係も、実施形態1の場合と異なり、次のように簡素に構成される。スキュー調整部51の出力端子ES51は、スキュー調整部52の入力端子FT1にのみ接続される。同様に、スキュー調整部52の出力端子ES52は、スキュー調整部53の入力端子FT2にのみ接続される。スキュー調整部53の出力端子ES53は、スキュー調整部53の入力端子FT3にのみ接続される。
このような回路構成を採用する場合であっても、実施形態1と同様の効果を得ることができる。また、このような回路構成を採用することによって、実施形態1の場合と比較して、スキュー調整回路20内のロジック(配線関係)を簡素化することができる。実施形態1の場合に必要となりうる複雑なタイミング調整を抑制することができる。
図11に示すように、スキュー調整部51のAND64には、スキュー調整部53のエンド信号END3が供給される。実施形態1とは異なり、スキュー調整部52のエンド信号END2は供給されない。
図12及び図13を参照して、テスト回路6の動作について説明する。図12は、1回目のスキュー調整処理を示す。図13は、2回目のスキュー調整処理を示す。
図12に示すように、時刻t10のとき、スキュー調整部53は、エンド信号END3を生成する。そして、このエンド信号END3は、スキュー調整部51に伝達される。スキュー調整部51は、入力したエンド信号END3に応じてカウントを開始する。
時刻t11のとき、スキュー調整部51は、エンド信号END1を生成する。これに応じて、スキュー調整部51のレジスタ66には、その時点でのカウント値V1が転送される。
図12に示すテスト回路6の動作によって、外部端子ET02を一端とするテストパスと外部端子ET03を一端とするテストパス間のスキューは調整される。しかし、外部端子ET01を一端するテストパスと上記テストパス間のスキューは完全には調整されていない。
図13を参照して更に説明する。時刻t8のとき、スキュー調整部53は、エンド信号END3を生成する。スキュー調整部51は、スキュー調整部53から伝送されたエンド信号END3に応じてカウントを開始する。
時刻t10のとき、スキュー調整部51は、エンド信号END1を生成する。この後、スキュー調整部51のレジスタ66には、その時点でのカウンタ65のカウント値が保持される。このように本実施形態では、段階的にスキューを調整する。このような場合であっても、第1実施形態と同様に、各テストパス間に生じるスキューを調整することが可能になる。
本実施形態では、上述のように、実施形態1の場合と比較して、スキュー調整回路20内のロジック(配線関係)を簡素化することができる。実施形態1の場合に必要となりうる複雑なタイミング調整を抑制することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。テスト対象回路は、記憶回路以外の機能回路であっても良い。論理値生成/選択回路の具体的な回路構成は任意である。データ保持/選択回路の具体的な構成は任意である。スキュー調整回路20の具体的な回路構成は任意である。
5 外部端子群
6 テスト回路
7 テストマクロ
10〜12 論理値生成/選択回路
13〜15 データ保持/選択回路
16〜18 セレクタ
20 スキュー調整回路
51 スキュー調整部
52 スキュー調整部
53 スキュー調整部
6 テスト回路
7 テストマクロ
10〜12 論理値生成/選択回路
13〜15 データ保持/選択回路
16〜18 セレクタ
20 スキュー調整回路
51 スキュー調整部
52 スキュー調整部
53 スキュー調整部
Claims (13)
- 複数の外部端子とテスト対象回路間に接続されるテスト回路であって、
複数の前記外部端子それぞれと前記テスト対象回路間に接続され、複数の論理値を保持する複数の論理値保持回路と、
複数の前記外部端子に含まれる互いに異なる前記外部端子を介して入力される前記論理値間の伝播遅延量の検出に基づいて、複数の前記論理値保持回路それぞれに対して、複数の前記論理値保持回路それぞれが保持している複数の前記論理値のいずれを出力すべきかを個別に制御する遅延制御回路と、
基準クロックの立上がり及び立下りそれぞれに応じて前記外部端子に入力した前記論理値を第1及び第2論理値として個別に検出すると共に、個別に検出した前記第1及び第2論理値の少なくとも一方と期待値間の比較に基づいて、前記第1及び第2論理値の一方を前記論理値保持回路に供給する複数の論理値供給回路と、
を備えるテスト回路。 - 複数の前記論理値供給回路それぞれは、
前記第1論理値を生成する第1論理値生成回路と、
前記第2論理値を生成する第2論理値生成回路と、
前記第1及び第2論理値の少なくとも一方と前記期待値とを比較する比較回路と、
前記比較回路による比較結果に基づいて、前記第1又は第2論理値生成回路から供給される前記第1及び第2論理値のいずれかを選択的に出力する選択回路と、
を備えることを特徴とする請求項1に記載のテスト回路。 - 前記遅延制御回路は、複数の前記論理値保持回路に対応する複数の遅延制御部を含み、
複数の前記遅延制御部それぞれは、前記外部端子を介して入力した前記論理値を検出して検出信号を生成すると共に、自身以外の前記遅延制御部から供給される前記検出信号と自身が生成した前記検出信号とに基づいて前記伝播遅延量を検出することを特徴とする請求項1に記載のテスト回路。 - 複数の前記遅延制御部それぞれは、自身以外の前記遅延制御部から供給される前記検出信号に基づいてカウント動作を開始し、自身が生成した前記検出信号に基づいて前記カウント動作を停止することを特徴とする請求項3に記載のテスト回路。
- 複数の前記遅延制御部それぞれは、前記カウント動作で得られたカウント値に基づいて、前記論理値保持回路に対して、当該論理値保持回路が保持している前記論理値のいずれを出力すべきかを制御することを特徴とする請求項4に記載のテスト回路。
- 複数の前記遅延制御部それぞれは、
前記論理値と期待値との比較に基づいて前記検出信号を出力する比較回路と、
他の前記遅延制御部から供給される前記検出信号と前記比較回路から出力される前記検出信号とに基づいて前記制御値を生成して出力する制御値生成回路と、
を備えることを特徴とする請求項2に記載のテスト回路。 - 複数の前記遅延制御部それぞれは、自身以外の複数の前記遅延制御部のいずれか1つに対して前記検出信号を供給することを特徴とする請求項2に記載のテスト回路。
- 複数の前記遅延制御部は、少なくとも第1乃至第3遅延制御部を含み、
前記第1遅延制御部は、前記検出信号を前記第2遅延制御部に供給し、
前記第2遅延制御部は、前記検出信号を前記第3遅延制御部に供給することを特徴とする請求項2に記載のテスト回路。 - 複数の前記遅延制御部それぞれは、前記論理値供給回路から出力される前記論理値を検出することを特徴とする請求項2に記載のテスト回路。
- 複数の前記遅延制御部それぞれは、前記論理値保持回路から出力される前記論理値を検出することを特徴とする請求項2に記載のテスト回路。
- 前記テスト対象回路は、記憶回路であることを特徴とする請求項1乃至10のいずれか一項に記載のテスト回路。
- 前記基準クロックは、前記テスト対象回路に供給されるクロックであることを特徴とする請求項1乃至11のいずれか一項に記載のテスト回路。
- 複数の外部端子と、
テスト対象回路と、
複数の前記外部端子と前記テスト対象回路間に接続されるテスト回路と、
を備える半導体集積回路であって、
前記テスト回路は、
複数の前記外部端子それぞれと前記テスト対象回路間に接続され、複数の論理値を保持する複数の論理値保持回路と、
複数の前記外部端子に含まれる互いに異なる前記外部端子を介して入力される前記論理値間の伝播遅延量の検出に基づいて、複数の前記論理値保持回路それぞれに対して、複数の前記論理値保持回路それぞれが保持している複数の前記論理値のいずれを出力すべきかを個別に制御する遅延制御回路と、
基準クロックの立上がり及び立下りそれぞれに応じて前記外部端子に入力した前記論理値を第1及び第2論理値として個別に検出すると共に、個別に検出した前記第1及び第2論理値の少なくとも一方と期待値間の比較に基づいて、前記第1及び第2論理値の一方を前記論理値保持回路に供給する複数の論理値供給回路と、
を備える、半導体集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010151919A JP2012013609A (ja) | 2010-07-02 | 2010-07-02 | テスト回路及び半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010151919A JP2012013609A (ja) | 2010-07-02 | 2010-07-02 | テスト回路及び半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012013609A true JP2012013609A (ja) | 2012-01-19 |
Family
ID=45600212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010151919A Pending JP2012013609A (ja) | 2010-07-02 | 2010-07-02 | テスト回路及び半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012013609A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021009042A (ja) * | 2019-06-28 | 2021-01-28 | 株式会社アドバンテスト | 信号処理装置および信号処理方法 |
-
2010
- 2010-07-02 JP JP2010151919A patent/JP2012013609A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021009042A (ja) * | 2019-06-28 | 2021-01-28 | 株式会社アドバンテスト | 信号処理装置および信号処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7827454B2 (en) | Semiconductor device | |
US7788558B2 (en) | Semiconductor integrated circuit and control method thereof | |
US7398442B2 (en) | Electronic circuit with asynchronously operating components | |
US11749367B2 (en) | Circuit and method for capturing and transporting data errors | |
JP6149150B2 (ja) | スキューのあるマルチレーン通信リンクにおけるタイムスタンプ補正 | |
US8843794B2 (en) | Method, system and apparatus for evaluation of input/output buffer circuitry | |
US8907681B2 (en) | Timing skew characterization apparatus and method | |
KR20150144715A (ko) | 저장 데이터 값의 에러 검출 | |
JP2010091482A (ja) | 半導体集積回路装置及びその遅延故障テスト方法 | |
JP5107080B2 (ja) | 半導体装置 | |
JP2012013609A (ja) | テスト回路及び半導体集積回路 | |
US8904221B2 (en) | Arbitration circuitry for asynchronous memory accesses | |
KR102225314B1 (ko) | 반도체 장치 및 동작 방법 | |
JP6534592B2 (ja) | スキャンテスト回路及びスキャンテスト装置 | |
JP6386434B2 (ja) | 試験装置、試験信号供給装置、試験方法、およびプログラム | |
US20130166978A1 (en) | Integrated circuit | |
US7428674B1 (en) | Monitoring the state vector of a test access port | |
JP2009181647A (ja) | 半導体記憶装置 | |
US20090160507A1 (en) | Apparatus and method for clock signal synchronization in JTAG testing in systems having selectable modules processing data signals at different rates | |
JP2019519029A (ja) | 非同期フィードバックトレーニング | |
JP2006227866A (ja) | シリアルデータ転送装置、シリアルクロック転送装置およびシリアル転送システム | |
JP2020047060A (ja) | スキャンテスト回路の設計方法、スキャンテスト回路の設計プログラム、及び、半導体集積回路 | |
JP5320310B2 (ja) | 半導体製造検査装置と半導体装置 | |
US8754667B2 (en) | Semiconductor device test method and semiconductor device | |
JP5499528B2 (ja) | 半導体集積回路及び電子機器 |