(57)【特許請求の範囲】
【請求項１】
スキャンチェイン最適接続装置が、回路設計データの接続情報を基にして、スキャンクロック信号の供給元を同一とする複数のスキャンフリップフロップを単位として少なくとも１つのグループにそれぞれグループ化してメモリに登録する第１のステップと、
回路設計データの配置情報を基にして、第１のステップによりグループ化された各グループの代表位置をスキャンクロック信号の供給元の配置位置と定め、代表位置同士を縦続接続するときスキャンチェイン長が短くなるように接続状態を定めるグループ間接続のための第２のステップと、
第２のステップによりグループ間の接続状態が定められた各グループに含まれる複数のスキャンフリップフロップの相互をスキャンチェイン長が短くなるように縦続接続するための接続状態を定めるグループ内接続のための第３のステップと、
を実行することを特徴とするスキャンチェイン設計方法。
【請求項２】
回路設計データの接続情報を基にして、スキャンクロック信号の供給元を同一とする複数のスキャンフリップフロップを単位として少なくとも１つのグループにそれぞれグループ化するグループ化手段と、
回路設計データの配置情報を基にして、グループ化手段によりグループ化された各グループの代表位置をスキャンクロック信号の供給元の配置位置と定め、代表位置同士を縦続接続するときスキャンチェイン長が短くなるように接続状態を定めるグループ間接続手段と、
グループ間接続手段によりグループ間の接続状態が定められた各グループに含まれる複数のスキャンフリップフロップの相互をスキャンチェイン長が短くなるように縦続接続するための接続状態を定めるグループ内接続手段と、
を備えることを特徴とするスキャンチェイン設計システム。
【請求項３】
グループ化手段は、グループ内でスキャンクロック信号が多段複数のバッファを通して供給される構成であるとき、各バッファ毎に接続されるスキャンフリップフロップを下位のグループとして形成することを特徴とする請求項２記載のスキャンチェイン設計システム。
【請求項４】
グループ化手段は、バッファの選定指示がある場合にはその指示を受け、少なくとも前記スキャンクロック信号の供給元を同一とする前記スキャンフリップフロップを単位としてグループ化する第１レベルのグループを形成することを特徴とする請求
項３記載のスキャンチェイン設計システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はテスト容易化半導体集積回路におけるスキャンチェイン（スキャンパス）の設計システム及びその設計方法に関する。
【０００２】
【従来の技術】
大規模な半導体集積回路の製作後の動作テストには多くの時間を要するため、集積回路のレイアウト設計の段階で、後の動作テストを容易に行えるように、例えばテスト用の配線などが組み込まれる。このような半導体集積回路をテスト容易化半導体集積回路と称する。
【０００３】
スキャン方式のテスト容易化半導体集積回路には、システムクロック端子をテストのためのスキャンクロック端子と共用するタイプの多くのスキャンフリップフロップ（この明細書においては、スキャンＦＦと略称する場合もある）が含まれている。システムクロック信号は実回路の動作（スキャンでないときの動作）に適するように分配される。したがって、スキャンクロック信号はシステムクロック信号の構成に依存する。システムクロック信号が一つならば、スキャンクロック信号も一つであるが、通常はシステムクロック信号は複数存在する。
【０００４】
テスト容易化半導体集積回路に含まれている多くのスキャンＦＦは、少なくとも１つのスキャンチェインで縦続接続されてスキャンイン端子とスキャンアウト端子との間に配設され、それぞれのスキャンクロック端子にはテスト時にスキャンクロック信号が供給される。
【０００５】
一般に、スキャンチェイン長は可能な限り短くし、無駄な配線を減らすことが望まれる。また、スキャンクロック信号供給バッファを通してスキャンクロック信号が供給される複数のスキャンＦＦは、クロック・スキュ（Ｃｌｏｃｋ  Ｓｋｅｗ）を起こさないようにするために、スキャンクロック端子とスキャンクロック信号供給元との距離をほぼ同じにするように配置し、スキャンクロック信号がほぼ同じタイミングで伝わるように設計される。スキャンチェインの設計時には、このクロック・スキュを起こすことがないように配慮することも必要である。
【０００６】
クロック・スキュの発生例について図９及び図１０を参照して説明する。図９はスキャンイン端子ＳＩからスキャンアウト端子ＳＯまでの間のスキャンチェイン上で連続しているスキャンＦＦ・ＦＦ１、ＦＦ２に、ＦＦ間の配置距離が長いまたはバッファ介在のために、異なるタイミングのスキャンクロック信号ＣＬＫが届く場合に発生するクロック・スキュの例を示す。スキャンＦＦ２のスキャンアウト端子ＳＯの信号に期待されるのは、スキャンＦＦ１のスキャンアウト端子ＳＯの信号から１周期遅れた信号である。
【０００７】
また、図１０はスキャンチェイン上で連続しているスキャンＦＦ・ＦＦ１、ＦＦ２、ＦＦ３に異なるタイミングのスキャンクロック信号が届くものが混在している場合に発生するクロック・スキュの例を示す。このように、スキャンチェイン上に不定期にスキャンクロック信号の異なるスキャンＦＦが入っていると、各スキャンＦＦのスキャンアウト端子ＳＯの信号は全く予測できなくなる。
【０００８】
複数存在するスキャンチェイン（スキャンパス）の合計長の最小化を目的とする従来技術の一例が、特開平９ー３０５６４２号公報で提案されている。この従来技術では、各スキャンチェインの長さを最小化するために、スキャンＦＦ、スキャンイン端子及びスキャンアウト端子を含むノードの接続順序の決定・改善過程において、巡回セールスマン問題の解法等の公知アルゴリズムを利用できることが記載されている。なお、上記クロック・スキュの発生を回避するスキャンチェインの最適設計については記載がない。
【０００９】
【発明が解決しようとする課題】
スキャンチェインの長さを最小化するためにスキャンＦＦなどの接続順序の決定・改善を行う上記アルゴリズムの利用は、厳密に行おうとすると、スキャンＦＦの接続順序を入れ換えてチェイン長を評価する処理の繰り返しが必要になる。これは、スキャンＦＦの数が増えるほど処理時間の増加を招き、数万個規模のスキャンＦＦを持つ回路では実用的でない。
【００１０】
また、スキャンチェイン長の最小化だけを推し進めると、異なるタイミングのクロック信号の供給元からスキャンクロック信号を受け取るスキャンＦＦを連続（連鎖）するようにスキャンチェインを組むことになり、クロック・スキュを起こす原因になる。
【００１１】
本発明の課題は、スキャンチェインの最適接続、つまりスキャンチェイン長の最小化を実用時間で処理できることと、異なるタイミングのスキャンクロック信号の供給元を含む場合でもクロック・スキュの発生を回避できることとを両立し得るスキャンチェイン設計システム及びその設計方法を提供することにある。
【００１２】
【課題を解決するための手段】
上記課題を解決するために、本発明のスキャンチェイン設計方法は、スキャンクロック信号の供給元を同一とする複数のスキャンフリップフロップを単位として少なくとも１つのグループにそれぞれグループ化する第１のステップと；
この第１のステップによりグループ化された前記複数のスキャンフリップフロップを含むグループ同士をスキャンチェイン長が短くなるように接続状態を定めるグループ間接続のための第２のステップと；
この第２のステップによりグループ間の接続状態が定められた各グループに含まれる前記複数のスキャンフリップフロップの相互をスキャンチェイン長が短くなるように縦続接続するための接続状態を定めるグループ内接続のための第３のステップとを備える。
【００１３】
また、本発明のスキャンチェイン設計システムは、スキャンクロック信号の供給元を同一とする複数のスキャンフリップフロップを単位として少なくとも１つのグループにそれぞれグループ化するグループ化手段と；
このグループ化手段によりグループ化された前記複数のスキャンフリップフロップを含むグループ同士をスキャンチェイン長が短くなるように接続状態を定めるグループ間接続手段と；
このグループ間接続手段によりグループ間の接続状態が定められた各グループに含まれる前記複数のスキャンフリップフロップの相互をスキャンチェイン長が短くなるように縦続接続するための接続状態を定めるグループ内接続手段とを備える。
【００１４】
このシステムにおいて、前記スキャンクロック信号がグループ化される前記複数のスキャンフリップフロップの単位のそれぞれに多段のバッファを通して供給されるとき、前記グループ化手段は前記スキャンクロック信号の供給元を同一とする前記スキャンフリップフロップを単位としてグループ化する第１レベルのグループと、この第１レベルのグループの複数を１つにグループ化する第２レベルのグループとを形成する構成を採ることができる。
【００１５】
また、前記スキャンクロック信号の供給に前記多段のバッファ構成を採るとき、前記グループ化手段は前記複数のスキャンフリップフロップを単位としてグループ化するための前記多段のバッファの選定指示を受け、少なくとも前記第１レベルのグループを形成する。
【００１６】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
本発明の一実施の形態におけるスキャンチェイン設計システムの構成を示す図１及びスキャンチェイン設計処理手順を示す図２を併せ参照すると、このスキャンチェイン設計システム１において、スキャンチェイン最適接続装置２はスキャンフリップフロップ（スキャンＦＦ）グループ化部２０１、グループ間最適接続部２０２及びグループ内スキャンＦＦ最適接続部２０３から構成される。
【００１７】
スキャンチェイン最適接続装置２はテスト専用の配線をどのように接続するかを決定する。特に、スキャンチェイン長の最小化を実用時間で処理できることと、異なるタイミングのスキャンクロック信号の供給元を含む場合でもクロック・スキュの発生を回避できることとを両立してスキャンチェインの最適接続を可能にする。
【００１８】
この設計システム１において、入力装置３、配置装置４、配線装置５及び出力装置６はテスト専用の配線を含む集積回路全体のレイアウトを行う。
入力装置３はスキャンＦＦのスキャンクロック端子（ｃｋ）とスキャンクロック信号供給元（外部端子、バッファ、発振回路などを含む）との接続情報を含む回路情報を入力する（図２中、処理ステップＳ１）。この回路情報は前処理プログラムなどによってネットリストに基づいて作成し、ファイルに予め記憶させておく。
【００１９】
配置装置４はスキャンＦＦ及びスキャンクロック信号供給元の配置位置（基板上の座標）を決定するとともに、その配置位置を配置情報としてファイルに登録する（ステップＳ２、Ｓ３）。
【００２０】
また、配線装置５は後に詳述するスキャンチェイン最適接続装置２により得られたスキャンＦＦの接続順序に従ってスキャンチェインの配線を行う（ステップＳ７）。出力装置６は最適に接続されたスキャンチェインを含むレイアウト情報を出力する（ステップＳ８）。
【００２１】
スキャンチェイン最適接続装置２について詳細に述べると、スキャンＦＦグループ化部２０１はファイルから配置情報を読み出し、同じスキャンクロック信号供給元に接続するスキャンクロック端子を持つスキャンＦＦをグループ化してメモリに登録する（ステップＳ４）。
【００２２】
ここで、スキャンＦＦグループ化部２０１におけるスキャンＦＦのグループ化の構成を示す図３を参照すると、同じスキャンクロック信号供給元からスキャンクロック信号を受け取るスキャンＦＦは同一グループとする。また、供給されるスキャンクロック信号が多段のバッファを通してスキャンＦＦに伝わる場合は、多段のグループ化を行うことが可能である。
【００２３】
図示の例では、スキャンクロック信号供給元（外部端子）ＣＬＫ１からスキャンクロック信号を受け取るスキャンＦＦはグループ（Ｇｒｏｕｐ）１にグループ化する。また、スキャンクロック信号供給元ＣＬＫ１とは異なるタイミングのスキャンクロック信号の供給元（外部端子）ＣＬＫ２には、グループ２のスキャンＦＦが接続される。太い円で囲んだグループ１、２はそれぞれレベル（Ｌｅｖｅｌ）０のグループであり、それぞれ細い円で囲んだレベル１の複数のグループを含む構成である。
【００２４】
グループ１に含まれるグループ１１、１２、１３、１４及びグループ２に含まれるグループ２１、２２、２３には、それぞれ複数のスキャンＦＦ及びバッファが配置される。各スキャンＦＦには二段のバッファを通してスキャンクロック信号供給元ＣＬＫ１またはＣＬＫ２からスキャンクロック信号が供給されるので、レベル０、１の多段グループ化構成を採っている。
【００２５】
次に、スキャンＦＦグループ化部２０１におけるスキャンＦＦのグループ化の別の構成を示す図４を参照すると、この例はバッファｂｕｆｆ２及びｂｕｆｆ３から先のスキャンＦＦでグループを構成するように設計者が指示した場合のグループ化を示す。外部端子ＣＬＫ２からスキャンクロック信号を受け取るスキャンＦＦ群について、バッファｂｕｆｆ２をスキャンクロック信号供給元とするグループ２４と、バッファｂｕｆｆ３をスキャンクロック信号供給元とするグループ２５とを構成する。
【００２６】
これらのバッファｂｕｆｆ２、３の一段手前のバッファｂｕｆｆ１によるグループは構成しない。外部端子ＣＬＫ１及びバッファｂｕｆｆ４をスキャンクロック信号供給元とするグループ１５のグループ化規則は図３に示す例と同一である。グループ１５、２４、２５はレベル１のグループを構成し、グループ２４、２５はさらにレベル０のグループを構成することもできる。
【００２７】
同じタイミングのスキャンクロック信号の外部端子からクロック信号が伝わるスキャンＦＦ群同士であっても、実回路の動作（テスト時でないときの動作）においてお互いに依存し合わない場合には、システムクロック信号のタイミング調整がクロック信号供給経路中に配置されるタイミング調整用バッファ（図示省略）により別々に行われる。すなわち、スキャンＦＦに入力されるスキャンクロック信号としてもタイミングが同じであるとは限らなくなる。そのため、このようなスキャンＦＦ群同士は別々のグループとすることにより、クロック・スキュの発生を回避できる。
【００２８】
スキャンＦＦグループ化部２０１における上述した処理により、１つのグループに登録されるスキャンＦＦの具体的な配置例を図５に示す。ここで、スキャンＦＦ群５１、５２、５３及び５４はレベル１のグループを構成し、外部端子ＣＬＫからのスキャンクロック信号をバッファｂｕｆｆ５０を通してそれぞれ受け取る。
【００２９】
このようにグループ化されたスキャンＦＦ群を単位にしてスキャンチェインの接続を可能にすることにより、クロック・スキュの発生回避を配慮したスキャンチェインの設計が行える。
【００３０】
スキャンチェイン最適接続装置２のグループ間最適接続部２０２は各グループで代表となる配置座標を求め、その座標によりグループ同士の最適な接続順序を決定する（ステップＳ５）。図５に示すスキャンＦＦの配置例に基づくと、スキャンクロック信号供給元であるバッファｂｕｆｆ５０の配置位置がこのグループの中心座標となる。グループ間最適接続部２０２はこの中心座標によりグループ間を数珠繋ぎにしたチェインの長さが短くなるように接続状態を定める。
【００３１】
同じグループに属するスキャンＦＦは、図３に示すスキャンＦＦのグループ化構成図から理解し得るように、お互いに位置的近い場所に配置されることが期待できる。したがって、グループ同士の最適な接続によってスキャンチェイン長が短くなる。
【００３２】
図６及び図７にスキャンＦＦのグループ同士の接続順序が最適な場合（つまり、スキャンチェインの全長がより短い場合）と、最適でない場合の例を示す。各図中、ＳＩ０及びＳＩ１はスキャンチェイン信号の入力端子（スキャンイン端子）を示し、ＳＯ０及びＳＯ１はスキャンチェイン信号の出力端子（スキャンアウト端子）を示している。ここで、各グループはレベル１のグループに相当し、各グループはシステムクロック信号の供給経路の設計に依存したスキャンクロック信号供給元からスキャンクロック信号を受ける。
【００３３】
グループ内スキャンＦＦ最適接続部２０３は１つのグループとして登録されたスキャンＦＦ同士の最適な接続順序を各スキャンＦＦの配置座標より決定する（ステップＳ６）。図５に示した１つのグループに登録されるスキャンＦＦの配置例に対応するスキャンチェインの接続例を図８に示している。
【００３４】
スキャンチェイン接続において、スキャンＦＦの接続順序の決定をグループ内で行うため、異なるタイミングのスキャンクロック信号の供給元からスキャンクロック信号を受け取るスキャンＦＦが混在することが無く、クロック・スキュの発生を回避できる。また、スキャンＦＦの接続順序の決定の際のチェイン長の評価をグループ内のスキャンＦＦだけに対して行うので、チェイン上の全てのスキャンＦＦに対するよりも短時間で処理できる。
【００３５】
【発明の効果】
以上説明したように、本発明によれば、スキャンクロック供給元を同一とするスキャンＦＦをグループ化し、グループ間のチェイン接続状態及びグループ内のスキャンＦＦのチェイン接続状態を設定することにより、クロック・スキュの発生を回避したスキャンチェインの最適接続ができ、かつ処理時間もグループ化しないときより短縮することができる。
【図面の簡単な説明】
【図１】  本発明の一実施の形態におけるスキャンチェイン設計システムの構成を示す。
【図２】  図１のシステムにおけるスキャンチェイン設計処理手順を示す。
【図３】  スキャンＦＦのグループ化の一例を示す。
【図４】  スキャンＦＦのグループ化の他の例を示す。
【図５】  １つのグループに登録されるスキャンＦＦの具体的な配置例を示す。
【図６】  グループ間の接続順序が最適な場合の一例を示す。
【図７】  グループ間の接続順序が最適でない場合の一例を示す。
【図８】  １つのグループ内のスキャンＦＦのスキャンチェイン接続例を示す。
【図９】  クロックスキュ発生の一例を示す。
【図１０】  クロックスキュ発生の他の例を示す。
【符号の説明】
１    スキャンチェイン設計システム
２    スキャンチェイン最適接続装置
３    入力装置
４    配置装置
５    配線装置
６    出力装置
２０１    スキャンＦＦグループ化部
２０２    グループ間最適接続部
２０３    グループ内スキャンＦＦ最適接続部
ＣＬＫ、ＣＬＫ１、ＣＬＫ２    スキャンクロック信号供給元の外部端子
ｂｕｆｆ２、ｂｕｆｆ３、ｂｕｆｆ４、ｂｕｆｆ５０    スキャンクロック信号供給元のバッファ
ＳＩ、ＳＩ０、ＳＩ１    スキャンイン端子
ＳＯ、ＳＯ０、ＳＯ１    スキャンアウト端子
【図１】
0003982927.tif 000002
【図２】
0003982927.tif 000003
【図３】
0003982927.tif 000004
【図４】
0003982927.tif 000005
【図５】
0003982927.tif 000006
【図６】
0003982927.tif 000007
【図７】
0003982927.tif 000008
【図８】
0003982927.tif 000009
【図９】
0003982927.tif 000010
【図１０】
0003982927.tif 000011