(57)【特許請求の範囲】
【請求項１】
クロックの立ち上りエッジ又は立下りエッジに同期して動作するスキャンフリップフロップであって、
データ又はスキャンテストデータが選択的に入力されるマスタラッチと、
前記マスタラッチから出力されたデータが入力されるスレーブラッチとを有し、
前記マスタラッチ及びスレーブラッチのうちいずれか一方がハイレベルラッチであり、他方がローレベルラッチであって、
スキャンシフト時には、前記マスタラッチは、スキャンシフトデータを第１のクロックで取り込んで出力し、前記スレーブラッチは、前記マスタラッチから出力される前記スキャンシフトデータを前記第１のクロックとはエッジ位置が異なる第２のクロックで取り込んで出力し
スキャンシフト時以外は、前記マスタラッチは、データを通常クロックで取り込んで出力し、前記スレーブラッチは、前記マスタラッチから出力される前記データを前記通常クロックで取り込んで出力し、
クロックの立上りエッジに同期して動作するＰｏｓタイプＦ／Ｆのスキャンフリップフロップの場合、スキャンシフト時は、スキャンシフトデータを前記第１のクロックで取り込み第２のクロックで出力し、
クロックの立下りエッジに同期して動作するＮｅｇタイプＦ／Ｆのスキャンフリップフロップの場合、スキャンシフト時は、スキャンシフトデータを前記第２のクロックで取り込み前記第１のクロックで出力する
スキャンフリップフロップ。
【請求項２】
前記第１のクロックは、前記通常クロックであり、前記第２のクロックはスキャンクロックである
請求項１記載のスキャンフリップフロップ。
【請求項３】
前記第１及び第２のクロックは、前記通常クロックとは異なる第１及び第２のスキャンクロックである
請求項１記載のスキャンフリップフロップ。
【請求項４】
前記第１のクロックがロウレベルのとき前記第２のクロックはロウレベルであり、前記第２のクロックがハイレベルであるとき前記第１のクロックはハイレベルである
請求項１記載のスキャンフリップフロップ。
【請求項５】
前記第１のクロックの立上りエッジは、前記第２のクロックの立上りエッジより前に位置し、前記第１のクロックの立下りエッジは前記第２のクロックの立下りエッジより後に位置する
請求項４記載のスキャンフリップフロップ。
【請求項６】
前記第２のクロックの立下りエッジは、前記第１のクロックの立下りエッジより前に位置し、前記第２のクロックの立上りエッジは前記第１のクロックの立上りエッジより後に位置する
請求項４記載のスキャンフリップフロップ。
【請求項７】
通常データとスキャンシフトデータとをスキャンモード信号により前記マスタラッチに選択出力する第１の選択器と、
前記第１のクロック及び前記通常クロックを、前記スキャンモード信号により前記マスタラッチに選択出力する第２の選択器とを有する
前記第２のクロック及び前記通常クロックを、前記スキャンモード信号により前記スレーブラッチに選択出力する第３の選択器とを有する
請求項１記載のスキャンフリップフロップ。
【請求項８】
通常データとスキャンシフトデータとをスキャンモード信号により前記マスタラッチに選択出力する第１の選択器と、
前記通常クロック及びスキャンクロックを、前記スキャンモード信号により前記スレーブラッチに選択出力する第４の選択器とを有する
請求項１記載のスキャンフリップフロップ。
【請求項９】
通常データとスキャンシフトデータとをスキャンモード信号により前記マスタラッチに選択出力する第１の選択器と、
前記通常クロック及びスキャンクロックを、前記スキャンモード信号により前記マスタラッチに選択出力する第５の選択器とを有する
請求項１項記載のスキャンフリップフロップ。
【請求項１０】
それぞれ、いずれか一方がハイレベルラッチであり、他方がローレベルラッチであるマスタラッチ及びスレーブラッチを有し、クロックの立上りエッジに同期して動作するＰｏｓタイプスキャンフリップフロップ（ＰｏｓタイプＦ／Ｆ）とクロックの立下りエッジに同期して動作するＮｅｇタイプスキャンフリップフロップ（ＮｅｇタイプＦ／Ｆ）とを有し、
前記ＰｏｓタイプＦ／Ｆと前記ＮｅｇタイプＦ／Ｆとが混在してスキャンチェーンを構成するものであって、
前記ＰｏｓタイプＦ／Ｆは、スキャンシフト時は、スキャンシフトデータを第１のクロックで取り込み前記第１のクロックとはエッジ位置が異なる第２のクロックで出力し、
前記ＮｅｇタイプＦ／Ｆは、スキャンシフト時は、スキャンシフトデータを前記第２のクロックで取り込み前記第１のクロックで出力する、スキャンテスト回路。
【請求項１１】
前記ＰｏｓタイプＦ／Ｆ同士を接続する際、及び前記ＮｅｇタイプＦ／Ｆを接続する際にはホールド保障のための遅延回路を介すことなく接続する
請求項１０記載のスキャンテスト回路。
【請求項１２】
スキャンシフト時以外は入力データを通常クロックで取り込み出力する
請求項１０又は１１記載のスキャンテスト回路。
【請求項１３】
前記第１のクロックは、通常クロックであり、前記第２のクロックはスキャンクロックである
請求項１０乃至１２のいずれか１項記載のスキャンテスト回路。
【請求項１４】
前記第１及び第２のクロックは、通常クロックとは異なる第１及び第２のスキャンクロックである
請求項１０乃至１２のいずれか１項記載のスキャンテスト回路。
【請求項１５】
それぞれ、いずれか一方がハイレベルラッチであり、他方がローレベルラッチであるマスタラッチ及びスレーブラッチを有し、クロックの立上りエッジに同期して動作するＰｏｓタイプスキャンフリップフロップ（ＰｏｓタイプＦ／Ｆ）とクロックの立下りに同期して動作するＮｅｇタイプスキャンフリップフロップ（ＮｅｇタイプＦ／Ｆ）とが混在してスキャンチェーンを構成するスキャンテスト回路の制御方法であって、
スキャンシフト時には、
前記ＰｏｓタイプＦ／Ｆの前記マスタラッチ及び前記スレーブラッチに、それぞれ第１のクロック及び当該第１のクロックとはエッジ位置が異なる第２のクロックを入力し
前記ＮｅｇタイプＦ／Ｆの前記マスタラッチ及び前記スレーブラッチに、それぞれ前記第２のクロック及び前記第１のクロックを入力する、スキャンテスト回路の制御方法。
【請求項１６】
スキャンシフト時以外は入力データを通常クロックで取り込み出力する
請求項１５記載のスキャンテスト回路の制御方法。
【請求項１７】
前記第１のクロックは、通常クロックであり、前記第２のクロックはスキャンクロックである
請求項１５又は１６記載のスキャンテスト回路の制御方法。
【請求項１８】
前記第１及び第２のクロックは、通常クロックとは異なる第１及び第２のスキャンクロックである
請求項１５又は１６記載のスキャンテスト回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のスキャンテストを実施する際に使用されるスキャンフリップフロップ回路及びそのスキャンフリップフロップ回路を使用したテスト回路及びその制御方法に関し、特にマスタラッチ及びスレーブラッチの２つのラッチ回路から構成されるスキャンフリップフロップ回路を利用した技術に関する。
【背景技術】
【０００２】
従来、ＬＳＳＤ（（Level Sensitive Scan Design））ラッチを使用したスキャンテストが公知である。ＬＳＳＤラッチを用いたスキャンテストに関する技術は、例えば非特許文献１、非特許文献２、及び特許文献１の図６等、多数の文献に示されている。
【０００３】
図１８は、これらの従来文献に記載されている代表的なＬＳＳＤラッチ回路を示す図である。図１８に示すように、ＬＳＳＤ回路８００は、Ｌｏｗレベルラッチであるラッチ回路３０２、Ｌｏｗレベルラッチであるラッチ回路３０３とから構成される。
【０００４】
ラッチ回路３０２はデータ入力Ｄ、クロックＣ、スキャンシフトデータ入力Ｉ、スキャンクロックＡ、が入力され、データ出力Ｌ１に出力される。ラッチ回路３０３はラッチ回路３０２からの出力データと、スキャンクロックＢが入力され、データ出力Ｌ２に出力される。
【０００５】
ここで、Ｌｏｗレベルラッチとは、データをクロックのＬｏｗレベルで取り込み、Ｈｉレベルで保持する回路をいい、Ｈｉｇｈレベルラッチとは、データをクロックのＨｉレベルで取り込み、Ｌｏｗレベルで保持する回路をいう。
【０００６】
近年、ＬＳＩ（Large Scale Integration）等の半導体集積回路は、高速化及び大規模化に伴いタイミング設計容易性の観点よりフリップフロップ（Ｆ／Ｆ）を用いて構成される。通常、Ｆ／Ｆはマスタラッチ、スレーブラッチのラッチ回路２段にて構成される。よって、図１８のＬＳＳＤラッチを用いて、ＬＳＳＤタイプのＦ／Ｆを構成するには、ＬＳＳＤラッチの入力側にマスタラッチを追加した構成となる。
【０００７】
以下に、このＬＳＳＤタイプのＦ／Ｆを用いた従来のスキャンテストについて詳細に説明する。本明細書において、「通常動作」とはユーザ回路動作を示し、「キャプチャ動作」とはユーザ回路を用いてスキャンフリップに検査データを取り込む動作を示し、「スキャンシフト動作」とは、スキャンテスト時に検査データをフリップフロップから次のフリップフロップにシフト動作させることを示すものとする。
【０００８】
図１９は、従来のＬＳＳＤタイプであって、Ｐｏｓタイプスキャンフリップフロップ回路（以下、ＰｏｓタイプＦ／Ｆという。）を示す回路図である。ここで、ＰｏｓタイプＦ／Ｆとは、クロックの立上りエッジに同期して動作するＦ／Ｆのことをいう。
【０００９】
図１９に示すように、ＰｏｓタイプＦ／Ｆ３００は、Ｌｏｗレベルラッチからなるラッチ回路３０１、Ｈｉレベルラッチからなるラッチ回路３０２、Ｈｉレベルラッチからなるラッチ回路３０３とから構成される。
【００１０】
ラッチ回路３０１は、データ入力にデータ入力信号Ｄが入力され、ラッチ信号に通常クロックＣが入力され、データ信号Ｙを出力する。ラッチ回路３０２は、ラッチ信号にスキャンシフト専用クロック（スキャンシフトクロック）ＳＡと、通常クロックＣが入力され、データ入力にスキャンシフトデータ入力ＳＩと、ラッチ回路３０１の出力であるデータ信号Ｙが入力される。ラッチ回路３０３は、ラッチ信号にスキャンシフトクロックＳＢが入力され、データ入力にラッチ回路３０２からの出力であるデータ出力Ｑが入力され、スキャンアウト信号ＳＯに出力される。
【００１１】
図２０は、図１９に示すＰｏｓタイプＦ／Ｆ３００のラッチ回路３０２の詳細の一例を示す回路図である。図２０に示すように、ラッチ回路３０２は、Ｈｉレベルラッチからなるラッチ回路３１０と、セレクタ回路３１１と、ＯＲ回路３１２とから構成される。
【００１２】
セレクタ回路３１１は、スキャンシフトデータ入力ＳＩとデータ信号Ｙを入力とし、スキャンシフトクロックＳＡがＨｉレベルの時はスキャンシフトデータ入力ＳＩを出力し、Ｌｏｗレベルの時はデータ信号Ｙを出力する。ＯＲ回路３１２にはスキャンシフトクロックＳＡと通常クロックＣが入力され、ラッチ回路３１０のラッチ信号に出力する。ラッチ回路３１０は、データ入力にセレクタ回路３１１からの出力が入力され、ラッチ信号にＯＲ回路３１２からの出力が入力され、データ出力Ｑを出力する。
【００１３】
図２１は、図１９に示すＰｏｓタイプＦ／Ｆ３００を用いた遷移遅延テストの動作を示すタイミングチャートである。図２１は、通常クロックＣ、スキャンシフトクロックＳＡ、ＳＢ、データ入力信号Ｄ、スキャンシフトデータ入力ＳＩ、ラッチ回路３０１の出力データ信号Ｙ、ラッチ回路３０２の出力データＱ、及びラッチ回路３０３の出力スキャンアウトＳＯの動作を示す。また、スキャンシフトサイクルＳＳ１はスキャンシフト動作の最後の３サイクル期間で、スキャンキャプチャーサイクルＳＣはスキャンキャプチャ動作期間で、スキャンシフトサイクルＳＳ２はスキャンキャプチャ動作後最初のスキャンシフト動作期間を示す。
【００１４】
まず、スキャンシフト動作の説明をクロックサイクルＣ１とＣ２を用いて説明する。スキャンシフトサイクルＳＳ１期間において、通常クロックＣはＬｏｗレベルとなる。時刻Ｔ１００において、スキャンシフトクロックＳＡが立上るため、ラッチ回路３０２はスルー状態となってスキャンイン端子ＳＩからの検査データＤ１を取り込み、出力データ端子Ｑへ出力する。時刻Ｔ１０１において、スキャンシフトクロックＳＡが立下がるため、ラッチ回路３０２はスキャンイン端子ＳＩからの検査データＤ１を保持する。
【００１５】
時刻Ｔ１０２において、スキャンシフトクロックＳＢが立上るため、ラッチ回路３０３はスルー状態となって出力データ端子Ｑからの検査データＤ１を取り込み、スキャンアウト端子ＳＯへ出力する。時刻Ｔ１０３において、スキャンシフトクロックＳＢが立下がる為、ラッチ回路３０３は出力データ端子Ｑからの検査データＤ１を保持する。
【００１６】
次に、キャプチャ動作の説明をクロックサイクルＣ４、Ｃ５を用いて説明する。時刻Ｔ１１０において、通常クロックＣが立上るため、ラッチ回路３０１はデータ入力端子ＤからのキャプチャーデータｃａｐＡ（図中、ｃＡ又はＡとも示す。）を保持し、データ信号Ｙへ出力する。また時刻Ｔ１１０において、ラッチ回路３０２はラッチ回路３０１からの出力信号データ信号ＹであるｃａｐＡを取り込む。
【００１７】
時刻Ｔ１１１において、通常クロックＣが立下るため、ラッチ回路３０１はデータ入力端子ＤからのキャプチャーデータｃａｐＢを取り込む。また、時刻Ｔ１１１において、ラッチ回路３０２はラッチ回路３０１からの出力信号データＹであるｃａｐＡを保持する。
【００１８】
時刻Ｔ１１２において、通常クロックＣが立上るため、ラッチ回路３０１はデータ入力端子ＤからのキャプチャーデータｃａｐＢ（図中、ｃＢ又はＢとも示す。）を保持する。また時刻Ｔ１１２において、ラッチ回路３０２はラッチ回路３０１からの出力信号データ信号ＹであるｃａｐＢを取り込む。
【００１９】
時刻Ｔ１１３において、通常クロックＣが立下るため、ラッチ回路３０２はラッチ回路３０１からの出力信号データ信号ＹであるｃａｐＢを保持する。
【００２０】
図２２は従来のＬＳＳＤタイプであって、Ｎｅｇタイプスキャンフリップフロップ回路（以下、ＮｅｇタイプＦ／Ｆという）を示す回路図である。ここで、ＮｅｇタイプＦ／Ｆとは、クロックの立下りエッジに同期して動作するＦ／Ｆのことをいう。
【００２１】
図２２に示すように、ＮｅｇタイプＦ／Ｆ４００は、Ｈｉレベルラッチであるラッチ回路４０１、Ｌｏｗレベルラッチであるラッチ回路４０２、及びＬｏｗレベルラッチであるラッチ回路４０３から構成される。
【００２２】
ラッチ回路４０１は、データ入力にデータ入力信号Ｄが、ラッチ信号に通常クロックＣＢが入力される。ラッチ回路４０２は、ラッチ信号にスキャンシフトクロックＳＡと、通常クロックＣが入力され、データ入力にスキャンシフトデータ入力ＳＩと、ラッチ回路４０１の出力であるデータ信号Ｙが入力される。ラッチ回路４０３は、ラッチ信号にスキャンシフトクロックＳＢが入力され、データ入力にラッチ回路４０２からの出力であるデータ出力Ｑが入力され、スキャンアウト信号ＳＯに出力される。
【００２３】
図２３は、図２２に示すＮｅｇタイプＦ／Ｆ４００のラッチ回路４０２の詳細の一例を示す回路図である。
【００２４】
図２３に示すように、ラッチ回路４０２は、Ｌｏｗレベルラッチであるラッチ回路４１０と、セレクタ回路４１１と、ＡＮＤ回路４１２とから構成される。
【００２５】
セレクタ回路４１１は、スキャンシフトデータ入力ＳＩとデータ信号Ｙを入力とし、スキャンシフトクロックＳＡＢがＬｏｗレベルの時はスキャンシフトデータ入力ＳＩを出力し、Ｈｉレベルの時はデータ信号Ｙを出力する。ＡＮＤ回路４１２はスキャンシフトクロックと通常クロックＣＢが入力され、ラッチ回路４１０のゲート信号に出力する。
ラッチ回路４１０は、データ入力にセレクタ回路４１１からの出力が入力され、ゲート端子にＡＮＤ回路３１２からの出力が入力され、データ出力Ｑを出力する。
【００２６】
図２４は、図２２に示すＮｅｇタイプＦ／Ｆ４００を用いた遷移遅延テストの動作を示すタイミングチャートである。図２４は、通常クロックＣＢ、スキャンシフトクロックＳＡＢ、ＳＢＢ、データ入力信号Ｄ、スキャンシフトデータ入力ＳＩ、ラッチ回路４０１の出力データ信号Ｙ、ラッチ回路４０２の出力データＱ、及びラッチ回路４０３の出力スキャンアウトＳＯの動作を示す。また、スキャンシフトサイクルＳＳ１はスキャンシフト動作の最後の３サイクル期間で、スキャンキャプチャーサイクルＳＣはスキャンキャプチャ動作期間で、スキャンシフトサイクルＳＳ２はスキャンキャプチャ動作後最初のスキャンシフト動作期間を示す。
【００２７】
まず、スキャンシフト動作の説明をクロックサイクルＣ１とＣ２を用いて説明する。図２４に示すように、時刻Ｔ２００において、スキャンシフトクロックＳＡＢが立下るため、ラッチ回路４０２はスルー状態となってスキャンイン端子ＳＩからの検査データＤ１を取り込み、出力データ端子Ｑへ出力する。時刻Ｔ２０１において、スキャンシフトクロックＳＡが立上るため、ラッチ回路４０２はスキャンイン端子ＳＩからの検査データＤ１を保持する。
【００２８】
時刻Ｔ２０２において、スキャンシフトクロックＳＢが立上るため、ラッチ回路４０３はスルー状態となって出力データ端子Ｑからの検査データＤ１を取り込み、スキャンアウト端子ＳＯへ出力する。
【００２９】
時刻Ｔ２０３において、スキャンシフトクロックＳＢが立上るため、ラッチ回路４０３は出力データ端子Ｑからの検査データＤ１を保持する。
【００３０】
次に、キャプチャ動作の説明をクロックサイクルＣ４、Ｃ５を用いて説明する。
刻Ｔ２１０において、通常クロックＣＢが立下るため、ラッチ回路４０１はデータ入力端子ＤからのキャプチャーデータｃａｐＡを保持し、データ信号Ｙへ出力する。また時刻Ｔ２１０において、ラッチ回路４０２はラッチ回路４０１からの出力信号データ信号ＹであるｃａｐＡを取り込む。
【００３１】
時刻Ｔ２１１において、通常クロックＣＢが立上るため、ラッチ回路４０１はデータ入力端子ＤからのキャプチャーデータｃａｐＢを取り込む。また時刻Ｔ２１１において、ラッチ回路４０２はラッチ回路４０１からの出力信号データＹであるｃａｐＡを保持する。
【００３２】
時刻Ｔ２１２において、通常クロックＣＢが立下るため、ラッチ回路４０１はデータ入力端子ＤからのキャプチャーデータｃａｐＢを保持する。また時刻Ｔ２１２において、ラッチ回路４０２はラッチ回路４０１からの出力信号データ信号ＹであるｃａｐＢを取り込む。
【００３３】
時刻Ｔ２１３において、通常クロックＣＢが立上るため、ラッチ回路４０２はラッチ回路４０１からの出力信号データ信号ＹであるｃａｐＢを保持する。
【００３４】
ところで、既存のクロック周波数を上げずにスループットを２倍にすることを目的としたプロセッサやＤＤＲメモリインターフェース等の回路があるが、これらの回路を搭載する半導体集積回路では、クロック信号の立上がりと立下がりのそれぞれでデータをやり取りするような回路構成が存在する。つまり、ＰｏｓタイプＦ／ＦとＮｅｇタイプＦ／Ｆとが接続する構成を有する。ところが、この従来のＬＳＳＤラッチを使用したスキャンＦ／Ｆにおいては、ＰｏｓタイプＦ／ＦとＮｅｇタイプＦ／Ｆとを接続する場合、当該回路間の遷移遅延故障テストを行えないという問題点がある。
【００３５】
次に、ＮｅｇタイプＦ／ＦとＰｏｓタイプＦ／Ｆとが接続された回路におけるスキャンテスト回路構成を説明する。図２５はＮｅｇタイプＦ／ＦとＰｏｓタイプＦ／Ｆとが接続された回路におけるスキャンテスト回路構成を示す図である。
【００３６】
図２５に示すように、スキャンテスト回路５１０は、ＰｏｓタイプＦ／Ｆ３００と、ＮｅｇタイプＦ／Ｆ４００と、ユーザ組合せ回路１００２、１００３と、前段のスキャンフリップフロップ回路１０１０とから構成される。
【００３７】
ＮｅｇタイプＦ／Ｆ４００は、前段のスキャンフリップフロップ回路１０１０からの出力信号がスキャンイン端子ＳＩ、スキャンシフトクロックＳＡがスキャンシフトクロック端子ＳＡＢ、スキャンシフトクロックＳＢがスキャンシフトクロック端子ＳＢＢ、ユーザ組合せ回路１００３からの出力がデータ信号端子Ｄ、通常クロックＣが通常クロック端子ＣＢに入力される。データ出力端子Ｑは、ユーザ組合せ回路１００２に入力される。
【００３８】
ＰｏｓタイプＦ／Ｆ３００は、ＮｅｇタイプＦ／Ｆ４００からの出力信号であるＳＯがスキャンシフト端子ＳＩに接続され、ユーザ組合せ回路１００２からの出力がデータ入力端子Ｄに、スキャンシフトクロックＳＡ、ＳＢがそれぞれスキャンシフトクロック端子ＳＡ、ＳＢに、通常クロックＣが通常クロック端子Ｃに入力される。
【００３９】
図２６は、図２５に示す従来のスキャンテスト回路におけるスキャンシフト動作を示すタイミングチャートである。図２６には、ＮｅｇタイプＦ／Ｆ信号ＳＩＧ１と、ＰｏｓタイプＦ／Ｆ信号ＳＩＧ２の、スキャンシフトサイクルＳＳとスキャンキャプチャーサイクルＳＣの期間における、信号レベルの変化を示している。
【００４０】
図２６に示すように、ＮｅｇタイプＦ／Ｆ信号ＳＩＧ１は、ＮｅｇタイプＦ／Ｆの入力端子である、通常クロック端子ＣＢ、スキャンシフトクロック端子ＳＡＢ、ＳＢＢ、スキャンイン端子ＳＩ、及びデータ入力端子Ｄに入力される信号、並びにＮｅｇタイプＦ／Ｆの出力端子である、データ出力端子Ｑ、及びスキャンアウト端子ＳＯから出力される信号を示している。
【００４１】
ＰｏｓタイプＦ／Ｆ信号ＳＩＧ２は、ＰｏｓタイプＦ／Ｆの入力端子である、通常クロック端子Ｃ、スキャンシフトクロック端子ＳＡ、ＳＢ、スキャンイン端子ＳＩ、及びデータ入力端子Ｄに入力される信号、並びにＰｏｓタイプＦ／Ｆの出力端子である、データ出力端子Ｑ、及びスキャンアウト端子ＳＯから出力される信号を示している。
【００４２】
スキャンシフトサイクルＳＳはクロックサイクルＣ１、Ｃ２、Ｃ３から構成される。また、スキャンキャプチャーサイクルＳＣはクロックサイクルＣ４、Ｃ５から構成されるものとする。
【００４３】
時刻Ｔ３００において、ＮｅｇタイプＦ／ＦのスキャンアウトＳＯはＮｅｇタイプＦ／ＦのスキャンインＳＩから検査データＤ１を出力する。また時刻Ｔ３００において、ＰｏｓタイプＦ／ＦはＮｅｇタイプＦ／Ｆからの検査データＤ１を取り込む。
【００４４】
時刻Ｔ３０１において、ＰｏｓタイプＦ／ＦはＮｅｇタイプＦ／Ｆからの検査データＤ１を出力する。
【００４５】
上述したように、ＮｅｇタイプＦ／ＦとＰｏｓタイプＦ／Ｆが接続された回路間の遷移遅延故障テストを実施する場合、１クロックサイクル期間Ｃ１内における、時刻Ｔ３００で出力されるＮｅｇタイプＦ／ＦのスキャンインＳＩからの検査データＤ１が、時刻Ｔ３０１においてＰｏｓタイプＦ／Ｆのスキャンアウトから出力されてしまい、正しいシフト動作が行われない。
【００４６】
すなわち、本来であれば、ＮｅｇタイプＦ／Ｆには、図２６に示すスキャンシフトクロックＳＡＢ、ＳＢＢではなく、図２６に示す信号とは極性が反対の図２４に示すスキャンシフトクロックＳＡＢ、ＳＢＢを入力しなければならない。ところが、図２５に示すように、ＮｅｇタイプＦ／ＦとＰｏｓタイプＦ／Ｆとを接続すると、いずれか１種類のスキャン専用クロックＳＡ、ＳＢ又はＳＡＢ、ＳＢＢしか入力することができず、結果シフト動作が正しく行われないという問題が生じる。そこで、従来のＬＳＳＤタイプのＦ／Ｆを使用したスキャンテスト回路においては、ＮｅｇタイプＦ／ＦとＰｏｓタイプＦ／Ｆとを接続する場合には、スキャン専用クロックを反転するためのインバータが挿入されている。
【００４７】
この従来のＬＳＳＤタイプのＦ／Ｆを使用することで、ホールド時間の確保を不要（ホールドフリー）とすることができる。ところが、近年、ＬＳＩ等の半導体集積回路は、高速化やプロセスの微細化により、配線幅、配線ピッチが小さくなり、断線寸前の配線や不完全なＶＩＡを通った配線故障をスクリーニングするために、実動作周波数での遅延故障テストが必須となってきた。
【００４８】
実動作周波数での遅延故障テストは、図２６に示すクロック信号ＣＢ（又はクロック信号Ｃ）で行われる。しかしながら、上述したように、ＮｅｇタイプＦ／Ｆのクロック信号ＣＢは、図２４に示す形状でなければならず、図２６に示すクロック信号ＣＢを入力してしまうと、回路が正しく動作しない。したがって、クロック信号ＣＢについても、インバータを挿入してクロック信号を反転させる必要がある。
【００４９】
しかしながら、実動作周波数での遅延故障は、実動作環境で行わなければならず、本来の実動作で使用しないインバータを挿入したままテストすることはできない。すなわち、ＬＳＳＤタイプのＦ／Ｆを使用してスキャンテスト回路を構成する場合は、ＮｅｇタイプＦ／ＦとＰｏｓタイプＦ／Ｆとが接続される場合は、スキャン専用クロック、及びクロック信号を反転させるため、必ずインバータを挿入する必要があるが、インバータを挿入すると実動作周波数での遅延テストを実行することができなかった。
【００５０】
そこで、近時の半導体集積回路のスキャンテストでは、ＮｅｇタイプＦ／ＦとＰｏｓタイプＦ／Ｆとで同一のクロック信号で動作するＭＵＸＳＣＡＮタイプのフリップフロップが広く使用されている（特許文献２の図２等）。さらに、ＭＵＸＳＣＡＮタイプのＦ／Ｆは、通常ラッチ３個で構成されるＬＳＳＤタイプのＦ／Ｆと比較すると、ラッチ２個で構成することができるため、ゲート規模が小さいというメリットも有する。
【００５１】
次に、ＭＵＸＳＣＡＮタイプのＦ／Ｆについて説明する。図２７は、ＰｏｓタイプのＦ／Ｆであって、ＭＵＸＳＣＡＮタイプのＦ／Ｆを示す回路図である。図２７に示すように、ＭＵＸＳＣＡＮ５００は、Ｌｏｗレベルラッチからなるマスタラッチ５１０、Ｈｉレベルラッチからなるスレーブラッチ５１１、及びセレクタ５２０から構成される。
【００５２】
セレクタ５２０には、データ信号とスキャンシフトデータとが入力される。そして、セレクタ５２０は、スキャンモードコントロール信号ＳＭＣがＨｉレベルの時にスキャンシフトデータ入力（スキャンイン）ＳＩＮを選択し、Ｌｏｗレベルの時は通常動作時のデータ入力信号Ｄを選択する。
【００５３】
マスタラッチ５１０のデータ入力端子は、セレクタ５２０の出力と接続され、マスタラッチ５１０のラッチ信号端子にはクロック信号ＣＬＫが入力される。
【００５４】
スレーブラッチ５１１のデータ入力端子はマスタラッチ５１０のデータ出力端子と接続され、スレーブラッチ５１１のラッチ信号端子にはクロック信号ＣＬＫが入力される。
【００５５】
図２８は、ＮｅｇタイプのＦ／Ｆであって、ＭＵＸＳＣＡＮタイプのＦ／Ｆを示す回路図である。図２８に示すように、ＭＵＸＳＣＡＮ６００は、Ｈｉレベルラッチからなるマスタラッチ６１０、Ｌｏｗレベルラッチからなるスレーブラッチ６１１、及びセレクタ６２０から構成される。
【００５６】
セレクタ６２０には、データ信号とスキャンシフトデータとが入力される。そして、セレクタ６２０は、スキャンモードコントロール信号ＳＭＣがＨｉレベルの時にスキャンシフトデータ入力ＳＩＮを選択し、Ｌｏｗレベルの時は通常動作時のデータ入力信号Ｄを選択する。
【００５７】
マスタラッチ６１０のデータ入力端子は、セレクタ６２０の出力と接続され、マスタラッチ６１０のラッチ信号端子にはクロック信号ＣＬＫが入力される。
【００５８】
スレーブラッチ６１１のデータ入力端子はマスタラッチ６１０のデータ出力端子と接続され、スレーブラッチ６１１のラッチ信号端子にはクロック信号ＣＬＫが入力される。
【００５９】
次に、ＭＵＸＳＣＡＮタイプのＦ／Ｆの動作について説明する。図２９は、ＭＵＸＳＣＡＮタイプのスキャンＦ／Ｆ（Ｐｏｓタイプ）の動作を示すタイミングチャートである。図２９には、ＭＵＸＳＣＡＮタイプのスキャンＦ／Ｆ（Ｐｏｓタイプ）における、クロック信号ＣＬＫ、スキャンモードコントロール信号ＳＭＣ、データ入力信号Ｄ、スキャンシフトデータ入力ＳＩＮ、マスタラッチの入力Ｍ、スレーブラッチの入力Ｓ、及びデータ出力Ｑの、スキャンシフトサイクルＳＳ（クロックＣ１、Ｃ２、Ｃ３）とキャプチャーサイクルＳＣ（クロックＣ４、Ｃ５）の期間における、信号レベルの変化を示す。
【００６０】
スキャンシフトサイクルＳＳでは、クロック信号ＣＬＫの立上りでマスタラッチ５１０がスキャンシフトデータ入力ＳＩＮからのデータを取り込み、クロック信号ＣＬＫの立下りでスレーブラッチ５１１がデータ信号を取り込み、次の立ち上がりでデータ出力Ｑに出力する。スキャンキャプチャーサイクルＳＣでは、データ入力からのデータをクロック信号ＣＬＫの立上りで取り込み、データ出力Ｑに出力する。
【００６１】
図３０は、ＭＵＸＳＣＡＮタイプのスキャンＦ／Ｆ（Ｎｅｇタイプ）の動作を示すタイミングチャートである。図３０には、ＭＵＸＳＣＡＮタイプのスキャンＦ／Ｆ（Ｎｅｇタイプ）における、クロック信号ＣＬＫ、スキャンモードコントロール信号ＳＭＣ、データ入力信号Ｄ、スキャンシフトデータ入力ＳＩＮ、マスタラッチの入力Ｍ、スレーブラッチの入力Ｓ、及びデータ出力Ｑの、スキャンシフトサイクルＳＳ（クロックＣ１、Ｃ２、Ｃ３）とキャプチャーサイクルＳＣ（クロックＣ４、Ｃ５）の期間における、信号レベルの変化を示す。
【００６２】
スキャンシフトサイクルＳＳでは、クロック信号ＣＬＫの立下がりでマスタラッチ６１０がスキャンシフトデータ入力ＳＩＮからのデータを取り込み、クロック信号ＣＬＫの立上がりでスレーブラッチ６１１がデータ信号を取り込み、次の立ち上がりでデータ出力Ｑに出力する。スキャンキャプチャーサイクルＳＣでは、データ入力からのデータをクロック信号ＣＬＫの立下がりで取り込み、データ出力Ｑに出力する。
【先行技術文献】
【特許文献】
【００６３】
【特許文献１】特開２００５−３０８４２１号公報（図６）
【特許文献２】特開２００７−１２７６０２号公報（図２）
【非特許文献】
【００６４】
【非特許文献１】ＬＳＳＤ（Level Sensitive Scan Design）[平成２３年２月２０日検索]インターネット＜http://www.cedcc.psu.edu/ee497i/rassp_43/sld089.htm＞
【非特許文献２】Chapter Design For Testability[平成２３年２月２０日検索]インターネット＜http://faculty.ksu.edu.sa/musaed/CEN491Doc/Scan-Path.ppt＞
【発明の概要】
【発明が解決しようとする課題】
【００６５】
図３１は、ＭＵＸＳＣＡＮタイプ（ＰＯＳタイプ）のＦ／Ｆ同士が接続された回路構成を示す図である。前段のスキャンフリップフロップ回路１０１０からのデータが紙面左側のＭＵＸＳＣＡＮ５００ａのスキャンシフトデータ入力端子ＳＩＮに接続され、そのデータ出力Ｑが次段のＭＵＸＳＣＡＮ５００ｂのスキャンシフトデータ入力端子ＳＩＮに接続される。組合せ回路１０００からの出力は、データ入力端子に接続される。
【００６６】
図３２は、図３１に示すＭＵＸＳＣＡＮタイプ（ＰＯＳタイプ）のＦ／Ｆの動作を示すタイミングチャートである。ＭＵＸＳＣＡＮ５００ａとＭＵＸＳＣＡＮ５００ｂは同一クロックが入力される。ＭＵＸＳＣＡＮ５００ａのデータ出力端子Ｑは、ＭＵＸＳＣＡＮ５００ｂのスキャンシフトデータ入力端子ＳＩＮに直結するため、遅延はほぼ０である。ＭＵＸＳＣＡＮ５００ａ内のスレーブラッチ５１１におけるデータの取り込みタイミングと、ＭＵＸＳＣＡＮ５００ｂ内のマスタラッチ５１０におけるデータの保持タイミングが同一エッジであるため、ホールド違反が発生しデータの筒抜けが発生する。よって、ホールド時間確保のための遅延素子を、ＭＵＸＳＣＡＮタイプ（ＰＯＳタイプ）のＦ／ＦとＭＵＸＳＣＡＮタイプ（ＰＯＳタイプ）のＦ／Ｆとの間のスキャンシフトデータラインに挿入する必要が生じる。
【００６７】
図３３は、ＭＵＳＣＡＮタイプのＦ／Ｆでスキャンチェーンを構築した一例を示す図である。ＰｏｓタイプＦ／ＦとＮｅｇタイプＦ／Ｆとが混在する場合には、通常ＰｏｓタイプＦ／Ｆ５００同士、ＮｅｇタイプＦ／Ｆ６００同士が接続される。そのため、図３３に示すように、ＰｏｓタイプＦ／Ｆ５００間、ＮｅｇタイプＦ／Ｆ間には、遅延素子１が必要となる。
【００６８】
以上説明したように、近時、半導体集積回路のスキャンテストの技術としては、実動作周波数での遅延故障テストを実施するため、ＭＵＸＳＣＡＮタイプのフリップフロップが広く用いられる。しかしながら、スキャンのシフトラインはシフトレジスタ構成にて接続されており、このシフトレジスタ構成では前段のフリップフロップの入力クロックと後段のフリップフロップの入力クロックが同一のためホールド時間不足が十分確保されておらず、設計時のクロックスキューや製造上のばらつきによりホールド時間が不足してしまう。したがって、図３３に示すように、ホールド時間確保のために遅延素子の挿入が必要となる。
すなわち、ＭＵＸＳＣＡＮではホールド時間確保のための遅延素子（バッファ）が同一エッジ動作のフリップフロップ間全てで必要となるため、後工程でホールド補償のためのバッファを入れ込む工程が必要となる。さらに、後からバッファを入れるため、空きスペースがない場合には目標とする位置にバッファを入れることができず、配線性が悪化する。したがって、ＭＵＸＳＣＡＮタイプのＦ／Ｆを使用すると、レイアウト工程でのＴＡＴ（Turn Around Time）増加や配線性悪化、及びゲート規模増大につながるという問題点がある。特に、近年ＬＳＩは大規模化しており、ゲート規模の増加や配線性の悪化が顕著となってきている。
【００６９】
このため、ホールドフリーの小規模なテスト回路であり、且つ実動作周波数でのテスト可能なスキャンテスト技術の実現が望まれている。
【課題を解決するための手段】
【００７０】
本発明に係るスキャンフリップフロップは、クロックの立ち上りエッジ又は立下りエッジに同期して動作するスキャンフリップフロップであって、データ又はスキャンテストデータが選択的に入力されるマスタラッチと、前記マスタラッチから出力されたデータが入力されるスレーブラッチとを有し、前記マスタラッチ及びスレーブラッチのうちいずれか一方がハイレベルラッチであり、他方がローレベルラッチであって、スキャンシフト時には、前記マスタラッチは、スキャンシフトデータを第１のクロックで取り込み、前記第１のクロックとはエッジ位置が異なる第２のクロックで出力し、前記スレーブラッチは、前記スキャンシフトデータを前記第２のクロックで取り込み、前記第１のクロックで出力する、ものである。
【００７１】
本発明に係るスキャンテスト回路は、それぞれ、いずれか一方がハイレベルラッチであり、他方がローレベルラッチであるマスタラッチ及びスレーブラッチを有し、クロックの立上りエッジに同期して動作するＰｏｓタイプスキャンフリップフロップ（ＰｏｓタイプＦ／Ｆ）とクロックの立下りエッジに同期して動作するＮｅｇタイプスキャンフリップフロップ（ＮｅｇタイプＦ／Ｆ）とを有し、前記ＰｏｓタイプＦ／Ｆと前記ＮｅｇタイプＦ／Ｆとが混在してスキャンチェーンを構成するものであって、前記ＰｏｓタイプＦ／Ｆは、スキャンシフト時は、スキャンシフトデータを第１のクロックで取り込み前記第１のクロックとはエッジ位置が異なる第２のクロックで出力し、前記ＮｅｇタイプＦ／Ｆは、スキャンシフト時は、スキャンシフトデータを前記第２のクロックで取り込み前記第１のクロックで出力するものである。
【００７２】
本発明に係るスキャンテスト回路の制御方法は、それぞれ、いずれか一方がハイレベルラッチであり、他方がローレベルラッチであるマスタラッチ及びスレーブラッチを有し、クロックの立上りエッジに同期して動作するＰｏｓタイプスキャンフリップフロップ（ＰｏｓタイプＦ／Ｆ）とクロックの立下りエッジに同期して動作するＮｅｇタイプスキャンフリップフロップ（ＮｅｇタイプＦ／Ｆ）とを有し、前記ＰｏｓタイプＦ／Ｆと前記ＮｅｇタイプＦ／Ｆとが混在してスキャンチェーンを構成するものであって、前記ＰｏｓタイプＦ／Ｆは、スキャンシフト時は、スキャンシフトデータを第１のクロックで取り込み前記第１のクロックとはエッジ位置が異なる第２のクロックで出力し、前記ＮｅｇタイプＦ／Ｆは、スキャンシフト時は、スキャンシフトデータを前記第２のクロックで取り込み前記第１のクロックで出力するものである。
【００７３】
本発明においては、ラッチ２個で構成されるスキャンフリップフロップに、当該ラッチのシフト動作時の動作を制御するスキャンシフトクロックを２種類入力することで、ロックの立ち上りエッジに同期して動作するスキャンフリップフロップと立下りエッジに同期して動作するスキャンフリップフロップとを接続しても、正しくシフト動作を行うことができ、かつ両スキャンフリップフロップは同一のスキャンシフトクロックを使用して制御可能でるため、実動作周波数での遅延テストが可能となる。
【発明の効果】
【００７４】
本発明によれば、ホールドフリーの小規模なテスト回路であり、且つ実動作周波数でのテスト可能なスキャンフリップフロップ、それを利用したスキャンテスト回路、及びスキャンテスト回路の制御方法を提供することができる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施の形態１にかかるＰｏｓタイプＦ／Ｆ１００を示す回路図である。
【図２】本発明の実施の形態１にかかるＮｅｇタイプＦ／Ｆ２００を示す回路図である。
【図３】波形タイプ１における、本発明の実施の形態１にかかるＰｏｓタイプＦ／Ｆ１００の動作を示すフローチャートである。
【図４】波形タイプ２における、本発明の実施の形態１にかかるＰｏｓタイプＦ／Ｆ１００の動作を示すフローチャートである。
【図５】波形タイプ２における、本発明の実施の形態１にかかるＮｅｇタイプＦ／Ｆ２００の動作を示すフローチャートである。
【図６】波形タイプ１における、本発明の実施の形態１にかかるＮｅｇタイプＦ／Ｆ２００の動作を示すフローチャートである。
【図７】本発明の実施の形態１にかかるＰｏｓタイプＦ／Ｆ１００及びＮｅｇタイプＦ／Ｆ２００を使用したスキャンチェーンを示す図である。
【図８】本発明の実施の形態１にかかる、ＮｅｇタイプＦ／Ｆ２００のデータ出力ＱとＰｏｓタイプＦ／Ｆ１００のスキャンシフトデータ入力ＳＩＮとを接続する場合のスキャンテスト回路を示す図である。
【図９】本発明の実施の形態１にかかる、ＰｏｓタイプＦ／Ｆ１００のデータ出力ＱとＮｅｇタイプＦ／Ｆ２００のスキャンシフトデータ入力ＳＩＮとを接続する場合のスキャンテスト回路を示す図である。
【図１０】波形タイプ１における、図８に示す、ホールド補償済みのスキャンテスト回路の動作を示すタイミングチャートである。
【図１１】波形タイプ２における、図８に示す、ホールド補償済みのスキャンテスト回路の動作を示すタイミングチャートである。
【図１２】波形タイプ１おける、図８に示す、ホールド補償済みのスキャンテスト回路の動作を示すタイミングチャートである。
【図１３】波形タイプ２における、図９に示す、ホールド補償済みのスキャンテスト回路の動作を示すタイミングチャートである。
【図１４】本発明の実施の形態２にかかるＰｏｓタイプＦ／Ｆ１００を示す回路図である。
【図１５】本発明の実施の形態２にかかるＮｅｇタイプＦ／Ｆ２００を示す回路図である。
【図１６】図１４及び図１５のそれぞれＰｏｓタイプＦ／Ｆ及びＮｅｇタイプＦ／Ｆをスキャンチェーンで接続した場合のスキャンテスト回路を示す図である。
【図１７】本発明の実施の形態２にかかるスキャンテスト回路の動作を示すタイミングチャートである。
【図１８】従来文献に記載されている代表的なＬＳＳＤラッチ回路を示す図である
【図１９】従来のＰｏｓタイプＦ／Ｆ回路を示す回路図である。
【図２０】図１９に示すＰｏｓタイプＦ／Ｆ３００のラッチ回路３０２の詳細の一例を示す回路図である
【図２１】図１９に示すＰｏｓタイプＦ／Ｆ３００を用いた遷移遅延テストの動作を示すタイミングチャートである。
【図２２】従来のＮｅｇタイプスＦ／Ｆ回路を示す回路図である。
【図２３】図２２に示すＮｅｇタイプＦ／Ｆ４００のラッチ回路４０２の詳細の一例を示す回路図である。
【図２４】図２２に示すＮｅｇタイプＦ／Ｆ４００を用いた遷移遅延テストの動作を示すタイミングチャートである。
【図２５】ＮｅｇタイプＦ／ＦとＰｏｓタイプＦ／Ｆとが接続された回路におけるスキャンテスト回路構成を示す図である。
【図２６】図２５に示す従来のスキャンテスト回路におけるスキャンシフト動作を示すタイミングチャートである
【図２７】ＰｏｓタイプのＦ／Ｆであって、ＭＵＸＳＣＡＮタイプのＦ／Ｆを示す回路図である。
【図２８】ＮｅｇタイプのＦ／Ｆであって、ＭＵＸＳＣＡＮタイプのＦ／Ｆを示す回路図である。
【図２９】ＭＵＸＳＣＡＮタイプＦ／Ｆ（Ｐｏｓタイプ）の動作を示すタイミングチャートである。
【図３０】ＭＵＸＳＣＡＮタイプＦ／Ｆ（Ｎｅｇタイプ）の動作を示すタイミングチャートである。
【図３１】ＭＵＸＳＣＡＮタイプ（ＰＯＳタイプ）のＦ／Ｆ同士が接続された回路構成を示す図である。
【図３２】図３１に示すＭＵＸＳＣＡＮタイプ（ＰＯＳタイプ）のＦ／Ｆの動作を示すタイミングチャートである。
【図３３】ＭＵＳＣＡＮタイプのＦＦでスキャンチェーンを構築した一例を示す図である。
【発明を実施するための形態】
【００７６】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、マスタラッチ及びスレーブラッチのラッチ２個構成のＦ／Ｆであって、ホールド時間を確保することができるスキャンＦ／Ｆ及びこれを使用したスキャンテスト回路に適用したものである。
【００７７】
本実施の形態においては、スキャンＦ／Ｆに対し、２種類のスキャンシフトクロックを入力することで、同一エッジ動作のＦ／Ｆ間では、スレーブラッチとマスタラッチとの動作クロックエッジを異ならせる。これにより、ホールド補償が不要（ホールドフリー）のスキャンＦ／Ｆを提供することができる。
【００７８】
本発明の実施の形態１．
図１は、本発明の実施の形態１にかかるＰｏｓタイプＦ／Ｆ１００を示す回路図である。図１に示すように、ＰｏｓタイプＦ／Ｆ１００は、Ｌｏｗレベルラッチからなるマスタラッチ１１０、Ｈｉレベルラッチからなるスレーブラッチ１１１、及びセレクタ１２０、１３０、１４０を有する。
【００７９】
セレクタ１２０には、データ信号とスキャンシフトデータとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルのときにスキャンシフトデータ入力ＳＩＮを選択し、Ｌｏｗレベルのときは通常動作時のデータ入力Ｄを選択する。
【００８０】
セレクタ１４０は、スキャンシフトクロックＳＣＬＫ１と通常クロックＣＬＫとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルの時にスキャンシフトクロックＳＣＬＫ１を選択し、Ｌｏｗレベルの時は通常クロックＣＬＫを選択し、クロックＣＬＫ＿Ｍとして出力する。
【００８１】
セレクタ１３０には、スキャンシフトクロックＳＣＬＫ２と通常クロックＣＬＫとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルの時にスキャンシフトクロック信号ＳＣＬＫ２を選択し、Ｌｏｗレベルの時は通常クロックＣＬＫを選択し、クロックＣＬＫ＿Ｓとして出力する。
【００８２】
マスタラッチ１１０のデータ入力端子にはセレクタ１２０の出力が入力され、マスタラッチ１１０のラッチ信号端子にはセレクタ１３０の出力（クロックＣＬＫ＿Ｍ）が入力される。
【００８３】
スレーブラッチ１１１のデータ入力端子にはマスタラッチ１１０のデータ出力が入力され、スレーブラッチ１１１のラッチ信号端子にはセレクタ１３０の出力（クロックＣＬＫ＿Ｓ）が入力される。
【００８４】
図２は、本発明の実施の形態１にかかるＮｅｇタイプＦ／Ｆ２００を示す回路図である。図２に示すように、ＮｅｇタイプＦ／Ｆ２００は、Ｈｉレベルラッチからなるマスタラッチ２１０、Ｌｏｗレベルラッチからなるスレーブラッチ２１１、及びセレクタ２２０、２３０、２４０を有する。
【００８５】
セレクタ２２０には、データ信号とスキャンシフトデータとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルのときにスキャンシフトデータ入力ＳＩＮを選択し、Ｌｏｗレベルのときは通常動作時のデータ入力Ｄを選択する。
【００８６】
セレクタ２４０は、スキャンシフトクロックＳＣＬＫ１Ｂと通常クロックＣＬＫとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルの時にスキャンシフトクロック信号ＳＣＬＫ１Ｂを選択し、Ｌｏｗレベルの時は通常クロックＣＬＫを選択し、クロックＣＬＫ＿Ｍとして出力する。
【００８７】
セレクタ２３０には、スキャンシフトクロックＳＣＬＫ２Ｂと通常クロックＣＬＫとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルの時にスキャンシフトクロック信号ＳＣＬＫ２Ｂを選択し、Ｌｏｗレベルの時は通常クロックＣＬＫを選択し、クロックＣＬＫ＿Ｓとして出力する。
【００８８】
マスタラッチ２１０のデータ入力端子にはセレクタ２２０の出力が入力され、マスタラッチ２１０のラッチ信号端子にはセレクタ２３０の出力（クロックＣＬＫ＿Ｍ）が入力される。
【００８９】
スレーブラッチ２１１のデータ入力端子にはマスタラッチ２１０のデータ出力が入力され、スレーブラッチ２１１のラッチ信号端子にはセレクタ２３０の出力（クロックＣＬＫ＿Ｓ）が入力される。
【００９０】
図３及び図４は、ＰｏｓタイプＦ／Ｆ１００の動作を示すフローチャートである。図３及び図４においては、スキャンクロックＳＣＬＫ１、ＳＣＬＫ２の波形パターンが異なっている。ここでは便宜上、図３の波形を波形タイプ１、図４の波形を波形タイプ２ということとする。また、図５及び図６は、ＮｅｇタイプＦ／Ｆ２００の動作を示すフローチャートである。図５及び図６は、それぞれ波形タイプ２、波形タイプ１を入力した場合の動作を示している。
【００９１】
波形タイプ１及び２は、図３乃至図６に示すように、第１のクロックとしてのスキャンシフトクロックＳＣＬＫ１（ＳＣＬＫ１Ｂ）がロウレベルのとき、第２のクロックとしてのスキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）はロウレベルであり、スキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）がハイレベルであるときスキャンシフトクロックＳＣＬＫ１（ＳＣＬＫ１Ｂ）はハイレベルであるような波形パターンを有する。
【００９２】
そして、波形タイプ１は、図３及び図６に示すように、スキャンシフトクロックＳＣＬＫ１（ＳＣＬＫ１Ｂ）の立上りエッジは、スキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）の立上りエッジより前に位置し、スキャンシフトクロックＳＣＬＫ１（ＳＣＬＫ１Ｂ）の立下りエッジはスキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）の立下りエッジより後に位置する。
【００９３】
また、波形タイプ２は、図４及び図５に示すように、スキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）の立下りエッジは、スキャンシフトクロックＳＣＬＫ１（ＳＣＬＫ１Ｂ）の立下りエッジより前に位置し、スキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）の立上りエッジはスキャンシフトクロックＳＣＬＫ１（ＳＣＬＫ１Ｂ）の立上りエッジより後に位置する。
【００９４】
図３及び図４には、ＰｏｓタイプＦ／Ｆ１００における通常クロックＣＬＫ、スキャンクロックＳＣＬＫ１、ＳＣＬＫ２、スキャンモードコントロール信号ＳＭＣ、ユーザ回路１００１からの出力信号Ｄ、前段のスキャンフリップフロップからのスキャンシフトデータ入力ＳＩＮ、マスタラッチの入力Ｍ、スレーブラッチの入力Ｓ、及びデータ出力Ｑを示す。
【００９５】
また、図５及び図６には、ＮｅｇタイプＦ／Ｆ２００における通常クロックＣＬＫＢ、スキャンクロックＳＣＬＫ１Ｂ、ＳＣＬＫ２Ｂ、スキャンモードコントロール信号ＳＭＣ、ユーザ回路１０００からの出力信号（データ入力）Ｄ、前段のスキャンフリップフロップからのスキャンシフトデータ入力ＳＩＮ、マスタラッチの入力Ｍ、スレーブラッチの入力Ｓ、及びデータ出力Ｑを示す。
【００９６】
更に、図３乃至図６では、これらの信号の、スキャンシフトサイクルＳＳとスキャンキャプチャーサイクルＳＣの期間における、信号レベルの変化を示している。
【００９７】
ここでは、スキャンシフトサイクルＳＳはクロックサイクルＣ１、Ｃ２、Ｃ３を有し、スキャンキャプチャーサイクルＳＣはＣ４、Ｃ５を有するものとする。このとき、スキャンシフトサイクルＳＳはスキャンシフト動作の最後の３サイクル期間で、スキャンキャプチャーサイクルＳＣはスキャンキャプチャ動作期間を示す。
【００９８】
まず、スキャンシフト動作の説明をクロックサイクルＣ１とＣ２を使用して説明する。スキャンモードコントロール信号ＳＭＣは、スキャンシフトサイクルＳＳ期間内はＨｉレベルとなり、時刻Ｔ３０においてＬｏｗレベルとなりスキャンキャプチャーサイクルＳＣ期間内はＬｏｗレベルを維持する。
【００９９】
図３及び図４において、時刻Ｔ１２（Ｔ４２）において、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０は、スキャンクロックＳＣＬＫ１が立下るため、ＮｅｇタイプＦ／Ｆから検査データ（データ入力）Ｄ２を取り込む。
【０１００】
時刻Ｔ１４（Ｔ４４）において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１は、シフトクロック信号ＳＣＬＫ２が立上るため、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１０からの検査データＤ２を取り込み、出力端子Ｑへ出力する。
【０１０１】
時刻Ｔ１５（Ｔ４５）において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１はスキャンクロックＳＣＬＫ２が立下るため、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１０からの検査データＤ１を保持する。
【０１０２】
図５及び図６において、時刻Ｔ４０（Ｔ１０）において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は、スキャンクロックＳＣＬＫ２Ｂが立上るため、スキャンシフトデータ入力端子ＳＩＮからの検査データＤ１を取り込む。
【０１０３】
時刻Ｔ４１（Ｔ１１）において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は、スキャンクロックＳＣＬＫ２Ｂが立下るため、スキャンシフトデータ入力端子ＳＩＮからの検査データＤ１を保持する。
【０１０４】
時刻Ｔ４２（Ｔ１２）において、ＮｅｇタイプＦ／Ｆのスレーブラッチ２１１は、スキャンクロックＳＣＬＫ１Ｂが立下るため、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０からの検査データＤ１を取り込みデータ出力端子Ｑへ出力する。
時刻Ｔ４３（Ｔ１３）において、ＮｅｇタイプＦ／Ｆのスレーブラッチ２１１はスキャンクロックＳＣＬＫ１Ｂが立上るため、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０からの検査データＤ１を保持する。
【０１０５】
次に、キャプチャ動作の説明をクロックサイクルＣ４、Ｃ５を用いて説明する。時刻Ｔ３０以降は、スキャンモードコントロール信号ＳＭＣがＬｏｗレベルであるので、いずれのスキャンＦ／Ｆにおいても、マスタ及びスレーブラッチには、通常クロックが供給されている。
【０１０６】
図３乃至図６においては、時刻Ｔ２０において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は、通常クロックＣＬＫＢが立上るため、ユーザ回路１０００からのキャプチャーデータｃａｐ１を取り込む。また時刻Ｔ２０において、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０は、通常クロックＣＬＫが立上るため、ユーザ回路１００１からのキャプチャーデータｃａｐＡを保持する。
【０１０７】
時刻Ｔ２１において、ＮｅｇタイプＦ／Ｆのスレーブラッチ２１１は、通常クロックＣＬＫＢが立下るため、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０からの出力データｃａｐ１を取り込む。また、時刻Ｔ２１において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は、通常クロックＣＬＫＢが立下るため、ユーザ回路１００１からのキャプチャーデータｃａｐ１を保持する。
【０１０８】
また、時刻Ｔ２１において、通常クロックＣＬＫが立下るため、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０はユーザ回路からのキャプチャーデータｃａｐ１を取り込む。また、時刻Ｔ２１において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１は、通常クロックＣＬＫが立下るため、ＰｏｓタイプＦ／Ｆのマスタラッチからのキャプチャーデータｃａｐ１を保持する。
【０１０９】
次に、時刻Ｔ２２において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は、通常クロックＣＬＫＢが立上るため、ユーザ回路からのキャプチャーデータｃａｐ２を取り込む。
【０１１０】
また時刻Ｔ２２において、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０は、通常クロックＣＬＫが立上るため、ユーザ回路からのキャプチャーデータｃａｐ２を保持する。また時刻Ｔ２２において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１は、通常クロックＣＬＫが立上るため、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０からのキャプチャーデータｃａｐ２を取り込む。
【０１１１】
時刻Ｔ２３において、ＮｅｇタイプＦ／Ｆのスレーブラッチ２１１は、通常クロックＣＬＫＢが立下るため、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０からの出力データｃａｐ２を取り込む。また、時刻Ｔ２３において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は通常クロックＣＬＫが立下るため、ユーザ回路からのキャプチャーデータｃａｐ２を保持する。
【０１１２】
また、時刻Ｔ２３において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１は、通常クロックＣＬＫが立下るため、ＰｏｓタイプＦ／Ｆのマスタラッチからのキャプチャーデータｃａｐ２を保持する。
【０１１３】
次に、本実施の形態にかかるＰｏｓタイプＦ／Ｆ１００及びＮｅｇタイプＦ／Ｆ２００を使用したスキャンテスト回路について説明する。図７は、ＰｏｓタイプＦ／Ｆ１００及びＮｅｇタイプＦ／Ｆ２００を使用したスキャンチェーンを示す図である。ＬＳＩにおいては、その機能や動作を実現するために、ＰｏｓタイプＦ／Ｆ１００及びＮｅｇタイプＦ／Ｆ２００が混在して使用される。したがって、これらのＰｏｓタイプＦ／Ｆ１００及びＮｅｇタイプＦ／Ｆ２００を使用したスキャンチェーンは、ＰｏｓタイプＦ／Ｆ１００及びＮｅｇタイプＦ／Ｆ２００が混在したものとなる。この場合、通常、ＰｏｓタイプＦ／Ｆ１００同士、ＮｅｇタイプＦ／Ｆ２００同士が接続されてスキャンチェーンが構成される。ＰｏｓタイプＦ／Ｆ１００とＮｅｇタイプＦ／Ｆ２００とを接続すると通常のクロックの倍速で動作してしまうためである。ただし、ＰｏｓタイプＦ／Ｆ１００同士、ＮｅｇタイプＦ／Ｆ２００同士を接続しても、少なくとも１カ所は、ＰｏｓタイプＦ／Ｆ１００とＮｅｇタイプＦ／Ｆ２００とを接続するパス１０が生じる。
【０１１４】
本実施の形態にかかるスキャンテスト回路においては、ＰｏｓタイプＦ／Ｆ１００とＮｅｇタイプＦ／Ｆ２００とを接続するパス１０には、ホールド補償のためのバッファ（遅延素子）を配置する必要がある。ただし、図３３に示したように、従来のスキャンテスト回路のように大量のホールド補償バッファは不要である。
【０１１５】
図８は、ＮｅｇタイプＦ／Ｆ２００のデータ出力ＱとＰｏｓタイプＦ／Ｆ１００のスキャンシフトデータ入力ＳＩＮとを接続する場合のスキャンテスト回路、図９は、ＰｏｓタイプＦ／Ｆ１００のデータ出力ＱとＮｅｇタイプＦ／Ｆ２００のスキャンシフトデータ入力ＳＩＮとを接続する場合のスキャンテスト回路を示している。図８及び図９に示すように、両者の間のパス１０には、ホールド補償のための遅延素子を配置する。ここで、ホールド補償しない場合は、図３２に示すように、前段のＦ／Ｆがデータを出力するタイミングで後段のＦ／Ｆもデータを出力してしまう。そこで、ホールド補償するために、スキャンシフトデータ入力ＳＩＮを所定期間送らせるバッファを挿入する。
【０１１６】
図１０及び図１１は、それぞれ波形タイプ１及び２における、図８に示す、ホールド補償済みのスキャンテスト回路の動作を示すタイミングチャートである。図１２及び図１３は、それぞれ波形タイプ１及び２における、図９に示す、ホールド補償済みのスキャンテスト回路の動作を示すタイミングチャートである。図１０乃至図１３に示すように、上図におけるスキャンシフトデータ入力ＳＩＮより下図におけるスキャンシフトデータ入力ＳＩＮが所定期間遅れている。例えば、図１０においては、上図のＮｅｇタイプＦ／Ｆ２００には時刻Ｔ５０でデータＤ１が出力されるのに対し、下図のＰｏｓタイプＦ／Ｆ１００では、時刻Ｔ５２でデータ出力Ｄ２が出力されている。
【０１１７】
動作としては、上述の図３乃至図６と同様であり、ＮｅｇタイプＦ／Ｆ２００のマスタラッチ２１０は、スキャンシフトクロックＳＣＬＫ２Ｂの立ち上りでデータをラッチし（時刻Ｔ５２）、スレーブラッチ２１１は、スキャンシフトクロックＳＣＬＫ１Ｂの立下りでデータをラッチする（時刻Ｔ５４）。ＰｏｓタイプＦ／Ｆ１００のマスタラッチマスタラッチ１１０は、スキャンシフトクロックＳＣＬＫ１の立下りでデータをラッチし（時刻Ｔ５４）、スレーブラッチ１１１は、スキャンシフトクロックＳＣＬＫ２の立ち上りでデータをラッチする（時刻Ｔ５２）。
【０１１８】
図１１に示す波形タイプ２も図１０と同様であり、ＮｅｇタイプＦ／Ｆ２００のデータ出力Ｑが時刻Ｔ６０であるのに対し、ＰｏｓタイプＦ／Ｆ１００のデータ出力Ｑは、時刻Ｔ６３となっている。動作としては、上述と同様、ＮｅｇタイプＦ／Ｆ２００のマスタラッチ２１０は、スキャンシフトクロックＳＣＬＫ２Ｂの立ち上りでデータをラッチし（時刻Ｔ６０）、スレーブラッチ２１１は、スキャンシフトクロックＳＣＬＫ１Ｂの立下りでデータをラッチする（時刻Ｔ６２）。ＰｏｓタイプＦ／Ｆ１００のマスタラッチマスタラッチ１１０は、スキャンシフトクロックＳＣＬＫ１の立下りでデータをラッチし（時刻Ｔ６２、Ｔ６５）、スレーブラッチ１１１は、スキャンシフトクロックＳＣＬＫ２の立ち上りでデータをラッチする（時刻Ｔ６０、Ｔ６３）。
【０１１９】
図１２及び図１３は、ＰｏｓタイプＦ／Ｆ１００からＮｅｇタイプＦ／Ｆ２００に繋がる場合であって、基本的な動作は、それぞれ図１０及び図１１と同様である。
【０１２０】
本実施の形態においては、スキャンシフトクロックを２種類入力することで、スキャン動作時（スキャンモードコントロール信号ＳＭＣがＨｉｇｈレベル）に、ＰｏｓタイプＦ／Ｆ１００はマスタラッチ１１０にスキャンシフトクロックＳＣＬＫ１を、スレーブラッチ１１１にスキャンクロックＳＣＬＫ２を与え、ＮｅｇタイプＦ／Ｆ２００はマスタラッチ２１０にスキャンクロックＳＣＬＫ２Ｂを、スレーブラッチ２１１にスキャンシフトクロックＳＣＬＫ１Ｂを与える。なお、通常動作時（スキャンモードコントロール信号ＳＭＣがＬｏｗレベル）には、ＰｏｓタイプＦ／Ｆ１００のマスタラッチ１１０及びスレーブラッチ１１１、ＮｅｇタイプＦ／Ｆ２００のマスタラッチ２１０及びスレーブラッチ２１１にはいずれも通常クロックＣＬＫ（ＣＬＫＢ）を与える。
【０１２１】
そして、スキャンテスト時において入力するクロックは、スキャンシフトクロックＳＣＬＫ１（ＳＣＬＫ１Ｂ）立上りエッジはスキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）の立上りエッジより前に位置し、立下りエッジはスキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）の立下りエッジより後に位置する（波形タイプ１）か、又はスキャンシフトクロックＳＣＬＫ１（ＳＣＬＫ１Ｂ）立下がりエッジはスキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）の立下りエッジより前に位置し、立ち上りエッジはスキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）の立ち上りエッジより後に位置する（波形タイプ１）ようにする。すなわち、スキャンシフトクロックＳＣＬＫ（ＳＣＬＫ１Ｂ）がＬｏｗレベルのときスキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）はＬｏｗレベルであり、スキャンシフトクロックＳＣＬＫ２（ＳＣＬＫ２Ｂ）がＨｉレベルであるときスキャンシフトクロックＳＣＬＫ（ＳＣＬＫ１Ｂ）はＨｉレベルであるようなスキャンシフトクロックを使用することにより、ＮｅｇタイプＦ／ＦとＰｏｓタイプＦ／Ｆとが接続された回路間の遷移遅延故障テストを実施する場合、１クロックサイクル期間Ｃ１内において、ＮｅｇタイプＦ／Ｆ２００のスキャンシフトデータ入力ＳＩＮに入力される検査データＤ１が、ＰｏｓタイプＦ／Ｆ１００の出力端子Ｑから出力されることなく次のクロックサイクル期間Ｃ２内にて出力される。すなわち、正しいシフト動作が可能となり、遷移遅延故障テストを実施することができる。
【０１２２】
さらに、ＰｏｓタイプＦ／Ｆ１００及びＮｅｇタイプＦ／Ｆ２００は、同一のスキャンシフトクロックＳＣＬＫ１、２（＝ＳＣＬＫ１Ｂ、ＳＣＬＫ２Ｂ）で動作する、すなわち、ＬＳＳＤタイプのフリップフロップのように、クロックを反転させる必要がないため、実動作周波数での遅延故障テストの実施が可能である。
【０１２３】
さらにまた、ＬＳＳＤタイプのフリップフロップのラッチ回路が、図１９に示すように、ラッチ回路３０１、ラッチ回路３０２、及びラッチ回路３０３の３つが必要であったのに対して、本実施の形態においては、マスタラッチ回路１１０及びスレーブラッチ回路１１１の２つの構成とすることができるため、ゲート規模を小さすることができる。
【０１２４】
本発明の実施の形態２.
次に、本発明の実施の形態２について説明する。上述の実施の形態１においては、スキャンＦ／Ｆに対し、２種類のスキャンシフトクロックを入力していた。これに対し、本実施の形態においては、この２種類のスキャンシフトクロックを１種類とし、もう１種類を通常クロックで代用する。これにより、入力するスキャンシフトクロックが１種類のみで済むため、これを選択するセレクタも１つとすることができる。
【０１２５】
図１４は、本実施の形態２にかかるＰｏｓタイプＦ／Ｆ１００を示す回路図である。図１４に示すように、実施の形態１と同様に、ＰｏｓタイプＦ／Ｆ１００は、Ｌｏｗレベルラッチからなるマスタラッチ１１０、Ｈｉレベルラッチからなるスレーブラッチ１１１、及びセレクタ１２０、１３０を有する。すなわち、図１に示すセレクタ１４０が不要となる。
【０１２６】
セレクタ１２０には、データ信号とスキャンシフトデータとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルのときにスキャンシフトデータ入力ＳＩＮを選択し、Ｌｏｗレベルのときは通常動作時のデータ入力Ｄを選択する。
【０１２７】
セレクタ１３０は、スキャンシフトクロックＳＣＬＫと通常クロックＣＬＫとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルの時にスキャンシフトクロック信号ＳＣＬＫを選択し、Ｌｏｗレベルの時は通常クロックＣＬＫを選択し、クロックＣＬＫ＿Ｓとして出力する。
【０１２８】
マスタラッチ１１０のデータ入力端子にはセレクタ１２０の出力が入力され、マスタラッチ１１０のラッチ信号端子には通常クロックＣＬＫが入力される。
【０１２９】
スレーブラッチ１１１のデータ入力端子にはマスタラッチ１１０のデータ出力が入力され、スレーブラッチ１１１のラッチ信号端子にはセレクタ１３０の出力（クロックＣＬＫ＿Ｓ）が入力される。
【０１３０】
図１５は、本実施の形態２にかかるＮｅｇタイプＦ／Ｆ２００を示す回路図である。図１５に示すように、実施の形態１と同様に、ＮｅｇタイプＦ／Ｆ２００は、Ｈｉレベルラッチからなるマスタラッチ２１０、Ｌｏｗレベルラッチからなるスレーブラッチ２１１、及びセレクタ２２０、２３０を有する。すなわち、図２に示すセレクタ２４０が不要となる。
【０１３１】
セレクタ２２０には、データ信号とスキャンシフトデータとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルのときにスキャンシフトデータ入力ＳＩＮを選択し、Ｌｏｗレベルのときは通常動作時のデータ入力Ｄを選択する。
【０１３２】
セレクタ２３０には、スキャンシフトクロックＳＣＬＫと通常クロックＣＬＫとが入力される。そして、スキャンモードコントロール信号ＳＭＣがＨｉレベルの時にスキャンシフトクロック信号ＳＣＬＫを選択し、Ｌｏｗレベルの時は通常クロックＣＬＫを選択し、クロックＣＬＫ＿Ｓとして出力する。
【０１３３】
マスタラッチ２１０のデータ入力端子にはセレクタ２２０の出力が入力され、マスタラッチ２１０のラッチ信号端子には通常クロックＣＬＫが入力される。
【０１３４】
スレーブラッチ２１１のデータ入力端子にはマスタラッチ２１０のデータ出力が入力され、スレーブラッチ２１１のラッチ信号端子にはセレクタ２３０の出力（クロックＣＬＫ＿Ｓ）が入力される。
【０１３５】
図１６は、図１４及び図１５のそれぞれＰｏｓタイプＦ／Ｆ及びＮｅｇタイプＦ／Ｆをスキャンチェーンで接続した場合のスキャンテスト回路を示す図である。図１６に示すように、このスキャンテスト回路では、前段にＮｅｇタイプＦ／Ｆ２００、後段にＰｏｓタイプＦ／Ｆ１００が配置されている。
【０１３６】
ＮｅｇタイプＦ／Ｆ２００のデータ入力端子Ｄにはユーザ回路１０００から入力データが入力され、ＮｅｇタイプＦ／Ｆ２００のスキャンシフトデータ入力端子ＳＩＮには前段のスキャンＦ／Ｆ１０１０のＱ出力からの出力が入力され、ＮｅｇタイプＦ／Ｆ２００のスキャンモードコントロール入力端子ＳＭＣにはスキャンモードコントロール信号ＳＭＣが入力され、ＮｅｇタイプＦ／Ｆ２００のクロック端子ＣＬＫＢには通常動作時のクロック信号ＣＬＫが入力され、ＮｅｇタイプＦ／Ｆ２００のスキャンクロック端子ＳＣＬＫＢにはスキャンクロックＳＣＬＫが入力され、ＮｅｇタイプＦ／Ｆ２００の出力Ｑはユーザ回路１００１に入力されると共にＰｏｓタイプＦ／Ｆ１００のスキャンシフトデータ入力ＳＩＮに入力される。
【０１３７】
ＰｏｓタイプＦ／Ｆ１００のデータ入力端子Ｄにはユーザ回路１００１から入力データが入力され、ＰｏｓタイプＦ／Ｆ１００のスキャンシフトデータ入力端子ＳＩＮにはＮｅｇタイプＦ／Ｆ２００の出力Ｑから入力され、ＰｏｓタイプＦ／Ｆ１００のスキャンモードコントロール入力端子ＳＭＣにはＮｅｇタイプＦ／Ｆ２００のスキャンモードコントロール入力端子ＳＭＣと同じくスキャンモードコントロール信号ＳＭＣが入力され、ＰｏｓタイプＦ／Ｆ１００のクロック端子ＣＬＫにはＮｅｇタイプＦ／Ｆ２００のクロック端子ＣＬＫＢと同じく通常動作時のクロック信号ＣＬＫが入力され、ＰｏｓタイプＦ／Ｆ１００のスキャンクロック端子ＳＣＬＫにはＮｅｇタイプＦ／Ｆ２００のスキャンクロック端子ＳＣＬＫＢと同じくスキャンクロックＳＣＬＫが入力され、ＰｏｓタイプＦ／Ｆ１００の出力Ｑはユーザ回路と次段のスキャンＦ／Ｆのスキャンシフトデータ入力端子ＳＩＮへ入力される。
【０１３８】
図１７は、図１６に示すスキャンテスト回路の動作を示すタイミングチャートである。なお、図１７に示すスキャンテスト回路の動作は、使用するクロックが異なるのみで、上述の実施の形態１における図１２乃至図１３に示すスキャンテスト回路の動作と同様である。また、本実施の形態においても、ＰｏｓタイプＦ／Ｆ１００とＮｅｇタイプＦ／Ｆ２００とを接続する場合には、スキャンシフトデータ入力ＳＩＮのデータラインに遅延回路を配置し、ホールド補償している。
【０１３９】
図１７には、ＮｅｇタイプＦ／Ｆ２００における通常クロックＣＬＫＢ、スキャンクロックＳＣＬＫＢ、スキャンモードコントロール信号ＳＭＣ、ユーザ回路１０００からの出力信号Ｄ、前段のスキャンフリップフロップからのスキャンシフトデータ入力ＳＩＮ、マスタラッチの入力Ｍ、スレーブラッチの入力Ｓ、及びデータ出力Ｑを示す。さらに、図１７には、ＰｏｓタイプＦ／Ｆ１００における通常クロックＣＬＫ、スキャンクロックＳＣＬＫ、スキャンモードコントロール信号ＳＭＣ、ユーザ回路１００１からの出力信号Ｄ、前段のスキャンフリップフロップからのスキャンシフトデータ入力ＳＩＮ、マスタラッチの入力Ｍ、スレーブラッチの入力Ｓ、及びデータ出力Ｑを示す。図１７では、これらの信号の、スキャンシフトサイクルＳＳとスキャンキャプチャーサイクルＳＣの期間における、信号レベルの変化を示している。
【０１４０】
ここでは、スキャンシフトサイクルＳＳはクロックサイクルＣ１、Ｃ２、Ｃ３を有し、スキャンキャプチャーサイクルＳＣはＣ４、Ｃ５を有するものとする。このとき、スキャンシフトサイクルＳＳはスキャンシフト動作の最後の３サイクル期間で、スキャンキャプチャーサイクルＳＣはスキャンキャプチャ動作期間を示す。
【０１４１】
まず、スキャンシフト動作の説明をクロックサイクルＣ１とＣ２を使用して説明する。スキャンモードコントロール信号ＳＭＣは、スキャンシフトサイクルＳＳ期間内はＨｉレベルとなり、時刻Ｔ３０においてＬｏｗレベルとなりスキャンキャプチャーサイクルＳＣ期間内はＬｏｗレベルを維持する。
【０１４２】
時刻Ｔ１０において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は、スキャンクロックＳＣＬＫＢが立上るため、スキャンシフトデータ入力端子ＳＩＮからの検査データＤ１を取り込む。
【０１４３】
時刻Ｔ１１において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は、スキャンクロックＳＣＬＫＢが立下るため、スキャンシフトデータ入力端子ＳＩＮからの検査データＤ１を保持する。
【０１４４】
時刻Ｔ１２において、ＮｅｇタイプＦ／Ｆのスレーブラッチ２１１は、通常クロックＣＬＫＢが立下るため、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０からの検査データＤ１を取り込みデータ出力端子Ｑへ出力する。また時刻Ｔ１２において、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０は通常クロックＣＬＫが立下るため、ＮｅｇタイプＦ／Ｆから検査データＤ１を取り込む。
【０１４５】
時刻Ｔ１３において、ＮｅｇタイプＦ／Ｆのスレーブラッチ２１１は通常クロックＣＬＫＢが立上るため、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０からの検査データＤ１を保持する。
【０１４６】
時刻Ｔ１４において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１は、シフトクロック信号ＳＣＬＫが立上るため、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１０からの検査データＤ１を取り込み、出力端子Ｑへ出力する。
【０１４７】
時刻Ｔ１５において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１はスキャンクロックＳＣＬＫが立下るため、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１０からの検査データＤ１を保持する。
【０１４８】
次に、キャプチャ動作の説明をクロックサイクルＣ４、Ｃ５を用いて説明する。時刻Ｔ３０以降は、スキャンモードコントロール信号ＳＭＣがＬｏｗレベルであるので、いずれのスキャンＦ／Ｆにおいても、マスタ及びスレーブラッチには、通常クロックが供給されている。
【０１４９】
時刻Ｔ２０において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は、通常クロックＣＬＫＢが立上るため、ユーザ回路１０００からのキャプチャーデータｃａｐ１を取り込む。また時刻Ｔ２０において、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０は、通常クロックＣＬＫＢが立上るため、ユーザ回路１００１からのキャプチャーデータｃａｐＡを保持する。
【０１５０】
時刻Ｔ２１において、ＮｅｇタイプＦ／Ｆのスレーブラッチ２１１は、通常クロックＣＬＫＢが立下るため、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０からの出力データｃａｐ１を取り込む。また、時刻Ｔ２１において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は通常クロックＣＬＫＢが立下るため、ユーザ回路１００１からのキャプチャーデータｃａｐ１を保持する。
【０１５１】
また、時刻Ｔ２１において、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０はユーザ回路１００１からのキャプチャーデータｃａｐＢを取り込む。また、時刻Ｔ２１において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１はＰｏｓタイプＦ／ＦのマスタラッチからのキャプチャーデータｃａｐＡを保持する。
【０１５２】
次に、時刻Ｔ２２において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は、通常クロックＣＬＫＢが立上るため、ユーザ回路１０００からのキャプチャーデータｃａｐ２を取り込む。
【０１５３】
また時刻Ｔ２２において、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０は、通常クロックＣＬＫが立上るため、ユーザ回路１００１からのキャプチャーデータｃａｐＢを保持する。また時刻Ｔ２２において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１は、通常クロックＣＬＫが立上るため、ＰｏｓタイプＦ／Ｆのマスタラッチ１１０からのキャプチャーデータｃａｐＢを取り込む。
【０１５４】
時刻Ｔ２３において、ＮｅｇタイプＦ／Ｆのスレーブラッチ２１１は、通常クロックＣＬＫＢが立下るため、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０からの出力データｃａｐ２を取り込む。また、時刻Ｔ２３において、ＮｅｇタイプＦ／Ｆのマスタラッチ２１０は通常クロックＣＬＫＢが立下るため、ユーザ回路１００１からのキャプチャーデータｃａｐ２を保持する。
【０１５５】
また、時刻Ｔ２３において、ＰｏｓタイプＦ／Ｆのスレーブラッチ１１１はＰｏｓタイプＦ／ＦのマスタラッチからのキャプチャーデータｃａｐＢを保持する。
【０１５６】
本実施の形態においては、実施の形態１と同様の効果を奏する。すなわち、正しいシフト動作が可能となり、遷移遅延故障テストを実施することができ、従来のようにクロックを反転させる必要がないため、実動作周波数での遅延故障テストの実施が可能であり、かつ、マスタラッチ回路１１０及びスレーブラッチ回路１１１のラッチ２つの構成とすることができるため、ゲート規模を削減することができる。そして、さらに、本実施の形態においては、クロック数が３から２に減ることにより、レイアウト面積をさらに縮小することができる。
【０１５７】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【０１５８】
１１０  マスタラッチ
１１１  スレーブラッチ
１２０  セレクタ
１３０  セレクタ
２００  ＮｅｇタイプＦ／Ｆ
１００  ＰｏｓタイプＦ／Ｆ
２１０  マスタラッチ
２１１  スレーブラッチ
２２０  セレクタ
２３０  セレクタ
ＳＣＬＫ  スキャンシフトクロック
ＳＣＬＫ１  スキャンシフトクロック
ＳＣＬＫ２  スキャンシフトクロック
ＳＣＬＫ１Ｂ  スキャンシフトクロック
ＳＣＬＫ２Ｂ  スキャンシフトクロック
ＣＬＫ  通常クロック
ＣＬＫＢ  通常クロック
ＳＣＭ  スキャンモードコントロール信号
ＳＩＮ  スキャンシフトデータ入力
Ｑ  データ出力
Ｍ  マスタラッチの入力
Ｄ  データ入力
Ｓ  スレーブラッチの入力
【図１】
0005651058.tif 000002
【図２】
0005651058.tif 000003
【図３】
0005651058.tif 000004
【図４】
0005651058.tif 000005
【図５】
0005651058.tif 000006
【図６】
0005651058.tif 000007
【図７】
0005651058.tif 000008
【図８】
0005651058.tif 000009
【図９】
0005651058.tif 000010
【図１０】
0005651058.tif 000011
【図１１】
0005651058.tif 000012
【図１２】
0005651058.tif 000013
【図１３】
0005651058.tif 000014
【図１４】
0005651058.tif 000015
【図１５】
0005651058.tif 000016
【図１６】
0005651058.tif 000017
【図１７】
0005651058.tif 000018
【図１８】
0005651058.tif 000019
【図１９】
0005651058.tif 000020
【図２０】
0005651058.tif 000021
【図２１】
0005651058.tif 000022
【図２２】
0005651058.tif 000023
【図２３】
0005651058.tif 000024
【図２４】
0005651058.tif 000025
【図２５】
0005651058.tif 000026
【図２６】
0005651058.tif 000027
【図２７】
0005651058.tif 000028
【図２８】
0005651058.tif 000029
【図２９】
0005651058.tif 000030
【図３０】
0005651058.tif 000031
【図３１】
0005651058.tif 000032
【図３２】
0005651058.tif 000033
【図３３】
0005651058.tif 000034