(57)【特許請求の範囲】
【請求項１】
リセット信号が入力されるリセット入力端子を有し，スキャンデータと，データとが入力され，この入力された前記スキャンデータと前記データとをスキャンシフトイネーブル信号によって切り換えて出力データとする第１のフリップフロップ回路と，
前記スキャンシフトイネーブル信号によって，前記リセット信号を制御するリセット制御手段と，
前記リセット信号の有効・無効を制御するマスク手段と，
該マスク手段を制御するマスク制御手段と，
を備え，
前記マスク制御手段は，任意のデータをロード可能な第４のフリップフロップ回路であることを特徴とする，スキャンテスト回路。
【請求項２】
前記リセット制御手段は，前記リセット信号を，キャプチャシーケンス中のみ有効となるように制御することを特徴とする，請求項１に記載のスキャンテスト回路。
【請求項３】
前記リセット制御手段は，前記スキャンシフトイネーブル信号の反転信号と，前記リセット信号を制御するリセット制御信号を生成する組み合わせ回路の出力信号とを入力とするＡＮＤゲートからなることを特徴とする，請求項１または２に記載のスキャンテスト回路。
【請求項４】
前記組み合わせ回路は，前記第１のフリップフロップ回路に対してチェーン接続された第２，第３のフリップフロップ回路の出力信号を入力とするＡＮＤゲートからなることを特徴とする，請求項３に記載のスキャンテスト回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，半導体集積回路のテスト方式として知られているスキャンテストにおいて，テストパターン削減，故障検出率の向上，および，スキャンテスト関連回路規模の削減に関するものであり，特に，回路内部でセットリセット信号を発生し，これを非同期セットリセットとして使用するフリップフロップ（Ｆ／Ｆ）を含む回路のスキャンテスト回路に対して有効である。
【０００２】
【従来の技術】
従来，スキャンテスト回路内部でリセット信号を発生し，これを非同期リセットとして使用する回路では，通常データの入出力，スキャンデータ入出力，スキャンイネーブル入力，スキャンテストモード入力，クロック入力，および構成によっては，外部リセット入力を用いていた。
【０００３】
スキャンシフトシーケンスのスキャンシフト中は，スキャンフリップフロップが変化するため，組み合わせ回路の出力がサイクルごとに変化する可能性がある。そのため，スキャンテストシーケンス中は，非同期リセット付きフリップフロップのリセット入力がアクティブにならないように固定したり，外部リセット入力を設け，スキャンテストシーケンス中は，必ず外部リセット入力が選択される構成とし，スキャンテストシーケンス中は，外部リセット入力を非アクティブとし，キャプチャシーケンス中は外部リセット入力を任意に変化させてスキャンテストを実行していた。
【０００４】
また，スキャンテストモード入力によって，観測できなくなった組み合わせ回路の出力信号を観測するために，排他的論理和回路やスキャン観測専用のフリップフロップを設けて，組み合わせ回路の出力信号を可観測とし，故障検出率を上げる構成がとられていた。
【０００５】
【特許文献１】
特開２００２−２６７７１９
【特許文献２】
特開２００１−２９６３３１
【０００６】
【発明が解決しようとする課題】
しかしながら，上記従来の回路・方式では，スキャンテスト用の専用のスキャンテストモード入力や外部リセット入力のピンを別に設ける必要がある。そのため，ＬＳＩのピン数増加によるコスト増加，故障検出率の低下による信頼性の低下，回路規模・テストパターン（テスト時間）増加によるコスト増加につながってしまうという問題点があった。
【０００７】
また，組み合わせ回路の出力が観測できず，これに関係した組み合わせ回路の故障を検出できないという問題点もあった。これを解決するために，組み合わせ回路の出力を観測するための排他的論理和回路やスキャン観測専用のフリップフロップを付加すると，回路規模が増加し，テストパターンも増加するという別の問題が生じる。
【０００８】
本発明は，従来のスキャンテスト回路が有する上記問題点に鑑みてなされたものであり，本発明の目的は，ＬＳＩのピン数を削減し，テストパターン削減，故障検出率の向上，および，スキャンテスト関連回路規模の削減を図ることの可能な，新規かつ改良されたスキャンテスト回路を提供することである。
【０００９】
【課題を解決するための手段】
上記課題を解決するため，本発明の第１の観点によれば，リセット信号（ＲＳＴ）が入力されるリセット入力端子（Ｒ）を有し，スキャンデータ（ＳＩ）と，データ（ＤＩ）とが入力され，この入力されたスキャンデータとデータとをスキャンシフトイネーブル信号（ＳＣＡＮ＿ＳＥ）によって切り換えて出力データ（ＤＯ）とする第１のフリップフロップ回路と，スキャンシフトイネーブル信号によって，リセット信号を制御するリセット制御手段と，リセット信号の有効・無効を制御するマスク手段と，該マスク手段を制御するマスク制御手段と，を備え，マスク制御手段は，任意のデータをロード可能な第４のフリップフロップ回路であることを特徴とする，スキャンテスト回路が提供される。ここで例えば，リセット制御手段は，リセット信号を，キャプチャシーケンス中のみ有効となるように制御するようにしてもよい。
【００１０】
また，本発明によれば，スキャンテスト回路であって，スキャンテスト回路の出力信号を出力する第１のフリップフロップ回路（１００）と，第１のフリップフロップ回路をスキャンテストシーケンスにシフトさせるスキャンシフトイネーブル信号（ＳＣＡＮ＿ＳＥ）によって，第１のフリップフロップ回路をリセットするリセット信号（ＲＳＴ）を制御するリセット制御手段（１０１）とを備えたことを特徴とする，スキャンテスト回路が提供される。ここで例えば，リセット制御手段（１０１）は，リセット信号を，キャプチャシーケンス中のみ有効となるように制御するようにしてもよい。
【００１１】
上記において，リセット制御手段（１０１）は，例えば，スキャンシフトイネーブル信号の反転信号と，リセット信号を制御するリセット制御信号を生成する組み合わせ回路（１１０）の出力信号（ＬＯ）とを入力とするＡＮＤゲートとして構成することができる（請求項３）。ＡＮＤゲートであれば回路規模の増加を最小限に抑えることができる。
【００１２】
また，回路構成の一例として，スキャンチェーンが３つのフリップフロップで構成されている場合を想定すると，組み合わせ回路（１１０）は，例えば，第１のフリップフロップ回路に対してチェーン接続された第２，第３のフリップフロップ回路（１２０，１３０）の出力信号を入力とするＡＮＤゲートとして構成することができる（請求項４）。
【００１３】
かかる回路構成によれば，スキャンテスト用の専用のスキャンテストモード入力，外部リセット入力のピンなど，テスト専用ピンを別途設ける必要がないので，ＬＳＩのピンを少なくできるという効果がある。また，リセット制御手段の追加のみで，フリップフロップ（例えば，非同期リセット付きフリップフロップ）のリセット回路のスキャンテストを実行できるので，少ないスキャンテスト回路規模でスキャンテストの故障検出率を向上できるという効果がある。また，フリップフロップ（例えば，非同期リセット付きフリップフロップ）のリセット回路の信号に対して，これの有効・無効を制御するマスク手段（２０２）と，該マスク手段を制御するマスク制御手段（２０３，ＴＤＩ）とを設けているので，スキャンテスト制御性が向上し，テストパターン数を少なくできるという効果がある。
【００２０】
なお上記において，括弧書きで記した構成要素および信号は，理解を容易にするため，後述の実施形態における対応する構成要素および信号を記したに過ぎず，本発明がこれに限定されるものではない。
【００２１】
【発明の実施の形態】
以下に添付図面を参照しながら，本発明にかかるスキャンテスト回路の好適な実施の形態について詳細に説明する。なお，本明細書および図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００２２】
（第１の実施の形態）
本実施の形態にかかる非同期リセット付きフリップフロップ回路用スキャンテスト回路（以下，単にスキャンテスト回路という）について，図１および図２を参照しながら説明する。図１は，本実施の形態にかかるスキャンテスト回路の特徴部分の構成を示す説明図である。図２は，図１の回路を含むスキャンテスト回路の全体構成の一例を示す説明図である。
【００２３】
まず，図１を参照しながら説明すると，本実施の形態にかかるスキャンテスト回路は，非同期リセット付きフリップフロップ（以下，単にフリップフロップという）１００と，ＡＮＤゲート１０１と，組み合わせ回路１１０を含んで構成されている。
【００２４】
フリップフロップ１００のスキャンシフトイネーブル入力ピンＳＥには，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。フリップフロップ１００のスキャンデータ入力ＳＩには，スキャンデータＳＩが入力されている。スキャンデータＳＩは，図示しない他のフリップフロップのスキャン出力など，スキャンシフト時にフリップフロップ１００にスキャンデータをシフトさせるための信号である。フリップフロップ１００のデータ入力ピンＤＩには，データＤＩが入力されている。データＤＩは，任意の回路の出力データが入力されている。
【００２５】
フリップフロップ１００の出力Ｑからは，データＤＯが出力されている。フリップフロップ１００の出力データＤＯは，フリップフロップ１００のスキャン出力データとしても使用され，図示しない他のフリップフロップのスキャン入力に使用されている。また，フリップフロップ１００にはクロック信号ＣＬＫが入力されている。このクロック信号ＣＬＫは，スキャンテスト時のスキャンクロックとして使用される。
【００２６】
フリップフロップ１００の非同期リセット入力ピン（Ｒ：正論理）には，リセット信号ＲＳＴが入力されている。リセット信号ＲＳＴは，ＡＮＤゲート１０１から出力されている。ＡＮＤゲート１０１の入力として，組み合わせ回路１１０の出力データＬＯが正論理で入力され，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが負論理で入力されている。
【００２７】
次いで，図１に示した回路を含むスキャンテスト回路の全体構成の一例について，図２を参照しながら説明する。スキャンテスト回路１０は，フリップフロップ１００と，ＡＮＤゲート１０１と，組み合わせ回路１１０を含み，さらに，フリップフロップ１２０，１３０（本発明の第２，第３のフリップフロップ）と，バッファ１１１，１１２を含んで構成されている。
【００２８】
フリップフロップ１００のスキャンシフトイネーブル入力ピンＳＥには，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。フリップフロップ１００のスキャンデータ入力ＳＩには，スキャンデータＳＩが入力されている。スキャンデータＳＩは，フリップフロップ１２０のスキャン出力，すなわち，スキャンシフト時にフリップフロップ１００にスキャンデータをシフトさせるための信号である。フリップフロップ１００のデータ入力ピンＤＩには，データＤＩが入力されている。データＤＩはフリップフロップ１２０の出力データがバッファ１１１で増幅されて入力されている。
【００２９】
フリップフロップ１００の出力Ｑからは，データＤＯが出力されている。フリップフロップ１００の出力データＤＯは，フリップフロップ１００のスキャン出力データとしても使用され，図示しない他のフリップフロップのスキャン入力に使用されている。また，フリップフロップ１００にクロック信号ＣＬＫが入力され，スキャンテスト時のスキャンクロックとして使用される。
【００３０】
フリップフロップ１００の非同期リセット入力ピン（Ｒ：正論理）には，リセット信号ＲＳＴが入力されている。リセット信号ＲＳＴは，ＡＮＤゲート１０１から出力されている。ＡＮＤゲート１０１の入力として，組み合わせ回路１１０の出力データＬＯが正論理で入力され，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが負論理で入力されている。
【００３１】
図２に示した例において，組み合わせ回路１１０は，フリップフロップ１２０，１３０の出力信号を入力とするＡＮＤゲートにより構成されている。なお，組み合わせ回路の構成は，図２に示した組み合わせ回路１１０の構成に限定されるものではない。フリップフロップ１２０の出力信号（バッファ１１１の入力信号）をａ，フリップフロップ１３０の出力信号をｂ，ＡＮＤゲートの出力信号をｙとすると，スキャンシーケンス状態終了後（スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥ＝０）の信号ａ，ｂ，ｙと，リセット信号ＲＳＴ，フリップフロップ１００の状態，バッファ１１１のピンａが０に縮退している故障（ｓｔｕｃｋ  ａｔ  ０：ＳＡ０）をテストできる／できない，の関係は，図３に示した通りである。
【００３２】
次いで，スキャンテスト回路１０の動作の一例を，図４を参照しながら説明する。本実施の形態の動作を説明するタイミングチャートを図４に示す。
【００３３】
ｔ０でＳＣＡＮ＿ＳＥ＝１となり，スキャンシフトシーケンスが始まる。
【００３４】
ｔ１からスキャンシフトが始まり，ＳＣＡＮ＿ＳＥ＝１の間，クロックに同期してスキャンシフトが行われ，ｔ３でＳＣＡＮ＿ＳＥ＝０となり，最初のスキャンシフトシーケンスが終了する。なお，本実施の形態では，スキャンチェーンが３つのフリップフロップ３００，３２０，３３０で構成されており，図４に示したように，ｔ０〜ｔ３までのスキャンシーケンス中はクロックが３回振幅しているが，本発明はこれに限定されない。なお，後述の他の実施の形態についても同様である。
【００３５】
ｔ２では，最初のスキャンシフトシーケンスのシフトが完了し，組み合わせ回路１１０の出力ＬＯ＝０となり，フリップフロップ１００の入力データＤＩ＝ｄ０となる。なお，図４におけるＤＩ，ＬＯの値は一例に過ぎず，ＤＩ，ＬＯの値は任意である。
【００３６】
ｔ４で最初のキャプチャシーケンスが開始される。フリップフロップ１００の入力データＤＩ＝ｄ０であるため，ｔ４でクロックＣＬＫの立ち上がりでフリップフロップ１００はｄ０をキャプチャし，クロックＣＬＫ立ち上がり後，フリップフロップ１００の出力データＤＯ＝ｄ０となる。ＡＮＤゲート１０１の出力ＲＳＴはｔ４まで図に示すようにＲＳＴ＝０となっている。以後，ＡＮＤゲート１０１の入力として，ＳＣＡＮ＿ＳＥが負論理で入力されているため，ＲＳＴ信号はスキャンシフトシーケンス中（ＳＣＡＮ＿ＳＥ＝１）は，ＲＳＴ＝０となり，スキャンシフトシーケンス中にスキャンシフトデータがリセットされてしまうことはない。
【００３７】
ｔ４以降，同様にスキャンシフトシーケンス，キャプチャシーケンスが繰り返される。
【００３８】
ｔ５において，クロックＣＬＫの立ち上がりで，キャプチャによって組み合わせ回路１１０の出力ＬＯ＝１となると，ＡＮＤゲート１０１の出力データＲＳＴ＝１となるので，フリップフロップ１００の出力ＤＯ＝０となる。
【００３９】
ｔ６でスキャンシフトシーケンスが始まりＳＣＡＮ＿ＳＥ＝１となるため，ＡＮＤゲート１０１の出力データＲＳＴ＝０となる。
【００４０】
ｔ６から始まったスキャンシフトシーケンスのスキャンシフトの最後のクロック立ち上がりタイミングｔ７直後，組み合わせ回路１１０の出力ＬＯ＝１となると，ｔ８ではスキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥ＝０となるため，ＡＮＤゲート１０１の出力データＲＳＴ＝１となり，フリップフロップ１００の出力ＤＯ＝０となる。
【００４１】
ｔ９のキャプチャで組み合わせ回路１１０の出力ＬＯ＝１が継続されるとｔ９〜ｔ１０まで，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥ＝０であるため，ＡＮＤゲート１０１の出力データＲＳＴ＝１となり，フリップフロップ１００の出力ＤＯ＝０となる。
【００４２】
ｔ１１ではＡＮＤゲート１０１の出力データＲＳＴの値はｔ８と同様にＲＳＴ＝１となり，ｔ１２のキャプチャで組み合わせ回路１１０の出力ＬＯ＝０となると，ＡＮＤゲート１０１の出力データＲＳＴ＝０となる。
【００４３】
以上のように，スキャンシフトシーケンス中は非同期リセット信号によりスキャンシフトデータをリセットすることなくスキャンシフトし，キャプチャサイクル時の組み合わせ回路１１０の出力ＬＯによって，フリップフロップ１００のリセット・非リセット状態をテストすることができる。
【００４４】
（第１の実施の形態の効果）
以上説明したように，本実施の形態によれば，スキャンテスト用の専用のスキャンテストモード入力，外部リセット入力のピンなど，テスト専用ピンを別途設ける必要がないので，ＬＳＩのピンを少なくできるという効果がある。また，ＡＮＤゲート追加のみで，フリップフロップ１００のリセット回路のスキャンテストを実行できるので，少ないスキャンテスト回路規模でスキャンテストの故障検出率を向上できるという効果がある。
【００４５】
（第２の実施の形態）
本実施の形態にかかる非同期リセット付きフリップフロップ回路用スキャンテスト回路（以下，単にスキャンテスト回路という）について，図５および図６を参照しながら説明する。図５は，本実施の形態にかかるスキャンテスト回路の特徴部分の構成を示す説明図である。図６は，図５の回路を含むスキャンテスト回路の全体構成の一例を示す説明図である。
【００４６】
まず，図５を参照しながら説明すると，本実施の形態にかかるスキャンテスト回路は，非同期リセット付きフリップフロップ（以下，単にフリップフロップという）２００と，ＡＮＤゲート２０１と，組み合わせ回路２１０と，ＯＲゲート２０２と，任意データロード用スキャンフリップフロップ（本発明の第４のフリップフロップであり，以下，単にスキャンフリップフロップという）２０３を含んで構成されている。
【００４７】
フリップフロップ２００のスキャンシフトイネーブル入力ピンＳＥには，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。フリップフロップ２００のスキャンデータ入力ＳＩには，スキャンデータＳＩが入力されている。スキャンデータＳＩは，図示しない他のフリップフロップのスキャン出力など，スキャンシフト時にフリップフロップ２００にスキャンデータをシフトさせるための信号である。フリップフロップ２００のデータ入力ピンＤＩには，データＤＩが入力されている。データＤＩは，任意の回路の出力データが入力されている。
【００４８】
フリップフロップ２００の出力Ｑからは，データＤＯが出力されている。フリップフロップ２００の出力データＤＯは，フリップフロップ２００のスキャン出力データとしても使用され，図示しない他のフリップフロップのスキャン入力に使用されている。また，フリップフロップ２００にクロック信号ＣＬＫが入力されている。このクロック信号ＣＬＫは，スキャンテスト時のスキャンクロックとして使用される。
【００４９】
フリップフロップ２００の非同期リセット入力ピン（Ｒ：正論理）には，リセット信号ＲＳＴが入力されている。リセット信号ＲＳＴは，ＡＮＤゲート２０１から出力されている。ＡＮＤゲート２０１の入力として，組み合わせ回路２１０の出力データＬＯが正論理で入力され，ＯＲゲート２０２の出力信号ＯＲＯが負論理で入力されている。
【００５０】
ＯＲゲート２０２の入力として，スキャンフリップフロップ２０３の出力ＳＦＦＯ，および，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。スキャンフリップフロップ２０３データ入力ピンＤＩには，排他的論理和回路の出力や，任意の組み合わせ回路の出力データを入力し，スキャン観測性を向上することも可能であるが，本実施の形態の説明では“１”を入力しておく。
【００５１】
スキャンフリップフロップ２０３にはクロック信号ＣＬＫが入力されている。このクロック信号ＣＬＫは，スキャンテスト時のスキャンクロックとして使用される。スキャンフリップフロップ２０３に使用されるクロック信号は必ずしも，フリップフロップ２００のクロック信号と同じである必要はないが，説明を簡潔にするため，本実施の形態の説明では同じクロックを用いるものとする。
【００５２】
次いで，図５に示した回路を含むスキャンテスト回路の全体構成の一例について，図６を参照しながら説明する。スキャンテスト回路２０は，フリップフロップ２００と，ＡＮＤゲート２０１と，組み合わせ回路２１０と，ＯＲゲート２０２と，スキャンフリップフロップ２０３（本発明の第４のフリップフロップ）を含み，さらに，フリップフロップ２３０と，バッファ２１１を含んで構成されている。
【００５３】
フリップフロップ２００のスキャンシフトイネーブル入力ピンＳＥには，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。フリップフロップ２００のスキャンデータ入力ＳＩには，スキャンデータＳＩが入力されている。スキャンデータＳＩは，フリップフロップ２０３のスキャン出力など，スキャンシフト時にフリップフロップ２００にスキャンデータをシフトさせるための信号である。フリップフロップ２００のデータ入力ピンＤＩには，データＤＩが入力されている。データＤＩはフリップフロップ２３０の出力データがバッファ２１１で増幅されて入力されている。
【００５４】
フリップフロップ２００の出力Ｑからは，データＤＯが出力されている。フリップフロップ２００の出力データＤＯは，フリップフロップ２００のスキャン出力データとしても使用され，図示しない他のフリップフロップのスキャン入力に使用されている。また，フリップフロップ２００にクロック信号ＣＬＫが入力されている。このクロック信号ＣＬＫは，スキャンテスト時のスキャンクロックとして使用される。
【００５５】
フリップフロップ２００の非同期リセット入力ピン（Ｒ：正論理）には，リセット信号ＲＳＴが入力されている。リセット信号ＲＳＴは，ＡＮＤゲート２０１から出力されている。ＡＮＤゲート２０１の入力として，組み合わせ回路２１０の出力データＬＯが正論理で入力され，ＯＲゲート２０２の出力信号ＯＲＯが負論理で入力されている。
【００５６】
ＯＲゲート２０２の入力として，スキャンフリップフロップ２０３の出力ＳＦＦＯ，および，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。スキャンフリップフロップ２０３データ入力ピンＤＩには，排他的論理和回路の出力や，任意の組み合わせ回路の出力データを入力し，スキャン観測性を向上することも可能であるが，本実施の形態では“１”を入力しておく。
【００５７】
スキャンフリップフロップ２０３にはクロック信号ＣＬＫが入力されている。このクロック信号ＣＬＫは，スキャンテスト時のスキャンクロックとして使用される。スキャンフリップフロップ２０３に使用されるクロック信号は必ずしも，フリップフロップ２００のクロック信号と同じである必要はないが，説明を簡潔にするため，本実施の形態の説明では同じクロックを用いるものとする。
【００５８】
図６に示した例において，組み合わせ回路２１０は，フリップフロップ２３０およびデータ入力ＤＩを入力とするＡＮＤゲートにより構成されている。なお，組み合わせ回路の構成は，図６に示した組み合わせ回路２１０の構成に限定されるものではない。フリップフロップ２３０の出力信号（バッファ２１１の入力信号）をａ，データＤＩをｂ，ＡＮＤゲートの出力信号をｙとすると，スキャンシーケンス状態終了後（スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥ＝０）の信号ａ，ｂ，ｙと，ＯＲゲート２０２の出力信号ＯＲＯ，リセット信号ＲＳＴ，フリップフロップ２００の状態，バッファ２１１のピンａが０に縮退している故障（ｓｔｕｃｋ  ａｔ  ０：ＳＡ０）をテストできる／できない，の関係は，図７に示した通りである。
【００５９】
図７に示すように，マスク機能を設けることによって，フリップフロップ２００のリセットを実施する／しないを自由にコントロールできるので，テストパターンの融通が効くようになる。テスト時間を短くするために，テストパターンを圧縮することが可能である。すなわち，同じ状態を実現できるテストパターンを削減する作業をツール上で行うが，マスク機能を設けることによってテストパターンを圧縮することが可能である。
【００６０】
本実施の形態では，マスク機能を設けたことによって，バッファ１１１のピンａのＡＳ０故障をテストできるケースが増える。１つのテストパターンで，１スキャンシーケンス後の状態から，キャプチャ動作により，多くのゲートの故障検出をするので，１つのパターンで多くの故障を検出できる方が全体のテストパターン数が少なくなる。それゆえ，ツールはより少ないパターンを探しやすくなる。なお通常，テストパターンはＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）ツールで生成するが，トータルでより少ないテストパターンになるようなテストパターンを自動的に生成する。
【００６１】
次いで，スキャンテスト回路２０の動作の一例を，図８を参照しながら説明する。本実施の形態の動作を説明するタイミングチャートを図８に示す。スキャンテストシーケンスについては第１の実施の形態と同等である。クロックＣＬＫ，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥ，および，組み合わせ回路２１０の出力ＬＯの波形は第１の実施の形態の動作と同様である。
【００６２】
第１の実施の形態では，キャプチャシーケンス中（ＳＣＡＮ＿ＳＥ＝０）中は，組み合わせ回路２１０の出力ＬＯのみによってフリップフロップ１００のリセット入力信号ＲＳＴが決まるが，第２の実施の形態では，スキャンシフトシーケンスの最後のシフトタイミング，例えば，図８では，ｔｓｏ，ｔｓ１，ｔｓ２，ｔｓ３のクロックの立ち上がり直後のタイミング時に，スキャンフリップフロップ２０３にスキャンローディングされているデータ，すなわち，スキャンフリップフロップ２０３の出力データＳＦＦＯと，キャプチャシーケンスのクロックの立ち上がり（キャプチャ）タイミング，例えば，図８では，ｔｃ０，ｔｃ１，ｔｃ２，ｔｃ３のクロックの立ち上がり直後のタイミング時に，スキャンフリップフロップ２０３にキャプチャされたデータ（ＳＦＦＯ，本実施の形態の構成においてはＤＩ＝“１”をキャプチャするため，必ずＳＦＦＯ＝１となる）によっても，フリップフロップ２００のリセット入力信号ＲＳＴを制御できる。
【００６３】
ｔｓ０のクロック立ち上がりで，組み合わせ回路２１０の出力が０となり，ＳＦＦＯ＝１となるようにスキャンフリップフロップ２０３にスキャンローディングすると，ＯＲゲート２０２の出力ＯＲＯ＝１となる。ＯＲゲート２０２の出力ＯＲＯ＝１のとき，ＡＮＤゲート２０１の出力ＲＳＴ＝０となる。
【００６４】
ｔｃ０において，フリップフロップ２００の入力データＤＩ＝ｄ０のため，ｔｃ０のクロックの立ち上がりでｄ０がキャプチャされ，フリップフロップ２００の出力ＤＯ＝ｄ０となる。
【００６５】
ｔｓ１のクロック立ち上がりで，組み合わせ回路２１０の出力ＬＯ＝０となり，ＳＦＦＯ＝１となるようにスキャンフリップフロップ２０３にスキャンローディングすると，ＯＲゲート２０２の出力ＯＲＯ＝１となる。ＯＲゲート２０２の出力ＯＲＯ＝１のとき，ＡＮＤゲート２０１の出力ＲＳＴ＝０となる。
【００６６】
ｔｃ１において，フリップフロップ２００の入力データＤＩ＝ｄ１のため，ｔｃ１のクロックの立ち上がりでｄ１がキャプチャされ，フリップフロップ２００の出力ＤＯ＝ｄ１となる。ｔｓ１のクロックの立ち上がりで，ＬＯ＝１となった場合，ＯＲゲート２０２の出力ＯＲＯ＝１のため，ＡＮＤゲート２０１の出力ＲＳＴ＝０のままである。
【００６７】
ｔｓ２のクロック立ち上がりで，組み合わせ回路２１０の出力ＬＯ＝１となり，ＳＦＦＯ＝０となるようにスキャンフリップフロップ２０３にスキャンローディングすると，ｔｓ２後のＳＣＡＮ＿ＳＥの立ち下がり（ＳＣＡＮ＿ＳＥ＝０）で，ＯＲゲート２０２の出力ＯＲＯ＝０となる。ＯＲゲート２０２の出力ＯＲＯ＝０のとき，ＡＮＤゲート２０１の出力ＲＳＴは，組み合わせ回路２１０の出力によって決定され，ＲＳＴ＝１となる。このとき，フリップフロップ２００の出力ＤＯ＝０となる。
【００６８】
ｔｃ２のクロックＣＬＫの立ち上がりで，スキャンフリップフロップ２０３にはＤＩ＝１がキャプチャされ，ＳＦＦＯ＝１となり，ＯＲゲート２０２の出力ＯＲＯ＝１となる。このとき，ＡＮＤゲート２０１の出力ＲＳＴ＝０となる。
【００６９】
ｔｓ３のクロック立ち上がりで，組み合わせ回路２１０の出力ＬＯ＝１となり，ＳＦＦＯ＝１となるようにスキャンフリップフロップ２０３にスキャンローディングすると，ＯＲゲート２０２の出力ＯＲＯ＝１となる。ＯＲゲート２０２の出力ＯＲＯ＝１のとき，ＡＮＤゲート２０１の出力ＲＳＴ＝０となる。
【００７０】
ｔｃ３において，フリップフロップ２００の入力データＤＩ＝ｄ３のため，ｔｃ３のクロックの立ち上がりでｄ３がキャプチャされ，フリップフロップ２００の出力ＤＯ＝ｄ３となる。ｔｓ３のクロックの立ち上がりで，ＬＯ＝０なり，ＯＲゲート２０２の出力ＯＲＯ＝１のため，ＡＮＤゲート２０１の出力ＲＳＴ＝０のままである。
【００７１】
以上のように，スキャンシフトシーケンス中は非同期リセット信号によりスキャンシフトデータをリセットすることなくスキャンシフトし，キャプチャサイクル時の組み合わせ回路２１０の出力ＬＯと，これを有効・無効にマスク制御可能なスキャンフリップフロップ２０３によって，フリップフロップ２００のリセット・非リセット状態をテストすることができる。
【００７２】
（第２の実施の形態の効果）
以上説明したように，本実施の形態によれば，スキャンテスト用の専用のスキャンテストモード入力，外部リセット入力のピンなど，テスト専用ピンを余分に設ける必要がないので，ＬＳＩのピンを少なくできるという効果がある。また，ＡＮＤゲート２０１，ＯＲゲート２０２，および，スキャンフリップフロップ２０３追加のみでフリップフロップ２００のリセット回路のスキャンテストを実行できるので，スキャンテスト回路規模を小さくできるという効果がある。また，非同期リセット付きフリップフロップのリセット回路の信号に対して，これを有効・無効にマスク制御可能なフリップフロップ２０３を設けているので，スキャンテスト制御性が向上し，テストパターン数を少なくできるという効果がある。
【００７３】
（第３の実施の形態）
本実施の形態にかかる非同期リセット付きフリップフロップ回路用スキャンテスト回路（以下，単にスキャンテスト回路という）について，図９および図１０を参照しながら説明する。図９は，本実施の形態にかかるスキャンテスト回路の特徴部分の構成を示す説明図である。図１０は，図９の回路を含むスキャンテスト回路の全体構成の一例を示す説明図である。
【００７４】
まず，図９を参照しながら説明すると，本実施の形態にかかるスキャンテスト回路は，非同期リセット付きフリップフロップ（以下，単にフリップフロップという）３００と，ＡＮＤゲート３０１と，組み合わせ回路３１０と，ＯＲゲート３０２を含んで構成されている。同図において，符号ＴＤＩは，スキャンテスト用のテスト専用ピン（本発明の入力手段）である。なお以下の説明において，このテスト専用ピンから入力される信号も便宜上同じ符号ＴＤＩで表す。
【００７５】
フリップフロップ３００のスキャンシフトイネーブル入力ピンＳＥには，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。フリップフロップ３００のスキャンデータ入力ＳＩには，スキャンデータＳＩが入力されている。スキャンデータＳＩは，図示しない他のフリップフロップのスキャン出力など，スキャンシフト時にフリップフロップ３００にスキャンデータをシフトさせるための信号である。フリップフロップ３００のデータ入力ピンＤＩには，データＤＩが入力されている。データＤＩは，任意の回路の出力データが入力されている。
【００７６】
フリップフロップ３００の出力Ｑからは，データＤＯが出力されている。フリップフロップ３００の出力データＤＯは，フリップフロップ３００のスキャン出力データとしても使用され，図示しない他のフリップフロップのスキャン入力に使用されている。また，フリップフロップ３００にクロック信号ＣＬＫが火力されている。このクロック信号ＣＬＫは，スキャンテスト時のスキャンクロックとして使用される。
【００７７】
フリップフロップ３００の非同期リセット入力ピン（Ｒ：正論理）には，リセット信号ＲＳＴが入力されている。リセット信号ＲＳＴは，ＡＮＤゲート３０１から出力されている。ＡＮＤゲート３０１の入力として，組み合わせ回路３１０の出力データＬＯが正論理で入力され，ＯＲゲート３０２の出力信号ＯＲＯが負論理で入力されている。
【００７８】
ＯＲゲート３０２の入力として，外部からテストデータ入力ＴＤＩ，および，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。
【００７９】
次いで，図９に示した回路を含むスキャンテスト回路の全体構成の一例について，図１０を参照しながら説明する。スキャンテスト回路３０は，フリップフロップ３００と，ＡＮＤゲート３０１と，組み合わせ回路３１０と，ＯＲゲート３０２を含み，さらに，フリップフロップ３２０，３３０と，バッファ３１１，３１２を含んで構成されている。
【００８０】
フリップフロップ３００のスキャンシフトイネーブル入力ピンＳＥには，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。フリップフロップ３００のスキャンデータ入力ＳＩには，スキャンデータＳＩが入力されている。スキャンデータＳＩは，フリップフロップ３２０のスキャン出力など，スキャンシフト時にフリップフロップ３００にスキャンデータをシフトさせるための信号である。フリップフロップ３００のデータ入力ピンＤＩには，データＤＩが入力されている。データＤＩはフリップフロップ３２０の出力データがバッファ３１１で増幅されて入力されている。
【００８１】
フリップフロップ３００の出力Ｑからは，データＤＯが出力されている。フリップフロップ３００の出力データＤＯは，フリップフロップ３００のスキャン出力データとしても使用され，図示しない他のフリップフロップのスキャン入力に使用されている。また，フリップフロップ３００にクロック信号ＣＬＫが入力されている。このクロック信号ＣＬＫは，スキャンテスト時のスキャンクロックとして使用される。
【００８２】
フリップフロップ３００の非同期リセット入力ピン（Ｒ：正論理）には，リセット信号ＲＳＴが入力されている。リセット信号ＲＳＴは，ＡＮＤゲート３０１から出力されている。ＡＮＤゲート３０１の入力として，組み合わせ回路３１０の出力データＬＯが正論理で入力され，ＯＲゲート３０２の出力信号ＯＲＯが負論理で入力されている。
【００８３】
ＯＲゲート３０２の入力として，外部からテストデータ入力ＴＤＩ，および，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥが入力されている。
【００８４】
図１０に示した例において，組み合わせ回路３１０は，フリップフロップ３２０，３３０の出力信号を入力とするＡＮＤゲートにより構成されている。なお，組み合わせ回路の構成は，図１０に示した組み合わせ回路３１０の構成に限定されるものではない。フリップフロップ３２０の出力信号（バッファ３１１の入力信号）をａ，フリップフロップ３３０の出力信号をｂ，ＡＮＤゲートの出力信号をｙとすると，スキャンシーケンス状態終了後（スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥ＝０）の信号ａ，ｂ，ｙと，ＯＲゲート３０２の出力信号ＯＲＯ，リセット信号ＲＳＴ，フリップフロップ３００の状態，バッファ３１１のピンａが０に縮退している故障（ｓｔｕｃｋ  ａｔ  ０：ＳＡ０）をテストできる／できない，の関係は，すでに参照した図７に示した通りである。
【００８５】
図７に示すように，マスク機能を設けることによって，フリップフロップ３００のリセットを実施する／しないを自由にコントロールできるので，テストパターンの融通が効くようになる。テスト時間を短くするために，テストパターンを圧縮することが可能である。すなわち，同じ状態を実現できるテストパターンを削減する作業をツール上で行うが，マスク機能を設けることによってテストパターンを圧縮することが可能である。
【００８６】
次いで，スキャンテスト回路３０の動作の一例を，図１１を参照しながら説明する。本実施の形態の動作を説明するタイミングチャートを図１１に示す。スキャンテストシーケンスについては第１，２の実施の形態と同様であり，また，クロックＣＬＫ，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥ，および，組み合わせ回路３１０の出力ＬＯの波形は第１，２の実施の形態の動作と同様である。
【００８７】
ｔｓ０，ｔｃ０，ｔｓ１，ｔｃ１，ｔｓ３，ｔｃ３におけるフリップフロップ３００のリセット入力信号ＲＳＴ，フリップフロップ３００のデータ入力ＤＩ，およびデータ出力ＤＯの動作波形も第２の実施と同様である。第２の実施の形態では，スキャンフリップフロップ２０３にスキャンローディングされているデータＳＦＦＯによって，キャプチャシーケンス中のフリップフロップ３００のリセット入力信号ＲＳＴの有効・無効を制御していたが，第３の実施の形態では外部テストデータ入力信号ＴＤＩによって制御する。
【００８８】
ｔｓ２のクロック立ち上がりで，組み合わせ回路３１０の出力ＬＯ＝１となり，外部テストデータ入力ＴＤＩ＝１となるように制御し，スキャンシフトイネーブル信号ＳＣＡＮ＿ＳＥ＝０となってキャプチャシーケンスが始まると，任意のタイミングｔ０で，外部テストデータ入力ＴＤＩ＝０とする。このときＯＲゲート３０２の出力ＯＲＯ＝０となり，組み合わせ回路３１０の出力ＬＯ＝１であるため，ＡＮＤゲート３０１の出力ＲＳＴ＝１となり，フリップフロップ３００はリセットされる。
【００８９】
キャプチャタイミングｔｃ２後のキャプチャシーケンス中の任意のタイミングｔ１で，外部テストデータ入力ＴＤＩ＝１とする。このときＯＲゲート３０２の出力ＯＲＯ＝１となり，組み合わせ回路３１０の出力ＬＯ＝１であるため，ＡＮＤゲート３０１の出力ＲＳＴ＝０となり，フリップフロップ３００のリセットが解除される。
【００９０】
以上のように，スキャンシフトシーケンス中は非同期リセット信号によりスキャンシフトデータをリセットすることなくスキャンシフトし，キャプチャサイクル時の組み合わせ回路３１０の出力ＬＯと，これを有効・無効にマスク制御可能な外部テストデータ入力ＴＤＩによって，フリップフロップ３００のリセット・非リセット状態をテストすることができる。
【００９１】
（第３の実施の形態の効果）
以上説明したように，本実施の形態によれば，スキャンテスト用の専用のテスト専用ピンＴＤＩ，ＡＮＤゲート３０１，ＯＲゲート３０２追加のみでフリップフロップ３００のリセット回路のスキャンテストを実行できるので，スキャンテスト回路規模を小さくできるという効果がある。非同期リセット付きフリップフロップのリセット回路の信号に対して，これを有効・無効にマスク制御可能なテスト設けているので，スキャンテスト制御性が向上し，テストパターン数を少なくできるという効果がある。また，スキャンテスト用の専用のテスト専用ピンを任意のタイミングで制御できるので，タイミング設計がしやすいという効果がある。
【００９２】
以上，添付図面を参照しながら本発明にかかるスキャンテスト回路の好適な実施形態について説明したが，本発明はかかる例に限定されない。当業者であれば，特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【００９３】
例えば，上記実施の形態として，非同期リセット回路を用いたが，非同期セット回路にも同様に適用可能であり，セット・リセット信号のハイアクティブ・ローアクティブに関係なく用いることが可能である。また，上記実施の形態中のＡＮＤゲート，ＯＲゲートは論理関係を示すための回路構成例であり，同様の論理を生成するものであれば，この構成に限られたものではない。
【００９４】
【発明の効果】
以上説明したように，本発明によれば，以下のような優れた効果を有する。
【００９５】
スキャンテスト用の専用のスキャンテストモード入力，外部リセット入力のピンなど，テスト専用ピンを別途設ける必要がないので，ＬＳＩのピンを少なくできるという効果がある。また，リセット制御手段の追加のみで，フリップフロップ（例えば，非同期リセット付きフリップフロップ）のリセット回路のスキャンテストを実行できるので，少ないスキャンテスト回路規模でスキャンテストの故障検出率を向上できるという効果がある。
【００９６】
また，フリップフロップ（例えば，非同期リセット付きフリップフロップ）のリセット回路の信号に対して，これの有効・無効を制御するマスク手段と，該マスク手段を制御するマスク制御手段とを設けているので，スキャンテスト制御性が向上し，テストパターン数を少なくできるという効果がある。
【００９７】
また，スキャンテスト用の専用の入力手段（例えば，テスト専用ピン）を任意のタイミングで制御できるので，タイミング設計がしやすいという効果がある。
【図面の簡単な説明】
【図１】第１の実施の形態にかかるスキャンテスト回路の特徴部分の構成を示す説明図である。
【図２】第１の実施の形態にかかるスキャンテスト回路の全体構成の一例を示す説明図である。
【図３】組み合わせ回路の状態を示す説明図である。
【図４】第１の実施の形態にかかるスキャンテスト回路の動作を示す説明図である。
【図５】第２の実施の形態にかかるスキャンテスト回路の特徴部分の構成を示す説明図である。
【図６】第２の実施の形態にかかるスキャンテスト回路の全体構成の一例を示す説明図である。
【図７】組み合わせ回路の状態を示す説明図である。
【図８】第２の実施の形態にかかるスキャンテスト回路の動作を示す説明図である。
【図９】第３の実施の形態にかかるスキャンテスト回路の特徴部分の構成を示す説明図である。
【図１０】第３の実施の形態にかかるスキャンテスト回路の全体構成の一例を示す説明図である。
【図１１】第３の実施の形態にかかるスキャンテスト回路の動作を示す説明図である。
【符号の説明】
１０，２０，３０  スキャンテスト回路
１００，２００，３００  非同期リセット付きフリップフロップ
１０１，２０１，３０１  ＡＮＤゲート
１１０，２１０，３１０  組み合わせ回路
２０２，３０２  ＯＲゲート
２０３  任意データロード用スキャンフリップフロップ
ＴＤＩ  テスト専用ピン
【図１】
0003606525.tif 000002
【図２】
0003606525.tif 000003
【図３】
0003606525.tif 000004
【図４】
0003606525.tif 000005
【図５】
0003606525.tif 000006
【図６】
0003606525.tif 000007
【図７】
0003606525.tif 000008
【図８】
0003606525.tif 000009
【図９】
0003606525.tif 000010
【図１０】
0003606525.tif 000011
【図１１】
0003606525.tif 000012