JP2007212339A - 半導体装置及びそのテスト回路の追加方法 - Google Patents

半導体装置及びそのテスト回路の追加方法 Download PDF

Info

Publication number
JP2007212339A
JP2007212339A JP2006033835A JP2006033835A JP2007212339A JP 2007212339 A JP2007212339 A JP 2007212339A JP 2006033835 A JP2006033835 A JP 2006033835A JP 2006033835 A JP2006033835 A JP 2006033835A JP 2007212339 A JP2007212339 A JP 2007212339A
Authority
JP
Japan
Prior art keywords
clock
circuit
test
signal
clock signal
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.)
Granted
Application number
JP2006033835A
Other languages
English (en)
Other versions
JP5160039B2 (ja
Inventor
Jinichi Maehara
仁一 前原
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.)
NEC Electronics Corp
Original Assignee
NEC 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2006033835A priority Critical patent/JP5160039B2/ja
Priority to US11/700,151 priority patent/US7653852B2/en
Publication of JP2007212339A publication Critical patent/JP2007212339A/ja
Application granted granted Critical
Publication of JP5160039B2 publication Critical patent/JP5160039B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318577AC testing, e.g. current testing, burn-in
    • G01R31/31858Delay testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】従来の半導体装置では、機能テストのためのテストパターンが増加する、あるいはクロックドメイン毎に新規に端子を追加する必要があるため追加する端子が増加する問題があった。
【解決手段】本発明にかかる半導体装置は、クロック信号に基づき動作する複数の論理回路によって構成されるクロックドメインを複数有し、複数のクロックドメインのうち、制御信号に基づき選択される任意のクロックドメイン対してクロック信号を選択的に供給する制御回路41a〜41cを有するものである。
【選択図】図3

Description

本発明は半導体装置及びそのテスト手法に関し、特に半導体装置の内部回路へのクロック供給を制御するクロック制御回路を有する半導体装置及びそのテスト手法に関する。
近年、LSI(Large Scale Integration)等の集積回路は、回路の大規模化、機能の複雑化、素子の微細化が進んでいる。また、LSIの動作スピードの不良が無視できない問題となっており、スピード不良をテストするために、機能テストにおいて遅延テストを含む機能テストの実施が必須となっている。LSIに対して検査を行う従来技術が特許文献1に開示されている。
しかしながら、近年の回路規模の大きなLSIに対して、従来技術を用いた場合、機能テストを実施するために膨大なテストパターン数を生成しなければならない。あるいは、テストパターン数を削減して機能テストを行うために、多数の端子を追加しなければならない。そのため、膨大な数のテストパターンによってテストすることによるテスト時間、テストコストの増大、あるいは追加した端子によってチップ面積が増大することによるチップコストの増大が問題となっている。
従来例1として、端子数の増加を抑制するテスト手法を説明する。テスト対象となる半導体装置を図19に示す。図19に示すように、半導体装置は、外部から入力されるユーザークロックに基づき動作する外部クロックドメインと、内部で生成されるクロックを用いて動作する内部クロックドメインとを有している。また、外部クロックドメインと内部クロックドメインは、それぞれ同じクロックに基づき動作するグループに分類することができる。
従来例1では、外部クロックドメインは、周波数が10MHzのクロックで動作する外部クロックドメイン101、周波数が20MHzのクロックで動作する外部クロックドメイン102、周波数が30MHzのクロックで動作する103、104、105に分類される。また、外部クロックドメイン111〜115は、それぞれユーザークロック端子U−CLK101〜U−CLK105と、ユーザーデータ入力端子D101〜D105とが接続されている。ユーザークロック端子U−CLK101〜U−LCK105は、それぞれ外部クロックドメイン101〜105にクロックを供給する端子である。ユーザーデータ入力端子D101〜D105は、それぞれ外部クロックドメイン101〜105にデータ信号を供給する端子である。
従来例1では、内部クロックドメインは、周波数が10MHzのクロックで動作する内部クロックドメイン111、112、周波数が20MHzのクロックで動作する外部クロックドメイン113、114、115に分類される。また、内部クロックドメイン111〜115は、データパスの依存関係を有している。例えば、内部クロックドメイン111は、内部クロックドメイン113からのデータに基づき動作している。内部クロックドメイン112は、内部クロックドメイン111からのデータに基づき動作している。内部クロックドメイン113は、内部クロックドメイン115からのデータに基づき動作している。内部クロックドメイン114は、内部クロックドメイン113からのデータに基づき動作している。
上記で説明したような、半導体装置に対して機能テストは、外部クロックドメイン101〜105は、ユーザークロック端子U−CLK101〜U−CLK105を介して入力するクロック信号と、ユーザーデータ入力端子D101〜D105を介して入力するデータ信号とに基づき論理回路を動作させることで実施される。内部クロックドメイン111〜115に対する機能テストは、内部クロックドメインで用いられるスキャンクロック信号をスキャンクロック供給用端子SCKinから入力し、内部クロックドメイン111〜115をスキャンクロック信号に基づき動作させることで実施される。このようにスキャンクロック信号を内部クロックドメイン111〜115に入力するために、スキャンクロック供給用端子SCKinとセレクタとを有するDFT(Design For Test)回路を追加することが一般的に行われている。
DFT回路を追加する手順のフローチャートを図20に示す。図20に示すように、まず、DFT回路挿入前回路情報F101を入力する(ステップS101)。次に、DFT回路挿入前回路情報F101から内部クロックドメインを抽出する(ステップS102)。続いて、スキャンクロック信号SCKと内部クロック信号とを選択して、内部クロックドメインに供給するセレクタを抽出した内部クロックドメインに基づき回路情報に追加する(ステップS103)。また、DFT回路挿入前回路情報F101にスキャンクロック供給用端子SCKinを1つ追加する(ステップS104)。ステップS103、S104で追加したスキャンクロック供給用端子SCKinとセレクタとを接続する(ステップS105)。その後、生成されたDFT回路挿入後回路情報F102を出力する(ステップS106)。このフローチャートに基づき、回路情報にセレクタとスキャンクロック供給用端子SCKinとの情報を追加する。セレクタとスキャンクロック供給用端子SCKinとの情報を追加した内部クロックドメイン部分の半導体装置のブロック図を図21に示す。
図21に示すように、セレクタとスキャンクロック供給用端子SCKinとの情報を追加した半導体装置は、内部クロックドメイン111〜115のそれぞれにセレクタ121〜125が接続されている。セレクタ121〜125には、セレクタに入力される信号のうちいずれの信号を出力するかを指定するテストモード制御信号AMCが入力されている。また、セレクタ121〜125の"0"入力には対応する内部クロックが入力され、"1"入力は1つのスキャンクロック供給用端子SCKinに接続されている。
図21に示す半導体装置の内部クロックドメインに対する機能テストで用いられるテストパターンを生成する手順のフローチャートを図22に示す。図22に示すように、テストパターンの生成は、まずテストパターンを生成する対象となる内部クロックドメインが存在するかを判定する(ステップS107)。ステップS107で、テストパターンを生成する対象となる内部クロックドメインが存在する場合、その内部クロックドメインから対象となる内部クロックドメインを選択する(ステップS108)。続いて、テストパターンを生成する対象となっていない内部クロックドメインに対してテストパターンのマスク処理を行う(ステップS109)。その後、テストパターンを生成する対象となっている内部クロックドメインのテストパターンをATPG(Automatic Test Pattern Generation)によって自動生成する(ステップS110)。ATPGを実施し、テストパターンが生成されると、ステップS107に戻る。全ての内部クロックドメインに対して、それぞれテストパターンを生成するまでステップS107からS110を繰り返す。ステップS107でテストパターンを生成する対象となる内部クロックドメインが存在しないと判定されると、テストパターンの生成が終了する。
図22のフローチャートに基づいて生成されたテストパターンの一例を図23に示す。図23に示すように、テストパターンは、内部クロックドメイン111〜115のそれぞれに対応して生成されている。従来例1では、5つのパターンが生成される。ここで、それぞれのテストパターンのうち、"X"で示される値は、回路の動作を停止させるためのオフステイト値であって、例えば"Low"が設定される。このオフステイト値は、図22のフローチャートにおいてステップS109のマスク処理によって生成される。従来例1の半導体装置に対する機能テストは、図23で示すテストパターンを図示しないスキャンチェーン回路を介して内部クロックドメイン111〜115に入力して行われる。
一方、図19に示す半導体装置に対する機能テストの別の一例として、テストパターンの増加を抑制するテスト手法を説明する。このテスト手法を従来例2とする。従来例2におけるDFT回路の追加手順のフローチャートを図24に示す。
図24に示すように、従来例2では、まずDFT回路挿入前回路情報F121を入力する(ステップS121)。次に、DFT回路挿入前回路情報F121から内部クロックドメインを抽出する(ステップS122)。続いて、スキャンクロック信号SCKと内部クロック信号とを選択して、内部クロックドメインに供給するセレクタを回路情報に追加する(ステップS123)。また、DFT回路挿入前回路情報F121に複数個のスキャンクロック供給用端子SCKinを追加する(ステップS124)。ステップS123、S124で追加した複数のスキャンクロック供給用端子SCKinとセレクタとをそれぞれ接続する(ステップS125)。その後、生成されたDFT回路挿入後回路情報F122を出力する(ステップS126)。このフローチャートに基づき、回路情報にセレクタとスキャンクロック供給用端子SCKinとの情報を追加する。セレクタとスキャンクロック供給用端子SCKinとの情報を追加した半導体装置を図25に示す。
図25に示すように、従来例2においてセレクタとスキャンクロック供給用端子SCKinとの情報を追加した半導体装置は、内部クロックドメイン111〜115のそれぞれにセレクタ121〜125が接続されている。セレクタ121〜125には、セレクタに入力される信号のうちいずれの信号を出力するかを指定するテストモード制御信号AMCが入力されている。また、セレクタ121〜125の"0"入力には対応する内部クロック信号が入力され、"1"入力は対応するスキャンクロック供給用端子SCKinにそれぞれ接続されている。
図25に示す半導体装置の内部クロックドメインに対する機能テストで用いられるテストパターンを生成する手順のフローチャートを図26に示す。図26に示すように、従来例2では、まず内部クロックドメイン間のデータパス依存関係を抽出する(ステップS127)。続いて、ステップS127で抽出されたデータパス依存関係に基づき、互いに影響を及ぼさない内部クロックドメインをグループ化し、内部クロックドメイングループを抽出する(ステップS128)。
その後、テストパターンを生成する対象となる内部クロックドメイングループが存在するかを判定する(ステップS129)。ステップS129で、テストパターンを生成する対象となる内部クロックドメイングループが存在する場合、その内部クロックドメイングループから対象となる内部クロックドメイングループを選択する(ステップS130)。続いて、テストパターンを生成する対象となっていない内部クロックドメイングループに対してテストパターンのマスク処理を行う(ステップS131)。その後、テストパターンを生成する対象となっている内部クロックドメイングループのテストパターンをATPGによって自動生成する(ステップS132)。ATPGを実施し、テストパターンが生成されると、ステップS129に戻る。全ての内部クロックドメイングループに対して、それぞれテストパターンを生成するまでステップS129からS132を繰り返す。ステップS129でテストパターンを生成する対象となる内部クロックドメインが存在しないと判定されると、テストパターンの生成が終了する。
図26のフローチャートに基づいて生成されたテストパターンの一例を図27に示す。図27に示すように、テストパターンは、内部クロックドメイン間のデータパス依存関係に基づきグループ化された第1グループから第3グループに対応して3つのパターンとなっている。従来例2の半導体装置に対する機能テストは、図27で示すテストパターンを図示しないスキャンチェーン回路を介して内部クロックドメイン111〜115に入力して行われる。
特開2002−196046号公報
従来例1の半導体装置に対するテスト手法では、追加する端子数は1つであるものの、生成されるテストパターンの数が増大する。これによって、テスト時間の増加やテストコストが増大する問題がある。
また、従来例2の半導体装置に対するテスト手法では、テストパターンの数の増加は抑制できるものの、追加する端子数が増大するために、チップ面積が増大し、チップコストが増大する問題がある。
本発明にかかる半導体装置は、クロック信号に基づき動作する複数の論理回路によって構成されるクロックドメインを複数有し、複数の前記クロックドメインのうち、制御信号に基づき選択される任意の前記クロックドメイン対して前記クロック信号を選択的に供給する制御回路を有するものである。
一方、本発明にかかるテスト用回路追加方法は、コンピュータを用いて、クロック信号に基づき動作する複数の論理回路を有する複数のクロックドメインを有する半導体装置にテスト用回路を追加するテスト用回路追加方法であって、前記テスト用回路を挿入する前の第1の回路情報を入力し、クロックドメインに供給する前記クロック信号の周波数情報を示す第2の回路情報に基づき前記クロックドメインのテスト周波数情報を算出し、前記第1の回路情報に基づき前記クロックドメイン間のデータの送受信関係を示すデータパス依存関係を抽出し、前記第1の回路情報と前記テスト周波数情報とに基づき任意数のクロックドメインをグループ化した複数の第1のグループの情報を算出し、前記データパス依存関係と前記第1のグループの情報とに基づき1つの前記第1のグループ内で互いに独立して動作する前記クロックドメインをグループ化した複数の第2のグループの情報を算出し、接続される前記第1グループ内の前記第2のサブグループの数に応じた数の前記クロック信号の出力端子をそれぞれ有し、入力される前記クロック信号の供給先を前記第2グループ毎に制御する制御回路の情報を前記第1の回路情報に追加し、前記制御回路が追加された第3の回路情報を出力するものである。
本発明にかかる半導体装置は、上記テスト用回路の追加方法によって挿入された制御回路を有するものである。この制御回路は、複数のクロックドメインのうち外部から入力される制御信号に基づき選択される任意のクロックドメイン対して、外部から入力されるクロック信号を選択的に供給する。このように、複数の第1のグループのそれぞれに対応して制御回路を設けることで、異なる第1のグループに属するクロックドメインであれば、同時にテストパターンを実行して機能テストを行うことができる。従って、テスト時間を短縮することが可能である。さらに、同時に機能テストを行うことができるクロックドメインのテストパターンを合成して1つのテストパターンとして生成することが可能である。このことより、生成するテストパターンの数を削減することが可能である。
また、制御回路は、1つのクロック信号を任意のクロックドメインに選択的に供給することが可能である。これに対して、従来はクロックドメイン毎にスキャンクロック供給用端子を追加して、クロックドメインにスキャンクロック信号を供給していた。つまり、本発明の半導体装置は、機能テストのために追加する端子の数を第1のグループの数を同じにすることが可能であり、従来の半導体装置に比べて追加する第1のクロックの供給用端子の数を削減することが可能である。さらに、制御回路は、入力されるクロック信号の供給先を制御することができるため、既存の端子を利用することも可能である。これによって、さらに追加する端子数を削減することが可能である。
本発明にかかる半導体装置によれば、出荷検査のためのテストパターンの増加と端子の追加を抑制することが可能である。
実施の形態1
以下、図面を参照して本発明の実施の態様について説明する。本発明は、半導体装置の論理回路のうち内部で生成される内部クロックに基づき動作する論理回路に対して機能テストを行う場合に、内部クロックに基づき動作する論理回路に外部から供給する第1のクロック(スキャンクロック信号)を供給するテスト用回路(例えば、DFT(Design For Test)回路)を有するものである。
図1にDFT回路を追加していない実施の形態1にかかる半導体装置のブロック図を示す。図1に示す半導体装置は、複数の論理回路、ユーザーデータ入力端子D11〜D17、ユーザークロック端子U−CLK11〜U−CLK17を有している。論理回路は、供給されるクロックのうち同一のクロック信号に基づき動作する論理回路ごとにグループ化されている。ユーザーデータ入力端子D11〜D17は、外部からのデータ入力端子である。ユーザークロック端子U−CLK11〜U−CLK17は、外部からのクロック入力端子である。
また、本実施の形態では、複数の論理回路を供給されるクロック信号に基づきグループ化した外部クロックドメイン11〜17と内部クロックドメイン21〜27とを有している。外部クロックドメイン11〜17は、同じユーザークロック端子が接続される論理回路をそれぞれグループ化している。内部クロックドメイン21〜27は、内部で生成される内部クロック信号が供給される論理回路のうち同一の供給源から供給される内部クロック信号に基づき動作する論理回路をそれぞれグループ化している。本実施の形態では、外部クロックドメイン11、12は、周波数が10MHzのクロック信号に基づき動作し、外部クロックドメイン13、14、15は、周波数が20MHzのクロック信号に基づき動作し、外部クロックドメイン16、17は、周波数が30MHzのクロック信号に基づき動作している。また、内部クロックドメイン21、22は、周波数が10MHzのクロック信号に基づき動作し、内部クロックドメイン23、24、25は、周波数が20MHzのクロック信号に基づき動作し、内部クロックドメイン26、27は、周波数が30MHzのクロック信号に基づき動作している。
ここで、外部クロックドメイン11〜17に属する論理回路は、それぞれユーザーデータ入力端子D11〜D17からデータが入力される。内部クロックドメイン21〜27に属する論理回路は、それぞれ他の内部クロックドメインに属する論理回路、あるいは図示しない内部回路からデータが入力されている。ここで、一方のクロックドメインが、他方のクロックドメインから入力されるデータ基づき動作する関係をデータパス依存関係と称する。本実施の形態においては、内部クロックドメイン22は、内部クロックドメイン21とデータパス依存関係を有し、内部クロックドメイン24は、内部クロックドメイン23とデータパス依存関係を有し、内部クロックドメイン25は、内部クロックドメイン26とデータパス依存関係を有し、内部クロックドメイン27は、内部クロックドメイン26とデータパス依存関係を有している。
本発明は、図1に示す半導体装置に対して、DFT回路を追加することで、内部クロックドメインに属する論理回路の機能テストを行うものである。実施の形態1にかかるDFT回路の追加手順のフローチャートを図2に示す。
図2に示すフローチャートは、例えばコンピュータのような装置によって実行される。実施の形態1にかかるDFT回路の追加手順は、まず図1に示す半導体装置の論理回路とその接続情報が記述された第1の回路情報(例えば、DFT回路挿入前回路情報F1)を入力する(ステップS1)。続いて、DFT回路挿入前回路情報F1に基づき内部クロックドメインを抽出する(ステップS2)。ステップS2で抽出された内部クロックドメインの情報に基づき、スキャンクロック信号供給用のセレクタをDFT回路挿入前回路情報F1に追加する(ステップS3)。
次に、機能テストで内部クロックドメインのそれぞれに供給するクロック周波数の情報である第2の回路情報(例えば、テスト周波数情報F2)を入力する(ステップS4)。ステップS4で入力されたテスト周波数情報F2は、テスト周波数記憶領域M1に記憶される。また、ステップS2で抽出された内部クロックドメイン間のデータパス依存関係を抽出し、その情報をデータパス依存関係記憶領域M2に記憶する(ステップS5)。さらに、ステップS2で抽出された内部クロックドメインの情報とテスト周波数記憶領域M1の情報とに基づき同一の周波数のクロックに基づいて機能テストを行う内部クロックドメインをグループ化した第1のグループ(例えば、周波数グループ)の情報を算出する(第1のステップ、例えばステップS6)。周波数グループ情報は、周波数グループ記憶領域M3に記憶される。
続いて、データパス依存関係記憶領域M2の情報と周波数グループ記憶領域M3の情報とに基づいて、同一の周波数グループに属する内部クロックドメインのうち互いに独立して動作する内部クロックドメインをグループ化した第2のグループ(例えば、周波数サブサブグループ)の情報を算出する(第2のステップ、例えばステップS7)。つまり、周波数サブグループは、同一の周波数グループに属する内部クロックドメインのうち互いにデータパス依存関係を有さない内部クロックドメインをグループ化したものである。ステップS7で算出された周波数サブグループ情報は、周波数サブグループ記憶領域M4に記憶される。
周波数グループ記憶領域M3の情報と周波数サブグループ記憶領域M4の情報とに基づき機能テストで用いるスキャンクロック信号を制御する制御回路と、スキャンクロック信号を供給するスキャンクロック供給用端子SCKinとをDFT回路挿入前回路情報F1に追加する(制御回路追加ステップ、例えばステップS8)。例えば、制御回路は周波数グループの数と同数を追加し、追加された制御回路と同数のスキャンクロック供給用端子SCKinを追加する。
周波数グループ記憶領域M3の情報、周波数サブグループ記憶領域M4の情報、追加された制御回路とスキャンクロック供給用端子SCKinとセレクタとの情報に基づき、スキャンクロック供給用端子SCKin、制御回路、セレクタ、内部クロックドメインをそれぞれ接続する(ステップS9)。ステップS9によって、スキャンクロック供給用端子SCKinと制御回路とセレクタとを有するDFT回路が追加された回路情報が生成される。この回路情報は、第3の回路情報(例えば、DFT回路挿入後回路情報F3)として出力される(ステップS10)。
図2に示すフローチャートに基づきDFT回路を追加した図1の半導体装置のブロック図を図3に示す。なお、図3に示す半導体装置のブロック図は、簡単化のため、外部クロックドメインと外部クロックドメインに接続されるユーザーデータ入力端子及びユーザークロック端子を図示していない。
図3を参照して、DFT回路を追加した半導体装置について説明する。図3に示すように、内部クロックドメイン21〜27は、データパス依存関係とテスト周波数に基づきグループ化されている。本実施の形態では、テスト周波数に基づき、第1の周波数グループFG1に内部クロックドメイン21、22が属し、第2の周波数グループFG2に内部クロックドメイン23、24、25が属し、第3の周波数グループFG3に内部クロックドメイン26、27が属している。また、データパス依存関係に基づき、第1の周波数グループFG1に属する内部クロックドメイン21は、周波数サブグループFSG11に分類され、内部クロックドメイン22は、周波数サブグループFSG12に分類される。第2の周波数グループFG2に属する内部クロックドメイン23は、周波数サブグループFSG21に分類され、内部クロックドメイン24、25は、周波数サブグループFSG22に分類される。第3の周波数グループFG3に属する内部クロックドメイン26は、周波数サブグループFSG31に分類され、内部クロックドメイン27は、周波数サブグループFSG32に分類される。
内部クロックドメイン21〜27には、それぞれセレクタ31〜37が接続されている。セレクタ31〜37は、それぞれ"1"入力端子と"0"入力端子を有し、外部から入力されるテストモード制御信号AMCに応じていずれかの入力端子に入力される信号を出力する。例えば、テストモード制御信号AMCが"1"である場合、"1"入力端子に入力される信号を出力し、テストモード制御信号AMCが"0"である場合、"0"入力端子に入力される信号を出力する。また、セレクタ31〜37は、それぞれ"1"入力端子に対応する制御回路からスキャンクロック信号が供給され、"0"入力端子に内部クロック信号が供給される。
制御回路41a〜41cは、それぞれ第1の周波数グループから第3の周波数グループに対応して配置される。また、制御回路41a〜41cは、それぞれスキャンクロック供給用端子SCKinと、テスト制御信号(例えば、スキャンモード制御信号SMC)を入力する制御端子と、選択信号(例えば、周波数サブグループ選択信号FreqSubCTL)を入力する制御端子とが接続され、スキャンクロック出力端子SCK〜SCK(nは、対応する周波数グループ内の周波数サブグループの数)を有している。
本実施の形態における制御回路とセレクタとの接続について説明する。制御回路41aのスキャンクロック出力端子SCKは、セレクタ31を介して内部クロックドメイン21にスキャンクロック信号を供給する。制御回路41aのスキャンクロック出力端子SCKは、セレクタ32を介して内部クロックドメイン22にスキャンクロック信号を供給する。制御回路41bのスキャンクロック出力端子SCKは、セレクタ33を介して内部クロックドメイン23にスキャンクロック信号を供給する。制御回路41bのスキャンクロック出力端子SCKは、セレクタ34を介して内部クロックドメイン24にスキャンクロック信号を供給し、さらにセレクタ35を介して内部クロックドメイン25にスキャンクロック信号を供給する。制御回路41cのスキャンクロック出力端子SCKは、セレクタ36を介して内部クロックドメイン26にスキャンクロック信号を供給する。制御回路41bのスキャンクロック出力端子SCKは、セレクタ37を介して内部クロックドメイン27にスキャンクロック信号を供給する。
上記説明の制御回路41a〜41cについて詳細に説明する。ここで、制御回路41a〜41cは、それぞれ実質的に同じものであるので、制御回路41a〜41cの一例として制御回路41として説明する。まず、本実施の形態の制御回路41に要求される機能を示す表を図4に示す。図4に示すように、制御回路41の機能には、IN1、IN2、IN3n(nは、テスト制御信号の種類の数)、SCKn(nは、対応する周波数グループ内の周波数サブグループの数)、Block_A、Block_B、Func1、Func2がある。機能IN1は、スキャンクロック信号の入力端子の機能である。機能IN2は、周波数サブグループ選択信号FreqSubCTL等の選択信号を入力する入力端子の機能である。機能IN3nは、スキャンモード制御信号SMCやテストモード制御信号AMC等のテスト制御信号を入力する入力端子の機能である。機能SCKnは、対応する周波数グループ内の周波数サブグループ毎にスキャンクロック信号を出力する出力端子の機能である。機能Block_Aは、周波数サブグループ選択信号FreqSubCTLをデコードする機能である。機能Block_Bは、スキャンクロック信号を制御する機能である。機能Func1は、周波数サブグループ選択信号FreqSubCTLに基づき選択された周波数サブグループにのみスキャンクロック信号を出力し、選択されなかった周波数サブグループにはオフステイト値"X"を出力する機能である。ここで、オフステイト値とは、信号が供給されるブロックを停止させる値であって、本実施の形態では"X"によって表される。機能Func2は、テスト制御信号に基づき、機能テスト(例えば、スキャンテスト)時にデータをシフトさせるシフトサイクルと機能テスト時にデータをキャプチャするサイクルとユーザーモードにおけるクロック信号との制御を行う機能である。なお、機能Func2の制御を行う信号の制御論理は実施例ごとに異なる。
次に、制御回路41の回路図を図5に示す。制御回路41は、入力端子IN1、IN2、IN3、デコーダブロックBlock_A1、スキャンクロック制御ブロックBlock_B2、スキャンクロック出力端子SCK、SCKを有している。入力端子IN1は、機能IN1に相当しており、スキャンクロック供給用端子SCKinが接続され、スキャンクロック信号が入力されている。入力端子IN2は、機能IN2に相当しており、周波数サブグループ選択信号FreqSubCTLを入力する制御端子が接続され周波数サブグループ選択信号FreqSubCTLが入力されている。入力端子IN3は、機能IN3nに相当しており、スキャンモード制御信号SMCを入力する制御端子が接続されスキャンモード制御信号SMCが入力されている。
デコーダブロックBlock_A1は、機能Block_Aに相当しており、インバータ411を有している。スキャンクロック制御ブロックBlock_B1は、機能Block_Bに相当しており、AND回路412、413、セレクタ414、415を有している。
AND回路412の一方の入力端子には、スキャンクロック信号が入力されている。AND回路412の他方の入力端子には、インバータ411の出力が接続されている。AND回路412の出力は、セレクタ414の"0"入力端子に接続されている。セレクタ414の"1"入力端子には、スキャンクロック信号が入力されている。AND回路413の一方の端子には、スキャンクロック信号が入力されている。AND回路413の他方の端子にはデコーダブロックBlock_A1を介して周波数サブグループ選択信号FreqSubCTLが入力されている。AND回路413の出力はセレクタ415の"0"入力端子に接続さている。セレクタ415の"1"入力端子には、スキャンクロック信号が入力されている。セレクタ414、415は、それぞれ入力端子IN3より入力されるスキャンモード制御信号SMCに基づき、"1"入力端子と"0"入力端子とに入力される信号のいずれか一方の信号を出力する。また、セレクタ414の出力は、スキャンクロック出力端子SCKに接続され、セレクタ415の出力は、スキャンクロック出力端子SCKに接続されている。
周波数サブグループ選択信号FreqSubCTLとスキャンモード制御信号SMCとの状態と制御回路41の出力信号の関係を図6に示し、図6を参照して制御回路41の動作について説明する。図6に示すように、制御回路41は、スキャンモード制御信号SMCが"Low"(例えば、接地電位)である場合、周波数サブグループ選択信号FreqSubCTLが"Low"であれば、スキャンクロック出力端子SCKからスキャンクロック信号SCKを出力し、スキャンクロック出力端子SCKからオフステイト値"X"を出力する。また、周波数サブグループ選択信号FreqSubCTLが"High"(例えば、電源電位)であれば、スキャンクロック出力端子SCKからスキャンクロック信号SCKを出力し、スキャンクロック出力端子SCKからオフステイト値"X"を出力する。一方、スキャンモード制御信号SMCが"High"である場合、周波数サブグループ選択信号FreqSubCTLの値に関わらず、スキャンクロック出力端子SCK及びスキャンクロック出力端子SCKからスキャンクロック信号SCKを出力する。
つまり、制御回路41は、周波数サブグループ選択信号FreqSubCTLの値によってスキャンクロック信号を供給する周波数サブグループを選択することで機能Func1を実現している。また、スキャンモード制御信号SMCの値によってスキャンクロック信号を制御することで機能Func2を実現している。
図3に示すDFT回路を追加した半導体装置に対するテストパターンの生成の手順のフローチャートを図7に示す。図7を参照してテストパターンの生成手順について説明する。テストパターンの生成は、例えばコンピュータを用いてATPG(Automatic Test Pattern Generation)処理を実行することで行われる。図7に示すように、まずDFT回路挿入後回路情報F3を入力し、回路情報を取得する(ステップS11)。続いて、回路情報からの故障モードを検証し、検出する対象となる故障モード(検出対象故障モード)を抽出する(ステップS12)。また、抽出した検出対象故障モードが適用される周波数サブグループを抽出する(ステップS13)。抽出した周波数サブグループに供給するクロック信号の設定を行う(ステップS14)。ステップS12〜S14で得られた情報からテストパターンを自動生成するATPG処理を実行する(ステップS15)。その後、未処理の故障モードが存在するかを判断する(ステップS16)。未処理の故障モードが存在する場合は、ステップS12に戻り、処理を繰り返す。未処理の故障モードが存在しない場合は、処理を終了する。なお、図示しないが、生成されたパターンは、短いテストパターンとなるように合成・圧縮処理される。
図7に示すフローチャートに従って生成されるテストパターンの一例を図8に示す。図8に示すように、生成されたパターンは、例えば周波数サブグループFSG11、FSG21、FSG31を含む第1の周波数テストグループ用パターンと、周波数サブグループFSG12、FSG22、FSG32を含む第1の周波数テストグループ用パターンとの2種類となる。なお、それぞれのテストグループ用パターンにおいて、テストを行わない周波数サブグループに対するテストパターンにはオフステイト値"X"が挿入されている。
図8に示すテストパターンを図示しないスキャンパターン回路に与え、制御回路41a、41b、41cを介してスキャンクロック信号を内部回路に与えることで内部クロックドメインに対する機能テストを行う。例えば、第1のテストグループ用パターンを用いた機能テストを行う場合は、制御回路41a、41b、41cのスキャンクロック出力端子SCKからそれぞれ対応する周波数のスキャンクロック信号を出力する。これによって、周波数サブグループFSG11、FSG21、FSG31に属する内部クロックドメインが動作し、機能テストが行われる。また、第2のテストグループ用パターンを用いた機能テストを行う場合は、制御回路41a、41b、41cのスキャンクロック出力端子SCKからそれぞれ対応する周波数のスキャンクロック信号を出力する。これによって、周波数サブグループFSG12、FSG22、FSG32に属する内部クロックドメインが動作し、機能テストが行われる。
上記説明より、実施の形態によれば、DFT回路を挿入する場合に、テストする内部クロックドメインのテスト周波数に基づき周波数グループを抽出し、データパス依存関係に基づき周波数グループ内から周波数サブグループを抽出する。そして、周波数グループに基づき制御回路を回路情報に追加し、制御回路のスキャンクロック出力端子SCKの数を周波数サブグループに基づいて決定する。これによって、テスト周波数が異なり、互いにデータパス依存関係を有さない内部クロックドメイン同時にテストするテストパターンを生成と実行をすることが可能である。
例えば、従来例1では内部クロックドメインが7つある場合には7つの内部クロックドメインそれぞれにテストパターンを生成する必要があった。これに対し、実施の形態1にかかる半導体装置では、7つの内部クロックドメインをデータパス依存関係に基づきグループ化した周波数サブグループを抽出することで、2つのテストパターンを生成するだけでよい。これによって、実施の形態1の半導体装置は、従来例1の半導体装置に比べテスト時間を削減することが可能である。
また、制御回路に供給される周波数サブグループ選択信号FreqSubCTLとスキャンモード制御信号SMCとによって内部クロックドメインに供給するスキャンクロック信号を制御できるため、内部クロックドメインごとにスキャンクロック供給用の端子を追加する必要がない。実施の形態1にかかる半導体装置では、7つの内部クロックドメインに対しスキャンクロック供給用の端子を3つと、制御用の端子を2つの合計5つの端子を追加している。これに対し、従来例2の半導体装置では、7つの内部クロックドメインに対し、7つのスキャンクロック供給用端子を追加しなければならない。つまり、実施の形態1にかかる半導体装置によれば、追加する端子を従来例2の半導体装置よりも削減し、チップ面積を削減することが可能である。
機能テストのために追加する端子が増加する影響は、内部クロックドメインの数が膨大であれば更に大きくなる。例えば、内部クロックドメインの数が100個あり、テスト周波数が6種類であった場合、従来例2の半導体装置では100個のスキャンクロック供給用端子を追加しなければならないのに対し、実施の形態1の半導体装置では、6つのクロック供給用端子と、2つの制御用端子との合計8つの端子を追加するのみでよい。
実施の形態2
実施の形態2にかかる半導体装置は、実施の形態1にかかる半導体装置における図2に示すDFT回路を追加するフローチャートのステップS4で入力する情報が実施の形態1とは異なる。実施の形態1と同様のものについては、同様の符号を付して説明を省略する。
実施の形態2にかかるDFT回路追加のフローチャートを図9に示す。図9に示すように、実施の形態2では、ステップS4に代えてステップS20を実行し、半導体装置のユーザークロック端子U−CLKに入力されるクロック信号の周波数情報を示すクロック端子情報F20を第2の回路情報として入力する。これに対し、実施の形態1では、図2に示すフローチャートのステップS4でテスト周波数を入力していた。
ステップS20では、クロック端子情報F20からユーザークロック端子U−CLKに入力されるクロック信号の周波数の情報を取得し、さらにDFT回路挿入前回路情報F1の情報より、分周器等の情報を取得する。これらの情報に基づき、内部クロックドメインのテスト周波数の情報を算出し、テスト周波数情報をテスト周波数記憶領域M1に記憶する。
テスト周波数を算出する一例を説明する。クロック端子情報F20とDFT回路挿入前回路情報F1とに基づき抽出されたクロックドメインに対し制御回路を追加した回路一例を図10に示す。図10に示すように、内部クロックドメインは、周波数が20MHzで動作する外部クロックドメインに対応するユーザークロック端子U−CLKに接続される2分周回路42からのクロック信号の供給を受けている。したがって、内部クロックドメインのテスト周波数は10MHzとなる。
つまり、実施の形態2にかかる半導体装置は、ユーザークロック端子に供給されるクロック信号の周波数の情報(クロック端子情報F20)とDFT回路挿入前回路情報F1とに基づき内部クロックドメインのテスト周波数を算出する。これによって、内部クロックドメインのテスト周波数を予め計算することなく、すでに分かっているユーザークロック端子のクロック周波数情報から自動で内部クロックドメインのテスト周波数を算出することが可能である。
実施の形態3
実施の形態1にかかる半導体装置は、新たに追加したスキャンクロック供給用端子から制御回路にスキャンクロック信号を供給していた。これに対し、実施の形態3にかかる半導体装置は、外部クロックドメインに接続されるユーザークロック端子をスキャンクロック供給用端子として用いるものである。ここで、実施の形態1と同様のものについては、同じ符号を付して説明を省略する。
実施の形態3にかかる半導体装置のDFT回路追加手順のフローチャートを図11に示す。図11に示すように、実施の形態3にかかる半導体装置では、実施の形態1にかかる半導体装置におけるDFT回路追加手順のフローチャートにおけるステップS8に代えてステップS30を実行する。ステップS30は、制御回路の追加と、スキャンクロック供給用端子SCKinとして兼用するユーザークロック端子U−CLKを抽出する。抽出するユーザークロック端子U−CLKは、例えば、内部クロックドメインのテスト周波数と同じ周波数のクロック信号が入力される端子を選択する。
図11に示すフローチャートに従って生成されたDFT回路を追加した半導体装置のブロック図を図12に示す。図12に示すように、実施の形態3にかかる半導体装置では制御回路51a、51b、51cが追加されている。制御回路51a、51b、51cは、それぞれユーザークロック端子U−CLK11、U−CLK13、U−CLK16が接続されている。ユーザークロック端子U−CLK11は、外部クロックドメイン11にクロック信号を供給する端子である。ユーザークロック端子U−CLK13は、外部クロックドメイン13にクロック信号を供給する端子である。ユーザークロック端子U−CLK16は、外部クロックドメイン16にクロック信号を供給する端子である。
また、制御回路51a、51b、51cは、それぞれ周波数サブグループ選択信号FreqSubCTL、スキャンモード制御信号SMC、テストモード制御信号AMCが接続されている。さらに、制御回路51a、51b、51cは、スキャンクロック出力端子SCK、SCK、SCKを有している。スキャンクロック出力端子SCK、SCKは、実施の形態1と同じものである。スキャンクロック出力端子SCKは、制御回路に接続されるユーザークロック端子に対応する外部クロックドメインにクロック信号を供給する。
ここで、制御回路51a、51b、51cについて詳細に説明する。制御回路51a、51b、51cは、同じものであるため、以降では制御回路51として説明する。制御回路51の回路図の一例を図13に示す。制御回路51は、入力端子IN1、IN2、IN3、IN3、出力端子SCK、SCK、SCK、デコーダブロックBlock_A2、スキャンクロック制御ブロックBlock_B2を有している。入力端子IN1には、ユーザークロック端子U−CLKが接続されている。入力端子IN2には、周波数サブグループ選択信号FreqSubCTLを入力する制御端子が接続されている。入力端子IN3には、スキャンモード制御信号SMCが接続されている。入力端子IN3には、テストモード制御信号AMCが接続されている。デコーダブロックBlock_A2は、インバータ511を有している。スキャンクロック制御ブロックBlock_B2は、AND回路512〜515、OR回路516、セレクタ517〜519を有している。
制御回路51は、これらの素子を用いて、図14に示す制御論理で動作する。図14に示すように、制御回路51は、テストモード制御信号AMCが"Low"である場合、スキャンモード制御信号SMCと周波数サブグループ選択信号FreqSubCTLとの値に関わらず、スキャンクロック出力端子SCKのみからスキャンクロック信号を出力する。
また、テストモード制御信号AMCが"High"である場合は、スキャンモード制御信号SMCと、周波数サブグループ選択信号FreqSubCTLとに基づきスキャンクロック出力端子SCK、SCK、SCKからスキャンクロック信号を出力する。例えば、スキャンモード制御信号SMCが"Low"であって、周波数サブグループ選択信号FreqSubCTLが"Low"である場合、スキャンクロック出力端子SCK及びスキャンクロック出力端子SCKからスキャンクロック信号を出力し、スキャンクロック出力端子SCKからオフステイト値"X"を出力するする。スキャンモード制御信号SMCが"Low"であって、周波数サブグループ選択信号FreqSubCTLが"High"である場合、スキャンクロック出力端子SCK及びスキャンクロック出力端子SCKからオフステイト値"X"を出力し、スキャンクロック出力端子SCKからスキャンクロック信号を出力する。また、スキャンモード制御信号SMCが"High"でる場合、周波数サブグループ選択信号FreqSubCTLの値に関わらず、スキャンクロック出力端子SCK、SCK2、SCKからスキャンクロック信号を出力する。
上記説明より、実施の形態3にかかる半導体装置は、スキャンクロック供給用端子SCKinとして、ユーザークロック端子U−CLKを用いる。つまり、スキャンクロック信号を入力する端子を追加する必要がないため、実施の形態3にかかる半導体装置は、実施の形態1にかかる半導体装置よりも追加する端子を削減することができる。
実施の形態4
実施の形態1にかかる半導体装置は、新たに追加したスキャンクロック供給用端子から制御回路にスキャンクロック信号を供給していた。これに対し、実施の形態4にかかる半導体装置は、外部クロックドメインに接続されるユーザーデータ入力端子をスキャンクロック供給用端子として用いるものである。ここで、実施の形態1と同様のものについては、同じ符号を付して説明を省略する。
実施の形態4にかかる半導体装置のDFT回路追加手順のフローチャートを図15に示す。図15に示すように、実施の形態4にかかる半導体装置では、実施の形態1にかかる半導体装置におけるDFT回路追加手順のフローチャートにおけるステップS8に代えてステップS40を実行する。ステップS40は、制御回路の追加と、スキャンクロック供給用端子SCKinとして兼用するユーザーデータ入力端子Dを抽出する。抽出するユーザーデータ入力端子Dは、例えば、内部クロックドメインのテスト周波数と同じ周波数のクロック信号が入力される端子を選択する。
図15に示すフローチャートに従って生成されたDFT回路を追加した半導体装置のブロック図を図16に示す。図16に示すように、実施の形態4にかかる半導体装置では制御回路61a、61b、61cが追加されている。制御回路61a、61b、61cは、それぞれユーザーデータ入力端子D11、D13、D16が接続されている。ユーザーデータ入力端子D11は、外部クロックドメイン11にデータ信号を供給する端子である。ユーザーデータ入力端子D13は、外部クロックドメイン13にデータ信号を供給する端子である。ユーザーデータ入力端子D16は、外部クロックドメイン16にデータ信号を供給する端子である。
また、制御回路61a、61b、61cは、それぞれ周波数サブグループ選択信号FreqSubCTL、スキャンモード制御信号SMC、テストモード制御信号AMCが接続されている。さらに、制御回路61a、61b、61cは、スキャンクロック出力端子SCK、SCKを有している。スキャンクロック出力端子SCK、SCKは、実施の形態1と同じものである。
ここで、制御回路61a、61b、61cについて詳細に説明する。制御回路61a、61b、61cは、同じものであるため、以降では制御回路61として説明する。制御回路61の回路図の一例を図17に示す。制御回路61は、入力端子IN1、IN2、IN3、IN3、出力端子SCK、SCKデコーダブロックBlock_A3、スキャンクロック制御ブロックBlock_B3を有している。入力端子IN1には、ユーザーデータ入力端子Dが接続されている。入力端子IN2には、周波数サブグループ選択信号FreqSubCTLを入力する制御端子が接続されている。入力端子IN3には、スキャンモード制御信号SMCが接続されている。入力端子IN3には、テストモード制御信号AMCが接続されている。デコーダブロックBlock_A3は、インバータ611を有している。スキャンクロック制御ブロックBlock_B3は、AND回路612〜614、セレクタ615、616を有している。
制御回路61は、これらの素子を用いて、図18に示す制御論理で動作する。図18に示すように、制御回路61は、テストモード制御信号AMCが"Low"である場合、スキャンモード制御信号SMCと周波数サブグループ選択信号FreqSubCTLとの値に関わらず、スキャンクロック出力端子SCK、SCKからオフステイト値"X"を出力する。
また、テストモード制御信号AMCが"High"である場合は、スキャンモード制御信号SMCと、周波数サブグループ選択信号FreqSubCTLとに基づきスキャンクロック出力端子SCK、SCKからスキャンクロック信号を出力する。例えば、スキャンモード制御信号SMCが"Low"であって、周波数サブグループ選択信号FreqSubCTLが"Low"である場合、スキャンクロック出力端子SCKからスキャンクロック信号を出力し、スキャンクロック出力端子SCKからオフステイト値"X"を出力するする。スキャンモード制御信号SMCが"Low"であって、周波数サブグループ選択信号FreqSubCTLが"High"である場合、スキャンクロック出力端子SCKからオフステイト値"X"を出力し、スキャンクロック出力端子SCKからスキャンクロック信号を出力する。また、スキャンモード制御信号SMCが"High"でる場合、周波数サブグループ選択信号FreqSubCTLの値に関わらず、スキャンクロック出力端子SCK、SCKからスキャンクロック信号を出力する。
上記説明より、実施の形態4にかかる半導体装置は、スキャンクロック供給用端子として、ユーザーデータ入力端子Dを用いる。つまり、スキャンクロック信号を入力する端子を追加する必要がないため、実施の形態4にかかる半導体装置は、実施の形態1にかかる半導体装置よりも追加する端子を削減することができる。また、実施の形態4にかかる半導体装置は、外部クロックドメインへのクロック供給を必要としないため、実施の形態3にかかる半導体装置よりも制御回路を単純化することが可能である。
なお、本発明は上記実施の形態に限られたものではなく、本発明の趣旨を逸脱しない範囲で適宜変形することが可能である。例えば、図2に示すフローチャートのステップS4とS5の順序を入れ替えても良い。また、図2に示すフローチャートのステップS6とS7の順序を入れ替えても良い。
実施の形態1にかかる半導体装置においてDFT回路を追加していない場合のブロック図である。 実施の形態1にかかるDFT回路追加手順のフローチャートである。 実施の形態1にかかるDFT回路を追加した半導体装置のブロック図である。 実施の形態1にかかる制御回路の機能を示す表である。 実施の形態1にかかる制御回路の回路図である。 実施の形態1にかかる制御回路の制御論理を示す図である。 実施の形態1にかかるATPG処理のフローチャートである。 実施の形態1にかかる半導体装置に対して生成されるテストパターンを示す図である。 実施の形態2にかかるDFT回路追加手順のフローチャートである。 実施の形態2にかかる外部クロックドメインと内部クロックドメインの関係を示すブロック図である。 実施の形態3にかかるDFT回路追加手順のフローチャートである。 実施の形態3にかかるDFT回路を追加した半導体装置のブロック図である。 実施の形態3にかかるDFT回路の回路図である。 実施の形態3にかかる制御回路の制御論理を示す図である。 実施の形態4にかかるDFT回路追加手順のフローチャートである。 実施の形態4にかかるDFT回路を追加した半導体装置のブロック図である。 実施の形態4にかかるDFT回路の回路図である。 実施の形態4にかかる制御回路の制御論理を示す図である。 従来例1の半導体装置においてDFT回路を追加していない場合のブロック図である。 従来例1のDFT回路追加手順のフローチャートである。 従来例1のDFT回路を追加した半導体装置のブロック図である。 従来例1のATPG処理のフローチャートである。 従来例1の半導体装置に対して生成されるテストパターンを示す図である。 従来例2のDFT回路追加手順のフローチャートである。 従来例2のDFT回路を追加した半導体装置のブロック図である。 従来例2のATPG処理のフローチャートである。 従来例2の半導体装置に対して生成されるテストパターンを示す図である。
符号の説明
11〜17 外部クロックドメイン
21〜27 内部クロックドメイン
31〜37 セレクタ
41、41a〜41c、51、51a〜51c、61、61a〜61c 制御回路
411、511、611 インバータ
412、413、512〜515、612〜614 AND回路
414、415、517〜519、615、616 セレクタ
516 OR回路
Block_A1、Block_A2、Block_A3 デコーダブロック
Block_B1、Block_B2、Block_B3 スキャンクロック制御ブロック
D11〜D17 ユーザーデータ入力端子
U−CLK11〜U−CLK17 ユーザークロック端子
F1 回路挿入前回路情報
F2 テスト周波数情報
F3 回路挿入後回路情報
F20 クロック端子情報
FG1、FG2、FG3 周波数グループ
FSG11、FSG12、FSG21、FSG22、FSG31、FSG32 周波数サブグループ
SMC スキャンモード制御信号
AMC テストモード制御信号
FreqSubCTL 周波数サブグループ選択信号
SCK スキャンクロック信号
IN1 入力端子
IN2 入力端子
IN3 入力端子
IN3 入力端子
SCK〜SCK スキャンクロック出力端子
SCKin スキャンクロック供給用端子

Claims (20)

  1. クロック信号に基づき動作する複数の論理回路によって構成されるクロックドメインを複数有し、
    複数の前記クロックドメインのうち、制御信号に基づき選択される任意の前記クロックドメイン対して前記クロック信号を選択的に供給する制御回路を有する半導体装置。
  2. 前記制御回路は、複数の前記クロックドメインに対して、同一の周波数のクロック信号で動作するクロックドメイン群毎に配置されることを特徴とする請求項1に記載の半導体装置。
  3. 前記制御回路は、前記同一の周波数のクロック信号で動作するクロックドメイン群において、他のクロックドメインとデータパス依存関係を有しないクロックドメイン群に対して前記制御信号に基づき前記クロック信号を選択的に供給する請求項2に記載の半導体装置。
  4. 前記制御回路は、制御信号に基づき、前記クロックドメインのスキャンテスト時のシフトサイクル、キャプチャサイクル、通常使用時のクロック信号の制御を行うことを特徴とする請求項1乃至3のいずれか1項に記載の半導体装置。
  5. 前記制御信号は、選択信号とテスト制御信号とで構成され、前記制御回路は、前記テスト信号が前記論理回路のテストであることを示す値のときに、前記制御信号に基づき選択される任意のクロックドメインに対して前記クロック信号を選択的に供給することを特徴とする請求項4に記載の半導体装置。
  6. 前記制御回路への前記クロック信号の入力は、新たに設けられる第1のクロック供給用端子によって行われることを特徴とする請求項1乃至5のいずれか1項に記載の半導体装置。
  7. 前記制御回路への前記クロック信号の入力は、ユーザークロックを入力する既存のユーザークロック端子によって行われることを特徴とする請求項1乃至5のいずれか1項に記載の半導体装置。
  8. 前記制御回路への前記クロック信号の入力は、ユーザーデータを入力する既存のユーザーデータ入力端子によって行われることを特徴とする請求項1乃至5のいずれか1項に記載の半導体装置。
  9. 複数の前記クロックドメインは、動作周波数に基づき任意数の前記クロックドメインをグループ化した複数の第1のグループに分類され、さらに1つの前記第1のグループ内で互いに独立して動作する前記クロックドメインをグループ化した複数の第2のグループに分類され、
    前記制御回路は、前記第2のグループ毎に供給する前記クロック信号を制御することを特徴とする請求項1に記載の半導体装置。
  10. 前記制御回路は、制御信号に基づき、前記第1のクロックを供給する前記第2のグループのうち少なくとも1つを選択することを特徴とする請求項1又は2に記載の半導体装置。
  11. クロック信号に基づき動作する複数の論理回路によって構成されるクロックドメインを複数有する半導体装置のテスト用回路の設計をコンピュータに実行させるためのプログラムであって、
    前記テスト用回路を挿入する前の第1の回路情報と、前記クロックドメインに供給する前記クロック信号の周波数情報を示す第2の回路情報とを読み込み、複数の前記クロックドメインのうち同一の周波数の前記クロック信号でテストを行うクロックドメインをグループ化する第1のステップと、
    前記第1のステップで生成されたグループ毎に、グループ内のクロックドメイン間でデータパス依存関係を持たないクロックドメインをさらにグループ化する第2のステップと、
    前記第1の回路情報に対して、前記第1のステップで生成されたグループに対応して配置され、対応した前記第1のステップで生成されたグループ毎に前記クロック信号を供給し、制御信号に応じて前記第2のステップで生成されたグループ毎に前記クロック信号を分配する制御回路の情報を追加するステップとをコンピュータに実行させるプログラム。
  12. 前記制御回路は、第1の制御信号に基づき、前記クロック信号を供給する前記第2のグループを少なくとも1つ選択することを特徴とする請求項11に記載のプログラム。
  13. 前記制御回路は、第2の制御信号に基づき、前記クロックドメインの機能テスト時のシフトサイクル、キャプチャサイクル、通常使用時のクロック信号の制御を行うことを特徴とする請求項11又は12に記載のプログラム。
  14. コンピュータを用いて、クロック信号に基づき動作する複数の論理回路を有する複数のクロックドメインを有する半導体装置にテスト用回路を追加するテスト用回路追加方法であって、
    前記テスト用回路を挿入する前の第1の回路情報を入力し、
    クロックドメインに供給する前記クロック信号の周波数情報を示す第2の回路情報に基づき前記クロックドメインのテスト周波数情報を算出し、
    前記第1の回路情報に基づき前記クロックドメイン間のデータの送受信関係を示すデータパス依存関係を抽出し、
    前記第1の回路情報と前記テスト周波数情報とに基づき任意数のクロックドメインをグループ化した複数の第1のグループの情報を算出し、
    前記データパス依存関係と前記第1のグループの情報とに基づき1つの前記第1のグループ内で互いに独立して動作する前記クロックドメインをグループ化した複数の第2のグループの情報を算出し、
    接続される前記第1グループ内の前記第2のサブグループの数に応じた数の前記クロック信号の出力端子をそれぞれ有し、入力される前記クロック信号の供給先を前記第2グループ毎に制御する制御回路の情報を前記第1の回路情報に追加し、
    前記制御回路が追加された第3の回路情報を出力するテスト用回路追加方法。
  15. 前記制御回路は、前記第2のグループ毎に供給する前記クロック信号を制御することを特徴とする請求項14に記載のテスト用回路追加方法。
  16. 前記制御回路は、第1の制御信号に基づき、前記クロック信号を供給する前記第2のグループを少なくとも1つ選択することを特徴とする請求項14又は15に記載のテスト用回路追加方法。
  17. 前記制御回路は、第2の制御信号に基づき、前記クロックドメインの機能テスト時のシフトサイクル、キャプチャサイクル、通常使用時のクロック信号の制御を行うことを特徴とする請求項14乃至16のいずれか1項に記載のテスト用回路追加方法。
  18. 前記制御回路への前記クロック信号の入力は、新たに設けられる第1のクロック供給用端子によって行われることを特徴とする請求項14乃至17のいずれか1項に記載のテスト用回路追加方法。
  19. 前記制御回路への前記クロック信号の入力は、ユーザークロックを入力する既存のユーザークロック端子によって行われることを特徴とする請求項14乃至17のいずれか1項に記載のテスト用回路追加方法。
  20. 前記制御回路への前記クロック信号の入力は、ユーザーデータを入力する既存のユーザーデータ入力端子によって行われることを特徴とする請求項14乃至17のいずれか1項に記載のテスト用回路追加方法。
JP2006033835A 2006-02-10 2006-02-10 半導体装置及びそのテスト回路の追加方法 Expired - Fee Related JP5160039B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006033835A JP5160039B2 (ja) 2006-02-10 2006-02-10 半導体装置及びそのテスト回路の追加方法
US11/700,151 US7653852B2 (en) 2006-02-10 2007-01-31 Semiconductor device and method of adding tester circuit for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006033835A JP5160039B2 (ja) 2006-02-10 2006-02-10 半導体装置及びそのテスト回路の追加方法

Publications (2)

Publication Number Publication Date
JP2007212339A true JP2007212339A (ja) 2007-08-23
JP5160039B2 JP5160039B2 (ja) 2013-03-13

Family

ID=38370178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006033835A Expired - Fee Related JP5160039B2 (ja) 2006-02-10 2006-02-10 半導体装置及びそのテスト回路の追加方法

Country Status (2)

Country Link
US (1) US7653852B2 (ja)
JP (1) JP5160039B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011102764A (ja) * 2009-11-11 2011-05-26 Renesas Electronics Corp 半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011007589A (ja) * 2009-06-25 2011-01-13 Renesas Electronics Corp テスト方法、テスト制御プログラム及び半導体装置
US9632141B2 (en) * 2014-06-26 2017-04-25 Oracle International Corporation Simultaneous transition testing of different clock domains in a digital integrated circuit
WO2017164872A1 (en) * 2016-03-24 2017-09-28 Intel Corporation System-on-chip devices and methods for testing system-on-chip devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001165996A (ja) * 1999-12-07 2001-06-22 Matsushita Electric Ind Co Ltd 半導体集積回路並びにその設計方法及び検査方法
JP2005024359A (ja) * 2003-07-01 2005-01-27 Hitachi Ltd 自己診断型論理回路及びその動的故障テスト方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002196046A (ja) 2000-12-27 2002-07-10 Mitsubishi Electric Corp 半導体集積回路およびそのテスト方法
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
US7076709B2 (en) * 2002-01-28 2006-07-11 Koninklijke Philips Electronics N.V. Testing of circuit with plural clock domains
TWI235841B (en) * 2003-07-02 2005-07-11 Realtek Semiconductor Corp Multi-clock domain logic device for performing scan test with single scan clock and method thereof
US7134061B2 (en) * 2003-09-08 2006-11-07 Texas Instruments Incorporated At-speed ATPG testing and apparatus for SoC designs having multiple clock domain using a VLCT test platform
TWI221926B (en) * 2003-09-10 2004-10-11 Realtek Semiconductor Corp A multi-time domain logic system and related method
US7409613B2 (en) * 2004-01-08 2008-08-05 International Business Machines Corporation Simultaneous AC logic self-test of multiple clock domains
ATE408152T1 (de) * 2004-01-19 2008-09-15 Nxp Bv Prüfung von schaltungen mit mehreren taktdomänen
US7330994B2 (en) * 2005-04-26 2008-02-12 Arm Limited Clock control of a multiple clock domain data processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001165996A (ja) * 1999-12-07 2001-06-22 Matsushita Electric Ind Co Ltd 半導体集積回路並びにその設計方法及び検査方法
JP2005024359A (ja) * 2003-07-01 2005-01-27 Hitachi Ltd 自己診断型論理回路及びその動的故障テスト方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011102764A (ja) * 2009-11-11 2011-05-26 Renesas Electronics Corp 半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計プログラム

Also Published As

Publication number Publication date
US7653852B2 (en) 2010-01-26
US20070192660A1 (en) 2007-08-16
JP5160039B2 (ja) 2013-03-13

Similar Documents

Publication Publication Date Title
US10496771B2 (en) Semiconductor apparatus and design apparatus
US20090240996A1 (en) Semiconductor integrated circuit device
JP5160039B2 (ja) 半導体装置及びそのテスト回路の追加方法
JP2010223672A (ja) スキャンテスト回路
US7380183B2 (en) Semiconductor circuit apparatus and scan test method for semiconductor circuit
US7213184B2 (en) Testing of modules operating with different characteristics of control signals using scan based techniques
US20100146349A1 (en) Semiconductor integrated circuit including logic circuit having scan path and test circuit for conducting scan path test
JP2005300308A (ja) 半導体集積回路
JP2009122009A (ja) テスト回路
US20090313511A1 (en) Semiconductor device testing
JP2006145307A (ja) スキャンテスト回路
US7155649B2 (en) Scan test control method and scan test circuit
JP2010038874A (ja) スキャンテスト回路、その論理接続情報生成方法及びプログラム
JP4610919B2 (ja) 半導体集積回路装置
JP4888376B2 (ja) 半導体集積回路
JP4886615B2 (ja) テスト装置及びパタン生成装置
JP2008123604A (ja) 集積回路装置
JP2013088400A (ja) 半導体集積回路の検査方法および半導体集積回路
JP2006004509A (ja) 半導体集積回路およびハードマクロ回路
JPH11326453A (ja) スキャンパステスト方法およびスキャンパステスト回路、ならびにスキャン回路自動生成方法およびスキャン回路自動生成装置
JP2004294424A (ja) スキャンテスト制御方法、及びスキャンテスト回路
JP2010181360A (ja) 半導体集積回路、及び半導体集積回路の試験方法、及び半導体集積回路の設計方法
US20090044064A1 (en) Scan path circuit and semiconductor integrated circuit
JP2020165657A (ja) 半導体集積回路
JP2011257278A (ja) 半導体集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120416

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121212

R150 Certificate of patent or registration of utility model

Ref document number: 5160039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees