(57)【要約】【課題】ＩＲドロップの発生を抑えることができたが、スキャンテストのテスト時間が増加してしまうという課題があった。【解決手段】スキャンサブチェーンと、スキャンチェーン選択回路と、スキャンシフト入力端子とを具備するスキャンテスト回路によって解決することができる。スキャンサブチェーンは、同一の第１種のグループに属するスキャンサブチェーンのそれぞれが、異なるスキャンシフト入力端子に接続され、かつ、異なる第１種のグループに属するスキャンサブチェーンが、一のスキャンシフト入力端子に並列に接続されている。スキャンチェーン選択回路は、同時にスキャン動作するスキャンサブチェーンが、いずれかの第１種のグループに属するものとなるように、スキャンサブチェーンを制御する。同一の第１種のグループに属するスキャンサブチェーンの全てが同時にスキャン動作しても、ＩＲドロップの許容値が満たされている。【選択図】図１２
2010038874.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテストするスキャンフリップフロップ群における一部のスキャンフリップフロップを接続したスキャンサブチェーンと、
前記スキャンサブチェーンのスキャン動作を制御するスキャンチェーン選択回路と、
スキャンテストパターンを入力するスキャンシフト入力端子とを具備し、
前記スキャンサブチェーンは、
同一の第１種のグループに属するスキャンサブチェーンのそれぞれが、異なるスキャンシフト入力端子に接続され、かつ、異なる第１種のグループに属するスキャンサブチェーンが、一のスキャンシフト入力端子に並列に接続され、
前記スキャンチェーン選択回路は、
同時にスキャン動作するスキャンサブチェーンが、いずれかの第１種のグループに属するものとなるように、前記スキャンサブチェーンを制御し、
前記第１種のグループは、
同一の第１種のグループに属するスキャンサブチェーンの全てが同時にスキャン動作しても、ＩＲドロップの許容値を満たすように、前記スキャンフリップフロップ群を分割して得られたグループである
スキャンテスト回路。
【請求項２】
スキャンシフト出力端子と、
前記一のスキャンシフト入力端子に並列に接続されたスキャンサブチェーンの出力側を、一のスキャンシフト出力端子に接続すると共に、前記スキャンチェーン選択回路によって選択されたスキャンチェーンの出力を選択し、選択した出力のみを前記一のスキャンシフト出力端子へ出力する出力端子削減回路とを更に具備する
請求項１記載のスキャンテスト回路。
【請求項３】
前記スキャンサブチェーンは、
前記第１種のグループのいずれかに属するスキャンサブチェーンと、前記第１種のグループのいずれにも属さないスキャンサブチェーンとを含み、
前記いずれかに属するスキャンサブチェーンは、
前記スキャンフリップフロップ群の中で、ＩＲドロップが所定の閾値を超える領域に存在するスキャンフリップフロップを接続したものであって、同一の第１種のグループに属するスキャンサブチェーンのそれぞれが、異なるスキャンシフト入力端子に接続され、かつ、異なる第１種のグループに属するスキャンサブチェーンが、一のスキャンシフト入力端子に並列に接続され、
前記いずれにも属さないスキャンサブチェーンは、
前記スキャンフリップフロップ群の中で、ＩＲドロップが所定の閾値を超える領域に存在しないスキャンフリップフロップを接続したものであり、
前記第１種のグループは、
前記いずれにも属さないスキャンサブチェーンが同時にスキャン動作するとした場合に、同一の第１種のグループに属するスキャンサブチェーンの全てが同時にスキャン動作したとしても、ＩＲドロップの許容値が満たされるように、前記スキャンフリップフロップ群の中で、前記いずれかに属するスキャンサブチェーンに係るものを分割して得られたグループである
請求項２記載のスキャンテスト回路。
【請求項４】
半導体装置の論理接続情報に基づいて、前記半導体装置におけるＩＲドロップを解析することと、
解析されたＩＲドロップに基づいて、前記半導体装置の論理接続情報におけるスキャンフリップフロップ群を、ＩＲドロップの許容値を満たすように、第１種のグループに分割することと、
前記第１種のグループに分割されたスキャンフリップフロップ群を、更に、前記第１種のグループそれぞれの中で、所定数の第２種のグループに分割することと、
前記第２種のグループに分割されたスキャンフリップフロップ群ごとに、スキャンサブチェーンの論理接続情報を作成することと、
一のスキャンシフト入力端子に対して、異なる第１種のグループに属するスキャンサブチェーンを並列に接続したスキャンテスト回路の論理接続情報を作成することと、
前記スキャンテスト回路の論理接続情報に、同時にスキャン動作するスキャンサブチェーンが、いずれかの第１種のグループに属するものとなるように、スキャンサブチェーンを制御するスキャンチェーン選択回路を挿入することとを具備する
スキャンテスト回路の論理接続情報生成方法。
【請求項５】
前記スキャンテスト回路の論理接続情報に、前記一のスキャンシフト入力端子に対して、並列に接続したスキャンサブチェーンの出力を、一のスキャンシフト出力端子に接続する出力端子削減回路を挿入することを更に具備する
請求項４記載のスキャンテスト回路の論理接続情報生成方法。
【請求項６】
前記第１種のグループに分割することにおいては、
前記半導体装置の論理接続情報におけるスキャンフリップフロップ群の中で、ＩＲドロップが所定の閾値を超える領域に存在するものを分割の対象とし、ＩＲドロップが所定の閾値を超える領域に存在しないスキャンフリップフロップ群が同時にスキャン動作したとしても、前記ＩＲドロップの許容値が満たされるように、第１種のグループへの分割を行うことを含む
請求項５記載のスキャンテスト回路の論理接続情報生成方法。
【請求項７】
請求項４〜６いずれか１項に記載のスキャンテスト回路の論理接続情報生成方法を使用して、スキャンテスト回路の論理接続情報を生成することと、
生成されたスキャンテスト回路の論理接続情報に基づいて、スキャンテスト回路を製造することとを具備する
スキャンテスト回路の製造方法。
【請求項８】
半導体装置の論理接続情報に基づいて、前記半導体装置におけるＩＲドロップを解析する手順と、
解析されたＩＲドロップに基づいて、前記半導体装置の論理接続情報におけるスキャンフリップフロップ群を、ＩＲドロップの許容値を満たすように、第１種のグループに分割する手順と、
前記第１種のグループに分割されたスキャンフリップフロップ群を、更に、前記第１種のグループそれぞれの中で、所定数の第２種のグループに分割する手順と、
前記第２種のグループに分割されたスキャンフリップフロップ群ごとに、スキャンサブチェーンの論理接続情報を作成する手順と、
一のスキャンシフト入力端子に対して、異なる第１種のグループに属するスキャンサブチェーンを並列に接続したスキャンテスト回路の論理接続情報を作成する手順と、
前記スキャンテスト回路の論理接続情報に、同時にスキャン動作するスキャンサブチェーンが、いずれかの第１種のグループに属するものとなるように、スキャンサブチェーンを制御するスキャンチェーン選択回路を挿入する手順とをコンピュータ装置に実行させるための
スキャンテスト回路の論理接続情報生成プログラム。
【請求項９】
前記スキャンテスト回路の論理接続情報に、前記一のスキャンシフト入力端子に対して、並列に接続したスキャンサブチェーンの出力を、一のスキャンシフト出力端子に接続する出力端子削減回路を挿入する手順を更にコンピュータ装置に実行させるための
請求項８記載のスキャンテスト回路の論理接続情報生成プログラム。
【請求項１０】
前記第１種のグループに分割する手順は、
前記半導体装置の論理接続情報におけるスキャンフリップフロップ群の中で、ＩＲドロップが所定の閾値を超える領域に存在するものを分割の対象とし、ＩＲドロップが所定の閾値を超える領域に存在しないスキャンフリップフロップ群が同時にスキャン動作したとしても、前記ＩＲドロップの許容値が満たされるように、第１種のグループへの分割を行う手順を含む
請求項９記載のスキャンテスト回路の論理接続情報生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置のスキャンテスト回路、その論理接続情報生成方法及びプログラムに関する。
【背景技術】
【０００２】
半導体集積回路のスキャンテスト時に、スキャンフリップフロップの同時動作によって、通常動作時に比べて過大な電流が流れる。そのため電源ラインの電圧降下（以下、ＩＲドロップと称す）が発生し、良品を不良品と誤判定する問題が発生している。また、近年は、半導体集積回路の規模拡大によってスキャンテスト時間が増加し、テストコストの増加が問題となっている。そこで、ＩＲドロップによる誤判定を防止し、且つスキャンテストの時間を短縮する技術が求められている。
【０００３】
特開２００６−０６６８２５号公報（特許文献１参照）には、「半導体集積回路テスト設計支援装置」の発明が記載されている。特許文献１における図１を引用する図１は、その発明の構成と動作を説明するブロック図である。半導体集積回路テスト設計支援装置１００の構成を説明する。図１において、半導体集積回路テスト設計支援装置１００は、自動配置配線部２と、電源ＲＣネットワーク解析部４と、スキャン回路グルーピング部６と、ＩＲドロップ解析部８と、スキャンチェーン挿入部１１と、スキャンチェーン生成用リピート部１３とを備えている。
【０００４】
自動配置配線部２は、半導体集積回路をテストするためスキャンフリップフロップ群を直列に接続して構成したスキャンテスト回路情報が挿入された論理接続情報１を入力として、スキャンテスト回路情報を含むマスクレイアウトパターン３を出力する。電源ＲＣネットワーク解析部４は、マスクレイアウトパターン３に基づいて、電源電圧を供給する配線の物理的形状、電源供給源からの距離、電源系統を解析し、電源ＲＣネットワーク解析結果５を出力する。スキャン回路グルーピング部６は、電源ＲＣネットワーク解析結果５に基づいて、スキャンフリップフロップをグルーピングし、スキャン回路グループ情報７を出力する。
【０００５】
ＩＲドロップ解析部８は、マスクレイアウトパターン３と、スキャン回路グループ情報７と、各スキャンフリップフロップの動作回数を示した動作率情報１７に基づいて、配線上に生じるＩＲドロップを解析し、ＩＲドロップによる各スキャンフリップフロップの誤動作が発生するか否かを判定する。スキャンチェーン挿入部１１は、スキャン回路グループ情報７に基づいて、論理接続情報１のスキャンテスト回路を変更する。スキャンチェーン生成用リピート部１３は、ＩＲドロップ解析部８により各スキャンフリップフロップの誤動作が発生しないと判定されるまで、自動配置配線部２、電源ＲＣネットワーク解析部４、スキャン回路グルーピング部６、ＩＲドロップ解析部８、およびスキャンチェーン挿入部１１の一連の機能を自動的に繰り返し実行する。
【０００６】
半導体集積回路テスト設計支援装置１００の動作を説明する。論理接続情報１が自動配置配線部２に入力されると、自動配置配線部２からレイアウトパターン３が出力される。電源ＲＣネットワーク解析部４は、レイアウトパターン３の入力を受け、電源ＲＣネットワーク解析結果５を出力する。電源ＲＣネットワーク解析結果５には、スキャンチェーン情報、電源ネットの物理的形状（配線幅）、電源供給源からの距離、電源系統情報が含まれる。電源系統情報は、スキャンフリップフロップが接続されている電源端子と供給されている電源電圧の情報を含む。
【０００７】
スキャン回路グルーピング部６は、電源ＲＣネットワーク解析結果５を入力として、同時に動作させることが可能なフリップフロップ群をグルーピングし、スキャン回路グループ情報７を出力する。グルーピングの方法は、例えば、スキャンチェーン情報、電源系統情報、電源ネットの物理的形状、電源供給源からの距離の順で優先順位を設定する。最初に、スキャンチェーン情報から、同一スキャンチェーン上のスキャンフリップフロップ群が同じグループとなるようにグルーピングする。次に、それらのグループ毎に、電源系統情報を用いて、同一電源供給源を持つスキャンフリップフロップ群が同じグループとなるようにグルーピングする。次に、それらのグループ毎に、各スキャンフリップフロップが配置されている電源ネットの物理的形状（配線幅）と所定の基準値との大小比較に基づいて、グルーピングを行う。さらに、それらのグループ毎に、各スキャンフリップフロップが配置されている電源ネットの電源供給源からの距離より、配線導体の抵抗値を算出する。その抵抗値と所定の基準値との大小比較に基づいて、グルーピングを行う。
【０００８】
なお、フリップフロップ群のグルーピングは、これら全ての情報を用いなくても、いずれか１つ以上の情報を用いて行っても良い。また、スキャン回路グルーピング部６は、既存の機能により出力される各スキャンフリップフロップのクロックドメイン情報１６を、グルーピングに用いることもできる。
【０００９】
グルーピングの結果は、各々のスキャンフリップフロップをインスタンスとして登録したスキャンフリップフロップ情報ファイル中のスキャンフリップフロップ情報に、グループ毎のキーワードを付加する等の方法により保存する。また、グループプロパティ情報として、各グループが含まれていたスキャンパスの情報、電源供給源、電源ネットの配線幅、電源供給源の距離より算出された配線導体の抵抗値を管理する。
【００１０】
スキャン回路グループ情報７には、同じグループのスキャンフリップフロップは、必ず同時に動作するといった情報を含む。また、スキャン回路グルーピング部６にＩＲドロップ解析結果９が入力される場合には、同時に動作させてもよい、または同時に動作させることができないグループの情報も含まれる。
【００１１】
次に、ＩＲドロップ解析部８は、スキャン回路グループ情報７と、ＩＲドロップ解析のためのスキャンフリップフロップ群の動作率情報１７との入力を受け、ＩＲドロップ解析結果９を出力する。ＩＲドロップ解析部８は、同一グループのスキャンフリップフロップはスキャンテスト動作中、一斉に動作するものとして解析し、ＩＲドロップが発生するか否かを解析結果として出力する。また、複数のグループを組み合わせ、それらのグループに含まれるスキャンフリップフロップが一斉に動作した場合のケースの解析も行う。
【００１２】
次に、ＩＲドロップ解析結果判定部１０は、ＩＲドロップ解析結果９と、所定の判定値１８とを比較し、ＩＲドロップによる各スキャンフリップフロップの誤動作が発生するか否かを判定する。判定値１８は、電圧値、電流値を問わず、また電圧値をもとにした遅延計算結果を入力とするタイミング解析による判断値としてもよい。その結果、誤動作が発生すると判定された場合には、再度、スキャン回路グルーピング部６において、電源ＲＣネットワーク解析結果５と、ＩＲドロップ解析結果９とを入力情報として、フリップフロップ群のグルーピングを行う。スキャン回路グルーピング部６は、ＩＲドロップ解析結果９に基づいて、前回グルーピングしたグループを、ＩＲドロップが発生しないようにさらにグルーピングする。
【００１３】
例えば、レイアウトパターン３において、近隣に位置する２つのスキャンフリップフロップが同時に動作した場合には判定値１８の条件を満たさないが、一方のスキャンフリップフロップのみが動作した場合には判定値１８の条件を満たすのであれば、２つのスキャンフリップフロップは、それぞれ別のグループに分類される。これにより、グルーピングしたスキャンフリップフロップ群毎に、スキャンチェーンを構成することが可能となる。スキャンテスト時に、各スキャンフリップフロップに入力されるクロック信号に従って、スキャンフリップフロップから他のスキャンフリップフロップへデータが順次シフトするスキャンシフト動作と、スキャンフリップフロップがデータ端子からデータを取り込むキャプチャ動作とを繰り返すスキャンテスト動作時に、ＩＲドロップによる誤動作が発生しないスキャンチェーンを生成することができる。
【００１４】
ＩＲドロップ解析結果判定部１０において、スキャンフリップフロップの誤動作が発生しないと判定された場合には、スキャンチェーン挿入部１１は、スキャン回路グループ情報７に基づいて、論理接続情報１にスキャンチェーンの変更、挿入を行い、論理接続情報１２を出力する。また、スキャンチェーン挿入部１１は、スキャンチェーンと共に、スキャンモード信号制御回路またはスキャンクロック信号制御回路の構成情報を挿入することができる。なお、スキャンモード信号制御回路およびスキャンクロック信号制御回路の構成情報は外部から指定入力するものでもよいし、スキャンチェーン挿入部１１によって自動生成するようにしてもよい。信号制御回路を自動生成する場合、スキャンチェーン挿入部１１は、スキャン回路グループ情報７からグループ数を認識し、信号制御回路の出力端子数とすることができる。
【００１５】
特許文献１における図４を引用する図２は、スキャンモード信号制御回路が挿入された半導体集積回路の概念図である。スキャン入力端子ＳＩ＿１〜ＳＩ＿５、スキャン出力端子ＳＯ＿１〜ＳＯ＿５、スキャンフリップフロップＦＦから構成される半導体集積回路に、スキャンモード信号制御回路７２が挿入されている。スキャンモード信号制御回路７２において、Ｄはスキャンモード信号を入力するための入力端子、Ｙ１〜Ｙ４は出力端子、Ｃ１〜Ｃ３は、出力端子Ｙ１〜Ｙ４に対し、スキャンモード信号を出力するかディスエーブル（ｄｉｓａｂｌｅ）信号を出力するかを制御するコントロール信号の入力端子である。スキャンモード信号は、スキャンフリップフロップＦＦのスキャンシフト動作とキャプチャ動作とを制御する信号である。スキャンモード信号制御回路７２は、スキャンモード端子に入力されていたスキャンモード信号を制御している。
【００１６】
特許文献１における図５を引用する図３は、スキャンモード信号制御回路７２の真理値表の例を示す図である。電源のＩＲドロップによる誤動作が発生しないようにスキャンチェーンを構成した回路に対し、複数のスキャンチェーンが同時にスキャンテスト動作しないようなテストパターンが示されている。
【００１７】
図１において、スキャンチェーン生成用リピート部１３は、自動配置配線部２、電源ＲＣネットワーク解析部４、スキャン回路グルーピング部６、ＩＲドロップ解析部８、ＩＲドロップ解析結果判定部１０、スキャンチェーン挿入部１１の一連の機能を自動的に繰り返し実行する。これにより、スキャンテスト時に発生するＩＲドロップが原因となる誤動作を無くすようにする。スキャンチェーンの配置配線の変更箇所を必要最小限にすることを優先に考えて、電源ネットを自動で修正する機能と、グルーピングおよびスキャンフリップフロップの接続順序を変更する機能の選択を可能としている。
【００１８】
自動テストパターン生成部１４は、論理接続情報１２とスキャン回路グループ情報７を入力として、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）内部の故障を検出するためのスキャンテストパターン１５を生成する。このとき、自動テストパターン生成部１４は、論理接続情報１２中のスキャンモード信号制御回路７２の存在有無を判定し、存在する場合には、スキャンフリップフロップグループ情報中のスキャンチェーングループ情報に基づいて、ＩＲドロップが発生するために同時に動作させてはいけないスキャンチェーンに対し、スキャンテスト動作させないテストパターンを自動生成する。スキャンテスト動作させないスキャンチェーンのスキャンイン端子へ入力するテストパターンは、スキャンテスト動作中「Ｈ」値または「Ｌ」値を継続するテストパターンとする。
【００１９】
特許文献１における図８Ａを引用する図４に、図２と図３に示す回路に対応した、スキャンテストパターン１５の例を示す。図４において、スキャンモード信号は、スキャンシフトサイクルとキャプチャサイクルとを交互に切り替える信号である。図中、ＣＮＴＬ１＝Ｈ，ＣＮＴＬ２＝Ｈ，ＣＮＴＬ３＝Ｌのとき、図３の真理値表に基づいて、Ｙ１が選択されるので、ＳＯ＿１にスキャンシフトパターンが表われ、ＳＯ＿２〜ＳＯ＿５にマスクパターンが表われている。ＣＮＴＬ１＝Ｈ，ＣＮＴＬ２＝Ｌ，ＣＮＴＬ３＝Ｌのとき、Ｙ２が選択されるので、ＳＯ＿２にスキャンシフトパターンが表われ、ＳＯ＿１，ＳＯ＿３〜ＳＯ＿５にマスクパターンが表われている。ＣＮＴＬ１＝Ｌ，ＣＮＴＬ２＝Ｈ，ＣＮＴＬ３＝Ｈのとき、Ｙ３が選択されるので、ＳＯ＿３にスキャンシフトパターンが表われている。
【００２０】
【特許文献１】特開２００６−０６６８２５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
上述した通り、公知文献記載の技術は、ＩＲドロップの発生を抑え、良品を不良品と判定するのを防止できる技術である。一般的に、スキャン入力端子を複数設けたスキャンテスト回路では、並列かつ同時に全てのスキャン入力端子へスキャンパターンを入力することで、テスト時間の短縮を行う。しかし、特許文献１記載の技術では、ＩＲドロップの発生を抑える為に、複数のスキャン入力端子の中で、１本のみを動作させ、その他のスキャン入力端子は動作させないように、「Ｈ」値または、「Ｌ」値を継続して入力するスキャンテストパターンを生成する。従って、複数あるスキャン入力端子ごとに、スキャンテストを実施していく必要が生じ、並列かつ同時に全てのスキャン入力端子へスキャンパターンを入力する場合と比較すると、テスト時間が増加してしまうという課題がある。
【課題を解決するための手段】
【００２２】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００２３】
本発明の一つ目のアスペクトによるスキャンテスト回路は、スキャンサブチェーン（Ａ１〜Ａ３，Ｂ１〜Ｂ３，Ｃ１〜Ｃ３）と、スキャンチェーン選択回路（ＹＡ，ＹＢ，ＹＣ）と、スキャンシフト入力端子（ＳＩ＿１，ＳＩ＿２，ＳＩ＿３）とを具備する。スキャンサブチェーン（Ａ１〜Ａ３，Ｂ１〜Ｂ３，Ｃ１〜Ｃ３）は、スキャンテストするスキャンフリップフロップ（ＦＦ）群における一部のスキャンフリップフロップを接続したものである。スキャンチェーン選択回路（ＹＡ，ＹＢ，ＹＣ）は、スキャンサブチェーン（Ａ１〜Ａ３，Ｂ１〜Ｂ３，Ｃ１〜Ｃ３）のスキャン動作を制御する。スキャンシフト入力端子（ＳＩ＿１，ＳＩ＿２，ＳＩ＿３）は、スキャンテストパターンを入力する。スキャンサブチェーン（Ａ１〜Ａ３，Ｂ１〜Ｂ３，Ｃ１〜Ｃ３）は、同一の第１種のグループに属するスキャンサブチェーンのそれぞれが、異なるスキャンシフト入力端子に接続され、かつ、異なる第１種のグループに属するスキャンサブチェーンが、一のスキャンシフト入力端子に並列に接続されている。スキャンチェーン選択回路（ＹＡ，ＹＢ，ＹＣ）は、同時にスキャン動作するスキャンサブチェーンが、いずれかの第１種のグループに属するものとなるように、スキャンサブチェーン（Ａ１〜Ａ３，Ｂ１〜Ｂ３，Ｃ１〜Ｃ３）を制御する。第１種のグループ（Ａ，Ｂ，Ｃ）は、同一の第１種のグループに属するスキャンサブチェーンの全てが同時にスキャン動作しても、ＩＲドロップの許容値を満たすように、スキャンフリップフロップ（ＦＦ）群を分割して得られたグループである。
【００２４】
本発明の二つ目のアスペクトによるスキャンテスト回路の論理接続情報生成方法は、解析すること（Ｓ０１）と、第１種のグループに分割すること（Ｓ０２，Ｓ０３）と、第２種のグループに分割すること（Ｓ０４）と、スキャンサブチェーンの論理接続情報（Ｄ１０）を作成する（Ｓ０４）ことと、スキャンテスト回路の論理接続情報（Ｄ１１）を作成すること（Ｓ０５）と、スキャンチェーン選択回路を挿入すること（Ｓ０６）とを具備する。解析すること（Ｓ０１）においては、半導体装置の論理接続情報（Ｄ０１）に基づいて、半導体装置におけるＩＲドロップを解析する。第１種のグループに分割すること（Ｓ０２，Ｓ０３）においては、解析されたＩＲドロップに基づいて、半導体装置の論理接続情報（Ｄ０１）におけるスキャンフリップフロップ群を、ＩＲドロップの許容値を満たすように、第１種のグループに分割する。第２種のグループに分割すること（Ｓ０４）においては、第１種のグループに分割されたスキャンフリップフロップ群を、更に、第１種のグループそれぞれの中で、所定数の第２種のグループに分割する。スキャンサブチェーンの論理接続情報（Ｄ１０）を作成すること（Ｓ０４）においては、第２種のグループに分割されたスキャンフリップフロップ群ごとに、スキャンサブチェーンの論理接続情報（Ｄ１０）を作成する。スキャンテスト回路の論理接続情報（Ｄ１１）を作成すること（Ｓ０５）においては、一のスキャンシフト入力端子に対して、異なる第１種のグループに属するスキャンサブチェーンを並列に接続したスキャンテスト回路の論理接続情報（Ｄ１１）を作成する。スキャンチェーン選択回路を挿入すること（Ｓ０６）においては、スキャンテスト回路の論理接続情報（Ｄ１１）に、同時にスキャン動作するスキャンサブチェーンが、いずれかの第１種のグループに属するものとなるように、スキャンサブチェーンを制御するスキャンチェーン選択回路を挿入する。
【００２５】
本発明の三つ目のアスペクトによるスキャンテスト回路の論理接続情報生成プログラムは、解析する手順と、第１種のグループに分割する手順と、第２種のグループに分割する手順と、スキャンサブチェーンの論理接続情報を作成する手順と、スキャンテスト回路の論理接続情報を作成する手順と、スキャンチェーン選択回路を挿入する手順とをコンピュータ装置（Ｆ１０，Ｆ１１）に実行させるためのプログラムである。解析する手順においては、半導体装置の論理接続情報に基づいて、半導体装置におけるＩＲドロップを解析する。第１種のグループに分割する手順においては、解析されたＩＲドロップに基づいて、半導体装置の論理接続情報におけるスキャンフリップフロップ群を、ＩＲドロップの許容値を満たすように、第１種のグループに分割する。第２種のグループに分割する手順においては、第１種のグループに分割されたスキャンフリップフロップ群を、更に、第１種のグループそれぞれの中で、所定数の第２種のグループに分割する。スキャンサブチェーンの論理接続情報を作成する手順においては、第２種のグループに分割されたスキャンフリップフロップ群ごとに、スキャンサブチェーンの論理接続情報を作成する。スキャンテスト回路の論理接続情報を作成する手順においては、一のスキャンシフト入力端子に対して、異なる第１種のグループに属するスキャンサブチェーンを並列に接続したスキャンテスト回路の論理接続情報を作成する。スキャンチェーン選択回路を挿入する手順においては、スキャンテスト回路の論理接続情報に、同時にスキャン動作するスキャンサブチェーンが、いずれかの第１種のグループに属するものとなるように、スキャンサブチェーンを制御するスキャンチェーン選択回路を挿入する。
【発明の効果】
【００２６】
本発明によれば、ＩＲドロップの発生を抑えると共に、スキャンテストの時間が増加することを回避することができる。
【発明を実施するための最良の形態】
【００２７】
本発明を実施するための最良の形態のいくつかについて、図面を用いて詳細に説明する。図５は、これらの実施の形態を適用できるシステムの構成説明図である。本実施の形態は、いずれも、コンピュータ装置Ｆ１０，Ｆ１１，・・・と、サーバＦ１４と、記録媒体Ｆ１５と、ネットワークＦ１６とを用いて実施することができる。
【００２８】
記録媒体Ｆ１５は、実行プログラムの提供に供されるサーバＦ１４に接続されている。サーバＦ１４は、インターネットなどのネットワークＦ１６を介して、エンジニアリングワークステーションなどのコンピュータ装置Ｆ１０，Ｆ１１，・・・に接続される。記録媒体Ｆ１５に格納されている実行プログラムは、ネットワークＦ１６を介してコンピュータ装置Ｆ１０，Ｆ１１，・・・にダウンロードされる。ダウンロードされたプログラムは、コンピュータ装置Ｆ１０，Ｆ１１，・・・のローカルなハードディスク或はメモリなどにストアされて、実行処理を行う構成になっている。
【００２９】
図６は、本発明を実施するための一つ目の最良の形態におけるスキャンテスト回路の論理接続情報生成方法を説明するフローチャートである。図６において、各ステップＳ０１〜Ｓ０７は、コンピュータ装置Ｆ１０，Ｆ１１，・・・の演算装置が、実行プログラムの対応モジュールを実行することによって、処理される。このとき、コンピュータ装置Ｆ１０，Ｆ１１，・・・は、各ステップＳ０１〜Ｓ０７の処理を行う機能を有する物（解析部（Ｓ０１）、計算部（Ｓ０２）、グループ分け部（Ｓ０３）など）として動作する。また、各情報Ｄ０１〜Ｄ１４は、コンピュータ装置Ｆ１０，Ｆ１１，・・・の記憶装置に格納される。このとき、記憶装置は、各情報Ｄ０１〜Ｄ１４によって特徴付けられるデータ構造を有する物として動作する。なお、予め必要となる情報Ｄ０１〜Ｄ０５，Ｄ０９は、実行プログラムの一部として、サーバＦ１４からコンピュータ装置Ｆ１０，Ｆ１１，・・・にダウンロードすることが可能である。
【００３０】
図６において、最初に、ＩＲドロップ解析ステップＳ０１にて、半導体装置の論理接続情報Ｄ０１と、配置配線情報Ｄ０２と、クロック情報Ｄ０３と、動作率情報Ｄ０４と、プロセス固有情報Ｄ０５とを読み込み、ＩＲドロップ分布図Ｄ０６を出力する。次に、グループ分割数計算ステップＳ０２にて、ＩＲドロップ分布図Ｄ０６を読み込み、グループ分割情報Ｄ０７を出力する。次に、同時動作可能フリップフロップグループ分けステップＳ０３にて、論理接続情報Ｄ０１と、配置配線情報Ｄ０２と、クロック情報Ｄ０３と、グループ分割情報Ｄ０７とを読み込み、スキャン対象の全てのスキャンフリップフロップを第１種のグループに分割する処理を実施し、同時動作可能なフリップフロップグループ情報Ｄ０８を出力する。
【００３１】
次に、スキャンサブチェーン作成ステップＳ０４にて、論理接続情報Ｄ０１と、配置配線情報Ｄ０２と、クロック情報Ｄ０３と、同時動作可能なフリップフロップグループ情報Ｄ０８と、スキャンシフト入力端子数Ｄ０９とを読み込み、スキャンシフト入力端子数に合わせて第２種のグループへの分割を行い、第２種のグループ毎にスキャンサブチェーンを作成し、スキャンサブチェーンの論理接続情報Ｄ１０を出力する。次に、スキャンサブチェーン並列接続ステップＳ０５にて、論理接続情報Ｄ１０を読み込み、第２種のグループ分割で作成したスキャンサブチェーンを、一のスキャンシフト入力端子に並列に接続した論理接続情報Ｄ１１を出力する。
【００３２】
次に、動作対象スキャンサブチェーン選択回路挿入ステップＳ０６にて、論理接続情報Ｄ１１を読み込み、スキャン動作させるスキャンサブチェーンを選択する回路の挿入を行い、シフト動作制御タイミング情報Ｄ１２と、選択回路を挿入した論理接続情報Ｄ１３とを出力する。最後に、スキャンテストパターン生成ステップＳ０７にて、シフト動作制御タイミング情報Ｄ１２と、論理接続情報Ｄ１３とを読み込み、動作させるスキャンサブチェーンを選択するタイミング情報を含めたスキャンテストパターンＤ１４を出力する。これにて、スキャンテスト回路の論理接続情報生成と、スキャンテストパターン生成とのフローを終了する。
【００３３】
図６のフローチャートにおける各ステップでの処理について詳細に説明する。ＩＲドロップ解析ステップＳ０１が入力する情報について説明する。論理接続情報Ｄ０１は、半導体装置の論理接続情報である。配置配線情報Ｄ０２は、チップ上のスキャンフリップフロップの配置情報や、電源配線情報を含む。クロック情報Ｄ０３は、各スキャンフリップフロップのクロックドメイン情報とスキャンテストで使用するクロック周波数情報を含む。動作率情報Ｄ０４は、スキャンテスト時の動作率情報である。プロセス固有情報Ｄ０５は、ＩＲドロップの許容電圧、論理素子の消費電力、電源供給方式、電源配線網の抵抗など、ＩＲドロップ解析に必要なプロセス固有情報を含む。ＩＲドロップ解析ステップＳ０１では、スキャンフリップフロップに接続されている論理素子が、スキャンフリップフロップと同時に動作する領域のＩＲドロップの許容電圧を超えているかを解析する。
【００３４】
ＩＲドロップ解析ステップＳ０１が出力するＩＲドロップ分布図Ｄ０６について説明する。図７は、ＩＲドロップ分布図Ｄ０６について説明する出力例である。図７のＩＲドロップ分布図Ｄ０６は、半導体チップ上において、例えばＩＲドロップが４０ｍＶ以下、４０ｍＶ〜６０ｍＶ、６０ｍＶ〜７５ｍＶ、７５ｍＶ〜９０ｍＶのそれぞれの領域の境界を等電圧線で表している。
【００３５】
グループ分割数計算ステップＳ０２では、ＩＲドロップ分布図Ｄ０６を入力とする。ＩＲドロップの最も大きな領域において、計算式１を行うことで、第１種のグループへのグループ分割数を得る。グループ分割情報Ｄ０７を出力する。
グループ分割数＝ＩＲドロップ値÷ＩＲドロップ許容値・・・・計算式１
例えば、ＩＲドロップ許容値を３０ｍＶとする。図７の例において、ＩＲドロップが最も大きな領域は、ＩＲドロップが７５〜９０ｍＶの領域である。この領域のグループ分割数を、計算式１を用いて計算すると、
グループ分割数＝９０ｍＶ÷３０ｍＶ＝３
となり、グループを３つに分割する情報を得る。グループ分割数計算ステップＳ０２では、このようにして得られるグループ分割数の情報Ｄ０７を出力する。
【００３６】
同時動作可能フリップフロップグループ分けステップＳ０３では、論理接続情報Ｄ０１の接続関係と、配置配線情報Ｄ０２と、クロック情報Ｄ０３と、グループ分割情報Ｄ０７とを入力する。スキャン対象となる全てのスキャンフリップフロップに対して、第１種のグループへの分割を実施する。第１種のグループへの分割は、同時にスキャン動作させても、ＩＲドロップの許容値をオーバーするＩＲドロップが発生しないような分割をいう。
【００３７】
この第１種のグループへの分割によって、図８の出力例に示すような、同時動作可能なフリップフロップグループ情報Ｄ０８が得られる。図８は、図７のＩＲドロップ分布図Ｄ０６上に、スキャンフリップフロップが第１種のグループＡと、第１種のグループＢと、第１種のグループＣとに３分割された状態を表している。図８において、例えば、第１種のグループＡのスキャンフリップフロップだけを全て同時に動作した場合、ＩＲドロップ許容値を満足できる。一方、例えば、第１種のグループＡのスキャンフリップフロップと、第１種のグループＣのスキャンフリップフロップとを同時に動作させると、ＩＲドロップ許容値をオーバーするＩＲドロップが発生する。後者では、スキャンテストで良品を不良品と誤判定する問題が起こる。同時動作可能フリップフロップグループ分けステップＳ０３では、スキャンフリップフロップを第１種のグループに分割した場合の、インスタンス名（論理接続情報Ｄ０１内の素子を特定する為に付ける固有の名称）情報を、同時動作可能なフリップフロップグループ情報Ｄ０８として出力することができる。
【００３８】
スキャンサブチェーン作成ステップＳ０４では、同時動作可能なフリップフロップグループ情報Ｄ０８と、スキャンシフト入力端子数Ｄ０９と、論理接続情報Ｄ０１と、配置配線情報Ｄ０２と、クロック情報Ｄ０３とを入力する。第１種のグループに分割したスキャンフリップフロップを、更に、第２種のグループに分割する。第２種のグループへの分割は、同一クロックドメイン、半導体装置上の配置、接続関係の近いものが同一グループになるように、スキャンシフト入力端子数Ｄ０９に定義された数値に従って行う。スキャンシフト入力端子数Ｄ０９が持つ数値は、スキャンテストとして使用可能な端子本数と、使用するＬＳＩテスタのスキャンチェーン数制限およびスキャンテストパターン生成ツールのスキャンチェーン数制限の範囲内である。第２種のグループに分割した後、第２種のグループ単位のスキャンフリップフロップにて構成されるスキャンチェーンをスキャンサブチェーンとする。スキャンサブチェーンの先頭のスキャンフリップフロップの入力にスキャンシフト入力端子を接続し、末尾のスキャンフリップフロップの出力にスキャンシフト出力端子を接続し、スキャンサブチェーンの論理接続情報Ｄ１０を出力する。
【００３９】
図９は、第１種のグループに分割されたスキャンフリップフロップを、更に第２種のグループに分割したイメージ図である。図９の分割は、スキャンシフト入力端子数Ｄ０９を３本とした場合の例である。スキャンシフト入力端子数Ｄ０９が３本なので、第１種のグループＡ、Ｂ、Ｃは、それぞれ３つの第２種のグループに分割される。すなわち、第１種のグループＡは第２種のグループＡ１、Ａ２、Ａ３の３つに、第１種のグループＢは第２種のグループＢ１、Ｂ２、Ｂ３の３つに、第１種のグループＣは第２種のグループＣ１、Ｃ２、Ｃ３の３つにそれぞれ分割される。
【００４０】
図１０に、論理接続情報Ｄ１０におけるスキャンサブチェーン回路の構成例を示す。図１０は、図９に示した第１種のグループそれぞれについて、スキャンフリップフロップを更に第２種のグループに分割すると共に、スキャンフリップフロップを第２種のグループ単位で接続して、スキャンサブチェーンを作成した例を示している。
【００４１】
スキャンサブチェーン並列接続ステップＳ０５では、スキャンサブチェーン作成ステップＳ０４で作成されたスキャンサブチェーンを、並列に接続する。第１種のグループそれぞれから１本ずつスキャンサブチェーンを抽出し、これらを、一のスキャンシフト入力端子に並列接続する。スキャンサブチェーンを並列に接続した論理接続情報Ｄ１１を出力する。
【００４２】
図１１に、論理接続情報Ｄ１１におけるスキャンサブチェーン回路の並列接続構成例を示す。図１１に示すように、図１０に示した第１種のグループＡにおけるスキャンサブチェーンＡ１のスキャンシフト入力端子ＳＩ＿Ａ１と、第１種のグループＢにおけるスキャンサブチェーンＢ１のスキャンシフト入力端子ＳＩ＿Ｂ１と、第１種のグループＣにおけるスキャンサブチェーンＣ１のスキャンシフト入力端子ＳＩ＿Ｃ１とを、図１１のスキャンシフト入力端子ＳＩ＿１に並列に接続している。同様に、図１０に示した第１種のグループＡにおけるスキャンサブチェーンＡ２のスキャンシフト入力端子ＳＩ＿Ａ２と、第１種のグループＢにおけるスキャンサブチェーンＢ２のスキャンシフト入力端子ＳＩ＿Ｂ２と、第１種のグループＣにおけるスキャンサブチェーンＣ２のスキャンシフト入力端子ＳＩ＿Ｃ２とを、図１１のスキャンシフト入力端子ＳＩ＿２に並列に接続している。また、図１０に示した第１種のグループＡにおけるスキャンサブチェーンＡ３のスキャンシフト入力端子ＳＩ＿Ａ３と、第１種のグループＢにおけるスキャンサブチェーンＢ３のスキャンシフト入力端子ＳＩ＿Ｂ３と、第１種のグループＣにおけるスキャンサブチェーンＣ３のスキャンシフト入力端子ＳＩ＿Ｃ３とを、図１１のスキャンシフト入力端子ＳＩ＿３に並列に接続している。
【００４３】
動作対象スキャンサブチェーン選択回路挿入ステップＳ０６では、論理接続情報Ｄ１１を読み込み、スキャンフリップフロップのスキャンクロックドメインを、第１種のグループ単位で作成する。スキャンクロックドメイン毎に、クロックゲーティング回路を一つずつ接続する。クロックゲーティング回路の入力には、スキャンクロック入力端子と、クロックイネーブル端子とを接続する。選択回路を挿入した論理接続情報Ｄ１３が出力される。第２種のグループに基づくスキャンサブチェーンは、それぞれの第１種のグループ内で作成している。よって、第１種のグループ単位で、スキャンクロックが供給されるスキャンサブチェーンと、スキャンクロックが供給されないスキャンサブチェーンとを選択できる構成とする。すなわち、クロックゲーティング回路のクロックイネーブル端子により、第１種のグループ単位で、スキャンクロックが供給されてスキャンシフト動作を行うスキャンサブチェーンと、スキャンクロックが供給されずに現在の値を保持したまま停止するスキャンサブチェーンとを切り換えるようにする。
【００４４】
図１２に、図６のフローチャートにおいて、動作スキャンサブチェーン選択回路挿入ステップＳ０６から出力される論理接続情報Ｄ１３の回路構成の一例を示す。スキャンシフト入力端子ＳＩ＿１には、第１種のグループＡのスキャンサブチェーンＡ１と、第１種のグループＢのスキャンサブチェーンＢ１と、第１種のグループＣのスキャンサブチェーンＣ１とが並列接続されている。スキャンシフト入力端子ＳＩ＿２には、第１種のグループＡのスキャンサブチェーンＡ２と、第１種のグループＢのスキャンサブチェーンＢ２と、第１種のグループＣのスキャンサブチェーンＣ２とが並列接続されている。スキャンシフト入力端子ＳＩ＿３には、第１種のグループＡのスキャンサブチェーンＡ３と、第１種のグループＢのスキャンサブチェーンＢ３と、第１種のグループＣのスキャンサブチェーンＣ３とが並列接続されている。
【００４５】
図１２において、三つのスキャンサブチェーンＡ１、Ａ２、Ａ３を同一のクロックドメインとする。スキャンサブチェーンＡ１、Ａ２、Ａ３のスキャンフリップフロップのクロック端子は、クロックゲーティング回路ＹＡの出力に接続されている。クロックゲーティング回路ＹＡは、クロックＣＬＫをクロックソースとし、クロックイネーブル入力端子ＳＥＬ＿Ａを入力している。同様に、三つのスキャンサブチェーンＢ１、Ｂ２、Ｂ３を同一のクロックドメインとする。スキャンサブチェーンＢ１、Ｂ２、Ｂ３のスキャンフリップフロップのクロック端子は、クロックゲーティング回路ＹＢの出力に接続されている。クロックゲーティング回路ＹＢは、クロックＣＬＫをクロックソースとし、クロックイネーブル入力端子ＳＥＬ＿Ｂを入力している。また、三つのスキャンサブチェーンＣ１、Ｃ２、Ｃ３を同一のクロックドメインとする。スキャンサブチェーンＣ１、Ｃ２、Ｃ３のスキャンフリップフロップのクロック端子は、クロックゲーティング回路ＹＣの出力に接続されている。クロックゲーティング回路ＹＣは、クロックＣＬＫをクロックソースとし、クロックイネーブル入力端子ＳＥＬ＿Ｃを入力している。図１２の構成例により、クロックイネーブル入力端子ＳＥＬ＿Ａ、ＳＥＬ＿Ｂ、ＳＥＬ＿Ｃの信号を制御することで、第１種のグループ別に、スキャンクロックの供給や停止を選択することが可能になる。
【００４６】
図１２の回路動作について説明する。例えば、クロックＣＬＫへスキャンクロックを入力し、クロックイネーブル入力端子ＳＥＬ＿Ａ＝”１”、クロックイネーブル入力端子ＳＥＬ＿Ｂ＝”０”、クロックイネーブル入力端子ＳＥＬ＿Ｃ＝”０”に設定したとする。この場合、第１種のグループＡのスキャンサブチェ−ンＡ１、Ａ２、Ａ３は、スキャンシフト動作を行う。一方、第１種のグループＢのスキャンサブチェーンＢ１、Ｂ２、Ｂ３と、第１種のグループＣのスキャンサブチェーンＣ１、Ｃ２、Ｃ３とは、スキャンクロックが供給されないので、現在の値を保持する。
【００４７】
また、例えば、クロックＣＬＫへスキャンクロックを入力し、クロックイネーブル入力端子ＳＥＬ＿Ａ＝”０”、クロックイネーブル入力端子ＳＥＬ＿Ｂ＝”１”、クロックイネーブル入力端子ＳＥＬ＿Ｃ＝”０”に設定したとする。この場合、第１種のグループＢのスキャンサブチェ−ンＢ１、Ｂ２、Ｂ３は、スキャンシフト動作を行う。一方、第１種のグループＡのスキャンサブチェーンＡ１、Ａ２、Ａ３と、第１種のグループＣのスキャンサブチェーンＣ１、Ｃ２、Ｃ３とは、スキャンクロックが供給されないので、現在の値を保持する。
【００４８】
また、例えば、クロックＣＬＫへスキャンクロックを入力し、クロックイネーブル入力端子ＳＥＬ＿Ａ＝”０”、クロックイネーブル入力端子ＳＥＬ＿Ｂ＝”０”、クロックイネーブル入力端子ＳＥＬ＿Ｃ＝”１”に設定したとする。この場合、第１種のグループＣのスキャンサブチェ−ンＣ１、Ｃ２、Ｃ３は、スキャンシフト動作を行う。一方、第１種のグループＡのスキャンサブチェーンＡ１、Ａ２、Ａ３と、第１種のグループＢのスキャンサブチェーンＢ１、Ｂ２、Ｂ３とは、スキャンクロックが供給されないので、現在の値を保持する。
【００４９】
すなわち、クロックイネーブル入力端子ＳＥＬ＿Ａ、ＳＥＬ＿Ｂ、ＳＥＬ＿Ｃへの制御信号を用いて、第１種のグループＡ、Ｂ、Ｃの中のいずれか一つのグループのスキャンサブチェーンだけを選択して、スキャンシフト動作させることができる。残りの二つの第１種のグループは、スキャンサブチェーンのスキャンフリップフロップに設定された値を保持させたままスキャンシフト動作を停止させることができる。そのため、同時動作するスキャンフリップフロップの数を、ＩＲドロップの許容値を満足するように抑制しながら、並列にシフト動作を実行することができる。
【００５０】
動作対象スキャンサブチェーン選択回路挿入ステップＳ０６では、シフト動作制御タイミング情報Ｄ１２と、論理接続情報Ｄ１３とが出力される。論理接続情報Ｄ１３を用いれば、クロックゲーティング回路のクロックイネーブル入力端子により、スキャンシフト動作させるスキャンサブチェーンを選択し、スキャンテストを実行することが可能になる。この際、論理接続情報Ｄ１３とは別の情報を用いて、各スキャンサブチェーンを構成するスキャンフリップフロップの個数を把握し、各スキャンサブチェーンがシフト動作を終えてから、次にスキャンテストを実行するスキャンサブチェーンを選択する要請がある。この要請に応えるため、シフト動作制御タイミング情報Ｄ１２には、第１種のグループ単位で、シフト動作を完了するために必要なクロック数をカウントし、次にシフト動作を開始するスキャンサブチェーンを選択する適切なタイミングを記述している。
【００５１】
図６において、スキャンテストパターン生成ステップＳ０７では、論理接続情報Ｄ１３を読み込み、スキャンテストを実施する為のスキャンシフト入力データと、スキャンキャプチャ動作の後にスキャンシフト出力される期待値とを生成する。さらに、シフト動作制御タイミング情報Ｄ１２を読み込み、シフト動作するスキャンサブチェーンを選択するためにクロックゲーティング回路のクロックイネーブル入力端子を切り換えるタイミングを生成する。スキャンテストパターンＤ１４が出力される。
【００５２】
図１３は、図１２に示した論理接続情報Ｄ１３の回路構成に対応したスキャンテストパターンを説明するタイミングチャートである。すなわち、図１３は、図６に示したスキャンテスト回路の論理接続情報生成フローチャートにおいて、スキャンテストパターン生成ステップＳ０７から出力されるスキャンテストパターンＤ１４の説明図である。図１３において、信号ＳＭは、スキャンテストのスキャンシフト動作とスキャンキャプチャ動作とを切り替える信号であり、ＳＭ＝”０”のときスキャンシフト動作となり、ＳＭ＝”１”のときスキャンキャプチャ動作となる。図１３に示すように、タイミングＴ０で、クロックイネーブル入力端子ＳＥＬ＿Ａだけを”１”に設定し、第１種のグループＡのスキャンサブチェーンＡ１，Ａ２，Ａ３のみをスキャンシフト動作させる。図１２の回路構成では、第１種のグループＡにおけるスキャンサブチェーンＡ１、Ａ２、Ａ３のスキャンフリップフロップはそれぞれ２個なので、図１３におけるタイミングＴ０では、第１種のグループＡのスキャンシフト動作に必要なクロック数は２クロックとなる。
【００５３】
タイミングＴ１では、クロックイネーブル入力端子ＳＥＬ＿Ｂだけを”１”に設定し、第１種のグループＢのスキャンサブチェーンＢ１、Ｂ２、Ｂ３のみをスキャンシフト動作させる。図７の回路構成では、第１種のグループＢにおけるスキャンサブチェーンＢ１、Ｂ２、Ｂ３のスキャンフリップフロップはそれぞれ３個なので、タイミングＴ１において、第１種のグループＢのスキャンシフト動作に必要なクロック数は３クロックである。また、タイミングＴ１では、第１種のグループＡのスキャンサブチェーンに対してはクロックＣＬＫが供給されない。そのため、スキャンサブチェーンＡ１、Ａ２、Ａ３のスキャンフリップフロップは、タイミングＴ０のスキャンシフト動作により入力した値を保持したまま停止している。
【００５４】
タイミングＴ２では、クロックイネーブル入力端子ＳＥＬ＿Ｃだけを”１”に設定し、第１種のグループＣにおけるスキャンサブチェーンＣ１、Ｃ２、Ｃ３のみをスキャンシフト動作させる。図７の回路構成では、第１種のグループＣにおけるスキャンサブチェーンＣ１、Ｃ２、Ｃ３のフリップフロップはそれぞれ４個なので、タイミングＴ２において、第１種のグループＣのスキャンシフト動作に必要なクロック数は４クロックである。また、タイミングＴ２では、第１種のグループＡのスキャンサブチェーンＡ１、Ａ２、Ａ３と、第１種のグループＢのスキャンサブチェーンＢ１、Ｂ２、Ｂ３とに対してはクロックＣＬＫが供給されない。そのため、スキャンサブチェーンＡ１、Ａ２、Ａ３、Ｂ１、Ｂ２、Ｂ３のスキャンフリップフロップは、タイミングＴ０又はタイミングＴ１のスキャンシフト動作により入力した値を保持して停止している。
【００５５】
タイミングＴ３では、ＳＭを”１”に設定して、スキャンシフト動作からスキャンキャプチャ動作への切り替えを行っている。同時に、クロックイネーブル入力端子ＳＥＬ＿Ａ、ＳＥＬ＿Ｂ、ＳＥＬ＿Ｃを全て”１”にセットして、全てのスキャンフリップフロップへのクロック供給を可能として、スキャンキャプチャ動作を行っている。
【００５６】
タイミングＴ４では、ＳＭを”０”に設定して、スキャンキャプチャ動作からスキャンシフト動作への切り替えを行っている。同時に、クロックイネーブル入力端子ＳＥＬ＿Ａのみを”１”にしたまま、クロックイネーブル入力端子ＳＥＬ＿Ｂ、ＳＥＬ＿Ｃを”０”にセットすることにより、第１種のグループＡのスキャンサブチェーンＡ１，Ａ２，Ａ３に、クロックゲーティング回路ＹＡを介して、クロックＣＬＫを供給している。そのため、スキャンサブチェーンＡ１，Ａ２，Ａ３は、タイミングＴ３のスキャンキャプチャ動作の結果を、スキャンシフト出力端子ＳＯ＿Ａ１、ＳＯ＿Ａ２、ＳＯ＿Ａ３からシフトアウトする。同時に、次のスキャンテストパターンの値が、スキャンシフト入力端子ＳＩ＿１、ＳＩ＿２，ＳＩ＿３から入力される。第１種のグループＢのスキャンサブチェーンＢ１、Ｂ２、Ｂ３と、第１種のグループＣのスキャンサブチェーンＣ１、Ｃ２、Ｃ３とは、それぞれクロックゲーティング回路ＹＢ、ＹＣからクロックＣＬＫが供給されないため、タイミングＴ３のスキャンキャプチャ動作の結果を保持して、停止している。
【００５７】
タイミングＴ５では、クロックイネーブル入力端子ＳＥＬ＿Ｂを”１”にセットし、クロックイネーブル入力端子ＳＥＬ＿Ａ、ＳＥＬ＿Ｃを”０”にセットするので、第１種のグループＢのスキャンサブチェーンＢ１，Ｂ２，Ｂ３に、クロックゲーティング回路ＹＢを介して、クロックＣＬＫが供給される。そのため、第１種のグループＢのスキャンサブチェーンＢ１、Ｂ２、Ｂ３は、タイミングＴ３のスキャンキャプチャ動作の結果をスキャンシフト出力端子ＳＯ＿Ｂ１、ＳＯ＿Ｂ２、ＳＯ＿Ｂ３からシフトアウトする。同時に、次のスキャンテストパターンの値が、スキャンシフト入力端子ＳＩ＿１、ＳＩ＿２，ＳＩ＿３から入力される。第１種のグループＡのスキャンサブチェーンＡ１、Ａ２、Ａ３は、クロックゲーティング回路ＹＡを介してクロックＣＬＫが供給されないので、タイミングＴ４でのスキャンシフト動作により入力された値を保持して停止している。第１種のグループＣのスキャンサブチェーンＣ１、Ｃ２、Ｃ３は、クロックゲーティング回路ＹＣを介してクロックＣＬＫが供給されないので、Ｔ３のスキャンキャプチャ動作により入力された値を保持して停止している。
【００５８】
タイミングＴ６では、クロックイネーブル入力端子ＳＥＬ＿Ｃを”１”にセットし、クロックイネーブル入力端子ＳＥＬ＿Ａ、ＳＥＬ＿Ｂを”０”にセットするので、第１種のグループＣのスキャンサブチェーンＣ１，Ｃ２，Ｃ３に、クロックゲーティング回路ＹＣを介して、クロックＣＬＫが供給される。そのため、第１種のグループＣのスキャンサブチェーンＣ１、Ｃ２、Ｃ３は、タイミングＴ３のスキャンキャプチャ動作の結果をスキャン出力端子ＳＯ＿Ｃ１、ＳＯ＿Ｃ２、ＳＯ＿Ｃ３からシフトアウトする。同時に、次のスキャンテストパターンの値がスキャンシフト入力端子ＳＩ＿１、ＳＩ＿２，ＳＩ＿３から入力される。第１種のグループＡのスキャンサブチェーンＡ１、Ａ２、Ａ３と、第１種のグループＢのスキャンサブチェーンＢ１、Ｂ２、Ｂ３とは、クロックＣＬＫが供給されないので、それぞれタイミングＴ４とタイミングＴ５のスキャンシフト入力で設定された値を保持して停止している。
【００５９】
タイミングＴ７では、ＳＭを”１”にセットし、スキャンシフト動作からスキャンキャプチャ動作への切り替えを行っている。スキャンキャプチャ動作を有効にすると同時に、クロックイネーブル入力端子ＳＥＬ＿Ａ、ＳＥＬ＿Ｂ、ＳＥＬ＿Ｃを”１”にセットする。そのため、全てのスキャンサブチェーンへクロックＣＬＫが供給され、スキャンキャプチャ動作が行われる。Ｔ８〜Ｔ１１の動作は、それぞれ、Ｔ４〜Ｔ７の動作と同様である。
【００６０】
以上説明した図６のフローチャートによって、スキャンテスト回路の論理接続情報Ｄ１３が生成される。続いて、この論理接続情報Ｄ１３に基づいて、図１２の回路図に示すようなスキャンテスト回路を組み込んだ半導体装置を製造することができる。製造された半導体装置に対して、図１３に示すようなスキャンテストパターンを与えると、良品か不良品かの判定が可能になる。
【００６１】
第一の実施の形態におけるスキャンテスト回路の論理接続情報生成方法は、ＩＲドロップ解析結果から同時動作可能な最大のスキャンフリップフロップ数を求めて、同時動作可能なスキャンフリップフロップ数に合わせてスキャン対象となる全スキャンフリップフロップを第１種のグループに分割する。第１種のグループに分割された複数のフリップフロップ群をそれぞれスキャンシフト入力端子の端子数に合わせて第２種のグループに分割する。第２種のグループに分割された複数のフリップフロップ群にてそれぞれスキャンチェーンを構成し、スキャン動作させるスキャンチェーンを第１種のグループに同期して選択することにより、スキャンテスト実行時のＩＲドロップを許容値内に抑え、且つ、全てのスキャンシフト入力端子からスキャンテストパターンを同時に並行して入力することが可能となっている。よって、スキャンテスト実行時のＩＲドロップを許容値内に抑えるために、複数のスキャンシフト入力端子に対して、順次に一つずつスキャンテストパターンを入力することしかできないために、テスト時間が増大してしまうという課題を解決することができる。
【００６２】
課題解決のメカニズムを更に詳述する。特許文献１記載の発明では、例えば、図２に示したように、５端子のスキャンシフト入力端子ＳＩ−１、ＳＩ−２、ＳＩ−３、ＳＩ−４、ＳＩ−５を有していた場合、それぞれのスキャンシフト入力端子に接続されているスキャンチェーンは独立した１本のみである。且つ、スキャンシフト入力端子ＳＩ−１、ＳＩ−２、ＳＩ−３、ＳＩ−４、ＳＩ−５を一つずつ選択することで、スキャンテスト実行時のＩＲドロップを許容値内に抑える構成である。よって、スキャンシフト入力端子ＳＩ−１、ＳＩ−２、ＳＩ−３、ＳＩ−４、ＳＩ−５の全てに対して、同時に並行してスキャンテストパターンを入力することはできない。しかし、本発明による第一の実施の形態では、例えば、図７に示すように、３端子のスキャン入力端子ＳＩ＿１、ＳＩ＿２、ＳＩ＿３を有している場合、全てのスキャンシフト入力端子ＳＩ＿１、ＳＩ＿２、ＳＩ＿３から同時にスキャンテストパターンを入力しても、スキャンクロックＣＬＫが供給されるスキャンチェーンは、第１種のグループＡ、Ｂ、Ｃのいずれか一つのみが選択される。これにより、スキャンテスト実行時のＩＲドロップを許容値内に抑えている。すなわち、スキャンシフト入力端子ＳＩ＿１、ＳＩ＿２、ＳＩ＿３の全てに対して同時に並行してスキャンテストパターンを入力することができるので、テスト時間を削減することが可能であり、テスト時間が増大してしまうという課題を解決することができる。
【００６３】
図１４は、本発明を実施するための二つ目の最良の形態におけるスキャンテスト回路の論理接続情報生成方法を説明するフローチャートである。図１４に示す第二の実施の形態におけるフローチャートは、図６に示す第一の実施の形態におけるフローチャートに対し、動作対象スキャンサブチェーン選択回路挿入ステップＳ０６の後に、出力端子削減回路挿入ステップＳ２０が付加されている点が異なっている。出力端子削減回路挿入ステップＳ２０は、出力端子削減情報Ｄ２１と、論理接続情報Ｄ１３とを読み込み、出力端子削減回路を挿入した論理接続情報Ｄ２２を出力する。更に、出力端子削減回路挿入ステップＳ２０の次に行われるスキャンテストパターン生成ステップＳ２３では、出力端子削減回路を挿入した論理接続情報Ｄ２２と、シフト動作制御タイミング情報Ｄ１２とを入力し、スキャンテストパターンＤ１４を出力している。
【００６４】
図１４において、第二の実施の形態におけるフローチャートで付加した出力端子削減回路挿入ステップＳ２０、及び変更したスキャンテストパターン生成ステップＳ２３は、コンピュータ装置Ｆ１０，Ｆ１１，・・・の演算装置が、実行プログラムの対応モジュールを実行することによって、処理することができる。また、図１４のフローチャートで追加した出力端子削減情報Ｄ２１、及び論理接続情報Ｄ２２は、コンピュータ装置Ｆ１０，Ｆ１１，・・・の記憶装置に格納される。予め必要となる出力端子削減情報Ｄ２１は、実行プログラムの一部として、サーバＦ１４からコンピュータ装置Ｆ１０，Ｆ１１，・・・にダウンロードすることが可能である。なお、図１４のフローチャートにおけるステップＳ２０，Ｓ２３、情報Ｄ２１，Ｄ２２以外のステップ及びデータは、第一の実施の形態におけるフローチャートのものと同様である。以下、第一の実施の形態と異なる部分について詳述する。
【００６５】
図１４において、出力端子削減回路挿入ステップＳ２０は、出力端子削減情報Ｄ２１と、論理接続情報Ｄ１３とを入力する。スキャンシフト入力端子に並列接続された各スキャンサブチェーンの最終段のスキャンフリップフロップの出力を入力とした出力端子削減回路を挿入し、出力端子削減回路の出力を一つのスキャンシフト出力端子とする。スキャンシフト出力端子数を、スキャンシフト入力端子数と同じ本数に削減した論理接続情報Ｄ２２を出力する。
【００６６】
図１５に、出力端子削減回路を挿入した論理接続情報Ｄ２２の回路構成例を示す。図１５において、スキャンシフト入力端子ＳＩ＿１に並列接続されたスキャンサブチェーンＡ１、Ｂ１、Ｃ１のそれぞれの最終段のスキャンフリップフロップの出力は、出力端子削減回路Ｍ１の入力端子ＤＡ、ＤＢ、ＤＣへ入力されている。また、出力端子削減回路Ｍ１は、クロックイネーブル入力端子ＳＥＬ＿Ａ、ＳＥＬ＿Ｂ、ＳＥＬ＿Ｃから供給される制御信号によって選択される一のシフト出力を、スキャンシフト出力端子ＳＯ＿１へ出力する。
【００６７】
また、スキャンシフト入力端子ＳＩ＿２に並列接続されたスキャンサブチェーンＡ２、Ｂ２、Ｃ２のそれぞれの最終段のスキャンフリップフロップの出力は、出力端子削減回路Ｍ２の入力端子ＤＡ、ＤＢ、ＤＣへ入力されている。また、出力端子削減回路Ｍ２は、クロックイネーブル入力端子ＳＥＬ＿Ａ、ＳＥＬ＿Ｂ、ＳＥＬ＿Ｃから供給される制御信号によって選択される一のシフト出力を、スキャンシフト出力端子ＳＯ＿２へ出力する。
【００６８】
それから、スキャンシフト入力端子ＳＩ＿３に並列接続されたスキャンサブチェーンＡ３、Ｂ３、Ｃ３のそれぞれの最終段のスキャンフリップフロップの出力は、出力端子削減回路Ｍ３の入力端子ＤＡ、ＤＢ、ＤＣへ入力されている。また、出力端子削減回路Ｍ３は、クロックイネーブル入力端子ＳＥＬ＿Ａ、ＳＥＬ＿Ｂ、ＳＥＬ＿Ｃから供給される制御信号によって選択される一のシフト出力を、スキャンシフト出力端子ＳＯ＿３へ出力する。
【００６９】
例えば、クロックＣＬＫから、スキャンクロックを供給し、クロックイネーブル入力端子ＳＥＬ＿Ａを”１”、クロックイネーブル入力端子ＳＥＬ＿Ｂを”０”、クロックイネーブル入力端子ＳＥＬ＿Ｃを”０”に設定したとする。この場合、スキャンサブチェーンＡ１、Ａ２、Ａ３が選択され、これらがスキャンシフト動作を行う。また、スキャンサブチェーンＡ１のスキャンシフト出力は、出力端子削減回路Ｍ１を介して、スキャンシフト出力端子ＳＯ＿１から出力される。スキャンサブチェーンＡ２のスキャンシフト出力は、出力端子削減回路Ｍ２を介して、スキャンシフト出力端子ＳＯ＿２から出力される。スキャンサブチェーンＡ３のスキャンシフト出力は、出力端子削減回路Ｍ３を介して、スキャンシフト出力端子ＳＯ＿３から出力される。
【００７０】
また、例えば、クロックＣＬＫから、スキャンクロックを供給し、クロックイネーブル入力端子ＳＥＬ＿Ａを”０”、クロックイネーブル入力端子ＳＥＬ＿Ｂを”１”、クロックイネーブル入力端子ＳＥＬ＿Ｃを”０”に設定したとする。この場合、スキャンサブチェーンＢ１、Ｂ２、Ｂ３が選択され、これらがスキャンシフト動作を行う。また、スキャンサブチェーンＢ１のスキャンシフト出力は、出力端子削減回路Ｍ１を介して、スキャンシフト出力端子ＳＯ＿１から出力される。スキャンサブチェーンＢ２のスキャンシフト出力は、出力端子削減回路Ｍ２を介して、スキャンシフト出力端子ＳＯ＿２から出力される。スキャンサブチェーンＢ３のスキャンシフト出力は、出力端子削減回路Ｍ３を介して、スキャンシフト出力端子ＳＯ＿３から出力される。
【００７１】
それから、例えば、クロックＣＬＫから、スキャンクロックを供給し、クロックイネーブル入力端子ＳＥＬ＿Ａを”０”、クロックイネーブル入力端子ＳＥＬ＿Ｂを”０”、クロックイネーブル入力端子ＳＥＬ＿Ｃを”１”に設定したとする。この場合、スキャンサブチェーンＣ１、Ｃ２、Ｃ３が選択され、これらがスキャンシフト動作を行う。また、スキャンサブチェーンＣ１のスキャンシフト出力は、出力端子削減回路Ｍ１を介して、スキャンシフト出力端子ＳＯ＿１から出力される。スキャンサブチェーンＣ２のスキャンシフト出力は、出力端子削減回路Ｍ２を介して、スキャンシフト出力端子ＳＯ＿２から出力される。スキャンサブチェーンＣ３のスキャンシフト出力は、出力端子削減回路Ｍ３を介して、スキャンシフト出力端子ＳＯ＿３から出力される。
【００７２】
第二の実施の形態においては、図１４のフローチャートによって、スキャンテスト回路の論理接続情報Ｄ２２が生成される。続いて、この論理接続情報Ｄ２２に基づいて、図１５に示すようなスキャンテスト回路を組み込んだ半導体装置を製造することができる。製造された半導体装置に対して、図１４における情報Ｄ１４のスキャンテストパターンを与えると、良品か不良品かの判定が可能になる。
【００７３】
第二の実施の形態によれば、出力端子削減回路を付加したスキャンテスト回路の論理接続情報を生成することが可能となるので、スキャンテストに必要な出力端子数を削減できる。これにより、端子数の少ない半導体装置に対しても、本発明を適用できるようになるという効果がある。
【００７４】
図１６は、本発明を実施するための三つ目の最良の形態におけるスキャンテスト回路の論理接続情報生成方法を説明するフローチャートである。図１６に示す第三の実施の形態におけるフローチャートは、図６に示す第一の実施の形態におけるフローチャートに対し、以下の点が異なっている。一つは、グループ分割数計算ステップＳ０２を、ＩＲドロップの大きい領域のグループ分割数計算ステップＳ３０に置き換えている点である。更に、同時動作可能フリップフロップグループ分けステップＳ０３を、ＩＲドロップの大きい領域の同時動作可能フリップフロップグループ分けステップＳ３１に置き換えている点である。それから、グループ分割情報Ｄ０７を、ＩＲドロップの大きい領域のグループ分割情報Ｄ３０に置き換え、同時動作可能なフリップフロップグループ情報Ｄ０８を、同時動作可能なフリップフロップグループ情報Ｄ３１に置き換えている点である。
【００７５】
図１６において、第三の実施の形態におけるフローチャートで置換したＩＲドロップの大きい領域のグループ分割数計算ステップＳ３０、及びＩＲドロップの大きい領域の同時動作可能フリップフロップグループ分けステップＳ３１は、コンピュータ装置Ｆ１０，Ｆ１１，・・・の演算装置が、実行プログラムの対応モジュールを実行することによって、処理することができる。また、図１６のフローチャートで置換したＩＲドロップの大きい領域のグループ分割情報Ｄ３０、及び同時動作可能なフリップフロップグループ情報Ｄ３１は、コンピュータ装置Ｆ１０，Ｆ１１，・・・の記憶装置に格納される。なお、図１６のフローチャートにおけるステップＳ３０，Ｓ３１、情報Ｄ３０，Ｄ３１以外のステップ及びデータは、図６に示した第一の実施の形態におけるフローチャートのものと同様である。以下、第一の実施の形態と異なる部分について詳述する。
【００７６】
図１６において、ＩＲドロップの大きい領域のグループ分割数計算ステップＳ３０は、ＩＲドロップ分布図Ｄ０６を入力する。ＩＲドロップの小さい領域のスキャンフリップフロップのＩＲドロップの量を考慮して、ＩＲドロップの大きい領域のスキャンフリップフロップを第１種のグループに分割するためのグループ分割数を計算する。ＩＲドロップの大きい領域のグループ分割情報Ｄ３０を出力する。
【００７７】
例えば、半導体チップ上において、ＩＲドロップが２０ｍＶ以下、２０ｍＶ〜３０ｍＶ、３０ｍＶ〜６０ｍＶの３つの領域が存在することが求められ、かつ、ＩＲドロップ許容値が３５ｍＶであったとする。この場合、ＩＲドロップが３０ｍＶ以下の領域のスキャンフリップフロップを第１種のグループに分割する対象とせず、３０ｍＶ〜６０ｍＶの領域のスキャンフリップフロップを第１種のグループに分割する対象とする。ただし、ＩＲドロップが３０ｍＶ以下の領域のスキャンフリップフロップも同時に動作するため、ＩＲドロップが３０ｍＶ以下の領域のスキャンフリップフロップによるＩＲドロップを加算して計算を実施する。仮に、ＩＲドロップが３０ｍＶ以下の領域のスキャンフリップフロップが同時に動作することによるＩＲドロップが２０ｍＶと計算されたときには、ＩＲドロップが３０ｍＶ〜６０ｍＶの領域を第１種のグループに分割する際のグループ分割数は、上述した計算式１によって求まる。
グループ分割数＝（６０ｍＶ＋２０ｍＶ）÷３５ｍＶ＝２．２９
すなわち、ＩＲドロップの大きい領域のグループ分割情報Ｄ３０の出力として、３分割するという情報が得られる。
【００７８】
ＩＲドロップの大きい領域の同時動作可能フリップフロップグループ分けステップＳ３１では、論理接続情報Ｄ０１と、配置配線情報Ｄ０２と、クロック情報Ｄ０３と、ＩＲドロップの大きい領域のグループ分割情報Ｄ３０とを入力する。ＩＲドロップの大きい領域にあるスキャンフリップフロップに対して、ＩＲドロップが小さい領域のスキャンフリップフロップによるＩＲドロップの量を考慮して、第１種のグループへの分割を実施する。同時動作可能なフリップフロップグループ情報Ｄ３１を出力する。
【００７９】
図１７は、同時動作可能なフリップフロップグループ情報Ｄ３１の説明図である。図１７において、ＩＲドロップの大きい領域のスキャンフリップフロップが３つの第１種のグループＸ、Ｙ、Ｚに分割されている。図中、ＩＲドロップの小さい領域のスキャンフリップフロップに対しては、第１種のグループへの分割が実施されていない。図１７では、半導体装置のイメージに、ＩＲドロップが２０ｍＶ以下、２０〜３０ｍＶ、３０〜６０ｍＶのそれぞれの領域の境界を示す等電圧線を重ね合わせて、グループ分割を説明している。
【００８０】
図１７は、ＩＲドロップの大きい領域の同時動作可能フリップフロップグループ分けステップＳ３１の説明図にもなっている。図１７の例は、ステップＳ３１で、ＩＲドロップが３０〜６０ｍＶの領域のスキャンフリップフロップを３つに分割することを示すＩＲドロップの大きい領域のグループ分割情報Ｄ３０を入力していること、ＩＲドロップが３０〜６０ｍＶの領域にあるスキャンフリップフロップを、第１種のグループＸと、第１種のグループＹと、第１種のグループＺとの３つに分割していること、ＩＲドロップが３０ｍＶ以下の領域のスキャンフリップフロップＱを、第１種のグループへの分割を実施しないスキャンフリップフロップとしていること、などを説明している。
【００８１】
図１８に、第三の実施の形態における論理接続情報Ｄ１３の回路構成例を示す。図１８は、スキャンシフト入力端子数Ｄ０９を４本とした場合の例である。４本のスキャンシフト入力端子のうち２本を、ＩＲドロップの大きい領域のスキャンフリップフロップに割り当て、残りの２本のスキャンシフト入力端子を、ＩＲドロップの小さな領域のスキャンフリップフロップに割り当てている。図１８において、ＩＲドロップの大きい領域のスキャンフリップフロップのスキャンサブチェーンの並列接続回路と、クロックゲーティング回路の基本的構成は、第一の実施の形態のものと同様である。ＩＲドロップの小さい領域のスキャンフリップフロップＱで構成されるスキャンチェーンのクロック入力は、クロックＣＬＫを直接入力している。
【００８２】
よって、第１種のグループＸと、第１種のグループＹと、第１種のグループＺは、それぞれ排他的に動作し、スキャンフリップフロップＱは常に動作する。上述したように、第１種のグループＸ、Ｙ、Ｚのいずれか一つと同時に動作するスキャンフリップフロップＱのＩＲドロップを予め考慮して、ＩＲドロップの大きい領域のスキャンフリップフロップを第１種のグループに分割している。そのため、ＩＲドロップ許容値を満足したスキャンテストを実行できる。
【００８３】
第三の実施の形態においては、図１６のフローチャートによって、スキャンテスト回路の論理接続情報Ｄ１３が生成される。続いて、この論理接続情報Ｄ１３に基づいて、図１８に示すようなスキャンテスト回路を組み込んだ半導体装置を製造することができる。製造された半導体装置に対して、図１６における情報Ｄ１４のスキャンテストパターンを与えると、良品か不良品かの判定が可能になる。
【００８４】
第三の実施の形態では、ＩＲドロップの小さい領域のスキャンフリップフロップのＩＲドロップの量を考慮して、ＩＲドロップの大きい領域のスキャンフリップフロップに対して第１種のグループへの分割を実施する。そのため、クロックゲーティング回路の接続を、第１種のグループに分割したスキャンフリップフロップのみに限定できる。ＩＲドロップの大きい領域以外のスキャンフリップフロップにクロックゲーティング回路を接続しないため、クロック配線が容易となり、配置配線領域の少ない半導体装置にも、本発明を適用できるようになるという効果がある。
【００８５】
本実施の形態における第１の効果は、スキャンテスト実行時にＩＲドロップを許容値内に抑えながら、公知文献例に比べてスキャンテスト実行時間を短縮することを可能としたことである。その理由は、ＩＲドロップ解析結果から同時動作可能な最大のスキャンフリップフロップ数を求め、この数に合わせて、スキャン対象となる全スキャンフリップフロップを第１種のグループに分割すると共に、第１種のグループに分割された複数のフリップフロップ群を、それぞれスキャンシフト入力端子の端子数に合わせて第２種のグループに分割する。そして、第２種のグループに分割された複数のフリップフロップ群にて、それぞれスキャンサブチェーンを構成し、スキャン動作させるスキャンサブチェーンを第１種のグループに同期して選択することにより、全てのスキャンシフト入力端子からスキャンテストパターンを同時に並行して入力することができるからである。
【００８６】
本実施の形態における第２の効果は、端子数の少ない半導体集積回路にも適用できることである。その理由は、動作対象スキャンサブチェーン選択回路挿入ステップＳ０６の後に、出力端子削減情報Ｄ２１と論理接続情報Ｄ１３とを読み込み、出力端子削減回路を挿入した論理接続情報Ｄ２２を出力する出力端子削減回路挿入ステップＳ２０を付加しているので、出力端子削減回路を付加したスキャンテスト回路の論理接続情報を生成することが可能となり、スキャンテストに必要な出力端子数を削減できるためである。
【００８７】
本実施の形態における第３の効果は、配置配線領域の少ない半導体装置にも適用できることである。その理由は、グループ分割数計算ステップＳ０２をＩＲドロップの大きい領域のグループ分割数計算ステップＳ３０へ置き換え、同時動作可能フリップフロップグループ分けステップＳ０３を、ＩＲドロップの大きい領域の同時動作可能フリップフロップグループ分けステップＳ３１へ置き換え、グループ分割情報Ｄ０７をＩＲドロップの大きい領域のグループ分割情報Ｄ３０へ置き換え、同時動作可能なフリップフロップグループ情報Ｄ０８を、同時動作可能なフリップフロップグループ情報Ｄ３１へ置き換えることにより、ＩＲドロップの小さい領域のスキャンフリップフロップのＩＲドロップの量を考慮して、ＩＲドロップの大きい領域のスキャンフリップフロップに対して第１種のグループへの分割を実施するので、第１種のグループの分割を実施していないスキャンフリップフロップには、クロックゲーティング回路を接続する必要がなく、クロック配線が容易になるからである。
【図面の簡単な説明】
【００８８】
【図１】公知文献記載の半導体集積回路テスト設計支援装置のブロック図。
【図２】公知文献記載のスキャンモード制御回路が挿入された半導体集積回路の概念図。
【図３】公知文献記載のスキャンモード信号制御回路の真理値表の例を示す図。
【図４】公知文献記載のスキャンテストパターンのタイミングチャート。
【図５】本実施の形態を適用できるシステムの構成説明図である。
【図６】本発明による第一の実施の形態におけるスキャンテスト回路の論理接続情報生成方法を説明するフローチャート。
【図７】ＩＲドロップ分布図Ｄ０６の説明図。
【図８】スキャンフリップフロップを第１種のグループへ分割することの説明図。
【図９】更に、第２種のグループへ分割することの説明図。
【図１０】スキャンサブチェーン回路の例を示す図。
【図１１】更に、スキャンサブチェーン回路を並列接続した回路図。
【図１２】更に、スキャンサブチェーン回路の選択回路を挿入した回路図。
【図１３】図１２の回路動作を説明するスキャンテストパターンのタイミングチャート。
【図１４】本発明による第二の実施の形態におけるスキャンテスト回路の論理接続情報生成方法を説明するフローチャート。
【図１５】第二の実施の形態における論理接続情報Ｄ２２を説明する回路構成図。
【図１６】本発明による第三の実施の形態におけるスキャンテスト回路の論理接続情報生成方法を説明するフローチャート。
【図１７】スキャンフリップフロップを第１種のグループに分割することの説明図。
【図１８】第三の実施の形態における論理接続情報Ｄ１３を説明する回路構成図。
【符号の説明】
【００８９】
１  論理接続情報
２  自動配置配線部
３  レイアウトパターン
４  電源ＲＣネットワーク解析部
５  電源ＲＣネットワーク解析結果
６  スキャン回路グルーピング部
７  スキャン回路グループ情報
８  ＩＲドロップ解析部
９  ＩＲドロップ解析結果
１０  ＩＲドロップ解析結果判定部（ＩＲドロップ解析部）
１１  スキャンチェーン挿入部
１２  論理接続情報
１３  スキャンチェーン生成用リピート部
１４  自動テストパターン生成部
１５  スキャンテストパターン
１６  クロックドメイン情報
１７  動作率情報
１８  判定値
７２  スキャンモード信号制御回路
１００  半導体集積回路テスト設計支援装置
Ｆ１０，Ｆ１１  コンピュータ装置
Ｆ１４  サーバ
Ｆ１５  記録媒体
Ｆ１６  ネットワーク
Ｓ０１  ＩＲドロップ解析
Ｓ０２  グループ分割数計算
Ｓ０３  同時動作可能フリップフロップグループ分け
Ｓ０４  スキャンサブチェーン作成
Ｓ０５  スキャンサブチェーン並列接続
Ｓ０６  動作対象スキャンサブチェーン選択回路挿入
Ｓ０７  スキャンテストパターン生成
Ｓ２０  出力端子削減回路挿入
Ｓ２３  スキャンテストパターン生成
Ｓ３０  ＩＲドロップの大きい領域のグループ分割数計算
Ｓ３１  ＩＲドロップの大きい領域の同時動作可能フリップフロップグループ分け
Ｄ０１，Ｄ１０，Ｄ１１，Ｄ１３  論理接続情報
Ｄ０２  配置配線情報
Ｄ０３  クロック情報
Ｄ０４  動作率情報
Ｄ０５  プロセス固有情報
Ｄ０６  ＩＲドロップ分布図
Ｄ０７  グループ分割情報
Ｄ０８  同時動作可能なフリップフロップグループ情報
Ｄ０９  スキャンシフト入力端子数
Ｄ１２  シフト動作制御タイミング情報
Ｄ１４  スキャンテストパターン
Ｄ２１  出力端子削減情報
Ｄ２２  出力端子削減回路を挿入した論理接続情報
Ｄ３０  ＩＲドロップの大きい領域のグループ分割情報
Ｄ３１  同時動作可能なフリップフロップグループ情報
Ａ，Ｂ，Ｃ，Ｘ，Ｙ，Ｚ  第１種のグループ
ＦＦ，Ｑ  スキャンフリップフロップ
ＹＡ，ＹＢ，ＹＣ，ＹＸ，ＹＹ，ＹＺ  クロックゲーティング回路
Ｍ１，Ｍ２，Ｍ３  出力端子削減回路
【図１】
2010038874.tif 000003
【図２】
2010038874.tif 000004
【図３】
2010038874.tif 000005
【図４】
2010038874.tif 000006
【図５】
2010038874.tif 000007
【図６】
2010038874.tif 000008
【図７】
2010038874.tif 000009
【図８】
2010038874.tif 000010
【図９】
2010038874.tif 000011
【図１０】
2010038874.tif 000012
【図１１】
2010038874.tif 000013
【図１２】
2010038874.tif 000014
【図１３】
2010038874.tif 000015
【図１４】
2010038874.tif 000016
【図１５】
2010038874.tif 000017
【図１６】
2010038874.tif 000018
【図１７】
2010038874.tif 000019
【図１８】
2010038874.tif 000020