JP2005308500A - 半導体集積回路装置及びテスト方法 - Google Patents
半導体集積回路装置及びテスト方法 Download PDFInfo
- Publication number
- JP2005308500A JP2005308500A JP2004124661A JP2004124661A JP2005308500A JP 2005308500 A JP2005308500 A JP 2005308500A JP 2004124661 A JP2004124661 A JP 2004124661A JP 2004124661 A JP2004124661 A JP 2004124661A JP 2005308500 A JP2005308500 A JP 2005308500A
- Authority
- JP
- Japan
- Prior art keywords
- flip
- flop
- value
- path
- indefinite
- 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.)
- Withdrawn
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/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
-
- 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/31719—Security aspects, e.g. preventing unauthorised access during test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
回路面積の増大を抑止しながら、不定値のテスト対象パスへの伝播の抑止を実現するスキャンパステスト方式の半導体集積回路装置及びテスト方法の提供。
【課題】
【解決手段】
論理回路内の複数のフリップフロップをシリアルにつないでスキャンチェインを形成し、スキャンパステストを行うにあたり、論理回路内の1つ又は複数のフリップフロップを、テスト時に、不定値がテスト対象パスに伝播し該不定値が出力側のスキャンチェインで取り込まれることを抑制するための値を保持する不定制御フリップフロップとして備え、不定制御フリップフロップは、制御信号に基づきシリアルに接続され、スキャンチェイン104、105、107とは別のチェイン103、106、108を構成し、複数の不定制御フリップフロップには、入力端子101からシリアル入力される値がそれぞれ設定される。
【選択図】
図1
【課題】
【解決手段】
論理回路内の複数のフリップフロップをシリアルにつないでスキャンチェインを形成し、スキャンパステストを行うにあたり、論理回路内の1つ又は複数のフリップフロップを、テスト時に、不定値がテスト対象パスに伝播し該不定値が出力側のスキャンチェインで取り込まれることを抑制するための値を保持する不定制御フリップフロップとして備え、不定制御フリップフロップは、制御信号に基づきシリアルに接続され、スキャンチェイン104、105、107とは別のチェイン103、106、108を構成し、複数の不定制御フリップフロップには、入力端子101からシリアル入力される値がそれぞれ設定される。
【選択図】
図1
Description
本発明は、半導体集積回路装置及びそのテスト方法に関し、特に、スキャンパス回路及びそのテスト方法に関する。
半導体集積回路のテスト容易化設計(Design For Testability)手法として、論理回路中のフリップフロップをシリアルに接続してシフトレジスタとして動作させることでテストを行うスキャンパス・テストが用いられている。よく知られているように、スキャンパスを構成するフリップフロップ(「スキャンフリップフロップ」ともいう)は、シリアル入力端子(SI)と、データ入力端子(D)と、データ出力端子(Q)と、クロック入力端子(C)と、スキャンモード制御端子(SMC)とを備え、スキャンモード制御端子(SMC)に入力される信号がスキャンモード(「シリアルモード」ともいう)を示すとき、シリアル入力端子(SI)からの入力をクロック信号に応答してサンプルしデータ出力端子(Q)から出力し、次段のフリップフロップのシリアル入力端子(SI)に供給し、複数のフリップフロップを数珠つなぎにしたシリアル経路であるスキャンチェインが形成される。一方、スキャンモード制御端子(SMC)の値がノーマル動作を示すとき、当該フリップフロップは、データ入力端子(D)の信号をクロック信号に応答してサンプルしデータ出力端子(Q)から出力する。テスト時には、半導体集積回路のスキャン入力端子(SCAN_IN)(「シリアル入力端子」ともいう)より、テストパタンがシリアルに入力されて入力側のスキャンチェインを構成するフリップフロップに順次設定され、入力側のスキャンチェインのフリップフロップの出力は、被テスト回路(組み合わせ回路)に供給される。この状態で、スキャンモードを解除して1クロックパルスを与えることで、被テスト回路の出力が出力側のスキャンチェインを構成するフリップフロップにパラレルに取り込まれ、再び、スキャンモードに設定し、半導体集積回路のスキャン出力端子(SCAN_OUT)(「シリアル出力端子」ともいう)から、出力側のスキャンチェインの値をシリアルに読み出し期待値と比較することで、テストが行われる。
ところで、半導体集積回路のスキャンテストにおいて、例えば、半導体集積回路内の被テスト回路内に、
(A)テスト中に、値が定まらない部分や、
(B)実動作上、予め定められた周期内に動作が完了する必要のない部分等、
不定値を発生する部分が含まれている場合、出力側のスキャンチェインに不定値がセットされることになる。
(A)テスト中に、値が定まらない部分や、
(B)実動作上、予め定められた周期内に動作が完了する必要のない部分等、
不定値を発生する部分が含まれている場合、出力側のスキャンチェインに不定値がセットされることになる。
なお、上記(A)の例として、例えば、出力側のスキャンチェインのフリップフロップがRAM(ランダムアクセスメモリ)の出力を受ける場合、該RAMが初期化されていない限り、フリップフロップは不定値に設定される。
また、上記(B)の例として、例えば2クロックサイクル以上で動作が完了するようなパスがあげられる。前述したように、テスト時に、入力側のスキャンチェインの出力を入力する被テスト回路の出力は、1クロックで出力側のスキャンチェインに取り込まれる。このため、1クロックサイクル内で動作が完了しない被テスト回路のパスに接続される出力側のスキャンチェインには不定値が伝播されることになる。
また、LFSR(Linear Feedback Shift Register)等を用いてシグネチャ圧縮を行う構成では、1サイクルでも、不定値が入ると、シグネチャが壊れてしまい、シミュレーション結果(期待値)と合わなくなる。すなわち、後記特許文献1にも記載されているように、テスト結果を、LFSRを用いてシグネチャ圧縮する手法を用いた場合には、テスト時に不定状態を発生する部分の出力がテスト結果に影響を与えないように、制御回路を追加する必要がある。なお、後記特許文献1には、使われていない機能ブロックからの不定値出力に対しても正常なシグネチャ生成を行うことを可能とする構成として、シグネチャ圧縮を行う観測レジスタ回路が、マスク情報をビットで記憶するレジスタを備え、このレジスタの値と観測データとの論理積をAND回路でとることにより、観測データの入力、阻止を制御し、不定値が観測レジスタ回路に取り込まれることを防止している。
一方、スキャンチェインの構成を変形させて、不定値のテスト結果への影響を抑止するための制御回路を設けない構成も知られている(例えば後記特許文献2)。図9は、後記特許文献2の第1図を、参考のために引用したものである。図9に示すように、RAM10が初期化されないときは、RAM10のデータ出力部do[n]から取り込んだデータ信号には不定値が含まれる恐れがある。図9に示す構成では、RAM10からのデータ信号は、スキャンパス22を通じてMISR(Multiple Input Signature Register)へ伝達されることはなく、MISRへは、スキャンパス13で取り込まれた、組み合わせ回路40からのデータ信号DI[n]のみが伝達される構成とし、RAM10の初期化なしで、不定値の影響を受けることなく、組み合わせ回路40のBIST(Built-In Self Test)を遂行できるようにしている。
しかしながら、図9に示す構成は、スキャンチェインが途中で二股に分かれており(すなわち、スキャンパス12からスキャンパス13、14に分岐している)、通常のスキャンパスの構成とは異なる特異な構成であるため、自動テストパタン生成(ATPG)ツールで自動生成されたパタンをそのまま用いることができない等の問題がある。
以下では、スキャンパス方式の半導体集積回路おいて、不定値のテスト対象パスへの伝播を抑制するための制御回路を備えた典型的な構成について、図8を参照して、説明しておく。なお、図8は、不定値のテスト対象パスへの伝播を抑制するための制御回路を備えた代表例の説明のために、本発明者によって作成されたものである。
図8において、フリップフロップ103〜108は、テスト時に、シリアルに接続されて、入力側のスキャンチェインを構成し、フリップフロップ124、123、122は、シリアルに接続されて、出力側のスキャンチェインを構成する。フリップフロップ103〜108には、シリアル入力端子(SIN1)よりシリアルに入力されたテストパタンが供給され、出力側のスキャンチェインを構成するフリップフロップ124、123、122に、1クロックで被テスト回路の出力がサンプルされ、出力側のスキャンチェインを構成するフリップフロップ122、123、124でのサンプル値がシリアル出力端子(SOUT2)から順次シリアルに出力され、試験装置等では、例えばシリアルに出力されたデータと期待値とを比較するか、あるいは、シグネチャ圧縮し、シグネチャを期待値と比較する。
図8において、ANDゲート501、502、503は、不定値のテスト対象パスへの伝播を抑止するために、新たに追加された制御回路である。例えば、ANDゲート501は、テストを制御するテストモード信号/TESTMODEが活性状態(ロウレベル)のとき、その出力をロウレベルとし、ANDゲート501の出力を選択制御信号(SEL)として入力するセレクタ119は、パス111を選択して出力してフリップフロップ122のデータ入力端子(D)に出力する。すなわち、テスト時において、パス110(回路群114の出力)はセレクタ119では、選択されず、このため、フリップフロップ122への不定値の取り込みは回避される。
同様に、ANDゲート502は、テストモード信号/TESTMODEが活性状態(ロウレベル)のとき、その出力をロウレベルとし、パス112の回路118への伝播を遮断している。そして、ANDゲート503も、テストモード信号/TESTMODEが活性状態(ロウレベル)のとき、その出力をロウレベルとしており、RAM120の出力のフリップフロップ124への伝播を遮断している。
このように、図8に示した回路構成においては、テストモード信号/TESTMODEを活性状態(ロウレベル)に固定することで、全ての不定発生部分の影響を排除することが可能である。
しかしながら、不定値がテスト結果に影響を与えないように、制御回路を追加する構成とした場合(図8参照)、追加する制御回路により、回路面積が増大する、という問題を有している。
一方、不定値のスキャンパスへの混入を回避するための制御回路を追加しない場合には、スキャンチェインが特異な構成となるため(図9参照)、自動テストパタン(ATPG)でパタンを生成することは、困難であった。
したがって、本発明の目的は、回路面積の増大を抑止しながら、不定値のテスト対象パスへの伝播の抑止を実現する半導体集積回路装置及び方法を提供することにある。
また本発明の他の目的は、上記目的を達成しながら、ATPG(自動パタン生成ツール)でパタン生成可能なスキャンパステスト方式の半導体集積回路装置回路及び方法を提供することにある。
本願で開示される発明は、前記目的を達成するため、概略以下の構成とされる。
本発明の1つのアスペクトに係る半導体集積回路装置は、論理回路内の複数のフリップフロップを制御信号に基づきシリアルにつないでスキャンチェインを形成しテストが行われる半導体集積回路装置において、前記論理回路内の少なくとも1つのフリップフロップを、テスト時に、不定値のテスト対象パスへの伝播を抑制するための値を保持する不定制御フリップフロップとして備えている。
本発明に係る半導体集積回路装置においては、前記不定制御フリップフロップを複数備え、複数の前記不定制御フリップフロップは、制御信号に基づき、シリアルに接続されて前記スキャンチェインとは別のシリアルチェインを構成し、複数の前記不定制御フリップフロップには、入力端子からシリアル入力される値が設定される構成としてもよい。
本発明に係る半導体集積回路装置においては、前記入力端子から、複数の前記不定制御フリップフロップのそれぞれに到るまでのシリアルチェイン上に、前記不定制御フリップフロップが出力する値に応じて、論理反転回数が奇数回又は偶数回となるように、反転回路が挿入されている構成としてもよい(ただし、論理反転回数が0の場合、反転しなくてよいため、反転回路は挿入されない)。前記入力端子には、固定値が与えられる。
本発明に係る半導体集積回路装置においては、前記スキャンチェインを構成する複数のフリップフロップと、複数の前記不定制御フリップフロップとが共通のクロック信号で駆動されるようにしてもよい。
本発明に係る半導体集積回路装置においては、前記スキャンチェインを構成する複数のフリップフロップのシリアル接続を制御する制御信号と、複数の前記不定制御フリップフロップのシリアル接続を制御する制御信号とを、別々に設けた構成としてもよい。
本発明に係る半導体集積回路装置においては、前記不定制御フリップフロップは、前記スキャンチェインの内の入力側のスキャンチェインと出力側のスキャンチェインの間のテスト対象のパスに対して不定値を伝播させるパスを固定値に設定するか、又は、不定値の伝播を、前記テスト対象のパスの始点と終点の間の中間位置で停止させ、不定値が前記出力側のスキャンチェインに及ばないように制御する構成とされている。
本発明の他のアスペクトに係るスキャンパス回路は、複数のフリップフロップを有し、前記複数のフリップフロップを制御信号に基づきシリアルにつないでスキャンチェインを形成し、入力側のスキャンチェインと出力側のスキャンチェインの間の被テスト回路のテストを行うものであり、少なくとも1つのフリップフロップを、テスト時に、不定値のテスト対象パスへの伝播を抑制するための値を保持する不定制御フリップフロップとして備えている。本発明に係るスキャンパス回路において、前記不定制御フリップフロップを複数備え、複数の前記不定制御フリップフロップは、制御信号に基づき、シリアルに接続され、前記スキャンチェインとは別のシリアルチェインを構成し、シリアルに接続された複数の前記不定制御フリップフロップには、入力端子からシリアルに入力される値が設定される。
本発明の1つのアスペクトに係るテスト方法は、論理回路内の複数のフリップフロップを制御信号に基づきシリアルにつないでスキャンチェインを形成しテストを行う工程を含む半導体集積回路装置のテスト方法において、
(A)前記論理回路内の少なくとも1つのフリップフロップを、テスト時に、不定値がテスト対象のパスに伝播することを抑止するための値を保持する不定制御フリップフロップとして選択する工程と、
(B)前記不定制御フリップフロップを予め定められた値に設定した状態で、前記スキャンチェインを用いたテストを行う工程と、
を含む。
(A)前記論理回路内の少なくとも1つのフリップフロップを、テスト時に、不定値がテスト対象のパスに伝播することを抑止するための値を保持する不定制御フリップフロップとして選択する工程と、
(B)前記不定制御フリップフロップを予め定められた値に設定した状態で、前記スキャンチェインを用いたテストを行う工程と、
を含む。
本発明に係るテスト方法においては、前記不定制御フリップフロップを複数備え、複数の前記不定制御フリップフロップは、制御信号に基づきシリアルに接続されて前記スキャンチェインとは別の第2のスキャンチェインを形成する工程と、複数の前記不定制御フリップフロップには、シリアル入力端子から入力される信号値が設定する工程と、を含む構成としてもよい。
本発明に係るテスト方法においては、前記シリアル入力端子には、固定値が与えられ、前記シリアル入力端子から、複数の前記不定制御フリップフロップのそれぞれに到るまでのシフトパス上に、不定制御フリップフロップが出力する論理値に応じて、論理反転回数が奇数回、又は偶数回となるように反転素子が挿入され、テスト時に、複数の前記不定制御フリップフロップの出力値が固定される。
本発明に係るテスト方法においては、前記不定制御フリップフロップは、入力側のスキャンチェインと出力側のスキャンチェインの間の被テストパスに対して、不定値を与えるパスを固定値に設定するか(該パスから不定値が出力されなくなる固定値に該パスを設定する)、不定値の伝播を、被テストパスの始点と終点の間の中間位置で停止させ、不定値が、前記出力側のスキャンチェインを構成する前記フリップフロップに及ばないように制御する。
本発明の他のアスペクトに係るテスト方法においては、半導体集積回路内のフリップフロップを制御信号に基づきシリアルにつないでスキャンチェインを形成しスキャンパス・テストを行うテスト方法において、
(A)論理回路内のフリップフロップの中から、テスト時に、不定値のテスト対象のパスへの伝播を停止する値が設定されるフリップフロップ(「不定制御フリップフロップ」という)を選択する工程と、
(B)前記不定制御フリップフロップを制御信号に基づきシリアルにつないで他のフリップフロップとは別のスキャンチェインとして形成する工程と、
(C)前記不定制御用のフリップフロップに、不定値のテスト対象のパスへの伝播を停止する値を設定することにより、テスト対象のパスのテストを行う工程と、を含む。
(A)論理回路内のフリップフロップの中から、テスト時に、不定値のテスト対象のパスへの伝播を停止する値が設定されるフリップフロップ(「不定制御フリップフロップ」という)を選択する工程と、
(B)前記不定制御フリップフロップを制御信号に基づきシリアルにつないで他のフリップフロップとは別のスキャンチェインとして形成する工程と、
(C)前記不定制御用のフリップフロップに、不定値のテスト対象のパスへの伝播を停止する値を設定することにより、テスト対象のパスのテストを行う工程と、を含む。
本発明に係るテスト方法において、前記不定制御フリップフロップを選択する工程(A)が、テスト対象とならない所定のパス(「観測禁止パス」という)の始点に位置するフリップフロップが、テスト対象のパス(「観測パス」という)の始点に位置していないときに、前記観測禁止パスの始点に位置するフリップフロップを、前記不定制御フリップフロップとして選択する工程を含む。
本発明に係るテスト方法において、前記不定制御フリップフロップを選択する工程(A)が、前記観測パスの始点に位置するフリップフロップと、前記観測禁止パスの始点に位置するフリップフロップが同一である場合に、不定値の伝播を、前記観測パスの始点と終点の間の中間位置で停止する値を設定するフリップフロップを、前記論理回路中から検索する工程と、前記検索されたフリップフロップを、前記不定制御フリップフロップとして選択する工程と、を含む。
本発明に係るテスト方法において、前記不定制御フリップフロップを選択する工程(A)が、前記観測パスの始点に位置するフリップフロップと、前記観測禁止パスの始点に位置するフリップフロップが同一である場合に、不定値の伝播を、前記観測パスの始点と終点の間の中間位置で停止する値を設定するフリップフロップを、前記論理回路中から検索する工程と、前記検索されたフリップフロップを、前記不定制御フリップフロップとして選択する工程と、を含む。
本発明に係るテスト方法において、前記不定制御フリップフロップに固定値を設定するにあたり、入力端子には固定値を入力する工程と、前記入力端子の値と同じ固定値に設定される不定制御フリップフロップには、入力端子から、前記不定制御フリップフロップまでのシリアルチェイン上の論理反転回数を0又は偶数回とし、前記入力端子の値と異なる固定値に設定される不定制御フリップフロップには、前記入力端子から前記不定制御フリップフロップまでのシリアルチェイン上の論理反転回数を奇数回としてシリアルチェインを形成する工程と、スキャンモードに設定し、前記入力端子からの固定値をシフトすることにより、前記不定制御フリップフロップに固定値を設定する工程を含む構成としてもよい。
本発明によれば、論理回路中のフリップフロップの中から、不定値のテスト対象パスへの伝播を抑止する制御を行うフリップフロップ(不定制御フリップフロップ)を選択し、該不定制御フリップフロップを、通常のスキャンフリップフロップとは別のチェーンとして構成し、この別のチェーンとして構成された不定制御フリップフロップに対して、不定状態を発生する部分からの不定値が、スキャンフリップフロップに伝播しないような値を設定する構成としたことにより、回路規模の増大を抑えながら、不定値のテスト結果への影響を回避し、正確なテストを実現することができる。
上記した本発明についてさらに詳細に説述すべく、添付図面を参照して、本発明の実施の形態について以下に説明する。
図1は、本発明の一実施の形態の構成を説明するための図である。図1において、フリップフロップ104、105、107は、スキャンモード制御信号(SMC)がスキャンモードを示すときに、シリアルに接続され、該シリアルに接続された経路は、入力側のスキャンチェインを構成している。なお、フリップフロップ104、105、107は、スキャンモード時以外は、データ入力端子(D)からのデータ信号をクロック入力端子(C)からのクロック信号に応答してサンプルしデータ出力端子(Q)から出力するというパラレル動作を行う。
フリップフロップ122、123、124は、スキャンモード制御信号(SMC)がスキャンモードを示すときに、シリアルに接続され、該シリアルに接続された経路は、出力側のスキャンチェインを構成している。なお、フリップフロップ122、123、124は、スキャンモード時以外は、データ入力端子(D)からのデータ信号をクロック入力端子(C)からのクロック信号に応答してサンプルしデータ出力端子(Q)から出力するというパラレル動作を行う。
さらに、フリップフロップ103、106、108は、スキャンモード制御信号(SMC)がスキャンモードを示すときに、シリアルに接続され、不定状態を発生する部分からの値が、フリップフロップ124、123、122のデータ入力端子(D)への伝播を抑止するための制御を行う。フリップフロップ103、106、108を、本明細書では、「不定制御フリップフロップ」という。
入力側のスキャンチェインと出力側スキャンチェインの間には、RAM(ランダムアクセスメモリ)120、OR回路121、組み合わせ回路114、115、116、117、118、セレクタ(マルチプレクサ)119、パス110、111、112、113、等が配設されており、これらの回路及びそのパスの少なくとも一つが、スキャンパステストによりテストされる被テスト回路をなしている。なお、図1において、RAM120は、図9に示したように、テスト中に出力の値が定まらない回路として例示したものである。
図1の各回路の接続について簡単に説明しておくと、フリップフロップ(F2)104のシリアル入力端子(SI)は、半導体集積回路の外部端子をなすスキャン入力端子(SIN_N1)102に接続されており、そのデータ出力端子(Q)は、組み合わせ回路114、115に接続されるとともに、フリップフロップ(F3)105のシリアル入力端子(SI)に接続されている。フリップフロップ(F3)105のデータ出力端子(Q)は、組み合わせ回路115に接続されるとともに、フリップフロップ(F5)107のシリアル入力端子(SI)に接続されている。フリップフロップ(F5)107のデータ出力端子(Q)は、組み合わせ回路117に接続されるとともに、スキャン出力端子126に接続されている。フリップフロップ(F7)124のシリアル入力端子(SI)は、スキャン入力端子(SIN_N2)127に接続されており、データ入力端子(D)は、OR回路121の出力に接続されており、データ出力端子(Q)は、フリップフロップ(F8)123のシリアル入力端子(SI)に接続されている。フリップフロップ(F8)のデータ入力端子(D)は、組み合わせ回路118の出力に接続され、データ出力端子(Q)はフリップフロップ(F9)122のシリアル入力端子(SI)に接続されている。フリップフロップ(F9)122のデータ入力端子(D)はセレクタ119の出力に接続されており、そのデータ出力端子(Q)は、半導体集積回路の外部端子をなすスキャン出力端子(SOUT_N2)125に接続されている。
フリップフロップ(F1)103のシリアル入力端子(SI)は、半導体集積回路の外部端子をなすスキャン入力端子(SIN_C)101に接続されており、そのデータ出力端子(Q)は、セレクタ119の選択制御端子SELに接続されるとともに、フリップフロップ(F4)106のシリアル入力端子(SI)に接続されている。フリップフロップ(F4)106のデータ出力端子(Q)は、組み合わせ回路116に接続されるとともに、フリップフロップ(F6)108のシリアル入力端子(SI)に接続されている。フリップフロップ(F6)108のデータ出力端子(Q)は、半導体集積回路の外部端子をなすスキャン出力端子(SOUT_C)109に接続されるとともに、OR回路121の入力端子に接続されている。なお、フリップフロップ103−108のデータ入力端子(D)には、図示されない組み合わせ回路等の出力が入力される構成とされる場合もある。また、フリップフロップ122−124のデータ出力端子(Q)は、図示されない組み合わせ回路に接続される場合もあるが、これらの構成は、図1では、省略されている。
図1において、実線で示すパス111と113は、遅延テスト(伝播遅延時間測定試験、タイミングマージン試験等のAC試験)による、テスト対象となるパスであり、本明細書では、「観測パス」と呼ぶ。パス111と113は、クリティカルパス(ある規定時間以内に信号が伝達されなければ誤動作を生じるような重要なパスを「クリティカルパス」という)であってもよい。
図1において、破線で示すパス110と112は、テスト対象とされないパスを示している。
テスト対象とされないパス110と112は、
・実動作では、使用されないパス、あるいは、
・遅延的に遅く変化しても問題のないパス
であり、これらのパスは、遅延テストの対象とならないため、本明細書では、「観測禁止パス」と呼ぶ。パス110とパス112は、回路の接続はなされているが、論理的に信号が伝播しないような経路である「フォールスパス」の場合もある。
・実動作では、使用されないパス、あるいは、
・遅延的に遅く変化しても問題のないパス
であり、これらのパスは、遅延テストの対象とならないため、本明細書では、「観測禁止パス」と呼ぶ。パス110とパス112は、回路の接続はなされているが、論理的に信号が伝播しないような経路である「フォールスパス」の場合もある。
図1に示すように、本実施形態では、不定制御フリップフロップ103、106、108を、その他のフリップフロップ104、105、107とは別のチェインとしてシリアルに接続する構成している。テスト時において、フリップフロップ103は値0を保持するように設定し、フリップフロップ106は、値0又は1の固定値を保持するように設定し、フリップフロップ108は、値1を保持するように設定する。
本発明の一実施例においては、スキャンパステスト実行前に、不定制御フリップフロップ103、106、108にそれぞれの値が設定され、スキャンパステスト時には、不定制御フリップフロップ103、106、108にはクロックは与えられず、フリップフロップ103、106、108は設定された値を保持する。すなわち、図1において、スキャンパステスト時には、フリップフロップ104、105、107、122−124にのみクロックが供給される。
かかる設定により、テスト中は、セレクタ119が、観測パス111を常に選択することで、フリップフロップ122への不定状態の伝播を抑止している。すなわち、テスト対象とされないパス110の値が、フリップフロップ122の入力に影響を与えることを回避している。
また、組み合わせ回路116には、不定制御フリップフロップ106に固定値を設定することで、組み合わせ回路118からのフリップフロップ123への不定状態の伝播を抑止している。すなわち、不定制御フリップフロップ106に固定値を設定することで、パス112(テスト対象とされない)からの不定値の組み合わせ回路118への伝播を抑止し、組み合わせ回路118の出力からフリップフロップ123に、パス112の影響により不定値が出力されることを回避している。なお、図1では、簡単のため、組み合わせ回路116に対して不定状態の伝播を抑止する不定制御フリップフロップ106を一つ示しているが、組み合わせ回路116に対して不定状態の伝播するパスが複数ある場合には、シリアルに接続される複数の不定制御フリップフロップにより、組み合わせ回路116に対して不定状態の伝播を抑止する構成としてもよいことは勿論である。
さらに、OR回路121には、不定制御フリップフロップ108から値1が入力されるため、その出力は値1とされる。このため、RAM120の出力はマスクされ、RAM120の出力(テスト時に不定状態となる場合がある)のフリップフロップ124への伝播を抑止している。
テスト中、不定制御フリップフロップ103、106、108で構成されるチェインは、それぞれ固定値を維持し、フリップフロップ104、105、107、122、123、124で形成されるスキャンチェインを用いて、テスト回路(観測パス111上の回路115、観測パス113上の回路117、118)をテストすることが可能となる。
なお、図1には、入力側のスキャンチェインの最後尾のフリップフロップ107のデータ出力端子(Q)がスキャン出力端子(SOUT_N1)126に接続され、出力側のスキャンチェインの初段のフリップフロップ124のシリアル入力端子(SI)がスキャン入力端子(SIN_N2)127に接続されている構成が示されているが、入力側のスキャンチェインの最後尾のフリップフロップ107のデータ出力端子(Q)を、フリップフロップ124のシリアル入力端子(SI)に接続して1本のスキャンチェインを構成するようにしてもよいことは勿論である。
図2は、比較例として、本発明を適用する前の段階の回路構成の一例を示す図である。なお、図2において、各要素は、図1に対応させて示されている。スキャンモード時に、スキャン入力端子(SIN1)201からのテストパタンをシリアルに伝達するシフトレジスタを構成するフリップフロップ103〜108と、被テスト回路の出力をパラレルにサンプルし、スキャンモード時に、サンプル結果を、シリアルに出力するフリップフロップ124、123、122を備えている。RAM120、OR回路121、セレクタ119、組み合わせ回路114、115、116−118は、図1に示した構成と同様のものである。
図2に示す構成の場合、スキャン入力端子(SIN1)201から、例えばM系列等の擬似ランダムパタン等のパタンを入力した場合に、RAM120、組み合わせ回路114、116(観測禁止パス110、112)の影響を受け、テスト時に、出力側のスキャンチェインをなすフリップフロップ122−124では、対応する被テスト回路からの不定値をサンプルする場合があり、これにより、適切なテストが行えなくなる。特に、図3に示すように、複数のスキャンチェイン301−304の出力をまとめて、圧縮保存するような回路を介して、テスト結果(パス/フェイル)を判定する場合には、その一部に不定を受け取るフリップフロップが存在すると、全体のテスト結果が無効となる。
図3は、複数のスキャンチェイン301−304のシリアル出力SOUT1、SOUT2、SOUT3、SOUT4を入力して圧縮する回路(LFSR)の例を示す図である。なお、図3に示す構成は、BIST機能を具備した半導体集積回路内に備えてもよい。圧縮器305は、対応するスキャンチェインの出力と前段のD型フリップフロップの出力を入力とする排他的論理和回路(加算器)と、排他的論理和回路の出力を入力とするD型フリップフロップとが4段縦続接続された構成とされ、3段目と4段目のD型フリップフロップ308、309の出力を入力とする排他的論理和回路315の出力が初段の排他的論理和回路(XOR)311に帰還入力されている。テスト終了時のフリップフロップ306−309に格納された値(シンドローム)をシミュレーション結果と比較して良否判定が行われる。
図2に示した比較例の場合、スキャンチェインの出力が不定になるサイクルがあると、圧縮器305のフリップフロップ306−309の値は不定となり、テスト結果が無効となる。
これに対して、図1に示した本発明の実施の形態においては、不定制御フリップフロップ103、106、108を、その他のスキャンパスとは、別のチェインで構成しており、このスキャンパスへの入力値を所定の固定値に設定することで、その他のスキャンパスに擬似ランダムパタン等を入力してテストを行なった場合であっても、不定値がフリップフロップ122−124に伝播することが抑止される。このため、本実施の形態によれば、図3に示すような圧縮器305を用いた場合に、前記比較例のように、テスト結果が無効になることはない。
また、本実施の形態において、特筆すべき点は、図2に示した比較例(不定値の伝播に対する対策無し)と較べて、素子の追加が不要とされている、ということである。すなわち、本実施の形態によれば、面積オーバーヘッドの問題は生じない。
次に、図1を参照して本実施の形態における不定制御フリップフロップを選択するための処理手順の一実施例について説明する。図4は、本発明の一実施の形態において、不定制御フリップフロップを決定するための手順の一実施例を示す流れ図である。本実施例において、図4に示した処理は、半導体集積回路装置の設計自動化装置(コンピュータ)において実行される。なお、例えば図2に示したような回路構成情報(本発明が適用される前の回路構成情報)がすでに設計自動化装置の記憶装置に格納されているものとする。
記憶装置に格納されている回路構成情報(例えば回路接続情報と素子情報を含む)に基づき、テスト対象となる回路部とテスト対象から外す回路部とに分ける。前述したように、例えば遅延テストにおいて、テスト対象のパスは、観測パスよりなる。また、前述したように、テスト対象から外されるパスは観測禁止パスよりなり、具体的には、
・不定値が伝播するパス、あるいは、
・遅延テストを行なう場合に、実動作で使用されないパス、あるいは遅延的に遅く変化しても問題のないパス等からなる。
・不定値が伝播するパス、あるいは、
・遅延テストを行なう場合に、実動作で使用されないパス、あるいは遅延的に遅く変化しても問題のないパス等からなる。
ステップ401において、観測パスを示すフラグである観測パスフラグ(CPF)を0に初期化する。具体的には、設計自動化装置を構成する計算機上で、記憶装置から読み出した回路構成情報のうち、観測パスに該当するパスの観測パスフラグ(CPF)を0に設定する。CPFが値0のパスは、当該パスを、観測しない(テストしない)ことに対応する。観測パスフラグは、パスの属性情報として記憶管理される。
次のステップ402では、観測パス(「CP」ともいう)上の素子の観測パスフラグ(CPF)を1に設定する。具体的には、記憶装置から読み出した回路構成情報のうち、観測パス上の素子の属性情報として設けられた観測パスフラグ(CPF)を値1に設定する。すなわち、CPF=1は「観測する」に設定する。
次のステップ403では、観測禁止パスを示すフラグである観測禁止パスフラグ(FPF)を0に初期化する。記憶装置から読み出した回路構成情報上の全素子の観測禁止パスフラグ(FPF)を0に設定する。FPF=0は、「観測禁止としない」ことに対応する。
ステップ404乃至ステップ411の処理は、基本的に、回路構成情報上の全ての観測禁止パス分だけ、繰り返される処理である。
まず、ステップ404では、回路構成情報上の全ての観測禁止パスに対して、処理が終了したか否か判定する。回路構成情報上の全ての観測禁止パスに対して処理が終了した場合には、処理を終了する。
ステップ405では、観測禁止パス(「FP」ともいう)上の素子に対して、観測禁止パスフラグ(FPF)を1に設定する。FPF=1は、「観測禁止とする」ことに対応する。
次のステップ406では、観測禁止パス(FP)の始点に位置するフリップフロップが、観測パス(CP)の始点になっていないか(該フリップフロップの観測パスフラグCPFが0であるか)否か判定する。
ステップ406において、観測禁止パスの始点のフリップフロップが観測パスの始点でない場合(CPF=0)には(ステップ406のYES分岐)、この観測禁止パス(FP)の始点に位置するフリップフロップの状態を、固定値に設定することで、該観測禁止パス(FP)の論理動作を固定することが可能である。このため、ステップ410に進み、該観測禁止パス(FP)の始点のフリップフロップを、不定制御フリップフロップとして登録する。
一方、ステップ406において、観測禁止パス(FP)の始点のフリップフロップの観測パスフラグCPFが値1である場合には、ステップ407に進む。
ステップ407では、ステップ406で判定が行われた当該観測禁止パス(FP)をカットすることが可能なフリップフロップを検索する。すなわち、観測パスフラグ(CPF)が1の素子が接続される観測パスを切断せず、当該観測禁止パス(FP)の該フリップフロップに到達するまでのパスを、途中で切断する設定が可能なフリップフロップが存在するか否かを検証するため、回路構成情報を検索する。
ステップ408において、観測パスを切断せず、観測禁止パス(FP)を途中で切断する設定が可能なフリップフロップが存在する場合には、ステップ411に進み、このフリップフロップを、不定制御フリップフロップとして登録する。
一方、ステップ408において、観測パスを切断せず、観測禁止パス(FP)を途中で切断する設定が可能なフリップフロップが存在しない場合には、ステップ409に進み、観測禁止パスをカットするための回路変更等を行う。
なお、上記したステップ407の処理の一例としては、観測禁止パスフラグ(FPF=1)のみが存在する素子、あるいは観測禁止パスフラグ(FPF=1)のパスと、観測パスフラグ(CPF=1)の交わる素子の始点となるフリップフロップであって、観測パスフラグが設定されていないものを検索し、該フリップフロップの出力値に固定値を設定することで、観測禁止パスにおける不定値の伝播が止まるか否かを検証するようにしてもよい。
また、ステップ408での判定結果が「NO」の場合(したがって、ステップ406の判定結果もNO)、ステップ409では、論理的に、観測禁止パスを切断可能なように素子を追加する処理が行われる。例えば図8に示したように、制御回路が追加される。ただし、この場合、前述したように、回路オーバーヘッドが増大するため、観測パスを一部除外して、ステップ401から、処理全体をやり直すようにしてもよい。観測パスを減らし、逆に、観測禁止パスを増やすことで、観測パスへの不定値の伝播を抑制する制御を行う不定制御フリップフロップの候補の数が増え、また、観測禁止パス(FP)を途中で切断する設定が可能なフリップフロップの候補も増える可能性があるためである。
次に、図1を参照して、図4に示した処理手順の適用例について具体的に説明する。
遅延テストを行う場合、観測パス(CP)を111と113とし、観測禁止パス(FP)を110と112とする。
まず、ステップ401では、観測パスフラグ(CPF)を、図1の回路中の全素子(回路構成情報中の全素子)に対して、初期化し、CPF=0とする(すなわち「観測しない」に設定する)。
次のステップ402では、パス113上の素子とパス111上の素子の観測パスフラグ(CPF)を1に設定する(すなわち「観測する」に設定する)。
つづいて、ステップ403において、図1の回路全体の観測禁止パスフラグ(FPF)を0に初期化する。
図1に示す回路において、観測禁止パス(FP)は、112と110の2つであるが、処理を開始した時点では、観測禁止パスの処理は終了していないことから、ステップ404の判定結果は「NO」となり、ステップ405に進む。
ステップ405では、まず、観測禁止パス112に対する処理を行う。すなわち、ステップ405では、観測禁止パス112上の素子の観測禁止パスフラグ(FPF)を1にする。
つづいて、ステップ406の判定を行う。観測禁止パス112の始点のフリップフロップは、106である。このフリップフロップ106は、観測パスフラグ(CPF)の値0である。このため、ステップ406の判定結果は、「YES」となり、ステップ410に進む。ステップ410では、フリップフロップ106を不定制御フリップフロップとして登録する。
次に、再度、ステップ403に戻り、図1の回路内の全素子の観測禁止パスフラグ(FPF)を0に初期化する。
ステップ404の判定が行われる。まだ、観測禁止パス110に対する処理が終了していないため、ステップ405に進む。
ステップ405では、観測禁止パス110上の素子に対し、観測禁止パスフラグ(FPF)が1に設定される。
つづいて、ステップ406で判定が行なわれる。この場合、観測禁止パス110の始点のフリップフロップは104である。このフリップフロップ104は、観測パスフラグ(CPF)の値が1となっているため、ステップ406の判定結果は「NO」となり、ステップ407に進む。
ステップ407では、観測禁止パス110をカット可能なフリップフロップが存在するか否か回路内を検索する。図1に示す回路では、フリップフロップ103は、観測パスフラグ(CPF)が0であるフリップフロップ(観測対象でない)である。そして、このフリップフロップ103は、出力値を0に設定することで、観測禁止パス110をカットすることが可能なフリップフロップとして求まる。
つづいて、ステップ408の判定に進む。フリップフロップ103が、条件を満たすフリップフロップ(観測禁止パス(FP)110をカットすることができるフリップフロップ)として存在するため、ステップ411に進む。ステップ411では、フリップフロップ103を不定制御フリップフロップとして登録する。
つづいて、ステップ403に戻り、ステップ404に進むが、この時点では、全観測禁止パスの処理が終了しているため、処理を終了する。
以上は、遅延テストに関する処理の説明であるが、論路動作試験(ファンクショナルテスト)について、同様に処理をすることが可能である。
図1において、RAM120がテスト中に不定状態となるような回路である場合、RAM120を始点としてフリップフロップに到達する全パスを観測禁止パスとして扱う。図1では、RAM120からの出力としては、OR回路121を介してフリップフロップ124に至るパスのみが存在するため、RAM120からOR回路121を介してフリップフロップ124に至るパスを観測禁止パスとする。
この場合は、RAM120が始点となるが、フリップフロップではないため、図4のステップ406の判定は「NO」となる。
図4のステップ407の処理(観測禁止パスをカット可能なフリップフロップの検索)では、
・フリップフロップ108が観測パスフラグを持たず(観測パスフラグCPFは0)、且つ、
・フリップフロップ108の出力値を1に固定することで、RAM120から、OR回路121を介してフリップフロップ124に至るパスをカットすることが可能である、
ため、フリップフロップ108が、不定制御フリップフロップとして登録される。
・フリップフロップ108が観測パスフラグを持たず(観測パスフラグCPFは0)、且つ、
・フリップフロップ108の出力値を1に固定することで、RAM120から、OR回路121を介してフリップフロップ124に至るパスをカットすることが可能である、
ため、フリップフロップ108が、不定制御フリップフロップとして登録される。
図1に示す回路構成の場合、フリップフロップ103、106、108を不定制御フリップフロップとして、その他のフリップフロップとは、別のスキャンチェインにして制御している。そして、この、スキャンチェインは、テスト中は、常に固定値を保つ必要がある。このように、テスト中に固定値を設定する必要のあるスキャンチェインを、本明細書では、スキャンパス用のチェインと区別するため、「スキャンチェインC」と呼ぶ。
本実施例において、スキャンチェインCを、他のスキャンチェインの動作と分離して、固定値を設定するための構成として、例えば図5に示すような構成を用いることができる。
図5(A)において、603、604、605は、通常のスキャンパスを形成するフリップフロップ(NS1、NS2、NS3)であり、601は、外部クロック入力端子(CLK_N)であり、602は、スキャン入力端子(SIN_N)である。
図5(B)において、608、609、610は、不定制御フリップフロップ(CS1、CS2、CS3)であり、606は、外部クロック入力端子(CLK_N)とは別の外部クロック入力端子(CLK_C)であり、607は、スキャン入力端子(SIN_C)である。すなわち、不定制御フリップフロップ608、609、610をシリアルに接続して形成されるチェインが、スキャンチェインCである。
本実施例では、外部クロック入力端子(CLK_C)606を、他のスキャンチェイン(図5(A)参照)のフリップフロップを駆動するクロック(CLK_N)とは別にしているため、テストの前に、スキャンチェインCに固定値を設定し、その後に、クロック(CLK_C)の動作を停止することで、対応可能である。図5(A)のスキャンチェインのフリップフロップ603、604、605と、図5(B)のスキャンチェインCの不定制御フリップフロップ608、609、610には、別々のクロックが供給される。同一クロックをゲート制御することで、スキャンチェインCに供給するクロックを停止する制御を行うことも可能ではあるが、この場合、クロックのタイミング調整等が面倒、困難となる。
図6は、本発明の別の実施例の構成を示す図である。図6(A)において、703、704、705はフリップフロップ(NS1、NS2、NS3)であり、701は、スキャンモードと通常モードとを切り替える制御信号の外部入力端子(SMC_N)であり、702はスキャン(シリアル)入力端子(SIN_N)である。
図6(B)において、708、709、710は不定制御フリップフロップ(CS1、CS2、CS3))であり、706は、スキャンモードと通常モードの切り替える制御信号の外部入力端子(SMC_C)であり、707はスキャン入力端子(SIN_C)である。711、712はインバータである。713と715はANDゲートであり、714はORゲートである。
図6(B)において、ANDゲート713、ORゲート714、ANDゲート715とは、いずれも2入力とし、一方の入力端子は、不定制御フリップフロップ708、709、710のデータ出力端子(Q)に接続されている。図6(B)に示す例では、ANDゲート713、ORゲート714、ANDゲート715の他方の入力端子には、不定値が伝播するものとする。
図6に示すように、本実施例は、図5のように、スキャンチェインCと他のスキャンチェインのクロックを別にできない場合に有効である。すなわち、図6に示す構成では、図6(B)のスキャンチェインCと、図6(A)に示したその他のスキャンチェインは、共通のクロックが供給される。
この場合、フリップフロップを通常モードにすると、フリップフロップは、データ入力端子(D)から値を取り込んでしまうが、スキャンモードを保ち続け、スキャン入力端子(SIN_C)707に、固定値を入力すると、スキャンチェインC上の各フリップフロップ708、709、710には、固定値が設定される。
テスト時に、スキャン入力端子(SIN_C)707に与える固定値が0の場合は、データ出力端子(Q)から0を設定する必要がある不定制御フリップフロップには、スキャン入力端子(SIN_C)707から、該フリップフロップに至るスキャンチェイン上の経路の論理反転回数(インバータの段数)が偶数回になるように構成し、データ出力端子(Q)に1を設定する必要がある不定制御フリップフロップには、スキャン入力端子(SIN_C)707から、該フリップフロップに至るスキャンチェイン上の経路の論理反転回数(インバータの段数)が奇数回になるように構成すればよい。
図6(B)では、ANDゲート713、ORゲート714、ANDゲート715の他方の入力端子には、不定値が伝播されるが、この場合、フリップフロップ708の出力を0、フリップフロップ709の出力を1、フリップフロップ710の出力を0に保つことで、ANDゲート713、ORゲート714、ANDゲート715はそれぞれ固定値0、1、0を出力する。これにより、不定制御フリップフロップ708−710は、ANDゲート713、ORゲート714、ANDゲート715において、不定値の伝播を停止することが可能である。
本実施例において、スキャン入力端子(SIN_C)707に印加する固定値を0とすると、フリップフロップ708の出力は0に固定するため、フリップフロップ708の出力までのスキャンチェイン上で偶数回の反転になるように調整すればよい。ここでは、0回の反転で構成されている。フリップフロップ709の出力を1に固定するため、フリップフロップ709の出力までのスキャンチェイン上で奇数回の反転になるように調整するため、インバータ711を挿入し1回論理を反転させている。
フリップフロップ710の出力を0に固定するため、フリップフロップ710の出力までのスキャンチェイン上で偶数回の反転になるように調整するため、インバータ712を挿入し、2回反転させている。
図7は、図6に示した本実施例の構成を、図1に示した回路構成に適用した一例を示す図である。図7は、図1において、テスト時に、クロックがスキャンチェインCとその他のスキャンチェインで共通になっている場合の構成を示している。
図7に示す例では、スキャンモードと通常動作モードを切替制御する制御信号を入力するスキャンモード制御端子(SMC)として、スキャンチェインC用のスキャンモード制御端子(SMC_C)131と、その他のスキャンチェイン用のスキャンモード制御端子(SMC_N)132と分けて設けている。図7に示す例では、スキャンチェインCと他のスキャンチェインのクロック信号は共通としている。
不定値のテスト対象パスへの伝播抑止のため、不定制御フリップフロップ103は、データ出力端子(Q)を値0に設定することが必要とされ、不定制御フリップフロップ106は固定値であれば特に値は要求されていず、不定制御フリップフロップ108はデータ出力端子(Q)を値1に設定することが必要とされる。
以下では、スキャン入力端子(SIN_C)101に固定値0を与える場合について説明する。この場合、フリップフロップ103の出力に至るシリアルチェーン上の論理反転回数は、偶数回に設定する必要があるため、反転回数は0とし、何も挿入されていない。
フリップフロップ108の出力に至るシリアルチェーン上の論理反転回数は、奇数回に設定する必要があるため、反転回数を1として、インバータ801が挿入されている。
図7に示した構成によれば、スキャンチェインCのクロックが停止状態でなくとも、スキャンモード制御端子(SMC_C)131を、スキャンモードに固定することにより、スキャンチェインC上のフリップフロップ103、106、108の出力値を、不定値を伝播させないように、固定することが可能である。
なお、図1の説明では、スキャン入力端子(SIN_C)101、スキャン入力端子(SIN_N1)102、スキャン出力端子(SOUT_C)109、スキャン出力端子(SOUT_N2)125、スキャン入力端子(SIN_N2)127、スキャン出力端子(SOUT_N1)126は、半導体集積回路装置の外部端子(ピン)であってもよく、あるいは、チップ内の接続パッドであってもよい。例えば、図3に示した圧縮器305をチップ内に備えている場合、出力側のスキャンチェインの出力をシリアルに出力するスキャン出力端子(SOUT_N2)125は外部端子ではなくチップ内に設けられる。この場合、スキャン入力端子(SIN_N1)102に、チップ内部で生成した擬似ランダムパタンをシリアルに供給する構成としてもよい。一方、スキャン入力端子(SIN_N1)102、スキャン出力端子(SOUT_N2)125、スキャン入力端子(SIN_C)101等を外部端子として設ける場合、図示されないLSIテスタからのパタンがスキャン入力端子(SIN_N1)102にシリアルに入力され、スキャン出力端子(SOUT_N2)125からのシリアル出力が、LSIテスタのコンパレータに供給され、期待値と比較される。また、図5のクロック端子601、606、図6のスキャンモード制御端子701、706についても同様に、半導体集積回路装置の外部端子(ピン)であってもよく、あるいは、チップ内の接続パッドであってもよい。
以上、本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
2 フリップフロップ
10 RAM
12、13、14、21、22 スキャンパス
40 組み合わせ回路
101 スキャン入力端子
102 スキャン入力端子
103−108 フリップフロップ
109 スキャン出力端子
110、112 観測禁止パス
111、113 観測パス
114、115、116、117、118 組み合わせ回路
119 セレクタ
120 RAM
121 OR回路
122−124 フリップフロップ
125、126 スキャン出力端子
127 スキャン入力端子
131、132 スキャンモード制御端子
201、203 スキャン入力端子
202、204 スキャン出力端子
301−304 スキャンチェイン
305 圧縮器
311−315 排他的論理和回路
306−309 D型フリップフロップ
501、502、503 AND回路
603−605、608−610 フリップフロップ
601、606 クロック入力端子
602、607、702、707 スキャン入力端子
701、706 スキャンモード制御端子
703−705、708−710 フリップフロップ
711、712 インバータ
713、715 ANDゲート
714 ORゲート
801 インバータ
10 RAM
12、13、14、21、22 スキャンパス
40 組み合わせ回路
101 スキャン入力端子
102 スキャン入力端子
103−108 フリップフロップ
109 スキャン出力端子
110、112 観測禁止パス
111、113 観測パス
114、115、116、117、118 組み合わせ回路
119 セレクタ
120 RAM
121 OR回路
122−124 フリップフロップ
125、126 スキャン出力端子
127 スキャン入力端子
131、132 スキャンモード制御端子
201、203 スキャン入力端子
202、204 スキャン出力端子
301−304 スキャンチェイン
305 圧縮器
311−315 排他的論理和回路
306−309 D型フリップフロップ
501、502、503 AND回路
603−605、608−610 フリップフロップ
601、606 クロック入力端子
602、607、702、707 スキャン入力端子
701、706 スキャンモード制御端子
703−705、708−710 フリップフロップ
711、712 インバータ
713、715 ANDゲート
714 ORゲート
801 インバータ
Claims (18)
- 論理回路内の複数のフリップフロップを制御信号に基づきシリアルにつないでスキャンチェインを形成しテストが行われる半導体集積回路装置において、
前記論理回路内の少なくとも1つのフリップフロップを、テスト時に、不定値のテスト対象パスへの伝播を抑止するための値を保持する不定制御フリップフロップとして備えてなる、ことを特徴とする半導体集積回路装置。 - 前記不定制御フリップフロップを複数備え、
複数の前記不定制御フリップフロップは、制御信号に基づき、シリアルに接続されて前記スキャンチェインとは別のシリアルチェインを構成し、
複数の前記不定制御フリップフロップには、入力端子からシリアル入力される値が設定される、ことを特徴とする請求項1に記載の半導体集積回路装置。 - 前記入力端子から、複数の前記不定制御フリップフロップのそれぞれに到るまでのシリアルチェイン上に、前記不定制御フリップフロップが出力する値に応じて、論理反転回数が奇数回又は偶数回となるように、反転回路が挿入されてなる、ことを特徴とする請求項2に記載の半導体集積回路装置。
- 前記スキャンチェインを構成する複数のフリップフロップと、複数の前記不定制御フリップフロップとが共通のクロック信号で駆動される、ことを特徴とする請求項3に記載の半導体集積回路装置。
- 前記不定制御フリップフロップは、前記スキャンチェインの内の入力側のスキャンチェインを構成するフリップフロップと出力側のスキャンチェインを構成するフリップフロップの間の前記テスト対象のパスに対して不定値を伝播させるパスを固定値に設定するか、又は、不定値の伝播を、前記テスト対象のパスの始点と終点の間の中間位置で停止させ、不定値が、前記出力側のスキャンチェインを構成する前記フリップフロップに及ばないように制御する、ことを特徴とする請求項1乃至4のいずれか一に記載の半導体集積回路装置。
- 複数のフリップフロップを有し、前記複数のフリップフロップを制御信号に基づきシリアルにつないでスキャンチェインを形成し、入力側のスキャンチェインと出力側のスキャンチェインの間の回路のテストを行うスキャンパス回路において、
前記スキャンチェインを構成するフリップフロップとは別の少なくとも1つのフリップフロップを、テスト時に、不定値のテスト対象パスへの伝播を抑止するための値を保持する不定制御フリップフロップとして備え、前記テスト対象パスに接続される出力側のスキャンチェインを構成するフリップフロップには、テスト時に不定値が入力されることがないように制御されてなる、ことを特徴とするスキャンパス回路。 - 前記不定制御フリップフロップを複数備え、複数の前記不定制御フリップフロップは、制御信号に基づき、シリアルに接続され、前記スキャンチェインとは別のシリアルチェインを構成し、
シリアルに接続された複数の前記不定制御フリップフロップには、入力端子からシリアルに入力される値が設定される、ことを特徴とする請求項6に記載のスキャンパス回路。 - 前記不定制御フリップフロップは、前記入力側のスキャンチェインと出力側のスキャンチェインの間のテスト対象のパスに対して不定値を伝播させるパスを固定値に設定するか、又は、不定値の伝播を、前記テスト対象のパスの始点と終点の間の中間位置で停止させ、不定値が前記出力側のスキャンチェインに及ばないように制御する、ことを特徴とする請求項6又は7に記載のスキャンパス回路。
- 前記入力端子から、複数の前記不定制御フリップフロップのそれぞれに到るまでのシリアルチェイン上に、前記不定制御フリップフロップが出力する値に応じて、論理反転回数が、奇数回又は偶数回となるように、反転回路が挿入されてなる、ことを特徴とする請求項7に記載のスキャンパス回路。
- 論理回路内の複数のフリップフロップを制御信号に基づきシリアルにつないでスキャンチェインを形成し、入力側のスキャンチェインと出力側のスキャンチェインの間の回路のテストが行われる半導体集積回路装置のテスト方法において、
前記スキャンチェインを構成するフリップフロップとは別に、前記論理回路内の少なくとも1つのフリップフロップを、テスト時に、不定値が、テスト対象のパスに伝播することを抑止するための値を保持する不定制御フリップフロップとして選択する工程と、
前記不定制御フリップフロップを前記値に設定した状態で、前記スキャンチェインを用いたテストを行う工程と、
を含む、ことを特徴とする半導体集積回路装置のテスト方法。 - 前記不定制御フリップフロップを複数有し、
複数の前記不定制御フリップフロップが制御信号に基づき、シリアルに接続されて前記スキャンチェインとは別のシリアルチェインを形成する工程と、
複数の前記不定制御フリップフロップには、入力端子からシリアルに入力される値が設定される工程と、
を含む、ことを特徴とする請求項10に記載の半導体集積回路装置のテスト方法。 - 前記不定制御フリップフロップは、前記スキャンチェインの内の入力側のスキャンチェインと出力側のスキャンチェインの間の前記被テスト回路のテスト対象のパスに対して、不定値を伝播させるパスを固定値とするか、又は、不定値の伝播を、前記テスト対象のパスの始点と終点の間の中間位置で停止させ、不定値が前記出力側のスキャンチェインに及ばないように制御する、ことを特徴とする請求項10又は11に記載の半導体集積回路装置のテスト方法。
- 前記不定制御フリップフロップに値を設定するにあたり、前記入力端子には固定値を入力し、前記入力端子の値と同じ固定値に設定される前記不定制御フリップフロップには、前記入力端子から、前記不定制御フリップフロップまでのシリアルチェイン上の論理反転回数を0又は偶数回とし、
前記入力端子の値と異なる固定値に設定される前記不定制御フリップフロップには、前記入力端子から前記不定制御フリップフロップまでのシリアルチェイン上の論理反転回数を奇数回としてシリアルチェイン形成し、
前記入力端子からの固定値をシフトすることにより、前記不定制御フリップフロップを、不定値がテスト対象のパスに伝播することを抑止するための値に設定する、ことを特徴とする請求項11に記載の半導体集積回路装置のテスト方法。 - 前記不定制御フリップフロップを選択する工程が、
テスト対象とならない所定のパス(「観測禁止パス」という)の始点に位置するフリップフロップが、テスト対象のパス(「観測パス」という)の始点に位置していないときに、前記観測禁止パスの始点に位置するフリップフロップを、前記不定制御フリップフロップとして選択する、ことを特徴とする請求項10に記載の半導体集積回路装置のテスト方法。 - 前記不定制御フリップフロップを選択する工程が、
前記観測パスの始点に位置するフリップフロップと、前記観測禁止パスの始点に位置するフリップフロップが同一である場合に、不定値の伝播を、前記観測パスの始点と終点の間の中間位置で停止する値を設定するフリップフロップを、前記論理回路中から検索する工程と、
前記検索されたフリップフロップを、前記不定制御フリップフロップとして選択する工程と、
を含む、ことを特徴とする請求項10に記載の半導体集積回路装置のテスト方法。 - 入力された信号が伝播するパスを形成する被テスト論理回路の出力を、第1のフリップフロップでラッチし、前記第1のフリップフロップでラッチされたデータを読み出してテストを行う半導体集積回路装置のテスト方法において、
前記被テスト論理回路から不定値が出力されることがないように、前記パスへの入力信号値となる所望の固定値を第2のフリップフロップにラッチさせておき、
前記第2のフリップフロップからの前記固定値の出力を前記パスへの入力信号として与え前記テストを行う、
ことを特徴とする半導体集積回路装置のテスト方法。 - テスト中に出力の論理値が定まらない回路の出力を論理ゲートを介して第1のフリップフロップに入力してラッチし、前記第1のフリップフロップによってラッチされたデータを読み出してテストを行う半導体集積回路装置のテスト方法において、
前記論理ゲートへの他の入力値を出力する第2のフリップフロップに、前記テスト中に出力の論理値が定まらない回路の出力が前記論理ゲートから出力されなくなる前記他の入力値を所望の固定値としてラッチさせて前記テストを行う、ことを特徴とする半導体集積回路装置のテスト方法。 - テスト中に出力の論理値が定まらない回路の出力を、選択回路を介して第1のフリップフロップに入力してラッチし、前記第1のフリップフロップによってラッチされたデータを読み出してテストを行う半導体集積回路装置のテスト方法において、
前記選択回路の選択信号を出力する第2のフリップフロップに、前記テスト中に出力の論理値が定まらない回路の出力が、前記選択回路で選択出力されなくなる前記選択信号を所望の固定値としてラッチさせて前記テストを行う、ことを特徴とする半導体集積回路装置のテスト方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004124661A JP2005308500A (ja) | 2004-04-20 | 2004-04-20 | 半導体集積回路装置及びテスト方法 |
US11/108,642 US20050235184A1 (en) | 2004-04-20 | 2005-04-19 | Semiconductor integrated circuit device and test method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004124661A JP2005308500A (ja) | 2004-04-20 | 2004-04-20 | 半導体集積回路装置及びテスト方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005308500A true JP2005308500A (ja) | 2005-11-04 |
Family
ID=35097699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004124661A Withdrawn JP2005308500A (ja) | 2004-04-20 | 2004-04-20 | 半導体集積回路装置及びテスト方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050235184A1 (ja) |
JP (1) | JP2005308500A (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7555689B2 (en) * | 2005-06-28 | 2009-06-30 | Dhiraj Goswami | Generating responses to patterns stimulating an electronic circuit with timing exception paths |
JP4773148B2 (ja) * | 2005-07-06 | 2011-09-14 | ルネサスエレクトロニクス株式会社 | テスト回路及びテスト方法 |
EP1939641B1 (en) * | 2006-12-22 | 2009-06-10 | STMicroelectronics S.r.l. | Improved scan chain architecture for increased diagnostic capability in digital electronic devices |
JP4922055B2 (ja) * | 2007-04-27 | 2012-04-25 | ルネサスエレクトロニクス株式会社 | スキャンテスト回路、及びスキャンテスト制御方法 |
JP2011149775A (ja) * | 2010-01-20 | 2011-08-04 | Renesas Electronics Corp | 半導体集積回路及びコアテスト回路 |
US8677199B2 (en) * | 2010-02-16 | 2014-03-18 | Apple Inc. | Pulse dynamic logic gates with mux-D scan functionality |
US8493119B2 (en) * | 2010-12-13 | 2013-07-23 | Apple Inc. | Scannable flip-flop with hold time improvements |
JP5793978B2 (ja) * | 2011-06-13 | 2015-10-14 | 富士通セミコンダクター株式会社 | 半導体装置 |
US11675005B2 (en) * | 2020-11-24 | 2023-06-13 | Renesas Electronics Corporation | Semiconductor device and scan test method of the same |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600787A (en) * | 1994-05-31 | 1997-02-04 | Motorola, Inc. | Method and data processing system for verifying circuit test vectors |
US6687865B1 (en) * | 1998-03-25 | 2004-02-03 | On-Chip Technologies, Inc. | On-chip service processor for test and debug of integrated circuits |
US6557129B1 (en) * | 1999-11-23 | 2003-04-29 | Janusz Rajski | Method and apparatus for selectively compacting test responses |
US6715105B1 (en) * | 2000-11-14 | 2004-03-30 | Agilent Technologies, Inc. | Method for reducing stored patterns for IC test by embedding built-in-self-test circuitry for chip logic into a scan test access port |
JP4228061B2 (ja) * | 2000-12-07 | 2009-02-25 | 富士通マイクロエレクトロニクス株式会社 | 集積回路の試験装置および試験方法 |
US7185253B2 (en) * | 2002-03-27 | 2007-02-27 | Intel Corporation | Compacting circuit responses |
US7058869B2 (en) * | 2003-01-28 | 2006-06-06 | Syntest Technologies, Inc. | Method and apparatus for debug, diagnosis, and yield improvement of scan-based integrated circuits |
US7032148B2 (en) * | 2003-07-07 | 2006-04-18 | Syntest Technologies, Inc. | Mask network design for scan-based integrated circuits |
-
2004
- 2004-04-20 JP JP2004124661A patent/JP2005308500A/ja not_active Withdrawn
-
2005
- 2005-04-19 US US11/108,642 patent/US20050235184A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20050235184A1 (en) | 2005-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1943533B1 (en) | Ic testing methods and apparatus | |
JPH06130134A (ja) | 論理回路及びこの論理回路を備えたテスト容易化回路 | |
US20050235184A1 (en) | Semiconductor integrated circuit device and test method thereof | |
US11293980B2 (en) | Customer-transparent logic redundancy for improved yield | |
JP7204697B2 (ja) | 半導体集積回路 | |
US20090240996A1 (en) | Semiconductor integrated circuit device | |
US8375265B1 (en) | Delay fault testing using distributed clock dividers | |
US5365528A (en) | Method for testing delay faults in non-scan sequential circuits | |
US10996273B2 (en) | Test generation using testability-based guidance | |
US10520550B2 (en) | Reconfigurable scan network defect diagnosis | |
KR100582807B1 (ko) | 아날로그 회로 및 디지털 회로를 구비하는 검사 가능한 집적 회로 | |
US7240263B2 (en) | Apparatus for performing stuck fault testings within an integrated circuit | |
US20060041806A1 (en) | Testing method for semiconductor device and testing circuit for semiconductor device | |
US11301607B2 (en) | Testing of asynchronous reset logic | |
US10078114B2 (en) | Test point circuit, scan flip-flop for sequential test, semiconductor device and design device | |
JP2006292646A (ja) | Lsiのテスト方法 | |
US8055961B2 (en) | Semiconductor device testing | |
EP3756021A1 (en) | Flexible isometric decompressor architecture for test compression | |
JP2008096440A (ja) | 遅延テストパターンの量を削減する部分的拡張スキャン方法 | |
JP6534592B2 (ja) | スキャンテスト回路及びスキャンテスト装置 | |
JP5383588B2 (ja) | スキャンテスト回路、半導体集積回路 | |
JP5793978B2 (ja) | 半導体装置 | |
JP3469294B2 (ja) | 線型帰還シフトレジスタおよび半導体集積回路装置 | |
JP2013088400A (ja) | 半導体集積回路の検査方法および半導体集積回路 | |
JP2006004509A (ja) | 半導体集積回路およびハードマクロ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070703 |