JP2011089914A - 半導体集積回路の試験装置及びその試験方法 - Google Patents

半導体集積回路の試験装置及びその試験方法 Download PDF

Info

Publication number
JP2011089914A
JP2011089914A JP2009244363A JP2009244363A JP2011089914A JP 2011089914 A JP2011089914 A JP 2011089914A JP 2009244363 A JP2009244363 A JP 2009244363A JP 2009244363 A JP2009244363 A JP 2009244363A JP 2011089914 A JP2011089914 A JP 2011089914A
Authority
JP
Japan
Prior art keywords
clock
test
waveform
semiconductor integrated
frequency
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
Application number
JP2009244363A
Other languages
English (en)
Inventor
Tomoe Esaka
知恵 江坂
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009244363A priority Critical patent/JP2011089914A/ja
Publication of JP2011089914A publication Critical patent/JP2011089914A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】異なるクロックドメイン間のディレイテストのコストを低減することができる半導体集積回路の試験装置及びその試験方法を提供することである。
【解決手段】本発明にかかる半導体集積回路の試験装置は、第1の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第1のテストクロックを第1のクロックドメインに供給する第1の波形生成器1aと、第2の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第2のテストクロックを第2のクロックドメインに供給する第2の波形生成器1bと、を備える。第1及び第2の波形生成器1a、1bの少なくとも一方は任意のクロックパルスがマスクされた後のクロックパルスを分周することでテストクロックを生成する分周回路161を有する。
【選択図】図2

Description

本発明は半導体集積回路の試験装置及びその試験方法に関し、特に異なるクロックドメイン間の遅延故障を検出する半導体集積回路の試験装置及びその試験方法に関する。
近年の半導体集積回路の大規模化や複雑化に伴い、半導体集積回路内のクロックドメイン数が増加している。このことから、異なるクロックドメイン間のデータ転送パスが増加しており、スキャンパスを用いた異なるクロックドメイン間の遅延テストの重要性が増している。
特許文献1には、スキャンパスを用いた半導体集積回路の試験に関する技術が開示されている。図7は、特許文献1に開示されているディレイテスト回路を示す回路図である。図7に示すディレイテスト回路210は、クロック波形保持レジスタ211と、クロック波形レジスタ212と、クロックゲーティング回路213とを備えている。
クロック波形保持レジスタ211は、クロック波形設定データ214を受け取る波形設定入力211aを有しており、そのクロック波形設定データ214を保持するために使用される。クロック波形設定データ214は、ディレイテスト回路210が出力すべきクロックの波形を指定するデータであり、LSIテスタ(図示されない)から供給される。クロック波形設定データ214はnビットデータであり、クロック波形保持レジスタ211はnビットシフトレジスタである。クロック波形保持レジスタ211は、クロック波形設定データ214の各データビットD〜Dをシリアルに受け取って保持し、それが保持しているデータビットD〜Dをパラレルに出力可能に構成されている。クロック波形保持レジスタ211は、更に、波形設定出力211bを有しており、それが保持しているクロック波形設定データ214をディレイテスト回路210の外部にシリアルに出力可能に構成されている。
また、クロック波形レジスタ212は、クロック波形保持レジスタ211からクロック波形設定データ214のデータビットD〜Dをラッチし、ラッチしたデータビットD〜Dをシリアルに出力するように構成されたnビットシフトレジスタである。クロック波形レジスタ212からシリアルに出力されるデータビットD〜Dは、クロックゲーティング回路213を制御するクロックゲーティング信号217として使用される。クロック波形設定データ214のラッチ、及びクロックゲーティング信号217の出力は、入力PLLクロック220に同期して行われる。入力PLLクロック220は、テストされる半導体集積回路に内蔵されたPLL回路によって生成されるクロック信号であり、当該半導体集積回路の動作速度に対応する周波数を有している。
また、クロックゲーティング回路213は、クロック波形レジスタ212から供給されるクロックゲーティング信号217と、外部から供給されるノーマルモード信号221 とに応答して、PLL回路(図示されない)から供給される入力PLLクロック220をゲーティングする回路である。ノーマルモード信号221とは、ディレイテスト回路210が搭載される半導体集積回路の動作モードを指定する信号である。ノーマルモード信号221は、通常動作時に活性化され(この場合"High"に設定される)、テストが行われる場合には非活性化される。
具体的には、クロックゲーティング回路213は、フリップフロップ236と、OR ゲート237と、ANDゲート238とを備えている。フリップフロップ236のデータ入力にはクロックゲーティング信号217が入力されており、クロック入力には入力PLLクロック220が入力されている。フリップフロップ236は、入力PLLクロック220の立ち下がりエッジに同期してクロックゲーティング信号217をラッチし、その出力から半周期遅れクロックゲーティング信号222を出力する。ORゲート237の第1入力にはノーマルモード信号221が供給され、第2入力には半周期遅れクロックゲーティング信号222が供給される。ORゲート237の出力は、ANDゲート238の第1入力に接続されている。ANDゲート238の第2入力には、入力PLLクロック220が供給される。ANDゲート238の出力から、目的とする出力クロックCLKOUTが出力される。
このように構成されたクロックゲーティング回路213は、ノーマルモード信号221が活性化されると、クロックゲーティング信号217に無関係に入力PLLクロック220をそのまま出力クロックCLKOUTとして出力する。一方、ノーマルモード信号221が非活性化されると、クロックゲーティング信号217に応答して入力PLLクロック220をマスクする。具体的には、あるクロック周期においてクロックゲーティング信号217が"Low"であると、クロックゲーティング回路213は、それに続くクロック周期において入力PLLクロック220をマスクする。逆に、あるクロック周期においてクロックゲーティング信号217が"High"であると、クロックゲーティング回路213は、それに続くクロック周期において入力PLLクロック220をそのまま出力する。言い換えれば、クロックゲーティング回路213は、クロックゲーティング信号217が"High"であるクロック周期の次のクロック周期のみクロックパルスを出力する。クロックゲーティング信号217が"Low"であるクロック周期の次のクロック周期においては、クロックパルスは出力されない。
次に、図7に示したディレイテスト回路210の動作(n=4の場合)、つまり、クロック波形設定データ214による波形の設定、及びクロック波形設定データ214に応じた出力クロックCLKOUTの生成の過程について説明する。
まず、クロック波形設定データ214がクロック波形保持レジスタ211に供給され、これにより、所望の出力クロックCLKOUTの波形がディレイテスト回路210に設定される。具体的には、図8(a)に示すように、クロック波形保持信号216が非活性化された状態で、テスタクロック215に同期してクロック波形設定データ214の各データビットD〜Dが順次に波形設定入力211aに供給される。
クロック波形設定データ214の各データビットD〜Dは、クロック生成開始信号219が活性化された後の4つのクロック周期にそれぞれに対応付けられており、データビットD〜Dの値は、それぞれが対応するクロック周期におけるクロックパルスの出力の有無に応じて設定される。データビットD〜Dは、それぞれが対応するクロック周期においてクロックパルスを出力する場合には"1" に、クロックパルスを出力しない場合には"0 " に設定される。例えば、クロック生成開始信号219が活性化された後の最初のクロック周期においてクロックパルスを出力しない場合には、データビットDは、"0"に設定される。データビットD、D、D、Dがそれぞれ"0"、"1 "、"0"、"1"に設定される図8(a)の例では、ディレイテスト回路210は、クロック生成開始信号219が活性化された後の2番目、及び4番目のクロック周期においてクロックパルスを出力するように設定されることになる。
クロック波形設定データ214のクロック波形保持レジスタ211への設定が完了すると、クロック波形保持信号216が活性化される。これにより、クロック波形保持レジスタ211の各フリップフロップのそれぞれの出力が、そのデータ入力に接続され、クロック波形保持レジスタ211は、クロック波形設定データ214 を保持する状態になる。
続いて、クロック波形保持レジスタ211に保持されているクロック波形設定データ214の各データビットD〜Dが、パラレルにクロック波形レジスタ212に転送される。具体的には、図8(b)に示されているように、クロック生成開始信号219が非活性化された状態で、クロック波形設定信号218が活性化される。これにより、入力PLLクロック220の立ち上がりエッジに同期してクロック波形レジスタ212のフリップフロップにデータビットD〜Dが転送される。
フリップフロップへのデータビットD〜Dの転送が完了した後、クロック波形設定信号218が非活性化される。これにより、クロック波形レジスタ212の各フリップフロップのそれぞれの出力がそのデータ入力に接続され、クロック波形レジスタ212は、クロック波形設定データ214を保持する状態になる。
続いて、クロック波形レジスタ212に設定されたデータビットD〜Dがクロックゲーティング信号217として順次にクロックゲーティング回路213に転送され、データビットD〜Dに対応する波形を有する出力クロックCLKOUTが生成される。図8(c)は、出力クロックCLKOUTが生成される過程を示すタイミングチャートである。
初期状態では、クロックゲーティング信号217は、データビットDの値に対応した値を有している。図8(c)の例では、クロックゲーティング信号217は、初期的に"Low"に設定されている。クロック波形設定信号218、クロック生成開始信号219は、いずれも非活性化されている。
クロック波形設定信号218が非活性化された状態のまま、クロック生成開始信号219が活性化されると、データビットD〜Dが入力PLLクロック220に同期して順次に転送される。言い換えれば、クロックゲーティング信号217の値が、データビットD〜Dの値に応じて順次に切り替えられる。クロックゲーティング回路213は、クロックゲーティング信号217に応答して出力クロックCLKOUTを出力する。この結果、クロック波形設定データ214の各データビットD〜Dに対応した波形を有するように、出力クロックCLKOUTが生成される。
このように動作するディレイテスト回路210は、クロック波形設定データ214の各データビットD〜Dを適切に設定することにより、所望の波形を有する出力クロックCLKOUTを生成可能である。例えば、データビットD〜Dの連続する2ビットを"1"に設定することにより、より具体的には、データビットD〜Dを"0011"、又は"0110"に設定することにより、連続した2つのクロックパルスからなる出力クロックCLKOUTを生成可能である。
また、図9はディレイテスト回路210を用いてクロックドメイン間パスのat−speedテストを行うように構成された半導体集積回路の構成を示す回路図である。図9においてテストの対象となるのは、スキャンFF263A、263Bの間に設けられているクロックドメイン間パス264である。このクロックドメイン間パス264のat−speedテストを行うために、図9の半導体集積回路には、上述のディレイテスト回路210が2つ設けられている。図9の記載において、2つのディレイテスト回路210、及びそれに関連する信号は、参照符号に付せられた記号"A"、"B"により区別されている。
スキャンFF263Aにクロックを供給するクロック系は、ディレイテスト回路210Aと、セレクタ261Aと、第1クロックツリー262Aとで構成される。セレクタ261Aの第1入力にはシフトクロック272が供給され、第2入力にはディレイテスト回路210Aが出力する出力クロックCLKOUTAが供給される。セレクタ261Aは、スキャンイネーブル信号271に応答して、ディレイテスト回路210Aが出力する出力クロックCLKOUTAとシフトクロック272との一方を選択する。第1クロックツリー262Aは、セレクタ261Aが出力するクロックを、スキャンFF263Aを含む第1クロックドメインに分配する。
同様に、スキャンFF263Bにクロックを供給するクロック系は、ディレイテスト回路210Bと、セレクタ261Bと、第1クロックツリー262Bとで構成される。セレクタ261Bの第1入力には、シフトクロック272が供給され、第2入力には、ディレイテスト回路210Bが出力する出力クロックCLKOUTBが供給される。セレクタ261Bは、スキャンイネーブル信号271に応答して、ディレイテスト回路210Bが出力する出力クロックCLKOUTBとシフトクロック272との一方を選択する。第2クロックツリー262Bは、セレクタ261Bが出力するクロックを、スキャンFF263Bを含む第2クロックドメインに分配する。
クロック生成同期信号273は、ディレイテスト回路210A、210Bにクロックの出力を指示する制御信号である。また、セレクタ266Aは、ドメイン間テストモード信号276に応答してテスト基準クロック274と第1PLLクロック275Aとの一方を選択し、セレクタ266Bは、ドメイン間テストモード信号276に応答してテスト基準クロック274と第2PLLクロック275Bとの一方を選択する。セレクタ266Aが出力するクロックが、ディレイテスト回路210Aの入力PLLクロック220Aとして使用され、セレクタ266Bが出力するクロックが、ディレイテスト回路210Bの入力PLLクロック220Bとして使用される。
通常動作時には、ドメイン間テストモード信号276は非活性化("0"に設定)され、第1PLLクロック275A、第2PLLクロック275Bが、それぞれ、入力PLLクロック220A、220Bとして供給される。一方、クロックドメイン間パス264のat−speedテストが行われる場合には、ドメイン間テストモード信号276が活性化され、セレクタ266A、266Bは、いずれもテスト基準クロック274を選択する。これにより、テスト基準クロック274が、ディレイテスト回路210A、210B に共通に供給される。
特開2006−250923号公報
図9に示した回路を用いて異なるクロックドメイン間パスのディレイテストを実施する場合、第1及び第2ディレイテスト回路210A、210Bは共にテスト基準クロック274を用いてテスト用のクロックCLKOUTA、CLKOUTBを生成している。図10は、図9に示した回路を用いて異なるクロックドメイン間パスのディレイテストを実施する際の各クロック波形を示すタイミングチャートである。図10に示すように、テスト基準クロックは第1PLLクロックと同一の周波数、つまり第2PLLクロックと比べて高速のクロックである。
この場合、両クロックドメインには、高速なクロックであるテスト基準クロックに基づき生成されたテスト用のクロックCLKOUTA、CLKOUTBが印加されているので、クロック幅が固定され実現可能なクロック波形が限られる。そのため、同時にテスト可能なクロックドメイン間パスも限られてしまい、テストパタン数が多くなるという問題がある。
ここで、各クロックの立ち上がりエッジをPOS(positive edge)、立ち下がりエッジをNEG(negative edge)と表記する。
例えば、異なるクロックドメイン間のディレイテストを実施する際は、周波数の速いクロックである第1PLLクロックのドメインから周波数の遅いクロックである第2PLLクロックのドメインへのデータ転送の場合、(1)第1PLLクロックのPOSから第2PLLクロックのPOSへ、(2)第1PLLクロックのPOSから第2PLLクロックのNEGへ、(3)第1PLLクロックのNEGから第2PLLクロックのPOSへ、(4)第1PLLクロックのNEGから第2PLLクロックのNEGへ、の4通りのテストが必要となる。この場合は、図10の(a)、(b)に示すように2つのテスト用のクロック波形が必要となる。
また、周波数の遅いクロックである第2PLLクロックのドメインから周波数の速いクロックである第1PLLクロックのドメインへのデータ転送の場合は、(5)第2PLLクロックのPOSから第1PLLクロックのPOSへ、(6)第2PLLクロックのPOSから第1PLLクロックのNEGへ、(7)第2PLLクロックのNEGから第1PLLクロックのPOSへ、(8)第2PLLクロックのNEGから第1PLLクロックのNEGへ、の4通りのテストが必要となる。この場合は、図10の(c)〜(f)に示すように4つのテスト用のクロック波形が必要となる。
よって、図9に示したように複数のディレイテスト回路210A、210Bが単一のテスト基準クロック274に基づいてテスト用のクロック波形を生成する場合、異なるクロックドメイン間のディレイテストに必要なクロック波形が多くなるため、ディレイテストのコストが増加するという問題があった。
本発明にかかる半導体集積回路の試験装置は、第1の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第1のテストクロックを第1のクロックドメインに供給する第1の波形生成器と、第2の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第2のテストクロックを第2のクロックドメインに供給する第2の波形生成器と、を備え、前記第1及び第2の波形生成器の少なくとも一方は任意のクロックパルスがマスクされた後のクロックパルスを分周することで前記テストクロックを生成する分周回路を有する。
本発明にかかる半導体集積回路の試験装置では、第1の波形生成器は第1の周波数を有するクロックを用いて第1のテストクロックを生成し、また第2の波形生成器は第2の周波数を有するクロックを用いて第2のテストクロックを生成している。また、第1及び第2の波形生成器の少なくとも一方は任意の分周パルスを出力可能な分周回路を有する。このため、本発明にかかる半導体集積回路の試験装置は、1つのテストパタンでテストできるデータ転送の組み合わせを増やすことができるため、テストパタン数を削減することができテストコストを削減することができる。
本発明にかかる半導体集積回路の試験方法は、第1の周波数を有するクロックの任意のクロックパルスをマスクすることで第1のテストクロックを生成し、第2の周波数を有するクロックの任意のクロックパルスをマスクすることで第2のテストクロックを生成し、前記第1のテストクロックを第1のクロックドメインに供給し、前記第2のテストクロックを第2のクロックドメインに供給する、半導体集積回路の試験方法であって、前記第1及び第2のテストクロックのうちの少なくとも一方を分周することで前記テストクロックを生成する。
本発明にかかる半導体集積回路の試験方法では、第1の周波数を有するクロックを用いて第1のテストクロックを生成し、また第2の周波数を有するクロックを用いて第2のテストクロックを生成している。また、第1及び第2のテストクロックのうちの少なくとも一方は分周される。このため、本発明にかかる半導体集積回路の試験方法を用いることで、1つのテストパタンでテストできるデータ転送の組み合わせを増やすことができるため、テストパタン数を削減することができテストコストを削減することができる。
本発明により異なるクロックドメイン間のディレイテストのコストを低減することができる半導体集積回路の試験装置及びその試験方法を提供することができる。
実施の形態にかかる半導体集積回路の試験装置を構成する波形生成器の回路図である。 実施の形態にかかる半導体集積回路の試験装置の回路図である。 実施の形態にかかる半導体集積回路の試験装置を構成する波形生成器の回路図である。 実施の形態にかかる半導体集積回路の試験装置の動作を示すタイミングチャートである。 実施の形態にかかる半導体集積回路の試験装置の動作を示すタイミングチャートである。 本発明の効果を説明するための図である。 背景技術にかかるディレイテスト回路を示す回路図である。 背景技術にかかるディレイテスト回路の動作を説明するためのタイミングチャートである。(a)はクロック波形保持レジスタにクロック波形設定データを設定する動作、(b)はクロック波形レジスタにクロック波形設定データの各データビットを設定する動作、(c)はディレイテスト回路が出力クロックを出力する動作を説明するためのタイミングチャートである。 背景技術にかかるディレイテスト回路を用いてクロックドメイン間パスのat−speedテストを行うように構成された半導体集積回路の構成を示す回路図である。 本発明の課題を説明するための図である。 異なるクロックドメイン間のスキュー調整を説明するための図である。
以下、図面を参照して本発明の実施の形態について説明する。図1は本実施の形態にかかる半導体集積回路の試験装置を構成する波形生成器の回路図である。図1に示す波形生成器1は、クロック波形保持レジスタ11と、クロック波形レジスタ13と、クロックゲーティング回路15と、分周モジュール16と、を有する。また、図1に示す波形生成器1は、更にクロック波形保持レジスタ11の前段にクロックゲーティング回路12を、クロック波形レジスタ13の前段にクロックゲーティング回路14を、また、ターゲットレジスタ17を備えていてもよい。
クロック波形保持レジスタ11は、クロック波形設定データ(PULSE_SETIN)30を受け取り、保持する機能を有する。クロック波形設定データ30は、波形生成器1が出力すべきクロック波形を指定するデータであり、例えばLSIテスタ(不図示)から供給される。クロック波形設定データ30はnビットのデータであり、クロック波形保持レジスタ11はフリップフロップ(以下、FFと記載する)111_1〜111_nを有するnビットのシフトレジスタである。また、クロック波形保持レジスタ11はテスタクロック(SCK)32を入力し、このテスタクロック32のタイミングにしたがい、クロック波形設定データ30の各データビットをシリアルに受け取って保持する。このとき、クロック波形保持レジスタ11は保持しているデータビットD_1〜D_nをパラレルに出力可能に保持している。なお、FF111_1〜111_nの数は、生成するテストクロックの波形にあわせて適宜変更することができる。
クロック波形保持レジスタ11の前段に設けられたクロックゲーティング回路12は、波形生成器1の初期化時、つまりクロック波形保持レジスタ11にクロック波形を設定するときにのみ、クロック波形保持レジスタ11を構成するFF111_1〜111_nのクロック入力にテスタクロック32を供給する。クロックゲーティング回路12は、FF121とANDゲート122を備える。FF121のクロック入力にはテスタクロック32が供給され、このテスタクロック32の立ち下がりエッジに同期してパルスシフト信号(PULSE_SHIFT)31をラッチする。ANDゲート122の一方の入力にはFF121の出力が供給され、他方の入力にはテスタクロック32が供給される。ANDゲート122の出力は、クロック波形保持レジスタ11を構成するFF111_1〜111_nのクロック入力に供給される。つまり、クロックゲーティング回路12はパルスシフト信号31がハイレベル(つまり、"1")のときにのみ、クロック波形保持レジスタ11にテスタクロック32を供給する。
クロック波形レジスタ13は、クロック波形保持レジスタ11からのデータビットD_1〜D_nをラッチし、ラッチしたデータビットD_1〜D_nをシリアルに出力するように構成されたnビットのシフトレジスタである。クロック波形レジスタ13からシリアルに出力されるデータビットD_1〜D_nは、クロックゲーティング回路15を制御するクロックゲーティング信号25として使用される。
クロック波形レジスタ13は、FF131_1〜131_nと、FF134と、セレクタ132_1〜132_nと、セレクタ133を備えている。セレクタ132_1〜132_nは、パルススタート信号(PULSE_START)33がローレベル(つまり、"0")のときに、それぞれクロック波形保持レジスタ11からのデータビットD_1〜D_nを選択し、FF131_1〜131_nに出力する。一方、セレクタ132_1〜132_nは、パルススタート信号33がハイレベル(つまり、"1")のときに、前段のFFの出力を選択する。なお、パルススタート信号33がハイレベルのとき、セレクタ132_nは接地電位(つまり、ローレベル)を選択する。
また、セレクタ133はパルススタート信号33がローレベルの時は接地電位(つまり、ローレベル)を選択し、パルススタート信号33がハイレベルの時は前段のFF131_1の出力を選択し、選択した信号をFF134へ出力する。FF134はクロックゲーティング信号25を出力する。ここで、クロック波形レジスタ13のFF131_1〜131_n、FF134は、それぞれ入力された入力クロック(CLK_IN)34のタイミングに同期して動作する。
クロック波形レジスタ13の前段に設けられたクロックゲーティング回路14は、半導体集積回路の試験時にのみ入力クロック34をクロック波形レジスタ13のFF131_1〜131_n、134のクロック入力に供給する回路である。クロックゲーティング回路14は、FF141とANDゲート142を備える。FF141のクロック入力には入力クロック34が供給され、この入力クロック34の立ち下がりエッジに同期してスキャンテスト信号(SCANTEST)35をラッチする。ANDゲート142の一方の入力にはFF141の出力が供給され、他方の入力には入力クロック34が供給される。ANDゲート142の出力は、クロック波形レジスタ13を構成するFF131_1〜131_n、FF134に供給される。つまり、クロックゲーティング回路14はスキャンテスト信号35がハイレベル(つまり、"1")のときにのみ、入力クロック34をクロック波形レジスタ13に供給する。
クロック波形レジスタ13の後段に設けられたクロックゲーティング回路15は、ORゲート151、FF152、ANDゲート153を備える。ORゲート151はクロック波形レジスタ13から出力されたクロックゲーティング信号25、及びスキャンテスト信号35がインバータ23により反転された信号を入力し、これらの論理演算の結果をFF152に出力する。FF152のクロック入力には入力クロック34が供給される。FF152は、この入力クロック34の立ち下がりエッジに同期してORゲート151の出力結果をラッチする。ANDゲート153の一方の入力にはFF152の出力が供給され、他方の入力には入力クロック34が供給される。ANDゲート153の出力であるクロックゲーティング出力26は分周モジュール16に出力される。
クロックゲーティング回路15のORゲート151の一方の入力は、スキャンテスト信号35がハイレベル(つまり、"1")のときに、"0"となる。この場合、ORゲート151は、ORゲート151の他方に供給される信号であるクロックゲーティング信号25をFF152に出力する。そして、FF152は、入力クロック34の立ち下がりエッジに同期してORゲート151の出力(つまり、クロックゲーティング信号25)をラッチし、その出力から半周期遅れのクロックゲーティング信号を出力する。ANDゲート153はFF152の出力である半周期遅れのクロックゲーティング信号と入力クロック34に基づき、クロックゲーティング出力26を出力する。このとき、クロックゲーティング出力26はクロック波形設定データ30により設定された波形、つまり、入力クロック34の任意のクロックパルスがマスクされた波形のクロックパルスとなっている。
分周モジュール16は、分周回路制御信号保持レジスタ162と、分周回路161と、セレクタ164とを備える。分周回路制御信号保持レジスタ162は、分周回路161で分周したクロック波形の出力を制御するレジスタである。分周回路制御信号保持レジスタ162には、分周後のクロック波形を出力する場合は"1"が、分周後のクロック波形を出力しない場合は"0"が設定される。
なお、分周回路制御信号保持レジスタ162の設定は、波形生成器1にシリアルに入力されるクロック波形設定データ30を用いて設定することができる。つまり、分周回路制御信号保持レジスタ162のクロック入力に、クロック波形保持レジスタ11を構成するFF111_1〜111_nと同期するクロック(つまり、テスタクロック32)を入力し、クロック波形設定データ30をシリアルに転送することで、設定することができる。
次に、分周回路161について説明する。図1に示す分周回路161は2分周の分周回路を例として示している。本実施の形態にかかる発明において、分周回路161は2分周だけでなく分周の数が2よりも大きい分周回路であってもよい(例えば3分周などの波形出力が可能な分周回路)。分周回路の分周の数は、得ようとする波形に基づき決定することができる。図1に示す分周回路161は、FF163を備える。FF163のクロック入力にはクロックゲーティング出力26が供給され、FF163のデータ入力にはFF163のデータ出力を反転した値が供給される。また、FF163のデータ出力はセレクタ164の入力に供給される。セレクタ164は、分周回路制御信号保持レジスタ162が"1"に設定されている場合は分周回路161の出力を選択し、"0"に設定されている場合はクロックゲーティング出力26を選択する。セレクタ164の出力は、セレクタ20の入力に供給される。
また、本実施の形態にかかる波形生成器1はターゲットレジスタ17を備えていてもよい。波形生成器1を使用する場合はターゲットレジスタ17には"1"が設定され、波形生成器1を使用しない場合はターゲットレジスタ17には"0"が設定される。なお、ターゲットレジスタ17の設定は、分周回路制御信号保持レジスタ162と同様に、クロック波形設定データ30を用いて設定することができる。
ORゲート18は、ターゲットレジスタ17に設定された信号をインバータ22で反転した信号、パルスシフト信号31、及びSMC信号36を入力し、これらの内のいずれかの信号が"1"であれば、ANDゲート19の一方の入力に"1"を出力する。
ANDゲート19は、スキャンテスト信号35とORゲート18の出力を入力し、スキャンテスト信号35が"1"で、かつORゲート18の出力が"1"の場合にセレクタ20の制御入力に"1"を出力する。これ以外の場合は、ANDゲート19はセレクタ20の制御入力に"0"を出力する。
セレクタ20には、セレクタ164の出力(つまり、クロックゲーティング出力26または分周回路161の出力)とテスタクロック32が入力され、セレクタ20の制御入力には、ANDゲート19の出力が入力される。そして、セレクタ20は制御入力が"0"の場合はセレクタ164の出力をテストクロック(PULSE_OUT)37として出力する。一方、セレクタ20は制御入力が"1"の場合はテスタクロック32の出力をテストクロック37として出力する。
また、波形生成器1を使用しない場合はターゲットレジスタ17には"0"が設定される。このとき、ORゲート18にはインバータ22から"1"が常に供給されるため、ORゲート18はANDゲート19に対して常に"1"を出力する。そして、試験時にはスキャンテスト信号35が"1"となり、このときANDゲート19は"1"を出力する。よって、ターゲットレジスタ17に"0"が設定された場合は、テストクロック37としてテスタクロック32が出力される。
また、波形生成器1はFF21を備えていてもよい。FF21はクロックゲーティング回路12から供給されるテスタクロック32の立ち下がりエッジで、シリアルに入力されるクロック波形設定データ30をラッチし、クロック波形設定データ30をクロック波形設定データ出力(PULSE_SETOUT)38から出力する。
次に、本実施の形態にかかる半導体集積回路の試験装置について図2を用いて説明する。図2に示す半導体集積回路の試験装置は、第1の波形生成器1a、第2の波形生成器1b、PLL回路3、同期回路4、セレクタ5を有する。ここで、第1及び第2の波形生成器1a、1bは共に上記で説明した構成を有する。第1及び第2の波形生成器1a、1bはそれぞれ、パルスシフト信号31、テスタクロック32、スキャンテスト信号35、SMC信号36、及びパルススタート信号33を入力する。なお、本実施の形態にかかる発明では、第1及び第2の波形生成器1a、1bのうちの少なくとも一方が分周回路を備えていればよい。例えば、第1及び第2の波形生成器1a、1bのうち低い周波数を有するクロックを入力する波形生成器(本実施の形態の場合は第2の波形生成器1b)に分周回路を設けてもよい。
また、第1の波形生成器1aはクロック波形設定データ30をシリアルに入力し、当該データをクロック波形設定データ出力38から第2の波形生成器1bへ出力する。第2の波形生成器1bは、第1の波形生成器1aからのクロック波形設定データ出力38をクロック波形設定データ30として入力する。つまり、クロック波形設定データ30は第1の波形生成器1a、第2の波形生成器1bにシリアルに転送され、それぞれのクロック波形保持レジスタ11、ターゲットレジスタ17、分周回路制御信号保持レジスタ162の値を設定する。
また、PLL回路3は基準クロックRCLKに基づき生成された第1の周波数を有するクロック34a(clk1_org:以下、第1のクロックともいう)を第1の波形生成器1aに供給し、第2の周波数を有するクロック34b(clk2_org:以下、第2のクロックともいう)を第2の波形生成器1bに供給する。
また、図2に示す半導体集積回路の試験装置では、パルススタート信号33が同期回路4を介して第1及び第2の波形生成器1a、1bのそれぞれに入力されている。同期回路4を用いる場合は、例えば図2に示すように遅いクロックである第2のクロック34b(clk2_org)で動作する2つのFF41、42を設ける。
図2に示すように、第1の波形生成器1aの出力(PULSE_OUT_a)37aはスキャンFF61、62のクロック入力に接続され、また、第2の波形生成器1bの出力(PULSE_OUT_b)37bはスキャンFF71、72、73のクロック入力に接続されている。つまり、スキャンFF61、62とスキャンFF71、72、73はそれぞれ異なるクロックドメインに存在する。このとき、スキャンFF61とFF62は第1の波形生成器1aから供給されるテストクロック37aの立ち上がりエッジで入力されるデータをラッチする。
同様に、スキャンFF71、73は第2の波形生成器1bから出力されるテストクロック37bの立ち下がりエッジで入力されるデータをラッチする。また、スキャンFF72は第2の波形生成器1bから出力されるテストクロック37bの立ち上がりエッジで入力されるデータをラッチする。また、FF61とFF71はクロックドメイン間パス50で接続されており、FF72とFF62はクロックドメイン間パス51で接続されており、FF62とFF73はクロックドメイン間パス52で接続されている。
ここで、第1の波形生成器1aから第1のテストクロック37aが供給される、第1のクロックドメインに属する第1のスキャンFF61、62と、第2の波形生成器1bから第2のテストクロック37bが供給される、第2のクロックドメインに属する第2のスキャンFF71、72、73と、波形生成器1a、1b等を有する半導体集積回路の試験装置は、半導体集積回路装置を構成することができる。
図2に示す試験装置は、第2のクロックのPOSから第1のクロックのPOSへのデータ転送、第1のクロックのPOSから第2のクロックのNEGへのデータ転送、第1のクロックのNEGから第2のクロックのNEGへのデータ転送の3つのデータ転送を有する回路を対象としている。
次に、図2に示す半導体集積回路の試験装置の動作について説明する。なお、この場合は、第1及び第2の波形生成器1a、1bとして、図3に示す波形生成器を用いている。図3に示す波形生成器は、図1に示した波形生成器におけるターゲットレジスタ17を省略し、nの値を4、つまり、クロック波形保持レジスタ11とクロック波形レジスタ13を構成するフリップフロップの数をそれぞれ4つ(FF134は除く)としている。また、以下では、第1の波形生成器1aを構成する各要素の符号に「a」を付し、第2の波形生成器1bを構成する各要素の符号に「b」を付して区別している。また、波形生成器1を構成する各要素を総称して示す場合は、「a」、「b」の符号を付さないで示している。
まず、図2に示す半導体集積回路の試験装置の初期化について図4を用いて説明する。図4は図2に示す半導体集積回路の試験装置の動作を示すタイミングチャートである。図4に示すように、スキャンテスト信号35を"1"、パルスシフト信号31を"1"、パルススタート信号33を"1"とする。パルスシフト信号31が"1"に設定されると、テスタクロック32がクロック波形保持レジスタ11のFF111_1〜111_4、分周回路制御信号保持レジスタ162、FF21に供給される。
第1及び第2の波形生成器1a、1bは、クロック波形設定データ30をシリアルに入力し、テスタクロック32の立ち上がりエッジに同期して、クロック波形設定データ30を、第1の波形生成器1aのFF111_4a、FF111_3a、FF111_2a、FF111_1a、分周回路制御信号保持レジスタ162a、第2の波形生成器1bのFF111_4b、FF111_3b、FF111_2b、FF111_1b、分周回路制御信号保持レジスタ162bの順に転送する。このとき、パルススタート信号33を"1"とすることで、クロック波形レジスタ13のセレクタ132_1〜132_4がデータビットD_1〜D_4を選択しないようにすることができるため、クロック波形保持レジスタ11からクロック波形レジスタ13にデータが転送されることを防止することができる。
本実施の形態ではクロック波形設定データ30として、「10000 00111」が設定されている場合を例示している。このとき、前半の「10000」は第1の波形生成器1aに設定されるクロック波形設定データであり、後半の「00111」は第2の波形生成器1bに設定されるクロック波形設定データである。また、クロック波形設定データ30の前半の「10000」のうち、一番右側の数字は第1の波形生成器1aの分周回路制御信号保持レジスタ162aに設定される値を示し、後半の「00111」のうち、一番右側の数字は第2の波形生成器1bの分周回路制御信号保持レジスタ162bに設定される値を示している。
また、クロック波形設定データ30の前半の「10000」のうち左側の4つの数字は、それぞれ第1の波形生成器1aのデータビットD_1a〜D_4aに対応し、FF111_1a〜111_4aにラッチされる。また、クロック波形設定データ30の後半の「00111」のうち左側の4つの数字は、それぞれ第2の波形生成器1bのデータビットD_1b〜D_4bに対応し、FF111_1b〜111_4bにラッチされる。ここで、クロックパルスを出力する場合、つまり、クロックパルスをマスクしない場合はデータビットD_1〜D_4の値を"1"に設定する。また、クロックパルスを出力しない場合、つまりクロックパルスをマスクする場合はデータビットD_1〜D_4の値を"0"に設定する。
なお、クロック波形設定データ30が、第1及び第2の波形生成器1a、1bに入力される際は、「10000 00111」のうち右側のデータから左側のデータの順に入力される。また、第2の波形生成器1bに供給されるクロック波形設定データは、第1の波形生成器1aからクロック波形設定データ出力38として出力される。
また、図4に示す第1の波形生成器1aのデータビットD_1a〜D_4aの状態は、第1の波形生成器1aのFF111_1a〜111_4aにラッチされているデータの状態を示している。図4に示す第2の波形生成器1bのデータビットD_1b〜D_4bの状態は、第2の波形生成器1bのFF111_1b〜111_4bにラッチされているデータの状態を示している。各クロック波形設定データ30の値は、テスタクロック32の立ち上がりエッジに同期して各FF111_1〜111_4にラッチされる。
例えば、図4のt1のタイミングでは、テスタクロック32が立ち上がるタイミングで第1の波形生成器1aに供給されるクロック波形設定データは「10000 00111」のうちの右から一番目の"1"となっている。よって、第1の波形生成器1aのFF111_4aは"1"をラッチする。t2のタイミングでは、テスタクロック32が立ち上がるタイミングで第1の波形生成器1aに供給されるクロック波形設定データは「10000 00111」のうちの右から二番目の"1"となっている。よって、第1の波形生成器1aのFF111_4aは"1"をラッチする。また、このときFF111_3aはFF111_4aにラッチされている"1"を入力してラッチする。このようにして、クロック波形設定データ30がシリアルに転送される。
また、同様にして分周回路制御信号保持レジスタ162a、162bは、図4に示すクロック波形設定データ30をラッチする。
次に、図4に示すt3のタイミングで、パルスシフト信号31を"0"、パルススタート信号33を"0"に設定する。これにより、クロック波形保持レジスタ11の値が固定され、クロック波形レジスタ13の各FF131_1〜131_4にデータビットD_1〜D_4の値が送られる。つまり、パルスシフト信号31を"0"に設定することで、テスタクロック32がクロック波形保持レジスタ11に伝達されなくなり、FF111_1〜111_4にラッチされているデータビットD_1〜D_4の値が固定される。また、パルススタート信号33を"0"に設定することで、クロック波形レジスタ13のセレクタ132_1〜132_4は、クロック波形保持レジスタ11の出力であるデータビットD_1〜D_4を選択する。これにより、クロック波形レジスタ13の各FF131_1〜131_4にはデータビットD_1〜D_4の値が伝達され、各FF131_1〜131_4は入力クロック34のタイミングに同期してこれらの値をラッチする。なお、このときFF134には"0"の値がラッチされる。
次に、スキャンシフトインの動作について説明する。t3のタイミングから1レート後のt4のタイミングで、SMC信号36を"1"に設定し、更にその1レート後にテスタクロック32を印加することで、スキャンシフトをすることができる。つまり、SMC信号36を"1"に設定することでORゲート18はANDゲート19の一方の入力に"1"を出力する。このときスキャンテスト信号35は"1"であるので、ANDゲート19はセレクタ20の制御入力に"1"を出力する。これにより、セレクタ20はテスタクロック32を選択する。よって、波形生成器1はテストクロック37としてテスタクロック32を出力する。
図2に示すように、このテスタクロック32は波形生成器1a、1bからスキャンFF61、62、71、72、73に供給される。そして、スキャンFF61、62、71、72、73にはテストクロックに同期してテストパタンが設定される。
次に、図2に示す半導体集積回路の試験装置のキャプチャモードの動作について図5を用いて説明する。スキャンFF61、62、71、72、73にテストパタンを設定した後、図5に示すt5のタイミングで、SMC信号36を"0"に設定する。SMC信号36を"0"に設定することでORゲート18はANDゲート19の一方の入力に"0"を出力する。このとき、ANDゲート19はセレクタ20の制御入力に"0"を出力する。これにより、セレクタ20はセレクタ164の出力を選択する。
また、t5のタイミングから1レート後のt6のタイミングで、パルススタート信号33を"1"に設定する。図2に示す同期回路4のFF41、42は、PLL回路3の第2のクロック34b(clk2_org)に同期して、順次パルススタート信号33の値"1"をラッチし出力する。同期回路4にFF41、42を設けることで、パルススタート信号33は、第2のクロック34b(clk2_org)の1周期分遅れて、つまり図5に示すt7のタイミングで第1及び第2の波形生成器1a、1bに入力される。このように、同期回路4を設けることで第1及び第2の波形生成器1a、1bのクロック波形レジスタ13a、13bを同期して動作させることができる。つまり、同期回路を設けることで、第1の波形生成器1aが第1のクロックドメインに第1のテストクロック37aを供給するタイミングと第2の波形生成器1bが第2のクロックドメインに第2のテストクロック37bを供給するタイミングの同期調整を行うことができる。このとき、同期回路4のFF41、42のクロック入力には、異なるクロックのうち最も遅いクロックを入力すればよく、異なるクロックの数が3以上であっても同様である。また、SMC信号36を"0"に設定した後、パルススタート信号33を"1"に設定するまでに1レート間をあけているが、これはSMC信号36を安定させるためのタイミング調整である。
t7のタイミングで同期回路4から出力されたパルススタート信号33が"1"に設定されると、第1及び第2の波形生成器1a、1bのクロック波形レジスタ13a、13bはクロックゲーティング信号25a、25bをシリアルに出力する。
本実施の形態ではクロック波形設定データ30として、「10000 00111」が設定されている。よって、第1の波形生成器1aのクロック波形レジスタ13aのFF131_1a〜FF131_4aにはそれぞれ、"0"、"0"、"0"、"1"がラッチされている。また、FF134aには"0"がラッチされている。t7のタイミングでパルススタート信号33が"1"に設定されると、FF131_1a〜FF131_4aは第1のクロック34a(clk1_org)のタイミングに同期してFF134aの値(初期値"0")、FF131_1aの値"0"、FF131_2aの値"0"、FF131_3aの値"0"、FF131_4aの値"1"の順にクロックゲーティング信号25aを出力する(図5のクロックゲーティング信号25a参照)。図5の期間80はFF131_1a〜FF131_4aの値が出力されている期間を示している。また、t7のタイミングと期間80の開始タイミングは第1のクロック34a(clk1_org)の1周期分あいているが、これはFF134にラッチされている値"0"に対応する期間である。
同様に、第2の波形生成器1bのクロック波形レジスタ13bのFF131_1b〜FF131_4bにはそれぞれ、"1"、"1"、"0"、"0"がラッチされている。また、FF134bには"0"がラッチされている。t7のタイミングでパルススタート信号33が"1"に設定されると、FF131_1b〜FF131_4bは第2のクロック34b(clk2_org)のタイミングに同期してFF134bの値(初期値"0")、FF131_1bの値"1"、FF131_2bの値"1"、FF131_3bの値"0"、FF131_4bの値"0"の順にクロックゲーティング信号25bを出力する(図5のクロックゲーティング信号25b参照)。図5の期間81はFF131_1b〜FF131_4bの値が出力されている期間を示している。また、t7のタイミングと期間81の開始タイミングは第2のクロック34b(clk2_org)の1周期分あいているが、これはFF134bにラッチされている値"0"に対応する期間である。
第1の波形生成器1aのクロックゲーティング信号25aはORゲート151aの一方の入力に供給される。このとき、ORゲート151aの他方の入力にはスキャンテスト信号35がインバータ23により反転された信号(この場合は"0")が供給される。よって、ORゲート151aからは、クロックゲーティング信号25aがそのまま出力される。FF152aのクロック入力は第1のクロック34a(clk1_org)を入力し、この第1のクロック34a(clk1_org)の立ち下がりエッジに同期してORゲート151の出力結果(クロックゲーティング信号25a)をラッチする。このとき、FF152aからは図5に示すようなクロックゲーティング信号25aから半周期遅れたクロックゲーティング信号(FF152aの出力)が出力される。
ANDゲート153aの一方の入力にはこのFF152aの出力が供給され、他方の入力には第1のクロック34a(clk1_org)が入力される。ANDゲート153aは、FF152aの出力である半周期遅れたクロックゲーティング信号が"1"の時に、第1のクロック34a(clk1_org)をクロックゲーティング出力26aとして出力する。一方、ANDゲート153aは、FF152aの出力である半周期遅れたクロックゲーティング信号が"0"のとき、第1のクロック34a(clk1_org)をクロックゲーティング出力26aとして出力しない。つまり、第1のクロック34a(clk1_org)をマスクする。ANDゲート153aの出力であるクロックゲーティング出力26aは分周モジュール16aに出力される。上記の動作は、第2の波形生成器1bのクロックゲーティング信号25bについても同様である。
図5のt9のタイミングでは、第1の波形生成器1aのFF152aの出力は"1"であることから、第1のクロック34a(clk1_org)はマスクされることなくパルス82がクロックゲーティング出力26aとして出力される。また、図5のt8、t10のタイミングでは、第2の波形生成器1bのFF152bの出力は"1"であることから、第2のクロック34b(clk2_org)はマスクされることなくパルス83、84がクロックゲーティング出力26bとして出力される。
また、第1の波形生成器1aの分周回路制御信号保持レジスタ162aには"0"がラッチされているので、セレクタ164aはクロックゲーティング出力26aを選択する。よって、図5に示すように第1の波形生成器1aはテストクロック(PULSE_OUT_a)37aとして、クロックゲーティング出力26aと同一の波形(パルス85)が出力される。
一方、第2の波形生成器1bの分周回路制御信号保持レジスタ162bには"1"がラッチされているので、セレクタ164bは分周回路161bの出力を選択する。よって、図5に示すように第2の波形生成器1bからはテストクロック(PULSE_OUT_b)37bとして分周回路161bで分周された後の波形が出力される。図5に示すように、分周回路161bは、クロックゲーティング出力26bのパルス83の立ち上がりエッジのタイミングt8で"1"を出力し、次のパルス84の立ち上がりエッジのタイミングt10で"0"を出力する。このような動作により分周回路161bからはパルス86が出力される。なお、このような回路において例えば4分周の波形を出力する場合は、パルス83とパルス84との間に1パルス分の間隔があくように、クロック波形レジスタ13の値を設定する。なお、分周回路161は、クロックゲーティング出力26の立ち下がりエッジのタイミングで動作するように構成してもよい。
次に、スキャンシフトアウトの動作について説明する。上述したキャプチャモードの後、半導体集積回路の試験装置はシフトモード(スキャンシフトアウト)となる。この場合、t11のタイミングでSMC信号36を"1"に設定し、パルススタート信号33を"0"に設定する。パルススタート信号33はt12のタイミングで第1及び第2の波形生成器1a、1bに入力される。なお、シフトモードに切り替えるタイミングは、クロック波形レジスタ13のFF131_1〜131_4に設定された値が全て出力された後になるように、数レート待つ。シフトモードに切り替えるタイミングは、1レートの周期、第1及び第2のクロックの周期、クロック波形レジスタ13のフリップフロップの数により異なる。
t11のタイミングでSMC信号36を"1"に設定した後、1レート後にテスタクロック32を供給することで、スキャンシフトアウトすることができる。つまり、SMC信号36を"1"に設定し、テスタクロック32を供給することで、図2に示す試験対象のスキャンFF61、62、71、72、73の動作結果が取り出される。そして、取り出された動作結果と期待値とを照合することで、試験対象回路の遅延による誤動作が発生したかどうか確認することができる。
以上で説明した、スキャンシフトイン、キャプチャ、スキャンシフトアウトの動作は、初期化動作においてクロック波形設定データを用いて設定したテストクロックを使用するテストパタンが続く限り繰り返してもよい。
図6は本発明の効果を説明するための図である。図6は、周波数の遅いクロックである第2のクロックのPOSから周波数の速いクロックである第1のクロックのPOSへのデータ転送の場合(α)、第1のクロックのPOSから第2のクロックのNEGへのデータ転送の場合(β)、第1のクロックのNEGから第2のクロックのNEGへのデータ転送の場合(γ)の3つのデータパスを示している。背景技術では、このような3つのデータパスについて試験をする場合、(1)第2のクロックのPOSから第1のクロックのPOSへデータ転送する波形(αの場合を試験する波形)、並びに(2)第1のクロックのPOSから第2のクロックのNEGへデータ転送する場合、及び第1のクロックのNEGから第2のクロックのNEGへデータ転送する場合の波形(β、γの場合を試験する波形)の2種類の波形が必要であった。
これに対して本発明では、第2のクロックを2分周することで第2の波形生成器1bのテストクロック(PULSE_OUT_b)37bとして図6に示すような波形を生成することができる。このような波形を生成することで、α〜γの場合の試験を1種類のクロック波形で実施することができる。よって、半導体集積回路の試験のコストを削減することができる。
つまり、本実施の形態にかかる半導体集積回路の試験装置では、第1の波形生成器1aは第1のクロック(第1の周波数を有するクロック)を用いて第1のテストクロックを生成し、また第2の波形生成器1bは第2のクロック(第2の周波数を有するクロック)を用いて第2のテストクロックを生成している。また、第1及び第2の波形生成器1a、1bの少なくとも一方は任意の分周パルスを出力可能な分周回路を有する。このため、本実施の形態にかかる半導体集積回路の試験装置は、1つのテストパタンでテストできるデータ転送の組み合わせを増やすことができるため、テストパタン数を削減することができテストコストを削減することができる。
また、図11(a)、(b)に示す背景技術にかかる試験装置のように、テスト動作時においてテスト基準クロックを供給する経路と、通常動作時においてクロックを供給する経路とが異なる場合、ユーザFFへのテストクロック経路(図11のCTS1の出力YからFF2までの経路)が存在するために、タイミング調整が困難であった。
図11(a)に示す回路では、通常動作時、第1のクロック(clk1_org)をFF1に供給する経路、つまりCTS1の出力YからFF1までの経路の遅延は1nである。また、通常動作時、第2のクロック(clk2_org)をFF2に供給する経路、つまりCTS2の出力YからFF2までの経路の遅延は2nである。一方、図11(a)に示す回路では、テスト動作時、テスト基準クロックをFF1に供給する経路、つまりCTS1の出力YからFF1までの経路の遅延は1nである。また、テスト基準クロックをFF2に供給する経路、つまりCTS1の出力YからFF2までの経路の遅延は2nである。よって、回路全体を一括してスキュー調整する場合、CTS1の出力YからFF1までの経路の遅延1nをCTS1の出力YからFF2までの経路の遅延2nに合わせる必要があるため、CTS1の出力YからFF1までの経路の遅延を1n+1n=2nとしていた(1n遅くなる)。
また、図11(b)に示す回路では、通常動作時、第1のクロック(clk1_org)をFF1に供給する経路、つまりCTS1の出力YからFF1までの経路の遅延は1nである。また、通常動作時、第2のクロック(clk2_org)をFF2に供給する経路、つまりCTS2の出力YからFF2までの経路の遅延は2nである。一方、図11(b)に示す回路では、テスト動作時、テスト基準クロックをFF1に供給する経路、つまりCTS1の出力YからFF1までの経路の遅延は1nである。また、テスト基準クロックをFF2に供給する経路、つまりCTS1の出力YからFF2までの経路の遅延は0.5n+2n=2.5nである。この場合、CTS1の出力YからMUXの入力までの遅延が0.5n、MUXの出力からFF2の入力までの遅延が2nである。よって、通常動作とテスト動作で使用する箇所を別々にスキュー調整する場合、ディレイテスト回路はサイクル単位の遅延差ならば所望のクロックを出力できる性質があることから、サイクル単位の遅延となるようにスキュー調整(2.5n+0.5n=3n)を手作業で行なう必要があった。
これに対して、本実施の形態にかかる発明では、図2に示すように第1の波形生成器1a、第2の波形生成器1bは、それぞれ第1のクロック(clk1_org)、第2のクロック(clk2_org)に基づきテストクロック(PULSE_OUT)を生成しているので、ユーザFFへのテストクロック経路(図11のCTS1の出力YからFF2までの経路)がなくなるため、この部分のスキュー調整が不要となり、回路のレイアウトも容易になる。
また、背景技術では高速なクロック(clk1_org)を低速なクロックドメインにも供給していたため、低速クロックドメインのクロックライン上のセルやフリップフロップを高速セルに置き換えなければならないことがある。そのため、電力の増加が問題となっていた。しかし、本実施の形態にかかる発明では、低速クロックドメインは低速のクロック(clk2_org)のみで駆動しているため、このような問題が生じることはない。
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
1 波形生成器
3 PLL回路
4 同期回路
5 セレクタ
11 クロック波形保持レジスタ
12 クロックゲーティング回路
13 クロック波形レジスタ
14 クロックゲーティング回路
15 クロックゲーティング回路
16 分周モジュール
17 ターゲットレジスタ
18 ORゲート
19 ANDゲート
20 セレクタ
30 クロック波形設定データ
31 パルスシフト信号
32 テスタクロック
33 パルススタート信号
34 入力クロック
35 スキャンテスト信号
36 SMC信号
37 テストクロック
38 クロック波形設定データ出力

Claims (14)

  1. 第1の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第1のテストクロックを第1のクロックドメインに供給する第1の波形生成器と、
    第2の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第2のテストクロックを第2のクロックドメインに供給する第2の波形生成器と、を備え、
    前記第1及び第2の波形生成器の少なくとも一方は任意のクロックパルスがマスクされた後のクロックパルスを分周することで前記テストクロックを生成する分周回路を有する、半導体集積回路の試験装置。
  2. 前記第1の波形生成器が前記第1のクロックドメインに前記第1のテストクロックを供給するタイミングと前記第2の波形生成器が前記第2のクロックドメインに前記第2のテストクロックを供給するタイミングの同期調整を行う同期回路を有する、請求項1に記載の半導体集積回路の試験装置。
  3. 前記同期回路は一つ以上のフリップフロップを備え、当該フリップフロップは前記第1の周波数を有するクロックと前記第2の周波数を有するクロックのうち低い周波数を有するクロックに基づき動作する、請求項2に記載の半導体集積回路の試験装置。
  4. 前記分周回路は、任意のクロックパルスがマスクされた後の前記クロックパルスの第1のタイミングでテストクロックを立ち上げ、当該クロックパルスの第2のタイミングでテストクロックを立ち下げることで、前記テストクロックを生成する、請求項1乃至3のいずれか一項に記載の半導体集積回路の試験装置。
  5. 前記分周回路が前記テストクロックを生成する前記第1及び第2のタイミングは、前記クロックパルスの立ち上がりエッジまたは立ち下がりエッジである、請求項4に記載の半導体集積回路の試験装置。
  6. 前記分周回路は、前記第1の波形生成器及び前記第2の波形生成器のうち低い周波数を有するクロックを入力する波形生成器に設けられている、請求項1乃至5のいずれか一項に記載の半導体集積回路の試験装置。
  7. 前記第1及び第2の波形生成器は、
    マスクされるクロックパルスを設定するクロック波形設定データを入力し、当該クロック波形設定データを保持するクロック波形保持レジスタと、
    前記クロック波形保持レジスタに格納された前記クロック波形設定データを入力するクロック波形レジスタと、
    前記クロック波形レジスタに格納された前記クロック波形設定データに基づき前記クロックパルスをマスクするクロックゲーティング回路と、を有する、請求項1乃至6のいずれか一項に記載の半導体集積回路の試験装置。
  8. 前記クロック波形レジスタは、前記クロック波形設定データのデータビットを前記クロック波形保持レジスタから受け取り、前記第1または第2の周波数を有するクロックに同期して前記データビットを順次出力するシフトレジスタを有し、
    前記クロックゲーティング回路は、前記シフトレジスタから出力される前記データビットに応答して、前記第1または第2の周波数を有するクロックをマスクすることで前記第1または第2のテストクロックを生成する、請求項7に記載の半導体集積回路の試験装置。
  9. 前記第1の波形生成器から前記第1のテストクロックが供給される、前記第1のクロックドメインに属する第1のスキャンフリップフロップと、
    前記第2の波形生成器から前記第2のテストクロックが供給される、前記第2のクロックドメインに属する第2のスキャンフリップフロップと、
    請求項1乃至8のいずれか一項に記載の半導体集積回路の試験装置と、を有する半導体集積回路装置。
  10. 第1の周波数を有するクロックの任意のクロックパルスをマスクすることで第1のテストクロックを生成し、
    第2の周波数を有するクロックの任意のクロックパルスをマスクすることで第2のテストクロックを生成し、
    前記第1のテストクロックを第1のクロックドメインに供給し、
    前記第2のテストクロックを第2のクロックドメインに供給する、半導体集積回路の試験方法であって、
    前記第1及び第2のテストクロックのうちの少なくとも一方を分周することで前記テストクロックを生成する、半導体集積回路の試験方法。
  11. 前記第1のクロックドメインに前記第1のテストクロックを供給するタイミングと前記第2のクロックドメインに前記第2のテストクロックを供給するタイミングの同期調整を行う、請求項10に記載の半導体集積回路の試験方法。
  12. 前記第1の周波数を有するクロックと前記第2の周波数を有するクロックのうち低い周波数を有するクロックに基づき同期調整を行う、請求項11に記載の半導体集積回路の試験方法。
  13. 前記第1及び第2のテストクロックのうちの少なくとも一方を分周する際に、
    任意のクロックパルスがマスクされた後の前記クロックパルスの第1のタイミングでテストクロックを立ち上げ、前記クロックパルスの第2のタイミングでテストクロックを立ち下げることで、前記テストクロックを生成する、請求項10乃至12のいずれか一項に記載の半導体集積回路の試験方法。
  14. 前記テストクロックを生成する前記第1及び第2のタイミングは、前記クロックパルスの立ち上がりエッジまたは立ち下がりエッジである、請求項13に記載の半導体集積回路の試験方法。
JP2009244363A 2009-10-23 2009-10-23 半導体集積回路の試験装置及びその試験方法 Pending JP2011089914A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009244363A JP2011089914A (ja) 2009-10-23 2009-10-23 半導体集積回路の試験装置及びその試験方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009244363A JP2011089914A (ja) 2009-10-23 2009-10-23 半導体集積回路の試験装置及びその試験方法

Publications (1)

Publication Number Publication Date
JP2011089914A true JP2011089914A (ja) 2011-05-06

Family

ID=44108291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009244363A Pending JP2011089914A (ja) 2009-10-23 2009-10-23 半導体集積回路の試験装置及びその試験方法

Country Status (1)

Country Link
JP (1) JP2011089914A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101266601B1 (ko) * 2012-12-21 2013-05-22 오세경 플래시 메모리 카드/내장 메모리 카드 테스트 장치 및 방법
CN109932851A (zh) * 2019-02-26 2019-06-25 浙江大学 一种基于耦合型光电振荡光频梳任意倍频信号的产生装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101266601B1 (ko) * 2012-12-21 2013-05-22 오세경 플래시 메모리 카드/내장 메모리 카드 테스트 장치 및 방법
CN109932851A (zh) * 2019-02-26 2019-06-25 浙江大学 一种基于耦合型光电振荡光频梳任意倍频信号的产生装置

Similar Documents

Publication Publication Date Title
US7240266B2 (en) Clock control circuit for test that facilitates an at speed structural test
US8775857B2 (en) Sequential on-chip clock controller with dynamic bypass for multi-clock domain testing
US7941720B2 (en) Scan test circuit and scan test control method
JP2008122159A (ja) 半導体集積回路
JP5164266B2 (ja) 半導体装置
JP2008216185A (ja) Scanテスト回路、半導体集積回路及びスキャンイネーブル信号タイミング制御回路部
TWI221926B (en) A multi-time domain logic system and related method
JP5274660B2 (ja) タイミング発生器および試験装置
JP2011089914A (ja) 半導体集積回路の試験装置及びその試験方法
JP2003316566A (ja) パイプラインプロセッサ
US20080082880A1 (en) Method of testing high-speed ic with low-speed ic tester
TWI783555B (zh) 半導體裝置與測試脈衝訊號產生方法
JP2021124371A (ja) 半導体集積回路
JPWO2010021131A1 (ja) 試験装置および試験方法
JP2009210544A (ja) 半導体集積回路
JP5732990B2 (ja) 半導体回路
JP2013072797A (ja) 半導体テスト回路
CN115561612A (zh) 半导体装置与测试脉冲信号产生方法
JP2004127012A (ja) 同期式回路およびその設計方法
JP4953649B2 (ja) 半導体集積回路、ディレイテスト回路、及び半導体集積回路のテスト方法
US20190080039A1 (en) Integrated circuit, scan shift control method, and circuit design method
JP2013156073A (ja) 半導体装置
JP2006170894A (ja) 半導体装置およびクロック生成装置
JP2007155611A (ja) 半導体集積回路
JP2006221348A (ja) シリアルデータ転送装置およびシリアル転送システム