(57)【要約】【課題】途中に分岐を有するシフト構成のＦＦをスキャン化したスキャンテスト回路を生成するときに、回路規模の増加を抑制することができるスキャンテスト回路生成装置およびスキャンテスト回路生成方法を提供すること。【解決手段】複数のフリップフロップで構成される回路を解析する回路解析手段と、フリップフロップの少なくとも一部をスキャン可能な構造を有するスキャンフリップフロップへの変更の対象外と判断するスキャン化対象外判断手段と、複数のフリップフロップのうち、スキャン化対象外と判断されなかったフリップフロップを、スキャンフリップフロップに変更し、該スキャンフリップフロップを縦続接続したスキャンチェーンを生成するスキャン化手段と、を有するよう、スキャンテスト回路生成装置を構成する。【選択図】図２
2017106826.tif 000002
【特許請求の範囲】
【請求項１】
複数のフリップフロップで構成される回路を解析する回路解析手段と、
前記フリップフロップの少なくとも一部をスキャン可能な構造を有するスキャンフリップフロップへの変更の対象外と判断するスキャン化対象外判断手段と、
前記複数のフリップフロップのうち、前記スキャン化対象外と判断されなかったフリップフロップを、前記スキャンフリップフロップに変更し、該スキャンフリップフロップを縦続接続したスキャンチェーンを生成するスキャン化手段と、
を有することを特徴とするスキャンテスト回路生成装置。
【請求項２】
前記回路解析手段は、一の前記フリップフロップのデータ出力が他の前記フリップフロップのデータ入力に縦続接続されて複数の前記フリップフロップにより構成されるシフト構成を特定することを特徴とする、請求項１に記載のスキャンテスト回路生成装置。
【請求項３】
前記回路解析手段は、データ出力が他の前記フリップフロップのデータ入力に接続されていない前記フリップフロップから順に縦続接続されているものをバックトレースすることにより前記シフト構成を特定することを特徴とする、請求項２に記載のスキャンテスト回路生成装置。
【請求項４】
前記回路解析手段は、前記一のフリップフロップのデータ出力と前記他のフリップフロップのデータ入力との接続が分岐しているときに、前記一のフリップフロップと前記他のフリップフロップとが縦続接続され、前記シフト構成の少なくとも一部として扱うことを特徴とする、請求項２または３に記載のスキャンテスト回路生成装置。
【請求項５】
前記スキャン化対象外判断手段は、前記シフト構成に含まれる前記フリップフロップのうち、先頭と最後尾以外の前記フリップフロップを対象外と判断することを特徴とする、請求項２ないし４のいずれか１項に記載のスキャンテスト回路生成装置。
【請求項６】
前記スキャン化対象外判断手段は、前記シフト構成に含まれる前記フリップフロップのうち、前記先頭と前記最後尾との間の少なくとも１つの前記フリップフロップを除く前記フリップフロップを対象外と判断することを特徴とする、請求項５に記載のスキャンテスト回路生成装置。
【請求項７】
前記スキャン化手段は、変更された前記先頭の前記スキャンフリップフロップのデータ出力と変更された前記最後尾の前記スキャンフリップフロップのスキャンデータ入力とを接続することを特徴とする、請求項５または６に記載のスキャンテスト回路生成装置。
【請求項８】
前記スキャン化手段は、変更された前記先頭の前記スキャンフリップフロップのデータ出力と変更された少なくとも１つの前記スキャンフリップフロップのうち最先のもののスキャンデータ入力とを接続し、変更された少なくとも１つの前記スキャンフリップフロップのうち最後のもののデータ出力と変更された前記最後尾の前記スキャンフリップフロップのスキャンデータ入力とを接続することを特徴とする、請求項６に記載のスキャンテスト回路生成装置。
【請求項９】
前記回路解析手段が前記シフト構成と非同期で動作する回路構成を検出すると、
前記スキャン化手段は、前記先頭の前記スキャンフリップフロップのデータ出力と前記最後尾の前記スキャンフリップフロップのスキャンデータ入力とを接続するスキャンチェーンにロックアップセルを挿入することを特徴とする、請求項５に記載のスキャンテスト回路生成装置。
【請求項１０】
複数のフリップフロップで構成される回路を解析する回路解析工程と、
前記フリップフロップの少なくとも一部をスキャン可能な構造を有するスキャンフリップフロップへの変更の対象外と判断するスキャン化対象外判断工程と、
前記複数のフリップフロップのうち、前記スキャン化対象外と判断されなかったフリップフロップを、前記スキャンフリップフロップに変更して、スキャンチェーンを生成するスキャン化工程と、
を有することを特徴とするスキャンテスト回路生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンテスト回路生成装置およびスキャンテスト回路生成方法に関する。
【背景技術】
【０００２】
半導体集積回路のテストを容易にする設計技術（ＤＦＴ：Design For Testability）の一手法として、フリップフロップ（以下「ＦＦ」ともいう。）に対して値の設定および読み出しを可能とする回路を付加するスキャン方式がある。スキャン方式の１つに、値の設定および読み出しの対象となるＦＦをスキャン可能な構造に修正（以下「スキャン化」ともいう。）し、スキャン化されたＦＦ（スキャンフリップフロップ、以下「ＳＦＦ」ともいう。）をチェーン状に接続したスキャンチェーンを構成するシフトスキャン方式がある。図４（ｂ）はシフト構成のＦＦをスキャン化したスキャンテスト回路を構成する例であり、詳細は後述する。
【０００３】
ＦＦが連続して接続されたシフト構成の回路をスキャン化する場合、先頭と最後尾のＦＦのみをスキャン化し、その間のＦＦのスキャン化を行わないようにすることにより、テスト回路の増加を抑制可能なことが知られている。図５は先頭と最後尾のＦＦのみをスキャン化したスキャンテスト回路を構成する例であり、詳細は後述する。
【０００４】
特許文献１には、スキャンフリップフロップとフリップフロップとを備え、フリップフロップに入力するデータをキャプチャ動作時とシフト動作時および通常動作時とで切り替えるセレクタを備えたスキャンテスト回路が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＦＦの構成は、連続して接続された完全なシフト構成に限られない。例えば前段の出力の他に別の論理回路の出力が入力される分岐した構成を取る場合がある。このような構成をスキャン化するときは、完全なシフト構成ではないため、含まれるすべてのＦＦがスキャン化され、その結果回路規模が増加するという問題が生ずる。
【０００６】
本発明は、上記のような課題を解決するためになされたものであり、途中に分岐を有するシフト構成のＦＦをスキャン化したスキャンテスト回路を生成するときに、回路規模の増加を抑制可能なスキャンテスト回路生成装置およびスキャンテスト回路生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明にかかるスキャンテスト回路生成装置は、
複数のフリップフロップで構成される回路を解析する回路解析手段と、
前記フリップフロップの少なくとも一部をスキャン可能な構造を有するスキャンフリップフロップへの変更の対象外と判断するスキャン化対象外判断手段と、
前記複数のフリップフロップのうち、前記スキャン化対象外と判断されなかったフリップフロップを、前記スキャンフリップフロップに変更し、該スキャンフリップフロップを縦続接続したスキャンチェーンを生成するスキャン化手段と、
を有することを特徴とする。
【発明の効果】
【０００８】
本発明にかかるスキャンテスト回路生成装置およびスキャンテスト回路生成方法は、途中に分岐を有するシフト構成のＦＦをスキャン化したスキャンテスト回路を生成するときに、回路規模の増加を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態にかかるスキャンテスト回路生成装置１のハードウェア構成図である。
【図２】本発明の実施形態にかかるスキャンテスト回路生成装置１の機能ブロック図である。
【図３】フリップフロップとスキャンフリップフロップの概略構成図である。
【図４】シフト構成の回路とそれを従来技術によりスキャン化した回路の例である。
【図５】シフト構成の先頭と最後尾のフリップフロップのみを従来技術によりスキャン化した例である。
【図６】フリップフロップの間に分岐があり、論理回路が接続された回路を従来技術によりスキャン化した回路構成である。
【図７】フリップフロップの間に分岐があり、論理回路が接続された回路を本発明によりスキャン化した回路構成の第１の例である。
【図８】フリップフロップの間に分岐があり、論理回路が接続された回路を本発明によりスキャン化した回路構成の第２の例である。
【図９】フリップフロップの間に分岐があり、別のシフト構成が接続された回路を本発明によりスキャン化した回路構成の例である。
【図１０】非同期関係にあるパスを含む回路を従来技術でスキャン化した回路構成の例である。
【図１１】非同期関係にあるパスを含む回路を本発明によりスキャン化した回路構成の例である。
【図１２】本実施形態のスキャンテスト回路生成装置１におけるスキャンテスト回路生成処理のフローチャートである。
【発明を実施するための形態】
【００１０】
まず、本発明の実施形態にかかるスキャンテスト回路生成装置１のハードウェア構成を説明する。図１は、本発明の実施形態にかかるスキャンテスト回路生成装置１のハードウェア構成図である。図１に示すように、本発明の実施形態にかかるスキャンテスト回路生成装置１は、情報処理部１０と、記憶部２０と、入力部３０と、出力部４０とを有する。
【００１１】
情報処理部１０は、プログラムに含まれるコードの演算を行い、かかる演算により後述する各種処理を実行する。情報処理部１０は、メモリに読み込まれたプログラムを実行するＣＰＵなどのプロセッサにより構成可能である。
【００１２】
記憶部２０は、所定の情報を不揮発に記憶し、必要に応じて読み出す。記憶部２０には、例えばスキャンテスト回路生成前のデータや生成後のデータ、および、スキャンテスト回路生成プログラムなどを記憶させることができる。記憶部２０は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などにより構成可能である。
【００１３】
入力部３０は、情報処理部１０の処理対象となるデータおよびその情報処理を実行させる指示を入力する。入力部３０は、例えばＵＳＢ（登録商標）、ＳＤメモリーカード（登録商標）などの既存接続規格に準拠したコネクタおよびドライバのようなデータインタフェース、または、キーボードやポインティングデバイスなどのユーザインタフェースにより構成可能である。
【００１４】
出力部４０は、情報処理部１０の処理結果を出力する。処理結果は、例えば生成されたスキャンテスト回路であって、データファイルとして出力される。出力部４０は、例えばＵＳＢ（登録商標）、ＳＤメモリーカード（登録商標）などの既存接続規格に準拠したコネクタおよびドライバのようなデータインタフェース、または、ディスプレイやプリンタなどのデバイスにより構成可能である。
【００１５】
続いて、本発明の実施形態にかかるスキャンテスト回路生成装置１の機能ブロックを説明する。図２は、本発明の実施形態にかかるスキャンテスト回路生成装置１の機能ブロック図である。図２に示すように、スキャンテスト回路生成装置１は、回路解析手段１００と、スキャン化対象外判断手段１１０と、スキャン化手段１２０とを有する。
【００１６】
回路解析手段１００は、複数のフリップフロップで構成される回路を解析する。回路の解析として、回路解析手段１００は、複数のフリップフロップが縦続接続されたシフト構成を特定することができる。回路解析手段１００は、情報処理部１０にて所定のプログラムを実行することにより実施可能である。
【００１７】
スキャン化対象外判断手段１１０は、回路解析手段１００で解析されたフリップフロップの少なくとも一部を、スキャンフリップフロップへの変更の対象外と判断する。スキャンフリップフロップは、フリップフロップにスキャン可能な構造を追加した回路であり、詳細は後述する。スキャン化対象外判断手段１１０は、情報処理部１０にて所定のプログラムを実行することにより実施可能である。
【００１８】
図３を参照して、フリップフロップとスキャンフリップフロップの構成を説明する。図３はフリップフロップとスキャンフリップフロップの概略構成図である。図３（ａ）はフリップフロップであり、Ｄはデータ入力、ＣＫはクロック、Ｑはデータ出力を示す。図３（ｂ）はマルチプレクサ方式でスキャン化したスキャンフリップフロップであり、フリップフロップにＭＵＸ（マルチプレクサ）を付加して構成される。スキャンフリップフロップの構成はマルチプレクサ方式に限られず、ＬＳＳＤ（Level Sensitive Scan Design）方式でも構成可能である。ここで、ＳＩＮはスキャン入力、ＳＥはスキャンイネーブルを示す。図３（ｃ）は、スキャンフリップフロップ回路を簡易表記したものである。
【００１９】
スキャン化手段１２０は、スキャン化対象外と判断されなかったフリップフロップをスキャンフリップフロップに変更し、そのスキャンフリップフロップを縦続接続してスキャンチェーンを生成する。スキャン化手段１２０は、情報処理部１０にて所定のプログラムを実行することにより実施可能である。
【００２０】
ここで、具体的な回路を元にしたスキャンテスト回路の生成を説明する。図４は、シフト構成の回路とそれを従来技術によりスキャン化した回路の例である。図４（ａ）は、７つのフリップフロップが縦続接続されたシフト構成を示している。この構成におけるすべてのフリップフロップを従来技術によりスキャン化し、スキャンフリップフロップに変更したものが図４（ｂ）である。図４（ｂ）において、左端のＳＩＮから右端まで続く太線が、スキャンチェーンを示している。
【００２１】
図５は、図４（ａ）のシフト構成の先頭と最後尾のフリップフロップのみを従来技術によりスキャン化した例である。先頭のフリップフロップと最後尾のフリップフロップは太線でつながれ、スキャンチェーンが形成されている。
【００２２】
図５の構成において、スキャン化されなかったフリップフロップに直接値を設定することはできない。しかし、先頭のスキャンフリップフロップに値を設定して所定段数分のＣＬＫサイクルが経過すれば所望のフリップフロップまで値が伝搬されるため、スキャンテストが可能になっている。
【００２３】
図６は、フリップフロップの間に分岐があり、論理回路が接続された回路を従来技術によりスキャン化した回路構成である。図６のようにスキャン化される前の回路では、あるフリップフロップのデータ出力が次のフリップフロップのデータ入力に接続されているが、その間で回路が分岐されており、その先に別の論理回路が接続されている。図６では、左端のＳＩＮから始まる連続したシフト構成のすべてのフリップフロップがスキャン化されている。これは、回路中に分岐があることにより、回路がシフト構成と認識されなくなるためである。なお、図６では分岐先のスキャンチェーンの記載は省略されており、以下も同様である。
【００２４】
図７は、フリップフロップの間に分岐があり、論理回路が接続された回路を本発明によりスキャン化した回路構成の第１の例である。図７では、分岐して論理回路が接続されているにもかかわらず、シフト構成の先頭と最後尾のフリップフロップのみがスキャン化されている。他のフリップフロップが縦続接続されていないフリップフロップから順に縦続接続されているものをバックトレースすることによりシフト構成を特定しているため、このようなスキャン化が可能となっている。
【００２５】
図７の構成において、先頭のスキャンフリップフロップのデータ出力と最後尾のスキャンフリップフロップのスキャンデータ入力とが接続され、スキャンチェーンが形成されている。このようなスキャンチェーンにより、先頭のスキャンフリップフロップに値を設定して所定段数分のＣＬＫサイクルが経過することによりスキャン化されなかった所望のフリップフロップのスキャンテストが可能なことは図５の構成と同様である。
【００２６】
図８は、フリップフロップの間に分岐があり、論理回路が接続された回路を本発明によりスキャン化した回路構成の第２の例である。図８では、シフト構成のうち先頭と最後尾と間の１つのフリップフロップを除くフリップフロップがスキャン化対象とされていない。すなわち、シフト構成の先頭と最後尾と間の１つのフリップフロップがスキャン化されている。
【００２７】
図８の構成において、先頭のスキャンフリップフロップのデータ出力と間のスキャンフリップフロップのうち最先のものスキャンデータ入力とが接続されている。また、間の１つのスキャンフリップフロップのうち最終のもののデータ出力と最後尾のスキャンフリップフロップのスキャンデータ入力とが接続されている。図８の構成では先頭のスキャンフリップフロップと最後尾のスキャンフリップフロップとの間のスキャンフリップフロップは１つなので、間のスキャンフリップフロップのうち最先のものと最終のものは同一である。間のスキャンフリップフロップが２つ以上あるときは、同様に縦続接続してスキャンチェーンを形成する。このように形成されたスキャンチェーンにより、最後尾近傍のフリップフロップまでに値が伝搬するＣＬＫサイクルが短くなるので、テスト時間を短縮できる。
【００２８】
スキャン化対象外判断手段１１０が、先頭のフリップフロップから所定数おきにスキャン化対象外にしないようにしたり、先頭と最後尾の中間など所定位置のフリップフロップをスキャン化対象外にしないようにしたりすることで、このような構成が可能となる。図８の例では、先頭と最後尾以外の１つのフリップフロップがスキャン化されているが、先頭と最後尾以外にスキャン化されるフリップフロップの数はこれに限られない。
【００２９】
図９は、フリップフロップの間に分岐があり、別のシフト構成が接続された回路を本発明によりスキャン化した回路構成の例である。図６から図８までの説明で前提とした回路と異なり、図９の例ではフリップフロップ間の分岐の先に別のシフト構成が接続されている。このような構成であっても、シフト構成の最後尾のフリップフロップから順に縦続接続されているものをバックトレースすることにより、シフト構成が合流していることを適切に把握することができる。
【００３０】
図１０は、非同期関係にあるパスを含む回路を従来技術でスキャン化した回路構成の例である。破線で囲んだ部分に複数段のフリップフロップが設けられ、この部分と非同期で動作する組み合わせ回路の出力を適切なタイミングで受けられるようになっている。複数段のフリップフロップはシフト構成となるが、従来技術ではすべてのフリップフロップがスキャン化され、さらにホールド時間を確保してタイミングを調整するためにロックアップセルが挿入されている。
【００３１】
図１１は、非同期関係にあるパスを含む回路を本発明によりスキャン化した回路構成の例である。破線で囲んだ部分のフリップフロップは、シフト構成の先頭と最後尾のみがシフト化されている。回路解析手段１００はシフト構成と非同期で動作する回路構成を検出する。これにより、スキャン化手段１２０は、ロックアップセルを先頭のスキャンフリップフロップのデータ出力と最後尾のスキャンフリップフロップのスキャンデータ入力とを接続するスキャンチェーンに挿入する。
【００３２】
次に、本実施形態のスキャンテスト回路生成装置１の動作を説明する。図１２は、本実施形態のスキャンテスト回路生成装置１におけるスキャンテスト回路生成処理のフローチャートである。図１２を参照すると、本実施形態のスキャンテスト回路生成装置１は、まず回路を解析する（ステップＳ１）。回路の解析は回路解析手段１００が実行し、解析の対象となる回路は、入力部３０から入力される。回路の解析により、シフト構成が特定される。
【００３３】
続いてスキャンテスト回路生成装置１は、ステップＳ１で解析された回路に含まれるフリップフロップの少なくとも一部を、スキャンフリップフロップへの変更の対象外と判断する（ステップＳ２）。スキャン化対象外の判断はスキャン化対象外判断手段１１０が実行する。スキャン化対象外判断手段１１０は、複数のフリップフロップが縦続接続されたシフト構成における先頭と最後尾以外のフリップフロップをスキャン化対象外と判断することができる。
【００３４】
次にスキャンテスト回路生成装置１は、ステップＳ２でスキャン化対象外と判断されなかったフリップフロップをスキャン化してスキャンフリップフロップに変更し、変更したスキャンフリップフロップを縦続接続してスキャンチェーンを形成する（ステップＳ３）。スキャン化およびスキャンチェーンの形成は、スキャン化手段１２０が実行する。
【００３５】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【００３６】
１    スキャンテスト回路生成装置
１０    情報処理部
２０    記憶部
３０    入力部
４０    出力部
１００    回路解析手段
１１０    スキャン化対象外判断手段
１２０    スキャン化手段
【先行技術文献】
【特許文献】
【００３７】
【特許文献１】特開２０１０−２２３６７２号公報
【図１】
2017106826.tif 000003
【図２】
2017106826.tif 000004
【図３】
2017106826.tif 000005
【図４】
2017106826.tif 000006
【図５】
2017106826.tif 000007
【図６】
2017106826.tif 000008
【図７】
2017106826.tif 000009
【図８】
2017106826.tif 000010
【図９】
2017106826.tif 000011
【図１０】
2017106826.tif 000012
【図１１】
2017106826.tif 000013
【図１２】
2017106826.tif 000014