JP2021143838A - 半導体集積回路、その回路設計装置、回路設計方法、及び回路設計プログラム - Google Patents

半導体集積回路、その回路設計装置、回路設計方法、及び回路設計プログラム Download PDF

Info

Publication number
JP2021143838A
JP2021143838A JP2020040598A JP2020040598A JP2021143838A JP 2021143838 A JP2021143838 A JP 2021143838A JP 2020040598 A JP2020040598 A JP 2020040598A JP 2020040598 A JP2020040598 A JP 2020040598A JP 2021143838 A JP2021143838 A JP 2021143838A
Authority
JP
Japan
Prior art keywords
scan
input terminal
output terminal
flip
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.)
Granted
Application number
JP2020040598A
Other languages
English (en)
Other versions
JP7204697B2 (ja
Inventor
哲 長谷川
Satoru Hasegawa
哲 長谷川
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.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage 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 Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2020040598A priority Critical patent/JP7204697B2/ja
Priority to US17/011,166 priority patent/US11120187B1/en
Publication of JP2021143838A publication Critical patent/JP2021143838A/ja
Application granted granted Critical
Publication of JP7204697B2 publication Critical patent/JP7204697B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • 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/318544Scanning methods, algorithms and patterns
    • 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
    • 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/318555Control logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/333Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Power Engineering (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】テストによる消費電力の増加を抑制する。【解決手段】実施形態によれば、半導体集積回路は、第1スキャンチェーンSC2及び第2スキャンチェーンSC3を含む論理回路10と、クロック生成回路11と、テスト制御回路12とを含む。第1スキャンチェーンは、第1スキャンデータ入力端子SI及び第1出力端子DQを有する第1フリップフロップFF2と、第1マルチプレクサMX2aとを含む。第1マルチプレクサは、テスト制御回路から受信した第1信号LMに基づいて、第1スキャンデータ入力端子と第1出力端子とを電気的に接続して第1クローズドループを構成可能である。第2スキャンチェーンは、第2スキャンデータ入力端子SIと第3出力端子DQとが接続されていない第2フリップフロップFF3を含む。【選択図】図1

Description

本発明の実施形態は、半導体集積回路、その回路設計装置、回路設計方法、及び回路設計プログラムに関する。
半導体集積回路における論理回路の故障検出方法として、スキャンテストが知られている。
特開2010−38874号公報
テストにおける消費電力の増加を抑制できる半導体集積回路を提供する。
実施形態に係る半導体集積回路は、第1クロック信号に基づいて動作する第1スキャンチェーンと、第2クロック信号に基づいて動作する第2スキャンチェーンとを含む論理回路と、第1及び第2クロック信号を生成するクロック生成回路と、スキャンテストのときに、第1及び第2スキャンチェーンを制御するように構成されたテスト制御回路とを含む。第1スキャンチェーンは、第1スキャンデータ入力端子及び第1出力端子を有する第1フリップフロップと、第1出力端子に接続された第1入力端子、テストパタンが入力される第2入力端子、及び第1スキャンデータ入力端子に接続された第2出力端子を有する第1マルチプレクサとを含む。第1マルチプレクサは、テスト制御回路から受信した第1信号に基づいて、第1スキャンデータ入力端子と第1出力端子とを電気的に接続して第1クローズドループを構成可能である。第2スキャンチェーンは、第2スキャンデータ入力端子及び第3出力端子を有し且つ第2スキャンデータ入力端子と第3出力端子とが接続されていない第2フリップフロップを含む。
図1は、第1実施形態に係る半導体集積回路のブロック図である。 図2は、第1実施形態に係る半導体集積回路におけるスキャンテストのフローチャートである。 図3は、第1実施形態に係る半導体集積回路におけるスキャンテスト時の各信号線のタイミングチャートである。 図4は、第1実施形態に係る半導体集積回路においてループ動作時のスキャンチェーンの具体例を示す図である。 図5は、第1実施形態に係る半導体集積回路においてループ動作時のスキャンチェーンの具体例を示す図である。 図6は、第1実施形態に係る半導体集積回路においてループ動作時のスキャンチェーンの具体例を示す図である。 図7は、第1実施形態に係る半導体集積回路においてスキャンシフト動作時のスキャンチェーンの具体例を示す図である。 図8は、第2実施形態に係る回路設計装置のハードウェア構成を示すブロック図である。 図9は、第2実施形態に係る回路設計装置の機能構成を示すブロック図である。 図10は、第2実施形態に係る回路設計装置における回路設計のフローチャートである。
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
1.第1実施形態
第1実施形態に係る半導体集積回路について説明する。
1.1 構成
1.1.1 半導体集積回路の構成について
まず、半導体集積回路の構成の一例について、図1を用いて説明する。図1は、本実施形態に係る半導体集積回路のブロック図である。なお、図1の例は、スキャンテストを実行する際の概略構成を示している。
本実施形態の半導体集積回路では、例えば、外部テスタの制御に基づいて、または、半導体集積回路内に設けられた論理回路の組み込み自己テスト(LBIST:Logic Build In Self-Test)に基づいて、論理回路のスキャンテスト(以下、単に「テスト」とも表記する)が実行される。そして、スキャンテストの結果に基づいて、半導体集積回路の故障診断が行われる。以下では、外部テスタの制御に基づいてテストが実行される場合について説明する。スキャンテストでは、論理回路に予め組み込まれたスキャンパターンを用いてテストが行われる。
テストは、大まかに、シフトイン動作と、キャプチャ動作と、シフトアウト動作とを含む。シフトイン動作は、テストパタン(スキャンデータ)を、複数のフリップフロップがシリアル接続されたスキャンチェーンに入力する動作である。キャプチャ動作は、スキャンチェーン内のフリップフロップに接続された組み合わせ回路において、シフトイン動作によりフリップフロップに設定された値に基づく演算処理を実行させ、その結果をフリップフロップに取り込む動作である。シフトアウト動作は、フリップフロップに取り込まれた処理結果を出力する動作である。テストにおいて2回目以降のシフトイン動作は、シフトアウト動作と重複して同時に行われる。以下、シフトイン動作及びシフトアウト動作を限定しない場合は、「スキャンシフト動作」と表記する。
図1に示すように、半導体集積回路1は、論理回路10、クロック生成回路11、及びテスト制御回路12を含む。
論理回路10は、例えば、タスクを実行するための各種演算処理を行う。テストの際、論理回路10内には、複数のスキャンチェーンSCが設けられる。また、テストの際、論理回路10は、複数の異なるクロック信号CLKを受信する。例えば、図1の例では、論理回路10内に、3つのスキャンチェーンSC1〜SC3が設けられている。そして、スキャンチェーンSC1〜SC3は、クロック信号CLK1〜CLK3に基づいてそれぞれ動作する。各スキャンチェーンの構成の詳細については後述する。
なお、図1の例では、1つのクロック信号CLKに基づいて1つのスキャンチェーンSCが動作する場合が示されているが、1つのクロック信号CLKに基づいて複数のスキャンチェーンSCが動作していてもよい。
クロック生成回路11は、クロック信号CLK1〜CLK3を生成する。クロック生成回路11は、生成したクロック信号CLK1〜CLK3を、スキャンチェーンSC1〜SC3にそれぞれ送信する。
テスト制御回路12は、外部テスタから受信した制御信号に基づいて、半導体集積回路1におけるテスト動作を制御する。テスト制御回路12は、テストの際に、クロック生成回路11及び各スキャンチェーンSCを制御する。テスト制御回路12は、各スキャンチェーンSCに、スキャンイネーブル信号SE及びループモード信号LMを送信する。
スキャンイネーブル信号SEは、スキャンチェーンSC内に設けられたフリップフロップFFにおいて、テストパタンTP(スキャンデータ)の入力をイネーブルにする信号である。
ループモード信号LMは、スキャンシフト動作前に実行されるループ動作において、スキャンチェーンSC内に設けられたマルチプレクサMXを制御するための信号である。ループ動作は、クロック信号CLK1〜CLK3の供給開始のタイミングを制御することにより、クロック信号CLK毎に、対応するフリップフロップFFが動作を開始するタイミングを変える動作である。ループ動作の詳細については後述する。
1.1.2 スキャンチェーンの構成
次に、スキャンチェーンSCの構成について、引き続き図1を用いて説明する。
まず、スキャンチェーンSC1の構成について説明する。以下では、説明を簡略化するため、各スキャンチェーンSCが4つのフリップフロップを含む場合について説明するが、各スキャンチェーンSCに含まれるフリップフロップの個数は、任意に設計され得る。
スキャンチェーンSC1は、例えば、4つのフリップフロップFF1a〜FF1d及び2つのマルチプレクサMX1a及びMX1cを含む。
フリップフロップFF1a〜FF1dの構成は、同じである。以下、フリップフロップFF1a〜FF1dのいずれかを限定しない場合は、「フリップフロップFF1」と表記する。フリップフロップFF1は、例えば、データ入力端子DI、スキャンデータ入力端子SI、制御信号入力端子SEI、クロック入力端子、及び出力端子DQを含む。
データ入力端子DIは、例えば、図示せぬ順序回路に接続され、論理回路10の各種演算処理に対応するデータが入力される。例えば、キャプチャ動作において、対応する順序回路が処理したデータがデータ入力端子DIから入力される。
スキャンデータ入力端子SIには、例えば、スキャンデータ(テストパタンTP)が入力される。
制御信号入力端子SEIには、スキャンイネーブル信号SEが入力される。例えば、スキャンイネーブル信号SEが、High(“H”)レベルである場合、スキャンデータ入力端子SIのデータがフリップフロップFF1に取り込まれる。他方で、スキャンイネーブル信号SEが、Low(“L”)レベルである場合、データ入力端子DIのデータがフリップフロップFF1に取り込まれる。
クロック入力端子には、クロック信号CLK1が入力される。例えば、クロック信号CLK1が“L”レベルから“H”レベルに立ち上がるタイミングで、データがフリップフロップFF1に取り込まれる。
出力端子DQから、データが出力される。
マルチプレクサMX1a及びMX1cの構成は、同じである。以下、マルチプレクサMX1a及びMX1cのいずれかを限定しない場合は、「マルチプレクサMX1」と表記する。例えば、マルチプレクサMX1は、入力端子(“1”)、入力端子(“0”)、制御信号入力端子、及び出力端子を含む。マルチプレクサMX1の制御信号入力端子には、ループモード信号LMが入力される。例えば、ループモード信号LMが“H”レベル(“1”データ)である場合、入力端子(“1”)が選択される。他方で、例えば、ループモード信号LMが“L”レベル(“0”データ)である場合、入力端子(“0”)が選択される。
マルチプレクサMX1aの入力端子(“1”)は、フリップフロップFF1bの出力端子DQに接続される。マルチプレクサMX1aの入力端子(“0”)には、テストパタンTPが入力される。マルチプレクサMX1aの出力端子は、フリップフロップFF1aのスキャンデータ入力端子SIに接続される。フリップフロップFF1aの出力端子DQは、フリップフロップFF1bのスキャンデータ入力端子SIに接続される。
フリップフロップFF1cとフリップフロップFF1dとマルチプレクサMX1cとの接続は、フリップフロップFF1aとフリップフロップFF1bとマルチプレクサMX1aとの接続と同じである。マルチプレクサMX1cの入力端子(“1”)は、フリップフロップFF1dの出力端子DQに接続される。マルチプレクサMX1cの入力端子(“0”)は、フリップフロップFF1bの出力端子DQが接続される。マルチプレクサMX1cの出力端子は、フリップフロップFF1cのスキャンデータ入力端子SIに接続される。フリップフロップFF1cの出力端子DQは、フリップフロップFF1dのスキャンデータ入力端子SIに接続される。フリップフロップFF1dの出力端子DQからスキャンチェーンSC1の出力データSO1が出力される。
例えば、スキャンイネーブル信号が“H”レベルであり且つループモード信号LMが“H”レベルである場合、フリップフロップFF1a及びFF1bによるクローズドループと、フリップフロップFF1c及びFF1dによるクローズドループとが構成される。この場合、クロック信号CLK1の立ち上がりのタイミングで、フリップフロップFF1aの出力データがフリップフロップFF1bに取り込まれ、フリップフロップFF1bの出力データがフリップフロップFF1aに取り込まれる。また、フリップフロップFF1cの出力データがフリップフロップFF1dに取り込まれ、フリップフロップFF1dの出力データがフリップフロップFF1cに取り込まれる。このため、2サイクルのクロック信号CLKにより、クロック信号CLK1が2回立ち上がると、各ループが1周して、フリップフロップFF1a〜FF1dには、ループ前のデータが保持される。以下、2つのフリップフロップFFで構成されるクローズドループを「2段のループ」とも表記する。2段のループでは、2サイクルのクロック信号CLK1により、データが元のフリップフロップFFに戻る。すなわち、クローズドループの段数と同じサイクル数のクロック信号CLKを受信することにより、データが元のフリップフロップFFに戻る。
次に、スキャンチェーンSC2の構成について説明する。
スキャンチェーンSC2は、例えば、4つのフリップフロップFF2a〜FF2d及び4つのマルチプレクサMX2a〜MX2dを含む。
フリップフロップFF2a〜FF2dの構成は、フリップフロップFF1と同じである。以下、フリップフロップFF2a〜FF2dのいずれかを限定しない場合は、「フリップフロップFF2」と表記する。
フリップフロップFF2のクロック入力端子には、クロック信号CLK2が入力される。例えば、クロック信号CLK2が“L”レベルから“H”レベルに立ち上がるタイミングで、データがフリップフロップFF2に取り込まれる。
マルチプレクサMX2a〜MX2dの構成は、マルチプレクサMX1と同じである。以下、マルチプレクサMX2a〜MX2dのいずれかを限定しない場合は、「マルチプレクサMX2」と表記する。また、マルチプレクサMX1及びMX2のいずれかを限定しない場合は、「マルチプレクサMX」と表記する。
マルチプレクサMX2aの入力端子(“1”)は、フリップフロップFF2aの出力端子DQに接続される。マルチプレクサMX2aの入力端子(“0”)には、テストパタンTPが入力される。マルチプレクサMX2aの出力端子は、フリップフロップFF2aのスキャンデータ入力端子SIに接続される。
フリップフロップFF2bとマルチプレクサMX2bとの接続、フリップフロップFF2cとマルチプレクサMX2cとの接続、及びフリップフロップFF2dとマルチプレクサMX2dとの接続は、フリップフロップFF2aとマルチプレクサMX2aとの接続と同様である。マルチプレクサMX2bの入力端子(“0”)は、フリップフロップFF2aの出力端子DQに接続される。マルチプレクサMX2cの入力端子(“0”)は、フリップフロップFF2bの出力端子DQに接続される。マルチプレクサMX2dの入力端子(“0”)は、フリップフロップFF2cの出力端子DQに接続される。フリップフロップFF2dの出力端子DQからスキャンチェーンSC2の出力データSO2が出力される。
例えば、スキャンイネーブル信号が“H”レベルであり且つループモード信号LMが“H”レベルである場合、フリップフロップFF2毎にクローズドループが構成される。この場合、クロック信号CLK2の立ち上がりの回数によらず、各フリップフロップFF2のデータは保持される。以下、1つのフリップフロップFFで構成されるクローズドループを「1段のループ」とも表記する。
次に、スキャンチェーンSC3の構成について説明する。
スキャンチェーンSC2は、例えば、4つのフリップフロップFF3a〜FF3dを含む。
フリップフロップFF3a〜FF3dの構成は、フリップフロップFF1と同じである。以下、フリップフロップFF3a〜FF3dのいずれかを限定しない場合は、「フリップフロップFF3」と表記する。また、フリップフロップFF1、FF2、及びFF3のいずれかを限定しない場合は、「フリップフロップFF」と表記する。
フリップフロップFF3のクロック入力端子には、クロック信号CLK3が入力される。例えば、クロック信号CLK3が“L”レベルから“H”レベルに立ち上がるタイミングで、データがフリップフロップFF3に取り込まれる。
フリップフロップFF3aのスキャンデータ入力端子SIには、テストパタンTPが入力される。フリップフロップFF3aの出力端子DQは、フリップフロップFF3bのスキャンデータ入力端子SIに接続される。フリップフロップFF3bの出力端子DQは、フリップフロップFF3cのスキャンデータ入力端子SIに接続される。フリップフロップFF3cの出力端子DQは、フリップフロップFF3dのスキャンデータ入力端子SIに接続される。フリップフロップFF3dの出力端子DQからスキャンチェーンSC3の出力データSO3が出力される。
フリップフロップFF3は、クローズドループが構成されていない。すなわち、各フリップフロップFF3において、スキャンデータ入力端子SIと出力端子DQとは接続されていない。
1.2 テスト
1.2.1 テストの流れ
次に、テストの流れについて、図2を用いて説明する。図2は、テストの流れを示すフローチャートである。以下の説明では、クロック信号CLKの番号を変数n(1≦n≦3)で表す。変数nは、例えば、テスト制御回路12が備えるカウンタによって保持される変数であり、テスト制御回路12の制御によってインクリメントされる。
図2に示すように、テスト制御回路12は、例えば、外部テスタから制御信号を受信するとテストを開始する(ステップS11)。
テスト制御回路12は、まず、ループ動作を開始する(ステップS12)。テスト制御回路12は、ループモード信号LM及びスキャンイネーブル信号SEを“H”レベルとする。スキャンチェーンSC1では、2つのフリップフロップFF1a及びFF1bによるクローズドループと、2つのフリップフロップFF1c及びFF1dによるクローズドループとが構成される。スキャンチェーンSC2では、各フリップフロップFF2においてクローズドループが構成される。
テスト制御回路12は、n=1を設定する(ステップS13)。これにより、クロック生成回路11は、スキャンチェーンSC1にクロック信号CLK1の送信を開始する(ステップS14)。
テスト制御回路12は、変数nが(上限−1)に達したか確認する(ステップS15)。より具体的には、例えば、本実施形態では、変数nの上限は3である。このため、テスト制御回路12は、変数nが2であるか確認する。
変数nが(上限−1)に達していない場合(ステップS15_No)、すなわち変数n=1である場合、テスト制御回路12は、変数nをインクリメントして、n=n+1とし(ステップS16)、ステップS14に戻る。より具体的には、テスト制御回路12は、変数n=2とし、ステップS14に戻って、クロック信号CLK2の送信を開始する。すなわち、クロック生成回路11は、クロック信号CLK1及びCLK2をスキャンチェーンSC1及びSC2にそれぞれ送信する。
変数nが(上限−1)に達している場合(ステップS15_Yes)、テスト制御回路12は、ループ動作を終了し、スキャンシフト動作を実行する(ステップS17)。より具体的には、テスト制御回路12は、ループモード信号LMを“L”レベルにする。クロック生成回路11は、クロック信号CLK1〜CLK3をスキャンチェーンSC1〜SC3にそれぞれ送信する。各スキャンチェーンSCでは、スキャンシフト動作が実行される。このとき、各スキャンチェーンSCの出力データSO1〜SO3は、外部テスタに送信される。
テストが終了していない場合(ステップS18_No)、テスト制御回路12は、スキャンイネーブル信号SEを“L”レベルとし、キャプチャ動作を実行する(ステップS19)。キャプチャ動作終了後、ステップS12に戻る。
テストが終了した場合(ステップS18_Yes)、テスト制御回路12は、ループモード信号LM及びスキャンイネーブル信号SEを“L”レベルとする。クロック生成回路11は、クロック信号CLK1〜CLK3の送信を終了する。
1.2.2 テスト時の各信号のタイミングチャート
次に、テスト時の各信号のタイミングチャートについて、図3を用いて説明する。図3は、テスト時のクロック信号CLK1〜CLK3、ループモード信号LM、及びスキャンイネーブル信号SEのタイミングチャートである。なお、図3の例では、説明を簡略化するため、ループ動作及びスキャンシフト動作時のタイミングチャートを示しており、キャプチャ動作時のタイミングチャートは省略されている。
図3に示すように、時刻t0〜t3の期間がループ動作に相当し、時刻t4〜t5の期間がスキャンシフト動作に相当する。
まず、時刻t0において、テスト制御回路12は、ループモード信号LM及びスキャンイネーブル信号SEを“H”レベルにする。これにより、ループ動作が開始される。
時刻t1において、クロック生成回路11は、1サイクルのクロック信号CLK1を生成し、スキャンチェーンSC1に送信する。時刻t1〜t2の期間、スキャンチェーンSC1内のフリップフロップFF1が動作し、スキャンチェーンSC2内のフリップフロップFF2及びスキャンチェーンSC3内のフリップフロップFF3は動作しない。
時刻t2において、クロック生成回路11は、1サイクルのクロック信号CLK1及びCLK2を生成し、スキャンチェーンSC1及びSC2にそれぞれ送信する。このとき、クロック信号CLK1及びCLK2は互いに同期している。時刻t2〜t3の期間、スキャンチェーンSC1内のフリップフロップFF1及びスキャンチェーンSC2内のフリップフロップFF2が動作し、スキャンチェーンSC3内のフリップフロップFF3は動作しない。
クロック信号CLK1及びCLK2のパルスが“H”レベルから“L”レベルに立ち下がった後、時刻t3において、テスト制御回路12は、ループモード信号LMを“L”レベルとする。これにより、ループ動作が終了する。クロック生成回路11は、ループ動作の期間、各スキャンチェーンSCに、ループの段数に応じたサイクル数のクロック信号CLKを送信する。従って、クロック生成回路11は、ループ動作の期間、クローズドループが形成されないスキャンチェーンSC3には、クロック信号CLK3を送信しない。
時刻t4〜t5の期間、クロック生成回路11は、互いに同期しているクロック信号CLK1〜CLK3を生成し、スキャンチェーンSC1〜SC3にそれぞれ送信する。スキャンチェーンSC1〜SC3では、クロック信号CLK1〜CLK3に基づいたスキャンシフト動作がそれぞれ実行される。時刻t4〜t5の期間、スキャンチェーンSC1内のフリップフロップFF1、スキャンチェーンSC2内のフリップフロップFF2、及びスキャンチェーンSC3内のフリップフロップFF3が動作する。図3の例では、スキャンチェーンSC1〜SC3にそれぞれ含まれるフリップフロップFFの個数が4個であるため、時刻t4〜t5の期間に、4サイクルのクロック信号CLK1〜CLK3がそれぞれ生成される。
1.2.3 ループ動作の具体例
次に、ループ動作の具体例について、図4〜図7を用いて説明する。図4〜図7は、ループ動作時のクロック信号及びデータの流れを示す図である。なお、図4〜図7の例は、図3における時刻t0〜t3にそれぞれ対応する。
図4に示すように、例えば、スキャンチェーンSC1において、フリップフロップFF1a及びFF1cは、“1”データを保持し、フリップフロップFF1b及びFF1dは、“0”データを保持している。例えば、スキャンチェーンSC2において、フリップフロップFF2a及びFF2cは、“1”データを保持し、フリップフロップFF2b及びFF2dは、“0”データを保持している。また、例えば、スキャンチェーンSC3において、フリップフロップFF3a及びFF3cは、“1”データを保持し、フリップフロップFF3b及びFF3dは、“0”データを保持している。すなわち、各スキャンチェーンSCは、同じ“1010”データを保持している。なお、図4の例では、説明を簡略化するため、スキャンチェーンSC1〜SC3が同じデータを保持している場合を示しているが、各スキャンチェーンSCのデータは異なっていてもよい。
この状態において、テスト制御回路12は、ループモード信号LM及びスキャンイネーブル信号SEを“H”レベルにする(図3の時刻t0)。
図5に示すように、クロック生成回路11は、クロック信号CLK1を1サイクル生成し、スキャンチェーンSC1に送信する(図3の時刻t1)。スキャンチェーンSC1では、クロック信号CLK1の立ち上がりのタイミングで、フリップフロップFF1aがフリップフロップFF1bの“0”データを取り込む。フリップフロップFF1bは、フリップフロップFF1aの“1”データを取り込む。フリップフロップFF1cは、フリップフロップFF1dの“0”データを取り込む。フリップフロップFF1dは、フリップフロップFF1cの“1”データを取り込む。換言すれば、フリップフロップFF1aのデータとフリップフロップFF1bのデータとが入れ替わり、フリップフロップFF1cのデータとフリップフロップFF1dのデータとが入れ替わる。
図6に示すように、クロック生成回路11は、クロック信号CLK1及びCLK2を1サイクル生成し、スキャンチェーンSC1及びSC2にそれぞれ送信する(図3の時刻t2)。スキャンチェーンSC1では、クロック信号CLK1の立ち上がりのタイミングで、フリップフロップFF1aがフリップフロップFF1bの“1”データを取り込む。フリップフロップFF1bは、フリップフロップFF1aの“0”データを取り込む。フリップフロップFF1cは、フリップフロップFF1dの“1”データを取り込む。フリップフロップFF1dは、フリップフロップFF1cの“0”データを取り込む。換言すれば、スキャンチェーンSC1の各フリップフロップFF1は、時刻t0におけるデータを保持した状態に戻る。
スキャンチェーンSC2では、フリップフロップFF2毎にクローズドループが構成される。このため、各フリップフロップFF2は、データを維持する。
図7に示すように、スキャンシフト動作では、テスト制御回路12は、ループモード信号LMを“L”レベルにする。クロック生成回路11は、クロック信号CLK1〜CLK3を生成し、スキャンチェーンSC1〜SC3にそれぞれ送信する(図3の時刻t4)。例えば、テストパタンTPの最初のデータが“0”データである場合、スキャンチェーンSC1では、クロック信号CLK1の立ち上がりのタイミングで、フリップフロップFF1aがテストパタンTPの“0”データを取り込む。フリップフロップFF1aの“1”データがフリップフロップFF1bにシフトされる。フリップフロップFF1bの“0”データがフリップフロップFF1cにシフトされる。フリップフロップFF1cの“1”データがフリップフロップFF1dにシフトされる。フリップフロップFF1dの“0”データが出力データSO1として出力される。同様に、スキャンチェーンSC2では、クロック信号CLK2の立ち上がりのタイミングで、フリップフロップFF2aがテストパタンTPの“0”データを取り込む。フリップフロップFF2aの“1”データがフリップフロップFF2bにシフトされる。フリップフロップFF2bの“0”データがフリップフロップFF2cにシフトされる。フリップフロップFF2cの“1”データがフリップフロップFF2dにシフトされる。フリップフロップFF2dの“0”データが出力データSO2として出力される。また、スキャンチェーンSC3では、クロック信号CLK3の立ち上がりのタイミングで、フリップフロップFF3aがテストパタンTPの“0”データを取り込む。フリップフロップFF3aの“1”データがフリップフロップFF3bにシフトされる。フリップフロップFF3bの“0”データがフリップフロップFF3cにシフトされる。フリップフロップFF3cの“1”データがフリップフロップFF3dにシフトされる。フリップフロップFF3dの“0”データが出力データSO3として出力される。
1.3 本実施形態に係る効果
本実施形態に係る構成であれば、テストにおける消費電力の増加を抑制できる。本効果につき、詳述する。
テスト時のスキャンシフト動作では、複数のスキャンチェーンに含まれる全てのフリップフロップが1種類のクロック信号に同期して一斉に動作を開始する。このため、スキャンシフト動作の開始時に消費電力が急激に増加する。消費電力が急激に増加すると、IRドロップが発生し、電源電圧が低下する(以下、「ドループ(droop)」とも表記する)場合がある。ドループが発生すると、例えば、テストの故障判定に誤りが生じる可能性がある。また、信号にノイズが生じたり、電源電圧低下による瞬時停止(瞬停)が発生したりする可能性がある。
これに対し、本実施形態に係る構成は、スキャンシフト動作を開始する前にループ動作を実行し、複数のフリップフロップFFが動作を開始するタイミングを複数回に分けることができる。より具体的には、本実施形態に係る構成は、複数のクロック信号CLKのいずれかに基づいて動作する複数のスキャンチェーンSCを含む。本実施形態に係る構成は、スキャンシフト動作の前にループ動作を実行し、複数のクロック信号CLKの供給開始のタイミングを変えることができる。また、本実施形態に係る構成は、ループ動作におけるクロック信号CLKのサイクル数に合わせて、スキャンチェーンSC内において、1つまたは複数のフリップフロップFFによるクローズドループを形成できる。これにより、各フリップフロップFFが保持するデータの内容が変更されることなく、フリップフロップFFの動作開始のタイミングを複数回に分けることができる。従って、スキャンシフト動作開始時の急激な消費電力の増加を抑制し、ドループを低減できる。
更に、本実施形態に係る構成であれば、スキャンシフト動作中に複数のクロック信号CLKを同期させることができる。このため、各スキャンチェーンSCのシフトイン動作及びシフトアウト動作のタイミングのずれを抑制できる。各スキャンチェーンSCのタイミングを同期させることができるため、スキャンシフト動作の安定性が向上する。
更に、本実施形態に係る構成であれば、ループ動作中は、各クローズドループ内でデータが保持されているため、キャプチャ動作の結果(データ)を保持できる。また、ループ動作中は、データが保持されるため、テストパタンTPを変更せずに、スキャンシフト動作を実行できる。
更に、本実施形態に係る構成であれば、テストにおける消費電力の急激な増加を抑制できる。このため、テストにおける誤判定を抑制し、テストの信頼性を向上できる。
なお、本実施形態では、半導体集積回路1が外部テスタの制御に基づいてスキャンテストを実行する場合について説明したが、半導体集積回路1は、LBISTに対応していてもよい。この場合、半導体集積回路1は、例えば、擬似ランダムパタン生成回路(PRPG:Pseudo Random Pattern Generator)及び多入力シグネチャレジスタ(MISR:Multiple Input Signature Register)を含む。例えば、テスト制御回路12は、PRPGに初期データを送信する。PRPGでは、初期データに基づいてテストパタンTPが生成される。生成されたテストパタンTPが各スキャンチェーンSCに送信される。各スキャンチェーンSCの出力データSO1〜SO3は、MISRに送信される。例えば、テスト制御回路12は、PRPGに送信した初期データに基づく期待値(テストの結果が正常である場合に得られる値)とMISRから受信したデータとを比較した結果に基づいて、故障判定をする。
2.第2実施形態
次に、第2実施形態について説明する。第2実施形態では、第1実施形態で説明したテスト回路が導入された半導体集積回路を設計するための回路設計装置について説明する。
2.1 回路設計装置のハードウェア構成
まず、回路設計装置のハードウェア構成の一例について、図8を用いて説明する。図8は、回路設計装置のハードウェア構成を示すブロック図である。
図8に示すように、回路設計装置100は、CPU101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、ストレージ104、ドライブ105、及びインタフェース106を備える。回路設計装置100は、LSI等の半導体チップ内の回路の設計段階において、第1実施形態で説明したスキャンテストを実行するために必要な回路及びスキャンチェーンSCの回路等を挿入してネットリストを生成する機能を有する。
CPU101は、ROM102に記憶された各種処理プログラムを実行し、RAM103を作業領域として用いることにより、回路設計装置100全体の動作を制御する。
ストレージ104は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の補助記憶装置である。ストレージ104には、回路設計装置100で実行されるスキャンチェーン挿入プログラム143が記憶される。また、ストレージ104には、スキャンチェーン挿入プログラム143が実行される際に必要な入力情報として、例えば、ネットリスト141、テスト容易化設計(DFT:Design For Testability)の仕様情報(以下、「DFT仕様」と表記する)142、及びクロック情報144が記憶される。また、ストレージ104には、回路設計装置100で実行されるATPG(Automatic Test Pattern Generator)/故障シミュレーション実行プログラム145が記憶される。
ネットリスト141は、半導体集積回路1の回路データである。より具体的には、ネットリスト141は、半導体チップが機能を実現するために半導体チップ内に設けられた各種素子(論理積回路や、排他的論理和回路等の論理ゲート)を互いに電気的に接続する導電体(すなわち、ネット又は配線)に関する情報である。ネットリスト141には、例えば、各ネットを介して通信される信号の特性が、対応するネットに関連づけられて記憶される。
DFT仕様142は、半導体チップ内の各種素子のテスト(スキャンテストを含む)を容易に行えるようにするためのテスト容易化設計の仕様に関する情報である。スキャンチェーンSCはDFT仕様に基づいて、設計される。
スキャンチェーン挿入プログラム143は、DFT仕様142に基づいて、第1実施形態で説明した回路(クロック生成回路11及びテスト制御回路12)及びスキャンチェーンSCを回路データに挿入するための処理(設計)を回路設計装置100に実行させるためのプログラム(ソフトウェア)である。なお、スキャンチェーン挿入プログラム143の詳細については、後述する。
クロック情報144は、半導体集積回路1の動作に必要な各種クロック信号の情報を含む。クロック情報144は、例えば、第1実施形態で説明した、クロック信号CLK1〜CLK3についての情報を含む。
ATPG/故障シミュレーション実行プログラム145は、設計した回路をテストするためのテストパタンTPを生成し、故障シミュレーションを実行させるためのプログラムである。
ドライブ105は、例えば、CD(Compact Disk)ドライブ、DVD(Digital Versatile Disk)ドライブ等であり、記憶媒体151に記憶されたプログラムを読み込むための装置である。ドライブ105の種類は、記憶媒体151の種類に応じて適宜選択されてよい。上記ネットリスト141、DFT仕様142、スキャンチェーン挿入プログラム143、クロック情報144、及びATPG/故障シミュレーション実行プログラム145は、この記憶媒体151に記憶されていてもよい。
記憶媒体151は、コンピュータ、その他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。
インタフェース106は、回路設計装置100とその外部デバイスとの間の情報の送受信を司るインタフェースである。インタフェース106は、例えば、有線又は無線による任意の通信方式を適用した通信インタフェース、プリンタ、及び表示画面(例えば、LCD(Liquid Crystal Display)またはEL(Electroluminescence)ディスプレイ、ブラウン管等)を介したGUI(Graphical User Interface)等の任意のインタフェースを含む。インタフェース106は、回路設計装置100内で実行されたスキャンチェーン挿入プログラム143によって生成されたスキャンチェーン挿入後ネットリスト201、スキャンチェーン構成情報及びプロトコル202、故障検出率レポート203、及びテストパタン204を出力し、ユーザに提示する機能を有する。すなわち、インタフェース106は、スキャンチェーン挿入後ネットリスト201、スキャンチェーン構成情報及びプロトコル202、故障検出率レポート203、及びテストパタン204の出力部として機能する。
スキャンチェーン挿入後ネットリスト201は、スキャンチェーン挿入プログラム143実行後のネットリストに関する情報である。
スキャンチェーン構成情報及びプロトコル202は、スキャンチェーン構成情報として、例えば、スキャンチェーンSCの本数、各スキャンチェーンSCの長さ(スキャンチェーンSCに含まれるフリップフロップFFの個数)、各スキャンチェーン内のフリップフロップFFのリスト、各フリップフロップFFの動作クロック情報、各スキャンチェーンSCの入力端子及び出力端子の情報、並びにスキャンチェーンSC内のフリップフロップFFで構成されるクローズドループについての情報を含む。なお、半導体集積回路1がLBISTに対応している場合は、PRPG及びMISRの回路情報も含む。また、スキャンチェーン構成情報及びプロトコル202は、プロトコルとして、外部デバイスから受信する入力信号のテストサイクル毎の入出力波形(例えば、1サイクルの長さと、クロック立ち上がりのタイミング情報)、及びスキャンシフト動作時の各種信号の入力波形についての情報を含む。
故障検出率レポート203は、ATPG/故障シミュレーション実行プログラム145で実行された故障シミュレーションによる故障検出の結果についてのレポートである。
テストパタン204は、故障シミュレーションで使用されたテストパタンTPである。
2.2 回路設計装置の機能構成
次に、回路設計装置100の機能構成の一例について、図9を用いて説明する。図9は、回路設計装置100の機能構成を説明するためのブロック図である。
回路設計装置100のCPU101は、例えば、ストレージ104に記憶されたスキャンチェーン挿入プログラム143またはATPG/故障シミュレーション実行プログラム145をRAM103に展開する。そして、CPU101は、RAM103に展開されたスキャンチェーン挿入プログラム143またはATPG/故障シミュレーション実行プログラム145を解釈及び実行して、各構成要素を制御する。
図9に示すように、回路設計装置100は、スキャンチェーン挿入プログラム143を実行する際、クロック抽出部210、ループ構成生成部211、及びスキャンチェーン挿入部212を備えるコンピュータとして機能する。また、回路設計装置100は、スキャンチェーン挿入プログラム143を実行する際、クロック抽出部210、ループ構成生成部211、及びスキャンチェーン挿入部212によって、クロック系統情報220、及びループ構成情報221を中間生成物として生成し、最終的にスキャンチェーン挿入後ネットリスト201並びにスキャンチェーン構成情報及びプロトコル202を出力するコンピュータとして機能する。
クロック抽出部210は、ネットリスト141、DFT仕様142、及び図示せぬクロック情報144等に基づいて、設計対象である半導体集積回路1の通常処理及びテストに用いられる各種クロック信号に関するクロック系統情報220を抽出(出力)する。クロック系統情報220には、例えば、テストに関する情報として、クロック信号CLK1〜CLK3に関する情報が含まれる。クロック抽出部210は、クロック系統情報220を、ループ構成生成部211に送信する。
ループ構成生成部211は、ネットリスト141、DFT仕様142、及びクロック系統情報220等に基づいて、ループ構成情報221を生成する。ループ構成情報221には、スキャンチェーンSC内のフリップフロップFFで構成されるクローズドループに関する情報が含まれる。より具体的には、ループ構成情報221には、例えば、各クローズドループに含まれるフリップフロップFFのリスト及びフリップフロップFFの個数についての情報、各クローズドループに含まれるマルチプレクサMXについての情報、マルチプレクサMXに入力されるループモード信号LMについての情報、各クローズドループが属するスキャンチェーンSCの情報が含まれる。また、ループ構成情報221には、テスト制御回路12及びクロック生成回路11についての情報も含まれる。ループ構成生成部211は、ループ構成情報221をスキャンチェーン挿入部212に送信する。
スキャンチェーン挿入部212は、ネットリスト141及びループ構成情報221に基づいて、スキャンチェーンSCの構成を生成する。スキャンチェーン挿入部212は、生成したスキャンチェーンSCをネットリスト141に挿入し、スキャンチェーン挿入後ネットリスト201並びにスキャンチェーン構成情報及びプロトコル202を生成する。スキャンチェーン挿入後ネットリスト201並びにスキャンチェーン構成情報及びプロトコル202は、後述するATPG/故障シミュレーションに用いられる。スキャンチェーン挿入部212は、スキャンチェーン挿入後ネットリスト201並びにスキャンチェーン構成情報及びプロトコル202を外部デバイスに出力する。
また、回路設計装置100は、スキャンチェーン挿入後ネットリスト201並びにスキャンチェーン構成情報及びプロトコル202を生成した後に、ATPG/故障シミュレーション実行プログラム145を実行する際、ATPG/故障シミュレータ230を備えるコンピュータとして機能する。回路設計装置100は、故障シミュレーションを実行して、故障検出率レポート203及びテストパタン204を出力するコンピュータとして機能する。
故障シミュレータ230は、スキャンチェーン挿入後ネットリスト201並びにスキャンチェーン構成情報及びプロトコル202に基づいて、スキャンテスト用のテストパタン204を生成し、故障シミュレーションを実行する。ATPG/故障シミュレータ230は、故障シミュレーションの結果に基づいて、故障検出率を算出する。故障シミュレータ230は、生成したテストパタン204及び故障シミュレーションの結果に基づく故障検出率レポート203を外部デバイスに出力する。
回路設計装置100は、以上のような機能構成を実装することにより、第1実施形態で説明したループ動作を有するスキャンテストに対応した回路設計及び故障シミュレーションを実行することができる。
なお、クロック抽出部210、ループ構成生成部211、スキャンチェーン挿入部212、及びATPG/故障シミュレータ230は、回路設計装置100に設けられた専用回路で実現されてもよい。
2.3 回路設計の流れ
次に、回路設計の流れについて、図10を用いて説明する。図10は、回路設計の流れを示すフローチャートである。
図10に示すように、まず、CPU101は、ストレージ104から読み出したスキャンチェーン挿入プログラム143をRAM103に展開する。すなわち、CPU101は、スキャンチェーン挿入プログラム143を開始する。
CPU101は、クロック抽出部210として動作し、設計対象のネットリスト141、DFT仕様142、及びクロック情報144等からネットリスト141のクロック系統情報220を抽出する(ステップS20)。CPU101は、例えばストレージ104に、抽出したクロック系統情報220を保存する。
次に、CPU101は、ループ構成生成部211として動作し、ネットリスト141、DFT仕様142、及びクロック系統情報220に基づいて、ループ構成情報221を生成する(ステップS21)。CPU101は、例えばストレージ104に、生成したループ構成情報221を保存する。
次に、CPU101は、スキャンチェーン挿入部212として動作し、ネットリスト141及びループ構成情報221に基づいて、スキャンチェーンSCを生成する(ステップS22)。次に、CPU101は、生成したスキャンチェーンSCを、ネットリスト141に挿入し(ステップS23)、スキャンチェーン挿入後ネットリスト201並びにスキャンチェーン構成情報及びプロトコル202を生成する。CPU101は、例えばストレージ104に、スキャンチェーン挿入後ネットリスト201並びにスキャンチェーン構成情報及びプロトコル202を保存する。
次に、CPU101は、ストレージ104から読み出したATPG/故障シミュレーション実行プログラム145をRAM103に展開する。すなわち、CPU101は、ATPG/故障シミュレーション実行プログラム145を開始する。
CPU101は、スキャンチェーン挿入後ネットリスト201並びにスキャンチェーン構成情報及びプロトコル202に基づいて、テストパタン204を生成する(ステップS24)。
次に、CPU101は、生成したテストパタン204に基づいて、故障シミュレーションを実行し(ステップS25)、故障検出率レポート203を作成する。
CPU101は、故障シミュレーションが終了すると、スキャンチェーン挿入後ネットリスト201、スキャンチェーン構成情報及びプロトコル202、故障検出率レポート203、及びテストパタン204を外部デバイスに出力する(ステップS26)。
2.4 本実施形態に係る効果
本実施形態に係る構成であれば、第1実施形態で説明したスキャンテストを実行可能な半導体集積回路を設計できる。
3.変形例等
上記実施形態に係る構成であれば、半導体集積回路は、第1クロック信号(CLK2)に基づいて動作する第1スキャンチェーン(SC2)と、第2クロック信号(CLK3)に基づいて動作する第2スキャンチェーン(SC3)とを含む論理回路(10)と、第1及び第2クロック信号を生成するクロック生成回路(11)と、スキャンテストのときに、第1及び第2スキャンチェーンを制御するように構成されたテスト制御回路(12)とを含む。第1スキャンチェーンは、第1スキャンデータ入力端子(SI)及び第1出力端子(DQ)を有する第1フリップフロップ(FF2)と、第1出力端子(DQ)に接続された第1入力端子(“1”)、テストパタンが入力される第2入力端子、及び第1スキャンデータ入力端子に接続された第2出力端子を有する第1マルチプレクサ(MX2a)とを含む。第1マルチプレクサは、テスト制御回路から受信した第1信号(LM)に基づいて、第1スキャンデータ入力端子と第1出力端子とを電気的に接続して第1クローズドループを構成可能である。第2スキャンチェーンは、第2スキャンデータ入力端子(SI)及び第3出力端子(DQ)を有し且つ第2スキャンデータ入力端子と第3出力端子とが接続されていない第2フリップフロップ(FF3)を含む。
上記実施形態により、テストにおける消費電力の増加を抑制できる半導体集積回路を提供する。
なお、実施形態は上記で説明した形態に限られず、種々の変形が可能である。
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…半導体集積回路、10…論理回路、11…クロック生成回路、12…テスト制御回路、100…回路設計装置、101…CPU、102…ROM、103…RAM、104…ストレージ、105…ドライブ、106…インタフェース、141…ネットリスト、142…DFT仕様、143…スキャンチェーン挿入プログラム、144…クロック情報、145…ATPG/故障シミュレーション実行プログラム、151…記憶媒体、201…スキャンチェーン挿入後ネットリスト、202…スキャンチェーン構成情報及びプロトコル、203…故障検出率レポート、204…テストパタン、210…クロック抽出部、211…ループ構成生成部、212…スキャンチェーン挿入部、220…クロック系統情報、221…ループ構成情報、230…ATPG/故障シミュレータ、CLK1〜CLK3…クロック信号、FF1a〜FF1d、FF2a〜FF2d、FF3a〜FF3d…フリップフロップ、MX1a、MX1c、MX2a〜MX2d…マルチプレクサ、SC1〜SC3…スキャンチェーン。

Claims (20)

  1. 第1クロック信号に基づいて動作する第1スキャンチェーンと、第2クロック信号に基づいて動作する第2スキャンチェーンとを含む論理回路と、
    前記第1及び第2クロック信号を生成するクロック生成回路と、
    スキャンテストのときに、前記第1及び第2スキャンチェーンを制御するように構成されたテスト制御回路と
    を備え、
    前記第1スキャンチェーンは、第1スキャンデータ入力端子及び第1出力端子を有する第1フリップフロップと、前記第1出力端子に接続された第1入力端子、テストパタンが入力される第2入力端子、及び前記第1スキャンデータ入力端子に接続された第2出力端子を有する第1マルチプレクサとを含み、
    前記第1マルチプレクサは、前記テスト制御回路から受信した第1信号に基づいて、前記第1スキャンデータ入力端子と前記第1出力端子とを電気的に接続して第1クローズドループを構成可能であり、
    前記第2スキャンチェーンは、第2スキャンデータ入力端子及び第3出力端子を有し且つ前記第2スキャンデータ入力端子と前記第3出力端子とが接続されていない第2フリップフロップを含む、
    半導体集積回路。
  2. 前記スキャンテストは、スキャンシフト動作と、キャプチャ動作と、前記スキャンシフト動作の前に実行されるループ動作とを含み、
    前記テスト制御回路は、前記ループ動作のときに前記第1信号を第1論理レベルとし、前記スキャンシフト動作及び前記キャプチャ動作の時に前記第1信号を第2論理レベルとし、
    前記第1マルチプレクサは、前記第1信号が前記第1論理レベルの場合に、前記第1入力端子を選択する、
    請求項1に記載の半導体集積回路。
  3. 前記クロック生成回路は、前記ループ動作の期間に、前記第1クロック信号を生成し、前記第2クロック信号を生成しない、
    請求項2に記載の半導体集積回路。
  4. 前記クロック生成回路は、前記ループ動作の前記期間に、前記第1スキャンチェーンに前記第1クロック信号を1サイクル送信する、
    請求項3に記載の半導体集積回路。
  5. 前記論理回路は、第3クロック信号に基づいて動作する第3スキャンチェーンを更に含み、
    前記クロック生成回路は、前記第3クロック信号を生成し、
    前記第3スキャンチェーンは、第3スキャンデータ入力端子及び第4出力端子を有する第3フリップフロップと、前記第4出力端子に接続された第4スキャンデータ入力端子及び第5出力端子を有する第4フリップフロップと、前記第5出力端子に接続された第3入力端子、前記テストパタンが入力される第4入力端子、及び前記第3スキャンデータ入力端子に接続された第6出力端子を有する第2マルチプレクサとを含み、
    前記第2マルチプレクサは、前記テスト制御回路から受信した第1信号に基づいて、前記第4フリップフロップの前記第5出力端子と前記第3フリップフロップの前記第3スキャンデータ入力端子とを電気的に接続して、第2クローズドループを構成可能である、
    請求項1に記載の半導体集積回路。
  6. 前記スキャンテストは、スキャンシフト動作と、キャプチャ動作と、前記スキャンシフト動作の前に実行されるループ動作とを含み、
    前記テスト制御回路は、前記ループ動作のときに前記第1信号を第1論理レベルとし、前記スキャンシフト動作及び前記キャプチャ動作の時に前記第1信号を第2論理レベルとし、
    前記第1及び第2マルチプレクサは、前記第1信号が前記第1論理レベルの場合に、前記第1入力端子をそれぞれ選択する、
    請求項5に記載の半導体集積回路。
  7. 前記クロック生成回路は、前記ループ動作の期間に、前記第1及び第3クロック信号を生成し、前記第2クロック信号を生成しない、
    請求項6に記載の半導体集積回路。
  8. 前記クロック生成回路は、前記ループ動作の前記期間に、前記第1スキャンチェーンに前記第1クロック信号を1サイクル送信し、前記第3スキャンチェーンに前記第3クロック信号を2サイクル送信する、
    請求項7に記載の半導体集積回路。
  9. 前記クロック生成回路は、前記スキャンシフト動作の期間、同期した前記第1乃至第3クロック信号を生成する、
    請求項6乃至8のいずれか一項に記載の半導体集積回路。
  10. 第1スキャンデータ入力端子及び第1出力端子を有する第1フリップフロップと、前記第1出力端子に接続された第1入力端子、テストパタンが入力される第2入力端子、及び前記第1スキャンデータ入力端子に接続された第2出力端子を有する第1マルチプレクサとを含む第1スキャンチェーンと、第2スキャンデータ入力端子及び第3出力端子を有し且つ前記第2スキャンデータ入力端子と前記第3出力端子が接続されていない第2フリップフロップを含む第2スキャンチェーンとを含むテスト回路を生成し、半導体集積回路の第1ネットリストに前記第1及び第2スキャンチェーンを挿入した第2ネットリストを生成するスキャンチェーン挿入部と、
    前記第1マルチプレクサが、前記第1スキャンデータ入力端子と前記第1出力端子とを電気的に接続して構成される第1クローズドループの情報を生成し、前記スキャンチェーン挿入部に送信するループ構成生成部と、
    前記第2ネットリストを外部に出力する出力部と
    を備える、
    回路設計装置。
  11. 前記テスト回路は、第3スキャンデータ入力端子及び第4出力端子を有する第3フリップフロップと、前記第4出力端子に接続された第4スキャンデータ入力端子及び第5出力端子を有する第4フリップフロップと、前記第5出力端子に接続された第3入力端子、前記テストパタンが入力される第4入力端子、及び前記第3スキャンデータ入力端子に接続された第6出力端子を有する第2マルチプレクサとを含む第3スキャンチェーンを更に含む、
    請求項10に記載の回路設計装置。
  12. 前記第1スキャンチェーンに用いられる第1クロック信号及び前記第2スキャンチェーンに用いられる第2クロック信号の情報を抽出するクロック抽出部を更に備える、
    請求項10に記載の回路設計装置。
  13. 前記テストパタンを生成して、前記第2ネットリストに基づいて故障シミュレーションを実行し、故障検出率を算出する故障シミュレータを更に備える、
    請求項10乃至12のいずれか一項に記載の回路設計装置。
  14. 前記出力部は、前記テストパタン及び前記故障検出率のレポートを外部に出力する、
    請求項13に記載の回路設計装置。
  15. 前記スキャンチェーン挿入部は、前記第1及び第2スキャンチェーンの構成情報を生成し、
    前記出力部は、前記構成情報を外部に出力する、
    請求項10に記載の回路設計装置。
  16. 第1スキャンデータ入力端子及び第1出力端子を有する第1フリップフロップと、前記第1出力端子に接続された第1入力端子、テストパタンが入力される第2入力端子、及び前記第1スキャンデータ入力端子に接続された第2出力端子を有する第1マルチプレクサとを含む第1スキャンチェーンと、第2スキャンデータ入力端子及び第3出力端子を有し且つ前記第2スキャンデータ入力端子と前記第3出力端子が接続されていない第2フリップフロップを含む第2スキャンチェーンとを含むテスト回路を生成することと、
    半導体集積回路の第1ネットリストに前記第1及び第2スキャンチェーンを挿入した第2ネットリストを生成することと、
    前記第1マルチプレクサが、前記第1スキャンデータ入力端子と前記第1出力端子とを電気的に接続して構成される第1クローズドループの情報を生成することと、
    前記第2ネットリストを外部に出力することと
    を備える、
    装置が実行する回路設計方法。
  17. 前記テスト回路を生成することは、第3スキャンデータ入力端子及び第4出力端子を有する第3フリップフロップと、前記第4出力端子に接続された第4スキャンデータ入力端子及び第5出力端子を有する第4フリップフロップと、前記第5出力端子に接続された第3入力端子、前記テストパタンが入力される第4入力端子、及び前記第3スキャンデータ入力端子に接続された第6出力端子を有する第2マルチプレクサとを含む第3スキャンチェーンを生成することを更に含む、
    請求項16記載の回路設計方法。
  18. 前記テストパタンを生成して、前記第2ネットリストに基づいて故障シミュレーションを実行し、故障検出率を算出することと、
    前記テストパタン及び前記故障検出率のレポートを外部に出力することと
    を更に備える、
    請求項16または17に記載の回路設計方法。
  19. 回路設計装置において、
    第1スキャンデータ入力端子及び第1出力端子を有する第1フリップフロップと、前記第1出力端子に接続された第1入力端子、テストパタンが入力される第2入力端子、及び前記第1スキャンデータ入力端子に接続された第2出力端子を有する第1マルチプレクサとを含む第1スキャンチェーンと、第2スキャンデータ入力端子及び第3出力端子を有し且つ前記第2スキャンデータ入力端子と前記第3出力端子が接続されていない第2フリップフロップを含む第2スキャンチェーンとを含むテスト回路を生成することと、
    半導体集積回路の第1ネットリストに前記第1及び第2スキャンチェーンを挿入した第2ネットリストを生成することと、
    前記第1マルチプレクサが、前記第1スキャンデータ入力端子と前記第1出力端子とを電気的に接続して構成される第1クローズドループの情報を生成することと
    前記第2ネットリストを外部に出力することと
    を実行させる、
    回路設計プログラム。
  20. テストパタンを生成して、前記第2ネットリストに基づいて故障シミュレーションを実行し、故障検出率を算出することと、
    前記テストパタン及び前記故障検出率のレポートを外部に出力することと
    を更に備える、
    請求項19に記載の回路設計プログラム。
JP2020040598A 2020-03-10 2020-03-10 半導体集積回路 Active JP7204697B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020040598A JP7204697B2 (ja) 2020-03-10 2020-03-10 半導体集積回路
US17/011,166 US11120187B1 (en) 2020-03-10 2020-09-03 Semiconductor integrated circuit, circuit designing apparatus, and circuit designing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020040598A JP7204697B2 (ja) 2020-03-10 2020-03-10 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2021143838A true JP2021143838A (ja) 2021-09-24
JP7204697B2 JP7204697B2 (ja) 2023-01-16

Family

ID=77664708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020040598A Active JP7204697B2 (ja) 2020-03-10 2020-03-10 半導体集積回路

Country Status (2)

Country Link
US (1) US11120187B1 (ja)
JP (1) JP7204697B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115792584A (zh) * 2023-02-07 2023-03-14 青岛青软晶尊微电子科技有限公司 基于大数据的集成电路实验方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11604223B1 (en) * 2021-12-16 2023-03-14 Nxp Usa, Inc. Clock control system for scan chains
CN117852495B (zh) * 2024-03-08 2024-07-09 中科鉴芯(北京)科技有限责任公司 电路的插链方法、装置、设备及计算机可读介质
CN118364781B (zh) * 2024-06-20 2024-08-16 中国人民解放军国防科技大学 集成电路测试模式下的时钟诊断修复方法、装置和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006322904A (ja) * 2005-05-20 2006-11-30 Matsushita Electric Ind Co Ltd Iddq検査方法
JP2008089545A (ja) * 2006-10-05 2008-04-17 Matsushita Electric Ind Co Ltd 解析装置
US20080195337A1 (en) * 2007-02-09 2008-08-14 Agarwal Kanak B Scannable Virtual Rail Method and Ring Oscillator Circuit for Measuring Variations in Device Characteristics
JP2008251013A (ja) * 2008-04-02 2008-10-16 Nec Electronics Corp 半導体集積回路およびその制御方法
JP2021025974A (ja) * 2019-08-08 2021-02-22 株式会社デンソー 半導体回路装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329533A (en) * 1991-12-26 1994-07-12 At&T Bell Laboratories Partial-scan built-in self-test technique
US5852617A (en) * 1995-12-08 1998-12-22 Samsung Electronics Co., Ltd. Jtag testing of buses using plug-in cards with Jtag logic mounted thereon
US5909451A (en) * 1996-11-21 1999-06-01 Sun Microsystems, Inc. System and method for providing scan chain for digital electronic device having multiple clock domains
US7290191B2 (en) * 2004-08-20 2007-10-30 International Business Machines Corporation Functional frequency testing of integrated circuits
JP5017058B2 (ja) 2007-10-26 2012-09-05 株式会社日立製作所 半導体集積回路装置
JP2010038874A (ja) 2008-08-08 2010-02-18 Nec Electronics Corp スキャンテスト回路、その論理接続情報生成方法及びプログラム
JP2012185127A (ja) 2011-03-08 2012-09-27 Renesas Electronics Corp 半導体装置およびそのテスト方法
US9383766B2 (en) * 2013-01-09 2016-07-05 International Business Machines Corporation Chip performance monitoring system and method
US10386413B2 (en) * 2016-09-14 2019-08-20 Nxp Usa, Inc. Circuit and method for testing flip flop state retention

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006322904A (ja) * 2005-05-20 2006-11-30 Matsushita Electric Ind Co Ltd Iddq検査方法
JP2008089545A (ja) * 2006-10-05 2008-04-17 Matsushita Electric Ind Co Ltd 解析装置
US20080195337A1 (en) * 2007-02-09 2008-08-14 Agarwal Kanak B Scannable Virtual Rail Method and Ring Oscillator Circuit for Measuring Variations in Device Characteristics
JP2008251013A (ja) * 2008-04-02 2008-10-16 Nec Electronics Corp 半導体集積回路およびその制御方法
JP2021025974A (ja) * 2019-08-08 2021-02-22 株式会社デンソー 半導体回路装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115792584A (zh) * 2023-02-07 2023-03-14 青岛青软晶尊微电子科技有限公司 基于大数据的集成电路实验方法及装置
CN115792584B (zh) * 2023-02-07 2023-06-23 青岛青软晶尊微电子科技有限公司 基于大数据的集成电路实验方法及装置

Also Published As

Publication number Publication date
US11120187B1 (en) 2021-09-14
JP7204697B2 (ja) 2023-01-16
US20210286926A1 (en) 2021-09-16

Similar Documents

Publication Publication Date Title
JP7204697B2 (ja) 半導体集積回路
US7945830B2 (en) Method and apparatus for unifying self-test with scan-test during prototype debug and production test
US7644333B2 (en) Restartable logic BIST controller
JP4903365B2 (ja) スキャンベースの集積回路でスキャンパターンをブロードキャストする方法および装置
US7996741B2 (en) Method and apparatus for low-pin-count scan compression
US10997343B1 (en) In-system scan test of chips in an emulation system
US8850280B2 (en) Scan enable timing control for testing of scan cells
JP7521054B2 (ja) 半導体集積回路
JP6654456B2 (ja) テストポイント回路、シーケンシャルテスト用スキャンフリップフロップ、半導体装置及び設計装置
CN113609804B (zh) 用例生成方法及装置、测试方法、可测试性设计方法
US20060041806A1 (en) Testing method for semiconductor device and testing circuit for semiconductor device
CN114667455A (zh) 用于测试电路的通用压缩器架构
US9599673B2 (en) Structural testing of integrated circuits
US7607057B2 (en) Test wrapper including integrated scan chain for testing embedded hard macro in an integrated circuit chip
US11156660B1 (en) In-system scan test of electronic devices
US10078114B2 (en) Test point circuit, scan flip-flop for sequential test, semiconductor device and design device
US7313743B2 (en) Hybrid scan-based delay testing technique for compact and high fault coverage test set
JP7169044B2 (ja) 半導体集積回路、その設計方法、プログラム及び記憶媒体
CN116741751A (zh) 集成电路的单元、集成电路以及管芯的测试方法
KR100694315B1 (ko) 다중 시스템 클럭 및 이종 코어를 포함하는 시스템 온 칩용연결선 지연 고장 테스트 제어기
JP5549622B2 (ja) 故障診断方法、故障診断装置、テストシステム及びプログラム
US5130989A (en) Serial and parallel scan technique for improved testing of systolic arrays
US20140201584A1 (en) Scan test circuitry comprising at least one scan chain and associated reset multiplexing circuitry
Baláž et al. Delay faults testing
JP2013088400A (ja) 半導体集積回路の検査方法および半導体集積回路

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221228

R150 Certificate of patent or registration of utility model

Ref document number: 7204697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150