JP2008275480A - 半導体集積回路のテスト回路、テスト方法 - Google Patents
半導体集積回路のテスト回路、テスト方法 Download PDFInfo
- Publication number
- JP2008275480A JP2008275480A JP2007120179A JP2007120179A JP2008275480A JP 2008275480 A JP2008275480 A JP 2008275480A JP 2007120179 A JP2007120179 A JP 2007120179A JP 2007120179 A JP2007120179 A JP 2007120179A JP 2008275480 A JP2008275480 A JP 2008275480A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- circuit
- output
- input
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】非同期クロックの複数クロックドメイン間でパスが存在する場合、クロック系統数分のシフトとラウンチ−キャプチャを繰り返す必要があり、テスト時間が長くなる。
【解決手段】複数のクロックドメインに対応する複数のクロック制御回路が、第nのスキャンイネーブル信号に基づき、第nのクロックに同期動作する第nのクロックドメインに接続される第nのスキャンチェーン回路に第nの遅延テスト用クロックを出力する第nのクロック制御回路と、第nの遅延テスト用クロック出力終了に基づき、第nのクロック制御回路から出力される第n+1のスキャンイネーブル信号に基づき、第nのクロックとは非同期の第n+1のクロックに同期動作する第n+1のクロックドメインに接続される第n+1のスキャンチェーン回路に第n+1の遅延テスト用クロックを出力する第n+1の制御回路を含む半導体テスト回路を提供する。
【選択図】図1
【解決手段】複数のクロックドメインに対応する複数のクロック制御回路が、第nのスキャンイネーブル信号に基づき、第nのクロックに同期動作する第nのクロックドメインに接続される第nのスキャンチェーン回路に第nの遅延テスト用クロックを出力する第nのクロック制御回路と、第nの遅延テスト用クロック出力終了に基づき、第nのクロック制御回路から出力される第n+1のスキャンイネーブル信号に基づき、第nのクロックとは非同期の第n+1のクロックに同期動作する第n+1のクロックドメインに接続される第n+1のスキャンチェーン回路に第n+1の遅延テスト用クロックを出力する第n+1の制御回路を含む半導体テスト回路を提供する。
【選択図】図1
Description
本発明は、スキャンテスト回路と複数のクロックドメインを有する半導体集積回路の遅延故障テスト回路および遅延故障テスト方法に関する。
従来、半導体集積回路の品質を保証するために、スキャンテスト回路を利用した縮退故障テストを実施していた。
近年、プロセスの微細化に伴い、配線幅、配線ピッチが小さくなり、また半導体集積回路に要求される動作周波数の高速化により、縮退故障テストに加えて遅延故障テストが必要となっている。
複数のクロックドメインを有するLSIにおいて、通常のスキャンテスト時には、スキャンクロックを供給するためにクロックドメイン数と同数の専用端子または兼用端子を設ける必要がある。しかし、端子数制限により専用端子を設けることができない場合、または、PCI−Express、DDR2のような高速インターフェイスは、テスト端子と兼用すると外部ACタイミングが悪化し、ACスペックを満足できない。そこで、複数のクロックドメインのクロック供給源を1本化した外部端子からのスキャンクロックを供給している。よって、その1本化した外部端子から遅延故障テストを確実に行うことが重要になってきている。
ここで、図13、図14および図15を用いて、特許文献2に記載の従来技術の例を示す。図13は、内部クロックが2系統の場合の回路構成である。図14は、図13中に示すクロック生成回路の構成例である。図15は、図13に示す従来技術のタイミングチャートである。
分周回路112は同期設計された分周回路で、PLL(Phase Locked Loop)111からCKO出力を分周して多相クロックCK1出力及びCK2出力を生成する。
タイミング検出回路1154はクロック生成回路1152及び1153の状態を示すSetupCA-Tx入力及びidle-Tx入力と分周回路112のCK1出力及びCK2出力を監視し、設定レジスタ1151から入力されるDCAR-Out-Tx入力の設定に従ってdtctCA出力を生成する。
クロック生成回路1152及び1153はタイミング検出回路1154のdtctCA出力が"1"になったタイミングを基点として順序回路が動作し、設定レジスタ回路1151から入力されるSet1stCK入力及びSet2ndCK入力の設定に従ってCKinに入力されたクロックより任意のタイミング(図15では、2クロック後)のCKout出力を生成する。
特開2003−4807号公報
特開2003−222656号公報
特開2004−294424号公報
従来技術では、分周回路112から出力される多相クロックCK1とCK2が同期の関係であることを前提とし、1回のラウンチ−キャプチャ期間にタイミング検出回路1154のdtctCA出力を基点としてCK1クロック及びCK2クロックを供給しており、CK1クロック及びCK2クロックの位相関係が保たれた状態でしか遅延故障テストできない。
CK1クロックとCK2クロックが非同期の関係でCK1クロックドメインからCK2クロックドメインへのパスが存在する場合、CK1クロックからCK2クロックへのパスは遅延故障テストする必要がない為、1回目の遅延故障テストではラウンチ−キャプチャ期間にCK1クロックまたはCK2クロックのどちらか一方のクロックを供給して遅延故障テストを実施し、2回目の遅延故障テストではラウンチ−キャプチャ期間にCK2クロックまたはCK1クロックのどちらか一方のクロックを供給して遅延故障テストを実施することになる。このように多相クロックが非同期の関係にある場合はクロック系統数分のシフトとラウンチ−キャプチャを繰り返す必要があり、テスト時間(テストコスト)が長くなってしまう。
また、複数のPLL及び分周回路が存在し、各PLL及び分周回路から出力されるクロックドメイン間に非同期のパスが存在する場合も、上記と同様の理由で1回のラウンチ−キャプチャ期間に1つのクロックしか供給できない為、テスト時間(テストコスト)が長くなる。
本発明にかかる半導体テスト回路は、複数のクロックドメインに対応する複数のクロック制御回路を有する半導体テスト回路であって、前記複数のクロック制御回路は、第nのスキャンイネーブル信号に基づいて、第nのクロックに同期して動作する第nのクロックドメインに接続される第nのスキャンチェーン回路に第nの遅延テスト用クロックを出力する第nのクロック制御回路と、前記第nの遅延テスト用クロックの出力終了に基づいて、前記第nのクロック制御回路から出力される第n+1のスキャンイネーブル信号に基づいて、前記第nのクロックとは非同期の第n+1のクロックに同期して動作する第n+1のクロックドメインに接続される第n+1のスキャンチェーン回路に第n+1の遅延テスト用クロックを出力する第n+1のクロック制御回路と、を含むことを特徴とするものである。
本発明にかかる半導体テスト回路によれば、内部クロック系統毎に分けて遅延故障テストを実施する必要がなく、且つ内部クロック系統の位相に関係なく1回のラウンチ−キャプチャ期間に複数のクロックドメインの遅延故障テストを実施することが可能となる。
本発明によれば、1回のラウンチ−キャプチャ期間に複数のクロックドメインの遅延故障テストを実施することが可能となり、テスト時間を短縮し、テストにかかるコストを削減することができる。
<発明の実施の形態1>
以下、本発明を適用した具体的な実施の形態1について、図面を参照しながら詳細に説明する。この実施の形態1は、本発明を半導体集積回路のテスト回路に適用したものである。
以下、本発明を適用した具体的な実施の形態1について、図面を参照しながら詳細に説明する。この実施の形態1は、本発明を半導体集積回路のテスト回路に適用したものである。
図1に本実施の形態にかかる半導体集積回路のテスト回路の構成の一例を示す。ここで、本実施形態では、内部クロックが2系統(クロックドメインが2系統)の場合の回路構成である。図1に示す半導体集積回路のテスト回路は以下のように構成されている。
第1のクロックドメイン側が、クロック生成回路231と、マルチプレクサ241と、クロック制御回路221と、組み合わせ回路211と、組み合わせ回路211に対する複数のスキャンチェーン(本例では、記憶素子が2個)であるスキャン・フリップ・フロップ2511、2512で構成される。また、第2のクロックドメイン側が、クロック生成回路232と、マルチプレクサ242と、クロック制御回路222と、組み合わせ回路212と、組み合わせ回路212に対する複数のスキャンチェーン(本例では、記憶素子が2個)であるスキャン・フリップ・フロップ2521、2522で構成される。
また、外部入力端子として、外部入力DataInと、外部入力ScanIn1、外部入力ScanIn2、外部入力ScanEnable、外部入力Clock、外部入力BypassClock、外部入力BypassModeを有する。また、外部出力端子として、外部出力DataOut、外部出力ScanOut1、外部出力ScanOut2を有する。
クロック生成回路231とクロック生成回路232は、CK入力(端子)に入力された信号より、それぞれのクロックドメインの通常動作時の動作クロックをそれぞれCKO1信号とCKO2信号として出力する。
クロック制御回路221とクロック制御回路222は、EN入力(端子)とRST入力(端子)に入力された信号に応じてCK入力(端子)に入力された信号をTCKO出力(端子)に、それぞれTCKO1信号とTCKO2信号として出力する。
マルチプレクサ241とマルチプレクサ242は、S0入力(端子)に入力される信号に応じてD0入力(端子)またはD1入力(端子)に入力される信号を選択してY出力(端子)に出力する。
組み合わせ回路211と組み合わせ回路212は、IN1入力(端子)からIN3入力(端子)からのデータを入力とし、OT1出力(端子)からOT3出力(端子)へデータを出力する。
スキャン・フリップ・フロップ2511、2512、2521、2522は、CLK入力(端子)に入力されたクロックの立ち上がりに同期して、D入力(端子)に入力されたデータを記憶しQ出力(端子)に出力する。
外部入力DataInは、外部からの入力データを入力する。外部入力ScanIn1は、第1のクロックドメインのスキャンインデータを入力する。外部入力ScanIn2は、第2のクロックドメインのスキャンインデータを入力する。
外部入力ScanEnableは、シフト期間とラウンチ−キャプチャ期間の切り替えを行うスキャンイネーブル信号を入力する。
外部入力BypassClockは、遅延故障テスト時に各クロックドメインに入力する外部テストクロック(例えば、後述する図3に示すα、β、γのクロック)を入力する。
外部入力BypassModeは、遅延故障テスト時に"1"レベルである外部テストモード信号を入力する。
外部出力DataOutは、組合せ回路212のデータを出力する。外部出力ScanOut1は、スキャン・フリップ・フロップ2512からの出力データを出力する。
外部出力ScanOut2は、スキャン・フリップ・フロップ2522からの出力データを出力する。
外部出力ScanOut2は、スキャン・フリップ・フロップ2522からの出力データを出力する。
次に、上記構成に対する接続関係を説明する。まず、外部入力DataInを組み合わせ回路211のIN1に接続する。
外部入力ScanIn1をスキャン・フリップ・フロップ2511のSI入力に接続し、外部入力ScanIn2をスキャン・フリップ・フロップ2521のSI入力に接続する。外部入力ScanEnableをクロック制御回路221のEN入力及びRST入力とクロック制御回路222のRST入力とスキャン・フリップ・フロップ2511、2512及び2521、2522のSE入力に接続する。外部入力Clockをクロック生成回路231及び232のCK入力に接続する。外部入力BypassClockをクロック制御回路221及び222のCK入力に接続する。外部入力BypassModeをマルチプレクサ241及び242のS0入力に接続する。
クロック生成回路231のCKO1出力信号をマルチプレクサ241のD0入力に接続し、クロック制御回路221のTCKO1出力信号をマルチプレクサ241のD1入力に接続する。クロック生成回路232のCKO2出力信号をマルチプレクサ242のD0入力に接続し、クロック制御回路222のTCKO2出力信号をマルチプレクサ242のD1入力に接続する。クロック制御回路221のNEXTEN出力をクロック制御回路222のEN入力に接続する(この接続ネットをCtrl1とする)。
マルチプレクサ241のY出力CK1信号をスキャン・フリップ・フロップ2511及び2512のCLK入力に接続し、マルチプレクサ242のY出力CK2信号をスキャン・フリップ・フロップ2521及び2522のCLK入力に接続する。
組み合わせ回路211のOT1出力をスキャン・フリップ・フロップ2511のD入力に接続し、スキャン・フリップ・フロップ2511のQ出力を組み合わせ回路211のIN2とスキャン・フリップ・フロップ2512のSI入力に接続し、組み合わせ回路211のOT2出力をスキャン・フリップ・フロップ2512のD入力と接続し、スキャン・フリップ・フロップ2512のQ出力を組み合わせ回路211のIN3と外部出力ScanOut1に接続し、組み合わせ回路211のOT3出力を組み合わせ回路212のIN1に接続する。
組み合わせ回路212のOT1出力をスキャン・フリップ・フロップ2521のD入力に接続し、スキャン・フリップ・フロップ2521のQ出力を組み合わせ回路212のIN2とスキャン・フリップ・フロップ2522のSI入力に接続し、組み合わせ回路212のOT2をスキャン・フリップ・フロップ2522のD入力に接続し、スキャン・フリップ・フロップ2522のQ出力を組み合わせ回路212のIN3と外部出力ScanOut2に接続し、組み合わせ回路212のOT3出力を外部出力DataOutに接続する。
次に、図2に図1中に示すクロック制御回路221と222の構成例を示す。クロック制御回路221と222は同様の構成である。図2のクロック制御回路以下のように構成されている。
入力ENを入力とするインバータ511と、インバータ511の出力を入力するフリップ・フロップ521とフリップ・フロップ521の出力データを入力とするフリップ・フロップ522と、フリップ・フロップ522の出力データを入力とするインバータ512と、インバータ511とインバータ512の出力を入力とするAND回路531と、AND回路531の出力をラッチし、ラッチした値を出力するラッチ回路54と、ラッチ回路54とCK入力(端子)からの信号を入力とするAND回路532と、AND回路532とCK端子からの信号を入力とするマルチプレクサ55からなる。また、入力端子として、入力ENと、入力RSTと、入力CKを有する。また、出力端子として、出力TCKOと、出力NEXTENを有する。
インバータ511とインバータ512は、A入力(端子)に入力された値を論理反転してYB出力(端子)に出力する。
フリップ・フロップ521のフリップ・フロップ522は、R入力(リセット入力端子)を有するDフリップ・フロップであり、CLK入力(端子)から入力されるクロックの立ち上がりに同期して、D入力(端子)に入力されたデータを記憶しQ出力(端子)に出力する。ここで、R入力に"1"が入力されると"0"を出力する。
AND回路531と532は、端子Aと端子Bに入力されたデータをAND演算して端子Yへ出力する。
次に、上記構成に対する接続関係を説明する。入力ENをインバータ回路511のA入力に接続し、入力RSTをフリップ・フロップ521及び522のR入力とマルチプレクサ55のS0入力に接続する。入力CKをフリップ・フロップ521及び522のCLK入力とラッチ54のGB入力とAND回路532のB入力とマルチプレクサ55のD1入力に接続する。インバータ回路511のYB出力をAND回路531のA入力とフリップ・フロップ521のD入力に接続する。
フリップ・フロップ521のQ出力をフリップ・フロップ522のD入力に接続し(この接続ネットをCapEn1とする)、フリップ・フロップ522のQ出力をインバータ回路512のA入力に接続し(この接続ネットをCapEn2とする)、インバータ回路512のYB出力をAND回路531のB入力と出力NEXTENに接続する。
AND回路531のY出力をラッチ54のD入力に接続し(この接続ネットをClkEnとする)、ラッチ54のQ出力をAND回路532のA入力に接続し(この接続ネットをClkEnDlyとする)、AND回路532のY出力をマルチプレクサ55のD0入力に接続する(この接続ネットをGCKとする)。
次に、本実施の形態にかかる半導体集積回路のテスト回路の動作について説明する。まず、通常動作時の説明を行う。通常動作時、外部入力ScanIn1とScanIn2とScanEnableとBypassClockとBypassModeを"0"に固定する。外部入力Clockからクロック生成回路231及び232のCK入力にクロックを供給する。クロック生成回路231及び232はCK入力を元に各々任意のクロックを生成しCKOから出力する。BypassModeが"0"の時、マルチプレクサ241及び242のD0入力の値をYに出力する為、クロック生成回路231のCKO1出力がCK1信号としてスキャン・フリップ・フロップ2511及び2512のCLK入力に供給され、クロック生成回路232のCKO2出力がCK2信号としてスキャン・フリップ・フロップ2521及び2522のCLK入力に供給され動作する。ここで、クロック生成回路231のCKO1出力とクロック生成回路232のCKO2出力は相関のない非同期の関係にある。
次に遅延故障テスト時の動作の説明を行う。図3に図1の回路構成における遅延故障テスト時のタイミングチャートを示す。
遅延故障テスト時、クロック生成回路231及び232の出力信号CKO1及びCKO2が"0"レベルの時に外部入力BypassModeを"1"に固定する。BypassModeが"1"の時、マルチプレクサ241及び242のD1入力の値をYに出力する為、クロック制御回路221のTCKO1出力がCK1信号としてスキャン・フリップ・フロップ2511及び2512のCLK入力に供給され、クロック制御回路222のTCKO2出力がCK2信号としてスキャン・フリップ・フロップ2521及び2522のCLK入力に供給され動作する。
外部入力ScanEnableはシフト期間とラウンチ−キャプチャ期間の切り替えを行い、"1"でシフト期間、"0"でラウンチ−キャプチャ期間となり、シフト動作から遅延故障テストを開始する。
外部入力ScanIn1は、シフト期間中はシフトデータを入力しスキャン・フリップ・フロップ2511及び2512にデータを設定し、ラウンチ−キャプチャ期間中は"0"または"1"の固定値を入力する。外部入力ScanIn2は、シフト期間中はシフトデータを入力しスキャン・フリップ・フロップ2521及び2522にデータを設定し、ラウンチ−キャプチャ期間中は"0"又は"1"の固定値を入力する。外部出力ScanOut1は、シフト期間中にスキャン・フリップ・フロップ2511及び2512のD入力で取り込まれたデータを順次出力し期待値照合する。外部出力ScanOut2は、シフト期間中にスキャン・フリップ・フロップ2521及び2522のD入力で取り込まれたデータを順次出力し期待値照合する。ここで、外部入力ScanIn1、ScanIn2、外部出力ScanOut1、ScanOut2はスキャンパス動作の一般的な動作のため、図3のタイミングチャートには記載していない。
外部入力BypassClockは、シフト期間中に供給するクロック(以降はαと記載)と、ラウンチ−キャプチャ期間中は最初に2クロック分のクロック(以降はβと記載)を、次に2クロック分のクロック(以降はγと記載)を供給する。
クロック制御回路221のTCKO1出力であるCK1信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中はβのクロック、つまり、図3のAの時刻から最初の2パルス分が出力される。
クロック制御回路221のNEXTEN出力はCtrl1制御信号として、図3のBの時刻の2発目のパルスの立ち上がりエッジに同期して"1"から"0"に遷移し、クロック制御回路222のENに入力する。
クロック制御回路222のTCKO2出力であるCK2信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中はγのクロック、つまり図3のCの時刻から次の2パルス分が出力される。
図4は図2のクロック制御回路221(またはクロック制御回路222)の動作を示すタイミングチャートである。図4を用いて、図2のクロック制御回路の動作を説明する。
入力RSTが"1"の期間はシフト期間であり、フリップ・フロップ521及び522はリセット状態で、マルチプレクサ55のD1入力の値をYに出力する。ラッチ54にはリセット入力が存在しないが、CLK入力が"0"の期間にQ出力は確定している。そのためCK信号がそのままTCKOに出力される。
RSTが"0"の期間はラウンチ−キャプチャ期間であり、フリップ・フロップ521及び522はリセット解除状態で、マルチプレクサ55のD0入力(GCK)をTCKOとして出力する。リセット解除後の図4のAの時刻にフリップ・フロップ521は入力CKの立ち上がりエッジで入力ENの反転信号を取り込みQからCapEn1として"1"を出力する。図4のBの時刻にフリップ・フロップ522はCKの立ち上がりエッジでCapEn1を取り込みQからCapEn2として"1"を出力し、インバータ512のAに入力され、インバータ512の出力であるCapEn2の反転信号をNEXTEN出力として出力する。また、NEXTEN出力は、インバータ511出力とAND演算した結果のClkEn信号となり、図4のBの時刻にラッチ54に取り込み、QからClkEnDlyとして"1"を出力する。CKとClkEnDlyをAND532で演算した結果はCKのマスク制御を行う動作となり、その出力がマルチプレクサ55を介してTCKOとして出力される。
つまりClkEnDlyはEN信号の立ち下がりであるラウンチ−キャプチャ期間の最初からCKの2クロックの間"1"の信号を出力し、そのClkEnDly信号とCKをAND演算することにより、ラウンチ−キャプチャの最初時刻からCK信号の最初の2クロックのみを有効にしてTCKOとして出力する。
同様の考え方で、クロック制御回路222のEN信号は、クロック制御回路221のNEXTENより受ける回路になっているため。NEXTEN信号の立ち下がりである時点、つまりラウンチ−キャプチャ期間のCK信号が2クロック目の立ち上がる時点から、次のCK信号の2クロック目の立下りまで、クロック制御回路222のClkEnDlyは"1"の信号を出力することになり、クロック制御回路222のTCKOには、クロック制御回路222のClkEnDlyの"1"の期間だけCK信号を出力する。
以上より、シフト期間中はαのクロックがCK1とCK2に供給され、ラウンチ−キャプチャ期間中は最初のβのクロックがCK1にのみ供給され、次のγのクロックがCK2にのみ供給される。
またここで、実施の形態1のクロック制御回路221と222のテスト方法について説明する。例えば、クロック制御回路221と222が故障していた場合、遅延故障テストができなくなる為、テストが必要となる。1例としては、マルチプレクサ241のY出力とマルチプレクサ242のY出力を外部端子に接続し、遅延故障テスト時と同じシーケンスで動作させ、期待するクロックが生成されているかどうかモニタすることでテストすることができる。
以下、従来技術のテスト回路のテスト時間算出例と本発明のテスト回路のテスト時間算出例を示し比較する。
<従来技術の場合>
最大スキャンチェーン数を10,000個、ラウンチ−キャプチャ・サイクル数を約3[サイクル]、シフト周期を100[ns](10[MHz])、CK1クロックドメインのパターンセット数を500[セット]、CK2クロックドメインのパターンセット数を500[セット]とする。ただしここで、パターンセット数とは、1回のシフト期間中に各スキャン・フリップ・フロップにデータを設定するパターンのことを1セットと定義し、パターンセット数が500[セット]の場合、500回のシフト動作が行われるものとする。
最大スキャンチェーン数を10,000個、ラウンチ−キャプチャ・サイクル数を約3[サイクル]、シフト周期を100[ns](10[MHz])、CK1クロックドメインのパターンセット数を500[セット]、CK2クロックドメインのパターンセット数を500[セット]とする。ただしここで、パターンセット数とは、1回のシフト期間中に各スキャン・フリップ・フロップにデータを設定するパターンのことを1セットと定義し、パターンセット数が500[セット]の場合、500回のシフト動作が行われるものとする。
従来技術では、1回のラウンチ−キャプチャ期間中に1つのクロックしか供給できない。よって、1回目の遅延故障テストでCK1クロックドメインのパターンをシフト期間中に各スキャン・フリップ・フロップに設定してテストする。次に、2回目の遅延故障テストでCK2クロックドメインのパターンをシフト期間中に各スキャン・フリップ・フロップに設定してテストする。よって、テスト時間は以下のような計算式から求められる。
(10,000[個]+3)×100[ns]×(500+500)
よって、テスト時間は、1,000,300,000[ns]≒1.0[s]となる。
(10,000[個]+3)×100[ns]×(500+500)
よって、テスト時間は、1,000,300,000[ns]≒1.0[s]となる。
<本発明技術の場合>
最大スキャンチェーン数を10,000[個]、ラウンチ−キャプチャ・サイクル数を6[サイクル]、シフト周期を100[ns](10[MHz])、CK1クロックドメインのパターンセット数を500[セット]、CK2クロックドメインのパターンセット数を500[セット]とする。
最大スキャンチェーン数を10,000[個]、ラウンチ−キャプチャ・サイクル数を6[サイクル]、シフト周期を100[ns](10[MHz])、CK1クロックドメインのパターンセット数を500[セット]、CK2クロックドメインのパターンセット数を500[セット]とする。
ここで本発明技術では前述したように、1回のラウンチ−キャプチャ期間中に2つのクロックを供給できる。よって、CK1クロックドメインのパターンとCK2クロックドメインのパターンをシフト期間中に各スキャン・フリップ・フロップに同時に設定してテストする。このため、テスト時間は以下のような計算式から求められる。
(10,000[個]+6)×100[ns]×500
よって、テスト時間は、500,300,000[ns]≒0.5[s]となる。
(10,000[個]+6)×100[ns]×500
よって、テスト時間は、500,300,000[ns]≒0.5[s]となる。
以上の結果から、従来技術の問題点であるテスト時間およびテストコストの増加は、クロック制御回路221及び222を追加し、クロック制御回路221のNEXTEN出力をトリガーとしてクロック制御回路222が動作することにより、ラウンチ−キャプチャ期間中に、最初の2クロック分のβをCK1にのみ供給し、次に2クロック分のγをCK2にのみ供給する為、1回のラウンチ−キャプチャ期間中に2つのクロックドメインの遅延故障テストを実施することが可能となり、2つのクロックドメインの位相に関係なくテスト時間を削減することができる。よって、CK1クロックで動作する回路とCK2クロックで動作する回路の故障定義数が同じだと仮定して、従来技術の半分のテスト時間で遅延故障テストを実施することができることがわかる。
よって、1回のラウンチ−キャプチャ期間中に複数のクロックドメインの遅延故障テストを実施することが可能となり、テスト時間を削減することができる。また、1本のスキャンクロックで複数のクロックドメインの遅延故障テストを実施することが可能となり、テスト用の専用端子や兼用端子を削減することができる。
<発明の実施の形態2>
以下、本発明を適用した具体的な実施の形態2について、図面を参照しながら詳細に説明する。この実施の形態2は、実施の形態1と同様、本発明を半導体集積回路のテスト回路に適用したものである。
以下、本発明を適用した具体的な実施の形態2について、図面を参照しながら詳細に説明する。この実施の形態2は、実施の形態1と同様、本発明を半導体集積回路のテスト回路に適用したものである。
図5に本実施の形態2にかかる半導体集積回路のテスト回路の構成の一例を示す。なお、図に示された符号のうち、図1と同じ符号を付した構成は、図1と同じか又は類似の構成を示している。実施の形態1と異なる点は、クロック制御回路221とクロック制御回路222との接続が異なる点である。よって、本実施の形態2では、その部分のみの説明を記載する。このため、構成およびクロック制御回路221とクロック制御回路222との接続関係以外は実施の形態1に説明済みのため省略する。また、クロック制御回路221及び222は、実施の形態1で説明した構成と同様の為、構成の説明は省略する。
以下に本実施の形態2における、クロック制御回路221とクロック制御回路222の接続関係を説明する。
外部入力ScanEnableをクロック制御回路221のRST入力とクロック制御回路222のEN入力及びRST入力を接続する。クロック制御回路222のNEXTEN出力をクロック制御回路221のEN入力に接続する(この接続ネットをCtrl1とする)。
次に、本実施の形態にかかる半導体集積回路のテスト回路の動作について説明する。ただし、通常動作は実施の形態1と同様の為、説明は省略する。また、遅延故障テスト時においても基本的な動作は実施形態1と同様なため説明は省略し、本実施の形態に特徴を有するラウンチ−キャプチャ期間の動作のみ記載する。
ここで、図6に図5の回路構成における遅延故障テスト時のタイミングチャートを示す。外部入力BypassClockは、シフト期間中はαのクロックを、ラウンチ−キャプチャ期間中は2クロック分のγのクロックと次に2クロック分のβのクロックを供給する。
クロック制御回路222のTCKO2出力であるCK2信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は2クロック分のγのクロック、つまり、図6のAの時刻から最初の2パルスを出力する。
クロック制御回路222のNEXTEN出力Ctrl1制御信号として、図6のBの時刻の2発目のパルスの立ち上がりエッジに同期して"1"から"0"に遷移し、クロック制御回路221のENに入力する。
クロック制御回路221のTCKO1出力であるCK1信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は2クロック分のβのクロック、つまり図6のCの時刻から次の2パルスを出力する。その他の動作は発明の実施の形態1と同様の為、説明は省略する。
以上より、シフト期間中はαのクロックがCK1とCK2に供給され、ラウンチ−キャプチャ期間中は最初の2クロック分のγのクロックがCK2にのみ供給され、次の2クロック分のβのクロックがCK1にのみ供給される。
よって、実施の形態1の場合には、シフト期間中はαのクロックをCK1とCK2に供給し、ラウンチ−キャプチャ期間中は最初の2クロック分のβのクロックをCK1にのみ供給し、次の2クロック分のγのクロックをCK2にのみ供給していたが、本実施の形態2では逆に、最初の2クロック分のγのクロックをCK2にのみ供給し、次に2クロック分のβのクロックをCK1にのみ供給することができる。
<発明の実施の形態3>
以下、本発明を適用した具体的な実施の形態3について、図面を参照しながら詳細に説明する。この実施の形態3は、本発明を半導体集積回路のテスト回路に適用したものである。
以下、本発明を適用した具体的な実施の形態3について、図面を参照しながら詳細に説明する。この実施の形態3は、本発明を半導体集積回路のテスト回路に適用したものである。
図7に本実施の形態3にかかる半導体集積回路のテスト回路の構成の一例を示す。なお、図に示された符号のうち、図1と同じ符号を付した構成は、図1と同じか又は類似の構成を示している。実施の形態1と異なる点は、装置内のクロックドメインを複数(n個)持つ場合である。よって、本実施の形態3では、その部分のみの説明を記載する。
図7に示す半導体集積回路のテスト回路は、第1から第nのクロックドメインにおけるそれぞれのクロック生成回路731から73nと、それぞれのマルチプレクサ741から74nと、それぞれのクロック制御回路721から72nと、組み合わせ回路711から71nと、組み合わせ回路711から71nに対する複数のスキャンチェーン(本例では、記憶素子が2個)であるスキャン・フリップ・フロップ7511、7512から75n1、75n2からなる。ただし、これらクロック生成回路731から73nと、マルチプレクサ741から74nと、クロック制御回路721から72nは、実施の形態1のクロック生成回路、マルチプレクサ、クロック制御回路と同様の構成のため説明は省略し、以下にそれぞれの接続関係を記載する。
外部入力DataInを組み合わせ回路711のIN1に接続し、ScanIn1をスキャン・フリップ・フロップ7511のSI入力に接続し、ScanIn2をスキャン・フリップ・フロップ7521のSI入力に接続し、ScanIn3をスキャン・フリップ・フロップ7531のSI入力に接続し、ScanIn(n)をスキャン・フリップ・フロップ75n1のSI入力に接続する。
外部入力ScanEnableをクロック制御回路721のEN入力及びRST入力とクロック制御回路722、723、72nのRST入力とスキャン・フリップ・フロップ7511、7512、7521、7522、7531、7532、75n1、75n2のSE入力に接続する。外部入力Clockをクロック生成回路731、732、733、73nのCK入力に接続する。外部入力BypassClockをクロック制御回路721、722、723、72nのCK入力に接続する。外部入力BypassModeをマルチプレクサ741、742、743、74nのS0入力に接続する。
クロック生成回路731のCKO1出力信号をマルチプレクサ741のD0入力に接続し、クロック制御回路721のTCKO1出力信号をマルチプレクサ741のD1入力に接続する。
クロック生成回路732のCKO2出力信号をマルチプレクサ742のD0入力に接続し、クロック制御回路722のTCKO2出力信号をマルチプレクサ742のD1入力に接続する。
クロック生成回路733のCKO3出力信号をマルチプレクサ743のD0入力に接続し、クロック制御回路723のTCKO3出力信号をマルチプレクサ743のD1入力に接続する。以下同様の接続を繰り返す。
最後に、クロック生成回路73nのCKOn出力信号をマルチプレクサ74nのD0入力に接続し、クロック制御回路72nのTCKOn出力信号をマルチプレクサ74nのD1入力に接続する。
クロック制御回路721のNEXTEN出力をクロック制御回路722のEN入力に接続し(この接続ネットをCtrl1とする)、クロック制御回路722のNEXTEN出力をクロック制御回路723のEN入力に接続し(この接続ネットをCtrl2とする)、クロック制御回路723のNEXTEN出力を次に制御したいクロック制御回路のEN入力に接続し(この接続ネットをCtrl3とする)、同様に各クロック制御回路のNEXTEN出力を次に制御したいクロック制御回路のEN入力に順次接続し、(n−1)個目のクロック制御回路のNEXTEN出力をn個目のクロック制御回路72nのEN入力に接続する(この接続ネットをCtrl(n−1)とする)。
マルチプレクサ741のY出力CK1信号をスキャン・フリップ・フロップ7511及び7512のCLK入力に接続し、マルチプレクサ742のY出力CK2信号をスキャン・フリップ・フロップ7521及び7522のCLK入力に接続し、マルチプレクサ743のY出力CK3信号をスキャン・フリップ・フロップ7531及び7532のCLK入力に接続し、マルチプレクサ74nのY出力CKn信号をスキャン・フリップ・フロップ75n1及び75n2のCLK入力に接続する。なお、図7に示すクロック制御回路721、722、723、72nは、実施の形態1で説明した図2の構成と同様の為、説明は省略する。
組み合わせ回路711のOT1出力をスキャン・フリップ・フロップ7511のD入力に接続し、スキャン・フリップ・フロップ7511のQ出力を組み合わせ回路711のIN2とスキャン・フリップ・フロップ7512のSI入力に接続し、組み合わせ回路711のOT2出力をスキャン・フリップ・フロップ7512のD入力と接続し、スキャン・フリップ・フロップ7512のQ出力を組み合わせ回路711のIN3と外部出力ScanOut1に接続し、組み合わせ回路711のOT3出力を組み合わせ回路712のIN1に接続する。
組み合わせ回路712のOT1出力をスキャン・フリップ・フロップ7521のD入力に接続し、スキャン・フリップ・フロップ7521のQ出力を組み合わせ回路712のIN2とスキャン・フリップ・フロップ7522のSI入力に接続し、組み合わせ回路712のOT2出力をスキャン・フリップ・フロップ7522のD入力と接続し、スキャン・フリップ・フロップ7522のQ出力を組み合わせ回路712のIN3と外部出力ScanOut2に接続し、組み合わせ回路712のOT3出力を組み合わせ回路713のIN1に接続する。
組み合わせ回路713のOT1出力をスキャン・フリップ・フロップ7531のD入力に接続し、スキャン・フリップ・フロップ7531のQ出力を組み合わせ回路713のIN2とスキャン・フリップ・フロップ7532のSI入力に接続し、組み合わせ回路713のOT2出力をスキャン・フリップ・フロップ7532のD入力と接続し、スキャン・フリップ・フロップ7532のQ出力を組み合わせ回路713のIN3と外部出力ScanOut3に接続し、組み合わせ回路713のOT3出力を図面に記載のない組み合わせ回路714のIN1に接続する。以下同様の接続を繰り返す。
組み合わせ回路71nのOT1出力をスキャン・フリップ・フロップ75n1のD入力に接続し、スキャン・フリップ・フロップ75n1のQ出力を組み合わせ回路71nのIN2とスキャン・フリップ・フロップ75n2のSI入力に接続し、組み合わせ回路71nのOT2出力をスキャン・フリップ・フロップ75n2のD入力と接続し、スキャン・フリップ・フロップ75n2のQ出力を組み合わせ回路71nのIN3と外部出力ScanOut(n)に接続し、組み合わせ回路71nのOT3出力を外部出力DataOutに接続する。
次に遅延故障テスト時の動作の説明を行う。ここで、図8に図7の回路構成における遅延故障テスト時のタイミングチャートを示す。
次に遅延故障テスト時の動作の説明を行う。ここで、図8に図7の回路構成における遅延故障テスト時のタイミングチャートを示す。
遅延故障テスト時、クロック生成回路731、732、733、73nの出力信号CKO1、CKO2、CKO3、CKOnが"0"レベルの時に外部入力BypassModeを"1"に固定する。BypassModeが"1"の時、マルチプレクサ741、742、743、74nのD1入力の値をY出力に接続されたスキャン・フリップ・フロップ7511、7512、7521,7522、7531、7532、75n1、75n2のCLK入力に出力する。外部入力ScanEnableはシフト期間とラウンチ−キャプチャ期間の切り替えを行い、"1"でシフト期間、"0"でラウンチ−キャプチャ期間となり、シフト動作から遅延故障テストを開始する。
外部入力BypassClockは、シフト期間中はαのクロックを供給し、ラウンチ−キャプチャ期間中はCK1に出力する2クロック分のβのクロックと、CK2に出力する2クロック分のγのクロックと、CK3に出力する2クロック分のδのクロックと、以下同様にして、最後にCKn出力する2クロック分のεのクロックを供給する。
クロック制御回路721のTCKO1出力信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は、Aの時刻から最初の2クロック分のパルスを出力する。クロック制御回路721のNEXTEN出力は、Bの時刻のクロックの立ち上がりエッジに同期して"1"から"0"に遷移し、Ctrl1制御信号としてクロック制御回路722のENに入力する。クロック制御回路722のTCKO2出力信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は、クロック制御回路721のTCKO1が出力した2クロック分の次のCの時刻の2クロック分のパルスを出力する。クロック制御回路722のNEXTEN出力は、Dの時刻のクロックの立ち上がりエッジに同期して"1"から"0"に遷移し、Ctrl2制御信号としてクロック制御回路723のENに入力する。クロック制御回路723のTCKO3出力信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は、クロック制御回路722のTCKO2が出力した2クロック分の次のEの時刻の2クロック分のパルスを出力する。クロック制御回路723のNEXTEN出力は、Fの時刻のパルスの立ち上がりエッジに同期して"1"から"0"に遷移し、Ctrl3制御信号として次のクロック制御回路のENに入力する。以上の動作を繰り返し、(n−1)個目のクロック制御回路のNEXTEN出力は、(2×(n−1))発目のクロックの立ち上がりエッジに同期して"1"から"0"に遷移し、Ctrl(n−1)信号としてn個目のクロック制御回路72nのEN入力にする。n個目のクロック制御回路72nのTCKOn出力信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は、(n−1)個目のクロック制御回路のTCKOが出力した2クロック分のパルスの次のGの時刻の2クロック分のパルスを出力する。その他の動作は実施の形態1と同様である。
以上より、シフト期間中はαのクロックがCK1、CK2、CK3、CKnに供給され、ラウンチ−キャプチャ期間中はCK1には最初の2クロック分のクロック、CK2にはその次の2クロック分のクロック、後はCKnまで同様な動作でクロックが供給される。
よって、実施の形態1と実施の形態2の場合、2系統のクロックを供給していたが、本実施の形態3では、2系統以上のクロックCK1からCKnを各クロックドメインに供給することができる。
<発明の実施の形態4>
以下、本発明を適用した具体的な実施の形態4について、図面を参照しながら詳細に説明する。この実施の形態4は、本発明を半導体集積回路のテスト回路に適用したものである。
以下、本発明を適用した具体的な実施の形態4について、図面を参照しながら詳細に説明する。この実施の形態4は、本発明を半導体集積回路のテスト回路に適用したものである。
図9に本実施の形態4にかかる半導体集積回路のテスト回路の構成の一例を示す。なお、図に示された符号のうち、図1と同じ符号を付した構成は、図1と同じか又は類似の構成を示している。実施の形態1と異なる点は、IEEE Std 1149.1(JTAG)に準拠したTAPコントローラと、データレジスタであるキャプチャモード制御回路を有し、クロック制御回路に入力されるScanEnable信号を制御する点である。よって、本実施の形態4では、その部分のみの説明を記載する。
図9に示す半導体集積回路のテスト回路は、TAPコントローラ86と、キャプチャモード制御回路87と、マルチプレクサ871および872と、クロック生成回路831および832と、マルチプレクサ841および842と、クロック制御回路821および822と、組み合わせ回路811および812と、組み合わせ回路811および812に対する複数のスキャンチェーン(本例では、記憶素子が2個)であるスキャン・フリップ・フロップ8511、8512およびから8521、8522からなる。ここで、本実施形態では、クロックドメインが2系統の場合の回路構成であり、第1のクロックドメインのスキャン・フリップ・フロップに出力するクロックをCK1とし、第2のクロックドメインのスキャン・フリップ・フロップに出力するクロックをCK2とする。
TAPコントローラ86は、TCKとTMS信号からなるシーケンス回路であり、IEEE Std 1149.1(JTAG)に準拠している。ここで、図10にIEEE Std 1149.1(JTAG)で規定されたTAPコントローラの状態遷移を示す。図中の枠内のラベルは、コントローラの夫々の状態を示し、周囲に記載されている数値は、状態が遷移するときのTMS信号の値である。よって、例えば、図10中932のCapture−DRの状態に遷移したい場合は、TCK信号の立ち上がりエッジでTMS信号を取り込めるタイミングでTMS信号から"0"、"1"、"0"を入力する。また、TAPコントローラ86には、キャプチャ・モードを設定するプライベート・インストラクション・コードが追加されている。また、データレジスタである後述するキャプチャ・モード制御回路が追加されている。
キャプチャ・モード制御回路87は、IEEE Std 1149.1(JTAG)に準拠したユーザが任意に定義したデータレジスタである。ここで、マルチプレクサ871、872、841、842と、クロック生成回路831、832と、クロック制御回路821、822は、実施の形態1のクロック生成回路、マルチプレクサ、クロック制御回路と同様の構成のため説明は省略し、以下に接続関係を記載する。
テストクロック外部入力TCKをTAPコントローラ86のTCK入力に接続し、テストモードセレクト外部入力TMSをTAPコントローラ86のTMS入力に接続し、テストデータ外部入力TDIをTAPコントローラ86のTDI入力とキャプチャ・モード制御回路(データレジスタ)87のTDI入力に接続し、テストリセット外部入力TRSTをTAPコントローラ86のTRST入力に接続する。
TAPコントローラ86のTDO出力をテストデータ外部出力TDOに接続し、TAPコントローラ86のその他の制御信号出力をキャプチャ・モード制御回路(データレジスタ)87のその他の制御信号入力に接続し、TAPコントローラ86のCapModeEn出力をキャプチャ・モード制御回路(データレジスタ)87のCapModeEn入力に接続する。
外部入力DataInを組み合わせ回路811のIN1に接続し、ScanIn1をスキャン・フリップ・フロップ8511のSI入力に接続し、ScanIn2をスキャン・フリップ・フロップ8521のSI入力に接続する。外部入力ScanEnableをマルチプレクサ871及び872のD0入力とクロック制御回路821及び822のRST入力とスキャン・フリップ・フロップ8511、8512、8521、8522のSE入力に接続する。外部入力Clockをクロック生成回路831、832のCK入力に接続する。外部入力BypassClockをクロック制御回路821及び822のCK入力に接続する。外部入力BypassModeをマルチプレクサ841及び842のS0入力に接続する。
クロック生成回路831のCKO1出力信号をマルチプレクサ841のD0入力に接続し、クロック制御回路821のTCKO1出力信号をマルチプレクサ841のD1入力に接続する。
クロック生成回路832のCKO2出力信号をマルチプレクサ842のD0入力に接続し、クロック制御回路822のTCKO2出力信号をマルチプレクサ842のD1入力に接続する。
マルチプレクサ871のY出力をクロック制御回路821のEN入力に接続し、マルチプレクサ872のY出力をクロック制御回路822のEN入力に接続する。
クロック制御回路821のNEXTEN出力をマルチプレクサ872のD1入力に接続し(この接続ネットをCtrl1とする)、クロック制御回路822のNEXTEN出力をマルチプレクサ871のD1入力に接続する。
キャプチャ・モード制御回路(データレジスタ)87のCapMode1出力をマルチプレクサ871のS0入力に接続し、キャプチャ・モード制御回路(データレジスタ)87のCapMode2出力をマルチプレクサ872のS0入力に接続する。
マルチプレクサ841のY出力CK1信号をスキャン・フリップ・フロップ8511及び8512のCLK入力に接続し、マルチプレクサ842のY出力CK2信号をスキャン・フリップ・フロップ8521及び8522のCLK入力に接続する。
組み合わせ回路811のOT1出力をスキャン・フリップ・フロップ8511のD入力に接続し、スキャン・フリップ・フロップ8511のQ出力を組み合わせ回路811のIN2とスキャン・フリップ・フロップ8512のSI入力に接続し、組み合わせ回路811のOT2出力をスキャン・フリップ・フロップ8512のD入力と接続し、スキャン・フリップ・フロップ8512のQ出力を組み合わせ回路811のIN3と外部出力ScanOut1に接続し、組み合わせ回路811のOT3出力を組み合わせ回路812のIN1に接続する。
組み合わせ回路812のOT1出力をスキャン・フリップ・フロップ8521のD入力に接続し、スキャン・フリップ・フロップ8521のQ出力を組み合わせ回路812のIN2とスキャン・フリップ・フロップ8522のSI入力に接続し、組み合わせ回路812のOT2出力をスキャン・フリップ・フロップ8522のD入力と接続し、スキャン・フリップ・フロップ8522のQ出力を組み合わせ回路812のIN3と外部出力ScanOut2に接続し、組み合わせ回路812のOT3出力を外部出力DataOutに接続する。
なお、図9中に示すクロック制御回路821及び822は、実施の形態1で説明した構成と同様の為、構成の説明は省略する。
次に、本実施の形態にかかる半導体集積回路のテスト回路の動作について説明する。ただし、通常動作は、実施の形態1と同様の為、説明は省略する。また、TAPコントローラ86及びキャプチャ・モード制御回路87はIEEE Std 1149.1(JTAG)で規定された動作に従う回路の為、詳細な説明は省略する。
遅延故障テスト時、先ず、図10に示すIEEE Std 1149.1(JTAG)で規定された動作(状態遷移)に従って、テストクロック外部入力TCKとテストモードセレクト外部入力TMSとテストデータ外部入力TDIを制御しプライベート・インストラクションであるキャプチャ・モードに設定し、TAPコントローラ86のCapModeEnから"1"を出力する。
次に再度テストクロック外部入力TCKとテストモードセレクト外部入力TMSとテストデータ外部入力TDIを制御しTDIよりキャプチャ・モード制御回路87内のデータレジスタに任意のキャプチャ順序を設定する。
ここで、ラウンチ−キャプチャ期間中の最初の2パルスをCK1に供給し、次の2パルスをCK2に供給する場合、キャプチャ・モード制御回路のCapMode1出力から"0"を出力し、CapMode2出力から"1"を出力し、実施の形態1と同様の動作をする。
また、ラウンチ−キャプチャ期間中の最初の2パルスをCK2に供給し、次の2パルスをCK1に供給する場合、キャプチャ・モード制御回路のCapMode1出力から"1"を出力し、CapMode2出力から"0"を出力し、実施の形態2と同様の動作をする。その他の動作は実施の形態1および実施の形態2と同様の為、説明は省略する。
以下に本実施の形態4にかかる半導体集積回路のテスト回路による効果を記載する。
実施の形態1の場合、図3のタイミングチャートの動作からシフト期間中はαのクロックをCK1とCK2に供給し、ラウンチ−キャプチャ期間中は最初の2クロック分のβをCK1にのみ供給し、次に2クロック分のγをCK2にのみ供給する。また、実施の形態2の場合、図6のタイミングチャートの動作からシフト期間中はαのクロックをCK1とCK2に供給し、ラウンチ−キャプチャ期間中は最初の2クロック分のγをCK2にのみ供給し、次に2クロック分のβをCK1にのみ供給する。このように、実施の形態1および実施の形態2では、CK1とCK2に与えられるクロックの供給順序が常に固定されていたが、本実施の形態4では、IEEE Std 1149.1(JTAG)に準拠したTAPコントローラを通してプログラマブルにCK1とCK2の供給順序を可変にすることができる。
<発明の実施の形態5>
以下、本発明を適用した具体的な実施の形態5について、図面を参照しながら詳細に説明する。この実施の形態5は、本発明を半導体集積回路のテスト回路に適用したものである。
以下、本発明を適用した具体的な実施の形態5について、図面を参照しながら詳細に説明する。この実施の形態5は、本発明を半導体集積回路のテスト回路に適用したものである。
図11に本実施の形態5にかかる半導体集積回路のテスト回路のクロック制御回路の構成の一例を示す。なお、図に示された符号のうち、図2と同じ符号を付した構成は、図2と同じか又は類似の構成を示している。実施の形態1と異なる点は、クロック制御回路内のフリップ・フロップをn個接続することで、nビットのカウンタ(シフトレジスタ)を構成する点である。よって、本実施の形態5では、その部分のみの説明を記載し、クロック制御回路以外の構成は実施の形態1と同様なため説明は省略する。
本実施の形態の半導体集積回路のテスト回路のクロック制御回路は、インバータ511の出力を入力するフリップ・フロップ521とフリップ・フロップ521の出力データを入力とするフリップ・フロップ522と、同様の接続をn回繰り返して接続されるフリップ・フロップ523からなるnビットのカウンタ(シフトレジスタ)52を有する。その他の構成は、実施の形態1で説明したクロック制御回路の構成と同様の為説明は省略し、以下に接続関係を記載する。
入力RSTをフリップ・フロップ521、522、523のR入力に接続する。入力CKをフリップ・フロップ521、522、523のCLK入力に接続する。
インバータ回路511のYB出力をフリップ・フロップ521のD入力に接続し、フリップ・フロップ521のQ出力をフリップ・フロップ522のD入力に接続し(この接続ネットをCapEn1とする)、フリップ・フロップ522のQ出力を次のフリップ・フロップのD入力に接続し(この接続ネットをCapEn2とする)、順次同様の接続を繰り返し、(n−1)個目のフリップ・フロップのQ出力をフリップ・フロップ523のD入力に接続し、フリップ・フロップ523のQ出力をインバータ回路512のA入力に接続する(この接続ネットをCapEn(n)とする)。ここで、カウンタ(シフトレジスタ)回路52は、フリップ・フロップ521、522、523をひとつにまとめた構成とする。
図12は図11のクロック制御回路の動作を示すタイミングチャートである。図12を用いて、図11のクロック制御回路の動作を説明する。ただし、図が煩雑になるのを避けるため、図12に示すタイミングチャートは、図11の回路構成のカウンタ(シフトレジスタ)52が3個のフリップ・フロップで構成される場合を示す。
入力RSTが"1"の期間は、フリップ・フロップ521、522、523はリセット状態で、マルチプレクサ55のD1入力の値(CK入力)をYに出力する。ラッチ54にはリセット入力が存在しないが、CLK入力が"0"の期間にQ出力は確定している。
入力RSTが"0"の期間は、フリップ・フロップ521、522、523はリセット解除状態で、マルチプレクサ55のD0入力の値(GCK信号)をYに出力する。リセット解除後、図12のAの時刻にフリップ・フロップ521のD入力が入力CKの立ち上がりエッジで入力ENの反転信号を取り込みQからCapEn1として出力する。
図12のBの時刻にフリップ・フロップ522のD入力はCKの立ち上がりエッジでCapEn1を取り込みQから出力する。図12のCの時刻にフリップ・フロップ523のD入力はCKの立ち上がりエッジでCapEn2を取り込みQから出力する。フリップ・フロップ523のQ出力はインバータ512で反転されてNEXTENとして出力する。
また、出力NEXTENはAND回路531でAND演算した結果を図12のCの時刻にラッチ54のD入力に取り込みQからClkEnDlyとして出力し、AND回路532のAに入力しCKのマスク制御を行い、図12のAの時刻から最初の3クロック分のパルスのみを有効にしてマルチプレクサ55のD0入力を通りTCKOとして出力する。
よって、実施の形態1のクロック制御回路の場合、リセット解除後の2パルスのみを有効にして供給していたが、本実施の形態5では、図12のタイミングチャートに示すように、クロック制御回路を3ビットのシフトレジスタ構成にすることで、3クロック分のパルスを供給することができる。よって、図11の回路構成においてカウンタ(シフトレジスタ)52をn個のフリップ・フロップ(nビットのカウンタ(シフトレジスタ))で構成すると、nクロック分のクロックを、スキャン回路のクロックドメインに供給することができる。
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
211、212 各クロックドメインの組合せ回路
2511、2512、2521、2522 スキャン・フリップ・フロップ
231、232 クロック生成回路
221、222 クロック制御回路
241、242 マルチプレクサ
DataIn、ScanIn1、ScanIn2、ScanEnable、BypassClock、BypassMode 外部入力端子
DataOut、ScanOut1、ScanOut2 外部出力端子
2511、2512、2521、2522 スキャン・フリップ・フロップ
231、232 クロック生成回路
221、222 クロック制御回路
241、242 マルチプレクサ
DataIn、ScanIn1、ScanIn2、ScanEnable、BypassClock、BypassMode 外部入力端子
DataOut、ScanOut1、ScanOut2 外部出力端子
Claims (8)
- 複数のクロックドメインに対応する複数のクロック制御回路を有する半導体テスト回路であって、
前記複数のクロック制御回路は、
第nのスキャンイネーブル信号に基づいて、第nのクロックに同期して動作する第nのクロックドメインに接続される第nのスキャンチェーン回路に第nの遅延テスト用クロックを出力する第nのクロック制御回路と、
前記第nの遅延テスト用クロックの出力終了に基づいて、前記第nのクロック制御回路から出力される第n+1のスキャンイネーブル信号に基づいて、前記第nのクロックとは非同期の第n+1のクロックに同期して動作する第n+1のクロックドメインに接続される第n+1のスキャンチェーン回路に第n+1の遅延テスト用クロックを出力する第n+1のクロック制御回路と、
を含むことを特徴とする半導体テスト回路。 - 前記第nのクロック制御回路は、前記第n+1のクロック制御回路とカスケード接続により前記第n+1のスキャンイネーブル信号が供給されることを特徴とする請求項1に記載の半導体テスト回路。
- 前記テスト回路はさらに、外部から供給されるスキャンイネーブル信号を前記複数のクロック制御回路のうち任意のクロック制御回路に入力するよう選択する選択回路をさらに有することを特徴する請求項2に記載の半導体テスト回路。
- 前記選択回路を制御する選択制御回路をさらに有することを特徴する請求項3に記載の半導体テスト回路。
- 前記第nのクロック制御回路は、あらかじめ設定されている前記第nのクロックドメインに供給する前記第nの遅延テスト用クロックのクロックパルス数をカウントするカウンタ(シフトレジスタ)をさらに有することを特徴とする請求項1乃至請求項4のいずれか1項に記載の半導体テスト回路。
- 前記カウンタは前記第nの遅延テスト用クロックのクロックパルス数と同数のフリップフロップにより構成されていることを特徴とする請求項5に記載の半導体テスト回路。
- 前記半導体テスト回路は、第1のシフト期間と第2のシフト期間にシフトクロックを入力するスキャンテストクロック端子をさらに有し、
第1のシフト期間終了後、第2のシフト期間が開始される前に、前記スキャンテストクロック端子から前記第nのクロックと第n+1のクロックに対応するクロックを入力することを特徴とする請求項1乃至請求項6のいずれか1項に記載の半導体テスト回路。 - 第1のスキャンイネーブル信号に基づいて、第1のクロックに同期して動作する第1のクロックドメインに接続される第1のスキャンチェーン回路に第1の遅延テスト用クロックを出力する第1のクロック制御回路と、
前記第1の遅延テスト用クロックの出力終了に基づいて、前記第1のクロック制御回路から出力される第2のスキャンイネーブル信号に基づいて、前記第1のクロックとは非同期の第2のクロックに同期して動作する第2のクロックドメインに接続される第2のスキャンチェーン回路に第2の遅延テスト用クロックを出力する第2のクロック制御回路と、
を有する半導体テスト回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007120179A JP2008275480A (ja) | 2007-04-27 | 2007-04-27 | 半導体集積回路のテスト回路、テスト方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007120179A JP2008275480A (ja) | 2007-04-27 | 2007-04-27 | 半導体集積回路のテスト回路、テスト方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008275480A true JP2008275480A (ja) | 2008-11-13 |
Family
ID=40053599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007120179A Pending JP2008275480A (ja) | 2007-04-27 | 2007-04-27 | 半導体集積回路のテスト回路、テスト方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008275480A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645778B2 (en) | 2011-12-31 | 2014-02-04 | Lsi Corporation | Scan test circuitry with delay defect bypass functionality |
US8726108B2 (en) | 2012-01-12 | 2014-05-13 | Lsi Corporation | Scan test circuitry configured for bypassing selected segments of a multi-segment scan chain |
US8812921B2 (en) | 2011-10-25 | 2014-08-19 | Lsi Corporation | Dynamic clock domain bypass for scan chains |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998049572A1 (fr) * | 1997-04-25 | 1998-11-05 | Hitachi, Ltd. | Dispositif a circuit logique et procede d'essai de celui-ci |
JP2001108727A (ja) * | 1999-10-13 | 2001-04-20 | Nec Corp | クロック制御回路および方法 |
JP2002257903A (ja) * | 2001-03-01 | 2002-09-11 | Nec Corp | 半導体集積回路の試験方法と試験パタン生成方法及び装置並びにプログラム |
JP2003014822A (ja) * | 2001-07-03 | 2003-01-15 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびその検査方法 |
JP2004530865A (ja) * | 2001-02-15 | 2004-10-07 | シンテスト・テクノロジーズ・インコーポレーテッド | 自己試験中または走査試験中にクロックドメインにまたがる故障を検出するか突き止める複数キャプチャdftシステム |
JP2004538466A (ja) * | 2001-08-08 | 2004-12-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 遅延故障試験回路及び関連する方法 |
-
2007
- 2007-04-27 JP JP2007120179A patent/JP2008275480A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998049572A1 (fr) * | 1997-04-25 | 1998-11-05 | Hitachi, Ltd. | Dispositif a circuit logique et procede d'essai de celui-ci |
JP2001108727A (ja) * | 1999-10-13 | 2001-04-20 | Nec Corp | クロック制御回路および方法 |
JP2004530865A (ja) * | 2001-02-15 | 2004-10-07 | シンテスト・テクノロジーズ・インコーポレーテッド | 自己試験中または走査試験中にクロックドメインにまたがる故障を検出するか突き止める複数キャプチャdftシステム |
JP2002257903A (ja) * | 2001-03-01 | 2002-09-11 | Nec Corp | 半導体集積回路の試験方法と試験パタン生成方法及び装置並びにプログラム |
JP2003014822A (ja) * | 2001-07-03 | 2003-01-15 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびその検査方法 |
JP2004538466A (ja) * | 2001-08-08 | 2004-12-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 遅延故障試験回路及び関連する方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812921B2 (en) | 2011-10-25 | 2014-08-19 | Lsi Corporation | Dynamic clock domain bypass for scan chains |
US8645778B2 (en) | 2011-12-31 | 2014-02-04 | Lsi Corporation | Scan test circuitry with delay defect bypass functionality |
US8726108B2 (en) | 2012-01-12 | 2014-05-13 | Lsi Corporation | Scan test circuitry configured for bypassing selected segments of a multi-segment scan chain |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7710801B2 (en) | Circuitry and method for an at-speed scan test | |
US6442722B1 (en) | Method and apparatus for testing circuits with multiple clocks | |
US8065549B2 (en) | Scan-based integrated circuit having clock frequency divider | |
US8775857B2 (en) | Sequential on-chip clock controller with dynamic bypass for multi-clock domain testing | |
US20150137862A1 (en) | Synchronous on-chip clock controllers | |
JP2007218808A (ja) | 複数のクロック発生回路を含むテスト可能な集積回路 | |
GB2412971A (en) | Integrated circuit test system which compares functional and scan test performance | |
US20160349318A1 (en) | Dynamic Clock Chain Bypass | |
US7380189B2 (en) | Circuit for PLL-based at-speed scan testing | |
US8375265B1 (en) | Delay fault testing using distributed clock dividers | |
CN116794494A (zh) | 用于扫描测试的电路和方法 | |
US9264023B2 (en) | Scannable flop with a single storage element | |
US9989590B2 (en) | Self-test circuit in integrated circuit, and data processing circuit | |
US7421634B2 (en) | Sequential scan based techniques to test interface between modules designed to operate at different frequencies | |
JP2008275480A (ja) | 半導体集積回路のテスト回路、テスト方法 | |
JP2010091482A (ja) | 半導体集積回路装置及びその遅延故障テスト方法 | |
JP2003043109A (ja) | 半導体集積回路装置及びその試験装置 | |
US9366724B1 (en) | Scan testing with staggered clocks | |
US20100033189A1 (en) | Semiconductor integrated circuit and test method using the same | |
KR101047533B1 (ko) | 멀티 페이즈 스캔체인을 구동하는 시스템온칩과 그 방법 | |
US10261128B2 (en) | Test circuit capable of measuring PLL clock signal in ATPG mode | |
JP4662520B2 (ja) | スキャンテスト回路およびスキャンテスト方法、並びに半導体集積回路 | |
JP2008199533A (ja) | 半導体集積回路 | |
TWI783555B (zh) | 半導體裝置與測試脈衝訊號產生方法 | |
JP2013088400A (ja) | 半導体集積回路の検査方法および半導体集積回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100312 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111018 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120228 |