(57)【要約】【課題】     半導体集積回路の検査において遅延故障検出の容易化を図る。【解決手段】ゲート１０１〜１１２の中から非インバータ系のゲート１０１〜１０３，１０６，１０８，１１０〜１１２を抽出する。抽出したゲートを出力段の論理を反転したゲート１０１−１〜１０３−１，１０６−１，１０８−１，１１０−１〜１１２−１に置換する。置換したゲートの後段にインバータ１０１−２〜１０３−２，１０６−２，１０８−２，１１０−２〜１１２−２を付加する。データフリップフロップ２０１〜２０４は反転出力ＱＮを後段のＳＩ端子に接続する。このようにして回路内部の伝搬信号のトグル率を向上させる。状態遷移の頻度が高まるので遅延故障検出が容易になる。【選択図】    図２
2006208077.tif 000002
【特許請求の範囲】
【請求項１】
非インバータ系ゲートを出力段の論理が反転したインバータ系ゲートに置換すると共に該インバータ系ゲートの後段にインバータを付加してなる論理回路を実装したことを特徴とする半導体集積回路。
【請求項２】
スキャンフリップフロップを複数段接続してなるスキャンチェーン回路であって、前段のスキャンフリップフロップの反転出力端子を後段のスキャン入力端子に接続したものを実装したことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
スキャンフリップフロップを複数段接続してなるスキャンチェーン回路であって、セレクタを介し前段のスキャンフリップフロップの出力端子および反転出力端子を後段のスキャン入力端子に択一的に接続したものを実装したことを特徴とする請求項１記載の半導体集積回路。
【請求項４】
スキャンフリップフロップをシフトデータがシフトごとに反転するように複数段接続してなるスキャンチェーン回路を実装した半導体集積回路を検査対象とし、組み合わせ回路の論理からテストパターンを生成し、生成したテストパターンの偶数番目のビットを反転したうえで前記スキャンチェーン回路にスキャンインして前記組み合わせ回路に伝搬させることを特徴とする半導体集積回路の検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路の故障を検出する技術に関し、特に遅延故障の検出を容易化した技術に関する。
【背景技術】
【０００２】
一般にＬＳＩ（大規模集積回路）の故障は、配線上のオープン／ショート故障、スタックアット故障（０／１論理に固定される縮退故障）等いくつかの種類に分類される。設計時に行うシミュレーションでは主にスタックアット故障モデルが仮定され、その故障を検出するためのテストパターンが作成されてきた。
【０００３】
しかし近年、ＬＳＩの微細化・高速化に伴い、信号のタイミング（遅延）に影響する物理的な欠陥を考慮する必要が出てきた。たとえば、ある配線が断線寸前状態にあるような欠陥である。こうした遅延故障（ＡＣフォルト）はその信号線が高抵抗状態にあるため、必ずしも論理が遷移しないスタックアット故障モデル検出のためのテストパターンだと検出できず、この信号線に０から１または１から０といった論理が遷移するテストパターンを与える必要がある。それを考慮したテストが、ＡＣフォルトテスト（またはＴｒａｎｓｉｔｉｏｎ  Ｄｅｌａｙテスト）とよばれるものである。
【０００４】
ＡＣフォルトテストを行うための従来の技術には、特許文献１に記載されるものがある。この技術では、同文献中の段落番号４０および図１に記載されるように、スキャンフリップフロップの反転出力ＱＣをフィードバックしてＤ入力端子に入力可能なセレクタ２Ａを付加する。そして同文献中の段落番号４６，４７および図５に記載されるように実動作周波数テストにおいて、スキャンフリップフロップに組み合わせ回路のデータを取り込むステップ２２Ｂに前置し、スキャンフリップフロップの出力を反転させるステップ２２Ａを付加することとし、スキャンフリップフロップの出力を確実に状態遷移させることでスタックアット故障テストにおいて遅延故障も検査できるようにしている。
【０００５】
また同文献中の段落番号５５〜５７および図９に記載されるように、ＡＴＰＧ（自動テストパターン生成）ツールを用いてテストパターンを生成するにあたり、スタックアット故障検出用のスキャンテストパターン４１の他に、１周期ごとに反転させたデータをスキャンフリップフロップの段数分連続させてなるスキャンテストパターン４２，４３を生成しておき、このスキャンテストパターン４２，４３を用いて遅延故障を検出する手法も開示されている。
【０００６】
また特許文献２には、１ビッドシフトごとにシフトデータが反転する診断スキャンパスを診断対象の論理装置に構成する技術が開示されている。同文献中の図１の符号を引用して簡単に説明すると、Ｎ個のフリップフロップＳＦ１〜ＳＦＮにより反転型シフトレジスタ状のスキャンパスを構成する。そしてＪＴフリップフロップ１０８およびカウンタ１２１の協調動作によりスキャンパスの段数Ｎが偶数か奇数かを判別し、この判別結果に従ってＯＲゲート１０５およびＡＮＤゲート１０６，１０７により最終段のフリップフロップＳＦＮの出力信号Ｑまたは反転出力／Ｑを選択して出力端子５に出力する。このような構成とすることにより、スキャンパスへのスキャンインまたはスキャンアウトにおいて、スキャンパスが反転型であることを考慮せず通常の取り扱いで済む。またフリップフロップＳＦ１〜ＳＦＮにおいてスタックアット故障が生じてる場合、一旦すべてのフリップフロップＳＦ１〜ＳＦＮを初期化した後スキャンアウト動作を行うことにより故障しているフリップフロップを特定できる。
【特許文献１】特開２００１−４７１０号公報
【特許文献２】特公昭６１−５５１３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら特許文献１記載の技術では、通常のスタックアット故障検出用のスキャンテストに加えてＡＣフォルトテストを別途行う必要があるため、検査工程における工数が増加し、製造コストが高くなるなどの問題点を生じる。
【０００８】
また特許文献２記載の技術は、順序回路のスタックアット故障の検出に特化した技術であり、順序回路のＡＣフォルトの検出には不向きであり、また外部には意識させずにスキャンパス上のデータが１ビットシフトごとに反転しているため、組み合わせ回路にテストパターンを与えあるいは組み合わせ回路の出力を取り込む用途にも不向きである。
【０００９】
この発明は、このような事情に鑑み、検査対象となる回路をトグル率の高い回路構成とし、たとえば通常のテストパターンを用いたスタックアット故障検査でも併せて遅延故障を検出しうるように、遅延故障検出の容易化を図る技術を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために請求項１記載の発明は、非インバータ系ゲートを出力段の論理が反転したインバータ系ゲートに置換すると共に該インバータ系ゲートの後段にインバータを付加してなる論理回路を実装したことを特徴とする半導体集積回路を提供する。
【００１１】
また請求項２記載の発明は、請求項１記載の半導体集積回路において、スキャンフリップフロップを複数段接続してなるスキャンチェーン回路であって、前段のスキャンフリップフロップの反転出力端子を後段のスキャン入力端子に接続したものを実装したものを提供する。
【００１２】
また請求項３記載の発明は、請求項１記載の半導体集積回路において、スキャンフリップフロップを複数段接続してなるスキャンチェーン回路であって、セレクタを介し前段のスキャンフリップフロップの出力端子および反転出力端子を後段のスキャン入力端子に択一的に接続したものを実装したことを特徴とする半導体集積回路を提供する。
【００１３】
また請求項４記載の発明は、スキャンフリップフロップをシフトデータがシフトごとに反転するように複数段接続してなるスキャンチェーン回路を実装した半導体集積回路を検査対象とし、組み合わせ回路の論理からテストパターンを生成し、生成したテストパターンの偶数番目のビットを反転したうえで前記スキャンチェーン回路にスキャンインして前記組み合わせ回路に伝搬させることを特徴とする半導体集積回路の検査方法を提供する。
【発明の効果】
【００１４】
この発明によれば、非インバータ系ゲートをインバータ系ゲートに置換することにより論理回路内部のトグル率を向上させており、信号伝搬時に各ゲート出力の状態遷移が頻繁に生じるから遅延故障の検出が容易化される利点がある。
【００１５】
またテストパターンの偶数番目のビットを反転したうえでスキャンチェーン回路にスキャンインする手法をとることにより、シフトデータがシフトごとに反転するスキャンチェーン回路をもって組み合わせ回路に伝搬させることとすれば、スキャンチェーン回路のトグル率も向上して順序回路の遅延故障の検出も容易化される利点がある。
【発明を実施するための最良の形態】
【００１６】
以下、図面を用いてこの発明の実施形態を説明する。
まず図１，２を参照しつつこの発明の第１の実施形態を説明する。第１の実施形態では、ＬＳＩの回路設計の論理合成の段階においてネットリストを解析し、非インバータ系の論理回路をインバータ系の論理回路に置換する。ここで置換処理の対象とする回路例としてスキャンデータフリップフロップを使用するスキャンチェーン回路の一部を図１に示す。ただし、この置換処理はスキャンチェーン回路だけでなくＬＳＩ上の任意の論理回路を対象として行われる。
【００１７】
図１において、１は組み合わせ回路であり、各種のゲート１０１〜１１２により構成されている。２０１〜２０４はスキャンチェーン回路を構成するデータフリップフロップである。データフリップフロップ２０１〜２０４の端子Ｄはデータ入力端子、ＳＩはシフト動作時の入力端子、ＳＥはデータ入力を行うかシフト動作を行うかの切り替えを指示するＳＥ信号の入力端子、ＣＫはクロック入力端子、Ｑは正出力端子、ＱＮはＱの反転出力端子である。スキャン動作時は、ＳＥ信号を有効にしてシフト動作を行う。
【００１８】
上記の置換処理では、ゲート１０１〜１１２の中から非インバータ系としてあらかじめ定義されているものを抽出する。この例では、ゲート１０１〜１０３，１０６，１０８，１１０〜１１２が抽出される。そして抽出したゲートを出力段の論理を反転したゲートに置換すると共に、そのゲートの後段にインバータを付加する処理を逐次行う。
【００１９】
図２は、置換処理後の回路構成を示す。図１中のゲート１０１は図２中のインバータ１０１−１，１０１−２に置換されている。同様の置換処理がゲート１０２，１０３，１０６，１０８，１１０〜１１２にも施される。もともとインバータ系のゲートである１０３〜１０５，１０７，１０９は変更しない。
【００２０】
この置換処理が完了した後、データフリップフロップを接続してスキャンチェーン回路を構成するステップに進む。図１に示すように通常はデータフリップフロップ２０１〜２０４が順に接続されるものとすると、この実施形態では、図２に示すようにデータフリップフロップの反転出力端子ＱＮを次段のデータフリップフロップのＳＩ入力端子に接続する。
【００２１】
次にこの実施形態におけるテストパターンの作成について説明する。まず通常のスタックアット故障モデルによるテストパターンの作成を行い、得られたテストパターンにマスキング処理を施し、偶数番目のビットをすべて反転したパターンを作成してテストパターンとして登録する。
【００２２】
そしてスキャンテスト時にあっては、上記のスキャンチェーン回路をもってスキャンイン動作を行い、登録してあるテストパターンをシリアル入力して各データフリップフロップに信号をセットする。このスキャンイン動作においてシフトデータはシフトごとに反転するため、偶数番目のデータフリップフロップには反転した信号がセットされることになる。したがって上記のマスキング処理によって反転した偶数番目のビットが正転し、マスキング処理前のテストパターンがスキャンチェーン回路にセットされる。この後、セットしたパターンを組み合わせ回路に伝搬させてその出力をデータフリップフロップに取り込み、データフリップフロップにスキャンアウト動作をさせて出力結果をスキャンアウトさせる。
【００２３】
組み合わせ回路において信号が伝搬する際、上記のように組み合わせ回路は基本的にインバータ系のゲートにより構成されるので信号伝搬中におけるトグル率が高く、組み合わせ回路内部に遅延故障が生じている場合、その故障が出力に反映される蓋然性が高い。したがってスキャンアウトした出力結果からスタックアット故障の検査と同時に遅延故障の検出も容易になる。
【００２４】
またスキャンチェーン回路もデータフリップフロップの反転出力を後段にシフトするトグル率の高い構成であるから、順序回路において遅延故障が生じてる場合もその故障が上記のスキャンアウトした出力結果に反映される蓋然性が高く、したがってスキャンアウトした出力結果から順序回路の遅延故障も同時に検査できる。
【００２５】
次にこの発明の第２の実施形態について説明する。図３は、第２の実施形態に係る回路構成例を示す回路図である。同図に示すように第２の実施形態では、スキャンチェーン回路を構成するあたり、前段のデータフリップフロップの出力部および後段のデータフリップフロップの入力部の間にセレクタ３０１〜３０３を介装している。セレクタ３０１〜３０３は前段のデータフリップフロップの出力Ｑおよび反転出力ＱＮを入力とし、制御信号ＳＥ２に従ってＱまたはＱＮを選択し、後段のデータフリップフロップのＳＩ入力端子に出力するものである。
【００２６】
このような構成とすることにより、制御信号ＳＥ２を切り替えることでデータフリップフロップの接続を正転シフトモードと反転シフトモードに切り替えることができる。正転シフトモードでは、前段のデータフリップフロップの出力Ｑを後段のデータフリップフロップのＳＩ入力端子に伝搬させてシフトしていく構成をとる。反転シフトモードでは、前段のデータフリップフロップの反転出力ＱＮを後段のデータフリップフロップのＳＩ入力端子に伝搬させてシフトしていく構成をとる。
【００２７】
第２の実施形態では、テストパターン作成の際にマスキング処理を付加する必要がなく、通常のスタックアット故障モデルによるテストパターンをそのまま登録すればよい。スキャンテスト時にあっては、正転シフトモードを選択して通常と同様の手順によりテストを実行していけばよい。
【００２８】
この後、必要に応じて反転シフトモードによる遅延故障テストを行う。このテストではたとえば各データフリップフロップをリセットした後「１」あるいは「０」を連続してスキャンインするといった単純な手法により、特別なテストパターンを用いずに遅延故障を検出できる。
【００２９】
以上、この発明の第１および第２の実施形態を詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００３０】
【図１】論理回路の一例の構成を示す回路図である。
【図２】第１の実施形態に係る論理回路の構成例を示す回路図である。
【図３】第２の実施形態に係る論理回路の構成例を示す回路図である。
【符号の説明】
【００３１】
１…組み合わせ回路  １０１〜１１２…ゲート  ２０１〜２０４…データフリップフロップ  ３０１〜３０３…セレクタ
【図１】
2006208077.tif 000003
【図２】
2006208077.tif 000004
【図３】
2006208077.tif 000005