JP4437719B2 - 半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法 - Google Patents

半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法 Download PDF

Info

Publication number
JP4437719B2
JP4437719B2 JP2004225962A JP2004225962A JP4437719B2 JP 4437719 B2 JP4437719 B2 JP 4437719B2 JP 2004225962 A JP2004225962 A JP 2004225962A JP 2004225962 A JP2004225962 A JP 2004225962A JP 4437719 B2 JP4437719 B2 JP 4437719B2
Authority
JP
Japan
Prior art keywords
scan
flip
flops
chain
scan chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004225962A
Other languages
English (en)
Other versions
JP2006047013A (ja
Inventor
敏匡 口井
浩之 四柳
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2004225962A priority Critical patent/JP4437719B2/ja
Publication of JP2006047013A publication Critical patent/JP2006047013A/ja
Application granted granted Critical
Publication of JP4437719B2 publication Critical patent/JP4437719B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、スキャン方式で設計された半導体集積回路に関するものである。
近年の半導体プロセスの微細化に伴い、ロジックLSI内に搭載できる回路が大規模化している。例えば、1000万ゲートにも及ぶロジックLSIが設計されるようになっている。出荷時にこのような大規模ロジックLSIをテストしようとすると、テストパターン量やテスト時間が膨大となるため、テストコストが増加する。そのため、ロジックLSIのテストコストを削減するために、テスト容易化設計が一般に用いられている。
代表的なテスト容易化設計として、スキャン設計がある。スキャン設計では、図26に示すように、被検査回路101の内部のフリップフロップをスキャン機能付きのフリップフロップ(スキャンフリップフロップ)100に置き換えて、スキャンフリップフロップをシリアルに接続したシフトレジスタで構成するスキャンチェーンを用いて、外部ピン200・300を用いて内部のフリップフロップ値を直接設定・読み出しできるようにする。また、テスト時には順序回路を全て組合せ回路部分900として取り扱えるように構成する。このような構成にすることで、ロジックLSIのテストが非常に容易となる。
しかし、スキャン設計では、一部のフリップフロップのみの値を設定し、読み出す場合でも、スキャンチェーンはシフトレジスタとして動作するため、スキャンチェーンに含まれる全てのフリップフロップの値を設定し、読み出しすることと同じになる。このため、スキャン設計ではテストに必要なテストデータ量が大きくなる、あるいはテスト時間が大きくなるといった問題があった。また、テスト時間を削減するため、スキャンチェーン長を短くし、スキャンチェーン本数を増やすと、スキャン用の入出力端子数が増加するといった問題があった。
これに対する改良策として、非特許文献1に記載の技術がある。これは、図27に示すようにスキャンチェーン内のフリップフロップ100…をツリー状に接続することで、スキャンチェーンのシフトレジスタの段数を縮小し、テストデータ量やテスト時間を削減するものである。
スキャン設計でのテストデータ量が大きくなる、あるいはスキャン用入出力端子数が増加する問題に対する改良策として、非特許文献2に記載の技術がある。これは、図28に示すように複数のスキャンチェーンのスキャン入力端子200を1つに共通にし、スキャン出力データs31・s32・s33・…をMISR(並列入力シグネチャ解析器、Multiple Input Signature Register)110で圧縮することで、テストデータ量とスキャン用の入出力端子数を削減するものである。MISR110の構成を図29に示す。フリップフロップ120と排他的論理和ゲート130との組合せで構成されている。
"Optimal Scan Tree Construction with Test Vector Modification for Test Compression" Proceedings of 12th Asian Test Symposium 136頁〜141頁 "An Incremental Algorithm for Test Generation in Illinois Scan Architecture Based Designs" Proceedings of Design Automation & Test in Europe Conference 2002
しかしながら、非特許文献1の技術では、ツリー状の接続されたフリップフロップによるスキャンチェーンのため、テストデータ読み出し用のスキャン出力端子300の数が膨大になり、LSIチップのパッド数やパッケージの端子数に対して納まらないという問題がある。
また、非特許文献2の技術では、MISR110を使用するため、テストパターンにドントケア(例えば、後述の図3(a)のX。1でも0でも良い。)を使用できず、テスト結果を圧縮するために故障見逃しが発生するという問題がある。
本発明は、上記従来の問題点を鑑みなされたものであり、その目的は、シフト数およびスキャン出力端子数を抑制することができ、故障見逃しのない半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法を実現することにある。
本発明の半導体集積回路は、上記課題を解決するために、スキャン方式で設計された半導体集積回路において、複数のフリッププロップからなってシフトレジスタとして動作し、少なくとも一箇所で複数のシフト経路に分岐するツリー状構成をなす第1のスキャンチェーンと、シリアルに接続された複数のフリップフロップからなってシフトレジスタとして動作し、前記第1のスキャンチェーンの分岐された前記各シフト経路の末端のフリップフロップからのスキャンデータをパラレルに受け取る第2のスキャンチェーンとの組合せを単位とするスキャン設計回路を備えていることを特徴としている。
上記の発明によれば、各スキャン設計回路において、ツリー状構成をなす第1のスキャンチェーンによってスキャンデータをシフトさせ、複数のフリップフロップがシリアルに接続された第2のスキャンチェーンがこれらをパラレルで受け取るので、第2のスキャンチェーンはスキャンデータをシリアルに出力することにより、スキャン出力端子数を少なく抑えることができる。また、ツリー状構成とシリアル接続部分との組合せにより、スキャンデータ設定値のドントケアおよび観測不要のキャプチャデータを利用してシフト数を削減することができる。シフト数が削減されるので、テストベクトル数を多くしても短時間でキャプチャデータを全て観測することができ、故障見逃しがなくなる。
以上により、シフト数およびスキャン出力端子数を抑制することができ、故障見逃しのない半導体集積回路を実現することができるという効果を奏する。
本発明の半導体集積回路は、上記課題を解決するために、前記第1のスキャンチェーンは1つのスキャン入力端子を備え、当該スキャン入力端子から前記各シフト経路の末端のフリップフロップまでの距離はいずれの経路を通っても等しく、前記第2のスキャンチェーンは1つのスキャン入力端子と1つのスキャン出力端子とを備え、前記第1のスキャンチェーンの前記末端となるフリップフロップの個数以上のフリップフロップを備えていることを特徴としている。
上記の発明によれば、第1のスキャンチェーンのスキャン入力端子から同じ距離、すなわちスキャン入力端子から数えて同じ位置にある並列関係のフリップフロップ同士は、回路の構造上、同じ論理値に設定される。そのため、スキャンチェーン内の全てのフリップフロップのうち、テストパターン中の全テストベクトルにおいて同じ値になっても構わないフリップフロップ、すなわち両立関係にあるフリップフロップを選択して並列位置に配置することで、全テストベクトルが設定できることを保証することができるという効果を奏する。
本発明の半導体集積回路は、上記課題を解決するために、前記第2のスキャンチェーンの前記スキャン出力端子側から数えて前記第1のスキャンチェーンの前記末端となるフリップフロップの個数分のフリップフロップは、前記第1のスキャンチェーンの前記末端となるフリップフロップの出力端子と1対1に接続されていることを特徴としている。
上記の発明によれば、第2のスキャンチェーンが第1のスキャンチェーンからスキャンデータを受け取った後、最小のシフト回数でスキャン出力端子からスキャンデータを出力することができるという効果を奏する。
本発明の半導体集積回路は、上記課題を解決するために、前記第1のスキャンチェーンのスキャン入力端子と、前記第2のスキャンチェーンのスキャン入力端子とが結線され、1つのスキャン入力端子として機能することを特徴としている。
上記の発明によれば、入力端子1本および出力端子1本を備える従来のスキャン設計と同等のスキャン入出力端子数でも、シフト数を削減することができるという効果を奏する。
本発明の半導体集積回路は、上記課題を解決するために、前記第1のスキャンチェーンのスキャン入力端子と、前記第2のスキャンチェーンのスキャン入力端子とは個別に設けられていることを特徴としている。
上記の発明によれば、全体が2入力をもつスキャンチェーンとなるため、第1のスキャンチェーンと第2のスキャンチェーンとを独立してシフト動作させることが可能である。従って、第1のスキャンチェーンと第2のスキャンチェーンとで同時にスキャンデータをシフト動作させることができ、スキャンデータ設定に関するシフト回数を少なくすることが可能であるという効果を奏する。
本発明の半導体集積回路は、上記課題を解決するために、前記スキャン設計回路は前記第1のスキャンチェーンを複数個備え、前記第2のスキャンチェーンは前記各第1のスキャンチェーンからスキャンデータをパラレルに受け取ることを特徴としている。
上記の発明によれば、各第1のスキャンチェーンの長さを互いに同等にすれば、第1のスキャンチェーンは1つの場合よりもスキャンチェーンの長さが短くなるので、シフト数を有効に削減することができるという効果を奏する。
本発明の半導体集積回路は、上記課題を解決するために、前記スキャン設計回路は、前記第2のスキャンチェーンを複数備えており、前記第1のスキャンチェーンから出力されるスキャンデータを前記各第2のスキャンチェーンが分担して受け取ることを特徴としている。
上記の発明によれば、スキャンアウトの出力本数が複数になるので、第2のスキャンチェーンを1つのスキャンチェーンで構成すると長大になる場合に、観測データのスキャンアウトのためのシフト数の削減を行うことができるという効果を奏する。
本発明の半導体集積回路は、上記課題を解決するために、クロック信号、スキャンイネーブル信号、および前記第1のスキャンチェーンと前記第2のスキャンチェーンとのいずれをシフト動作させるかを制御するスキャンシフト制御信号から、前記第1のスキャンチェーンを駆動するクロック信号と、前記第2のスキャンチェーンのフリップフロップのうち第1のスキャンチェーンの出力端子と接続されていないフリップフロップを駆動するクロック信号とを発生させるクロック制御手段を備えていることを特徴としている。
上記の発明によれば、第1のスキャンチェーン用のクロック信号と第2のスキャンチェーン用のクロック信号とを半導体集積回路の外部から入力するとピン数が増加するが、クロック制御手段を備えていることによってピン数のオーバーヘッドを削減することができるという効果を奏する。
本発明のスキャン回路設計方法は、上記課題を解決するために、スキャン用のテストパターンとして、フリップフロップがシリアルに接続されたスキャンチェーンに対して与えられるスキャン用のテストパターンを用い、スキャン入力データが全テストベクトルを通して同じ論理値を取り得る両立関係にあるフリップフロップを、スキャン入力端子から数えて同じ距離に並列に配置して、複数のフリッププロップからなってシフトレジスタとして動作し、少なくとも一箇所で複数のシフト経路に分岐するツリー状構成をなす第1のスキャンチェーンを構成し、非両立な関係にあるフリップフロップを、シリアルに接続された複数のフリップフロップからなってシフトレジスタとして動作し、前記第1のスキャンチェーンの分岐された前記各シフト経路の末端のフリッププロップからのスキャンデータをパラレルに受け取る第2のスキャンチェーンのフリップフロップとして配置することを特徴としている。
上記の発明によれば、第1のスキャンチェーンを、与えられたテストパターンを適用しても故障検出率の低下がないように、テストパターンを分析して全テストベクトルのスキャンインデータを通して同じ論理値に設定することが可能な両立関係にあるフリップフロップをスキャン入力端子から同じ距離に並列に配置して、構成する。また、非両立な関係にあるフリップフロップを第2のスキャンチェーンのフリップフロップとして配置して、スキャンデータをパラレルシリアル変換できるようにする。これらの配置を行うことで、故障検出率を低下させることなく、所望の全テストベクトルを設定することが可能で、スキャン出力端子を1本に抑えることが可能になるという効果を奏する。
本発明のスキャン回路設計方法は、上記課題を解決するために、前記第1のスキャンチェーンの、スキャン入力端子から同じ距離に並列に配置したフリップフロップ内において、各フリップフロップをスキャンアウト観測回数が多い順に、前記第2のスキャンチェーンのスキャン出力端子に近い側から配置することを特徴としている。
上記の発明によれば、第2のスキャンチェーンが第1のスキャンチェーンからスキャンデータであるキャプチャデータを受け取ったときに、第2のスキャンチェーンのあるフリップフロップからスキャン出力端子から最も遠いフリップフロップまで連続して観測不要なデータがある場合に、スキャンアウトのシフト回数の削減が可能になるという効果を奏する。
本発明のスキャン回路設計方法は、上記課題を解決するために、前記第2のスキャンチェーンの非両立な関係にあるフリップフロップ内において、各フリップフロップをスキャンアウト観測回数が多い順に、前記第2のスキャンチェーンのスキャン出力端子に近い側から配置することを特徴としている。
上記の発明によれば、第2のスキャンチェーンが自身のキャプチャデータをスキャンアウトするときに、第2のスキャンチェーンのあるフリップフロップからスキャン出力端子から最も遠いフリップフロップまで連続して観測不要なデータがある場合に、スキャンアウトのシフト回数の削減が可能になるという効果を奏する。
本発明のスキャン回路設計方法は、上記課題を解決するために、前記第1のスキャンチェーンの長さと前記第2のスキャンチェーンの長さとが均等になるように、非両立な関係にあるフリップフリップを第1のスキャンチェーンのスキャン入力端子側と第2のスキャンチェーンとに配置することを特徴としている。
ほとんどのロジックLSI設計において、第2のスキャンチェーンの長さが第1のスキャンチェーンの長さに比べて非常に大きくなる。これは、非両立な関係にあるフリップフロップが両立関係にあるフリップフロップよりも多いためである。この構成では第2のスキャンチェーンのスキャンデータ設定およびキャプチャデータ観測のためのシフト回数が膨大になる。それを防ぐため、上記の発明により、非両立関係にあるフリップフロップの幾つかを第1のスキャンチェーンのスキャン入力端子側にも配置することで、第1のスキャンチェーンの長さと第2のスキャンチェーンの長さとを均等にする。この配置により第1のスキャンチェーンと第2のスキャンチェーンとに同時にスキャンデータをシフトインすれば、シフト回数を削減することができるという効果を奏する。この配置を用いると、2つのスキャン入力端子から同時に独立に第1のスキャンチェーンと第2のスキャンチェーンとにシフトイン可能となるので特に有効である。
本発明のテストパターン生成方法は、上記課題を解決するために、スキャン用のテストパターンとして、フリップフロップがシリアルに接続されたスキャンチェーンに対して与えられるスキャン用のテストパターンを用いるとともに、当該テストパターンのデータを並び替え、前記半導体集積回路のスキャンデータ設定値およびキャプチャデータの期待値を作成することを特徴としている。
上記の発明によれば、フリップフロップがシリアルに接続されたスキャンチェーン用のテストパターンのデータの並び替えを行ってテストパターンを作成することにより、スキャンデータ設定値のドントケアおよび観測不要なキャプチャデータを利用することによるシフト動作の削減を行うことができるため、テスト時間を削減することができるという効果を奏する。
本発明のスキャンテスト方法は、上記課題を解決するために、スキャンテストの同じ被検査回路に対して、請求項6に記載の半導体集積回路の前記第1および第2スキャンチェーンと同じ構成の第1および第2スキャンチェーンを用いてスキャンテストを実施した後、未検出故障に対して請求項2、3、4、および7のいずれかに記載の半導体集積回路の前記第1および第2スキャンチェーンと同じ構成の第1および第2スキャンチェーンを用いてスキャンテストを実施することを特徴としている。
上記の発明によれば、スキャンテストに用いるスキャンチェーンをテスト途中で切り替えることにより、シフト回数を大きく削減することができるという効果を奏する。
本発明のスキャンテスト方法は、上記課題を解決するために、前記半導体集積回路を用い、前記第2のスキャンチェーンの前記第1のスキャンチェーンからスキャンデータをパラレルに受け取るフリップフロップのそれぞれに対して、前記第1のスキャンチェーンからスキャンデータをパラレルに受け取るシフト動作と、前記第2のスキャンチェーンにおけるシリアルのシフト動作とのいずれを行うかを独立に制御してスキャンテストを実施することを特徴としている。
上記の発明によれば、スキャンアウト動作途中で、パラレルシリアル変換する必要のあるビット幅は徐々に小さくなるため、第2のスキャンチェーンのパラレルシリアル変換に利用されないフリップフロップには、パラレルシリアル変換と同時にスキャンインデータをシフトインすることが可能となり、シフト回数が削減可能となるという効果を奏する。
本発明の半導体集積回路は、以上のように、第1のスキャンチェーンと、第2のスキャンチェーンとの組合せを単位とするスキャン設計回路を備えているので、シフト数およびスキャン出力端子数を抑制することができ、故障見逃しのない半導体集積回路を実現することができるという効果を奏する。
本発明の一実施形態について図1ないし図25に基づいて説明すると以下の通りである。
図1に、本実施の形態の半導体集積回路に備えられるスキャンテストの被検査回路1の構成を示す。被検査回路1は、スキャン設計回路11、クロック制御回路12、スキャン入力端子2、スキャン出力端子3、クロック信号入力端子15、スキャンイネーブル信号入力端子16、および、スキャンシフト制御信号入力端子17を備えている。
スキャン設計回路11は、スキャンチェーン4・5・6を備えている。スキャン設計回路11は、他の回路部分も含み得るが、スキャンチェーン4・5・6の組合せを単位として半導体集積回路に任意個数備えられている。スキャンチェーン4はスキャンフリップフロップとしてのフリップフロップFF9・FF5・FF2・FF8・FF6・FF3を備えている。スキャンチェーン5はスキャンフリップフロップとしてのフリップフロップFF0・FF7・FF4を備えている。スキャンチェーン6はスキャンフリップフロップとしてのフリップフロップFF1を備えている。フリップフロップFF9・FF5・FF2・FF8・FF6・FF3はツリー状に接続されている。
スキャンチェーン(第1のスキャンチェーン)4は、以下の接続構成となっている。フリップフロップFF9の入力端子はスキャン入力端子2に接続されている。スキャン入力端子2にはスキャン入力データSCANINが入力される。スキャン入力データSCANINは、後述するスキャンデータ設定値からなる。フリップフロップFF9の出力端子は2つのシフト経路に分岐してフリップフロップFF5の入力端子およびフリップフロップFF2の入力端子に接続されている。フリップフロップFF5の出力端子はフリップフロップFF8の入力端子に接続されている。フリップフロップFF2の出力端子は2つのシフト経路に分岐してフリップフロップFF6の入力端子およびフリップフロップFF3の入力端子に接続されている。スキャンチェーン4では、フリップフロップFF9→フリップフロップFF5→フリップフロップFF8(さらには→フリップフロップFF0)の順でデータをシフトするシフトレジスタと、フリップフロップFF9→フリップフロップFF2→フリップフロップFF6(さらには→フリップフロップFF7)の順でデータをシフトするシフトレジスタと、フリップフロップFF9→フリップフロップFF2→フリップフロップFF3(さらには→フリップフロップFF4)の順でデータをシフトするシフトレジスタとが構成されている。スキャンチェーン4はこのシフト動作を、スキャンイネーブル信号入力端子16から1のスキャンイネーブル信号SCANENが入力される期間に、クロック信号CLKHに同期して行う。
スキャンチェーン6において、フリップフロップFF1の入力端子はスキャン入力端子2に接続されている。フリップフロップFF1は、データをフリップフロップFF4へシフトする。スキャンチェーン6において、フリップフロップは一般に複数個がシリアルに接続されていてよい。スキャンチェーン6はこのシフト動作を、スキャンイネーブル信号入力端子16から1のスキャンイネーブル信号SCANENが入力される期間に、クロック信号CLKVに同期して行う。
スキャンチェーン5では、各フリップフロップはチェーン上において2つの入力端子を備えており、以下の接続構成となっている。フリップフロップFF4とフリップフロップFF7とフリップフロップFF0とはシリアルに接続されている。シリアルに接続されるフリップフロップは一般に複数個でよい。フリップフロップFF4の第1の入力端子はフリップフロップFF3の出力端子に接続されており、第2の入力端子はフリップフロップFF1の出力端子に接続されている。フリップフロップFF7の第1の入力端子はフリップフロップFF6の出力端子に接続されており、第2の入力端子はフリップフロップFF4の出力端子に接続されている。フリップフロップFF0の第1の入力端子はフリップフロップFF8の出力端子に接続されており、第2の入力端子はフリップフロップFF7の出力端子に接続されている。フリップフロップFF0の出力端子はスキャン出力端子3に接続されている。スキャンチェーン5では、フリップフロップFF4→フリップフロップFF7→フリップフロップFF0の順でデータをシフトするシフトレジスタが構成されている。フリップフロップFF0の出力は、スキャン出力端子3からのスキャン出力データSCANOUTとなる。スキャン出力データSCANOUTは、後述するキャプチャデータからなる。スキャンチェーン5はこのシフト動作を、スキャンイネーブル信号入力端子16から1のスキャンイネーブル信号SCANENが入力される期間に、クロック信号CLKに同期して行う。また、スキャンチェーン5の各フリップフロップは、1のスキャンイネーブル信号SCANENが入力されるときに、スキャンシフト制御信号入力端子17から0のスキャンシフト制御信号SCANSWが入力されれば第1の入力端子から入力されるデータを出力するシフト動作を行い、スキャンシフト制御信号入力端子17から1のスキャンシフト制御信号SCANSWが入力されれば第2の入力端子から入力されるデータを出力するシフト動作を行う。
スキャンチェーン5とスキャンチェーン6とで複数個のフリップフロップがシリアルに接続された1つのスキャンチェーンが構成されており、これを第2のスキャンチェーンとする。
また、図示しないが、スキャンチェーン4・5・6の各フリップフロップの前記シフト方向と別の方向には、前述の図26の組合せ回路部分900と同様の組合せ回路部分が設けられており、各フリップフロップと接続されている。組合せ回路部分にはスキャンチェーン4・5・6の各フリップフロップからデータが供給されるとともに、この組合せ回路部分を通ったデータが、当該組合せ回路部分の反対側に隣接するフリップフロップにキャプチャされる。フリップフロップと組合せ回路部分とのデータのやり取りは、クロック信号CLK・CLKH・CLKVに同期して行われる。
クロック制御回路(クロック制御手段)12は、NAND回路21・22、インバータ23、および、AND回路24・25を備えている。NAND回路21・22およびAND回路24・25はそれぞれ2入力である。NAND回路21の一方の入力端子はスキャンイネーブル信号入力端子16に接続されており、他方の入力端子はスキャンシフト制御信号入力端子17に接続されている。NAND回路22の一方の入力端子はスキャンイネーブル信号入力端子16に接続されており、他方の入力端子はインバータ23を介してスキャンシフト制御信号入力端子17に接続されている。AND回路24の一方の入力端子はクロック信号入力端子15に接続されており、他方の入力端子はNAND回路21の出力端子に接続されている。AND回路25の一方の入力端子はクロック信号入力端子15に接続されており、他方の入力端子はNAND回路22の出力端子に接続されている。クロック信号入力端子15にはクロック信号CLKが、スキャンイネーブル信号入力端子16にはスキャンイネーブル信号SCANENが、スキャンシフト制御信号入力端子17にはスキャンシフト制御信号SCANSWがそれぞれ入力される。また、AND回路24の出力信号は前記クロック信号CLKHとなり、AND回路25の出力信号は前記クロック信号CLKVとなる。
クロック信号CLKHは、スキャンチェーン4のシフト動作を行わせるクロック信号であり、図1における横方向シフト用クロック信号である。クロック信号CLKVは、スキャンチェーン6のシフト動作を行わせるクロック信号であり、図1における縦方向シフト用クロック信号である。図2に示すように、スキャンイネーブル信号SCANEN=0のときは、クロック制御回路12によって、スキャンシフト制御信号SCANSWの値に関わらず、クロック信号CLKH=クロック信号CLKV=クロック信号CLKとなる。また、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=0のときは、クロック信号CLKH=クロック信号CLK、クロック信号CLKV=0となる。また、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1のときは、クロック信号CLKH=0、クロック信号CLKV=クロック信号CLKとなる。なお、クロック信号CLKH=0またはCLKV=0は、クロック信号CLKH・CLKVが非アクティブ信号(ここでは常時ローレベルの状態)となることを示す。
スキャンチェーン4用のクロック信号CLKHとスキャンチェーン6用のクロック信号CLKVとを半導体集積回路(デバイス)の外部から入力するとピン数が増加するが、クロック制御回路12を備えていることによってピン数のオーバーヘッドを削減することができる。
次に、上記の構成の被検査回路1における動作を説明する。
被検査回路1における動作は、スキャン入力データSCANINのスキャンインにより各フリップフロップにスキャンデータ設定値を設定する動作と、各フリップフロップの組合せ回路部分からのキャプチャデータをスキャン出力データSCANOUTとしてスキャンアウトする動作とからなる。シフトされるスキャンデータ設定値およびキャプチャデータをまとめてスキャンデータと呼ぶ。
スキャン入力データSCANINは、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=0のときにクロック信号CLKHに同期してスキャン入力端子2からシフト動作により、ツリー構造のスキャンチェーン4の各フリップフロップに設定される。このとき、スキャンチェーン5もクロック信号CLKに同期して動作するが、スキャン入力データSCANINがスキャンチェーン4の長さ分だけが用意されているため、スキャンチェーン5には値は設定されない。スキャンチェーン6のフリップフロップはクロック信号CLKV=0であるので動作せず、当該フリップフロップには値は設定されない。
また、スキャン入力データSCANINは、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1のときにスキャン入力端子2からシフト動作により、クロック信号CLK・CLKVに同期してそれぞれスキャンチェーン6、スキャンチェーン5の各フリップフロップに設定される。このときスキャンチェーン4のフリップフロップはクロック信号CLKH=0であるので動作しない。
また、スキャンイネーブル信号SCANEN=0のときに、回路は通常動作によって、クロック信号CLK・CLKH・CLKVに同期して、各フリップフロップに設定されたスキャン入力データSCANINを被検査回路1の前記組合せ回路部分に供給するとともに、当該組合せ回路部分を通ったデータを別の各フリップフロップでキャプチャする。
被検査回路1は、フリップフロップにキャプチャされたデータを、まず、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1として、スキャンチェーン6およびスキャンチェーン5のシフト動作でスキャン出力端子3へ出力する。また、図示しないが、テストパターン入力に対して期待される出力値がテスタに格納されており、スキャン出力端子3に出力されたスキャン出力信号SCANOUTをこの期待値と比較する。その後、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=0として、スキャンチェーン4およびスキャンチェーン5において前述のシフト方向にデータを1つシフトさせて、フリップフロップFF3・FF6・FF8のデータをスキャンチェーン5に送る。これにより、スキャンチェーン5はスキャンチェーン4からデータをパラレルに受け取ってシリアルにシフトさせることとなる。このように、スキャンチェーン5はスキャンデータのパラレルシリアル変換を行う。このとき、次のキャプチャ動作に必要なスキャン入力データSCANINをスキャン入力端子2から同時にシフトインさせる。
そして、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1として、スキャンチェーン5のデータをスキャン出力端子3へ出力し、期待値と比較する。以上のスキャンチェーン5のシフト動作とスキャンチェーン4のシフト動作とを繰り返して、フリップフロップFF9のキャプチャデータがフリップフロップFF0の位置までシフトされたときに、スキャン入力端子2に、スキャンチェーン6およびスキャンチェーン5の各フリップフロップ用のスキャン入力データSCANINを用意し、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1としてスキャンチェーン6およびスキャンチェーン5にシフト動作を行わせ、キャプチャデータ出力と同時に、スキャン入力データSCANINの設定を行う。
ここで(SCANEN=1、SCANSW=1)、スキャンチェーン6およびスキャンチェーン5のフリップフロップのうち、スキャン出力端子3から遠い位置にあるフリップフロップ(ここではフリップフロップFF1、FF4、FF7、FF0の順で遠い)のキャプチャデータを観測する必要がなく、スキャン入力によるデータ設定を行う必要もなければ、途中でスキャン出力端子3へのシフト動作をやめる。このシフト動作をやめることでスキャンシフトのクロック数が大幅に削減できる。
本実施の形態では、前述した図1のスキャンチェーン4・5・6を構成するためのスキャン設計を、以下の手順で行った。
(1)従来手法でスキャン設計された、図26のようにフリップフロップがシリアルに接続される被検査回路に対して与えられたスキャン用のテストパターンを用意し、テストベクトルNoに対する各フリップフロップのスキャンデータ設定値の表と期待値の表とを用意する。その一例を図3(a)・(b)に示す。図3(a)は、各フリップフロップに対するスキャンデータ設定値が、テストベクトルNo.1〜No.5まで用意されていることを示す表である。Xはドントケアであり、1でも0でも構わない。図3(b)は、テストベクトルNo.1〜No.5に対して各フリップフロップが組合せ回路部分からキャプチャしたデータの期待値を示す表である。Xは観測不要であることを示し、HでもLでも構わない。
(2)次に、図3(a)のスキャンデータ設定値を見て、図4のようにドントケアを利用してテストパターンの始めから終わりまでが同じ値になってもよいフリップフロップの組合せ(これらのフリップフロップを両立であると称す)があるか否かを調べる。図4では、スキャンデータ設定値がテストベクトルNo.1からNo.5に向かって「10XX0」の順となるデータであれば、フリップフロップFF3・FF6・FF8の全てのスキャンデータ設定値の条件を満たすことから、フリップフロップFF3・FF6・FF8の組合せでは、テストパターンの始めから終わりまでを「10XX0」という同じ値に設定することができることが示されている。
(3)次に、上記(2)で調べた結果を用いて、図5のような両立関係を表すグラフを作成する。図5では、テストベクトルNo.1からNo.5までを等しいデータとすることのできるフリップフロップ間を互いに両立関係にあるフリップフロップであるとして線分で結んである。例えばフリップフロップFF0とフリップフロップFF3とは両立関係にある。フリップフロップFF3とFF6とFF8とは図4で説明したように両立関係にある。しかし、フリップフロップFF0とFF6とは両立関係になく、また、フリップフロップFF0とFF8とは両立関係になく、これを非両立の関係にあると呼ぶ。
(4)次に、図5の両立グラフから、図6のようにフリップフロップを両立関係にあるものどうしでグループ分けする。このとき1つのグループにできるだけ多くのフリップフロップが含まれるように選ぶ。また、どのフリップフロップとも両立関係にないフリップフロップを非両立グループとしてまとめる。図6では、両立関係の最も多いフリップフロップ数が3となるフリップフロップFF3・FF6・FF8の組合せをまず両立グループ1として選び、残りのフリップフロップの中で次に両立関係の多いフリップフロップ数が2となるフリップフロップFF2・FF5の組合せを両立グループ2として選ぶ。非両立グループはフリップフロップFF0・FF1・FF4・FF7・FF9の組合せとなる。
(5)次に、各両立グループに属するフリップフロップどうしは、同じスキャンデータ設定値になってもよいので、図7に示すようなスキャンツリー構成を作成する。両立関係にあるフリップフロップ数の少ない両立グループほどデータシフトの上流側に配置することとし、図7では両立グループ2を両立グループ1より上流側に配置している。その分、両立グループ2の出力端子のいずれかが分岐して両立グループ1の入力端子と接続されるようにする。図7ではフリップフロップFF2の出力端子はフリップフロップFF3の入力端子と1対1で接続されているが、フリップフロップFF5の出力端子は分岐してフリップフロップFF6の入力端子およびフリップフロップFF8の入力端子と接続されている。また、両立グループ2のフリップフロップFF2の入力端子とフリップフロップFF5の入力端子とを互いに接続する。これにより、同じ両立グループ内の各フリップフロップどうしは、最上流側から同じフリップフロップ数だけ離れた下流側に並列に位置することになる。以下では、離れているフリップフロップ数を距離と呼ぶ。従って、同じ両立グループ内の各フリップフロップどうしは、最上流側から同じ距離だけ離れた下流側に並列に位置している。
(6)次に、非両立グループに属するフリップフロップを図8のように上記(5)で作成したスキャンツリーの出力端子側に配置する。図8では、フリップフロップFF4・FF7・FF9・FF1・FF0の順にフリップフロップをシリアルに接続し、その下流側の3つのフリップフロップFF4・FF7・FF9の入力端子(前述の第1の入力端子に相当する)を、順にフリップフロップFF3・FF6・FF8の各出力端子と1対1に接続する。そして、フリップフロップFF2・FF5の入力端子およびフリップフロップFF0の入力端子をスキャン入力端子2に接続し、フリップフロップFF4の出力端子をスキャン出力端子3に接続する。この時点ではスキャンチェーン4はフリップフロップFF2・FF5・FF3・FF6・FF8からなり、スキャンチェーン5はフリップフロップFF4・FF7・FF9からなり、スキャンチェーン6はフリップフロップFF1・FF0からなる。
(7)次に、図9に示すように、各両立グループ内、あるいは、非両立グループ内で、フリップフロップを、図3(b)に示されているキャプチャデータ観測の必要数の大きい順にスキャン出力端子3側に近く配置されるように、並べ替える。図9では、両立グループ2においてフリップフロップFF5がフリップフロップFF2よりもスキャン出力端子3に近くなるよう、スキャンチェーン4の両立グループ1においてフリップフロップFF8・FF6・FF3の順にスキャン出力端子3に近くなるよう、非両立グループにおいてフリップフロップFF0・FF7・FF4・FF1・FF9の順にスキャン出力端子3に近くなるよう、フリップフロップを並べ替える。この時点ではスキャンチェーン4はフリップフロップFF2・FF5・FF3・FF6・FF8からなり、スキャンチェーン5はフリップフロップFF0・FF7・FF4からなり、スキャンチェーン6はフリップフロップFF1・FF9からなる。
(8)次に、非両立グループのフリップフロップの内、スキャン出力端子3から距離が遠いフリップフリップを、スキャンツリーの入力側に移動して配置する。図10ではフリップフロップFF9をフリップフロップFF5・FF2の上流側に配置し、フリップフロップFF9の入力端子をスキャン入力端子2に接続する。このようにして、図11に示すように、スキャンチェーン4の最も上流側のフリップフロップからスキャン出力端子3までの距離L1と、スキャンチェーン5・6を合せた第2のスキャンチェーンの最も上流側のフリップフロップからスキャン出力端子3までの距離L2とが均等になるように配置する。またここで、第2のスキャンチェーンは、スキャンチェーン4の末端のフリップフロップFF8・FF6・FF3の数(=3)以上の数のフリップフロップからなるようにし、スキャン出力端子3に近い方のフリップフロップがフリップフロップFF8・FF6・FF3と1対1に接続されるようにする。これにより、図1のスキャン設計回路11が構成される。
図12、図13は図10のスキャン設計回路11に対するスキャンイン、スキャンアウトの動作を表すための各端子の入出力信号のタイミング波形である。図12は図10のスキャン設計回路11に対してテストパターンの第1番目のテストベクトルNo.1をスキャン入力端子2からシフトインさせるタイミング波形例である。まず期間PI41にフリップフロップFF8・FF6・FF3のスキャンデータ設定値をスキャン入力端子2からスキャンチェーン4に入力する。次いで期間PI42にフリップフロップFF5・FF2のスキャンデータ設定値をスキャン入力端子2からスキャンチェーン4に入力するとともに、スキャンチェーン4内でデータをフリップフロップ1つ分だけシフトさせる。次いで期間PI43にフリップフロップFF9のスキャンデータ設定値をスキャン入力端子2からスキャンチェーン4に入力するとともに、スキャンチェーン4内でデータをフリップフロップ1つ分だけシフトさせる。期間PI41〜PI43には、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=0とし、クロック信号CLKH(=クロック信号CLK)に同期させてスキャンチェーン4内でのシフト動作を行う。これにより、期間PI43の終了時にはスキャンチェーン4内の全てのフリップフロップにスキャンデータ設定値が設定される。
次に、期間PI56に移り、スキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1とし、クロック信号CLKV(=クロック信号CLK)およびクロック信号CLKに同期させて、フリップフロップFF0・FF7・FF4・FF1のスキャンデータ設定値を順次スキャン入力端子2からスキャンチェーン6に入力するとともに、スキャンチェーン5・6内でのシフト動作を行う。これにより、期間PI56の終了時にはスキャンチェーン4・5・6内の全てのフリップフロップにスキャンデータ設定値が設定される。次いで、スキャンイネーブル信号SCANEN=0、スキャンシフト制御信号SCANSW=0として、クロック信号CLKH(=クロック信号CLK)、クロック信号CLKV(=クロック信号CLK)、およびクロック信号CLKに同期させて、先に各フリップフロップに設定されたスキャンデータ設定値を隣接する組合せ回路部分に送出し、また、これらのフリップフロップに、他の組合せ回路部分からのデータをキャプチャする動作を行う。
しかし、図12の期間PI41・PI42・PI43、あるいは、期間PI56において、シフトインさせるデータが先頭から連続してドントケアの続くものである場合、そのドントケア値はシフトイン不要であり、それに費やすシフト回数を削減することが可能である。例えば、フリップフロップFF8・FF6・FF3・FF5・FF2がドントケアである場合には、これらのフリップフロップにはスキャンデータ設定値を設定する必要がないので、期間PI41・PI42を削除することができる。
図13は、あるテストベクトルを印加した後のキャプチャ結果の観測値をシフトアウトし、その次のテストベクトルをシフトインさせるタイミング波形例である。
まず期間PO1においてスキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1として、スキャンチェーン5・6にキャプチャされているデータをフリップフロップFF0・FF7・FF4・FF1の順にスキャン出力端子3から出力する。
次いで期間PI41においてスキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=0として、スキャンチェーン4のフリップフロップFF8・FF6・FF3のキャプチャデータをスキャンチェーン5のフリップフロップFF0・FF7・FF4へシフトさせる。また、このとき、スキャンチェーン4のフリップフロップFF5・FF2のキャプチャデータをフリップフロップFF8・FF6・FF3にシフトさせ、フリップフロップFF9のキャプチャデータをフリップフロップFF5・FF2にシフトさせる。ただし、フリップフロップFF3・FF2にシフトされたデータは観測する必要がない。また、同時にスキャン入力端子2からフリップフロップFF9にフリップフロップFF8・FF6・FF3のスキャンデータ設定値を入力する。
次いで期間PO2においてスキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1として、フリップフロップFF0・FF7・FF4のデータ(フリップフロップFF8・FF6・FF3のキャプチャデータ)を順にスキャン出力端子3から出力する。
次いで、期間PI42においてスキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=0として、スキャンチェーン4のフリップフロップFF8・FF6・FF3のデータ(フリップフロップFF5・FF2のキャプチャデータ)をスキャンチェーン5のフリップフロップFF0・FF7・FF4にシフトさせる。ただし、フリップフロップFF4にシフトされたデータは観測する必要がない。また、このとき、スキャンチェーン4のフリップフロップFF5・FF2のデータ(フリップフロップFF9のキャプチャデータ)をフリップフロップFF8・FF6・FF3にシフトさせ、フリップフロップFF9のデータ(フリップフロップFF8・FF6・FF3のスキャンデータ設定値)をフリップフロップFF5・FF2にシフトさせる。ただし、フリップフロップFF6・FF3にシフトされたデータは観測する必要がない。また、同時にスキャン入力端子2からフリップフロップFF9にフリップフロップFF5・FF2のスキャンデータ設定値を入力する。
次いで期間PO3においてスキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1として、フリップフロップFF0・FF7・FF4のデータ(フリップフロップFF5・FF2のキャプチャデータ)を順にスキャン出力端子3から出力する。ただし、フリップフロップFF4のデータは観測する必要がないのでスキャンアウトしない。
次いで期間PI43においてスキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=0として、スキャンチェーン4のフリップフロップFF8・FF6・FF3のデータ(フリップフロップFF9のキャプチャデータ)をスキャンチェーン5のフリップフロップFF0・FF7・FF4にシフトさせる。ただし、フリップフロップFF7・FF4にシフトされたデータは観測する必要がない。この時点でフリップフロップFF9のキャプチャデータはスキャン出力端子3から出力されているので、観測不要なキャプチャデータがない場合、フリップフロップFF0〜FF9までの全てのキャプチャデータが観測されることとなる。また、期間PI43では、フリップフロップFF5・FF2のデータをフリップフロップFF8・FF6・FF3にシフトさせ、フリップフロップFF9のデータをフリップフロップFF5・FF2にシフトさせ、フリップフロップFF9のスキャンデータ設定値をスキャン入力端子2から入力する。これにより、スキャンチェーン4に対する次のスキャンデータ設定値が全て設定される。
そして、その後、期間PI56においてスキャンイネーブル信号SCANEN=1、スキャンシフト制御信号SCANSW=1として、スキャン入力端子2からフリップフロップFF0・FF7・FF4・FF1のスキャンデータ設定値を順次入力して設定する。これにより、スキャンチェーン4・5・6に次のテストベクトルが設定される。次いでキャプチャ動作に移行し、前述の期間PO1からの動作を繰り返していく。
上記図13の期間PI41・PI42・PI43・PI56も図12と同様の理由でシフトインのシフト回数を削減することができる。また、図13の期間PO1・PO2・PO3のそれぞれにおいて、図10のスキャンチェーン5・6のある位置のフリップフロップから、スキャン出力端子3から距離が最も大きく離れているフリップフロップまでが、連続して観測不要のデータを保持するフリップフロップであれば、その観測のためのシフトアウトのシフト回数を削減することができる。
図14と図15とは、本実施の形態におけるスキャン設計回路11のシフト回数の削減効果を表す図である。図16はテストベクトル数が多くなれば故障検出率が高くなることを示す曲線を示す。
図14は従来のスキャン設計回路に対して図3(a)のテストパターンを適用したときのスキャンテストに必要なクロック数を示している。テストベクトルNo.1〜No.5のスキャンデータ設定値の設定とテストベクトルNo.1〜No.4のテストベクトルに対するキャプチャデータの観測とで10×5クロックを使用する。また、テストベクトルNo.1〜No.5のスキャンデータ設定値に対するキャプチャ動作に5クロックを使用する。テストベクトルNo.5のスキャンデータ設定値に対するキャプチャデータの観測に9クロックを使用する。従って、合計64クロックを使用する。
図15は、図3(a)のテストパターンを適用し、図12および図13のシフト動作により、図10のスキャン設計回路11によってスキャンテストしたときに必要なクロック数を、各テストベクトルに対する期待値とともに示している。図中、丸で囲んだ数字はクロック信号CLKVのクロック数、四角で囲んだ数字はクロック信号CLKHのクロック数、三角で囲んだ数字はキャプチャ動作に使用されるクロック数を示す。ドントケアを使用することのできるところではドントケアを使用し、キャプチャデータ観測不要のところではシフトを行わない結果のクロック数となっており、全部で57クロックを使用する。
図14と図15とを比較すると図15の方が、クロック数が削減されていることが分かる。これは、設定不要なスキャンデータ設定値や観測不要なキャプチャデータを利用することによりシフト回数を削減しているためである。図14と図15とは小さな回路例であるため、大きな削減効果にはなっていないが、図16に示すようにテストパターンが後半に進む程、設定不要なスキャンデータ設定値や観測不要なキャプチャデータが多くを占めるため、クロック数の削減効果は大きい。
図17および図18は本実施の形態で使用する前記フリップフロップの構成を表している。
図17は従来のスキャンチェーンでも使用しているスキャンフリップフロップ10であり、Dフリップフロップ10aと選択回路10bとを備えている。実動作モードでのフリップフロップの入力端子Dとスキャンシフトに用いる入力端子SIとを有しており、選択回路10bはスキャンイネーブル信号SCANENが0のときに入力端子Dに入力される信号をDフリップフロップ10aのD端子に入力し、スキャンイネーブル信号SCANENが1のときに入力端子SIに入力される信号をDフリップフロップ10aのD端子に入力する。Dフリップフロップ10aはクロック信号CLKの立ち上がりタイミングで、D端子に入力される信号をQ端子から出力信号Q・SOとして出力する。出力信号Qは実動作モードで使用される信号であり、スキャンテストのときには前述のようにテスト信号として組合せ回路部分へ入力される。出力信号SOはスキャンシフトに使用される信号である。
図18は例えば図10のスキャンチェーン5などに利用されるスキャンフリップフロップ13であり、Dフリップフロップ13aと選択回路13b・13cとを備えている。実動作モードでのフリップフロップの入力端子Dと、スキャンチェーン4からのデータをパラレルシリアル変換するための入力端子SIHと、スキャンチェーン5自身のシフトのための入力端子SIVとを有している。選択回路13cは、スキャンシフト制御信号SCANSWが0のときに入力端子SIHに入力される信号を選択回路13bに入力し、入力端子SIHが1のときに入力端子SIVに入力される信号を選択回路13bに入力する。選択回路13bは、スキャンイネーブル信号SCANENが0のときに入力端子Dに入力される信号をDフリップフロップ13aのD端子に入力し、スキャンイネーブル信号SCANENが1のときに他方の入力端子に入力される選択回路13cからの信号をDフリップフロップ13aのD端子に入力する。Dフリップフロップ13aはクロック信号CLKの立ち上がりタイミングで、D端子に入力される信号をQ端子から出力信号Q・SOとして出力する。出力信号Qは実動作モードで使用される信号であり、スキャンテストのときには前述のようにテスト信号として組合せ回路部分へ入力される。出力信号SOはスキャンシフトに使用される信号である。
なお、図19に、図1の被検査回路1に入力するデータおよび各信号の生成・入力と、スキャンアウトデータの観測とを、ロジックLSIテスタ20によって行う構成を示す。
以上のように、本実施の形態によれば、ツリー状構成をなすスキャンチェーン4によってスキャンデータをシフトさせ、複数のフリップフロップがシリアルに接続されたスキャンチェーン5・6のスキャンチェーン5がこれらをパラレルで受け取るので、スキャンチェーン5・6はスキャンデータをシリアルに出力することにより、スキャン出力端子数を少なく抑えることができる。具体的には、従来のスキャン設計と同等のスキャン入出力端子数(入力端子1本、出力端子1本)でありながら、スキャンシフト数を削減することができる。1つのクロック信号でスキャンチェーン4とスキャンチェーン5および6とをシフトイン動作させると、スキャン入力端子2から同じ距離にある、すなわちスキャン入力端子2から数えて同じ位置にあるフリップフロップは同じ論理値に設定されるため、スキャンチェーン4を駆動するクロック信号CLKHとスキャンチェーン5および6を駆動するクロック信号CLK・CLKVとを独立して制御する。あるテストベクトルに対して、まずはスキャンチェーン4のみをシフト動作させスキャンデータ設定値を設定する。その後、スキャンチェーン5および6のみシフト動作させスキャンデータ設定値を設定し、所望のスキャンデータ設定値を設定することができる。図19では、スキャンシフト制御信号SCANSWとクロック制御回路12を用いて、クロック信号CLKH・CLKVを生成しスキャンチェーン4のみ・スキャンチェーン5および6のみをシフト動作させるか制御している。以上の動作をテストパターン内の全テストベクトルに対して行うことで、スキャンチェーン4がフリップフロップの両立関係を満たす構成であれば所望の全テストベクトルが設定できることが保証される。
また、ツリー状構成とシリアル接続部分との組合せにより、スキャンデータ設定値のドントケアおよび観測不要のキャプチャデータを利用してシフト数を削減することができる。シフト数が削減されるので、テストベクトル数を多くしても短時間でキャプチャデータを全て観測することができ、故障見逃しがなくなる。
以上により、シフト数およびスキャン出力端子数を抑制することができ、故障見逃しのない半導体集積回路を実現することができる。
また、スキャン設計回路11において、スキャンチェーン4は1つのスキャン入力端子2を備え、当該スキャン入力端子2からスキャンチェーン4の各シフト経路の末端のフリップフロップFF8・FF6.FF3までの距離はいずれの経路を通っても等しい。そして、スキャンチェーン5・6からなるスキャンチェーンは1つのスキャン入力端子2と1つのスキャン出力端子3とを備え、スキャンチェーン4の末端となるフリップフロップの個数(=3)以上のフリップフロップ(=4個)を備えている。
この構成によれば、スキャンチェーン4のスキャン入力端子2から同じ距離にある並列関係のフリップフロップ同士は、回路の構造上、同じ論理値に設定される。そのため、スキャンチェーン4内の全てのフリップフロップのうち、テストパターン中の全テストベクトルにおいて同じ値になっても構わないフリップフロップ、すなわち両立関係にあるフリップフロップを選択して並列位置に配置することで、全テストベクトルが設定できることを保証することができる。
また、スキャン設計回路11によれば、スキャンチェーン5・6のスキャン出力端子3側から数えてスキャンチェーン4の末端となるフリップフロップの個数分(=3)のフリップフロップは、スキャンチェーン4の末端となるフリップフロップの出力端子と1対1に接続されている。
この構成によれば、スキャンチェーン5・6がスキャンチェーン4からスキャンデータを受け取った後、最小のシフト回数でスキャン出力端子3からスキャンデータを出力することができる。
また、スキャン設計回路11によれば、スキャンチェーン4のスキャン入力端子2と、スキャンチェーン5・6からなるスキャンチェーンのスキャン入力端子2とが結線され、1つのスキャン入力端子として機能する。
この構成によれば、入力端子1本および出力端子1本を備える従来のスキャン設計と同等のスキャン入出力端子数でも、シフト数を削減することができる。
次に、図20〜22に、図10のスキャン設計回路11の変形例の構成を示す。
図20の構成は、図10のスキャン設計回路11においてスキャン入力端子2を、スキャンチェーン4とスキャンチェーン5・6とに個別に設けたものである。このような2入力1出力を持つツリー状構成のスキャン設計回路を用いることで、スキャンシフト回数の削減を行う。図20のスキャンチェーン4のようにスキャンチェーンをツリー構造にすることで、少ないシフト回数でできるだけ多くのフリップフロップにスキャンデータ設定値を設定することができる。スキャンチェーン4のスキャン入力端子2から同じ距離にある並列関係のフリップフロップ同士は、回路の構造上、同じ論理値に設定される。そのため、テスト対象回路内の全てのフリップフロップのうち、テストパターン中の全テストベクトルにおいて同じ値になっても構わないフリップフロップ(両立関係にあるフリップフロップ)を選択して並列位置に配置することで、全テストベクトルが設定できることを保証する。また、図20のような2入力をもつスキャン設計回路とすると、スキャンチェーン4とスキャンチェーン5および6とは独立してシフト動作することが可能であるため、スキャンチェーン4とスキャンチェーン5および6とで同時にスキャンデータをシフト動作させることができ、スキャンデータ設定値の設定に関するスキャンシフト回数を少なくすることが可能である。この場合、1つのテストベクトルのスキャンデータ設定値のスキャンシフト回数は、スキャンチェーン4の長さ(シフト方向に沿った距離)とスキャンチェーン5および6の長さとのうち長い方で決定される。
図21は、折畳みタイプのスキャン設計回路である。このスキャン設計回路はツリー状のスキャンチェーン41・42を備え、それら複数のスキャンチェーンの出力をもう1つのスキャンチェーン51でパラレルシリアル変換してスキャンデータを出力する。各ツリー状スキャンチェーンは互いに種類が異なり、スキャンチェーン41は、スキャン入力端子2から同じ距離に位置するフリップフロップに同じ論理値を設定しても所望の全テストベクトルを設定可能である構成、すなわち両立関係が成り立つフリップフロップによる構成である。スキャンチェーン42は、両立関係の成り立たないフリップフロップによる構成である。スキャン入力端子2はスキャンチェーン41・42のそれぞれに個別に設けられる。このような各種類のツリー状のスキャンチェーンを複数備えていてもよい。図21では、両立関係のフリップフロップのみでツリー状のスキャンチェーン41を構成し、残りの非両立関係にあるフリップフロップでもう1つのツリー状のスキャンチェーン42とスキャンチェーン51とを構成する。このとき、スキャンチェーン42の長さはスキャンチェーン41と同等にする。この構成にすることで、スキャンチェーン41の長さとスキャンチェーン42の長さとはそれぞれ短くなり、スキャンシフト数の削減に有効になる。
スキャンチェーン42は、ツリー状部分が図10や図20の場合と比べて短いためスキャンシフト回数が小さくて済むが、非両立の関係にあるフリップフロップが並列に並んでいるため、所望の全テストベクトルが設定できることは保証されない。そのため、図21の構成によるスキャンテストで検出できる故障を全て検出した後に、図20または図10または後述の図22の構成に切り替えてスキャンテストを行い補完する。まずは、図21のスキャンチェーンと同じ構成のスキャンチェーンを用いて少ないスキャンシフト数で大部分の故障の検出を行い、次にフリップフロップの両立関係を用いた図10、図20、あるいは図22のツリー状のスキャンチェーンと同じ構成のスキャンチェーンを用いて残りの故障の検出を行う。このスキャンチェーン構成をテスト途中で切り替えることにより、図10、図20、あるいは図22のスキャンチェーン構成を単独で用いるよりもシフト回数の削減効果が大きい。半導体集積回路にはこれら複数種類のスキャンチェーンを切り替え可能に設け、同じ被検査回路を異なるスキャンチェーンでテストする。
図21の複数のスキャン入力端子2・2を図10のように1つのスキャン入力端子2に結線する構成も考えられる。この場合、スキャンデータ設定値の設定に関しては、図10の場合と同様に考える。
ところで、図10のスキャン設計回路11においてスキャンチェーン4のシフト経路の分岐数が非常に多くなると、スキャンチェーン5・6からなるスキャンチェーンが非常に長大になる。そのため、図22では、各両立グループを複数(同図では2つ)のスキャンチェーンに分割する。この場合、第2のスキャンチェーンに相当するスキャンチェーンも上記分割数だけ分割し、スキャン入力端子2は1つのままとして、第1のスキャンチェーンのそれぞれのスキャンチェーンにスキャン出力端子3を設ける。図22の構成は、このように、第2のスキャンチェーンを複数備えており、第1のスキャンチェーンから出力されるスキャンデータを各第2のスキャンチェーンが分担して受け取り、それぞれスキャンアウトする。このように出力本数を複数にすることで、観測データのスキャンアウトのためのシフト数の削減を行うことができる。
次に、図23および図24に、図10のスキャン設計回路11が回路内部に複数存在するときの構成を示す。図23は、各スキャン設計回路11に供給するクロック信号CLK・CLKH・CLKVが、1つのクロック制御回路12から共通に供給されている例である。図24は、各スキャン設計回路11に供給するクロック信号CLK・CLKH・CLKVが、それぞれのスキャン設計回路11につき1つのクロック制御回路12から独立に供給されている例である。図23の方が図24に比べてクロック供給の設計やテストパターンの作成が容易であり、また、スキャンシフト制御信号SCANSWの入力端子数(スキャンシフト制御信号入力端子17の数)が節約できる。図24の場合は、それぞれのスキャン設計回路11が独立で動作するため、スキャンデータ設定値の設定不要および観測不要なキャプチャデータを利用したシフト動作の削減を、詳細に制御することができるため、更なるスキャンシフト回数の削減になる。
次に、図25に、更にスキャンシフト回数を削減する構成を示す。図25では、スキャンチェーン5の各フリップフロップのスキャンシフト制御信号SCANSWの入力端子を独立にコントロールする方法を示している。ツリー状のスキャンチェーン4の出力をスキャンチェーン5でパラレルシリアル変換する場合、ツリー状という回路の特徴を考えると、スキャンアウト動作途中で、パラレルシリアル変換する必要のあるビット幅は徐々に小さくなる。
そこで、スキャンチェーン5のスキャンチェーン4からスキャンデータをパラレルに受け取るフリップフロップのそれぞれに対して、スキャンチェーン4からスキャンデータをパラレルに受け取るシフト動作と、スキャンチェーン5におけるシリアルのシフト動作とのいずれを行うかを独立に制御してスキャンテストを実施する。
図25では、では、これらのスキャンチェーン5の各フリップフロップのスキャンシフト制御信号(図18のSCANSW)を独立に制御する。これにより、パラレルシリアル変換に利用されないスキャンチェーン6側のスキャンチェーン5のフリップフロップには、パラレルシリアル変換と同時にスキャンインデータをシフトインすることが可能となり、シフト回数が削減可能となる。図25の例では、ステートマシン(FSM)61により、スキャンチェーン5の各フリップフロップのスキャンシフト制御信号SCANSWの入力端子をコントロールしている。図20のようなスキャンチェーン4のスキャン入力端子2とスキャンチェーン6のスキャン入力端子2とが独立である回路の場合には、スキャンチェーン5の各フリップフロップのスキャンシフト制御信号SCANSWの入力端子を独立に制御する手法は、シフト回数の削減に特に有効である。
また、本実施の形態におけるスキャン回路設計方法は、スキャン用のテストパターンとして、従来のシリアルに接続されたスキャンチェーンに対して与えられるスキャン用のテストパターンと同じものを用い、図3〜図11のようにスキャン入力データSCANINが全テストベクトルを通して同じ論理値を取り得る両立関係にあるフリップフロップを、スキャン入力端子2から同じ距離に並列に配置して、複数のフリッププロップからなってシフトレジスタとして動作し、少なくとも一箇所で複数のシフト経路に分岐するツリー状構成をなすスキャンチェーン4を構成し、非両立な関係にあるフリップフロップを、シリアルに接続された複数のフリップフロップからなってシフトレジスタとして動作し、スキャンチェーン4の分岐された各シフト経路の末端のフリッププロップからのスキャンデータをパラレルに受け取るスキャンチェーン5・6のフリップフロップとして配置するスキャン回路設計方法である。
上記の構成によれば、与えられたテストパターンを適用しても故障検出率の低下がないように、テストパターンを分析して全テストベクトルのスキャンインデータを通して同じ論理値に設定することが可能な両立関係にあるフリップフロップをスキャン入力端子2から同じ距離に並列に配置して、スキャンチェーン4を構成する。また、非両立な関係にあるフリップフロップをスキャンチェーン5・6のフリップフロップとして配置して、スキャンデータをパラレルシリアル変換できるようにする。これらの配置を行うことで、故障検出率を低下させることなく、所望の全テストベクトルを設定することが可能で、スキャン出力端子3を1本に抑えることが可能になる。
また、前述の図11で説明したように、スキャンチェーン4の長さとスキャンチェーン5・6の長さとが均等になるように、非両立な関係にあるフリップフリップをスキャンチェーン4のスキャン入力端子2側とスキャンチェーン5・6とに配置した。
ほとんどのロジックLSI設計において、スキャンチェーン5・6の長さがスキャンチェーン4の長さに比べて非常に大きくなる。これは、非両立な関係にあるフリップフロップが両立関係にあるフリップフロップよりも多いためである。この構成ではスキャンチェーン5・6のスキャンデータ設定およびキャプチャデータ観測のためのシフト回数が膨大になる。それを防ぐため、非両立な関係にあるフリップフロップの幾つかをスキャンチェーン4のスキャン入力端子2側にシリアルに配置することで、スキャンチェーン4の長さとスキャンチェーン5・6の長さとを均等にする。この配置によりスキャンチェーン4とスキャンチェーン5とに同時にスキャンデータをシフトインすれば、シフト回数を削減することができる。この配置を用いると、2つのスキャン入力端子2・2から同時に独立にスキャンチェーン4とスキャンチェーン5・6とにシフトイン可能となるので特に有効である。
次に、テストパターン作成方法について説明する。
従来のスキャン設計で生成されたテストパターンを用いて図3〜図11で説明したスキャン回路設計方法で図10・図20・図21・図22のスキャンチェーンを設計したときに、スキャン入力端子2にシフトインさせるデータの順序とスキャン出力端子3からシフトアウトされるデータに対する期待値の順序とを並べ替える方法(テストパターンの各テストベクトルのビットを並べ替える方法)である。例えば図10のスキャン設計回路11の場合、各テストベクトルに対して、スキャンチェーン4の各フリップフロップに所望のスキャンデータ設計値が設定されるようにデータを並べ替える。そのスキャンデータ設定値に続き、スキャンチェーン5・6の各フリップフロップに所望のスキャンデータ設定値が設定されるようにデータを並べ替える。以上の各並べ替えにおいて、データ列が先頭から順にドントケアの連続するものである場合、それらドントケアはシフトイン不要なため、それらを削除する。以上のスキャンインデータに続き、スキャンチェーン5・6からのスキャンアウトデータと比較するための期待値を並べ替える。この並べ替えにおいてデータ列のある位置から最後の位置まで観測不要であれば、それらを削除する。次にスキャンチェーン4の並列位置関係にある最終段のフリップフロップグループの期待値を並べ替える。この並べ替えにおいてもデータ列のある位置から最後の位置まで観測不要であれば、それらを削除する。以下、同様にスキャンチェーン4の並列位置関係にあるフリップフロップグループ内にて期待値の並べ替えと観測不要データの削除とを行う。この並べ替えにおいてスキャンデータ設定値の設定不要およびキャプチャデータの観測不要によるシフト動作の削減を行うことができるため、テスト時間を削減することができる。図20・図21・図22のスキャンチェーンの場合も、スキャン入力端子数やスキャン出力端子数が異なるだけで、同様にテストパターンを作成する。
次に、他のテストパターン生成方法について説明する。
図3〜図11のスキャン回路設計方法を用いずに図10、図20、あるいは図22のスキャンチェーン(フリップフロップの両立関係を用いずにツリー状のチェーン)を設計した場合、あるいは、図21で説明したスキャンチェーン42(これも非両立な関係にあるフリップフロップによるツリー)の場合、ツリー状の並列関係のフリップフロップには同値が設定されるため、与えられたテストパターンの全テストベクトルを与えることはできない。この場合は、ツリー状のスキャンチェーンのうちある1本のスキャンチェーン経路を選択し、その経路上のフリップフロップのスキャンデータ設定値のみをテストベクトルから抽出してその経路上に設定しながら、ツリー状のスキャンチェーンの全フリップフロップにデータを設定するように、シフトインデータを並べ替える。このとき選択したスキャンチェーンのシフト経路のみ所望のスキャンデータ設定値が設定されるため、テスト結果の期待値はこの設定したスキャンデータ設定値で故障シミュレーションし、テストベクトル毎に各フリップフロップの期待値を求める。与えられたテストパターンの全テストベクトルに対して以上の処理を行い、故障シミュレーションで見つからなかった故障に対しては、従来のスキャンチェーン構成でテストを実施するか、あるいは、フリップフロップ間の両立関係を利用したツリー状のスキャンチェーン構成に切り替えてテストを実施する。これらのスキャンチェーン構成を切り替えるいずれかのテストを実施するために、与えられたテストパターンのうち故障シミュレーションでの未検出故障の検出に関与するテストベクトルを抽出し、スキャンインデータとスキャンアウトデータとをシフトイン・シフトアウトする順序に並べ替える。
次に、既存のテストパターンなしで図10、図20、図21、あるいは図22を設計した場合について説明する。
図10、図20、図21、あるいは図22のスキャンチェーン回路を設計した場合(フリップフロップの両立関係を用いずにツリー状のチェーンを設計した場合)のもう1つのテストパターン作成方法は、ツリー状の並列関係にあるフリップフロップには必ず同じ論理値が設定されるという条件を与えてATPGによりテストパターンを生成する。ATPG実施後、未検出故障に対しては従来のスキャンチェーン構成にしてATPGを実施しテストパターンを生成する。生成したテストパターンの各テストベクトルにおいては、上記で説明したようにスキャンインデータ・スキャンアウトデータをシフトイン・シフトアウトする順序に並べ替える。
以上、テストパターン作成方法において、スキャンチェーン5・6のデータを全てシフトアウトする場合と、スキャンチェーン4の出力値をスキャンチェーン5にシフトさせる場合とを切り替えるために、スキャンチェーン5の各フリップフロップがどちらのデータを取り込むのか制御するスキャンシフト制御信号SCANSWが必要になるため、テストパターンの動きに併せてこの信号も生成する。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、スキャン方式で設計された半導体集積回路に好適に適用できる。
本発明の実施形態を示すものであり、半導体集積回路に備えられるスキャンテストの被検査回路および第1のスキャン設計回路の構成を示す回路ブロック図である。 図1の被検査回路のスキャンテストに使用される制御信号・クロック信号の論理対応を説明する図である。 (a)は図1の被検査回路のスキャンテストに用いられるスキャンデータ設定値、(b)は(a)のスキャンデータ設定値に対するスキャンテスト結果の期待値を示す図である。 両立関係にあるフリップフロップを説明する図である。 各フリップフロップの両立関係を表すグラフである。 フリップフロップの両立グループおよび非両立グループへの分類を説明する図である。 図6の両立グループを用いてスキャンツリーを構成した場合のスキャンチェーンの第1段階での構成図である。 図6の両立グループを用いてスキャンツリーを構成した場合のスキャンチェーンの第2段階での構成図である。 図6の両立グループを用いてスキャンツリーを構成した場合のスキャンチェーンの第3段階での構成図である。 図6の両立グループを用いてスキャンツリーを構成した場合のスキャンチェーンの第4段階での構成図およびスキャン設計回路の構成図である。 図10のスキャンチェーンを縦横の距離が等しくなるように作成することを示す図である。 図10のスキャン設計回路に第1番目のテストベクトルをスキャンインするときの各信号のタイミング波形図である。 図10のスキャン設計回路における、あるテストベクトルに対するキャプチャ後の観測データのスキャンアウトと、その次のテストベクトルをスキャンインするときの各信号のタイミング波形図である。 図3(a)のテストパターンを従来のスキャンチェーンに適用した場合の必要クロック数を示す図である。 図3(a)のテストパターンを図10のスキャンチェーンに適用した場合の必要クロック数を示す図である。 テストベクトル数と故障検出率の関係を表したグラフである。 第1のスキャンフリップフロップの構成を示す回路ブロック図である。 第2のスキャンフリップフロップの構成を示す回路ブロック図である。 図1の被検査回路のテスト構成を表す回路ブロック図である。 本発明の実施形態を示すものであり、半導体集積回路に備えられる第2のスキャン設計回路の構成を示す回路ブロック図である。 本発明の実施形態を示すものであり、半導体集積回路に備えられる第3のスキャン設計回路の構成を示す回路ブロック図である。 本発明の実施形態を示すものであり、半導体集積回路に備えられる第4のスキャン設計回路の構成を示す回路ブロック図である。 図1のスキャン設計回路を複数備える被検査回路の第1の構成を示す回路ブロック図である。 図1のスキャン設計回路を複数備える被検査回路の第2の構成を示す回路ブロック図である。 本発明の実施形態を示すものであり、半導体集積回路に備えられる第5のスキャン設計回路の構成を示す回路ブロック図である。 従来技術を示すものであり、半導体集積回路に備えられる被検査回路のスキャン設計回路の第1の構成を示す回路ブロック図である。 従来技術を示すものであり、半導体集積回路に備えられるスキャン設計回路の第2の構成を示す回路ブロック図である。 従来技術を示すものであり、半導体集積回路に備えられるスキャン設計回路の第3の構成を示す回路ブロック図である。 図28のスキャン設計回路に備えられるMISRの構成を示す回路ブロック図である。
符号の説明
1 被検査回路
2 スキャン入力端子
3 スキャン出力端子
4 スキャンチェーン(第1のスキャンチェーン)
5 スキャンチェーン
6 スキャンチェーン
11 スキャン設計回路
12 クロック制御回路(クロック制御手段)
41、42
スキャンチェーン(第1のスキャンチェーン)
51 スキャンチェーン(第2のスキャンチェーン)
CLK、CLKH、CLKV
クロック信号
FF0〜FF9
フリップフロップ

Claims (15)

  1. スキャン方式で設計された半導体集積回路において、
    複数のフリッププロップからなってシフトレジスタとして動作し、少なくとも一箇所で複数のシフト経路に分岐するツリー状構成をなす第1のスキャンチェーンと、
    シリアルに接続された複数のフリップフロップからなってシフトレジスタとして動作し、前記第1のスキャンチェーンの分岐された前記各シフト経路の末端のフリッププロップからのスキャンデータをパラレルに受け取る第2のスキャンチェーンとの組合せを単位とするスキャン設計回路を備えていることを特徴とする半導体集積回路。
  2. 前記第1のスキャンチェーンは1つのスキャン入力端子を備え、当該スキャン入力端子から前記各シフト経路の末端のフリップフロップまでの距離はいずれの経路を通っても等しく、
    前記第2のスキャンチェーンは1つのスキャン入力端子と1つのスキャン出力端子とを備え、前記第1のスキャンチェーンの前記末端となるフリップフロップの個数以上のフリップフロップを備えていることを特徴とする請求項1に記載の半導体集積回路。
  3. 前記第2のスキャンチェーンの前記スキャン出力端子側から数えて前記第1のスキャンチェーンの前記末端となるフリップフロップの個数分のフリップフロップは、前記第1のスキャンチェーンの前記末端となるフリップフロップの出力端子と1対1に接続されていることを特徴とする請求項2に記載の半導体集積回路。
  4. 前記第1のスキャンチェーンのスキャン入力端子と、前記第2のスキャンチェーンのスキャン入力端子とが結線され、1つのスキャン入力端子として機能することを特徴とする請求項2または3に記載の半導体集積回路。
  5. 前記第1のスキャンチェーンのスキャン入力端子と、前記第2のスキャンチェーンのスキャン入力端子とは個別に設けられていることを特徴とする請求項2または3に記載の半導体集積回路。
  6. 前記スキャン設計回路は前記第1のスキャンチェーンを複数個備え、前記第2のスキャンチェーンは前記各第1のスキャンチェーンからスキャンデータをパラレルに受け取ることを特徴とする請求項1に記載の半導体集積回路。
  7. 前記スキャン設計回路は、前記第2のスキャンチェーンを複数備えており、前記第1のスキャンチェーンから出力されるスキャンデータを前記各第2のスキャンチェーンが分担して受け取ることを特徴とする請求項1または2に記載の半導体集積回路。
  8. クロック信号、スキャンイネーブル信号、および前記第1のスキャンチェーンと前記第2のスキャンチェーンとのいずれをシフト動作させるかを制御するスキャンシフト制御信号から、前記第1のスキャンチェーンを駆動するクロック信号と、前記第2のスキャンチェーンのフリップフロップのうち第1のスキャンチェーンの出力端子と接続されていないフリップフロップを駆動するクロック信号とを発生させるクロック制御手段を備えていることを特徴とする請求項1ないし7のいずれかに記載の半導体集積回路。
  9. スキャン用のテストパターンとして、フリップフロップがシリアルに接続されたスキャンチェーンに対して与えられるスキャン用のテストパターンを用い、
    スキャン入力データが全テストベクトルを通して同じ論理値を取り得る両立関係にあるフリップフロップを、スキャン入力端子から数えて同じ距離に並列に配置して、複数のフリッププロップからなってシフトレジスタとして動作し、少なくとも一箇所で複数のシフト経路に分岐するツリー状構成をなす第1のスキャンチェーンを構成し、
    非両立な関係にあるフリップフロップを、シリアルに接続された複数のフリップフロップからなってシフトレジスタとして動作し、前記第1のスキャンチェーンの分岐された前記各シフト経路の末端のフリッププロップからのスキャンデータをパラレルに受け取る第2のスキャンチェーンのフリップフロップとして配置することを特徴とするスキャン回路設計方法。
  10. 前記第1のスキャンチェーンの、スキャン入力端子から同じ距離に並列に配置したフリップフロップ内において、各フリップフロップをスキャンアウト観測回数が多い順に、前記第2のスキャンチェーンのスキャン出力端子に近い側から配置することを特徴とする請求項9に記載のスキャン回路設計方法。
  11. 前記第2のスキャンチェーンの非両立な関係にあるフリップフロップ内において、各フリップフロップをスキャンアウト観測回数が多い順に、前記第2のスキャンチェーンのスキャン出力端子に近い側から配置することを特徴とする請求項9または10に記載のスキャン回路設計方法。
  12. 前記第1のスキャンチェーンの長さと前記第2のスキャンチェーンの長さとが均等になるように、非両立な関係にあるフリップフリップを第1のスキャンチェーンのスキャン入力端子側と第2のスキャンチェーンとに配置することを特徴とする請求項9ないし11のいずれかに記載のスキャン回路設計方法。
  13. スキャン用のテストパターンとして、フリップフロップがシリアルに接続されたスキャンチェーンに対して与えられるスキャン用のテストパターンを用いるとともに、当該テストパターンのデータを並び替え、
    請求項1ないし8のいずれかに記載の半導体集積回路のスキャンデータ設定値およびキャプチャデータの期待値を作成することを特徴とするテストパターン生成方法。
  14. スキャンテストの同じ被検査回路に対して、請求項6に記載の半導体集積回路の前記第1および第2スキャンチェーンと同じ構成の第1および第2スキャンチェーンを用いてスキャンテストを実施した後、未検出故障に対して請求項2、3、4、および7のいずれかに記載の半導体集積回路の前記第1および第2スキャンチェーンと同じ構成の第1および第2スキャンチェーンを用いてスキャンテストを実施することを特徴とするスキャンテスト方法。
  15. 請求項1ないし7のいずれかに記載の半導体集積回路を用い、前記第2のスキャンチェーンの前記第1のスキャンチェーンからスキャンデータをパラレルに受け取るフリップフロップのそれぞれに対して、前記第1のスキャンチェーンからスキャンデータをパラレルに受け取るシフト動作と、前記第2のスキャンチェーンにおけるシリアルのシフト動作とのいずれを行うかを独立に制御してスキャンテストを実施することを特徴とするスキャンテスト方法。
JP2004225962A 2004-08-02 2004-08-02 半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法 Expired - Fee Related JP4437719B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004225962A JP4437719B2 (ja) 2004-08-02 2004-08-02 半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004225962A JP4437719B2 (ja) 2004-08-02 2004-08-02 半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法

Publications (2)

Publication Number Publication Date
JP2006047013A JP2006047013A (ja) 2006-02-16
JP4437719B2 true JP4437719B2 (ja) 2010-03-24

Family

ID=36025738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004225962A Expired - Fee Related JP4437719B2 (ja) 2004-08-02 2004-08-02 半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法

Country Status (1)

Country Link
JP (1) JP4437719B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5098358B2 (ja) * 2007-02-22 2012-12-12 富士通セミコンダクター株式会社 プロセッシングエレメント及びそれを備えたリコンフィギャラブル回路
US8429472B2 (en) * 2008-08-20 2013-04-23 National University Corporation Kyushu University Institute of Technology Generating device, generating method, and program
KR20120100385A (ko) 2011-03-04 2012-09-12 삼성전자주식회사 플립-플롭 및 이를 포함하는 반도체 장치
JP6544958B2 (ja) * 2015-03-18 2019-07-17 ルネサスエレクトロニクス株式会社 半導体装置及び設計装置、スキャンフリップフロップ
CN112084742B (zh) * 2019-06-14 2024-05-17 瑞昱半导体股份有限公司 集成电路设计方法与其非瞬时计算机可读介质

Also Published As

Publication number Publication date
JP2006047013A (ja) 2006-02-16

Similar Documents

Publication Publication Date Title
US6625784B1 (en) Semiconductor integrated circuit device, method of testing the same, database for design of the same and method of designing the same
US8904255B2 (en) Integrated circuit having clock gating circuitry responsive to scan shift control signal
US6861866B2 (en) System on chip (SOC) and method of testing and/or debugging the system on chip
US7941720B2 (en) Scan test circuit and scan test control method
US8850280B2 (en) Scan enable timing control for testing of scan cells
US20030056183A1 (en) Scan test circuit, and semiconductor integrated circuit including the circuit
US20040187058A1 (en) Semiconductor integrated circuit and scan test method therefor
US8700962B2 (en) Scan test circuitry configured to prevent capture of potentially non-deterministic values
US8914689B2 (en) Controlled toggle rate of non-test signals during modular scan testing of an integrated circuit
US20110175638A1 (en) Semiconductor integrated circuit and core test circuit
JPS63243890A (ja) 半導体集積回路装置
US7051255B2 (en) Method and apparatus for reducing power dissipation in latches during scan operation
KR102577213B1 (ko) 집적 회로에서의 동적 스캔 체인 재구성
JP4437719B2 (ja) 半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法
US20060041806A1 (en) Testing method for semiconductor device and testing circuit for semiconductor device
US8826087B2 (en) Scan circuitry for testing input and output functional paths of an integrated circuit
JP4549701B2 (ja) 半導体回路装置及び半導体回路に関するスキャンテスト方法
US7702979B2 (en) Semiconductor integrated circuit incorporating test configuration and test method for the same
JP5383588B2 (ja) スキャンテスト回路、半導体集積回路
JP4610919B2 (ja) 半導体集積回路装置
US20140201584A1 (en) Scan test circuitry comprising at least one scan chain and associated reset multiplexing circuitry
EP1508812B1 (en) Scan-test method and circuit using a substitute enable signal
EP1357388A2 (en) Input/output characterization register (chain) for an integrated circuit
JP3982927B2 (ja) スキャンチェイン設計システム及びその設計方法
JP3804927B2 (ja) 半導体集積回路の設計方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091224

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees