JP2016173349A - 半導体装置及び設計装置 - Google Patents

半導体装置及び設計装置 Download PDF

Info

Publication number
JP2016173349A
JP2016173349A JP2015054607A JP2015054607A JP2016173349A JP 2016173349 A JP2016173349 A JP 2016173349A JP 2015054607 A JP2015054607 A JP 2015054607A JP 2015054607 A JP2015054607 A JP 2015054607A JP 2016173349 A JP2016173349 A JP 2016173349A
Authority
JP
Japan
Prior art keywords
scan
shift
input
test signal
flop
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
JP2015054607A
Other languages
English (en)
Other versions
JP6544958B2 (ja
Inventor
浩幸 岩田
Hiroyuki Iwata
浩幸 岩田
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 JP2015054607A priority Critical patent/JP6544958B2/ja
Priority to US14/964,362 priority patent/US10496771B2/en
Priority to CN201610045085.4A priority patent/CN105988076B/zh
Publication of JP2016173349A publication Critical patent/JP2016173349A/ja
Application granted granted Critical
Publication of JP6544958B2 publication Critical patent/JP6544958B2/ja
Active 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/2851Testing of integrated circuits [IC]
    • 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/318558Addressing or selecting of subparts of the device under test
    • G01R31/318563Multiple simultaneous testing of subparts
    • 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/318566Comparators; Diagnosing the device under test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】圧縮スキャンにおいて、検出効率を低下させることなくテストステップ数を低減させる。
【解決手段】実施の形態に係る半導体装置1は、一以上のMMSFF10がシリアルに接続された一以上のスキャンチェインと組み合わせ回路とを備え、スキャンシフト動作キャプチャ動作とを切り替え可能な半導体装置であって、MMSFF10は、スキャンシフト動作時において、外部から入力される外部入力テスト信号及び同じスキャンチェイン内の前段のMMSFF10を介して入力されるシフトテスト信号のいずれかを選択するMUX11と、MUX11によって選択された外部入力テスト信号又はシフトテスト信号を出力するFF12とを有する。
【選択図】図1

Description

本発明は半導体装置及び設計装置に関し、例えば可変圧縮スキャンテスト可能な半導体装置及びその設計装置に関する。
LSI(Large Scale Integration)の一般的なテスト手法としてスキャンテストがある。スキャンテストでは、回路内のフリップフロップ(FF)がスキャンFFと呼ばれるマルチプレクサ(MUX)付のFFに置換される。MUXは、スキャンイネーブル信号により、テスト入力と通常動作入力とを切り替える。
スキャンテスト時には、スキャンFFがLSIの外部入出力端子から制御可能なシフトレジスタ(これを「スキャンチェイン」と呼ぶ)として動作するように、スキャンFF同士がシリアルに接続される。スキャンイネーブル信号に応じて、スキャンチェインをシフト動作(これを「スキャンシフト動作」と呼ぶ)させることによって、任意のテストパターンが各スキャンFFに設定される。
そして、スキャンイネーブル信号を切り替えることにより、通常動作入力からの値がスキャンFFに取り込まれる(これを「キャプチャ動作」と呼ぶ)。キャプチャ動作で取得された値は再びスキャンFFでシフトされ、応答が観測される(アンロード)。このアンロードと同時に、次のテストパターンの印加(ロード)が行われる。このようにしてスキャンテストが実行される。
スキャンテストでは、スキャンチェインに接続されているスキャンFF数に対応したシフトサイクル数が必要であるため、非常に長いテストステップ数が必要となる。スキャンチェインの段数が大きい回路ではスキャンテスト時間が長くなり、テストコストに大きく影響してしまう。
特許文献1には、スキャンチェインにシフト動作をさせるためのテストパターン数を低減するスキャンチェインの構築方法が開示されている。特許文献1に記載のスキャンチェインでは、複数のスキャンFF間にバイパス用のセレクタが挿入されている。この構築方法では、複数のスキャンFFにそれぞれ接続された組み合わせ回路のテストに必要なテストパターン数を算出し、該テストパターン数に対応して複数のスキャンFFがグループ化される。テストが終了した組み合わせ回路に接続されるスキャンFFをグループ単位でバイパスさせることで、シフト動作をパスさせてテストパターン数を低減する。
特開2004−77356号公報
スキャンテスト時間を削減する他の手法として、圧縮スキャンがある。圧縮スキャンでは、外部端子数よりも多くのスキャンチェインを内部に構築することで、スキャンチェイン1本辺りのスキャンFFの段数を削減する。そして、外部端子から供給した値を、伸張回路を経由して内部のスキャンチェイン本数分に展開し、各スキャンFFにテストパターンを印加する。また、スキャンチェインからの出力を圧縮回路で圧縮して外部出力チャネルで観測する。
圧縮スキャンでは、伸張回路及び圧縮回路を用いない場合と比較して、故障検出に必要なスキャンFFの設定値(ケアビット)を少ないシフトサイクル数で設定することができる。また、少ないシフトサイクル数で全スキャンFFの観測を行うことができ、外部入出力端子1bit(1サイクル) 辺りの故障検出数を増やし、テストステップ数を削減することができる。圧縮スキャンでの外部入出力端子ペア数とスキャンチェイン本数の比を圧縮率と呼ぶ。
従来の圧縮スキャンでは圧縮率を変更することができないため、テストパターン数が少なくなるような最適な圧縮率をユーザが考える必要がある。圧縮率を上げ過ぎると故障検出に必要なケアビットが設定できず、故障検出率が低下し、テストパターン毎の検出効率も落ちる。
特定のスキャンFFにおける故障検出に必要なケアビットは、他のスキャンFFの値との組み合わせで決定される。特許文献1では、複数の組み合わせ回路をテストするのに必要なテストパターン数に基づいてスキャンチェインの構成を変更している。効果的にスキャンチェイン段数を低減させるためには、ケアビットに応じてパタン毎にスキャンチェイン構成を変える必要があり、構成数が増え過ぎるために実用的な面積オーバーヘッドで実現できない。
また、圧縮スキャンで設定可能なケアビットは、スキャンチェインの構成によっても変化する。特許文献1では、圧縮スキャンを想定した手法とはなっておらず、圧縮スキャンの場合にスキャンチェインの段数を低減させることはできない。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、スキャンチェインを構成するスキャンフリップフロップは、スキャンシフト動作時において、外部から入力される外部入力テスト信号及び同じ前記スキャンチェイン内の前段のスキャンフリップフロップを介して入力されるシフトテスト信号のいずれかを選択して出力することが可能な論理構造を有する。
なお、上記実施の形態の半導体装置の設計装置、設計方法、設計方法の一部の処理をコンピュータに実行せしめるプログラムなども、本発明の態様としては有効である。
前記一実施の形態によれば、テストパターン毎に圧縮率を変更することで、検出効率を低下させることなく、テストステップ数を低減させることが可能となる。
実施の形態1に係る半導体装置の構成を示す図である。 実施の形態1に係る半導体装置の制御の一例を示す図である。 実施の形態1に係る半導体装置の制御の他の例を示す図である。 実施の形態1に係る半導体装置の動作を説明する図である。 実施の形態2に係る半導体装置の構成を示す図である。 実施の形態3に係る半導体装置の構成を示す図である。 実施の形態3に係る半導体装置の動作を説明する図である。 実施の形態4に係る半導体装置の構成を示す図である。 実施の形態5に係る半導体装置の構成を示す図である。 実施の形態6に係る半導体装置の構成を示す図である。 実施の形態6に係る半導体装置において、圧縮率が異なる場合のテストステップ数と故障検出率との関係を示すグラフである。 実施の形態7に係る半導体装置の設計装置を示す図である。 実施の形態7に係る半導体装置の設計フローの一例を示す図である。 実施の形態7に係る半導体装置の設計フローの他の例を示す図である。 比較例の半導体装置の構成を示す図である。 比較例の半導体装置において、圧縮率が異なる場合のテストステップ数と故障検出率との関係を示すグラフである。 比較例の半導体装置の設計フローを示す図である。
以下、図面を参照しながら、実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。以下の実施の形態に示す具体的な値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、それに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
実施の形態は、圧縮スキャンテストが可能な半導体装置とその設計装置に関する。実施の形態に係る半導体装置は、外部入出力端子数とスキャンチェインの本数の比である圧縮率をテストパターンごとに切替えてスキャンテストを行うことが可能な論理構造を有する。スキャンチェインの本数を切替え可能な論理回路は、各スキャンチェインを構成するスキャンフリップフロップ(SFF)を含む。このSFFは、外部から入力される外部入力テスト信号及びスキャンチェイン上でシフトされるシフトテスト信号のいずれか一方を選択して出力することが可能な構成を有する。制御信号によってスキャンチェインの経路を変化させることで、スキャンチェイン本数が切替えられる。
以下、圧縮率を変更可能なスキャンテストを可変圧縮スキャンテストと呼ぶ。実施の形態は、スキャンテスト時間の削減が必要な、MCU(Micro Controller Unit)やSoC(System-on-a-chip)等の半導体装置に適用可能である。また、実施の形態に係る設計装置は、可変圧縮スキャンテストを実現する半導体装置を設計するEDA(electronic design automation)ツールとして用いられる。
実施の形態1.
実施の形態1に係る半導体装置について、図1を参照して説明する。図1は、実施の形態に係る半導体装置1の構成を示す図である。図1に示すように、半導体装置1は、複数のMMSFF(マルチモード対応スキャンフリップフロップ)10、マルチモード制御回路20、圧縮器30を備えている。ここでは、スキャンチェインの本数が異なる各スキャンチェイン構成をモードと呼び、複数のモードをマルチモードとする。マルチモード対応スキャンフリップフロップとは、外部入力テスト信号又はシフトテスト信号を選択して出力することにより、圧縮スキャンテストの圧縮率を変えた複数のスキャンチェイン構成をとることができるスキャンフリップフロップである。
半導体装置1では、一以上のMMSFF10がシリアルに接続されることにより、一以上のスキャンチェインが構築される。複数のスキャンチェインの入力側には、伸張器が接続される。伸張器は、外部入力テスト信号をスキャンチェインの本数に応じて伸張変換する。なお、図1では、ファンアウト構成の伸張器を用いた例を示しており、伸張器の図示は省略されている。伸張器は、線形帰還シフトレジスタ(LSFR)や位相器を用いたものを用いることも可能である。
図1に示す例では、8個のMMSFF10がシリアルに接続された状態を示している。各MMSFF10の出力は圧縮器30に接続される。圧縮器30は、複数のスキャンチェインからの出力を圧縮変換する。圧縮器30は、XOR(exclusive OR)ツリーで構成される。圧縮器30は、各MMSFF10からの出力を1つの出力に圧縮する。最小のスキャンチェイン本数は外部入出力端子ペア数に対応する。図1の例では、最少のスキャンチェイン本数は1本であり、最大のスキャンチェイン本数は8本である。
MMSFF10は、スキャンチェイン内のMMSFF10をシフトレジスタとして動作させるスキャンシフト動作と、組み合わせ回路からの出力をキャプチャするキャプチャ動作とを切り替えることが可能である。スキャンシフト動作では、各MMSFF10に値が設定される。キャプチャ動作では、シフト動作において各MMSFF10に設定された値が組み合わせ回路に供給され、組み合わせ回路での論理演算結果がキャプチャされる。ここで、スキャンシフト動作、キャプチャ動作で転送される値をテストパターンとする。
MMSFF10は、MUX(マルチプレクサ)11、FF(フリップフロップ)12、データ端子DATA、第1スキャンイン端子SIN1、第2スキャンイン端子SIN2、第1制御入力端子SMC1、第2制御入力端子SMC2、クロック端子CLKを有している。MUX11は、第1制御入力端子SMC1から入力されるスキャンイネーブル信号(scan−en)により、スキャンシフト動作とキャプチャ動作とを切り替える。すなわち、スキャンイネーブル信号(scan−en)は、スキャンシフト動作とキャプチャ動作とを切り替える切替信号である。
また、MUX11は、スキャンシフト動作時において、伸張器から入力される外部入力テスト信号、又は、同じスキャンチェイン内の前段のスキャンフリップフロップから入力されるシフトテスト信号を選択する。外部入力テスト信号は、外部から入力される、圧縮スキャンテストを行うためのMMSFF10への設定値である。シフトテスト信号は、外部入力テスト信号がMMSFF10間をシフトされたものである。MMSFF10は、第1スキャンイン端子SIN1と第2スキャンイン端子SIN2の2系統のスキャンイン端子を有している。MUX11には、第1スキャンイン端子SIN1から外部入力テスト信号が入力され、第2スキャンイン端子SIN2からシフトテスト信号が入力される。
MMSFF10は、第1制御入力端子SMC1に加えて、外部入力テスト信号とシフトテスト信号の選択制御用の第2制御入力端子SMC2の2系統の制御入力端子を有している。MMSFF10の出力を切り替える圧縮率制御信号は、第2制御入力端子SMC2から入力される。MUX11は、圧縮率制御信号に応じて、外部入力テスト信号又はシフトテスト信号を選択する。すなわち、圧縮率制御信号は、外部入力テスト信号及びシフトテスト信号のいずれかを選択する選択信号である。FF12は、MUX11によって選択された外部入力テスト信号又はシフトテスト信号を保持し、クロック端子CLKから入力されるテストクロック信号に応じて出力する。
換言すると、MMSFF10は、伸張器又はスキャンチェイン内の前段のMMSFF10と選択的に接続可能である。すなわち、MMSFF10は、伸張器と接続される第1の状態と、同じスキャンチェイン内の前段のMMSFF10と接続される第2の状態とを切り替えることができる。MMSFF10には、テストパターン毎にマルチモード制御回路20から圧縮率制御信号が供給される。MMSFF10は、テストパターンに応じて、接続先を伸張器か前段のMMSFF10かに切り替える。
例えば、第1制御入力端子SMC1から入力されるスキャンイネーブル信号が、ロウ(0)の時にデータ端子DATAが有効となり、ハイ(1)の時に第1スキャンイン端子SIN1/第2スキャンイン端子SIN2が有効となる。また、第2制御入力端子SMC2から入力される圧縮率制御信号が、ロウ(0)の時に第1スキャンイン端子SIN1の経路が有効となり、ハイ(1)の時に第2スキャンイン端子SIN2の経路が有効となる。各MMSFF10の第1スキャンイン端子SIN1は伸張器が接続され、第2スキャンイン端子SIN2には同じスキャンチェインの前段のMMSFF10の出力が接続される。
マルチモード制御回路20は、MMSFF10に設定されるテストパターンに応じて、MUX11が外部入力テスト信号又はシフトテスト信号のいずれを選択するかを制御する制御回路である。マルチモード制御回路20は、シフトレジスタ21、ホールドレジスタ22、デコーダ23を有する。シフトレジスタ21には、外部から外部入力テスト信号と圧縮率制御信号を含むスキャンイン信号(scan_in)が入力される。
図1に示す例では、シフトレジスタ21は、複数のMMSFF10と直列接続されている。スキャンテスト動作期間において、外部入力テスト信号はシフトレジスタ21内で転送され、図示しない伸張器を介してMMSFF10に入力される。なお、マルチモード制御回路20は必ずしも各MMSFF10と直列接続する必要はなく、マルチモード制御回路20に専用の入力端子を設けて、各スキャンチェインを独立して制御する構成も可能である。
圧縮率制御信号はスキャンシフト動作時にシフトレジスタ21に設定され、アップデート信号(update)信号でホールドレジスタ22に取り込まれる。ホールドレジスタ22は、スキャンシフト動作期間中は不変である。アップデート信号に応じて、ホールドレジスタ22に取り込まれた圧縮率制御信号がデコーダ23でデコードされ、各MMSFF10の第2制御入力端子SMC2に供給される。
ここで、図2、3を参照して、実施の形態1に係る半導体装置の制御例について説明する。図2はスキャンチェインが2本のモードであり、図3はスキャンチェインが4本のモードである。図2に示す例では、圧縮率制御信号として、2番目のMMSFF10から順に、「1110111」の7ビットの値が設定されている。この場合、先頭のMMSFF10と、先頭から5番目のMMSFF10とを先頭とした2本のスキャンチェインが構築される。各スキャンチェインは、4段のMMSFF10からなる。先頭のMMSFF10と先頭から5番目のMMSFF10には外部入力テスト信号が入力され、他のMMSFF10には前段のMMSFF10からのシフトテスト信号が入力される。
図3に示す例では、圧縮率制御信号として、2番目のMMSFF10から順に、「1010101」の7ビットの値が設定されている。この場合、先頭のMMSFF10と、先頭から3番目、5番目、7番目のMMSFF10とを先頭とした4本のスキャンチェインが構築される。各スキャンチェインは、2段のMMSFF10からなる。先頭、3番目、5番目、7番目のMMSFF10には外部入力テスト信号が入力され、他のMMSFF10には前段のMMSFF10からのシフトテスト信号が入力される。同様に、スキャンチェインを1本8段のモードとする場合は「111111」、8本1段のモードとする場合は、「0000000」の圧縮率制御信号が入力される。
構成可能なマルチモード数は、マルチモード制御回路20から出力可能な制御信号の組合せ数に依存する。例えば、ホールドレジスタ22が2ビットであれば、4通りのマルチモードが選択できる。
ここで、図4を参照して、半導体装置1の動作について説明する。図4は、実施の形態1に係る半導体装置の動作を説明する図である。図4において、test_clockはテストクロック信号、scan_enはスキャンイネーブル信号、updateはアップデート信号、scan_inはスキャンイン信号を示している。上述したように、スキャンイン信号は、外部入力テスト信号と圧縮率制御信号とを含む。ホールドレジスタ22からの出力信号をmultimode control hold resisterとし、シフトレジスタ21からの出力信号をmultimode control shift resisterと示している。shift1〜shift4は、スキャンシフト動作を行うスキャンシフト期間を示しており、capture1〜capture3は、キャプチャ動作を行うキャプチャ期間を示している。set upは、最初にスキャンチェインを構築するセットアップ期間である。
図1に示す回路構成では、マルチモード制御回路20のシフトレジスタ21とスキャンチェインとが直列に接続されているため、スキャンイン信号として外部入力テスト信号が入力された後に、次のテストパターンに対する圧縮率制御信号が入力される。外部入力テスト信号はスキャンシフト動作で各MMSFF10に印加される。
まず、セットアップ期間では、セットアップ期間に続くスキャンシフト期間shift1に入力されるテストパターンに対する圧縮率制御信号が入力される。この圧縮率制御信号は、シフトレジスタ21に設定され、アップデート信号に応じてホールドレジスタ22に取り込まれる。ホールドレジスタ22に取り込まれた圧縮率制御信号は、第2制御入力端子SMC2に出力される。MMSFF10は、第2制御入力端子SMC2から入力された圧縮率制御信号に応じて、スキャンチェインの経路を変化させる。
上述の通り、圧縮率制御信号が1のときは同じスキャンチェイン内の前段のMMSFF10、圧縮率制御信号が0のときは伸張器の出力が選択される。つまり、0の圧縮率制御信号が入力されるMMSFF10は、スキャンチェインの起点となる。図4に示す例では、スキャンシフト期間shift1のテストパターンに対するマルチモード設定は、2倍設定となっている。セットアップ期間には、2本のスキャンチェインが構築される圧縮率制御信号がシフトレジスタ21に設定される。
そして、アップデート信号に応じてシフトレジスタ21に設定されていた圧縮率制御信号が、ホールドレジスタ22に取り込まれる。この圧縮率制御信号は、スキャンシフト期間shift1中保持される。スキャンシフト期間shift1では、図2に示すように、2本/4段のスキャンチェインが構築されるモードとなる。
その後、スキャンイネーブル信号の立ち上がりに応じて、2本のスキャンチェインが構築されたモードでスキャンシフト動作が行われる。スキャンシフト期間shift1に入力されるスキャンイン信号は、当該期間で各MMSFF10に設定されるテストパターンに対応する外部入力テスト信号と、次のスキャンシフト期間shift2でMMSFF10に設定されるテストパターンに対する圧縮率制御信号とを含む。スキャンシフト期間shift1では、まず外部入力テスト信号が入力された後に、次のテストパターンに対する圧縮率制御信号が入力される。
外部入力テスト信号は伸張器でスキャン本数分に伸張展開される。そして、スキャンチェインの本数に対応するスキャンシフト回数でスキャンシフト動作が実行され、各MMSFF10にそれぞれテストパターンが設定される。外部入力テスト信号が入力された後に、次のテストパターンに対する圧縮率制御信号が入力される。図4に示す例では、次のスキャンシフト期間shift2のテストパターンに対するマルチモードの設定は、4倍設定となっている。スキャンシフト期間shift1には、4本のスキャンチェインが構築される圧縮率制御信号がシフトレジスタ21に設定される。
そして、スキャンイネーブル信号が立ち下がりに応じて、キャプチャ動作が行われる。キャプチャ期間には、データ端子DATAから通常動作信号が入力され、MMSFF10に設定されたテストパターンが図示しない組み合わせ回路に供給される。組み合わせ回路での論理演算結果は、MMSFF10に取り込まれる。キャプチャ動作で取得された値は再びスキャンFFでシフトされ、応答が観測される。
その後、アップデート信号に応じてシフトレジスタ21に設定されていた圧縮率制御信号が、ホールドレジスタ22に取り込まれる。この圧縮率制御信号は、スキャンシフト期間shift2中保持される。スキャンシフト期間shift2では、図3に示すように4本/2段のスキャンチェインが構築されるモードとなる。このように、前回のスキャンシフト期間shift1に、次のスキャンシフト期間shift2で設定されるテストパターンに対する圧縮率制御信号がシフトレジスタ21に入力される。そして、スキャンシフト期間shift2では、スキャンイネーブル信号の立ち上がりに応じて、4本のスキャンチェインが構築されたモードでスキャンシフト動作が行われる。
同様に、スキャンシフト期間中shift2に、次のスキャンシフト期間中shift3で設定されるテストパターンに対する圧縮率制御信号が入力される。図4に示す例では、次のスキャンシフト期間shift3のテストパターンに対するマルチモードの設定は、1倍設定となっている。スキャンシフト期間shift2には、1本のスキャンチェインが構築される圧縮率制御信号が入力される。これにより、スキャンシフト期間shift3では、1本のスキャンチェインが構築されるモードとなる。
このように、実施の形態1の半導体装置1では、スキャンテスト時に、マルチモード制御回路20から供給する圧縮率制御信号で、圧縮スキャンテストにおけるスキャンチェインの本数及び段数をテストパターン毎に任意に変化させることができる。すなわち、マルチモード制御回路20は、テストパターン毎にスキャンチェインの経路を更新してスキャンテストを行う。これにより、スキャンシフト回数を変化させることが可能となる。
ここで、比較例の半導体装置について説明する。図15は、比較例の半導体装置の構成を示す図である。図15に示すように、比較例に係る半導体装置は、スキャンシフト動作とキャプチャ動作の切替えのみが可能なスキャンFF101を有している。このようなスキャンFF101を用いた圧縮スキャン設計では、外部端子数よりも多くのスキャンチェインが構成され、スキャンチェイン1本当たりのスキャンFF101の段数が削減される。スキャンチェインの入力側には伸張器102が接続され、スキャンチェインの出力側には圧縮器103が接続されている。
このような比較例の圧縮スキャンテストでは、圧縮率を変更することができないため、ユーザが、テストステップ数が少なくなるように最適な圧縮率を考える必要がある。圧縮率を上げ過ぎると故障検出に必要なケアビットを設定することができないため、故障検出率が低下し、テストパターン毎の検出効率も落ちる。短いテストステップ数で高故障検出率のテストパターン集合は、各サイクルの各入出力端子の1ビット(1サイクル)辺りの同時検出故障数を上げることで実現できると考えられる。
比較例の従来の圧縮スキャンでは圧縮率が常に固定になるため、シフトサイクル数が一定になる。このスキャンシフトサイクル中には、故障検出に貢献できていないサイクルが発生している可能性がある。図16に、比較例の半導体装置において、圧縮率が異なる場合のテストステップ数と故障検出率との関係を示す。図16では、任意のテスト回路に対する高圧縮スキャン設計(圧縮率309倍)と、低圧縮スキャン設計(圧縮率32倍)の結果を示している。なお、テスト時間は、テストステップ数に比例する。
図16に示すように、故障検出率が94%程度までは高圧縮スキャン設計の方が故障検出率の傾きが大きいのに対し、それ以降では低圧縮スキャン設計の方が故障検出率の傾きが大きくなった。これから、故障検出率の上昇率が大きくなるように、高圧縮スキャン設計と低圧縮スキャン設計とをテストパターンに応じて切り替えることができれば、テストステップ数を削減できる可能性があることがわかる。例えば、図16の例で、故障検出率94%付近で、高圧縮スキャン設計から低圧縮スキャン設計へと単純に切替えただけでも 10%程度のテストステップ数の削減が期待できる。
上述の通り、実施の形態1に係る半導体装置は、テストパターン毎に任意の圧縮率で圧縮スキャンテストを実行することが可能である。このため、より柔軟に高圧縮スキャン設計と低圧縮スキャン設計の構成を切替えて、故障対象の検出に最適な圧縮率を設定することが可能となる。これにより、さらにテストステップ数を削減し、より効率のよい圧縮スキャンテストを実行することが可能となる。例えば、検出容易な故障については高圧縮スキャン設計を適用することで、テストステップ数を大幅に削減できる.
なお、MMSFF10は、スキャンFF101と比較して面積が10%程度増加する。スキャンFF101のチップの論理部に占める面積の割合が10%程度である場合、全スキャンFF101をMMSFF10で置換すると、チップの論理部の面積は約1%増加することとなる。このように、MMSFF10を用いた場合でも、チップの面積増加への影響は少ない。このように、実施の形態1では、MMSFF10とマルチモード制御回路20との組み合わせにより、複数のスキャンチェイン構成を切り替えることが可能な論理構造を、低面積で実現することが可能である。
実施の形態2.
実施の形態2に係る半導体装置について、図5を参照して説明する。図5は、実施の形態2に係る半導体装置1Aの構成を示す図である。図5に示すように、半導体装置1Aは、複数のMMSFF10、マルチモード制御回路20、圧縮率可変圧縮器30Aを備えている。実施の形態2において、実施の形態1と異なる点は、圧縮器30の代わりに可変圧縮器30Aを備えている点である。
可変圧縮器30Aは、スキャンチェインの本数に応じて圧縮率を変更することができる。可変圧縮器30Aは、XOR(exclusive OR)ツリーと、MUX(マルチプレクサ)31(31a〜31c)とを備える。各MMSFF10からの出力は、XORツリーを構成するXORゲートに入力される。例えば、図5に示すように、先頭と5番目のMMSFF10の出力が第1XORゲートに入力され、3番目と7番目のMMSFF10の出力が第2XORゲートに入力され、2番目と6番目のMMSFF10の出力が第3XORゲートに入力され、4番目と8番目のMMSFF10の出力が第4XORゲートに入力される。MUX31aには、8番目のMMSFF10の出力と第4XORゲートの出力が入力される。
第1XORゲートと第2XORゲートの出力は2段目の一方のXORゲートに、第3XORゲートと第4XORゲートの出力は2段目の他方のXORゲートに入力される。MUX31bには、2段目の他方のXORゲートの出力と、MUX31aの出力が入力される。2段目の2つのXORゲートの出力は、3段目のXORゲートに入力される。MUX31cには、3段目の他方のXORゲートの出力と、MUX31bの出力が入力される。
各MUX31には、マルチモード制御回路20から圧縮率制御信号が入力される。MUX31は、圧縮率制御信号により、スキャンチェインの圧縮率と可変圧縮器30Aにおける圧縮率とが同一になるように制御される。したがって、同時に観測されるMMSFF10数がスキャンチェインの本数に制限される。圧縮率制御信号により設定されたスキャンチェインの最終段のMMSFF10からの出力は、可変圧縮器30Aにより圧縮される。
実施の形態1では、MMSFF10のいずれか1つに不定値(X)が取り込まれた場合、圧縮器30の出力まで不定値が伝搬し、すべてのMMSFF10の同時観測が不可能となる。この不定値の伝搬により、故障検出率が低下する、又は、テストパターン数が増加して、テスト時間が長くなるという問題が発生する場合がある。
これに対し、実施の形態2では、スキャンチェインの構成の切替えに合わせて、スキャンチェインの本数に対応するように、可変圧縮器30Aの圧縮率を変化させることができる。このように、可変圧縮器30Aの、圧縮率制御信号により設定されたスキャンチェインの最終段のMMSFF10から外部スキャンアウト端子までの経路を変更することにより、不定値の影響により故障検出率の低下やテストパターン数の増加を抑制することが可能となる。
実施の形態3.
実施の形態3に係る半導体装置について、図6を参照して説明する。図6は、実施の形態3に係る半導体装置1Bの構成を示す図である。図6に示すように、半導体装置1Bは、複数のMMSFF10、マルチモード制御回路20、圧縮率可変圧縮器30B、マスク制御回路40を備えている。実施の形態3において、実施の形態2と異なる点は、可変圧縮器30Aに代えて可変圧縮器30Bを備え、可変圧縮器30Bを制御するマスク制御回路40を有している点である。
可変圧縮器30Bは、可変圧縮器30Aと同様に、MUX31(31a〜31c)を有している。また、1段目の4つのXORゲートの入力側にはそれぞれマスク回路32が設けられている。すなわち、マスク回路32は、複数のスキャンチェインと圧縮器との間に設けられている。マスク回路32は、複数のスキャンチェインからの出力のうち、特定の論理演算結果の一部の圧縮器への入力を遮断する。
マスク制御回路40は、遮断する論理演算結果に応じてマスク回路32の有効/無効を制御する。マスク制御回路40は、シフトレジスタ41、ホールドレジスタ42、デコーダ43を有している。シフトレジスタ41は、マルチモード制御回路20のシフトレジスタ21と直列に接続されている。実施の形態3では、シフトレジスタ21とシフトレジスタ41とMMSFF10とが直列に接続されている。したがって、実施の形態3では、スキャンイン信号は、外部入力テスト信号、圧縮率制御信号、マスク制御信号を含む。なお、マルチモード制御回路20とマスク制御回路40とスキャンチェインとを直列接続する必要はなく、別の入力端子を設けて外部より独立して制御する構成も可能である。
マスク制御信号がシフトレジスタ41内で転送されることにより、各シフトレジスタにその値が設定される。マスク制御信号は、スキャンシフト期間中にシフトレジスタ41に設定される。シフトレジスタ41に設定されたマスク制御信号は、アップデート信号でホールドレジスタ42に取り込まれる。ホールドレジスタ42の設定値はデコーダ43でデコードされ、マスク回路32に供給される。マスク回路32がマスク制御信号に応じて、スキャンチェインから入力される論理演算結果の一部を遮断する。
例えば、マスク回路32は、スキャンチェインから入力される不定値の伝搬を阻止することができる。マスク回路32は、所定のテストパターンでのキャプチャ動作で不定値を取り込んだMMSFF10を含むスキャンチェインに対してマスクする。これにより、不定値の影響による故障検出率の低下やテストパターン数の増加を抑制することが可能となる。
また、所定のテストパターンでマスク対象としたスキャンチェインの故障観測のために、別のテストパターンではそのスキャンチェインのマスクを行わないように制御することができる。これにより、当該スキャンチェイン上の不定値を取り込むMMSFF10以外のMMSFF10の故障を観測することができる。
ここで、図7を参照して、半導体装置1Bの動作について説明する。図7は、実施の形態3に係る半導体装置1Bの動作を説明する図である。ホールドレジスタ42からの出力信号をmask control hold resisterとし、シフトレジスタ21からの出力信号をmask control shift resisterと示している。上述の通り、実施の形態3では、スキャンイン信号は、外部入力テスト信号、圧縮率制御信号、マスク制御信号を含む。なお、他の信号については、図4と同様である。
実施の形態3では、スキャンイン信号として外部入力テスト信号が入力された後に、次のテストパターンに対するマスク制御信号が入力され、その後、次のテストパターンに対する圧縮率制御信号が入力される。まず、セットアップ期間では、セットアップ期間に続くスキャンシフト期間shift1に入力されるテストパターンに対する圧縮率制御信号が入力される。スキャンシフト期間shift1では、2本のスキャンチェインが構築されるモードとなる。
その後、スキャンイネーブル信号の立ち上がりに応じて、2本のスキャンチェインが構築されたモードでスキャンシフト動作が行われる。スキャンシフト期間shift1に入力されるスキャンイン信号は、当該期間で各MMSFF10に設定されるテストパターンに対応する外部入力テスト信号と、次のスキャンシフト期間shift2でMMSFF10に設定されるテストパターンに対するマスク制御信号と圧縮率制御信号とを含む。
外部入力テスト信号は伸張器でスキャン本数分に伸張展開され、スキャンシフト動作により、各MMSFF10にそれぞれ値が設定される。外部入力テスト信号が入力された後に、次のテストパターンに対するマスク制御信号が入力される。マスク制御信号はシフトレジスタ41内で転送され、各シフトレジスタにその値が設定される。その後、次のテストパターンに対する圧縮率制御信号が入力される。
図7に示す例では、次のスキャンシフト期間shift2のテストパターンに対するマルチモードの設定は、4倍設定となっている。スキャンシフト期間shift1には、4本のスキャンチェインが構築される圧縮率制御信号がシフトレジスタ21に設定される。そして、スキャンイネーブル信号が立ち下がりに応じて、キャプチャ動作が行われる。また、圧縮率制御信号はMUX31a〜31cにそれぞれ供給される。可変圧縮器30Bの圧縮率は、スキャンチェインの圧縮率と同一になるように制御される。
その後、アップデート信号に応じて、ホールドレジスタ42に設定されていたマスク制御信号が、ホールドレジスタ42に取り込まれる。また、アップデート信号に応じて、シフトレジスタ21に設定されていた圧縮率制御信号が、ホールドレジスタ22に取り込まれる。このマスク制御信号、圧縮率制御信号は、スキャンシフト期間shift2中保持される。
スキャンシフト期間shift2では、4本のスキャンチェインが構築されるモードとなる。また、マスク制御信号に応じた、マスク回路32の制御がなされ、任意の論理演算結果の圧縮器への入力が遮断される。以降、同様に、次のスキャンシフト期間中で設定されるテストパターンに対するマスク制御信号、圧縮率制御信号が設定される。
実施の形態2では、不定値を取り込んだMMSFF10の観測サイクルにおいて、他のスキャンチェインの不定値を取り込んだMMSFF10と同じ段数にあるすべてのMMSFF10の観測が不可能であった。これに対し、実施の形態3では、スキャンチェイン毎に不定値の伝搬を遮断することができる。これにより、不定値の影響で観測不可能となっていたMMSFF10の観測が可能となり、故障検出率の低下を抑制することが可能となる。
なお、実施の形態3では、可変圧縮器30Bは、圧縮率を変更するMUX31とマスク回路32とを備える構成としたが、MUX31を備えず、マスク回路32のみを備えた構成とすることも可能である。
実施の形態4.
実施の形態4に係る半導体装置について、図8を参照して説明する。図8は、実施の形態4に係る半導体装置1Cの構成を示す図である。図8に示すように、半導体装置1Cは、複数のMMSFF10、マルチモード制御回路20、圧縮率可変圧縮器30B、マスク制御回路40Aを備えている。実施の形態4に係る半導体装置は、伸張器の圧縮率と可変圧縮器の圧縮率とを独立して制御可能な構造を有する。
実施の形態3では、可変圧縮器30Bがマルチモード制御回路20からの圧縮率制御信号で制御されていたのに対し、実施の形態4では、マスク制御回路40Aから供給される圧縮器制御信号により制御される。マスク制御回路40Aは、マスク回路32を制御する機能に加えて、可変圧縮器30Bの圧縮率の変更を制御する機能を有する。
マスク制御回路40Aは、シフトレジスタ41A、ホールドレジスタ42A、デコーダ43Aを有している。シフトレジスタ41Aは、マルチモード制御回路20のシフトレジスタ21と直列に接続されている。実施の形態3では、シフトレジスタ21とシフトレジスタ41とMMSFF10とが直列に接続されている。
シフトレジスタ41Aには、マスク制御信号とともに、可変圧縮器30Bの圧縮率を制御する圧縮器制御信号の値が、MMSFF10に入力される圧縮率制御信号とは別に設定される。したがって、実施の形態4では、スキャンイン信号は、外部入力テスト信号、圧縮率制御信号、マスク制御信号、圧縮器制御信号を含む。可変圧縮器30Bは、スキャンチェインの圧縮率(伸張器の圧縮率)と異なる圧縮率に設定することが可能である。
実施の形態2、3では、伸張器と圧縮器とが同じ圧縮率となるため、前のテストパターンに対する圧縮率と次のテストパターンに対する圧縮率とに相互に依存関係があった。このように前後の圧縮率に依存関係が発生するため、テストパターンの値を各MMSFF10に設定するときに制限が生じる。
これに対し、実施の形態4では、伸張器と可変圧縮器30Bの圧縮率を独立して制御するができる。このため、前のテストパターンに対する圧縮率の影響を受けることなく、次のテストパターンを各MMSFF10に設定することが可能となる。
例えば、マスク回路32でマスクされるスキャンチェインを考慮して、可変圧縮器30Bの圧縮率を変更することで、圧縮器30の圧縮効率低下を抑制することが可能となる。すなわち、圧縮器30の圧縮効率低下を抑制するような組み合わせで、可変圧縮器30Bの圧縮率の変更とマスク回路32の制御を行うことができる。
また、不定値が存在するスキャンチェインをマスクする場合、マスク回路32による圧縮効率低下を抑制するような、可変圧縮器30Bの圧縮率、マスク回路32の制御を選択することができる。例えば、1本のスキャンチェインのみをマスクする場合、高圧縮スキャン構成の方がマスク対象となるMMSFF10の数が少なくなる。このように、伸張器と圧縮器をそれぞれ異なる圧縮率とすることで、マスク回路32によるマスク処理による圧縮効率低下を抑制することができ、テストパターン数を削減することが可能となる
実施の形態5.
実施の形態5に係る半導体装置について、図9を参照して説明する。図9は、実施の形態5に係る半導体装置1Dの構成を示す図である。図9に示すように、半導体装置1Dは、複数のMMSFF10、複数のSFF(スキャンフリップフロップ)50、マルチモード制御回路20、圧縮率可変圧縮器30C、マスク制御回路40Bを備えている。テストステップ数削減の観点では、細か過ぎるマルチモード制御は不必要となる場合がある。実施の形態5では、スキャンチェインがMMSFF10とSFF50とを含み、実施の形態4よりも最大圧縮率を抑制している。
SFF50は、スキャンシフト動作とキャプチャ動作とを切り替え可能なシフト用スキャンフリップフロップであり、スキャンシフト動作時において、入力される外部入力テスト信号又はシフトテスト信号をそのまま出力する。図9に示すように、半導体装置1Dでは、先頭、2番目、4番目、6番目、8番目にSFF50が配置されており、3番目、5番目、7番目にMMSFF10が配置されている。
先頭のSFF50は、外部から入力される外部入力テスト信号を後段のSFF50にそのまま出力する。2番目のSFF50は、先頭のSFF50から入力されたシフトテスト信号を3番目のMMSFF10に出力する。3番目のMMSFF10は、圧縮率制御信号に応じて、外部入力テスト信号とシフトテスト信号のいずれか一方を出力する。
実施の形態4の半導体装置1CのようにすべてがMMSFF10の場合と比較すると、実施の形態5の半導体装置1Dでは最大圧縮率が1/2となる。すなわち、図8の回路構成では最大圧縮率が8倍だったのに対し、図9の回路構成では最大圧縮率が4倍となる。任意の最大圧縮率に合わせて一部のMMSFF10をSFF50に置換することができる。全てMMSFF10の場合に達成可能な最大圧縮率の1/N倍にする場合、最低圧縮率のスキャンチェイン構成のときにN個毎に1個MMSFF10を配置する。
実施の形態5によれば、すべてをMMSFF10で構成した場合と比較して、面積を小さくすることができる。例えば、最大圧縮率を1/10とすると、スキャンチェイン内のMMSFF10による置換対象が1/10となる。MMSFF10、SFF50のチップの論理部に占める面積の割合が10%程度である場合、最大圧縮率を1/10とするとチップの論理部に対する面積の影響は約0.1%となる。なお、先頭のSFF50には外部入力テスト信号のみが入力されるため、先頭はSFF50に固定することができる。当該SFF50は、伸張器に接続される。これにより、さらに半導体装置の面積の増加を抑制することができる。
実施の形態6.
実施の形態6に係る半導体装置について、図10を参照して説明する。図10は、実施の形態5に係る半導体装置1Eの構成を示す図である。図10に示すように、半導体装置1Eは、複数のMMSFF10、マルチモード制御回路20、圧縮率可変圧縮器30B、マスク制御回路40Aを備えている。実施の形態6に係る半導体装置1Eは、伸張器として、ファンアウト構成の伸張器ではなく、リングジェネレータ60を有している。
リングジェネレータ60は、マルチモード制御回路20、マスク制御回路40Aと直列接続されている。外部から入力されたスキャンイン信号は、外部入力テスト信号、圧縮器制御信号、マスク制御信号、圧縮率制御信号を含む。外部入力制御信号が、マルチモード制御回路20のシフトレジスタ21、マスク制御回路40Aのシフトレジスタ41Aを抜けて、リングジェネレータ60に供給される。外部入力テスト信号は、リングジェネレータ60でスキャンチェインの本数に応じて伸張・展開され、各スキャンチェインの先頭のMMSFF10に供給される。
図11に、ファンアウト構成の伸張器を用いた場合とリングジェネレータを用いた場合の、テストステップ数と故障検出率の関係を示す。図11に示すように、リングジェネレータを用いた場合、少ないテストステップ数で、故障検出率が高いことがわかる。このように、伸張器としてリングジェネレータを用いることで、ファンアウト構成の伸張器を用いる場合よりもテストステップ数の削減、故障検出率を向上させることができる。ただし、リングジェネレータを用いることで、ファンアウト構成の伸張器を用いた場合よりも面積が大きくなる。
実施の形態7.
実施の形態7に係る設計装置100について、図12を参照して説明する。設計装置100は、スキャンチェイン本数を切替えながら圧縮スキャンテスト可能な半導体装置を設計し、その半導体装置を利用してスキャンチェイン本数をテストパターン毎に切替えながら圧縮スキャンテストを行うテストパターンを生成する設計装置である。
設計装置100は、演算処理装置110、記憶装置120、制御入力装置130、表示出力装置131を有する。演算処理装置110は、半導体装置の設計に必要なプログラムをロードして設計に必要な各機能プロセスを実行可能な装置であり、CPUやメモリ等を含む。演算処理装置110は、スキャン化実行プログラム111、圧縮・制御回路付加プログラム112、ATPGプログラム113を有している。
記憶装置120は、ネットリスト121、機能ライブラリ122、テスト制約DB123、スキャン化ネットリスト124、圧縮回路付加ネットリスト125、テストパターンDB126を有している。記憶装置120は、ライブラリやネットリストの情報を保存するHDDディスクやメモリなどの記憶媒体を指す。設計装置100は、演算処理装置110のプログラムを使用し、記憶装置120のネットリストやライブラリを参照して、上述の実施の形態で説明した可変圧縮スキャンテスト可能な半導体装置を生成し、これのテストを行うためのテストパターンを生成する。
制御入力装置130は、ユーザが演算処理装置110及び記憶装置120を操作するための装置の総称で、キーボードやマウス等が挙げられる。表示出力装置131は、ユーザが演算処理装置110及び記憶装置120の動作を確認するためのもので、ディスプレイ等が挙げられる。
ネットリスト121には、ANDゲートや、ORゲート、EORゲート等のセル情報や端子間の接続情報等が記憶されている。機能ライブラリには、セルの機能や置換リスト等が記憶されている。置換リストには、例えば、スキャンチェインを構成するSFFをMMSFFで置換する情報が含まれる。演算処理装置110は、スキャン化プログラム111を実行することにより、ネットリスト121、機能ライブラリ122を参照して、可変圧縮スキャンテストが可能な半導体装置のスキャン化ネットリストを生成する。
スキャン化プログラム111は、一般的なスキャンチェインの構築機能に加えて、圧縮率制御信号によって複数のスキャンチェイン構成に切替可能な半導体装置を生成する。スキャンチェイン構成の切替えに必要な論理として、SFF50の挿入か又はMMSFF10による置換を行う。また、スキャン化プログラム111は、図9のように、SFF50とMMSFF10とを含むようにしてもよい。この場合、スキャン化プログラム111は、SFF50を伸張器に接続する処理を実行することも可能である。
また、演算処理装置110は、圧縮・制御回路付加プログラム112を実行することにより、スキャン化ネットリスト124、機能ライブラリ122を参照して、圧縮回路付加ネットリスト125を生成する。圧縮・制御回路付加プログラム112は、マルチモード制御回路20の挿入や、圧縮率が変更可能な伸張器の挿入、圧縮率が変更可能な圧縮器の挿入、マルチモード制御回路20とスキャンチェイン切替論理との接続、伸張器とスキャンチェインとの接続、圧縮器とスキャンチェインとの接続を行う。また、圧縮・制御回路付加プログラム112は、実施の形態2のように、スキャンチェインの本数に応じて可変圧縮器30Aの圧縮率を変更することも可能である。
さらに、演算処理装置110は、ATPGプログラム113を実行することにより、圧縮回路付加ネットリスト125、機能ライブラリ122、テスト制約DB123を参照することにより、テストパターンを生成する。テスト制約DB123には、テスト時の回路動作に必要な情報が格納されている。テスト制約DB123に格納される情報には、例えば、外部出力端子を0に固定する等の情報が含まれる。
ATPGプログラム113は、切替可能なスキャンチェイン構成を考慮して、テストパターン毎にスキャンチェイン構成を切替えることでテストステップ数が極小となるようなテストパターンを生成する機能を有する。生成されたテストパターンは、テストパターンDB126に格納される。半導体装置では、テストパターンDB126に保存されたテストパターンを用いて、可変圧縮スキャンテストが実行される。
ここで、図13を参照して、半導体装置の設計フローについて説明する。図13は、実施の形態7に係る半導体装置の設計フローの一例を示す図である。図13に示すように、まずネットリスト121、機能ライブラリ122が入力される(ステップS11)。その後、回路解析が行われ、当該回路の持つ切替可能なスキャンチェイン構成(圧縮率構成等)の回路情報が識別される(ステップS12)。
そして、識別された回路に対して故障仮定が実行される(ステップS13)。そして、予め入力された故障リストから検出対象候補故障を選択し(ステップS14)、当該検出対象候補故障に対応するケアビットを算出するケアビット算出処理が実行される(ステップS15)。ケアビットの生成に失敗した場合は、その故障を未検出故障として識別して故障リストから除外される。そして、別の検出対象候補故障が選択され、ケアビットの生成が成功するまで繰り返される。
検出対象候補故障を検出可能なケアビットの生成が成功した場合は、そのケアビットを正当化可能な最大圧縮率構成が計算・決定される(ステップS16)。ケアビットに応じて、外部入力テスト信号又はシフトテスト信号のいずれを選択するかを制御し、スキャンチェインの構成を切り替える切替処理が実行される。そして、その圧縮率制約条件下でケアビットを追加し、同時に検出可能な故障数を増やす(動的圧縮)(ステップS17)。
その後、生成したテストパターンに対する故障シミュレーションを行い(ステップS18)、検出可能な範囲を識別し、故障リストから取り除く。そして、生成されたテストパターンをメモリ上に記憶するか、又は、ディスクに出力する。故障リストに検出対象候補故障が残っている場合は、再度ケアビット生成からテストパターンの保存までを繰り返す(ステップS19)。故障リストに含まれる全ての故障を検出か未検出とし、検出対象候補故障となっていない未対象故障がなくなるとATPGプログラム113が終了する(ステップS20)。
図17に、比較例の圧縮スキャンでの設計フローを示す。図17に示すように、圧縮率を変更できない圧縮スキャンテスト設計では、初めに、入力ネットリスト・機能ライブラリに対して回路解析を行い(ステップS101、102)、故障仮定が実行される(ステップS103)。そして、故障仮定の中から1個のケアビット検出対象候補故障を選択し、回路制約又は圧縮率制約下でその故障を検出可能なケアビットの生成を試みる(ステップS104)。回路制約又は圧縮率制約によりケアビットの生成に失敗した場合は、その故障が故障リストから除外される。そして、別の検出対象候補故障を選択し、ケアビットの生成が成功するまで繰り返す(ステップS105)。
対象故障を検出可能なケアビットの生成が成功した場合は、ケアビットを追加することで同時に検出可能な故障数を増やす(ステップS106)。動的圧縮が終わった後は、故障シミュレーションを行い、生成したテストパターンによって検出可能な範囲が識別される(S107)。そして、生成したテストパターンをメモリ上に記憶するか、又は、ディスク出力する(S108)。故障リストに検出対象候補故障となっていない未対象故障が残っている場合は、再度ケアビット生成からテストパターンの保存までを繰り返す(ステップS109)。全ての故障を検出か未検出に判定し未対象故障がなくなると、ATPGプログラムが終了する。このように比較例では、圧縮率を変更することができないため、短いテストステップ数で高故障検出率のテストパターンを生成することが難しい。
これに対し、実施の形態7に係る設計装置を用いることで、スキャンチェイン本数を切替え可能な半導体装置を設計することができる。また、この半導体装置に対してスキャンチェイン本数をテストパターン毎に切替える制御を行いながら、圧縮スキャンテストを実行することが可能なテストパターンを生成することが可能となる。これにより、短いテストステップ数で高い故障検出率が達成可能な圧縮スキャンテストが実現できる。
なお、圧縮・制御回路付加プログラム112は、複数のスキャンチェインと圧縮器との間に、複数のスキャンチェインからの出力のうち、特定のテスト結果の一部の圧縮器への入力を遮断するマスク回路をさらに挿入する処理を実行してもよい。図14に、マスク回路32を有する圧縮器を使用した場合の、半導体装置の設計フローが示される。このような回路構成の場合は、ケアビット生成後に生成ケアビットに対して適用可能な伸張器の最大圧縮構成を計算、適用し(ステップS30)、ケアビットの追加(動的圧縮)後に、必要なマスク制御を決定する(ステップS31)ことができる。なお、マスク制御とともに、可変圧縮器の圧縮率を計算して適用することが可能である。
また、上述の実施の形態において、先頭のSFF50には外部入力テスト信号のみが入力されるため、先頭はSFF50に固定することも可能である。
上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 半導体装置
1A〜1D 半導体装置
10 MMSFF
11 MUX
12 FF
20 マルチモード制御回路
21 シフトレジスタ
22 ホールドレジスタ
23 デコーダ
30 圧縮器
30A 可変圧縮器
30B 可変圧縮器
30C 可変圧縮器
31 MUX
32 マスク回路
40 マスク制御回路
40A マスク制御回路
40B マスク制御回路
41 シフトレジスタ
41A シフトレジスタ
41B シフトレジスタ
42 ホールドレジスタ
42A ホールドレジスタ
42B ホールドレジスタ
43 デコーダ
43A デコーダ
43B デコーダ
50 SFF
60 リングジェネレータ
100 設計装置
110 演算処理装置
111 スキャン化プログラム
112 圧縮・制御回路付加プログラム
113 ATPGプログラム
120 記憶装置
121 ネットリスト
122 機能ライブラリ
123 テスト制約DB
124 スキャン化ネットリスト
125 圧縮回路付加ネットリスト
126 テストパターンDB
130 制御入力装置
131 表示出力装置

Claims (20)

  1. 一以上のスキャンフリップフロップがシリアルに接続された一以上のスキャンチェインと、組み合わせ回路とを備え、
    前記スキャンフリップフロップが、前記スキャンチェイン内の前記スキャンフリップフロップをシフトレジスタとして動作させるスキャンシフト動作と、前記組み合わせ回路の出力をキャプチャするキャプチャ動作とを切り替え可能な半導体装置であって、
    前記スキャンフリップフロップは、
    前記スキャンシフト動作時において、外部から入力される外部入力テスト信号及び同じ前記スキャンチェイン内の前段のスキャンフリップフロップを介して入力されるシフトテスト信号のいずれかを選択する選択部と、
    前記選択部によって選択された外部入力テスト信号又はシフトテスト信号を出力するフリップフロップと、
    を有する半導体装置。
  2. 前記スキャンフリップフロップに設定されるテストパターンに応じて、前記選択部が前記外部入力テスト信号又は前記シフトテスト信号のいずれを選択するかを制御する制御回路をさらに備える、
    請求項1に記載の半導体装置。
  3. 複数の前記スキャンチェインの出力側に接続され、複数の前記スキャンチェインからの出力を圧縮変換する圧縮器をさらに備える、
    請求項1に記載の半導体装置。
  4. 前記圧縮器は、前記スキャンチェインの本数に応じて圧縮率を変更する、
    請求項3に記載の半導体装置。
  5. 複数の前記スキャンチェインと前記圧縮器との間に設けられ、複数の前記スキャンチェインからの出力のうち、特定のテスト結果の一部の前記圧縮器への入力を遮断するマスク回路をさらに備える、
    請求項3に記載の半導体装置。
  6. 前記スキャンチェインは、前記スキャンシフト動作と前記キャプチャ動作とを切り替え可能なシフト用スキャンフリップフロップを含み、
    前記シフト用スキャンフリップフロップは、
    前記スキャンシフト動作時において、入力される前記外部入力テスト信号又は前記シフトテスト信号をそのまま出力する、
    請求項1に記載の半導体装置。
  7. 複数の前記スキャンチェインの入力側に接続され、前記外部入力テスト信号を前記スキャンチェインの本数に応じて伸張変換する伸張器をさらに備え、
    前記シフト用スキャンフリップフロップは、前記伸張器に接続される請求項6に記載の半導体装置。
  8. 複数の前記スキャンチェインの入力側に接続され、前記外部入力テスト信号を前記スキャンチェインの本数に応じて伸張変換する伸張器をさらに備える、
    請求項1に記載の半導体装置。
  9. 一以上のスキャンフリップフロップがシリアルに接続された一以上のスキャンチェイン内の該スキャンフリップフロップをシフトレジスタとして動作させるスキャンシフト動作と、組み合わせ回路の出力をキャプチャするキャプチャ動作とを切り替え可能なスキャンフリップフロップを備える半導体装置の設計装置であって、
    予め設定されたプログラムに従って所定の処理を実行可能な演算処理装置を備え、
    前記演算処理装置は、
    前記スキャンシフト動作時において、外部から入力される外部入力テスト信号及び同じ前記スキャンチェイン内の前段のスキャンフリップフロップを介して入力されるシフトテスト信号のいずれかを出力するかを選択可能な前記スキャンフリップフロップを含む半導体装置を、ネットリストを参照して生成する回路生成処理を実行する、
    設計装置。
  10. 前記演算処理装置は、
    予め入力された故障リストから検出対象候補故障を選択し、当該検出対象候補故障に対応するケアビットを算出するケアビット算出処理と、
    前記ケアビットに応じて、前記外部入力テスト信号又は前記シフトテスト信号のいずれを選択するかを制御し、前記スキャンチェインの構成を切り替える切替処理を実行する、
    請求項9に記載の設計装置。
  11. 前記演算処理装置は、
    切替えられた前記スキャンチェインの構成に応じて、テストステップ数が極小となるようなテストパターンを生成するテストパターン生成処理を更に実行する、
    請求項10に記載の設計装置。
  12. 前記演算処理部は、
    切り替えられた前記スキャンチェインの構成における制約条件下で、他の故障を検出する追加ケアビットを生成する追加ケアビット生成処理を更に実行する、
    請求項11に記載の設計装置。
  13. 前記演算処理装置は、
    複数の前記スキャンチェインの出力側に、複数の前記スキャンチェインからの出力を圧縮変換する圧縮器を挿入する圧縮器挿入処理を実行する、
    請求項9に記載の設計装置。
  14. 前記圧縮器は、前記スキャンチェインの本数に応じて圧縮率を変更する、
    請求項13に記載の設計装置。
  15. 前記演算処理装置は、
    複数の前記スキャンチェインと前記圧縮器との間に、複数の前記スキャンチェインからの出力のうち、特定のテスト結果の一部の前記圧縮器への入力を遮断するマスク回路をさらに挿入する処理を実行する、
    請求項13に記載の設計装置。
  16. 前記演算処理装置は、
    前記回路生成処理において、
    前記スキャンシフト動作と前記キャプチャ動作とを切り替え可能であり、前記スキャンシフト動作時において、入力される前記外部入力テスト信号又は前記シフトテスト信号をそのまま出力するシフト用スキャンフリップフロップをさらに含む半導体装置を生成する、
    請求項9に記載の設計装置。
  17. 前記演算処理装置は、
    複数の前記スキャンチェインの入力側に、前記外部入力テスト信号を前記スキャンチェインの本数に応じて伸張変換する伸張器をさらに挿入し、
    前記シフト用スキャンフリップフロップを、前記伸張器に接続する処理を実行する、
    請求項16に記載の設計装置。
  18. 前記演算処理装置は、
    複数の前記スキャンチェインの入力側に、前記外部入力テスト信号を前記スキャンチェインの本数に応じて伸張変換する伸張器をさらに挿入する処理を実行する、
    請求項9に記載の設計装置。
  19. 一以上のスキャンフリップフロップがシリアルに接続された一以上のスキャンチェイン内の該スキャンフリップフロップをシフトレジスタとして動作させるスキャンシフト動作と、組み合わせ回路の出力をキャプチャするキャプチャ動作とを切り替え可能なスキャンフリップフロップであって、
    前記スキャンシフト動作時において、外部から入力される外部入力テスト信号、又は、同じ前記スキャンチェイン内の前段のスキャンフリップフロップを介して入力されるシフトテスト信号を選択する選択部と、
    前記選択部において選択された外部入力テスト信号又はシフトテスト信号を出力するフリップフロップと、
    を備えるスキャンフリップフロップ。
  20. 前記選択部は、
    前記外部入力テスト信号が入力される第1スキャンイン端子と、
    前記シフトテスト信号が入力される第2スキャンイン端子と、
    前記スキャンシフト動作と前記キャプチャ動作とを切り替える切替信号が入力される第1制御入力端子と、
    前記外部入力テスト信号又は前記シフトテスト信号を選択する制御信号が入力される第2制御入力端子と、
    を備える請求項19に記載のスキャンフリップフロップ。
JP2015054607A 2015-03-18 2015-03-18 半導体装置及び設計装置、スキャンフリップフロップ Active JP6544958B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015054607A JP6544958B2 (ja) 2015-03-18 2015-03-18 半導体装置及び設計装置、スキャンフリップフロップ
US14/964,362 US10496771B2 (en) 2015-03-18 2015-12-09 Semiconductor apparatus and design apparatus
CN201610045085.4A CN105988076B (zh) 2015-03-18 2016-01-22 半导体装置和设计装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015054607A JP6544958B2 (ja) 2015-03-18 2015-03-18 半導体装置及び設計装置、スキャンフリップフロップ

Publications (2)

Publication Number Publication Date
JP2016173349A true JP2016173349A (ja) 2016-09-29
JP6544958B2 JP6544958B2 (ja) 2019-07-17

Family

ID=56924760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015054607A Active JP6544958B2 (ja) 2015-03-18 2015-03-18 半導体装置及び設計装置、スキャンフリップフロップ

Country Status (3)

Country Link
US (1) US10496771B2 (ja)
JP (1) JP6544958B2 (ja)
CN (1) CN105988076B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11150299B2 (en) * 2018-03-22 2021-10-19 Siemens Industry Software Inc. Flexible isometric decompressor architecture for test compression
CN108845244B (zh) * 2018-06-28 2024-06-11 北京汉能光伏投资有限公司 一种电路检测方法及装置
US10914785B2 (en) * 2018-11-13 2021-02-09 Realtek Semiconductor Corporation Testing method and testing system
US10598730B1 (en) * 2018-11-13 2020-03-24 Realtek Semiconductor Corporation Testing method and testing system
TWI748493B (zh) * 2020-06-01 2021-12-01 瑞昱半導體股份有限公司 掃描測試裝置與掃描測試方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6293672A (ja) * 1985-10-21 1987-04-30 Hitachi Ltd 階層型論理装置
JPH03252569A (ja) * 1990-02-26 1991-11-11 Advanced Micro Devicds Inc スキャンパス用レジスタ回路
JP2004012420A (ja) * 2002-06-11 2004-01-15 Fujitsu Ltd 集積回路の診断装置および診断方法並びに集積回路
JP2004286549A (ja) * 2003-03-20 2004-10-14 Matsushita Electric Ind Co Ltd スキャンテスト装置およびその設計方法
US20080276140A1 (en) * 2006-05-03 2008-11-06 Tobias Gemmeke Semiconductor chip with a plurality of scannable storage elements and a method for scanning storage elements on a semiconductor chip
JP2011099835A (ja) * 2009-11-09 2011-05-19 Renesas Electronics Corp スキャンテスト回路及びスキャンテスト方法
US20110307748A1 (en) * 2010-06-15 2011-12-15 Qualcomm Incorporated Techniques for error diagnosis in vlsi systems
JP2012198078A (ja) * 2011-03-18 2012-10-18 Renesas Electronics Corp 半導体集積回路、テスト方法、半導体集積回路の設計方法、半導体集積回路の設計支援プログラム
JP2012208000A (ja) * 2011-03-29 2012-10-25 Renesas Electronics Corp 半導体集積回路装置、スキャンテスト回路設計方法、スキャンテスト回路設計装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234092B2 (en) * 2002-06-11 2007-06-19 On-Chip Technologies, Inc. Variable clocked scan test circuitry and method
JP2004077356A (ja) 2002-08-21 2004-03-11 Nec Micro Systems Ltd スキャンチェーン回路、スキャンチェーン構築方法およびそのプログラム
JP3859647B2 (ja) * 2004-01-16 2006-12-20 松下電器産業株式会社 半導体集積回路のテスト方法および半導体集積回路
JP2005309867A (ja) * 2004-04-22 2005-11-04 Fujitsu Ltd マルチコア・プロセサ試験方法
JP4437719B2 (ja) * 2004-08-02 2010-03-24 シャープ株式会社 半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法
EP1994419B1 (en) * 2006-02-17 2013-11-06 Mentor Graphics Corporation Multi-stage test response compactors
JP2008102045A (ja) * 2006-10-20 2008-05-01 Matsushita Electric Ind Co Ltd 半導体集積回路および半導体集積回路の検査方法
US7814444B2 (en) * 2007-04-13 2010-10-12 Synopsys, Inc. Scan compression circuit and method of design therefor
US7823034B2 (en) * 2007-04-13 2010-10-26 Synopsys, Inc. Pipeline of additional storage elements to shift input/output data of combinational scan compression circuit
JP2011058847A (ja) * 2009-09-07 2011-03-24 Renesas Electronics Corp 半導体集積回路装置
US9075110B2 (en) * 2010-10-05 2015-07-07 Kyushu Institute Of Technology Fault detection system, acquisition apparatus, fault detection method, program, and non-transitory computer-readable medium

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6293672A (ja) * 1985-10-21 1987-04-30 Hitachi Ltd 階層型論理装置
JPH03252569A (ja) * 1990-02-26 1991-11-11 Advanced Micro Devicds Inc スキャンパス用レジスタ回路
JP2004012420A (ja) * 2002-06-11 2004-01-15 Fujitsu Ltd 集積回路の診断装置および診断方法並びに集積回路
JP2004286549A (ja) * 2003-03-20 2004-10-14 Matsushita Electric Ind Co Ltd スキャンテスト装置およびその設計方法
US20080276140A1 (en) * 2006-05-03 2008-11-06 Tobias Gemmeke Semiconductor chip with a plurality of scannable storage elements and a method for scanning storage elements on a semiconductor chip
JP2011099835A (ja) * 2009-11-09 2011-05-19 Renesas Electronics Corp スキャンテスト回路及びスキャンテスト方法
US20110307748A1 (en) * 2010-06-15 2011-12-15 Qualcomm Incorporated Techniques for error diagnosis in vlsi systems
JP2012198078A (ja) * 2011-03-18 2012-10-18 Renesas Electronics Corp 半導体集積回路、テスト方法、半導体集積回路の設計方法、半導体集積回路の設計支援プログラム
JP2012208000A (ja) * 2011-03-29 2012-10-25 Renesas Electronics Corp 半導体集積回路装置、スキャンテスト回路設計方法、スキャンテスト回路設計装置

Also Published As

Publication number Publication date
CN105988076A (zh) 2016-10-05
US10496771B2 (en) 2019-12-03
JP6544958B2 (ja) 2019-07-17
CN105988076B (zh) 2020-07-03
US20160274184A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
JP6544958B2 (ja) 半導体装置及び設計装置、スキャンフリップフロップ
JP2010223585A (ja) 電源制御可能領域を有する半導体集積回路
JP6654456B2 (ja) テストポイント回路、シーケンシャルテスト用スキャンフリップフロップ、半導体装置及び設計装置
US20090240996A1 (en) Semiconductor integrated circuit device
JP2011149775A (ja) 半導体集積回路及びコアテスト回路
JP2010223672A (ja) スキャンテスト回路
JP7305583B2 (ja) 半導体集積回路
US10078114B2 (en) Test point circuit, scan flip-flop for sequential test, semiconductor device and design device
JP2017199445A (ja) メモリテストシステム及び半導体装置、並びにメモリテスト方法
JP5160039B2 (ja) 半導体装置及びそのテスト回路の追加方法
JP2017129437A (ja) スキャンテスト回路、スキャンテスト方法およびスキャンテスト回路の設計方法
JP2019145048A (ja) 半導体集積回路、その設計方法、プログラム及び記憶媒体
JP2006145307A (ja) スキャンテスト回路
US11280831B2 (en) Semiconductor integrated circuit with self testing and method of testing
JP2006058152A (ja) 半導体装置の試験方法及び半導体装置の試験回路
US9297856B2 (en) Implementing MISR compression methods for test time reduction
JP2005257366A (ja) 半導体回路装置及び半導体回路に関するスキャンテスト方法
US10354742B2 (en) Scan compression architecture for highly compressed designs and associated methods
JP2011089833A (ja) 半導体装置ならびに半導体装置のテストパターン生成方法
US20140201584A1 (en) Scan test circuitry comprising at least one scan chain and associated reset multiplexing circuitry
JP2006292401A (ja) テスト構成の半導体集積回路およびそのテスト方法
Han An improvement technique for the test compression ratio and application time of multiple expansion scan chain based SoC using new cost function
JP5734485B2 (ja) 電源制御可能領域を有する半導体集積回路
JP4666468B2 (ja) 半導体集積回路
US20090044064A1 (en) Scan path circuit and semiconductor integrated circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190325

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: 20190611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190618

R150 Certificate of patent or registration of utility model

Ref document number: 6544958

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150