(57)【要約】  故障検出率を維持しつつ、スキャンアウト時のシフトパワーの削減を図ることを可能とする、故障検出システム等を提供することを目的とする。  スキャンテストにより論理回路の故障を検出する故障検出システムであって、複数のフリップフロップと、キャプチャモードにおける最終キャプチャであることを示す最終信号を生成する最終信号生成手段と、論理回路ともフリップフロップとも異なり、一部のフリップフロップに対して、最終信号を受信した場合に論理値を指定する指定手段と、論理回路からキャプチャされたテスト出力であって指定手段が指定した論理値を含むものと、論理回路が故障していない場合のテスト出力であって指定手段が指定した論理値を含むものとを比較することにより故障検出を行う故障検出装置とを備える、故障検出システムである。
2013175998.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテストにより論理回路の故障を検出する故障検出システムであって、
複数のフリップフロップと、
キャプチャモードにおける最終キャプチャであることを示す最終信号を生成する最終信号生成手段と、
前記論理回路とも前記フリップフロップとも異なり、一部の前記フリップフロップに対して、前記最終信号を受信した場合に論理値を指定する指定手段と、
前記論理回路からキャプチャされたテスト出力であって前記指定手段が指定した論理値を含むものと、前記論理回路が故障していない場合のテスト出力であって前記指定手段が指定した論理値を含むものとを比較することにより故障検出を行う故障検出装置とを備える、故障検出システム。
【請求項２】
同一のキャプチャモードにおいて複数回のキャプチャを行うものであり、
前記フリップフロップに接続して、他のフリップフロップを経由せずに論理値を取り出す取出回路と、
前記指定手段が論理値を指定する対象となるフリップフロップを選択する選択手段とをさらに備え、
前記選択手段は、前記取出回路に接続しているフリップフロップから選択する、請求項１記載の故障検出システム。
【請求項３】
前記選択手段は、トグルが集中する箇所のフリップフロップ、スキャンアウト電力に影響の大きいトグルがあるフリップフロップ、又は、前後のフリップフロップのビットの平均値と相違の多い論理値を有するフリップフロップから、優先的に前記論理値を指定する対象となるフリップフロップを選択する、請求項２記載の故障検出システム。
【請求項４】
同一のキャプチャモードにおいて複数回のキャプチャを行うものであり、
前記指定手段が論理値を指定する対象となるフリップフロップを選択する選択手段をさらに備え、
前記選択手段は、最後にキャプチャされた論理値が直前にキャプチャされた論理値と同一であるフリップフロップから選択する、請求項１記載の故障検出システム。
【請求項５】
前記選択手段は、同一スキャンチェーンから複数のフリップフロップを選択する場合には隣接しないフリップフロップから選択し、
前記指定手段は、選択されたフリップフロップに対して、同一スキャンチェーン内で前記選択されたフリップフロップに隣接するフリップフロップの論理値を指定する、請求項４記載の故障検出システム。
【請求項６】
前記指定手段は、前記選択手段に選択されたフリップフロップに対して、０若しくは１の一定の論理値、同一スキャンチェーン内の隣接するフリップフロップが有する論理値、若しくは、同一スキャンチェーン内の２つ前のフリップフロップが有する論理値と同一の論理値を指定し、又は、複数のフリップフロップの論理値を参照して論理値を指定する、請求項２から５のいずれかの請求項に記載の故障検出システム。
【請求項７】
スキャンテストにより論理回路の故障を検出する故障検出システムにおいて、フリップフロップに対して論理値を生成して与える生成回路であって、
前記論理回路ともフリップフロップとも異なるものであり、
キャプチャモードにおける最終キャプチャを行ったフリップフロップに対して論理値を与える、生成回路。
【請求項８】
スキャンテストにより論理回路の故障を検出するために、コンピュータを、
前記論理回路からキャプチャされたテスト出力の一部に前記論理回路とは異なる指定手段が指定した論理値を与えたものと、前記論理回路が故障していない場合のテスト出力の一部に前記指定手段が指定した論理値を与えたものとを比較することにより故障検出を行う故障検出手段として機能させるためのプログラム。
【請求項９】
スキャンテストにより論理回路の故障を検出する故障検出システムにおける故障検出方法であって、
キャプチャモードにおける最終キャプチャの後に、フリップフロップに対して論理値を指定する指定ステップと、
前記論理回路からキャプチャされたテスト出力であって前記指定ステップにおいて指定された論理値を含むものと、前記論理回路が故障していない場合のテスト出力であって前記指定ステップにおいて指定された論理値を含むものとを比較することにより故障検出を行う故障検出ステップとを含む、故障検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障検出システム、生成回路及びプログラムに関し、特に、スキャンテストにより論理回路の故障を検出する故障検出システム等に関する。
【背景技術】
【０００２】
スキャンテスト時の消費電力が増大すると、電源電圧が一時的に低下するＩＲドロップが生じる。このとき、論理回路が誤動作し、誤ったテスト応答値がスキャンフリップフロップに取り込まれることがある。すると、通常時には正常に動作する論理回路がテスト時に不良品と判定されてしまうという誤テストが発生する。その結果、歩留りが低下する。特に、半導体論理回路が超大規模化、超微細化、低電源電圧化した場合、誤テストによる歩留り低下は顕著である。そこで、スキャンテスト時の消費電力を低減することが重要となる。【０００３】
スキャンテストにおける消費電力は、キャプチャモード時の消費電力（キャプチャパワー）とシフトモード時の消費電力（シフトパワー）に大別される。さらに、シフトパワーは、スキャンインに伴うものとスキャンアウトに伴うものに分けられる。本願の発明者等は、このうち、キャプチャパワーの低減（特許文献１参照）及びスキャンインに伴うシフトパワーの低減（特許文献２参照）を可能とする故障検出システムを開発してきた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／０４６６０２号
【特許文献２】特願２０１２−００２２１４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、スキャンイン時のシフトパワーに比べて、スキャンアウト時のシフトパワーが十分に削減されていない。これは、シフトアウト前のテスト出力パターンを変換することがテスト目的に沿わないという意味で困難であることに起因する。【０００６】
例えば特許文献２の技術を用いて、低シフトパワーのテストパターンを生産したとしても、テスト対象回路から出力されたテストパターンはある程度変化している。とはいえ、故障判定がそもそもの目的であって、シフトパワー削減のために出力テストパターンを安易に変換するわけにもいかなかった。【０００７】
そのため、スキャンアウト時のシフトパワーを削減する技術が求められていた。【０００８】
ゆえに、本発明は、故障検出率を維持しつつ、スキャンアウト時のシフトパワーの削減を図ることを可能とする、故障検出システム等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の観点は、スキャンテストにより論理回路の故障を検出する故障検出システムであって、複数のフリップフロップと、キャプチャモードにおける最終キャプチャであることを示す最終信号を生成する最終信号生成手段と、前記論理回路とも前記フリップフロップとも異なり、一部の前記フリップフロップに対して、前記最終信号を受信した場合に論理値を指定する指定手段と、前記論理回路からキャプチャされたテスト出力であって前記指定手段が指定した論理値を含むものと、前記論理回路が故障していない場合のテスト出力であって前記指定手段が指定した論理値を含むものとを比較することにより故障検出を行う故障検出装置とを備える、故障検出システムである。【００１０】
本発明の第２の観点は、第１の観点の故障検出システムであって、同一のキャプチャモードにおいて複数回のキャプチャを行うものであり、前記フリップフロップに接続して、他のフリップフロップを経由せずに論理値を取り出す取出回路と、前記指定手段が論理値を指定する対象となるフリップフロップを選択する選択手段とをさらに備え、前記選択手段は、前記取出回路に接続しているフリップフロップから選択する。【００１１】
本発明の第３の観点は、第２の観点の故障検出システムであって、前記選択手段は、トグルが集中する箇所のフリップフロップ、スキャンアウト電力に影響の大きいトグルがあるフリップフロップ、又は、前後のフリップフロップのビットの平均値と相違の多い論理値を有するフリップフロップから、優先的に前記論理値を指定する対象となるフリップフロップを選択する。【００１２】
本発明の第４の観点は、第１の観点の故障検出システムであって、同一のキャプチャモードにおいて複数回のキャプチャを行うものであり、前記指定手段が論理値を指定する対象となるフリップフロップを選択する選択手段をさらに備え、前記選択手段は、最後にキャプチャされた論理値が直前にキャプチャされた論理値と同一であるフリップフロップから選択する。【００１３】
本発明の第５の観点は、第４の観点の故障検出システムであって、前記選択手段は、同一スキャンチェーンから複数のフリップフロップを選択する場合には隣接しないフリップフロップから選択し、前記指定手段は、選択されたフリップフロップに対して、同一スキャンチェーン内で前記選択されたフリップフロップに隣接するフリップフロップの論理値を指定する。【００１４】
本発明の第６の観点は、第２から第５のいずれかの観点の故障検出システムであって、前記指定手段は、前記選択手段に選択されたフリップフロップに対して、０若しくは１の一定の論理値、同一スキャンチェーン内の隣接するフリップフロップが有する論理値、若しくは、同一スキャンチェーン内の２つ前のフリップフロップが有する論理値と同一の論理値を指定し、又は、複数のフリップフロップの論理値を参照して論理値を指定する。【００１５】
本発明の第７の観点は、スキャンテストにより論理回路の故障を検出する故障検出システムにおいて、フリップフロップに対して論理値を生成して与える生成回路であって、前記論理回路ともフリップフロップとも異なるものであり、キャプチャモードにおける最終キャプチャを行ったフリップフロップに対して論理値を与える、生成回路である。【００１６】
本発明の第８の観点は、スキャンテストにより論理回路の故障を検出するために、コンピュータを、前記論理回路からキャプチャされたテスト出力の一部に前記論理回路とは異なる指定手段が指定した論理値を与えたものと、前記論理回路が故障していない場合のテスト出力の一部に前記指定手段が指定した論理値を与えたものとを比較することにより故障検出を行う故障検出手段として機能させるためのプログラムである。【００１７】
本発明の第９の観点は、スキャンテストにより論理回路の故障を検出する故障検出システムにおける故障検出方法であって、キャプチャモードにおける最終キャプチャの後に、フリップフロップに対して論理値を指定する指定ステップと、前記論理回路からキャプチャされたテスト出力であって前記指定ステップにおいて指定された論理値を含むものと、前記論理回路が故障していない場合のテスト出力であって前記指定ステップにおいて指定された論理値を含むものとを比較することにより故障検出を行う故障検出ステップとを含む、故障検出方法である。【００１８】
なお、指定手段は、フリップフロップ（ＦＦ）が有するものであってもよいし、ＦＦの外部に存在してもよい。【００１９】
また、選択手段は、スキャンチェーンのスキャンイン側のＦＦを優先的に選択してもよい。これにより、シフトパワーをさらに効率よく削減することが可能となる。
【発明の効果】
【００２０】
本発明の各観点によれば、キャプチャモードで最終的にＦＦにキャプチャされた出力論理値（テスト出力）に対して、新たな論理値を与えた上で故障検出を行うことが可能となる。そのため、新たな論理値を与えるべきＦＦ及び論理値を適宜選択することにより、故障検出率を維持させつつスキャンアウト時のシフトパワーの削減を図ることが可能となる。【００２１】
ここで、通常のスキャンテストであれば、故障判定対象である論理回路からのテスト出力を故障判定前に変更することは考えられない。本願の着眼の独創性は、「一定の条件を満たすＦＦについては、キャプチャした論理値をシフトアウトする前に論理値を変更したとしても故障検出率を維持できる」との知見に基づいて、故障判定前にＦＦの論理値を変更し、スキャンアウト時のシフトパワーを削減する点にある。【００２２】
本発明の第２の観点によれば、取出回路に接続されたＦＦは、同一のキャプチャモードにおいて複数回の故障判定が行われる。そのため、取出回路に接続されたＦＦがキャプチャモードで最終的にキャプチャする論理値を改めてシフトアウトせずともよい。よって、取出回路に接続されたＦＦに新たな論理値を与えることにより、故障検出率を維持しつつシフトパワーの削減を図ることが容易となる。【００２３】
本発明の第３の観点によれば、顕著なシフトパワー削減の効果が得られる。【００２４】
本発明の第４の観点によれば、最後の２回で同じ論理値をキャプチャするＦＦに新たな論理値を与えることによりシフトパワーを削減することが可能となる。発明者らによる実験結果を後述するとおり、最後の２回に同じ論理値をキャプチャするＦＦは遷移遅延故障の故障検出率に寄与しない確率が高いからである。このため、遷移遅延故障の故障検出率を維持しつつシフトパワーの削減を図ることが容易となる。【００２５】
本発明の第５の観点によれば、シフトパワーを削減する確率の高い論理値を与えることが可能となる。【００２６】
本発明の第６の観点によれば、指定手段が、同一スキャンチェーン内で隣接するＦＦに同一の論理値を与えることにより、シフトパワーを削減することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本願発明の実施例に係る故障検出システム１の概要を示すブロック図である。
【図２】リセット入力によりスキャンフリップフロップに論理値０を与える回路構成を例示する図である。
【図３】シミュレーションにより期待値を生成する手順の例を示すフロー図である。
【図４】マルチプレクサによりスキャンフリップフロップに所定の論理値を与える回路構成を例示する図である。
【図５】セット／リセット入力により隣接するＦＦの論理値を与える回路構成を例示する図である。
【図６】隣接するＳＦＦと論理値が異なる場合に、セット／リセット入力により隣接するＳＦＦの論理値を与える回路構成を例示する図である。
【図７】隣接するＳＦＦと論理値が異なる場合に、マルチプレクサにより隣接するＳＦＦの論理値を与える回路構成を例示する図である。
【図８】オーバーヘッド増加率を示すグラフである。
【発明を実施するための形態】
【００２８】
以下、図面を参照して、本願発明の実施例について述べる。なお、本願発明の実施の形態は、以下の実施例に限定されるものではない。
【実施例１】
【００２９】
図１は、本願発明の実施例に係る故障検出システム１の概要を示すブロック図である。以下、図１の故障検出システム１の概要を説明する。【００３０】
故障検出システム１（本願請求項の「故障検出システム」の一例）は、スキャンテストにより組合せ回路部３（本願請求項の「論理回路」の一例）の故障を検出するものである。故障検出システム１は、組合せ回路部３から出力される論理値をキャプチャする保持回路部５と、保持回路部５に論理値をシフトインするシフトイン部７と、保持回路部５に対して最終キャプチャ後に論理値を指定する論理値指定部９（本願請求項の「指定手段」の一例）と、保持回路部５が保持した論理値を観測する観測部１１と、観測部が観測した論理値に基づいて故障検出を行う故障検出装置１３（本願請求項の「故障検出装置」の一例）とを備える。保持回路部５は、複数のフリップフロップ（ＦＦ）６ｎ（ｎは、２以上の自然数）（本願請求項の「フリップフロップ」の一例）を有する。複数のＦＦ６ｎは、１つ又は複数のスキャンチェーンを形成する。ここで、一部のＦＦには、他のＦＦを経由せずに論理値を取り出す取出回路１０（本願請求項の「取出回路」の一例）に接続されている。【００３１】
論理値指定部９は、論理値を指定する対象となるＦＦ又はスキャンフリップフロップ（ＳＦＦ）を選択する選択部１５（本願請求項の「選択手段」の一例）と、選択されたＦＦ又はＳＦＦに指定する論理値を決定する論理値決定部１７と、キャプチャモードにおける最終キャプチャであることを示す最終信号を生成する最終信号生成部１９（本願請求項の「最終信号生成手段」の一例）とを有する。【００３２】
観測部１１は、キャプチャモードにおいて取出回路１０が取り出した論理値を観測するキャプチャモード観測部２１と、シフトモードにおいてシフトアウトされた論理値を観測するシフトモード観測部２３とを有する。故障検出装置１３は、組合せ回路部３が正常である場合に出力されることが期待される論理値である期待値を算出するシミュレーション部２５と、シミュレーション部２５が算出した期待値と観測部１１が観測した値とを比較する比較部２７と、比較部２７の比較結果に基づいて故障判定を行う故障判定部２９とを有する。【００３３】
論理値指定部９は、故障検出率を維持しつつシフトパワーの削減を図るために、適切なＳＦＦに対して適切な論理値を指定する必要がある。ここでの基本的な考え方は、故障検出率の向上に寄与しないＳＦＦに対して、スキャンチェーン内で隣接するＳＦＦと同じ論理値を与えるというものである。【００３４】
選択部１５は、取出回路１０に接続されて中間取出が行われるＳＦＦから選択する。中間取出を行ったＳＦＦは、すでに故障検出に寄与しており、最終キャプチャ時に論理値を変更しても差し支えないからである。ただし、後に述べるルールに従って他のＳＦＦを選択する方法を適用してもよい。【００３５】
また、選択部１５は、最後の２回で同じ論理値をキャプチャするＳＦＦに新たな論理値を与えることによりシフトパワーを削減することが可能となる。最後の２回に同じ論理値をキャプチャするＦＦは、多くのパターンに対して値が変化しないＦＦである可能性があり、確率的に故障検出の可能性は低いと考えられる。その結果、遷移遅延故障の故障検出率に寄与しない確率が高いからである。このようなＦＦが多数あることを以下に示す。【００３６】
表１は、テスト対象の論理回路ごとにキャプチャする論理値がほとんど変化しないＦＦの割合を示したものである。テスト対象回路は、ＩＴＣ９９ベンチマーク回路であるｂ１４ｓ、ｂ１５ｓ、ｂ２０ｓ、ｂ２１ｓ及びｂ２２ｓとした。実に半数近くのＦＦは、３万のテスト入力パターンに対して、最終キャプチャ時に論理値が反転する割合が１％以下であった。【００３７】
【表１】
2013175998.tif 000003
【００３８】
また、本願の発明者らは、このようなＦＦの論理値を変換しても、故障検出率はほとんど低下しないことを確認した。表２は、表１において縮退故障検出率及び遷移故障検出率についての、故障検出率の変化例を示す表である。なお、全ＦＦのうち、取出回路１０に接続されたＦＦ２０％、最後の２回に同じ論理値をキャプチャするＦＦ２０％の合わせて４０％のＦＦについて論理値を指定した。【００３９】
全ての回路について、故障検出率が維持されているか、０．１％未満しか低減していない。すなわち、ＦＦを適切に選択することにより、故障検出率の維持とスキャンキャプチャ時のシフトパワーの削減の両立を図ることが可能であることが示されている。【００４０】
【表２】
2013175998.tif 000004
【００４１】
以下、ＳＦＦに対して指定した論理値を与える回路構成例を複数挙げて説明する。まず、選択されたＳＦＦに一定の論理値を与える回路構成例を説明する。なお、本実施例では、設計時に全部又は一部のＳＦＦに付随して論理値指定部９の回路が作製される。その上で、実際のテスト時に、回路が接続されたＳＦＦの中から論理値を指定するＳＦＦを選択部１５が選択する。しかし、１つのＳＦＦごとに論理値指定部９の回路を付属して作製する代わりに、複数のＳＦＦに対して１つの論理値指定部９の回路を作製することとしてもよい。【００４２】
図２は、本実施例における論理値指定部９と、選択部１５により選択されたＳＦＦ３１との回路構成を示す図である。ここでは、ＳＦＦ３１のＦＦ３３が有するリセット入力（Reset）を利用してＳＦＦに論理値０を与える回路構成（本願請求項の「生成回路」の一例）を例示する。【００４３】
通常のＳＦＦ同様、ＦＦ３３は、組合せ回路部３からの出力信号線（DI）とスキャンイン信号線（SI）とを入力ストリームとすると共にスキャンイネーブル信号線（SE）を選択制御入力とするマルチプレクサ３５の出力ストリームに接続されている。また、ＳＦＦ３１には、最終信号（LC）とクロック信号（CLK）とを入力とするＮＡＮＤゲート３７がリセット端子に接続されている。リセット端子に○が付いているのは、Ｌｏｗアクティブでの接続を意味する。すなわち、０の信号入力時にリセットが有効となり、０が出力される。ＳＦＦ３１は、出力としてデータ出力線（DO）とスキャンアウト信号線（SO）を有する。【００４４】
スキャンキャプチャモードにおいて、ＮＡＮＤゲート３７に接続する最終信号線の値が０であれば、リセット入力が１で無効となり、ＳＦＦは、DIの値を出力する。一方、最終信号線の値が１（最終キャプチャ時）となれば、リセット入力が０となり、ＳＦＦ３１は０を出力する。これにより、ＳＦＦ３１が最終キャプチャでキャプチャした論理値によらず、最終キャプチャ後のＳＦＦ３１に論理値０を指定して出力させることが可能となる。シフトパワーは、シフトモードにおいてスキャンチェーン内で隣接するＳＦＦ間の論理値が異なる場合に増大する。したがって、隣接するＳＦＦの論理値が０であれば、最終キャプチャ後にＳＦＦ３１に論理値０を与えることにより、シフトパワーの低減を図ることが可能となる。【００４５】
ここで、論理値指定部９は、ＦＦ３３のリセット入力を用いて論理値０を指定する代わりに、セット入力を同様に用いて論理値１を指定することとしてもよい。【００４６】
続いて、図３を参照して、最終キャプチャ後に論理値を与える場合における、故障検出のための期待値生成について述べる。図３は、シミュレーション部２５がシミュレーションにより期待値を生成する手順の例を示すフロー図である。【００４７】
まず、選択部１５が論理値を指定すべきＳＦＦを選択し、論理値指定部９と接続する（ステップＳＴ００１）。続いて、期待値を生成すべき最初のテストパターンを選択する（ステップＳＴ００２）。シミュレーション部２５が、選択されたテストパターンに対して組合せ回路部３からキャプチャされる論理値を算出する（ステップＳＴ００３）。最終キャプチャとなるまで、キャプチャが繰り返される。最終信号生成部１９は、最終キャプチャの１つ前のキャプチャが終了後、最終キャプチャ前に、最終信号を生成する（ステップＳＴ００４）。【００４８】
最終信号が生成されると、論理値決定部１７が、選択されたＳＦＦごとに指定すべき論理値を決定する。続いて、論理値指定部９が、選択されたＳＦＦに決定された論理値を指定する（ステップＳＴ００５）。全てのＳＦＦについて処理が行われると、選択されたテストパターンについての期待値が決定される（ステップＳＴ００６）。インクリメントが行われ（ステップＳＴ００７）、未処理のテストパターンの有無が判定される（ステップＳＴ００８）。未処理のテストパターンがあれば、全てのテストパターンについて処理がされるまで、ステップＳＴ００３からＳＴ００８が繰り返される。【００４９】
比較部２７は、図３のフローにより生成された期待値と、観測部１１が観測した論理値とを比較する。故障判定部２９は、比較結果に基づいて故障判定を行う。
【実施例２】
【００５０】
以下、ＳＦＦに指定した論理値を与える回路構成例を複数説明する。本実施例では、マルチプレクサを用いる回路構成例について説明する。【００５１】
図４を参照して、選択部が選択したＳＦＦ３９は、組合せ回路部３からの出力信号線及び論理値０を与える信号線を入力ストリームとすると共に最終信号を選択制御入力とするマルチプレクサ４１の出力ストリームに接続されている。【００５２】
キャプチャモードにおいて、最終信号線の値が０であれば、マルチプレクサ４１は、DIの値をＳＦＦ３９に与える。最終信号線の値が１（最終キャプチャ時）となれば、最終信号線の値が１となり、論理値０がＳＦＦ３９に与えられる。【００５３】
なお、マルチプレクサ４１を介して、論理値０の代わりに論理値１をＳＦＦ３９に与えることとしてもよい。
【実施例３】
【００５４】
続いて、スキャンチェーン内で隣接するＳＦＦの論理値を与える回路構成について述べる。図５において、選択されたＳＦＦ４３のセット端子（SET）には、ＮＡＮＤゲート４７の出力線がＬｏｗアクティブで接続されている。ＮＡＮＤゲート４７は、隣接するＳＦＦ４５のキャプチャ出力信号線と最終信号線とクロック信号線とを入力とする。また、ＳＦＦ４３のリセット端子にも、ＮＡＮＤゲート４９の出力線がＬｏｗアクティブで接続されている。ＮＡＮＤゲート４９は、隣接するＳＦＦ４５のキャプチャ出力信号線の否定と最終信号線とクロック信号線とを入力とする。【００５５】
キャプチャモードで最終信号が与えられた場合において、隣接するＳＦＦ４５がキャプチャする論理値が１のとき、ＳＦＦ４３のセット入力は０で、リセット入力は１となる。そのため、Ｌｏｗアクティブのセットが有効化され、ＳＦＦ４３は１を出力する。一方、隣接するＳＦＦ４５がキャプチャする論理値が０のとき、ＳＦＦ４３のセット入力は１で、リセット入力は０となる。そのため、リセットが有効化され、ＳＦＦ４３は０を出力する。【００５６】
結果として、最終信号が与えられると、ＳＦＦ４３は常に隣接するＳＦＦ４５と同じ論理値を保持する。そのため、スキャンアウト時のシフトパワーの削減を図ることが可能となる。【００５７】
なお、図４において、マルチプレクサ４１の入力ストリームのうち論理値０を与えるとした信号線をスキャンチェーン内で隣接するＳＦＦのキャプチャ入力信号線と接続してもよい。このようにしても、最終信号が与えられると、隣接するＳＦＦと同じ論理値をＳＦＦ３９に保持させることが可能となる。
【実施例４】
【００５８】
次に、キャプチャモードにおいてＳＦＦがキャプチャした最後の２回の論理値が同じ場合にのみ、隣接するＳＦＦの論理値を与える回路構成について説明する。【００５９】
図６を参照して、選択されたＳＦＦ５１のリセット端子には、ＮＡＮＤゲート５５の出力が接続されている。ＮＡＮＤゲート５５は、スキャンチェーン内で隣接するＳＦＦ５３のキャプチャ出力信号線の否定と最終信号線とクロック信号線と一致回路５７の出力信号線の否定とを入力とする。一致回路（ＸＮＯＲゲート）５７は、ＳＦＦ５１のDI及びDOを入力とする。【００６０】
最終信号線、クロック信号線の値が１であり、ＳＦＦ５１のDI及びDOの値が等しければ、かつ、隣接するＳＦＦ５３がキャプチャする論理値DIの値が０であれば、ＳＦＦ５１のリセット入力に０が与えられ、ＳＦＦ５１は０を出力する。【００６１】
同様に、ＳＦＦ５１のセット入力にも、ＮＡＮＤゲート５８の出力が接続されている。ＮＡＮＤゲート５８は、隣接するＳＦＦ５３のキャプチャ出力信号線と最終信号線とクロック信号線と一致回路５７の出力信号線とを入力とする。隣接するＳＦＦ５３がキャプチャする論理値DIの値が１であるときに限り、ＳＦＦ５１のセット入力に０を与え、ＳＦＦ５１に１を出力させる。【００６２】
既述のとおり、最後の２回のキャプチャにおいて同じ論理値をキャプチャするＳＦＦは、故障検出率の向上に寄与しない確率が高い。本実施例の回路によれば、隣接するＳＦＦ５３と同じ論理値をＳＦＦ５１にキャプチャさせることで、スキャンアウト時のシフトパワーを削減する確率の高い論理値を与えることが可能となる。
【実施例５】
【００６３】
さらに、図７を参照して、マルチプレクサを用いて、セット／リセット入力を利用せずに実施例４と同じ結果を得る回路を例示する。【００６４】
ＳＦＦ５９は、マルチプレクサ６３の出力ストリームを入力とする。マルチプレクサ６３は、組合せ回路部３からの出力信号線と隣接するＳＦＦ６１のキャプチャ出力信号線とを入力ストリームとすると共にＡＮＤゲート６５の出力を選択制御入力とする。ＡＮＤゲート６５は、最終信号線と、一致回路６７の出力線とを入力とする。一致回路６７は、ＳＦＦ５９のDI及びDOを入力とする。【００６５】
最終信号線の値が０（最終キャプチャ時以外）であれば、ＳＦＦ５９は、組合せ回路部３からの出力をそのままキャプチャする。最終信号線の値が１（最終キャプチャ時）であっても、ＳＦＦ５９のDI及びDOの論理値が異なれば、ＳＦＦ５９は、組合せ回路部３からの出力をそのままキャプチャする。一方、最終キャプチャ時であって、ＳＦＦ５９のDI及びDOの値が等しい場合、ＳＦＦ５９は、隣接するＳＦＦ６１のキャプチャする値をキャプチャする。
【実施例６】
【００６６】
続いて、選択部がＳＦＦを選択して論理値決定部が論理値を決定する際のルールについて述べる。すでに、中間取出をおこなうＳＦＦから選択することが好ましいことは述べた。例えば、他にも以下のルールを適用することでスキャンアウト時のシフトパワーを効果的に削減することが可能となる。【００６７】
＜ルール１＞
スキャンイン側に近いＳＦＦを優先的に選択する。【００６８】
スキャンイン側に近いＳＦＦ間で隣接する論理値を一致させる方が、スキャンアウト側に近いＳＦＦ間で論理値を一致させるよりも多いスキャン数後にもシフトパワー削減の効果が得られるからである。【００６９】
＜ルール２＞
１つ前のＳＦＦの値を指定する場合は、隣接するＳＦＦ同士を選択しない。【００７０】
例えば、スキャンチェーン内で隣接する４つのＳＦＦ（ＳＦＦ１〜ＳＦＦ４）が最終キャプチャにおいてキャプチャした論理値が、１０１０であったとする。仮に選択部がＳＦＦ２〜４を選択して、最終キャプチャ後に隣接するＳＦＦの論理値を与えるとすると、ＳＦＦ２〜４が最終的に保持する論理値は、ＳＦＦ１、２及び３がキャプチャした論理値をそれぞれ反映して１０１となる。反転が残り、シフトパワーを削減することが出来ない。【００７１】
そこで、隣接するＳＦＦの全てを選択するのではなく、例えば１つおきに選択する。上記の例では、ＳＦＦ２及びＳＦＦ４のみを選択する。すると、ＳＦＦ２〜４が最終的に保持する論理値は、ＳＦＦ１、３、３がキャプチャした論理値をそれぞれ反映して１１１となる。こうして、反転を解消してシフトパワーを削減可能となる。【００７２】
＜ルール３＞
１つ前のＳＦＦの値を指定する場合において、１つ前に隣接するＳＦＦも選択されているときは、２つ前のＳＦＦの論理値を指定する。【００７３】
本来、ルール２にあるように、隣接するＳＦＦ同士を選択しない方がシフトパワー削減上は好ましい。しかし、設計上、論理値が変わりやすい領域があり、そのような領域のＳＦＦについて集中的に中間取出を行う場合がある。すると、隣接するＳＦＦが選択部によって選択される場合があり、ルール３が有用となる。【００７４】
例えば、隣接する３つのＳＦＦ（ＳＦＦ５、ＳＦＦ６、ＳＦＦ７）が最終キャプチャにおいてキャプチャした論理値が、０１０であったとする。このうち、ＳＦＦ６及びＳＦＦ７を選択部が選択しているとする。ルール３によれば、ＳＦＦ６が最終的に保持する論理値として、１つ前に隣接するＳＦＦ５の論理値０が指定される。また、１つ前に隣接するＳＦＦ６も選択されていることから、ＳＦＦ７が最終的に保持する論理値は２つ前のＳＦＦ５の論理値０が指定される。最終的に、ＳＦＦ５〜７が保持する論理値は、０００となり、シフトパワーを削減することが可能となる。【００７５】
なお、上記では、論理値決定部は、１つのＳＦＦが保持する論理値を、指定する論理値として決定した。他の手法として、選択されたＳＦＦの前に存在する複数のＳＦＦが保持する論理値を参照して、指定する論理値を決定してもよい。【００７６】
また、取出回路１０に接続されたＳＦＦを選択することと、ルール１〜３は、同時に適用してもよいし、同時に適用しなくともよい。
【実施例７】
【００７７】
以下、本発明に係る故障検出システムを用いた場合のスキャンアウト時のシフトパワーの削減効果を示す実験結果について述べる。テスト対象回路は、ＩＳＣＡＳ８９ベンチマーク回路であるｓ３８４１７、ｓ３８５８４及びｓ３５９３２と、ＩＴＣ９９ベンチマーク回路であるｂ１４ｓ、ｂ１５ｓ、ｂ２０ｓ、ｂ２１ｓ及びｂ２２ｓとした。【００７８】
表３に、スキャンイン時及びスキャンアウト時のＳＦＦのトグル率を示す。トグル率は、スキャンシフトモードにおけるフリップフロップの反転割合を示す。ＦＦの反転が多いほどシフトパワーが増大するため、トグル率を低下させることは、シフトパワーの低減に直結する。テスト対象回路は、ｓ３８４１７、ｓ３８５８４、ｓ３５９３２、ｂ１４ｓ、ｂ１５ｓ、ｂ１７ｓ、ｂ２０ｓ、ｂ２１ｓ及びｂ２２ｓとした。また、比較対照手法として、特許文献１及び特許文献２のみのテスト手法を用いた。表２内の「固定値」及び「隣接値」の欄の数値は、特許文献１及び特許文献２のテスト手法を用いた上で、それぞれ固定値又は隣接するＳＦＦの論理値を与えた場合のトグル率を示す。マルチキャプチャ（同一のキャプチャモードにおける複数回のキャプチャ）の方式として、１つのキャプチャモードにおける最初の１０回はクロック間隔を緩くして観測せず、その後の１０回のクロック間隔を狭くして観測を行った。中間観測を行うＳＦＦは、全体の２０％とした。なお、ＳＦＦの選択は、ランダムとした。【００７９】
【表３】
2013175998.tif 000005
【００８０】
スキャンイン時のシフトパワーは、いずれの手法を用いても同じ値で低く抑えられている。一方、スキャンアウト時のシフトパワーは、選択されたＳＦＦに固定値を与える手法を用いることで、平均して０．７％程度削減された。また、隣接するＳＦＦの論理値を与える手法を用いると、１〜４％程度削減され、平均して約３％削減された。【００８１】
なお、上記の実験では、中間取出を行うＦＦのみを選択対象とした。そのため、最後の２回のキャプチャで論理値が反転しないＦＦをも選択対象とすることにより、さらなる削減効果が期待される。【００８２】
また、半導体論理回路が超大規模化、超微細化、低電源電圧化しており、ＳＦＦのトグル率の１％低減だけでも効果が大きい点に留意すべきである。従来の手法では、スキャンイン段階でのシフトパワー削減策で間接的にスキャンアウト時のシフトパワーを削減する以上に削減することが困難であった。したがって、本発明に係る故障検出システム等を用いることにより、スキャンアウト時のシフトパワーを効果的に削減する意義は大きいといえる。
【実施例８】
【００８３】
さらに、中間取出を行うＦＦを選択する際に故障検出率に加えてシフトパワー削減をも考慮して選択した場合の、本発明に係る故障検出システムを用いた実験結果について述べる。具体的には、３つの選択基準を用いてシフトパワー削減を考慮した。【００８４】
基準１：＜トグル密度＞
中間取出を行うＦＦとして、トグルが集中する箇所のＦＦを優先的に選択する。【００８５】
基準２：＜トグル密度分解＞
中間取出を行うＦＦとして、スキャンアウト電力に影響の大きいトグルがあるＦＦを優先的に選択する。【００８６】
基準３：＜移動平均＞
前後のＦＦのビットの平均値（移動平均値）とＦＦの値を比較し、中間取出を行うＦＦとして、移動平均値と相違の多い論理値を有するＦＦを優先的に選択する。【００８７】
表４に、スキャンイン時及びスキャンアウト時のＳＦＦのトグル率を示す。ここで、「固定」は固定値を指定した場合のトグル率、「隣接」は１つ又は２つ隣の値を指定した場合のトグル率、「Hybrid」は選択されたＦＦの並びに応じて固定と隣接を使い分けるハイブリッド制御を行った場合のトグル率をそれぞれ示す。【００８８】
基準１から３のいずれの場合においてもスキャンアウト時のシフトパワーが表３に比べて、確実に削減されており、回路によっては１０％以上もシフトパワーが削減された。また、いずれの基準でも、ハイブリッド制御の場合、固定値を指定した場合、隣接値の場合の順に削減効果が高かった。特に、ハイブリッド制御を行う場合、シフトイン時のシフトパワーとシフトアウト時のシフトパワーが２％も変わらないほどまでシフトパワーの削減が可能となった。なお、値を指定するＦＦを適切に選択することにより、表４の場合の故障検出率は、表３の場合の故障検出率をほぼ維持することも可能であった。【００８９】
【表４】
2013175998.tif 000006
【００９０】
続いて、上記の顕著な効果が見られた本発明に係る故障検出システムのオーバーヘッド増加率について述べる。図８は、オーバーヘッド増加率を示すグラフである。固定値を指定する場合は、ほぼ全てのオーバーヘッドがマルチキャプチャに由来する。一方、隣接値を指定する場合は、さらに約１．４％だけオーバーヘッドが増加した。ハイブリッド制御の場合、固定値を指定するＦＦの割合を７５％以上とすることで、オーバーヘッド率を固定値指定の場合とほぼ変わらないレベルに抑えることが可能であった。特に、基準１において、固定値を指定するＦＦの割合を約９５％以上とすることで、オーバーヘッド率は、固定値指定の場合よりも０．０４％のみ増加するにとどまった。【００９１】
なお、選択部１５は、最後の２回のキャプチャでキャプチャする論理値が反転しないＦＦから選択するにあたり、シミュレーション部が行うシミュレーションにより故障検出率に及ぶ影響が小さいことが判明したＦＦを選択してもよい。また、反転しない論理値が０か１かをシミュレーションで確認し、ＦＦを選択してもよい。
【符号の説明】
【００９２】
１・・・故障検出システム、３・・・組合せ回路部、５・・・保持回路部、６・・・フリップフロップ、７・・・シフトイン部、９・・・論理値指定部、１１・・・観測部、１３・・・故障検出装置、１５・・・選択部、１７・・・論理値決定部、１９・・・最終信号生成部、２１・・・キャプチャモード観測部、２３・・・シフトモード観測部、２５・・・シミュレーション部、２７・・・比較部、２９・・・故障判定部
【図１】
2013175998.tif 000007
【図２】
2013175998.tif 000008
【図３】
2013175998.tif 000009
【図４】
2013175998.tif 000010
【図５】
2013175998.tif 000011
【図６】
2013175998.tif 000012
【図７】
2013175998.tif 000013
【図８】
2013175998.tif 000014
【手続補正書】
【提出日】平成26年3月13日(2014.3.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スキャンテストにより論理回路の故障を検出する故障検出システムであって、
同一のキャプチャモードにおいて複数回のキャプチャを行うものであり、
複数のフリップフロップと、
前記同一のキャプチャモードにおける最終キャプチャであることを示す最終信号を生成する最終信号生成手段と、
前記論理回路とも前記フリップフロップとも異なり、一部の前記フリップフロップに対して、前記最終信号を受信した場合にシフトパワーを削減する論理値を指定して故障判定前に当該フリップフロップの論理値を変更する指定手段と、
前記指定手段が指定する論理値を決定する論理値決定手段と、
前記論理回路からキャプチャされたテスト出力であって前記指定手段が指定した論理値を含むものと、前記論理回路が故障していない場合のテスト出力であって前記指定手段が指定した論理値を含むものとを比較することにより故障検出を行う故障検出装置とを備え、
前記最終信号は、前記キャプチャモードにおける前記最終キャプチャの１つ前のキャプチャが終了後に生成される、故障検出システム。
【請求項２】
前記フリップフロップに接続して、他のフリップフロップを経由せずに論理値を取り出す取出回路と、
前記指定手段が論理値を指定する対象となるフリップフロップを選択する選択手段とをさらに備え、
前記選択手段は、前記取出回路に接続しているフリップフロップからのみ前記論理値を指定する対象となるフリップフロップを選択することにより故障検出率を維持しつつシフトパワーの削減を図る、請求項１記載の故障検出システム。
【請求項３】
前記選択手段は、トグルが集中する箇所のフリップフロップ、スキャンアウト電力に影響の大きいトグルがあるフリップフロップ、又は、前後のフリップフロップのビットの平均値と相違の多い論理値を有するフリップフロップから、優先的に前記論理値を指定する対象となるフリップフロップを選択する、請求項２記載の故障検出システム。
【請求項４】
前記指定手段が論理値を指定する対象となるフリップフロップを選択する選択手段をさらに備え、
前記選択手段は、最後にキャプチャされた論理値が直前にキャプチャされた論理値と同一であるフリップフロップからのみ前記論理値を指定する対象となるフリップフロップを選択することにより故障検出率を維持しつつシフトパワーの削減を図る、請求項１記載の故障検出システム。
【請求項５】
前記選択手段は、同一スキャンチェーンから複数のフリップフロップを選択する場合には隣接しないフリップフロップから選択し、
前記指定手段は、選択されたフリップフロップに対して、同一スキャンチェーン内で前記選択されたフリップフロップに隣接するフリップフロップの論理値を指定する、請求項４記載の故障検出システム。
【請求項６】
前記指定手段は、前記選択手段に選択されたフリップフロップに対して、０若しくは１の一定の論理値、同一スキャンチェーン内の隣接するフリップフロップが有する論理値、若しくは、同一スキャンチェーン内の２つ前のフリップフロップが有する論理値と同一の論理値を指定し、又は、複数のフリップフロップの論理値を参照して論理値を指定する、請求項２から５のいずれかの請求項に記載の故障検出システム。
【請求項７】
スキャンテストにより論理回路の故障を検出する故障検出システムにおいて、フリップフロップに対して論理値を生成して与える生成回路であって、
前記故障検出システムは、同一のキャプチャモードにおいて複数回のキャプチャを行うものであり、
前記論理回路ともフリップフロップとも異なるものであり、
キャプチャモードにおける最終キャプチャを行ったフリップフロップに対してシフトパワーを削減する論理値を与えて故障判定前に当該フリップフロップの論理値を変更する指定手段と、
前記指定手段が指定する論理値を決定する論理値決定手段とを備える、生成回路。
【請求項８】
スキャンテストにより論理回路の故障を検出する故障検出システムにおける故障検出方法であって、
前記故障検出システムは、同一のキャプチャモードにおいて複数回のキャプチャを行うものであり、
前記同一のキャプチャモードにおける最終キャプチャであることを示す最終信号を、前記最終キャプチャの１つ前のキャプチャが終了後に生成する最終信号生成ステップと、
フリップフロップごとにシフトパワーを削減する論理値を決定する論理値決定ステップと、
フリップフロップに対して前記論理値決定ステップで決定された論理値を指定して故障判定前に当該フリップフロップの論理値を変更する指定ステップと、
前記論理回路からキャプチャされたテスト出力であって前記指定ステップにおいて指定された論理値を含むものと、前記論理回路が故障していない場合のテスト出力であって前記指定ステップにおいて指定された論理値を含むものとを比較することにより故障検出を行う故障検出ステップとを含む、故障検出方法。
【請求項９】
コンピュータに請求項８記載の故障検出方法を実行させるためのプログラム。
【国際調査報告】
2013175998.tif 000015
2013175998.tif 000016