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 PDF

Info

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
Application number
JP2011073526A
Other languages
Japanese (ja)
Inventor
Akira Otsuka
亮 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011073526A priority Critical patent/JP2012208000A/en
Publication of JP2012208000A publication Critical patent/JP2012208000A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten scan test time of a scan test circuit which has a plurality of scan paths.SOLUTION: A semiconductor integrated circuit device is equipped with: a circuit block with a plurality of scan flip-flops, and a selector; and a control circuit. The plurality of scan flip-flops are allocated to each of a plurality of scan paths which are formed by connection of the scan flip-flops like a shift register when a scan test is performed, and forms a plurality of partial scan paths with the same number as the plurality of scan paths. The selector is provided at the rear stage of the plurality of partial scan paths to bypass the plurality of partial scan paths. The control circuit controls whether or not the selector bypasses the plurality of partial scan paths.

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-flops 606 included in the function A macro circuit 604 are serially connected (column connection), and a function B macro circuit 605 are included. A scan path formed by serially connecting a plurality of scan flip-flops 607 is serially connected to form one long scan path.

機能マクロ回路604に含まれるスキャンフリップフロップ606のうちの一部は、機能マクロ回路605のスキャンフリップフロップ607のうちの一部に接続されている。また、機能マクロ回路604のスキャンフリップフロップ606のうちの一部は、組み合わせ回路613を介して機能マクロ回路605のスキャンフリップフロップ607のうちの一部に接続されている。   A part of the scan flip-flop 606 included in the function macro circuit 604 is connected to a part of the scan flip-flop 607 of the function macro circuit 605. A part of the scan flip-flop 606 of the function macro circuit 604 is connected to a part of the scan flip-flop 607 of the function macro circuit 605 via the combinational circuit 613.

また、機能マクロ回路604と機能マクロ回路605との間に、セレクタ650が配置され、機能マクロ回路604のスキャンパス、すなわちスキャンフリップフロップ606をバイパスすることが可能となっている。セレクタ650は、制御信号生成回路680により生成される切替信号に基づいて、適宜切り替え制御される。スキャンパステスト用のスキャンパターンSIは、スキャンイン端子660から機能マクロ回路604のスキャンパスおよびセレクタ650に入力される。そして、機能マクロ回路605のスキャンパスの出力は、スキャンアウト端子670に接続され、テストを実施した後の演算動作結果SOを出力する。   In addition, a selector 650 is disposed between the function macro circuit 604 and the function macro circuit 605, and the scan path of the function macro circuit 604, that is, the scan flip-flop 606 can be bypassed. The selector 650 is appropriately switched based on the switching signal generated by the control signal generation circuit 680. The scan pattern SI for the scan path test is input from the scan-in terminal 660 to the scan path of the function macro circuit 604 and the selector 650. The output of the scan path of the function macro circuit 605 is connected to the scan-out terminal 670 and outputs the operation result SO after the test is performed.

このスキャンパスでは、スキャンパステスト用のスキャンパターンは、自動テストパターン生成プログラム(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-flops 606 and 607. To do. The arithmetic operation results held in the scan flip-flops 606 and 607 are output from the scan-out terminal 670 while sequentially shifting in series. Then, the output signal SO sequentially output from the scan-out terminal 670 is compared with an expected value in consideration of the logic of each function macro circuit and combination circuit prepared in advance, and each function macro circuit, combination circuit and their connection state are compared. Is judged as good / bad.

ここでは、スキャンパステスト用のスキャンパターンとして、機能マクロ回路、組み合わせ回路及びこれらの接続を一括してテスト可能なスキャンパターンが生成され、入力される。すなわち、このスキャンパスでは、機能マクロ回路、組み合わせ回路及びこれらの接続を一括して、すなわち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 selector 650 is provided so that a test can be performed by bypassing the function macro circuit whose failure detection rate has reached a predetermined detection rate. That is, when the ATPG detects that the failure detection rate of the function macro circuit has reached a predetermined detection rate by generating a scan pattern, the ATPG supplies data to supply a signal to the control signal generation circuit 680 so as to switch the selection of the selector 650 Is generated. Based on the signal, the control signal generation circuit 680 controls the selector 650 to bypass the scan flip-flop of the corresponding function macro circuit. Specifically, the control signal generation circuit 680 supplies a switching control signal to the selector 650. This scan path bypasses the function macro circuit 604 whose failure detection rate has reached a predetermined detection rate.

これにより、このスキャンパスでは、故障検出率が所定の検出率に達した機能マクロ回路604をバイパスしてテストを行うことができる。故障検出の終了した機能マクロ回路をテスト対象から除外するようにスキャンパスの接続を変更するため、より少ないスキャンパターンでテストを行うことができる。したがって、このスキャンパスにおいては、不必要なスキャンパターンの生成が不要となる。また、不要なテスト時間を削減してテスト時間の短縮を図ることが可能である。このように、スキャンテスト回路構成では、ある機能マクロ回路が閾値とする目標故障検出率に達した場合に、当該機能マクロ回路のスキャンテストに必要な分のスキャンパスをバイパスしてテスト時間削減を実現している。   As a result, in this scan path, the function macro circuit 604 whose failure detection rate has reached a predetermined detection rate can be bypassed for testing. Since the connection of the scan path is changed so that the function macro circuit for which the failure detection has been completed is excluded from the test target, the test can be performed with fewer scan patterns. Accordingly, it is not necessary to generate unnecessary scan patterns in this scan path. Also, unnecessary test time can be reduced to shorten the test time. As described above, in the scan test circuit configuration, when the target failure detection rate that is set as a threshold value for a certain function macro circuit is reached, the test path can be reduced by bypassing the scan path necessary for the scan test of the function macro circuit. Realized.

一方、スキャンパスを分割してテスト時間を削減するスキャンテスト手法が一般的に取り入れられている。複数スキャンパスを持つスキャンテスト回路に上記の技術を適用する場合に、テスト時間削減効果が得られないことがある。   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 function macro circuits 610, 620, 630, and 640 by two scan paths 601 and 602. The scan test circuit shown in FIG. 2 corresponds to a circuit in which two scan test circuits shown in FIG. 1 are arranged in parallel. Here, the scan test of the function macro circuit 610 is performed in the partial scan path 611, the scan test of the function macro circuit 620 is performed in the partial scan path 621, and the scan test of the function macro circuit 630 is performed in the partial scan path 632. The scan test of the function macro circuit 640 is performed in the partial scan path 642.

部分スキャンパス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 scan path 601 is constructed by connecting the partial scan path 611 and the partial scan path 621 in a column. When either one of the function macro circuit 610 and the function macro circuit 620 reaches the target failure detection rate, selectors 651 and 652 for bypassing the partial scan paths 611 and 621 are provided in the subsequent stages of the partial scan paths 611 and 621, respectively. Be placed. Further, the scan path 601 is connected to a scan-in terminal 661 for inputting the scan pattern data SI1 from the outside of the LSI and a scan-out terminal 671 for observing the scan test result SO1 outside the LSI. Accordingly, the scan path 601 is configured as a scan path through which data flows in the order of the scan-in terminal 661 → the partial scan path 611 → the selector 651 → the partial scan path 621 → the selector 652 → the scan-out terminal 671. That is, the function macro circuit 610 and the function macro circuit 620 are tested in the scan path 601.

部分スキャンパス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 scan path 602 is constructed by connecting the partial scan path 632 and the partial scan path 642 in a column. When either one of the function macro circuit 630 and the function macro circuit 640 reaches the target failure detection rate, selectors 653 and 654 for bypassing the partial scan paths 632 and 642 are provided in the subsequent stages of the partial scan paths 632 and 642, respectively. Be placed. Further, the scan path 602 is connected to a scan-in terminal 662 for inputting scan pattern data SI2 from outside the LSI and a scan-out terminal 672 for observing the scan test result SO2 outside the LSI. Accordingly, the scan path 602 is configured as a scan path through which data flows in the order of the scan-in terminal 662-partial scan path 632-selector 653-partial scan path 642-selector 654-scan-out terminal 672. That is, the function macro circuit 630 and the function macro circuit 640 are tested in the scan path 602.

このとき、スキャンパターンデータは、予め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 scan paths 601 and 602 (since there are 16 scan flip-flops on the scan path). Is done. When the test progresses and, for example, the function macro circuit 620 reaches the target failure detection rate, the operation of bypassing the partial scan path 621 from the scan path 601 works, and the eight scan flip-flops of the partial scan path 621 are bypassed. Therefore, 8 cycles per pattern can be reduced from the scan path 601. However, since none of the scan flip-flops on the scan path 602 is bypassed, the scan path 602 requires a test time of 16 cycles per pattern (since there are 16 scan flip-flops on the scan path). There is no change. In this state, the LSI scan test time is dominated by the scan path 602 test time, and 16 cycles per pattern remain necessary. Therefore, even if the partial scan path 621 is bypassed from the scan path 601, the effect of reducing the test time cannot be obtained. Thus, in the case of a scan test circuit having a plurality of scan paths, the test time reduction effect may not be obtained even if the scan path of the functional macro circuit is bypassed.

特開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.

特開2004−258791号公報JP 2004-258791 A 特開2004−077356号公報JP 2004-077356 A 特開2004−286549号公報JP 2004-286549 A 特開2000−090137号公報JP 2000-090137 A 特開平09−005403号公報JP 09-005403 A

本発明は、複数のスキャンパスを有するスキャンテスト回路のスキャンテスト時間を短縮することができる半導体集積回路装置、スキャンテスト設計方法、スキャンテスト回路設計装置を提供する。   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.

図1は、従来のスキャンテスト回路のテスト時の構成を示す図である。FIG. 1 is a diagram showing a configuration during testing of a conventional scan test circuit. 図2は、従来のスキャンテスト回路を並列に配置して複数のスキャンパスを有するスキャンテスト回路のテスト時の構成を示す図である。FIG. 2 is a diagram showing a configuration at the time of testing a scan test circuit having a plurality of scan paths in which conventional scan test circuits are arranged in parallel. 図3は、本発明の第1の実施の形態に係る半導体集積回路装置のスキャンテスト時の構成を示す図である。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. 図4は、第1の実施の形態に係るスキャンテスト回路を生成する方法を説明するためのフローチャートである。FIG. 4 is a flowchart for explaining a method of generating the scan test circuit according to the first embodiment. 図5は、第1の実施の形態に係る制御信号生成回路の生成処理を説明するためのフローチャートである。FIG. 5 is a flowchart for explaining generation processing of the control signal generation circuit according to the first embodiment. 図6は、第1の実施の形態に係る部分スキャンパスの構築処理を説明するためのフローチャートである。FIG. 6 is a flowchart for explaining the construction process of the partial scan path according to the first embodiment. 図7Aは、第1の実施の形態に係る1チップスキャンパスの構築処理の前半を説明するためのフローチャートである。FIG. 7A is a flowchart for explaining the first half of the one-chip scan path construction process according to the first embodiment. 図7Bは、第1の実施の形態に係る1チップスキャンパスの構築処理の後半を説明するためのフローチャートである。FIG. 7B is a flowchart for explaining the second half of the one-chip scan path construction processing according to the first embodiment. 図8は、第1の実施の形態に係るスキャンテスト回路設計方法を実現するコンピュータシステムの構成を示す図である。FIG. 8 is a diagram illustrating a configuration of a computer system that implements the scan test circuit design method according to the first embodiment. 図9は、第2の実施の形態に係る半導体集積回路装置のスキャンテスト時の構成を示す図である。FIG. 9 is a diagram showing a configuration during a scan test of the semiconductor integrated circuit device according to the second embodiment. 図10は、第2の実施の形態に係るスキャンテスト回路を生成する方法を説明するためのフローチャートである。FIG. 10 is a flowchart for explaining a method of generating a scan test circuit according to the second embodiment. 図11は、第2の実施の形態に係る制御信号生成回路の生成処理を説明するためのフローチャートである。FIG. 11 is a flowchart for explaining a generation process of the control signal generation circuit according to the second embodiment. 図12は、第2の実施の形態に係る部分スキャンパスの構築処理を説明するためのフローチャートである。FIG. 12 is a flowchart for explaining a partial scan path construction process according to the second embodiment. 図13Aは、第2の実施の形態に係る1チップスキャンパスの構築処理の前半を説明するためのフローチャートである。FIG. 13A is a flowchart for explaining the first half of the one-chip scan path construction processing according to the second embodiment. 図13Bは、第2の実施の形態に係る1チップスキャンパスの構築処理の後半を説明するためのフローチャートである。FIG. 13B is a flowchart for explaining the second half of the one-chip scan path construction processing according to the second embodiment.

図面を参照して本発明を実施するための形態が説明される。   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 macro circuits 110, 120, 130, and 140, a control signal generation circuit 200, and selectors 211, 212, 221, 222, 231, 232, 241, and 242 as scan test target functions. Have. In this semiconductor integrated circuit device, two scan paths 401 and 402 are set, and a scan test is performed on these functional macro circuits.

機能マクロ回路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 macro circuit 110 includes a combinational circuit 113 and a plurality of scan flip-flops. The plurality of scan flip-flops included in the functional macro circuit 110 are divided into two corresponding to the scan paths 401 and 402, and form partial scan paths 111 and 112, respectively, at the time of a scan test. The input node of the partial scan path 111 is connected to the scan-in terminal 411, and the scan pattern SI1 is input. A selector 211 is provided following the partial scan path 111. The input nodes a and b of the selector 211 are connected to the output node and input node of the partial scan path 111, respectively. The input node of the partial scan path 112 is connected to the scan-in terminal 412 and the scan pattern SI2 is input. A selector 212 is provided following the partial scan path 112. The input nodes a and b of the selector 212 are connected to the output node and input node of the partial scan path 112, respectively. Therefore, the partial scan paths 111 and 112 can be bypassed by controlling the selectors 211 and 212.

機能マクロ回路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 macro circuit 120 includes a combinational circuit 123 and a plurality of scan flip-flops. The plurality of scan flip-flops included in the function macro circuit 120 are divided into two corresponding to the scan paths 401 and 402, and form partial scan paths 121 and 122, respectively, at the time of the scan test. The input node of the partial scan path 121 is connected to the output node c of the selector 211, and a selector 221 is provided at the subsequent stage of the partial scan path 121. The input nodes a and b of the selector 221 are connected to the output node and input node of the partial scan path 121, respectively. The input node of the partial scan path 122 is connected to the output node c of the selector 212, and a selector 222 is provided at the subsequent stage of the partial scan path 122. The input nodes a and b of the selector 222 are connected to the output node and input node of the partial scan path 122, respectively. Therefore, the partial scan paths 121 and 122 can be bypassed by controlling the selectors 221 and 222.

機能マクロ回路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 macro circuit 130 includes a combinational circuit 133 and a plurality of scan flip-flops. The plurality of scan flip-flops included in the functional macro circuit 130 are divided into two corresponding to the scan paths 401 and 402, and form partial scan paths 131 and 132, respectively, at the time of the scan test. The input node of the partial scan path 131 is connected to the output node c of the selector 221, and a selector 231 is provided at the subsequent stage of the partial scan path 131. The input nodes a and b of the selector 231 are connected to the output node and input node of the partial scan path 131, respectively. The input node of the partial scan path 132 is connected to the output node c of the selector 222, and a selector 232 is provided at the subsequent stage of the partial scan path 132. The input nodes a and b of the selector 232 are connected to the output node and input node of the partial scan path 132, respectively. Therefore, the partial scan paths 131 and 132 can be bypassed by controlling the selectors 231 and 232.

機能マクロ回路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 macro circuit 140 includes a combinational circuit 143 and a plurality of scan flip-flops. The plurality of scan flip-flops included in the function macro circuit 140 are divided into two corresponding to the scan paths 401 and 402, and form partial scan paths 141 and 142, respectively, at the time of the scan test. The input node of the partial scan path 141 is connected to the output node c of the selector 231, and a selector 241 is provided at the subsequent stage of the partial scan path 141. The input nodes a and b of the selector 241 are connected to the output node and input node of the partial scan path 141, respectively. The input node of the partial scan path 142 is connected to the output node c of the selector 232, and a selector 242 is provided at the subsequent stage of the partial scan path 142. The input nodes a and b of the selector 242 are connected to the output node and input node of the partial scan path 142, respectively. Therefore, the partial scan paths 141 and 142 can be bypassed by controlling the selectors 241 and 242. The output node c of the selector 241 is connected to the scan-out terminal 421, and the output node c of the selector 242 is connected to the scan-out terminal 422. Scan test results SO1 and SO2 output from the scan-out terminals 421 and 422 are observed outside the LSI.

制御信号生成回路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 signal generation circuit 200 has the same number of flip-flops as the number of functional macro circuits that perform the scan test. That is, the control signal generation circuit 200 includes flip-flops 210, 220, 230, and 240 corresponding to scan test targets. The flip-flops 210, 220, 230, and 240 are connected in series to form a shift register that shifts data in response to a predetermined clock signal. The input node of the flip-flop 210 is connected to the setting input terminal 413 and receives the setting signal PI from the outside. The flip-flops 210, 220, 230, and 240 connected in series send the setting signal PI input from the setting input terminal 413 to each flip-flop by a shift operation so that data can be set. The output of the flip-flop 210 is connected to the selection control node of the selector 211/212. The output of the flip-flop 220 is connected to the selection control node of the selector 221/222. The output of the flip-flop 230 is connected to the selection control node of the selector 231/232. The output of the flip-flop 240 is connected to the selection control node of the selector 241/242. The control signal generation circuit 200 controls whether or not any of the scan paths used for the test of the function macro circuits 110, 140, 120, and 130 is bypassed. Note that FIG. 1 shows a case where the number of setting input terminals 413 is one. In this case, four cycles are required to set the values in the four flip-flops, and when a plurality of setting input terminals 413 (PI) can be prepared, the flip-flops are arranged in parallel instead of in series to set the values. It is also possible to reduce the necessary cycles.

したがって、いずれのスキャンパスもバイパスせずに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 scan path 401, the scan-in terminal 411 → the scan path 111 → the selector 211 → the scan path 121 → the selector 221 → the scan path 131 → the selector 231. The scan data passes in the order of scan path 141 → selector 241 → scan-out terminal 421. In the scan path 402, scan data passes in the order of scan-in terminal 412 → scan path 112 → selector 212 → scan path 122 → selector 222 → scan path 132 → selector 232 → scan path 142 → selector 242 → scan out terminal 422. To do.

第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-flops 210, 220, 230, and 240 of the control signal generation circuit 200. That is, the selectors 211, 212, 221, 222, 231, 232, 241, and 242 are set to select the partial scan paths 111, 112, 121, 122, 131, 132, 141, and 142 that are not bypassed, respectively. Therefore, immediately after the start of the scan test, failure detection is performed for all function macro circuits by the above-described scan paths 401 and 402 that are not bypassed.

その状態を保持したままスキャンイン端子411、412からスキャンパス401、402にスキャンパターンデータSI1、SI2が入力され、テスト結果SO1、SO2がスキャンアウト端子421、422から読み出され、スキャンテストが行われる。   The scan pattern data SI1 and SI2 are input to the scan paths 401 and 402 from the scan-in terminals 411 and 412 while maintaining the state, the test results SO1 and SO2 are read from the scan-out terminals 421 and 422, and the scan test is performed. Is called.

スキャンテスト開始前に設定されたスキャンパスのバイパス条件である目標検出率をいずれかの機能マクロ回路が満たすスキャンパターンデータまで実行されると、制御信号生成回路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 terminal 413 to the control signal generation circuit 200. The partial scan path of the functional macro circuit that is input and satisfies the bypass condition is bypassed. For example, when the function macro circuit 110 first satisfies the condition, the setting signal PI is input via the setting input terminal 413 and the data of the flip-flop 210 of the control signal generation circuit 200 is rewritten. Based on the bypass control signal output from the control signal generation circuit 200, the selectors 211 and 212 switch the selection input from the input node a to the input node b. That is, the value of the flip-flop 210 of the control signal generation circuit 200 is updated to a value that enables the bypass control. In other words, the flip-flop 210 is not the output data of the partial scan paths 111 and 112 of the function macro circuit 110, but the input data of the partial scan paths 111 and 112 (scan-in data SI1 input from the scan-in terminals 411 and 412). , SI2) is updated to a value that controls the selector so that it is propagated to the output node c of the selector 211, 212. Therefore, the partial campuses 111 and 112 are bypassed from the scan paths 401 and 402, respectively.

この結果、スキャンパス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 scan path 401 is updated to the path of the scan-in terminal 411 → selector 211 → scan path 121 → selector 221 → scan path 131 → selector 231 → scan path 141 → selector 241 → scan-out terminal 421. The scan path 402 is updated to a path of scan-in terminal 412 → selector 212 → scan path 122 → selector 222 → scan path 132 → selector 232 → scan path 142 → selector 242 → scan-out terminal 422. Thereafter, the values of the flip-flops 210, 220, 230, and 240 in the control signal generation circuit 200 until any one of the function macro circuits 120, 130, and 140 is tested with the scan pattern data that reaches the target failure detection rate. Holds the updated value and is tested.

機能マクロ回路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 macro circuits 120, 130, 140 reaches the target failure detection rate, an operation for bypassing the scan path of the functional macro circuit that has reached the target failure detection rate is started. For example, when the function macro circuit 140 satisfies the following condition, the setting signal PI is input via the setting input terminal 413, and the data of the flip-flop 240 of the control signal generation circuit 200 is rewritten. Based on the bypass control signal output from the control signal generation circuit 200, the selectors 241 and 242 switch the selection input from the input node a to the input node b. That is, the value of the flip-flop 240 of the control signal generation circuit 200 is updated to a value that enables the bypass control. In other words, the flip-flop 240 receives not the output data of the partial scan paths 141 and 142 of the function macro circuit 140 but the input data of the partial scan paths 141 and 142 (data output from the node c of the selectors 231 and 232). The value is updated to a value that controls the selector so as to propagate to the output node c of the selectors 241 and 242. Therefore, the partial scan paths 141 and 142 are bypassed from the scan paths 401 and 402, respectively.

この結果、スキャンパス401は、スキャンイン端子411→セレクタ211→スキャンパス121→セレクタ221→スキャンパス131→セレクタ231→セレクタ241→スキャンイン端子421の経路に更新される。スキャンパス402は、スキャンイン端子412→セレクタ212→スキャンパス122→セレクタ222→スキャンパス132→セレクタ232→セレクタ242→スキャンアウト端子422の経路に更新される。   As a result, the scan path 401 is updated to the path of the scan-in terminal 411 → selector 211 → scan path 121 → selector 221 → scan path 131 → selector 231 → selector 241 → scan-in terminal 421. The scan path 402 is updated to a path of scan-in terminal 412 → selector 212 → scan path 122 → selector 222 → scan path 132 → selector 232 → selector 242 → scan-out terminal 422.

これ以降は、機能マクロ回路120、130のいずれかが、目標故障検出率に達するスキャンパターンデータによるテストが行われるまで、制御信号生成回路200のフリップフロップ210、220、230、240の値は、更新された値を保持し、テストが行われる。機能マクロ回路120、130のいずれかが目標故障検出率に達した場合、その機能マクロ回路のスキャンパスをバイパスする動作が同じように行われる。   Thereafter, until one of the function macro circuits 120 and 130 is tested by the scan pattern data reaching the target failure detection rate, the values of the flip-flops 210, 220, 230, and 240 of the control signal generation circuit 200 are The updated value is retained and the test is performed. When any of the function macro circuits 120 and 130 reaches the target failure detection rate, the operation of bypassing the scan path of the function macro circuit is performed in the same manner.

このように、ユーザによって設定されたバイパス条件を満足する毎に、制御信号生成回路200の設定が更新され、その機能マクロ回路の部分スキャンパスがバイパスされる。したがって、1チップのスキャンパスを短くしてテスト時間を削減しながら、全ての機能がテスト不要と判断されるまでスキャンテストを継続することができる。   Thus, every time the bypass condition set by the user is satisfied, the setting of the control signal generation circuit 200 is updated, and the partial scan path of the function macro circuit is bypassed. Therefore, the scan test can be continued until it is determined that all the functions are not required for testing while shortening the scan path of one chip to reduce the test time.

また、制御信号生成回路200のフリップフロップ210、220、230、240の値の更新は、予め設定されるタイミングで行われる。まず、部分スキャンパスをバイパスしない設定に固定したままATPGによってテストパターンデータ作成を実施し、各機能マクロ回路が目標故障検出率に達するパターン数を確認しておく。また、制御信号生成回路200のフリップフロップの値を更新するスクリプト(ATPGにより実行される)が作成される。ATPGがテストパターンデータを作成して、目標故障検出率になるパターン数に達した時に、ATPGは、そのスクリプトを実行して制御信号生成回路200に供給する設定信号PIのデータを作成する。さらに、目標故障検出率に満たない回路のテストパターンデータを作成する。このような方法により、条件を満たした機能マクロ回路を順にバイパスしてテストするためのデータを作成することができる。ここでは、スキャンパスをバイパスするための条件として目標故障検出率を挙げたが、目標テスト時間を満足するテストパターン数などを条件に選択しても良い。   The values of the flip-flops 210, 220, 230, and 240 of the control signal generation circuit 200 are updated at a preset timing. First, test pattern data is created by ATPG while fixing the setting so as not to bypass the partial scan path, and the number of patterns that each functional macro circuit reaches the target failure detection rate is confirmed. In addition, a script (executed by ATPG) for updating the value of the flip-flop of the control signal generation circuit 200 is created. When the ATPG creates test pattern data and reaches the number of patterns that achieves the target failure detection rate, the ATPG creates the data of the setting signal PI to be supplied to the control signal generation circuit 200 by executing the script. Further, test pattern data of a circuit that does not satisfy the target failure detection rate is created. By such a method, it is possible to create data for testing by bypassing function macro circuits that satisfy the conditions in order. Here, the target failure detection rate is given as a condition for bypassing the scan path. However, the number of test patterns that satisfy the target test time may be selected as a condition.

本実施の形態に係るスキャンテスト回路を生成する方法を、図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 signal generation circuit 200 is generated according to the number of function macro circuits to be tested. In the partial scan path construction process (step S300), a partial scan path generated for each function macro circuit is set. In the one-chip scan path construction process (step S400), the partial scan paths for each function macro circuit generated in step S400 are combined to construct a one-chip scan path.

初期設定処理(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 scan paths 401 and 402, N = 2.
2) In the variable X, the number of function macro circuits to be tested is set. Here, since there are four functional macro circuits 110, 120, 130, and 140, X = 4.
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 macro circuits 110, 120, 130, and 140, T [3: 0] = {function macro circuit 140, function macro circuit 130, function macro circuit 120, function macro circuit 110}. .
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 terminal 412 and scan-in terminal 411}. The variable SI indicates the end (output node) of the combined scan path during processing.
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 terminal 422, scan-out terminal 421}.
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 signal generation circuit 200 and perform bypass control of the partial scan path of each function macro circuit is set. Here, since there are four flip-flops, FF [3: 0] = {flip-flop 240, flip-flop 230, flip-flop 220, flip-flop 210}.
10) A set of setting input terminals 413 for inputting data to the control signal generating circuit 200 is set in the variable PI. Here, since there is one input terminal, PI = {setting input terminal 413}.
11) Variables i and j are variables (repetition variables) representing the number of repetitions during processing, and an initial value 0 is set.

図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-flops 210, 220, 230, and 240 in the control signal generation circuit 200 and the setting input terminal 413 in series. is there. The variable i indicates the order of the flip-flops. The data input node of the first flip-flop 210 indicated by FF [0] is connected to the setting input terminal 413 indicated by PI (step S210). The FF [1] indicating the second flip-flop is connected to the previously connected flip-flop. An initial value 1 is set to the variable i (step S214). The data output node of the preceding flip-flop indicated by FF [i-1] and the data input node of the flip-flop indicated by FF [i] are connected (step S220). The value of the repetition variable i is incremented by 1 (step S228), and the process is repeated from step S220 until X is reached (step S230-NO). Therefore, it is connected to PI-FF [0] -FF [1] -FF [2] -FF [3]. That is, in the circuit shown in FIG. 3, the setting input terminal 413—the flip-flop 210—the flip-flop 220—the flip-flop 230—the flip-flop 240 is connected, and the control signal generation circuit 200 is generated. In step S228, when i = X (= 4), the process is terminated (step S230-YES).

次に、部分スキャンパスの構築処理(ステップ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 initial value 0 is set to the repetition variable i indicating the order of the function macro circuit (step S304). Next, an initial value 0 is set to the repetition variable j indicating the order of partial scan paths in the function macro circuit (step S306). Then, the following processing is repeated a predetermined number of times.

まず、機能マクロ回路毎の部分スキャンパスの長さが算出される。ここでは、部分スキャンパスには、スキャンフリップフロップが均等に割り当てられる。すなわち、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 macro circuit 110 is generated,
When j = 0, SP [0,0] = partial scan path 111,
When j = 1, SP [0,1] = partial scan path 112,
When i = 1, a partial scan path of the function macro circuit 120 is generated,
When j = 0, SP [1, 0] = partial scan path 121,
When j = 1, SP [1,1] = partial scan path 122,
When i = 2, a partial scan path of the function macro circuit 130 is generated,
When j = 0, SP [2,0] = partial scan path 131,
When j = 1, SP [2,1] = partial scan path 132,
When i = 3, a partial scan path of the function macro circuit 140 is generated,
When j = 0, SP [3,0] = partial scan path 141,
When j = 1, SP [3,1] = partial scan path 142,
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 macro circuit 110 is generated,
When j = 0, SEL [0, 0] = selector 211,
When j = 1, SEL [0, 1] = selector 212,
When i = 1, a selector that bypasses the function macro circuit 120 is generated,
When j = 0, SEL [1, 0] = selector 221,
when j = 1, SEL [1,1] = selector 222,
When i = 2, a selector that bypasses the function macro circuit 130 is generated,
When j = 0, SEL [2,0] = selector 231,
SEL [2,1] = selector 232 when j = 1
When i = 3, a selector that bypasses the function macro circuit 140 is generated,
When j = 0, SEL [3,0] = selector 241,
When j = 1, SEL [3,1] = selector 242,
It becomes.

セレクタが生成されると、SEL〔i,j〕により示されるセレクタを制御する信号が印加されるセレクト入力に、当該セレクタのバイパス制御を行う値を保持する制御信号生成回路200内のフリップフロップを示すFF〔i〕(210、220、230、240)の出力が接続される(ステップS322)。   When the selector is generated, a flip-flop in the control signal generation circuit 200 that holds a value for performing bypass control of the selector is applied to a select input to which a signal for controlling the selector indicated by SEL [i, j] is applied. The output of FF [i] (210, 220, 230, 240) shown is connected (step S322).

本実施の形態では、各セレクタ(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 macro circuit 110 is connected,
When j = 0, SEL [0,0] = the input node of the flip-flop 210 is connected to the select input node of the selector 211, FF [0] =
When j = 1, SEL [0,1] = connected to the select input node of the selector 212 is FF [0] = the output node of the flip-flop 210,
When i = 1, a selector that bypasses the function macro circuit 120 is connected,
When j = 0, SEL [1, 0] = connected to the select input node of the selector 221 is FF [1] = the output node of the flip-flop 220,
When j = 1, SEL [1,1] = the input node of the flip-flop 220 is connected to the select input node of the selector 222, FF [1] =
When i = 2, a selector that bypasses the function macro circuit 130 is connected,
When j = 0, SEL [2,0] = connect input node of selector 231 to FF [2] = output node of flip-flop 230,
When j = 1, SEL [2,1] = Connect input node of selector 232 to FF [2] = output node of flip-flop 230,
When i = 3, a selector that bypasses the function macro circuit 140 is connected,
When j = 0, SEL [3,0] = the input node of FF [3] = the flip-flop 240 is connected to the select input node of the selector 241,
When j = 1, SEL [3,1] = the input node of FF [3] = the flip-flop 240 is connected to the select input node of the selector 242,
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 macro circuit 110 is selected,
When j = 0, the node a of SEL [0,0] = selector 211 and SP [0,0] = the output node of the last-stage scan flip-flop of the partial scan path 111 are connected.
When j = 1, SEL [0,1] = connector node a of the selector 212 and SP [0,1] = output node of the last stage scan flip-flop of the partial scan path 112,
When i = 1, the selector of the function macro circuit 120 is selected,
When j = 0, SEL [1,0] = connector node a of selector 221 and SP [1,0] = output node of final scan flip-flop of partial scan path 121;
When j = 1, SEL [1,1] = connect the node a of the selector 222 and SP [1,1] = the output node of the final scan flip-flop of the partial scan path 122;
When i = 2, the selector of the function macro circuit 130 is selected,
When j = 0, SEL [2,0] = connect the node a of the selector 231 and SP [2,0] = output node of the last stage scan flip-flop of the partial scan path 131,
When j = 1, SEL [2,1] = connect node a of selector 232 and SP [2,1] = output node of final scan flip-flop of partial scan path 132,
When i = 3, the selector of the function macro circuit 140 is selected,
When j = 0, SEL [3,0] = connector node a of selector 241 and SP [3,0] = output node of the last stage scan flip-flop of partial scan path 141,
When j = 1, SEL [3,1] = connect node a of selector 242 and SP [3,1] = output node of final scan flip-flop of partial scan path 142,
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 N−1. Processing to provide a selector that bypasses the scan path is performed.

次に、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 initial value 0 is set to a variable i that counts the order of function macro circuits to be processed (step S404). Next, an initial value 0 is set to a variable j that counts the order of partial scan paths in the function macro circuit (step S406).

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 partial scan paths 111 and 112 of the function macro circuit 110 are connected to the scan-in terminal. At the next stage (i> 0), the output node of the partial scan path of the previous stage is connected.

本実施の形態では、ループ毎に、
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 macro circuit 110 is connected,
When j = 0, SP [0,0] = the scan data input node of the partial scan path 111 and SI [0] = the scan-in terminal 411 are connected,
When j = 1, SP [0,1] = scan data input node of partial scan path 112 and SI [1] = scan-in terminal 412 are connected,
When i = 1, the partial scan path of the function macro circuit 120 is connected,
When j = 0, SP [1, 0] = the scan data input node of the partial scan path 121 and SI [0] = the output node c of the selector 211 are connected,
When j = 1, SP [1,1] = the scan data input node of the partial scan path 122 and SI [1] = the output node c of the selector 212 are connected,
When i = 2, the partial scan path of the function macro circuit 130 is connected,
When j = 0, SP [2,0] = connect the scan data input node of the partial scan path 131 and SI [0] = output node c of the selector 221;
When j = 1, SP [2,1] = connect the scan data input node of the partial scan path 132 and SI [1] = output node c of the selector 222,
When i = 3, the partial scan path of the function macro circuit 140 is connected,
When j = 0, SP [3,0] = the scan data input node of the partial scan path 141 and SI [0] = the output node c of the selector 231 are connected,
When j = 1, SP [3,1] = scan data input node of partial scan path 142 and SI [1] = output node c of selector 232 are connected,
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 macro circuit 110 is connected,
When j = 0, SEL [0,0] = connects the data input node b of the selector 211 and SI [0] = scan-in terminal 411;
When j = 1, SEL [0,1] = connects the data input node b of the selector 212 and SI [1] = scan-in terminal 412;
When i = 1, the bypass path of the function macro circuit 120 is connected,
When j = 0, SEL [1, 0] = connects the data input node b of the selector 221 and SI [0] = the output node c of the selector 211;
When j = 1, SEL [1,1] = connects the data input node b of the selector 222 and SI [1] = the output node c of the selector 212;
When i = 2, the bypass path of the function macro circuit 130 is connected,
When j = 0, SEL [2,0] = connects the data input node b of the selector 231 and SI [0] = the output node c of the selector 221;
When j = 1, SEL [2,1] = the data input node b of the selector 232 and SI [1] = the output node c of the selector 222 are connected,
When i = 3, the bypass path of the function macro circuit 140 is connected,
When j = 0, SEL [3,0] = connect data input node b of selector 241 and SI [0] = output node c of selector 231;
j = 1, SEL [3,1] = connect data input node b of selector 242 and SI [1] = output node c of selector 232,
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] = selector 211 output node c”,
When j = 1, update SI [1] = “scan-in terminal 412 → SEL [0,1] = selector 212 output node c”,
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] = selector 211 output node c → SEL [1,0] = selector 221 output node c”,
When j = 1, update SI [1] = “SEL [0,1] = selector 212 output node c → SEL [1,1] = selector 222 output node c”,
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] = selector 221 output node c → SEL [2, 0] = selector 231 output node c”,
When j = 1, update SI [1] = “SEL [1,1] = selector 222 output node c → SEL [2,1] = selector 232 output node c”,
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] = selector 231 output node c → SEL [3,0] = selector 241 output node c”,
When j = 1, update SI [1] = “SEL [2,1] = selector 232 output node c → SEL [3,1] = selector 242 output node c”,
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 terminals 411 and 412 to the selectors 241 and 242 of the function macro circuit 140 are set.

さらに、各スキャンパスはスキャンアウト端子に接続される。まず、スキャンパスの順を示す繰り返し変数jに初期値0が設定される(ステップS438)。   Further, each scan path is connected to a scan-out terminal. First, an initial value 0 is set to a repetition variable j indicating the order of scan paths (step S438).

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 selectors 241/242). Therefore, the output node indicated by SI [j] and the scan-out terminal indicated by SO [j] are connected (step S442).

本実施の形態では、ループ毎に、
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] = selector 241 output node c and SO [0] = scanout terminal 421 are connected;
j = 1, SI [1] = selector 242 output node c and SO [1] = scanout terminal 422 are connected;
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 terminal 411/412 → partial scan path 111/112 → selector 211/212 → partial scan path 121/122 → selector 221/222 → partial scan path 131/132 → selector 231/232 → partial scan path 141. Two scan paths of / 142 → selector 241/242 → scan out terminal 421/422 are set.

図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 server device 300 and a plurality of computer devices 306.

本発明の実施の形態に係るスキャンテスト回路設計方法を実施するためのコンピュータシステムは、例えば、サーバ装置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 server device 300, a network 305, and a computer device 306. The server device 300 includes a communication unit 301, a processing unit 302 including a CPU (Central Processing Unit), a recording medium 303, and an input / output unit 304 that is an input / output interface. The computer device 306 includes a communication unit 307, a recording medium 308, a processing unit 309 including a CPU, and an input / output unit 310 that is an input / output interface.

ネットワーク305は、コンピュータ装置306とサーバ装置300との間の通信を接続する。ネットワーク305は、移動体通信網や、専用線網や、LAN(Local Area Network)といった有線通信や無線通信を含めた各種のネットワーク、あるいはこれらのネットワークが相互に接続されたネットワークを適用可能である。また、ネットワークによる接続なしに、単独のコンピュータ装置で実現することも可能である。   The network 305 connects communication between the computer device 306 and the server device 300. As the network 305, a mobile communication network, a private line network, various networks including wired communication and wireless communication such as a LAN (Local Area Network), or a network in which these networks are connected to each other can be applied. . Further, it can be realized by a single computer device without connection via a network.

記録媒体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 recording medium 303 stores an execution program for realizing the scan test circuit design in the present embodiment, and data such as netlist data, scan-in / out terminal information, and scan flip-flop information. The recording medium 303 includes a storage device such as a hard disk, a RAM (Random Access Memory), and a ROM (Read Only Memory). The processing unit 302 reads and executes an execution program stored in the recording medium 303 to realize the function of the server device 300. Each execution program and data are transferred from the outside to the recording medium 303 by an administrator of the server apparatus 300 via an input / output unit 304 including an input device such as a keyboard and a mouse and an output device such as an LCD (Liquid Crystal Display). Stored or displayed. In addition, the server device 300 can provide an execution program and data to the computer device 306 via the network 305 by the communication unit 301.

コンピュータ装置306は、本実施の形態におけるスキャンテスト回路設計を実現するための生成システムを実行する。コンピュータ装置306は、例えば、パーソナルコンピュータに例示される一般的な汎用コンピュータである。コンピュータ装置306は、通信部307を備え、ネットワーク305を介してサーバ装置300と通信が可能である。コンピュータ装置306は、ネットワーク305を介してサーバ装置300へ接続し、スキャンテスト回路設計を実現するための実行プログラムやデータを取得し、記憶部308へ記憶する。コンピュータ装置306は、CPUで構成される処理部309を備える。この処理部309は、記憶部308に記憶される実行プログラムを読み込んで実行し、コンピュータ装置306の所定の機能を実現する。なお、コンピュータ装置306は、コンピュータ装置306の使用者との入出力インターフェースである入出力部310を備える。入出力部310は、キーボードやマウス等の入力機器、LCD等の出力機器を含む。コンピュータ装置306は、上述の構成により、サーバ装置300から実行プログラムを取得して実行し、スキャンテスト回路設計を実現する。   The computer device 306 executes a generation system for realizing the scan test circuit design in the present embodiment. The computer device 306 is, for example, a general general-purpose computer exemplified by a personal computer. The computer device 306 includes a communication unit 307 and can communicate with the server device 300 via the network 305. The computer device 306 is connected to the server device 300 via the network 305, acquires an execution program and data for realizing scan test circuit design, and stores them in the storage unit 308. The computer device 306 includes a processing unit 309 configured with a CPU. The processing unit 309 reads and executes an execution program stored in the storage unit 308 to realize a predetermined function of the computer device 306. The computer device 306 includes an input / output unit 310 that is an input / output interface with a user of the computer device 306. The input / output unit 310 includes input devices such as a keyboard and a mouse, and output devices such as an LCD. With the above-described configuration, the computer device 306 acquires and executes an execution program from the server device 300 to realize scan test circuit design.

ここで、本実施の形態におけるスキャンテスト回路設計の実行プログラムは、サーバ装置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 recording medium 303 of the server apparatus 300. The execution program may be recorded on a portable storage medium such as a CD (Compact Disk) or a USB (Universal Serial Bus) memory equipped with a flash memory. In this case, the execution program is introduced from these portable storage media via a CD drive, a USB port, or the like included in the computer device 306.

上述のように、本実施の形態では、スキャンフリップフロップを10個有する機能マクロ回路110、スキャンフリップフロップを6個有する機能マクロ回路140、スキャンフリップフロップを8個有する機能マクロ回路120、スキャンフリップフロップを12個有する機能マクロ回路130を搭載する半導体集積回路装置を例に、これらの機能を2本のスキャンパスによりテストする場合の構成、動作が示されている。スキャンテスト開始時、スキャンパス401、402は、スキャンパス上のスキャンフリップフロップが共に18個であるため、1パターンあたり18サイクルのテスト時間でスキャンテストが行われる。そして、ユーザがスキャンテスト開始前に設定した目標故障検出率に達したテストデータまでスキャンテストが行われた機能マクロ回路の部分スキャンパスがバイパスされる。   As described above, in this embodiment, the function macro circuit 110 having ten scan flip-flops, the function macro circuit 140 having six scan flip-flops, the function macro circuit 120 having eight scan flip-flops, the scan flip-flop The configuration and operation in the case where these functions are tested by two scan paths are shown by taking as an example a semiconductor integrated circuit device having 12 function macro circuits 130 mounted thereon. At the start of the scan test, since the scan paths 401 and 402 both have 18 scan flip-flops on the scan path, the scan test is performed with a test time of 18 cycles per pattern. Then, the partial scan path of the functional macro circuit in which the scan test has been performed up to the test data that has reached the target failure detection rate set by the user before the start of the scan test is bypassed.

例えば、機能マクロ回路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 macro circuit 140 first reaches the failure detection rate set by the user. In order to bypass the partial scan paths 141 and 142 of the function macro circuit 140, the setting signal PI is input via the input terminal 413, and the value of the flip-flop 240 of the control signal generation circuit 200 becomes a value that enables the bypass control. Updated. That is, the selectors 241 and 242 are controlled to select a signal input to the node b and output it from the output node c. By this operation, the partial scan paths 141 and 142 of the function macro circuit 140 are bypassed. Thereafter, since three scan flip-flops are bypassed from the scan paths 401 and 402, the scan test is performed for the scan paths 401 and 402 with a test time of 15 cycles per pattern.

このように、どの機能マクロ回路がスキャンテスト対象外になったとしても、必ず全てのスキャンパスから少なくとも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 macro circuits 150, 160, and 170 as scan test target functions. Two scan paths 501 and 502 are set in one chip, and a scan test for these function macro circuits is performed. Is implemented.

汎用性を持たせて、多機能を実現するために多数の機能マクロ回路を搭載した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 macro circuits 150, 160, 170, a control signal generation circuit 201, selectors 251, 252, 261, 262, 271, 272, bonding option terminals 253, 263, 273, scan-in terminals 511, 512, and scan-out terminals 521, 522. The bonding option terminal 253 controls ON (operation) / OFF (stop) of the function macro circuit 150 that is the target of the scan test according to the applied signal BO5. The bonding option terminal 263 controls ON (operation) / OFF (stop) of the function macro circuit 160 which is the target of the scan test by the applied signal BO6. The bonding option terminal 273 controls ON (operation) / OFF (stop) of the function macro circuit 170 that is the target of the scan test according to the applied signal BO7.

機能マクロ回路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 macro circuit 150 includes a combinational circuit 153 and a plurality of scan flip-flops. The plurality of scan flip-flops are divided into two corresponding to the scan paths 501 and 502, and form partial scan paths 151 and 152, respectively, at the time of a scan test. The input node of the partial scan path 151 is connected to the scan-in terminal 511, and the scan pattern SI1 is input. A selector 251 is provided following the partial scan path 151. The input nodes a and b of the selector 251 are connected to the output node and input node of the partial scan path 151, respectively. The input node of the partial scan path 152 is connected to the scan-in terminal 512, and the scan pattern SI2 is input. A selector 252 is provided following the partial scan path 152. The input nodes a and b of the selector 252 are connected to the output node and the input node of the partial scan path 152, respectively. Therefore, the partial scan paths 151 and 152 can be bypassed by controlling the selectors 251 and 252.

機能マクロ回路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 macro circuit 160 includes a combinational circuit 163 and a plurality of scan flip-flops. The plurality of scan flip-flops are divided into two corresponding to the scan paths 501 and 502, and form partial scan paths 161 and 162, respectively, at the time of the scan test. The input node of the partial scan path 161 is connected to the output node c of the selector 251. A selector 261 is provided following the partial scan path 161. The input nodes a and b of the selector 261 are connected to the output node and input node of the partial scan path 161, respectively. The input node of the partial scan path 162 is connected to the output node c of the selector 252. A selector 262 is provided following the partial scan path 162. The output nodes and input nodes of the partial scan path 162 are connected to the input nodes a and b of the selector 262, respectively. Therefore, the partial scan paths 161 and 162 can be bypassed by controlling the selectors 261 and 262.

機能マクロ回路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 macro circuit 170 includes a combinational circuit 173 and a plurality of scan flip-flops. The plurality of scan flip-flops are divided into two corresponding to the scan paths 501 and 502, and form partial scan paths 171 and 172, respectively, at the time of a scan test. The input node of the partial scan path 171 is connected to the output node c of the selector 261. A selector 271 is provided following the partial scan path 171. The input nodes a and b of the selector 271 are connected to the output node and input node of the partial scan path 171, respectively. The input node of the partial scan path 172 is connected to the output node c of the selector 262. A selector 272 is provided following the partial scan path 172. The output nodes and input nodes of the partial scan path 172 are connected to the input nodes a and b of the selector 272, respectively. Therefore, the partial scan paths 171 and 172 can be bypassed by controlling the selectors 271 and 272.

制御信号生成回路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 signal generation circuit 201 includes buffer circuits 250, 260, and 270. The buffer circuit 250 receives the signal BO5 applied to the bonding option terminal 253 and outputs a bypass control signal to the selectors 251 and 252. When the signal BO5 indicates ON (operation), the buffer circuit 250 outputs a bypass control signal indicating that the scan path bypass is invalid, and when the signal BO5 indicates OFF (stop), the bypass control indicates that the scan path bypass is valid. Output a signal. The buffer circuit 260 receives the signal BO6 applied to the bonding option terminal 263 and outputs a bypass control signal to the selectors 261 and 262. When the signal BO6 indicates ON (operation), the buffer circuit 260 outputs a bypass control signal indicating that the scan path bypass is disabled, and when the signal BO6 indicates OFF (stop), the buffer circuit 260 indicates that the scan path bypass is enabled. Output a signal. The buffer circuit 270 receives the signal BO 7 applied to the bonding option terminal 273 and outputs a bypass control signal to the selectors 271 and 272. The buffer circuit 270 outputs a bypass control signal indicating scan path bypass invalidity when the signal BO7 indicates ON (operation), and bypass control indicating scan path bypass enabled when the signal BO7 indicates OFF (stop). Output a signal. By having the control signal generation circuit 201 that generates the bypass control signal based on the setting value of the bonding option, only the function that the user needs is scan-tested from the start of the scan test. It is possible to bypass the scan test.

本実施の形態に係る半導体集積回路装置のスキャンテスト時の動作を説明する。   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 macro circuits 150, 160, and 170 are validated. Signals BO5, BO6, BO7 indicating ON (operation) are applied to the bonding option terminals 253, 263, 273, and the function macro circuits 150, 160, 170 are turned on (operation). With this setting, the control signal generation circuit 201 (buffer circuits 250, 260, 270) generates a bypass control signal in which all bypass controls are invalidated, and a selector 251/252, a selector 261/262, and a selector 271/272. Output to. The selectors 251/252, 261/262 and 271/272 select the node a side. Therefore, the scan path 501 is a path that passes through the partial scan path 151 of the function macro circuit 150, the partial scan path 161 of the function macro circuit 160, and the partial scan path 171 of the function macro circuit 170. The scan path 502 is a path that passes through the partial scan path 152 of the function macro circuit 150, the partial scan path 162 of the function macro circuit 160, and the partial scan path 172 of the function macro circuit 170. The scan test is performed by the scan paths 501 and 502 that pass through the partial scan paths.

(機能マクロ回路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 macro circuits 150 and 160 are required)
The function macro circuits 150 and 160 are enabled, and the function macro circuit 170 is disabled. Signals BO5 and BO6 indicating ON (operation) are applied to the bonding option terminals 253 and 263, and the function macro circuits 150 and 160 are turned on (operation). A signal BO7 indicating OFF (stop) is applied to the bonding option terminal 273, and the function macro circuit 170 enters an OFF (stop) state. With this setting, the control signal generation circuit 201 (buffer circuits 250, 260, 270) generates a bypass control signal that disables the bypass control and outputs the bypass control signal to the selectors 251/252 and 261/262, and the bypass control is enabled. A bypass control signal is generated and output to the selector 271/272. The selectors 251/252 and 261/262 select the node a side, and the selectors 271/272 select the node b side. Therefore, the scan path 501 is a path that bypasses the partial scan path 171 of the function macro circuit 170 via the partial scan path 151 of the function macro circuit 150 and the partial scan path 161 of the function macro circuit 160. The scan path 502 is a path that bypasses the partial scan path 172 of the function macro circuit 170 via the partial scan path 152 of the function macro circuit 150 and the partial scan path 162 of the function macro circuit 160. The scan test is performed by the scan paths 501 and 502 that pass through the partial scan paths. That is, the scan path 501 is updated to the path of the scan-in terminal 511 → scan path 151 → selector 251 → scan path 161 → selector 261 → selector 271 → scan-out terminal 521, and the scan path 502 is changed to the scan-in terminal 512 → scan path. The route is updated as follows: campus 152 → selector 252 → scan path 162 → selector 262 → selector 272 → scan out terminal 522.

(機能マクロ回路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 macro circuit 150 is required)
The function macro circuit 150 is enabled and the function macro circuits 160 and 170 are disabled. A signal BO5 indicating ON (operation) is applied to the bonding option terminal 253, and the function macro circuit 150 is turned on (operation). Signals BO6 and BO7 indicating OFF (stop) are applied to the bonding option terminals 263 and 273, and the function macro circuits 160 and 170 are turned off (stop). With this setting, the control signal generation circuit 201 (buffer circuits 250, 260, 270) generates a bypass control signal that disables the bypass control, outputs the bypass control signal to the selector 251/252, and a bypass control signal that enables the bypass control. Is output to the selectors 261/262 and 271/272. The selectors 251/252 select the node a side, and the selectors 261/262 and 271/272 select the node b side. Therefore, the scan path 501 is a path that bypasses the partial scan path 161 of the function macro circuit 160 and the partial scan path 171 of the function macro circuit 170 via the partial scan path 151 of the function macro circuit 150. The scan path 502 is a path that bypasses the partial scan path 162 of the function macro circuit 160 and the partial scan path 172 of the function macro circuit 170 via the partial scan path 152 of the function macro circuit 150. The scan test is performed by the scan paths 501 and 502 that pass through the partial scan paths. That is, the scan path 501 is updated to the path of the scan-in terminal 511 → the scan path 151 → the selector 251 → the selector 261 → the selector 271 → the scan-out terminal 521, and the scan path 502 is the scan-in terminal 512 → the scan path 152 → the selector. The path is updated to 252 → selector 262 → selector 272 → scan-out terminal 522.

次に、本実施の形態に係る回路生成方法について説明する。第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 signal generation circuit 201 is different and the connection method with the control signal generation circuit 201 is different, but the other processes are the same. Therefore, in the overall flow, as shown in FIG. 10, initial values and initial sets of variables used during processing are set (step S500), and a control signal generation circuit is generated (step S600). ), Partial scan paths for each function macro circuit are constructed (step S700), and scan paths for each function macro circuit are combined to construct a one-chip scan path (step S800).

以下各処理を詳細に説明する。
まず、初期設定処理(ステップ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 scan paths 501 and 502, N = 2.
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 macro circuits 150, 160, and 170, X = 3.
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 macro circuits 150, 160, and 170, and T [2: 0] = {function macro circuit 170, function macro circuit 160, and function macro circuit 150}.
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 terminal 512, scan-in terminal 511}. The variable SI indicates the end (output node) of the combined scan path during processing.
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 terminal 522, scan-out terminal 521}.
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 signal generation circuit 201 and perform bypass control of the partial scan path of each function macro circuit is set. Here, since there are three buffer circuits, BUF [2: 0] = {buffer circuit 270, buffer circuit 260, buffer circuit 250}.
10) A set of bonding option terminals is set in the variable BO [X-1: 0]. Here, BO [2: 0] = {bonding option terminal 273, bonding option terminal 263, bonding option terminal 253}.
11) Variables i and j are variables (repetition variables) representing the number of repetitions during processing, and an initial value 0 is set.

図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 buffer circuits 250, 260, and 270 in the control signal generation circuit 201 to each unit. The variable i indicates the order of the buffer circuits, and an initial value 0 is set (step S610). The bonding option terminal 253 indicated by BO [0] is connected to the buffer circuit 250 indicated by BUF [0] (step S620). The value of the repeat variable i is incremented by 1 (step S628), and the process is repeated from step S620 until X is reached (step S630-NO). Therefore, when i = 1, the bonding option terminal 263 indicated by BO [1] and the buffer circuit 260 indicated by BUF [1] are connected. When i = 2, the bonding option terminal 273 indicated by BO [2] and the buffer circuit 270 indicated by BUF [2] are connected. In step S628, when i = X (= 3), the process ends (step S630—YES). Thus, in the generation process of the control signal generation circuit, the bonding option terminals 253, 263, and 273 and the buffer circuits 250, 260, and 270 are connected.

次に、部分スキャンパスの構築処理(ステップ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 initial value 0 is set to the repetition variable i indicating the order of the function macro circuit (step S704). Next, an initial value 0 is set to the variable j indicating the order of the partial scan paths in the function macro circuit (step S706). Then, the following processing is repeated a predetermined number of times.

まず、機能マクロ回路毎の部分スキャンパスの長さが算出される。ここでは、部分スキャンパスには、スキャンフリップフロップが均等に割り当てられる。すなわち、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 macro circuit 150 is generated,
When j = 0, SP [0,0] = partial scan path 151,
When j = 1, SP [0,1] = partial scan path 152,
When i = 1, a partial scan path of the function macro circuit 160 is generated,
When j = 0, SP [1, 0] = partial scan path 161,
SP [1,1] = partial scan path 162 when j = 1
When i = 2, a partial scan path of the function macro circuit 170 is generated,
When j = 0, SP [2,0] = partial scan path 171,
When j = 1, SP [2,1] = partial scan path 172,
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 macro circuit 150 is generated,
When j = 0, SEL [0,0] = selector 251,
When j = 1, SEL [0,1] = selector 252,
When i = 1, a selector that bypasses the function macro circuit 160 is generated,
When j = 0, SEL [1, 0] = selector 261,
When j = 1, SEL [1,1] = selector 262,
When i = 2, a selector that bypasses the function macro circuit 170 is generated,
When j = 0, SEL [2,0] = selector 271,
SEL [2,1] = selector 272 when j = 1
It becomes.

セレクタが生成されると、SEL〔i,j〕により示されるセレクタを制御する信号が印加されるセレクト入力に、当該セレクタのバイパス制御を行う信号を出力する制御信号生成回路201のバッファ回路を示すBUF〔i〕(250、260、270)の出力ノードが接続される(ステップS722)。   When the selector is generated, a buffer circuit of the control signal generation circuit 201 that outputs a signal for performing bypass control of the selector to a select input to which a signal for controlling the selector indicated by SEL [i, j] is applied is shown. The output nodes of BUF [i] (250, 260, 270) are connected (step S722).

本実施の形態では、各セレクタ(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 macro circuit 150 is connected,
When j = 0, SEL [0,0] = Connect the output node of the buffer 250 to the select input node of the selector 251;
When j = 1, SEL [0,1] = connect input node of BUF [0] = buffer 250 to select input node of selector 252
When i = 1, the selector of the function macro circuit 160 is connected,
When j = 0, SEL [1, 0] = connect input node of BUF [1] = buffer 260 to select input node of selector 261
When j = 1, SEL [1,1] = the BUF [1] = the output node of the buffer 260 is connected to the select input node of the selector 262,
When i = 2, the selector of the function macro circuit 170 is connected,
When j = 0, SEL [2,0] = Connect BUF [2] = Output node of buffer 270 to the select input node of selector 271,
When j = 1, SEL [2,1] = the input node of BUF [2] = the buffer 270 is connected to the select input node of the selector 272,
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 macro circuit 150 is selected,
When j = 0, SEL [0,0] = connector node a of selector 251 and SP [0,0] = output node of final scan flip-flop of partial scan path 151,
When j = 1, SEL [0,1] = connector node a of selector 252 and SP [0,1] = output node of final scan flip-flop of partial scan path 152,
When i = 1, the selector of the function macro circuit 160 is selected,
When j = 0, SEL [1, 0] = connect the node a of the selector 261 and SP [1, 0] = connect the output node of the last stage scan flip-flop of the partial scan path 161;
When j = 1, SEL [1,1] = connector node a of selector 262 and SP [1,1] = output node of final scan flip-flop of partial scan path 162,
When i = 2, the selector of the function macro circuit 170 is selected,
When j = 0, SEL [2,0] = connect the node a of the selector 271 and SP [2,0] = the output node of the final scan flip-flop of the partial scan path 171;
When j = 1, SEL [2,1] = connector node a of selector 272 and SP [2,1] = output node of the last stage scan flip-flop of partial scan path 172,
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 initial value 0 is set to a variable i that counts the order of function macro circuits to be processed (step S804). Next, an initial value 0 is set to a variable j that counts the order of partial scan paths in the function macro circuit (step S806).

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 partial scan paths 151 and 152 of the function macro circuit 150 are connected to the scan-in terminal. At the next stage (i> 0), the output node of the partial scan path of the previous stage is connected.

本実施の形態では、ループ毎に
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 macro circuit 150 is connected,
When j = 0, SP [0,0] = scan data input node of partial scan path 151 and SI [0] = scan-in terminal 511 are connected,
When j = 1, SP [0,1] = scan data input node of partial scan path 152 and SI [1] = scan-in terminal 512 are connected,
When i = 1, the partial scan path of the function macro circuit 160 is connected,
When j = 0, SP [1, 0] = scan data input node of partial scan path 161 and SI [0] = output node c of selector 251 are connected,
When j = 1, SP [1,1] = connect the scan data input node of the partial scan path 162 and SI [1] = output node c of the selector 252;
When i = 2, the partial scan path of the function macro circuit 170 is connected,
When j = 0, SP [2,0] = the scan data input node of the partial scan path 171 and SI [0] = the output node c of the selector 261 are connected,
When j = 1, SP [2,1] = the scan data input node of the partial scan path 172 and SI [1] = the output node c of the selector 262 are connected,
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 macro circuit 150 is connected,
When j = 0, SEL [0,0] = connects the data input node b of the selector 251 and SI [0] = scan-in terminal 511,
When j = 1, SEL [0,1] = connects the data input node b of the selector 252 and SI [1] = scan-in terminal 512;
When i = 1, the bypass path of the function macro circuit 160 is connected,
When j = 0, SEL [1, 0] = connects the data input node b of the selector 261 and SI [0] = the output node c of the selector 251;
When j = 1, SEL [1,1] = connects the data input node b of the selector 262 and SI [1] = the output node c of the selector 252;
When i = 2, the bypass path of the function macro circuit 170 is connected,
When j = 0, SEL [2,0] = connects the data input node b of the selector 271 and SI [0] = the output node c of the selector 261;
When j = 1, SEL [2,1] = connects the data input node b of the selector 272 and SI [1] = the output node c of the selector 262;
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] = selector 251 output node c”,
When j = 1, update SI [1] = “scan-in terminal 512 → SEL [0,1] = selector 252 output node c”,
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] = selector 251 output node c → SEL [1,0] = selector 261 output node c”,
When j = 1, update SI [1] = “SEL [0,1] = selector 252 output node c → SEL [1,0] = selector 262 output node c”,
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] = selector 261 output node c → SEL [2,0] = selector 271 output node c”,
When j = 1, update SI [1] = “SEL [1, 0] = selector 262 output node c → SEL [2,1] = selector 272 output node c”,
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 initial value 0 is set to a repetition variable j indicating the order of scan paths (step S838).

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 selector 271/272). Therefore, the output node indicated by SI [j] and the scan-out terminal indicated by SO [j] are connected (step S842).

本実施の形態では、ループ毎に、
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] = selector 271 output node c and SO [0] = scanout terminal 521 are connected,
When j = 1, SI [1] = selector 272 output node c and SO [1] = scanout terminal 522 are connected,
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 macro circuits 150, 160, and 170, a scan test is normally performed on all functional macro circuits regardless of the application, and pass / fail is determined. For example, when a semiconductor integrated circuit device for an application that requires two of the function macro circuits 150, 160, and 170, and does not require the function macro circuit 170, is normally used for the scan test. Regardless, a scan test of all function macro circuits is performed. Therefore, the function macro circuit 170 is also subjected to a scan test even in a semiconductor integrated circuit device for applications that do not require the function macro circuit 170. At that time, if there is a failure in the function macro circuit 170, the user who does not need the function macro circuit 170 can treat the LSI as a good product, but the function macro circuit 170 fails. Is determined as a defective product as a scan test result. As a result, the yield decreases excessively.

しかし、第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 macro circuits 150 and 160, the failure of the function macro circuit 170 is not reflected in the scan test result. Therefore, if the functional macro circuits 150 and 160 are not in failure, it can be determined as a non-defective product, and an excessive decrease in yield can be suppressed.

上述では、機能マクロ回路を例にテスト対象回路を記述したが、スキャンテストの影響が限定される任意の回路ブロックとしてもよい。また、ある回路ブロックにおける部分スキャンパスの長さは、その回路ブロック毎に等しいことが好ましいが、均等に割り当てられない場合には、その回路ブロックの最長の部分スキャンパス長と最短の部分スキャンパス長との差が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の部分スキャンパスと第2の部分スキャンパスとを含み、前記第1の部分スキャンパスの長さを示すスキャンフリップフロップの数と、前記第2の部分スキャンパスの長さを示すスキャンフリップフロップの数との差が1以下である
請求項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の部分スキャンパスの長さを示すスキャンフリップフロップの数と、前記第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の部分スキャンパスの長さを示すスキャンフリップフロップの数と、前記第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の部分スキャンパスの長さを示すスキャンフリップフロップの数と、前記第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.
JP2011073526A 2011-03-29 2011-03-29 Semiconductor integrated circuit device, scan test circuit design method, scan test circuit design device Withdrawn JP2012208000A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016173349A (en) * 2015-03-18 2016-09-29 ルネサスエレクトロニクス株式会社 Semiconductor device and design device

Cited By (1)

* Cited by examiner, † Cited by third party
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