(57)【要約】【課題】ディレイテストコントローラや、複数本のDELAY TEST MODE信号線を不要にし、回路の規模を縮小する。【解決手段】入力値に関わらず出力値の保持及び反転の制御が可能な出力制御スキャンフリップフロップ１において、スキャンフリップフロップ３と、クロック信号に同期して動作し、外部から入力される第１の入力データを記憶する記憶素子２と、記憶素子２の出力信号と、スキャンフリップフロップ３の出力信号とを入力する非排他的論理和回路４と、外部から入力される第２の入力データと、非排他的論理和回路４の出力信号とを入力し、外部からセレクト信号を入力し、出力信号がスキャンフリップフロップ３に入力されるセレクタ５とを備える。【選択図】図１
2011069768.tif 000002
【特許請求の範囲】
【請求項１】
入力値に関わらず出力値の保持及び反転の制御が可能な出力制御スキャンフリップフロップであって、
スキャンフリップフロップと、
クロック信号に同期して動作し、外部から入力される第１の入力データを記憶する記憶素子と、
前記記憶素子の出力信号と、前記スキャンフリップフロップの出力信号とを入力する非排他的論理和回路と、
外部から入力される第２の入力データと、前記非排他的論理和回路の出力信号とを入力し、外部からセレクト信号を入力し、出力信号が前記スキャンフリップフロップに入力されるセレクタと、
を備える出力制御スキャンフリップフロップ。
【請求項２】
入力値に関わらず出力値の保持及び反転の制御が可能な出力制御スキャンフリップフロップであって、
スキャンフリップフロップと、
クロック信号に同期して動作し、外部から入力される第１の入力データを記憶する記憶素子と、
外部から入力される第２の入力データと、前記記憶素子の出力信号とを入力し、外部からセレクト信号を入力し、出力信号が前記スキャンフリップフロップに入力されるセレクタと、
を備える出力制御スキャンフリップフロップ。
【請求項３】
前記スキャンフリップフロップは、第１のクロック信号に同期して動作し、
前記記憶素子は、第２のクロック信号に同期して動作する、
請求項１又は２に記載の出力制御スキャンフリップフロップ。
【請求項４】
請求項１〜３のいずれか１つに記載の前記出力制御スキャンフリップフロップを備える回路であって、
遷移遅延テストの対象となる経路の終点に位置するスキャンフリップフロップの始点にあたる箇所に前記出力制御スキャンフリップフロップが配置されている、
スキャンテスト回路。
【請求項５】
前記第１の入力データは、遷移遅延スキャンテストにおけるスキャンシフトチェーン信号である、
請求項４に記載のスキャンテスト回路。
【請求項６】
前記第２の入力データに関わらず、前記記憶素子に記憶された値に基づいて、１クロック前の周期に出力した値を保持又は反転させる第１のモードと、
前記第２の入力データを出力する第２のモードと、
を備える請求項５に記載のスキャンテスト回路。
【請求項７】
請求項４又は５に記載のスキャンテスト回路におけるテスト設計方法であって、
前記遷移遅延テストの対象となる経路を抽出するステップと、
前記経路の終点に位置するスキャンフリップフロップの始点にあたるスキャンフリップフロップを、前記出力制御スキャンフリップフロップに置換するステップと、
を備えるテスト設計方法。
【請求項８】
前記経路に前記スキャンフリップフロップを除く順序回路が含まれる場合に、前記順序回路の未検出箇所の始点にあたる複数のスキャンフリップフロップのうち、前記順序回路の終点に位置するスキャンフリップフロップを除くスキャンフリップフロップを、前記出力制御スキャンフリップフロップに置換するステップ、
を更に備える請求項７に記載のテスト設計方法。
【請求項９】
前記経路において、前記スキャンフリップフロップ間の未検出箇所と、前記順序回路の未検出箇所とのどちらを優先して前記置換を実行するかを決定するステップ、
を更に備える請求項８に記載のテスト設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のスキャンテストに用いられるスキャンフリップフロップに関する。
【背景技術】
【０００２】
スキャンテストは、半導体集積回路のテストを容易にする設計手法の一つである。前記スキャンテストにおいては、回路内のフリップフロップ（ＦＦ：Flip Flop）がスキャンＦＦに置換される。
【０００３】
図１１は、従来の反転保持混合型のスキャンＦＦ１０１の構成を例示している。前記スキャンＦＦ１０１は、一般的なＦＦ１０２、及びセレクタ１０３を備えている。前記セレクタ１０３は、選択を制御する選択信号（DELAY TEST MODE端子信号）に応じて、前記ＦＦ１０２の出力（Ｑ端子信号）、又は組み合わせ回路からのデータ（DATA IN端子信号）、又は前記ＦＦ１０２の反転出力（ＱＢ端子信号）のうちいずれかを選択して出力する。
【０００４】
図１２は、４つの前記スキャンＦＦ１０１−１，１０１−２，１０１−３，１０１−４を用いた回路を例示している。この回路においては、ディレイテストコントローラ１１０が全ての前記DELAY TEST MODE信号１１１〜１１４を制御する。例えば、前記ディレイテストコントローラ１１０により、第１の前記スキャンＦＦ１０１−１を反転容易構成モードにし、第２〜第４の前記スキャンＦＦ１０１−２〜１０１−４を保持容易構成モードにすると、ターゲットパスＳ１，Ｓ２，Ｓ３，Ｓ４がディレイテスト可能となる。また、前記第３のスキャンＦＦ１０１−３を反転モードにし、前記第１、第２、及び第４のスキャンＦＦ１０１−１，１０１−２，１０１−４を保持容易構成モードにすると、ターゲットパスＳ６，Ｓ３，Ｓ４がディレイテスト可能となる。同様に、ターゲットパスＳ５，Ｓ２，Ｓ３，Ｓ４、そしてＳ７，Ｓ４等に対しても、ディレイテストを実行することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−８４４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のようなスキャンＦＦ１０１は、出力を保持又は反転するために、DELAY TEST MODE信号を１ビットずつ制御する前記ディレイテストコントローラ１１０を必要とする。そのため、回路の規模が大きくなるという問題がある。
【課題を解決するための手段】
【０００７】
本発明の一態様は、入力値に関わらず出力値の保持及び反転の制御が可能な出力制御スキャンフリップフロップであって、スキャンフリップフロップと、クロック信号に同期して動作し、外部から入力される第１の入力データを記憶する記憶素子と、前記記憶素子の出力信号と、前記スキャンフリップフロップの出力信号とを入力する非排他的論理和回路と、外部から入力される第２の入力データと、前記非排他的論理和回路の出力信号とを入力し、外部からセレクト信号を入力し、出力信号が前記スキャンフリップフロップに入力されるセレクタとを備えるものである。
【０００８】
また、他の態様は、入力値に関わらず出力値の保持及び反転の制御が可能な出力制御スキャンフリップフロップであって、スキャンフリップフロップと、クロック信号に同期して動作し、外部から入力される第１の入力データを記憶する記憶素子と、外部から入力される第２の入力データと、前記記憶素子の出力信号とを入力し、外部からセレクト信号を入力し、出力信号が前記スキャンフリップフロップに入力されるセレクタとを備えるものである。
【０００９】
また、本発明の他の態様は、前記出力制御スキャンフリップフロップを備えるスキャンテスト回路であって、遷移遅延テストの対象となる経路の終点に位置するスキャンフリップフロップの始点にあたる箇所に前記出力制御スキャンフリップフロップが配置されているものである。
【００１０】
また、本発明の他の態様は、前記スキャンテスト回路におけるテスト設計方法であって、前記遷移遅延テストの対象となる経路を抽出するステップと、前記経路の終点に位置するスキャンフリップフロップの始点にあたるスキャンフリップフロップを、前記出力制御スキャンフリップフロップに置換するステップとを備えるものである。
【００１１】
上記態様によれば、前記セレクタへの前記セレクト信号等を制御することにより、前記遷移遅延テストの対象となる前記経路を除く経路を非活性化することができると共に、前記対象となる経路における遷移信号の伝播を確実にすることができる。
【発明の効果】
【００１２】
本発明によれば、DELAY TEST MODE信号を制御するディレイテストコントローラや、複数本のDELAY TEST MODE信号線を不要にすることができる。これにより、回路の規模を縮小することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１に係る出力制御スキャンフリップフロップの構成を示す図である。
【図２】実施の形態１に係る出力制御スキャンフリップフロップをテストポイントとして挿入した回路を例示する図である。
【図３】図２に示す回路において遷移遅延テストを実行する際のタイミングチャートである。
【図４】図２に示す回路に対し、出力制御スキャンフリップフロップをテストポイントとして挿入する処理を示すフローチャートである。
【図５】図４に示すステップＳ１０３の具体的処理を例示するフローチャートである。
【図６】本発明の実施の形態２に係る回路の構成を示す図である。
【図７】図６回路に対し、出力制御スキャンスリップフロップをテストポイントとして挿入する処理を示すフローチャートである。
【図８】図７に示すステップＳ２０６の具体的処理を例示するフローチャートである。
【図９Ａ】図７に示すステップＳ２０８の具体的処理を例示するフローチャートである。
【図９Ｂ】図７に示すステップＳ２０８の具体的処理を例示するフローチャートである。
【図９Ｃ】図７に示すステップＳ２０８の具体的処理を例示するフローチャートである。
【図１０】本発明の実施の形態３に係る出力制御スキャンフリップフロップの構成を示す図である。
【図１１】従来の反転保持混合型のスキャンフリップフロップの構成を例示する図である。
【図１２】４つの前記反転保持混合型のスキャンフリップフロップを用いた回路を例示する図である。
【発明を実施するための形態】
【００１４】
実施の形態１
図１は、本発明の実施の形態１に係る出力制御スキャンＦＦ１の構成を示している。前記出力制御スキャンＦＦ１は、記憶素子２、スキャンＦＦ３、排他的論理和回路４、及びセレクタ５を含む。
【００１５】
前記記憶素子２は、スキャンシフト入力ＳＩＮからの入力データをクロックＴＣＫに同期して記憶する。前記排他的論理和回路４は、ネットＮ１を介して前記記憶素子２の出力信号を入力し、ネットＮ１４を介して前記スキャンＦＦ３の出力信号を入力する。前記セレクタ５は、前記出力制御スキャンＦＦ１の外部から入力されるＤＡＴＡと、前記排他的論理和回路４の出力とを入力し、ＴＥ入力をセレクト信号とする。前記セレクタ５の出力信号であるネットＮ１５は、前記スキャンＦＦ３のデータ入力Ｄに接続する。前記ＴＥが０の時、前記スキャンＦＦ３へのデータ入力として前記ＤＡＴＡが選択され、前記スキャンＦＦ３のＣＬＫ、ＳＩＮ、ＳＭＣに外部からの信号が入力される。
【００１６】
前記出力制御スキャンＦＦ１は、前記ＳＩＮ、前記ＴＣＫ、及び前記ＴＥの組み合わせにより、前記出力制御スキャン１の出力の保持・反転を行うと共に、一般的なスキャンＦＦと同等の動作を行う。前記スキャンＦＦ３の出力をデータセットした後、次の前記ＣＬＫのタイミングで前記スキャンＦＦ３の出力を保持・反転させる場合には、前記ＴＥを１にし、前記スキャンＦＦ３をスキャンシフトモードに設定する。これにより、前記ＳＩＮからの入力データが前記ＴＣＫのタイミングで前記記憶素子２に記憶され、次いで前記ＳＩＮからの入力データが前記ＣＬＫのタイミングで前記スキャンＦＦ３にセットされる。その後、前記ＳＭＣを０にすることにより、前記スキャンＦＦ３を前記スキャンシフトモードから通常モードに戻す。一方、前記出力制御スキャンＦＦ１が一般的なスキャンＦＦと同等の動作をする場合には、前記ＴＥを０にし、前記セレクタ５に前記ＤＡＴＡを入力し、前記スキャンＦＦ３が前記ＣＬＫのタイミングで前記ＤＡＴＡを取り込むようにする。
【００１７】
図２は、前記出力制御スキャンＦＦ１をテストポイントとして挿入した回路１０を例示している。前記回路１０は、４つの前記出力制御スキャンＦＦ１−１，１−２，１−３，１−４、ＮＡＮＤ回路１１、ＯＲ回路１２、ＡＮＤ回路１３、及びスキャンＦＦ１４を含む。また、Ｎ１，Ｎ２，Ｎ３，Ｎ４，Ｎ５，Ｎ６，Ｎ７，Ｎ８，Ｎ９、Ｎ１０、Ｎ１１、Ｎ１２，Ｎ１３は、それぞれネットを示している。
【００１８】
前記回路１０は、前記スキャンＦＦ１４を終点とする所定の経路を対象パスとする遷移遅延テストを実行する場合、前記スキャンＦＦ１４の始点にあたるスキャンＦＦを、全て前記出力制御スキャンＦＦ１に置き換えたものである。前記スキャンＦＦ１４の始点にあたるスキャンＦＦとは、前記スキャンＦＦ１４のデータ入力側に直接、又は組み合わせ回路（ＮＡＮＤ回路１１、ＯＲ回路１２、ＡＮＤ回路１３等）を介して接続されるスキャンＦＦである。上記のような前記出力制御スキャンＦＦ１への置き換えは、前記遷移遅延テスト時に、これらのスキャンＦＦを制御可能にするために行われる。尚、このような置き換えは、前記遷移遅延テストを実行することができない前記対象パスに相当する部分にだけ行ってもよい。また、全ての前記出力制御スキャンＦＦ１−１，１−２，１−３，１−４の前記ＴＥ及び前記ＴＣＫを、任意の本数に纏めることが可能である。更に、前記ＴＥ及び前記ＴＣＫは、専用の外部端子を介して直接制御されてもよいし、他の外部端子を兼用しＬＳＩ内部に設けられた簡単な制御回路により制御されてもよい。図２は、専用の外部端子から前記ＴＥ及び前記ＴＣＫ信号を纏め直接制御する構成を示している。
【００１９】
図３は、前記回路１０において前記対象パスをＮ６→Ｎ１２→Ｎ１３→Ｎ１０→前記スキャンＦＦ１４とする前記遷移遅延テストを実行する場合のタイミングチャートを示している。先ず、前記各出力制御スキャンＦＦ１−１，１−２，１−３，１−４の出力を制御するために、前記ＴＥを１に設定し、前記各記憶素子２に、出力の保持・反転を設定する値を前記ＳＩＮからスキャンシフトパターンとして送り込み、前記ＴＣＫのタイミングで値をセットする。この時、前記遷移遅延テストの始点である前記ネットＮ６のみを遷移させると共に、前記ネットＮ７〜Ｎ９に接続される前記出力制御スキャンＦＦ１−２，１−３，１−４の値を保持させたいため、前記ネットＮ６に接続される前記出力制御スキャンＦＦ１−１の前記記憶素子Ｐ２に出力を反転させる値１をセットし、前記出力制御スキャンＦＦ１−２，１−３，１−４の記憶素子Ｐ２に出力を保持させる値０をセットする（Ｔ１〜Ｔ２参照）。
【００２０】
次に、前記遷移遅延テストの前記対象パスの活性化及び遷移に必要な値を、前記各出力制御スキャンＦＦ１−１，１−２，１−３，１−４に、通常のスキャンシフト入力動作によりセットする。図３は、Ｎ６，Ｎ１２，Ｎ１３，Ｎ１０を経て前記スキャンＦＦ１４に到達する前記対象パスにおいて、１から０への前記遷移遅延テストを実施する場合を示している。前記対象パスを活性化するために、前記ネットＮ７に接続される前記出力制御スキャンＦＦ１−２に１を、前記ネットＮ８に接続される出力制御スキャンＦＦ１−３に０を、前記ネットＮ９に接続される出力制御スキャンＦＦ１−４に１を、前記ネットＮ６に接続される出力制御スキャンＦＦ１−１に前記遷移遅延テストの遷移前の１をスキャンシフト入力によりセットする（Ｔ２〜Ｔ３参照）。
【００２１】
次に、前記遷移遅延テストを通常のスキャンのロンチ及びキャプチャ動作により行う。前記ネットＮ６は、ロンチ時のＣＬＫで１から０に遷移し、キャプチャ時のＣＬＫで前記ネットＮ６は０から１に遷移する。前記スキャンＦＦ１４に、前記ネットＮ６が０に遷移した時の値を、前記スキャンＦＦ１４がキャプチャ時のＣＬＫのタイミングで取り込むことにより、前記遷移遅延テストを行う（Ｔ３〜Ｔ４参照）。
【００２２】
最後に、前記ネットＮ６が０に遷移した時の値を前記スキャンＦＦ１４が正常に取り込めているかを確認するために、前記スキャンＦＦ１４に取り込んだ値を通常のスキャンシフト出力で外部に出力し、確認する（Ｔ４〜Ｔ５参照）。即ち、Ｔ１〜Ｔ２の動作により、前記スキャンＦＦ１４の始点が全て前記出力制御スキャンＦＦ１−１，１−２，１−３，１−４により制御された後は、通常のスキャン動作による前記遷移遅延テストを行えば良い。尚、前記各記憶素子２のセットと、通常のスキャンパターンのスキャンシフトセットとを同時に行えるシフトパターンが生成可能ならば、前記各記憶素子２への値セット（Ｔ１〜Ｔ２）と通常のスキャンシフトセット（Ｔ２〜Ｔ３）を同時に行ってもよい。
【００２３】
図４は、スキャン挿入済みの前記回路１０に対し、前記出力制御スキャンＦＦ１をテストポイントとして挿入する処理を示している。先ず、前記回路１０に対し、ＡＴＰＧ(Automatic Test Pattern Generator)ツールによりスキャンパターンを作成する（ステップＳ１０１）。次いで、ＡＴＰＧツールより制御不能、又は解析が終了しないテスト不能な箇所を、未検出箇所として抽出する（ステップＳ１０２）。次いで、前記回路１０内のスキャンＦＦのうち前記出力制御スキャンＦＦ１に置き換えるべきものを挙げるリスト（以降、置換リストという）を作成する（ステップＳ１０３）。そして、前記置換リストに従って前記スキャンＦＦを前記出力制御スキャンＦＦ１に置き換える（ステップＳ１０４）。
【００２４】
次いで、置き換えた前記出力制御スキャンＦＦ１の前記各ＴＥの端子と前記各ＴＣＫの端子とを、それぞれまとめて制御可能となるよう接続（結線）する（ステップＳ１０５）。次いで、前記出力制御スキャンＦＦ１の前記ＴＥの端子を１にし、前記ＡＴＰＧツールによりスキャンパターンを作成する（ステップＳ１０６）。そして、前記ステップＳ１０６において作成した故障検出結果を引き継いで、通常のスキャンパターンを生成する（ステップＳ１０７）。
【００２５】
図５は、前記ステップＳ１０３の具体的処理を例示している。先ず、前記ステップＳ１０２において抽出された前記未検出箇所から前記スキャンＦＦのみを抽出する（ステップＳ１１０）。次いで、前記抽出されたスキャンＦＦに基づいて、前記始点にあたるスキャンＦＦを抽出する（ステップＳ１１１）。
【００２６】
次いで、前記抽出された始点にあたるスキャンＦＦが、前記ステップＳ１１０で抽出された前記スキャンＦＦに含まれるかを確認（ステップＳ１１２）する。前記ステップＳ１１２において、前記始点にあたるスキャンＦＦが前記ステップＳ１１０で抽出されたスキャンＦＦに含まれないと判定された場合（ＮＯ）には、前記始点にあたるスキャンＦＦを前記出力制御スキャンＦＦ１への置換候補とする（ステップＳ１１３）。一方、前記始点にあたるスキャンＦＦが前記ステップＳ１１０で抽出したスキャンＦＦに含まれると判定された場合（ＹＥＳ）には、この始点にあたるスキャンＦＦが前記対象パスの終点となるため、これを前記出力制御スキャンＦＦ１への置換候補から除外する（ステップＳ１１４）。
【００２７】
その後、前記ステップＳ１１０で抽出された全ての前記スキャンＦＦに対して置き換えの判定が終了したかが判定され（ステップＳ１１５）、終了していない場合（ＮＯ）には、前記ステップＳ１１１〜Ｓ１１５の工程を繰り返し、終了した場合（ＹＥＳ）には、処理を終了する。
【００２８】
上記のように、本実施の形態に係る前記出力制御スキャンＦＦ１は、前記スキャンシフト入力ＳＩＮからの入力データを前記ＴＣＫのタイミングで記憶する記憶素子２と、前記記憶素子２に記憶された値に応じて前記スキャンＦＦ３の出力を非反転又は反転させる前記排他的論理和回路４とを備える。そして、前記対象パスの終点となる前記スキャンＦＦ１４の始点にあたる全てのスキャンＦＦを、前記出力制御スキャンＦＦ１に置き換えることにより、前記遷移遅延テスト時に前記対象パス以外のパスを非活性化し、前記対象パスにおける信号の遷移を確実に伝播することができる。これにより、従来のような出力を保持又は反転する機構を混在するスキャンＦＦにおいては必要であったDELAY TEST MODE信号を制御するディレイテストコントローラや、複数本のDELAY TEST MODE信号線を不要とすることができる。
【００２９】
実施の形態２
図６は、本発明の実施の形態２に係る回路２０の構成を示している。前記回路２０は、一般的なスキャンＦＦ２１，２２，２３，２６，２７，２８，２９、組み合わせ回路２４，２５、及び順序回路３０を含む。前記順序回路３０には、ＲＯＭ、ＲＡＭ、ＩＰコア等が相当する。
【００３０】
図７は、前記回路２０に対し、前記出力制御スキャンＦＦ１をテストポイントとして挿入する処理を示している。先ず、スキャン挿入済みの前記回路２０に対して、前記ＡＴＰＧツールによりスキャンパターンを作成する（ステップＳ２０１）。次いで、前記ＡＴＰＧツールにより制御不能、又は解析が終了しないテスト不能な箇所を、未検出箇所として抽出する（ステップＳ２０２）。
【００３１】
次いで、前記抽出された未検出箇所に含まれる前記順序回路３０の未検出箇所を、前記遷移遅延テスト対象とするかを判定する（ステップＳ２０３）。前記ステップＳ２０３において、対象としない場合（ＮＯ）には、前記出力制御スキャンＦＦ１への置換リストを作成し（ステップＳ２０４）し、前記出力制御スキャンＦＦ１への置換を実行する（ステップＳ２１０）。一方、前記ステップＳ２０３において、対象とする場合（ＹＥＳ）には、前記順序回路３０の未検出箇所だけを前記出力制御スキャンＦＦ１への置換対象にするかを判定する（ステップＳ２０５）。
【００３２】
前記ステップＳ２０５において、前記順序回路３０の未検出箇所だけを前記置換対象にする場合（ＹＥＳ）には、前記出力制御スキャンＦＦ１への置換リストを作成し（ステップＳ２０６）、前記出力制御スキャンＦＦ１への置換を実行する（ステップＳ２１０）。一方、前記ステップＳ２０５において、前記順序回路３０の未検出箇所だけではなく他の未検出箇所も前記出力制御スキャンＦＦ１への置換対象にする場合（ＮＯ）には、前記順序回路３０の未検出箇所を他の未検出箇所より優先して前記遷移遅延テスト対象とするかを判定する（ステップＳ２０７）。
【００３３】
前記ステップＳ２０７において、前記他の未検出箇所を優先する場合（ＹＥＳ）には、前記出力制御スキャンＦＦ１への置換リストを作成し（ステップＳ２０８）、前記出力制御スキャンＦＦ１への置換を実行する（ステップＳ２１０）。
【００３４】
その後、置換した前記出力制御スキャンＦＦ１の前記各ＴＥの端子と前記各ＴＣＫの端子とを、それぞれまとめて制御可能となるよう接続（結線）する（ステップＳ２１１）。次いで、前記出力制御スキャンＦＦ１の前記ＴＥの端子を１にし、前記ＡＴＰＧツールによりスキャンパターンを作成する（ステップＳ２１２）。そして、前記ステップＳ２１２において作成した故障検出結果を引き継いで、通常のスキャンパターンを生成する（ステップＳ２１３）。
【００３５】
図８は、前記ステップＳ２０６（図７参照）の具体的処理を例示している。先ず、前記順序回路３０の始点・終点となる前記スキャンＦＦを全て抽出する（ステップＳ２３０）。次いで、前記抽出されたスキャンＦＦが前記遷移遅延テストの前記対象パスの終点にあたるかを確認する（ステップＳ２３１）。前記ステップＳ２３１において、前記抽出されたスキャンＦＦが前記終点にあたるスキャンＦＦである場合（ＹＥＳ）には、前記終点にあたるスキャンＦＦに対して、前記始点にあたるスキャンＦＦを抽出箇所に追加する（ステップＳ２３２）。
【００３６】
前記ステップＳ２３１において、前記抽出されたスキャンＦＦが前記終点にあたるスキャンＦＦではない場合（ＮＯ）、又は前記ステップＳ２３２の処理が終了した後に、前記ステップＳ２３０又は前記ステップＳ２３２で抽出された前記スキャンＦＦが、前記順序回路３０の終点にあたるスキャンＦＦと重複するか判定する（ステップＳ２３３）。前記ステップＳ２３３において、重複しない場合（ＮＯ）には、前記抽出されたスキャンＦＦを前記出力制御スキャンＦＦ１への置換対象とし（ステップＳ２３４）、重複する場合（ＹＥＳ）には、前記抽出されたスキャンＦＦを前記置換対象から除外する（ステップＳ２３５）。
【００３７】
その後、前記ステップＳ２３０で抽出された全てのスキャンＦＦに対して処理が完了したかを判定し（ステップＳ２３６）、終了していない場合（ＮＯ）には、前記ステップＳ２３１へ戻り、終了した場合（ＹＥＳ）には、このルーチンを終了する。
【００３８】
図９Ａ〜Ｃは、前記ステップＳ２０８（図７参照）の具体的処理を例示している。この処理は、図５に示す前記ステップＳ１１０〜Ｓ１１５、及び図８に示す前記ステップＳ２３０〜Ｓ２３６を含んでいる。これらの処理については説明を省略する。また、図９Ａ〜Ｃに示す処理は、前記ステップＳ２３６においてＹＥＳと判定された後に、図９Ｂに示す第１の処理例、又は図９Ｃに示す第２の処理例のいずれかに継続する。
【００３９】
先ず、図９Ｂに示す前記第１の処理例について説明する。前記ステップＳ２３６においてＹＥＳと判定された後、前記ステップＳ１１３の置換対象、前記ステップＳ２３４の置換対象、及び前記ステップＳ２３２で抽出されたスキャンＦＦを足し合わせ、これらを前記出力制御スキャンＦＦ１への置換候補とする（ステップＳ２４０）。
【００４０】
次いで、前記ステップＳ２４０で前記置換候補となったスキャンＦＦが、前記ステップＳ２３４で追加されたスキャンＦＦであるか確認し（ステップＳ２４１）、前記追加されたスキャンＦＦである場合（ＹＥＳ）には、これらを前記出力制御スキャンＦＦ１への置換対象とする（ステップＳ２４４）。一方、前記ステップＳ２４１において、前記追加されたスキャンＦＦでないと判定された場合（ＮＯ）には、前記ステップＳ２４０で前記置換候補となったスキャンＦＦが、前記順序回路３０の終点となるスキャンＦＦと重複するかを確認する（ステップＳ２４２）。
【００４１】
前記ステップＳ２４２において、重複すると判定された場合（ＹＥＳ）には、前記ステップＳ２４０で前記置換候補となったスキャンＦＦを前記出力制御スキャンＦＦ１への置換対象から除外し（ステップＳ２４３）、重複しないと判定された場合（ＮＯ）には、前記置換候補となったスキャンＦＦを前記置換対象に追加する（ステップＳ２４４）。その後、前記ステップＳ２４１〜前記ステップＳ２４４の処理が、前記ステップＳ２４０で置換候補とされた全てのスキャンＦＦに対して完了するまで繰り返される（ステップＳ２４５）。
【００４２】
次に、図９Ｃに示す前記第２の処理例について説明する。前記ステップＳ２３６（図９Ａ参照）においてＹＥＳと判定された後、前記ステップＳ１１３の置換対象、前記ステップＳ２３４の置換対象、及び前記ステップＳ２３２で抽出されたスキャンＦＦを足し合わせ、これらを前記出力制御スキャンＦＦ１への置換候補とする（ステップＳ２４０）。
【００４３】
次いで、前記ステップＳ２４０で前記置換候補となったスキャンＦＦが、前記ステップＳ１１３で追加されたスキャンＦＦであるか確認し（ステップＳ２５０）、前記追加されたスキャンＦＦである場合（ＹＥＳ）には、これらを前記出力制御スキャンＦＦ１への置換対象とする（ステップＳ２５３）。一方、前記ステップＳ２５０において、前記追加されたスキャンＦＦでないと判定された場合（ＮＯ）には、前記ステップＳ２４０で前記置換候補となったスキャンＦＦが、前記ステップＳ１１０で抽出されたスキャンＦＦと重複するかを確認する（ステップＳ２５１）。
【００４４】
前記ステップＳ２５１において、重複すると判定された場合（ＹＥＳ）には、前記ステップＳ２４０で前記置換候補となったスキャンＦＦを前記出力制御スキャンＦＦ１への置換対象から除外し（ステップＳ２５２）、重複しないと判定された場合（ＮＯ）には、前記置換候補となったスキャンＦＦを前記置換対象に追加する（ステップＳ２５３）。その後、前記ステップＳ２５０〜前記ステップＳ２５３の処理が、前記ステップＳ２４０で置換候補とされた全てのスキャンＦＦに対して完了するまで繰り返される（ステップＳ２５４）。
【００４５】
また、図７に示す前記ステップＳ２０４は、図５に示すフローチャートと同様の処理により実行することができる。
【００４６】
上記構成によれば、通常の前記スキャンＦＦ２１，２２，２３，２６，２７，２８，２９だけでなく、ＲＯＭ、ＲＡＭ、ＩＰコア等の前記順序回路３０を含む前記回路２０に対しても、前記遷移遅延テストを実行することができる。
【００４７】
実施の形態３
図１０は、本発明の実施の形態３に係る出力制御スキャンＦＦ５１の構成を示している。前記出力制御スキャンＦＦ５１は、記憶素子５２、スキャンＦＦ５３、及びセレクタ５５を含む。前記記憶素子５２は、スキャンシフト入力ＳＩＮからの入力データをクロックＴＣＫに同期して記憶する。前記セレクタ５５は、前記記憶素子５２の出力信号をネットＮ１６を介して入力すると共に、外部からの信号であるＤＡＴＡを入力し、ＴＥをセレクト信号とする。
【００４８】
前記ＴＥが１の時には、ネットＮ１６に出力される前記記憶素子５２の出力信号が前記セレクタ５５の出力信号としてネット１５に出力され、この出力信号が前記スキャンＦＦ５３のデータ入力Ｄに入力される。一方、前記ＴＥが０の時には、前記ＤＡＴＡが前記セレクタ５５を介して前記スキャンＦＦ５３の前記データ入力Ｄに入力され、前記スキャンＦＦ５３のＣＬＫ、ＳＩＮ、ＳＭＣに前記出力制御スキャンＦＦ５１の外部からくる信号が入力される。
【００４９】
上記構成の前記出力制御スキャンＦＦ５１を、図２に示す前記回路１０の前記出力制御スキャンＦＦ１と置換しても、同様に遷移遅延テストを行うことができる。また、スキャンパターンに依存することなく、任意の時刻に必要な値を予め設定しておくことができる。この場合には、前記遷移遅延テスト以外の解析にも用いることができる。
【００５０】
尚、本発明は、上記実施の形態に限られるものではなく、趣旨を逸脱しない範囲で適宜変更することが可能なものである。
【符号の説明】
【００５１】
１，５１  出力制御スキャンＦＦ
２，５２  記憶素子
３，５３  スキャンＦＦ
４  非排他的論理和回路
Ｎ１〜Ｎ１６  ネット
【図１】
2011069768.tif 000003
【図２】
2011069768.tif 000004
【図３】
2011069768.tif 000005
【図４】
2011069768.tif 000006
【図５】
2011069768.tif 000007
【図６】
2011069768.tif 000008
【図７】
2011069768.tif 000009
【図８】
2011069768.tif 000010
【図９Ａ】
2011069768.tif 000011
【図９Ｂ】
2011069768.tif 000012
【図９Ｃ】
2011069768.tif 000013
【図１０】
2011069768.tif 000014
【図１１】
2011069768.tif 000015
【図１２】
2011069768.tif 000016