JP3828502B2 - 集積回路 - Google Patents
集積回路 Download PDFInfo
- Publication number
- JP3828502B2 JP3828502B2 JP2003085923A JP2003085923A JP3828502B2 JP 3828502 B2 JP3828502 B2 JP 3828502B2 JP 2003085923 A JP2003085923 A JP 2003085923A JP 2003085923 A JP2003085923 A JP 2003085923A JP 3828502 B2 JP3828502 B2 JP 3828502B2
- Authority
- JP
- Japan
- Prior art keywords
- scan
- circuit
- test
- test result
- scan chain
- 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.)
- Expired - Fee Related
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/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/318544—Scanning methods, algorithms and patterns
-
- 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/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/48—Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0405—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals comprising complete test loop
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C2029/3202—Scan chain
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
- G11C2029/3602—Pattern generator
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Logic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は集積回路に関わり、特に、組み込み自己テストを実行する集積回路に関する。
【0002】
【従来の技術】
大規模かつ複雑な半導体集積回路のテストの困難性を解決するテスト容易化手法のひとつとして、ロジックBIST(Built-In Self Test:組み込み自己テスト)が用いられている。ロジックBISTは、被テストロジックへ与えるテストパタンの生成と、被テストロジックからのテスト結果の解析を、被テストロジックの周辺に構成された論理回路により、半導体集積回路内部で全て自動的に行うものである(例えば、非特許文献1参照。)。
【0003】
【非特許文献1】
パラグ K.ララ “デジタル・サーキット・テスティング・アンド・テスタビリティ”アカデミック・プレス(Parag K. Lala “Digital Circuit Testing and Testability” Academic press.
【0004】
【発明が解決しようとする課題】
ロジックBISTにより、被テスト半導体集積回路内における故障の有無の判定を行うことができる。さらに、ロジックBISTにより、故障が存在する半導体集積回路に対して、故障解析を行う場合がある。しかしながら、ロジックBISTでの故障解析には大きな問題がある。ロジックBISTは半導体集積回路内部でテストの結果を圧縮するため、そのままでは故障解析に必要な情報が得られない。故障解析には、故障を検出するテストパタン(フェイルパタン)と、故障の影響を取り込むスキャンフリップフロップ回路(フェイルスキャンF/F回路)の情報が必要であるので、通常のロジックBISTとは異なる動作でこれらの情報を得る必要がある。
【0005】
例えば、テストパタン毎にロジックBISTの動作を分割することにより、フェイルパタンを特定する方法がある。この方法ではいくつかの問題がある。ひとつは、フェイルパタンを得るためにテスタの実行結果を解析しなければならないことである。この解析時間に加え、通常のロジックBISTの動作モードとは異なるスキャンテストモードに切り換えて複数回テストを行う必要があるために、テスタ時間が長くなってしまう。また、スキャンテストパタンを別途用意する必要と、スキャン設計を作りこむ必要があるため設計時間が伸びてしまう。さらには、スキャンテストモードに切り換えてしまうために、ロジックBISTでないと検出できない故障に対しては故障解析が行えない問題(不良の再現性)もある。この不良の再現性の問題は、ロジックBISTによって実動作速度テストを行っている場合は重大な問題となる。
【0006】
本発明はこのような従来技術の問題点を解決するために成されたものであり、その目的は、故障箇所を容易に特定することができる集積回路を提供することである。
【0007】
【課題を解決するための手段】
上記目的を達成するため、本発明の特徴は、論理回路内のレジスタにより構成され、テストパタンをシフトして入力し、テストパタンを論理回路に出力し、論理回路のテスト結果を入力として取り込み、テスト結果をシフトして出力する機能を有するスキャンチェーンと、テストパタンを複数のスキャンチェーンに入力するスキャンテストパタンとして発生させるテストパタン発生器と、スキャンチェーンの出力段に接続され、テスト結果を圧縮したテスト結果と同数のテスト結果圧縮シグネチャを生成し、テスト結果圧縮シグネチャをスキャンチェーンに一対一対応が可能な第1の順番に出力するテスト結果圧縮部とを有する集積回路であることを要旨とする。
【0008】
【発明の実施の形態】
以下図面を参照して、本発明の実施の形態を説明する。図面の記載において同一あるいは類似の部分には同一あるいは類似な符号を付している。
【0009】
(第1の実施の形態)
図1に示すように、本発明の第1の実施の形態に係る半導体集積回路21は、論理回路内の記憶素子により構成された複数のシフトレジスタ(スキャンチェーン)52a、52b、52c、・・・と、スキャンチェーン52a、52b、52c、・・・の入力に接続されたテストパタン発生器29と、スキャンチェーン52a、52b、52c、・・・の出力に接続されたテスト結果圧縮部110aと、テストパタン発生器29及びテスト結果圧縮部110aに接続されたBIST制御回路22aと、BIST制御回路22aに接続されたシフトカウンタ23と、BIST制御回路22aに接続されたパタンカウンタ24とを有する。BIST制御回路22a及びテスト結果圧縮部110aは、半導体集積回路21の外部に配置されたテスタ15にそれぞれ接続されている。テスト結果圧縮部110aは、スキャンチェーン52a、52b、52c、・・・を個別に選択する。スキャンチェーン52a、52b、52c、・・・は、被テストロジック211を構成する。
【0010】
スキャンチェーン52a、52b、52c、・・・のそれぞれは、直列に接続された複数のスキャンフリップフロップ回路(スキャンF/F回路)を有する。言い換えれば、各スキャンチェーン52a、52b、52c、・・・は、シフトレジスタ状に接続されたスキャンF/F回路を有する。スキャンF/F回路は、論理回路内の記憶素子の一例であり、スキャンチェーン52a、52b、52c、・・・は、シフトレジスタの一例である。
【0011】
第1の実施の形態において、テスト結果圧縮部110aは、スキャンチェーン52a、52b、52c、・・・のそれぞれの出力に個別に接続された複数のデータ圧縮器28a、28b、28c、・・・を備える。即ち、各スキャンチェーン52a、52b、52c、・・・の出力にそれぞれデータ圧縮器28a、28b、28c、・・・が接続されている。
【0012】
テスタ15は、BIST制御回路22aに対してテストモード設定用の外部入力信号In1を送信する。BIST制御回路22aは、外部入力信号In1を受信して、被テストロジック211を含む半導体集積回路21を自己試験モードに設定する。自己試験モードにおいて特にスキャンチェーンを直列に動作させる間、スキャンチェーン52a〜52c内のスキャンF/F回路は、通常動作時とは異なり、テストパタン発生器(29)とデータ圧縮器(110a)と接続される。ロジックBIST回路を初期化した後、ロジックBIST用のクロック(BISTクロック)を定められた数入力することにより、自己テストが実行される。自己試験モード信号やBISTクロックの供給は、外部入力信号In1から直接行われたり、BIST制御回路22aを介して行われたりする。自己テストの実行中、スキャンチェーン52a、52b、52c、・・・への直列入力はテストパタン発生器29により自動的に生成される。即ち、テストパタン発生器29は、スキャンテストパタンを生成し、スキャンチェーン52a、52b、52c、・・・へ送信する。スキャンチェーン52a、52b、52c、・・・は、スキャンテストパタンを受信し、テスト対象の論理回路から並列にテスト結果を取り込み、そのテスト結果をデータ圧縮器28a、28b、28c、・・・へそれぞれ送信する。データ圧縮器28a、28b、28c、・・・は、入力データ(テスト結果)を特定のビット長のデータ(シグネチャ)に圧縮し、被テストロジック18のテスト解析結果Ot1をテスタ15へそれぞれ送信する。テスト解析結果Ot1により、被テストロジック211についての良否が判定される。なお、シフトカウンタ23は、スキャンチェーンの直列動作回数を管理する。パタンカウンタ24は、スキャンテストパタンを個別に選択する。
【0013】
ロジックBISTでは、図1のテストパタン発生器29として乱数的なパタン発生器(擬似乱数発生器)を用いる。なぜなら、テスト対象の論理回路の動作が一般的にランダムだからである。第1の実施の形態においては、乱数的なパタン発生器の一例として、図2(a)に示すようなLinear Feedback Shift Register(LFSR)を用いる。
【0014】
図2(a)は、5ビットのLFSRの回路構成の一例を示す。LFSRは、直列に接続された5つのレジスタ37a〜37eと、レジスタ37a〜37eのうち特定のレジスタ(フィードバックポイント)37a、37cの出力端子及び最終段のレジスタ37eの出力端子に接続された排他的論理和回路47とを有する。レジスタ37a〜37eのクロック端子にはクロック信号CLKが供給され、レジスタ37a〜37eはクロック信号CLKに同期してシフト動作を行う。排他的論理和回路47は、特定のレジスタ(フィードバックポイント)37a、37cの出力及び最終段のレジスタ37eの出力を演算し、その演算結果を先頭レジスタ37aの入力端子へ供給する。
【0015】
LFSRを図1のテストパタン発生器29として使用する為には、初期化すること、即ち、全ビットを0以外の適当な値に設定することが必要である。初期化動作には、半導体集積回路21内部に保持している初期値に設定する場合と、半導体集積回路21外部から初期値を設定する場合とがある。初期化されたLFSRにおいて、レジスタ37a〜37eにクロック信号CLKを供給することにより、レジスタ37a〜37eの値は、排他的論理和回路47による演算を行いながらシフトされていく。その結果、レジスタ37a〜37eの値はランダムに変化する。このランダムに変化するレジスタ37a〜37eの値は、スキャンテストパタンとして、被テストロジック211に供給される。
【0016】
一方、図1のスキャンチェーン52a、52b、52c、・・・によるテスト結果は、データ圧縮器28a、28b、28c、・・・によりそれぞれ解析される。第1の実施の形態においては、データ圧縮器28a、28b、28c、・・・の一例として、図2(b)に示すような回路をそれぞれ用いる。
【0017】
図2(b)に示すように、データ圧縮器28aは、5つのレジスタ313a〜313eと、1つの排他的論理和回路213aとを有する。5つのレジスタ313a〜313eは直列に接続されている。レジスタ313a、313c及び313eの出力は、排他的論理和回路213aの入力に接続されている。排他的論理和回路213aの入力には、さらに被テストロジック211からのテスト結果のデータが供給される。排他的論理和回路213aの出力は、先頭のレジスタ313aの入力に接続されている。
【0018】
レジスタ313a〜313eのクロック端子にはクロック信号CLKが供給され、レジスタ313a〜313eはクロック信号CLKに同期してシフト動作を行う。レジスタ313b〜313eのそれぞれの入力には、レジスタ313a〜313dの値が供給される。先頭のレジスタ313aの入力には、排他的論理和回路213aの演算結果が供給される。排他的論理和回路213aには、被テストブロック211からのテスト結果のデータが入力される。
【0019】
レジスタ313a〜313dにクロック信号CLKを供給すると、データ圧縮器は、被テストブロック211からテスト結果を取り込みながらデータを圧縮していく。最終的にレジスタ313a〜313eに残ったデータが圧縮結果である。圧縮結果をあらかじめ計算により求められている期待値(シグネチャ)と比較することで、故障の判定を行う。
【0020】
図1に示したロジックBISTによるテストにおいては、スキャンテストパタンを半導体集積回路21外部に配置されたテスタ15のメモリ上に用意する必要がなくなり、テスタ15のコストが削減される。また、総ての動作をBISTクロックに同期して半導体集積回路1の内部で行う。したがって、BISTクロックを高速で動作させることにより、テスタ15によるテスト動作周波数よりも速い動作速度でのテストが可能になる。これにより、実動作での製造テストを行うことができる。また、ロジックBISTによるテストは、少数のテスト用外部入出力信号In1しか必要としないので、複数のブロックを並列的にテストすることも可能となる。これにより、全体のテスト時間が大幅に削減できる。更に、ロジックBISTはテスタ15によるスキャン入出力数の制約を受けないため、一般的なスキャン設計よりも多数本のスキャンチェーン52a、52b、52c、・・・を構築することができる。スキャンチェーン52a、52b、52c、・・・の本数を増やすことで、一本当りのスキャンチェーン長が短くなるので、テスト時間を削減することが可能になる。
【0021】
以上説明したように、各スキャンチェーン52a、52b、52c、・・・の出力にそれぞれデータ圧縮器28a、28b、28c、・・・が接続されているため、スキャンチェーン52a、52b、52c、・・・毎に期待値シグネチャをもつことができる。したがって、スキャンチェーン52a、52b、52c、・・・毎に期待値シグネチャの比較を行うだけで、故障の影響が伝搬したスキャンチェーンを特定することができる。よって、故障が伝搬するスキャンチェーンを容易に特定することが可能である。期待値シグネチャの比較は、半導体集積回路21内部に用意した期待値比較回路で行っても良いし、テスタ15内で行っても良い。いずれにしても、テスタ15のメモリは、スキャンチェーン52a、52b、52c、・・・毎の期待値シグネチャを持つだけでよい。即ち、テスタ15のメモリには期待値シグネチャだけが必要とされる為、テスタ15のメモリに関するコストが削減できる。故障解析に利用するのは自己試験時のパタンであるため、不良の再現性の問題が起こらない。また、実速度テスト(at-speedテスト)にも対応ができる。図8を参照して後述する既存の回路を共有できるため、エリアペナルティも少ない。この回路構成は、自己試験と故障解析に共通な構造としても利用でき、又は故障解析専用の回路としても利用可能である。このように、ロジックBISTを用いて半導体集積回路のテスト及び故障解析を行う際に、故障の影響が伝搬するスキャンF/F回路の位置情報を半導体集積回路から出力することにより、容易に故障解析作業を行うことが出来る。
【0022】
なお、図1ではテスタ15側で期待値シグネチャを比較する例を示した。この場合、各データ圧縮器28a、28b、28c、・・・は、テスト解析結果Ot1として、シグネチャをそれぞれ出力する。テスタ15は、メモリにロードされている期待値シグネチャと比較を行い良否を記録する。
【0023】
図1に示した半導体集積回路21において故障の影響が伝搬したスキャンチェーン(フェイルスキャンチェーン)を特定する手順を、図3を参照して示す。先ず、S100段階において、図1を参照して説明したロジックBISTを実行する。ロジックBISTの結果としてフェイルログ250が得られる。そしてS110段階において、フェイルログ250を解析する。解析結果としてフェイルパタン252及びフェイルスキャンチェーン254の情報が得られる。
【0024】
(第1の実施の形態の第1の変形例)
図4に示すように、本発明の第1の実施の形態の第1の変形例に係る半導体集積回路31は、複数のスキャンチェーン52a、52b、52c、・・・と、スキャンチェーン52a、52b、52c、・・・の入力に接続されたテストパタン発生器29と、スキャンチェーン52a、52b、52c、・・・の出力に接続されたテスト結果圧縮部110bと、テストパタン発生器29及びテスト結果圧縮部110bに接続されたBIST制御回路22bと、BIST制御回路22bに接続されたシフトカウンタ23と、BIST制御回路22bに接続されたパタンカウンタ24とを有する。BIST制御回路22b及びテスト結果圧縮部110bは、半導体集積回路31の外部に配置されたテスタ15にそれぞれ接続されている。テスト結果圧縮部110bは、スキャンチェーン52a、52b、52c、・・・を個別に選択する。スキャンチェーン52a、52b、52c、・・・は、被テストロジック211を構成する。
【0025】
第1の実施の形態の第1の変形例において、テスト結果圧縮部110bは、スキャンチェーン52a、52b、52cの出力に接続されたセレクタ314a、・・・と、セレクタ314a、・・・にそれぞれ接続されたデータ圧縮器38a、・・・とを有する。セレクタ314a、・・・は、スキャンチェーン52a、52b、52c、・・・を個別に選択する。複数のスキャンチェーン52a、52b、52cと1つのデータ圧縮器38aとの間にセレクタ314a、・・・が接続されている。複数のスキャンチェーン52a、52b、52cは1つのデータ圧縮器38aを兼用している。BIST制御回路22bは、セレクタ314a、・・・に接続されている。図4においては、3つのスキャンチェーン52a、52b、52cが1つのデータ圧縮器38aを兼用している例を示す。
【0026】
故障解析の手順を図4に示した半導体集積回路31を例として説明する。
【0027】
最初に、テストパタン発生器29をフェイルパタンの初期状態にセットする。BIST制御回路22bは各セレクタ314a、・・・に対して制御信号を送信する。各セレクタ314a、・・・は、1番目のスキャンチェーン52a、・・・を選択してデータ圧縮器38a、・・・と接続する。総てのスキャンチェーン52a、52b、52c、・・・へフェイルパタンをロードし、キャプチャを終える。そして、データ圧縮器38a、・・・は、各セレクタ314a、・・・の1番目のスキャンチェーン52a、・・・のキャプチャデータに対してシグネチャを作成し、シグネチャをテスト解析結果Ot1としてテスタ15へ送信する。テスタ15は、テスタ15が持つ期待値シグネチャと比較して良否を記録する。
【0028】
次に、BIST制御回路22bは、2番目のスキャンチェーン52b、・・・とデータ圧縮器38a、・・・とを接続するようにセレクタ314a、・・・を制御する。テストパタン発生器29は、先と同様にフェイルパタンの初期状態にセットされ、総てのスキャンチェーン52a、52b、52c、・・・へフェイルパタンをロードし、キャプチャを行う。そして、データ圧縮器38a、・・・は、2番目のスキャンチェーン52b、・・・のキャプチャデータに対してシグネチャを作成する。作成されたシグネチャは、テスト解析結果Ot1としてテスタ15に出力され、テスタ15において期待値シグネチャと比較される。各セレクタ314a、・・・の3番目のスキャンチェーンに対しても同様に行う。
【0029】
このように、逐次的な処理をおこなうことで、複数のスキャンチェーン52a、52b、52c、・・・が1つデータ圧縮器38a、・・・を兼用しても、容易に故障が伝搬したスキャンチェーンを特定することが出来る。即ち、データ圧縮器38a、・・・を兼用する場合でも、期待値シグネチャはスキャンチェーン52a、52b、52c、・・・毎に持つことになる。総てのスキャンチェーン52a、52b、52c、・・・に個別にデータ圧縮器38a、・・・が接続される図1に示した半導体集積回路21に比べて、エリアペナルティを減らすことができる。なお、図1に示した半導体集積回路21に比べて、不良解析時間は兼用本数倍(3倍)である。実行時間とエリアペナルティはトレードオフの関係にある。
【0030】
図4に示した半導体集積回路におけるスキャンチェーン特定手順の一例を図5を参照して説明する。先ず、S200段階において、初期化(i=1)を行うことにより、セレクタ314a、・・・毎の1番目のスキャンチェーン52a、・・・を選択する。なお、選択されたスキャンチェーン52a、・・・の数は、セレクタ314a、・・・の数とデータ圧縮器38aの組の数と等しい。次に、S210段階において、ロジックBISTを実行する。ロジックBISTの結果としてフェイルログ251が得られる。なお、選択された1番目のスキャンチェーン52a、・・・のテスト結果のみを圧縮し、期待値シグネチャと比較する。
【0031】
次に、S220段階において、iが1つのデータ圧縮器を兼用するスキャンチェーンの数(セレクト数)より小さいか否かを判断する。iがセレクト数よりも小さい場合(S220段階にてYes)、S230段階において、iに1加えたものを新たにiと定義する。そして、S210段階に戻り、2番目のスキャンチェーン52b、・・・について、S210及びS220段階を実施する。以下同様にして、1つのデータ圧縮器を兼用する総てのスキャンチェーン52a〜52cについて、S210及びS220段階を繰り返し実施する。そして、iがセレクト数と同じである場合(S220段階にてNo)、S240段階において、最終的なフェイルログ251を解析する。解析結果としてフェイルスキャンチェーン255の情報が得られる。このようにして、フェイルスキャンチェーンを特定することが出来る。
【0032】
(第1の実施の形態の第2の変形例)
図6に示すように、本発明の第1の実施の形態の第2の変形例に係る半導体集積回路41は、複数のスキャンチェーン52a、52b、52c、・・・と、スキャンチェーン52a、52b、52c、・・・の入力に接続されたテストパタン発生器29と、スキャンチェーン52a、52b、52c、・・・の出力に接続されたテスト結果圧縮部110cと、テストパタン発生器29及びテスト結果圧縮部110cに接続されたBIST制御回路22cと、BIST制御回路22cに接続されたシフトカウンタ23と、BIST制御回路22cに接続されたパタンカウンタ24とを有する。BIST制御回路22c及びテスト結果圧縮部110cは、半導体集積回路41の外部に配置されたテスタ15にそれぞれ接続されている。テスト結果圧縮部110cは、スキャンチェーン52a、52b、52c、・・・を個別に選択する。スキャンチェーン52a、52b、52c、・・・は、被テストロジック211を構成する。
【0033】
第1の実施の形態の第2の変形例において、テスト結果圧縮部110cは、スキャンチェーン52a、52b、52c、・・・の出力に接続されたモード切換回路414と、モード切換回路414に接続されたデータ圧縮器48とを有する。スキャンチェーン52a、52b、52c、・・・とデータ圧縮器48との間にはモード切換回路414が接続されている。モード切換回路414は、スキャンチェーン52a、52b、52c、・・・とデータ圧縮器48と間の接続関係を切り替えることが出来る。具体的には、モード切換回路414は、スキャンチェーン52a、52b、52c、・・・を個別に選択し、選択されたスキャンチェーン52a、52b、52c、・・・とデータ圧縮器48とを接続することが出来る。また、モード切換回路414は、総てのスキャンチェーン52a、52b、52c、・・・を同時に選択し、総てのスキャンチェーン52a、52b、52c、・・・とデータ圧縮器48とを接続することも出来る。即ち、テスト結果圧縮部110cは、データ圧縮器48が総てのスキャンチェーン52a、52b、52c、・・・によって共有された構成を有する。
【0034】
通常の自己試験時には、モード切換回路414はスキャンチェーン52a、52b、52c、・・・とデータ圧縮器48をそのまま、もしくは空間的な圧縮(スペースコンパクト)をして接続する。自己試験の結果、不良があることが判明した場合、故障解析モードによって解析を行う。検査対象の半導体集積回路41内のBIST制御回路22cは、テスタ15から制御信号In3を受信し、通常の自己試験から故障解析モードへ切り換える。故障解析モードに切り換わると、BIST制御回路22cはモード切換回路414へ指示信号を送信する。指示信号を受信したモード切換回路414は、スキャンチェーン52a、52b、52c、・・・とデータ圧縮器48とをBIST制御回路22cの指示に従って選択し接続する。その結果、モード切換回路414及びデータ圧縮器48は、図4に示したセレクタ314a、・・・及びデータ圧縮器38a、・・・と同じ構成を有する。したがって、図5に示した不良解析手順と同様にして、フェイルスキャンチェーンを特定することが出来る。
【0035】
図7に示すように、モード切換回路414は、スキャンチェーン52a〜52eに接続されたセレクタ240と、排他的論理和回路242と、論理積回路246b〜246eと、スキャンチェーン52a及び排他的論理和回路242に接続されたセレクタ244とを有する。スキャンチェーン52a〜52eの出力は、セレクタ240の入力に接続されている。スキャンチェーン52b〜52eの出力は、論理積回路246b〜246eの入力にそれぞれ接続されている。セレクタ240の出力は、排他的論理和回路242の入力に接続されている。排他的論理和回路242の出力及びスキャンチェーン52aの出力は、セレクタ244の入力に接続されている。セレクタ244は、モード制御信号Ct1に従って動作が制御される。モード制御信号Ct1は、論理積回路246b〜246eの入力にも送信される。
【0036】
一方、データ圧縮器48は、5つのレジスタ232a〜232eと、5つの排他的論理和回路230a〜230eとを有する。5つのレジスタ232a〜232eと、5つの排他的論理和回路230a〜230eとは、交互に直列に接続されている。具体的には、排他的論理和回路230aの出力はレジスタ232aの入力に接続され、レジスタ232aの出力は、排他的論理和回路230bの一方の入力に接続されている。以下同様にして、排他的論理和回路230b〜230eと、レジスタ232b〜232eとは、交互に直列に接続されている。最終段のレジスタ232eの出力は、先頭の排他的論理和回路230aの一方の入力に接続されている。排他的論理和回路230aの他方の入力には、モード切換回路414内のセレクタ244の出力が接続されている。排他的論理和回路230b〜230eの他方の入力には、モード切換回路414内の論理積回路246b〜246eの出力が接続されている。最終段のレジスタ232eの出力は、特定の排他的論理和回路230cの入力にも接続されている。レジスタ232a〜232dの出力は、モード切換回路414内の排他的論理和回路242の入力に接続されている。
【0037】
セレクタ240は、スキャンチェーン選択信号Sl1に従ってスキャンチェーン52a〜52eを選択する。セレクタ240は、選択したスキャンチェーン52a〜52eと排他的論理和回路242の入力とを接続する。セレクタ244は、モード制御信号Ct1に従って、排他的論理和回路242の出力或いはスキャンチェーン52aの出力を選択する。
【0038】
モード制御信号Ct1が1の時、セレクタ244は、スキャンチェーン52aの出力と排他的論理和回路230aの入力とを接続する。排他的論理和回路230a〜230eの入力は、スキャンチェーン52a〜52eの出力に接続される。従って、データ圧縮器48は、スキャンチェーン52a〜52eからパラレルにテスト結果を取り込みながら、テスト結果のデータを圧縮していく。最終的にレジスタ232a〜232eに残った出力データ234a〜234eが圧縮結果である。このように、自己試験実行時においては、モード制御信号Ct1を1に設定される。この自己試験モードにおいて、スキャンチェーン選択信号Sl1は回路動作に影響を与えない。
【0039】
モード制御信号Ct1が0の時、セレクタ244は、排他的論理和回路242の出力と排他的論理和回路230aの入力とを接続する。排他的論理和回路230a〜230eの入力は、スキャンチェーン52a〜52eの出力に接続されない。レジスタ232a〜232dの出力の排他的論理和の演算結果が排他的論理和回路230aに入力され、同時に、レジスタ232eの出力も排他的論理和回路230aに入力される。即ち、データ圧縮器48は、図2(a)に示したLFSRと同様な構成を有する。したがって、排他的論理和回路230aは、セレクタ240によって選択されたスキャンチェーン52a〜52eからのデータと、各レジスタ232a〜232dの出力データ234a〜234eとの排他的論理和を取り込む。なお、データを取り込むスキャンチェーン52a〜52eは、セレクタ240及びスキャンチェーン選択信号Sl1により選ばれる。
【0040】
なお、図7においては、説明を容易にするため、スペースコンパクタが無い場合の例を示したが、スペースコンパクタがあっても基本的な動作は変わらない。
【0041】
このように、モード切換回路414は、自己試験モードと故障解析モードとを切り換えることが出来るため、複数のスキャンチェーン52a、52b、52c、・・・が1つデータ圧縮器48を兼用することが出来る。よって、容易に故障が伝搬したスキャンチェーンを特定することが出来る。即ち、データ圧縮器48を兼用する場合でも、期待値シグネチャはスキャンチェーン52a、52b、52c、・・・毎に持つことになる。総てのスキャンチェーン52a、52b、52c、・・・に個別にデータ圧縮器38a、・・・が接続される図1に示した半導体集積回路21に比べて、エリアペナルティを減らすことができる。
【0042】
(比較例)
図8に示すように、本発明の第1の実施の形態の比較例に係る半導体集積回路11は、複数のスキャンチェーン17a、17b、17c、・・・と、スキャンチェーン17a、17b、17c、・・・の入力に接続されたテストパタン発生器19と、スキャンチェーン17a、17b、17c、・・・の出力に接続されたテスト結果圧縮器16と、テストパタン発生器19及びテスト結果圧縮器16に接続されたBIST制御回路12と、BIST制御回路12に接続されたシフトカウンタ13と、BIST制御回路12に接続されたパタンカウンタ14とを有する。BIST制御回路12及びテスト結果圧縮器16は、半導体集積回路11の外部に配置されたテスタ15にそれぞれ接続されている。スキャンチェーン17a、17b、17c、・・・は、被テストロジック18を構成する。
【0043】
テスタ15から入力される自己試験モード設定用の外部入力信号In4により、半導体集積回路11は、自己試験モードに設定され、自己テストが実行される。スキャンチェーン17への入力はテストパタン発生器19により自動的に生成される。また、スキャンチェーン17からのテスト結果出力は、テスト結果圧縮器16に送信される。テスト結果圧縮器16は、入力データをある特定のビット長のデータ(シグネチャ)に圧縮する。最終的に被テストロジック18のテスト解析結果が出力され、良否の判定が行われる。
【0044】
しかしながら、図8に示したロジックBISTでは、ロジックBISTは半導体集積回路11内部で故障の有無を判定するため、そのままでは故障解析に必要な情報が得られない。故障解析には、フェイルパタン及びフェイルスキャンF/F回路の情報が必要であるので、図8に示した通常のロジックBISTとは異なる動作でこれらの情報を得る必要がある。
【0045】
例えば、ロジックBISTで故障解析を行う場合、1パタン毎に動作を分割する手法がある。ここで1パタンとは、並列的にスキャンF/F回路に取り込んだ論理値を、直列的に外部へ出力までの動作を指す。スキャンF/F回路に並列的に論理値を取り込むことをパラレルキャプチャと呼ぶ。また、スキャンF/F回路の論理値を直列的に外部へ出力することをシリアルシフトアウトと呼び、これに対して外部から直列的に入力することをシリアルシフトインと呼ぶ。一般的に、第n番目のパタンのシリアルシフトアウトと第n+1番目のパタンのシリアルシフトインは同時に行う。ここでは、パラレルキャプチャからシリアルシフトアウトが終了するまでを1パタンの区切りとする。このとき、1パタン毎にテスト結果解析器の状態をテスタ15で比較すれば、どのパタンで期待値とシグネチャが異なるかがわかるため、故障を検出するテストパタンを特定できる。
【0046】
次に、フェイルスキャンF/F回路の位置を知る必要がある。このために、図8に示した半導体集積回路11を図9に示すようなスキャンテストモードに切り換える。図9に示すように、半導体集積回路11は、テスタ15から送信される制御信号In5によりスキャンテストモードに切り換わる。すると、被テストロジック18は、テストパタン発生器19及びテスト結果圧縮器16から切り離され、替わりにテスタ15と接続される。具体的には、スキャンチェーン17a、17b、17c、・・・は、互いに直列に接続され、初段のスキャンチェーン17aの入力及び最終段のスキャンチェーンの出力がそれぞれテスタ15のスキャンチャネルに接続される。
【0047】
図9に示したスキャンテストモードにおいて、自己試験モードにて特定されたフェイルパタンを外部からスキャンイン、スキャンアウトすることでフェイルスキャンF/F回路を特定する。
【0048】
図8及び図9に示した半導体集積回路11は、いくつかの問題を有する。ひとつは、テストパタンを得るためにテスタの実行結果を解析しなければならないことである。この解析時間に加え、図9に示したように、スキャンテストモードに切り換えての複数回テストを行うためにテスタ時間が長くなってしまう。また、スキャンテストパタンを別途用意する必要と、スキャン設計を作りこむ必要があるため設計時間が伸びてしまう。さらには、スキャンテストモードに切り換えてしまうために、ロジックBISTでないと検出できない故障に対しては故障解析が行えない不良の再現性の問題もある。これは、ロジックBISTによって実動作速度テストを行っている場合は重大な問題となる。
【0049】
(第2の実施の形態)
図10に示すように、本発明の第2の実施の形態において、スキャンチェーン52a、52b、・・・のそれぞれは複数のブロック52aa、52ab、・・・、52ba、52bb、・・・を有する。即ち、テストパタン発生器29に接続された各スキャンチェーン52a、52b、・・・は、複数のブロック52aa、52ab、・・・、52ba、52bb、・・・に分割されている。また、半導体集積回路は、これらのブロック52aa、52ab、・・・、52ba、52bb、・・・のそれぞれの最終段の出力に個別に接続された複数のデータ圧縮器53aa、53ab、・・・、53ba、53bb、・・・を更に有する。第2の実施の形態においては、1つのスキャンチェーン52a、52b、・・・を、5つのブロック52aa〜52ad、52ba〜52bdにそれぞれ分割し、5つのデータ圧縮器53aa〜53ad、53ba〜53bdを個別に接続した場合を例に取り説明する。なお、各スキャンチェーン52a、52b、・・・の最終段のブロック52ad、52bd、・・・に接続されたデータ圧縮器53ad、53bd、・・・は、図1に示したデータ圧縮器28a、28b、28c、・・・をそのまま使用することは可能である。また、分割するブロックの数は、5に限らず、1〜4或いは6以上であっても構わない。
【0050】
図10に示した回路構成により、ブロック52aa、52ab、・・・、52ba、52bb、・・・のそれぞれに対する期待値シグネチャを用意するだけで、故障が伝搬するスキャンF/F回路が属するブロック(フェイルブロック)52aa、52ab、・・・、52ba、52bb、・・・を特定することができる。故障が伝搬するスキャンF/F回路が属するブロック52aa、52ab、・・・、52ba、52bb、・・・を特定することができれば、特定のブロック52aa、52ab、・・・、52ba、52bb、・・・のキャプチャデータのみをテスト結果のデータとして図1のテスタ15に戻せばよい。したがって、フェイルメモリの少ないテスタ15であっても問題なくロジックBISTを実施し、フェイルログを解析することが出来る。
【0051】
図11を参照して、図10に示した回路構成によってフェイルスキャンチェーン内のフェイルブロックを特定する手順を説明する。先ず、S300段階において、フェイルスキャンチェーン254の情報とフェイルパタン252を基にロジックBISTを実行する。この結果、フェイルログ257が得られる。そして、S310段階において、フェイルログ257を解析して、フェイルスキャンチェーン254内で故障が伝搬するスキャンF/F回路が属するブロック260を特定する。
【0052】
図12を参照して、図10に示した回路構成によってフェイルスキャンチェーン内のブロックを特定し、ブロック内のテスト結果をテスタ15に出力する手順を説明する。先ず、図11のフローチャートと同様にして、S400段階において、フェイルスキャンチェーン256の情報とフェイルパタン253を基にロジックBISTを実行する。この結果、フェイルログ258が得られる。フェイルログ258には、ブロック内のテスト結果のデータが含まれる。なぜなら、シグネチャを比較した結果が不一致であった場合は、ブロック内のテスト結果のデータをテスタ15に出力するからである。そして、S410段階において、フェイルログ258を解析して、フェイルスキャンチェーン256内で故障が伝搬するスキャンF/F回路が属するブロック260及びスキャンF/F回路262を特定する。
【0053】
(第2の実施の形態の第1の変形例)
図13に示すように、本発明の第2の実施の形態の第1の変形例において、スキャンチェーン52a、52b、・・・のそれぞれは複数のブロック52aa、52ab、・・・、52ba、52bb、・・・を有する。即ち、テストパタン発生器29に接続された各スキャンチェーン52a、52b、・・・は、複数のブロック52aa、52ab、・・・、52ba、52bb、・・・に分割されている。また、半導体集積回路は、ブロック52aa、52ba、52ab、52bb、・・・の最終段の出力に接続されたセレクタ66aa、66ab、・・・と、セレクタ66aa、66ab、・・・に接続されたデータ圧縮器53aa、53ab、・・・とを有する。セレクタ66aa、66ab、・・・は、ブロック52aa、52ba、52ab、52bb、・・・を個別に選択する。複数のブロック52aa、52ba、52ab、52bb、・・・と1つのデータ圧縮器53aa、53ab、・・・との間には、セレクタ66aa、66ab、・・・が接続されている。複数のブロック52aa、52ba、52ab、52bb、・・・は、1つのデータ圧縮器53aa、53ab、・・・を兼用している。図13においては、隣り合う2つのブロック52aa、52baが1つのデータ圧縮器53aaを兼用している場合を例に取り説明する。
【0054】
複数のブロックが1つのデータ圧縮器を兼用することで、エリアペナルティを減らすことが可能である。セレクタがデータ圧縮器を兼用するブロックを個別に選択することにより、逐次的にシグネチャを比較して、総てのブロックに対して故障の伝搬を確認することが出来る。
【0055】
なお、解析時間は、データ圧縮器を兼用するブロックの増加に伴い増加し、エリアペナルティとトレードオフの関係にある。また、1つの圧縮器を兼用するブロックの数は、2つの場合に限らず、3つ以上であっても構わない。
【0056】
(第2の実施の形態の第2の変形例)
図14に示すように、本発明の第2の実施の形態の第2の変形例において、スキャンチェーン52a、52b、・・・のそれぞれは複数のブロック52aa、52ab、・・・、52ba、52bb、・・・を有する。即ち、テストパタン発生器29に接続された各スキャンチェーン52a、52b、・・・は、複数のブロック52aa、52ab、・・・、52ba、52bb、・・・に分割されている。また、半導体集積回路は、ブロック52aa、52ba、52ab、52bb、・・・のそれぞれの最終段の出力に接続されたセレクタ75a、・・・と、セレクタ75a、・・・に接続されたデータ圧縮器76a、・・・とを有する。セレクタ75a、・・・は、ブロック52aa、52ab、・・・52ba、52bb、・・・を個別に選択する。複数のブロック52aa、52ab、・・・52ba、52bb、・・・と1つのデータ圧縮器76a、・・・との間には、セレクタ75a、・・・が接続されている。複数のブロック52aa、52ab、・・・52ba、52bb、・・・は、1つのデータ圧縮器76a、・・・を兼用している。図14においては、隣り合う2つのスキャンチェーン52a、52bに属する総てのブロック52aa〜52ae、52ba〜52beが1つのデータ圧縮器76aを兼用する場合を例に取り説明する。
【0057】
図13に示したデータ圧縮器53aa、・・・は、2つのブロック52aa、52ba、・・・に兼用されている。これに比して、図14に示したデータ圧縮器76aa、・・・は、10個のブロック52aa〜52ae、52ba〜52beに兼用されている。したがって、大幅にエリアペナルティを減らすことが可能である。なお、各ブロック52aa〜52ae、52ba〜52beからのデータは、セレクタ75aによって選択されてデータ圧縮器76aに入力され、シグネチャをそれぞれ生成する。
【0058】
なお、2つのスキャンチェーン52a、52bに属する総てのブロック52aa〜52ae、52ba〜52beが1つのデータ圧縮器76aを兼用する場合を示したが、3つ以上のスキャンチェーンに属する総てのブロックが1つのデータ圧縮器76aを兼用しても構わない。
【0059】
(第2の実施の形態の第3の変形例)
図15に示すように、本発明の第2の実施の形態の第3の変形例において、スキャンチェーン52a、52b、・・・のそれぞれは複数のブロック52aa、52ab、・・・、52ba、52bb、・・・を有する。即ち、テストパタン発生器29に接続された各スキャンチェーン52a、52b、・・・は、複数のブロック52aa、52ab、・・・、52ba、52bb、・・・に分割されている。また、半導体集積回路は、ブロック52aa、52ab、・・・52ba、52bb、・・・のそれぞれの最終段の出力に接続されたセレクタ89a、・・・と、セレクタ89a、・・・に接続されたモード切替回路414と、モード切替回路414に接続されたデータ圧縮器48とを有する。セレクタ89a、・・・は、ブロック52aa、52ab、・・・52ba、52bb、・・・を個別に選択する。複数のブロック52aa、52ab、・・・52ba、52bb、・・・と1つのデータ圧縮器48との間には、セレクタ89a、・・・及びモード切換回路414が接続されている。複数のブロック52aa、52ab、・・・52ba、52bb、・・・は、1つのデータ圧縮器48を兼用している。図15においては、隣り合う2つのスキャンチェーン52a、52bに属する総てのブロック52aa〜52ae、52ba〜52beが1つのデータ圧縮器48を兼用する場合を例に取り説明する。
【0060】
複数のセレクタ89a、・・・と1つのデータ圧縮器48との間にモード切換回路414を配置することにより、データ圧縮器48は自己試験モードで用いるテスト結果圧縮器としても兼用でき、エリアペナルティが大幅に減少することが出来る。自己試験モードのとき、セレクタ89a、・・・及びモード切換回路414は、総てのスキャンチェーン52a、52b、・・・とデータ圧縮器48とを直接もしくは空間的圧縮(スペースコンパクト)して接続する。これに対して、故障解析モードのとき、セレクタ89a、・・・及びモード切換回路414は、特定のブロック52aa〜52ae、52ba〜52be、・・・とデータ圧縮器48とを直接に接続する。したがって、データ圧縮器48はブロック52aa〜52ae、52ba〜52be、・・・ごとのシグネチャを生成可能である。モード切換回路414の回路構成は、例えば、図7に示した回路構成と同じである。
【0061】
(第2の実施の形態の第4の変形例)
図16に示すように、本発明の第2の実施の形態の第4の変形例において、スキャンチェーン52a、52b、・・・のそれぞれは複数のブロック52aa、52ab、・・・、52ba、52bb、・・・を有する。即ち、テストパタン発生器29に接続された各スキャンチェーン52a、52b、・・・は、複数のブロック52aa、52ab、・・・、52ba、52bb、・・・に分割されている。また、半導体集積回路は、ブロック52aa、52ba、52ab、52bb、・・・の最終段の出力に接続された排他的論理和回路67aa、67ab、・・・と、排他的論理和回路67aa、67ab、・・・に接続されたデータ圧縮器53aa、53ab、・・・とを有する。複数のブロック52aa、52ba、52ab、52bb、・・・と1つのデータ圧縮器53aa、53ab、・・・との間には、排他的論理和回路67aa、67ab、・・・が接続されている。複数のブロック52aa、52ba、52ab、52bb、・・・は、1つのデータ圧縮器53aa、53ab、・・・を共有している。図16においては、隣り合う2つのブロック52aa、52baが1つのデータ圧縮器53aaを兼用している場合を例に取り説明する。
【0062】
図13に示した2つのブロック52aa、52ba、・・・は、セレクタ66aa、66ab、・・・を介してデータ圧縮器53aa、・・・を兼用している。これを「セレクタ方式」という。このセレクタ方式に比して、図16に示した2つのブロック52aa、52ba、・・・は、排他的論理和回路67aa、67ab、・・・を介してデータ圧縮器53aa、・・・を共有している。したがって、複数のスキャンチェーンのブロックを単位(フェイルスキャンブロック)として、故障が伝搬するスキャンF/F回路を特定することが出来る。例えば、故障が伝搬するスキャンチェーン52a或いはスキャンチェーン52bを特定できない状態であっても、ブロック52aa或いはブロック52baのどちらかに故障が伝搬していることを特定することが出来る。
【0063】
図17を参照して、図16に示した回路構成によってフェイルスキャンチェーン内で故障が伝搬するブロック(フェイルスキャンブロック)を特定し、ブロック内のテスト結果をテスタ15に出力する手順を説明する。先ず、S600段階において、フェイルパタン163に対してロジックBISTを実行する。この結果、フェイルログ164が得られる。フェイルログ164には、ブロック内のテスト結果のデータが含まれる。そして、S610段階において、フェイルログ164を解析して、フェイルスキャンブロック165を特定する。
【0064】
(第3の実施の形態)
図18に示すように、本発明の第3の実施の形態において、複数のスキャンF/F回路99a、99b、99c、・・・は、シフトレジスタ状に直列に接続され、スキャンチェーン92を構成する。スキャンF/F回路99a、99b、99c、・・・の出力は、排他的論理和回路(XOR回路)96a、96b、96c、・・・の一方の入力に接続されている。XOR回路96a、96b、96c、・・・の出力は、セレクタ(MUX)93a、93b、93c、・・・の一方の入力に接続されている。排他的論理和回路(XOR回路)96a、96b、96c、・・・の他方の入力には、制御信号97a、97b、97c、・・・が供給される。MUX93a、93b、93c、・・・の他方の入力には、第1の組み合せ回路91に接続されている。スキャンF/F回路99a、99b、99c、・・・の出力には、第2の組み合せ回路912が接続されている。MUX93a、93b、93c、・・・は、セレクト信号94a、94b、94c、・・・に従って何れかの入力を選択する。このように、図18においては、各スキャンF/F回路99a、99b、99c、・・・に、1つのXOR回路96a、96b、96c、・・・及び1つのMUX93a、93b、93c、・・・が付されている。
【0065】
セレクト信号94a、94b、94c、・・・が論理値1である時、MUX93a、93b、93c、・・・は、第1の組み合せ回路91からのデータを受け取り、スキャンF/F回路99a、99b、99c、・・・へ送信する。セレクト信号94a、94b、94c、・・・が論理値0である時、MUX93a、93b、93c、・・・は、XOR回路96a、96b、96c、・・・の出力を受け取り、スキャンF/F回路99a、99b、99c、・・・へ送信する。
【0066】
制御信号97a、97b、97c、・・・が論理値1である時、XOR回路96a、96b、96c、・・・は、スキャンF/F回路99a、99b、99c、・・・が保持する論理値の逆値をMUX93a、93b、93c、・・・へ送信する。この時に、スキャンF/F回路99a、99b、99c、・・・にクロック信号が入ると、スキャンF/F回路99a、99b、99c、・・・の論理値は反転される。制御信号97a、97b、97c、・・・が論理値0である時、XOR回路96a、96b、96c、・・・は、スキャンF/F回路99a、99b、99c、・・・が保持する論理値をそのままMUX93a、93b、93c、・・・へ送信する。この時に、スキャンF/F回路99a、99b、99c、・・・にクロック信号が入ると、スキャンF/F回路99a、99b、99c、・・・の論理値は保持(ホールド)される。この回路構成において、セレクト信号94a、94b、94c、・・・と制御信号97a、97b、97c、・・・によって、各スキャンF/F回路99a、99b、99c、・・・の動作(ホールド、反転、取り込み)を決定できる。
【0067】
本発明の第3の実施の形態によれば、故障が伝搬しているスキャンF/F回路を半導体集積回路内部で特定することが可能である。テスタ15のフェイルメモリへは、故障が伝搬したスキャンF/F回路の情報のみを送信すればよいため、必要なフェイルメモリはさらに小さくて良い。
【0068】
(第3の実施の形態の変形例)
図19に示すように、本発明の第3の実施の形態の変形例において、図10及び図13〜16に示した1つのブロック(例えば、ブロック52aa)は、複数のスキャンF/F回路99a、99b、99c、・・・を有する。複数のスキャンF/F回路99a、99b、99c、・・・は、シフトレジスタ状に直列に接続され、スキャンチェーン92を構成する。スキャンF/F回路99a、99b、99c、・・・の出力は、XOR回路96a、96b、96c、・・・の一方の入力に接続されている。XOR回路96a、96b、96c、・・・の出力は、MUX93a、93b、93c、・・・の一方の入力に接続されている。XOR回路96a、96b、96c、・・・の他方の入力は、トグルF/F回路101に接続されている。MUX93a、93b、93c、・・・の他方の入力には、第1の組み合せ回路91に接続されている。スキャンF/F回路99a、99b、99c、・・・の出力には、第2の組み合せ回路912が接続されている。MUX93a、93b、93c、・・・は、シフトカウンタ102に接続されている。トグルF/F回路101及びシフトカウンタ102は、制御線103、104によってそれぞれ制御回路59に接続されている。
【0069】
トグルF/F回路101は、制御信号95をXOR回路96a、96b、96c、・・・の他方の入力へそれぞれ供給する。シフトカウンタ102は、セレクト信号100a、100b、100c、・・・を用いてMUX93a、93b、93c、・・・を制御する。MUX93a、93b、93c、・・・は、セレクト信号100a、100b、100c、・・・に従って何れかの入力を選択する。制御回路59は、トグルF/F回路101及びシフトカウンタ102の動作を制御する。
【0070】
シフトカウンタ102が0である時、スキャンF/F回路99aがセレクト信号100aにより選択される。シフトカウンタ102がひとつカウントアップすると、スキャンF/F回路99bがセレクト信号100bにより選択される。シフトカウンタ102が更にひとつカウントアップすると、スキャンF/F回路99cがセレクト信号100cにより選択される。このように、シフトカウンタ102は、シフトレジスタに属する始点から終点までのスキャンF/F回路99a、99b、99c、・・・を一つづつ選択する。トグルF/F回路101は、クロックが入る度に0と1とを反転する機能を有する。
【0071】
図1、図4及び図6に示したスキャンチェーン52a、52b、52c、・・・に対して、図19に示したスキャンチェーン92を適用することにより、故障が伝搬しているスキャンF/F回路を特定することが出来る。ただし、故障が伝搬するスキャンF/F回路は探索範囲中に高々一つのみとする。スキャンチェーンが比較的長い場合、このような条件を満たすのは一般的に難しい。そこで、図10、図13〜16に示したスキャンチェーンのブロック分割を利用する。この結果、特定ブロック内に高々一つのスキャンF/F回路のみに故障の影響が伝搬する場合には、フェイルスキャンF/F回路を特定することが出来る。
【0072】
なお、図19に示したシフトカウンタ102は、ロジックBISTが通常もっているシフトカウンタと兼用することができる。
【0073】
図20及び図21を参照して、図19に示した回路構成によって故障が伝搬するスキャンF/F回路を特定する手順を説明する。ここでは、対象ブロックに3つのスキャンF/F回路99a、99b、99cが属しており、故障120の影響はスキャンF/F回路99bに伝搬している。スキャンチェーン92によって、スキャンF/F回路99a、99b、99cにスキャンインする論理値は、[010]である。その結果、スキャンF/F回路99aには論理値0が登録され、スキャンF/F回路99bには論理値1が登録され、スキャンF/F回路99cには論理値0が登録される。故障が無い場合(第1の組合せ回路91が正常な場合)、スキャンF/F回路99a、99b、99cが第1の組合せ回路91から取り込む論理値は、[101]である。これに対して、故障120が発生した場合、スキャンF/F回路99bは、0でなく、1を取り込む。この様子を図20において「0/1」と表す。この結果、故障120が有る(第1の組み合せ回路91が異常である)場合、スキャンF/F回路99a、99b、99cは、それぞれ[111]の信号を取り込む。このブロックに対してシグネチャ比較を行うと、期待値と一致しない為、スキャンF/F回路99a、99b、99cの少なくとも1つに故障120が伝搬していることが分る。
【0074】
以下に、故障120が伝搬するスキャンF/F回路を特定する方法を説明する。
【0075】
(イ)先ず、制御回路59は、シフトカウンタ102を論理値0に(S700段階)、トグルF/F回路101を論理値0に(S701)、それぞれ設定する。セレクト信号100aは論理値0に、セレクト信号100b、100cは論理値1になる。また、制御信号95は論理値0になる。S702段階において、フラグに0を設定する。
【0076】
(ロ)次に、S703段階において、スキャンチェーン92を用いて、3つのスキャンF/F回路99a、99b、99cに、[010]の信号をスキャンシフトインする。
【0077】
(ハ)次に、S704段階において、クロックを印加して第1の組合せ回路91から信号を取り込む。スキャンF/F回路99b、99cは、第1の組み合せ回路91から信号[11]をMUX93b、93cを介して取り込む。スキャンF/F回路99aは、XOR回路96aを介して自己の論理値0を保持する。この結果、故障120が有るため、スキャンF/F回路99a、99b、99cには、それぞれ[011]の信号が登録される。
【0078】
(ニ)そして、S705段階において、スキャンF/F回路99a、99b、99cの論理値[011]をシフトアウトし、圧縮する。S706段階において、シグネチャ(圧縮結果)と期待値と比較する。シグネチャが期待値と一致する場合(S707段階においてYes)、スキャンF/F回路99aに故障120が伝搬していることが分る(S708段階)。なぜなら、スキャンF/F回路99aだけが第1の組合せ回路91から信号を取り込まず、自己の論理値を保持することで、故障120の影響が解消されているからである。
【0079】
(ホ)シグネチャが期待値と一致しない場合(S707段階においてNo)、S709段階において、フラグを確認する。トグルF/F回路101が0のままである場合、フラグも0である。この場合、制御回路59は、トグルF/F回路101の論理値を反転させて1に設定し(S713段階)、フラグを1に設定する(S714段階)。この結果、制御信号95は論理値1となる。シフトカウンタ102の状態は変更しない為、セレクト信号100a〜100cは変化しない。そして、S703段階に戻り、S703〜709段階を実施する。即ち、この状態で、スキャンチェーン92を用いて、3つのスキャンF/F回路99a、99b、99cに、フェイルパタン[010]をスキャンシフトインし、クロックを入れる。なお、制御信号95は1である為、スキャンF/F回路99aは、スキャンシフトインしている論理値0を反転して論理値1を登録する。スキャンF/F回路99b、99cは、第1の組み合せ回路91から論理値 [11]をそれぞれ取り込む。この結果、スキャンF/F回路99a、99b、99cに登録されている論理値は、[111]となる。S707段階においてYesであれば、先ほどと同様に、スキャンF/F回路99aに故障120の影響が伝搬していることが判明する。しかし、第1の組み合せ回路91に故障120が無い場合に期待される論理値は[101]であり、スキャンシフトアウトされた論理値[111]と異なるため、圧縮結果も異なる。よって、S709へ進む。
【0080】
(へ)フラグを確認する(S709)。フラグは1である為(S709にてNo)、スキャンF/F回路99aに故障120の影響が伝搬していないことが判明する。このように、スキャンF/F回路99aが論理値をそのまま保持する第1の動作及びスキャンF/F回路99aが論理値を反転させる第2の動作から、第1の組み合せ回路91に発生した故障120の影響は、スキャンF/F回路99aに伝搬していないことが分る。なぜならば、スキャンF/F回路99aの論理値が0であっても1であっても期待値と一致しないことは、他のスキャンF/F回路99b、99cの何れかに故障120の影響が伝搬していることを示しているからである。即ち、スキャンF/F回路99aの論理値に関わらず期待値シグネチャが一致しないことは、他のスキャンF/F回路99b、99cの論理値に誤りがあることを示しているからである。
【0081】
(ト)そして、S700段階でまだ設定していないスキャンF/F回路の有無を確認する(S711)。S711段階においてNOであれば、対象スキャンF/F回路をスキャンF/F回路99aからスキャンF/F回路99b、99cに変更し(S712)、S701段階に戻る。具体的には、制御回路59はシフトカウンタ102をカウントアップする。同時に、トグルF/F回路101の論理値を0に制御する。その結果、セレクト信号100bは論理値0に、セレクト信号100a、100cは論理値1になる。また、制御信号95は論理値0になる。この状態で、フェイルパタン[010]をスキャンシフトインしてクロックを入れると、スキャンF/F回路99a、99b、99cの論理値はそれぞれ[111]になる。この状態で、フェイルパタン[010]をスキャンシフトイン(S703)してクロックを入れる(S704)と、スキャンF/F回路99a、99b、99cの論理値はそれぞれ[111]になる。
【0082】
(チ)スキャンF/F回路99a、99b、99cは、論理値[111]をデータ圧縮器へスキャンシフトアウトする(S705)。第1の組み合せ回路91に故障120が無い場合に期待される論理値は[101]であり、スキャンシフトアウトされた論理値[111]と異なるため、圧縮結果も異なる(S707)。制御回路59は、トグルF/F回路101の論理値を反転させて1に設定する(S713)。この結果、制御信号92は論理値1となる。シフトカウンタ102の状態は変更しない為、セレクト信号100a〜100cは変化しない。
【0083】
(リ)この状態で、スキャンチェーン92を用いて、3つのスキャンF/F回路99a、99b、99cに、フェイルパタン[010]をスキャンシフトインし(S703)、クロックを入れる(S704)。制御信号95は1である為、スキャンF/F回路99bは、スキャンシフトインしている論理値1を反転して論理値0を登録する。スキャンF/F回路99a、99cは、第1の組み合せ回路91から論理値 [11]をそれぞれ取り込む。この結果、スキャンF/F回路99a、99b、99cに登録されている論理値は、[101]となる。データ圧縮器へこの論理値値[101]をスキャンシフトアウトすると、期待値と同じであるのでデータ圧縮値も一致することになる(S707段階においてYes)。
【0084】
この結果から、スキャンF/F回路99bに故障120の影響が伝搬していることがわかる(S708)。なぜならば、第1の組合せ回路91からデータを取り込んでいるスキャンF/F回路99a、99cに故障120の影響が伝搬しているのであれば、期待値は一致しないからである。スキャンF/F回路99bの論理値をホールド(論理値1)した場合に期待値の不一致が起こり、反転した場合(論理値0)に一致していることから、スキャンF/F回路99bは、期待値0に対して1が伝播していることもわかる。
【0085】
なお、第3の実施の形態で示した方法では、ブロック内にある故障120の影響が伝搬したスキャンF/F回路99bを特定することが出来る。しかしながら、図22に示すように、故障121の影響が伝搬するスキャンF/F回路125、127が対象ブロック内に2つ以上存在する場合もあり得る。即ち、組合せ回路123には、インバータ133を介してスキャンF/F回路125が接続され、論理積回路135を介してスキャンF/F回路127が接続されている。スキャンF/F回路125、127は、1つのスキャンチェーン126に属する。故障121の影響が同一ブロックに属するスキャンF/F回路125、127の両方に伝搬する場合、図20及び図21に示した方法で故障121の影響が伝搬するスキャンF/F回路を特定することが出来ない。
【0086】
しかし、図23に示すように、故障121の影響が伝搬するスキャンF/F回路125、127を異なるスキャンチェーン137、139にそれぞれ属させることで、スキャンF/F回路125、127をそれぞれ個別に特定することが出来る。即ち、図23に示すスキャンチェーンの構成により、提案方式よるスキャンF/F回路の特定が可能となる。提案方式よるスキャンF/F回路の特定方法については、第4の実施の形態において後述する。
【0087】
また、第1乃至第3の実施の形態は互いに組み合せることができる。先ず、図24に示すように、S500段階において、第1の実施の形態及びその変形例で示した方法を用いて、フェイルスキャンチェーン254及びフェイルパタン252を特定する。S510段階において、第2の実施の形態及びその変形例で示した方法を用いて、フェイルスキャンチェーン254内で故障の影響が伝搬するブロック(フェイルスキャンブロック)260を特定する。最後に、S520段階において、第3の実施の形態及びその変形例で示した方法を用いて、故障の影響が伝搬するスキャンF/F回路(フェイルスキャンF/F回路)256を特定する。
【0088】
(第4の実施の形態)
図25に示すように、本発明の第4の実施の形態に係るスキャンチェーン設計支援装置は、被テストロジック内のスキャンチェーンのネット構成を構築する機能を有する演算部と、演算部に接続された記憶装置を有する。記憶装置には、ネットリスト150、スキャンF/F依存情報152及び処理済みネットリスト154などの各種データが固定的に記録される。また、演算部は、スキャンチェーンを構成するスキャンF/F回路のそれぞれの論理コーンを抽出する論理コーン抽出部166と、抽出された論理コーン同士の依存関係を抽出するスキャンF/F依存関係抽出部151と、スキャンF/F依存情報152及びネットリスト150に基づいてスキャンチェーンを構築するスキャンチェーン構築部153とを有する。
【0089】
演算部は、通常のコンピュータシステムの中央処理装置(CPU)の一部として構成すればよい。論理コーン抽出部166、スキャンF/F依存関係抽出部151及びスキャンチェーン構築部153は、それぞれ専用のハードウェアで構成しても良く、通常のコンピュータシステムのCPUを用いて、ソフトウェアで実質的に等価な機能を有していても構わない。記憶装置は、それぞれ、半導体ROM、半導体RAM等の半導体メモリ装置、磁気ディスク装置、磁気ドラム装置、磁気テープ装置などの補助記憶装置で構成してもよく、CPUの内部の主記憶装置で構成しても構わない。演算装置には、入出力制御部を介して、操作者からのデータや命令などの入力を受け付ける入力装置と、処理済みネットリスト154のデータを出力する出力装置とが接続されている。入力装置には、キーボード、マウス、ライトペンまたはフレキシブルディスク装置などが含まれる。出力装置には、プリンタ装置、表示装置などが含まれる。表示装置には、CRT、液晶などのディスプレイ装置が含まれる。演算部で実行される各処理のプログラム命令はプログラム記憶装置に記憶されている。プログラム命令は必要に応じてCPUに読み込まれ、CPUの内部の演算部によって、演算処理が実行される。また同時に、一連の演算処理の各段階で発生した数値情報などのデータは、CPU内の主記憶装置に一時的に記憶される。
【0090】
図25に示すように、まず、論理コーン抽出部166は、スキャンF/F回路の接続関係を示すネットリスト150から、スキャンF/F回路ごとの論理コーンを抽出する。そして、スキャンF/F依存関係抽出部151は、抽出された論理コーンに基づいて、スキャンF/F依存情報152を抽出する。スキャンF/F依存情報152には、論理コーン同士の依存関係、即ち、論理コーン同士の重なり合い関係が含まれる。その後、スキャンチェーン構築部153は、スキャンF/F依存情報152及びネットリスト150に基づいて、処理済みネットリスト154を作成する。具体的には、スキャンチェーン構築部153は、論理コーン同士が重なり合うスキャンF/F回路を、同じスキャンチェーンで接続することが無く、論理コーンの依存関係を持たないスキャンF/F回路同士で1つのスキャンチェーンを構成するように、ネットリスト150を修正し、処理済みネットリスト154を作成する。
【0091】
図25に示すスキャンチェーン設計支援装置によれば、論理コーンが重なり合う部分で故障が発生した場合であっても、論理コーンを有するスキャンF/F回路を異なるスキャンチェーンに属させることが出来る。したがって、図22に示したように1つのスキャンチェーン126に属する2以上のスキャンF/F回路125、127に故障121の影響が伝搬するようなスキャンチェーンを構成することが無くなり、図23に示したように、故障121の影響が伝搬するスキャンF/F回路129、131を異なるスキャンチェーン137、139にそれぞれ属させることが出来る。また、フィジカルレイアウト情報を合わせて利用することにより、最適なスキャンチェーンを構築できる。
【0092】
(第5の実施の形態)
図26に示すように、本発明の第5の実施の形態に係る半導体設計支援装置は、図1、4、6に示すような被テストロジックに対してロジックBISTを実行する為の周辺回路を挿入する為の機能を備えた演算部と、演算部に接続された記憶装置とを有する。記憶装置には、被テストロジックに係る回路データ155、ロジックBISTの実行を制御する為の制御ファイル156、ロジックBIST回路データ158、ロジックBIST挿入後回路データ160、テストパタン161及びロジックBIST回路関連情報162などの各種データが固定的に記録される。また、演算部は、ロジックBIST回路を生成するロジックBIST回路生成部157と、回路データ155に対してロジックBIST回路データ158を挿入するロジックBIST挿入部159とを有する。
【0093】
演算部は、通常のコンピュータシステムの中央処理装置(CPU)の一部として構成すればよい。ロジックBIST回路生成部157及びロジックBIST挿入部159は、それぞれ専用のハードウェアで構成しても良く、通常のコンピュータシステムのCPUを用いて、ソフトウェアで実質的に等価な機能を有していても構わない。記憶装置は、それぞれ、半導体ROM、半導体RAM等の半導体メモリ装置、磁気ディスク装置、磁気ドラム装置、磁気テープ装置などの補助記憶装置で構成してもよく、CPUの内部の主記憶装置で構成しても構わない。演算装置には、入出力制御部を介して、操作者からのデータや命令などの入力を受け付ける入力装置と、処理済みネットリスト154のデータを出力する出力装置とが接続されている。演算部で実行される各処理のプログラム命令はプログラム記憶装置に記憶されている。プログラム命令は必要に応じてCPUに読み込まれ、CPUの内部の演算部によって、演算処理が実行される。また同時に、一連の演算処理の各段階で発生した数値情報などのデータは、CPU内の主記憶装置に一時的に記憶される。
【0094】
図26に示すように、先ず、ロジックBIST回路生成部157は、回路データ155及び制御ファイル156に基づいて、回路データ155に係る被テストロジックに適したロジックBIST回路データ158を生成する。そして、ロジックBIST挿入部159は、回路データ155、ロジックBIST回路データ158及び制御ファイル156に基づいて、ロジックBIST挿入後回路データ160、テストパタン161及びロジックBIST回路関連情報162を生成する。具体的には、回路データ155に係る被テストロジックに対してロジックBIST回路を挿入する。その結果、ロジックBIST挿入後回路が生成されると同時に、ロジックBISTを実行する為のテストパタン161及びロジックBIST回路関連情報162も生成される。
【0095】
なお、第4の実施の形態と第5の実施の形態とは、組み合せて実施することが出来る。即ち、図25に示したスキャンチェーン設計支援装置を用いて被テストロジック内のスキャンチェーンを構築する。そして、図26に示した半導体設計支援装置を用いてこの被テストロジックに係る回路データ155に基づいて、ロジックBIST回路を生成及び挿入することが出来る。また、第4の実施の形態と第5の実施の形態を組み合せて実施する場合、実施する順番は問わない。何れを先に行っても良い。
【0096】
【発明の効果】
以上説明したように、本発明によれば、故障箇所を容易に特定することができる集積回路を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る半導体集積回路を示すブロック図である。
【図2】図2(a)は、図1のテストパタン発生器29の一例を示す回路図である。図2(b)は、図1のデータ圧縮器28aの一例を示す回路図である。
【図3】フェイルスキャンチェーンを特定する手順の一例を示すフローチャートである。
【図4】本発明の第1の実施の形態の第1の変形例に係る半導体集積回路を示すブロック図である。
【図5】図4に示した半導体集積回路31におけるスキャンチェーンを特定する手順の一例を示すフローチャートである。
【図6】本発明の第1の実施の形態の第2の変形例に係る半導体集積回路を示すブロック図である。
【図7】図6に示したモード切換回路414及びデータ圧縮器48の一例を示す回路図である。
【図8】STUMPS方式によるロジックBISTの一般的な構成を示すブロック図である。
【図9】スキャンテストモードにおける図8に示した半導体集積回路11を示すブロック図である。
【図10】本発明の第2の実施の形態に係る半導体集積回路の一部分を示すブロック図である。
【図11】図10に示した回路構成によってフェイルスキャンチェーン内のフェイルブロックを特定する手順の一例を示すフローチャートである。
【図12】図10に示した回路構成によって故障が伝搬するスキャンF/F回路が属するブロックを特定し、ブロック内のテスト結果をテスタ15に出力する手順の一例を示すフローチャートである。
【図13】本発明の第2の実施の形態の第1の変形例に係る半導体集積回路の一部分を示すブロック図である。
【図14】本発明の第2の実施の形態の第2の変形例に係る半導体集積回路の一部分を示すブロック図である。
【図15】本発明の第2の実施の形態の第3の変形例に係る半導体集積回路の一部分を示すブロック図である。
【図16】本発明の第2の実施の形態の第4の変形例に係る半導体集積回路の一部分を示すブロック図である。
【図17】図16に示した回路構成によって故障が伝搬するスキャンF/F回路が属するブロックを特定し、ブロック内のテスト結果をテスタ15に出力する手順の一例を示すフローチャートである。
【図18】本発明の第3の実施の形態に係る半導体装置の一部分を示すブロック図である。
【図19】本発明の第3の実施の形態の変形例に係る半導体装置の一部分を示すブロック図である。
【図20】図19に示した回路構成によって故障が伝搬するスキャンF/F回路を特定する手順の一例を説明する回路図である。
【図21】図19に示した回路構成によって故障が伝搬するスキャンF/F回路を特定する手順の一例を示すフローチャートである。
【図22】故障121の影響が1つのブロック内に属する2つのスキャンF/F回路125、127に伝搬している様子を示す回路図である。
【図23】故障121の影響が異なるブロック内に属する2つのスキャンF/F回路125、127に伝搬している様子を示す回路図である。
【図24】第1乃至第3の実施の形態を組み合せた一連の故障箇所特定方法を示すフローチャートである。
【図25】本発明の第4の実施の形態に係るスキャンチェーン設計支援装置の一例を示すブロック図である。
【図26】本発明の第5の実施の形態に係る半導体設計支援装置の一例を示すブロック図である。
【符号の説明】
1、11、21、31、41…半導体集積回路
12、22a〜22c…BIST制御回路
13、23、102…シフトカウンタ
14、24…パタンカウンタ
15…テスタ
16…テスト結果圧縮器
17a〜17c、52a〜52e、92、126、137…スキャンチェーン
18、211…被テストロジック
19、29…テストパタン発生器
28a、38a、48、53aa〜53ad、76a、76aa…データ圧縮器
37a〜37e、232a〜232e、313a〜313e…レジスタ
47、67aa、96a〜96c、213a、230a〜230e、242…排他的論理和回路(XOR回路)
52aa〜52ae、52ba、260…ブロック
59…制御回路
66aa、75a、89a、240、244、314a、…セレクタ
91…第1の組合せ回路
93a〜93c…MUX
94a、100a〜100c…セレクト信号
95、97a〜97c…制御信号
99a〜99c、125、127、129、131…スキャンF/F回路
101…トグルF/F回路
103…制御線
110a〜110c…テスト結果圧縮部
120、121…故障
123…組合せ回路
133…インバータ
135、246b〜246e…論理積回路
150、154…ネットリスト
151…依存関係抽出部
152…依存情報
153…スキャンチェーン構築部
155、158…回路データ
156…制御ファイル
157…回路生成部
159…挿入部
160…挿入後回路データ
161…テストパタン
162…回路関連情報
163、252、253…フェイルパタン
164、250、251、257、258…フェイルログ
165…フェイルスキャンブロック
166…論理コーン抽出部
211…被テストブロック
234a〜234e…出力データ
254〜256…フェイルスキャンチェーン
414…モード切換回路
912…第2の組合せ回路
Claims (6)
- 論理回路内のレジスタにより構成され、テストパタンをシフトして入力し、テストパタンを前記論理回路に出力し、前記論理回路のテスト結果を入力として取り込み、前記テスト結果をシフトして出力する機能を有するスキャンチェーンと、
テストパタンを複数の前記スキャンチェーンに入力するスキャンテストパタンとして発生させるテストパタン発生器と、
前記スキャンチェーンの出力段に接続され、前記テスト結果を圧縮した前記テスト結果と同数のテスト結果圧縮シグネチャを生成し、前記テスト結果圧縮シグネチャを前記スキャンチェーンに一対一対応が可能な第1の順番に出力するテスト結果圧縮部
とを有することを特徴とする集積回路。 - 前記テスト結果圧縮シグネチャと前記テスト結果圧縮シグネチャの期待値を前記第1の順番に比較し、前記期待値に不一致な前記テスト結果圧縮シグネチャを検出する期待値比較回路を更に有することを特徴とする請求項1記載の集積回路。
- 前記期待値に不一致な前記テスト結果圧縮シグネチャを比較した前記第1の順番中の順位を数え、前記スキャンチェーンの中から故障が検出されるフェイルスキャンチェーンを決定するフェイルスキャンチェーン決定回路を更に有することを特徴とする請求項2記載の集積回路。
- 前記テスト結果圧縮部は、
前記スキャンチェーンのそれぞれの出力に個別に接続され、前記テスト結果を入力し、前記テスト結果圧縮シグネチャを出力する前記テスト結果と同数のデータ圧縮器と、
すべての前記データ圧縮器に接続し、前記テスト結果圧縮シグネチャをパラレルに入力し、前記テスト結果圧縮シグネチャを前記第1の順番にシリアルに出力するパラレルシリアル変換器
とを有することを特徴とする請求項1記載の集積回路。 - 前記テスト結果圧縮部は、
前記スキャンチェーンの出力に接続され、前記テスト結果を第2の順番に選択し出力する第1のセレクタと、
前記第1のセレクタに接続され、前記テスト結果を入力し、前記テスト結果圧縮シグネチャを出力し前記テスト結果の数より少なく複数のデータ圧縮器と、
前記データ圧縮器に接続し、前記テスト結果圧縮シグネチャをパラレルに入力し、前記テスト結果圧縮シグネチャを前記第1の順番にシリアルに出力するパラレルシリアル変換器
とを有することを特徴とする請求項1記載の集積回路。 - 前記テスト結果圧縮部は、
前記スキャンチェーンの出力段に接続され、自己試験モードでは、前記テスト結果をパラレルに入力しパラレルに出力し、故障解析モードでは、前記テスト結果をパラレルに入力し、前記テスト結果を前記スキャンチェーンに一対一対応が可能な第1の順番に出力するモード切換回路と、
前記モード切換回路に接続され、前記自己試験モードでは、前記テスト結果をパラレルに入力し、前記テスト結果を一括して圧縮し、1つのテスト結果圧縮シグネチャを生成し、前記故障解析モードでは、前記テスト結果を前記第1の順番にそれぞれ圧縮するデータ圧縮器
とを有することを特徴とする請求項1記載の集積回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003085923A JP3828502B2 (ja) | 2003-03-26 | 2003-03-26 | 集積回路 |
US10/809,475 US20040246337A1 (en) | 2003-03-26 | 2004-03-26 | Self-test executable integrated circuit, a design apparatus thereof, and a scan chain design apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003085923A JP3828502B2 (ja) | 2003-03-26 | 2003-03-26 | 集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004294224A JP2004294224A (ja) | 2004-10-21 |
JP3828502B2 true JP3828502B2 (ja) | 2006-10-04 |
Family
ID=33400709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003085923A Expired - Fee Related JP3828502B2 (ja) | 2003-03-26 | 2003-03-26 | 集積回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040246337A1 (ja) |
JP (1) | JP3828502B2 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099642B2 (en) * | 2008-11-03 | 2012-01-17 | Texas Instruments Incorporated | Formatter selectively outputting scan stimulus data from scan response data |
DE10349933B4 (de) * | 2003-10-24 | 2008-03-27 | Infineon Technologies Ag | Auswerteschaltung und Verfahren zum Feststellen und/oder zum Lokalisieren fehlerhafter Datenworte in einem Datenstrom |
KR100557221B1 (ko) | 2004-11-04 | 2006-03-07 | 삼성전자주식회사 | 메모리 모듈에서의 신호 무결성 테스트 방법 및 이를 위한메모리 모듈의 버퍼 |
US7562267B2 (en) * | 2004-12-28 | 2009-07-14 | International Business Machines Corporation | Methods and apparatus for testing a memory |
US7395470B2 (en) * | 2005-06-09 | 2008-07-01 | International Business Machines Corporation | Method, apparatus, and computer program product for diagnosing a scan chain failure employing fuses coupled to the scan chain |
JP2007040921A (ja) * | 2005-08-05 | 2007-02-15 | Matsushita Electric Ind Co Ltd | スキャンチェーンにおける故障位置特定方法 |
JP2007128611A (ja) | 2005-11-04 | 2007-05-24 | Nec Electronics Corp | 半導体集積回路装置 |
JP5268656B2 (ja) * | 2006-02-17 | 2013-08-21 | メンター グラフィックス コーポレイション | マルチステージ・テスト応答コンパクタ |
JP4769951B2 (ja) * | 2006-03-02 | 2011-09-07 | 国立大学法人 千葉大学 | 半導体集積回路 |
JP2008059718A (ja) | 2006-09-01 | 2008-03-13 | Toshiba Corp | 半導体記憶装置 |
JP4763562B2 (ja) * | 2006-09-20 | 2011-08-31 | 富士通株式会社 | ディレイ不良解析方法およびその装置 |
JP2008102045A (ja) * | 2006-10-20 | 2008-05-01 | Matsushita Electric Ind Co Ltd | 半導体集積回路および半導体集積回路の検査方法 |
JP4886615B2 (ja) * | 2007-06-22 | 2012-02-29 | ルネサスエレクトロニクス株式会社 | テスト装置及びパタン生成装置 |
DE102009048401A1 (de) * | 2009-10-06 | 2011-04-07 | Osram Opto Semiconductors Gmbh | Verfahren zum Herstellen eines optoelektronischen Halbleiterbauteils und optoelektronisches Halbleiterbauteil |
US8607107B2 (en) | 2010-04-20 | 2013-12-10 | Mentor Graphics Corporation | Test access mechanism for diagnosis based on partitioining scan chains |
KR101208960B1 (ko) * | 2010-11-26 | 2012-12-06 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 테스트 방법 |
US10069578B2 (en) * | 2011-06-13 | 2018-09-04 | Mediatek Inc. | RF testing system with parallelized processing |
CN103376405B (zh) * | 2012-04-27 | 2015-09-09 | 国际商业机器公司 | 用于扫描链诊断的方法和装置 |
US8793545B2 (en) * | 2012-07-03 | 2014-07-29 | Apple Inc. | Apparatus and method for clock glitch detection during at-speed testing |
US9720041B2 (en) * | 2013-02-01 | 2017-08-01 | Mentor Graphics Corporation | Scan-based test architecture for interconnects in stacked designs |
US9183952B2 (en) * | 2013-02-20 | 2015-11-10 | Micron Technology, Inc. | Apparatuses and methods for compressing data received over multiple memory accesses |
JP5583244B1 (ja) * | 2013-06-10 | 2014-09-03 | 三菱電機株式会社 | 集積回路素子を有する電子制御装置及びその集積回路素子の単品検査装置 |
JP6305823B2 (ja) * | 2014-05-12 | 2018-04-04 | 株式会社メガチップス | スキャンテスト回路 |
US9519026B2 (en) * | 2014-09-30 | 2016-12-13 | Apple Inc. | Compressed scan testing techniques |
US10031181B1 (en) * | 2015-06-18 | 2018-07-24 | Marvell Israel (M.I.S.L.) Ltd. | Integrated circuit package receiving test pattern and corresponding signature pattern |
KR20170060297A (ko) * | 2015-11-24 | 2017-06-01 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그를 포함하는 반도체 시스템 |
JP6731733B2 (ja) * | 2016-01-20 | 2020-07-29 | 株式会社メガチップス | スキャンテスト回路、スキャンテスト方法およびスキャンテスト回路の設計方法 |
US9864004B1 (en) * | 2016-03-17 | 2018-01-09 | Cadence Design Systems, Inc. | System and method for diagnosing failure locations in electronic circuits |
US10184980B2 (en) * | 2016-09-06 | 2019-01-22 | Texas Instruments Incorporated | Multiple input signature register analysis for digital circuitry |
US10416226B2 (en) * | 2017-08-03 | 2019-09-17 | Globalfoundries Inc. | Test response compaction scheme |
KR20210024880A (ko) * | 2019-08-26 | 2021-03-08 | 에스케이하이닉스 주식회사 | 테스트 회로, 이를 포함하는 반도체 장치 및 테스트 시스템 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3623020A (en) * | 1969-12-08 | 1971-11-23 | Rca Corp | First-in first-out buffer register |
US4000460A (en) * | 1974-07-01 | 1976-12-28 | Xerox Corporation | Digital circuit module test system |
US4304001A (en) * | 1980-01-24 | 1981-12-01 | Forney Engineering Company | Industrial control system with interconnected remotely located computer control units |
US4342084A (en) * | 1980-08-11 | 1982-07-27 | International Business Machines Corporation | Main storage validation means |
US5138619A (en) * | 1990-02-15 | 1992-08-11 | National Semiconductor Corporation | Built-in self test for integrated circuit memory |
US5574733A (en) * | 1995-07-25 | 1996-11-12 | Intel Corporation | Scan-based built-in self test (BIST) with automatic reseeding of pattern generator |
US5867505A (en) * | 1996-08-07 | 1999-02-02 | Micron Technology, Inc. | Method and apparatus for testing an integrated circuit including the step/means for storing an associated test identifier in association with integrated circuit identifier for each test to be performed on the integrated circuit |
US5694402A (en) * | 1996-10-22 | 1997-12-02 | Texas Instruments Incorporated | System and method for structurally testing integrated circuit devices |
US5930270A (en) * | 1997-07-23 | 1999-07-27 | International Business Machines Corporation | Logic built in self-test diagnostic method |
US6442723B1 (en) * | 1999-05-12 | 2002-08-27 | International Business Machines Corporation | Logic built-in self test selective signature generation |
US6392910B1 (en) * | 1999-09-10 | 2002-05-21 | Sibercore Technologies, Inc. | Priority encoder with multiple match function for content addressable memories and methods for implementing the same |
JP2003332443A (ja) * | 2002-05-08 | 2003-11-21 | Toshiba Corp | 半導体集積回路とその設計支援装置およびテスト方法 |
US6671839B1 (en) * | 2002-06-27 | 2003-12-30 | Logicvision, Inc. | Scan test method for providing real time identification of failing test patterns and test bist controller for use therewith |
-
2003
- 2003-03-26 JP JP2003085923A patent/JP3828502B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-26 US US10/809,475 patent/US20040246337A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2004294224A (ja) | 2004-10-21 |
US20040246337A1 (en) | 2004-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3828502B2 (ja) | 集積回路 | |
US4764926A (en) | Integrated circuits | |
US8335954B2 (en) | Method and apparatus for low-pin-count scan compression | |
EP0196171B1 (en) | Digital integrated circuits | |
JP4903365B2 (ja) | スキャンベースの集積回路でスキャンパターンをブロードキャストする方法および装置 | |
US7032148B2 (en) | Mask network design for scan-based integrated circuits | |
US20070113129A1 (en) | Method and Apparatus for Testing Logic Circuit Designs | |
US7945833B1 (en) | Method and apparatus for pipelined scan compression | |
JP2009527737A (ja) | マルチステージ・テスト応答コンパクタ | |
US7590905B2 (en) | Method and apparatus for pipelined scan compression | |
JPH03115872A (ja) | ディジタル集積回路におけるテスト容易化回路 | |
US7206983B2 (en) | Segmented addressable scan architecture and method for implementing scan-based testing of integrated circuits | |
US20140143623A1 (en) | Method and apparatus for low-pin-count scan compression | |
US5077740A (en) | Logic circuit having normal input/output data paths disabled when test data is transferred during macrocell testing | |
Milewski et al. | Full-scan LBIST with capture-per-cycle hybrid test points | |
Chen et al. | The ATPG conflict-driven scheme for high transition fault coverage and low test cost | |
JPH01239486A (ja) | 出力応答圧縮器 | |
US6079040A (en) | Module level scan testing | |
JPH11203158A (ja) | テスト回路付パイプライン回路およびテスト回路付パイプライン回路をテストするための自動テストパターン生成方法 | |
Wang et al. | Generating efficient tests for continuous scan | |
JPH08220192A (ja) | 組み込み型自己テスト論理回路 | |
US11237211B2 (en) | Microchip having a plurality of reconfigurable test structures | |
JP2013019744A (ja) | 故障箇所推定装置と方法並びにプログラム | |
JP4863547B2 (ja) | Bist回路内蔵半導体集積回路装置 | |
JP3184061B2 (ja) | 半導体集積回路のテスト回路及びテスト方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060509 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060602 |
|
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: 20060627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060706 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090714 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |