JP2007327838A - 半導体集積回路装置 - Google Patents
半導体集積回路装置 Download PDFInfo
- Publication number
- JP2007327838A JP2007327838A JP2006158892A JP2006158892A JP2007327838A JP 2007327838 A JP2007327838 A JP 2007327838A JP 2006158892 A JP2006158892 A JP 2006158892A JP 2006158892 A JP2006158892 A JP 2006158892A JP 2007327838 A JP2007327838 A JP 2007327838A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- signal
- level
- control
- cycle
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3016—Delay or race condition test, e.g. race hazard test
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318577—AC testing, e.g. current testing, burn-in
- G01R31/31858—Delay testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】 本来のパルス幅のラウンチクロック及びキャプチャクロックをタイミング制約に応じて発生することにより、確実な遅延故障テストを可能にする。
【解決手段】 相互に異なる周波数のクロックで動作する複数のフリップフロップと、前記フリップフロップに供給するクロックの元となる発振出力を出力する発振器1と、遅延故障テスト用の制御データを記憶する記憶部17と、前記発振器の発振出力を用いて、前記遅延故障テストに用いるラウンチクロック及びキャプチャクロックを前記制御データに基づいて生成するものであって、前記フリップフロップを動作させるクロックの周期に対応したパルス幅の前記ラウンチクロック及びキャプチャクロックを生成するパルス制御部11とを具備したことを特徴とする。
【選択図】 図1
【解決手段】 相互に異なる周波数のクロックで動作する複数のフリップフロップと、前記フリップフロップに供給するクロックの元となる発振出力を出力する発振器1と、遅延故障テスト用の制御データを記憶する記憶部17と、前記発振器の発振出力を用いて、前記遅延故障テストに用いるラウンチクロック及びキャプチャクロックを前記制御データに基づいて生成するものであって、前記フリップフロップを動作させるクロックの周期に対応したパルス幅の前記ラウンチクロック及びキャプチャクロックを生成するパルス制御部11とを具備したことを特徴とする。
【選択図】 図1
Description
本発明は、遅延故障テストが可能な半導体集積回路装置に関する。
従来、順序回路を備えた大規模集積回路(LSI)においては、多数のフリップフロップ回路が構成されている。このようなLSIの故障診断のために、スキャンテストが採用されることがある。スキャンテストは、回路内部のフリップフロップをチェイン状の経路を有するスキャンフリップフロップとして構成し、入出力を観測することで、故障の有無を判定するものである。
このようなスキャンテストを可能にした半導体集積回路としては、特許文献1,2に記載されたもの等、種々の回路が提案されている。
更に、近年、対象回路の高速化に伴い、遅延故障に対するテスト(遅延故障テスト)も採用されるようになってきた。遅延故障テストは、スキャン設計された回路のフリップフロップ間の組み合わせ回路部を対象にして,所定の遅延時間内にデータが遷移可能であるか否かをテストするものである。
遅延故障テストにおいては、先ず、スキャンチェインを利用してフリップフロップに必要な値をセットする。次に、テストしたい周波数で高速にクロック信号を2つ印加する。そうすると、最初のクロックで前段のフリップフロップに発生した値の変化が、2番目のクロックで後段のフリップフロップに取り込まれる。フリップフロップの出力を観測することで、前段のフリップフロップと後段のフリップフロップ間のテスト周波数における遅延故障を検出することができる。
遅延故障テストにおいては、先ず、スキャンチェインを利用してフリップフロップに必要な値をセットする。次に、テストしたい周波数で高速にクロック信号を2つ印加する。そうすると、最初のクロックで前段のフリップフロップに発生した値の変化が、2番目のクロックで後段のフリップフロップに取り込まれる。フリップフロップの出力を観測することで、前段のフリップフロップと後段のフリップフロップ間のテスト周波数における遅延故障を検出することができる。
ところで、近年、LSI内の各素子の駆動周波数は極めて高くなっており、例えば、周波数が500MHzの高速クロックが用いられることがある。この場合には、フリップフロップは2ns(秒)以内に高速に動作する必要があり、遅延故障テストにおいても、このような高速動作に対応するために高速クロックを用いたテストが必要である。この場合に、テスト用のクロックをLSIの外部のテスタから供給しようとすると、波形歪みによって遅延故障テストの計測が困難である。そこで、LSI内に構成されたPLL回路の出力を用いて、テストクロックを発生させることが考えられる。即ち、テストクロックは、PLL回路の出力クロックを、テストパターンに応じたタイミングで選択することで、発生させるのである。
ところで、LSI内には、高速駆動する素子と低速駆動する素子とが混在して設けられることがある。この場合には、テストパターンは、高速駆動する素子用の短周期に応じたタイミングと、低速駆動する素子用の長周期に応じたタイミングを示すものとなる。PLL回路の出力クロックを、このテストパターンに応じたタイミングで選択することで、高速駆動する素子と低速駆動する素子とが混在して設けられた素子の遅延故障テスト用のテストクロックを発生させることができる。
しかしながら、このようなテストクロックは、PLL回路の出力をテストパターンに応じて選択することで生成されており、高速駆動する素子と低速駆動する素子のいずれに供給されるテストクロックも、そのパルス幅はPLL回路の出力に応じて一定である。
そうすると、遅延故障テストのテスト結果として十分な精度が得られないことがある。例えば、立ち上がりエッジで動作する素子と立ち下がりエッジで動作する素子とが混在した回路では、通常動作時のクロックよりもパルス幅が短いテストクロックが与えられた場合、立ち上がりエッジで動作する素子から、立ち下がりエッジで動作する素子への信号パスが存在するものとすると、素子をこの信号パスの本来のタイミング制約よりも短い周期で動作させることになり、期待値の不一致が発生する可能性がある。
また、クロックラインの立ち上がり遷移時間と立ち下がり遷移時間とが非対称な場合には、本来のパルス幅よりも短いパルス幅のテストクロックでは、最小パルス幅を満足しないか又はテストクロックの消失が生じる可能性もある。
特開2004−354059号公報
特開平8−201481号公報
本発明は、適正なパルス幅のテストクロックによって故障テストを行うことができる半導体集積回路装置を提供することを目的とする。
本発明の一態様の半導体集積回路装置は、相互に異なる周波数のクロックで動作する複数のフリップフロップと、前記フリップフロップに供給するクロックの元となる発振出力を出力する発振器と、遅延故障テスト用の制御データを記憶する記憶部と、前記発振器の発振出力を用いて、前記遅延故障テストに用いるラウンチクロック及びキャプチャクロックを前記制御データに基づいて生成するものであって、前記フリップフロップを動作させるクロックの周期に対応したパルス幅の前記ラウンチクロック及びキャプチャクロックを生成するパルス制御部とを具備したことを特徴とする。
本発明によれば、適正なパルス幅のテストクロックによって故障テストを行うことができるという効果を有する。
以下、図面を参照して本発明の実施の形態について詳細に説明する。
<第1の実施の形態>
図1は本発明の第1の実施の形態に係る半導体集積回路装置を示すブロック図である。また、図2は図1の半導体集積回路装置上に構成される素子を説明するためのブロック図である。図3は図2中のFF群A21〜FF群C23において用いるクロック信号A〜Cを示している。また、図4乃至図6は各信号パスのタイミング制約、即ち、遅延故障テストに必要なクロックを説明するためのタイミングチャートである。
図1は本発明の第1の実施の形態に係る半導体集積回路装置を示すブロック図である。また、図2は図1の半導体集積回路装置上に構成される素子を説明するためのブロック図である。図3は図2中のFF群A21〜FF群C23において用いるクロック信号A〜Cを示している。また、図4乃至図6は各信号パスのタイミング制約、即ち、遅延故障テストに必要なクロックを説明するためのタイミングチャートである。
先ず、図2を参照して半導体集積回路装置上に構成される素子について説明する。
半導体集積回路装置上には、発振器としてのPLL回路1が構成されている。PLL回路1は、所定周波数のクロック信号Aを発生する。半導体集積回路装置上には、複数のフリップフロップが構成されており、各フリップフロップは要求される駆動速度に相違がある。図2は異なるクロック周波数で動作するフリップフロップ群の数が3の例を示している。
即ち、図2の例では、各フリップフロップは、クロック信号Aに基づいて駆動されるフリップフロップ群A(FF群A)21と、クロック信号Bに基づいて駆動されるフリップフロップ群B(FF群B)22と、クロック信号Cに基づいて駆動されるフリップフロップ群C(FF群C)23とに分けられる。クロックBは、クロックAよりも低い周波数のクロックであり、例えば、クロックAの1/2の周波数である。また、クロックCは、クロックBよりも低い周波数のクロックであり、例えば、クロックAの1/4の周波数である。
1/2分周器51は、PLL回路1からのクロック信号A(図3(a))を1/2分周してクロック信号B(図3(b))を生成し、FF群B22に出力する。1/4分周器52は、PLL回路1からのクロック信号Aを1/4分周してクロック信号C(図3(c))を生成し、FF群C23に出力する。
FF群A21の各フロップフロップは、所定の入力信号をクロック信号Aのエッジに同期させて出力する。また、FF群B22の各フロップフロップは、所定の入力信号をクロック信号Bのエッジに同期させて出力する。また、FF群C23の各フロップフロップは、各フリップフロップに入力された所定の入力信号をクロック信号Cのエッジに同期させて出力する。
半導体集積回路装置内においては、FF群A21〜FF群C23の各フリップフロップが相互に接続されて順序回路が構成されている。図4乃至図6は、FF群A21〜FF群C23中の各フリップフロップのうち前段及び後段の連続する2段のフリップフロップに供給されるクロックの関係のうち最も周期が短い関係(タイミング制約)を矢印にて示すものである。図4はFF群A21〜FF群C23のうち、連続する2段のフリップフロップが同一群のフリップフロップである場合のタイミング制約を示している。
図4(a)は前段及び後段のフリップフロップがクロック信号Aによって動作する例を示している。この場合のタイミング制約tAAは矢印によって示すことができる。即ち、前段のフリップフロップは、矢印の始点となるサイクル0のクロック信号Aの立ち上がりエッジで動作し、後段のフリップフロップは矢印の終点となるサイクル1のクロック信号Aの立ち上がりエッジで動作する。
同様に、図4(b)は前段及び後段のフリップフロップがクロック信号Bによって動作するタイミング制約tBBの例を示している。即ち、前段のフリップフロップは矢印の始点となるサイクル0のクロック信号Bの立ち上がりエッジで動作し、後段のフリップフロップは矢印の終点となるサイクル2のクロック信号Bの立ち上がりエッジで動作する。
また同様に、図4(c)は前段及び後段のフリップフロップがクロック信号Cによって動作するタイミング制約tCCの例を示している。前段のフリップフロップは矢印の始点となるサイクル0のクロック信号Cの立ち上がりエッジで動作し、後段のフリップフロップは矢印の終点となるサイクル4のクロック信号Cの立ち上がりエッジで動作する。
図5はFF群A21〜FF群C23のうち、連続する2段のフリップフロップの一方がFF群A21のフリップフロップであり、他方がFF群B22又はFF群C23のフリップフロップである場合のタイミング制約tBA,tAB,tCA,tACを示している。この場合に、前後段の2つのフリップフロップに与えられるクロックの組としては、図5の矢印に示すように、クロックAと次のクロックB、クロックAと次のクロックC、クロックBと次のクロックA、クロックCと次のクロックAの4種類が考えられる。
また、図6はFF群A21〜FF群C23のうち、連続する2段のフリップフロップの一方がFF群B22のフリップフロップであり、他方がFF群C23のフリップフロップである場合のタイミング制約tCB,tBCを示している。この場合に、前後段の2つのフリップフロップに与えられるクロックの組としては、図6の矢印に示すように、クロックCと次のクロックB、クロックBと次のクロックCの2種類が考えられる。
即ち、異なる周波数で動作する3つのフリップフロップ群を有し、各フリップフロップが立ち上がりエッジで動作し、異なる周波数のクロックが立ち上がりエッジで位相が同期している半導体集積回路装置におけるタイミング制約としては、図4乃至図6に示す9パターンのタイミング制約tAA〜tCCのみを考慮すればよい。
なお、図4乃至図6は異なる周波数で動作するフリップフロップ群が3の例を示したが、2又は4以上であっても本実施の形態を同様に適用可能である。また、図4乃至図6の例では、説明を簡略化するために、クロック信号の立ち上がりエッジでフリップフロップが動作する例を説明したが、立ち上がりエッジ及び立ち下がりエッジのいずれで動作する場合にも、同様に適用可能である。
本実施の形態は、遅延故障テストにおいて、各タイミング制約に対応した2つのテスト用のクロック(以下、制御クロック信号という)を各フリップフロップに供給するものであって、各制御クロック信号をその周波数に応じたパルス幅で各フリップフロップに供給することを可能にするものである。
図1はこのような遅延故障テストにおける制御クロック信号を出力可能な半導体集積回路装置を示している。なお、図1は異なる周波数で動作するフリップフロップ群が3つの例であり、各フリップフロップが立ち上がりエッジで動作し、異なる周波数のクロックが立ち上がりエッジで位相が同期している場合の例を示している。
図1に示すように、半導体集積回路装置には、図2の構成の外に、PLLパルス制御部11が設けられている。なお、図1では図示を省略したが、半導体集積回路装置には、通常動作時においてFF群A21乃至FF群C23にクロック信号A〜Cを供給する1/2分周器51及び1/4分周器52が設けられていると共に、通常動作時と遅延故障テスト時とで、クロック信号A〜Cと制御クロック信号A〜Cとを切り替えるためのセレクタも設けられている。また、図1の半導体集積回路装置には、スキャンテストを実施するために、FF群A21乃至FF群C23の各フリップフロップに対する書込み及び読み出しを可能にする図示しないスキャンテスト回路も設けられている。
PLL回路1からのクロック信号AはPLLパルス制御部11内のサイクル制御部12及びアンド回路13に与えられる。サイクル制御部12にはスキャンイネーブル入力及びパルス制御データも与えられる。スキャンイネーブル入力は、故障テストのうちスキャンチェインを利用したスキャンテストを行う場合に、スキャンシフト動作とファンクション動作とを切り替える信号であり、スキャンシフト時にはハイレベル(以下、Hレベルという)となり、ファンクション動作時にはローレベル(以下、Lレベルという)となる。
遅延故障テスト時には、前段及び後段のフリップフロップに、連続する2つの制御クロック信号を与える。最初の制御クロック信号(以下、ラウンチクロックともいう)によって前段のフリップフロップに発生した値の変化が、次の制御クロック信号(以下、キャプチャクロックともいう)によって後段のフリップフロップによって取り込まれるか否かが検査される。
パルス制御データは、FF群A21〜FF群C23の構成に応じて上述したタイミング制約に基づくタイミングにおいてラウンチクロック及びキャプチャクロックを発生させるための情報を含む。記憶部としての制御データレジスタ部17は、このパルス制御データを保持する。制御データレジスタ部17は、所定のサイクル毎にラウンチクロック及びキャプチャクロックを発生させるためのパルス制御データをサイクル制御部12に供給する。サイクル制御部12は、パルス制御データを用いて、タイミング制約に基づくタイミングにおいて、ラウンチクロック及びキャプチャクロックの周期に応じたパルス幅の信号を出力する。
図7は図1中のサイクル制御部12の具体的な構成を示すブロック図である。
サイクル制御部12は制御信号生成回路32、ステートレジスタ33及びフリップフロップ34乃至36によって構成されている。制御信号生成回路32には、クロック信号A、スキャンイネーブル入力及びパルス制御データが入力され、制御信号生成回路32はこれらの入力に応じた信号を出力する。
制御信号生成回路32はクロック信号Aに応じた所定のサイクルで動作して、各サイクル毎に出力状態を変化させる。ステートレジスタ33は現在のサイクルが何番目のサイクルであるかを記憶して、次のサイクルを制御信号生成回路32に指示する。制御信号生成回路32の各出力は、フリップフロップ34乃至36によって同期化されて出力される。
例えば、制御信号生成回路32は、クロック信号A及びパルス制御データに基づいて出力の状態が所定のサイクル毎に変化するステートマシンによって構成することができる。図8及び図9はこのようなステートマシンによって構成される制御信号生成回路32の出力状態を説明するための状態遷移図である。図8はトップ階層の状態遷移図であり、リセット時においては制御信号生成回路32は、ステートST00より動作を開始する。
図8は丸印でステートダイアグラムを示しており、二重丸はサブステートダイアグラムである。図8において、SEはスキャンイネーブル入力を示し、AL〜CL及びAC〜CCはパルス制御データを示している。AL〜CLは、夫々制御クロック信号A〜Cをラウンチクロックとして出力するためのデータを示し、AC〜CCは、夫々制御クロック信号A〜Cをキャプチャクロックとして出力するためのデータを示している。図8では“=”によって、遷移条件を示しており,“=”の両辺が一致の場合に、ステート間での遷移が発生することを示す。なお、条件式はAND及びOR等で複数を結合してもよい。なお、図8では“,”によってAND条件を示している。
図8は図4乃至図6に示す上述した9つのタイミング制約tAA〜tCCを満足するラウンチクロック及びキャプチャクロックを出力する場合の例を示している。各タイミング制約tAA〜tCCが夫々サブステートST01〜ST09によって実現される。ステートST00は初期ステートを示している。
スキャンイネーブル入力がLレベルになると(SE=0)、ステートST00から制御データに応じたサブステートST01〜ST09に状態が移行する。サブステートST01は、ラウンチクロック及びキャプチャクロックのいずれも制御クロック信号Aを選択する場合の例であり、図4(a)のタイミング制約tAAを実現するものである。
同様に、サブステートST02は、ラウンチクロックとして制御クロック信号Aを選択し、キャプチャクロックとして制御クロック信号Bを選択する場合の例であり、図5(a),(b)に示すタイミング制約tABを実現するものである。
同様に、サブステートST03は、ラウンチクロックとして制御クロック信号Aを選択し、キャプチャクロックとして制御クロック信号Cを選択する場合の例であり、図5(a),(c)に示すタイミング制約tACを実現するものである。
同様に、サブステートST04は、ラウンチクロックとして制御クロック信号Bを選択し、キャプチャクロックとして制御クロック信号Bを選択する場合の例であり、図4(b)に示すタイミング制約tBBを実現するものである。
同様に、サブステートST05は、ラウンチクロックとして制御クロック信号Bを選択し、キャプチャクロックとして制御クロック信号Aを選択する場合の例であり、図5(b),(a)に示すタイミング制約tBAを実現するものである。
同様に、サブステートST06は、ラウンチクロックとして制御クロック信号Bを選択し、キャプチャクロックとして制御クロック信号Cを選択する場合の例であり、図6(b),(c)に示すタイミング制約tBCを実現するものである。
同様に、サブステートST07は、ラウンチクロックとして制御クロック信号Cを選択し、キャプチャクロックとして制御クロック信号Cを選択する場合の例であり、図4(c)に示すタイミング制約tCCを実現するものである。
同様に、サブステートST08は、ラウンチクロックとして制御クロック信号Cを選択し、キャプチャクロックとして制御クロック信号Aを選択する場合の例であり、図5(c),(a)に示すタイミング制約tCAを実現するものである。
同様に、サブステートST09は、ラウンチクロックとして制御クロック信号Cを選択し、キャプチャクロックとして制御クロック信号Bを選択する場合の例であり、図6(c),(b)に示すタイミング制約tCBを実現するものである。
図9はサブステートST01の具体的な構成を示している。図9において、AENは制御クロック信号Aの出力を許可するクロックA制御信号を示し、BCK,CCKは、夫々制御クロック信号B,Cの出力を規定するクロックBレベル信号及びクロックCレベル信号を示している。図9では、左向きの矢印によって、クロックA制御信号、クロックBレベル信号及びクロックCレベル信号に右辺の値を代入することを示している。
図9に示す下位階層では、ステートS及びステートEが設けられる。ステートSは上位階層がアクティブになった際に、下位階層の開始ステートを明示するものである。ステートEは下位階層の処理を終了し、図8に示す上位階層に制御を移すことを明示するものである。
図8に示す遷移条件によって、サブステートST01が選択されると、サブステートの開始ステートSからサブステートST01のダミーサイクルを示すステートST01−0に移行する。ステートST01−0は、全ての値、AEN,BCK,CCKを0にリセットする。次のサイクルでは、ステートST01−1に移行して、AENに1が代入される。これにより、このサイクルにおいてクロックA制御信号がHレベルに遷移する。クロックA制御信号は、フリップフロップ34に供給されて、クロック信号Aに同期して出力される。
次のサイクルでは、ステートST01−2に移行して、前サイクルと同様にAENに1が代入される。これにより、このサイクルにおいてクロックA制御信号がHレベルに遷移する。クロックA制御信号は、フリップフロップ34に供給されて、クロック信号Aに同期して出力される。
次のサイクルでは、ステートST01−3に移行して、全ての値、AEN,BCK,CCKを0にリセットする。最後に、終了ステートEに移行して、上位階層の初期ステートST00に状態が遷移する。
即ち、例えば、パルス制御データとして、AL,AC=1でBL,CL,BC,CC=0のパルス制御データがサイクル制御部12に入力された場合には、サブステートST01に遷移して、サイクル制御部12からは、所定のサイクルでHレベルのクロックA制御信号が出力され、次のサイクルでHレベルのクロックA制御信号が出力されることになる。
図1において、クロックA制御信号は、アンド回路13に与えられる。アンド回路13には、PLL回路1からクロックAも与えられている。アンド回路13は、クロックA制御信号がHレベルの期間において、クロックAを出力する。アンド回路13の出力はセレクタ14に供給される。セレクタ14には、シフトクロック入力も入力されている。シフトクロック入力は、外部の図示しないテスタからのクロックであり、スキャンシフト時に用いられるクロックである。セレクタ14は、スキャンイネーブル入力によって制御され、スキャンイネーブル入力がHレベルでスキャンシフト動作時には、シフトクロック入力を選択して出力し、スキャンイネーブル入力がLレベルでファンクション動作時には、アンド回路13の出力を選択する。
即ち、ファンクション動作時には、セレクタ14からは、クロックA制御信号がHレベルのサイクルにおいて、クロック信号Aが制御クロック信号Aとして出力される。セレクタ14の出力はFF群A21に供給される。
サイクル制御部12からのクロックBレベル信号及びクロックCレベル信号は、夫々セレクタ15,16に供給される。セレクタ15,16にはシフトクロック入力も入力されている。セレクタ15,16は、スキャンイネーブル入力がスキャンシフト動作を指示している場合には、シフトクロック入力を選択して出力し、ファンクション動作を指示している場合にはクロックBレベル信号又はクロックCレベル信号を選択して出力する。
本実施の形態においては、クロックBレベル信号は、クロック信号Aの1サイクル期間だけHレベルを維持するように制御されており、ファンクション動作時においては、セレクタ15はクロック信号Bと同じパルス幅の制御クロック信号Bを出力する。また、クロックCレベル信号は、クロック信号Aの2サイクル期間だけHレベルを維持するように制御されており、ファンクション動作時においては、セレクタ16はクロック信号Cと同じパルス幅の制御クロック信号Cを出力する。なお、クロック信号B及びクロック信号Cのデューティー比(Hレベル期間とLレベル期間の比率)は、1:1として説明したが、それ以外の場合でもクロック信号Aの1サイクル期間を単位としてデューティー比を変化させることができる。
図10はクロックBレベル信号を含む出力を出力するサブステートダイアグラムの例として、サブステートST02の具体的な構成を示す状態遷移図である。図10における各符号も図9と同様のものである。
図8に示す遷移条件によって、サブステートST02が選択されると、サブステートの開始ステートSからサブステートST02のダミーサイクルを示すステートST02−0に移行する。ステートST02−0は、全ての値、AEN,BCK,CCKを0にリセットする。次のサイクルでは、ステートST02−1に移行して、AENに1が代入される。これにより、このサイクルにおいてクロックA制御信号がHレベルに遷移する。クロックA制御信号は、フリップフロップ34に供給されて、クロック信号Aに同期して出力される。
次のサイクルでは、ステートST02−2に移行して、AENに0が代入されると共にBCKに1が代入される。これにより、このサイクルにおいてクロックA制御信号がLレベルに遷移すると共に、クロックBレベル信号がHレベルに遷移する。クロックBレベル信号はフリップフロップ35に供給されて、クロック信号Aに同期して出力される。
次のサイクルでは、ステートST02−3に移行して、全ての値、AEN,BCK,CCKを0にリセットする。最後に、終了ステートEに移行して、上位階層の初期ステートST00に状態が遷移する。
即ち、例えば、パルス制御データとして、AL,BC=1でBL,CL,AC,CC=0のパルス制御データがサイクル制御部12に入力された場合には、サブステートST02に遷移して、サイクル制御部12からは、所定のサイクルでHレベルのクロックA制御信号が出力され、次のサイクルでHレベルのクロックBレベル信号が出力されることになる。即ち、クロックBレベル信号は、1サイクル期間Hレベルを維持する。
サイクル制御部12からのクロックBレベル信号は、セレクタ15に供給される。セレクタ15は、スキャンイネーブル入力がファンクション動作を指示している場合には、クロックBレベル信号を制御クロック信号Bとして出力する。クロックBレベル信号が1サイクル期間Hレベルであるので、制御クロック信号Bは1サイクル期間、即ち、クロック信号Aの1周期期間のパルス幅を有する。
図11はクロックCレベル信号を含む出力を出力するサブステートダイアグラムの例として、サブステートST03の具体的な構成を示す状態遷移図である。図11における各符号も図9と同様のものである。
図8に示す遷移条件によって、サブステートST03が選択されると、サブステートの開始ステートSからサブステートST03のダミーサイクルを示すステートST03−0に移行する。ステートST03−0は、全ての値、AEN,BCK,CCKを0にリセットする。次のサイクルでは、ステートST03−1に移行して、AENに1が代入される。これにより、このサイクルにおいてクロックA制御信号がHレベルに遷移する。クロックA制御信号は、フリップフロップ34に供給されて、クロック信号Aに同期して出力される。
次のサイクルでは、ステートST03−2に移行して、AENに0が代入されると共にCCKに1が代入される。これにより、このサイクルにおいてクロックA制御信号がLレベルに遷移すると共に、クロックCレベル信号がHレベルに遷移する。クロックCレベル信号はフリップフロップ36に供給されて、クロック信号Aに同期して出力される。
次のサイクルでは、ステートST03−3に移行して、前サイクルと同様にCCKに1が代入される。これにより、このサイクルにおいて、クロックCレベル信号はHレベルを維持する。クロックCレベル信号はフリップフロップ36に供給されて、クロック信号Aに同期して出力される。
次のサイクルでは、ステートST03−4に移行して、CCKに0が代入される。これにより、このサイクルにおいて、クロックCレベル信号はLレベルに遷移する。クロックCレベル信号はフリップフロップ36に供給されて、クロック信号Aに同期して出力される。更に、次のサイクルでは、ステートST03−5に移行して、前サイクルと同様にCCKに0が代入される。これにより、このサイクルにおいても、クロックCレベル信号はLレベルを維持する。クロックCレベル信号はフリップフロップ36に供給されて、クロック信号Aに同期して出力される。最後に、終了ステートEに移行して、上位階層の初期ステートST00に状態が遷移する。
即ち、例えば、パルス制御データとして、AL,CC=1でBL,CL,AC,BC=0のパルス制御データがサイクル制御部12に入力された場合には、サブステートST03に遷移して、サイクル制御部12からは、所定のサイクルでHレベルのクロックA制御信号が出力され、次の2サイクルでHレベルのクロックCレベル信号が出力され、次の2サイクルでLレベルのクロックCレベル信号が出力されることになる。即ち、クロックCレベル信号は、2サイクル期間Hレベルを維持し、2サイクル期間Lレベルを維持する。
サイクル制御部12からのクロックCレベル信号は、セレクタ16に供給される。セレクタ16は、スキャンイネーブル入力がファンクション動作を指示している場合には、クロックCレベル信号を制御クロック信号Cとして出力する。クロックCレベル信号が2サイクル期間Hレベルであるので、制御クロック信号Cは2サイクル期間、即ち、クロック信号Aの2周期期間のパルス幅を有する。
セレクタ15,16からの制御クロック信号B及び制御クロック信号Cは、夫々FF群B22及びFF群C23に供給される。
次に、このように構成された実施の形態の動作について図12乃至図20のタイミングチャートを参照して説明する。図12乃至図20は夫々タイミング制約tAA、tAB,tAC,tBB,tBA,tBC,tCC,tCA,tCBを説明するものである。
通常の動作時には、半導体集積回路装置は図2と同様の構成となる。この場合には、PLL回路1からのクロック信号AはFF群A21の各フリップフロップに供給され、クロック信号BはFF群B22の各フリップフロップに供給され、クロック信号CはFF群C23の各フリップフロップに供給される。
テストモード時には、スキャンイネーブル入力によって、スキャンシフト動作とファンクション動作が指示される。スキャンシフト時には、スキャンイネーブル入力はHレベルとなり、セレクタ14乃至16はいずれもシフトクロック入力を選択して、夫々FF群A21乃至FF群C23に供給する。なお、スキャンシフト時には、FF群A21乃至FF群C23の各フリップフロップによってスキャンチェインが構成される。
また、スキャンチェインを利用して、遅延故障テストにおいて用いる値が各フリップフロップにセットされる。制御データレジスタ部17には、遅延故障テストにおいて用いるパルス制御データがセットされる。
ファンクション動作時には、スキャンイネーブル入力はLレベルとなる。サイクル制御部12の制御信号生成回路32には、クロック信号A及びパルス制御データが供給され、制御信号生成回路32は、スキャンイネーブルがLレベルになると、クロック信号Aに基づくサイクル毎に、パルス制御データに基づいて出力の状態を決定する。
いま、制御信号生成回路32に、図4(a)のタイミング制約tAAに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、AL,AC=1でBL,CL,BC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、制御信号生成回路32は、パルス制御データに応じて、図8のステートST01に遷移し、図9に示す各ステートS,ST01−1〜ST01−3,Eを実行する。即ち、PLLパルス制御部11は図12に示す動作を行う。
図12に示すように、ステートST01−0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、ステートST01−1において、AENに1を代入する。また、ステートST01−2においても継続してAENを1にする。これにより、図12に示すように、クロックA制御信号はステートST01−1,ST01−2の2サイクル期間Hレベルとなる。なお、他のクロックBレベル信号及びクロックCレベル信号はLレベルのままである。
クロックA制御信号はアンド回路13に与えられ、ステートST01−1,ST01−2の2サイクル期間にクロック信号Aがセレクタ14に供給される。こうして、セレクタ14からは、2サイクル期間にわたり、クロック信号Aが制御クロック信号Aとして連続的に出力される。こうして、図4(a)のタイミング制約tAAに対応したラウンチクロック及びキャプチャクロックをFF群21に与えることができる。
次に、制御信号生成回路32に、図5(a),(b)のタイミング制約tABに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、AL,BC=1でBL,CL,AC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、制御信号生成回路32は、パルス制御データに応じて、図8のステートST02に遷移する。そして、PLLパルス制御部11は図13に示す動作を行う。
即ち、図13に示すように、ステートST02−0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、ステートST02−1において、AENに1を代入する。次に、ステートST02−2においてAENを0に戻し、BCKに1を代入する。これにより、図13に示すように、ステートST02−1においてクロックA制御信号がHレベルとなり、ステートST02−2においてクロックBレベル信号がHレベルとなる。
クロックA制御信号はアンド回路13に与えられ、ステートST02−1においてクロック信号Aが制御クロック信号Aとして出力される。また、クロックBレベル信号は、セレクタ15に与えられ、ステートST02−2の1サイクル期間に渡ってHレベルの制御クロック信号Bが出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号BはFF群B22のフリップフロップに供給される。こうして、図5(a),(b)のタイミング制約tABに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、制御信号生成回路32に、図5(a),(c)のタイミング制約tACに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、AL,CC=1でBL,CL,AC,BC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、制御信号生成回路32は、パルス制御データに応じて、図8のステートST03に遷移する。そして、PLLパルス制御部11は図14に示す動作を行う。
即ち、図14に示すように、ステートST03−0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、ステートST03−1において、AENに1を代入する。次に、ステートST03−2においてAENを0に戻し、CCKに1を代入する。更に、次のステートST03−3において、CCKに継続して1を代入する。これにより、図14に示すように、ステートST03−1においてクロックA制御信号がHレベルとなり、ステートST03−2,ST03−3においてクロックCレベル信号がHレベルとなる。
クロックA制御信号はアンド回路13に与えられ、ステートST03−1においてクロック信号Aが制御クロック信号Aとして出力される。また、クロックCレベル信号は、セレクタ16に与えられ、ステートST03−2,ST03−3の2サイクル期間に渡ってHレベルの制御クロック信号Cが出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号CはFF群C23のフリップフロップに供給される。こうして、図5(a),(c)のタイミング制約tACに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、制御信号生成回路32に、図4(b)のタイミング制約tBBに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、BL,BC=1でAL,CL,AC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、制御信号生成回路32は、パルス制御データに応じて、図8のステートST04に遷移する。そして、PLLパルス制御部11は図15に示す動作を行う。
即ち、図15に示すように、ステートST04−0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、ステートST04−1において、BCKに1を代入する。次に、ステートST04−2においてもBCKを0に戻し、次のステートST04−3においてBCKに1を代入する。また、ステートST04−4においてBCKを0に戻す。これにより、図15に示すように、ステートST04−1,ST04−3においてクロックBレベル信号がHレベルとなる。
クロックBレベル信号は、セレクタ15に与えられ、ステートST04−1の1サイクル期間及びステートST04−3の1サイクル期間にHレベルの制御クロック信号Bが出力される。制御クロック信号BはFF群B22のフリップフロップに供給される。こうして、図4(b)のタイミング制約tBBに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、制御信号生成回路32に、図5(b),(a)のタイミング制約tBAに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、BL,AC=1でAL,CL,BC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、制御信号生成回路32は、パルス制御データに応じて、図8のステートST05に遷移する。そして、PLLパルス制御部11は図16に示す動作を行う。
即ち、図16に示すように、ステートST05−0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、ステートST05−1において、BCKに1を代入する。次に、ステートST05−2においてもBCKを0に戻し、AENに1を代入する。これにより、図16に示すように、ステートST05−1においてクロックBレベル信号がHレベルとなり、ステートST05−2においてクロックA制御信号がHレベルとなる。
クロックBレベル信号は、セレクタ15に与えられ、ステートST05−1の1サイクル期間に渡ってHレベルの制御クロック信号Bが出力される。クロックA制御信号はアンド回路13に与えられ、ステートST05−2においてクロック信号Aが制御クロック信号Aとして出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号BはFF群B22のフリップフロップに供給される。こうして、図5(b),(a)のタイミング制約tBAに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、制御信号生成回路32に、図5(b),(c)のタイミング制約tBCに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、BL,CC=1でAL,CL,AC,BC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、制御信号生成回路32は、パルス制御データに応じて、図8のステートST06に遷移する。そして、PLLパルス制御部11は図17に示す動作を行う。
即ち、図17に示すように、ステートST06−0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、ステートST06−1において、BCKに1を代入する。次に、ステートST06−2においてもBCKを0に戻す。次に、ステートST06−3において、CCKに1を代入する。更に、次のステートST06−4において、CCKに継続して1を代入する。これにより、図17に示すように、ステートST06−1においてクロックBレベル信号がHレベルとなり、ステートST06−3,ST06−4においてクロックCレベル信号がHレベルとなる。
クロックBレベル信号は、セレクタ15に与えられ、ステートST06−1の1サイクル期間に渡ってHレベルの制御クロック信号Bが出力される。また、クロックCレベル信号は、セレクタ16に与えられ、ステートST06−3,ST06−4の2サイクル期間に渡ってHレベルの制御クロック信号Cが出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号CはFF群C23のフリップフロップに供給される。こうして、図5(b),(c)のタイミング制約tBCに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、また、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、制御信号生成回路32に、図4(c)のタイミング制約tCCに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、CL,CC=1でAL,BL,AC,BC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、制御信号生成回路32は、パルス制御データに応じて、図8のステートST07に遷移する。そして、PLLパルス制御部11は図18に示す動作を行う。
即ち、図18に示すように、ステートST07−0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、ステートST07−1において、CCKに1を代入する。次に、ステートST07−2においてもCCKに継続して1を代入する。更に、ステートST07−3,ST07−4でCCKを0に戻した後、ステートST07−5,ST07−6でCCKに1を代入する。これにより、図18に示すように、ステートST07−1,ST07−2においてクロックCレベル信号が継続してHレベルとなると共に、ステートST07−5,ST07−6においてクロックCレベル信号が継続してHレベルとなる。
クロックCレベル信号は、セレクタ16に与えられ、ステートST07−1,ST07−2の2サイクル期間に渡ってHレベルの制御クロック信号が出力され、更に、ステートST07−5,ST07−6の2サイクル期間に渡ってHレベルの制御クロック信号が出力される。こうして、図4(c)のタイミング制約tCCに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、制御信号生成回路32に、図5(c),(a)のタイミング制約tCAに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、CL,AC=1でAL,BL,BC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、制御信号生成回路32は、パルス制御データに応じて、図8のステートST08に遷移する。そして、PLLパルス制御部11は図19に示す動作を行う。
即ち、図19に示すように、ステートST08−0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、ステートST08−1において、CCKに1を代入する。次に、ステートST08−2においてもCCKに継続して1を代入すると共に、AENに1を代入する。これにより、図19に示すように、ステートST08−1,ST08−2においてクロックCレベル信号がHレベルとなると共に、ステートST08−2においてはクロックA制御信号もHレベルとなる。
クロックCレベル信号は、セレクタ16に与えられ、ステートST08−1,ST08−2の2サイクル期間に渡ってHレベルの制御クロック信号Cが出力される。また、クロックA制御信号はアンド回路13に与えられ、ステートST08−2においてクロック信号Aが制御クロック信号Aとして出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号CはFF群C23のフリップフロップに供給される。こうして、図5(c),(a)のタイミング制約tCAに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、制御信号生成回路32に、図6(c),(b)のタイミング制約tCBに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、CL,BC=1でAL,BL,AC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、制御信号生成回路32は、パルス制御データに応じて、図8のステートST09に遷移する。そして、PLLパルス制御部11は図20に示す動作を行う。
即ち、図20に示すように、ステートST09−0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、ステートST09−1において、CCKに1を代入する。更に、ステートST09−2においてもCCKに継続して1を代入する。次に、ステートST09−3においてCCKを0に戻すと共に、BCKに1を代入する。これにより、図20に示すように、ステートST09−1,ST09−2においてクロックCレベル信号がHレベルとなり、ステートST09−3においてクロックBレベル信号がHレベルとなる。
クロックCレベル信号は、セレクタ16に与えられ、ステートST09−1,ST09−2の2サイクル期間に渡ってHレベルの制御クロック信号Cが出力される。また、クロックBレベル信号は、セレクタ15に与えられ、ステートST09−3の1サイクル期間に渡ってHレベルの制御クロック信号Bが出力される。制御クロック信号BはFF群B22のフリップフロップに供給され、制御クロック信号CはFF群C23のフリップフロップに供給される。こうして、図6(c),(b)のタイミング制約tCBに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
このように、本実施の形態においては、周波数が異なる複数のクロックを用いる半導体集積回路装置における遅延故障テストにおいて、周波数が最も高いクロック以外のクロックに対応したラウンチクロック又はキャプチャクロックを発生させる場合には、本来のクロック幅期間だけHレベル又はLレベルを示す信号を発生させることで、適正なタイミング制約で本来と同等のパルス幅のラウンチクロック又はキャプチャクロックを発生させることができる。これにより、遅延故障テストの確実性を向上させることができる。
<第2の実施の形態>
図21は本発明の第2の実施の形態において採用されるサイクル制御部の構成を示すブロック図である。図21において図7と同一の構成要素には同一符号を付して説明を省略する。なお、本実施の形態はサイクル制御部以外の構成は図1と同様である。
図21は本発明の第2の実施の形態において採用されるサイクル制御部の構成を示すブロック図である。図21において図7と同一の構成要素には同一符号を付して説明を省略する。なお、本実施の形態はサイクル制御部以外の構成は図1と同様である。
第1の実施の形態の説明ではサイクル制御部をステートマシンで構成した例について説明した。本実施の形態はステートマシンではなく変換テーブルを用いたサイクル制御部40を採用する。
サイクル制御部40はカウンタ41、パターン変換テーブル42、及びフリップフロップ34乃至36によって構成されている。カウンタ41にはスキャンイネーブル入力が入力される。カウンタ41は、スキャンイネーブル入力がLレベルになってファンクション動作が指示されると、クロック信号Aをカウントすることで、一連の各サイクルのタイミングをパターン変換テーブルに通知するようになっている。
パターン変換テーブル42には、カウンタ41のカウント出力が何番目のサイクルであるかを示す信号として入力されると共に、クロック信号A及びパルス制御データも入力される。パターン変換テーブル42は、各サイクル毎にパルス制御データに基づいて、クロックA制御信号(AEN)、クロックBレベル信号(BCK)及びクロックCレベル信号(CCK)を出力する。これらのクロックA制御信号(AEN)、クロックBレベル信号(BCK)及びクロックCレベル信号(CCK)は、夫々フリップフロップ34乃至36に与えられ、クロック信号Aに同期化されて出力される。
図22乃至図30はパターン変換テーブル42内の各テーブルの内容を示す説明図である。図22乃至図30において、SEはスキャンイネーブル入力を示し、AL〜CL及びAC〜CCは第1の実施の形態と同様のパルス制御データを示している。即ち、AL〜CLは、夫々制御クロック信号A〜Cをラウンチクロックとして出力するためのデータを示し、AC〜CCは、夫々制御クロック信号A〜Cをキャプチャクロックとして出力するためのデータを示している。
図22乃至図30は夫々上述したタイミング制約tAA、tAB,tAC,tBB,tBA,tBC,tCC,tCA,tCBに対応したラウンチクロック及びキャプチャクロックを発生させるためのものである。
次に、このように構成された実施の形態の動作について説明する。
本実施の形態においても図4乃至図6に示す上述した9つのタイミング制約tAA〜tCCを満足するラウンチクロック及びキャプチャクロックを出力する場合の例で説明する。各タイミング制約tAA〜tCCは夫々図22乃至図30に示すテーブルによって実現される。
ファンクション動作時には、スキャンイネーブル入力はLレベルとなる。スキャンイネーブル入力がLレベルになると(SE=0)、カウンタ41はクロック信号Aをカウントして、各サイクル期間をパターン変換テーブル42に指示する。サイクル制御部40のパターン変換テーブル42には、カウンタ41からのサイクル期間を示す信号とパルス制御データとが入力れる。
いま、パターン変換テーブル42に、図4(a)のタイミング制約tAAに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、AL,AC=1でBL,CL,BC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、パターン変換テーブル42は、パルス制御データに応じて、図22の変換テーブルを参照する。
即ち、図22に示すように、サイクル0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、サイクル1において、AENに1を代入する。また、サイクル2においても継続してAENを1にする。即ちこの場合には、図12のタイミングチャートと同様の動作となり、クロックA制御信号はサイクル1,2の2サイクル期間Hレベルとなる。
クロックA制御信号はアンド回路13に与えられ、サイクル1,2の2サイクル期間にクロック信号Aがセレクタ14に供給される。こうして、セレクタ14からは、2サイクル期間にわたり、クロック信号Aが制御クロック信号Aとして連続的に出力される。こうして、図4(a)のタイミング制約tAAに対応したラウンチクロック及びキャプチャクロックをFF群21に与えることができる。
次に、パターン変換テーブル42に、図5(a),(b)のタイミング制約tABに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、AL,BC=1でBL,CL,AC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、パターン変換テーブル42は、パルス制御データに応じて、図23の変換テーブルを参照する。
即ち、図23に示すように、サイクル0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、サイクル1において、AENに1を代入する。次に、サイクル2においてAENを0に戻し、BCKに1を代入する。即ちこの場合には、図13のタイミングチャートと同様の動作となり、サイクル1においてクロックA制御信号がHレベルとなり、サイクル2においてクロックBレベル信号がHレベルとなる。
クロックA制御信号はアンド回路13に与えられ、サイクル1においてクロック信号Aが制御クロック信号Aとして出力される。また、クロックBレベル信号は、セレクタ15に与えられ、サイクル2の1サイクル期間に渡ってHレベルの制御クロック信号Bが出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号BはFF群B22のフリップフロップに供給される。こうして、図5(a),(b)のタイミング制約tABに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、パターン変換テーブル42に、図5(a),(c)のタイミング制約tACに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、AL,CC=1でBL,CL,AC,BC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、パターン変換テーブル42は、パルス制御データに応じて、図24の変換テーブルを参照する。
即ち、図24に示すように、サイクル0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、サイクル1において、AENに1を代入する。次に、サイクル2においてAENを0に戻し、CCKに1を代入する。更に、次のサイクル3において、CCKに継続して1を代入する。即ちこの場合には、図14のタイミングチャートと同様の動作となり、サイクル1においてクロックA制御信号がHレベルとなり、サイクル2,3においてクロックCレベル信号がHレベルとなる。
クロックA制御信号はアンド回路13に与えられ、サイクル1においてクロック信号Aが制御クロック信号Aとして出力される。また、クロックCレベル信号は、セレクタ16に与えられ、サイクル2,3の2サイクル期間に渡ってHレベルの制御クロック信号Cが出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号CはFF群C23のフリップフロップに供給される。こうして、図5(a),(c)のタイミング制約tACに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、パターン変換テーブル42に、図4(b)のタイミング制約tBBに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、BL,BC=1でAL,CL,AC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、パターン変換テーブル42は、パルス制御データに応じて、図25の変換テーブルを参照する。
即ち、図25に示すように、サイクル0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、サイクル1において、BCKに1を代入する。次に、サイクル2においてもBCKを0に戻し、次のサイクル3においてBCKに1を代入する。また、サイクル4においてBCKを0に戻す。即ちこの場合には、図15のタイミングチャートと同様の動作となり、サイクル1,3においてクロックBレベル信号がHレベルとなる。
クロックBレベル信号は、セレクタ15に与えられ、サイクル1の1サイクル期間及びサイクル3の1サイクル期間にHレベルの制御クロック信号Bが出力される。制御クロック信号BはFF群B22のフリップフロップに供給される。こうして、図4(b)のタイミング制約tBBに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、パターン変換テーブル42に、図5(b),(a)のタイミング制約tBAに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、BL,AC=1でAL,CL,BC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、パターン変換テーブル42は、パルス制御データに応じて、図26の変換テーブルを参照する。
即ち、図26に示すように、サイクル0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、サイクル1において、BCKに1を代入する。次に、サイクル2においてもBCKを0に戻し、AENに1を代入する。即ちこの場合には、図16のタイミングチャートと同様の動作となり、サイクル1においてクロックBレベル信号がHレベルとなり、サイクル2においてクロックA制御信号がHレベルとなる。
クロックBレベル信号は、セレクタ15に与えられ、サイクル1の1サイクル期間に渡ってHレベルの制御クロック信号Bが出力される。クロックA制御信号はアンド回路13に与えられ、サイクル2においてクロック信号Aが制御クロック信号Aとして出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号BはFF群B22のフリップフロップに供給される。こうして、図5(b),(a)のタイミング制約tBAに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、パターン変換テーブル42に、図5(b),(c)のタイミング制約tBCに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、BL,CC=1でAL,CL,AC,BC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、パターン変換テーブル42は、パルス制御データに応じて、図27の変換テーブルを参照する。
即ち、図27に示すように、サイクル0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、サイクル1において、BCKに1を代入する。次に、サイクル2においてもBCKを0に戻し、CCKに1を代入する。更に、次のサイクル3において、CCKに継続して1を代入する。即ちこの場合には、図17のタイミングチャートと同様の動作となり、サイクル1においてクロックBレベル信号がHレベルとなり、サイクル3,4においてクロックCレベル信号がHレベルとなる。
クロックBレベル信号は、セレクタ15に与えられ、サイクル1の1サイクル期間に渡ってHレベルの制御クロック信号Bが出力される。また、クロックCレベル信号は、セレクタ16に与えられ、サイクル3,4の2サイクル期間に渡ってHレベルの制御クロック信号Cが出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号CはFF群C23のフリップフロップに供給される。こうして、図5(b),(c)のタイミング制約tBCに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、また、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、パターン変換テーブル42に、図4(c)のタイミング制約tCCに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、CL,CC=1でAL,BL,AC,BC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、パターン変換テーブル42は、パルス制御データに応じて、図28の変換テーブルを参照する。
即ち、図28に示すように、サイクル0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、サイクル1において、CCKに1を代入する。次に、サイクル2においてもCCKに継続して1を代入する。更に、サイクル3,4でCCKを0に戻した後、サイクル5,6でCCKに1を代入する。即ちこの場合には、図18のタイミングチャートと同様の動作となり、サイクル1,2においてクロックCレベル信号が継続してHレベルとなると共に、サイクル5,6においてクロックCレベル信号が継続してHレベルとなる。
クロックCレベル信号は、セレクタ16に与えられ、サイクル1,2の2サイクル期間に渡ってHレベルの制御クロック信号が出力され、更に、サイクル5,6の2サイクル期間に渡ってHレベルの制御クロック信号が出力される。こうして、図4(c)のタイミング制約tCCに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、パターン変換テーブル42に、図5(c),(a)のタイミング制約tCAに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、CL,AC=1でAL,BL,BC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、パターン変換テーブル42は、パルス制御データに応じて、図29の変換テーブルを参照する。
即ち、図29に示すように、サイクル0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、サイクル1において、CCKに1を代入する。次に、サイクル2においてもCCKに継続して1を代入すると共に、AENに1を代入する。即ちこの場合には、図19のタイミングチャートと同様の動作となり、サイクル1,2においてクロックCレベル信号がHレベルとなると共に、サイクル2においてはクロックA制御信号もHレベルとなる。
クロックCレベル信号は、セレクタ16に与えられ、サイクル1,2の2サイクル期間に渡ってHレベルの制御クロック信号Cが出力される。また、クロックA制御信号はアンド回路13に与えられ、サイクル2においてクロック信号Aが制御クロック信号Aとして出力される。制御クロック信号AはFF群A21のフリップフロップに供給され、制御クロック信号CはFF群C23のフリップフロップに供給される。こうして、図5(c),(a)のタイミング制約tCAに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
次に、パターン変換テーブル42に、図6(c),(b)のタイミング制約tCBに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、CL,BC=1でAL,BL,AC,CC=0である。この場合には、スキャンイネーブル入力がLレベルになる(SE=0)と、パターン変換テーブル42は、パルス制御データに応じて、図30の変換テーブルを参照する。
即ち、図30に示すように、サイクル0において、AEN(クロックA制御信号)、BCK(クロックBレベル信号)、CCK(クロックCレベル信号)を0に初期化し、サイクル1において、CCKに1を代入する。更に、サイクル2においてもCCKに継続して1を代入する。次に、サイクル3においてCCKを0に戻すと共に、BCKに1を代入する。即ちこの場合には、図20のタイミングチャートと同様の動作となり、サイクル1,2においてクロックCレベル信号がHレベルとなり、サイクル3においてクロックBレベル信号がHレベルとなる。
クロックCレベル信号は、セレクタ16に与えられ、サイクル1,2の2サイクル期間に渡ってHレベルの制御クロック信号Cが出力される。また、クロックBレベル信号は、セレクタ15に与えられ、サイクル3の1サイクル期間に渡ってHレベルの制御クロック信号Bが出力される。制御クロック信号BはFF群B22のフリップフロップに供給され、制御クロック信号CはFF群C23のフリップフロップに供給される。こうして、図6(c),(b)のタイミング制約tCBに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
この場合には、制御クロック信号Bは、本来のクロック信号Bのパルス幅を有しており、制御クロック信号Cは、本来のクロック信号Cのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
このように、本実施の形態においては、第1の実施の形態と同様の効果を有する。
なお、上記各実施の形態においては、1つのラウンチクロックに対して1つのキャプチャクロックを生成する例を説明したが、1つ以上のラウンチクロックに対して1つ以上のキャプチャクロックを生成する場合にも同様に適用可能である。
また、上記各実施の形態においては、スキャンチェイン及びスキャンテストを可能にする回路を具備する半導体集積回路装置の例について説明したが、各群のフリップフロップにデータをセットするための適宜の入力手段を設ければ、スキャンチェイン及びスキャンテストを可能にする回路を設けていない半導体集積回路装置にも適用可能である。
また、本発明は上述した9パターンのタイミング制約に限定されるものではなく、種々のタイミング制約に応じたラウンチクロック及びキャプチャクロックを生成することができることは明らかである。
1…PLL回路、11…PLLパルス制御部、12…サイクル制御部、13…アンド回路、14〜16…セレクタ、21…FF群A、22…FF群B、23…FF群C。
Claims (5)
- 相互に異なる周波数のクロックで動作する複数のフリップフロップと、
前記フリップフロップに供給するクロックの元となる発振出力を出力する発振器と、
遅延故障テスト用の制御データを記憶する記憶部と、
前記発振器の発振出力を用いて、前記遅延故障テストに用いるラウンチクロック及びキャプチャクロックを前記制御データに基づいて生成するものであって、前記フリップフロップを動作させるクロックの周期に対応したパルス幅の前記ラウンチクロック及びキャプチャクロックを生成するパルス制御部と
を具備したことを特徴とする半導体集積回路装置。 - 前記複数のフリップフロップは、スキャンテスト回路によって書込み及び読出しが可能であることを特徴とする請求項1に記載の半導体集積回路装置。
- 前記パルス制御部は、前記制御データによって指定されるクロックの組合せに応じて定まる最小のタイミング制約に基づくタイミングで前記ラウンチクロック及びキャプチャクロックを発生することを特徴とする請求項1に記載の半導体集積回路装置。
- 前記パルス制御部は、前記発振器の発振出力に基づくサイクル毎に前記制御データに基づいて出力レベルの状態が遷移するステートマシンを含むことを特徴とする請求項1に記載の半導体集積回路装置。
- 前記パルス制御部は、前記発振器の発振出力に基づくサイクル毎に前記制御データに基づく出力レベルを規定したテーブルを参照することで、前記ラウンチクロック及びキャプチャクロックを生成することを特徴とする請求項1に記載の半導体集積回路装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006158892A JP2007327838A (ja) | 2006-06-07 | 2006-06-07 | 半導体集積回路装置 |
US11/755,875 US20070300112A1 (en) | 2006-06-07 | 2007-05-31 | Semiconductor integrated circuit apparatus, test circuit of semiconductor integrated circuit apparatus and test method of semiconductor integrated circuit apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006158892A JP2007327838A (ja) | 2006-06-07 | 2006-06-07 | 半導体集積回路装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007327838A true JP2007327838A (ja) | 2007-12-20 |
Family
ID=38874832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006158892A Abandoned JP2007327838A (ja) | 2006-06-07 | 2006-06-07 | 半導体集積回路装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070300112A1 (ja) |
JP (1) | JP2007327838A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010038733A (ja) * | 2008-08-05 | 2010-02-18 | Toshiba Corp | 半導体集積回路 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317243A (en) * | 1991-10-03 | 1994-05-31 | Sgs-Thomson Microelectronics, Inc. | Method and apparatus for detecting velocity profiles of a spinning rotor of a polyphase DC motor |
US6467044B1 (en) * | 1999-10-20 | 2002-10-15 | International Business Machines Corporation | On-board clock-control templates for testing integrated circuits |
US6598192B1 (en) * | 2000-02-28 | 2003-07-22 | Motorola, Inc. | Method and apparatus for testing an integrated circuit |
US7007213B2 (en) * | 2001-02-15 | 2006-02-28 | Syntest Technologies, Inc. | Multiple-capture DFT system for detecting or locating crossing clock-domain faults during self-test or scan-test |
US6618462B1 (en) * | 2001-02-20 | 2003-09-09 | Globespanvirata, Inc. | Digital frequency divider |
US6589192B2 (en) * | 2001-08-27 | 2003-07-08 | King Yiu Chan | Deep tissue massage machine |
US6445228B1 (en) * | 2001-08-28 | 2002-09-03 | Xilinx, Inc. | Programmable even-number clock divider circuit with duty cycle correction and optional phase shift |
US6714057B2 (en) * | 2001-08-28 | 2004-03-30 | Xilinx, Inc. | Multi-purpose digital frequency synthesizer circuit for a programmable logic device |
US6489817B1 (en) * | 2001-09-26 | 2002-12-03 | Altera Corporation | Clock divider using positive and negative edge triggered state machines |
JP4119152B2 (ja) * | 2002-04-17 | 2008-07-16 | 株式会社ルネサステクノロジ | 半導体集積回路装置 |
US7266743B2 (en) * | 2004-09-30 | 2007-09-04 | Intel Corporation | Combinatorial at-speed scan testing |
CN101120261B (zh) * | 2004-12-13 | 2010-09-29 | 英飞凌科技股份公司 | 实速扫描测试的电路和方法 |
US7202656B1 (en) * | 2005-02-18 | 2007-04-10 | Lsi Logic Corporation | Methods and structure for improved high-speed TDF testing using on-chip PLL |
US7536617B2 (en) * | 2005-04-12 | 2009-05-19 | Cisco Technology, Inc. | Programmable in-situ delay fault test clock generator |
-
2006
- 2006-06-07 JP JP2006158892A patent/JP2007327838A/ja not_active Abandoned
-
2007
- 2007-05-31 US US11/755,875 patent/US20070300112A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20070300112A1 (en) | 2007-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8065549B2 (en) | Scan-based integrated circuit having clock frequency divider | |
US7941720B2 (en) | Scan test circuit and scan test control method | |
JP4366353B2 (ja) | 半導体集積回路及びその設計方法 | |
JP2007235908A (ja) | リング発振回路、遅延時間測定回路、テスト回路、クロック発生回路、イメージセンサ、パルス発生回路、半導体集積回路、及び、そのテスト方法 | |
JP2009270832A (ja) | 論理回路 | |
JP2002289776A (ja) | 半導体装置 | |
US9989590B2 (en) | Self-test circuit in integrated circuit, and data processing circuit | |
JP5381001B2 (ja) | 半導体集積回路及び半導体集積回路の試験方法 | |
JP2010091482A (ja) | 半導体集積回路装置及びその遅延故障テスト方法 | |
JP2007327838A (ja) | 半導体集積回路装置 | |
JP2007263756A (ja) | スキャンテスト用フリップフロップ | |
US20100033189A1 (en) | Semiconductor integrated circuit and test method using the same | |
JP2013145135A (ja) | 半導体集積回路及びそのテスト方法 | |
US8159209B2 (en) | Digital signal delay measuring circuit and digital signal delay measuring method | |
JP2009210544A (ja) | 半導体集積回路 | |
JP4295790B2 (ja) | パルス発生回路、半導体集積回路、及び、そのテスト方法 | |
JP5540740B2 (ja) | クロック生成回路、半導体集積回路およびその試験システム | |
JP2008275480A (ja) | 半導体集積回路のテスト回路、テスト方法 | |
JP2017060050A (ja) | 半導体装置、デマルチプレクサ、半導体回路、データ処理方法及び検査方法 | |
JP2008300799A (ja) | 半導体集積回路及び半導体集積回路装置 | |
JP3570944B2 (ja) | 半導体集積回路 | |
JP2004294424A (ja) | スキャンテスト制御方法、及びスキャンテスト回路 | |
JP2006275990A (ja) | 半導体装置 | |
JP2011059028A (ja) | スキャンテスト回路 | |
JP2003057307A (ja) | スキャンフリップフロップ回路およびスキャン設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090213 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20100308 |