(57)【要約】【課題】複数の所定のレジスタ間のタイミングを変えることなく、テスト回路を挿入する。【解決手段】半導体集積回路は、部分経路（１１１〜１１４）を形成する回路ブロックと、遅延回路（１２１〜１２４）と、選択回路（１３１〜１３４）と、制御回路（１４０）とを具備する。部分経路（１１１〜１１４）を形成する回路ブロックは、第１フリップフロップ（１０１）から出力される信号が第２フリップフロップ（１０２）に入力するまでの信号経路に含まれる。遅延回路（１２１〜１２４）は、部分経路を信号が伝播するときの遅延特性に等価な遅延特性を有して部分経路（１１１〜１１４）を模擬する。選択回路（１３１〜１３４）は、部分経路（１１１〜１１４）の出力信号と、遅延回路（１２１〜１２４）の出力信号とのうちの一方を選択して出力する。制御回路（１４０）は、経路遅延故障を検出する経路遅延故障テストのときに、選択回路（１３１〜１３４）が選択する信号を制御する。【選択図】図２
2011106983.tif 000002
【特許請求の範囲】
【請求項１】
第１フリップフロップから出力される信号が第２フリップフロップに入力するまでの信号経路に含まれる部分経路を形成する回路ブロックと、
前記部分経路を信号が伝播するときの遅延特性に等価な遅延特性を有して前記部分経路を模擬する遅延回路と、
前記部分経路の出力信号と、前記遅延回路の出力信号とのうちの一方を選択して出力する選択回路と、
経路遅延故障を検出する経路遅延故障テストのときに、前記選択回路が選択する信号を制御する制御回路と
を具備する
半導体集積回路。
【請求項２】
前記第１フリップフロップから出力される信号は、第３フリップフロップを介さずに前記第２フリップフロップに入力される
請求項１に記載の半導体集積回路。
【請求項３】
クリティカルパスを形成する前記信号経路に前記遅延回路と前記選択回路とを備えるテスト回路を複数備え、
前記制御回路は、前記テスト回路のうちの１つのテスト回路に含まれる選択回路が前記部分経路の出力信号を選択して出力し、前記テスト回路のうちの他のテスト回路が前記テスト回路に含まれる遅延回路の出力信号を選択して出力するように制御して経路遅延故障テストを行う
請求項１または請求項２に記載の半導体集積回路。
【請求項４】
半導体集積回路の遅延故障を試験するときのテスト回路を挿入する方法であって、
所定の時間内に第１フリップフロップから第２フリップフロップまで信号を伝播する必要のあるクリティカルパスを抽出するステップと、
入力データに応答して出力側の信号が変化するテストパターンが生成できない前記クリティカルパス内の未検出ネットを抽出して未検出リストを生成するステップと、
故障シミュレーションを実行して検出される前記クリティカルパス内で信号が変化しないネットを示す非活性ネットを抽出して非活性リストを生成するステップと、
前記未検出リストと前記非活性リストとに基づいて、前記未検出ネットまたは前記非活性ネットを含む信号伝播経路に遅延回路および選択回路を備えるテスト回路を挿入するステップと
を具備する
テスト回路挿入方法。
【請求項５】
未検出リストを生成するステップは、テストパターンを生成するＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）を実行して前記未検出リストを生成する
請求項４に記載のテスト回路挿入方法。
【請求項６】
前記挿入するステップは、
前記非活性ネットと前記第１フリップフロップとの間の経路に含まれる第１回路の遅延特性と等価な遅延特性を有する第１遅延回路を前記第１回路と並列に挿入するステップと、
前記第１回路の出力信号と前記第１遅延回路の出力信号とのうちの一方を選択して出力する選択回路を挿入するステップと
を備える
請求項４または請求項５に記載のテスト回路挿入方法。
【請求項７】
前記挿入するステップは、
前記未検出ネットと前記第２フリップフロップとの間の経路に含まれる第２回路の遅延特性と等価な遅延特性を有する第２遅延回路を前記第２回路と並列に挿入するステップと、
前記第２回路の出力信号と前記第２遅延回路の出力信号とのうちの一方を選択して出力する選択回路を挿入するステップと
を備える
請求項４から請求項６のいずれかに記載のテスト回路挿入方法。
【請求項８】
請求項４から請求項７のいずれかに記載のテスト回路挿入方法をコンピューターに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路および試験方法に関し、特に半導体集積回路の遅延故障テストおよびテスト回路の挿入方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩの高集積化および高速化によりタイミング遅延故障によるＬＳＩ不良が増加しており、スキャンテスト手法を用いた遅延故障テストの重要性が高まっている。
【０００３】
従来は遅延故障テストで一般的に用いられる遷移遅延故障テストとして、順序回路間に存在する複数パスのうち１つのパスについてテストパターンが遷移させることが出来れば、遅延故障が検出されたと定義していた。
【０００４】
複数パスが含まれる回路において、論理段数が多いパスと少ないパスが含まれている場合に、テストパターンを生成するＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）は、論理段数が少なく検出しやすい側のパスで検出したと見なす事が多く、従来の遅延故障テストは、精度の低い方法が一般的であった。
【０００５】
しかし、遅延故障テストとしては、論理段数の多い側のパスも含めてすべてのパスを検出する方が望ましく、近年では故障検出率を向上させることにより、製品の品質を向上させることが重要視されてきた。その中で回路内のクリティカルパス等の論理段数の多い特定パスを、遅延故障テストのなかで検出可能とすることの必要性が高まってきた。
【０００６】
図１に、特開２００１−１３２２０号公報に記載のテスト回路が示される。このテスト回路を備える半導体集積回路は、設計上（実用上）１００ＭＨｚ（周期１０ｎ秒）のクロックによって動作する性能を有する。検査回路３００は、信号伝播経路の検査の対象となる論理回路３２０と、検査信号発生点として論理回路３２０に入力される検査信号を生成するレジスタ３０１と、検査信号観測点として論理回路３２０から出力される検査信号を観測するためのレジスタ３０２及び３０３と、検査信号発生点及び検査信号観測点に動作タイミング（検査信号の発生タイミング及び検査信号の観測タイミング）を設定する検査タイミング生成部３１０とを有する。
【０００７】
また、論理回路３２０は、検査信号の再収斂点を構成する論理素子３２９と、論理素子３２９と検査信号発生点であるレジスタ３０１との間に位置する部分経路３２４、３２５と、論理素子３２９と検査信号観測点であるレジスタ３０２との間に位置する部分経路３２６、３２７と、論理素子２０９と検査信号観測点であるレジスタ３０３との間に位置する部分経路３２８とを有する。
【０００８】
この検査回路１００において、信号伝播経路は、検査信号発生点であるレジスタ２０１から２つの部分経路２０４、２０５に分岐し、再収斂点である論理素子３２９で再収斂している。さらに、信号伝播経路は、再収斂点である論理素子３２９から３つの部分経路３２６、３２７、３２８に分岐する。部分経路３２６、３２７は、検査信号観測点であるレジスタ３０２の直前で再度再収斂し、部分経路２０８は検査信号観測点であるレジスタ３０３に達する。ここでは、上記部分経路３２４、３２５、３２６、３２７、３２８を信号が伝播するのに要する時間、すなわち各部分経路の設計上の遅延時間は、それぞれ４ｎ秒、２ｎ秒、４ｎ秒、２ｎ秒、４ｎ秒となっている。
【０００９】
検査回路３００には、さらに、起点側付加レジスタ３６１と、終点側付加レジスタ３６２と、遅延素子部３６３と、遅延素子部３６４とが付加されている。起点側付加レジスタ３６１は、検査信号発生点として論理回路３２０に検査信号を与える。遅延素子部３６３は、起点側付加レジスタ３６１と論理素子３２９との間に配置され、検査信号発生点となる起点側付加レジスタ３６１からの検査信号を所定時間だけ遅延させた検査信号を再収斂点である論理素子３２９に出力する。遅延素子部３６４は、論理素子３２９と終点側付加レジスタ３６２との間に配置され、再収斂点である論理素子３２９から出力される検査信号を所定時間だけ遅延する。終点側付加レジスタ３６２は、検査信号観測点として論理回路３２０から出力される検査信号を観測するためのレジスタである。
【００１０】
遅延素子部３６３は、１つの遅延素子Ｄａを含む遅延回路３６３ａと、直列接続される２つの遅延素子Ｄｂ１、Ｄｂ２を含む遅延回路３６３ｂと、選択回路３６３ｃとを備える。遅延回路３６３ａは、検査信号発生点であるレジスタ３６１からの検査信号を所定時間（６ｎ秒）遅延する。遅延回路３６３ｂは、検査信号発生点であるレジスタ３６１からの検査信号を所定時間（７ｎ秒）遅延する。選択回路３６３ｃは、両遅延回路３６３ａ及び３６３ｂの出力の一方を、外部のテスタなどからの遅延時間選択信号ＳＥＬＡに基づいて選択して出力する。
【００１１】
遅延素子部３６４は、１つの遅延素子Ｄｃを含む遅延回路３６４ａと、直列接続される２つの遅延素子Ｄｄ１、Ｄｄ２を含む遅延回路３６４ｂと、選択回路３６４ｃとを備える。遅延回路３６４ａは、再収斂点としての論理素子３２９からの検査信号を所定時間（５ｎ秒）遅延する。遅延回路３６４ｂは、再収斂点としての論理素子３２９からの検査信号を所定時間（８ｎ秒）遅延する。選択回路３６４ｃは、各遅延回路３６４ａ及び３６４ｂの出力の一方を、外部のテスタなどからの遅延時間選択信号ＳＥＬＢに基づいて選択して出力する。
【００１２】
この検査回路３００は、第２の検査信号発生点であるレジスタ３６１および第２の検査信号観測点であるレジスタ３６２を備えているので、検査回路には、１１個の信号伝播経路が形成されることとなる。
【００１３】
第１の信号伝播経路は、部分経路３２４、論理素子３２９、及び部分経路３２６を含む。第２の信号伝播経路は、部分経路３２４、論理素子３２９、及び部分経路３２７を含む。第３の信号伝播経路は、部分経路３２５、論理素子３２９、及び部分経路３２６を含む。また、第４の信号伝播経路は、部分経路３２５、論理素子３２９、及び部分経路３２７を含む。第５の信号伝播経路は、部分経路３２４、論理素子３２９、及び部分経路３２８を含む。第６の信号伝播経路は、部分経路３２５、論理素子３２９、及び部分経路３２８を含む。さらに、第７の信号伝播経路は、部分経路３２４、論理素子３２９、及び遅延回路３６４を含む。第８の信号伝播経路は、部分経路３２５、論理素子３２９、及び遅延回路３６４を含む。第９の信号伝播経路は、遅延回路３６３、論理素子３２９、及び部分経路３２６を含む。また、第１０の信号伝播経路は、遅延回路３６３、論理素子３２９、及び部分経路３２７を含む。第１１の信号伝播経路は、遅延回路３６３、論理素子３２９、及び部分経路３２８を含む。但し、ここでは、第７、第８、第９、第１０、第１１の信号伝播経路は、半導体集積回路の機能上不要であるために、遅延故障無しの保証は必ずしも必要ではない。
【００１４】
このテスト回路は、遅延回路３６３、および遅延回路３６４の伝播経路を設定するために、検査信号発生点であるレジスタ３６１および検査信号観測点であるレジスタ３６２を、テストに用いる順序回路として追加している。そのため、クリティカルパスに対して、テスト回路の挿入を行うことが困難である。
【００１５】
一般的には、タイミングの厳しいパス、すなわちクリティカルパスは、確実な動作が要求されるため、レイアウト設計を行ったのちにテストパターンによる確認が必須であり、経路遅延故障テストの対象とされる。この経路遅延故障テストのパスが、テストパターンでの確認が困難な場合に、上記のようなテスト回路が用いられる。
【００１６】
しかし、追加されるテスト回路は、順序回路を含んでいる。順序回路は、検査タイミング生成部で内部回路の動作クロックと同じクロックで動作することから、新たなクロック配線が追加される。そのため、クロック配線の再構築が必要となる。
【００１７】
クロック配線の再構築により、クロック遅延値が変動すると、タイミングの厳しいパスと判断していたパスがクリティカルパスでは無くなり、新たにタイミングの厳しいパスが生じる場合がある。
【００１８】
順序回路の挿入を必要とするこのようなテスト回路では、テスト回路自身の挿入によりタイミングの厳しいパスが変動する可能性がある。したがって、タイミングの厳しいパスが変更された場合は、再度テスト回路の挿入が必要になる。すなわち、このような方法では、クリティカルパスに対するテスト回路が一度の処理で挿入を完結出来ない、つまりテスト回路の挿入が困難である。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００１−０１３２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
本発明は、複数の所定のレジスタ間のタイミングを変えることなく、テスト回路が挿入される半導体集積回路およびテスト回路挿入方法を提供する。
【課題を解決するための手段】
【００２１】
以下に、［発明を実施するための形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００２２】
本発明の観点では、半導体集積回路は、部分経路（１１１〜１１４）を形成する回路ブロックと、遅延回路（１２１〜１２４）と、選択回路（１３１〜１３４）と、制御回路（１４０）とを具備する。部分経路（１１１〜１１４）を形成する回路ブロックは、第１フリップフロップ（１０１）から出力される信号が第２フリップフロップ（１０２）に入力するまでの信号経路に含まれる。遅延回路（１２１〜１２４）は、部分経路を信号が伝播するときの遅延特性に等価な遅延特性を有して部分経路（１１１〜１１４）を模擬する。選択回路（１３１〜１３４）は、部分経路（１１１〜１１４）の出力信号と、遅延回路（１２１〜１２４）の出力信号とのうちの一方を選択して出力する。制御回路（１４０）は、経路遅延故障を検出する経路遅延故障テストのときに、選択回路（１３１〜１３４）が選択する信号を制御する。
【００２３】
本発明の他の観点では、テスト回路挿入方法は、半導体集積回路の遅延故障を試験するときのテスト回路を挿入する方法であり、クリティカルパスを抽出するステップと、未検出リストを生成するステップと、非活性リストを生成するステップと、テスト回路を挿入するステップとを具備する。クリティカルパスを抽出するステップでは、所定の時間内に第１フリップフロップから第２フリップフロップまで信号を伝播する必要のあるクリティカルパスが抽出される。未検出リストを生成するステップでは、入力データに応答して出力側の信号が変化するテストパターンが生成できないクリティカルパス内の未検出ネットが抽出され、未検出リストが生成される。非活性リストを生成するステップでは、故障シミュレーションを実行して検出されるクリティカルパス内で信号が変化しないネットを示す非活性ネットが抽出され、非活性リストが生成される。テスト回路を挿入するステップでは、未検出リストと非活性リストとに基づいて、未検出ネットまたは非活性ネットを含む信号伝播経路に遅延回路および選択回路を備えるテスト回路が挿入される。
【発明の効果】
【００２４】
本発明によれば、複数の所定のレジスタ間のタイミングを変えることのないテスト回路が挿入される半導体集積回路およびその半導体集積回路にテスト回路を挿入するテスト回路挿入方法を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】従来のテスト回路の回路ブロック図である。
【図２】本発明の第１の実施の形態に係るクリティカルパスの回路ブロック図である。
【図３】本発明の第１の実施の形態に係る観測領域制御回路の動作を示す真理値表である。
【図４】本発明の第２の実施の形態に係るテスト回路の挿入方法を実現するコンピューターシステムの構成を示す図である。
【図５】本発明の第２の実施の形態に係るテスト回路を挿入する方法を説明するフロー図である。
【図６】本発明の第２の実施の形態に係るテスト回路挿入前のクリティカルパスを示す回路ブロック図である。
【図７】本発明の第２の実施の形態に係るテスト回路挿入後のクリティカルパスを示す回路ブロック図である。
【発明を実施するための形態】
【００２６】
図２に、第１の実施の形態に係るテスト回路の回路ブロック図が示される。
【００２７】
半導体集積回路は、経路遅延故障テストの始点であるＤフリップフロップ１０１、終点であるＤフリップフロップ１０２の順序回路間に、部分経路１１１、１１２、１１３、１１４を備える。Ｄフリップフロップ１０１の出力と選択回路１３１の入力との間に部分経路１１１と遅延素子１２１とが並列に接続される。遅延素子１２１の遅延特性は、部分経路１１１と等価である。
【００２８】
選択回路１３１の出力と選択回路１３２の入力との間に部分経路１１２と遅延素子１２２とが並列に接続される。遅延素子１２２の遅延特性は、部分経路１１２と等価である。選択回路１３２の出力と選択回路１３３の入力との間に部分経路１１３と遅延素子１２３とが並列に接続される。遅延素子１２３の遅延特性は、部分経路１１３と等価である。選択回路１３３の出力と選択回路１３４の入力との間に部分経路１１４と遅延素子１２４とが並列に接続される。遅延素子１２４の遅延特性は、部分経路１１４と等価である。選択回路１３４の出力は、終点のＤフリップフロップ１０２のＤ入力に接続される。
【００２９】
観測領域制御回路１４０は、選択回路１３１、１３２、１３３、１３４の出力を選択する制御信号ＤＳＥＬ１、ＤＳＥＬ２、ＤＳＥＬ３、ＤＳＥＬ４を出力する。観測領域制御回路１４０には、経路遅延故障テストの動作開始を示す信号ＴＥＳＴと、テスト動作モードを指示する信号ＴＤＥＣ０、ＴＤＥＣ１とが入力される。観測領域制御回路１４０は、信号ＴＤＥＣ０、ＴＤＥＣ１をデコードして、選択回路１３１〜１３４の選択を切り換える制御信号ＤＳＥＬ１〜ＤＳＥＬ４を生成する。図３に、入力信号と出力信号との関係を示す真理値表が示される。
【００３０】
図２、図３を参照して、第１の実施の形態に係るテスト回路の動作を説明する。
【００３１】
観測領域制御回路１４０は、信号ＴＥＳＴが“１”（アクティブ）になるとテストモードの動作を開始する。観測領域制御回路１４０は、信号ＴＤＥＣ０および信号ＴＤＥＣ１に基づいて、テストされる部分経路１１１、１１２、１１３、１１４のいずれかを選択するように、信号ＤＳＥＬ１〜ＤＳＥＬ４を選択回路１３１〜１３４に供給する。
【００３２】
部分経路１１１の経路遅延故障テストを行う場合、テストモード１として、信号ＴＤＥＣ０、信号ＴＤＥＣ１には共に“０”が設定される。このとき、図３のテストモード１に示されるように、観測領域制御回路１４０は、信号ＤＳＥＬ１に“０”、信号ＤＳＥＬ２〜４に“１”を出力する。したがって、選択回路１３１が部分経路１１１の出力を選択し、他の選択回路１３２〜１３４は、遅延素子１２２〜１２４の出力を選択するように設定される。経路遅延故障テストの経路は、Ｄフリップフロップ１０１のＱ出力から部分経路１１１、遅延素子１２２、遅延素子１２３、遅延素子１２４を経由してＤフリップフロップ１０２のＤ入力に至る経路となる。このように経路遅延故障テストの経路が設定された後、経路遅延故障テストのためのテストパターンが実行される。Ｄフリップフロップ１０２のＤ入力には、部分経路１１１と遅延素子１２２〜１２４とを経由した信号が到達する。したがって、テストモード１では部分経路１１１のみを対象としたテストが容易に実施できる。
【００３３】
部分経路１１２の経路遅延故障テストを行う場合、テストモード２として信号ＴＤＥＣ０に“０”、信号ＴＤＥＣ１に“１”が設定される。このとき、図３のテストモード２に示されるように、観測領域制御回路１４０は、信号ＤＳＥＬ２に“０”、信号ＤＳＥＬ１、ＤＳＥＬ３、ＤＳＥＬ４に“１”を出力する。したがって、選択回路１３２が部分経路１１２の出力を選択し、他の選択回路１３１、１３３、１３４は、遅延素子１２１、１２３、１２４の出力を選択するように設定される。経路遅延故障テストの経路は、Ｄフリップフロップ１０１のＱ出力から遅延素子１２１、部分経路１１２、遅延素子１２３、遅延素子１２４を経由してＤフリップフロップ１０２のＤ入力に至る経路となる。このように経路遅延故障テストの経路が設定された後、経路遅延故障テストのためのテストパターンが実行される。Ｄフリップフロップ１０２のＤ入力には、遅延素子１２１、部分経路１１２、遅延素子１２３、１２４を経由した信号が到達する。したがって、テストモード２では部分経路１１２のみを対象としたテストが容易に実施できる。
【００３４】
部分経路１１３の経路遅延故障テストを行う場合、テストモード３として、信号ＴＤＥＣ０に“１”、信号ＴＤＥＣ１に“０”が設定される。このとき、図３のテストモード３に示されるように、観測領域制御回路１４０は、信号ＤＳＥＬ３に“０”、信号ＤＳＥＬ０、ＤＳＥＬ１、ＤＳＥＬ４に“１”を出力する。したがって、選択回路１３３は部分経路１１３の出力を選択し、他の選択回路１３１、１３２、１３４は、遅延素子１２１、１２２、１２４の出力を選択するように設定される。経路遅延故障テストの経路は、Ｄフリップフロップ１０１のＱ出力から遅延素子１２１、遅延素子１２２、部分経路１１３、遅延素子１２４を経由してＤフリップフロップ１０２のＤ入力に至る経路となる。このように経路遅延故障テストの経路が設定された後、経路遅延故障テストのためのテストパターンが実行される。Ｄフリップフロップ１０２のＤ入力には、遅延素子１２１、１２２、部分経路１１３、遅延素子１２４を経由した信号が到達する。したがって、テストモード３では部分経路１１３のみを対象としたテストが容易に実施できる。
【００３５】
部分経路１１４の経路遅延故障テストを行う場合、テストモード４として、信号ＴＤＥＣ０、信号ＴＤＥＣ１には共に“１”が設定される。このとき、図３のテストモード４に示されるように、観測領域制御回路１４０は、信号ＤＳＥＬ１〜ＤＥＳＬ３に“１”、信号ＤＥＳＬ４に“０”を出力する。したがって、選択回路１３４は部分経路１１４の出力を選択し、他の選択回路１３１〜１３３は遅延素子１２１〜１２３の出力を選択するように設定される。経路遅延故障テストの経路は、Ｄフリップフロップ１０１のＱ出力から遅延素子１２１、遅延素子１２２、遅延素子１２３、部分経路１１４を経由してＤフリップフロップ１０２のＤ入力に至る経路となる。このように経路遅延故障テストの経路が設定された後、経路遅延故障テストのためのテストパターンが実行される。Ｄフリップフロップ１０２のＤ入力には、遅延素子１２１〜１２３、部分経路１１４を経由した信号が到達する。したがって、テストモード４では部分経路１１４のみを対象としたテストが容易に実施できる。
【００３６】
このように、信号ＴＤＥＣ０、ＴＤＥＣ１によって指定される選択回路が１つずつ部分経路１１１〜１１４のうちの１つを選択し、他の選択回路は、遅延が等価な等価遅延素子を経由する経路を選択し、テストが行われる。
【００３７】
以上述べたように、本発明では、入力信号をタイミング信号に基づいて保持する複数のレジスタと所定のレジスタとの間でデータ信号の授受を行う信号伝播経路を有する論理回路において、クリティカルパスが変わらないように経路遅延故障を行うテスト回路を挿入することが可能となる。信号伝播経路は、複数の部分信号伝播経路に分割される。それぞれの部分信号伝播経路（１１１〜１１４）ごとにその部分信号伝播経路と遅延が等価な遅延素子（１２１〜１２４）がその部分信号伝播経路と並列に配される。そして、制御回路（１４０）は、その部分信号伝播経路または遅延素子の出力のいずれかを選択する選択回路（１３１〜１３４）を制御し、テストモードを設定する信号に応答して、経路遅延故障テストの経路を設定する。このようなテスト回路では、経路遅延故障で故障検出の対象となるクリティカルパスに対し、順序回路の追加を必要としない。したがって、クロック配線の変更が無いため、クロック配線の再構築を必要とせず、クロック遅延値は変化しない。クロック遅延が変動しないことにより、テスト回路自身の挿入によるタイミングの厳しいパス、つまりクリティカルパスが変わること無く経路遅延故障を行うテスト回路を挿入することが可能となる。
【００３８】
本発明の第２の実施の形態を説明する。第２の実施の形態では、テスト回路の挿入方法が示される。
【００３９】
図４は、テスト回路の挿入方法を実現するコンピューターシステムの構成を示す図である。図４に示されるように、コンピューターシステムは、ＣＰＵ１２及びメモリ１４を有するコンピューター１０と、入力装置２０と、出力装置３０と、通信装置４２とを備える。
【００４０】
入力装置２０から入力される指示やデータに基づいて、メモリ１４に格納されるプログラムをＣＰＵ１２が実行し、プログラムが実行された結果は出力装置３０に出力される。コンピューター１０は、通信装置４２によってＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク４８を介してサーバー４０に接続される。通信装置４２は、ネットワーク４８を介してサーバー４０から送られてくるプログラムやデータを受信し、バス１６を介してメモリ１４に格納する。また、通信装置４２は、メモリ１４に格納されているプログラムやデータをサーバー４０に送信する。
【００４１】
本実施の形態では、サーバー４０に保持される回路情報データ及びレイアウトデータは、入力装置２０から入力される指示に基づいて、メモリ１４に転送される。コンピューター１０は、図５に示されるように、転送された回路情報データ及びレイアウトデータに基づいてテスト回路挿入処理を実行する。コンピューター１０が処理した結果である回路情報データは、ネットワーク４８を介してサーバー４０に転送される。
【００４２】
図５は、コンピューター１０が処理する経路遅延故障テストのためにテスト回路を挿入する処理の流れを示すフロー図である。
【００４３】
まず、回路情報データ及びレイアウトデータに基づいて、静的タイミング解析（ＳＴＡ：Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）が行われる（ステップＳ１０２）。ＳＴＡの結果は、ＳＴＡ結果Ｒ２０２に格納される。
【００４４】
次にＳＴＡ結果Ｒ２０２を用いて、順序回路（フリップフロップ）間の経路のうち、タイミング余裕度が少ない経路がクリティカルパスとして抽出される（ステップＳ１０４）。抽出されたクリティカルパスの情報は、クリティカルパス抽出データＲ２０４に格納される。
【００４５】
クリティカルパスが抽出されると、クリティカルパス抽出データＲ２０４に基づいて、経路遅延故障をテストするためのテストパターンがテストパターン自動生成プログラム（ＡＴＰＧ：Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）によって生成される（ステップＳ１０６）。ＡＴＰＧの実行によって、クリティカルパス抽出データＲ２０４に格納されているネット毎にテストバターンが生成される。このテストパターンは、入力側、出力側（テスト結果）において、信号が変化するように生成される。ＡＴＰＧにより生成されたテストパターンは、テストパターンＲ２１０に格納される。ここで、出力側の信号が変化するテストパターンが生成できないネットは、未検出ネットとして未検出リストＲ２０６に抽出される。
【００４６】
テストパターンが生成されると、テストパターンＲ２１０を使用して故障シミュレーションが行われる（ステップＳ１０８）。故障シミュレーションにおいてクリティカルパス内で信号が変化しないネットが検出されると、その信号が変化しないネットは、非活性ネットとして抽出され、非活性リストＲ２０８に出力される。
【００４７】
非活性ネットの抽出が終わると、未検出リストＲ２０６、非活性リストＲ２０８に基づいて、テスト回路が挿入される（ステップＳ１１２）。すなわち、未検出リストＲ２０６または非活性リストＲ２０８に含まれるネットに対して、テスト回路を挿入する。テスト回路は、そのネットと並列に挿入されるそのネットの遅延特性に等価な遅延素子と、そのネットの出力と遅延素子の出力とを取り込み一方を選択して出力する選択回路とを備える。
【００４８】
ＡＴＰＧによるテストパターンの生成（ステップＳ１０６）からテスト回路挿入（ステップＳ１１２）までの処理をクリティカルパス抽出データＲ２０４に格納されている各クリティカルパスに対して繰り返す（ステップＳ１１４−Ｎｏ）。すべてのクリティカルパスに対して上記処理が終了すると（ステップＳ１１４−Ｙｅｓ）、テスト回路挿入の処理は完了する。
【００４９】
図６、図７を参照して、テスト回路挿入について具体的に説明する。図６は、テスト回路を挿入する前のクリティカルパスの１つの回路を示し、図７は、テスト回路挿入後の回路を示す。
【００５０】
テスト回路を挿入する前、クリティカルパスを示す回路は、図６に示されるように、始点となるＤフリップフロップ２０１と終点となるＤフリップフロップ２０２との間に、部分経路２１１、ＡＮＤ回路２５１、ＯＲ回路２５２、部分回路２１２を備える。Ｄフリップフロップ２０１の出力は、部分経路２１１に入力される。ＡＮＤ回路２５１は、ネット２５１ａを介して部分経路２１１から入力される信号と、ネット２５１ｂを介して図示されない部分経路から入力される信号とを入力する。ＯＲ回路２５２は、ＡＮＤ回路２５１の出力信号と、ネット２５２ｂを介して図示されない部分経路から入力される信号とを入力する。ＯＲ回路２５２は、ネット２５２ａを介して部分経路２１２に信号を出力する。Ｄフリップフロップ２０２は、部分経路２１２の出力をクロック信号ｃｌｏｃｋに同期して取り込む。
【００５１】
部分経路２１１とＡＮＤ回路２５１とを接続するネット２５１ａは、上記の故障シミュレーション処理（ステップＳ１０８）において、信号が変化しない非活性ネットとして抽出され、非活性リストＲ２０８に登録されたネットである。また、ＯＲ回路２５２と部分経路２１２とを接続するネット２５２ａは、上記のテストパターン自動生成処理（ステップＳ１０６）において、未検出ネットとして抽出され、未検出リストＲ２０６に登録されたネットである。
【００５２】
したがって、テスト回路挿入処理（ステップＳ１１２）において、ネット２５１ａ、２５２ａに対して、テスト回路が挿入される。非活性リストＲ２０８に登録される非活性ネット２５１ａに対しては、図７に示されるように、ネット２５１ａの前段である部分経路２１１を模擬する遅延素子２２１が部分経路２１１と並列になるように配置される。すなわち、Ｄフリップフロップ２０１の出力は、部分経路２１１と遅延素子２２１とに並列に供給される。遅延素子２２１の遅延特性は、部分経路２１１と等価になるように設定される。さらに、遅延素子２２１の出力と部分経路２１１の出力とを取り込み、一方を選択して出力する選択回路２３１が挿入される。選択回路２３１の出力がネット２５１ａに接続され、ＡＮＤ回路２５１に入力される。
【００５３】
未検出リストＲ２０６に登録される未検出ネット２５２ａに対しては、図７に示されるように、ネット２５２ａの後段である部分経路２１２を模擬する遅延素子２２２が部分経路２１２と並列になるように配置される。すなわち、ＯＲ回路２５２の出力は、部分経路２１２と遅延素子２２２とに並列に供給される。遅延素子２２２の遅延特性は、部分経路２１２と等価となるように設定される。さらに、遅延素子２２２の出力と部分経路２１２の出力とを取り込み、一方を選択して出力する選択回路２３１を挿入する。Ｄフリップフロップ２０２には、選択回路２３２の出力が入力される。
【００５４】
さらに、選択回路２３１及び選択回路２３２の信号選択を切り替えるための選択信号を生成する観測領域制御回路２４０が挿入される。観測領域制御回路２４０には、遅延経路故障テストの動作開始を示す信号ＴＥＳＴと、テスト動作モードを指示する信号ＴＤＥＣ０、ＴＤＥＣ１とが入力される。信号ＴＤＥＣ０、ＴＤＥＣ１は、観測領域制御回路２４０において図３に示される真理値表に基づいてデコードされ、選択信号ＤＳＥＬ１、ＤＳＥＬ３が出力される。観測領域制御回路２４０から出力される選択信号ＤＳＥＬ１は選択回路２３１に、選択信号ＤＳＥＬ３は選択回路２３２に接続される。
【００５５】
したがって、テスト回路が挿入されたクリティカルパスには、図７に示されるように、始点のＤフリップフロップ２０１から終点のＤフリップフロップ２０２までの間に順序回路が挿入されることはない。すなわち、始点のＤフリップフロップ２０１のＱ出力は、部分経路２１１の入力と、部分経路２１１と遅延が等価な遅延素子２２１の入力とに接続される。部分経路２１１の出力と遅延素子２２１の出力とは、選択回路２３１の入力に接続される。選択回路２３１の出力は、ＡＮＤ回路２５１の入力に接続される。ＡＮＤ回路２５１の出力は、ＯＲ回路２５２の入力に接続される。ＯＲ回路２５２の出力は、部分経路２１２の入力と、部分経路２１２と遅延が等価な遅延素子２２２の入力とに接続される。部分経路２１２の出力と遅延素子２２２の出力とは、選択回路２３２の入力に接続される。選択回路２３２の出力は、終点のＤフリップフロップ２０２のＤ入力に接続される。観測領域制御回路２４０には、信号ＴＥＳＴ、ＴＤＥＣ０、ＴＤＥＣ１が入力される。観測領域制御回路２４０の出力は、選択回路２３１、２３２の信号選択の切り替え入力に接続される。
【００５６】
このようにテスト回路が挿入されたクリティカルパスにおいて、未検出素子に接続するネット２５２ａを観測するためには、テスト３モードで動作するように、信号ＴＥＳＴ＝“１”、信号ＴＤＥＣ０＝“１”、信号ＴＤＥＣ１＝“０”を観測領域制御回路２４０に与え、選択回路２３２が遅延素子２２２を選択するように動作させる。これにより、ネット２５２ａの観測を阻害している部分経路２１２をバイパスし、終点のＤフリップフロップ２０２はＯＲ回路２５２の出力信号を取り込むことができる。
【００５７】
また、非活性リストＲ２０８のネット２５１ａについては、観測領域制御回路２４０に信号ＴＥＳＴ＝“１”、信号ＴＤＥＣ０＝“０”、信号ＴＤＥＣ１＝“０”が与えられ、テスト１モードで動作させる。選択回路２３１は、遅延素子２２１を選択するように動作し、ネット２５１ａの活性化を阻害している部分経路２１１をバイパスする。始点のＤフリップフロップ２０１の出力信号は、ネット２５１ａに遅延素子２２１を介して送られるため、容易にネット２５１ａの活性化ができる。
【００５８】
以上の動作により、未検出箇所であるネット２５２ａの信号検出と、非活性箇所であるネット２５１ａへの信号の伝達が可能となる。
【００５９】
このように、非活性のネットに対して、非活性のネットの前段側の部分経路と等価な遅延素子を非活性のネットの前段側に配置し、部分経路の出力と遅延素子の出力とのうちの一方を選択する選択回路を挿入する。また、未検出のネットに対して、未検出のネット以降の部分経路と等価な遅延素子と、その部分経路の出力と遅延素子の出力とのうちの一方を選択する選択回路とを未検出のネットの後段側に挿入する。
【００６０】
上記の遅延素子と選択回路の挿入と観測領域制御回路の設定をすることにより、ＡＴＰＧで作成されたテストパターンを、始点のＤフリップフロップから非活性のネットに対して信号伝達を阻害している部分経路をバイパスして伝播させることができる。かつ、未検出ネットの出力信号の変化を、信号伝達を阻害している部分経路をバイパスして終点のＤフリップフロップに伝播させることができる。そのため、容易に遅延故障を実行するためのテストが実現できる。
【００６１】
以上述べたように、本発明のテスト回路では、経路遅延故障で故障検出の対象となるクリティカルパスに対し、クリティカルパス内の部分経路に遅延が等価な遅延回路を並列に接続し、クリティカルパス内の部分経路と遅延が等価な遅延回路を選択して出力する選択回路が挿入される。新たな順序回路が追加されない。したがって、クロック配線の変更が無く、クロック配線の再構築を必要としないため、クロック遅延値は変化しない。このクロック遅延が変動しないことにより、テスト回路の挿入により、タイミングの厳しいパス、つまりクリティカルパスが変動する問題が無い。クリティカルパスに対して、経路遅延故障を行うテスト回路の挿入が容易にできる。
【００６２】
また、本発明のテスト挿入方法では、非活性リストの素子には、容易にテストパターンを与えることができ、未検出リストの素子の出力を容易に後段のＦＦにより観測可能にできる。すなわち、テストが困難な箇所に対しても容易に経路遅延故障テストが行える。
【００６３】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００６４】
１０  コンピューター
１２  ＣＰＵ
１４  メモリ
１６  バス
２０  入力装置
３０  出力装置
４２  通信装置
４８  ネットワーク
４０  サーバー
１０１、１０２  Ｄフリップフロップ
１１１、１１２、１１３、１１４  部分経路
１２１、１２２、１２３、１２４  遅延素子
１３１、１３２、１３３、１３４  選択回路
１４０  観測領域制御回路
２０１、２０２  Ｄフリップフロップ
２１１、２１２  部分経路
２２１、２２２  遅延素子
２３１、２３２  選択回路
２４０  観測領域制御回路
２５１  ＡＮＤ回路
２５１ａ、２５２ａ  ネット
２５２  ＯＲ回路
３００  検査回路
３０１〜３０３  レジスタ
３１０  検査タイミング生成部
３２４、３２５、３２６、３２７、３２８  部分経路
３２９  論理素子（再収斂点）
３６１、３６２  レジスタ
３６３、３６４  遅延素子部
３６３ａ、３６３ｂ  遅延回路
３６３ｃ、３６４ｃ  選択回路
３６４ａ、３６４ｂ  遅延回路
Ｄａ、Ｄｂ１、Ｄｂ２、Ｄｃ、Ｄｄ１、Ｄｄ２  遅延素子
ＳＥＬＡ、ＳＥＬＢ  遅延時間選択信号
【図１】
2011106983.tif 000003
【図２】
2011106983.tif 000004
【図３】
2011106983.tif 000005
【図４】
2011106983.tif 000006
【図５】
2011106983.tif 000007
【図６】
2011106983.tif 000008
【図７】
2011106983.tif 000009