(57)【特許請求の範囲】
【請求項１】
バウンダリスキャンレジスタを有するＬＳＩチップのレイアウト設計方法において、
Ｉ／Ｏセルを配置する工程と、
Ｉ／Ｏセルに接続されるＩ／Ｏ接続バウンダリスキャンレジスタを、配置された前記Ｉ／Ｏセル群のうちの接続対象であるＩ／Ｏセルの近傍の空き領域に配置する工程と、
Ｉ／Ｏ接続バウンダリスキャンレジスタに接続される出力Ｉ／Ｏ制御バウンダリスキャンレジスタを、配置された前記Ｉ／Ｏ接続バウンダリスキャンレジスタ群のうちの接続対象である複数のＩ／Ｏ接続バウンダリスキャンレジスタ間の中間点に配置する工程と、
を含むことを特徴とするＬＳＩチップのレイアウト設計方法。
【請求項２】
バウンダリスキャンレジスタを有するＬＳＩチップのレイアウト設計方法において、
Ｉ／Ｏセルを配置する工程と、
Ｉ／Ｏセルに接続されるＩ／Ｏ接続バウンダリスキャンレジスタを、配置された前記Ｉ／Ｏセル群のうちの接続対象であるＩ／Ｏセルの近傍の空き領域に配置する工程と、
出力Ｉ／Ｏ制御バウンダリスキャンレジスタの接続対象である複数のＩ／Ｏ接続バウンダリスキャンレジスタが隣り合う一対のチップ辺に沿って配置されている場合、前記出力Ｉ／Ｏ制御バウンダリスキャンレジスタを、前記一対のチップ辺のうち、接続対象である前記複数のＩ／Ｏ接続バウンダリスキャンレジスタ間の中間点により近い側のチップ辺に寄せて配置する工程と、
を含むことを特徴とするＬＳＩチップのレイアウト設計方法。
【請求項３】
配置された前記Ｉ／Ｏ接続バウンダリスキャンレジスタおよび出力Ｉ／Ｏ制御バウンダリスキャンレジスタに対してファンアウト調整をおこなう工程を含むことを特徴とする請求項１または２に記載のＬＳＩチップのレイアウト設計方法。
【請求項４】
バウンダリスキャンレジスタを有するＬＳＩチップのレイアウト設計方法において、
Ｉ／Ｏセルを配置する工程と、
Ｉ／Ｏセルに接続されるＩ／Ｏ接続バウンダリスキャンレジスタを、配置された前記Ｉ／Ｏセル群のうちの接続対象であるＩ／Ｏセルの近傍の空き領域に配置する工程と、
Ｉ／Ｏ接続バウンダリスキャンレジスタに接続される出力Ｉ／Ｏ制御バウンダリスキャンレジスタを、配置された前記Ｉ／Ｏ接続バウンダリスキャンレジスタ群のうちの接続対象である複数のＩ／Ｏ接続バウンダリスキャンレジスタの配置位置に基づいて配置する工程と、
バッファセルを、前記バッファセルが駆動する１または複数のバウンダリスキャンレジスタのうち、もっともテスト制御回路寄りに配置されたバウンダリスキャンレジスタの近傍に配置する工程と、
配置された前記Ｉ／Ｏ接続バウンダリスキャンレジスタおよび出力Ｉ／Ｏ制御バウンダリスキャンレジスタに対してファンアウト調整をおこなう工程と、を含み、
前記ファンアウト調整は、
隣り合って配置されたバウンダリスキャンレジスタのマンハッタン長に基づいて各バウンダリスキャンレジスタ間の見積もり配線長を計算し、該見積もり配線長に基づいて見積もり配線容量を計算し、該見積もり配線容量に基づいてテスト信号のネット中にバッファセルを、該バッファセルによって駆動されるバウンダリスキャンレジスタの各入力端子の負荷が前記バッファセルの出力端子の駆動能力範囲内に納まるように挿入することを特徴とするＬＳＩチップのレイアウト設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バウンダリスキャンレジスタを有するＬＳＩチップのレイアウト設計方法に関し、特にバウンダリスキャンレジスタの配置およびファンアウト調整を自動的におこなう方法に関する。
【０００２】
【従来の技術】
従来、バウンダリスキャンレジスタを有するＬＳＩチップのレイアウト設計では、テスト信号の逆流等による動作不良が起こらないようにするため、Ｉ／Ｏセルに接続される多数のバウンダリスキャンレジスタを、バウンダリスキャンレジスタに対するテスト信号のネットの交差が生じないように配置しておく必要がある。
【０００３】
また、配線終了後に容量オーバーやタイミングエラーが生じるのを防ぐため、テスト制御回路とバウンダリスキャンレジスタとのつながりにおいて、容量が出力端子の駆動能力を超えないようにするためのファンアウト調整を配線前におこなう必要がある。そのファンアウト調整において、ＬＳＩの面積や配線混雑度を抑えるため、最小限の数のバッファセルを最適位置に配置する必要がある。
【０００４】
このバウンダリスキャンレジスタの配置は、市販のテスト回路合成ツールを用いて自動的におこなわれている。このツールによれば、バウンダリスキャンレジスタはＬＳＩの内部ロジック回路のセルに引き付けられて配置される。また、ファンアウト調整に関して、上述したツールは、容量オーバーやタイミングエラーが生じないような過大なファンアウト数を決め、それに基づいて一律にファンアウト調整をおこなうようになっている。
【０００５】
図１３は、従来のテスト回路合成ツールによるバウンダリスキャンレジスタの自動配置結果を模式的に示す図であり、同図において、符号１はＬＳＩ全体、符号１１はＩ／Ｏ領域、符号１２を付した□（四角）のマークは、Ｉ／Ｏセルに接続されるＩ／Ｏ接続バウンダリスキャンレジスタ、符号１３を付した◇（菱形）のマークは、Ｉ／Ｏ接続バウンダリスキャンレジスタ１２に接続される出力Ｉ／Ｏ制御バウンダリスキャンレジスタである。
【０００６】
【発明が解決しようとする課題】
上述した従来のバウンダリスキャンレジスタの配置方法では、Ｉ／Ｏ接続バウンダリスキャンレジスタ１２を内部ロジック回路のセルに引き付けて配置するため、図１３に示すように、Ｉ／Ｏ接続バウンダリスキャンレジスタ１２がＬＳＩ全体１に分散してしまい、テスト信号の流れとは無関係に配置されることになる。そのため、バウンダリスキャンレジスタに対するテスト信号のネットに交差が生じてしまい、テスト信号の逆流等による動作不良が起こることがあるという問題点が生じる。
【０００７】
また、上述した従来のファンアウト調整方法では、過大なファンアウト数を設定するため、過大な数のバッファが挿入されてしまう。それによって、ＬＳＩの面積増や、配線混雑度の増大という不都合を招くという問題点がある。
【０００８】
本発明は、上記問題点に鑑みてなされたものであって、バウンダリスキャンレジスタを適切な位置に自動的に配置させることができるとともに、テスト制御回路とバウンダリスキャンレジスタとの間のファンアウト調整を、最小限の数のバッファの挿入によりおこなうことができるＬＳＩチップのレイアウト設計方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明にかかるＬＳＩチップのレイアウト設計方法は、バウンダリスキャンレジスタを有するＬＳＩチップのレイアウト設計において、Ｉ／Ｏセルを配置した後、内部ロジック回路などの配置をおこなう前に、Ｉ／Ｏセルの近傍の空き領域にＩ／Ｏ接続バウンダリスキャンレジスタおよび出力Ｉ／Ｏ制御バウンダリスキャンレジスタを優先的に配置し、テスト制御回路につながるバウンダリスキャンレジスタに対するテスト信号のネット中にバッファセルを挿入することによって、ファンアウト調整をおこなうことを特徴とする。
【００１０】
この発明によれば、Ｉ／Ｏセルの配置後にＩ／Ｏ接続バウンダリスキャンレジスタの配置が優先的におこなわれるため、Ｉ／Ｏセルの配列に沿ってその近傍にＩ／Ｏ接続バウンダリスキャンレジスタを配置させることができる。
【００１１】
この発明において、出力Ｉ／Ｏ制御バウンダリスキャンレジスタは、Ｉ／Ｏ接続バウンダリスキャンレジスタ同士の中間点に配置される。その中間点が、Ｉ／Ｏ接続バウンダリスキャンレジスタの配置位置よりもチップ内部寄りであって、内部ロジック回路などの配置に支障がある場合には、出力Ｉ／Ｏ制御バウンダリスキャンレジスタを、その中間点により近い側のチップ辺に寄せて配置する。
【００１２】
このようにすれば、出力Ｉ／Ｏ制御バウンダリスキャンレジスタがＩ／Ｏ接続バウンダリスキャンレジスタ同士の中間点に配置されるため、出力Ｉ／Ｏ制御バウンダリスキャンレジスタの配置の偏りを防止することができるとともに、バウンダリスキャンレジスタ間のネットをテスト信号の流れる方向に整然と配置させることができる。また、前記中間点がチップの内部寄りに位置する場合、出力Ｉ／Ｏ制御バウンダリスキャンレジスタはその中間点により近い側のチップ辺に寄せて配置されるため、チップ内部に配置される内部ロジック回路などの配置の妨げとなるのを防ぐことができる。
【００１３】
また、上記発明において、ファンアウト調整をおこなう際に、隣り合うバウンダリスキャンレジスタのマンハッタン長に基づいて各バウンダリスキャンレジスタ間の配線長を計算し、その見積もり配線長に基づいて配線容量を見積もり、その見積もり配線容量に基づいて、テスト信号のネット中にバッファセルを挿入する。また、見積もり配線長と実際の配線長との差を補正するための係数を用いて、挿入するバッファセルの出力端子の駆動能力を補正する構成としてもよい。また、バッファセルの挿入位置は、そのバッファセルが駆動するバウンダリスキャンレジスタ群のうち、もっともテスト制御回路寄りに配置されたバウンダリスキャンレジスタの近傍である。
【００１４】
このようにすれば、実際の配線容量を見積もることができ、その見積もり配線容量に基づいてバッファセルの挿入箇所が決まるため、配線前に最小限の数のバッファセルでもってファンアウト調整をおこなうことができる。また、補正係数を用いることによって、より一層実際の配線に近い条件でファンアウト調整をおこなうことができるので、実際の配線後に容量オーバーとなるのをより確実に防ぐことができる。また、バッファセルがもっともテスト制御回路寄りに配置されたバウンダリスキャンレジスタの近傍に配置されるため、タイミングエラーなどが起こるのを防ぐことができる。
【００１５】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照しつつ詳細に説明する。まず、本発明にかかるＬＳＩチップのレイアウト設計方法の一例の手順全体について説明する。
【００１６】
（レイアウト設計方法の全体の流れ）
図１は、本発明にかかるＬＳＩチップのレイアウト設計方法の一例の手順を示すフローチャートである。図１のフローチャートにおいて、ＬＳＩチップのレイアウト設計を開始すると、まずチップの辺に沿ってＩ／Ｏセルを配置する（ステップＳ１）。つづいて、配置されたＩ／Ｏセルに接続されるＩ／Ｏ接続バウンダリスキャンレジスタを、接続対象であるＩ／Ｏセルの近傍の空き領域に配置する（ステップＳ２）。つづいて、複数のＩ／Ｏ接続バウンダリスキャンレジスタに接続される出力Ｉ／Ｏ制御バウンダリスキャンレジスタを、接続対象であるＩ／Ｏ接続バウンダリスキャンレジスタ間の中間点に配置する（ステップＳ３）。
【００１７】
ステップＳ３につづいて、バウンダリスキャンレジスタのファンアウト調整をおこなう（ステップＳ４）。その後に内部ロジック回路など、その他の回路を構成するセルの自動配置をおこない（ステップＳ５）、さらに自動配線をおこなって（ステップＳ６）レイアウト設計を終了する。
【００１８】
（Ｉ／Ｏセル・バウンダリスキャンレジスタの配置（ステップＳ１〜Ｓ３））
図２〜図５は、それぞれ、本発明にかかるＬＳＩチップのレイアウト設計方法を説明するための模式図である。図２において、符号２はＬＳＩ全体、符号２１はＩ／Ｏセルの配列よりなるＩ／Ｏ領域、符号２２を付した□（四角）のマークは、Ｉ／Ｏセルに接続されるＩ／Ｏ接続バウンダリスキャンレジスタ、符号２３を付した◇（菱形）のマークは、Ｉ／Ｏ接続バウンダリスキャンレジスタ２２に接続される出力Ｉ／Ｏ制御バウンダリスキャンレジスタである。すなわち、図２には、図１で示したステップＳ１〜Ｓ３までの状態が示されている。
【００１９】
図２において、Ｉ／Ｏ領域２１の各Ｉ／ＯセルとＩ／Ｏ接続バウンダリスキャンレジスタ２２との間の矢印（↑、→、↓および←）２４は、Ｉ／Ｏセル−Ｉ／Ｏ接続バウンダリスキャンレジスタ２２間のネットを示し、各バウンダリスキャンレジスタ２２，２３間をつなぐ線２５は、各バウンダリスキャンレジスタ間のテスト信号のネットを示す。以上のマークや矢印や線などの表示は、図４および図５においても同じである。また、図２において、チップ２内を巡回するように記された大きな矢印を有する線２６は、テスト信号の流れの向きを表している。
【００２０】
ここで、Ｉ／Ｏ接続バウンダリスキャンレジスタ２２の配置位置を決定するにあたって、配置位置の検索をおこなう。これは、Ｉ／Ｏ接続バウンダリスキャンレジスタ２２が接続するＩ／Ｏセルの近傍に、すでに電源配線や他のＩ／Ｏ接続バウンダリスキャンレジスタ２２が配置されている場合、それらを避けてつぎに接続対象のＩ／Ｏセルに近い配置箇所を見つけるためである。
【００２１】
具体的には、図３に示すように、接続対象のＩ／Ｏセルの近傍を検索開始点２７（図３の○（丸）印）とし、そこからチップ内部に向かって矢印を有する線２８で示すように半円の渦巻状に空き領域を検索する。この検索方法は、出力Ｉ／Ｏ制御バウンダリスキャンレジスタ２３の配置位置を検索する場合も同様であり、その場合には、接続対象であるＩ／Ｏ接続バウンダリスキャンレジスタ２２間の中間点を検索開始点２７（図３の○印）とする。
【００２２】
また、図４に示すように、出力Ｉ／Ｏ制御バウンダリスキャンレジスタ２３の接続対象である複数のＩ／Ｏ接続バウンダリスキャンレジスタ２２ａ，２２ｂが異なるチップ辺に沿って配置されている場合、その中間点２９（図４の○印）はＩ／Ｏ接続バウンダリスキャンレジスタ２２，２２ａ，２２ｂの配置位置よりもチップの内側に位置することになる。このような場合には、出力Ｉ／Ｏ制御バウンダリスキャンレジスタ２３を、図４の矢印３０で示すように、その中間点２９により近い側のチップ辺側に寄せて配置する。その際、座標に基づいて、いずれのチップ辺がより中間点２９に近いか判断する。このように配置位置をずらすことによって、内部ロジック回路等の配置の妨げとなるのを防ぐことができる。
【００２３】
出力Ｉ／Ｏ制御バウンダリスキャンレジスタ２３を、接続対象である複数のＩ／Ｏ接続バウンダリスキャンレジスタ２２間の中間点に配置しない場合には、図５に示すように、その配置が偏ってしまう。これは、バウンダリスキャンレジスタ間のネット（図５において符号２５で示す）がテスト信号の流れる方向に整然と並ばないため、好ましくない。なお、図５において、Ｉ／Ｏ領域２１の各Ｉ／Ｏセルと出力Ｉ／Ｏ制御バウンダリスキャンレジスタ２３とを結ぶ線３１は、出力Ｉ／Ｏ制御のネットを示す。
【００２４】
（ファンアウト調整（ステップＳ４））
つぎに、ステップＳ４のファンアウト調整の方法について詳細に説明する。図６は、本発明にかかるＬＳＩチップのレイアウト設計方法におけるファンアウト調整方法の一例の手順を示すフローチャートである。
【００２５】
図６のフローチャートにおいて、まず、見積もり配線長および配線容量を計算する（ステップＳ４１）。すなわち、配置された各バウンダリスキャンレジスタ間の配線長を見積もり、その見積もり配線長に基づいて配線容量を見積もる。具体的な方法については、図７を用いて後述する。
【００２６】
ステップＳ４１につづいて、テスト制御回路側のバウンダリスキャンレジスタから、その容量の評価をおこなう（ステップＳ４２）。そして、収束済みバウンダリスキャンレジスタの個数ｉにゼロをセット（代入）する（ステップＳ４３）。ここで、ｉはテスト制御回路側からつながるバウンダリスキャンレジスタの順番も意味するものである。そして、評価するバウンダリスキャンレジスタの個数ｎに１をセット（代入）する（ステップＳ４４）。つづいて、最終のバウンダリスキャンレジスタに到達したか否かの判定を経て（ステップＳ４５）、つぎの（１）式を満たすか否かの判定をおこなう（ステップＳ４６）。
【００２７】
［Ｄｒｖ］×［ｒａｔｉｏ］×α＞［ＮｅｔＣ］＋［ＢｓｒＬ］＋［ＢｕｆＬ］・・・（１）
【００２８】
この式において、Ｄｒｖは挿入するセルの出力端子駆動能力、ｒａｔｉｏは駆動能力に対する負荷許容量、αは見積もり配線長と実際の配線長とのずれを考慮した補正係数でありゼロより大きく１以下の数値である。また、ＮｅｔＣはテスト制御回路側からｉ＋１番目〜ｉ＋ｎ番目のバウンダリスキャンレジスタの配線容量の和、ＢｓｒＬはテスト制御回路側からｉ＋１番目〜ｉ＋ｎ番目のバウンダリスキャンレジスタの入力負荷の和、ＢｕｆＬは次段の挿入バッファセルの入力負荷の和である。
【００２９】
ここで、補正係数αを用いる理由について説明する。配線長の見積もりは、各バウンダリスキャンレジスタの配置座標に基づいてその最短経路を求めることにより得られる。それに対して、実際の配線では、セルの混雑や配線禁止領域の影響などにより配線が回り込むことがあり、それによって実際の配線長は見積もり配線長よりも長くなる。したがって、実際の配線容量は見積もり配線容量よりも大きくなる。これを補正して実際の配線により近い状態でファンアウト調整をおこなうため、補正係数αが必要となる。
【００３０】
補正係数αは、たとえば既存の複数種類のＬＳＩチップについて、その実際の配線長と上述したマンハッタン長に基づく見積もり配線長とのずれを求め、その分析により数値的にある一定の傾向があることを見いだすことによって、求められる。具体的な方法については、図８を用いて後述する。
【００３１】
つぎに、ステップＳ４６において、前記（１）式を満たす場合（ステップＳ４６：Ｙｅｓ）には、ｎを１だけインクリメントして（ステップＳ４７）、つぎのバウンダリスキャンレジスタも評価に加える。そして、ステップＳ４５に戻り、最終のバウンダリスキャンレジスタに到達している場合（ステップＳ４５：Ｙｅｓ）、ファンアウト調整を終了する。したがって、図１に示したステップＳ５へ移行することになる。
【００３２】
一方、最終のバウンダリスキャンレジスタに到達していない場合（ステップＳ４５：Ｎｏ）、ステップＳ４６へ進む。ステップＳ４６において、前記（１）式を満たす場合（ステップＳ４６：Ｙｅｓ）には、再びｎを１だけインクリメントして（ステップＳ４７）、ステップＳ４５に戻り、さらにつぎのバウンダリスキャンレジスタも評価に加える。
【００３３】
前記（１）式を満たさない場合（ステップＳ４６：Ｎｏ）には、このバウンダリスキャンレジスタの手前のバウンダリスキャンレジスタまで収束したことになる。したがって、ｎを１だけデクリメントして、バウンダリスキャンレジスタの収束個数を１個減らす（ステップＳ４８）。そして、ｉ番目のバウンダリスキャンレジスタからｎ個分収束されるように論理回路の論理構成を変更し（ステップＳ４９）、さらに、ｉにｉ＋ｎを代入し（ステップＳ５０）、その後、ステップＳ４４に戻る。これ以降、ステップＳ４５において最終のバウンダリスキャンレジスタに到達し、ファンアウト調整が終了するまで、同様の処理（ステップＳ４４〜ステップＳ５０の各処理）を繰り返す。
【００３４】
図７は、それぞれ、本発明にかかるＬＳＩチップのレイアウト設計方法におけるファンアウト調整方法を説明するための模式図である。図６に示したフローチャートのステップＳ４１において、配置された各バウンダリスキャンレジスタ間の配線長を見積もり、その見積もり配線長に基づいて配線容量を見積もる際、たとえば図７に示すように、隣り合うバウンダリスキャンレジスタ４１，４２，４３に対し、それぞれの配置座標に基づいて最短となる組合せを選択し、その時のマンハッタン長を見積もり配線長とする。なお、図７において、＃１〜＃６はバウンダリスキャンレジスタの端子であり、＃２と＃３と＃５の端子を結ぶ線４４は見積もり配線経路を表している。
【００３５】
図８は、それぞれ、本発明にかかるＬＳＩチップのレイアウト設計方法におけるファンアウト調整方法を説明するための模式図である。上述のとおり、ステップＳ４６において、補正係数αは、たとえば既存の複数種類のＬＳＩチップについて、その実際の配線長と上述したマンハッタン長に基づく見積もり配線長とのずれを求め、その分析により数値的にある一定の傾向があることを見いだすことによって求められるが、その際、たとえば図８に示すように、縦長のバウンダリスキャンレジスタ５１，５２に対して配線５３が縦方向に回り込んだ場合（符号５４で示す部分）と、横方向に回り込んだ場合（符号５５で示す部分）とでは、見積もり配線長に含まれない配線部分（図８の矢印部分）の長さが異なる。バウンダリスキャンレジスタが横長の場合も同様である。
【００３６】
したがって、配線が縦方向に回り込む場合の補正係数βと横方向に回り込む場合の補正係数γを設定し、その２つの補正係数β，γを用いて全体の補正係数αをつぎの（２）式より求める。
【００３７】
α＝（Ｎｈ／（Ｎｈ＋Ｎｖ））×γ＋（Ｎｖ／（Ｎｈ＋Ｎｖ））×β  ・・・（２）
【００３８】
この式において、Ｎｈは水平方向（横方向、Ｘ方向）に並ぶバウンダリスキャンレジスタの数であり、Ｎｖは垂直方向（縦方向、Ｙ方向）に並ぶバウンダリスキャンレジスタの数である。なお、バウンダリスキャンレジスタの並ぶ方向については、２つのバウンダリスキャンレジスタ間の距離に関して、Ｘ方向長がＹ方向長よりも長い場合（Ｘ方向長＞Ｙ方向長）には水平方向並びであり、Ｙ方向長がＸ方向長よりも長い場合（Ｙ方向長＞Ｘ方向長）には垂直方向並びであると判断する。
【００３９】
図９は、バウンダリスキャンレジスタを配置した後、ファンアウト調整をおこなう前のバウンダリスキャンレジスタ間のネットおよびバウンダリスキャンレジスタに対するテスト信号のネットを示す説明図である。また、図１０は、ファンアウト調整後のバウンダリスキャンレジスタ間のネットおよびバウンダリスキャンレジスタに対するテスト信号のネットを示す説明図である。
【００４０】
なお、図９〜図１０において、.ＣＤＲはデータ・レジスタのキャプチャ・クロック端子、.ＴＤＩはシリアル・テストデータ入力端子、.ＴＤＯはシリアル・テストデータ出力端子、.Ａおよび.Ｘはそれぞれバッファセルの入力端子および出力端子である。
【００４１】
図９および図１０において、符号６１〜６８を付したＢ１〜ＢＺはそれぞれバウンダリスキャンレジスタである。それらバウンダリスキャンレジスタ６１〜６８は、Ｂ１からＢＺに向かうチェイン方向でテスト制御回路６０に接続されている。
【００４２】
図９に示すように、ファンアウト調整前は、すべてのバウンダリスキャンレジスタ６１〜６８のキャプチャ・クロック（.ＣＤＲ）端子は一つのネット（ＮＥＴ１）７１に属している。このネット７１は、テスト制御回路６０のデータ・レジスタのキャプチャ・クロック（.ＣＤＲ）端子に接続されている。ファンアウト調整後は、図１０に示すように、バウンダリスキャンレジスタ６１〜６８の各キャプチャ・クロック端子につながるネットは、ネット中の最適位置にそれぞれ挿入された複数のバッファセル（ＩＮＳＴ１，ＩＮＳＴ２，ＩＮＳＴ３）８１，８２，８３により複数のネット（ＮＥＴ１，ＮＥＴ２，ＮＥＴｎ）７２，７３，７４に分割されている。
【００４３】
図１０に示す例では、第１のバッファセル（ＩＮＳＴ１）８１は、第１のネット（ＮＥＴ１）７２に属するＢＺ、ＢＹおよびＢＸのバウンダリスキャンレジスタ６８，６７，６６の各キャプチャ・クロック端子を駆動する。第１のバッファセル（ＩＮＳＴ１）８１は、バウンダリスキャンレジスタのチェイン最後尾に配置されたＢＺのバウンダリスキャンレジスタ６８の近傍に挿入される。
【００４４】
また、第２のバッファセル（ＩＮＳＴ２）８２は、第２のネット（ＮＥＴ２）７３に属するＢＷおよびＢ４のバウンダリスキャンレジスタ６５，６４の各キャプチャ・クロック端子を駆動する。第２のバッファセル（ＩＮＳＴ２）８２は、駆動対象であるバウンダリスキャンレジスタのうちもっともテスト制御回路６０に近いＢＷのバウンダリスキャンレジスタ６５の近傍に挿入される。
【００４５】
同様に、第３のバッファセル（ＩＮＳＴ３）８３は、第ｎのネット（ＮＥＴｎ）７４に属するＢ３，Ｂ２およびＢ１のバウンダリスキャンレジスタ６３，６２，６１の各キャプチャ・クロック端子を駆動する。第３のバッファセル（ＩＮＳＴ３）８３は、駆動対象であるバウンダリスキャンレジスタのうちもっともテスト制御回路６０に近いＢ３のバウンダリスキャンレジスタ６３の近傍に挿入される。これら第１〜第３のバッファセル（ＩＮＳＴ１，ＩＮＳＴ２，ＩＮＳＴ３）８１，８２，８３は、この順で、バウンダリスキャンレジスタのチェイン最後尾側から挿入される。
【００４６】
比較として、図１１には、バッファセルが最適位置に配置されていない状態でのバウンダリスキャンレジスタ間のネットおよびバウンダリスキャンレジスタに対するテスト信号のネットが示されている。図１１では、複数のバッファセル（ＩＮＳＴ１，ＩＮＳＴ２，ＩＮＳＴ３）９１，９２，９３の各配置位置は、図１０に関連して説明したような最適位置、すなわち駆動対象であるバウンダリスキャンレジスタ群のうちもっともテスト制御回路６０に近いバウンダリスキャンレジスタの近傍になっていない。そのため、ネットに長い配線が生じ、容量オーバーやタイミングエラーを発生させる原因となってしまうので、好ましくない。
【００４７】
上述したレイアウト設計方法をコンピュータに実行させるためのプログラムは、コンピュータ読み取り可能な記録媒体に記録され、コンピュータを用いた計算機援用設計装置（以下、ＣＡＤ装置とする）により実現される。このプログラムは、ハードディスク、フロッピーディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、伝送媒体として、または、上記記録媒体を介して、インターネット等のネットワークを介して配布することができる。
【００４８】
（ＣＡＤ装置の構成）
図１２は、上述したレイアウト設計方法の実施に供されるＣＡＤ装置の一例の構成を示すブロック図である。このＣＡＤ装置は、たとえばＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ（ハードディスクドライブ）１０４、ＦＤＤ（フロッピーディスクドライブ）１０６、ディスプレイ１０８、通信インターフェイス（Ｉ／Ｆ）１０９、キーボード１１１、マウス等（種々のポインティング・デバイスを含む）１１２、スキャナ１１３、プリンタ１１４およびＣＤ−ＲＯＭドライブ１１６がバス１００を介して相互に接続された構成となっている。
【００４９】
上述したレイアウト設計方法をコンピュータに実行させるためのプログラムは、ＦＤ１０７やＣＤ−ＲＯＭ１１５に記録される。また、ＦＤ１０７やＣＤ−ＲＯＭ１１５に記録されたプログラムはＨＤ１０５に格納されて実行される。
【００５０】
ＣＰＵ１０１は装置全体の制御をおこなう。ＲＯＭ１０２はブートプログラム等を記億している。ＲＡＭ１０３はＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ（ハードディスクドライブ）１０４は、ＣＰＵ１０１の制御にしたがってＨＤ（ハードディスク）１０５に対するデータの書き込みおよび読み出しを制御する。ＦＤＤ（フロッピーディスクドライブ）１０６は、ＣＰＵ１０１の制御にしたがって、着脱可能な記録媒体であるＦＤ（フロッピーディスク）１０７に対するデータの書き込みおよび読み出しを制御する。
【００５１】
ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報等のデータに関するウインドウ（ブラウザ）を表示する。通信インターフェイス（Ｉ／Ｆ）１０９は、有線または無線の通信回線１１０を介してネットワーク１５０に接続され、ネットワーク１５０と内部とのインターフェイスを司る。
【００５２】
キーボード１１１は、文字、数値、各種指示等の入力のための複数のキーを備える。マウス等１１２は、カーソルの移動や範囲選択、あるいはウインドウの移動やサイズの変更、アイコンの選択、移動等をおこなうのに使用される。スキャナ１１３は画像を光学的に読み取るための装置である。プリンタ１１４は、ウインドウに表示された内容等を印刷する。ＣＤ−ＲＯＭドライブ１１６は、着脱可能な記録媒体であるＣＤ−ＲＯＭ１１５に対するデータの読み出しを制御する。
【００５３】
上述した実施の形態によれば、Ｉ／Ｏセルの配置後にＩ／Ｏ接続バウンダリスキャンレジスタ２２を優先的に配置し、そのＩ／Ｏ接続バウンダリスキャンレジスタ２２の配置に基づいて出力Ｉ／Ｏ制御バウンダリスキャンレジスタ２３を配置し、さらにその後にバウンダリスキャンレジスタ間の配線長を見積もって、ファンアウト調整をおこなうため、バウンダリスキャンレジスタ２２，２３をＩ／Ｏの配列に沿ってその近傍に自動的に配置させることができるとともに、ファンアウト調整を、最小限の数のバッファセル８１，８２，８３の挿入により実現することができる。
【００５４】
それによって、バウンダリスキャンレジスタに対するテスト信号のネットの交差をなくすことができるため、テスト信号の逆流等による動作不良が起こるのを防ぐことができる。また、バッファセルの挿入数を抑えることができるので、ＬＳＩの面積増や、配線混雑度の増大という不都合を回避することができる。さらには、人手によりバウンダリスキャンレジスタを配置したり、ファンアウト調整をおこなう必要がないため、ＬＳＩの開発工数が大幅に削減される。
【００５５】
たとえば、上述した実施の形態によれば、挿入されるバッファセルの数は、従来の市販のテスト回路合成ツールを用いてファンアウト調整をおこなった場合に挿入されるバッファセルの数の十〜数十分の１程度となる。本発明者らがあるＬＳＩについて検証した結果、従来のツールではバッファセルの挿入数が３７０であったのに対し、実施の形態によれば２９であり、しかも配線後の容量オーバーやタイミングエラーはゼロであった。
【００５６】
以上において本発明は、上述した実施の形態および図示例に限らず、本発明の要旨を逸脱しない範囲で、種々変更可能である。
【００５７】
【発明の効果】
本発明によれば、Ｉ／Ｏセルの配置後にＩ／Ｏ接続バウンダリスキャンレジスタを優先的に配置し、そのＩ／Ｏ接続バウンダリスキャンレジスタの配置に基づいて出力Ｉ／Ｏ制御バウンダリスキャンレジスタを配置し、さらにその後にバウンダリスキャンレジスタ間の配線長を見積もって、ファンアウト調整をおこなうため、バウンダリスキャンレジスタをＩ／Ｏの配列に沿ってその近傍に自動的に配置させることができるとともに、ファンアウト調整を、最小限の数のバッファセルの挿入により実現することができる。
【図面の簡単な説明】
【図１】本発明にかかるＬＳＩチップのレイアウト設計方法の一例の手順を示すフローチャートである。
【図２】本発明にかかるＬＳＩチップのレイアウト設計方法を説明するための他の模式図である。
【図３】本発明にかかるＬＳＩチップのレイアウト設計方法を説明するための他の模式図である。
【図４】本発明にかかるＬＳＩチップのレイアウト設計方法を説明するための他の模式図である。
【図５】本発明にかかるＬＳＩチップのレイアウト設計方法を説明するための他の模式図である。
【図６】本発明にかかるＬＳＩチップのレイアウト設計方法におけるファンアウト調整の一例の手順を示すフローチャートである。
【図７】本発明にかかるＬＳＩチップのレイアウト設計方法におけるファンアウト調整方法（ステップＳ４１）を説明するための模式図である。
【図８】本発明にかかるＬＳＩチップのレイアウト設計方法におけるファンアウト調整方法（ステップＳ４６）を説明するための模式図である。
【図９】ファンアウト調整をおこなう前のバウンダリスキャンレジスタ間のネットおよびバウンダリスキャンレジスタに対するテスト信号のネットを示す説明図である。
【図１０】ファンアウト調整後のバウンダリスキャンレジスタ間のネットおよびバウンダリスキャンレジスタに対するテスト信号のネットを示す説明図である。
【図１１】バッファセルが最適位置に配置されていない状態でのバウンダリスキャンレジスタ間のネットおよびバウンダリスキャンレジスタに対するテスト信号のネットを示す説明図である。
【図１２】本発明にかかるＬＳＩチップのレイアウト設計方法の実施に供せられるＣＡＤ装置の構成を示すブロック図である。
【図１３】従来のテスト回路合成ツールによるバウンダリスキャンレジスタの自動配置結果を模式的に示す図である。
【符号の説明】
２  ＬＳＩ
２１  Ｉ／Ｏ領域
２２，２２ａ，２２ｂ  Ｉ／Ｏ接続バウンダリスキャンレジスタ
２３  出力Ｉ／Ｏ制御バウンダリスキャンレジスタ
２９  Ｉ／Ｏ接続バウンダリスキャンレジスタ間の中間点
４１〜４３，５１〜５２，６１〜６８  バウンダリスキャンレジスタ
４４  見積もり配線経路
６０  テスト制御回路
７１，７２，７３，７４  ネット
８１，８２，８３  バッファセル
１０７，１１５  記録媒体
【図１】
0004887552.tif 000002
【図２】
0004887552.tif 000003
【図３】
0004887552.tif 000004
【図４】
0004887552.tif 000005
【図５】
0004887552.tif 000006
【図６】
0004887552.tif 000007
【図７】
0004887552.tif 000008
【図８】
0004887552.tif 000009
【図９】
0004887552.tif 000010
【図１０】
0004887552.tif 000011
【図１１】
0004887552.tif 000012
【図１２】
0004887552.tif 000013
【図１３】
0004887552.tif 000014