(57)【要約】【課題】  スキャンテスト回路設計において、スキャンシフトレジスタのシフト動作におけるホールド時間保証として、シフトレジスタのデータラインに挿入する遅延素子の数を大幅に削減可能として、消費電力を抑える。【解決手段】  クロックツリーＴの最終段素子１０１ｆ単位で、この最終段素子１０１ｆで駆動される複数のフリップフロップ回路同士（１０２ａ同士、１０２ｂ同士、１０２ｃ同士…）を直列に接続して、サブスキャンチェーンを構成する。また、クロックツリーＴのクロック供給点Ｓからの遅延素子数の相対的な段数差が最小である（即ち、１段差の）サブスキャンチェーン同士を接続する。更に、サブスキャンチェーン同士を接続するに際しては、クロック遅延の大きいフリップフロップ回路からクロック遅延の小さいフリップフロップ回路へデータシフトが行われるように接続する。【選択図】  図１
2005032102.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテスト回路として多数のスキャンフリップフロップ回路を有し、前記多数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されている半導体集積回路において、
前記クロックツリーの最終段に位置する複数の最終段素子に着目し、この各最終段素子別に、この各最終段素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続してスキャンシフトレジスタを構成する
ことを特徴とするスキャンテスト設計方法。
【請求項２】
前記請求項１記載のスキャンテスト設計方法において、
前記各最終段素子別のスキャンシフトレジスタを各々サブスキャンチェーンとして、前記サブスキャンチェーン同士を接続して更に長いスキャンシフトレジスタを構成するに際し、
前記クロックツリーを構成する素子の段数が同一であるサブスキャンチェーン同士を優先的に接続する
ことを特徴とするスキャンテスト設計方法。
【請求項３】
前記請求項１記載のスキャンテスト設計方法において、
前記各最終段素子別のスキャンシフトレジスタを各々サブスキャンチェーンとして、前
記サブスキャンチェーン同士を接続して更に長いスキャンシフトレジスタを構成するに際し、
前記クロックツリーを構成する素子の段数が異なるサブスキャンチェーン同士を接続する場合には、前記クロックツリーを構成する素子間の相対的な段数差が最小であるサブスキャンチェーン同士を優先的に接続する
ことを特徴とするスキャンテスト設計方法。
【請求項４】
前記請求項３記載のスキャンテスト設計方法において、
前記クロックツリーを構成する素子の段数が異なるサブスキャンチェーン同士の接続時には、
前記クロックツリーを構成する素子の段数差に応じて予め定めた数の遅延素子を前記接続するサブスキャンチェーン間に挿入する
ことを特徴とするスキャンテスト設計方法。
【請求項５】
前記請求項１、２、３又は４記載のスキャンテスト設計方法において、
前記各最終段素子別のスキャンシフトレジスタを各々サブスキャンチェーンとして、前記サブスキャンチェーン同士を接続して更に長いスキャンシフトレジスタを構成するに際し、
前記クロックツリーのクロック原点から各サブスキャンチェーンを構成するフリップフロップ回路のクロック端子までの遅延時間の大きいサブスキャンチェーンから前記遅延時間の小さいサブスキャンチェーンへとデータ転送が行われる順番で、前記サブスキャンチェーン同士を接続する
ことを特徴とするスキャンテスト設計方法。
【請求項６】
スキャンテスト回路として多数のスキャンフリップフロップ回路を有し、前記多数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されていると共に、
クロックツリーの複数の所定位置に各々クロックゲート素子を配置したゲーティッド・クロックツリーを有する半導体集積回路において、
前記複数のクロックゲート素子に着目し、この各クロックゲート素子別に、このクロックゲート素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続してスキャンシフトレジスタを構成する
ことを特徴とするスキャンテスト設計方法。
【請求項７】
前記請求項６記載のスキャンテスト設計方法において、
前記各クロックゲート素子別のスキャンシフトレジスタを各々サブスキャンチェーンとして、前記サブスキャンチェーン同士を接続して更に長いスキャンシフトレジスタを構成するに際し、
前記請求項２、３、４又は５記載のスキャンテスト設計方法を実施する
ことを特徴とするスキャンテスト設計方法。
【請求項８】
複数のフリップフロップ回路を直列に接続してスキャンシフトレジスタが構成されたスキャンテスト回路において、
前記複数のフリップフロップ回路同士を接続する何れかの接続ネットには、遅延素子が挿入され、
前記遅延素子は、この遅延素子を構成するトランジスタの閾値電圧が前記フリップフロップ回路を構成するトランジスタの閾値電圧よりも高閾値電圧であるトランジスタにより構成されている
ことを特徴とするスキャンテスト回路。
【請求項９】
スキャンシフトレジスタを構成するためのスキャンフリップフロップ回路において、
前記スキャンフリップフロップ回路は、
通常データ入力端子側回路とスキャンシフトデータ入力側回路とを有し、
前記スキャンシフトデータ入力側回路は、
少なくとも前記通常データ入力端子側回路を構成するトランジスタの閾値電圧よりも高い閾値電圧を有するトランジスタにより構成されている
ことを特徴とするスキャンフリップフロップ回路。
【請求項１０】
前記請求項９記載のスキャンフリップフロップ回路を複数備え、
前記複数のスキャンフリップフロップ回路が直列に接続されてスキャンシフトレジスタが構成されている
ことを特徴とするスキャンテスト回路。
【請求項１１】
半導体集積回路に備える複数のフリップフロップ回路をスキャンフリップフロップ回路に置換し、この複数のスキャンフリップフロップ回路を直列に接続してスキャンシフトレジスタを構成するに際し、
前記複数のスキャンフリップフロップ回路として、前記請求項９記載のスキャンフリップフロップ回路を使用する
ことを特徴とするスキャンテスト設計方法。
【請求項１２】
複数のスキャンフリップフロップ回路が直列に接続されてスキャンシフトレジスタが構成され、且つ、前記複数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されているスキャンテスト回路において、
前記複数のスキャンフリップフロップ回路のうち、前記クロックツリーの所定のクロック供給点からフリップフロップ回路のクロック端子までの素子段数が同じである少なくとも２個以上のフリップフロップ回路同士が連続して接続されて、前記スキャンシフトレジスタが構成される
ことを特徴とするスキャンテスト回路。
【請求項１３】
前記請求項１２記載のスキャンテスト回路において、
前記クロックツリーの所定のクロック供給点からフリップフロップ回路のクロック端子までの素子段数が異なるフリップフロップ回路同士では、
前記クロックツリーの所定のクロック供給点からフリップフロップ回路のクロック端子までの素子段数の相対的な段数差が最小であるフリップフロップ回路同士が連続して接続されて、前記スキャンシフトレジスタが更に長く構成される
ことを特徴とするスキャンテスト回路。
【請求項１４】
複数のスキャンフリップフロップ回路を有し、前記複数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されているスキャンテスト回路において、
前記クロックツリーの末端に位置する複数の最終段素子毎に、この各最終段素子に接続される複数のフリップフロップ回路同士でスキャンシフトレジスタが構成される
ことを特徴とするスキャンテスト回路。
【請求項１５】
前記請求項１０、１１又は１２記載のスキャンテスト回路において、
前記複数のスキャンシフトレジスタ相互間には、各々、遅延素子が配置されていて、
前記複数のスキャンシフトレジスタを前記複数の遅延素子を介して接続した長いシフトレジスタが構成される
ことを特徴とするスキャンテスト回路。
【請求項１６】
前記請求項１５記載のスキャンテスト回路において、
前記各遅延素子は、
前記フリップフロップ回路を構成するトランジスタの閾値電圧よりもより高い閾値電圧を有するトランジスタにより構成される
ことを特徴とするスキャンテスト回路。
【請求項１７】
多数のフリップフロップ回路を有し、前記多数のフリップフロップ回路のクロック端子に対してクロックツリーが構成されている半導体集積回路に対して、
前記多数のフリップフロップ回路を各々スキャンフリップフロップ回路に置換する工程と、
その後、前記クロックツリーの最終段に位置する複数の最終段素子別に、この最終段素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続してスキャンシフトレジスタを構成する工程とをコンピュータに実行させる
ことを特徴とするスキャンテスト回路挿入用ＣＡＤプログラム。
【請求項１８】
複数のスキャンフリップフロップ回路を有する任意のスキャンテスト回路の回路データを入力する工程と、
前記回路データにおける前記スキャンフリップフロップ回路間のシフトデータ転送部分の回路接続を一旦切断する工程と、
その後、前記複数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されている場合に、前記クロックツリーの最終段に位置する複数の最終段素子別に、この各最終段素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続してスキャンシフトレジスタを構成して、スキャンチェーンを適切化する工程と、
前記適切化後のネットリスト情報を出力する工程とをコンピュータに実行させる
ことを特徴とするスキャンテスト回路挿入用ＣＡＤプログラム。
【請求項１９】
前記請求項１８記載のスキャンテスト回路挿入用ＣＡＤプログラムにおいて、
前記各最終段素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続したスキャンシフトレジスタを、各々、サブスキャンチェーンとして、前記クロックツリーを構成する素子の段数が異なるサブスキャンチェーン同士を接続する場合には、
前記クロックツリーを構成する素子間の相対的な段数差が最小であるサブスキャンチェーン同士を優先的に接続する工程と、
その後、ネットリスト情報を出力する工程とをコンピュータに実行させる
ことを特徴とするスキャンテスト回路挿入用ＣＡＤプログラム。
【請求項２０】
請求項１２、１３又は１４記載のスキャンテスト回路と、
前記スキャンテスト回路によりテストされる内部回路とを備えた
ことを特徴とする大規模集積回路。
【請求項２１】
前記請求項２０記載の大規模集積回路が搭載されている
ことを特徴とする携帯デジタル機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ設計方法、ＬＳＩテスト回路、及びＬＳＩ設計ＣＡＤプログラムに関し、詳しくは、スキャンテスト回路設計時に問題となるシフトレジスタ動作のホールド時間に関する設計保証、及びホールド保証遅延素子の挿入に伴う回路面積増加や消費電力増加、リーク電流増加を抑えたテスト容易化設計技術に関する。
【背景技術】
【０００２】
従来、テスト容易化設計としては、スキャンテスト設計を行う場合が最も一般的である。このスキャンテスト設計を図５に基づいて説明する。
【０００３】
図５において、ＲＴＬ設計後、ＲＴＬファイル５０１を入力データとして論理合成ＣＡＤプログラム５０２を行いてゲートレベルのネットリスト５０３を生成する。このゲートレベル回路５０３に対して、スキャンテスト回路挿入ＣＡＤプログラム５０４を用いて、
先ず、回路の一部を構成するフリップフロップ回路（以下、ＦＦ回路という）をスキャンＦＦ回路に置換する。このスキャンＦＦ回路は、入力端子として、通常データ入力端子Ｄと、テスト入力端子ＤＴとを持っており、スキャンシフトモードに設定すると、ＤＴ側端子からのデータ入力が選択され、テストモード（非スキャンシフトモード）に設定すると、Ｄ側端子からのデータ入力が選択される構成になっている。次に、前記スキャンテスト回路挿入ＣＡＤプログラム５０４は、スキャンＦＦ回路における出力端子ＮＱ（又はＱ）とテスト入力端子ＤＴとをカスケード接続する。これにより、カスケード接続された複数のスキャンＦＦ回路は巨大なシフトレジスタとして動作し、スキャンテスト回路挿入後のネットリスト５０５を作成する。
【０００４】
回路をテストする場合には、前記スキャンシフトレジスタに対して外部端子スキャンインからＡＴＰＧ(自動テストパターン生成) プログラムで作成した検査用データをシリアル入力して、前記シフトレジスタにデータをシフトインした後、テストモードに切り替え、通常のＦＦ回路間データ転送を実施する。その後、再度シフトレジスタ動作を行って、データを外部端子スキャンアウトから取り出し、期待値との照合を行うことにより、ＬＳＩの故障検査を行う。
【０００５】
この従来のスキャンテスト設計時においては、スキャンＦＦ回路のＤＴ入力端子とＱ出力端子の接続はランダムに行われていた。つまり、どのＦＦ回路からどのＦＦ回路へデータシフトが行われるかは、設計上、特に指定されない。その結果、従来のスキャン設計によって得られた回路は、例えば図２に示すような回路構成なる。この図２の事例ではＦＦ回路２０２ａ→ＦＦ回路２０２ｂのシフトデータ転送や、ＦＦ回路２０２ｂ→ＦＦ回路２０２ｃ→ＦＦ回路２０２ｄ、又はＦＦ回路２０２ｆ→ＦＦ回路２０２ｇ→ＦＦ回路２０２ｈという異なるクロックツリー系統間でのシフトデータ転送が行われる個所が存在する。
【０００６】
また、このような従来のスキャン設計によって得られる回路では、例えば特許文献１に記載されるように、クロックスキューを低減するように、所定箇所に遅延挿入用バッファが配置される。
【０００７】
【特許文献１】特開平１１−１０８９９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、前記従来の設計方法でスキャンシフトレジスタの動作保証を実現した場合には、図２に例示するように、異なるクロックツリー系統間でのシフトデータ転送が行われる個所が多数存在するために、その異なるクロックツリー系統間のスキャンシフト回路部分に、多数のールド保証用遅延素子２０６ａ〜２０６ｅが挿入されて、回路面積の増加や消費電力、及び多量の遅延素子の待機時のリーク電流の増加が生じるという課題がある。
【０００９】
更に、前記図２に示した事例のように、異なるクロックツリー間のＦＦ回路同士を接続している従来回路では、クロストーク等の干渉やＩＲドロップの影響が顕著に生じ易い半導体微細プロセスを用いた設計を採用すると、クロックツリー部分の遅延時間に前記干渉やＩＲドロップの影響が及び、シフトデータ転送のホールドマージンは更に必要となるため、スキャンシフト回路部分に挿入される遅延素子の数は一層増えることになる。以上のようなテスト容易化設計によって生じる遅延素子数の更なる増加は、ＬＳＩの回路面積を一層に増加させ、更には、消費電力の増加や、多数の遅延素子の待機時のリーク電流の顕著な増加を招く。
【００１０】
本発明の目的は、スキャンテスト設計方法やスキャンテスト回路において、微細化プロセスを用いた大規模集積回路で顕著になるクロストークやＩＲドロップの影響が顕著になっても、スキャンシフト回路に挿入する遅延素子数を有効に少なくし、これにより、大規模集積回路の面積の削減や、消費電力及びオフリーク電流を効果的に抑制しながら、スキャンシフトレジスタの動作保証を確実に得ることにある。
【課題を解決するための手段】
【００１１】
前記の課題を解決するために、本発明では、備える複数個のスキャンフリップフロップ回路の接続関係、即ち、どのスキャンフリップフロップ回路からどのスキャンフリップフロップ回路にデータを転送すれば、挿入すべき遅延素子数が低減されるかを今回新たに系統立てて、検討した。
【００１２】
この検討により、本発明では、クロックツリーシンセシス（以下、ＣＴＳと略す）の各最終段素子が駆動する複数のフリップフロップ回路を１つのグループとしてスキャンシフトレジスタを構成する。更に、このように構成した複数のスキャンシフトレジスタを各々サブスキャンチェーンとして、サブスキャンチェーン同士を接続して更に大きなスキャンシフトレジスタを構成する場合には、サブスキャンチェーンを接続する優先順位として、
次の順位を採用する。
【００１３】
(1)クロックラインのゲート段数が同じもの同士を接続する。
【００１４】
(2)前記段数差があるシフトレジスタ同士を接続する際には、段数差が小さいもの同士を優先して接続する。
【００１５】
(3)前記段数差があるシフトレジスタ同士の接続時には、段数の多いサブチェーンから段数の少ないサブチェーンに向かってデータが転送されるように接続するか、又は、クロック遅延の大きいサブチェーンからクロック遅延の小さいサブチェーンにデータが転送されるように接続する。
【００１６】
具体的に、請求項１記載の発明のスキャンテスト設計方法は、スキャンテスト回路として多数のスキャンフリップフロップ回路を有し、前記多数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されている半導体集積回路において、前記クロックツリーの最終段に位置する複数の最終段素子に着目し、この各最終段素子別に、この各最終段素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続してスキャンシフトレジスタを構成することを特徴とする。
【００１７】
請求項２記載の発明は、前記請求項１記載のスキャンテスト設計方法において、前記各最終段素子別のスキャンシフトレジスタを各々サブスキャンチェーンとして、前記サブスキャンチェーン同士を接続して更に長いスキャンシフトレジスタを構成するに際し、前記クロックツリーを構成する素子の段数が同一であるサブスキャンチェーン同士を優先的に接続することを特徴とする。
【００１８】
請求項３記載の発明は、前記請求項１記載のスキャンテスト設計方法において、前記各最終段素子別のスキャンシフトレジスタを各々サブスキャンチェーンとして、前記サブスキャンチェーン同士を接続して更に長いスキャンシフトレジスタを構成するに際し、前記クロックツリーを構成する素子の段数が異なるサブスキャンチェーン同士を接続する場合には、前記クロックツリーを構成する素子間の相対的な段数差が最小であるサブスキャンチェーン同士を優先的に接続することを特徴とする。
【００１９】
請求項４記載の発明は、前記請求項３記載のスキャンテスト設計方法において、前記クロックツリーを構成する素子の段数が異なるサブスキャンチェーン同士の接続時には、前記クロックツリーを構成する素子の段数差に応じて予め定めた数の遅延素子を前記接続するサブスキャンチェーン間に挿入することを特徴とする。
【００２０】
請求項５記載の発明は、前記請求項１、２、３又は４記載のスキャンテスト設計方法において、前記各最終段素子別のスキャンシフトレジスタを各々サブスキャンチェーンとして、前記サブスキャンチェーン同士を接続して更に長いスキャンシフトレジスタを構成するに際し、前記クロックツリーのクロック原点から各サブスキャンチェーンを構成するフリップフロップ回路のクロック端子までの遅延時間の大きいサブスキャンチェーンから前記遅延時間の小さいサブスキャンチェーンへとデータ転送が行われる順番で、前記サブスキャンチェーン同士を接続することを特徴とする。
【００２１】
請求項６記載の発明のスキャンテスト設計方法は、スキャンテスト回路として多数のスキャンフリップフロップ回路を有し、前記多数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されていると共に、クロックツリーの複数の所定位置に各々クロックゲート素子を配置したゲーティッド・クロックツリーを有する半導体集積回路において、前記複数のクロックゲート素子に着目し、この各クロックゲート素子別に、このクロックゲート素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続してスキャンシフトレジスタを構成することを特徴とする。
【００２２】
請求項７記載の発明は、前記請求項６記載のスキャンテスト設計方法において、前記各クロックゲート素子別のスキャンシフトレジスタを各々サブスキャンチェーンとして、前記サブスキャンチェーン同士を接続して更に長いスキャンシフトレジスタを構成するに際し、前記請求項２、３、４又は５記載のスキャンテスト設計方法を実施することを特徴とする。
【００２３】
請求項８記載の発明のスキャンテスト回路は、複数のフリップフロップ回路を直列に接続してスキャンシフトレジスタが構成されたスキャンテスト回路において、前記複数のフリップフロップ回路同士を接続する何れかの接続ネットには、遅延素子が挿入され、前記遅延素子は、この遅延素子を構成するトランジスタの閾値電圧が前記フリップフロップ回路を構成するトランジスタの閾値電圧よりも高閾値電圧であるトランジスタにより構成されていることを特徴とする。
【００２４】
請求項９記載の発明のスキャンフリップフロップ回路は、スキャンシフトレジスタを構成するためのスキャンフリップフロップ回路において、前記スキャンフリップフロップ回路は、通常データ入力端子側回路とスキャンシフトデータ入力側回路とを有し、前記スキャンシフトデータ入力側回路は、少なくとも前記通常データ入力端子側回路を構成するトランジスタの閾値電圧よりも高い閾値電圧を有するトランジスタにより構成されていることを特徴とする。
【００２５】
請求項１０記載の発明のスキャンテスト回路は、前記請求項９記載のスキャンフリップフロップ回路を複数備え、前記複数のスキャンフリップフロップ回路が直列に接続されてスキャンシフトレジスタが構成されていることを特徴とする。
【００２６】
請求項１１記載の発明のスキャンテスト設計方法は、半導体集積回路に備える複数のフリップフロップ回路をスキャンフリップフロップ回路に置換し、この複数のスキャンフリップフロップ回路を直列に接続してスキャンシフトレジスタを構成するに際し、前記複数のスキャンフリップフロップ回路として、前記請求項９記載のスキャンフリップフロップ回路を使用することを特徴とする。
【００２７】
請求項１２記載の発明のスキャンテスト回路は、複数のスキャンフリップフロップ回路が直列に接続されてスキャンシフトレジスタが構成され、且つ、前記複数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されているスキャンテスト回路において、前記複数のスキャンフリップフロップ回路のうち、前記クロックツリーの所定のクロック供給点からフリップフロップ回路のクロック端子までの素子段数が同じである少なくとも２個以上のフリップフロップ回路同士が連続して接続されて、前記スキャンシフトレジスタが構成されることを特徴とする。
【００２８】
請求項１３記載の発明は、前記請求項１２記載のスキャンテスト回路において、前記クロックツリーの所定のクロック供給点からフリップフロップ回路のクロック端子までの素子段数が異なるフリップフロップ回路同士では、前記クロックツリーの所定のクロック供給点からフリップフロップ回路のクロック端子までの素子段数の相対的な段数差が最小であるフリップフロップ回路同士が連続して接続されて、前記スキャンシフトレジスタが更に長く構成されることを特徴とする。
【００２９】
請求項１４記載の発明のスキャンテスト回路は、複数のスキャンフリップフロップ回路を有し、前記複数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されているスキャンテスト回路において、前記クロックツリーの末端に位置する複数の最終段素子毎に、この各最終段素子に接続される複数のフリップフロップ回路同士でスキャンシフトレジスタが構成されることを特徴とする。
【００３０】
請求項１５記載の発明は、前記請求項１０、１１又は１２記載のスキャンテスト回路において、前記複数のスキャンシフトレジスタ相互間には、各々、遅延素子が配置されていて、前記複数のスキャンシフトレジスタを前記複数の遅延素子を介して接続した長いシフトレジスタが構成されることを特徴とする。
【００３１】
請求項１６記載の発明は、前記請求項１５記載のスキャンテスト回路において、前記各遅延素子は、前記フリップフロップ回路を構成するトランジスタの閾値電圧よりもより高い閾値電圧を有するトランジスタにより構成されることを特徴とする。
【００３２】
請求項１７記載の発明のスキャンテスト回路挿入用ＣＡＤプログラムは、多数のフリップフロップ回路を有し、前記多数のフリップフロップ回路のクロック端子に対してクロックツリーが構成されている半導体集積回路に対して、前記多数のフリップフロップ回路を各々スキャンフリップフロップ回路に置換する工程と、その後、前記クロックツリーの最終段に位置する複数の最終段素子別に、この最終段素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続してスキャンシフトレジスタを構成する工程とをコンピュータに実行させることを特徴とする。
【００３３】
請求項１８記載の発明のスキャンテスト回路挿入用ＣＡＤプログラムは、複数のスキャンフリップフロップ回路を有する任意のスキャンテスト回路の回路データを入力する工程と、前記回路データにおける前記スキャンフリップフロップ回路間のシフトデータ転送部分の回路接続を一旦切断する工程と、その後、前記複数のスキャンフリップフロップ回路のクロック端子に対してクロックツリーが構成されている場合に、前記クロックツリーの最終段に位置する複数の最終段素子別に、この各最終段素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続してスキャンシフトレジスタを構成して、スキャンチェーンを適切化する工程と、前記適切化後のネットリスト情報を出力する工程とをコンピュータに実行させることを特徴とする。
【００３４】
請求項１９記載の発明は、前記請求項１８記載のスキャンテスト回路挿入用ＣＡＤプログラムにおいて、前記各最終段素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続したスキャンシフトレジスタを、各々、サブスキャンチェーンとして、前記クロックツリーを構成する素子の段数が異なるサブスキャンチェーン同士を接続する場合には、前記クロックツリーを構成する素子間の相対的な段数差が最小であるサブスキャンチェーン同士を優先的に接続する工程と、その後、ネットリスト情報を出力する工程とをコンピュータに実行させることを特徴とする。
【００３５】
請求項２０記載の発明の大規模集積回路は、請求項１２、１３又は１４記載のスキャンテスト回路と、前記スキャンテスト回路によりテストされる内部回路とを備えたことを特徴とする。
【００３６】
請求項２１記載の発明の携帯デジタル機器は、前記請求項２０記載の大規模集積回路が搭載されていることを特徴とする。
【００３７】
以上により、請求項１〜７及び１２〜２１記載の発明では、クロックツリーの最終段素子が駆動する複数のフリップフロップ回路単位でスキャンシフトレジスタが構成されていて、これらの複数のフリップフロップ回路は、相互に、これらフリップフロップ回路へのクロック信号の伝搬遅延時間がほぼ等しいので、この各スキャンシフトレジスタの動作における設計保証が容易に得られる。
【００３８】
更に、従来技術のように、データホールド違反が発生する個所がスキャンテスト回路の挿入時には特定できず、その後のタイミング設計時においてホールド違反個所を特定して、この違反箇所に対してホールド保証遅延素子を挿入する方法では、スキャンフリップフロップ回路の出力側に多くのホールド保証用遅延素子を挿入する必要があり、このため、スキャンテスト動作以外の通常動作においても、ホールド保証用遅延素子が不要に遷移して消費電力が増加する欠点があるが、本請求項１〜７及び１２〜２１記載の発明では、シフトデータ転送ラインに挿入するホールド保証用遅延素子の数を削減できるので、低消費電力化を実現できると共に、それら遅延素子の待機時でのリーク電流（オフリーク電流）を削減できるので、より一層に低消費電力化が可能である。
【００３９】
加えて、従来技術では、既述の通り、ホールド違反の発見後にホールド保証用遅延素子を挿入する方法であったために、一旦、フリップフロップ回路間のタイミング特性が設計制約を満たしていても、スキャンテスト回路の挿入後にデータシフト回路側に前記ホールド違反が発生すると、回路全体のタイミング特性を悪化させる場合がある。しかし、本請求項１〜７及び１２〜２１記載の発明では、最小限の数のホールド保証用遅延素子のみをスキャンシフト回路に挿入することができ、且つその後のタイミング設計時にホールド違反が発生し難い回路構成であるので、設計の後戻りが少なく、タイミング特性の収束性も向上して、短ＴＡＴ設計が可能である。
【００４０】
また、得られたスキャンテスト回路を用いて製造検査を実施する場合に、製造プロセスのバラツキやクロストークなどの干渉、又はＩＲドロップ等に起因して、クロック回路の遅延特性がチップ面内の局所的な場所で発生しても、スキャンシフト動作を良好に保証できるロバスト設計を実現できるので、スキャンテストでの製造歩留まりが向上する。
【００４１】
特に、請求項２及び３記載の発明では、クロックツリーを構成する素子の段数が同一であるサブスキャンチェーン同士や、その段数相対的な差が最小であるサブスキャンチェーン同士が最優先して接続されるので、製造バラツキ、又はクロストーク等の干渉やＩＲドロップに起因してクロック系統の伝搬遅延特性が局所的に変動した場合であっても、スキャンテスト回路のシフトレジスタ動作に対する設計保証を良好に得ることができる。
【００４２】
また、請求項８記載の発明では、スキャンシフトラインに挿入するホールド保証用の遅延素子が高閾値のトランジスタで構成されるので、より数の少ないゲート数(セル数)でもってシフト動作保証が可能となり、回路面積の削減効果と併せてそれ等の遅延素子の待機時のリーク電流（オフリーク電流）が有効に削減される。
【００４３】
更に、請求項９記載の発明では、スキャンシフトラインに挿入するホールド保証用の遅延素子をスキャンフリップフロップ回路に内蔵する構成としたので、スキャンフリップフロップ回路自体の面積を通常のスキャンフリップフロップ回路と同等に保持しながら、スキャンシフトラインに挿入するホールド保証用遅延素子を不要、又はその遅延素子の数を大幅に削減することが可能であり、従来よりも小さい回路面積のスキャンテスト回路が実現できる。
【００４４】
加えて、請求項１７〜１９記載の発明のスキャンテスト回路挿入用ＣＡＤプログラムでは、クロックツリーの最終段素子により駆動される複数のスキャンフリップフロップ回路同士を直列に接続してスキャンシフトレジスタを構成する設計アルゴリズムを持つので、スキャンテスト回路の挿入の自動化が可能であると共に、従来のスキャンチェーン配線最適化機能と同じ設計段階で前記設計アルゴリズムを用いることができ、設計工程を増加させることなく且つ後戻りが少ない半導体集積回路の設計が可能である。
【００４５】
また、請求項２０、２１記載の発明では、内蔵するスキャンテスト回路が、オフリーク電流が少なく低消費電力であって、低電力回路であるので、バッテリー駆動の携帯デジタル機器や自動車搭載デジタル機器に応用することにより、バッテリー寿命の長いデジタル機器が実現される。
【発明の効果】
【００４６】
以上説明したように、請求項１〜７及び１２〜２１記載の発明によれば、クロックツリーの最終段素子が駆動する複数のフリップフロップ回路単位でスキャンシフトレジスタを構成したので、この各スキャンシフトレジスタの動作における設計保証を容易に得ることができると共に、シフトデータ転送ラインに挿入するホールド保証用遅延素子の数を削減できるので、低消費電力化を実現でき、設計の後戻りが少なく且つタイミング特性の収束性の向上を図ることができ、更にはスキャンシフト動作を良好に保証できるロバスト設計を実現でき、スキャンテストでの製造歩留まりを向上させることができる。
【００４７】
特に、請求項２及び３記載の発明によれば、クロックツリーを構成する素子の段数が同一であるサブスキャンチェーン同士や、その段数相対的な差が最小であるサブスキャンチェーン同士を優先して接続したので、製造バラツキ、又はクロストーク等の干渉やＩＲドロップに起因してクロック系統の伝搬遅延特性が局所的に変動した場合であっても、スキャンテスト回路のシフトレジスタ動作に対する設計保証を良好に得ることができる。
【００４８】
また、請求項８記載の発明によれば、スキャンシフトラインに挿入するホールド保証用の遅延素子を高閾値のトランジスタで構成したので、回路面積の削減効果と併せてそれ等の遅延素子のオフリーク電流を有効に削減できる。
【００４９】
更に、請求項９記載の発明によれば、スキャンシフトラインに挿入するホールド保証用の遅延素子をスキャンフリップフロップ回路に内蔵する構成としたので、スキャンシフトラインに挿入するホールド保証用遅延素子を不要、又はその遅延素子の数を大幅に削減できて、従来よりも小さい回路面積のスキャンテスト回路を実現できる。
【００５０】
加えて、請求項１７〜１９記載の発明によれば、スキャンテスト回路の挿入の自動化が可能であると共に、従来のスキャンチェーン配線最適化機能と同じ設計段階で前記設計アルゴリズムを用いることができ、設計工程を増加させることなく且つ後戻りが少ない半導体集積回路の設計が可能である。
【００５１】
また、請求項２０、２１記載の発明によれば、内蔵するスキャンテスト回路が、オフリーク電流が少なく低消費電力であって、低電力回路であるので、バッテリー駆動の携帯デジタル機器や自動車搭載デジタル機器に応用して、バッテリー寿命の長いデジタル機器を実現できる。
【発明を実施するための最良の形態】
【００５２】
以下、本発明の実施の形態を図面に基づいて説明する。
【００５３】
（第１の実施の形態）
図１は本発明の第１の実施の形態におけるテスト容易化設計方法により実現したスキャンシフト回路のスキャンシフトレジスタの構成を表しており、特に、ＣＴＳバッファの構成とスキャンシフトレジスタの接続関係とを示した図である。以下、この図１を用いて説明する。
【００５４】
図１において、１０１はクロック遅延調整バッファ、１０１ａ〜１０１ｆはＣＴＳバッファであって、所定のクロック原点又はクロック供給点Ｓからバッファ１０１を経てバッファ１０１ａ、１０ｂ、１０１ｃに分岐し、更にその各分岐毎に３つのバッファ１０１ｆに分岐するクロックツリーＴが形成され、このクロックツリーＴを介して多数のフリップフロップ回路（以下、ＦＦ回路という）ＦＦ回路１０２ａ〜１０２ｊのクロック端子にクロック信号が供給される。
【００５５】
本実施の形態の設計方法でにおいては、最初に、ＣＴＳの最終段素子１０１ｆが駆動する複数のＦＦ回路を最小単位としてスキャンシフトレジスタを構成する。従って、図１における３個のＦＦ回路１０２ａを用いてスキャンシフトレジスタの最小単位を構成する。同様に各３個のＦＦ回路１０２ｂ、１０２ｃ、１０２ｄ、１０２ｅ、１０２ｆ、１０２ｇ、１０２ｈ、１０２ｉ、１０２ｊ毎にこれら３個のＦＦ回路を直列に接続して、各々、スキャンシフトレジスタを構成している。
【００５６】
本実施の形態では、前記スキャンシフトレジスタの最小単位をサブスキャンチェーンと呼ぶ。このサブスキャンチェーン内のＦＦ回路は、ＣＴＳ設計の性格上、最もクロックスキューの小さなＦＦ回路集団であり、これら同一のＣＴＳバッファで駆動されるＦＦ回路間で構成したスキャンシフトレジスタは、安定したシフト動作が期待できる。
【００５７】
また、微細化プロセスにおいてクロストーク等の干渉やＩＲドロップ等の影響が顕著になった場合においては、特にホールド時間違反によるデータシフトの不具合が問題となる。この原因は、クロック遅延がクロストークやＩＲドロップなどによって変動することが挙げられる。本実施の形態では、前記サブスキャンチェーンが、同一のＣＴＳバッファで駆動されたＦＦ回路の集団であるので、クロック遅延の変動はほぼ等しく同一に影響する。従って前記遅延変動の影響に対して安定した動作保証が可能なスキャンシフトレジスタを提供できる。
【００５８】
（第２の実施の形態）
次に、本発明の第２の実施の形態を説明する。
【００５９】
前記第１の実施の形態を示す図１においては、３個のＦＦ回路１０２ａを用いてサブスキャンチェーンを構成し、また各３個のＦＦ回路１０２ｂ、１０２ｃ、１０２ｄ、１０２ｅ、１０２ｆ、１０２ｇ、１０２ｈ、１０２ｉ、１０２ｊを用いて、前記３個のＦＦ回路１０２ａと同様に、各々スキャンシフトレジスタを構成した。従って、前記第１の実施の形態では、シフトレジスタの各入出力をＬＳＩのスキャン入力又はスキャン出力に各々接続することにより、スキャンテスト回路を構成することが可能である。しかし、この場合には、大規模な回路において、テスト端子の数が膨大になり、テストコストの増大やＬＳＩの外部端子制約で端子が不足し、てテスト容易化設計の実現が困難な場合が生じる。
【００６０】
そこで、前記第１の実施の形態で説明したサブスキャンチェーン同士を接続して、更に大きなスキャンシフトレジスタを構成することにより、スキャン入出力端子を削減する構成が本実施の形態である。
【００６１】
つまり、図１において説明した前記各サブスキャンチェーンにおいては、最初に、ＣＴＳバッファの段数が等しいサブスキャンチェーン同士を、図１に示したサブスキャンチェーン間接続ネット１０７、１０８、１０９により優先的に接続する。このとき、サブスキャンチェーン同士の接続に際し、設計マージンを考慮してホールド時間保証用に任意の個数のバッファを挿入しても良い。特に、クロストーク等の干渉やＩＲドロップ等の影響によって各サブスキャンチェーンのクロック遅延が変動した際には、各サブスキャンチェーン間のクロック変動は各々異なるため、この変動分を考慮したホールド保証バッファを挿入する方法が望ましい。但し、サブスキャンチェーン間の接続においては配線長が十分長い場合もあり、必ずしも前記バッファの挿入が必要ではない。図１の回路例では、サブスキャンチェーン間接続ネット１０７、１０８、１０９において、ホールド時間保証用遅延素子は省略可能であるので、そのような遅延素子を介さずＦＦ回路同士を直接接続している例を示している。
【００６２】
このように、本実施の形態では、同一のＣＴＳバッファ段数のサブスキャンチェーン同士を接続するので、ＬＳＩ内のスキャンチェーンの本数が減少し、従って、スキャンテスト端子の不足を解消することが可能である。
【００６３】
（第３の実施の形態）
続いて、本発明の第３の実施の形態を説明する。
【００６４】
本第３の実施の形態は、前記第２の実施の形態でもなおスキャンテスト端子(スキャンイン端子及びスキャンアウト端子）の数が制約端子数以内に収まらない場合の設計方法を示している。
【００６５】
前記第２の実施の形態においてスキャンテスト端子数の制約を解消できない場合や、その他の理由で更にスキャンチェーン数を少なくしたい場合には、ＣＴＳバッファ段数が異なるスキャンシフトレジスタ同士を接続する必要がある。この場合にも、最初は、前記第２の実施の形態と同様に、ＣＴＳバッファ段数が等しいシフトレジスタ同士をサブスキャンチェーン間接続ネット１０７、１０８、１０９により優先的に直列に接続する。
【００６６】
次いで、図１において、接続の第２優先順位として、クロック供給点ＳからＣＴＳバッファまでの相対的なバッファ段数差が最小、すなわち段数差が１段のシフトレジスタ同士を各々接続ネット１１０、１１１で優先して接続する。ここで、これらの接続ネット１１０、１１１には、前記段数差が１段であるので、図１において１つの遅延素子１０６ａ、１０６ｂが挿入される。
【００６７】
続いて、更にスキャンシフトチェーン数を削減したい場合には、第３優先順位として、ＣＴＳバッファ段数の相対差が２段以内のサブスキャンチェーン同士を図１のサブスキャンチェーン間接続ネット１１２により接続する。ここで、この接続ネット１１２には、前記段数差が２段であるので、２個の遅延素子１０６ｃが挿入される。  以後、同様にＣＴＳバッファ段数の相対差が少ないシフトレジスタ同士を優先的に接続する方法を用いて、設計要求仕様又は設計制約に適合したスキャンシフトチェーン数となるようテスト設計を行う。図１は、この方法を用いて、最終的に１本のスキャンチェーン１０３でもってスキャンテスト回路を構成した場合の回路例を示している。そして、ＣＴＳバッファ段数の異なるサブスキャンチェーン間の接続においては、ＣＴＳバッファの相対的な段数差に合わせて、相対段数差の大きな個所にはバッファを多く、相対段数差の小さな個所にはバッファの挿入数を少なくする。尚、挿入するバッファ数は相対段数差毎に予め決めておく。
【００６８】
（第４の実施の形態）
次に、本発明の第４の実施の形態を説明する。
【００６９】
前記第２及び第３の実施の形態では、ホールド時間保証用に挿入する遅延素子１０６ａ〜１０６ｃの数は、設計マージンを考慮して予め決定しておく必要がある。この場合、特に前記第３の実施の形態のようにＣＴＳバッファの相対的な段数差が異なり、且つ異なる種々の段数差のサブスキャンチェーン同士を直列接続するときには、組合せ誤差を考慮すると、挿入する遅延素子の数がオーバマージン設計になる点が懸念される。
【００７０】
そこで、本第４の実施の形態においては、前記第２の実施の形態の設計方法で構成したシフトレジスタ、即ち、クロックツリーを構成する素子の段数が等しいシフトレジスタ同士、を第１優先順位として接続し、その結果において更に直列接続して大きなスキャンシフトレジスタを構成する必要がある場合には、前記第３の実施の形態の第２優先順位とは異なり、次の第２優先順位を採用する。
【００７１】
すなわち、本第４の実施の形態では、クロック回路の素子数(例えばＣＴＳバッファ数)が異なるサブスキャンチェーン同士を接続する設計ルールとして、第２優先順位として、スキャンイン端子側に最もＣＴＳバッファ段数の多いサブスキャンチェーンを配置し、一方、スキャンアウト端子側には、最もクロック回路の構成素子段数が少ないスキャンシフトレジスタを配置する。そして、前記スキャンイン端子側での次段のサブスキャンチェーンとスキャンアウト端子側での前段のサブスキャンチェーンとの間に接続するサブスキャンチェーンは、スキャンイン端子側に近い方からスキャンアウト端子側に近い方へ向かって、ＣＴＳバッファ段数が多いサブスキャンチェーンからＣＳＴバッファ段数が少ないサブスキャンチェーンへと接続して行く設計方法を採用する。
【００７２】
即ち、この設計方法で構成されたスキャンテスト回路は、図３に示すように、ＣＴＳバッファ段数が同じＦＦ回路間の転送か、又は、ＣＴＳバッファ段数が多いＦＦ回路からＣＴＳバッファ段数が少ないＦＦ回路へ向かって（即ち、サブスキャンチェーンにおいて、供給されるクロック信号の遅延時間が大きい側から小さい側へとデータ転送が行われる順番で）シフト動作が行われるスキャンテスト回路となる。具体的には、図３において、ＣＴＳバッファ段数が７段で同じサブスキャンチェーン３１０ａ同士間、ＣＴＳバッファ段数が６段で同じサブスキャンチェーン３１０ｂ同士間、ＣＴＳバッファ段数が５段で同じサブスキャンチェーン３１０ｃ同士間で先ず接続され、その後、ＣＴＳバッファ段数が多いサブスキャンチェーン３１０ａからＣＴＳバッファ段数が少ないサブスキャンチェーン３１０ｂ、３１０ｃ、及びＣＴＳバッファ段数が３段で最も少ないサブスキャンチェーン３１０ｄへ向かってデータ転送が行われるように、サブスキャンチェーン同士が接続される。
【００７３】
ここで、ＣＴＳバッファ段数が多いシフトレジスタは一般的にクロック遅延が遅い場合が多く、一方、ＣＴＳバッファ段数が少ないシフトレジスタは一般的にクロック遅延が早いと予想される。従って、ＣＴＳバッファ段数差が生じたサブスキャンチェーン間のデー転送においては、クロック遅延が若干遅いＦＦ回路からクロック遅延が若干早いＦＦ回路へデータ転送されるので、セットアップ時間のマージンは小さくなるが、一方、ホールド時間に対しては安全設計となる。スキャンテスト回路の場合には、データシフト回路部分はＦＦ回路間に回路がない場合が一般的であって、セットアップ時間は十分余裕がある。一方、データシフト回路のＦＦ回路間にゲートが存在しない分、スキャンシフトレジスタでは、ホールド時間の保証が課題となる。即ち、本第４の実施の形態においては、ホールド時間に余裕を持たせた回路構成が容易に提供でき。これにより、本第４の実施の形態では、クロストーク等の干渉やＩＲドロップの影響によって生じるクロック遅延変動に対してもロバストなシフトレジスタが得られる。
【００７４】
更に、本第４の実施の形態では、クロック遅延変動に対して安全な設計となっている分、クロック回路を構成する素子段数が異なるサブスキャンチェーン間のデータラインに挿入するホールド保証用遅延素子の数もオーバマージン設計する必要が無く、設計精度が高い分、従来のスキャンテスト回路に比べて、遅延素子数を少なくできる利点がある。
【００７５】
（第５の実施の形態）
更に、本発明の第５の実施の形態を説明する。
【００７６】
前記第２、第３及び第４の実施の形態においては、ホールド保証用に挿入される遅延素子の数が、従来のスキャンテスト回路に比べて少なくできるので、回路面積を小さくすることが可能であるが、本発明の第５の実施の形態は、更なる回路面積の増加を抑制する設計方法を提供する。以下、説明する。
【００７７】
本実施の形態では、基本的な回路設計方法は、例えば前記第２、第３及び第４の実施の形態と同様であるが、例えば図１において、サブスキャンチェーン同士の接続時に、サブスキャンチェーン間接続ネット１１０〜１１２に挿入する遅延素子１０６ａ〜１０６ｃは、各々、ＦＦ回路１０２ａ〜１０２ｆ及びロジック回路を構成するトランジスタの閾値電圧よりも高い閾値電圧を有するトランジスタを用いて構成される。これにより、少ない遅延素子の数で大きな遅延時間を得ることができる。即ち、本第５の実施の形態は、ＬＳＩ全体を構成するトランジスタの閾値電圧に対して、遅延素子を構成するトランジスタを高閾値トランジスタで構成する方法である。
【００７８】
（第６の実施の形態）
続いて、本発明の第６の実施の形態を説明する。
【００７９】
前記第４の実施の形態では、クロック回路を構成する素子段数を判断材料にサブスキャンチェーンの接続順番を決定した、本第６の実施の形態では、ＣＴＳ挿入後のクロック遅延調整の工程でスキャンチェーン同士の接続の最適化を図る設計方法を示し、これにより、高精度なスキャンテスト回路を実現する方法を提供する。以下、図４、図５及び図６を用いて説明を行う。
【００８０】
図５は、従来の一般的なＬＳＩの設計フローを示す。図４は本第６の実施の形態におけるＣＡＤ（Computer Aided Design）設計フローを示す。従来の設計方法では、図５に示すように、ＲＴＬ設計後、ＲＴＬファイル５０１を入力データとして、論理合成ＣＡＤプログラム５０２を行いてゲートレベルのネットリスト５０３を生成する。このゲートレベルのネットリスト５０３に対して、スキャンテスト回路挿入ＣＡＤプログラム５０４を用いて、スキャンテスト回路挿入後のネットリスト５０５を作成する。
【００８１】
前記スキャンテスト回路挿入後のネットリスト５０５は、マスクレイアウトＣＡＤプログラム５０６の入力データとして用いられ、マスクレイアウトＣＡＤプログラム５０６で配置配線後、ＣＳＴの挿入を行い、クロック遅延解析プログラム５０７でクロックの遅延解析を行う。その結果を用いてクロックスキューの調整５０８を行って、ネットリスト４０９及びパターン情報ＧＤＳＩＩを出力する。
【００８２】
これに対し、本第６の実施の形態では、図４に示すＬＳＩ設計フローにおいて、前記図５のフローとはクロック遅延解析４０７(又は５０７)までは、スキャンテスト回路挿入プログラム４０４以外は、ほぼ同じ工程をたどる。違いは大きくは２点であり、１点目は前記スキャンテスト回路挿入ＣＡＤプログラム４０４において、本発明の第１〜第４の実施の形態（又は実施の形態５を含む）で説明したスキャンチェーン設計方法を用いてスキャンテスト回路挿入後のネットリスト４０５を作成している点である。２点目は、クロック遅延解析４０７の結果を用いてクロックスキュー調整を行う工程４０８において、前記第４の実施の形態で説明したアルゴリズムでスキャンチェーンの最適化をも行う点である。
【００８３】
図４に示したＬＳＩ設計フローの工程４０８におけるスキャンチェーン最適化方法について図６を用いて説明する。
【００８４】
図４のクロック遅延解析工程４０７では、各サブスキャンチェーンのクロック遅延を把握することができる。そして、この情報を基に、各サブスキャンチェーン間のクロック遅延差を求める。このクロック遅延解析工程４０７で求めたクロック遅延の分布を図６（ａ）に度数分布６０３ｄとして例示する。同図（ａ）では、多数のサブスキャンチェーンのうち同図（ｂ）に示す３つのサブスキャンチェーン６０３ａ、６０３ｂ、６０３ｃを例示している。これら３つのサブスキャンチェーン６０３ａ〜６０３ｃを構成するＦＦ回路に対してクロックツリーバッファ６０２ａ、６０２ｂ、６０２ｃが構成され、ＣＴＳ回路を形成している。各サブスキャンチェーン６０３ａ〜６０３ｃに対応するクロック遅延の度数分布は、図６（ａ）に示す度数分布６０１ａ〜６０１ｃである。
【００８５】
本第６の実施の形態においては、クロック遅延分布が最も大きいサブスキャンチェーン６０３ａの入力をスキャンイン端子６０４と接続し、クロック遅延分布が最も小さいサブスキャンチェーン６０３ｃの出力をスキャンアウト端子６０５と接続する。また、ＬＳＩ内部のサブスキャンチェーン間接続は、クロック遅延分布のセンター値が最も大きいサブスキャンチェーンから最も小さいサブスキャンチェーンに並ぶ順番に並べ変えるように、各サブスキャンチェーン間の接続を行う。つまり、本実施の形態では、クロック遅延分布が中間的なサブスキャンチェーン６０３ｂを前記両サブスキャンチェーン６０３ａ、６０３ｃ間に配置する。尚、この時、ホールド時間保証用遅延素子６０６を介した再接続を実施する。
【００８６】
従って、本実施の形態では、クロック遅延変動に対してロバストな設計を比較的容易に行うことができ、且つ、従来のスキャン設計方法にように多数のホールド保証用遅延素子をむやみに後から挿入することが不要になる。よって、本第６の実施の形態では、従来  の設計方法に比べて、非常に少ない遅延素子数でもってスキャンシフト動作の保証が可能なスキャンテスト回路を提供できる。
【００８７】
（第７の実施の形態）
一般に、スキャンテスト回路は、スキャンシフト回路部分に関して、ＦＦ回路間にロジック回路が存在しない場合が多い。従って、シフトレジスタは、セットアップ時間の設計制約に十分余裕がある一方、ホールド時間の設計制約が余裕が極めて少ない場合が多い。従って、従来のスキャンテスト設計では、スキャンシフト側回路のデータラインにホールド保証用バッファを挿入して、ホールド時間の設計保証を図る方法が最も一般的である。
【００８８】
本第７の実施の形態では、通常回路のＦＦ回路データ転送のセットアップ時間に影響することなく、且つホールド保証用バッファなどの挿入による回路面積の増加を招くことのないスキャンＦＦ回路にを提供するものである。以下、図７を用いて説明する。
【００８９】
本第７の実施の形態におけるＦＦ回路の一例を図７に示す。同図において、スキャンＦＦ回路１０２は、入力端子に通常データ入力端子Ｄ、スキャンシフトデータ入力端子ＤＴ、クロック端子ＣＫ、テストモード端子ＮＴ、及び１対の出力端子Ｑ、ＮＱを有する。
【００９０】
そして、スキャンシフトデータ入力端子ＤＴ側のスキャンシフトデータ入力側回路７０２を構成するＰ型トランジスタ７０２ａ、Ｎ型トランジスタ７０２ｂ、インバータ７０２ｃ、トライステートインバータ７０２ｄは、ＦＦ回路１０２のその他の部分、特に通常データ入力端子Ｄ側の通常データ入力側回路７０１を構成する７０１ａ〜７０１ｄ部分のトランジスタに対して、高閾値電圧を持つトランジスタを用いて構成される。
【００９１】
従って、本第７の実施の形態では、スキャンシフト側回路のデータラインにホールド保証用の遅延回路を挿入する必要がないので、ＦＦ回路の面積を増加させることなく、スキャンシフトデータ入力側の遅延時間を増加させることができる。
【００９２】
よって、スキャンテスト設計時にホールド保証用としてスキャンＦＦ回路のシフトデータラインに挿入する遅延素子の数を削減できて、回路面積や消費電力の小さいＬＳＩを提供できる。
【００９３】
（第８の実施の形態）
次に、本発明の第８の実施の形態を説明する。
【００９４】
以下、本第８の実施の形態のＣＡＤプログラムとして、前記第１〜第４及び第６の実施の形態のスキャンテスト設計を行うＤＦＴ(Design For Testability)設計ＣＡＤプログラムについて、図３及び図８を用いて説明する。
【００９５】
従来のＤＦＴ設計プログラムとしてのスキャン挿入ＣＡＤプログラムは、ＦＦ回路をスキャンＦＦ回路に置換し、スキャンＦＦ回路のシフトデータ入力端子と出力端子をランダムにスキャンカスケード接続する。
【００９６】
これに対し、本第８の実施の形態におけるスキャンテスト回路挿入ＣＡＤプログラムは、図８に示すように、ＲＴＬ設計後、ＲＴＬファイル８０１を入力データとして論理合成ＣＡＤプログラム８０２を行いてゲートレベルのネットリスト８０３を生成する。このゲートレベルのネットリスト８０３に対して、スキャンテスト回路挿入ＣＡＤプログラム８０４を用いて、スキャンテスト回路挿入後のネットリスト８０５を作成する。ここで、前記スキャンテスト回路挿入ＣＡＤプログラム８０４の詳細を図９に示す。
【００９７】
図９のスキャンテスト回路挿入ＣＡＤプログラム８０４では、図１１に示すように、最初に工程８０４ａにおいて、各最終段ＣＴＳバッファ１００５で駆動されるＦＦ回路同士でサブスキャンチェーン１００１を作成する。次いで、工程８０４ｂにおいて、最終段バッファ１００５を駆動するＣＴＳバッファ１００２間でこのＣＴＳバッファ１００２に繋がるサブスキャンチェーン１００１同士を仮接続する（図１１中符号[２]で示す）。その後、工程８０４ｃにおいて、前記各ＣＴＳバッファ１００２を駆動する複数のＣＴＳバッファ１００３間でこのＣＴＳバッファ１００３に繋がるチェーン同士を仮接続する（同図中符号[３]で示す）。そして、工程８０４ｄにおいて、最終的に、前記各ＣＴＳバッファ１００３を駆動する最初段のＣＴＳバッファ１００４間でこの最初段のＣＴＳバッファ１００４に繋がるチェーン同士を仮接続する（同図中符号[４]で示す）。
【００９８】
次に、図８に戻って、工程８０６でマスクレイアウトＣＡＤプログラムによる配置配線を行ない、ＣＴＳの挿入を行う。
【００９９】
その後、工程８０７においてスキャンシフトレジスタを構成するＦＦ回路間のシフトデータ転送部分の回路情報を一旦切断すると共に、一部のスキャンシフトレジスタ部分のネットリスト情報をリセットし、その後、ＣＴＳバッファ段数やクロック回路の素子段数を基準に、前記第１〜第６の実施の形態で説明したアルゴリズムで再度ネットリストを再構築する。このネットリストを再構築するＣＡＤプログラムを図１０に示す。そして、このようにスキャンシフトレジスタ側回路を最適化した新たなゲートレベルのネットリストを用いて再レイアウト(配置配線)又は配線のみを行う。
【０１００】
次に、図１０に示したネットリストの再構築プログラムを図１２に基づいて説明する。図１０において、最初に工程８０７ａにおいて、各最終段ＣＴＳバッファ１００５ａを駆動するＣＴＳバッファ１００２ａ間で各ＣＴＳバッファ１００５ａの段数が同数のサブスキャンチェーン１００１同士を接続する（図１２中符号[６]で示す）。次いで、工程８０７ｂにおいて、各最終段ＣＴＳバッファ１００５ａを駆動するＣＴＳバッファ１００２ａ間で、各ＣＴＳバッファ１００５ａの段数が多いサブスキャンチェーン１００１から段数が少ないサブスキャンチェーン１００１へと繋がるようにこれらのサブスキャンチェーン１００１同士を接続する（同図中符号[７]で示す）。更に、工程８０７ｃにおいて、複数のＣＴＳバッファ１００２ａを駆動するＣＴＳバッファ１００３ａ間で、ＣＴＳバッファ１００２ａの段数が同数のサブスキャンチェーン１００１同士を接続する（同図中符号[８]で示す）。次いで、工程８０７ｄにおいて、複数のＣＴＳバッファ１００２ａを駆動するＣＴＳバッファ１００３ａ間で、ＣＴＳバッファ１００２ａの段数が多いサブスキャンチェーン１００１から段数が少ないサブスキャンチェーン１００１へと繋がるようにこれらのサブスキャンチェーン１００１同士を接続する（同図中符号[９]で示す）。次いで、工程８０７ｅにおいて、複数のＣＴＳバッファ１００３ａを駆動するＣＴＳバッファ１００４ａ間で、ＣＴＳバッファ１００３ａの段数が同数のサブスキャンチェーン１００１同士を接続する（図１２では該当なし）。そして、最終的に、工程８０７ｆにおいて、複数のＣＴＳバッファ１００３ａを駆動するＣＴＳバッファ１００４ａ間で、ＣＴＳバッファ１００３ａの段数が多いサブスキャンチェーン１００１から段数が少ないサブスキャンチェーン１００１へと繋がるようにこれらのサブスキャンチェーン１００１同士を接続する（同図中符号[１１]で示す）。
【０１０１】
その後は、図８に戻って、工程８０８でクロック遅延解析を行い、工程８０９でＣＴＳ調整（クロックスキュー調整）、及び再度マスクレイアウトＣＡＤプログラムによる一部配置や物理配線の最適化を行う。その結果、シフトレジスタ回路部分を再構築したネットリストデータ８１０やパターン情報ＧＤＳＩＩが得られる。
【０１０２】
従って、本第８の実施の形態では、前記第１〜第４及び第６の実施の形態を実現するスキャンテスト設計を行うＤＦＴ(Design For Testability)設計ＣＡＤプログラムを提供できる。
【０１０３】
（第９の実施の形態）
次に、本発明の第９の実施の形態を説明する。
【０１０４】
本第９の実施の形態は、前記第１〜第４及び弟６の実施の形態のスキャンテスト設計を行うＤＦＴ設計のＣＡＤプログラム及び及びスキャンチェーン最適化機能を持ったマスクレイアウトＣＡＤプログラムを示す。以下、図３及び図４を用いて説明する。
【０１０５】
従来のＤＦＴ設計プログラムとしてのスキャン挿入ＣＡＤプログラムは、ＦＦ回路をスキャンＦＦ回路に置換し、スキャンＦＦ回路のシフトデータ入力端子と出力端子をランダムにスキャンカスケード接続する。
【０１０６】
本発明の第９の実施の形態におけるスキャン挿入ＣＡＤプログラムは、図４に示すように、ＲＴＬ設計後、ＲＴＬファイル４０１を入力データとして論理合成ＣＡＤプログラム４０２を行いてゲートレベルのネットリスト４０３を生成する。このゲートレベルのネットリスト４０３に対して、スキャンテスト回路挿入ＣＡＤプログラム４０４を用いて、スキャンテスト回路挿入後のネットリスト４０５を作成する。このスキャンテスト回路挿入ＣＡＤプログラム４０４の詳細は図９と同様であるので、その説明を省略する。
【０１０７】
次いで、図４に示す工程４０６において、従来と同様のマスクレイアウトＣＡＤプログラムによる配線を行ない、ＣＴＳを挿入し、その後に、工程４０７においてクロック遅延解析を行う。そして、工程４０８において、前記クロック遅延解析の結果を基にクロックスキューの調整を行い、その後、本第９の実施の形態のＣＡＤプログラムを用いて、スキャンシフト側のＦＦ回路間の接続情報を一旦切断して、ネットリスト情報の一部をリセットした後、ＣＴＳバッファ段数やクロック回路の素子段数又は各サブスキャンチェーンのクロック遅延情報を基に、前記第１〜第６の実施の形態で説明したアルゴリズムで再度ネットリストを再構築する。この工程４０８では、スキャンシフト側回路を最適化した新たなゲートレベルのネットリストを用いて、再度、マスクレイアウトＣＡＤプログラムによる新たなスキャンシフト側回路の物理的な配線処理も再実行する。この工程４０８でのスキャンチェーン最適化ＣＡＤプログラムは、前記図１０に示したＣＡＤプログラムと同様であって、これと異なる点は、そのプログラムの実行時点がクロック遅延解析の結果を基に行ったクロックスキューの調整後である点で異なるのみであるので、その説明を省略する。
【０１０８】
前記の結果として、本第９の実施の形態におけるＣＡＤプログラムは、シフト回路部分を再構築したネットリストとマスクレイアウトデータを出力する。
【０１０９】
（第１０の実施の形態）
続いて、本発明の第１０の実施の形態を説明する。
【０１１０】
前記第１の実施の形態では、同一のＣＴＳの最終段素子が駆動するＦＦ回路を最小単位としてスキャンシフトレジスタをして構成したが、本第１０の実施の形態では、ゲーティッドＣＴＳを実行した回路については、ゲーティッドＣＴＳを実行した始点となるネットや端子を最小単位としてサブスキャンチェーンを構成する方法を提供する。
【０１１１】
低消費電力回路の実現方法としては、クロックゲーティッドを用いた設計方法がある。またクロックラインにゲーティッド回路があっても、自動でＣＴＳを張る機能を有するＣＡＤツールも存在する。この場合、ゲーティッドＣＴＳを実行した始点となるネットからＦＦ回路のクロック端子までは、原則としてスキューが高精度に調整されていることが多い。従って、このような設計方法と組み合わせる場合は、ゲーティッドＣＴＳを実施した基点から下のツリーに接続されるＦＦ回路を最小単位としてサブスキャンチェーンを構成する方法でも、以上で説明したスャンテスト設計を適用できる。
【０１１２】
このようなゲーティッドＣＴＳでのサブスキャンチェーン形成方法を図１３に基づいて説明する。同図において、ゲーティッド・クロックツリーＧＳには、第１、第２及び第３のゲーティング素子（クロックゲート素子）９０１ｇ１〜９０１ｇ３が配置される。前記第１のゲーティング素子９０１ｇ１は、最上段に配置した第１のブロックＢ１に属する３個のスキャンフリップフロップ回路９０２ａの各クロック端子に接続される。また、第２のゲーティング素子９０１ｇ２は、中段の位置に配置した第２のブロックＢ２に属する９個のスキャンフリップフロップ回路９０２ｄ、９０２ｅ、９０２ｆの各クロック端子に接続される。更に、第３のゲーティング素子９０１ｇ３は、下段の位置に配置した第３のブロックＢ３に属する９個のスキャンフリップフロップ回路９０２ｇ、９０２ｈ、９０２ｉの各クロック端子に接続される。前記各ゲーティング素子９０１ｇ１〜９０１ｇ３は、共通の又は個別の条件成立時には、対応するブロックＢ１〜Ｂ３に属するフリップフロップ回路へのクロック信号の供給を停止して、低消費電力を図る。
【０１１３】
更に、前記ブロックＢ１〜Ｂ３において、各々、その内部に属するフリップフロップ回路は、対応するゲーティング素子９０１ｇ１〜９０１ｇ３からのクロック供給に要する電力を抑えるように、相互に近接した位置に配置される。従って、同一ブロック内に属するフリップフロップ回路同士では、対応するゲーティング素子９０１ｇ１〜９０１ｇ３からのクロック信号の伝搬遅延時間はほぼ同一値である。この事実から、本実施の形態では、各ブロックＢ１〜Ｂ３において、同一ブロック内に属する複数のフリップフロップ回路同士を直列に接続して、各ブロックＢ１〜Ｂ３別に１つのサブスキャンシフトレジスタが構成されている。
【０１１４】
尚、図１３において、前記各ブロック別のサブスキャンシフトレジスタ同士や、これらと他の複数のフリップフロップ回路で構成するサブスキャンシフトレジスタとの接続の方法は、前記図１に示した第２の実施の形態と同一の接続方法が適用されている。
【０１１５】
また、ゲーティッドＣＴＳの場合、クロックツリーの素子段数や回路構成が等価な個所が少なくなるケースも少なくないため、ＣＴＳ挿入後のクロック遅延解析結果を利用してスキャンチェーンの最適化を図る本発明の第６の実施の形態と組み合わせることが望ましい。
【０１１６】
以上、本発明に係る実施の形態のスキャンテスト回路及びその設計方法を説明したが、このようなスキャンテスト回路と、これにより動作をテストされる内部回路とにより大規模集積回路を構成したり、この大規模集積回路を備えた形態デジタル機器を構成すれば、前記スキャンテスト回路が低電力回路であるので、バッテリー寿命の長い大規模集積回路やデジタル機器を実現できる。
【産業上の利用可能性】
【０１１７】
以上説明したように、本発明は、各スキャンシフトレジスタの動作における設計保証を容易に得ることができると共に、シフトデータ転送ラインに挿入するホールド保証用遅延素子の数を削減できるので、設計の後戻りが少なく且つタイミング特性の収束性の向上を図ったり、スキャンシフト動作を良好に保証できるロバスト設計を実現するスキャンテスト設計方法、スキャンテスト回路、スキャンテスト回路挿入プログラム、並びにそのようなスキャンテスト回路を備えた携帯デジタル機器などの大規模集積回路等の用途に適用できる。
【図面の簡単な説明】
【０１１８】
【図１】本発明の第１の実施の形態のスキャンシフトレジスタの構成を持つスキャンテスト回路を示す図である。
【図２】従来のスキャンシフトレジスタ構成を持つスキャンテスト回路を示す図である。
【図３】本発明の第４の実施の形態において、クロックツリーの素子段数が異なるサブスキャンチェーン同士を接続する手順を示した概念図である。
【図４】本発明の第６及び第９の実施の形態のスキャンテスト設計方法を説明した設計フローチャート図である。
【図５】従来のテスト設計フローチャートを示す図である。
【図６】（ａ）は本発明の第６の実施の形態において、クロックスキューの分布を示す図、（ｂ）はそのクロックスキューの分布を持ち且つクロックツリー素子段数が異なるスキャンサブチェーン間の接続方法を示す図である。
【図７】本発明の第７の実施の形態におけるスキャンＦＦ回路の構成を示す図である。
【図８】本発明の第８の実施の形態において、サブスキャンチェーン間のクロック遅延分布を用いてスキャンチェーン接続を行う方法を説明した設計フローチャート図である。
【図９】図８に示した設計フローチャート図において、テスト回路挿入設計の詳細を示すフローチャート図である。
【図１０】図８に示した設計フローチャート図において、スキャンチェーン最適化の詳細を示すフローチャート図である。
【図１１】図９のテスト回路挿入設計フローチャート図によるサブスキャンチェーンの接続手順を説明した図である。
【図１２】図１０のスキャンチェーン最適化設計フローチャート図によるサブスキャンチェーンの接続手順を説明した図である。
【図１３】本発明の第１０の実施の形態のスキャンシフトレジスタの構成を持つスキャンテスト回路を示す図である。
【符号の説明】
【０１１９】
１０１                   クロック遅延調整バッファ
１０１a〜f               ＣＴＳバッファ
１０２a〜１０２j         スキャンフリップフロップ回路
Ｔ                       クロックツリー
Ｓ                       クロック供給点
１０３                   スキャンチェーン
１０６a〜１０６ｃ        ホールド保証用の遅延素子
１０７〜１０９
１１０〜１１２         サブスキャンチェーン間接続ネット
４０２                   論理合成ＣＡＤプログラム
４０４                   テスト回路挿入ＣＡＤプログラム
４０６                   レイアウトＣＡＤプログラム
４０８                   レイアウトＣＡＤプログラム
５０４                   スキャンテスト回路挿入ＣＡＤプログラム
５０８                   レイアウトＣＡＤプログラム
６０３ａ〜６０３ｃ       サブスキャンチェーン(スキャンシフトレジスタ)
９０１ｇ１〜９０１ｇ３   ゲーティング素子（クロックゲート素子）
ＧＴ                     ゲーティッドクロックツリー
７０１                   通常データ入力端子側回路
７０２                   スキャンシフトデータ入力側回路
【図１】
2005032102.tif 000003
【図２】
2005032102.tif 000004
【図３】
2005032102.tif 000005
【図４】
2005032102.tif 000006
【図５】
2005032102.tif 000007
【図６】
2005032102.tif 000008
【図７】
2005032102.tif 000009
【図８】
2005032102.tif 000010
【図９】
2005032102.tif 000011
【図１０】
2005032102.tif 000012
【図１１】
2005032102.tif 000013
【図１２】
2005032102.tif 000014
【図１３】
2005032102.tif 000015