JP6413777B2 - Electronic circuit device and test device - Google Patents
Electronic circuit device and test device Download PDFInfo
- Publication number
- JP6413777B2 JP6413777B2 JP2015004801A JP2015004801A JP6413777B2 JP 6413777 B2 JP6413777 B2 JP 6413777B2 JP 2015004801 A JP2015004801 A JP 2015004801A JP 2015004801 A JP2015004801 A JP 2015004801A JP 6413777 B2 JP6413777 B2 JP 6413777B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- boundary scan
- output
- flip
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
本件は、電子回路装置及び試験装置に関する。 The present case relates to an electronic circuit device and a test device.
IEEE(The Institute of Electrical and Electronics Engineers, Inc.)1149.1に規定されたバウンダリスキャンテスト(boundary scan test)は、例えば、回路基板に実装されたLSI(Large Scale Integration)同士の端子間接続の確認を可能とする(例えば特許文献1、2参照)。バウンダリスキャンテストによれば、例えばBGA(Ball Grid Array)タイプのように、端子状態を直接目視できないLSIであっても、端子のはんだ不良や配線のショート及びオープンを検出できる。
The boundary scan test defined by IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 1149.1 is, for example, a connection between terminals (Large Scale Integration) mounted on a circuit board. Confirmation is possible (see, for example,
しかし、LSIのバウンダリスキャンテスト機能自体が故障状態または不安定状態である場合、正常な確認は不可能である。例えば、JTAG(Joint Test Action Group)チェーン上に、バウンダリスキャンレジスタに異常があるLSIが存在する場合、接続不良と判定される箇所が、バウンダリスキャンテストを行うたびに変わるため、不良のLSIを特定することができない。この場合、LSIを回路基板ごと廃棄せざるを得ず、異常なLSIだけを廃棄する場合より損失が大きい。さらに、測定機器を用いた解析により異常なLSIを特定できても、多くの時間を費やしてしまうという問題がある。 However, when the boundary scan test function of the LSI itself is in a failure state or an unstable state, normal confirmation is impossible. For example, if there is an LSI with an error in the boundary scan register on the JTAG (Joint Test Action Group) chain, the location that is determined to be defective changes each time a boundary scan test is performed, so the defective LSI is identified. Can not do it. In this case, the LSI must be discarded along with the circuit board, and the loss is greater than when only the abnormal LSI is discarded. Furthermore, even if an abnormal LSI can be identified by analysis using a measuring instrument, there is a problem that much time is consumed.
そこで本件は上記の課題に鑑みてなされたものであり、異常なバウンダリスキャンレジスタを検出する電子回路装置及び試験装置を提供することを目的とする。 Therefore, the present invention has been made in view of the above-described problems, and an object thereof is to provide an electronic circuit device and a test device that detect an abnormal boundary scan register.
本明細書に記載の電子回路装置は、バウンダリスキャンテストの実行により入力された値を順次に保持して出力する複数段のレジスタ回路と、前記複数段のレジスタ回路の各々の入力値と出力値を比較する比較回路と、前記複数段のレジスタ回路のうち、前記比較回路による比較の結果、前記入力値と前記出力値が不一致であるレジスタ回路の前記出力値を固定して、該固定値が出力された後、前記固定値を他の値に切り替える制御回路とを有する。 An electronic circuit device described in the present specification includes a plurality of register circuits that sequentially hold and output values input by executing a boundary scan test, and input values and output values of the register circuits of the plurality of stages. The output value of the register circuit in which the input value and the output value do not coincide with each other as a result of the comparison by the comparison circuit among the plurality of register circuits, and the fixed value is And a control circuit that switches the fixed value to another value after being output.
本明細書に記載の試験装置は、入力された値を順次に保持して出力する複数段のレジスタ回路が設けられた電子回路装置のバウンダリスキャンテストを行う試験装置において、前記複数段のレジスタ回路に、所定のパタンに従って値を順次に出力する出力部と、前記電子回路装置に対し、前記複数段のレジスタ回路のうち、入力された値と出力した値が不一致であるレジスタ回路の出力値を固定し、該固定値が出力された後、前記固定値が他の値に切り替えるように指示する指示部と、前記複数段のレジスタ回路から順次に出力された値が切り替わる境界を検出することにより、前記複数段のレジスタ回路のうち、入力された値と出力した値が不一致であるレジスタ回路を特定する特定部とを有する。 The test apparatus described in the present specification is a test apparatus that performs a boundary scan test of an electronic circuit device provided with a plurality of register circuits that sequentially hold and output input values. An output unit that sequentially outputs a value according to a predetermined pattern; and an output value of a register circuit in which the input value and the output value do not match among the plurality of register circuits for the electronic circuit device. By fixing the fixed value and outputting the fixed value, the instruction unit for instructing to switch the fixed value to another value, and detecting the boundary at which the values sequentially output from the plurality of register circuits are switched And a specifying unit for specifying a register circuit in which an input value and an output value do not match among the plurality of register circuits.
異常なバウンダリスキャンレジスタを検出できる。 An abnormal boundary scan register can be detected.
図1は、バウンダリスキャンテストの試験システムの一例を示す構成図である。試験システムは、パーソナルコンピュータなどの端末装置90と、バウンダリスキャンテスト用の試験装置91と、試験対象の回路基板92とを有する。
FIG. 1 is a configuration diagram illustrating an example of a test system for a boundary scan test. The test system includes a
端末装置90は、回路基板92に実装されたデバイス及び配線に関する情報に基づいて生成された各種の試験パタンデータを、例えばネットワークを介してサーバなどから取得する。端末装置90は、試験パタンデータを試験装置91に送信し、また、試験結果のデータを試験装置91から受信して、結果をディスプレイなどの表示装置に表示する。
The
試験装置91は、端末装置90から入力された試験パタンデータに基づいて、データ信号TDI(Test Data In)及びクロック信号TCK(Test Clock)を生成し、回路基板92に出力する。また、試験装置91は、試験パタンデータに基づいて、TAP(Test Access Port)コントローラの状態制御信号TMS(Test Mode Select)及びリセット信号TRST(Test Reset)を生成し、回路基板92に出力する。試験装置91は、回路基板92から出力されたデータ信号TDO(Test Data Out)を受信して、データ信号TDOに基づいて試験結果のデータを生成し、端末装置90に出力する。
The
回路基板92は、試験装置91から入力された各信号TDI,TCK,TMS,TRSTに従って、試験モードに移行し、バウンダリスキャンレジスタのデータシフトなどを実行する。回路基板92は、試験結果としてデータ信号TDOを試験装置91に出力する。回路基板92には、状態制御信号TMSに従って状態が遷移するTAPコントローラを備えた複数のデバイスが実装されている。
The
図2は、試験対象のデバイスの一例を示す構成図である。図2には、一例として、互いに接続された2つのデバイス1a,1bが示されているが、接続されたデバイス数及び接続形態に限定はない。
FIG. 2 is a configuration diagram illustrating an example of a device to be tested. FIG. 2 shows two
デバイス1a,1bは、バウンダリスキャンテストに対応するLSIなどの電子回路装置の一例である。デバイス1a,1bは、複数の外部端子Tと、複数の外部端子Tにそれぞれ接続された複数段のバウンダリスキャンセルBCと、各バウンダリスキャンセルBCに接続された内部ロジック回路10と、TAPコントローラ11とを有する。
The
また、デバイス1a,1bには、外部端子Tとは別に、バウンダリスキャンテストの各信号TDI,TCK,TMS,TRST,TDOに対応する端子が設けられている。なお、以降の説明では、データ信号TDI,TDOの端子を、TDI,TDOとそれぞれ表記する。
In addition to the external terminal T, the
内部ロジック回路10は、デバイス1a,1bの機能を実現する論理回路である。内部ロジック回路10には、複数の外部端子Tを介して信号が入出力される。デバイス1a,1bの外部端子Tの一部は、回路基板92上の配線Wを介して互いに接続されている。
The
TAPコントローラ11には、状態制御信号TMS、リセット信号TRST、及びクロック信号TCKが入力される。TAPコントローラ11は、複数のバウンダリスキャンセルBCと接続され、状態制御信号TMSに従って状態遷移することでバウンダリスキャンテストのシーケンスを実行する。なお、TAPコントローラ11は、リセット信号TRSTの入力により初期状態に遷移する。
The
複数段のバウンダリスキャンセルBCは、バウンダリスキャンテストの実行により入力された値を順次に保持して出力する複数段のレジスタ回路の一例である。複数段のバウンダリスキャンセルBCは、入力端子TDIと出力端子TDOの間に直列に接続され、クロック信号TCKのエッジをトリガとして入力値をラッチすることにより、バウンダリスキャンレジスタとして保持する。 The multi-stage boundary scan cell BC is an example of a multi-stage register circuit that sequentially holds and outputs values input by executing the boundary scan test. The boundary scan cells BC in a plurality of stages are connected in series between the input terminal TDI and the output terminal TDO, and hold the input value as a boundary scan register by latching the input value using the edge of the clock signal TCK as a trigger.
デバイス1a,1bは、JTAGチェーン上で互いに接続されている。つまり、一方のデバイス1aの出力端子TDOは、他方のデバイス1bの入力端子TDIに接続されている。このため、各デバイス1a,1bの複数段のバウンダリスキャンセルBCは、両方のデバイス1a,1bにわたるシフトレジスタとして機能する。
The
より具体的には、バウンダリスキャンセルBCは、クロック信号TCKに同期して、入力端子TDIまたは前段のバウンダリスキャンセルBCから入力されたシリアルデータをバウンダリスキャンレジスタとして保持し、後段のバウンダリスキャンセルBCに出力し、あるいは後段のバウンダリスキャンセルBC及び出力端子TDOに出力する。つまり、複数のバウンダリスキャンセルBCは、前段から後段に向けて、順次にバウンダリスキャンレジスタの値をシフトさせる。デバイス1bの出力端子TDOから出力されたシリアルデータは、試験装置91に入力される。
More specifically, the boundary scan cell BC holds serial data input from the input terminal TDI or the previous boundary scan cell BC as a boundary scan register in synchronization with the clock signal TCK, and the subsequent boundary scan cell BC. Or output to the subsequent boundary scan cell BC and the output terminal TDO. That is, the plurality of boundary scan cells BC sequentially shift the value of the boundary scan register from the front stage to the rear stage. The serial data output from the output terminal TDO of the
本実施例のバウンダリスキャンテストでは、デバイス1a,1b同士の端子T間の接続が検査される。以下に、バウンダリスキャンセルBCの動作を説明する。
In the boundary scan test of this embodiment, the connection between the terminals T of the
図3(a)は、デバイス1a,1b同士の端子T間の接続が正常である場合の動作の一例を示す。図3(a)には、図2のデバイス1a,1bの端子Tの一部分が表されている。また、図3(b)には、バウンダリスキャンセルBCごとのシリアルデータの入力値、出力値、及び期待値の一例が示されている。
FIG. 3A shows an example of the operation when the connection between the terminals T of the
デバイス1aには、直列に接続されたバウンダリスキャンセルBC#1〜#5が設けられ、デバイス1bには、直列に接続されたバウンダリスキャンセルBC#6〜#10が設けられている。デバイス1aのバウンダリスキャンセルBC#1〜#5は、配線Wを介して、他方のデバイス1bのバウンダリスキャンセルBC#6〜#10とそれぞれ接続されている。また、バウンダリスキャンセルBC#5,#6は、端子TDI,TDOを介して互いに接続されている。
The
バウンダリスキャンセルBC#1〜#5には、シリアルデータの入力値の一例として、「1」,「0」,「1」,「0」,「1」(2進数)がそれぞれ入力される。デバイス1aバウンダリスキャンセルBC#1〜#5の入力値は、バウンダリスキャンレジスタとして保持された後、端子T間の配線Wを介してデバイス1bのバウンダリスキャンセルBC#6〜#10に出力される。例えば、入力値「1」は、ハイ(High)レベルの電圧‘H’として出力され、入力値「0」は、ロー(Low)レベルの電圧‘L’として出力される。
“1”, “0”, “1”, “0”, “1” (binary numbers) are input to the boundary scan
これにより、バウンダリスキャンセルBC#6〜#10は、「1」,「0」,「1」,「0」,「1」を保持する。バウンダリスキャンセルBC#1〜#10に保持されたバウンダリスキャンレジスタの値は、シフト動作によりデバイス1bの出力端子TDOから出力され、試験装置91において所定の期待値と照合される。なお、期待値は、予め試験装置91に保持されている。
Thereby, the boundary scan
試験装置91は、シリアルデータの出力値「1」,「0」,「1」,「0」・・・が期待値「1」,「0」,「1」,「0」・・・と一致するため、デバイス1a,1bの端子T間の接続は正常であると判定する。
The
一方、図4(a)は、デバイス1a,1b同士の端子T間の接続が異常である場合の動作の一例を示す。図4(a)において、図3(a)と共通する構成については同一の符号を付し、その説明を省略する。また、図4(b)には、バウンダリスキャンセルBCごとのシリアルデータの入力値、出力値、及び期待値の一例が示されている。
On the other hand, FIG. 4A shows an example of the operation when the connection between the terminals T of the
本例において、バウンダリスキャンセルBC#1,#10の端子T間の接続は、配線Wの不良(×印参照)のためにオープン状態である。このため、バウンダリスキャンセルBC#1に保持されたバウンダリスキャンレジスタの値「1」は、ハイレベルの電圧‘H’としてバウンダリスキャンセルBC#10に出力されるが、バウンダリスキャンセルBC#10は「0」を保持する。
In this example, the connection between the terminals T of the boundary scan
したがって、バウンダリスキャンセルBC#10から試験装置91への出力値は「0」となる。試験装置91は、バウンダリスキャンセルBC#10の出力値「0」が当該期待値「1」に一致しないため(符号E1参照)、バウンダリスキャンセルBC#1,#10の端子T間の接続の異常を検出する。これにより、試験結果として、バウンダリスキャンセルBC#1,#10の各端子Tまたは端子T間の配線Wに、はんだ不良、切断、またはグランドショートが存在するとの判定がなされる。
Therefore, the output value from the boundary scan cell BC # 10 to the
しかし、デバイス1a,1bのバウンダリスキャンテスト機能自体が故障状態または不安定状態である場合、正常な確認は不可能である。例えば、デバイス1aのバウンダリスキャンレジスタに異常がある場合でも、接続不良と判定される箇所が、バウンダリスキャンテストを行うたびに変わるため、不良のデバイス1aを特定することができない。以下にバウンダリスキャンレジスタが異常である場合の動作を、例を挙げて説明する。
However, when the boundary scan test function itself of the
図5(a)は、バウンダリスキャンレジスタが異常である場合の動作の一例を示す。図5(a)において、図3(a)と共通する構成については同一の符号を付し、その説明を省略する。また、図5(b)には、バウンダリスキャンセルBCごとのシリアルデータの入力値、出力値、及び期待値の一例が示されている。 FIG. 5A shows an example of the operation when the boundary scan register is abnormal. In FIG. 5 (a), the same reference numerals are given to components common to FIG. 3 (a), and description thereof is omitted. FIG. 5B shows an example of the input value, output value, and expected value of serial data for each boundary scan cell BC.
バウンダリスキャンセルBC#3は、不安定状態であるとき、シフト動作を行うたびに、正常な値を保持する場合と、異常な値を保持する場合とがランダムに発生する。本例において、バウンダリスキャンセルBC#3は、後段のバウンダリスキャンセルBC#4,BC#5の各入力値「0」,「1」を保持するシフト動作では、正常な値「0」,「1」を保持する。しかし、バウンダリスキャンセルBC#3は、自己の入力値「1」を保持するシフト動作では、異常な値「0」を保持する。
When the boundary scan
すなわち、バウンダリスキャンセルBC#3は、バウンダリスキャンセルBC#4,BC#5の各入力値を保持するシフト動作には成功したが、自己の入力値「1」を保持するシフト動作には、ラッチ不良のために失敗している。これにより、バウンダリスキャンセルBC#3は、誤ったバウンダリスキャンレジスタの値「0」(正しい値は「1」)を保持する。該バウンダリスキャンレジスタの値「0」は、ローレベルの電圧‘L’としてバウンダリスキャンセルBC#8に出力されるので、バウンダリスキャンセルBC#8は「0」を保持する。
That is, the boundary scan
したがって、バウンダリスキャンセルBC#8から試験装置91への出力値は「0」となる。試験装置91は、バウンダリスキャンセルBC#8の出力値「0」が当該期待値「1」に一致しないため(符号E2参照)、正常であるにもかかわらず、バウンダリスキャンセルBC#3,#8の端子T間の接続の異常を検出する。
Therefore, the output value from the boundary scan
また、図6(a)は、バウンダリスキャンレジスタの保持値が異常である場合の動作の他例を示す。図6(a)において、図3(a)と共通する構成については同一の符号を付し、その説明を省略する。また、図6(b)には、バウンダリスキャンセルBCごとのシリアルデータの入力値、出力値、及び期待値の他例が示されている。 FIG. 6A shows another example of the operation when the value held in the boundary scan register is abnormal. In FIG. 6 (a), the same reference numerals are given to components common to FIG. 3 (a), and description thereof is omitted. FIG. 6B shows other examples of input values, output values, and expected values of serial data for each boundary scan cell BC.
本例において、バウンダリスキャンセルBC#3は、図5(a)及び図5(b)の場合とは異なり、自己と後段のバウンダリスキャンセルBC#4の各入力値「1」,「0」を保持するシフト動作では、正常な値「1」,「0」を保持する。しかし、バウンダリスキャンセルBC#3は、後段のバウンダリスキャンセルBC#5の入力値「1」を保持するシフト動作では、異常な値「0」を保持する。つまり、バウンダリスキャンセルBC#5にセットされるべき値「1」が、不安定状態のバウンダリスキャンセルBC#3を通過したときに発生したラッチ不良によるシフト動作の失敗のため、異常な値「0」として後段のバウンダリスキャンセルBC#4にシフトされる。
In this example, the boundary scan
これにより、バウンダリスキャンセルBC#5は、誤ったバウンダリスキャンレジスタの値「0」(正しい値は「1」)を保持している。このため、該バウンダリスキャンレジスタの値「0」は、ローレベルの電圧‘L’としてバウンダリスキャンセルBC#6に出力されるので、バウンダリスキャンセルBC#6は「0」を保持する。
As a result, the boundary scan cancel
したがって、バウンダリスキャンセルBC#6から試験装置91への出力値は「0」となる。試験装置91は、バウンダリスキャンセルBC#6の出力値「0」が当該期待値「1」に一致しないため(符号E3参照)、正常であるにもかかわらず、バウンダリスキャンセルBC#5,#6の端子T間の接続の異常を検出する。
Therefore, the output value from the boundary scan
次に、バウンダリスキャンセルBCの構成を説明する。図7は、バウンダリスキャンセルBCの比較例を示す構成図である。図7には、バウンダリスキャンセルBCの一例としてBC_1を上げるが、これに限定されず、BC_2〜BC_10であってもよい。 Next, the configuration of the boundary scan cell BC will be described. FIG. 7 is a configuration diagram illustrating a comparative example of the boundary scan cell BC. In FIG. 7, BC_1 is raised as an example of the boundary scan cell BC, but is not limited to this, and BC_2 to BC_10 may be used.
バウンダリスキャンセルBCは、セレクタ20,23及びフリップフロップ21,22を有する。セレクタ20は、TAPコントローラ11からの制御信号ShiftDR(Shift Data Register)に従って、外部端子Tからの入力値と前段のバウンダリスキャンセルBC(または入力端子TDI)からの入力値の一方を選択してフリップフロップ21に出力する。フリップフロップ21は、TAPコントローラ11からのクロック信号ClockDR(Clock Data Register)の立ち上がりエッジを検出したとき、セレクタ20からの入力値をラッチすることにより、バウンダリスキャンレジスタとして保持する。
The boundary scan cell BC has
フリップフロップ21が保持する値は、後段のバウンダリスキャンセルBC(または出力端子TDO)及び他のフリップフロップ22に出力される。フリップフロップ22は、TAPコントローラ11からの制御信号UpdateDR(Update Data Register)の立ち上がりエッジを検出したとき、フリップフロップ21からの入力値を保持してセレクタ23に出力する。
The value held by the flip-
セレクタ23は、TAPコントローラ11からの制御信号Modeに従って、内部ロジック回路10からの入力値とフリップフロップ22からの入力値の一方を選択して外部端子Tに出力する。なお、制御信号ShiftDR,UpdateDR,Modeは、TAPコントローラ11の状態遷移に応じて出力され、クロック信号ClockDRは、クロック信号TCKに基づいて生成される。
The
バウンダリスキャンセルBCがシリアルデータのシフト動作を行うとき、セレクタ20は、実線で示されるように、前段のバウンダリスキャンセルBC(または入力端子TDI)からの入力値を選択してフリップフロップ21に出力する。フリップフロップ21は、該入力値を保持して後段のバウンダリスキャンセルBC(または出力端子TDO)に出力する。
When the boundary scan cell BC performs a serial data shift operation, the
また、上述した例において、一方のデバイス1aのバウンダリスキャンセルBCが、配線Wを介して他方のデバイス1bのバウンダリスキャンセルBCに値を出力するとき、フリップフロップ22は、点線で示されるように、他のフリップフロップ21からの入力値を保持してセレクタ23に出力する。セレクタ23は、フリップフロップ22からの入力値を選択して外部端子Tに出力する。これにより、フリップフロップ21に保持された値が、配線Wを介して他方のデバイス1bの当該バウンダリスキャンセルBCに入力される。
In the above example, when the boundary scan cell BC of one
また、一方のデバイス1bが他方のデバイス1aからの入力値をバウンダリスキャンセルBCに保持するとき、セレクタ20は、一点鎖線で示されるように、外部端子Tからの入力値を選択してフリップフロップ21に出力する。フリップフロップ21は、該入力値を保持する。
Further, when one
このように、バウンダリスキャンセルBCは、フリップフロップ21にシフトデータの入力値を、バウンダリスキャンレジスタとして保持する。このため、フリップフロップ21が不良である場合、上述したようにバウンダリスキャンレジスタが異常となる。
Thus, the boundary scan cell BC holds the input value of the shift data in the flip-
そこで、本実施例のデバイス1a,1bには、異常なバウンダリスキャンレジスタを検出するため、各バウンダリスキャンレジスタの入力値及び出力値を比較して、該比較結果を出力する比較回路が設けられている。
Therefore, in order to detect an abnormal boundary scan register, the
図8は、バウンダリスキャンレジスタの入力値及び出力値の比較手段の一例を示す構成図である。図8には、複数段のバウンダリスキャンセルBCの各フリップフロップ21が、直列に接続された形態で示されている。複数のフリップフロップ21は、入力端子TDIから入力されたシリアルデータのシフト動作を行い、出力端子TDOから出力する。
FIG. 8 is a block diagram showing an example of a means for comparing the input value and the output value of the boundary scan register. FIG. 8 shows the flip-
比較回路3aは、各バウンダリスキャンセルBCのフリップフロップ21(#1,#2,・・・,#N(N:正の整数))に対応して設けられたフリップフロップ30(#1,#2,・・・,#N)及びXOR(排他的論理和)回路31を有する。各フリップフロップ30は、クロック信号ClockDRの立ち上がりエッジを検出したとき、当該フリップフロップ21の入力値を保持してXOR回路31に出力する。
The
XOR回路31は、当該フリップフロップ30からの入力値とバウンダリスキャンセルBCの当該フリップフロップ21からの入力値の排他的論理和を演算し、演算結果として演算値EX1,EX2,・・・,EXnを出力する。つまり、XOR回路31は、クロック信号ClockDRに同期して、当該フリップフロップ21の入力値及び出力値(保持値)の排他的論理和を演算する。これにより、比較回路3aは、複数段のバウンダリスキャンセルBCの各々の入力値及び出力値を比較する。
The
図9(a)及び図9(b)には、正常時及び異常時のシフト動作がそれぞれ示されている。図9(a)及び図9(b)は、入力端子TDIから入力されたシリアルデータの入力値a,b,・・・,f(2進数)、各フリップフロップ21,30(#1,#2,#N)の出力値(保持値)、及びXOR回路31の演算値EX1,EX2,EXnを示す。なお、本例では、フリップフロップ21,30の段数を3段(つまりN=3)とする。
FIG. 9A and FIG. 9B show the shift operations at normal time and abnormal time, respectively. 9A and 9B show the input values a, b,..., F (binary number) of serial data input from the input terminal TDI, and the flip-
本例において、入力端子TDIには、クロック信号ClockDRに同期してシリアルデータa,b,・・・,fが順次に入力される。シフト動作が正常である場合、図9(a)に示されるように、各フリップフロップ21,30(#1,#2,#N)は、クロック信号ClockDRに同期してシリアルデータa,b,・・・,fを順次に保持して出力する。XOR回路31の演算値EX1,EX2,EXnは、当該フリップフロップ21,30(#1,#2,#N)からの各入力値が常に一致するため、全て「0」となる。
In this example, serial data a, b,..., F are sequentially input to the input terminal TDI in synchronization with the clock signal ClockDR. When the shift operation is normal, as shown in FIG. 9A, each of the flip-
一方、シフト動作が異常である場合、図9(b)に示されるように、例えば、フリップフロップ21(#1)は、入力端子TDIから入力値bが入力されたとき、入力値bとは異なる入力値xを保持する(符号E4参照)。これにより、当該XOR回路31の演算値EX1は、フリップフロップ21,30(#1)からの各入力値が一致しないため、「1」となる(符号E5参照)。
On the other hand, when the shift operation is abnormal, as shown in FIG. 9B, for example, when the input value b is input from the input terminal TDI, the flip-flop 21 (# 1) A different input value x is held (see symbol E4). As a result, the operation value EX1 of the
図10は、バウンダリスキャンセルBCに比較回路3aを追加した構成の一例を示す構成図である。図10は、1つのバウンダリスキャンセルBCに対応する比較回路3aの構成を示す。比較回路3aは、上記のフリップフロップ30及びXOR回路31に加えて、フリップフロップ32を有する。
FIG. 10 is a configuration diagram illustrating an example of a configuration in which a
フリップフロップ30は、クロック信号ClockDRに同期して、セレクタ20からの入力値を保持し、XOR回路31に出力する。XOR回路31は、フリップフロップ21,30の各入力値の排他的論理和を演算し、演算値EXnをフリップフロップ32に出力する。フリップフロップ32は、クロック信号ClockDRの立ち上がりエッジを検出したとき、演算値EXnを保持して出力する。
The flip-
このように、比較回路3aは、シフト動作中、XOR回路31によりフリップフロップ21の入力値及び出力値を比較して、比較結果(EX1,EX2,・・・,EXn)を出力する。
In this way, during the shift operation, the
また、図11は、バウンダリスキャンレジスタの入力値及び出力値の比較手段の他例を示す構成図である。図11には、複数段のバウンダリスキャンセルBCの各フリップフロップ21が、直列に接続された形態で示されている。複数のフリップフロップ21は、入力端子TDIから入力されたシリアルデータのシフト動作を行い、出力端子TDOから出力する。
FIG. 11 is a block diagram showing another example of the comparison means for the input value and the output value of the boundary scan register. In FIG. 11, the flip-
比較回路3bは、各バウンダリスキャンセルBCのフリップフロップ21(#1,#2,・・,#N)に対応して設けられたフリップフロップ30(#1,#2,・・,#N)及びXOR回路31を有する。フリップフロップ30(#1,#2,・・,#N)は、図8の例とは異なり、互いに直列に接続されている。このため、フリップフロップ30(#1,#2,・・,#N)は、フリップフロップ21(#1,#2,・・,#N)と同期してシリアルデータのシフト動作を行う。
The
フリップフロップ30(#1)は、クロック信号ClockDRの立ち上がりエッジを検出したとき、当該フリップフロップ21(#1)の入力値を保持して当該XOR回路31及び後段のフリップフロップ30(#2)に出力する。該XOR回路31は、フリップフロップ30(#1)からの入力値とフリップフロップ21(#1)からの入力値の排他的論理和を演算し、演算値EX1を出力する。
When the flip-flop 30 (# 1) detects the rising edge of the clock signal ClockDR, the flip-flop 30 (# 1) holds the input value of the flip-flop 21 (# 1) and sends it to the
フリップフロップ30(#2)は、クロック信号ClockDRの立ち上がりエッジを検出したとき、前段のフリップフロップ30(#1)からの入力値を保持して当該XOR回路31及び後段のフリップフロップ30(#3)に出力する。該XOR回路31は、フリップフロップ30(#2)からの入力値とフリップフロップ21(#2)からの入力値の排他的論理和を演算し、演算値EX2を出力する。なお、フリップフロップ30(#1)より後段のフリップフロップ30(#2,・・・,#N)も、上記と同様に動作する。
When the rising edge of the clock signal ClockDR is detected, the flip-flop 30 (# 2) holds the input value from the preceding flip-flop 30 (# 1), and the
このように、XOR回路31は、クロック信号ClockDRに同期して、当該フリップフロップ21,30の出力値(保持値)同士の排他的論理和を演算する。これにより、比較回路3aは、複数段のバウンダリスキャンセルBCの各々の入力値及び出力値を比較する。なお、本例におけるシフト動作は、図9(a)及び図9(b)と同様である。
As described above, the
図12は、バウンダリスキャンセルBCに比較回路3bを追加した構成の一例を示す構成図である。図12には、一例として1段目及び2段目のバウンダリスキャンセルBCに対応する比較回路3bの構成が示されている。比較回路3bは、上記のフリップフロップ30及びXOR回路31に加えて、フリップフロップ32を有する。
FIG. 12 is a configuration diagram illustrating an example of a configuration in which a
1段目のフリップフロップ30(#1)は、クロック信号ClockDRに同期して、セレクタ20からの入力値を保持し、当該XOR回路31及び後段のフリップフロップ30(#2)に出力する。該XOR回路31は、フリップフロップ21,30(#1)の各入力値の排他的論理和を演算し、演算値EX1をフリップフロップ32(#1)に出力する。フリップフロップ32(#1)は、クロック信号ClockDRの立ち上がりエッジを検出したとき、演算値EX1を保持して出力する。
The first-stage flip-flop 30 (# 1) holds the input value from the
2段目のフリップフロップ30(#2)は、クロック信号ClockDRに同期して、前段のフリップフロップ30(#1)からの入力値を保持し、当該XOR回路31及び後段のフリップフロップ30(#3)に出力する。該XOR回路31は、フリップフロップ21,30(#2)の各入力値の排他的論理和を演算し、演算値EX2をフリップフロップ32(#2)に出力する。フリップフロップ32(#2)は、クロック信号ClockDRの立ち上がりエッジを検出したとき、演算値EX2を保持して出力する。
The second-stage flip-flop 30 (# 2) holds the input value from the previous-stage flip-flop 30 (# 1) in synchronization with the clock signal ClockDR, and the
また、図13は、バウンダリスキャンレジスタの入力値及び出力値の比較手段の他例を示す構成図である。図13には、複数段のバウンダリスキャンセルBCの各フリップフロップ21,21aが、直列に接続された形態で示されている。複数のフリップフロップ21,21aは、入力端子TDIから入力されたシリアルデータのシフト動作を行い、出力端子TDOから出力する。
FIG. 13 is a block diagram showing another example of the comparison means for the input value and the output value of the boundary scan register. In FIG. 13, the flip-
本例では、偶数番号のバウンダリスキャンセルBC#2,#4,・・・には、第1フリップフロップ21が設けられ、奇数番号のバウンダリスキャンセルBC#1,#3,・・・には、第1フリップフロップ21とはトリガが異なる第2フリップフロップ21aが設けられている。つまり、複数段のバウンダリスキャンセルBCには、第1フリップフロップ21及び第2フリップフロップ21aが交互に設けられている。
In this example, even-numbered boundary scan
第1フリップフロップ21は、クロック信号ClockDRの立ち上がりエッジを検出したとき、入力値を保持して出力する。一方、第2フリップフロップ21aは、クロック信号ClockDRの立ち下がりエッジを検出したとき、入力値を保持して出力する。
When detecting the rising edge of the clock signal ClockDR, the first flip-
比較回路3cは、各第1フリップフロップ21及び各第2フリップフロップ21aに接続されたXOR回路31を有する。XOR回路31は、第1フリップフロップ21及び第2フリップフロップ21aごとに、入力値と出力値の排他的論理和を演算する演算回路の一例である。
The
XOR回路31は、第1フリップフロップ21及び第2フリップフロップ21aの入力値と出力値の排他的論理和を演算し、演算値EX1,EX2,EX3,EX4,・・・を出力する。これにより、比較回路3cは、複数段のバウンダリスキャンセルBCの各々の入力値及び出力値を比較する。
The
図14は、バウンダリスキャンセルBCに比較回路3cを追加した構成の他例を示す構成図である。図14には、互いに接続された一組の奇数段及び偶数段のバウンダリスキャンセルBC#i,#i+1(i:奇数)に対応する比較回路3cの構成が示されている。比較回路3cは、上記のXOR回路31に加えて、フリップフロップ32a,32bを有する。
FIG. 14 is a configuration diagram showing another example of the configuration in which the
奇数段のXOR回路31は、当該第2フリップフロップ21a(#i)からの入力値と、前段(偶数段)のバウンダリスキャンセルBCの第1フリップフロップ21(#i−1)からの入力値との排他的論理和を演算し、演算値EXiをフリップフロップ32aに出力する。フリップフロップ32aは、クロック信号ClockDRの立ち上がりエッジを検出したとき、演算値EXiを保持して出力する。
The odd-numbered
偶数段のXOR回路31は、当該第1フリップフロップ21(#i+1)からの入力値と、前段(奇数段)のバウンダリスキャンセルBCの第1フリップフロップ21a(#i)からの入力値との排他的論理和を演算し、演算値EXi+1をフリップフロップ32bに出力する。フリップフロップ32bは、クロック信号ClockDRの立ち下がりエッジを検出したとき、演算値EXi+1を保持して出力する。
The even-numbered
図15(a)及び図15(b)には、本例における正常時及び異常時のシフト動作がそれぞれ示されている。図15(a)及び図15(b)は、クロック信号ClockDR、入力端子TDIから入力されたシリアルデータの入力値a,b,・・・,fと、第1フリップフロップ21(#2,#4)及び第2フリップフロップ21a(#1,#3)の出力値とを示す。さらに、図15(a)及び図15(b)は、比較回路3cの各フリップフロップ32a(#1,#3),32b(#2,#4)の出力値と、各XOR回路31の演算値EX1〜EX4とを示す。
FIGS. 15 (a) and 15 (b) show the shift operations during normal operation and abnormal operation, respectively, in this example. 15A and 15B show the clock signal ClockDR, the input values a, b,..., F of the serial data input from the input terminal TDI, and the first flip-flops 21 (# 2, #). 4) and output values of the second flip-
本例において、入力端子TDIには、クロック信号ClockDRに同期してシリアルデータa,b,・・・,fが順次に入力される。シフト動作が正常である場合、図15(a)に示されるように、各フリップフロップ21,21a(#1〜#4)は、クロック信号ClockDRに同期してシリアルデータa,b,・・・,fを順次に保持して出力する。これにより、シリアルデータa,b,・・・,fは、クロック信号ClockDRの半周期ごとにシフトする。
In this example, serial data a, b,..., F are sequentially input to the input terminal TDI in synchronization with the clock signal ClockDR. When the shift operation is normal, as shown in FIG. 15A, each of the flip-
したがって、第1フリップフロップ21(#2,#4)及び第2フリップフロップ21a(#1,#3)は、クロック信号ClockDRの半周期ごとに入力値及び出力値(保持値)が一致する。このため、各XOR回路31の演算値EX1〜EX4は、クロック信号ClockDRの半周期ごとに「1」(不一致状態)及び「0」(一致状態)を繰り返す。
Accordingly, the first flip-flop 21 (# 2, # 4) and the second flip-
しかし、奇数段のフリップフロップ32a(#1,#3)は、クロック信号ClockDRの立ち上がりエッジをトリガにラッチ動作を行うため、正しい状態である「0」を演算値EX1,EX3として保持して出力する。同様に、偶数段のフリップフロップ32b(#2,#4)は、クロック信号ClockDRの立ち下がりエッジをトリガにラッチ動作を行うため、正しい状態である「0」を演算値EX2,EX4として保持して出力する。
However, since the odd-numbered flip-
シフト動作が異常である場合、例えば、フリップフロップ21a(#1)は、入力端子TDIから入力値aが入力されたとき、入力値aとは異なる入力値xを保持する(符号E6参照)。これにより、当該XOR回路31の演算値EX1は、フリップフロップ21a(#1)の入力値及び出力値が一致しないため、「1」となる(符号E7参照)。フリップフロップ32a(#1)は、クロック信号ClockDRの立ち上がりエッジを検出したとき、該演算値EX1(=「1」)を保持して出力する。
When the shift operation is abnormal, for example, when the input value a is input from the input terminal TDI, the flip-
このように、比較回路3cは、シフト動作中、XOR回路31によりフリップフロップ21,21aの入力値及び出力値を比較して、比較結果(EX1〜EX4)を出力する。
In this manner, during the shift operation, the
また、本例では、入力値を保持するためのトリガが相違する第1フリップフロップ21及び第2フリップフロップ21aが交互に設けられているため、図8〜図12に示された例とは異なり、比較回路3cからフリップフロップ30を省くことができる。
Further, in this example, the first flip-
上述した構成により得られた演算値EX1〜EXnは、例えば専用端子から試験装置91に出力される。例えば、デバイス1a,1bは、全ての演算値EX1〜EXnをAND演算し、該演算値をクロック信号ClockDRでリタイミングして専用端子に出力するか、あるいはラッチして保持してもよい。これにより、異常なバウンダリスキャンレジスタがデバイス1a,1b単位で特定される。
The calculation values EX1 to EXn obtained by the above-described configuration are output to the
一方、異常なバウンダリスキャンレジスタをバウンダリスキャンセルBC単位で特定する場合、デバイス数が多いほど、特定に多くの時間がかかるため、デバイス1a,1bは、バウンダリスキャンセルBCの番号(#1,#2,・・・)をコード化して試験装置91に通知してもよい。この場合、例えば、デバイス1a,1bごとに、バウンダリスキャンセル数に応じたビット数分の専用端子が設けられる。例えば、256個のバウンダリスキャンセルBCの場合、256の2進数表示に必要な8ビット分(8個)の専用端子が設けられ、また、1024個のバウンダリスキャンセルBCの場合、1024の2進数表示に必要な10ビット分(10個)の専用端子が設けられる。
On the other hand, when an abnormal boundary scan register is specified in the unit of the boundary scan cell BC, the longer the number of devices, the longer it takes to specify the device. Therefore, the
しかし、上述した手法では、デバイス1a,1bに、上記のAND演算及びコード化などを実行する論理回路と複数の専用端子とが追加される。このような大規模なハードウェアの追加を避けるため、例えば、以下に述べる簡単な制御回路を追加することにより、試験装置91は、出力端子TDOから出力されるシリアルデータに基づいて、異常なバウンダリスキャンレジスタを特定してもよい。
However, in the above-described method, a logic circuit that executes the AND operation and encoding and a plurality of dedicated terminals are added to the
図16は、バウンダリスキャンセルBCに制御回路を追加した構成の一例を示す構成図である。図16には、図10に示された比較回路3aが例示されているが、図12または図14に示された比較回路3b,3cが用いられてもよい。なお、図16において、図10と共通する構成については同一の符号を付し、その説明を省略する。また、図16には、1つのバウンダリスキャンセルBCに対応する制御回路4の構成が示されているが、制御回路4は、各バウンダリスキャンセルBCについて同様の構成を備える。
FIG. 16 is a configuration diagram illustrating an example of a configuration in which a control circuit is added to the boundary scan cell BC. FIG. 16 illustrates the
制御回路4は、ラッチ回路40と、AND回路41,42と、切替制御部43とを有する。制御回路4は、比較回路3aと接続され、比較回路3aから出力された演算値EXnに応じてバウンダリスキャンセルBCの出力値を制御する。このため、バウンダリスキャンセルBCにおいて、フリップフロップ21と後段のバウンダリスキャンセルBC(または出力端子TDO)への出力端の間にセレクタ24が追加されている。
The
ラッチ回路40は、比較回路3aのフリップフロップ32から出力された演算値EXnを保持する。ラッチ回路40に保持された演算値EXnは、AND回路41,42の入力端子の一方にそれぞれ入力される。切替制御部43は、TAPコントローラ11の制御に従った制御値C0,C1を生成して出力する論理回路である。
The
切替制御部43は、制御値C0,C1をAND回路41,42の入力端子の他方にそれぞれ出力する。AND回路41,42は、制御値C0,C1及び演算値EXnのAND演算をそれぞれ行い、該演算結果を示す選択信号SEL_0,SEL_1をバウンダリスキャンセルBC内のセレクタ24にそれぞれ出力する。なお、選択信号SEL_0,SEL_1は、複数段のバウンダリスキャンセルBCをそれぞれ制御する複数の制御信号の一例である。
The switching
セレクタ24は、選択信号SEL_0,SEL_1のレベル(「0」または「1」)に応じた出力値を選択して、後段のバウンダリスキャンセルBC(または出力端子TDO)に出力する。より具体的には、セレクタ24は、選択値SEL_0,SEL_1がともに「0」である場合、フリップフロップ21からの入力値を選択して出力する。
The
また、セレクタ24は、選択値SEL_0が「1」であり、SEL_1が「0」である場合、固定値「0」を選択して出力する。一方、選択値SEL_0が「0」であり、SEL_1が「1」である場合、セレクタ24は、固定値「1」を選択して出力する。
Further, when the selection value SEL_0 is “1” and SEL_1 is “0”, the
上記の構成により、制御回路4は、TAPコントローラ11の制御に従ってバウンダリスキャンセルBCの出力値を制御する。これにより、バウンダリスキャンセルBCは、演算値EXnが「0」である場合、保持しているシリアルデータを後段のバウンダリスキャンセルBC(または出力端子TDO)に出力する。一方、演算値EXnが「1」である場合、バウンダリスキャンセルBCは、固定値「0」または「1」を後段のバウンダリスキャンセルBC(または出力端子TDO)に出力する。
With the above configuration, the
制御回路4は、比較回路3a〜3cによる比較の結果、複数段のバウンダリスキャンセルBCのうち、入力値と出力値が不一致であるバウンダリスキャンセルBCの出力値を「0」に固定し、該固定値が出力された後、固定値を「1」に切り替える。これにより、試験装置91は、出力端子TDOから出力されたシリアルデータから、固定値「0」及び「1」の境界を検出することにより、異常なバウンダリスキャンレジスタを特定する。以下に、試験装置91の処理について述べる。
As a result of the comparison by the
図17は、試験装置91の処理を示すフローチャートである。本処理は、図5及び図6に例示したように、バウンダリスキャンレジスタのシフト動作の異常が発生した場合に実行される。また、図18(a)〜図18(c)には、図3〜図6に例示されたデバイス1a,1bに対して本処理を行った場合における初期化時、異常再現時、及び出力制御時のバウンダリスキャンレジスタの値が示されている。
FIG. 17 is a flowchart showing the processing of the
試験装置91は、デバイス1aの入力端子TDIにAll「0」(2進数)のシリアルデータを出力する(ステップSt1)。これにより、各バウンダリスキャンセルBC#1〜#10のバウンダリスキャンレジスタが、図18(a)に示されるように「0」に初期化される。
The
次に、試験装置91は、デバイス1aの入力端子TDIにトグルパタンのシリアルデータを出力する(ステップSt2)。トグルパタンのシリアルデータとしては、例えば、「010101・・・」、「101010・・・」、「00110011・・・」、及び「11001100・・・」(2進数)などが挙げられる。これにより、バウンダリスキャンレジスタの異常なシフト動作が再現しやすくなる。
Next, the
異常なシフト動作が再現すると、例えば、図18(b)に示されるように、異常なバウンダリスキャンセルBC#4より後段の全バウンダリスキャンセルBC#5〜#10のバウンダリスキャンレジスタが異常値「x」となる。異常なバウンダリスキャンセルBC#4は、異常状態を演算値EX4=「1」としてラッチしておく。
When the abnormal shift operation is reproduced, for example, as shown in FIG. 18B, the boundary scan registers of all the boundary scan
次に、試験装置91は、「Instruction OPCODE」のコマンドを用いて、TAPコントローラ11に、異常なバウンダリスキャンレジスタの出力を「0」に固定するように指示する(ステップSt3)。このとき、TAPコントローラ11は、切替制御部43の制御値C0を「1」とし、制御値C1を「0」とする。このため、演算値EXnが「1」である異常なバウンダリスキャンセルBCの出力値は、「0」に固定される。一方、演算値EXnが「0」である正常なバウンダリスキャンセルBCの出力値は、固定されず、フリップフロップ21に保持されたシリアルデータの値となる。
Next, the
次に、試験装置91は、デバイス1aの入力端子TDIにAll「1」(2進数)のシリアルデータを出力する(ステップSt4)。これにより、図18(c)に示されるように、異常なバウンダリスキャンセルBC#4及び当該バウンダリスキャンセルBC#4より前段のバウンダリスキャンセルBC#1〜#3の各バウンダリスキャンレジスタの値は「1」となる。一方、異常なバウンダリスキャンセルBC#4より後段のバウンダリスキャンセルBC#5〜#10の各バウンダリスキャンレジスタの値は、上記のステップSt3における出力値の固定制御により「0」となる。
Next, the
次に、試験装置91は、「Instruction OPCODE」のコマンドを用いて、TAPコントローラ11に、異常なバウンダリスキャンレジスタの出力を「1」に固定するように指示する(ステップSt5)。このとき、TAPコントローラ11は、切替制御部43の制御値C0を「0」とし、制御値C1を「1」とする。このため、演算値EXnが「1」である異常なバウンダリスキャンセルBCの出力値は、「1」に固定される。一方、演算値EXnが「0」である正常なバウンダリスキャンセルBCの出力値は、固定されず、フリップフロップ21に保持されたシリアルデータの値となる。
Next, the
このように、制御回路4は、比較回路3a〜3cの比較結果に基づいて複数の選択信号SEL_0,SEL_1を生成して、複数段のバウンダリスキャンセルBCにそれぞれ出力する。複数段のバウンダリスキャンセルBCは、複数の選択信号SEL_0,SEL_1にそれぞれ従って出力値を制御する。このため、制御回路4は、複数段のバウンダリスキャンセルBCから、入力値と出力値が不一致であるバウンダリスキャンセルBCを選択して制御する手間が省かれる。
As described above, the
次に、試験装置91は、バウンダリスキャンセルBC#1〜#10から全てのバウンダリスキャンレジスタを読み出す(ステップSt6)。これにより、出力端子TDOから試験装置91にシリアルデータが入力される。このとき、仮にバウンダリスキャンセルBC#4が異常なシフト動作を行っても、出力値が「1」に固定されているため、異常値「x」が後段のバウンダリスキャンセルBCに出力されることはない。
Next, the
次に、試験装置91は、読み出したバウンダリスキャンレジスタの値(図18(c)の符号H参照)から、異常なシフト動作の再現の成否を判定する(ステップSt7)。試験装置91は、バウンダリスキャンレジスタの値が全て「1」である場合、再現に失敗したと判定し(ステップSt7のNo)、トグルパタンを変更したうえで(ステップSt10)、再びステップSt1の処理を行う。
Next, the
一方、試験装置91は、バウンダリスキャンレジスタの値が全て「1」ではない場合、再現に成功したと判定する(ステップSt7のYes)。この場合、試験装置91は、読み出したバウンダリスキャンレジスタの「0」及び「1」の境界を検出して(ステップSt8)、異常なデバイス1a,1b及び異常なバウンダリスキャンレジスタを特定する(ステップSt9)。
On the other hand, when all the values of the boundary scan register are not “1”, the
図18(c)の符号Hで示された例では、「0」及び「1」の境界は、デバイス1aのバウンダリスキャンセルBC#4,#5の間に存在する。したがって、試験装置91は、デバイス1aのバウンダリスキャンセルBC#4のバウンダリスキャンレジスタが異常であることを検出する。このようにして、試験装置91は処理を行う。
In the example indicated by the symbol H in FIG. 18C, the boundary between “0” and “1” exists between the boundary scan
また、図19は、デバイス1a,1bの処理を示すフローチャートである。より具体的には、図19は、図17に示された処理に対応するデバイス1a,1b側の処理を示す。
FIG. 19 is a flowchart showing processing of the
各バウンダリスキャンセルBCは、上記のステップSt1の処理に応じて、All「0」のシリアルデータをシフトする(ステップSt21)。次に、各バウンダリスキャンセルBCは、上記のステップSt2の処理に応じて、トグルパタンのシリアルデータをシフトする(ステップSt22)。このとき、異常なシフト動作が再現すれば、図8(b)に例示されるように、異常なバウンダリスキャンセルBC#4より後段のバウンダリスキャンセルBC#5〜#10は異常値「x」を保持する。
Each boundary scan cell BC shifts the serial data of All “0” in accordance with the processing in step St1 (step St21). Next, each boundary scan cell BC shifts the serial data of the toggle pattern in accordance with the processing in step St2 (step St22). At this time, if the abnormal shift operation is reproduced, as illustrated in FIG. 8B, the boundary scan
上記のステップSt3以降の処理に応じたデバイス1a,1bの動作は、バウンダリスキャンセルBCごとに、バウンダリスキャンレジスタが正常である場合と異常である場合に分かれる。バウンダリスキャンレジスタが正常である場合(ステップSt23のNo)、バウンダリスキャンセルBC#1〜#3,#5〜#10は、セレクタ24がフリップフロップ21の保持値を選択するため、入力されたシリアルデータをシフトする(ステップSt27)。
The operation of the
また、バウンダリスキャンレジスタが異常である場合(ステップSt23のYes)、バウンダリスキャンセルBC#4は、上記のステップSt3の処理に応じて、セレクタ24が固定値「0」を選択することにより、出力値を「0」に固定する(ステップSt24)。次に、該バウンダリスキャンセルBC#4は、上記のステップSt4の処理に応じて、シフト動作を行う(ステップSt25)。これにより、該バウンダリスキャンセルBC#4は、後段のバウンダリスキャンセルBC#5に「0」を出力するため、図18(c)に例示されるように、バウンダリスキャンセルBC#5〜#10は「0」を保持する。
If the boundary scan register is abnormal (Yes in step St23), the boundary scan cancel
次に、該バウンダリスキャンセルBC#4は、上記のステップSt5の処理に応じて、セレクタ24が固定値「1」を選択することにより、出力値を「1」に固定する(ステップSt26)。このため、上記のステップSt6の処理により読み出されたバウンダリスキャンレジスタの値は、図18(c)の符号Hに示されるように、バウンダリスキャンセルBC#1〜#4が「1」で、バウンダリスキャンセルBC#5〜#10が「0」となる。このようにして、デバイス1a,1bは、処理を行う。
Next, the boundary scan
このように、複数段のバウンダリスキャンセルBC#1〜#10から読み出されたバウンダリスキャンレジスタの値は、連続する「1」と連続する「0」の境界を有する。そして、「0」及び「1」の境界は、バウンダリスキャンレジスタが異常なバウンダリスキャンセルBC#4を示す。
As described above, the values of the boundary scan registers read from the plurality of stages of boundary scan
したがって、試験装置91は、出力端子TDOから出力されるシリアルデータから「0」及び「1」の境界を検出することにより、異常なバウンダリスキャンセルBC#4を特定できるため、大規模なハードウェアの変更が不要である。一方、デバイス1a,1bも、先に述べた手法のような大規模なハードウェアの追加が不要である。よって、上記の手法によると、コストアップを抑制しつつ、異常なバウンダリスキャンレジスタを検出できる。
Accordingly, the
なお、本実施例において、制御回路4は、異常なバウンダリスキャンセルBC#4の出力値を「0」に固定し、シフト動作の後、該出力値を「1」に固定したが、これに限定されない。これとは逆に、制御回路4は、異常なバウンダリスキャンセルBC#4の出力値を「1」に固定し、シフト動作の後、該出力値を「0」に固定してもよい。
In this embodiment, the
次に、試験装置91の構成を説明する。図20は、試験装置91の一例を示す構成図である。試験装置91は、上述したように、複数段のバウンダリスキャンセルBC#1〜#10が設けられたデバイス1a,1bのバウンダリスキャンテストを行う。
Next, the configuration of the
試験装置91は、出力部910と、制御部911と、特定部912と、比較部913と、期待値格納部914とを有する。制御部911は、端末装置90からコマンドを受け付けて、該コマンドに従って出力部910と、特定部912と、比較部913とを制御する。例えば、制御部911は、バウンダリスキャンテストを行う場合、比較部913を起動し、図17に示されるように、異常なバウンダリスキャンレジスタの特定処理を行う場合、特定部912を起動する。
The
出力部910は、バウンダリスキャンセルBC#1〜#10に所定のパタンに従って値を順次に出力する。出力された値は、データ信号TDIとしてデバイス1a,1bに入力される。図17に示された処理において、出力部910は、All「0」(2進数)のシリアルデータを出力し(ステップSt1)、トグルパタンのシリアルデータを出力し(ステップSt2)、さらにAll「1」(2進数)のシリアルデータを出力する(ステップSt4)。
The
制御部911は、受け付けたコマンドに従い、クロック信号TCK、状態制御信号TMS、及びリセット信号TRSTを生成してデバイス1a,1bのTAPコントローラ11に出力する。図17に示された処理において、制御部911は、デバイス1a,1bに、異常なバウンダリスキャンレジスタの出力を、「0」に固定するように指示し(ステップSt3)、また、「1」に固定するように指示する(ステップSt5)。このとき、制御部911は、上記の「Instruction OPCODE」のコマンドに応じた状態制御信号TMSを生成して、デバイス1a,1bのTAPコントローラ11に出力する。
The
このように、制御部911は、指示部として機能し、デバイス1a,1bに対し、バウンダリスキャンセルBC#1〜#10のうち、入力された値と出力した値が不一致であるバウンダリスキャンセルの出力値を「0」に固定し、該固定値が出力された後、固定値が他の値「1」に切り替えるように指示する。
In this way, the
特定部912は、図17に示された処理において、バウンダリスキャンセルBC#1〜#10から全てのバウンダリスキャンレジスタを読み出して(ステップSt6)、異常なシフト動作の再現の成否を判定する(ステップSt7)。特定部912は、再現に成功したと判定した場合(ステップSt7のYes)、読み出したバウンダリスキャンレジスタの「0」及び「1」の境界を検出して(ステップSt8)、異常なデバイス1a,1b及び異常なバウンダリスキャンレジスタを特定する(ステップSt9)。
In the process shown in FIG. 17, the identifying
すなわち、特定部912は、バウンダリスキャンセルBC#1〜#10から順次に出力された値が切り替わる境界を検出することにより、入力された値と出力した値が不一致であるバウンダリスキャンセルを特定する。特定部912は、特定した異常なデバイス1a,1b及び異常なバウンダリスキャンレジスタを、特定結果として端末装置90に通知する。
That is, the identifying
また、特定部912は、再現に失敗したと判定した場合(ステップSt7のNo)、つまり読み出したバウンダリスキャンレジスタの「0」及び「1」の境界を検出できない場合、その旨を制御部911に通知する。制御部911は、該通知を受けると、出力部910にトグルパタンを変更するように指示する(ステップSt10)。
Also, if the specifying
出力部910は、変更後のトグルパタンで再度シリアルデータを出力する。すなわち、出力部910は、特定部912において境界が検出されない場合、所定のパタンを変更し、変更後のパタンに従って値を出力する。これにより、バウンダリスキャンレジスタの異常なシフト動作が再現される。
The
比較部913は、図3〜図6を参照して述べたように、デバイス1a,1bから、バウンダリスキャンセルBC#1〜#10に保持されたバウンダリスキャンレジスタを読み出して、期待値格納部914から読み出した期待値と比較する。期待値格納部914は、例えばメモリなどの情報格納手段であり、バウンダリスキャンセルBC#1〜#10の出力値の期待値を格納する。比較部913は、比較により得た試験結果を端末装置90に出力する。
As described with reference to FIGS. 3 to 6, the
なお、出力部910、制御部911、特定部912、及び比較部913は、LSIなどのハードウェアで構成されてもよいし、ソフトウェアで構成されてもよい。出力部910、制御部911、特定部912、及び比較部913は、ソフトウェアで構成される場合、CPU(Central Processing Unit)などのプロセッサに読み込まれたプログラムの機能の一部としてそれぞれ形成される。
Note that the
これまで述べたように、実施例に係る電子回路装置1a,1bは、複数段のレジスタ回路BCと、比較回路3a〜3cと、制御回路4とを有する。複数段のレジスタ回路BCは、バウンダリスキャンテストの実行により入力された値を順次に保持して出力する。
As described above, the
比較回路3a〜3cは、複数段のレジスタ回路BCの各々の入力値と出力値を比較する。制御回路4は、複数段のレジスタ回路BCのうち、比較回路3a〜3cによる比較の結果、入力値と出力値が不一致であるレジスタ回路BCの出力値を固定して、該固定値が出力された後、固定値を他の値に切り替える。
The
上記の構成によると、比較回路3a〜3cは、複数段のレジスタ回路BCの各々の入力値と出力値を比較するので、入力値と出力値が不一致であるレジスタ回路BCを検出できる。制御回路4は、該レジスタ回路BCの出力値を固定して、該固定値が出力された後、固定値を他の値に切り替える。
According to the above configuration, the
したがって、複数段のレジスタ回路BCから順次に出力される値が切り替わる箇所を検出することにより、異常なバウンダリスキャンレジスタを検出することができる。 Therefore, an abnormal boundary scan register can be detected by detecting a place where values sequentially output from the register circuits BC in a plurality of stages are switched.
また、実施例に係る試験装置91は、入力された値を順次に保持して出力する複数段のレジスタ回路BCが設けられた電子回路装置1a,1bのバウンダリスキャンテストを行う。試験装置91は、出力部910と、制御部911と、特定部912とを有する。
Further, the
出力部910は、複数段のレジスタ回路BCに、所定のパタンに従って値を順次に出力する。制御部911は、電子回路装置1a,1bに対し、複数段のレジスタ回路BCのうち、入力された値と出力した値が不一致であるレジスタ回路の出力値を固定し、該固定値が出力された後、固定値が他の値に切り替えるように指示する。特定部912は、複数段のレジスタ回路BCから順次に出力された値が切り替わる境界を検出することにより、複数段のレジスタ回路BCのうち、入力された値と出力した値が不一致であるレジスタ回路を特定する。
The
したがって、試験装置91は、異常なバウンダリスキャンレジスタを検出することができる。
Therefore, the
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。 The above-described embodiment is an example of a preferred embodiment of the present invention. However, the present invention is not limited to this, and various modifications can be made without departing from the scope of the present invention.
1a,1b デバイス
3a〜3c 比較回路
4 制御回路
11 TAPコントローラ
91 試験装置
910 出力部
911 制御部
912 特定部
BC バウンダリスキャンセル
1a,
Claims (5)
前記複数段のレジスタ回路の各々の入力値と出力値を比較する比較回路と、
前記複数段のレジスタ回路のうち、前記比較回路による比較の結果、前記入力値と前記出力値が不一致であるレジスタ回路の前記出力値を固定して、該固定値が出力された後、前記固定値を他の値に切り替える制御回路とを有することを特徴とする電子回路装置。 A multi-stage register circuit for sequentially holding and outputting the values input by executing the boundary scan test;
A comparison circuit for comparing an input value and an output value of each of the plurality of register circuits;
As a result of comparison by the comparison circuit among the plurality of register circuits, the output value of the register circuit in which the input value and the output value do not match is fixed, and after the fixed value is output, the fixed value is output. An electronic circuit device comprising a control circuit for switching a value to another value.
前記複数段のレジスタ回路は、前記複数の制御信号にそれぞれ従って前記出力値を制御することを特徴とする請求項1に記載の電子回路装置。 The control circuit generates a plurality of control signals based on the comparison result of the comparison circuit and outputs the control signals to the plurality of register circuits,
The electronic circuit device according to claim 1, wherein the plurality of register circuits control the output value according to the plurality of control signals.
前記第1フリップフロップは、クロック信号の立ち上がりエッジを検出したとき、前記入力値を保持して出力し、
前記第2フリップフロップは、前記クロック信号の立ち下がりエッジを検出したとき、前記入力値を保持して出力し、
前記比較回路は、前記第1フリップフロップ及び前記第2フリップフロップごとに、前記入力値と前記出力値の排他的論理和を演算する演算回路を有することを特徴とする請求項1または2に記載の電子回路装置。 The plurality of register circuits are provided with first flip-flops and second flip-flops alternately,
When the first flip-flop detects a rising edge of a clock signal, the first flip-flop holds and outputs the input value;
When the second flip-flop detects a falling edge of the clock signal, the second flip-flop holds and outputs the input value;
The said comparison circuit has an arithmetic circuit which calculates the exclusive OR of the said input value and the said output value for every said 1st flip-flop and said 2nd flip-flop. Electronic circuit device.
前記複数段のレジスタ回路に、所定のパタンに従って値を順次に出力する出力部と、
前記電子回路装置に対し、前記複数段のレジスタ回路のうち、入力された値と出力した値が不一致であるレジスタ回路の出力値を固定し、該固定値が出力された後、前記固定値が他の値に切り替えるように指示する指示部と、
前記複数段のレジスタ回路から順次に出力された値が切り替わる境界を検出することにより、前記複数段のレジスタ回路のうち、入力された値と出力した値が不一致であるレジスタ回路を特定する特定部とを有することを特徴とする試験装置。 In a test apparatus that performs a boundary scan test of an electronic circuit device provided with a plurality of register circuits that sequentially hold and output input values,
An output unit for sequentially outputting values to the plurality of register circuits according to a predetermined pattern;
For the electronic circuit device, the output value of the register circuit in which the input value and the output value do not match among the plurality of register circuits is fixed, and after the fixed value is output, the fixed value is An instruction unit for instructing to switch to another value;
A specifying unit that identifies a register circuit in which an input value and an output value do not match among the plurality of register circuits by detecting a boundary where values sequentially output from the register circuits in the plurality of stages are switched. And a test apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015004801A JP6413777B2 (en) | 2015-01-14 | 2015-01-14 | Electronic circuit device and test device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015004801A JP6413777B2 (en) | 2015-01-14 | 2015-01-14 | Electronic circuit device and test device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016130680A JP2016130680A (en) | 2016-07-21 |
JP6413777B2 true JP6413777B2 (en) | 2018-10-31 |
Family
ID=56415480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015004801A Expired - Fee Related JP6413777B2 (en) | 2015-01-14 | 2015-01-14 | Electronic circuit device and test device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6413777B2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5549757A (en) * | 1978-10-03 | 1980-04-10 | Nec Corp | Test method of testing shift path |
JP3021845B2 (en) * | 1991-10-02 | 2000-03-15 | 日本電気株式会社 | Logic circuit test method |
JP2838458B2 (en) * | 1992-06-03 | 1998-12-16 | 三菱電機株式会社 | Integrated circuit device |
JPH112664A (en) * | 1997-06-13 | 1999-01-06 | Kawasaki Steel Corp | Boundary scan register |
JP2003172768A (en) * | 2001-12-10 | 2003-06-20 | Nef:Kk | Integrated circuit |
JP2005106545A (en) * | 2003-09-29 | 2005-04-21 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit |
JP2007170959A (en) * | 2005-12-21 | 2007-07-05 | Oki Electric Ind Co Ltd | Semiconductor integrated circuit and design method therefor |
JP2008042367A (en) * | 2006-08-03 | 2008-02-21 | Renesas Technology Corp | Semiconductor device |
-
2015
- 2015-01-14 JP JP2015004801A patent/JP6413777B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016130680A (en) | 2016-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3893238B2 (en) | Semiconductor memory device failure analysis device | |
JP2008111772A (en) | Bad timing improvement apparatus of integrated circuit, and apparatus and method for diagnosing bad timing of integrated circuit, and integrated circuit | |
US10496771B2 (en) | Semiconductor apparatus and design apparatus | |
JP2010223672A (en) | Scan test circuit | |
JP4265934B2 (en) | Scan campus circuit, logic circuit including the same, and integrated circuit test method | |
JP2004110265A (en) | Test facilitating method for semiconductor integrated circuit | |
JP6413777B2 (en) | Electronic circuit device and test device | |
EP4227694A1 (en) | Systems and methods to test an asynchronous finite state machine | |
JP2008249622A (en) | Failure diagnosis device and failure diagnosis technique | |
US7392448B2 (en) | Method and apparatus for determining stuck-at fault locations in cell chains using scan chains | |
JPWO2009084424A1 (en) | Semiconductor test apparatus, semiconductor device and test method | |
JP2017059185A (en) | Scan test circuit and scan test device | |
JP2005257366A (en) | Semiconductor circuit device and scan test method concerning semiconductor circuit | |
JP2010032428A (en) | Semiconductor device and method of inspecting semiconductor device | |
JP3531635B2 (en) | Semiconductor integrated circuit device | |
US8539327B2 (en) | Semiconductor integrated circuit for testing logic circuit | |
JP2006162490A (en) | Scan test circuit | |
JP5169356B2 (en) | Program and method for determining connection state of integrated circuit device, and integrated circuit device | |
JP5796404B2 (en) | Semiconductor circuit and test method | |
JP3570944B2 (en) | Semiconductor integrated circuit | |
JP2005283207A (en) | Semiconductor integrated circuit device | |
JP2005147749A (en) | Semiconductor integrated circuit provided with scan circuit, scan circuit system, and scan test system | |
JP5453981B2 (en) | LSI and test data setting method thereof | |
JP2017045090A (en) | Semiconductor integrated circuit and electronic apparatus | |
CN112579332A (en) | Error detection and correction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171113 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180829 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180917 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6413777 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |