JP2011007589A - テスト方法、テスト制御プログラム及び半導体装置 - Google Patents

テスト方法、テスト制御プログラム及び半導体装置 Download PDF

Info

Publication number
JP2011007589A
JP2011007589A JP2009150533A JP2009150533A JP2011007589A JP 2011007589 A JP2011007589 A JP 2011007589A JP 2009150533 A JP2009150533 A JP 2009150533A JP 2009150533 A JP2009150533 A JP 2009150533A JP 2011007589 A JP2011007589 A JP 2011007589A
Authority
JP
Japan
Prior art keywords
clock
test
supply circuit
frequency
domains
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
JP2009150533A
Other languages
English (en)
Inventor
Hiroyuki Muraoka
博幸 村岡
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 JP2009150533A priority Critical patent/JP2011007589A/ja
Priority to US12/774,002 priority patent/US20100332932A1/en
Publication of JP2011007589A publication Critical patent/JP2011007589A/ja
Pending legal-status Critical Current

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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318364Generation of test inputs, e.g. test vectors, patterns or sequences as a result of hardware simulation, e.g. in an HDL environment
    • 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/318552Clock circuits details

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】テストパタン長を短縮できるテスト方法、テスト制御プログラム及び半導体装置を提供すること
【解決手段】本発明にかかるテスト方法は、同一周波数のクロック信号で動作する複数のクロックドメインに対して、クロック供給回路4A及び4Bからクロック信号を供給することによりテストを実行する論理回路のテスト方法である。複数のクロックドメインのそれぞれのテストパタン数を算出し、算出したテストパタン数に基づいて、複数のクロックドメインを複数のクロック供給回路グループに分類し、クロックドメインが分類されたクロック供給回路グループのそれぞれに対して独立したクロック供給回路4A及び4Bを割り当てることである。
【選択図】図1

Description

本発明はテスト方法、テスト制御プログラム及び半導体装置に関し、特にクロック信号を用いたテスト方法、テスト制御プログラム及び半導体装置に関する。
半導体装置のテスト回路の設計に関する分野において、回路規模の増加やテスト手法の増加によってテストコストが高くなってきている。これに伴い、テストコスト削減に直結する、テストパタン長の短縮の要求(必要性)が、高まっている。
特許文献1には、半導体装置におけるテストパタン長の短縮を実現するテスト回路について開示されている。ここで、図8及び図9を用いて、特許文献1の内容について説明する。
特許文献1に開示されているDFT(Design For Test)回路の追加手順について、図8のフローチャートを用いて説明する。このフローチャートは例えばコンピュータのような装置によって実行される。
はじめに、コンピュータは、第1の回路情報(例えば、DFT回路挿入前回路情報)を取得する(ステップS501)。続いて、コンピュータは、DFT回路挿入前回路情報に基づき内部クロックドメインを抽出する(ステップS502)。ステップS502で抽出された内部クロックドメインの情報に基づき、コンピュータは、スキャンクロック信号供給用のセレクタをDFT回路挿入前回路情報に追加する(ステップS503)。
次に、コンピュータは、第2の回路情報(例えば、テスト周波数情報)を取得する(ステップS504)。テスト周波数情報とは、機能テストにおいて内部クロックドメインのそれぞれに供給するクロック周波数の情報である。ステップS504で取得されたテスト周波数情報は、テスト周波数記憶領域M1に記憶される。また、コンピュータは、ステップS502で抽出された内部クロックドメイン間のデータパス依存関係を抽出し、その情報をデータパス依存関係記憶領域M2に記憶する(ステップS505)。さらに、コンピュータは、ステップS502で抽出された内部クロックドメインの情報とテスト周波数記憶領域M1の情報とに基づき第1のグループ(例えば、周波数グループ)の情報を生成する(ステップS506)。周波数グループ情報とは、同一周波数のクロックに基づいて機能テストを行う内部クロックドメインをグループ化した情報である。周波数グループ情報は、周波数グループ記憶領域M3に記憶される。
次に、データパス依存関係記憶領域M2の情報と周波数グループ記憶領域M3の情報とに基づいて、コンピュータは、第2のグループ(例えば、周波数サブグループ)の情報を生成する(ステップS507)。周波数サブグループ情報とは、同一の周波数グループに属する内部クロックドメインのうち互いに独立して動作する内部クロックドメインをグループ化した情報である。つまり、周波数サブグループは、同一の周波数グループに属する内部クロックドメインのうち互いにデータパス依存関係を有さない内部クロックドメインがグループ化されている。
ステップS507で算出された周波数サブグループ情報は、周波数サブグループ記憶領域M4に記憶される。コンピュータは、周波数グループ記憶領域M3の情報と周波数サブグループ記憶領域M4の情報とに基づき機能テストで用いるスキャンクロック信号を制御する制御回路と、スキャンクロック信号を供給するスキャンクロック供給用端子SCKinとをDFT回路挿入前回路情報に追加する(ステップS508)。例えば、制御回路は、周波数グループの数と同じ数だけ追加される。さらに、追加された制御回路と同数のスキャンクロック供給用端子SCKinも追加される。周波数グループ記憶領域M3の情報と、周波数サブグループ記憶領域M4の情報と、追加された制御回路及びスキャンクロック供給用端子SCKinと、セレクタとの情報に基づき、コンピュータは、スキャンクロック供給用端子SCKin、制御回路、セレクタ、内部クロックドメインをそれぞれ接続した情報を生成する(ステップS509)。
ステップS509によって、スキャンクロック供給用端子SCKinと制御回路とセレクタとを有するDFT回路が追加された回路情報が、生成される。この回路情報は、第3の回路情報(例えば、DFT回路挿入後回路情報F3)として出力される(ステップS510)。
次に、図9を参照して、DFT回路を追加した半導体装置の構成例について説明する。図9に示すように、内部クロックドメイン21〜27は、データパス依存関係とテスト周波数とに基づきグループ化されている。図9の構成例では、テスト周波数に基づき、第1の周波数グループFG1は、内部クロックドメイン21及び22を有し、第2の周波数グループFG2は、内部クロックドメイン23、24及び25を有し、第3の周波数グループFG3は、内部クロックドメイン26及び27を有している。また、データパス依存関係に基づき、第1の周波数グループFG1が有する内部クロックドメイン21は、周波数サブグループFSG101に分類され、内部クロックドメイン22は、周波数サブグループFSG102に分類される。第2の周波数グループFG2が有する内部クロックドメイン23は、周波数サブグループFSG201に分類され、内部クロックドメイン24、25は、周波数サブグループFSG202に分類される。第3の周波数グループFG3が有する内部クロックドメイン26は、周波数サブグループFSG301に分類され、内部クロックドメイン27は、周波数サブグループFSG302に分類される。
内部クロックドメイン21〜27には、それぞれセレクタ301〜307が接続されている。セレクタ301〜307は、それぞれ「1」入力端子及び「0」入力端子を有し、外部から入力されるテストモード制御信号AMCに応じていずれかの入力端子に入力される信号を出力する。例えば、テストモード制御信号AMCが「1」である場合、セレクタは、「1」入力端子に入力される信号を出力し、テストモード制御信号AMCが「0」である場合、「0」入力端子に入力される信号を出力する。セレクタ301〜307は、それぞれ「1」入力端子に対応する制御回路からスキャンクロック信号が供給され、「0」入力端子に内部クロック信号が供給される。
制御回路401〜403は、それぞれ第1の周波数グループから第3の周波数グループに対応して配置される。また、制御回路401〜403は、それぞれスキャンクロック供給用端子SCKinと、テスト制御信号(例えば、スキャンモード制御信号SMC)を入力する制御端子と、選択信号(例えば、周波数サブグループ選択信号FreqSubCTL)を入力する制御端子とが接続され、スキャンクロック出力端子SCK1〜SCKn(nは、対応する周波数グループ内の周波数サブグループの数)を有している。
次に、制御回路とセレクタとの接続について説明する。制御回路401のスキャンクロック出力端子SCK1は、セレクタ301を介して内部クロックドメイン21にスキャンクロック信号を供給する。制御回路401のスキャンクロック出力端子SCK2は、セレクタ302を介して内部クロックドメイン22にスキャンクロック信号を供給する。
制御回路402は、スキャンクロック出力端子SCK1と、セレクタ303とを介して内部クロックドメイン23にスキャンクロック信号を供給する。制御回路402は、スキャンクロック出力端子SCK2と、セレクタ304とを介して内部クロックドメイン24にスキャンクロック信号を供給すると共に、セレクタ305を介して内部クロックドメイン25にスキャンクロック信号を供給する。
制御回路403のスキャンクロック出力端子SCK1は、セレクタ306を介して内部クロックドメイン26にスキャンクロック信号を供給する。制御回路403のスキャンクロック出力端子SCK2は、セレクタ307を介して内部クロックドメイン27にスキャンクロック信号を供給する。
特開2007−212339号公報
特許文献1に開示されている半導体装置では、テスト周波数に基づき、内部クロックドメインをグループ化し、周波数グループが生成される。さらに、同一の周波数グループに属する内部クロックドメインのうち互いに独立して動作する内部クロックドメインをさらにグループ化し、周波数サブグループが生成される。また、制御回路は周波数グループの数と同数が追加され、追加された制御回路と同数のスキャンクロック供給端子SCKinが追加される。
そのため、特許文献1の半導体装置では、同一の周波数に分類される周波数サブグループのうち、常に1つの周波数サブグループのみにスキャンクロック信号が供給される。これにより、周波数サブグループ毎にテストを行なうテストパタンを作成することになるため、回路全体のテストパタン長は周波数サブグループごとのテストパタン数を足したものとなり、テストパタン長が長くなるという問題がある。
本発明の第1の態様にかかるテスト方法は、同一周波数のクロック信号で動作する複数のクロックドメインに対して、クロック供給回路からクロック信号を供給することによりテストを実行する論理回路のテスト方法であって、前記複数のクロックドメインのそれぞれのテストパタン数を算出し、前記算出したテストパタン数に基づいて、前記複数のクロックドメインを複数のグループに分類し、前記クロックドメインが分類されたグループのそれぞれに対して独立したクロック供給回路を割り当てるものである。
このようなテスト方法により、同一周波数のクロック信号で動作する複数のクロックドメインを、複数のクロック供給回路を用いて同時にテストを行うことができるため、テストパタン長を短縮することができる。特に、複数のクロックドメインのそれぞれのテストパタン数に基づいてクロックドメインを複数のグループに分類しているため、全体のテストパタン長が短くなるようにグループ分けを実行することができる。
本発明の第2の態様にかかるテスト制御プログラムは、同一周波数のクロック信号で動作する複数のクロックドメインに対して、クロック供給回路からクロック信号を供給することによりテストを実行する論理回路のテストをコンピュータに実行させるプログラムであって、前記複数のクロックドメインのそれぞれのテストパタン数を算出するステップと、前記算出したテストパタン数に基づいて、前記複数のクロックドメインを複数のグループに分類するステップと、前記クロックドメインが分類されたグループのそれぞれに対して独立したクロック供給回路を割り当てるステップと、前記クロック供給回路から前記クロックドメインが分類されたグループに対して前記クロック信号を供給するステップと、をコンピュータに実行させるものである。
このようなテスト制御プログラムにより、同一周波数のクロック信号で動作する複数のクロックドメインを、複数のクロック供給回路を用いて同時にテストを行うことができるため、テストパタン長を短縮することができる。特に、複数のクロックドメインのそれぞれのテストパタン数に基づいてクロックドメインを複数のグループに分類しているため、全体のテストパタン長が短くなるようにグループ分けを実行することができる。
本発明の第3の実施の態様にかかる半導体装置は、同一周波数のクロック信号で動作する第1のクロックドメインと、第2のクロックドメインとを備えた半導体装置であって、前記第1のクロックドメインに対してテスト用クロックを供給する第1のクロック供給回路と、前記第2のクロックドメインに対してテスト用クロックを供給する第2のクロッ供給回路と、前記第1のクロック供給回路に対してテスト用のクロックを入力する第1の端子と、前記第2のクロック供給回路に対してテスト用のクロックを入力する第2の端子と、を備えるものである。
このような半導体装置により、同一周波数のクロック信号で動作する複数のクロックドメインを、複数のクロック供給回路を用いて同時にテストを行うことができるため、テストパタン長を短縮することができる。特に、このような半導体装置では、第1の端子と、第2の端子を設けたので、第1の端子と第2の端子とに入力するクロックを制御することによって、テストパタン長を短縮するモード、故障検出率を維持するモードを容易に選択することができる。
本発明により、テストパタン長を短縮できるテスト方法、テスト制御プログラム及び半導体装置を提供することができる。
実施の形態1にかかるDFT回路の追加に関するフローチャートである。 実施の形態1にかかるクロック供給回路グループ構築に関するフローチャートである。 実施の形態1にかかる周波数サブグループの再分類に関するフローチャートである。 実施の形態1にかかる半導体装置の構成図である。 実施の形態2にかかるクロック供給回路グループ構築に関するフローチャートである。 実施の形態2にかかる周波数サブグループの再分類に関するフローチャートである。 実施の形態1、2にかかる半導体装置を含むコンピュータシステム全体の構成図である。 従来のDFT回路の追加に関するフローチャートである。 従来の半導体装置の構成図である。
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて、本発明の実施の形態1にかかるDFT回路の追加手順に関する処理の流れにつき説明する。図1に示す処理は、例えばコンピュータのような装置によって実行される。
はじめに、コンピュータは、第1の回路情報(例えば、DFT回路挿入前回路情報)を取得する(ステップS1)。次に、コンピュータは、DFT回路挿入前回路情報に基づき内部クロックドメインを抽出する(ステップS2)。内部クロックドメインは、同一の周波数クロックで動作する論理回路から構成される。内部クロックドメインは、複数の論理回路から構成されてもよく、ひとつの論理回路から構成されてもよい。次に、ステップS2で抽出された内部クロックドメインの情報に基づき、コンピュータは、スキャンクロック信号供給用のセレクタをDFT回路挿入前回路情報に追加する(ステップS3)。例えば、セレクタは、内部クロックドメイン毎に配置される。
次に、コンピュータは、第2の回路情報(例えば、テスト周波数情報)を取得する(ステップS4)。テスト周波数情報とは、機能テストで内部クロックドメインのそれぞれに供給するクロック周波数の情報である。ステップS4で取得したテスト周波数情報は、テスト周波数記憶領域M1に記憶される。次に、コンピュータは、ステップS2で抽出された内部クロックドメイン間のデータパス依存関係を抽出し、その情報をデータパス依存関係記憶領域M2に記憶する(ステップS5)。データパス依存関係とは、ある内部クロックドメインから出力された信号に基づいて、別の内部クロックドメインが動作する関係である。さらに、ステップS2で抽出された内部クロックドメインの情報とテスト周波数記憶領域M1の情報とに基づき、コンピュータは、第1のグループ(例えば、周波数グループ)の情報を生成する(ステップS6)。周波数グループ情報とは、同一の周波数クロックに基づいて機能テストを行う内部クロックドメインをグループ化した情報である。生成された周波数グループ情報は、周波数グループ記憶領域M3に記憶される。
次に、データパス依存関係記憶領域M2の情報と周波数グループ記憶領域M3の情報とに基づいて、コンピュータは、同一の周波数グループに属する内部クロックドメインのうち互いに独立して動作する内部クロックドメインをグループ化した第2のグループ(例えば、周波数サブグループ)の情報を生成する(ステップS7)。即ち、周波数サブグループ情報は、同一の周波数グループに属する内部クロックドメインのうち互いにデータパス依存関係を有さない内部クロックドメインをグループ化した情報である。ステップS7で生成された周波数サブグループ情報は、周波数サブグループ記憶領域M4に記憶される。
次に、周波数サブグループ記憶領域M4に格納されている情報を元に、コンピュータは、第3のグループ(例えば、クロック供給回路グループ)の情報を生成する(ステップS8)。クロック供給回路グループ情報は、1つのクロック供給回路からスキャンクロック信号の供給を受ける複数の周波数サブグループをグループ化した情報である。ステップS8で生成されたクロック供給回路グループ情報は、クロック供給回路グループ記憶領域M5に記憶される。クロック供給回路グループ情報の生成に関して、後に詳述する。
次に、コンピュータは、クロック供給回路グループ記憶領域M5に格納されたクロック供給回路グループ情報及び周波数グループ記憶領域M3に格納された周波数グループ情報に基づいて、クロック供給回路及びSCKin端子をDFT回路挿入前回路情報に追加する(ステップS9)。SCKin端子は、クロック供給回路にスキャンクロック信号を供給する端子である。クロック供給回路及びSCKin端子は、クロック供給回路グループの数と同じ数だけ追加される(ステップS9)。
次に、コンピュータは、周波数グループ記憶領域M3の情報と、クロック供給回路グループ記憶領域M5の情報と、追加されたクロック供給回路と、スキャンクロック供給用端子SCKinと、セレクタとの情報に基づき、スキャンクロック供給用端子SCKin、クロック供給回路、セレクタ、内部クロックドメインをそれぞれ接続した情報を生成する(ステップS10)。
ステップS10によって、コンピュータは、セレクタと、スキャンクロック供給用端子SCKinと、クロック供給回路とを有するDFT回路が追加された回路情報を生成する。コンピュータは、この回路情報を、第3の回路情報(例えば、DFT回路挿入後回路情報)として出力する(ステップS10)。
続いて、図2を用いて、図1のステップS8で実行するクロック供給回路グループ生成の詳細な処理の流れについて説明する。
はじめに、コンピュータは、各周波数サブグループのテストパタン数を計算する(ステップS21)。各周波数サブグループのテストパタン数とは、その周波数サブグループのみにスキャンクロック信号を供給してテストパタンを作成したときに作成されるテストパタン数である。各周波数サブグループのテストパタンは、例えば、ATPG(Automatic Test Pattern Generation)によって自動生成される。
次に、コンピュータは、周波数グループ毎にクロック供給回路グループを用意し、全ての周波数サブグループを、テスト周波数が同一のクロック供給回路グループに分類する(ステップS22)。次に、コンピュータは、外部端子の余裕数を変数Mにセットする(ステップS23)。外部端子の余裕数とは、SCKin端子を追加することが可能な端子の数である。SCKin端子を追加することが可能な端子数は、例えば、回路を搭載する基板の面積又は搭載する回路の規模等に基づいて定められる。
次に、コンピュータは、Mの値が0より大きいか否かを判定する(ステップS24)。Mの値が0である場合、処理を終了する。Mの値が0より大きい場合、ステップS25の処理を実行する。
次に、ステップS24において、Mの値が0より大きいと判定した場合、コンピュータは、クロック供給回路グループ毎にステップS21で計算した周波数サブグループのテストパタン数の合計値(以下、クロック供給回路グループのテストパタン数)が、周波数グループの中で最大のものを1つ選択する(ステップS25)。周波数グループ毎に、クロック供給回路グループがひとつのみ存在する場合は、コンピュータは、当該クロック供給回路グループを選択する。
次に、コンピュータは、ステップS25で選択されたクロック供給回路グループに対応する周波数グループへ、新たに1つクロック供給回路グループを追加する(ステップS26)。次に、コンピュータは、ステップS25で選択されたクロック供給回路グループ内の周波数サブグループを、当該クロック供給回路グループ及びステップS26で追加されたクロック供給回路グループに再分類する(ステップS27)。
次に、コンピュータは、Mから1を引く(ステップS28)。次に、コンピュータは、ステップS24に戻り、Mの値が0より大きい関係を満たす間、ステップS24からステップS28の処理を繰り返す。即ち、コンピュータは、Mの値が0になるまで、ステップS24からステップS28の処理を繰り返す。
次に、図3を用いて、図2のステップS27で実施する周波数サブグループの再分類手順に関する詳細な処理の流れにつき説明する。はじめに、コンピュータは、特定のクロック供給回路グループ(以下、再分類対象クロック供給回路グループ)を抽出する(S31)。特定のクロック供給回路グループとは、新たに1つのクロック供給回路グループを追加された周波数グループが有する全てのクロック供給回路グループである。
次に、コンピュータは、再分類対象クロック供給回路グループと関連付けられている周波数サブグループとの関連付けをなくす(S32)。
次に、コンピュータは、クロック供給回路グループに分類されていない周波数サブグループがあるか否かを判定する(ステップS33)。周波数グループに、クロック供給回路グループが新たに追加された直後においては、すべての周波数サブグループは、クロック供給回路グループに分類されていない。また、分類されていない周波数サブグループが無い場合、即ち全ての周波数サブグループが制御回路接続グループに分類されている場合、コンピュータは、処理を終了する。分類されていない周波数サブグループがある場合は、コンピュータは、ステップS34の処理を行う。
次に、ステップS33において、分類されていない周波数サブグループがあると判定された場合、コンピュータは、各クロック供給回路グループ毎に算出される、周波数サブグループのテストパタン数の合計を比較する。さらに、コンピュータは、テストパタン数の合計が最小のクロック供給回路グループを選択する(ステップS34)。周波数グループに、クロック供給回路グループが新たに追加された直後は、いずれの周波数サブグループも、クロック供給回路グループに分類されていない。そのため、全てのクロック供給回路グループのテストパタン数は、0となる。この場合、コンピュータは、任意のクロック供給回路グループを選択してもよい。また、クロック供給回路グループのテストパタン数が同一であるクロック供給回路グループが複数存在する場合においても、コンピュータは、当該複数のクロック供給回路グループの中で任意のクロック供給回路グループを選択してもよい。
次に、コンピュータは、分類されていない周波数サブグループの中でテストパタン数が最大の周波数サブグループを選択する(ステップS35)。次に、コンピュータは、ステップS35で選択した周波数サブグループをステップS34で選択したクロック供給回路グループに分類する(ステップS36)。次に、ステップS33に戻り、分類されていない周波数サブグループがなくなるまで、コンピュータは、ステップS33〜ステップS36の処理を繰り返し実行する。
上述した図1〜図3の一連の処理を実行することにより、全ての周波数サブグループが、クロック供給回路グループに関連付けられる。
次に、図4を用いて、図1〜図3のクロック供給回路追加手順に従って、クロック供給回路が挿入された回路構成について説明する。図4に示されている回路は、内部クロックドメイン2A〜2Eと、セレクタ3A〜3Eと、クロック供給回路4A及び4Bと、を備えている。
内部クロックドメイン2A〜2Eは、同一の周波数クロックで動作する。例えば、内部クロックドメイン2A〜2Eは、すべて40MHzの周波数クロックで動作する。
ここで、内部クロックドメイン2A〜2Eのデータパス依存関係について説明する。データパス依存関係とは、例えば、内部クロックドメイン2Aが、内部クロックドメイン2Bから入力される信号に基づき動作する関係である。以下に、内部クロックドメイン2A〜2Eのデータパス依存関係の具体例について説明する。例えば、内部クロックドメイン2Aは、内部クロックドメイン2B及び2Eから入力される信号に基づいて動作し、内部クロックドメイン2Dに対して信号を出力する。また、内部クロックドメイン2Cは、内部クロックドメイン2Eから入力される信号に基づいて動作し、内部クロックドメイン2Dに対して信号を出力する。また、内部クロックドメイン2Dは、内部クロックドメイン2A及び2Cから入力される信号に基づいて動作し、内部クロックドメイン2Eに対して信号を出力する。また、内部クロックドメイン2Eは、内部クロックドメイン2Dから入力された信号に基づいて動作し、内部クロックドメイン2A及び2Cに対して信号を出力する。
このようなデータパス依存関係を有する場合、内部クロックドメイン2Aは、周波数サブグループ(FSG)51に分類され、内部クロックドメイン2B及び2Cは、FSG52に分類され、内部クロックドメイン2Dは、FSG53に分類され、内部クロックドメイン2Eは、FSG54に分類される。
さらに、FSG51及びFSG52は、クロック供給回路グループ(CG)61に分類され、FSG53及びFSG54は、CG62に分類される。ここで、FSG51〜54は、CG61及びCG62が有するテストパタン数が均等に近づくように分類される。
内部クロックドメイン2A〜2Eには、それぞれセレクタ3A〜3Eが接続されている。セレクタ3A〜3Eは、それぞれ「1」入力端子と「0」入力端子とを有している。セレクタ3A〜3Eは、外部から入力されるテストモード制御信号AMCに応じていずれかの入力端子に入力される信号を出力する。例えば、テストモード制御信号AMCが「1」である場合、「1」入力端子に入力される信号を内部クロックドメインに出力し、テストモード制御信号AMCが「0」である場合、「0」入力端子に入力される信号を内部クロックドメインに出力する。セレクタ3A〜3Eは、それぞれ「1」入力端子に対応する制御回路からスキャンクロック信号が供給され、「0」入力端子に内部クロック信号が供給される。
クロック供給回路4A及び4Bは、CG61及び62に対応して配置された制御回路である。また、クロック供給回路4A及び4Bは、それぞれスキャンクロック供給用端子SCKinと、テスト制御信号(例えば、スキャンモード制御信号SMC)を入力する制御端子と、選択信号(例えば、周波数サブグループ選択信号FreqSubCTL)を入力する制御端子とが接続されている。さらに、クロック供給回路4A及び4Bは、スキャンクロック出力端子SCK1〜SCKn(nは、対応する周波数グループ内の周波数サブグループの数)を有している。スキャンモード制御信号SMCは、例えば、内部クロックドメインの機能テストにおいて、データをシフトさせるシフトサイクルと、データをキャプチャするサイクルと、を実施する制御を行う。
クロック供給回路4Aは、SCKin端子から供給されるスキャンクロック信号を、周波数サブグループ毎に出力する。例えば、クロック供給回路4Aは、SCK1端子を介してFSG51にスキャンクロック信号を出力している場合、FSG52にはスキャンクロック信号を出力しない。クロック供給回路4Aは、SCK2端子を介してFSG52にスキャンクロック信号を出力している場合、FSG51にはスキャンクロック信号を出力しない。クロック供給回路4Bも同様の制御を行う。
次に、図4において説明した回路構成を用いた機能テストの方法について説明する。クロック供給回路4A及び4Bは、SCKin端子から供給されたスキャンクロック信号を周波数サブグループに出力する。出力する周波数サブグループは、周波数サブグループ選択信号FreqSubCTLにより選択されたサブグループである。クロック供給回路4A及び4Bは独立して動作するため、例えば、FSG51とFSG53に同時にスキャンクロック信号を供給することができる。また、FSG51及びFSG54、FSG52及びFSG53、FSG52及びFSG54の組み合わせでも、同時にスキャンクロック信号を供給することができる。
上述した組み合わせのうち、例えばFSG51及びFSG53、又は、FSG52及びFSG54に同時にスキャンクロック信号を供給する場合について説明する。クロック供給回路4A及び4Bは、はじめにFSG51及びFSG53、又は、FSG52及びFSG54にスキャンクロック信号を供給する。FSG51及びFSG53の機能テスト終了後、クロック供給回路4A及び4Bは、FSG52及びFSG54にスキャンクロック信号を供給する。これにより、内部クロックドメイン2A〜2Eをテストする際のテストパタン長は、FSG51もしくはFSG53が有するテストパタン数に、FSG52もしくはFSG54が有するテストパタン数を加算することによって算出される。
以上説明したように、本発明の実施の形態1にかかるテスト方法を用いることにより、テストパタン長を短縮することができる。図4に示されるように、同一周波数グループに、FSG51〜54を有する場合に、クロック供給回路を1つ用いてテストを行うと、テストパタン長は、それぞれの周波数サブグループが有するテストパタン数を加算することにより算出される。即ち、クロック供給回路が1つしか配置されていない場合、各周波数サブグループを同時にテストすることができないため、テストパタン長は、それぞれの周波数サブグループが有するテストパタン数を加算することにより算出される。
これに対して、本発明の実施の形態1のように、同一周波数グループに対して2つのクロック供給回路を配置した場合は、2つの周波数サブグループに対して同時にテストを行うことができる。そのため、クロック供給回路を1つのみ配置した場合と比較して、テストパタン長を約半分に短縮することができる。ここで、クロック供給回路は、同一周波数グループに対して配置される数は2つに限られず、複数配置することができる。
また、クロック供給回路グループに属する周波数サブグループのテストパタン数を均等に近づくように周波数サブグループを分類することにより、回路全体のテストパタン長を短くすることができる。
(実施の形態2)
本発明の実施の形態2にかかる半導体装置は、実施の形態1にかかる半導体装置におけるクロック供給回路グループの生成に用いる情報が、実施の形態1と異なる。
本発明の実施の形態2にかかるクロック供給回路グループ構築の詳細な処理の流れについて、図5及び図6を用いて説明する。図5において、実施の形態2では、図2のステップS21に代えてステップS51を実行し、ステップS25に代えてステップS55を実行する。その他の処理は図2と同様である。
ステップS51では、コンピュータは、周波数サブグループのフリップフロップ回路数を算出する。具体的には、内部クロックドメインを構成する論理回路に含まれるフリップフロップ回路数を算出する。ステップS55では、コンピュータは、フリップフロップ回路数を最も多く含むクロック供給グループを選択する。ステップ55により、コンピュータは、フリップフロップ回路数に基づいて、クロック供給回路を追加する周波数グループを決定する。
次に、図6において、実施の形態2では、図3のステップS34及びステップS35に代えて、ステップS64及びステップS65を実行する。その他の処理は図3と同様である。
ステップS64では、コンピュータは、フリップフロップ回路数が最小のクロック供給回路グループを選択する。ステップS65では、コンピュータは、分類されていない周波数サブグループの中で、フリップフロップ数が最大のものを選択する。ステップS36において、コンピュータは、ステップS64で選択したクロック供給回路に、ステップS65で選択した周波数グループを割り当てる。このように、コンピュータは、フリップフロップ回路数に基づいて、周波数サブグループをクロック供給回路に割り当てを行う。
以上説明したように、本発明の実施の形態2にかかるクロック供給回路グループの構築方法を用いることにより、フリップフロップ回路数に基づいて分類されたクロック供給回路グループを用いてテストを行うことができる。周波数サブグループにおけるテストパタン数の生成は、例えば、ATPG処理等により実際にテストパタンを作成する必要がある。そのため、テストパタン数の算出は、処理時間が長くなる場合がある。本発明の実施の形態2においては、テストパタン数の代わりに、フリップフロップ回路数を使用している。一般的に、フリップフロップ回路数が多くなれば、テストパタン数が大きくなる傾向にある。また、フリップフロップ回路数の算出は、テストパタンの生成よりも処理時間は短い。そのため、テストパタン数の代わりに、フリップフロップ回路数をクロック供給回路グループの生成時に用いることができる。
(実施の形態3)
本発明の実施の形態3にかかるテスト方法を、図4を用いて説明する。図4の回路は、クロック供給回路4A及び4B毎に、SCKin端子が接続されている。これより、クロック供給回路4Aにスキャンクロック信号を供給し、クロック供給回路4Bにはスキャンクロック信号を供給しない、というテストを行うことが可能である。即ち、クロック供給回路4A及び4B両方にスキャンクロック信号を供給するか、クロック供給回路4A及び4Bのどちらか一方にスキャンクロック信号を供給するかを選択することができる。本制御は、SCKin端子に制御回路を接続し、どちらか一方のSCKin端子を選択して、スキャンクロック信号を供給する制御を行ってもよい。もしくは、クロック供給回路4A及び4Bに制御回路を接続し、どちらか一方のSCKin端子を介して供給されたスキャンクロック信号のみを周波数サブグループに供給する制御を行ってもよい。
以上説明したように、本発明の実施の形態3にかかるテスト方法を用いることにより、例えば、CG61もしくはCG62のどちらか一方のみにスキャンクロック信号を出力してテストを行うことができる。これにより、例えば、FSG51とデータパス依存関係を有するFSG53もしくはFSG54とを別々にテストを行うことができる。そのため、故障検出率を低下させずにテストを行うことができる。また、CG61及びCG62の両方にスキャンクロック信号を出力するようにした場合は、実施の形態1と同様、テストパタン長を短縮させることができる。このようにテスト方法を選択することができるため、回路規模もしくは回路の複雑性等に基づいて、より適切なテスト方法を選択することができる。
上述の実施の形態では、本発明は、任意の処理を、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)等を含むコンピュータにプログラムを実行させることにより実現することも可能であることを説明した。この場合、プログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。また、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM、DVD、ROMカートリッジ、バッテリバックアップ付きRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれる。
ここで、プログラムをインターネットその他の通信媒体を介して伝送することにより提供する場合のコンピュータシステムの構成例について、図7を用いて説明する。
コンピュータシステムは、コンピュータ10と、入力装置14と、出力装置15と、媒体駆動装置16と、サーバ17とから構成されている。コンピュータ10は、CPU11と、メモリ12と、バス13とを有する。媒体駆動装置16及びサーバ17は、ネットワーク18を介して接続されている。
コンピュータ10は、入力装置14からの入力に従って、メモリ12上のプログラムをCPU11が実行する。コンピュータ10は、そのプログラムの実行結果を出力装置15に出力する。媒体駆動装置16は、LANなどのネットワーク18を介してサーバ18から送られてきたプログラムデータ信号を受信する。媒体駆動装置16は、受信したプログラムデータを、バス13を介してメモリ12に記憶させる。また、媒体駆動装置16は、メモリ12に記憶しているプログラムデータをサーバ18に送信する。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
10 コンピュータ
11 CPU
12 メモリ
13 バス
14 入力装置
15 出力装置
16 媒体駆動装置
17 サーバ
18 ネットワーク
3A〜3E セレクタ
4A、4B クロック供給回路

Claims (12)

  1. 同一周波数のクロック信号で動作する複数のクロックドメインに対して、クロック供給回路からクロック信号を供給することによりテストを実行する論理回路のテスト方法であって、
    前記複数のクロックドメインのそれぞれのテストパタン数を算出し、
    前記算出したテストパタン数に基づいて、前記複数のクロックドメインを複数のグループに分類し、
    前記クロックドメインが分類されたグループのそれぞれに対して独立したクロック供給回路を割り当てる、テスト方法。
  2. 前記複数のクロックドメインを、前記グループ間で、前記テストパタン数が均等に近づくように当該グループに分類することを特徴とする請求項1記載のテスト方法。
  3. 前記算出されたテストパタン数が多いクロックドメインから順に前記グループへ分類することを特徴とする請求項2記載のテスト方法。
  4. 前記テストパタン数が最も少ないグループを選択し、
    前記選択されたグループへ前記クロックドメインを分類することを特徴とする請求項3記載のテスト方法。
  5. 前記テストパタン数は、データパス依存関係を有さない前記クロックドメインから構成されるサブグループ毎に算出され、
    前記算出されたテストパタン数に基づいて、前記サブグループを前記グループに分類することを特徴とする請求項1〜4のいずれか1項に記載のテスト方法。
  6. 前記クロック供給回路は、当該クロック供給回路にクロック信号を供給する端子を追加することができる数に応じて、割り当てられる数が決定されることを特徴とする請求項1〜5のいずれか1項に記載のテスト方法。
  7. 前記テストパタン数は、前記クロックドメインが有するフリップフロップ回路数に基づいて算出されることを特徴とする請求項1〜6のいずれか1項に記載のテスト方法。
  8. 同一周波数のクロック信号で動作する複数のクロックドメインに対して、クロック供給回路からクロック信号を供給することによりテストを実行する論理回路のテストをコンピュータに実行させるプログラムであって、
    前記複数のクロックドメインのそれぞれのテストパタン数を算出するステップと、
    前記算出したテストパタン数に基づいて、前記複数のクロックドメインを複数のグループに分類するステップと、
    前記クロックドメインが分類されたグループのそれぞれに対して独立したクロック供給回路を割り当てるステップと、
    前記クロック供給回路から前記クロックドメインが分類されたグループに対して前記クロック信号を供給するステップと、をコンピュータに実行させるテスト制御プログラム。
  9. 前記複数のクロックドメインを、前記グループ間で、前記テストパタン数が均等に近づくように前記グループに分類することを特徴とする請求項8記載のテスト制御プログラム。
  10. 前記テストパタン数が多いクロックドメインから順に前記グループへ分類することを特徴とする請求項9記載のテスト制御プログラム。
  11. 前記テストパタン数が最も少ないグループを選択するステップと、をさらに有し、
    前記選択されたグループへ前記クロックドメインを分類することを特徴とする請求項10記載のテスト制御プログラム。
  12. 同一周波数のクロック信号で動作する第1のクロックドメインと、第2のクロックドメインとを備えた半導体装置であって、
    前記第1のクロックドメインに対してテスト用クロックを供給する第1のクロック供給回路と、
    前記第2のクロックドメインに対してテスト用クロックを供給する第2のクロック供給回路と、
    前記第1のクロック供給回路に対してテスト用のクロックを入力する第1の端子と、
    前記第2のクロック供給回路に対してテスト用のクロックを入力する第2の端子と、を備えた半導体装置。
JP2009150533A 2009-06-25 2009-06-25 テスト方法、テスト制御プログラム及び半導体装置 Pending JP2011007589A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009150533A JP2011007589A (ja) 2009-06-25 2009-06-25 テスト方法、テスト制御プログラム及び半導体装置
US12/774,002 US20100332932A1 (en) 2009-06-25 2010-05-05 Test method, test control program and semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009150533A JP2011007589A (ja) 2009-06-25 2009-06-25 テスト方法、テスト制御プログラム及び半導体装置

Publications (1)

Publication Number Publication Date
JP2011007589A true JP2011007589A (ja) 2011-01-13

Family

ID=43382121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009150533A Pending JP2011007589A (ja) 2009-06-25 2009-06-25 テスト方法、テスト制御プログラム及び半導体装置

Country Status (2)

Country Link
US (1) US20100332932A1 (ja)
JP (1) JP2011007589A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103687083A (zh) * 2012-09-07 2014-03-26 成都林海电子有限责任公司 一种基于北斗的卫星移动通信终端
CN103675653A (zh) * 2012-09-21 2014-03-26 成都林海电子有限责任公司 一种卫星移动终端机中cpld的测试方法
KR101993626B1 (ko) * 2012-12-11 2019-06-28 삼성전자 주식회사 특수 기능 레지스터를 포함하는 시스템 온 칩 및 그 동작 방법
US9194916B2 (en) * 2014-01-02 2015-11-24 Globalfoundries Inc. Method with system and program product for prioritizing clock domains for testing of integrated circuit designs
US9632141B2 (en) * 2014-06-26 2017-04-25 Oracle International Corporation Simultaneous transition testing of different clock domains in a digital integrated circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE60207307T2 (de) * 2002-01-28 2006-07-20 Koninklijke Philips Electronics N.V. Testen von schaltungen mit mehreren taktsignal-domänen
US7424417B2 (en) * 2002-11-19 2008-09-09 Broadcom Corporation System and method for clock domain grouping using data path relationships
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
JP2007518988A (ja) * 2004-01-19 2007-07-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数のクロックドメインを備える回路のテスティング
US7330994B2 (en) * 2005-04-26 2008-02-12 Arm Limited Clock control of a multiple clock domain data processor
JP5160039B2 (ja) * 2006-02-10 2013-03-13 ルネサスエレクトロニクス株式会社 半導体装置及びそのテスト回路の追加方法

Also Published As

Publication number Publication date
US20100332932A1 (en) 2010-12-30

Similar Documents

Publication Publication Date Title
JP5181499B2 (ja) Scanテスト回路及び半導体集積回路
JP2011007589A (ja) テスト方法、テスト制御プログラム及び半導体装置
JP5164266B2 (ja) 半導体装置
WO2021098077A1 (zh) 一种真随机数发生器和真随机数发生方法
JP6544958B2 (ja) 半導体装置及び設計装置、スキャンフリップフロップ
JP2014001937A (ja) スキャンテスト方法、プログラムおよびスキャンテスト回路
JP2012181138A (ja) 半導体集積回路、設計装置および設計方法
US20090022000A1 (en) Semiconductor storage device and test method therefor
JP2017199445A (ja) メモリテストシステム及び半導体装置、並びにメモリテスト方法
JP7169044B2 (ja) 半導体集積回路、その設計方法、プログラム及び記憶媒体
US7653852B2 (en) Semiconductor device and method of adding tester circuit for the same
JP2009122009A (ja) テスト回路
JP2006145307A (ja) スキャンテスト回路
JP2012146865A (ja) 半導体集積回路、スキャンテスト回路設計方法
JP2004212310A (ja) 動作テスト回路を含む半導体集積回路、および、その動作テスト方法
JP2011102764A (ja) 半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計プログラム
JP2010038874A (ja) スキャンテスト回路、その論理接続情報生成方法及びプログラム
JP2011002261A (ja) スキャンテスト回路、その設計方法、およびプログラム
JP2007121072A (ja) 試験装置及び試験方法
JP2013036960A (ja) 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法
JP5453981B2 (ja) Lsi、及びそのテストデータ設定方法
JP2011094986A (ja) 半導体集積回路、半導体集積回路設計方法、スキャンテストパタン生成方法及びそのプログラム
JP2013055199A (ja) 半導体装置
JP2009002868A (ja) テスト装置、パタン生成装置、テスト方法、及びパタン生成方法
JP2004144717A (ja) Ramのテスト回路