JP2007187458A - スキャンフリップフロップ回路、及び、半導体集積回路装置 - Google Patents
スキャンフリップフロップ回路、及び、半導体集積回路装置 Download PDFInfo
- Publication number
- JP2007187458A JP2007187458A JP2006003588A JP2006003588A JP2007187458A JP 2007187458 A JP2007187458 A JP 2007187458A JP 2006003588 A JP2006003588 A JP 2006003588A JP 2006003588 A JP2006003588 A JP 2006003588A JP 2007187458 A JP2007187458 A JP 2007187458A
- Authority
- JP
- Japan
- Prior art keywords
- scan
- signal
- output
- clock
- 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.)
- Pending
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/318541—Scan latches or cell details
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】遅延故障試験時に遅延故障試験用の2パタンを印加可能とするスキャンフリップフロップを提供することを目的とする。
【解決手段】スキャンフリップフロップ回路は、ラッチ部(1、2、3、4、5、6、7、)と、ホールド部(8、9)と、第1出力ノード(N01)と、第2出力ノード(N02)とを具備する。ラッチ部(1、2、3、4、5、6、7、)は、データを保持する。ホールド部(8、9)は、制御信号(H)に基づいて内部状態を取り込んで出力状態を保持する。第1出力ノード(N01)は、出力状態に基づいて第1出力信号(Q)を出力する。第2出力ノード(N02)は、内部状態に基づいて第2出力信号(SOT)を出力する。
【選択図】図6
【解決手段】スキャンフリップフロップ回路は、ラッチ部(1、2、3、4、5、6、7、)と、ホールド部(8、9)と、第1出力ノード(N01)と、第2出力ノード(N02)とを具備する。ラッチ部(1、2、3、4、5、6、7、)は、データを保持する。ホールド部(8、9)は、制御信号(H)に基づいて内部状態を取り込んで出力状態を保持する。第1出力ノード(N01)は、出力状態に基づいて第1出力信号(Q)を出力する。第2出力ノード(N02)は、内部状態に基づいて第2出力信号(SOT)を出力する。
【選択図】図6
Description
本発明は、半導体集積回路装置に関し、特に、半導体集積回路装置の試験用回路であるスキャンフリップフロップ回路に関する。
従来の半導体集積回路装置(以下LSIと呼ぶ)の試験は、縮退故障を対象にしていた。縮退故障とは、回路の入力状態に関係なく信号の論理値がある値に固定される故障である。これは、主に信号線のオープン故障やショート故障をモデル化し、信号線が“1”または“0”に縮退することを想定している低速試験手法である。しかし、近年のLSIは、集積技術の向上に伴い集積度及び動作クロック周波数が高くなってきている。そのため、低速試験手法では検出できない遅延故障が無視できない状況にある。遅延故障とは、信号の変化がフリップフロップ間を規定時間内に伝わらない故障であり、素子や素子間配線の遅延が原因で発生する。
遅延故障を検出する試験は、回路内に存在する2つのフリップフロップ間において、出力フリップフロップから出力された信号が、規定時間以内に入力フリップフロップにラッチされたか否かを解析することにより行われる。例えば、図1に示されるように、フリップフロップ21とフリップフロップ22との間にNAND回路24、OR回路25を備える回路の試験を考える。NAND回路24は、一方の入力がフリップフロップ21の出力に接続され、他方の入力が試験の間“1”レベルを保持する。OR回路25は、一方の入力がNAND回路24の出力に接続され、他方の入力が試験の間“0”レベルを保持する。OR回路25の出力は、フリップフロップ22に入力されて、所定のタイミングでラッチされる。
ここでは、フリップフロップ21及びフリップフロップ22は一定の間隔で入力データを取り込んで出力するものとし、フリップフロップ21は期間tiの間“0”を出力し、期間ti+1の間“1”を出力する。NAND回路24は、フリップフロップ21が“1”を出力してから素子間配線遅延、NAND回路24の素子遅延の後、 “0”を出力する。OR回路25は、そのNAND回路24が“0”を出力してから素子間配線遅延、OR回路25の素子遅延の後、“0”を出力する。フリップフロップ22は、OR回路25が“0”を出力してから素子間配線遅延の後、“0”を入力することになる。これらの遅延が大きくなると、フリップフロップ21が出力してからフリップフロップ22がラッチするまでの期間ti+1にOR回路25の出力がフリップフロップ22に届かなくなる。従って、フリップフロップ21から信号“1”が出力されて、期間ti+1後に、フリップフロップ22が信号“0”をラッチできなければ、フリップフロップ21とフリップフロップ22との間において遅延故障が発生したと判定される。
このとき、フリップフロップ22で検出しようとする信号がラッチタイミング毎に異なっていなければ、フリップフロップ21から出力される信号がフリップフロップ22に達したか否か判定できない。従って、フリップフロップ22でラッチされる値が、前回のラッチタイミングでラッチされた値と異なるようにテストデータが生成されている必要がある。即ち、フリップフロップ22においてある連続した2時刻に異なる値が入力されるための信号(以降2パタンと呼ぶ)が、フリップフロップ21に設定されなければならない。
一方、LSIの試験容易化の手法としてスキャンパス法が知られている。スキャンパス法では、回路内の各フリップフロップは、鎖状に連結されてシフトレジスタとしても動作するように設計される。試験時にこのシフト機能を利用して外部から各フリップフロップに任意の値が設定され、その値に対する動作結果が各フリップフロップに取り込まれ、外部に出力される。この動作結果を観測することにより回路の正常性が試験される。
スキャンパス法を用いてLSIを試験するために、LSI内に試験用のフリップフロップであるスキャンフリップフロップが設けられ、それらの試験用入出力端子を直列に接続することにより上述のシフトレジスタが構成される。スキャンフリップフロップは、通常のフリップフロップとして動作する通常動作機能のほかに、試験用のパタン信号であるスキャンイン信号SINをデータ入力とし、試験用クロックであるスキャンクロックSCによりシフトレジスタを構成するフリップフロップとして動作するスキャン動作機能を備える。
半導体集積回路装置の試験で用いられるスキャンフリップフロップとして、特開2002−189059号公報に入力信号を一時的に保持するマスタラッチ部及びスレーブラッチ部を有するマスタスレーブ型のスキャン用フリップフロップの構成が記載されている。図2に示されるように、このスキャンフリップフロップは、マスタラッチ部1、スレーブラッチ部2、第1クロック制御部3、第1スキャン制御部4、第2スキャン制御部5、第2クロック制御部6、第3スキャン制御部7を備え、出力バッファ、トランスファゲート制御信号生成回路としてインバータINV1、INV2、INV3、INV4、INV5、INV6、INV7を備える。
マスタラッチ部1、スレーブラッチ部2、第1クロック制御部3、第2クロック制御部6には、クロックCを反転させるインバータINV3の出力端子P01、及びインバータINV3の出力クロックを反転させるインバータINV4の出力端子P02が接続されている。また、マスタラッチ部1及び第1スキャン制御部4には、第1スキャンクロックSC1の入力端子H04及び第1スキャンクロックSC1を反転させるインバータINV5の出力端子PO3が接続されている。さらに、第2スキャン制御部5及び第3スキャン制御部7には、第2スキャンクロックSC2の入力端子H05及び第2スキャンクロックSC2を反転させるインバータINV6の出力端子CB1が接続されている。
スレーブラッチ部2からバッファ回路(インバータINV1)を介してノードN01に出力データ信号Qが出力される。また、スレーブラッチ部2からバッファ回路(インバータINV2)を介してノードN02にスキャンアウト信号SOTが出力される。出力データ信号Qとスキャンアウト信号SOTとは、逆相の信号となる。
マスタラッチ部1は、インバータINV11と、インバータINV12と、トランスファゲートTG11、TG12とを備え、データ信号D或いはスキャンイン信号SINを一時的に保持する。インバータINV12は、インバータINV11の出力信号を反転させて出力する。トランスファゲートTG11、TG12は、インバータINV12の出力とインバータINV11の入力間に直列に挿入されている。トランスファゲートTG11は、インバータINV3の出力端子P01及びインバータINV4の出力端子P02が接続され、クロックCに同期してON/OFFする。また、トランスファゲートTG12は、端子H04及びインバータINV5の出力端子P03が接続され、第1スキャン信号SC1に同期してON/OFFする。
スレーブラッチ部2は、インバータINV21と、インバータINV22と、トランスファゲートTG21とを備え、マスタラッチ部1の出力信号を通常動作用のクロックC或いは第2スキャンクロックSC2に同期して一時的に保持する。インバータINV22は、インバータINV21の出力信号を反転させる。トランスファゲートTG21はインバータINV22の出力とインバータINV21の入力との間に挿入されている。トランスファゲートTG21は、インバータINV3の出力端子P01及びインバータINV4の出力端子P02が接続され、クロックCに同期してON/OFFする。インバータINV21の出力信号は、インバータINV1を介して出力データ信号Qとなる。一方、インバータINV22の出力信号は、インバータINV2を介してスキャンアウト信号SOTとなる。また、インバータINV22の出力信号は、第3スキャン制御部7を介して第2クロック制御部6にフィードバックされる。
第1クロック制御部3は、インバータINV31とトランスファゲートTG31とを備える。インバータINV31は、データ信号Dを反転する。トランスファゲートTG31は、インバータINV3の出力端子P01及びインバータINV4の出力端子P02が接続され、クロックCに同期してON/OFFする。従って、第1クロック制御部3は、クロックCに基づいて入力データ信号Dをマスタラッチ部1に出力する。
第1スキャン制御部4は、スキャンイン信号SINが入力され、トランスファゲートTG41を備える。トランスファゲートTG41は、端子H04及びインバータINV5の出力端子P03が接続され、第1スキャンクロックSC1に同期してON/OFFする。従って、第1スキャン制御部4は、第1スキャンクロックSC1に基づいて入力されたスキャンイン信号SINをマスタラッチ部1に出力する。
第2スキャン制御部5は、マスタラッチ部1の出力信号が入力され、トランスファゲートTG51を備える。トランスファゲートTG51は、端子H05及びインバータINV6の出力端子CB1が接続され、第2スキャンクロックSC2に同期してON/OFFする。従って、第2スキャン制御部5は、第2スキャンクロックSC2に基づいて入力されたマスタラッチ部1の出力信号を第2クロック制御部6に出力する。
第2クロック制御部6は、第2スキャン制御部5の出力信号が入力され、トランスファゲートTG61を備える。トランスファゲートTG61は、インバータINV3の出力端子P01及びインバータINV4の出力端子P02が接続され、クロックCに同期してON/OFFする。従って、第2クロック制御部6は、クロックCに基づいて入力された第2スキャン制御部5の出力信号をスレーブラッチ部2に出力する。
第3スキャン制御部7は、スレーブラッチ部2のインバータINV22の出力信号が入力され、トランスファゲートTG71を備える。トランスファゲートTG71は、端子H05及びインバータINV6の出力端子CB1が接続され、第2スキャンクロックSC2に同期してON/OFFする。従って、第3スキャン制御部7は、第2スキャンクロックSC2に基づいて、入力されたインバータINV22の出力信号を第2クロック制御部6に出力する。
従って、マスタラッチ部1、第1クロック制御部3、第1スキャン制御部4は、クロックCに基づいて入力データ信号Dを一時保持する回路であるとともに、第1スキャンクロックSC1に基づいてスキャン入力信号SINを一時保持する回路でもある。また、スレーブラッチ部2、第2スキャン制御部5、第2クロック制御部6、第3スキャン制御部7は、クロックCに基づいてマスタラッチ部1の出力信号を一時保持する回路であるとともに、第2スキャンクロックSC2に基づいてマスタラッチ部1の出力信号を一時保持する回路でもある。
なお、トランスファゲートは、PチャネルMOSトランジスタとNチャネルMOSトランジスタのソース・ドレインが共通に接続されて構成される。トランスファゲートは、PチャネルMOSトランジスタのゲート及びNチャネルMOSトランジスタのゲートに印加される制御信号に応答して導通状態(ON)/非導通状態(OFF)となるスイッチとして動作する。
次に、この従来のスキャンフリップフロップの動作について説明する。スキャンフリップフロップの通常動作時、第1スキャンクロックSC1はLレベルで維持され、第2スキャンクロックSC2はHレベルで維持される。従って、マスタラッチ部1のトランスファゲートTG12と第2スキャン制御部5のトランスファゲートTG51は、それぞれON状態で維持され、第1スキャン制御部4のトランスファゲートTG41と第3スキャン制御部7のトランスファゲートTG71は、それぞれOFF状態で維持されている。
このような状態で、端子H01から入力データ信号D(HレベルまたはLレベル)が入力される。クロックCが立ち下がってLレベルになると、第1クロック制御部3のトランスファゲートTG31が導通状態になり(ON)、トランスファゲートTG11は非導通状態になる(OFF)。従って、入力データ信号DがトランスファゲートTG31を介してマスタラッチ部1に入力され、マスタラッチ部1は、第1クロック制御部3から受け取った信号をインバータINV11で反転して第2スキャン制御部5に出力する。
第2スキャンクロックSC2がHレベルであるため、第2スキャン制御部5のトランスファゲートTG51がON状態で維持され、マスタラッチ部1の出力信号は第2クロック制御部6に入力される。クロックCがLレベルであるため、第2クロック制御部6のトランスファゲートTG61がOFF状態であり、スレーブラッチ部2のトランスファゲートTG21がON状態になっている。従って、スレーブラッチ部2は、内部状態を維持したままであり、その出力信号Q及びSOTは変化しない。
次にクロックCが立ち上がり、Hレベルになると、第1クロック制御部3のトランスファゲートTG31が遮断状態(OFF)になり、トランスファゲートTG11が導通状態(ON)になる。従って、マスタラッチ部1に入力データ信号Dの供給は無くなるが、インバータINV12の出力信号がトランスファゲートTG12、TG11を介してインバータINV11の入力に供給される。即ち、マスタラッチ部1は、インバータINV12の出力信号がインバータINV11の入力に帰還されため、クロックCの立ち上がり直前の値(HレベルまたはLレベル)を内部状態として維持する。
このとき、第2クロック制御部6のトランスファゲートTG61は導通状態(ON)、スレーブラッチ部2のトランスファゲートTG21は遮断状態(OFF)となり、スレーブラッチ部2は、第2スキャン制御部5から出力されるマスタラッチ部1の出力を取り込む。スレーブラッチ部2は、第2クロック制御部6を介して受け取った信号をインバータINV21で反転して出力する。この出力信号は、インバータINV1でさらに反転され、出力データ信号Qとして端子N01から出力される。また、この出力信号は、インバータINV22で反転されて第3スキャン制御部7、インバータINV2に出力され、インバータINV2の出力信号は、ノードN02から反転出力データ信号QB(或いはスキャン出力信号SOT)として出力される。
さらに、クロックCが再び立ち下がると、第2クロック制御部6のトランスファゲート61は遮断状態(OFF)になり、スレーブラッチ部2のトランスファゲートTG21は導通状態(ON)になる。インバータINV21の出力信号は、インバータINV22とトランスファゲートTG21とを介してインバータINV21の入力に帰還される。従って、スレーブラッチ部2は、取り込んだ内部状態を維持し、その出力信号Q及びSOTは変化しない。
次に、スキャン動作時のスキャンフリップフロップの動作が、図3を参照して説明される。スキャン動作時、クロックCはHレベルで維持される。従って、マスタラッチ部1のトランスファゲートTG11、第2クロック制御部6のトランスファゲートTG61は導通状態(ON)で維持され、第1クロック制御部3のトランスファゲートTG31、スレーブラッチ部2のトランスファゲートTG21は遮断状態(OFF)で維持される。このような状態で、端子H03からスキャンイン信号SINが供給される。ここでは、スキャンイン信号が期間p1においてHレベルになる。
第1スキャンクロックSC1が立ち上がり、Hレベルになると(期間p2)、第1スキャン制御部4のトランスファゲートTG41が導通状態(ON)、マスタラッチ部1のトランスファゲートTG12が遮断状態(OFF)になる。従って、スキャンイン信号SINは、トランスファゲートTG11を介してインバータINV11に供給され、インバータINV11の出力ノードNaは、Lレベルになる。このとき、第2スキャンクロックSC2はLレベルであるため、第2スキャン制御部5のトランスファゲートTG51は、遮断状態(OFF)となり、スレーブラッチ部2は、変化しない。
第1スキャンクロックSC1が立ち下がり、Lレベルになると(期間p3)、トランスファゲートTG41が遮断状態(OFF)、トランスファゲートTG12が導通状態(ON)になる。インバータINV12の出力信号は、トランスファゲートTG11、TG12を介してインバータINV11の入力に帰還され、第1スキャンクロックSC1がHレベルのとき(Lレベルになる直前)の値に維持される。即ち、マスタラッチ部1は、期間p2において取り込んだスキャンイン信号SINの状態を保持する。このマスタラッチ部1の内部状態の保持は、第1スキャンクロックSC1がLレベルの間(期間p3〜p5)継続する。
次に、第2スキャンクロックSC2が立ち上がり、Hレベルになると(期間p4)、第2スキャン制御部5のトランスファゲートTG51が導通状態(ON)、第3スキャン制御部7のトランスファゲートTG71が遮断状態(OFF)になる。従って、第2スキャン制御部5は、マスタラッチ部1の出力を第2クロック制御部6のトランスファゲートTG61を介してスレーブラッチ部2に供給する。
スレーブラッチ部2は、インバータINV21により入力された信号を反転してインバータINV1に出力するとともに、インバータINV22に供給する。インバータINV1は、入力された信号をさらに反転して、出力データ信号Q(Lレベル)を出力する。また、インバータINV22に供給された信号は、反転されて第3スキャン制御部7とインバータINV2に供給される。インバータINV2は、出力データ信号Qと逆相のスキャンアウト信号SOT(=Hレベル)を出力する。
次に、第2スキャンクロックSC2が立ち下がり、Lレベルになると(期間p5)、トランスファゲートTG51は遮断状態(OFF)、トランスファゲートTG71が導通状態(ON)になる。従って、マスタラッチ部1から供給される信号が遮断され、インバータINV22の出力信号がトランスファゲートTG71を介して第2クロック制御部6に供給される。トランスファゲートTG61は、インバータINV22の出力信号をインバータINV21に供給する。従って、インバータINV21の出力信号がインバータINV22により反転されてトランスファゲートTG71、TG61を介してインバータINV21の入力に帰還され、スレーブラッチ部2は、第2スキャンクロックSC2がHレベル時(Lレベルになる直前)の値に維持される。即ち、スレーブラッチ部2は、帰還p4において取り込んだマスタラッチ部1の出力信号の状態を保持する。この保持状態は、第2スキャンクロックSC2がLレベルの間(期間p5〜p7)継続する。
このように、従来のスキャンフリップフロップは、第1スキャンクロックSC1がHレベルのときにスキャンイン信号SINをサンプリングしてマスタラッチ部1に一時保持する。さらに、従来のスキャンフリップフロップは、第2スキャンクロックSC2がHレベルのときにスレーブラッチ部2がマスタラッチ部1の内部状態を引き継いでスキャンアウト信号SOTとして出力する。従来のスキャンフリップフロップは、この動作を繰り返してシフト動作を行う。
このように動作する従来のスキャンフリップフロップが、図4に示されるように、3段連結されているスキャンパスにおいて、遅延故障試験を行う場合を説明する。スキャンフリップフロップ14、15、16は、それぞれのスキャンイン端子SINとスキャンアウト端子SOTとが接続され、スキャンパステスト時にシフトレジスタとして動作する。スキャンフリップフロップ14とスキャンフリップフロップ15との間に組み合せ回路18が接続され、スキャンフリップフロップ15とスキャンフリップフロップ16との間に組み合せ回路19が接続されている。組み合せ回路18は、スキャンフリップフロップ14の出力信号Q14に基づいて組み合せ論理演算が行われ、動作結果である信号D18を出力する。組み合せ回路19は、スキャンフリップフロップ15の出力信号Q15に基づいて組み合せ論理演算が行われ、動作結果である信号D19を出力する。スキャンフリップフロップ14〜16は、クロックC、第1スキャンクロックSC1、第2スキャンクロックSC2が共通に供給される。スキャンフリップフロップ14〜16がシフトレジスタとして機能するとき、スキャンイン信号SIがシリアル入力され、スキャンアウト信号SOをシリアル出力する。
図5は、従来の遅延故障試験時の動作を示すタイムチャートである。各スキャンフリップフロップは、パタン“A”“B”“C”をテストデータとして設定される。このテストデータを各スキャンフリップフロップにセットするために、第1スキャンクロックSC1と第2スキャンクロックSC2とが供給される。即ち、HレベルのパルスSC1a、SC2a、SC1b、SC2b、SC1c、SC2cが各スキャンフリップフロップのシフトクロックとして与えられる(図5(b)(c))。このときクロックCは、Hレベルに固定される(図5(a)))。テストデータ“A”“B”“C”は、パルスSC2a、SC2b、SC2cの立ち上がりに同期してスキャンフリップフロップ14からスキャンフリップフロップ16に順にシフトされる(図5(e)(g)(i))。但し、スキャンイン端子SIN(ノードH03)から入力されたデータは、出力データ端子Q(ノードN01)から極性が反転されて出力されているため、添字nが付加されて記載されている。
パルスSC2cが立ち上がった時点でスキャンフリップフロップ14にテストデータ“C”、スキャンフリップフロップ15にテストデータ“B”、スキャンフリップフロップ16にテストデータ“A”がセットされる。所定のタイミングCaにおいて、1パタン目のデータにより回路を動作させるために、クロックCは一旦Lレベルになる(図5(a))。各スキャンフリップフロップは、クロックCがLレベルのときに入力データ信号端子D(ノードH01)からデータを取り込み、クロックCがHレベルに立ち上がると、出力データ信号Qとして出力する。従って、スキャンフリップフロップ14から出力される出力データ信号Q14は、スキャンフリップフロップ14の入力データ端子Dに印加されていた “Dn”に変化する(図5(e))。スキャンフリップフロップ15から出力される出力データ信号Q16は、スキャンフリップフロップ14の出力データ信号Q14=“Cn”が組み合せ回路18により演算された結果信号D18を取り込み、“C1n”に変化する(図5(g))。スキャンフリップフロップ16から出力されるスキャンアウト信号SOは、スキャンフリップフロップ15の出力データ信号Q15=“Bn”が組み合せ回路19により演算された結果信号D19を取り込み、“B2”に変化する(図5(i))。
タイミングCaから規定時間T経過後のタイミングCbにおいて、再度クロックCはLレベルになる。スキャンフリップフロップ14から出力される出力データ信号Q14は、スキャンフリップフロップ14の入力データ端子Dに印加されていた “En”に変化する(図5(e))。スキャンフリップフロップ15から出力される出力データ信号Q16は、スキャンフリップフロップ14の出力データ信号Q14=“Dn”が組み合せ回路18により演算された結果信号D18を取り込み、“D1n”に変化する(図5(g))。スキャンフリップフロップ16から出力されるスキャンアウト信号SOは、スキャンフリップフロップ15の出力データ信号Q15=“C1n”が組み合せ回路19により演算された結果信号D19を取り込み、“C2”に変化する(図5(i))。
クロックCがHレベルに戻むと、第2スキャンクロックSC2がLレベルになり、各スキャンフリップフロップのマスタラッチ部1、スレーブラッチ部2は、そのときの状態を維持する(図5(c))。その後、各スキャンフリップフロップにセットされた試験結果をシリアルに出力するために、第1スキャンクロックSC1、第2スキャンクロックSC2は、パルスSC1d、SC2d、SC1e、SC2eを各スキャンフリップフロップに与える。パルスSC2d、SC2eの立ち上がりに同期して、スキャンフリップフロップ15の出力データ信号Q15は“D1n”“En”と変化し、スキャンフリップフロップ16のスキャンアウト信号SOは“C2”“D1”“E”と変化する。即ち、2回目のクロックCがLレベルになったキャプチャ時点の値が、順次スキャンアウト信号SOとしてシリアルに出力される。
この2回目のクロックCの立ち上がり時点のサンプリング値が、遅延故障試験の試験結果である。従って、遅延故障試験の被試験回路の出力が変化するように被試験回路の入力データが与えられなければならない。被試験回路は、組み合せ回路19であるから、“C1n”が入力されたときに出力されるデータ“C2n”と、“D1n”が入力されて出力されるデータ“D2n”とは異なっていなくてはならない。データ“D1n”は、組み合せ回路18がスキャンフリップフロップ14の出力信号Q14に基づいて演算した結果である。従って、組み合せ回路19を試験するために、スキャンフリップフロップ14に入力されるテストデータは、組み合せ回路18の演算を逆算して求めなければならない。
上述のように、遅延故障の検査を行う場合、遅延故障試験の対象になる2つのフリップフロップ間の経路において、出力側のフリップフロップは、ある連続した2時刻に異なる値が入力されるための信号を2パタン出力する必要がある。そのため、遅延故障試験を行う場合、2パタンのうちの1パタン目をフリップフロップ15に格納し、2パタン目はフリップフロップ15の前段のフリップフロップ14から印加する。つまり、1時刻さかのぼった時点の回路の状態を任意に設定する必要がある。この場合、遅延故障試験用のパタンは、順序回路を対象としてパタン生成される。数学的に順序回路に対する遅延故障試験用パタン生成は困難な問題であることが知られている。本発明は、遅延故障試験時に遅延故障試験用の2パタンを印加可能とするスキャンフリップフロップを提供することを目的とする。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の観点では、スキャンフリップフロップ回路は、ラッチ部(1、2、3、4、5、6、7)と、ホールド部(8、9)と、第1出力ノード(N01)と、第2出力ノード(N02)とを具備する。ラッチ部(1、2、3、4、5、6、7)は、データを保持する。ホールド部(8、9)は、制御信号(H)に基づいてラッチ部(1、2、3、4、5、6、7)の内部状態を取り込んで出力状態を保持する。第1出力ノード(N01)は、出力状態に基づいて第1出力信号(Q)を出力する。第2出力ノード(N02)は、内部状態に基づいて第2出力信号(SOT)を出力する。
本発明の他の観点では、半導体集積回路装置は、制御信号(H)に応答して出力状態を保持するホールド部(8、9)を備えるスキャンフリップフロップを備える。
本発明によれば、遅延故障試験用の2パタンを印加可能とするスキャンフリップフロップを提供することが可能となる。従って、遅延故障試験用パタン生成が容易となり、遅延故障試験用パタンの生成時間が短縮される。
図を参照して本発明を実施するための最良の形態が説明される。図5は、本発明の実施の形態に係るスキャンフリップフロップの回路構成を示す回路図である。スキャンフリップフロップは、入力信号を一時的に保持するマスタ部と、2つのラッチ部を備えるスレーブ部とを具備するマスタスレーブ型のスキャン用フリップフロップである。通常動作時は、Dフリップフロップとして動作する。
図6に示されるように、スキャンフリップフロップは、マスタ部にマスタラッチ部1と第1クロック制御部3と第1スキャン制御部4とを備え、スレーブ部にスレーブラッチ部2と第2スレーブラッチ部9と第2スキャン制御部5と第2クロック制御部6と第3スキャン制御部7と第4スキャン制御部8とインバータINV1、INV2とを備える。また、スキャンフリップフロップは、クロック制御部としてインバータINV3〜INV7を備える。
マスタ部は、クロック制御部の制御に基づいて、入力データ信号D或いはスキャンイン信号SINを取り込んで保持する。スレーブ部は、クロック制御部の制御に基づいて、マスタ部から出力される信号を取り込んで保持し、出力データ信号Q及びスキャンアウト信号SOTとして出力する。クロック制御部は、端子H02からクロックC、端子H04から第1スキャンクロックSC1、端子H05から第2スキャンクロックSC2、端子H06からホールド信号Hを入力する。
インバータINV3は、クロックCに基づいてノードP01に反転されたクロック信号を出力し、インバータINV4は、ノードP02にクロックCと同相のクロック信号を出力する。インバータINV5は、ノードH04に入力される第1スキャンクロックSC1を反転してノードP03に出力する。インバータINV6は、ノードH05に入力される第2スキャンクロックSC2を反転してノードCB1に出力する。インバータINV7は、ノードH06から入力されるホールド信号Hを反転してノードP04に出力する。これらの対になっているクロック信号、制御信号は、各トランスファゲートに供給される。
第1クロック制御部3は、インバータINV31とトランスファゲートTG31とを含む。インバータINV31は、端子H01から入力される入力データ信号Dの極性を反転してトランスファゲートTG31に出力する。トランスファゲートTG31は、クロックCに基づいて制御され、クロックCがLレベルのときにインバータINV31の出力をマスタラッチ部1に供給する。
第1スキャン制御部4は、トランスファゲートTG41を含む。トランスファゲートTG41は、第1スキャンクロックSC1に基づいて制御され、第1スキャンクロックSC1がHレベルのとき、入力ノードH03に入力されるスキャンイン信号SINをマスタラッチ部に供給する。
マスタラッチ部1は、インバータINV11、INV12とトランスファゲートTG11、TG12とを含む。トランスファゲートTG11とトランスファゲートTG31とは逆相の制御信号に基づいて制御されるため、インバータINV11は、トランスファゲートTG11から供給される信号、或いは、第1クロック制御部3から入力される反転された入力データ信号Dのいずれかの信号を極性反転してノードNaに出力する。ノードNaは、インバータINV12と第2スキャン制御部5とに接続される。インバータINV12は、インバータINV11の出力を極性反転してトランスファゲートTG12に出力する。トランスファゲートTG12は、第1スキャンクロックSC1に基づいて制御され、第1スキャンクロックSC1がLレベルのときインバータINV12の出力をトランスファゲートTG11に供給する。トランスファゲートTG12と、第1スキャン制御部4のトランスファゲートTG41とは、第1スキャンクロックSC1に基づく逆相の制御信号に基づいて制御されるため、スキャンイン信号SIN、或いは、インバータINV12から出力される信号のいずれかの信号がトランスファゲートTG11に供給される。
従って、第1スキャンクロックSC1がLレベルであれば、マスタラッチ部1は、クロックCがLレベルのとき、入力データ信号Dを取り込んで第2スキャン制御部5に出力する。また、クロックCがHレベルのとき、インバータINV11とインバータINV12とは直列に接続されてループを形成し、マスタラッチ部1は、入力された信号を保持して第2スキャン制御部5に出力する。
さらに、マスタラッチ部1は、クロックCがHレベルであれば、第1スキャンクロックSC1がHレベルのときスキャンイン信号SINを取り込み、極性が反転された信号を第2スキャン制御部5に出力する。また、第1スキャンクロックSC1がLレベルのとき、インバータINV11とインバータINV12とは直列に接続されてループを形成し、マスタラッチ部1は、入力された信号を保持して第2スキャン制御部5に出力する。
第2スキャン制御部5は、第2スキャンクロックSC2に基づいて制御されるトランスファゲートTG51を含む。トランスファゲートTG51は、第2スキャンクロックSC2がHレベルのとき、マスタラッチ部1から出力される信号を第2クロック制御部6に供給する。
第2クロック制御部6は、クロックCに基づいて制御されるトランスファゲートTG61を含む。トランスファゲートTG61は、クロックCがHレベルのとき入力される信号をスレーブラッチ部2に供給する。
スレーブラッチ部2は、インバータINV21、INV22とトランスファゲートTG21とを含む。トランスファゲートTG21は、クロックCに基づいて制御され、クロックCがLレベルのときインバータINV22の出力をインバータINV21に供給する。トランスファゲートTG21とトランスファゲートTG61とはクロックCに基づく逆相の制御信号に基づいて制御されるため、インバータINV21は、第2クロック制御部6から供給される信号とトランスファゲートTG21から供給される信号とのいずれかの信号を極性反転してノードNbに出力する。ノードNbには、インバータINV22と第4スキャン制御部8とが接続される。インバータINV22は、インバータINV21の出力を極性反転してトランスファゲートTG21及び第3スキャン制御部7に出力するとともに、インバータINV2を介してスキャンアウト信号SOTをノードN02に出力する。スキャンアウト信号SOTは、ノードNbと同相の信号となる。
第3スキャン制御部7は、第2スキャンクロックSC2に基づいて制御されるトランスファゲートTG71を含む。トランスファゲートTG71は、第2スキャンクロックSC2がLレベルのときにインバータINV22の出力を第2クロック制御部6に供給する。
第2スキャン制御部5のトランスファゲートTG51と第3スキャン制御部7のトランスファゲートTG71とは、第2スキャンクロックSC2に基づく逆相の制御信号に基づいて制御されるため、マスタラッチ部1から出力される信号、或いは、インバータINV22が出力するスレーブラッチ部2が保持する信号のいずれかの信号が第2クロック制御部6に供給される。
従って、クロックCがHレベルの場合、スレーブラッチ部2は、第2スキャンクロックSC2がHレベルのとき、マスタラッチ部1から出力される信号を取り込む。第2スキャンクロックSC2がLレベルのときインバータINV21、INV22は信号ループを形成する。従って、スレーブラッチ部2は、入力を遮断して取り込んだ信号を保持する。
さらに、第2スキャンクロックSC2がHレベルの場合、スレーブラッチ部2は、クロックCがHレベルのとき、マスタラッチ部1から出力される信号を取り込む。クロックCがLレベルのとき、インバータINV21、INV22は信号ループを形成する。従って、スレーブラッチ部2は、入力を遮断して取り込んだ信号を保持する。
第4スキャン制御部8は、インバータINV81とトランスファゲートTG81とを含む。インバータINV81は、スレーブラッチ部2から出力される信号を極性反転してトランスファゲートTG81に供給する。トランスファゲートTG81は、ホールド信号Hに基づいて制御され、ホールド信号HがLレベルのときインバータINV81の出力を第2スレーブラッチ部9に供給する。
第2スレーブラッチ部9は、インバータINV91、INV92とトランスファゲートTG91とを含む。インバータINV92は、インバータ91の出力を極性反転してトランスファゲートTG91に出力する。トランスファゲートTG91は、ホールド信号Hに基づいて制御され、ホールド信号HがHレベルのとき、インバータINV92の出力をインバータINV91に供給する。トランスファゲートTG91と第4スキャン制御部8のトランスファゲートTG81とは、ホールド信号Hに基づく逆相の制御信号に基づいて制御される。そのため、インバータINV91は、インバータINV92が出力する信号、或いは、インバータINV81が出力する信号のいずれかの信号を極性反転してインバータINV92及びインバータINV1に出力する。インバータINV1は、入力された信号を極性反転し、ノードN01からスキャンフリップフロップの出力データ信号Qとして出力する。
従って、第2スレーブラッチ部9は、ホールド信号HがLレベルのとき、スレーブラッチ部2の出力を取り込んで出力し、ホールド信号HがHレベルのとき、インバータINV91、INV92が信号ループを形成して入力された信号を保持する。即ち、ホールド信号HがLレベルのとき、スレーブラッチ部2の出力がインバータINV1を介して出力される従来のスキャンフリップフロップと同じように、出力データ信号Qとスキャンアウト信号SOTは同期して互いに逆相の信号を出力する。ホールド信号HがHレベルのとき、スキャンアウト信号SOTは、スレーブラッチ部2の状態を反映するが、出力データ信号Qは、ホールド信号Hが立ち上がる直前の値を保持する。ホールド信号Hが立ち下がると、出力データ信号Qは、スレーブラッチ部2の状態を反映した信号となる。
このように、ホールド信号Hにより制御される第2スレーブラッチ部9及び第4スキャン制御部を備えることにより、遅延故障試験用の2パタンを保持し、ホールド信号Hに基づいて出力することが可能となる。
次に、図を参照してスキャンフリップフロップの動作を説明する。図7は、通常動作時のスキャンフリップフロップの動作を示すタイムチャートである。通常動作時、図7(b)(c)に示されるように、第1スキャンクロックSC1はLレベル、第2スキャンクロックSC2はHレベルに固定される。従って、トランスファゲートTG12、TG51は導通状態(ON)に、トランスファゲートTG41、TG71は遮断状態(OFF)になる。スキャンイン信号SINは、トランスファゲートTG41により遮断されるため、スキャンフリップフロップの動作に影響しない(図7(e))。また、ホールド信号Hは、図7(i)に示されるように、Lレベルに固定され、スレーブラッチ部2の出力は、第4スキャン制御部8と第2スレーブラッチ部9とをそのまま通過する。
クロックCは、図7(a)に示されるように、期間p1、p3、p5、p7においてLレベルであり、期間p2、p4、p6においてHレベルである。図7(d)に示されるように、入力データ信号Dは、期間p1及び期間p4において立ち上がり、期間p2、p5においてHレベル、期間p3、p6において立ち下がる場合を例に説明する。
期間p1ではトランスファゲートTG31が導通状態になっているため、Hレベルになった入力データ信号Dは、インバータINV31、インバータINV11を介してノードNaをHレベルにする。一方、トランスファゲートTG61は遮断状態にあり、スレーブラッチ部2は、Hレベルの信号を保持している(図7(g))。従って、スキャンフリップフロップの出力データ信号QはLレベル、スキャンアウト信号SOTはHレベルとなる。
期間p2において、クロックCはHレベルになるため、トランスファゲートTG31が遮断状態、トランスファゲートTG11が導通状態になり、マスタラッチ部1は、取り込んだ信号を保持する。従って、ノードNaはHレベルのまま保持される(図7(f))。一方、トランスファゲートTG61が導通状態、トランスファゲートTG21が遮断状態になるため、スレーブラッチ部2は、マスタラッチ部1の出力を取り込み、ノードNbからLレベルの信号を出力する(図7(g))。従って、出力データ信号QはHレベル、スキャンアウト信号SOTはLレベルになる(図7(j)(h))。
期間p3では、期間p1と同じように、マスタラッチ部1は入力データ信号Dを取り込み、ノードNaはLレベルになる(図7(f))。スレーブラッチ部2では、ノードNbは、期間p2において取り込んだLレベルを保持する(図7(g))。
期間p4において、マスタラッチ部1は、取り込んだ信号のレベルを維持し(図7(f))、スレーブラッチ部2はマスタラッチ部1の出力を取り込み、ノードNbはHレベルになる(図7(g))。期間p4では、入力データ信号Dが、Hレベルに立ち上がっているが、マスタラッチ部1はラッチ状態であり、ノードNaのレベルは変化しない(図7(f))。
期間p5になると、マスタラッチ部1は入力データ信号Dを取り込むため、ノードNaはHレベルになる(図7(f))。スレーブラッチ部2は、期間p4の状態を保持するため、ノードNbはHレベルの状態を維持する(図7(g))。
期間p6では、期間p4と同じように、マスタラッチ部1は取り込んだ信号のレベルを保持し、入力データ信号Dが立ち下がってもノードNaはHレベルを維持する(図7(f))。スレーブラッチ部2は、マスタラッチ部1の出力を取り込み、ノードNbはLレベルになる(図7(g))。
このように、通常動作時のスキャンフリップフロップは、従来のスキャンフリップフロップと同じく、クロックCの立ち上がり直前の入力データ信号Dのレベルを出力データ信号Qとして出力し、極性が反転した信号をスキャンアウト信号SOTとして出力する。
次に、図8を参照してスキャンフリップフロップのスキャンパス試験時の動作を説明する。スキャンパス試験において、スキャンフリップフロップをシフトレジスタとして動作させるとき、クロックCはHレベルに固定され(図8(a))、第1スキャンクロックSC1と第2スキャンクロックSC2とは、Hレベルの期間が重複しない2相のシフトクロックとして与えられる(図8(b)(c))。被試験回路の動作状態は、クロックCが一旦Lレベルになることによりサンプリングされ、各スキャンフリップフロップに取り込まれる。クロックCがHレベルの間、トランスファゲートTG31、TG21が遮断状態(OFF)になり、トランスファゲートTG11、TG61が導通状態(ON)となっている。
期間p1において、第1スキャンクロックSC1、第2スキャンクロックSC2はともにLレベルであるため(図8(b)(c))、マスタラッチ部1、スレーブラッチ部2はデータ保持状態になっている。従って、ノードNaはHレベルを維持し(図8(f))、ノードNbはLレベルを維持する(図8(g))。スキャンアウト信号SOTは、ノードNbのレベルが反映してLレベルであり(図8(h))、出力データ信号Qは、Hレベルである(図8(j))。
期間p2では、第1スキャンクロックSC1がHレベルになり、マスタラッチ部1は、スキャンイン信号SINの状態を取り込む。スキャンイン信号がHレベルであるため、ノードNaはLレベルになる。第2スキャンクロックSC2はLレベルであるため、スレーブラッチ部2は期間p1の状態を維持し、出力データ信号Q、スキャンアウト信号SOTは変化しない。期間p3では、期間p1と同じように、マスタラッチ部1、スレーブラッチ部2ともに前状態を維持し、出力データ信号Q、スキャンアウト信号SOTは変化しない。
期間p4では、第2スキャンクロックSC2がHレベルになり(図8(c))、スレーブラッチ部2がマスタラッチ部1の出力を取り込む。ノードNaがLレベルであるから、ノードNbはHレベルになり(図8(g))、ノードNbの変化に伴ってスキャンアウト信号SOTもHレベルになる(図8(h))。スレーブラッチ部2の出力は、第4スキャン制御部8、第2スレーブラッチ部9を介してインバータINV1に供給される。インバータINV1は、極性を反転し、Lレベルの出力データ信号Qを出力する(図8(j))。
期間p5では、期間p1、p3と同じように、マスタラッチ部1、スレーブラッチ部2ともに前状態を維持し、スキャンアウト信号SOTは変化しない。ここで、ホールド信号HがHレベルになると(図8(i))、第4スキャン制御部8は、遮断状態になり、第2スレーブラッチ部9は前状態を保持する。従って、出力データ信号Qは、Lレベルの状態を維持する。この状態は、ホールド信号HがHレベルの間継続する。本実施の形態では、期間p5においてホールド信号HがHレベルになるとして説明されたが、どのタイミングであってもよく、スレーブラッチ部2が状態を保持している第2スキャンクロックSC2がLレベルのときが好ましい。
期間p6では、第1スキャンクロックSC1がHレベルになり、期間p2と同じように、マスタラッチ部1がスキャンイン信号SINを取り込み、ノードNaはHレベルになる(図8(f))。スレーブラッチ部2は、第2スキャンクロックSC2がLレベルであるため、変化しない(図8(g))。期間p7では、第1スキャンクロックSC1、第2スキャンクロックSC2がLレベルであるため、マスタラッチ部1、スレーブラッチ部2は変化しない。
期間p8になると、第2スキャンクロックSC2がHレベルになり(図8(c))、スレーブラッチ部2は、マスタラッチ部1の出力を取り込む。従って、マスタラッチ部1のノードNaがHレベルであるから(図8(f))、ノードNbはLレベルになる(図8(g))。ノードNbの変化に伴って、スキャンアウト信号SOTは、Lレベルになる(図8(h))。ホールド信号HがHレベルであるため、第4スキャン制御部8が遮断状態にあり、第2スレーブラッチ部9は前状態を保持している。従って、出力データ信号Qは、Lレベルを維持する(図8(j))。このように、ホールド信号HがHレベルであると、第2スレーブラッチ部9は前状態を保持し、出力データ信号Qは、スレーブラッチ部2の状態と一致しなくなる。
期間p9では、第1スキャンクロックSC1、第2スキャンクロックSC2ともにLレベルであるから(図8(b)(c))、マスタラッチ部1とスレーブラッチ部2は変化しない。この状態で、ホールド信号HがLレベルに変化すると(図8(i))、トランスファゲートTG81が導通状態になり、トランスファゲートTG91が遮断状態になる。従って、スレーブラッチ部2のノードNbの状態が(図8(g))、第4スキャン制御部4、第2スレーブラッチ部9を介してインバータINV1に供給され、出力データ信号QはHレベルに変わる(図8(j))。
期間p10において、この状態でクロックCがLレベルになる。トランスファゲートTG11が遮断状態になり、トランスファゲートが導通状態になるため、マスタラッチ部1は入力データ信号Dを取り込む。このとき、入力データ信号Dは、Lレベルであるため(図8(d))、マスタラッチ部1のノードNaは、Lレベルになる(図8(f))。スレーブラッチ部2は、トランスファゲートTG21が導通状態になって前状態を保持しているため、ノードNbは変化しない(図8(g))。また、ホールド信号HがLレベルであるため、ノードNbの状態が第4スキャン制御部8、第2スレーブラッチ部9を介してインバータINV1に供給され、出力データ信号Qは、変化しない(図8(j))。即ち、期間p10では、出力データ信号Qが変わらない状態でマスタラッチ部1は入力データ信号Dを取り込んだ状態になる。
期間p11では、クロックCがHレベル、第1スキャンクロックSC1、第2スキャンクロックSC2、ホールド信号HがLレベルであり、期間p3と同じように、マスタラッチ部1及びスレーブラッチ部2は前状態を保持し、第2スレーブラッチ部9はスレーブラッチ部2の出力をそのまま出力する。
期間p12になると、第2スキャンクロックSC2がHレベルになる(図8(c))。マスタラッチ部1は、前状態(ここでは、期間p10において取り込んだ入力データ信号Dを保持した状態)を保持している。スレーブラッチ部2は、そのマスタラッチ部1の出力を取り込み、ノードNbはHレベルになる(図8(g))。従って、スキャンアウト信号SOTもHレベルになる(図8(h))。ホールド信号HがLレベルであるから、出力データ信号Qは、Lレベルになる(図8(j))。即ち、期間p10において入力データ信号によりスキャンフリップフロップに入力されたデータが、期間p12においてスキャンアウト信号SOT及び出力データ信号Qに反映されたことになる。
このように、スキャンフリップフロップは、第1スキャンクロックSC1がHレベルのときにスキャンイン信号SINを取り込み、第2スキャンクロックSC2がHレベルのときにスキャンアウト信号SOTとして出力する。ホールド信号HがHレベルのときは、出力データ信号Qは前状態を保持し、スレーブラッチ部2の状態を反映していない。また、第1スキャンクロックSC1、第2スキャンクロックSC2がLレベルのとき、クロックCを一旦Lレベルにすることにより、マスタラッチ部1に入力データ信号の状態をセットすることができる。
次に、スキャンフリップフロップを3段直列に接続し、スキャンパスが形成される場合を例として、遅延故障試験時の動作が説明される。図9に示されるように、スキャンフリップフロップ11、12、13がスキャンパスを形成している。スキャンフリップフロップ11とスキャンフリップフロップ12との間に被試験回路である組み合せ回路18、スキャンフリップフロップ12とスキャンフリップフロップ13との間に被試験回路である組み合せ回路19がある。スキャンフリップフロップ11〜13は、クロックC、第1スキャンクロックSC1、第2スキャンクロックSC2、ホールド信号Hが共通に供給される。スキャンフリップフロップ11は、出力データ信号Q11を組み合せ回路18に出力し、組み合せ回路18は、動作結果である結果信号D18をスキャンフリップフロップ12の入力データ信号として供給する。スキャンフリップフロップ12は、出力データ信号Q12を組み合せ回路19に出力し、組み合せ回路19は、動作結果である結果信号D19をスキャンフリップフロップ13の入力データ信号として供給する。スキャンパス試験時、シリアルのテストデータであるスキャンイン信号SIがスキャンフリップフロップ11のSIN端子に供給される。スキャンフリップフロップ11のSOT端子はスキャンフリップフロップ12のSIN端子に接続され、スキャンフリップフロップ12のSOT端子はスキャンフリップフロップ13のSIN端子に接続される。スキャンフリップフロップ13のSOT端子から試験結果であるスキャンアウト信号SOが出力される。ここでは、遅延故障試験の対象回路は、組み合せ回路19とし、スキャンフリップフロップ12の出力信号Q12を所定の時間内に変化させ、その結果をスキャンフリップフロップ13が取り込む。
図10は、遅延故障試験時の動作を示すタイムチャートである。スキャンイン信号SIにより各スキャンフリップフロップに設定されるテストデータは、遅延故障試験用の2パタンを含む。1パタン目のデータは“A”“B”“C”であり、2パタン目のデータは“A”“B’”“C”とする。スキャンフリップフロップ12は、1パタン目のデータ“B”が設定され、所定のタイミングで2パタン目のデータ“B’”に変化させる。スキャンフリップフロップ13が2パタン目の結果信号D19を取り込み、スキャンアウト信号SOとして出力することにより、組み合せ回路19の遅延故障を検出する。
1パタン目のテストデータを各スキャンフリップフロップに設定するために、クロックCは、Hレベルに固定され(図10(a))、第1スキャンクロックSC1、第2スキャンクロックSC2は、HレベルのパルスSC1a、SC2a、SC1b、SC2b、SC1c、SC2cを与える(図10(b)(c))。このとき、ホールド信号Hは、Lレベルに固定される(図10(d))。第1スキャンクロックSC1がHレベルのとき、各スキャンフリップフロップは、マスタラッチ部1に端子SINのデータを取り込むため、スキャンイン信号SIは第2スキャンクロックSC2の立ち下がりに同期してデータ列“A”“B”“C”を与える(図10(e))。
各スキャンフリップフロップは、第2スキャンクロックSC2の立ち上がりに同期して取り込んだデータを出力する。従って、スキャンフリップフロップ11のスキャンアウト信号SO11は、パルスSC2aの立ち上がりに同期して“A”、パルスSC2bの立ち上がりに同期して“B”、パルスSC2cの立ち上がりに同期して“C”となる(図10(f))。また、スキャンフリップフロップ11は、第2スキャンクロックSC2の立ち上がりに同期してスキャンアウト信号SO11と逆相の出力データ信号Q11、即ち、“An”“Bn”“Cn”を出力する(図10(g))。
同じように、スキャンフリップフロップ12は、第2スキャンクロックSC2の立ち上がりに同期してスキャンアウト信号SO12を出力する。スキャンアウト信号SO12は、パルスSC2bの立ち上がりに同期して“A”、パルスSC2cの立ち上がりに同期して“B”となる(図10(i))。また、スキャンフリップフロップ12の出力データ信号Q12は、パルスSC2bの立ち上がりに同期して“An”、パルスSC2cの立ち上がりに同期して“Bn”となる(図10(j))。スキャンフリップフロップ13のスキャンアウト信号SOは、パルスSC2cの立ち上がりに同期して“A”となる(図10(l))。従って、スキャンクロックSC2のパルスSC2cの立ち上がりに同期してスキャンフリップフロップ11から“C”、スキャンフリップフロップ12から“B”、スキャンフリップフロップ13から“C”が出力され、各スキャンフリップフロップに試験用データが設定されたことがわかる。このとき、組み合せ回路18、19から結果信号D18(“A1n””B1n”“C1n”)、D19(“A2n”“B2n”)が出力されるが(図10(h)(k))、スキャンフリップフロップ12、13には取り込まれない。
各スキャンフリップフロップに1パタン目のデータがセットされて出力された時点において、ホールド信号HがHレベルに設定される(図10(d))。2パタン目のデータを各フリップフロップにセットするため、第1スキャンクロックSC1、第2スキャンクロックSC2は、HレベルのパルスSC1d、SC2d、SC1e、SC2e、SC1f、SC2fを与える(図10(b)(c))。各スキャンフリップフロップのスキャンイン信号SINの取り込み、及び、スキャンアウト信号SOTの出力は、ホールド信号Hに影響されない。従って、スキャンイン信号SIは、第2スキャンクロックSC2の立ち下がりに同期してデータ列“A”“B’”“C”を与える(図10(e))。
各スキャンフリップフロップは、第2スキャンクロックSC2の立ち上がりに同期して取り込んだデータを出力する。従って、スキャンフリップフロップ11のスキャンアウト信号SO11は、パルスSC2dの立ち上がりに同期して“A”、パルスSC2eの立ち上がりに同期して“B’”、パルスSC2fの立ち上がりに同期して“C”となる(図10(f))。同じように、スキャンフリップフロップ12は、第2スキャンクロックSC2の立ち上がりに同期してスキャンアウト信号SO12“C”“A”“B’”を出力し(図10(i))、スキャンフリップフロップ13は、スキャンアウト信号SO“B”“C”“A”を出力する(図10(l))。即ち、パルスSC2fの時点において、スキャンフリップフロップ11、12、13のスレーブラッチ部2は、それぞれ“Cn”、“B’n”、 “An”を示すデータを保持している。一方、ホールド信号HがHレベルになっているため、スキャンフリップフロップ11、12、13の出力データ信号Q11、Q12、SOは、ホールド信号HがHレベルになった時点の値、“Cn”、“Bn”、“An”を出力している(図10(g)(j)(l))。従って、スキャンフリップフロップ11、13は、スレーブラッチ部2に保持する値と第2スレーブラッチ部9に保持する値が一致するが、スキャンフリップフロップ12のスレーブラッチ部2はデータ“Bn”を保持し、第2スレーブラッチ部9はデータ“B’n”を保持していることになる。
所定のタイミングCaにおいて、ホールド信号HはLレベルになる(図10(d))。各スキャンフリップフロップの第2スレーブラッチ部9のホールド状態が解除され、スレーブラッチ部2に保持される値が出力データ信号として出力される。スレーブラッチ部2と第2スレーブラッチ部9とに保持される値が異なるスキャンフリップフロップ12の出力データ信号Q12は、“Bn”から“B’n”に変化する(図10(j))。組み合せ回路19の入力がタイミングCaにおいて変化するため、組み合せ回路19の結果信号D19は、遅延時間td後に“B2n”から“B2’n”に変化する(図10(k))。
タイミングCaから規定時間T経過後のタイミングCbにクロックCは一旦Lレベルになり(図10(a))、結果信号D18、D19はスキャンフリップフロップ12、13のマスタラッチ部1に取り込まれて保持される(図10(h)(k))。図10において、遅延時間tdは規定時間Tより短時間であるように記載されている。これは遅延故障がない場合である。遅延故障が発生している場合、遅延時間td>規定時間Tとなり、タイミングCbの時点では結果信号D19が変化せずに“Bn”を示している。従って、スキャンフリップフロップ12のマスタラッチ部1は“Bn”を保持することになる。このとき、スレーブラッチ部2は、前状態を保持しているため、その出力信号は変化しない。なお、このときスキャンフリップフロップ11は、入力データ信号Dとしてデータ “Xn”が入力されているものとする。
動作結果が各スキャンフリップフロップに取り込まれた後、その動作結果を出力するために第1スキャンクロックSC1、第2スキャンクロックSC2が供給される。まず、パルスSC2gが供給され、マスタラッチ部1に保持されている動作結果を示すデータが、スレーブラッチ部2に移行する(図10(c))。パルスSC2gの立ち上がりに同期して、スキャンフリップフロップ11はスキャンアウト信号SO11に“X”、出力データ信号Q11に“Xn”を出力し(図10(f)(g))、スキャンフリップフロップ12はスキャンアウト信号SO12に“C1”、出力データ信号Q12に“C1n”を出力し(図10(i)(j))、スキャンフリップフロップ13はスキャンアウト信号SOに“B2’”を出力する(図10(l))。この時点において、動作結果“B2’”がスキャンアウト信号SOに出力されたことになる。
さらに動作結果を出力するために、第1スキャンクロックSC1と第2スキャンクロックSC2がパルスSC1g、SC2h、SC1h、SC2iを供給する(図10(b)(c))。パルスSC2hの立ち上がりに同期して、スキャンフリップフロップ12はスキャンアウト信号SO12に“X”を出力し、スキャンフリップフロップ13はスキャンアウト信号SOに“C1”を出力する。ここで、動作結果“C1”がスキャンアウト信号SOに出力されたことになる。パルスSC2iの立ち上がりに同期してスキャンフリップフロップ13はスキャンアウト信号SOに“X”を出力すると、タイミングCbにおいて取り込まれた動作結果が全てスキャンフリップフロップ13からシリアル出力されたことになる。
このように、動作結果は、スキャンアウト信号SOにシリアル出力される。従って、このスキャンアウト信号SOを観測することにより動作結果に遅延故障があるか否か判定が可能となる。ここでは、3回路のスキャンフリップフロップにおいて、1データのみ異なる2パタンを用いて動作が説明されたが、多数のスキャンフリップフロップにおいて、複数のデータが異なる2パタンを用いても同様に動作は可能である。また、本実施の形態では、Dフリップフロップを例に説明したが、Tフリップフロップ、JKフリップフロップなど他のフリップフロップであってもよい。
上述のように、従来技術によるスキャンフリップフロップでは遅延故障試験用2パタンのうち、1パタンしか保持することができなかった。このため、遅延故障試験用パタンは、順序回路に対して生成されることになり、その順序回路の遅延故障試験用パタン生成は困難であった。本発明によるスキャンフリップフロップは、遅延故障試験用2パタンを同時に保持することが可能になり、遅延故障試験用パタンは組み合せ回路に対して生成される。組み合せ回路の遅延故障試験用パタン生成は、順序回路の遅延故障試験用パタン生成に比べて容易であり、これによって、遅延故障試験用パタンの生成時間の短縮が可能になる。
1 マスタラッチ部
2 スレーブラッチ部
3 第1クロック制御部
4 第1スキャン制御部
5 第2スキャン制御部
6 第2クロック制御部
7 第3スキャン制御部
8 第4スキャン制御部
9 第2スレーブラッチ部
11、12、13、14、15、16、21、22 スキャンフリップフロップ
18、19 組み合せ回路
24 NAND回路
25 OR回路
INV1、INV2、INV3、INV4、INV5、INV6、INV7 インバータ
INV11、INV12、INV21、INV22、INV31 インバータ
INV91、INV92 インバータ
TG11、TG12、TG21、TG31、TG41、TG51、TG61、TG71 トランスファゲート
TG81、TG91、TG92 トランスファゲート
2 スレーブラッチ部
3 第1クロック制御部
4 第1スキャン制御部
5 第2スキャン制御部
6 第2クロック制御部
7 第3スキャン制御部
8 第4スキャン制御部
9 第2スレーブラッチ部
11、12、13、14、15、16、21、22 スキャンフリップフロップ
18、19 組み合せ回路
24 NAND回路
25 OR回路
INV1、INV2、INV3、INV4、INV5、INV6、INV7 インバータ
INV11、INV12、INV21、INV22、INV31 インバータ
INV91、INV92 インバータ
TG11、TG12、TG21、TG31、TG41、TG51、TG61、TG71 トランスファゲート
TG81、TG91、TG92 トランスファゲート
Claims (9)
- ラッチ部と、
制御信号に基づいて前記ラッチ部の内部状態を取り込んで出力状態を保持するホールド部と、
前記出力状態に基づいて第1出力信号を出力する第1出力ノードと、
前記内部状態に基づいて第2出力信号を出力する第2出力ノードと
を具備するスキャンフリップフロップ回路。 - 前記ラッチ部は、第1入力信号及び第2入力信号に基づいて前記内部状態を設定する
請求項1に記載のスキャンフリップフロップ回路。 - 前記ラッチ部は、
前記第1入力信号及び前記第2入力信号を取り込んで保持する第1ラッチ部と、
前記第1ラッチ部の出力を取り込んで保持する第2ラッチ部と
を備える請求項1または請求項2に記載のスキャンフリップフロップ回路。 - 前記第1ラッチ部は、
第1クロック信号に応答して前記第1入力信号を取り込み、
第2クロック信号に応答して前記第2入力信号を取り込む
請求項3に記載のスキャンフリップフロップ回路。 - 前記第2ラッチ部は、前記第1クロック信号及び第3クロック信号に応答して前記第1ラッチ部の出力を取り込んで保持する
請求項4に記載のスキャンフリップフロップ回路。 - 前記ホールド部は、前記制御信号に応答して前記第2ラッチ部の出力を取り込んで保持する
請求項3から請求項5のいずれかに記載のスキャンフリップフロップ回路。 - 第1クロック信号に応答して第1端子に入力される第1入力信号を取り込んで内部状態を設定し、第2クロック信号に応答して第2端子に入力される第2入力信号を取り込んで前記内部状態を設定するマスタ部と、
前記第1クロック信号及び第3クロック信号に応答して前記マスタ部の出力を取り込んで保持するスレーブ部と、
制御信号に応答して前記スレーブ部の出力を取り込んで保持するホールド部と
を具備するスキャンフリップフロップ回路。 - 前記マスタ部は、
前記第1クロック信号に応答して前記第1端子に入力される前記第1信号を取り込む第1クロック制御部と、
前記第2クロック信号に応答して前記第2端子に入力される前記第2信号を取り込む第1スキャン制御部と、
前記第1クロック制御部の出力と前記第1スキャン制御部の出力とを取り込んで保持するマスタラッチ部と
を備え、
前記スレーブ部は、
前記第1クロック信号に応答して前記マスタラッチ部の出力を取り込む第2クロック制御部と、
前記第3クロック信号に応答して前記マスタラッチ部の出力を取り込む第2スキャン制御部と、
前記第2クロック制御部と前記第2スキャン制御部との出力を取り込んで保持するスレーブラッチ部と、
前記第3クロック信号に応答して前記スレーブラッチ部の出力を前記第2クロック制御部の入力にフィードバックする第3スキャン制御部と
を備え、第1出力信号を出力し、
前記ホールド部は、
前記制御信号に応答して前記スレーブラッチ部の出力を取り込む第4スキャン制御部と、
前記第4スキャン制御部の出力を取り込んで保持する第2スレーブラッチ部と
を備え、第2出力信号を出力する
請求項7に記載のスキャンフリップフロップ回路。 - 請求項1から請求項8のいずれかに記載のスキャンフリップフロップ回路を備える半導体集積回路装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006003588A JP2007187458A (ja) | 2006-01-11 | 2006-01-11 | スキャンフリップフロップ回路、及び、半導体集積回路装置 |
US11/650,468 US7590906B2 (en) | 2006-01-11 | 2007-01-08 | Scan flip-flop circuit and semiconductor integrated circuit device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006003588A JP2007187458A (ja) | 2006-01-11 | 2006-01-11 | スキャンフリップフロップ回路、及び、半導体集積回路装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007187458A true JP2007187458A (ja) | 2007-07-26 |
Family
ID=38234142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006003588A Pending JP2007187458A (ja) | 2006-01-11 | 2006-01-11 | スキャンフリップフロップ回路、及び、半導体集積回路装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7590906B2 (ja) |
JP (1) | JP2007187458A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8441277B2 (en) | 2007-12-28 | 2013-05-14 | Nec Corporation | Semiconductor testing device, semiconductor device, and testing method |
KR20230021242A (ko) * | 2021-08-05 | 2023-02-14 | 주식회사 키파운드리 | 저전력 리텐션 플립 플롭 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5176883B2 (ja) * | 2008-11-07 | 2013-04-03 | 富士通株式会社 | ラッチ回路及びその制御方法 |
US8407540B2 (en) * | 2009-07-06 | 2013-03-26 | Arm Limited | Low overhead circuit and method for predicting timing errors |
JP2011058847A (ja) * | 2009-09-07 | 2011-03-24 | Renesas Electronics Corp | 半導体集積回路装置 |
US8181073B2 (en) * | 2009-09-23 | 2012-05-15 | Oracle America, Inc. | SRAM macro test flop |
US8791739B2 (en) | 2009-10-28 | 2014-07-29 | Freescale Semiconductor, Inc. | Flip-flop having shared feedback and method of operation |
US8143929B2 (en) * | 2009-10-28 | 2012-03-27 | Freescale Semiconductor, Inc. | Flip-flop having shared feedback and method of operation |
US8866527B1 (en) * | 2010-04-02 | 2014-10-21 | Altera Corporation | Integrated circuits with hold time avoidance circuitry |
US8332698B2 (en) * | 2010-05-21 | 2012-12-11 | Apple Inc. | Scan latch with phase-free scan enable |
US8667349B2 (en) * | 2011-08-11 | 2014-03-04 | Taiwan Semiconductor Manufacturing Co., Ltd. | Scan flip-flop circuit having fast setup time |
US8610461B2 (en) | 2011-09-28 | 2013-12-17 | Lsi Corporation | Split decode latch with shared feedback |
US8904254B2 (en) * | 2012-11-09 | 2014-12-02 | Oracle International Corporation | Combo dynamic flop with scan |
US9618580B2 (en) | 2015-05-07 | 2017-04-11 | International Business Machines Corporation | Debugging scan latch circuits using flip devices |
US9664735B2 (en) | 2015-05-07 | 2017-05-30 | International Business Machines Corporation | Debugging scan latch circuits using flip devices |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0257990A (ja) * | 1988-08-24 | 1990-02-27 | Mitsubishi Electric Corp | Lsiテスト回路 |
JPH04232699A (ja) * | 1990-08-10 | 1992-08-20 | Hewlett Packard Co <Hp> | 遅延試験能力を有する走査可能なレジスタ |
JP2002189059A (ja) * | 2000-12-20 | 2002-07-05 | Nec Corp | スキャン用フリップフロップ |
JP2004150933A (ja) * | 2002-10-30 | 2004-05-27 | Toshiba Corp | 半導体装置及びその設計方法 |
JP2004320433A (ja) * | 2003-04-16 | 2004-11-11 | Mitsubishi Electric Corp | 半導体集積回路およびテスト生成プログラム |
JP2005115578A (ja) * | 2003-10-07 | 2005-04-28 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびその設計方法 |
JP2005233715A (ja) * | 2004-02-18 | 2005-09-02 | Matsushita Electric Ind Co Ltd | 記憶回路及び半導体集積回路 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938225B2 (en) * | 2002-09-04 | 2005-08-30 | Intel Corporation | Scan design for double-edge-triggered flip-flops |
US7375567B2 (en) * | 2005-06-30 | 2008-05-20 | Texas Instruments Incorporated | Digital storage element architecture comprising dual scan clocks and preset functionality |
-
2006
- 2006-01-11 JP JP2006003588A patent/JP2007187458A/ja active Pending
-
2007
- 2007-01-08 US US11/650,468 patent/US7590906B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0257990A (ja) * | 1988-08-24 | 1990-02-27 | Mitsubishi Electric Corp | Lsiテスト回路 |
JPH04232699A (ja) * | 1990-08-10 | 1992-08-20 | Hewlett Packard Co <Hp> | 遅延試験能力を有する走査可能なレジスタ |
JP2002189059A (ja) * | 2000-12-20 | 2002-07-05 | Nec Corp | スキャン用フリップフロップ |
JP2004150933A (ja) * | 2002-10-30 | 2004-05-27 | Toshiba Corp | 半導体装置及びその設計方法 |
JP2004320433A (ja) * | 2003-04-16 | 2004-11-11 | Mitsubishi Electric Corp | 半導体集積回路およびテスト生成プログラム |
JP2005115578A (ja) * | 2003-10-07 | 2005-04-28 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびその設計方法 |
JP2005233715A (ja) * | 2004-02-18 | 2005-09-02 | Matsushita Electric Ind Co Ltd | 記憶回路及び半導体集積回路 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8441277B2 (en) | 2007-12-28 | 2013-05-14 | Nec Corporation | Semiconductor testing device, semiconductor device, and testing method |
KR20230021242A (ko) * | 2021-08-05 | 2023-02-14 | 주식회사 키파운드리 | 저전력 리텐션 플립 플롭 |
KR102653989B1 (ko) * | 2021-08-05 | 2024-04-04 | 에스케이키파운드리 주식회사 | 저전력 리텐션 플립 플롭 |
US11990909B2 (en) | 2021-08-05 | 2024-05-21 | Sk Keyfoundry Inc. | Low power retention flip-flop |
Also Published As
Publication number | Publication date |
---|---|
US7590906B2 (en) | 2009-09-15 |
US20070162802A1 (en) | 2007-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007187458A (ja) | スキャンフリップフロップ回路、及び、半導体集積回路装置 | |
KR0156547B1 (ko) | 집적 회로용 검사셀 | |
JP5041694B2 (ja) | スキャン機能を有するフリップフロップ回路 | |
US7840864B2 (en) | Functional frequency testing of integrated circuits | |
US5617426A (en) | Clocking mechanism for delay, short path and stuck-at testing | |
US8717078B2 (en) | Sequential latching device with elements to increase hold times on the diagnostic data path | |
JPH03248067A (ja) | 半導体集積回路 | |
JP2009222644A (ja) | 半導体集積回路、及び設計自動化システム | |
US20090300448A1 (en) | Scan flip-flop device | |
JPH1073644A (ja) | ドミノロジックを備えた試験可能な論理回路及びドミノロジックの試験方法 | |
WO2006132329A1 (ja) | マイクロコンピュータ及びそのテスト方法 | |
JP2013538358A (ja) | フルスキャン能力を有するレジスタ | |
US7082560B2 (en) | Scan capable dual edge-triggered state element for application of combinational and sequential scan test patterns | |
US6271700B1 (en) | Semiconductor integrated circuit having scan path | |
US20090240996A1 (en) | Semiconductor integrated circuit device | |
TWI435095B (zh) | 具有延遲測試能力之掃描鏈單元 | |
JP3535855B2 (ja) | スキャンフリップフロップ及び半導体集積回路装置 | |
EP1989562B1 (en) | Dual-path, multimode sequential storage element | |
JP2004110265A (ja) | 半導体集積回路のテスト容易化方法 | |
JP3420142B2 (ja) | スキャンパステスト用のフリップフロップ回路 | |
US5848075A (en) | Test device employing scan path having circuitry at switches between a scan in signal transmitted and previously held at a predetermined clock timing | |
US7152195B2 (en) | Scan test circuit | |
US5793777A (en) | System and method for testing internal nodes of an integrated circuit at any predetermined machine cycle | |
US8578227B2 (en) | Delay test device and system-on-chip having the same | |
JP4610919B2 (ja) | 半導体集積回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101006 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110214 |