(57)【要約】【課題】  ゲーティッドクロック設計により設計された論理回路に対してスキャンパステストを実行可能なスキャンパステスト回路設計方法等を提供する。【解決手段】  ラッチベースで論理回路を設計する論理設計処理（ステップｓｔ１）において、スキャンラッチユニットを挿入し（ステップｓｔ２）、次に、論理回路内のゲーティッドクロックを生成するクロックゲートを探索する（ステップｓｔ３）。探索結果に基づいてクロックゲートに入力される所定の制御信号を制御するゲート制御回路を挿入する（ステップｓｔ４）ことにより、ゲーティッドクロックを制御し、所望のテスト動作であるスキャンパステストを実行することができる。【選択図】        図１
2005085206.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２の論理レベルを有するクロック信号に基づいて入力される複数の信号の一つをラッチして出力する複数のスキャンラッチ回路と、
各々が、前記複数のスキャンラッチ回路の間に交互に直列に接続されるように配置され、入力される信号を前記複数のスキャンラッチ回路に対して相補的にラッチして出力する複数のラッチ回路と、
各々が、各前記スキャンラッチ回路と、隣接する各前記ラッチ回路の間に交互に直列に接続されるように設けられ、一方の入力に応じた所定の論理演算動作に基づく信号を他方に対して出力する複数の論理回路とを備え、
前記複数のスキャンラッチ回路のうちの少なくとも１つのスキャンラッチ回路は、前記クロック信号および所定の制御信号の入力に基づいて前記複数の信号の一つをラッチして出力し、
テスト時において、前記所定の制御信号は前記第１および第２の論理レベルのいずれか一方に固定される、半導体集積回路。
【請求項２】
前記複数のスキャンラッチ回路のうち最初のスキャンラッチ回路に入力される前記複数の信号は、テスト時に用いられるテストデータ信号を含み、
前記複数のスキャンラッチ回路のうち他のスキャンラッチ回路に入力される前記複数の信号は、前段のスキャンラッチ回路においてラッチされた出力信号を含む、請求項１記載の半導体集積回路。
【請求項３】
複数のスキャンラッチ回路の各々は、前記複数の信号の一つを制御信号に応答して選択するセレクタ部と、
前記セレクタ部により選択された信号を前記クロック信号および前記所定の制御信号の少なくとも一方に基づいてラッチして出力するラッチ回路とを含む、請求項１記載の半導体集積回路。
【請求項４】
前記少なくとも１つのスキャンラッチ回路において、入力される前記複数の信号は、前記所定の制御信号と、隣接する論理回路の出力信号および前段のスキャンラッチ回路の出力信号を含み、
前記セレクタ部は、
前記所定の制御信号および前記隣接する論理回路の出力信号を第１の制御信号に基づいて選択的に出力する第１のセレクタユニットと、
前記第１のセレクタユニットの出力信号および前記前段のスキャンラッチ回路の出力信号を第２の制御信号に基づいて選択的に出力する第２のセレクタユニットとを含む、請求項３記載の半導体集積回路。
【請求項５】
前記少なくとも１つのスキャンラッチ回路において、入力される前記複数の信号は、前記所定の制御信号と、隣接する論理回路の出力信号および前段のスキャンラッチ回路の出力信号を含み、
前記セレクタ部は、
前記所定の制御信号および前記前段のスキャンラッチ回路の出力信号を第１の制御信号に基づいて選択的に出力する第１のセレクタユニットと、
前記第１のセレクタユニットの出力信号および前記前段の論理回路の出力信号を第２の制御信号に基づいて選択的に出力する第２のセレクタユニットとを含む、請求項３記載の半導体集積回路。
【請求項６】
各々が、第１および第２の論理レベルを有するクロック信号に基づいてラッチし出力する複数のラッチ回路と、前記複数のラッチ回路と交互に直列に接続される複数の論理ユニットを用いて構成される論理回路を設計する論理設計処理と、
前記論理設計処理により生成された論理回路において、前記複数のラッチ回路のうちの一群のラッチ回路の各々がその他のラッチ回路の各々と各前記論理ユニットを挟んで配置されるようにスキャンラッチ回路に置き換えて挿入する処理と、
前記論理回路において、所定の制御信号と前記クロック信号との組合せに基づいて生成されるゲーティッドクロックを生成するクロックゲートを探索する処理と、
探索結果に基づいて前記クロックゲートに入力される前記所定の制御信号を制御するゲート制御回路を挿入する処理とを備える、スキャンパステスト回路設計方法。
【請求項７】
前記ゲート制御回路は、前記所定の制御信号を前記第１および第２の論理レベルのいずれか一方に固定する、請求項６記載のスキャンパステスト回路設計方法。
【請求項８】
前記一群のラッチ回路の各々をスキャンラッチ回路に置き換えて挿入する処理は、
前記一群のラッチ回路の各々のラッチ回路に直列にセレクタを挿入する処理と、
前記一群のラッチ回路の各々のラッチ回路および前記挿入されたセレクタの入力信号を共通とし、前段の論理ユニットおよび前段のスキャンラッチ回路の出力信号を前記セレクタを通して選択的に出力させる処理とを含む、請求項６記載のスキャンパステスト回路設計方法。
【請求項９】
前記一群のラッチ回路の各々をスキャンラッチ回路に置き換えて挿入する処理は、
前記スキャンラッチ回路が前記ゲーティッドクロックに基づいてラッチする場合において、
前記一群のラッチ回路の各々のラッチ回路に直列に第１のセレクタを挿入する処理と、
前記一群のラッチ回路の各々のラッチ回路および前記挿入された第１のセレクタの入力信号を共通とし、前段の論理ユニットおよび前記所定の制御信号を前記第１のセレクタを通して選択的に出力させる処理と、
前記第１のセレクタと、前記一群のラッチ回路の各々のラッチ回路との間に直列に第２のセレクタを挿入する処理と、
前記第１のセレクタの出力信号と、前段のスキャンラッチ回路の出力信号を前記第２のセレクタを通して選択的に出力させる処理とを含む、請求項６記載のスキャンパステスト回路設計方法。
【請求項１０】
前記一群のラッチ回路の各々をスキャンラッチ回路に置き換えて挿入する処理は、
前記スキャンラッチ回路が前記ゲーティッドクロックに基づいてラッチする場合において、
前記一群のラッチ回路の各々のラッチ回路と直列に第１のセレクタを挿入する処理と、
前記所定の制御信号および前段のスキャンラッチ回路の出力信号を前記第１のセレクタを通して選択的に出力させる処理と、
前記第１のセレクタと、前記一群のラッチ回路の各々のラッチ回路との間に直列に第２のセレクタを挿入する処理と、
前記一群のラッチ回路の各々のラッチ回路および前記挿入された第２のセレクタの入力信号を共通とし、前段の論理回路および前記第１のセレクタの出力信号を前記第２のセレクタを通して選択的に出力させる処理とを含む、請求項６記載のスキャンパステスト回路設計方法。
【請求項１１】
前記一群のラッチ回路の各々をスキャンラッチ回路に置き換えて挿入する処理は、
前記一群のラッチ回路の各々のラッチ回路の出力信号をラッチして後段のスキャンラッチ回路に出力するスレーブラッチ回路を挿入する処理をさらに含む、請求項８〜１０のいずれか一項に記載のスキャンパステスト回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のスキャンパステストを実行するスキャンパステスト回路設計方法およびその方法を用いて設計されるラッチベースで設計された論理構成を有する半導体集積回路に関する。
【背景技術】
【０００２】
ＡＳＩＣ（Application Specific Integrated Circuit）の大規模化に伴い、ＡＳＩＣの目的とする本来の機能の他に、製造段階での製品検査のためのテスト回路を予めこのＡＳＩＣ内に組込んで設計する方式が用いられている。その１つのテスト方式としてスキャンパステスト方式と呼ばれるテストを実行可能なテスト回路が組込まれたものが知られている。
【０００３】
このスキャンパステスト方式は、一例として半導体集積回路に備えられた順序回路であるフリップフロップ回路をスキャン可能ないわゆるスキャンフリップフロップに置換え、テストデータを入力して、観測される出力結果から、順序回路の不良等を判定するテストを行なうものである。
【０００４】
あるいは、装置の動作高速性を確保する観点から順序回路としてフリップフロップの代わりにラッチ回路が設けられる場合もあり特開平８−２７３３９３号公報においては、ラッチベースで設計された論理回路に対して、スキャンパステスト方式を実行する半導体集積回路について開示されている。
【特許文献１】特開平８−２７３３９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一方、現在の論理回路設計では、速度の向上および面積の削減、および多機能化を図るため、複数のクロック信号を用いる多層クロック設計や、クロックをゲートを用いて加工するゲーティッドクロック設計等のクロック設計が採用されてきている。
【０００６】
しかしながら、これらのクロック設計を施した論理回路については、ラッチ回路等の制御が複雑化してしまうために上記テスト回路の組込みが禁止されている場合がある。たとえば、論理回路設計制約の一つとしてその代表的なものにいわゆる「ゲーティッドクロックの禁止」がある。
【０００７】
したがって、ゲーティッドクロック設計を施した論理回路においては、スキャンパステスト方式は実行されていなかった。
【０００８】
本発明の目的は、上記の問題点を解決するためになされたものであってラッチベースで設計され、かつゲーティッドクロック設計により設計された論理回路を有する場合においても、スキャンパステスト方式を実行可能な半導体集積回路およびスキャンパステスト回路設計方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明の半導体集積回路は、複数のスキャンラッチ回路と、複数のラッチ回路と、複数の論理回路を含む。複数のスキャンラッチ回路は、第１および第２の論理レベルを有するクロック信号に基づいて入力される複数の信号の一つをラッチして出力する。複数のラッチ回路は、各々が、複数のスキャンラッチ回路の間に交互に直列に接続されるように配置され、入力される信号を複数のスキャンラッチ回路に対して相補的にラッチして出力する。複数の論理回路は、各々が、各スキャンラッチ回路と、隣接する各ラッチ回路の間に交互に直列に接続されるように設けられ、一方の入力に応じた所定の論理演算動作に基づく信号を他方に対して出力する。複数のスキャンラッチ回路のうちの少なくとも１つのスキャンラッチ回路は、クロック信号および所定の制御信号の入力に基づいて複数の信号の一つをラッチして出力する。テスト時において、所定の制御信号は第１および第２の論理レベルのいずれか一方に固定される。
【００１０】
また、本発明のスキャンパステスト回路設計方法は、各々が、第１および第２の論理レベルを有するクロック信号に基づいてラッチし出力する複数のラッチ回路と、複数のラッチ回路と交互に直列に接続される複数の論理ユニットを用いて構成される論理回路を設計する論理設計処理と、論理設計処理により生成された論理回路において、複数のラッチ回路のうちの一群のラッチ回路の各々がその他のラッチ回路の各々と各論理ユニットを挟んで配置されるようにスキャンラッチ回路に置き換えて挿入する処理と、論理回路において、所定の制御信号とクロック信号との組合せに基づいて生成されるゲーティッドクロックを生成するクロックゲートを探索する処理と、探索結果に基づいてクロックゲートに入力される所定の制御信号を制御するゲート制御回路を挿入する処理とを含む。
【発明の効果】
【００１１】
この発明は以上説明したように、クロック信号および所定の制御信号の入力に基づいて複数の信号の一つをラッチして出力するラッチ回路において、テスト時に所定の制御信号を第１および第２の論理レベルのいずれか一方に固定する。これにより、テスト時において、当該ラッチ回路は、クロック信号に同期してラッチ動作を実行することができるため所望のテスト動作であるスキャンパステストを実行することができる。
【００１２】
また、ラッチベースで論理回路を設計する論理設計処理において、ゲーティッドクロックを有する論理設計においても、探索結果に基づいてクロックゲートに入力される所定の制御信号を制御するゲート制御回路を挿入することにより、所望のテスト動作であるスキャンパステストを実行することができる。
【発明を実施するための最良の形態】
【００１３】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰返さない。
【００１４】
（実施の形態１）
図１は、本発明の実施の形態１に従う半導体集積回路のスキャンパステスト回路設計方法を示すフローチャート図である。
【００１５】
図１を参照して、ラッチベースで論理回路を設計する論理設計処理が施される（ステップｓｔ１）。
【００１６】
図２は、ステップｓｔ１においてラッチベースで論理回路を設計した一例図である。
【００１７】
図２を参照して、この論理回路は、論理ユニット１〜３，６〜８と、ラッチ回路Ｌ１，Ｌ２＃，Ｌ３，Ｌ４＃，Ｌ５と、ＡＮＤ回路４，１０とを含む。
【００１８】
本論理回路構成は、論理ユニットを挟んで、ハイスルーラッチ回路およびロースルーラッチ回路を交互に直列に配置した順序回路である。ここでは、論理ユニット１〜３，６〜８を用いて一例として順序回路を示しているが、この回路の前段もしくは後段においても同様の順序回路を配置することも可能である。
【００１９】
具体的には、ラッチ回路Ｌ１は、クロック信号ＣＬＫ（「Ｈ」レベル）に同期して入力信号ＩＮをラッチして出力する。論理ユニット１は、ラッチ回路Ｌ１の出力信号を受けて所定の論理演算動作を実行してその結果をラッチ回路Ｌ２＃に出力する。ラッチ回路Ｌ２＃は、クロック信号ＣＬＫ（「Ｌ」レベル）に同期して論理ユニット１の出力信号をラッチして論理ユニット２に出力する。論理ユニット２は、ラッチ回路Ｌ２＃の出力信号を受けて所定の論理演算動作を実行してその結果をラッチ回路Ｌ３に出力する。ラッチ回路Ｌ３は、加工したクロック信号（ゲーテッドクロックとも称する）であるＡＮＤ回路４の出力信号（「Ｈ」レベル）に同期して入力される論理ユニット２の出力信号をラッチして論理ユニット６に出力する。
【００２０】
論理ユニット６は、ラッチ回路Ｌ３の出力信号を受けて所定の論理演算動作を実行してその結果をラッチ回路Ｌ４＃に出力する。ラッチ回路Ｌ４＃は、クロック信号ＣＬＫ（「Ｌ」レベル）に同期して論理ユニット６の出力信号をラッチして論理ユニット７に出力する。論理ユニット７は、ラッチ回路Ｌ４＃の出力信号を受けて所定の論理演算動作を実行してその結果をラッチ回路Ｌ５に出力する。ラッチ回路Ｌ５は、加工したクロック信号であるＡＮＤ回路１０の出力信号（「Ｈ」レベル）に同期して入力される論理ユニット７の出力信号をラッチして出力信号ＯＵＴとして出力する。
【００２１】
ＡＮＤ回路４は、クロック信号ＣＬＫおよび論理ユニット３の出力信号ＥＮ１に基づいてＡＮＤ論理演算結果をラッチ回路Ｌ３に出力する。ＡＮＤ回路１０は、クロック信号ＣＬＫおよび論理ユニット８の出力信号ＥＮ２に基づいてＡＮＤ論理演算結果をラッチ回路Ｌ５に出力する。このＡＮＤ回路４および１０は、クロック信号ＣＬＫを制御するクロックゲートとも称する。
【００２２】
本論理回路構成の動作の一例について説明する。
【００２３】
ここでは、論理ユニット３および論理ユニット８からそれぞれ出力される制御信号ＥＮ１およびＥＮ２は、「Ｈ」レベルに設定されているものとする。
【００２４】
この場合において、入力信号ＩＮの入力に基づき、各ラッチ回路は、クロック信号ＣＬＫの「Ｈ」レベルもしくは「Ｌ」レベルに同期して順々に論理ユニットを経由した論理演算結果をラッチして出力する。結果として、本例においては、３クロックサイクルにより、入力信号ＩＮの入力に応答した出力信号ＯＵＴがラッチ回路Ｌ５から出力される。
【００２５】
再び、図１を参照して、次に、スキャンパステストを実行するためにスキャンラッチ回路を挿入する処理が実行される（ステップｓｔ２）。具体的には、ラッチ回路の代わりにスキャンラッチ回路が設けられる。
【００２６】
次に、クロックゲート探索処理が実行される（ステップｓｔ３）。具体的には、論理回路内における上記のクロックゲートを探索し検知する。
【００２７】
次に、論理回路内におけるクロックゲートにゲート制御回路を挿入する（ステップｓｔ４）。具体的には、ゲート制御回路を挿入し、テスト時においてクロックゲートに入力される制御信号にマスク処理を施すように設定する。
【００２８】
図３は、図２の論理回路に図１のフローチャートを適用した本発明の実施の形態１に従う半導体集積回路の論理回路構成図である。
【００２９】
まず、スキャンラッチ回路の挿入処理について説明する。
【００３０】
図３を参照して、本発明の実施の形態１に従う論理回路は、図２の論理回路と比較して、ラッチ回路Ｌ１，Ｌ３，Ｌ５とそれぞれ置換されるスキャンラッチ回路ＳＫＬ１〜ＳＫＬ３と、ＯＲ回路５，９とをさらに含む。その他の点については同様であるのでその詳細な説明は繰り返さない。
【００３１】
スキャンラッチ回路ＳＫＬ１は、セレクタＳＥＬ１と、ラッチ回路Ｌ１，Ｌ１＃とを含む。
【００３２】
ここで、設計方法としては、ラッチ回路Ｌ１とセレクタＳＥＬ１の入力信号が共通となるように、セレクタＳＥＬ１をラッチ回路Ｌ１と直列に挿入し、セレクタＳＥＬ１を通して、入力信号ＩＮおよび入力される信号ＳＩが制御信号ＳＥに応答して選択的にラッチ回路Ｌ１に出力されるようにする。ラッチ回路Ｌ１は、セレクタＳＥＬ１から出力される出力信号をクロック信号ＣＬＫ（「Ｈ」レベル）に同期してラッチし、信号Ｓ１を論理ユニット１およびラッチ回路Ｌ１＃に出力する。ラッチ回路Ｌ１＃は、信号Ｓ１をクロック信号ＣＬＫ（「Ｌ」レベル）に同期してラッチし、信号Ｓ１＃としてスキャンパス線ＳＰＬＳＰＬに出力する。このラッチ回路Ｌ１＃は、次段のスキャンラッチ回路ＳＫＬに対してスキャンパス線ＳＰＬを介して信号Ｓ１＃を伝達するものである。このスキャンパス線ＳＰＬを介して信号を次段のスキャンラッチ回路に伝達するラッチ回路はいわゆるスレーブラッチ回路とも称される。以下についても同様である。本明細書においては単にラッチ回路と標記する。
【００３３】
スキャンラッチ回路ＳＫＬ２は、セレクタＳＥＬ２と、ラッチ回路Ｌ３，Ｌ３＃とを含む。
【００３４】
ここで、設計方法としては、ラッチ回路Ｌ３とセレクタＳＥＬ２の入力信号が共通となるように、セレクタＳＥＬ２をラッチ回路Ｌ３と直列に挿入し、セレクタＳＥＬ２を通して、信号Ｓ２およびスキャンパス線ＳＰＬを介して伝達される信号Ｓ１＃が制御信号ＳＥに応答して選択的にラッチ回路Ｌ３に出力されるようにする。ラッチ回路Ｌ３は、セレクタＳＥＬ２から出力される出力信号をＡＮＤ回路４の出力信号（「Ｈ」レベル）（ゲーティッドクロック）に同期してラッチし、信号Ｓ３を論理ユニット６およびラッチ回路Ｌ３＃に出力する。ラッチ回路Ｌ３＃は、信号Ｓ３をＡＮＤ回路４の出力信号（「Ｌ」レベル）に同期してラッチし、信号Ｓ３＃としてスキャンパス線ＳＰＬに出力する。
【００３５】
スキャンラッチ回路ＳＫＬ３は、セレクタＳＥＬ３と、ラッチ回路Ｌ５，Ｌ５＃とを含む。
【００３６】
ここで、設計方法としては、ラッチ回路Ｌ５とセレクタＳＥＬ３の入力信号が共通となるように、セレクタＳＥＬ３をラッチ回路Ｌ５と直列に挿入し、セレクタＳＥＬ３を通して、信号Ｓ４およびスキャンパス線ＳＰＬを介して伝達される信号Ｓ３＃が制御信号ＳＥに応答して選択的にラッチ回路Ｌ３に出力されるようにする。ラッチ回路Ｌ５は、セレクタＳＥＬ３から出力される出力信号をＡＮＤ回路１０の出力信号（「Ｈ」レベル）（ゲーティッドクロック）に同期してラッチし、信号Ｓ５を出力信号ＯＵＴとして出力する。ラッチ回路Ｌ５＃は、信号Ｓ５をＡＮＤ回路１０の出力信号（「Ｌ」レベル）に同期してラッチし、信号ＳＯとして出力する。
【００３７】
スキャンラッチ回路ＳＫＬ１は、制御信号ＳＥに応答して入力信号ＩＮおよび入力されるテストデータ信号ＳＩのいずれか一方を選択して論理ユニット１およびスキャンパス線ＳＰＬに出力する。スキャンラッチ回路ＳＫＬ２についても同様に制御信号ＳＥに応答して、論理ユニット２からの入力信号Ｓ２およびスキャンパス線ＳＰＬから伝達される信号のいずれか一方を選択して論理ユニット６およびスキャンパス線ＳＰＬに出力する。スキャンラッチ回路ＳＫＬ３についても同様に制御信号ＳＥに応答して、論理ユニット７からの入力信号Ｓ４およびスキャンパス線ＳＰＬから伝達される信号のいずれか一方を選択して出力信号ＯＵＴおよび信号ＳＯとして出力する。これに従い、スキャンラッチ回路ＳＫＬが図２で示したラッチベースで設計した論理回路に挿入される。
【００３８】
次に、クロックゲート探索処理が実行され、本例においては、ＡＮＤ回路４，１０がクロックゲートとして検知され、このクロックゲートであるＡＮＤ回路４，１０に対して、ゲートを制御するゲート制御回路であるＯＲ回路５，９が挿入される。
【００３９】
具体的には、ＯＲ回路５は、テストモード信号ＴＥおよび制御信号ＥＮ１に基づいてそのＯＲ論理演算結果をＡＮＤ回路４の入力ノードの一方に出力する。ＯＲ回路９は、テストモード信号ＴＥおよび制御信号ＥＮ２に基づいてそのＯＲ論理演算結果をＡＮＤ回路１０の入力ノードの一方に出力する。
【００４０】
本論理回路における通常時の動作について説明する。通常時においては、制御信号ＳＥは「Ｌ」レベル、テストモード信号ＴＥは、「Ｌ」レベルに設定される。
【００４１】
この場合、スキャンラッチ回路ＳＫＬ１において、セレクタＳＥＬ１は、入力信号ＩＮを選択してラッチ回路Ｌ１に出力する。他のスキャンラッチ回路ＳＫＬ２，ＳＫＬ３についても同様に、セレクタＳＥＬ２、ＳＥＬ３は、入力信号Ｓ２およびＳ４を選択してラッチ回路Ｌ３，Ｌ５にそれぞれ出力する。
【００４２】
したがって、入力信号ＩＮの入力に応答して、ラッチ回路Ｌ１−論理ユニット１−ラッチ回路Ｌ２＃−論理ユニット２−ラッチ回路Ｌ３−論理ユニット６−ラッチ回路Ｌ４＃−論理ユニット７−ラッチ回路Ｌ５を経由して出力信号ＯＵＴが出力される。したがって、通常時においては、図２で説明した論理回路と同一の機能を有する論理回路を構成する。
【００４３】
次にテスト時における動作について説明する。
【００４４】
図４のタイミングチャート図を用いて本発明の実施の形態１に従うスキャンパステスト方式について説明する。
【００４５】
スキャンパステストは、予めテストデータをセットしておいて、論理ユニットから出力される論理演算結果を観測して、所望の論理演算（所望の論理回路構成）か否かを判定するテストである。本例においては、スキャンパステストに用いられる信号としてテストデータｄ１，ｄ２が示される。テストデータｄ３は、図示しない図３の論理回路の前段に配置された別の論理回路からの出力信号である。
【００４６】
ここで、本発明の実施の形態１において、テストモード信号ＴＥは、「Ｈ」レベルに設定される。これに伴い、ＡＮＤ回路４，１０の入力ノードに入力される信号は、常に「Ｈ」レベルに設定される。したがって、ＡＮＤ回路４，１０は、クロック信号ＣＬＫと同じ論理レベルでクロック信号ＣＬＫに同期したゲーティッドクロックを出力する。ゆえに以下においては、クロック信号ＣＬＫとみなして説明する。
【００４７】
図４を参照して、本例においては、クロック信号ＣＬＫの立上りおよび立下りが周期的に入力される。具体的には、クロック信号ＣＬＫの立上りエッジｒ１〜ｒ６が示され、立下りエッジｆ１〜ｆ６が示される。
【００４８】
まずテストデータｄ１，ｄ２を用いたスキャンパステストについて説明する。
【００４９】
クロック信号ＣＬＫの立上りエッジ（ｒ１）である時刻Ｔ１において、スキャンラッチ回路ＳＫＬ１は、テストデータｄ１をラッチする（シフトイン）。具体的には、制御信号ＳＥ（「Ｈ」レベル）に応答してセレクタＳＥＬ１は、テストデータ信号ｄ１を選択する。ラッチ回路Ｌ１は、クロック信号ＣＬＫ（「Ｈ」レベル）に同期してテストデータｄ１をラッチし、信号Ｓ１を出力する。
【００５０】
次に、クロック信号ＣＬＫの立下りエッジ（ｆ１）である時刻Ｔ２において、ラッチ回路Ｌ１＃は、クロック信号ＣＬＫ（「Ｌ」レベル）に同期してテストデータｄ１である信号Ｓ１をラッチして、スキャンパス線ＳＰＬに信号Ｓ１＃を伝達する。また、同様のタイミングにおいて、ラッチ回路Ｌ２が動作する。すなわち、論理ユニット１の出力信号をラッチして、論理ユニット２に出力する。論理ユニット２は、ラッチ回路Ｌ２からの出力信号を受けて信号Ｓ２を生成し、スキャンラッチ回路ＳＫＬ２に入力する。
【００５１】
スキャンラッチ回路ＳＫＬ２は、制御信号ＳＥ（「Ｈ」レベル）に応答して入力される信号Ｓ２およびＳ１＃のうちの信号Ｓ１＃を選択して、信号Ｓ３ｉとして出力する。
【００５２】
スキャンラッチ回路ＳＫＬ２のラッチ回路Ｌ３は、クロック信号ＣＬＫの立上りエッジ（ｒ２）である時刻Ｔ３において、セレクタＳＥＬ２から出力されるテストデータｄ１である信号Ｓ３ｉをラッチする。これにより、テストデータｄ１をスキャンラッチ回路ＳＫＬ２にセットする。
【００５３】
また、次のクロック信号ＣＬＫの立下りエッジ（ｆ２）である時刻Ｔ４において、ラッチ回路Ｌ３＃は、ラッチ回路Ｌ３の出力信号であるテストデータｄ１をラッチして、信号Ｓ３＃として出力する。この同様のタイミングにおいて、ラッチ回路Ｌ４＃が動作し、論理ユニット６および７の出力信号Ｓ４がスキャンラッチ回路ＳＫＬ３に入力される。
【００５４】
次にテストデータｄ２のセットについて説明する。
【００５５】
クロック信号ＣＬＫの立上りエッジ（ｒ２）である時刻Ｔ３において、スキャンラッチ回路ＳＫＬ１にテストデータｄ１が入力される（シフトイン）。具体的には、制御信号ＳＥ（「Ｈ」レベル）に応答してセレクタＳＥＬ１は、テストデータ信号ｄ２を選択する。ラッチ回路Ｌ１は、テストデータｄ２をラッチして、信号Ｓ１を出力する。これにより、スキャンラッチ回路ＳＫＬ１は、テストデータｄ１をセットする。
【００５６】
次に、クロック信号ＣＬＫの立下りエッジ（ｆ２）である時刻Ｔ２において、ラッチ回路Ｌ１＃にテストデータｄ２がラッチされ、信号Ｓ１＃が出力される。また、同様のタイミングにおいて、ラッチ回路Ｌ２が動作し、論理ユニット１および２の出力信号Ｓ２がスキャンラッチ回路ＳＫＬ２に入力される。
【００５７】
このスキャンラッチ回路ＳＫＬ１およびＳＫＬ２においてセットされた２つのテストデータｄ１，ｄ２において、制御信号ＳＥを「Ｌ」レベルに設定し、クロック信号ＣＬＫを１クロックサイクル進める。
【００５８】
スキャンラッチ回路ＳＫＬ２は、セレクタＳＥＬ２において、クロック信号ＣＬＫの立下りエッジ（ｆ２）以降の制御信号ＳＥ（「Ｌ」レベル）に応答して信号Ｓ２を選択して出力する。すなわち、セレクタＳＥＬ２は、テストデータｄ２Ａの信号Ｓ３ｉを出力する。同様にスキャンラッチ回路ＳＫＬ３は、セレクタＳＥＬ３において、制御信号ＳＥ（「Ｌ」レベル）に応答して信号Ｓ４を選択して出力する。すなわち、セレクタＳＥＬ３は、テストデータｄ１Ｂの信号Ｓ５ｉを出力する。
【００５９】
次のクロック信号ＣＬＫの立上りエッジ（ｒ３）である時刻Ｔ６において、スキャンラッチ回路ＳＫＬ２のラッチ回路Ｌ３は、テストデータｄ２Ａをラッチして（キャプチャー）、信号Ｓ３として出力する。同様にスキャンラッチ回路ＳＫＬ３のラッチ回路Ｌ５は、テストデータｄ１Ｂをラッチして（キャプチャー）、信号Ｓ５すなわち出力信号ＯＵＴとして出力する（シフトアウト）。
【００６０】
次のクロック信号ＣＬＫの立下りエッジ（ｆ３）である時刻Ｔ７において、スキャンラッチ回路ＳＫＬ２のラッチ回路Ｌ３＃は、テストデータｄ２Ａである信号Ｓ３をラッチして信号Ｓ３＃として出力する。同様にスキャンラッチ回路ＳＫＬ３のラッチ回路Ｌ５＃は、テストデータｄ１Ｂである信号Ｓ５をラッチして、信号ＳＯとして出力する。これにより、入力したテストデータｄ１に応じて論理ユニット６，７を経由した論理演算信号ｄ１Ｂを観測することができる。
【００６１】
次に、スキャンラッチ回路ＳＫＬ３のセレクタＳＥＬ３は、クロック信号ＣＬＫの立下りエッジ（ｆ３）以降、制御信号ＳＥの「Ｈ」レベルの設定に応答してテストデータｄ２Ａである信号Ｓ３＃を選択して信号Ｓ５ｉとして出力する。
【００６２】
スキャンラッチ回路ＳＫＬ３のラッチ回路Ｌ５は、次のクロック信号ＣＬＫの立上りエッジ（ｒ４）である時刻Ｔ８において、テストデータｄ２Ａである信号Ｓ３＃をラッチして、信号Ｓ５すなわち出力信号ＯＵＴとして出力する（シフトアウト）。
【００６３】
次のクロック信号ＣＬＫの立下りエッジ（ｆ４）である時刻Ｔ９において、スキャンラッチ回路ＳＫＬ３のラッチ回路Ｌ５＃は、テストデータｄ２Ａである信号Ｓ５をラッチして出力信号ＳＯとして出力する。これにより、入力したテストデータｄ２に応じて論理ユニット１，２を経由した論理演算信号ｄ２Ａを観測することができる。
【００６４】
したがって、２つのテストデータｄ１，ｄ２をシフトラッチ回路ＳＫＬ１およびＳＫＬ２にそれぞれセットし、このセットしたテストデータｄ１，ｄ２を次のクロックサイクルでシフト動作させることにより、論理ユニット６，７の組合せに基づく所定の論理演算動作の信号ｄ１Ｂと、論理ユニット１，２の組合せに基づく所定の論理演算動作の信号ｄ２Ａとを観測することができる。すなわち、予め設定されているテストデータｄ１，ｄ２をセットして、観測結果を得ることにより、当該論理回路が所望の回路か否かをテストすることができる。
【００６５】
さらに、本例においては、図示しない図３の論理回路の前段に配置された別の論理回路からの出力信号であるテストデータｄ３の観測についても説明する。
【００６６】
クロック信号ＣＬＫの立下りエッジ（ｆ２）である時刻Ｔ４において、テストデータｄ３が入力される。この場合、スキャンラッチ回路ＳＫＬ１のラッチ回路Ｌ１は、次のクロック信号ＣＬＫの立上りエッジ（ｒ３）である時刻Ｔ６にセレクタＳＥＬ１の出力信号をラッチする。この場合、セレクタＳＥＬ１は、制御信号ＳＥ（「Ｌ」レベル）に応答してテストデータｄ３である入力信号ＩＮを選択している。これにより、ラッチ回路Ｌ１は、テストデータｄ３をラッチして信号Ｓ１を出力する。次のクロック信号ＣＬＫの立下りエッジ（ｆ３）である時刻Ｔ７において、ラッチ回路Ｌ１＃は、テストデータｄ３である信号Ｓ１をラッチして、信号Ｓ１＃としてスキャンパス線ＳＰＬに出力する。
【００６７】
次のクロック信号ＣＬＫの立上りエッジ（ｒ４）である時刻Ｔ８において、スキャンラッチ回路ＳＫＬ２のラッチ回路Ｌ３は、セレクタＳＥＬ２の出力信号Ｓ３ｉをラッチする。その際、セレクタＳＥＬ２は、制御信号ＳＥ（「Ｈ」レベル）に応答してスキャンパス線ＳＰＬに伝達される信号Ｓ１＃を選択している。これにより、ラッチ回路Ｌ３は、テストデータｄ３である信号Ｓ３ｉをラッチして、信号Ｓ３として出力する。次のクロック信号ＣＬＫの立下りエッジ（ｆ４）である時刻Ｔ９において、ラッチ回路Ｌ３＃は、テストデータｄ３である信号Ｓ３をラッチして信号Ｓ３＃として出力する。
【００６８】
また、次のクロック信号ＣＬＫの立上りエッジ（ｒ６）において、スキャンラッチ回路ＳＫＬ３のラッチ回路Ｌ５は、セレクタＳＥＬ３の出力信号Ｓ５ｉをラッチする。その際のセレクタＳＥＬ３は、制御信号ＳＥ（「Ｈ」レベル）に応答してスキャンパス線ＳＰＬに伝達される信号Ｓ３＃を選択している。したがって、ラッチ回路Ｌ５は、テストデータｄ３である信号Ｓ５ｉをラッチして、信号Ｓ５として出力する。また、次のクロック信号ＣＬＫの立下りエッジ（ｆ６）である時刻Ｔ１１において、ラッチ回路Ｌ５＃は、テストデータｄ３である信号Ｓ５をラッチして、信号ＳＯとして出力する。
【００６９】
したがって、入力信号ＩＮに与えられたデータｄ３がスキャンパス線ＳＰＬを用いて論理ユニットを介さずそのままのデータレベルで信号ＳＯとして出力される。これにより、図示しない図３の論理回路の前段に配置された別の論理回路の論理演算動作に基づく出力信号を観測することができる。当該観測結果を得ることにより、前段の別の論理回路が所望の回路か否かをテストすることも可能である。
【００７０】
なお、上記タイミングチャート図において、テストデータの末尾の記号「Ａ」は、論理ユニット１，２を通過した場合を示し、記号「Ｂ」は、論理ユニット６，７を通過した場合を示し、記号「ＡＢ」は、論理ユニット１，２と、論理ユニット６，７を通過した場合を示すものとする。
【００７１】
上記において説明したように、クロックゲートを有する論理回路構成においても、クロックゲートを制御するゲート制御回路であるＯＲ回路を挿入して、テスト時に固定的なテストモード信号ＴＥ（「Ｈ」レベル）を入力する。これにより、テスト時においては、クロックゲートから出力されるゲーテッドクロックは、クロック信号ＣＬＫと同周期の同一の論理レベルの信号が出力され、クロックゲートを有する論理回路構成においてもスキャンパステストを実行することができる。
【００７２】
（実施の形態１の変形例）
上記の実施の形態１においては、ハイスルーラッチ回路をスキャンラッチ回路に置き換えて、スキャンパステストを実行する方式について説明してきた。
【００７３】
本実施の形態１の変形例においてはロースルーラッチ回路をスキャンラッチ回路に置き換えてスキャンパステストを実行する方式について説明する。
【００７４】
図５は、ラッチベースで論理回路を設計した他の一例図である。
【００７５】
図５を参照して、この論理回路は、論理ユニット１〜３，６〜８と、ラッチ回路Ｌ１＃，Ｌ２，Ｌ３＃，Ｌ４，Ｌ５＃と、ＡＮＤ回路４，１０とを含む。
【００７６】
図５の論理回路は、図２の論理回路と比較して、ハイスルーラッチ回路とロースル−ラッチ回路が入れ替わった構成である。具体的には、ラッチ回路Ｌ１＃，Ｌ３＃，Ｌ５＃は、「Ｌ」レベルの入力信号に同期して入力信号ＩＮもしくは論理ユニットの出力信号をラッチする。ラッチ回路Ｌ２，Ｌ４は、「Ｈ」レベルの入力信号に同期して論理ユニットの出力信号をラッチする。
【００７７】
したがって、信号をラッチする際のクロック信号ＣＬＫおよびＡＮＤ回路４，１０の出力信号が反転したのみであり、論理回路の動作については、上記の実施の形態１と同様であるのでその詳細な説明は繰り返さない。
【００７８】
図６は、図５の論理回路に図１のフローチャートを適用した本発明の実施の形態１の変形例に従う半導体集積回路の論理回路構成図である。
【００７９】
図６を参照して、本発明の実施の形態１の変形例に従う半導体集積回路は、スキャンラッチ回路ＳＫＬ１＃〜ＳＫＬ３＃と、論理ユニット１〜３，６〜８と、ラッチ回路Ｌ２，Ｌ４と、ＡＮＤ回路４，１０と、ＯＲ回路５，９とを含む。
【００８０】
図６の論理回路は、図３の論理回路と比較して、ロースルーラッチ回路をスキャンラッチ回路に置換した点が異なるが、処理手順については同様である。
【００８１】
スキャンラッチ回路ＳＫＬ１＃は、スキャンラッチ回路ＳＫＬ１と比較して、ラッチ回路Ｌ１とＬ１＃との接続配置関係が入れ替わった構成である。具体的には、たとえば、スキャンラッチ回路ＳＫＬ１＃のラッチ回路Ｌ１は、「Ｌ」レベルのクロック信号ＣＬＫに同期してセレクタＳＥＬ１からの信号をラッチする。また、ラッチ回路Ｌ１＃は、「Ｈ」レベルのクロック信号ＣＬＫに同期して信号Ｓ１をラッチする。
【００８２】
他のスキャンラッチ回路ＳＫＬ２＃，ＳＫＬ３＃についても同様である。
【００８３】
図７のタイミングチャート図を用いて本発明の実施の形態１の変形例に従うスキャンパステストについて説明する。
【００８４】
本例においては、スキャンパステストに用いられる信号としてテストデータｄ１，ｄ２が示される。なお、テストデータｄ３は、図示しない図６の論理回路の前段に配置された別の論理回路からの出力信号である。
【００８５】
ここで、本実施の形態１の変形例に従うスキャンパステストにおいて、テストモード信号ＴＥは「Ｈ」レベルに設定される。これに伴い、ＡＮＤ回路４，１０の入力ノードに入力される一方は、常に「Ｈ」レベルに設定される。したがって、ＡＮＤ回路４，１０は、クロック信号ＣＬＫと同じ論理レベルでクロック信号ＣＬＫに同期したゲーティッドクロックを出力する。ゆえに以下においては、クロック信号ＣＬＫとみなして説明する。
【００８６】
図７を参照して、本例においては、クロック信号ＣＬＫの立上りおよび立下りが周期的に入力される。具体的には、クロック信号ＣＬＫの立下りエッジｆ１〜ｆ６が示され、立上りエッジｒ１〜ｒ６が示される。
【００８７】
まずテストデータｄ１，ｄ２を用いたスキャンパステストについて説明する。
【００８８】
本スキャンパステストは、図４で説明したテスト方式と比較して、ラッチする際のクロック信号ＣＬＫの論理レベルが反転したのみで上記図４で説明したのと同様の手順にしたがってテストデータｄ１，ｄ２がセットされる。具体的には、クロック信号ＣＬＫの立下りエッジ（ｆ１）である時刻Ｔ２０において、スキャンラッチ回路ＳＫＬ１＃は、テストデータｄ１をラッチする（シフトイン）。次のクロック信号ＣＬＫの立下りエッジ（ｆ２）である時刻Ｔ２２において、スキャンラッチ回路ＳＫＬ２＃は、テストデータｄ１をラッチする。一方、時刻Ｔ２２において、スキャンラッチ回路ＳＫＬ１＃は、次のテストデータｄ１の入力を受けてラッチする（シフトイン）。これにより、テストデータｄ１，ｄ２をセットすることができる。
【００８９】
次に、制御信号ＳＥを「Ｌ」レベルに設定して、１クロックサイクル進ませる。これに伴い、上記図４と同様の手順に従ってクロック信号ＣＬＫの「Ｌ」レベルに同期して、スキャンラッチ回路ＳＫＬ３＃は、論理ユニット６，７を通過したテストデータｄ１Ｂである信号Ｓ４をラッチする。また、スキャンラッチ回路ＳＫＬ２＃は、論理ユニット１，２を通過したテストデータｄ２Ａである信号Ｓ２をラッチする。これにより、図５と同様の手順に従って信号ＳＯが観測される。
【００９０】
したがって、２つのテストデータｄ１，ｄ２をシフトラッチ回路ＳＫＬ１＃およびＳＫＬ２＃にそれぞれセットし、このセットしたテストデータｄ１，ｄ２を次のクロックサイクルでシフト動作させることにより、論理ユニット６，７の組合せに基づく所定の論理演算動作の信号ｄ１Ｂと、論理ユニット１，２の組合せに基づく所定の論理演算動作の信号ｄ２Ａとを観測することができる。すなわち、予め設定されているテストデータｄ１，ｄ２をセットして、観測結果を得ることにより、当該論理回路が所望の回路か否かをテストすることができる。
また、本図７のタイミングチャート図においては、上記の図５で説明したのと同様の手順にしたがって、図示しない図６の論理回路の前段に配置された別の論理回路からの出力信号であるテストデータｄ３を観測することにより、前段の別の論理回路が所望の回路か否かをテストすることも可能である。このテストについても、ラッチする際のクロック信号ＣＬＫの論理レベルが反転するのみでその動作手順については、図５と同様であるのでその詳細な説明は繰り返さない。
【００９１】
上記において説明したように、本実施の形態１の変形例に従うクロックゲートを有する論理回路構成においても、クロックゲートを制御するゲート制御回路であるＯＲ回路を挿入して、テスト時に固定的なテストモード信号ＴＥ（「Ｈ」レベル）を入力する。これにより、テスト時においては、クロックゲートから出力されるゲーテッドクロックは、クロック信号ＣＬＫと同周期の論理レベルが同一の信号となりクロックゲートを有する論理回路構成においてもスキャンパステストを実行することができる。なお、本実施の形態においては、３個のスキャンラッチ回路を用いた構成について説明したがこれに限られず、さらに、複数の論理ユニットが設けられ、対応して複数個のスキャンラッチ回路を設けた構成においても適用可能である。
【００９２】
（実施の形態２）
上記の実施の形態１においては、クロックゲート設計を有する論理回路においてもスキャンパステストを実行する方式について説明してきた。
【００９３】
上記実施の形態１の図３に示される構成においては、テストモード時においては、テストモード信号ＳＥが「Ｈ」レベルに固定されるため論理ユニット３，８の出力信号について、観測することはできない。
【００９４】
本実施の形態２においては、クロックゲート設計を有する論理回路において、ゲートを制御する制御信号を観測可能なスキャンラッチ回路の回路構成について説明する。
【００９５】
図８は、本実施の形態２に従うスキャンラッチ回路の回路構成図である。
【００９６】
図８（ａ）は、図３で説明した実施の形態１のスキャンラッチ回路ＳＫＬ３と置換可能なスキャンラッチ回路ＳＫＬ３ａの回路構成図である。
【００９７】
本例においては、一例として、図３、図６で示される論理ユニットから出力されるゲート制御信号である出力信号ＥＮ２（以下、ゲート制御信号ＥＮ２とも称する）を観測する回路構成について説明する。
【００９８】
図８（ａ）を参照して、スキャンラッチ回路ＳＫＬ３ａは、スキャンラッチ回路ＳＫＬ３と比較して、セレクタＳＥＬ３と置換する２段のセレクタＳＥＬ４およびＳＥＬ５を設けた点が異なる。
【００９９】
ここで、設計方法としては、ラッチ回路Ｌ５とセレクタＳＥＬ５の入力信号が共通となるように、セレクタＳＥＬ５をラッチ回路Ｌ５と直列に挿入し、セレクタＳＥＬ５を通して、入力信号ＩＮおよび制御信号ＥＮ２が制御信号ＥＮＳＥＬに応答して選択的に出力されるようにする。また、セレクタＳＥＬ５とラッチ回路Ｌ５との間に直列にセレクタＳＥＬ４を設け、セレクタＳＥＬ５からの出力信号およびスキャンパス線ＳＰＬを介して伝達される信号ＳＩが制御信号ＳＥに応答して選択的にラッチ回路Ｌ５に出力されるようにする。ラッチ回路Ｌ５は、セレクタＳＥＬ４の出力信号を受けてＡＮＤ回路１０の出力信号（「Ｈ」レベル）に同期してラッチする。ラッチ回路Ｌ５＃は、ラッチ回路Ｌ５の出力信号を受けてＡＮＤ回路１０の出力信号（「Ｌ」レベル）に同期してラッチする。
【０１００】
通常時の動作について説明する。通常時においては、制御信号ＥＮＳＥＬは、「Ｌ」レベルに設定され、制御信号ＳＥは、「Ｌ」レベルに設定される。これにより、セレクタＳＥＬ５は、入力信号ＩＮを選択する。また、セレクタＳＥＬ４は、セレクタＳＥＬ５の出力信号すんわち入力信号ＩＮを選択してラッチ回路Ｌ５に出力する。
【０１０１】
したがって、通常時の動作については、スキャンラッチ回路ＳＫＬ３ａは、図２で説明したラッチ回路Ｌ５と同一の機能を有する。
【０１０２】
一方、テストモード時の動作について説明する。
【０１０３】
ゲート制御信号ＥＮを検知する以外のスキャンパステストについては、制御信号ＥＮＳＥＬを「Ｌ」レベルに設定する。これにより、セレクタＳＥＬ５において、入力信号ＩＮが選択される。すなわち、セレクタＳＥＬ４は、制御信号ＳＥに応答して入力信号ＩＮおよびスキャンパス線ＳＰＬを介して入力される信号ＳＩのいずれか一方を選択し、スキャンラッチ回路ＳＫＬ３ａは、上記の実施の形態１で説明したスキャンラッチ回路ＳＫＬ３と同一の機能を有する。
【０１０４】
一方、ゲート制御信号ＥＮを検知するスキャンパステストについては、制御信号ＥＮＳＥＬを「Ｈ」レベルに設定する。これにより、セレクタＳＥＬ５において、ゲート制御信号ＥＮ２が選択されてセレクタＳＥＬ４に出力される。
【０１０５】
セレクタＳＥＬ４は、制御信号ＳＥ（「Ｌ」レベル）に応答してゲート制御信号ＥＮ２を選択する。これに伴い、ラッチ回路Ｌ５は、ゲート制御信号ＥＮ２が有するデータをラッチし、ゲート制御信号ＥＮ２を信号ＳＯもしくは出力信号ＯＵＴから観測することができる。
【０１０６】
図８（ｂ）は、図６で説明した実施の形態１の変形例に従うスキャンラッチ回路ＳＫＬ３と置換可能なスキャンラッチ回路ＳＫＬ３＃ａの回路構成図である。
【０１０７】
スキャンラッチ回路ＳＫＬ３＃ａは、スキャンラッチ回路ＳＫＬ３ａと比較して、ラッチ回路Ｌ５と、ラッチ回路Ｌ５＃の接続配置関係が入れ替わった構成である。具体的な動作については、ラッチする際の論理レベルが反転するのみでその他の動作は同様であるのでその詳細な説明は繰り返さない。
【０１０８】
したがって、本発明の実施の形態２に従うスキャンラッチ回路ＳＫＬ３ａおよびＳＫＬ３＃ａを用いることによって、ゲート制御信号についても観測することが可能となり、効率的なスキャンパステストを実行することができる。
【０１０９】
（実施の形態２の変形例）
図９は、本実施の形態２の変形例に従うスキャンラッチ回路の回路構成図である。
【０１１０】
図９（ａ）は、図３で説明した実施の形態１のスキャンラッチ回路ＳＫＬ３と置換可能なスキャンラッチ回路ＳＫＬ３ｂの回路構成図である。
【０１１１】
図９（ａ）を参照して、スキャンラッチ回路ＳＫＬ３ｂは、スキャンラッチ回路ＳＫＬ３と比較して、セレクタＳＥＬ３と置換する２段のセレクタＳＥＬ６およびＳＥＬ７と、ＯＲ回路１１およびＡＮＤ回路１２をさらに設けた点が異なる。
【０１１２】
ここで、設計方法としては、ラッチ回路Ｌ５とセレクタＳＥＬ７の入力信号が共通となるように、セレクタＳＥＬ７をラッチ回路Ｌ５と直列に挿入し、セレクタＳＥＬ７を通して、スキャンパス線ＳＰＬを介して伝達される信号ＳＩおよび制御信号ＥＮ２が制御信号ＳＩに応答して選択的に出力されるようにする。また、セレクタＳＥＬ７とラッチ回路Ｌ５との間に直列にセレクタＳＥＬ６を設け、セレクタＳＥＬ７からの出力信号および入力信号ＩＮがＯＲ回路１１からの出力信号に応答して選択的にラッチ回路Ｌ５に出力されるようにする。ラッチ回路Ｌ５は、セレクタＳＥＬ６の出力信号を受けてＡＮＤ回路１０の出力信号（「Ｈ」レベル）に同期してラッチする。ラッチ回路Ｌ５＃は、ラッチ回路Ｌ５の出力信号を受けてＡＮＤ回路１０の出力信号（「Ｌ」レベル）に同期してラッチする。ＡＮＤ回路１２は、制御信号ＥＮＳＥＬの反転信号およびゲート制御信号ＥＮ２の反転信号の入力を受けてそのＡＮＤ論理演算結果をＯＲ回路１１の入力ノードの一方に出力する。ＯＲ回路１１は、ＡＮＤ回路１２の出力信号およびテストモード信号ＴＥの反転信号の入力を受けてそのＯＲ論理演算結果を出力する。
【０１１３】
通常時の動作について説明する。
【０１１４】
通常時においては、テストモード信号ＴＥが「Ｌ」レベルに設定されるため、ＯＲ回路１１は、テストモード信号ＴＥの反転信号の入力に応答して「Ｈ」レベルの信号を出力する。これに伴い、セレクタＳＥＬ６において、入力信号ＩＮが選択され、上記で説明したのと同様に通常のシフト動作が実行される。
【０１１５】
テストモード時の動作について説明する。
【０１１６】
この場合には、テストモード信号ＴＥは、「Ｈ」レベルに設定される。したがって、ＯＲ回路１１の入力ノードの一方は、「Ｌ」レベルとなる。
【０１１７】
ゲート制御信号ＥＮ２を検知する以外のスキャンパステストについては、制御信号ＥＮＳＥＬを「Ｌ」レベル、制御信号ＳＥを「Ｈ」レベルに設定する。これに伴い、制御信号ＳＥ（「Ｈ」レベル）に応答して、セレクタＳＥＬ７において、信号ＳＩが選択される。また、ＡＮＤ回路１２には、制御信号ＳＥの反転信号（「Ｌ」レベル）が入力されるためＡＮＤ回路１２の出力信号は「Ｌ」レベルになる。したがって、ＯＲ回路の出力信号は「Ｌ」レベルになる。これに伴い、セレクタＳＥＬ６は、セレクタＳＥＬ７の出力信号すなわち、制御信号ＳＩを選択する。それゆえ、セレクタＳＥＬ６は、入力信号ＩＮおよびスキャンパス線ＳＰＬを介して入力される信号ＳＩのいずれか一方を選択し、スキャンラッチ回路ＳＫＬ３ｂは、上記の実施の形態１で説明したスキャンラッチ回路ＳＫＬ３と同一の機能を有する。
【０１１８】
一方、ゲート制御信号ＥＮを検知するスキャンパステストについては、制御信号ＥＮＳＥＬを「Ｈ」レベル、制御信号ＳＥを「Ｌ」レベルに設定する。制御信号ＳＥ（「Ｌ」レベル）に応答して、セレクタＳＥＬ７において、ゲート制御信号信号ＥＮが選択される。また、ＡＮＤ回路１２には、制御信号ＥＮＳＥＬの反転信号（「Ｌ」レベル）が入力されるためＡＮＤ回路１２の出力信号は「Ｌ」レベルになる。したがって、ＯＲ回路の出力信号は「Ｌ」レベルになる。これに伴い、セレクタＳＥＬ６は、セレクタＳＥＬ７の出力信号すなわち、ゲート制御信号ＥＮ２を選択する。
【０１１９】
ラッチ回路Ｌ５にデータをラッチすることにより、ゲート制御信号ＥＮ２を観測することができる。
【０１２０】
本構成においては、入力信号ＩＮは、上記図８（ａ）のスキャンラッチ回路ＳＫＬ３ａと比較して１段のセレクタ段のみを通過するため遅延期間を短縮することができ、高速なシフト動作を実行することができる。
【０１２１】
図９（ｂ）は、図６で説明した実施の形態１の変形例に従うスキャンラッチ回路ＳＫＬ３と置換可能なスキャンラッチ回路ＳＫＬ３＃ｂの回路構成図である。
【０１２２】
上記の図９（ａ）で説明したのと同様の構成であり、ラッチ回路Ｌ５と、ラッチ回路Ｌ５＃の接続配置関係が入れ替わった構成である。具体的な動作については、ラッチする際の論理レベルが反転するのみでその他の動作は同様であるのでその詳細な説明は繰り返さない。
【０１２３】
したがって、本発明の実施の形態２の変形例に従うスキャンラッチ回路ＳＫＬ３ｂおよびＳＫＬ３＃ｂを用いることによって、効率的なスキャンパステストを実行するとともに、通常動作時における入力信号ＩＮの遅延量も軽減することができるため高速なシフト動作も実行することができる。
【０１２４】
なお、本実施の形態においては、スキャンラッチ回路ＳＫＬ３と置換可能なスキャンラッチ回路の構成について主に説明したがこれに限られず、スキャンラッチ回路ＳＫＬ２に適用することも可能であり、さらに別のスキャンラッチ回路に適用することも可能である。
【０１２５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１２６】
【図１】本発明の実施の形態１に従う半導体集積回路のスキャンパステスト回路設計方法を示すフローチャート図である。
【図２】ラッチベースで論理回路を設計した一例図である。
【図３】本発明の実施の形態１に従う半導体集積回路の論理回路構成図である。
【図４】本発明の実施の形態１に従うスキャンパステスト方式について説明するタイミングチャート図である。
【図５】ラッチベースで論理回路を設計した他の一例図である。
【図６】本発明の実施の形態１の変形例に従う半導体集積回路の論理回路構成図である。
【図７】本発明の実施の形態１の変形例に従うスキャンパステストについて説明するタイミングチャート図である。
【図８】本実施の形態２に従うスキャンラッチ回路の回路構成図である。
【図９】本実施の形態２の変形例に従うスキャンラッチ回路の回路構成図である。
【符号の説明】
【０１２７】
１〜３，６〜８  論理ユニット、４，１０  ＡＮＤ回路、５，９  ＯＲ回路、Ｌ１〜Ｌ５，Ｌ１＃〜Ｌ５＃  ラッチ回路、ＳＥＬ１〜ＳＥＬ３  セレクタ、ＳＫＬ１〜ＳＫＬ３，ＳＫＬ１＃〜ＳＫＬ３＃  スキャンラッチ回路。
【図１】
2005085206.tif 000003
【図２】
2005085206.tif 000004
【図３】
2005085206.tif 000005
【図４】
2005085206.tif 000006
【図５】
2005085206.tif 000007
【図６】
2005085206.tif 000008
【図７】
2005085206.tif 000009
【図８】
2005085206.tif 000010
【図９】
2005085206.tif 000011