(57)【要約】【課題】クロック・スキューを最小にし、末端の配線構造の効率的な設計を支援し得るデータ処理装置を提供する。【解決手段】データ処理装置２０は、レイアウト領域に設定された複数のサブ領域を、配線が設けられるべき局所領域と配線が設けられないダミー領域とに分類する領域設定部２２Ｂと、これらサブ領域内にクロック・スキューを最適化する仮想配線の規則構造を形成する規則構造生成部２２Ｃと、当該形成された規則構造のうちダミー領域内に形成された仮想配線を、ダミー領域と局所領域との間の境界線を対称軸として折り返すことにより配線パターンを構成する配線構築部２２Ｄと、を備える。【選択図】図２
2010009398.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を分配する配線パターンをレイアウト領域に形成するデータ処理装置であって、
前記レイアウト領域に設定された複数のサブ領域を、配線が設けられるべき局所領域と配線が設けられないダミー領域とに分類する領域設定部と、
前記複数のサブ領域内にクロック・スキューを最適化する仮想配線の規則構造を形成する規則構造生成部と、
当該形成された規則構造のうち前記ダミー領域内に形成された仮想配線を、前記ダミー領域と前記局所領域との間の境界線を対称軸として折り返すことにより前記配線パターンを構成する配線構築部と、
を備えるデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置であって、
ユーザにより指示情報が手動入力される操作入力部と、
回路構成が固定されたハードマクロを、前記指示情報により指定された位置へ移動させるハードマクロ位置調整部と、
を更に備えるデータ処理装置。
【請求項３】
請求項１または２記載のデータ処理装置であって、
ユーザにより指示情報が手動入力される操作入力部と、
前記指示情報に基づいて、前記レイアウト領域内で前記境界線の位置を移動させる境界位置調整部と、
を更に備えるデータ処理装置。
【請求項４】
請求項１から３のうちのいずれか１項に記載のデータ処理装置であって、
ユーザにより指示情報が手動入力される操作入力部と、
前記レイアウト領域内に形成された仮想配線構造を、前記指示情報により指定された位置へ移動させる構造位置調整部と、
を更に備えるデータ処理装置。
【請求項５】
請求項４記載のデータ処理装置であって、前記構造位置調整部は、前記指示情報により指定された位置へ前記仮想配線構造の中心を移動させる、データ処理装置。
【請求項６】
請求項１から５のうちのいずれか１項に記載のデータ処理装置であって、前記規則構造生成部は、前記仮想配線の二分木構造を前記規則構造として生成する、データ処理装置。
【請求項７】
請求項１から６のうちのいずれか１項に記載のデータ処理装置であって、前記サブ領域を区分する境界線が格子パターンを形成している、データ処理装置。
【請求項８】
請求項１から７のうちのいずれか１項に記載のデータ処理装置であって、前記レイアウト領域を複数のサブ領域に分割する領域分割部を更に備えるデータ処理装置。
【請求項９】
クロック信号を分配する配線パターンをレイアウト領域に形成するデータ処理方法であって、
前記レイアウト領域に設定された複数のサブ領域を、配線が設けられるべき局所領域と配線が設けられないダミー領域とに分類するステップと、
前記複数のサブ領域内にクロック・スキューを最適化する仮想配線の規則構造を形成するステップと、
当該形成された規則構造のうち前記ダミー領域内に形成された仮想配線を、前記ダミー領域と前記局所領域との間の境界線を対称軸として折り返すことにより前記配線パターンを構成するステップと、
を備えるデータ処理方法。
【請求項１０】
請求項９記載のデータ処理方法であって、回路構成が固定されたハードマクロを、外部からの指示情報により指定された位置へ移動させるステップを更に備えるデータ処理方法。
【請求項１１】
請求項９または１０記載のデータ処理方法であって、外部からの指示情報に基づいて、前記レイアウト領域内で前記境界線の位置を移動させるステップを更に備えるデータ処理方法。
【請求項１２】
請求項９から１１のうちのいずれか１項に記載のデータ処理方法であって、前記レイアウト領域に形成された仮想配線構造を、外部からの指示情報により指定された位置へ移動させるステップを更に備えるデータ処理方法。
【請求項１３】
請求項１２記載のデータ処理方法であって、前記仮想配線構造を移動させるステップでは、前記指示情報により指定された位置へ前記仮想配線構造の中心を移動させる、データ処理方法。
【請求項１４】
クロック信号を分配する配線パターンをレイアウト領域に形成するデータ処理をコンピュータに実行させるプログラムであって、
前記データ処理は、
前記レイアウト領域に設定された複数のサブ領域を、配線が設けられるべき局所領域と配線が設けられないダミー領域とに分類する領域設定処理と、
前記複数のサブ領域内にクロック・スキューを最適化する仮想配線の規則構造を形成する規則構造生成処理と、
当該形成された規則構造のうち前記ダミー領域内に形成された仮想配線を、前記ダミー領域と前記局所領域との間の境界線を対称軸として折り返すことにより前記配線パターンを構成する配線構築処理と、
を含む、プログラム。
【請求項１５】
請求項１４記載のプログラムであって、前記データ処理は、回路構成が固定されたハードマクロを、外部からの指示情報により指定された位置へ移動させるハードマクロ位置調整処理を更に含む、プログラム。
【請求項１６】
請求項１４または１５記載のプログラムであって、前記データ処理は、外部からの指示情報に基づいて、前記レイアウト領域内で前記境界線の位置を移動させる境界位置調整処理を更に含む、プログラム。
【請求項１７】
請求項１４から１６のうちのいずれか１項に記載のプログラムであって、前記データ処理は、前記レイアウト領域内に形成された仮想配線構造を、外部からの指示情報により指定された位置へ移動させる構造位置調整処理を更に含む、プログラム。
【請求項１８】
請求項１７記載のプログラムであって、前記構造位置調整処理は、前記指示情報により指定された位置へ前記仮想配線構造の中心を移動させる処理を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩなどの集積回路に組み込まれるべきクロック分配構造を設計するためのデータ処理技術に関する。
【背景技術】
【０００２】
ＬＳＩなどの集積回路は、フリップ・フロップ回路などのデジタル素子群に同期用のクロック信号を分配する配線構造を含む。しかしながら、配線容量や寄生容量の影響により、クロック信号の伝搬遅延時間の誤差（クロック・スキュー：Clock Skew）が生じ、集積回路の歩留まりを低下させるという問題がある。クロック・スキューについては、集積回路の設計段階で許容される最大値を設定するのが一般的である。高速動作が要求されるＬＳＩでは、クロック・スキューの制約が厳しいため、この制約を満たした設計を行うことが難しい。
【０００３】
このクロック・スキューを最小化する手段として、たとえば、クロック・ツリー・シンセシス（ＣＴＳ：Clock Tree Synthesis）と称する設計手法が知られている。このＣＴＳにより、クロック信号伝搬用の配線構造がツリー状に構成され、この配線構造にバッファ回路（以下、単に「バッファ」と呼ぶ。）が挿入される。バッファの配置は、クロック信号の伝搬遅延時間を均等化するように決定される。
【０００４】
クロック・スキューを低減させる技術は、たとえば、特許文献１（特開２０００−３０５９６５号）、特許文献２（特開２００３−７８０１４号公報）、特許文献３（特開２００４−２８９０３０号公報）および特許文献４（特開２００３−９２３５２号公報）に開示されている。
【特許文献１】特開２０００−３０５９６５号公報
【特許文献２】特開２００３−７８０１４号公報
【特許文献３】特開２００４−２８９０３０号公報
【特許文献４】特開２００３−９２３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、クロック配線構造の全体をＣＴＳで設計せずに、クロック信号供給源に近い配線構造を規則的な構造として設計し、クロック信号供給源から遠い末端に近い配線構造をＣＴＳで設計する手法が採用されている。このような設計手法は、たとえば、特許文献２に開示されている。特許文献２によれば、図１に模式的に示されるように、バッファ（クロックドライバ）１１〜１２を含む上位段１の配線構造は、Ｈ−ｔｒｅｅ（Ｈツリー）構造を有するように設計される一方、バッファ１３，１４を含む下位段２の配線構造はＣＴＳで設計される。
【０００６】
しかしながら、この配線構造には、Ｈ−ｔｒｅｅ構造の末端の配線数を柔軟に調整することが難しいという問題がある。図１に示したように、Ｈ−ｔｒｅｅ構造の末端の配線数は、４×４個や８×８個などの２ｎ×２ｎ（ｎは正整数）個にせざるを得ない。Ｈ−ｔｒｅｅ構造の段数を一段増やすと、末端の配線数は４倍になる。
【０００７】
また、集積回路のレイアウト領域にハードマクロ（回路構成が固定された素子群）と呼ばれる部品が置かれる場合がある。ハードマクロ自体の回路配置（レイアウト）を変更することはできないので、ハードマクロ上にＨ−ｔｒｅｅ構造の配線やバッファを配置して実現不可能な設計データを生成するという問題や、ハードマクロを避けた位置に配線やバッファを配置することでＨ−ｔｒｅｅ構造の対称性が崩れてクロック・スキューが許容範囲を超えて大きくなるという問題が発生し得る。
【０００８】
上記に鑑みて本発明は、クロック・スキューを最小にするとともに末端の配線構造の細かくかつ効率的な設計を支援し得るデータ処理装置、データ処理方法およびプログラムを提供するものである。
【課題を解決するための手段】
【０００９】
本発明によれば、クロック信号を分配する配線パターンをレイアウト領域に形成するデータ処理装置が提供される。このデータ処理装置は、前記レイアウト領域に設定された複数のサブ領域を、配線が設けられるべき局所領域と配線が設けられないダミー領域とに分類する領域設定部と、前記複数のサブ領域内にクロック・スキューを最適化する仮想配線の規則構造を形成する規則構造生成部と、当該形成された規則構造のうち前記ダミー領域内に形成された仮想配線を、前記ダミー領域と前記局所領域との間の境界線を対称軸として折り返すことにより前記配線パターンを構成する配線構築部とを備える。
【００１０】
本発明によれば、クロック信号を分配する配線パターンをレイアウト領域に形成するデータ処理方法が提供される。このデータ処理方法は、前記レイアウト領域に設定された複数のサブ領域を、配線が設けられるべき局所領域と配線が設けられないダミー領域とに分類するステップと、前記複数のサブ領域内にクロック・スキューを最適化する仮想配線の規則構造を形成するステップと、当該形成された規則構造のうち前記ダミー領域内に形成された仮想配線を、前記ダミー領域と前記局所領域との間の境界線を対称軸として折り返すことにより前記配線パターンを構成するステップと、を備える。
【００１１】
本発明によれば、クロック信号を分配する配線パターンをレイアウト領域に形成するデータ処理をコンピュータに実行させるプログラムが提供される。このデータ処理は、前記レイアウト領域に設定された複数のサブ領域を、配線が設けられるべき局所領域と配線が設けられないダミー領域とに分類する領域設定処理と、前記複数のサブ領域内にクロック・スキューを最適化する仮想配線の規則構造を形成する規則構造生成処理と、当該形成された規則構造のうち前記ダミー領域内に形成された仮想配線を、前記ダミー領域と前記局所領域との間の境界線を対称軸として折り返すことにより前記配線パターンを構成する配線構築処理と、を含む。
【００１２】
上記データ処理装置、データ処理方法およびプログラムによれば、レイアウト領域の全体に亘って仮想配線の規則構造が形成される。この規則構造のうち、ダミー領域内に形成された仮想配線を対称軸を介して局所領域側に折り返すことにより配線パターンが形成される。よって、物理配線を設けることができない領域（たとえば、ハードマクロが置かれた領域）に仮想配線が形成されたとしても、この領域をダミー領域とみなして、ダミー領域側の仮想配線を局所領域側に折り返す処理を実行することができる。かかる処理により、クロック・スキューを最適化する規則構造のうち、最低限必要な領域（ダミー領域）の配線構造のみを折り返すことができる。したがって、クロック・スキューを最小にする配線パターンを得ることができ、実現不可能な配線パターンの生成を確実に回避することが可能である。しかも、レイアウト領域全体からみて局所的なダミー領域の仮想配線が折り返されるため、配線構造を細かくかつ効率的に設計することが可能である。
【発明の効果】
【００１３】
上述の通り、本発明によれば、クロック・スキューを最小にする配線パターンを得ることができ、実現不可能な配線パターンの生成を確実に回避し、配線構造を細かくかつ効率的に設計することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明に係る実施形態について図面を参照しつつ説明する。
【００１５】
図２は、本発明に係る一実施形態のデータ処理装置２０の概略構成を示す機能ブロック図である。このデータ処理装置２０は、クロック信号を分配する配線パターンをレイアウト領域に形成する機能を有する。データ処理装置２０は、領域分割部２２Ａ、領域設定部２２Ｂ、規則構造生成部２２Ｃ、配線構築部２２Ｄおよびバッファ挿入部２２Ｅを有している。
【００１６】
プロセッサ２１は、ユーザーにより指示情報が手動入力される操作入力部２７と接続されており、操作入力部２７は、入力された指示情報をプロセッサ２１に出力する。操作入力部２７は、たとえばキー入力部やポインティング・デバイスで構成され、ユーザ・インターフェースを構成する。ユーザは、この操作入力部２７を操作して、後述する種々の指示情報をプロセッサ２１に与えることができる。また、プロセッサ２１は、出力インターフェース（出力Ｉ／Ｆ）２５を介して表示部２６と接続されている。この表示部２６は、プロセッサ２１から転送されたレイアウト領域の画像情報を表示する機能を有する。ユーザは、表示部２６の表示画像を確認しつつ、操作入力部２７を操作することができる。
【００１７】
領域分割部２２Ａは、集積回路を設計するためのレイアウト領域（またはレイアウト空間）を複数のサブ領域に分割する機能を有する。領域設定部２２Ｂは、これらサブ領域を、配線が設けられるべき局所領域と、配線が設けられないダミー領域とに分類する機能を有している。図３（Ａ）は、８×８個のサブ領域４１に分割されたレイアウト領域３０（垂直分割数：８、水平分割数：８）を模式的に示す図である。図３（Ｂ）に示されるように、領域設定部２２Ｂは、これらサブ領域４１を、太線で囲まれた配線領域４４を構成する７×５個の局所領域４３と、２９個のダミー領域４２とに分類することができる。
【００１８】
規則構造生成部２２Ｃは、複数のサブ領域内にクロック・スキューを最適化する仮想配線（予備配線）の規則構造を形成する機能を有する。たとえば、規則構造生成部２２Ｃは、図４に示されるように、レイアウト領域３０の全体に亘って、サブ領域４１を区分し格子パターンを形成している境界線に沿って規則的な仮想配線パターン５０を形成する。この仮想配線パターン５０は、クロック信号供給源（仮想配線パターンの中心）から末端まで仮想配線を伝搬するクロック信号の遅延時間が均等化するようにクロック・スキューを最適化する規則構造を有する。図４の仮想配線パターン５０は、Ｈ−ｔｒｅｅ構造（Ｈ字状の２分木構造）の末端に再帰的にＨ−ｔｒｅｅ構造を付加することにより形成することができる。
【００１９】
配線構築部２２Ｄは、規則構造生成部２２Ｃで形成された規則構造のうちダミー領域内に形成された仮想配線を、ダミー領域と局所領域との間の境界線を対称軸として折り返すことにより配線パターンを構成する機能を有する。図４のレイアウト領域３０の場合、ダミー領域４２の仮想配線は、局所領域４３とダミー領域４２間の境界線を対称軸として配線領域４４内に折り返されることとなる。
【００２０】
バッファ挿入部２２Ｅは、配線構築部２２Ｄにより得られた配線パターンにバッファ（クロックドライバ）を挿入する機能を有する。たとえば、Ｈ−ｔｒｅｅ構造をなす仮想配線の各分岐点の直前にバッファを挿入することができる。
【００２１】
プロセッサ２１は、最終的に生成した回路データをデータ記憶部２８に記憶させる。あるいは、プロセッサ２１は、ＬＡＮ（Local Area Network）や通信回線（図示せず）を通じて、生成した回路データを送信してもよい。
【００２２】
図２に示される調整部２３は、境界位置調整部２３Ａ、構造位置調整部２３Ｂおよびハードマクロ位置調整部２３Ｃを含む。この調整部２３は、操作入力部２７で入力された指示情報に基づいて、レイアウト領域３０内に形成された仮想配線構造の全体または一部の位置を調整することができる。
【００２３】
境界位置調整部２３Ａは、操作入力部２７で入力された指示情報に基づいて、レイアウト領域３０内の境界線を水平方向または垂直方向へ指定先位置に移動させる機能を有している。たとえば、ユーザは操作入力部２７を操作して、図５（Ａ）に示されるようにレイアウト領域３０内の境界線７０を指定し、図５（Ｂ）に示されるようにこの境界線７０を水平方向左方へ移動させることができる。これにより、ハードマクロ６３を避ける位置へ境界線７０とともに仮想配線を移動させることができる。
【００２４】
ハードマクロ位置調整部２３Ｃは、レイアウト領域３０内で回路構成が固定されたハードマクロを、指示情報により指定された位置へ移動させる機能を有している。たとえば、ユーザは操作入力部２７を操作して、図５（Ａ）に示すハードマクロ６４を指定し、このハードマクロ６４を図５（Ｂ）に示す位置に移動させることができる。
【００２５】
構造位置調整部２３Ｂは、レイアウト領域３０内に形成された仮想配線構造を、指示情報により指定された位置へ移動させる機能を有している。たとえば、ユーザは操作入力部２７を操作して、図６（Ａ）に示されるように仮想配線パターン５０の構造中心３０Ｃを指定し、図６（Ｂ）の矢印に示すようにこの構造中心３０Ｃを移動させることで、ハードマクロ６０，６１，６２と重複しない位置へ仮想配線パターン５０の全体を移動させることができる。
【００２６】
なお、ユーザは、領域設定部２２Ｂ、規則構造生成部２２Ｃおよび配線構築部２２Ｄのうちのいずれの処理段階でも、操作入力部２７を操作して調整部２３を動作させることが可能である。
【００２７】
上記プロセッサ２１は、マイクロプロセッサ，ＲＯＭ，ＲＡＭ，信号伝達用バスおよび入出力インターフェースを備えた集積回路で構成することができる。プロセッサ２１の機能ブロック２２Ａ〜２２Ｅ，２３Ａ〜２３Ｃの全部または一部は、半導体集積回路などのハードウェアで実現されてもよいし、あるいは、不揮発性メモリや光ディスクなどの記録媒体に記録されたプログラムまたはプログラムコードで実現されてもよい。このようなプログラムまたはプログラムコードは、機能ブロック２２Ａ〜２２Ｅ，２３Ａ〜２３Ｃの全部または一部の処理を、ＣＰＵなどの演算装置を有するコンピュータに実行させるものである。
【００２８】
次に、データ処理装置２０の動作を図７および図８を参照しつつ以下に説明する。図７は、データ処理装置２０の基本的な処理手順を示すフローチャートであり、図８は、調整部２３の処理手順を示すフローチャートである。
【００２９】
ユーザが操作入力部２７を操作して、レイアウト領域に対する水平分割数Ｍと垂直分割数Ｎ（Ｍ，Ｎは正整数）を指定する指示情報を入力したとき（ステップＳ１０）、領域分割部２２Ａは、入力された指示情報に基づいて、図３（Ａ）に例示するようにレイアウト領域３０を複数のサブ領域４１に分割する（ステップＳ１１）。水平分割数として４の値が入力され、垂直分割数として４の値が入力された場合、図９に示すように、レイアウト領域３０は４×４個のサブ領域４１に分割され、仮想配線パターン５０の末端の配線数は４×４（＝１６）個となる。
【００３０】
続けて、領域設定部２２Ｂは、図３（Ｂ）に示すように、これらサブ領域４１をダミー領域４２と局所領域４３とに分類する（ステップＳ１２）。たとえば、２の整数乗のうち水平分割数Ｍの値を下回らない最小の数をｍとし、２の整数乗のうち垂直分割数Ｎの値を下回らない最小の数をｎとするときに、領域分割部２２Ａは、レイアウト領域３０をｍ×ｎ個のサブ領域４１に分割する（ステップＳ１１）。そして、領域設定部２２Ｂは、これらサブ領域４１のうち、Ｍ×Ｎ個のサブ領域４１を配線領域４４に割り当て、残りのサブ領域４１をダミー領域４２に割り当てる（ステップＳ１２）。（Ｍ，Ｎ）＝（７，５）の場合、（ｍ，ｎ）＝（８，８）となり、図３（Ａ）および図３（Ｂ）に示すレイアウト領域３０が形成される。
【００３１】
次に、規則構造生成部２２Ｃは、レイアウト領域３０の全体に亘り、サブ領域４１を区分する境界線に沿って仮想配線の規則構造（図４の仮想配線パターン５０）を形成する（ステップＳ１３）。図１０（Ａ）〜（Ｅ）は、Ｈ−ｔｒｅｅ構造を形成する手順を概略的に示す図である。説明の便宜上、図１０（Ａ）〜（Ｅ）は、４×４個のサブ領域４１内に仮想配線パターン５０（図９）を形成する方法を示している。規則構造生成部２２Ｃは、先ず、図１０（Ａ）に示されるように、レイアウト領域３０と一致する大きさを持つ最上位領域３１を生成する。次いで、図１０（Ｂ）に示すように、最上位領域３１を２つのブロック領域３２Ａ，３２Ｂに分割して中間階層領域３２を構成する。そして、これらブロック領域３２Ａ，３２Ｂの中心間を結ぶ仮想配線５１を形成する。次いで、図１０（Ｃ）に示すように、ブロック領域３２Ａを２つのブロック領域３３Ｃ，３３Ｄに分割し、ブロック領域３２Ｂを２つのブロック領域３３Ａ，３３Ｂに分割して中間階層領域３３を構成する。そして、ブロック領域３３Ｃ，３３Ｄの中心間を結ぶ仮想配線５２Ａを形成し、ブロック領域３３Ａ，３３Ｂの中心間を結ぶ仮想配線５２Ｂを形成する。このように、上位領域の各ブロック領域を２つのブロック領域に分割し、これらブロック領域の中心間を結ぶ仮想配線を形成するという処理を再帰的に繰り返すことにより、図１０（Ｄ）に示す中間階層領域３４が形成され、更に図１０（Ｅ）に示すレイアウト領域３０が形成されることとなる。
【００３２】
次に、配線構築部２２Ｄは、ダミー領域４２内に形成された仮想配線を、ダミー領域４２と局所領域４３との間の境界線を対称軸として折り返す（ステップＳ１４）。ここで、ダミー領域４２内の仮想配線の折り返し方向は、上述の再帰処理によりＨ−ｔｒｅｅ構造を形成する際に決められる。すなわち、図１０（Ａ）〜（Ｅ）に示したように、或る階層よりも１つ上位の階層の各ブロック領域（以下、「親領域」と呼ぶ。）を２つのブロック領域（以下、「子領域」と呼ぶ。）に分割し、これら子領域の中心間を結ぶ仮想配線を配置するという処理が再帰的に実行される。仮想配線の折り返し方向は、同じ親領域から生成された子領域のうち一方（ダミー領域）から他方（局所領域）へ向かう方向に定められる。たとえば、図１０（Ｃ）に示す中間階層領域３３のブロック領域３３Ｃ，３３Ｄは、１つ上位の階層の中間階層領域３２（図１０（Ｂ））の親領域３２Ａから生成される。このため、ブロック領域３３Ｃがダミー領域に対応し、ブロック領域３３Ｄが局所領域に対応する場合、ブロック領域３３Ｃに対応するダミー領域内の仮想配線は、ブロック領域３３Ｄに対応する局所領域内に折り返される。
【００３３】
次いで、配線構築部２２Ｄは、当該折り返された仮想配線（折り返し配線）が局所領域４３側の仮想配線と重複するか否かを判定する（ステップＳ１５）。折り返し配線が局所領域４３側の仮想配線と重複する場合（ステップＳ１５のＹＥＳ）、当該折り返し配線の位置をシフトさせる（ステップＳ１６）。他方、当該折り返し配線が局所領域４３側の仮想配線と重複しない場合（ステップＳ１５のＮＯ）、配線構築部２２Ｄは次のステップＳ１７に処理を移行させる。
【００３４】
たとえば、図１１（Ａ）に示されるように、レイアウト領域３０が４×４個のサブ領域４１に分割され、局所領域４３とダミー領域４２Ａ，４２Ｂとが設定された場合を想定する。この場合、配線構築部２２Ｄは、ダミー領域４２Ａ内の仮想配線を局所領域４３に折り返す（ステップＳ１４）。このとき、その折り返し配線と局所領域４３内の仮想配線とが重複するので、当該折り返し配線を現在のレイヤーから他のレイヤーにシフトさせる（図１１（Ｂ））。また、配線構築部２２Ｄは、図１１（Ｂ）のダミー領域４２Ｂ内の仮想配線を局所領域４３に折り返す（ステップＳ１４）。このときも、その折り返し配線と局所領域４３内の仮想配線とが重複するので、当該折り返し配線を現在のレイヤーから他のレイヤーにシフトさせる（図１１（Ｃ））。
【００３５】
次のステップＳ１７の微調整処理では、調整部２３が、操作入力部２７で入力された指示情報に基づいて、レイアウト領域３０内に形成された仮想配線構造の全体または一部の位置を調整する。この微調整処理では、図８に示されるように、境界線と移動先位置とを指定する指示情報が入力されたとき（ステップＳ２０のＹＥＳ）、境界位置調整部２３Ａは、その指示情報に基づいて、指定された境界線を移動させる（ステップＳ２１）。他方、指示情報が入力されないとき（ステップＳ２０のＮＯ）、ステップＳ２２に処理が移行する。
【００３６】
次に、ハードマクロと移動先位置とを指定する指示情報が入力されたとき（ステップＳ２２のＹＥＳ）、ハードマクロ位置調整部２３Ｃは、その指示情報に基づいて、指定されたハードマクロを移動させる（ステップＳ２３）。他方、指示情報が入力されないとき（ステップＳ２２のＮＯ）、ステップＳ２４に処理が移行する。
【００３７】
次に、仮想配線構造の中心の移動先位置を指定する指示情報が入力されたとき（ステップＳ２４のＹＥＳ）、構造位置調整部２３Ｂは、その指示情報に基づいて、仮想配線構造全体を移動させる（ステップＳ２５）。他方、指示情報が入力されず（ステップＳ２２のＮＯ）、操作入力部２７からの処理の終了指示が入力されないとき（ステップＳ２６のＮＯ）は、ステップＳ２０〜Ｓ２５の手順が繰り返し実行される。操作入力部２７からの処理の終了指示が入力されたとき（ステップＳ２６のＹＥＳ）、図７のメインルーチンへ処理が戻る。
【００３８】
図７を参照すると、微調整処理（ステップＳ１７）が終了した後、バッファ挿入部２２Ｅは、配線構築部２２Ｄにより得られた配線パターンにバッファ（クロックドライバ）を挿入する（ステップＳ１８）。その後、バッファ挿入部２２Ｅは、回路パターンに不要な仮想配線を消去して（ステップＳ１９）、配線パターンを生成させる。そして、生成された回路パターンは、図２のデータ記憶部２８に格納される。
【００３９】
上記実施形態のデータ処理装置２０が奏する効果を以下に説明する。上述の通り、領域分割部２２Ａ、領域設定部２２Ｂおよび規則構造生成部２２Ｃは、レイアウト領域３０の全体に亘って、クロック・スキューを最適化し得る仮想配線の規則構造を形成する。そのうえで、配線構築部２２Ｄは、この規則構造のうち、ダミー領域４２内に形成された仮想配線を対称軸を介して局所領域４３側に折り返すことにより配線パターンを形成する。よって、物理配線を設けることができないダミー領域（たとえば、図１２に示すようにハードマクロ６５，６６が置かれたダミー領域４２）に仮想配線が形成されたとしても、当該ダミー領域内の仮想配線を局所領域内に折り返す処理を実行することができる。
【００４０】
したがって、クロック・スキューを最小にする配線パターンを得ることができ、実現不可能な配線パターンの生成を確実に回避することが可能である。しかも、レイアウト領域３０の全体からみて局所的なダミー領域４２の仮想配線が折り返されるため、配線構造を細かくかつ効率的に設計することが可能である。
【００４１】
また、ユーザは、操作入力部２７を操作して調整部２３に指示情報を与えることにより、配線パターンを細かくかつ簡便に設計することが可能である。
【００４２】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。たとえば、図３（Ａ）に示されるように、レイアウト領域３０に設定された各サブ領域４１の形状は矩形状であるが、これに限定されるものではない。任意の閉曲線で囲まれた領域をサブ領域とすることもできる。
【００４３】
また、図４の仮想配線パターン５０はＨ字状の２分木構造を有するが、これに限定されるものではない。サブ領域を区分する境界線のパターンを変えて、当該境界線上に他の形状の２分木構造を形成してもよい。
【００４４】
説明の便宜上、図５（Ａ）〜（Ｂ）および図６（Ａ）〜（Ｂ）は、ダミー領域４２の仮想配線が折り返されていない仮想配線パターン５０を示しているが、これに限定されるものではない。ダミー領域４２の仮想配線が折り返された後に、境界位置調整部２３Ａ、構造位置調整部２３Ｂおよびハードマクロ位置調整部２３Ｃはそれぞれ位置調整を実行してもよい。
【図面の簡単な説明】
【００４５】
【図１】従来のＨ−ｔｒｅｅ（Ｈツリー）構造の典型例を示す図である。
【図２】本発明に係る一実施形態のデータ処理装置の概略構成を示す機能ブロック図である。
【図３】８×８個のサブ領域に分割されたレイアウト領域を模式的に示す図である。
【図４】規則的な仮想配線パターン（規則構造）が形成されたレイアウト領域を模式的に示す図である。
【図５】レイアウト領域内の境界位置を移動させる処理を説明するための図である。
【図６】レイアウト領域内の仮想配線パターンを移動させる処理を説明するための図である。
【図７】本実施形態のデータ処理装置の基本的な処理手順を示すフローチャートである。
【図８】調整部の処理手順を概略的に示すフローチャートである。
【図９】４×４個のサブ領域に分割されたレイアウト領域を概略的に示す図である。
【図１０】Ｈ−ｔｒｅｅ構造を再帰的に形成する手順を概略的に示す図である。
【図１１】ダミー領域内の仮想配線を局所領域に折り返す手順を示す図である。
【図１２】ハードマクロが置かれたレイアウト領域を概略的に示す図である。
【符号の説明】
【００４６】
２０  データ処理装置
２１  プロセッサ
２２Ａ  領域分割部
２２Ｂ  領域設定部
２２Ｃ  規則構造生成部
２２Ｄ  配線構築部
２２Ｅ  バッファ挿入部
２３  調整部
２３Ａ  境界位置調整部
２３Ｂ  構造位置調整部
２３Ｃ  ハードマクロ位置調整部
２５  出力インターフェース（出力Ｉ／Ｆ）
２６  表示部
２７  操作入力部
２８  データ記憶部
３０  レイアウト領域
３０Ｃ  構造中心
４１  サブ領域
４２  ダミー領域
４３  局所領域
４４  配線領域
５０  仮想配線パターン
６０〜６６  ハードマクロ
７０  境界線
【図１】
2010009398.tif 000003
【図２】
2010009398.tif 000004
【図３】
2010009398.tif 000005
【図４】
2010009398.tif 000006
【図５】
2010009398.tif 000007
【図６】
2010009398.tif 000008
【図７】
2010009398.tif 000009
【図８】
2010009398.tif 000010
【図９】
2010009398.tif 000011
【図１０】
2010009398.tif 000012
【図１１】
2010009398.tif 000013
【図１２】
2010009398.tif 000014