JP2012208000A - Semiconductor integrated circuit device, scan test circuit design method, scan test circuit design device - Google Patents
Semiconductor integrated circuit device, scan test circuit design method, scan test circuit design device Download PDFInfo
- Publication number
- JP2012208000A JP2012208000A JP2011073526A JP2011073526A JP2012208000A JP 2012208000 A JP2012208000 A JP 2012208000A JP 2011073526 A JP2011073526 A JP 2011073526A JP 2011073526 A JP2011073526 A JP 2011073526A JP 2012208000 A JP2012208000 A JP 2012208000A
- Authority
- JP
- Japan
- Prior art keywords
- scan
- selector
- partial
- circuit
- paths
- 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
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
Description
本発明は、半導体集積回路装置のスキャンテスト回路およびそのスキャンテスト回路設計方法、スキャンテスト回路設計装置に関する。 The present invention relates to a scan test circuit for a semiconductor integrated circuit device, a scan test circuit design method therefor, and a scan test circuit design device.
近年、高集積化・大規模化しているLSIの開発において、LSIの物理的故障を容易に発見可能なスキャンテスト技術の適用は一般的となっている。しかし、高集積化・大規模化に伴ってスキャンテストに費やされる時間が長くなっている。そのため、スキャンテスト時のテスト時間を短縮可能な技術が求められている。一般的には、スキャンパスを複数に分割し、1スキャンパス当たりのスキャン動作サイクル数を少なくすることによりテスト時間の短縮を図っている。スキャンパスの分割数を増やせばテスト時間を大きく短縮することが可能だが、実際にはテスタで使用可能なテストピンの本数などによって制約されるため、スキャンパスの分割数を無制限に増やすことはできない。すなわち、スキャンパスをさらに分割してテスト時間を短縮することは困難であり、テスト時間を短縮する技術が求められている。 In recent years, in the development of highly integrated and large-scale LSIs, it has become common to apply scan test technology that can easily detect physical failures of LSIs. However, the time spent for the scan test has become longer with higher integration and larger scale. Therefore, there is a demand for a technique that can shorten the test time during the scan test. Generally, the test time is shortened by dividing the scan path into a plurality of parts and reducing the number of scan operation cycles per scan path. Although the test time can be greatly shortened by increasing the number of scan campus divisions, it is actually limited by the number of test pins that can be used in the tester, so the scan path division number cannot be increased without limit. . That is, it is difficult to further reduce the test time by further dividing the scan path, and a technique for reducing the test time is required.
複数の機能マクロ回路を装備する半導体集積回路において、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計を可能にする技術が、特開2004−258791号公報に開示されている。図1は、その半導体集積回路のスキャンパス設計方法により設計されたスキャンテスト回路のテスト時の構成図である。 Japanese Patent Application Laid-Open No. 2004-258791 discloses a technology that enables designing of a scan path capable of detecting a failure of an entire semiconductor integrated circuit in a short time with fewer test patterns in a semiconductor integrated circuit equipped with a plurality of function macro circuits. It is disclosed. FIG. 1 is a configuration diagram at the time of a test of a scan test circuit designed by the scan path design method of the semiconductor integrated circuit.
図1に示されように、このスキャンパスでは、機能Aのマクロ回路604に含まれる複数のスキャンフリップフロップ606がシリアル接続(縦列接続)されてなるスキャンパスと、機能Bのマクロ回路605に含まれる複数のスキャンフリップフロップ607がシリアル接続されてなるスキャンパスとがシリアル接続されて1本の長いスキャンパスが構成される。
As shown in FIG. 1, in this scan path, a scan path in which a plurality of scan flip-
機能マクロ回路604に含まれるスキャンフリップフロップ606のうちの一部は、機能マクロ回路605のスキャンフリップフロップ607のうちの一部に接続されている。また、機能マクロ回路604のスキャンフリップフロップ606のうちの一部は、組み合わせ回路613を介して機能マクロ回路605のスキャンフリップフロップ607のうちの一部に接続されている。
A part of the scan flip-
また、機能マクロ回路604と機能マクロ回路605との間に、セレクタ650が配置され、機能マクロ回路604のスキャンパス、すなわちスキャンフリップフロップ606をバイパスすることが可能となっている。セレクタ650は、制御信号生成回路680により生成される切替信号に基づいて、適宜切り替え制御される。スキャンパステスト用のスキャンパターンSIは、スキャンイン端子660から機能マクロ回路604のスキャンパスおよびセレクタ650に入力される。そして、機能マクロ回路605のスキャンパスの出力は、スキャンアウト端子670に接続され、テストを実施した後の演算動作結果SOを出力する。
In addition, a
このスキャンパスでは、スキャンパステスト用のスキャンパターンは、自動テストパターン生成プログラム(Automatic Test Pattern Generator:以下、ATPGと称する。)により生成される。そして、このスキャンパターンに従って各機能マクロ回路や組み合わせ回路が動作し、演算動作結果を出力する。すなわち、スキャンパステスト用のスキャンパターンが入力された各機能マクロ回路及び組み合わせ回路は、各回路の論理に従ってスキャンパステスト用のスキャンパターンを処理し、その処理結果をスキャンフリップフロップ606、607に出力する。そして、スキャンフリップフロップ606、607に保持された演算動作結果は、直列に順次シフトしながらスキャンアウト端子670から出力される。そして、スキャンアウト端子670から順次出力される出力信号SOは、予め準備される各機能マクロ回路及び組み合わせ回路の論理を考慮した期待値と比較され、各機能マクロ回路、組み合わせ回路及びこれらの接続状態の良/不良の判定がなされる。
In this scan path, a scan pattern for a scan path test is generated by an automatic test pattern generator (hereinafter referred to as ATPG). Then, each functional macro circuit and combinational circuit operate according to this scan pattern, and output the operation result. That is, each functional macro circuit and combinational circuit to which a scan pattern for scan path test has been input processes the scan pattern for scan path test according to the logic of each circuit, and outputs the processing result to scan flip-
ここでは、スキャンパステスト用のスキャンパターンとして、機能マクロ回路、組み合わせ回路及びこれらの接続を一括してテスト可能なスキャンパターンが生成され、入力される。すなわち、このスキャンパスでは、機能マクロ回路、組み合わせ回路及びこれらの接続を一括して、すなわちLSI全体の故障検出を可能に生成したスキャンパステスト用のスキャンパターンを入力することによりLSI全体の故障検出が一括して行われる。 Here, as a scan pattern for a scan path test, a scan pattern capable of collectively testing the functional macro circuit, the combinational circuit, and their connection is generated and input. That is, in this scan path, failure detection of the entire LSI is performed by inputting a scan pattern for the scan path test generated in a lump to detect the failure of the entire LSI, that is, the function macro circuit, the combinational circuit, and their connections. Is performed at once.
そして、このスキャンパスでは、セレクタ650を備えることにより、故障検出率が所定の検出率に達した機能マクロ回路をバイパスしてテストを行える構成となっている。すなわち、ATPGは、スキャンパターンを生成して機能マクロ回路の故障検出率が所定の検出率に達したことを検出すると、セレクタ650の選択を切り替えるように制御信号生成回路680に信号を供給するデータを生成する。制御信号生成回路680は、その信号に基づいて、セレクタ650を制御して該当する機能マクロ回路のスキャンフリップフロップをバイパスする。具体的には、制御信号生成回路680は、セレクタ650に対して切替制御信号を供給する。このスキャンパスは、故障検出率が所定の検出率に達した機能マクロ回路604をバイパスする。
In this scan path, the
これにより、このスキャンパスでは、故障検出率が所定の検出率に達した機能マクロ回路604をバイパスしてテストを行うことができる。故障検出の終了した機能マクロ回路をテスト対象から除外するようにスキャンパスの接続を変更するため、より少ないスキャンパターンでテストを行うことができる。したがって、このスキャンパスにおいては、不必要なスキャンパターンの生成が不要となる。また、不要なテスト時間を削減してテスト時間の短縮を図ることが可能である。このように、スキャンテスト回路構成では、ある機能マクロ回路が閾値とする目標故障検出率に達した場合に、当該機能マクロ回路のスキャンテストに必要な分のスキャンパスをバイパスしてテスト時間削減を実現している。
As a result, in this scan path, the
一方、スキャンパスを分割してテスト時間を削減するスキャンテスト手法が一般的に取り入れられている。複数スキャンパスを持つスキャンテスト回路に上記の技術を適用する場合に、テスト時間削減効果が得られないことがある。 On the other hand, a scan test method that divides a scan path to reduce test time is generally adopted. When the above technique is applied to a scan test circuit having a plurality of scan paths, the test time reduction effect may not be obtained.
図2は、4つの機能マクロ回路610、620、630、640を2本のスキャンパス601、602によってテストする回路に、上記技術を適用した回路のテスト時の構成例を示す。図2に示されるスキャンテスト回路は、図1に示されるスキャンテスト回路を2つ並列に配置した回路に相当する。ここで、機能マクロ回路610のスキャンテストは部分スキャンパス611にて行われ、機能マクロ回路620のスキャンテストは部分スキャンパス621にて行われ、機能マクロ回路630のスキャンテストは部分スキャンパス632にて行われ、機能マクロ回路640のスキャンテストは部分スキャンパス642にて行われる。
FIG. 2 shows a configuration example at the time of testing a circuit in which the above technique is applied to a circuit that tests four
部分スキャンパス611と部分スキャンパス621とを縦列に接続して1本のスキャンパス601が構築される。機能マクロ回路610、機能マクロ回路620のいずれかが目標故障検出率に達した場合に、部分スキャンパス611、621をバイパスするためのセレクタ651、652が、それぞれ部分スキャンパス611、621の後段に配置される。更に、スキャンパス601は、LSI外部からスキャンパターンデータSI1を入力するためのスキャンイン端子661と、スキャンテスト結果SO1をLSI外部で観測するためのスキャンアウト端子671とに接続される。したがって、スキャンパス601は、スキャンイン端子661→部分スキャンパス611→セレクタ651→部分スキャンパス621→セレクタ652→スキャンアウト端子671の順にデータが流れるスキャンパスとして構成される。つまり、機能マクロ回路610、機能マクロ回路620は、スキャンパス601にてテストされる。
One
部分スキャンパス632と部分スキャンパス642とを縦列に接続して1本のスキャンパス602が構築される。機能マクロ回路630、機能マクロ回路640のいずれかが目標故障検出率に達した場合に、部分スキャンパス632、642をバイパスするためのセレクタ653、654が、それぞれ部分スキャンパス632、642の後段に配置される。更に、スキャンパス602は、LSI外部からスキャンパターンデータSI2を入力するためのスキャンイン端子662と、スキャンテスト結果SO2をLSI外部で観測するためのスキャンアウト端子672とに接続される。したがって、スキャンパス602は、スキャンイン端子662−部分スキャンパス632−セレクタ653−部分スキャンパス642−セレクタ654−スキャンアウト端子672の順にデータが流れるスキャンパスとして構成される。つまり、機能マクロ回路630、機能マクロ回路640は、スキャンパス602にてテストされる。
One
このとき、スキャンパターンデータは、予めATPG(Automatic Test Pattern Generator)等の自動生成ツールにより生成される。複数のスキャンパスを持つスキャンテスト回路では、その複数のスキャンパスをパラレル動作させてテストが行われるため、いずれかのスキャンパスがテスト完了したとしても他の全てのスキャンパスがテスト完了しなければ全体でのテスト完了とはならない。つまり、LSIのスキャンテスト時間は最長スキャンパスのテスト時間に支配される。 At this time, the scan pattern data is generated in advance by an automatic generation tool such as ATPG (Automatic Test Pattern Generator). In a scan test circuit having a plurality of scan paths, a test is performed by operating the plurality of scan paths in parallel. Even if one of the scan paths is completed, all the other scan paths must be completed. The whole test is not completed. That is, the LSI scan test time is governed by the test time of the longest scan path.
図2に示されるスキャンテスト回路の場合、スキャンテスト開始時は、スキャンパス601、602共に1パターンあたり16サイクル(スキャンパス上のスキャンフリップフロップが共に16個であるため)のテスト時間でスキャンテストが行われる。テストが進み、例えば機能マクロ回路620が目標故障検出率に達すれば、スキャンパス601から部分スキャンパス621をバイパスさせる動作が働き、部分スキャンパス621のスキャンフリップフロップ8個がバイパスされる。そのため、スキャンパス601から1パターンあたり8サイクルを削減できる。しかし、スキャンパス602上のスキャンフリップフロップはいずれもバイパスされないため、スキャンパス602は1パターンあたり16サイクル(スキャンパス上のスキャンフリップフロップが共に16個であるため)のテスト時間が必要なことに変わりはない。この状態では、LSIのスキャンテスト時間はスキャンパス602のテスト時間に支配され、1パターン当たり16サイクルが必要なままである。そのため、スキャンパス601から部分スキャンパス621をバイパスさせてもテスト時間短縮の効果が得られない。このように、複数のスキャンパスを持つスキャンテスト回路の場合、機能マクロ回路のスキャンパスをバイパスしてもテスト時間削減効果が得られないことがある。
In the case of the scan test circuit shown in FIG. 2, at the start of the scan test, the scan test is performed at a test time of 16 cycles per pattern for both the
特開2004−077356号公報には、1入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法が開示されている。このスキャンチェーン構築方法では、スキャンフリップフロップそれぞれのデータ入力端に接続される組合せ回路のテストに必要なテストパターン数がそれぞれ算出される。算出テストパターン数に対応してグループ化し、それぞれのグループ内のスキャンフリップフロップをグループ単位にそれぞれバイパスさせるセレクタがグループ間にそれぞれ挿入され、スキャンチェーンが構築される。 Japanese Patent Application Laid-Open No. 2004-077356 discloses a scan chain construction method for testing a scan chain in which scan flip-flops are cascade-connected and a combination circuit composed of a one-input buffer or a plurality of input logic circuits. . In this scan chain construction method, the number of test patterns necessary for testing a combinational circuit connected to each data input terminal of each scan flip-flop is calculated. Selectors that are grouped according to the number of calculated test patterns and that bypass the scan flip-flops within each group are inserted between the groups, thereby constructing a scan chain.
また、特開2004−286549号公報には、半導体装置のスキャンチェーンのフリップフロップ段数に差が生じている場合に、スキャンテスト時にスキャンチェーンのフリップフロップの段数を平均化して動作させる技術が開示されている。スキャンテスト装置は、フリップフロップ段数の多いスキャンチェーンを分割して部分スキャンチェーンを形成する機能と、部分スキャンチェーンに対してフリップフロップ段数の少ないスキャンチェーンを連結して新たなスキャンチェーンを形成する機能とを備える。 Japanese Patent Application Laid-Open No. 2004-286549 discloses a technique for averaging and operating the number of flip-flops in the scan chain during a scan test when there is a difference in the number of flip-flops in the scan chain of the semiconductor device. ing. The scan test equipment splits a scan chain with a large number of flip-flop stages to form a partial scan chain, and a function to connect a scan chain with a small number of flip-flop stages to a partial scan chain to form a new scan chain. With.
さらに、特開2000−090137号公報には、スキャンパスの分割数と各論理ブロックの配置情報、各論理ブロック内のスキャンパステスト対象FF数を利用して各論理ブロック内に割り当てるスキャンパス分割本数を配線面積が最小になるように決定する設計法が開示されている。このテスト容易化半導体集積回路の設計方法では、FF総数と、スキャンパス構築本数から均等な長さのスキャンパス1本当たりの長さを計算し、各論理ブロックの仮配置情報から各論理ブロックの隣接関係を求め、各論理ブロックの接続関係の組み合せを洗い出す。この接続関係に基づいてスキャンパスを割り当てていく。ブロック間の配線面積が最小になる各論理ブロックの分割数を対象の集積回路のスキャンパス分割構成とする。 Further, Japanese Patent Laid-Open No. 2000-090137 discloses the number of scan path divisions allocated in each logical block using the number of scan path divisions, the arrangement information of each logical block, and the number of scan path test target FFs in each logical block. A design method for determining the wiring area to minimize the wiring area is disclosed. In the design method of the test easy semiconductor integrated circuit, the length per one scan path having a uniform length is calculated from the total number of FFs and the number of scan path constructions, and each logical block is calculated from the temporary arrangement information of each logical block. An adjacency relationship is obtained and a combination of connection relationships of each logical block is identified. Scan paths are assigned based on this connection relationship. The division number of each logical block that minimizes the wiring area between the blocks is the scan path division configuration of the target integrated circuit.
また、特開平09−005403号公報には、スキャンパステスト法におけるテストパターンを削減する技術が開示されている。スキャンパステスト回路のシフトレジスタを複数の群に分割し、分割した場所にバイパス用セレクタ回路が挿入される。シフトレジスタの分割に対応してフリップフロップ回路のクロック信号にラッチ回路が挿入される。バイパスされた群に属するフリップフロップ回路を作動させないように制御する。 Japanese Patent Application Laid-Open No. 09-005403 discloses a technique for reducing test patterns in a scan path test method. The shift register of the scan path test circuit is divided into a plurality of groups, and a bypass selector circuit is inserted at the divided position. A latch circuit is inserted into the clock signal of the flip-flop circuit corresponding to the division of the shift register. Control is performed so that the flip-flop circuits belonging to the bypassed group are not operated.
本発明は、複数のスキャンパスを有するスキャンテスト回路のスキャンテスト時間を短縮することができる半導体集積回路装置、スキャンテスト設計方法、スキャンテスト回路設計装置を提供する。 The present invention provides a semiconductor integrated circuit device, a scan test design method, and a scan test circuit design device that can shorten the scan test time of a scan test circuit having a plurality of scan paths.
以下に、[発明を実施するための形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。 Hereinafter, means for solving the problem will be described using the numbers and symbols used in the “DETAILED DESCRIPTION”. These numbers and symbols are added to clarify the correspondence between the description of [Claims] and [Mode for Carrying Out the Invention]. However, these numbers and symbols should not be used for the interpretation of the technical scope of the invention described in [Claims].
本発明の観点では、半導体集積回路装置は、回路ブロック(110、120、130、140、150、160、170)と、制御回路(200、201)とを具備する。回路ブロック(110、120、130、140、150、160、170)は、複数のスキャンフリップフロップと、セレクタ(211/212、221/222、231/232、241/242、251/252、261/262、271/272)とを備える。複数のスキャンフリップフロップは、スキャンテストするときに、スキャンフリップフロップがシフトレジスタ状に接続されて形成される複数のスキャンパス(401/402、501/502)のそれぞれに割り当てられ、複数のスキャンパスと同数の複数の部分スキャンパス(111/112、121/122、131/132、141/142、151/152、161/162、171/172)を形成する。セレクタ(211/212、221/222、231/232、241/242、251/252、261/262、271/272)は、複数の部分スキャンパスの後段に設けられ、複数の部分スキャンパスをバイバスする。制御回路(200、201)は、セレクタが複数の部分スキャンパスをバイパスするか否かを制御する。 In an aspect of the present invention, the semiconductor integrated circuit device includes a circuit block (110, 120, 130, 140, 150, 160, 170) and a control circuit (200, 201). The circuit block (110, 120, 130, 140, 150, 160, 170) includes a plurality of scan flip-flops and selectors (211/212, 221/222, 231/232, 241/242, 251/252, 261 / 262, 271/272). The plurality of scan flip-flops are assigned to each of a plurality of scan paths (401/402, 501/502) formed by connecting the scan flip-flops in a shift register shape when performing a scan test. The same number of partial scan paths (111/112, 121/122, 131/132, 141/142, 151/152, 161/162, 171/172) are formed. The selectors (211/212, 221/222, 231/232, 241/242, 251/252, 261262, 271/2272) are provided in the subsequent stage of the plurality of partial scan paths, and the plurality of partial scan paths are bypassed. To do. The control circuit (200, 201) controls whether the selector bypasses a plurality of partial scan paths.
本発明の他の観点では、複数のスキャンパスを使用してスキャンテストを行う半導体集積回路装置のスキャンテスト回路を設計するスキャンテスト回路設計方法は、半導体集積回路装置の回路ブロックに含まれる複数のスキャンフリップフロップを複数のスキャンパスのそれぞれに割り当てるステップと、割り当てられたスキャンフリップフロップをシフトレジスタ状に接続して複数のスキャンパスと同数の複数の部分スキャンパスを設定するステップと、複数の部分スキャンパスのそれぞれの後段に複数の部分スキャンパスをバイパスするセレクタを配置するステップと、回路ブロックの複数の部分スキャンパスおよびセレクタを縦続接続して複数のスキャンパスを設定するステップと、セレクタが複数の部分スキャンパスをバイパスするか否かを制御する制御回路を生成するステップとを具備する。 In another aspect of the present invention, a scan test circuit design method for designing a scan test circuit of a semiconductor integrated circuit device that performs a scan test using a plurality of scan paths includes a plurality of scan blocks included in a circuit block of the semiconductor integrated circuit device. Assigning scan flip-flops to each of a plurality of scan paths, connecting the assigned scan flip-flops in a shift register to set a plurality of partial scan paths equal to the plurality of scan paths, and a plurality of parts Arranging a selector that bypasses multiple partial scan paths at each subsequent stage of the scan path, a step of cascading multiple partial scan paths and selectors of a circuit block to set multiple scan paths, and multiple selectors Bypass the partial scan path And a step of generating a control circuit for controlling whether or not.
また、本発明の他の観点では、複数のスキャンパスを使用してスキャンテストを行う半導体集積回路装置のスキャンテスト回路を設計するスキャンテスト回路設計装置は、部分スキャンパス生成部と、セレクタ生成部と、制御回路生成部とを具備する。部分スキャンパス生成部は、半導体集積回路装置の回路ブロックに含まれる複数のスキャンフリップフロップを複数のスキャンパスのそれぞれに割り当て、複数のスキャンパスと同数の複数の部分スキャンパスを設定する。セレクタ生成部は、複数の部分スキャンパスをバイバスするセレクタを複数の部分スキャンパスの後段に設ける。制御回路生成部は、セレクタが複数の部分スキャンパスをバイパスするか否かを制御する制御回路を設ける。 According to another aspect of the present invention, a scan test circuit design device for designing a scan test circuit of a semiconductor integrated circuit device that performs a scan test using a plurality of scan paths includes a partial scan path generation unit, a selector generation unit, And a control circuit generation unit. The partial scan path generation unit assigns a plurality of scan flip-flops included in the circuit block of the semiconductor integrated circuit device to each of the plurality of scan paths, and sets a plurality of partial scan paths equal to the plurality of scan paths. The selector generation unit provides a selector that bypasses the plurality of partial scan paths in the subsequent stage. The control circuit generation unit includes a control circuit that controls whether the selector bypasses the plurality of partial scan paths.
さらに、本発明の他の観点では、複数のスキャンパスを使用してスキャンテストを行う半導体集積回路装置のスキャンテスト回路を設計するテスト回路の設計プログラムは、半導体集積回路装置の回路ブロックに含まれる複数のスキャンフリップフロップを複数のスキャンパスのそれぞれに割り当てるステップと、割り当てられたスキャンフリップフロップをシフトレジスタ状に接続して複数のスキャンパスと同数の複数の部分スキャンパスを設定するステップと、複数の部分スキャンパスのそれぞれの後段に複数の部分スキャンパスをバイパスするセレクタを配置するステップと、回路ブロックの複数の部分スキャンパスおよびセレクタを縦続接続して複数のスキャンパスを設定するステップと、セレクタが複数の部分スキャンパスをバイパスするか否かを制御する制御回路を生成するステップとをコンピュータに実行させる。 Furthermore, in another aspect of the present invention, a test circuit design program for designing a scan test circuit of a semiconductor integrated circuit device that performs a scan test using a plurality of scan paths is included in a circuit block of the semiconductor integrated circuit device. Assigning a plurality of scan flip-flops to each of a plurality of scan paths, connecting the assigned scan flip-flops in a shift register shape to set a plurality of partial scan paths equal to the plurality of scan paths, and a plurality of steps A step of disposing a selector that bypasses a plurality of partial scan paths in each subsequent stage of the plurality of partial scan paths, a step of cascading a plurality of partial scan paths and selectors of a circuit block to set a plurality of scan paths, and a selector Bypass multiple partial scan paths To perform the steps on a computer to generate a control circuit for controlling whether or not to scan.
本発明によれば、複数のスキャンパスを有するテスト回路のスキャンテスト時間を短縮することができる半導体集積回路装置、スキャンテスト回路設計方法、スキャンテスト回路設計装置を提供することができる。 According to the present invention, it is possible to provide a semiconductor integrated circuit device, a scan test circuit design method, and a scan test circuit design device that can shorten the scan test time of a test circuit having a plurality of scan paths.
図面を参照して本発明を実施するための形態が説明される。 A mode for carrying out the present invention will be described with reference to the drawings.
(第1の実施の形態)
図3は、本発明の第1の実施の形態に係る半導体集積回路装置のスキャンテスト時の構成を示す図である。半導体集積回路装置は、スキャンテスト対象機能として4つの機能マクロ回路110、120、130、140と、制御信号生成回路200と、セレクタ211、212、221、222、231、232、241、242とを有する。この半導体集積回路装置には2本のスキャンパス401、402が設定され、これらの機能マクロ回路に対するスキャンテストが実施される。
(First embodiment)
FIG. 3 is a diagram showing a configuration during a scan test of the semiconductor integrated circuit device according to the first embodiment of the present invention. The semiconductor integrated circuit device includes four function
機能マクロ回路110は、組み合わせ回路113と複数のスキャンフリップフロップとを含む。機能マクロ回路110に含まれる複数のスキャンフリップフロップは、スキャンパス401、402に対応して2つに分けられ、スキャンテスト時にそれぞれ部分スキャンパス111、112を形成する。部分スキャンパス111の入力ノードは、スキャンイン端子411に接続され、スキャンパターンSI1が入力される。部分スキャンパス111の後段には、セレクタ211が設けられる。セレクタ211の入力ノードa、bは、部分スキャンパス111の出力ノード、入力ノードにそれぞれ接続される。また、部分スキャンパス112の入力ノードは、スキャンイン端子412に接続され、スキャンパターンSI2が入力される。部分スキャンパス112の後段には、セレクタ212が設けられる。セレクタ212の入力ノードa、bは、部分スキャンパス112の出力ノード、入力ノードにそれぞれ接続される。したがって、セレクタ211、212を制御することにより、部分スキャンパス111、112をバイパスすることができる。
The functional
機能マクロ回路120は、組み合わせ回路123と複数のスキャンフリップフロップとを含む。機能マクロ回路120に含まれる複数のスキャンフリップフロップは、スキャンパス401、402に対応して2つに分けられ、スキャンテスト時にそれぞれ部分スキャンパス121、122を形成する。部分スキャンパス121の入力ノードは、セレクタ211の出力ノードcに接続され、部分スキャンパス121の後段には、セレクタ221が設けられる。セレクタ221の入力ノードa、bは、部分スキャンパス121の出力ノード、入力ノードにそれぞれ接続される。また、部分スキャンパス122の入力ノードは、セレクタ212の出力ノードcに接続され、部分スキャンパス122の後段には、セレクタ222が設けられる。セレクタ222の入力ノードa、bは、部分スキャンパス122の出力ノード、入力ノードにそれぞれ接続される。したがって、セレクタ221、222を制御することにより、部分スキャンパス121、122をバイパスすることができる。
The functional
機能マクロ回路130は、組み合わせ回路133と複数のスキャンフリップフロップとを含む。機能マクロ回路130に含まれる複数のスキャンフリップフロップは、スキャンパス401、402に対応して2つに分けられ、スキャンテスト時にそれぞれ部分スキャンパス131、132を形成する。部分スキャンパス131の入力ノードは、セレクタ221の出力ノードcに接続され、部分スキャンパス131の後段には、セレクタ231が設けられる。セレクタ231の入力ノードa、bは、部分スキャンパス131の出力ノード、入力ノードにそれぞれ接続される。また、部分スキャンパス132の入力ノードは、セレクタ222の出力ノードcに接続され、部分スキャンパス132の後段には、セレクタ232が設けられる。セレクタ232の入力ノードa、bは、部分スキャンパス132の出力ノード、入力ノードにそれぞれ接続される。したがって、セレクタ231、232を制御することにより、部分スキャンパス131、132をバイパスすることができる。
The functional
機能マクロ回路140は、組み合わせ回路143と複数のスキャンフリップフロップとを含む。機能マクロ回路140に含まれる複数のスキャンフリップフロップは、スキャンパス401、402に対応して2つに分けられ、スキャンテスト時にそれぞれ部分スキャンパス141、142を形成する。部分スキャンパス141の入力ノードは、セレクタ231の出力ノードcに接続され、部分スキャンパス141の後段には、セレクタ241が設けられる。セレクタ241の入力ノードa、bは、部分スキャンパス141の出力ノード、入力ノードにそれぞれ接続される。また、部分スキャンパス142の入力ノードは、セレクタ232の出力ノードcに接続され、部分スキャンパス142の後段には、セレクタ242が設けられる。セレクタ242の入力ノードa、bは、部分スキャンパス142の出力ノード、入力ノードにそれぞれ接続される。したがって、セレクタ241、242を制御することにより、部分スキャンパス141、142をバイパスすることができる。セレクタ241の出力ノードcは、スキャンアウト端子421に接続され、セレクタ242の出力ノードcはスキャンアウト端子422に接続される。スキャンアウト端子421、422から出力されるスキャンテスト結果SO1、SO2は、LSI外部で観測される。
The functional
制御信号生成回路200は、スキャンテストを実施する機能マクロ回路数と同数のフリップフロップを有する。すなわち、制御信号生成回路200は、スキャンテスト対象に対応するフリップフロップ210、220、230、240を備える。フリップフロップ210、220、230、240は、直列に接続され、所定のクロック信号に応答してデータをシフトするシフトレジスタを形成する。フリップフロップ210の入力ノードは、設定入力端子413に接続され、外部から設定信号PIを入力する。直列に接続されるフリップフロップ210、220、230、240は、設定入力端子413から入力される設定信号PIをシフト動作にて各フリップフロップに送り、データが設定可能になっている。フリップフロップ210の出力は、セレクタ211/212の選択制御ノードに接続される。フリップフロップ220の出力は、セレクタ221/222の選択制御ノードに接続される。フリップフロップ230の出力は、セレクタ231/232の選択制御ノードに接続される。フリップフロップ240の出力は、セレクタ241/242の選択制御ノードに接続される。制御信号生成回路200は、機能マクロ回路110、140、120、130のテストに使用されるスキャンパスのいずれかをバイパスするか否かを制御する。なお、図1では、設定入力端子413が1本の場合を示している。この場合4つのフリップフロップに値を設定するのに4サイクル必要となり、設定入力端子413(PI)が複数本準備できる場合は、フリップフロップを直列ではなく並列に並べる構成にして、値の設定に必要なサイクルを削減する事も可能である。
The control
したがって、いずれのスキャンパスもバイパスせずに1チップでテストする場合には、スキャンパス401では、スキャンイン端子411→スキャンパス111→セレクタ211→スキャンパス121→セレクタ221→スキャンパス131→セレクタ231→スキャンパス141→セレクタ241→スキャンアウト端子421の順にスキャンデータが通過する。また、スキャンパス402では、スキャンイン端子412→スキャンパス112→セレクタ212→スキャンパス122→セレクタ222→スキャンパス132→セレクタ232→スキャンパス142→セレクタ242→スキャンアウト端子422の順にスキャンデータが通過する。
Therefore, when testing with one chip without bypassing any scan path, in the
第1の実施の形態に係るテスト回路の動作について説明する。 The operation of the test circuit according to the first embodiment will be described.
当該半導体集積回路装置のスキャンテストを実施するユーザは、スキャンテスト開始前に、各機能マクロ回路のスキャンパスをバイパスするための条件として各機能マクロ回路の目標故障検出率を決定しておく。スキャンテストにおけるスキャンパターンデータは、ATPG(Automatic Test Pattern Generator)により生成されるが、目標故障検出率に達した機能マクロ回路をバイパスした状態のスキャンパターンデータが生成される。 A user who performs a scan test of the semiconductor integrated circuit device determines a target failure detection rate of each function macro circuit as a condition for bypassing the scan path of each function macro circuit before the start of the scan test. The scan pattern data in the scan test is generated by ATPG (Automatic Test Pattern Generator), but the scan pattern data in a state of bypassing the function macro circuit that has reached the target failure detection rate is generated.
スキャンテスト開始前に、制御信号生成回路200のフリップフロップ210、220、230、240にセレクタのバイパス制御が無効となるデータが設定される。すなわち、セレクタ211、212、221、222、231、232、241、242は、それぞれバイパスしない部分スキャンパス111、112、121、122、131、132、141、142を選択するように設定される。したがって、スキャンテスト開始直後は、バイパスされない前述のスキャンパス401、402によって全機能マクロ回路に対して故障検出が行われることになる。
Prior to the start of the scan test, data that disables the bypass control of the selector is set in the flip-
その状態を保持したままスキャンイン端子411、412からスキャンパス401、402にスキャンパターンデータSI1、SI2が入力され、テスト結果SO1、SO2がスキャンアウト端子421、422から読み出され、スキャンテストが行われる。
The scan pattern data SI1 and SI2 are input to the
スキャンテスト開始前に設定されたスキャンパスのバイパス条件である目標検出率をいずれかの機能マクロ回路が満たすスキャンパターンデータまで実行されると、制御信号生成回路200に設定端子413から設定信号PIが入力されて、バイパス条件を満たす機能マクロ回路の部分スキャンパスをバイパスする。例えば、機能マクロ回路110が最初に条件を満たすと、設定入力端子413を介して設定信号PIが入力され、制御信号生成回路200のフリップフロップ210のデータが書き換えられる。制御信号生成回路200から出力されるバイパス制御信号に基づいて、セレクタ211、212は、選択入力を入力ノードaから入力ノードbに切り替える。すなわち、制御信号生成回路200のフリップフロップ210の値は、バイパス制御が有効となる値に更新される。さらに言い換えると、フリップフロップ210は、機能マクロ回路110の部分スキャンパス111、112の出力データではなく、部分スキャンパス111、112の入力データ(スキャンイン端子411、412から入力されるスキャンインデータSI1、SI2)がセレクタ211、212の出力ノードcへ伝播するようにセレクタを制御する値に更新される。したがって、スキャンパス401、402からそれぞれス部分キャンパス111、112がバイパスされる。
When the scan pattern data that satisfies the target detection rate, which is the bypass condition of the scan path set before the start of the scan test, satisfies any of the function macro circuits, the setting signal PI is sent from the setting
この結果、スキャンパス401は、スキャンイン端子411→セレクタ211→スキャンパス121→セレクタ221→スキャンパス131→セレクタ231→スキャンパス141→セレクタ241→スキャンアウト端子421の経路に更新される。スキャンパス402は、スキャンイン端子412→セレクタ212→スキャンパス122→セレクタ222→スキャンパス132→セレクタ232→スキャンパス142→セレクタ242→スキャンアウト端子422の経路に更新される。これ以降は、機能マクロ回路120、130、140のいずれかが、目標故障検出率に達するスキャンパターンデータによるテストが行われるまで、制御信号生成回路200のフリップフロップ210、220、230、240の値は、更新された値を保持して、テストが行われる。
As a result, the
機能マクロ回路120、130、140のいずれかが目標故障検出率に達すると、目標故障検出率に達した機能マクロ回路のスキャンパスをバイパスする動作が開始される。例えば、機能マクロ回路140が次に条件を満たすと、設定入力端子413を介して設定信号PIが入力され、制御信号生成回路200のフリップフロップ240のデータが書き換えられる。制御信号生成回路200から出力されるバイパス制御信号に基づいて、セレクタ241、242は、選択入力を入力ノードaから入力ノードbに切り替える。すなわち、制御信号生成回路200のフリップフロップ240の値は、バイパス制御が有効となる値に更新される。さらに言い換えると、フリップフロップ240は、機能マクロ回路140の部分スキャンパス141、142の出力データではなく、部分スキャンパス141、142の入力データ(セレクタ231、232のノードcから出力されるデータ)がセレクタ241、242の出力ノードcへ伝播するようにセレクタを制御する値に更新される。したがって、スキャンパス401、402からそれぞれ部分スキャンパス141、142がバイパスされる。
When one of the functional
この結果、スキャンパス401は、スキャンイン端子411→セレクタ211→スキャンパス121→セレクタ221→スキャンパス131→セレクタ231→セレクタ241→スキャンイン端子421の経路に更新される。スキャンパス402は、スキャンイン端子412→セレクタ212→スキャンパス122→セレクタ222→スキャンパス132→セレクタ232→セレクタ242→スキャンアウト端子422の経路に更新される。
As a result, the
これ以降は、機能マクロ回路120、130のいずれかが、目標故障検出率に達するスキャンパターンデータによるテストが行われるまで、制御信号生成回路200のフリップフロップ210、220、230、240の値は、更新された値を保持し、テストが行われる。機能マクロ回路120、130のいずれかが目標故障検出率に達した場合、その機能マクロ回路のスキャンパスをバイパスする動作が同じように行われる。
Thereafter, until one of the function
このように、ユーザによって設定されたバイパス条件を満足する毎に、制御信号生成回路200の設定が更新され、その機能マクロ回路の部分スキャンパスがバイパスされる。したがって、1チップのスキャンパスを短くしてテスト時間を削減しながら、全ての機能がテスト不要と判断されるまでスキャンテストを継続することができる。
Thus, every time the bypass condition set by the user is satisfied, the setting of the control
また、制御信号生成回路200のフリップフロップ210、220、230、240の値の更新は、予め設定されるタイミングで行われる。まず、部分スキャンパスをバイパスしない設定に固定したままATPGによってテストパターンデータ作成を実施し、各機能マクロ回路が目標故障検出率に達するパターン数を確認しておく。また、制御信号生成回路200のフリップフロップの値を更新するスクリプト(ATPGにより実行される)が作成される。ATPGがテストパターンデータを作成して、目標故障検出率になるパターン数に達した時に、ATPGは、そのスクリプトを実行して制御信号生成回路200に供給する設定信号PIのデータを作成する。さらに、目標故障検出率に満たない回路のテストパターンデータを作成する。このような方法により、条件を満たした機能マクロ回路を順にバイパスしてテストするためのデータを作成することができる。ここでは、スキャンパスをバイパスするための条件として目標故障検出率を挙げたが、目標テスト時間を満足するテストパターン数などを条件に選択しても良い。
The values of the flip-
本実施の形態に係るスキャンテスト回路を生成する方法を、図4、図5、図6、図7A、図7Bを参照して、以下に説明する。ここでは、説明を簡単にするために、各機能マクロ回路はスキャンフリップフロップを偶数個備え、それぞれのスキャンパスに均等に割り当てられる場合を示す。 A method of generating the scan test circuit according to the present embodiment will be described below with reference to FIGS. 4, 5, 6, 7A, and 7B. Here, in order to simplify the description, each function macro circuit includes an even number of scan flip-flops and is equally allocated to each scan path.
図4に示されるように、本実施の形態に係るスキャンテスト回路は、初期設定処理(ステップS100)、制御信号生成回路の生成処理(ステップS200)、部分スキャンパスの構築処理(ステップS300)、機能マクロ回路毎のスキャンパスを結合する1チップスキャンパスの構築処理(ステップS400)を行って生成される。初期設定処理(ステップS100)では、処理中に使用される変数の初期値および初期集合の設定が行われる。制御信号生成回路の生成処理(ステップS200)では、テスト対象の機能マクロ回路の数に合わせて制御信号生成回路200が生成される。部分スキャンパスの構築処理(ステップS300)では、機能マクロ回路毎に生成される部分スキャンパスが設定される。1チップスキャンパスの構築処理(ステップS400)では、ステップS400において生成される機能マクロ回路毎の部分スキャンパスを結合して1チップのスキャンパスが構築される。
As shown in FIG. 4, the scan test circuit according to the present embodiment includes an initial setting process (step S100), a control signal generation circuit generation process (step S200), a partial scan path construction process (step S300), A one-chip scan path construction process (step S400) for combining the scan paths for each function macro circuit is performed. In the initial setting process (step S100), initial values and initial sets of variables used during the process are set. In the generation process of the control signal generation circuit (step S200), the control
初期設定処理(S100)では、スキャンパス構築に必要な変数に初期値および初期集合が設定される。ここでは、回路、端子等は、オブジェクトにより示される。
1)変数Nには、対象の半導体集積回路装置内に構築されるスキャンパスの数が設定される。ここでは、スキャンパス401、402の2本であるから、N=2となる。
2)変数Xには、テスト対象とする機能マクロ回路数が設定される。ここでは、機能マクロ回路110、120、130、140の4回路であるから、X=4となる。
3)変数T〔X−1:0〕には、テスト対象とする機能マクロ回路の集合が設定される。ここでは、機能マクロ回路110、120、130、140の4回路であるから、T〔3:0〕={機能マクロ回路140、機能マクロ回路130、機能マクロ回路120、機能マクロ回路110}となる。
4)変数M〔X−1:0〕には、T〔X−1:0〕により示される機能マクロ回路の部分スキャンパス長を示す数値が設定される。初期設定の時点では、初期値φ(空集合)が設定される。
5)変数SI〔N−1:0〕には、初期設定の時点ではスキャンイン端子の集合が設定される。ここでは、スキャンイン端子はスキャンパス2本に対応して2つであるから、SI〔1:0〕={スキャンイン端子412、スキャンイン端子411}となる。変数SIは、処理中においては、結合されたスキャンパスの終端(出力ノード)を示す。
6)変数SO〔N−1:0〕には、スキャンアウト端子の集合が設定される。ここでは、スキャンアウト端子は、スキャンパス2本に対応して2つであるから、SO〔1:0〕={スキャンアウト端子422、スキャンアウト端子421}となる。
7)変数SP〔X−1:0,N−1:0〕には、T〔X−1:0〕により示されるテスト対象の機能マクロ回路毎に、テストするためのN本の部分スキャンパスの集合が設定される。初期設定の時点では初期値φ(空集合)が設定される。
8)変数SEL〔X−1:0,N−1:0〕には、部分スキャンパスをバイパスするセレクタの集合が設定される。初期設定の時点では初期値φ(空集合)が設定される。
9)変数FF〔X−1:0〕には、制御信号生成回路200内部に搭載される、各機能マクロ回路の部分スキャンパスのバイパス制御を行うフリップフロップの集合が設定される。ここでは、4個のフリップフロップであるから、FF〔3:0〕={フリップフロップ240、フリップフロップ230、フリップフロップ220、フリップフロップ210}となる。
10)変数PIには、制御信号生成回路200にデータ入力するための設定入力端子413の集合が設定される。ここでは、1個の入力端子であるから、PI={設定入力端子413}となる。
11)変数i、jは、処理中の繰り返し回数を表す変数(繰り返し変数)であり、初期値0が設定される。
In the initial setting process (S100), an initial value and an initial set are set to variables necessary for scan path construction. Here, circuits, terminals, etc. are indicated by objects.
1) In the variable N, the number of scan paths constructed in the target semiconductor integrated circuit device is set. Here, since there are two
2) In the variable X, the number of function macro circuits to be tested is set. Here, since there are four functional
3) A set of functional macro circuits to be tested is set in the variable T [X-1: 0]. Here, since there are four circuits of function
4) In the variable M [X-1: 0], a numerical value indicating the partial scan path length of the functional macro circuit indicated by T [X-1: 0] is set. At the time of initial setting, an initial value φ (empty set) is set.
5) A set of scan-in terminals is set in the variable SI [N-1: 0] at the time of initial setting. Here, since there are two scan-in terminals corresponding to two scan paths, SI [1: 0] = {scan-in
6) A set of scan-out terminals is set in the variable SO [N-1: 0]. Here, since there are two scan-out terminals corresponding to two scan paths, SO [1: 0] = {scan-out
7) The variable SP [X-1: 0, N-1: 0] includes N partial scan paths for testing for each functional macro circuit to be tested indicated by T [X-1: 0]. Is set. At the time of initial setting, an initial value φ (empty set) is set.
8) A set of selectors that bypass the partial scan path is set in the variable SEL [X-1: 0, N-1: 0]. At the time of initial setting, an initial value φ (empty set) is set.
9) In the variable FF [X-1: 0], a set of flip-flops that are mounted inside the control
10) A set of setting
11) Variables i and j are variables (repetition variables) representing the number of repetitions during processing, and an
図5に示されるように、制御信号生成回路の生成処理(ステップS200)は、制御信号生成回路200内のフリップフロップ210、220、230、240と設定入力端子413とを直列に接続する処理である。変数iは、そのフリップフロップの順を示す。FF〔0〕により示される始めのフリップフロップ210のデータ入力ノードと、PIにより示される設定入力端子413とが接続される(ステップS210)。2つ目のフリップフロップを示すFF〔1〕からは、前に接続したフリップフロップに接続することになる。変数iに初期値1が設定される(ステップS214)。FF〔i−1〕によって示される前段のフリップフロップのデータ出力ノードと、FF〔i〕によって示されるフリップフロップのデータ入力ノードとが接続される(ステップS220)。繰り返し変数iの値を+1して(ステップS228)、Xに達するまでステップS220から繰り返す(ステップS230−NO)。したがって、PI−FF〔0〕−FF〔1〕−FF〔2〕−FF〔3〕と接続される。すなわち、図3に示される回路では、設定入力端子413−フリップフロップ210−フリップフロップ220−フリップフロップ230−フリップフロップ240が接続されたことになり、制御信号生成回路200が生成される。ステップS228において、i=X(=4)になると処理を終了する(ステップS230−YES)。
As shown in FIG. 5, the generation process (step S200) of the control signal generation circuit is a process of connecting the flip-
次に、部分スキャンパスの構築処理(ステップS300)を説明する。図6に示されるように、部分スキャンパスの構築処理(ステップS300)では、各機能マクロ回路内のスキャンフリップフロップを接続して部分スキャンパスが生成され、部分スキャンパスの後段にセレクタが接続される。したがって、まず、機能マクロ回路の順を示す繰り返し変数iに初期値0が設定される(ステップS304)。次に、機能マクロ回路内の部分スキャンパスの順を示す繰り返し変数jに初期値0が設定される(ステップS306)。そして、以下の処理が所定の回数繰り返される。
Next, partial scan path construction processing (step S300) will be described. As shown in FIG. 6, in the partial scan path construction process (step S300), a scan flip-flop in each function macro circuit is connected to generate a partial scan path, and a selector is connected to the subsequent stage of the partial scan path. The Therefore, first, the
まず、機能マクロ回路毎の部分スキャンパスの長さが算出される。ここでは、部分スキャンパスには、スキャンフリップフロップが均等に割り当てられる。すなわち、i番目の機能マクロ回路を示すT〔i〕に含まれるスキャンフリップフロップ数を1チップのスキャンパスの数Nで除算した値を、部分スキャンパス長を示すM〔i〕に代入する(ステップS310)。つまり、M〔i〕は、T〔i〕の部分スキャンパス長を表す。 First, the length of the partial scan path for each functional macro circuit is calculated. Here, scan flip-flops are equally allocated to the partial scan paths. That is, a value obtained by dividing the number of scan flip-flops included in T [i] indicating the i-th function macro circuit by the number N of scan paths of one chip is substituted into M [i] indicating the partial scan path length ( Step S310). That is, M [i] represents the partial scan path length of T [i].
ここでは、T〔0〕(=機能マクロ回路110)に含まれるスキャンフリップフロップ数は10、スキャンパス数N=2であるから、M〔0〕=10÷2=5となる。同様に、T〔1〕(=機能マクロ回路120)に含まれるスキャンフリップフロップ数は8、T〔2〕(=機能マクロ回路130)に含まれるスキャンフリップフロップ数は12、T〔3〕(=機能マクロ回路140)に含まれるスキャンフリップフロップ数は6であるから、M[1]=8÷2=4、M[2]=12÷2=6、M[3]=6÷2=3となる。本実施の形態では、スキャンパス数=2であり、スキャンフリップフロップの数が全て偶数として説明されるため、各機能マクロ回路内の部分スキャンパス長は、同じ長さとなる。部分スキャンパス長は、各機能マクロ回路内で同じ長さである必要はないが、全ての部分スキャンパスにスキャンフリップフロップが割り当てられるようにし、均等な長さであることが好ましい。部分スキャンパス長、全体のスキャンパス長がほぼ均等であれば、各パスのテストを終えるタイミングがほぼ同時となり、テスト時間を短縮することが容易になる。 Here, since the number of scan flip-flops included in T [0] (= function macro circuit 110) is 10 and the number of scan paths N = 2, M [0] = 10 ÷ 2 = 5. Similarly, the number of scan flip-flops included in T [1] (= function macro circuit 120) is 8, and the number of scan flip-flops included in T [2] (= function macro circuit 130) is 12, T [3] ( Since the number of scan flip-flops included in the function macro circuit 140) is 6, M [1] = 8 ÷ 2 = 4, M [2] = 12 ÷ 2 = 6, M [3] = 6 ÷ 2 = 3 In the present embodiment, since the number of scan paths = 2 and the number of scan flip-flops is all assumed to be an even number, the partial scan path length in each functional macro circuit is the same. The partial scan path lengths do not have to be the same in each function macro circuit, but it is preferable that the scan flip-flops be assigned to all the partial scan paths, and the partial scan path lengths be equal. If the partial scan path length and the entire scan path length are substantially equal, the timing of finishing the test of each path is almost the same, and it becomes easy to shorten the test time.
機能マクロ回路を示すT〔i〕における部分スキャンパス長M〔i〕が求められると、機能マクロ回路に含まれるM〔i〕個のスキャンフリップフロップを抽出して部分スキャンパスが生成され、部分スキャンパスを示すSP〔i,j〕に格納される(ステップS314)。 When the partial scan path length M [i] at T [i] indicating the functional macro circuit is obtained, the partial scan path is generated by extracting M [i] scan flip-flops included in the functional macro circuit. It is stored in SP [i, j] indicating the scan path (step S314).
本実施の形態では、機能マクロ回路(110、120、130、140)にそれぞれ2本の部分スキャンパス(111/112、121/122、131/132、141/142)が構築される。ループ毎に、
i=0の時、機能マクロ回路110の部分スキャンパスが生成され、
j=0の時、SP〔0,0〕=部分スキャンパス111、
j=1の時、SP〔0,1〕=部分スキャンパス112、
i=1の時、機能マクロ回路120の部分スキャンパスが生成され、
j=0の時、SP〔1,0〕=部分スキャンパス121、
j=1の時、SP〔1,1〕=部分スキャンパス122、
i=2の時、機能マクロ回路130の部分スキャンパスが生成され、
j=0の時、SP〔2,0〕=部分スキャンパス131、
j=1の時、SP〔2,1〕=部分スキャンパス132、
i=3の時、機能マクロ回路140の部分スキャンパスが生成され、
j=0の時、SP〔3,0〕=部分スキャンパス141、
j=1の時、SP〔3,1〕=部分スキャンパス142、
となる。
In the present embodiment, two partial scan paths (111/112, 121/122, 131/132, 141/142) are constructed in the function macro circuit (110, 120, 130, 140), respectively. For each loop,
When i = 0, a partial scan path of the function
When j = 0, SP [0,0] =
When j = 1, SP [0,1] =
When i = 1, a partial scan path of the function
When j = 0, SP [1, 0] =
When j = 1, SP [1,1] =
When i = 2, a partial scan path of the function
When j = 0, SP [2,0] =
When j = 1, SP [2,1] =
When i = 3, a partial scan path of the function
When j = 0, SP [3,0] =
When j = 1, SP [3,1] =
It becomes.
機能マクロ回路がテスト不要と判断された場合に、部分スキャンパス(SP〔i,j〕)をバイパスするためのセレクタが生成され、セレクタを示す値がSEL〔i,j〕に格納される(ステップS318)。 When it is determined that the function macro circuit does not require a test, a selector for bypassing the partial scan path (SP [i, j]) is generated, and a value indicating the selector is stored in SEL [i, j] ( Step S318).
本実施の形態では、機能マクロ回路(110、120、130、140)に形成される2本の部分スキャンパス(111/112、121/122、131/132、141/142)に対してそれぞれ1つずつセレクタ(211/212、221/222、231/232、241/242)が配置される。したがって、ループ毎に、
i=0の時、機能マクロ回路110をバイパスするセレクタが生成され、
j=0の時、SEL〔0,0〕=セレクタ211、
j=1の時、SEL〔0,1〕=セレクタ212、
i=1の時、機能マクロ回路120をバイパスするセレクタが生成され、
j=0の時、SEL〔1,0〕=セレクタ221、
j=1の時、SEL〔1,1〕=セレクタ222、
i=2の時、機能マクロ回路130をバイパスするセレクタが生成され、
j=0の時、SEL〔2,0〕=セレクタ231、
j=1の時、SEL〔2,1〕=セレクタ232、
i=3の時、機能マクロ回路140をバイパスするセレクタが生成され、
j=0の時、SEL〔3,0〕=セレクタ241、
j=1の時、SEL〔3,1〕=セレクタ242、
となる。
In the present embodiment, one is provided for each of the two partial scan paths (111/112, 121/122, 131/132, 141/142) formed in the function macro circuit (110, 120, 130, 140). Selectors (211/212, 221/222, 231/232, 241/242) are arranged one by one. Therefore, for each loop,
When i = 0, a selector that bypasses the function
When j = 0, SEL [0, 0] =
When j = 1, SEL [0, 1] =
When i = 1, a selector that bypasses the function
When j = 0, SEL [1, 0] =
when j = 1, SEL [1,1] =
When i = 2, a selector that bypasses the function
When j = 0, SEL [2,0] =
SEL [2,1] =
When i = 3, a selector that bypasses the function
When j = 0, SEL [3,0] =
When j = 1, SEL [3,1] =
It becomes.
セレクタが生成されると、SEL〔i,j〕により示されるセレクタを制御する信号が印加されるセレクト入力に、当該セレクタのバイパス制御を行う値を保持する制御信号生成回路200内のフリップフロップを示すFF〔i〕(210、220、230、240)の出力が接続される(ステップS322)。
When the selector is generated, a flip-flop in the control
本実施の形態では、各セレクタ(211/212、221/222、231/232、241/242)のセレクト入力ノードとフリップフロップ(210、220、230、240)の出力ノードとが接続される。したがって、ループ毎に、
i=0の時、機能マクロ回路110をバイパスするセレクタが接続され、
j=0の時、SEL〔0,0〕=セレクタ211のセレクト入力ノードにFF〔0〕=フリップフロップ210の出力ノードを接続、
j=1の時、SEL〔0,1〕=セレクタ212のセレクト入力ノードにFF〔0〕=フリップフロップ210の出力ノードを接続、
i=1の時、機能マクロ回路120をバイパスするセレクタが接続され、
j=0の時、SEL〔1,0〕=セレクタ221のセレクト入力ノードにFF〔1〕=フリップフロップ220の出力ノードを接続、
j=1の時、SEL〔1,1〕=セレクタ222のセレクト入力ノードにFF〔1〕=フリップフロップ220の出力ノードを接続、
i=2の時、機能マクロ回路130をバイパスするセレクタが接続され、
j=0の時、SEL〔2,0〕=セレクタ231のセレクト入力ノードにFF〔2〕=フリップフロップ230の出力ノードを接続、
j=1の時、SEL〔2,1〕=セレクタ232のセレクト入力ノードにFF〔2〕=フリップフロップ230の出力ノードを接続、
i=3の時、機能マクロ回路140をバイパスするセレクタが接続され、
j=0の時、SEL〔3,0〕=セレクタ241のセレクト入力ノードにFF〔3〕=フリップフロップ240の出力ノードを接続、
j=1の時、SEL〔3,1〕=セレクタ242のセレクト入力ノードにFF〔3〕=フリップフロップ240の出力ノードを接続、
となる。
In this embodiment, the select input node of each selector (211/212, 221/222, 231/232, 241/242) and the output node of the flip-flop (210, 220, 230, 240) are connected. Therefore, for each loop,
When i = 0, a selector that bypasses the function
When j = 0, SEL [0,0] = the input node of the flip-
When j = 1, SEL [0,1] = connected to the select input node of the
When i = 1, a selector that bypasses the function
When j = 0, SEL [1, 0] = connected to the select input node of the
When j = 1, SEL [1,1] = the input node of the flip-
When i = 2, a selector that bypasses the function
When j = 0, SEL [2,0] = connect input node of
When j = 1, SEL [2,1] = Connect input node of
When i = 3, a selector that bypasses the function
When j = 0, SEL [3,0] = the input node of FF [3] = the flip-
When j = 1, SEL [3,1] = the input node of FF [3] = the flip-
It becomes.
SEL〔i,j〕により示されるセレクタのデータ入力ノードa、bのうち、FF〔i〕により示されるフリップフロップから出力されるバイパス制御信号がバイパスしないことを示すとき(無効時)に選択される側の入力ノードaに、SP〔i,j〕により示される部分スキャンパスの終点を示すスキャンフリップフロップの出力ノードが接続される(ステップS326)。 Of the data input nodes a and b of the selector indicated by SEL [i, j], it is selected when the bypass control signal output from the flip-flop indicated by FF [i] does not bypass (when disabled). The output node of the scan flip-flop indicating the end point of the partial scan path indicated by SP [i, j] is connected to the input node a on the other side (step S326).
本実施の形態では、各セレクタ(SEL〔i,j〕:211、212、221、222、231、232、241、242)のノードaと各部分スキャンパス(SP〔i,j〕:111、112、121、122、131、132、141、142)の終点のスキャンフリップフロップの出力ノードとが接続される。したがって、ループ毎に、
i=0の時、機能マクロ回路110のセレクタが選択され、
j=0の時、SEL〔0,0〕=セレクタ211のノードaと、SP〔0,0〕=部分スキャンパス111の最終段スキャンフリップフロップの出力ノードとを接続、
j=1の時、SEL〔0,1〕=セレクタ212のノードaと、SP〔0,1〕=部分スキャンパス112の最終段スキャンフリップフロップの出力ノードとを接続、
i=1の時、機能マクロ回路120のセレクタが選択され、
j=0の時、SEL〔1,0〕=セレクタ221のノードaと、SP〔1,0〕=部分スキャンパス121の最終段スキャンフリップフロップの出力ノードとを接続、
j=1の時、SEL〔1,1〕=セレクタ222のノードaと、SP〔1,1〕=部分スキャンパス122の最終段スキャンフリップフロップの出力ノードとを接続、
i=2の時、機能マクロ回路130のセレクタが選択され、
j=0の時、SEL〔2,0〕=セレクタ231のノードaと、SP〔2,0〕=部分スキャンパス131の最終段スキャンフリップフロップの出力ノードとを接続、
j=1の時、SEL〔2,1〕=セレクタ232のノードaと、SP〔2,1〕=部分スキャンパス132の最終段スキャンフリップフロップの出力ノードとを接続、
i=3の時、機能マクロ回路140のセレクタが選択され、
j=0の時、SEL〔3,0〕=セレクタ241のノードaと、SP〔3,0〕=部分スキャンパス141の最終段スキャンフリップフロップの出力ノードとを接続、
j=1の時、SEL〔3,1〕=セレクタ242のノードaと、SP〔3,1〕=部分スキャンパス142の最終段スキャンフリップフロップの出力ノードとを接続、
となる。
In this embodiment, node a of each selector (SEL [i, j]: 211, 212, 221, 222, 231, 232, 241, 242) and each partial scan path (SP [i, j]: 111, 112, 121, 122, 131, 132, 141, 142) are connected to the output node of the scan flip-flop at the end point. Therefore, for each loop,
When i = 0, the selector of the function
When j = 0, the node a of SEL [0,0] =
When j = 1, SEL [0,1] = connector node a of the
When i = 1, the selector of the function
When j = 0, SEL [1,0] = connector node a of
When j = 1, SEL [1,1] = connect the node a of the
When i = 2, the selector of the function
When j = 0, SEL [2,0] = connect the node a of the
When j = 1, SEL [2,1] = connect node a of
When i = 3, the selector of the function
When j = 0, SEL [3,0] = connector node a of
When j = 1, SEL [3,1] = connect node a of
It becomes.
繰り返し変数jの値を+1して(ステップS330)、繰り返し変数jの値がNに達するまでステップS310から繰り返す(ステップS334−NO)。すなわち、各機能マクロ回路に対応するセレクタの数(部分スキャンパスの数)分の処理が行われる。 The value of the repetition variable j is incremented by 1 (step S330), and the process is repeated from step S310 until the value of the repetition variable j reaches N (step S334-NO). That is, processing is performed for the number of selectors (number of partial scan paths) corresponding to each function macro circuit.
繰り返し変数jの値がNに達すると(ステップS334−YES)、繰り返し変数iの値を+1して(ステップS338)、繰り返し変数の値iがXに達するまでステップS306から繰り返す(ステップS342−NO)。すなわち、対象の機能マクロ回路の数分の処理が行われる。 When the value of the iteration variable j reaches N (step S334-YES), the value of the iteration variable i is incremented by 1 (step S338), and the processing is repeated from step S306 until the iteration variable value i reaches X (step S342-NO). ). In other words, processing is performed for the number of target function macro circuits.
繰り返し変数iの値がXに達すると(ステップS342−YES)、セレクタと部分スキャンパスとの接続が終了したことになる。このように、各機能マクロ回路に関してiを0からX−1まで、その機能マクロ回路(i)に含まれる部分スキャンパスに関してjを0からN−1まで、部分スキャンパスを生成し、その部分スキャンパスをバイパスするセレクタを設ける処理が行われる。
When the value of the repetition variable i reaches X (step S342—YES), the connection between the selector and the partial scan path is completed. In this way, partial scan paths are generated for each function macro circuit from i to 0 to X−1, and for partial scan paths included in the function macro circuit (i) from j to 0 to
次に、1チップ内のスキャンパスの構築処理が行われる。図7A、図7Bを参照して、1チップスキャンパスの構築処理(ステップS400)の処理内容を説明する。 Next, scan path construction processing within one chip is performed. With reference to FIGS. 7A and 7B, the processing content of the one-chip scan path construction processing (step S400) will be described.
まず、処理する機能マクロ回路の順をカウントする変数iに初期値0を設定する(ステップS404)。次に、機能マクロ回路内の部分スキャンパスの順をカウントする変数jに初期値0を設定する(ステップS406)。
First, an
SP〔i,j〕により示される部分スキャンパスの始点になるスキャンフリップフロップのスキャンデータ入力ノードと、SI〔j〕により示される前段の出力ノードとが接続される(ステップS410)。i=0のとき、SI〔j〕は、初期設定によりスキャンイン端子を示しているため、機能マクロ回路110の部分スキャンパス111、112の入力ノードは、スキャンイン端子に接続される。次段(i>0)では、前段の部分スキャンパスの出力ノードが接続される。
The scan data input node of the scan flip-flop that is the starting point of the partial scan path indicated by SP [i, j] and the previous output node indicated by SI [j] are connected (step S410). Since SI [j] indicates the scan-in terminal when i = 0, the input nodes of the
本実施の形態では、ループ毎に、
i=0の時、機能マクロ回路110の部分スキャンパスが接続され、
j=0の時、SP〔0,0〕=部分スキャンパス111のスキャンデータ入力ノードと、SI〔0〕=スキャンイン端子411とを接続、
j=1の時、SP〔0,1〕=部分スキャンパス112のスキャンデータ入力ノードと、SI〔1〕=スキャンイン端子412とを接続、
i=1の時、機能マクロ回路120の部分スキャンパスが接続され、
j=0の時、SP〔1,0〕=部分スキャンパス121のスキャンデータ入力ノードと、SI〔0〕=セレクタ211の出力ノードcとを接続、
j=1の時、SP〔1,1〕=部分スキャンパス122のスキャンデータ入力ノードと、SI〔1〕=セレクタ212の出力ノードcとを接続、
i=2の時、機能マクロ回路130の部分スキャンパスが接続され、
j=0の時、SP〔2,0〕=部分スキャンパス131のスキャンデータ入力ノードと、SI〔0〕=セレクタ221の出力ノードcとを接続、
j=1の時、SP〔2,1〕=部分スキャンパス132のスキャンデータ入力ノードと、SI〔1〕=セレクタ222の出力ノードcとを接続、
i=3の時、機能マクロ回路140の部分スキャンパスが接続され、
j=0の時、SP〔3,0〕=部分スキャンパス141のスキャンデータ入力ノードと、SI〔0〕=セレクタ231の出力ノードcとを接続、
j=1の時、SP〔3,1〕=部分スキャンパス142のスキャンデータ入力ノードと、SI〔1〕=セレクタ232の出力ノードcとを接続、
となる。
In this embodiment, for each loop,
When i = 0, the partial scan path of the function
When j = 0, SP [0,0] = the scan data input node of the
When j = 1, SP [0,1] = scan data input node of
When i = 1, the partial scan path of the function
When j = 0, SP [1, 0] = the scan data input node of the
When j = 1, SP [1,1] = the scan data input node of the
When i = 2, the partial scan path of the function
When j = 0, SP [2,0] = connect the scan data input node of the
When j = 1, SP [2,1] = connect the scan data input node of the
When i = 3, the partial scan path of the function
When j = 0, SP [3,0] = the scan data input node of the
When j = 1, SP [3,1] = scan data input node of
It becomes.
部分スキャンパスの接続が終わると、部分スキャンパスをバイパスする経路を各セレクタに接続する。すなわち、部分スキャンパスの入力ノードが接続されるノードにセレクタの入力ノードbが接続される。したがって、SEL〔i,j〕により示されるセレクタのデータ入力ノードのうち、FF〔i〕が出力するバイパス制御信号がバイパスすることを示すとき(有効時)に選択される入力ノードbに、SI〔j〕により示されるノードが接続される(ステップS414)。なお、SI〔j〕の値は、次の処理においてi、jの値が変わるごとに更新される。 When the connection of the partial scan path is completed, a path that bypasses the partial scan path is connected to each selector. That is, the input node b of the selector is connected to the node to which the input node of the partial scan path is connected. Therefore, among the data input nodes of the selector indicated by SEL [i, j], the input node b selected when the bypass control signal output by FF [i] indicates bypass (when valid) is set to SI. The node indicated by [j] is connected (step S414). The value of SI [j] is updated every time the values of i and j change in the next processing.
本実施の形態では、ループ毎に、
i=0のとき、機能マクロ回路110のバイパス経路が接続され、
j=0の時、SEL〔0,0〕=セレクタ211のデータ入力ノードbと、SI〔0〕=スキャンイン端子411とを接続、
j=1の時、SEL〔0,1〕=セレクタ212のデータ入力ノードbと、SI〔1〕=スキャンイン端子412とを接続、
i=1の時、機能マクロ回路120のバイパス経路が接続され、
j=0の時、SEL〔1,0〕=セレクタ221のデータ入力ノードbと、SI〔0〕=セレクタ211の出力ノードcとを接続、
j=1の時、SEL〔1,1〕=セレクタ222のデータ入力ノードbと、SI〔1〕=セレクタ212の出力ノードcとを接続、
i=2の時、機能マクロ回路130のバイパス経路が接続され、
j=0の時、SEL〔2,0〕=セレクタ231のデータ入力ノードbと、SI〔0〕=セレクタ221の出力ノードcとを接続、
j=1の時、SEL〔2,1〕=セレクタ232のデータ入力ノードbと、SI〔1〕=セレクタ222の出力ノードcとを接続、
i=3のとき、機能マクロ回路140のバイパス経路が接続され、
j=0の時、SEL〔3,0〕=セレクタ241のデータ入力ノードbと、SI〔0〕=セレクタ231の出力ノードcとを接続、
j=1、SEL〔3,1〕=セレクタ242のデータ入力ノードbと、SI〔1〕=セレクタ232の出力ノードcとを接続、
となる。
In this embodiment, for each loop,
When i = 0, the bypass path of the function
When j = 0, SEL [0,0] = connects the data input node b of the
When j = 1, SEL [0,1] = connects the data input node b of the
When i = 1, the bypass path of the function
When j = 0, SEL [1, 0] = connects the data input node b of the
When j = 1, SEL [1,1] = connects the data input node b of the
When i = 2, the bypass path of the function
When j = 0, SEL [2,0] = connects the data input node b of the
When j = 1, SEL [2,1] = the data input node b of the
When i = 3, the bypass path of the function
When j = 0, SEL [3,0] = connect data input node b of
j = 1, SEL [3,1] = connect data input node b of
It becomes.
各セレクタまでの接続が終わると、SEL〔i,j〕により示されるセレクタの出力ノードcをSI〔j〕に設定する。すなわち、次段の接続のために、現在のセレクタの出力ノードを次段の入力ノードとするように、データが更新される(ステップS418)。 When the connection to each selector is completed, the output node c of the selector indicated by SEL [i, j] is set to SI [j]. That is, for the connection of the next stage, the data is updated so that the output node of the current selector becomes the input node of the next stage (step S418).
本実施の形態では、ループ毎に、
i=0の時、SI〔j〕はスキャンイン端子から現在のセレクタの出力ノードcに更新、
j=0の時、SI〔0〕=“スキャンイン端子411→SEL〔0,0〕=セレクタ211出力ノードc”更新、
j=1の時、SI〔1〕=“スキャンイン端子412→SEL〔0,1〕=セレクタ212出力ノードc”更新、
i=1の時、SI〔j〕は現在のセレクタの出力ノードcに更新、
j=0の時、SI〔0〕=“SEL〔0,0〕=セレクタ211出力ノードc→SEL〔1,0〕=セレクタ221出力ノードc”更新、
j=1の時、SI〔1〕=“SEL〔0,1〕=セレクタ212出力ノードc→SEL〔1,1〕=セレクタ222出力ノードc”更新、
i=2の時、SI〔j〕は現在のセレクタの出力ノードcに更新、
j=0の時、SI〔0〕=“SEL〔1,0〕=セレクタ221出力ノードc→SEL〔2,0〕=セレクタ231出力ノードc”更新、
j=1の時、SI〔1〕=“SEL〔1,1〕=セレクタ222出力ノードc→SEL〔2,1〕=セレクタ232出力ノードc”更新、
i=3の時、SI〔j〕は現在のセレクタの出力ノードcに更新、
j=0の時、SI〔0〕=“SEL〔2,0〕=セレクタ231出力ノードc→SEL〔3,0〕=セレクタ241出力ノードc”更新、
j=1の時、SI〔1〕=“SEL〔2,1〕=セレクタ232出力ノードc→SEL〔3,1〕=セレクタ242出力ノードc”更新、
となる。
In this embodiment, for each loop,
When i = 0, SI [j] is updated from the scan-in terminal to the output node c of the current selector.
When j = 0, update SI [0] = “scan-in terminal 411 → SEL [0,0] =
When j = 1, update SI [1] = “scan-in terminal 412 → SEL [0,1] =
When i = 1, SI [j] is updated to the output node c of the current selector,
When j = 0, update SI [0] = “SEL [0,0] =
When j = 1, update SI [1] = “SEL [0,1] =
When i = 2, SI [j] is updated to the output node c of the current selector,
When j = 0, update SI [0] = “SEL [1, 0] =
When j = 1, update SI [1] = “SEL [1,1] =
When i = 3, SI [j] is updated to the output node c of the current selector,
When j = 0, update SI [0] = “SEL [2,0] =
When j = 1, update SI [1] = “SEL [2,1] =
It becomes.
繰り返し変数jの値を+1し(ステップS422)、繰り返し変数jの値がNに達するまでステップS410から繰り返す(ステップS426−NO)。すなわち、同一機能マクロ回路の部分スキャンパスのうち、スキャンパスに接続されていない部分スキャンパスを全てスキャンパスに接続する。 The value of the repetition variable j is incremented by 1 (step S422), and the process is repeated from step S410 until the value of the repetition variable j reaches N (step S426-NO). That is, of the partial scan paths of the same function macro circuit, all partial scan paths that are not connected to the scan path are connected to the scan path.
繰り返し変数jの値がN以上になると(ステップS426−YES)、繰り返し変数iの値を+1し(ステップS430)、繰り返し変数iの値がXに達するまでステップS406から繰り返す(ステップS434−NO)。すなわち、部分スキャンパスが全てN本のスキャンパスに含まれるように設定されるまで繰り返される。繰り返し変数iの値がXに達すると(ステップS434−YES)、スキャンアウト端子を除いてN本の1チップスキャンパス構築が完了したことになる。ここでは、スキャンイン端子411、412から機能マクロ回路140のセレクタ241、242に至る2本のスキャンパスが設定されることになる。
When the value of the repetition variable j becomes N or more (step S426-YES), the value of the repetition variable i is incremented by 1 (step S430), and the process is repeated from step S406 until the value of the repetition variable i reaches X (step S434-NO). . That is, the process is repeated until all partial scan paths are set to be included in N scan paths. When the value of the iteration variable i reaches X (YES in step S434), N one-chip scan path constructions are completed except for the scan-out terminal. Here, two scan paths from the scan-in
さらに、各スキャンパスはスキャンアウト端子に接続される。まず、スキャンパスの順を示す繰り返し変数jに初期値0が設定される(ステップS438)。
Further, each scan path is connected to a scan-out terminal. First, an
SI〔j〕には、これまで処理したスキャンパスの出力ノードを示す値が保持されている(本実施の形態ではセレクタ241/242の出力ノードc)。したがって、このSI〔j〕により示される出力ノードと、SO〔j〕により示されるスキャンアウト端子とが接続される(ステップS442)。
SI [j] holds a value indicating the output node of the scan path processed so far (in this embodiment, the output node c of the
本実施の形態では、ループ毎に、
j=0、SI〔0〕=セレクタ241出力ノードcと、SO〔0〕=スキャンアウト端子421とを接続、
j=1、SI[1]=セレクタ242出力ノードcと、SO〔1〕=スキャンアウト端子422とを接続、
となる。
In this embodiment, for each loop,
j = 0, SI [0] =
j = 1, SI [1] =
It becomes.
繰り返し変数jの値を+1し(ステップ446)、繰り返し変数jの値がNに達するまでステップS442から繰り返す(ステップS450−NO)。繰り返し変数jの値がNに達すると(ステップS450−YES)、1チップのスキャンパスN本全てにスキャンアウト端子を接続完了したことになり、スキャンパス構築に関する全処理は終了する。以上により、スキャンイン端子411/412→部分スキャンパス111/112→セレクタ211/212→部分スキャンパス121/122→セレクタ221/222→部分スキャンパス131/132→セレクタ231/232→部分スキャンパス141/142→セレクタ241/242→スキャンアウト端子421/422となる2本のスキャンパスが設定される。
The value of the repetition variable j is incremented by 1 (step 446), and the process is repeated from step S442 until the value of the repetition variable j reaches N (step S450-NO). When the value of the repetition variable j reaches N (step S450-YES), it means that the scan-out terminal has been connected to all N scan paths of one chip, and all the processes related to the construction of the scan path are completed. As described above, the scan-in
図4〜図7A、図7Bに示されるように、本実施の形態に係るスキャンテスト回路設計方法は、コンピュータシステムによって実現可能である。例えば、図8に示されるように、サーバ装置300と複数のコンピュータ装置306とを有するコンピュータシステムにおいて、上述のスキャンテスト回路設計方法を実施することができる。
As shown in FIGS. 4 to 7A and 7B, the scan test circuit design method according to the present embodiment can be realized by a computer system. For example, as shown in FIG. 8, the above-described scan test circuit design method can be implemented in a computer system having a
本発明の実施の形態に係るスキャンテスト回路設計方法を実施するためのコンピュータシステムは、例えば、サーバ装置300と、ネットワーク305と、コンピュータ装置306とを備える。サーバ装置300は、通信部301と、CPU(Central Processing Unit)を備える処理部302と、記録媒体303と、入出力インターフェースである入出力部304とを具備する。コンピュータ装置306は、通信部307と、記録媒体308と、CPUを備える処理部309と、入出力インターフェースである入出力部310とを具備する。
The computer system for implementing the scan test circuit design method according to the embodiment of the present invention includes, for example, a
ネットワーク305は、コンピュータ装置306とサーバ装置300との間の通信を接続する。ネットワーク305は、移動体通信網や、専用線網や、LAN(Local Area Network)といった有線通信や無線通信を含めた各種のネットワーク、あるいはこれらのネットワークが相互に接続されたネットワークを適用可能である。また、ネットワークによる接続なしに、単独のコンピュータ装置で実現することも可能である。
The
記録媒体303は、本実施の形態におけるスキャンテスト回路設計を実現するための実行プログラムや、ネットリストデータ、スキャンイン・アウト端子情報、スキャンフリップフロップ情報といったデータを記憶する。記録媒体303は、ハードディスクやRAM(Random Access Memory)やROM(Read Only Memory)等の記憶装置を含む。処理部302は、記録媒体303に記憶される実行プログラムを読み込んで実行し、サーバ装置300の機能を実現する。なお、各実行プログラムやデータは、サーバ装置300の管理者により、キーボードやマウス等の入力機器、LCD(Liquid Crystal Display)等の出力機器を含む入出力部304を介して外部から記録媒体303へ格納されたり、表示されたりする。また、サーバ装置300は、通信部301によってネットワーク305を介して、コンピュータ装置306へ実行プログラムやデータを提供することが可能である。
The
コンピュータ装置306は、本実施の形態におけるスキャンテスト回路設計を実現するための生成システムを実行する。コンピュータ装置306は、例えば、パーソナルコンピュータに例示される一般的な汎用コンピュータである。コンピュータ装置306は、通信部307を備え、ネットワーク305を介してサーバ装置300と通信が可能である。コンピュータ装置306は、ネットワーク305を介してサーバ装置300へ接続し、スキャンテスト回路設計を実現するための実行プログラムやデータを取得し、記憶部308へ記憶する。コンピュータ装置306は、CPUで構成される処理部309を備える。この処理部309は、記憶部308に記憶される実行プログラムを読み込んで実行し、コンピュータ装置306の所定の機能を実現する。なお、コンピュータ装置306は、コンピュータ装置306の使用者との入出力インターフェースである入出力部310を備える。入出力部310は、キーボードやマウス等の入力機器、LCD等の出力機器を含む。コンピュータ装置306は、上述の構成により、サーバ装置300から実行プログラムを取得して実行し、スキャンテスト回路設計を実現する。
The
ここで、本実施の形態におけるスキャンテスト回路設計の実行プログラムは、サーバ装置300の記録媒体303に記憶される形態には限定されない。実行プログラムは、例えば、CD(Compact Disk)やフラッシュメモリを搭載したUSB(Universal Serial Bus)メモリといった持ち運び可能な記憶媒体に記録されてもよい。この場合、実行プログラムは、これらの持ち運び可能な記憶媒体から、コンピュータ装置306が備えるCDドライブやUSBポート等を介して導入される。
Here, the scan test circuit design execution program in the present embodiment is not limited to the form stored in the
上述のように、本実施の形態では、スキャンフリップフロップを10個有する機能マクロ回路110、スキャンフリップフロップを6個有する機能マクロ回路140、スキャンフリップフロップを8個有する機能マクロ回路120、スキャンフリップフロップを12個有する機能マクロ回路130を搭載する半導体集積回路装置を例に、これらの機能を2本のスキャンパスによりテストする場合の構成、動作が示されている。スキャンテスト開始時、スキャンパス401、402は、スキャンパス上のスキャンフリップフロップが共に18個であるため、1パターンあたり18サイクルのテスト時間でスキャンテストが行われる。そして、ユーザがスキャンテスト開始前に設定した目標故障検出率に達したテストデータまでスキャンテストが行われた機能マクロ回路の部分スキャンパスがバイパスされる。
As described above, in this embodiment, the function
例えば、機能マクロ回路140が最初にユーザにより設定される故障検出率に達するテストデータまでスキャンテストが行われたとする。機能マクロ回路140の部分スキャンパス141、142をバイパスさせるために、入力端子413を介して設定信号PIが入力され、制御信号生成回路200のフリップフロップ240の値がバイパス制御を有効とする値に更新される。すなわち、セレクタ241、242は、ノードbに入力される信号を選択して出力ノードcから出力するように制御される。この動作により、機能マクロ回路140の部分スキャンパス141、142がバイパスされる。これ以降は、スキャンパス401、402上からそれぞれ3個のスキャンフリップフロップがバイパスされるため、スキャンパス401、402は共に1パターンあたり15サイクルのテスト時間でスキャンテストが行われる。
For example, it is assumed that the scan test is performed up to the test data in which the function
このように、どの機能マクロ回路がスキャンテスト対象外になったとしても、必ず全てのスキャンパスから少なくとも1個のスキャンフリップフロップを含む部分スキャンパスをバイパスさせるため、スキャンパス本数に依存せずにスキャンテスト時間を削減することが可能となる。 In this way, even if any functional macro circuit is excluded from the scan test target, the partial scan path including at least one scan flip-flop is always bypassed from all the scan paths, so that it does not depend on the number of scan paths. Scan test time can be reduced.
(第2の実施の形態)
図9は、本発明の第2の実施の形態に係るスキャンテスト時の半導体集積回路装置の構成を示す図である。半導体集積回路装置は、スキャンテスト対象機能として、3つの機能マクロ回路150、160、170を有し、1チップ内に2本のスキャンパス501、502が設定され、これらの機能マクロ回路に対するスキャンテストが実施される。
(Second Embodiment)
FIG. 9 is a diagram showing a configuration of a semiconductor integrated circuit device during a scan test according to the second embodiment of the present invention. The semiconductor integrated circuit device has three function
汎用性を持たせて、多機能を実現するために多数の機能マクロ回路を搭載したLSIでは、それを採用するユーザにとってどの機能マクロ回路で実現するかは、当該LSIを搭載する装置やシステムによって異なり、ユーザにとって全く必要としない機能マクロ回路が搭載されることもある。よって、本実施の形態では、搭載されている3つの機能マクロ回路に対し、どの回路が実動作に利用されるのかを選択する機能を有する半導体集積回路装置が説明される。回路を選択する機能とは、例えば、チップ内部の機能のON(動作)/OFF(停止)制御を外部端子(ボンディングオプション端子と呼ぶ)で任意に設定可能とすることなどである。 For LSIs equipped with a large number of function macro circuits to achieve versatility and to achieve multiple functions, the function macro circuit to be realized by the user adopting the LSI depends on the device or system on which the LSI is mounted. On the other hand, a function macro circuit that is not necessary at all for the user may be installed. Therefore, in this embodiment, a semiconductor integrated circuit device having a function of selecting which circuit is used for actual operation with respect to the three function macro circuits mounted is described. The function of selecting a circuit is, for example, enabling ON (operation) / OFF (stop) control of a function in a chip to be arbitrarily set by an external terminal (referred to as a bonding option terminal).
第2の実施の形態に係る半導体集積回路装置は、機能マクロ回路150、160、170と、制御信号生成回路201と、セレクタ251、252、261、262、271、272と、ボンディングオプション端子253、263、273と、スキャンイン端子511、512と、スキャンアウト端子521、522とを備える。ボンディングオプション端子253は、印加される信号BO5により、スキャンテスト対象である機能マクロ回路150のON(動作)/OFF(停止)を制御する。ボンディングオプション端子263は、印加される信号BO6により、スキャンテスト対象である機能マクロ回路160のON(動作)/OFF(停止)を制御する。ボンディングオプション端子273は、印加される信号BO7により、スキャンテスト対象である機能マクロ回路170のON(動作)/OFF(停止)を制御する。
The semiconductor integrated circuit device according to the second embodiment includes functional
機能マクロ回路150は、組み合わせ回路153と複数のスキャンフリップフロップとを含む。複数のスキャンフリップフロップは、スキャンパス501、502に対応して2つに分けられ、スキャンテスト時にそれぞれ部分スキャンパス151、152を形成する。部分スキャンパス151の入力ノードは、スキャンイン端子511に接続され、スキャンパターンSI1が入力される。部分スキャンパス151の後段には、セレクタ251が設けられる。セレクタ251の入力ノードa、bは、部分スキャンパス151の出力ノード、入力ノードにそれぞれ接続される。また、部分スキャンパス152の入力ノードは、スキャンイン端子512に接続され、スキャンパターンSI2が入力される。部分スキャンパス152の後段には、セレクタ252が設けられる。セレクタ252の入力ノードa、bは、部分スキャンパス152の出力ノード、入力ノードがそれぞれ接続される。したがって、セレクタ251、252を制御することにより、部分スキャンパス151、152をバイパスすることができる。
The functional
機能マクロ回路160は、組み合わせ回路163と複数のスキャンフリップフロップとを含む。複数のスキャンフリップフロップは、スキャンパス501、502に対応して2つに分けられ、スキャンテスト時にそれぞれ部分スキャンパス161、162を形成する。部分スキャンパス161の入力ノードは、セレクタ251の出力ノードcに接続される。部分スキャンパス161の後段には、セレクタ261が設けられる。セレクタ261の入力ノードa、bは、部分スキャンパス161の出力ノード、入力ノードにそれぞれ接続される。また、部分スキャンパス162の入力ノードは、セレクタ252の出力ノードcに接続される。部分スキャンパス162の後段には、セレクタ262が設けられる。セレクタ262の入力ノードa、bは、部分スキャンパス162の出力ノード、入力ノードがそれぞれ接続される。したがって、セレクタ261、262を制御することにより、部分スキャンパス161、162をバイパスすることができる。
The functional
機能マクロ回路170は、組み合わせ回路173と複数のスキャンフリップフロップとを含む。複数のスキャンフリップフロップは、スキャンパス501、502に対応して2つに分けられ、スキャンテスト時にそれぞれ部分スキャンパス171、172を形成する。部分スキャンパス171の入力ノードは、セレクタ261の出力ノードcに接続される。部分スキャンパス171の後段には、セレクタ271が設けられる。セレクタ271の入力ノードa、bは、部分スキャンパス171の出力ノード、入力ノードにそれぞれ接続される。また、部分スキャンパス172の入力ノードは、セレクタ262の出力ノードcに接続される。部分スキャンパス172の後段には、セレクタ272が設けられる。セレクタ272の入力ノードa、bは、部分スキャンパス172の出力ノード、入力ノードがそれぞれ接続される。したがって、セレクタ271、272を制御することにより、部分スキャンパス171、172をバイパスすることができる。
The functional
制御信号生成回路201は、バッファ回路250、260、270を備える。バッファ回路250は、ボンディングオプション端子253に印加される信号BO5を入力し、セレクタ251、252にバイパス制御信号を出力する。バッファ回路250は、信号BO5がON(動作)を示す場合はスキャンパスのバイパス無効を示すバイパス制御信号を出力し、信号BO5がOFF(停止)を示す場合はスキャンパスのバイパス有効を示すバイパス制御信号を出力する。バッファ回路260は、ボンディングオプション端子263に印加される信号BO6を入力し、セレクタ261、262にバイパス制御信号を出力する。バッファ回路260は、信号BO6がON(動作)を示す場合はスキャンパスのバイパス無効を示すバイパス制御信号を出力し、信号BO6がOFF(停止)を示す場合はスキャンパスのバイパス有効を示すバイパス制御信号を出力する。バッファ回路270は、ボンディングオプション端子273に印加される信号BO7を入力し、セレクタ271、272にバイパス制御信号を出力する。バッファ回路270は、信号BO7がON(動作)を示す場合はスキャンパスのバイパス無効を示すバイパス制御信号を出力し、信号BO7がOFF(停止)を示す場合はスキャンパスのバイパス有効を示すバイパス制御信号を出力する。ボンディングオプションの設定値に基づいてバイパス制御信号を生成する制御信号生成回路201を有することにより、スキャンテスト開始時から、ユーザが必要とする機能だけをスキャンテストし、必要としない機能はスキャンパスをバイパスさせてスキャンテスト対象外にすることが可能となる。
The control
本実施の形態に係る半導体集積回路装置のスキャンテスト時の動作を説明する。 An operation during a scan test of the semiconductor integrated circuit device according to the present embodiment will be described.
ユーザは、このスキャンテスト回路を用いてスキャンテスト実施する際に、必要とする機能がON(動作)となり、不要な機能はOFF(停止)となるようにボンディングオプションの値を設定する。ボンディングオプションを設定することにより、必要としない機能のスキャンテストに使用するスキャンパスをバイパスすることが可能となる。例えば、以下3つの場合を例に説明する。 When performing a scan test using this scan test circuit, the user sets bonding option values so that the necessary functions are turned on (operation) and the unnecessary functions are turned off (stopped). By setting the bonding option, it is possible to bypass a scan path used for a scan test of a function that is not required. For example, the following three cases will be described as an example.
(全機能を必要とする場合)
全機能すなわち機能マクロ回路150、160、170が有効とされる。ボンディングオプション端子253、263、273にON(動作)を示す信号BO5、BO6、BO7が印加され、機能マクロ回路150、160、170がON(動作)状態となる。この設定により、制御信号生成回路201(バッファ回路250、260、270)は、全てのバイパス制御が無効となるバイパス制御信号を生成して、セレクタ251/252、セレクタ261/262、セレクタ271/272に出力する。セレクタ251/252、セレクタ261/262、セレクタ271/272は、ノードa側を選択する。したがって、スキャンパス501は、機能マクロ回路150の部分スキャンパス151、機能マクロ回路160の部分スキャンパス161、機能マクロ回路170の部分スキャンパス171を経由する経路となる。また、スキャンパス502は、機能マクロ回路150の部分スキャンパス152、機能マクロ回路160の部分スキャンパス162、機能マクロ回路170の部分スキャンパス172を経由する経路となる。スキャンテストは、この各部分スキャンパスを経由するスキャンパス501、502により実施されることになる。
(When all functions are required)
All functions, that is, the function
(機能マクロ回路150、160を必要とする場合)
機能マクロ回路150、160が有効とされ、機能マクロ回路170が無効とされる。ボンディングオプション端子253、263にON(動作)を示す信号BO5、BO6が印加され、機能マクロ回路150、160がON(動作)状態となる。ボンディングオプション端子273にOFF(停止)を示す信号BO7が印加され、機能マクロ回路170がOFF(停止)状態となる。この設定により、制御信号生成回路201(バッファ回路250、260、270)は、バイパス制御が無効となるバイパス制御信号を生成してセレクタ251/252、セレクタ261/262に出力し、バイパス制御が有効となるバイパス制御信号を生成してセレクタ271/272に出力する。セレクタ251/252、セレクタ261/262はノードa側を選択し、セレクタ271/272はノードb側を選択する。したがって、スキャンパス501は、機能マクロ回路150の部分スキャンパス151、機能マクロ回路160の部分スキャンパス161を経由し、機能マクロ回路170の部分スキャンパス171をバイパスする経路となる。また、スキャンパス502は、機能マクロ回路150の部分スキャンパス152、機能マクロ回路160の部分スキャンパス162を経由し、機能マクロ回路170の部分スキャンパス172をバイパスする経路となる。スキャンテストは、この各部分スキャンパスを経由するスキャンパス501、502により実施されることになる。すなわち、スキャンパス501は、スキャンイン端子511→スキャンパス151→セレクタ251→スキャンパス161→セレクタ261→セレクタ271→スキャンアウト端子521の経路に更新され、スキャンパス502は、スキャンイン端子512→スキャンパス152→セレクタ252→スキャンパス162→セレクタ262→セレクタ272→スキャンアウト端子522の経路に更新される。
(When function
The function
(機能マクロ回路150のみを必要とする場合)
機能マクロ回路150が有効とされ、機能マクロ回路160、170が無効とされる。ボンディングオプション端子253にON(動作)を示す信号BO5が印加され、機能マクロ回路150がON(動作)状態となる。ボンディングオプション端子263、273にOFF(停止)を示す信号BO6、BO7が印加され、機能マクロ回路160、170がOFF(停止)状態となる。この設定により、制御信号生成回路201(バッファ回路250、260、270)は、バイパス制御が無効となるバイパス制御信号を生成してセレクタ251/252に出力し、バイパス制御が有効となるバイパス制御信号を生成してセレクタ261/262、セレクタ271/272に出力する。セレクタ251/252はノードa側を選択し、セレクタ261/262、セレクタ271/272はノードb側を選択する。したがって、スキャンパス501は、機能マクロ回路150の部分スキャンパス151を経由し、機能マクロ回路160の部分スキャンパス161、機能マクロ回路170の部分スキャンパス171をバイパスする経路となる。また、スキャンパス502は、機能マクロ回路150の部分スキャンパス152を経由し、機能マクロ回路160の部分スキャンパス162、機能マクロ回路170の部分スキャンパス172をバイパスする経路となる。スキャンテストは、この各部分スキャンパスを経由するスキャンパス501、502により実施されることになる。すなわち、スキャンパス501は、スキャンイン端子511→スキャンパス151→セレクタ251→セレクタ261→セレクタ271→スキャンアウト端子521の経路に更新され、スキャンパス502は、スキャンイン端子512→スキャンパス152→セレクタ252→セレクタ262→セレクタ272→スキャンアウト端子522の経路に更新される。
(When only the functional
The function
次に、本実施の形態に係る回路生成方法について説明する。第1の実施の形態に係る回路生成方法と比べると、制御信号生成回路201の生成方法が異なり、また、制御信号生成回路201との接続方法が異なるが、他は同じように処理される。したがって、全体の流れは、図10に示されるように、処理中に使用される変数の初期値および初期集合の設定が行われ(ステップS500)、制御信号生成回路の生成が行われ(ステップS600)、機能マクロ回路毎の部分スキャンパス構築が行われ(ステップS700)、機能マクロ回路毎のスキャンパスを結合して1チップのスキャンパス構築が行われる(ステップS800)。
Next, a circuit generation method according to the present embodiment will be described. Compared with the circuit generation method according to the first embodiment, the generation method of the control
以下各処理を詳細に説明する。
まず、初期設定処理(ステップS500)では、スキャンパス構築に必要な変数に初期値および初期集合が設定される。ここでは、回路、端子等は、オブジェクトにより示される。
1)変数Nには、対象の半導体集積回路内に構築されるスキャンパスの数が設定される。ここでは、スキャンパス501、502の2本であるから、N=2となる。
2)変数Xには、ボンディングオプションによりON(動作)/OFF(停止)制御される機能マクロ回路数が設定される。ここでは、機能マクロ回路150、160、170の3回路であるから、X=3となる。
3)変数T〔X−1:0〕には、ボンディングオプションを用いてON(動作)/OFF(停止)制御が可能な機能マクロ回路の集合が設定される。ここでは、機能マクロ回路150、160、170の3回路であり、T〔2:0〕={機能マクロ回路170、機能マクロ回路160、機能マクロ回路150}となる。
4)変数M〔X−1:0〕には、T〔X−1:0〕により示される機能マクロ回路の部分スキャンパス長を示す数値が設定される。初期設定の時点では、初期値φ(空集合)が設定される。
5)変数SI〔N−1:0〕には、初期設定の時点ではスキャンイン端子の集合が設定される。ここでは、スキャンイン端子は、スキャンパス2本に対応して2つであるから、SI〔1:0〕={スキャンイン端子512、スキャンイン端子511}となる。変数SIは、処理中においては、結合されたスキャンパスの終端(出力ノード)を示す。
6)変数SO〔N−1:0〕には、スキャンアウト端子の集合が設定される。ここでは、スキャンアウト端子は、スキャンパス2本に対応して2つであるから、SO〔1:0〕={スキャンアウト端子522、スキャンアウト端子521}となる。
7)変数SP〔X−1:0,N−1:0〕には、T〔X−1:0〕により示されるテスト対象の機能マクロ回路毎に、テストするためのN本の部分スキャンパスの集合が設定される。初期設定の時点では初期値φ(空集合)が設定される。
8)変数SEL〔X−1:0,N−1:0〕には、部分スキャンパスをバイパスするセレクタの集合が設定される。初期設定の時点では初期値φ(空集合)が設定される。
9)変数BUF〔X−1:0〕には、制御信号生成回路201内部に搭載される、各機能マクロ回路の部分スキャンパスのバイパス制御を行うバッファ回路の集合が設定される。ここでは、3個のバッファ回路であるから、BUF〔2:0〕={バッファ回路270、バッファ回路260、バッファ回路250}となる。
10)変数BO〔X−1:0〕には、ボンディングオプション端子の集合が設定される。ここでは、BO〔2:0〕={ボンディングオプション端子273、ボンディングオプション端子263、ボンディングオプション端子253}となる。
11)変数i、jは、処理中の繰り返し回数を表す変数(繰り返し変数)であり、初期値0が設定される。
Each process will be described in detail below.
First, in the initial setting process (step S500), an initial value and an initial set are set to variables necessary for scan path construction. Here, circuits, terminals, etc. are indicated by objects.
1) The variable N is set with the number of scan paths built in the target semiconductor integrated circuit. Here, since there are two
2) The variable X is set with the number of function macro circuits controlled ON (operation) / OFF (stop) by the bonding option. Here, since there are three circuits of function
3) A set of function macro circuits capable of ON (operation) / OFF (stop) control using a bonding option is set in the variable T [X-1: 0]. Here, there are three circuits of function
4) In the variable M [X-1: 0], a numerical value indicating the partial scan path length of the functional macro circuit indicated by T [X-1: 0] is set. At the time of initial setting, an initial value φ (empty set) is set.
5) A set of scan-in terminals is set in the variable SI [N-1: 0] at the time of initial setting. Here, since there are two scan-in terminals corresponding to two scan paths, SI [1: 0] = {scan-in
6) A set of scan-out terminals is set in the variable SO [N-1: 0]. Here, since there are two scan-out terminals corresponding to two scan paths, SO [1: 0] = {scan-out
7) The variable SP [X-1: 0, N-1: 0] includes N partial scan paths for testing for each functional macro circuit to be tested indicated by T [X-1: 0]. Is set. At the time of initial setting, an initial value φ (empty set) is set.
8) A set of selectors that bypass the partial scan path is set in the variable SEL [X-1: 0, N-1: 0]. At the time of initial setting, an initial value φ (empty set) is set.
9) In the variable BUF [X-1: 0], a set of buffer circuits that are mounted inside the control
10) A set of bonding option terminals is set in the variable BO [X-1: 0]. Here, BO [2: 0] = {
11) Variables i and j are variables (repetition variables) representing the number of repetitions during processing, and an
図11に示されるように、制御信号生成回路の生成処理(ステップS600)は、制御信号生成回路201内のバッファ回路250、260、270を各部に接続する処理である。変数iは、そのバッファ回路の順を示し、初期値0が設定される(ステップS610)。BO〔0〕により示されるボンディングオプション端子253と、BUF〔0〕により示されるバッファ回路250とが接続される(ステップS620)。繰り返し変数iの値を+1して(ステップS628)、Xに達するまでステップS620から繰り返す(ステップS630−NO)。したがって、i=1のとき、BO〔1〕により示されるボンディングオプション端子263と、BUF〔1〕により示されるバッファ回路260とが接続される。i=2のとき、BO〔2〕により示されるボンディングオプション端子273と、BUF〔2〕により示されるバッファ回路270とが接続される。ステップS628において、i=X(=3)になると処理を終了する(ステップS630−YES)。このように、制御信号生成回路の生成処理では、ボンディングオプション端子253、263、273と、バッファ回路250、260、270とが接続される。
As shown in FIG. 11, the generation process (step S600) of the control signal generation circuit is a process of connecting the
次に、部分スキャンパスの構築処理(ステップS700)を説明する。図12に示されるように、部分スキャンパスの構築処理(ステップS700)では、各機能マクロ回路内のスキャンフリップフロップを接続して部分スキャンパスが生成され、部分スキャンパスの後段にセレクタが接続される。したがって、まず、機能マクロ回路の順を示す繰り返し変数iに初期値0が設定される(ステップS704)。次に、機能マクロ回路内の部分スキャンパスの順を示す変数jに初期値0が設定される(ステップS706)。そして、以下の処理が所定の回数繰り返される。
Next, partial scan path construction processing (step S700) will be described. As shown in FIG. 12, in the partial scan path construction process (step S700), a scan flip-flop in each function macro circuit is connected to generate a partial scan path, and a selector is connected to the subsequent stage of the partial scan path. The Therefore, first, the
まず、機能マクロ回路毎の部分スキャンパスの長さが算出される。ここでは、部分スキャンパスには、スキャンフリップフロップが均等に割り当てられる。すなわち、i番目の機能マクロ回路を示すT〔i〕に含まれるスキャンフリップフロップ数を1チップのスキャンパスの数Nで除算した値を、部分スキャンパス長を示すM〔i〕に代入する(ステップS710)。つまり、M〔i〕は、T〔i〕の部分スキャンパス長を表す。 First, the length of the partial scan path for each functional macro circuit is calculated. Here, scan flip-flops are equally allocated to the partial scan paths. That is, a value obtained by dividing the number of scan flip-flops included in T [i] indicating the i-th function macro circuit by the number N of scan paths of one chip is substituted into M [i] indicating the partial scan path length ( Step S710). That is, M [i] represents the partial scan path length of T [i].
ここでは、T〔0〕(=機能マクロ回路150)に含まれるスキャンフリップフロップ数は10、スキャンパス数N=2であるから、M〔0〕=10÷2=5となる。同様に、T〔1〕(=機能マクロ回路160)に含まれるスキャンフリップフロップ数は8、T〔2〕(=機能マクロ回路170)に含まれるスキャンフリップフロップ数は6であるから、M〔1〕=8÷2=4、M〔2〕=6÷2=3となる。本実施の形態では、スキャンパス数=2であり、スキャンフリップフロップの数が全て偶数として説明されるため、各機能マクロ回路内の部分スキャンパス長は、同じ長さとなる。部分スキャンパス長は、各機能マクロ回路内で同じ長さである必要はないが、全ての部分スキャンパスにスキャンフリップフロップが割り当てられるようにし、均等な長さであることが好ましい。 Here, since the number of scan flip-flops included in T [0] (= function macro circuit 150) is 10 and the number of scan paths N = 2, M [0] = 10 ÷ 2 = 5. Similarly, the number of scan flip-flops included in T [1] (= function macro circuit 160) is 8, and the number of scan flip-flops included in T [2] (= function macro circuit 170) is 6. 1] = 8 ÷ 2 = 4 and M [2] = 6 ÷ 2 = 3. In the present embodiment, since the number of scan paths = 2 and the number of scan flip-flops is all assumed to be an even number, the partial scan path length in each functional macro circuit is the same. The partial scan path lengths do not have to be the same in each function macro circuit, but it is preferable that the scan flip-flops be assigned to all the partial scan paths, and the partial scan path lengths be equal.
機能マクロ回路を示すT〔i〕における部分スキャンパス長M〔i〕が求められると、機能マクロ回路に含まれるM〔i〕個のスキャンフリップフロップを抽出して部分スキャンパスが生成され、部分スキャンパスを示すSP〔i,j〕に格納される(ステップS714)。 When the partial scan path length M [i] at T [i] indicating the functional macro circuit is obtained, the partial scan path is generated by extracting M [i] scan flip-flops included in the functional macro circuit. It is stored in SP [i, j] indicating the scan path (step S714).
本実施の形態では、機能マクロ回路(150、160、170)にそれぞれ2本の部分スキャンパス(151/152、161/162、171/172)が構築される。ループ毎に、
i=0の時、機能マクロ回路150の部分スキャンパスが生成され、
j=0の時、SP〔0,0〕=部分スキャンパス151、
j=1の時、SP〔0,1〕=部分スキャンパス152、
i=1の時、機能マクロ回路160の部分スキャンパスが生成され、
j=0の時、SP〔1,0〕=部分スキャンパス161、
j=1の時、SP〔1,1〕=部分スキャンパス162、
i=2の時、機能マクロ回路170の部分スキャンパスが生成され、
j=0の時、SP〔2,0〕=部分スキャンパス171、
j=1の時、SP〔2,1〕=部分スキャンパス172、
となる。
In the present embodiment, two partial scan paths (151/152, 161/162, 171/172) are constructed in the function macro circuit (150, 160, 170), respectively. For each loop,
When i = 0, a partial scan path of the function
When j = 0, SP [0,0] =
When j = 1, SP [0,1] =
When i = 1, a partial scan path of the function
When j = 0, SP [1, 0] =
SP [1,1] =
When i = 2, a partial scan path of the function
When j = 0, SP [2,0] =
When j = 1, SP [2,1] =
It becomes.
機能マクロ回路がテスト不要と判断された場合に、部分スキャンパス(SP〔i,j〕)をバイパスするためのセレクタが生成され、セレクタを示す値がSEL〔i,j〕に格納される(ステップS718)。 When it is determined that the function macro circuit does not require a test, a selector for bypassing the partial scan path (SP [i, j]) is generated, and a value indicating the selector is stored in SEL [i, j] ( Step S718).
本実施の形態では、機能マクロ回路(150、160、170)に形成される2本の部分スキャンパス(151/152、161/162、171/172)に対してそれぞれ1つずつセレクタ(251/252、261/262、271/272)が配置される。したがって、ループ毎に
i=0のとき、機能マクロ回路150をバイパスするセレクタが生成され、
j=0のとき、SEL〔0,0〕=セレクタ251、
j=1のとき、SEL〔0,1〕=セレクタ252、
i=1のとき、機能マクロ回路160をバイパスするセレクタが生成され、
j=0のとき、SEL〔1,0〕=セレクタ261、
j=1のとき、SEL〔1,1〕=セレクタ262、
i=2のとき、機能マクロ回路170をバイパスするセレクタが生成され、
j=0のとき、SEL〔2,0〕=セレクタ271、
j=1のとき、SEL〔2,1〕=セレクタ272、
となる。
In this embodiment, one selector (251/152) is provided for each of the two partial scan paths (151/152, 161/162, 171/172) formed in the function macro circuit (150, 160, 170). 252, 261/262, 271/272). Therefore, when i = 0 for each loop, a selector that bypasses the function
When j = 0, SEL [0,0] =
When j = 1, SEL [0,1] =
When i = 1, a selector that bypasses the function
When j = 0, SEL [1, 0] =
When j = 1, SEL [1,1] =
When i = 2, a selector that bypasses the function
When j = 0, SEL [2,0] =
SEL [2,1] =
It becomes.
セレクタが生成されると、SEL〔i,j〕により示されるセレクタを制御する信号が印加されるセレクト入力に、当該セレクタのバイパス制御を行う信号を出力する制御信号生成回路201のバッファ回路を示すBUF〔i〕(250、260、270)の出力ノードが接続される(ステップS722)。
When the selector is generated, a buffer circuit of the control
本実施の形態では、各セレクタ(251/252、261/262、271/272)のセレクト入力ノードとバッファ回路(250、260、270)の出力ノードとが接続される。したがって、ループ毎に、
i=0の時、機能マクロ回路150をバイパスするセレクタが接続され、
j=0の時、SEL〔0,0〕=セレクタ251のセレクト入力ノードにBUF〔0〕=バッファ250の出力ノードを接続、
j=1の時、SEL〔0,1〕=セレクタ252のセレクト入力ノードにBUF〔0〕=バッファ250の出力ノードを接続、
i=1のとき、機能マクロ回路160のセレクタが接続され、
j=0の時、SEL〔1,0〕=セレクタ261のセレクト入力ノードにBUF〔1〕=バッファ260の出力ノードを接続、
j=1の時、SEL〔1,1〕=セレクタ262のセレクト入力ノードにBUF〔1〕=バッファ260の出力ノードを接続、
i=2のとき、機能マクロ回路170のセレクタが接続され、
j=0の時、SEL〔2,0〕=セレクタ271のセレクト入力ノードにBUF〔2〕=バッファ270の出力ノードを接続、
j=1の時、SEL〔2,1〕=セレクタ272のセレクト入力ノードにBUF〔2〕=バッファ270の出力ノードを接続、
となる。
In this embodiment, the select input node of each selector (251/252, 261/262, 271/272) and the output node of the buffer circuit (250, 260, 270) are connected. Therefore, for each loop,
When i = 0, a selector that bypasses the function
When j = 0, SEL [0,0] = Connect the output node of the
When j = 1, SEL [0,1] = connect input node of BUF [0] =
When i = 1, the selector of the function
When j = 0, SEL [1, 0] = connect input node of BUF [1] =
When j = 1, SEL [1,1] = the BUF [1] = the output node of the
When i = 2, the selector of the function
When j = 0, SEL [2,0] = Connect BUF [2] = Output node of
When j = 1, SEL [2,1] = the input node of BUF [2] = the
It becomes.
SEL〔i,j〕により示されるセレクタのデータ入力ノードa、bのうち、BUF〔i〕により示されるバッファ回路から出力されるバイパス制御信号がバイパスしないことを示すとき(無効時)に選択される側の入力ノードaに、SP〔i,j〕により示される部分スキャンパスの終点を示すスキャンフリップフロップの出力ノードが接続される(ステップS726)。 Of the data input nodes a and b of the selector indicated by SEL [i, j], it is selected when the bypass control signal output from the buffer circuit indicated by BUF [i] does not bypass (when disabled). The output node of the scan flip-flop indicating the end point of the partial scan path indicated by SP [i, j] is connected to the input node a on the other side (step S726).
本実施の形態では、各セレクタ(SEL〔i,j〕:251、252、261、262、271、272)のノードaと各部分スキャンパス(SP〔i,j〕:151、152、161、162、171、172)の終点のスキャンフリップフロップの出力ノードとが接続される。したがって、ループ毎に、
i=0の時、機能マクロ回路150のセレクタが選択され、
j=0の時、SEL〔0,0〕=セレクタ251のノードaと、SP〔0,0〕=部分スキャンパス151の最終段スキャンフリップフロップの出力ノードとを接続、
j=1の時、SEL〔0,1〕=セレクタ252のノードaと、SP〔0,1〕=部分スキャンパス152の最終段スキャンフリップフロップの出力ノードとを接続、
i=1のとき、機能マクロ回路160のセレクタが選択され、
j=0の時、SEL〔1,0〕=セレクタ261のノードaと、SP〔1,0〕=部分スキャンパス161の最終段スキャンフリップフロップの出力ノードとを接続、
j=1の時、SEL〔1,1〕=セレクタ262のノードaと、SP〔1,1〕=部分スキャンパス162の最終段スキャンフリップフロップの出力ノードとを接続、
i=2のとき、機能マクロ回路170のセレクタが選択され、
j=0の時、SEL〔2,0〕=セレクタ271のノードaと、SP〔2,0〕=部分スキャンパス171の最終段スキャンフリップフロップの出力ノードとを接続、
j=1の時、SEL〔2,1〕=セレクタ272のノードaと、SP〔2,1〕=部分スキャンパス172の最終段スキャンフリップフロップの出力ノードとを接続、
となる。
In the present embodiment, the node a of each selector (SEL [i, j]: 251, 252, 261, 262, 271, 272) and each partial scan path (SP [i, j]: 151, 152, 161, 162, 171 and 172) are connected to the output node of the scan flip-flop at the end point. Therefore, for each loop,
When i = 0, the selector of the function
When j = 0, SEL [0,0] = connector node a of
When j = 1, SEL [0,1] = connector node a of
When i = 1, the selector of the function
When j = 0, SEL [1, 0] = connect the node a of the
When j = 1, SEL [1,1] = connector node a of
When i = 2, the selector of the function
When j = 0, SEL [2,0] = connect the node a of the
When j = 1, SEL [2,1] = connector node a of
It becomes.
繰り返し変数jの値を+1して(ステップS730)、繰り返し変数jの値がNに達するまでステップS710から繰り返す(ステップS734−NO)。すなわち、各機能マクロ回路に対応するセレクタの数(部分スキャンパスの数)分の処理が行われる。 The value of the repetition variable j is incremented by 1 (step S730), and the process is repeated from step S710 until the value of the repetition variable j reaches N (step S734-NO). That is, processing is performed for the number of selectors (number of partial scan paths) corresponding to each function macro circuit.
繰り返し変数jの値がNに達すると(ステップS734−YES)、繰り返し変数iの値を+1して(ステップS738)、繰り返し変数の値iがXに達するまでステップS706から繰り返す(ステップS742−NO)。すなわち、対象の機能マクロ回路の数分の処理が行われる。 When the value of the iteration variable j reaches N (step S734-YES), the value of the iteration variable i is incremented by 1 (step S738), and the processing is repeated from step S706 until the iteration variable value i reaches X (step S742-NO). ). In other words, processing is performed for the number of target function macro circuits.
繰り返し変数iの値がXに達すると(ステップS742−YES)、セレクタと部分スキャンパスとの接続が終了したことになる。 When the value of the repetition variable i reaches X (step S742-YES), the connection between the selector and the partial scan path is completed.
次に、図13A、図13Bを参照して、1チップスキャンパスの構築処理(ステップS800)を説明する。 Next, the one-chip scan path construction process (step S800) will be described with reference to FIGS. 13A and 13B.
まず、処理する機能マクロ回路の順をカウントする変数iに初期値0を設定する(ステップS804)。次に、機能マクロ回路内の部分スキャンパスの順をカウントする変数jに初期値0を設定する(ステップS806)。
First, an
SP〔i,j〕により示される部分スキャンパスの始点になるスキャンフリップフロップのスキャンデータ入力ノードと、SI〔j〕により示される前段の出力ノードとが接続される(ステップS810)。i=0のとき、SI〔j〕は、初期設定によりスキャンイン端子を示しているため、機能マクロ回路150の部分スキャンパス151、152の入力ノードは、スキャンイン端子に接続される。次段(i>0)では、前段の部分スキャンパスの出力ノードが接続される。
The scan data input node of the scan flip-flop, which is the starting point of the partial scan path indicated by SP [i, j], is connected to the previous output node indicated by SI [j] (step S810). Since SI [j] indicates the scan-in terminal when i = 0, the input nodes of the
本実施の形態では、ループ毎に
i=0の時、機能マクロ回路150の部分スキャンパスが接続され、
j=0の時、SP〔0,0〕=部分スキャンパス151のスキャンデータ入力ノードと、SI〔0〕=スキャンイン端子511とを接続、
j=1の時、SP〔0,1〕=部分スキャンパス152のスキャンデータ入力ノードと、SI〔1〕=スキャンイン端子512とを接続、
i=1の時、機能マクロ回路160の部分スキャンパスが接続され、
j=0の時、SP〔1,0〕=部分スキャンパス161のスキャンデータ入力ノードと、SI〔0〕=セレクタ251の出力ノードcとを接続、
j=1の時、SP〔1,1〕=部分スキャンパス162のスキャンデータ入力ノードと、SI〔1〕=セレクタ252の出力ノードcとを接続、
i=2の時、機能マクロ回路170の部分スキャンパスが接続され、
j=0の時、SP〔2,0〕=部分スキャンパス171のスキャンデータ入力ノードと、SI〔0〕=セレクタ261の出力ノードcとを接続、
j=1の時、SP〔2,1〕=部分スキャンパス172のスキャンデータ入力ノードと、SI〔1〕=セレクタ262の出力ノードcとを接続、
となる。
In this embodiment, when i = 0 for each loop, the partial scan path of the function
When j = 0, SP [0,0] = scan data input node of
When j = 1, SP [0,1] = scan data input node of
When i = 1, the partial scan path of the function
When j = 0, SP [1, 0] = scan data input node of
When j = 1, SP [1,1] = connect the scan data input node of the
When i = 2, the partial scan path of the function
When j = 0, SP [2,0] = the scan data input node of the
When j = 1, SP [2,1] = the scan data input node of the
It becomes.
部分スキャンパスの接続が終わると、部分スキャンパスをバイパスする経路を各セレクタに接続する。すなわち、部分スキャンパスの入力ノードが接続されるノードにセレクタの入力ノードbが接続される。したがって、SEL〔i,j〕により示されるセレクタのデータ入力ノードのうち、BUF〔i〕が出力するバイパス制御信号がバイパスすることを示すとき(有効時)に選択される入力ノードbに、SI〔j〕により示されるノードが接続される(ステップS814)。なお、SI〔j〕の値は、次の処理においてi、jの値が変わるごとに更新される。 When the connection of the partial scan path is completed, a path that bypasses the partial scan path is connected to each selector. That is, the input node b of the selector is connected to the node to which the input node of the partial scan path is connected. Therefore, among the data input nodes of the selector indicated by SEL [i, j], the input node b selected when the bypass control signal output by BUF [i] indicates bypass (when valid) is set to SI. The node indicated by [j] is connected (step S814). The value of SI [j] is updated every time the values of i and j change in the next processing.
本実施の形態では、ループ毎に、
i=0の時、機能マクロ回路150のバイパス経路が接続され、
j=0の時、SEL〔0,0〕=セレクタ251のデータ入力ノードbと、SI〔0〕=スキャンイン端子511とを接続、
j=1の時、SEL〔0,1〕=セレクタ252のデータ入力ノードbと、SI〔1〕=スキャンイン端子512とを接続、
i=1の時、機能マクロ回路160のバイパス経路が接続され、
j=0の時、SEL〔1,0〕=セレクタ261のデータ入力ノードbと、SI〔0〕=セレクタ251の出力ノードcとを接続、
j=1の時、SEL〔1,1〕=セレクタ262のデータ入力ノードbと、SI〔1〕=セレクタ252の出力ノードcとを接続、
i=2の時、機能マクロ回路170のバイパス経路が接続され、
j=0の時、SEL〔2,0〕=セレクタ271のデータ入力ノードbと、SI〔0〕=セレクタ261の出力ノードcとを接続、
j=1の時、SEL〔2,1〕=セレクタ272のデータ入力ノードbと、SI〔1〕=セレクタ262の出力ノードcとを接続、
となる。
In this embodiment, for each loop,
When i = 0, the bypass path of the function
When j = 0, SEL [0,0] = connects the data input node b of the
When j = 1, SEL [0,1] = connects the data input node b of the
When i = 1, the bypass path of the function
When j = 0, SEL [1, 0] = connects the data input node b of the
When j = 1, SEL [1,1] = connects the data input node b of the
When i = 2, the bypass path of the function
When j = 0, SEL [2,0] = connects the data input node b of the
When j = 1, SEL [2,1] = connects the data input node b of the
It becomes.
各セレクタまでの接続が終わると、SEL〔i,j〕により示されるセレクタの出力ノードcをSI〔j〕に設定する。すなわち、次段の接続のために、現在のセレクタの出力ノードを次段の入力ノードとするように、データが更新される(ステップ818)。 When the connection to each selector is completed, the output node c of the selector indicated by SEL [i, j] is set to SI [j]. In other words, for the next stage connection, the data is updated so that the output node of the current selector is the next stage input node (step 818).
本実施の形態では、ループ毎に、
i=0の時、SI〔j〕はスキャンイン端子から現在のセレクタの出力ノードcに更新、
j=0の時、SI〔0〕=“スキャンイン端子511→SEL〔0,0〕=セレクタ251出力ノードc”更新、
j=1の時、SI〔1〕=“スキャンイン端子512→SEL〔0,1〕=セレクタ252出力ノードc”更新、
i=1の時、SI〔j〕は現在のセレクタの出力ノードcに更新、
j=0の時、SI〔0〕=“SEL〔0,0〕=セレクタ251出力ノードc→SEL〔1,0〕=セレクタ261出力ノードc”更新、
j=1の時、SI〔1〕=“SEL〔0,1〕=セレクタ252出力ノードc→SEL〔1,0〕=セレクタ262出力ノードc”更新、
i=2の時、SI〔j〕は現在のセレクタの出力ノードcに更新、
j=0の時、SI〔0〕=“SEL〔1,0〕=セレクタ261出力ノードc→SEL〔2,0〕=セレクタ271出力ノードc”更新、
j=1の時、SI〔1〕=“SEL〔1,0〕=セレクタ262出力ノードc→SEL〔2,1〕=セレクタ272出力ノードc”更新、
となる。
In this embodiment, for each loop,
When i = 0, SI [j] is updated from the scan-in terminal to the output node c of the current selector.
When j = 0, update SI [0] = “scan-in terminal 511 → SEL [0,0] =
When j = 1, update SI [1] = “scan-in terminal 512 → SEL [0,1] =
When i = 1, SI [j] is updated to the output node c of the current selector,
When j = 0, update SI [0] = “SEL [0,0] =
When j = 1, update SI [1] = “SEL [0,1] =
When i = 2, SI [j] is updated to the output node c of the current selector,
When j = 0, update SI [0] = “SEL [1, 0] =
When j = 1, update SI [1] = “SEL [1, 0] =
It becomes.
繰り返し変数jの値を+1し(ステップS822)、繰り返し変数jの値がNに達するまでステップS810から繰り返す(ステップS826−NO)。すなわち、各機能マクロ回路に対応するセレクタの数(部分スキャンパスの数)分の処理が行われる。 The value of the repetition variable j is incremented by 1 (step S822), and the process is repeated from step S810 until the value of the repetition variable j reaches N (step S826-NO). That is, processing is performed for the number of selectors (number of partial scan paths) corresponding to each function macro circuit.
繰り返し変数jの値がN以上になると(ステップS826−YES)、繰り返し変数iの値を+1し(ステップS830)、繰り返し変数iの値がXに達するまでステップS806から繰り返す(ステップS834−NO)。すなわち、部分スキャンパスが全てN本のスキャンパスに含まれるように設定されるまで繰り返される。繰り返し変数iの値がXに達すると(ステップS834−YES)、スキャンアウト端子を除いてN本の1チップスキャンパス構築が完了したことになる。 When the value of the repetition variable j becomes N or more (step S826-YES), the value of the repetition variable i is incremented by 1 (step S830), and the process is repeated from step S806 until the value of the repetition variable i reaches X (step S834-NO). . That is, the process is repeated until all partial scan paths are set to be included in N scan paths. When the value of the repetition variable i reaches X (YES in step S834-), N one-chip scan path constructions are completed except for the scan-out terminal.
さらに、各スキャンパスをスキャンアウト端子に接続する。まず、スキャンパスの順を示す繰り返し変数jに初期値0が設定される(ステップS838)。
Further, each scan path is connected to a scan-out terminal. First, an
SI〔j〕には、これまで処理したスキャンパスの出力ノードを示す値が保持されている(本実施の形態ではセレクタ271/272の出力ノードc)。したがって、このSI〔j〕により示される出力ノードと、SO〔j〕により示されるスキャンアウト端子とが接続される(ステップS842)。
SI [j] holds a value indicating the output node of the scan path processed so far (in this embodiment, the output node c of the
本実施の形態では、ループ毎に、
j=0の時、SI[0]=セレクタ271出力ノードcと、SO〔0〕=スキャンアウト端子521とを接続、
j=1の時、SI[1]=セレクタ272出力ノードcと、SO〔1〕=スキャンアウト端子522とを接続、
となる。
In this embodiment, for each loop,
When j = 0, SI [0] =
When j = 1, SI [1] =
It becomes.
繰り返し変数jの値を+1し(ステップ846)、繰り返し変数jの値がNに達するまでステップS842から繰り返す(ステップS850−NO)。繰り返し変数jの値がNに達すると(ステップS850−YES)、1チップのスキャンパスN本全てにスキャンアウト端子を接続完了したことになり、スキャンパス構築に関する全処理は終了する。 The value of the repetition variable j is incremented by 1 (step 846), and the process is repeated from step S842 until the value of the repetition variable j reaches N (step S850-NO). When the value of the repetition variable j reaches N (step S850—YES), it means that the scan-out terminal has been connected to all N scan paths of one chip, and all the processes related to the construction of the scan path are completed.
このように、本実施の形態に係る半導体集積回路装置のスキャンテスト回路は設計される。このスキャンテスト回路設計方法は、第1の実施の形態と同様に、図8に示されるコンピュータシステムによって実現することができる。 Thus, the scan test circuit of the semiconductor integrated circuit device according to the present embodiment is designed. This scan test circuit design method can be realized by the computer system shown in FIG. 8 as in the first embodiment.
第2の実施の形態では、ボンディングオプション機能を有する半導体集積回路装置がテスト対象とされる。このような半導体集積回路装置では、ボンディングオプションにより、ユーザは、必要とする機能のみをON(動作)となるように設定する。ユーザが必要としない機能に関するスキャンパスは、1チップスキャンパスからバイパスさせることが可能となり、テスト時間を削減することが可能である。さらに、汎用LSIのように、複数の機能を1チップに搭載し、用途別に必要とする機能のみを活かして出荷するLSIにおいて、不要とされた機能の回路部分はテスト対象から容易に外すことができる。したがって、テスト対象外の回路のみに故障があるようなLSIは良品として判定できるため、スキャンテスト時の歩留まりを向上することができる。 In the second embodiment, a semiconductor integrated circuit device having a bonding option function is a test target. In such a semiconductor integrated circuit device, the user sets only a necessary function to ON (operation) by a bonding option. A scan path related to functions not required by the user can be bypassed from the one-chip scan path, and the test time can be reduced. Furthermore, in LSIs that ship multiple functions on a single chip, such as general-purpose LSIs, and make use of only the functions required for each application, the circuit portions of functions that are not required can be easily removed from the test target. it can. Therefore, an LSI in which only a circuit not to be tested has a failure can be determined as a non-defective product, so that the yield during a scan test can be improved.
機能マクロ回路150、160、170を有する半導体集積回路装置の場合、通常、用途に関わらず全ての機能マクロ回路のスキャンテストが実施され、良否判定される。例えば、機能マクロ回路150、160、170のうち機能マクロ回路150、160の2つを必要とし、機能マクロ回路170を必要としない用途向けの半導体集積回路装置をスキャンテストする場合、通常では、用途に関わらず全機能マクロ回路のスキャンテストが実施される。そのため、機能マクロ回路170を必要としない用途向けの半導体集積回路装置においても機能マクロ回路170がスキャンテストされる。その時、機能マクロ回路170に故障が存在している場合があった場合、機能マクロ回路170を必要としないユーザにとってはそのLSIは良品扱いすることが可能にも関わらず、機能マクロ回路170の故障がスキャンテスト結果として不良品判定される。その結果、歩留まりが過剰に低下する。
In the case of a semiconductor integrated circuit device having functional
しかし、第2の実施の形態では、汎用LSIにおいても、用途に応じた機能部分のみをテストすることが可能となる。すなわち、機能マクロ回路150、160を必要とするユーザに対するスキャンテストでは、機能マクロ回路170の故障はスキャンテスト結果には反映されない。そのため、機能マクロ回路150、160が故障していなければ良品として判定することが可能となり、歩留まりの過剰な低下を抑制することが可能である。
However, in the second embodiment, it is possible to test only the functional part corresponding to the application even in the general-purpose LSI. That is, in the scan test for the user who needs the function
上述では、機能マクロ回路を例にテスト対象回路を記述したが、スキャンテストの影響が限定される任意の回路ブロックとしてもよい。また、ある回路ブロックにおける部分スキャンパスの長さは、その回路ブロック毎に等しいことが好ましいが、均等に割り当てられない場合には、その回路ブロックの最長の部分スキャンパス長と最短の部分スキャンパス長との差が1以内であることが好ましい。その場合、全体のスキャンパス長も均等になるように各部分スキャンパスを結合することが好ましい。また、スキャンパスは、制御信号生成回路から出力されるバイパス制御信号によるバイパス制御を受けないスキャンフリップフロップを含んでもよい。ここでは、スキャンテスト回路を設計する装置として、汎用のコンピュータが用いられ、スキャンテスト回路を設計する方法は、コンピュータのプログラムとして実現されることを示したが、専用のハードウェアを用いて設計することも可能である。 In the above description, the test target circuit is described by taking the function macro circuit as an example. In addition, the length of the partial scan path in a certain circuit block is preferably equal for each circuit block. However, in the case where it is not equally allocated, the longest partial scan path length and the shortest partial scan path of the circuit block are used. The difference from the length is preferably within one. In that case, it is preferable to combine the partial scan paths so that the entire scan path length is also equal. The scan path may include a scan flip-flop that is not subjected to bypass control by a bypass control signal output from the control signal generation circuit. Here, a general-purpose computer is used as the device for designing the scan test circuit, and the method for designing the scan test circuit is realized as a computer program. However, the device is designed using dedicated hardware. It is also possible.
以上、実施の形態を参照して本願発明を説明したが、上記実施の形態は、矛盾のない限り組み合わせて実施可能である。また、本願発明は上記実施の形態に限定されるものではなく、本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 As described above, the present invention has been described with reference to the embodiment. However, the above embodiment can be implemented in combination as long as there is no contradiction. The present invention is not limited to the above-described embodiment, and various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
110、120、130、140、150、160、170 機能マクロ回路
111、121、131、141、151、161、171 部分スキャンパス
112、122、132、142、152、162、172 部分スキャンパス
113、123、133、143、153、163、173 組み合わせ回路
200、201 制御信号生成回路
210、220、230、240 フリップフロップ
211、221、231、241、251、261、271 セレクタ
212、222、232、242、252、262、272 セレクタ
250、260、270 バッファ回路
253、263、273 ボンディングオプション端子
300 サーバ装置
301 通信部
302 処理部
303 記録媒体
304 入出力部
305 ネットワーク
306 コンピュータ装置
307 通信部
308 記録媒体
309 処理部
310 入出力部
401、402、501、502 1チップスキャンパス
411、412、511、512 スキャンイン端子
413 設定入力端子
421、422、521、522 スキャンアウト端子
601、602 スキャンパス
604、605、610、620、630、640 機能マクロ回路
606、607 スキャンフリップフロップ
611、621、632、642 部分スキャンパス
613 組み合わせ回路
650、651、652、653、654 セレクタ
660、661、662 スキャンイン端子
670、671、672 スキャンアウト端子
680、681 制御信号生成回路
110, 120, 130, 140, 150, 160, 170 Function macro circuit 111, 121, 131, 141, 151, 161, 171 Partial scan path 112, 122, 132, 142, 152, 162, 172 Partial scan path 113, 123, 133, 143, 153, 163, 173 Combination circuit 200, 201 Control signal generation circuit 210, 220, 230, 240 Flip-flop 211, 221, 231, 241, 251, 261, 271 Selector 212, 222, 232, 242 , 252, 262, 272 Selector 250, 260, 270 Buffer circuit 253, 263, 273 Bonding option terminal 300 Server device 301 Communication unit 302 Processing unit 303 Recording medium 304 Input / output unit 305 Network 306 Computer device 307 Communication unit 308 Recording medium 309 Processing unit 310 Input / output units 401, 402, 501 and 502 1-chip scan path 411, 412, 511, 512 Scan-in terminal 413 Setting input terminal 421, 422, 521, 522 Scan-out terminal 601 , 602 Scan campus 604, 605, 610, 620, 630, 640 Function macro circuit 606, 607 Scan flip-flop 611, 621, 632, 642 Partial scan path 613 Combination circuit 650, 651, 652, 653, 654 Selector 660, 661 , 662 Scan-in terminals 670, 671, 672 Scan-out terminals 680, 681 Control signal generation circuit
Claims (18)
前記複数の部分スキャンパスの後段に設けられ、前記複数の部分スキャンパスをバイバスするセレクタと
を備える回路ブロックと、
前記セレクタが前記複数の部分スキャンパスをバイパスするか否かを制御する制御回路と
を具備する
半導体集積回路装置。 When performing a scan test, a plurality of scan flip-flops are assigned to each of a plurality of scan paths formed by connecting a shift register to form a plurality of partial scan paths equal to the plurality of scan paths. And
A circuit block including a selector provided in a subsequent stage of the plurality of partial scan paths and bypassing the plurality of partial scan paths;
And a control circuit that controls whether or not the selector bypasses the plurality of partial scan paths.
請求項1に記載の半導体集積回路装置。 The selector is connected to an input node and an output node of the plurality of partial scan paths, and when bypassing the plurality of partial scan paths, selects and outputs data input from the input node; 2. The semiconductor integrated circuit device according to claim 1, wherein the data input from the output node is selected and output when passing through the partial scan path.
請求項1または請求項2に記載の半導体集積回路装置。 The semiconductor integrated circuit device according to claim 1, wherein the control circuit includes a flip-flop connected to the selector for each circuit block and holding a value for controlling the selector.
請求項3に記載の半導体集積回路装置。 The semiconductor integrated circuit device according to claim 3, wherein the flip-flop forms a shift register that shifts and holds data input from the outside.
請求項1または請求項2に記載の半導体集積回路装置。 The semiconductor according to claim 1, wherein the control circuit includes a buffer circuit that supplies a signal applied to a bonding option terminal that sets operation / non-operation for each circuit block to a selection control node of the selector. Integrated circuit device.
請求項1から請求項5のいずれかに記載の半導体集積回路装置。 The plurality of partial scan paths include a first partial scan path and a second partial scan path, the number of scan flip-flops indicating the length of the first partial scan path, and the second partial scan path. The semiconductor integrated circuit device according to claim 1, wherein a difference from the number of scan flip-flops indicating a campus length is 1 or less.
請求項1から請求項6のいずれかに記載の半導体集積回路装置。 The said control circuit bypasses all the said partial scan paths of the said circuit block which reached the said predetermined failure detection rate, after finishing the scan test by the test pattern data which reaches a predetermined failure detection rate. 7. The semiconductor integrated circuit device according to any one of 6 above.
請求項1から請求項6のいずれかに記載の半導体集積回路装置。 The said control circuit bypasses all the said partial scan paths of the said circuit block, when the test pattern data which carry out the scan test of the said circuit block reaches the predetermined number of patterns. The semiconductor integrated circuit device described.
請求項1から請求項8のいずれかに記載の半導体集積回路装置。 The semiconductor integrated circuit device according to claim 1, wherein the circuit block includes a macro circuit having a predetermined function.
前記半導体集積回路装置の回路ブロックに含まれる複数のスキャンフリップフロップを前記複数のスキャンパスのそれぞれに割り当てるステップと、
割り当てられた前記スキャンフリップフロップをシフトレジスタ状に接続して前記複数のスキャンパスと同数の複数の部分スキャンパスを設定するステップと、
前記複数の部分スキャンパスのそれぞれの後段に前記複数の部分スキャンパスをバイパスするセレクタを配置するステップと、
前記回路ブロックの前記複数の部分スキャンパスおよび前記セレクタを縦続接続して前記複数のスキャンパスを設定するステップと、
前記セレクタが前記複数の部分スキャンパスをバイパスするか否かを制御する制御回路を生成するステップと
を具備する
スキャンテスト回路設計方法。 A scan test design method for designing a scan test circuit of a semiconductor integrated circuit device that performs a scan test using a plurality of scan paths,
Assigning a plurality of scan flip-flops included in a circuit block of the semiconductor integrated circuit device to each of the plurality of scan paths;
Connecting the assigned scan flip-flops in a shift register shape to set a plurality of partial scan paths equal to the plurality of scan paths;
Arranging a selector that bypasses the plurality of partial scan paths in a subsequent stage of each of the plurality of partial scan paths;
Cascading the plurality of partial scan paths and the selector of the circuit block to set the plurality of scan paths;
Generating a control circuit for controlling whether or not the selector bypasses the plurality of partial scan paths. A method for designing a scan test circuit.
前記割り当てるステップは、前記第1の部分スキャンパスの長さを示すスキャンフリップフロップの数と、前記第2の部分スキャンパスの長さを示すスキャンフリップフロップの数との差が1以下となるように割り当てるステップを含む
請求項10に記載のスキャンテスト回路設計方法。 The plurality of partial scan paths includes a first partial scan path and a second partial scan path,
In the assigning step, the difference between the number of scan flip-flops indicating the length of the first partial scan path and the number of scan flip-flops indicating the length of the second partial scan path is 1 or less. The scan test circuit design method according to claim 10, further comprising a step of assigning to the scan test circuit.
請求項10または請求項11に記載のスキャンテスト回路設計方法。 When the selector completes a scan test using test pattern data that reaches a predetermined failure detection rate, the partial scan path is configured to bypass all the partial scan paths of the circuit block that have reached the predetermined failure detection rate. The scan test circuit design method according to claim 10, wherein the scan test circuit design method is connected to an input node and an output node.
前記半導体集積回路装置の回路ブロックに含まれる複数のスキャンフリップフロップを前記複数のスキャンパスのそれぞれに割り当て、前記複数のスキャンパスと同数の複数の部分スキャンパスを設定する部分スキャンパス生成部と、
前記複数の部分スキャンパスをバイバスするセレクタを前記複数の部分スキャンパスの後段に設けるセレクタ生成部と、
前記セレクタが前記複数の部分スキャンパスをバイパスするか否かを制御する制御回路を設ける制御回路生成部と
を具備する
スキャンテスト回路設計装置。 A scan test design device for designing a scan test circuit of a semiconductor integrated circuit device that performs a scan test using a plurality of scan paths,
A plurality of scan flip-flops included in a circuit block of the semiconductor integrated circuit device are assigned to each of the plurality of scan paths, and a partial scan path generation unit configured to set a plurality of partial scan paths equal to the plurality of scan paths;
A selector generation unit that provides a selector that bypasses the plurality of partial scan paths in a subsequent stage of the plurality of partial scan paths;
A scan test circuit design apparatus comprising: a control circuit generation unit provided with a control circuit that controls whether or not the selector bypasses the plurality of partial scan paths.
前記部分スキャンパス生成部は、前記第1の部分スキャンパスの長さを示すスキャンフリップフロップの数と、前記第2の部分スキャンパスの長さを示すスキャンフリップフロップの数との差が1以下となるように割り当てる
請求項13に記載のスキャンテスト回路設計装置。 The plurality of partial scan paths includes a first partial scan path and a second partial scan path,
In the partial scan path generation unit, a difference between the number of scan flip-flops indicating the length of the first partial scan path and the number of scan flip-flops indicating the length of the second partial scan path is 1 or less. The scan test circuit design device according to claim 13, wherein the scan test circuit design device is assigned such that
請求項13または請求項14に記載のスキャンテスト回路設計装置。 When the selector completes a scan test using test pattern data that reaches a predetermined failure detection rate, the partial scan path is configured to bypass all the partial scan paths of the circuit block that have reached the predetermined failure detection rate. The scan test circuit design apparatus according to claim 13, wherein the scan test circuit design apparatus is connected to an input node and an output node of the scan test circuit.
前記半導体集積回路装置の回路ブロックに含まれる複数のスキャンフリップフロップを前記複数のスキャンパスのそれぞれに割り当てるステップと、
割り当てられた前記スキャンフリップフロップをシフトレジスタ状に接続して前記複数のスキャンパスと同数の複数の部分スキャンパスを設定するステップと、
前記複数の部分スキャンパスのそれぞれの後段に前記複数の部分スキャンパスをバイパスするセレクタを配置するステップと、
前記回路ブロックの前記複数の部分スキャンパスおよび前記セレクタを縦続接続して前記複数のスキャンパスを設定するステップと、
前記セレクタが前記複数の部分スキャンパスをバイパスするか否かを制御する制御回路を生成するステップと
をコンピュータに実行させるためのスキャンテスト回路設計プログラム。 A scan test design program for designing a scan test circuit of a semiconductor integrated circuit device that performs a scan test using a plurality of scan paths,
Assigning a plurality of scan flip-flops included in a circuit block of the semiconductor integrated circuit device to each of the plurality of scan paths;
Connecting the assigned scan flip-flops in a shift register shape to set a plurality of partial scan paths equal to the plurality of scan paths;
Arranging a selector that bypasses the plurality of partial scan paths in a subsequent stage of each of the plurality of partial scan paths;
Cascading the plurality of partial scan paths and the selector of the circuit block to set the plurality of scan paths;
And a step of generating a control circuit for controlling whether or not the selector bypasses the plurality of partial scan paths.
前記割り当てるステップにおいて、前記第1の部分スキャンパスの長さを示すスキャンフリップフロップの数と、前記第2の部分スキャンパスの長さを示すスキャンフリップフロップの数との差が1以下となるように割り当てるステップを
コンピュータに実行させるための請求項16に記載のスキャンテスト回路設計プログラム。 The plurality of partial scan paths includes a first partial scan path and a second partial scan path,
In the assigning step, a difference between the number of scan flip-flops indicating the length of the first partial scan path and the number of scan flip-flops indicating the length of the second partial scan path is 1 or less. The scan test circuit design program according to claim 16, which causes a computer to execute the step of assigning to the scan test circuit.
コンピュータに実行させるための請求項16または請求項17に記載のスキャンテスト回路設計プログラム。 When the scan test using the test pattern data that reaches a predetermined failure detection rate is completed, an input node of the partial scan path and the input node of the partial scan path so as to bypass all the partial scan paths of the circuit block that reached the predetermined failure detection rate The scan test circuit design program according to claim 16 or 17, for causing a computer to execute a step of connecting an output node and the selector.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011073526A JP2012208000A (en) | 2011-03-29 | 2011-03-29 | Semiconductor integrated circuit device, scan test circuit design method, scan test circuit design device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011073526A JP2012208000A (en) | 2011-03-29 | 2011-03-29 | Semiconductor integrated circuit device, scan test circuit design method, scan test circuit design device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012208000A true JP2012208000A (en) | 2012-10-25 |
Family
ID=47187872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011073526A Withdrawn JP2012208000A (en) | 2011-03-29 | 2011-03-29 | Semiconductor integrated circuit device, scan test circuit design method, scan test circuit design device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012208000A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016173349A (en) * | 2015-03-18 | 2016-09-29 | ルネサスエレクトロニクス株式会社 | Semiconductor device and design device |
-
2011
- 2011-03-29 JP JP2011073526A patent/JP2012208000A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016173349A (en) * | 2015-03-18 | 2016-09-29 | ルネサスエレクトロニクス株式会社 | Semiconductor device and design device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4966974B2 (en) | IC test method and apparatus | |
JP2007516423A (en) | Scalable scan path test point insertion technology | |
JP2009515160A (en) | Integrated circuit inspection method and apparatus | |
US11293980B2 (en) | Customer-transparent logic redundancy for improved yield | |
US20110175638A1 (en) | Semiconductor integrated circuit and core test circuit | |
WO2004027440A1 (en) | Integrated circuit tester and its testing method | |
JP5099869B2 (en) | Semiconductor integrated circuit and test method for semiconductor integrated circuit | |
JP2012208000A (en) | Semiconductor integrated circuit device, scan test circuit design method, scan test circuit design device | |
JP2001067895A (en) | Semiconductor device | |
JP2009146495A (en) | Nand type flash memory | |
JP2006319055A (en) | Semiconductor integrated circuit | |
JP2006145307A (en) | Scan test circuit | |
JP2008310792A (en) | Test circuit | |
KR100396096B1 (en) | Test circuit for semiconductor integrated circuit | |
JPH06102327A (en) | Memory built-in type semiconductor integrated circuit and logical design method therefor | |
JP2011094986A (en) | Semiconductor integrated circuit, semiconductor integrated circuit design method, scanning test pattern generation method, and its program | |
JP2012141231A (en) | Failure diagnosis system, semiconductor integrated circuit, and failure diagnosis method | |
JP2003172771A (en) | Test pattern creation method of system lsi, test pattern creation device, test method and test circuit | |
JP2006162490A (en) | Scan test circuit | |
JP5453981B2 (en) | LSI and test data setting method thereof | |
JP2000088922A (en) | Inspection apparatus for semiconductor integrated- circuit device | |
JP2024010862A (en) | Test pattern generation program, test pattern generation device, and test pattern generation method | |
JPH1183947A (en) | Test circuit for dc test and dc test method using test circuit for dc test | |
JP2000338188A (en) | Testing circuit for semiconductor integrated circuit | |
JP2751382B2 (en) | Shift path control system |
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: 20140603 |