(57)【要約】【課題】ローカルエリアの数が多い場合にも、ルートドライバからローカルエリアへの分岐の数を削減でき、分岐の数の制限内でエレクトロマイグレーションの制約を守り、ラウタビリティを向上させ、高集積密度かつ低消費電力で信号の立ち上がり特性の低下を防ぎつつゼロスキューを実現できるクロック配線、クロックレイアウトシステム、及びクロックレイアウト方法を提供する。【解決手段】集積回路のクロック配線において、任意の第１ノード（ルートドライバ７００）から分岐した複数の配線８０１〜８０８のうちの配線８０１に最初に現れる第２ノード（バッファ６０１）から分岐し、第２ノード（バッファ６０１）へ入力される信号の入力方向から９０度の角度以内の方向に存在する第３ノード（バッファ６０１ａ、６０１ｂ、６０１ｃ）へのみ畳み込みが行われ、クロック配線（８０１ａ、８０１ｂ、８０１ｃ）を接続する。【選択図】      図１
2004289007.tif 000002
【特許請求の範囲】
【請求項１】
集積回路のクロック配線において、任意の第１ノードと、
該第１ノードから分岐した複数の配線と、
該複数の配線のうちの第１配線に最初に現れる第２ノードと、
前記第２ノードへ入力される信号の入力方向から９０度の角度以内の方向に存在する第３ノードへのみ接続する配線とを備えることを特徴とするクロック配線。
【請求項２】
集積回路のクロック配線において、任意の第１ノードと、
該第１ノードから分岐した複数の配線と、
該複数の配線のうちの第１配線に最初に現れる第２ノードと、
前記第２ノードへ入力される信号の入力方向から４５度の角度以内の方向に存在する第３ノードへのみ接続する配線とを備えることを特徴とするクロック配線。
【請求項３】
集積回路のクロック配線において、任意のノードと、
前記任意のノードの次に信号が伝達される次段ノードと、
前記任意のノードと前記次段ノードを結ぶ直線方向から９０度未満の角度の配線方向の配線のうち何れかの組み合わせからなる、目標遅延設定のための迂回クロック配線。
【請求項４】
集積回路のクロック配線において、任意のノードと、
前記ノードの次に信号が伝達される次段ノードと、
前記任意のノードと前記次段ノードを結ぶ直線方向の象限にある配線方向の配線からなる、目標遅延設定のための迂回クロック配線。
【請求項５】
論理回路の回路情報を入力する入力装置と、
前記回路情報を基に、半導体チップ上にルートドライバを配置し、ローカルエリアではＨツリー型の構造で、グローバルエリアではスター型の構造でクロック配線を行うクロック配線処理部と、
前記論理回路の任意の第１ノードから分岐した複数の配線のうちの第１配線に最初に現れるノードを第２ノードとして特定する第２ノード特定部と、
前記第１ノードから分岐した複数の配線のうちの前記第１配線以外の配線に２番目に現れるノードを第３ノードとして特定する第３ノード特定部と、
前記第３ノードのうち、確定第３ノードを確定する第３ノード確定部と、
前記第１ノードから前記確定第３ノードに至るまでの配線及びノードを畳み込む畳み込み実行部
とを含むことを特徴とするクロックレイアウトシステム。
【請求項６】
前記第３ノード確定部は、前記第２ノードへ入力される信号の入力方向から９０度の角度以内の方向に存在する前記第３ノードのみを前記確定第３ノードとすることを特徴とする請求項５に記載のクロックレイアウトシステム。
【請求項７】
前記第３ノード確定部は、前記第２ノードへ入力される信号の入力方向から４５度の角度以内の方向に存在する前記第３ノードのみを前記確定第３ノードとすることを特徴とする請求項５に記載のクロックレイアウトシステム。
【請求項８】
論理回路の回路情報を入力する入力装置と、
前記論理回路中の任意のノードと前記ノードの次に信号が伝達される次段ノードを結ぶために用いる配線方向を決定する配線方向決定部と、
容量モーメント又は遅延時間が等しくなるように前記配線方向の配線比率を算定する配線比率算定部
とを含むことを特徴とするクロックレイアウトシステム。
【請求項９】
前記配線方向決定部は、前記ノードと前記次段ノードを結ぶ直線方向から９０度未満の角度の配線方向のうち何れかの組み合わせを前記配線方向とすることを特徴とする請求項８に記載のクロックレイアウトシステム。
【請求項１０】
前記配線方向決定部は、前記ノードと前記次段ノードを結ぶ直線方向の象限にある配線方向のうち何れかの組み合わせを前記配線方向とすることを特徴とする請求項８に記載のクロックレイアウトシステム。
【請求項１１】
論理回路の回路情報を入力するステップと、
前記回路情報を基に、半導体チップ上にルートドライバを配置し、ローカルエリアではＨツリー型の構造で、グローバルエリアではスター型の構造で初期クロック配線を形成するステップと、
前記初期クロック配線の任意の第１ノードから分岐した複数の配線のうちの第１配線に最初に現れるノードを第２ノードとして特定するステップと、
前記第１ノードから分岐した複数の配線のうちの前記第１配線以外の配線に２番目に現れるノードを第３ノードとして特定するステップと、
前記第３ノードのうち、確定第３ノードを確定するステップと、
前記第１ノードから前記確定第３ノードに至るまでの配線及びノードを畳み込むステップ
とを含むことを特徴とするクロックレイアウト方法。
【請求項１２】
前記第３ノードを確定するステップは、前記第２ノードへ入力される信号の入力方向から９０度の角度以内の方向に存在する前記第３ノードのみを前記確定第３ノードとするステップであることを特徴とする請求項１１に記載のクロックレイアウト方法。
【請求項１３】
前記第３ノードを確定するステップは、前記第２ノードへ入力される信号の入力方向から４５度の角度以内の方向に存在する前記第３ノードのみを前記確定第３ノードとするステップであることを特徴とする請求項１１に記載のクロックレイアウト方法。
【請求項１４】
論理回路の回路情報を入力するステップと、
前記論理回路中の任意のノードと前記ノードの次に信号が伝達される次段ノードを結ぶために用いる配線方向を決定するステップと、
容量モーメント又は遅延時間が等しくなるように前記配線方向の配線比率を算定するステップ
とを含むことを特徴とするクロックレイアウト方法。
【請求項１５】
前記配線方向を決定するステップは、前記ノードと前記次段ノードを結ぶ直線方向から９０度未満の角度の配線方向のうち何れかの組み合わせを前記配線方向とするステップであることを特徴とする請求項１４に記載のクロックレイアウト方法。
【請求項１６】
前記配線方向を決定するステップは、前記ノードと前記次段ノードを結ぶ直線方向の象限にある配線方向のうち何れかの組み合わせを前記配線方向とするステップであることを特徴とする請求項１４に記載のクロックレイアウト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機を用いた集積回路の設計技術に係り、特に集積回路のクロック配線を設計するクロックレイアウトシステム、及びクロックレイアウト方法、更にはそれにより実現されたクロック配線に関する。
【０００２】
【従来の技術】
クロック配線では、誤作動を防止するため、総ての出力信号におけるスキューをなくすことが望ましい。「スキュー」とは、信号の伝播遅延のずれをいう。スキューがないことを、「ゼロスキュー」という。
【０００３】
図９（ａ）に示すように、ゼロスキューを実現する方法の１つとして、「Ｈツリー型の構造」を用いたクロック配線を行う方法がある。即ち、ラッチ１１５とラッチ１１６、ラッチ１１７とラッチ１１８、ラッチ１１９とラッチ１２０、ラッチ１２１とラッチ１２２をそれぞれ等遅延の配線１２５〜１２８で結び、次に配線１２５と配線１２６、配線１２７と配線１２８の中点をそれぞれ等遅延の配線１３１、１３２で結ぶ。そして更に、配線１３１と１３２の中点を等遅延の配線１４１で結ぶ。「Ｈツリー型の構造」は、このような配線処理を繰り返すことにより、クロックの伝播遅延の均一化を図るために用いられる構造である。
【０００４】
図９（ｂ）に示すように、ゼロスキューを実現する他の方法として、「スター型の構造」を用いたクロック配線を行う方法がある。「スター型の構造」とは、ルートドライバ７０から配線７１ａ〜７６ａに分岐し、バッファ６１〜６６を介して配線７１ｂ〜７６ｂによりラッチ５１〜５６のクロック入力端に配線を行う構造をいう。このような配線で、配線７１ａ〜７６ａ、配線７１ｂ〜７６ｂの長さを均一化し、挿入されるバッファ６１〜６６の数を均一化することにより、ルートドライバ７０からラッチ５１〜５６のクロック入力端に到達するクロックの伝播遅延が均一化される。
【０００５】
更に、回路の性能を向上する方法の１つとして、ユースフルスキューを達成した回路を構成する方法がある。「ユースフルスキュー」とは、出力信号におけるスキューが、クロックと同期する範囲内にあることをいう。ツリーのリーフとなる各ノードに対して目標遅延を設定することで、ユースフルスキューは達成される。「目標遅延の設定」とは、バッファ、アンプの挿入、クロック配線の延長・短絡等によりクロックの伝播遅延を調整することをいう。
【０００６】
又、伝播遅延を削減するためには、配線長を短縮し、配線抵抗を低減するのが有効である。そこで、図１に示すように、直交配線系８５０に加えて、斜め配線系８６０を用いることが提案されている。
【０００７】
【発明が解決しようとする課題】
大規模な集積回路において、半導体チップ上に搭載された総ての回路素子をＨツリー型の構造で配線することは困難である。なぜなら、Ｈツリー型の構造では、図９（ａ）に示すように、それぞれの分岐点に１つのバッファ１５０〜１５７が挿入されることから面積利用効率が悪く、Ｈツリー型の構造で配線できる範囲が制限されるからである。又、Ｈツリー型ではルートドライバに近づくに従い次第に電流が集中し、電流が大きくなるため、エレクトロマイグレーションが生じるからである。
【０００８】
そこで、図９（ｃ）に示すように、Ｈツリー型の構造で配線できる局所的な領域９１〜９６（以下、「ローカルエリア」という）では、Ｈツリー型の構造を用い、Ｈツリー型の構造で配線できないチップの全体の領域（以下、「グローバルエリア」という）では、スター型の構造を用いる方法が、一般的である。しかし、グローバルエリアでルートドライバ７０２からの分岐が多くなると、ルートドライバ７０２が駆動できる電流を増やさなければならず、電流容量がエレクトロマイグレーションの制約で定まる値を超えるおそれがある。更に、ローカルエリアの数が多くなると、ルートドライバ７０２からローカルエリアへの配線の数が多くなり、配線占有面積や配線による消費電力が増大する。そして、ルートドライバ７０２やバッファ６１〜６４からの分岐数が多くなり、ルートドライバ７０２やバッファ６１〜６４付近で、セル混雑度及び配線混雑度が増大する。その結果、レイアウト設計段階で配線ショートなどが生じ、完全結線可能性（ラウタビリティ）が低下する。
【０００９】
又、クロック配線の延長によりクロックの伝播遅延を調整してスキューの最小化を図る場合、延長した配線において配線容量が増加すると、信号の立ち上がり特性の低下が生じる。例えば、図５（ａ）に示すように、ノードＰ３、Ｐ４を結ぶ配線でクロックの伝播遅延を調整するために、クロック配線Ｌ３、Ｌ４により配線長を延長すると、クロック配線Ｌ３、Ｌ４は近接していることから、クロック配線Ｌ３、Ｌ４間で配線容量が増加し、信号の立ち上がり時間の増大が生じる。一方、配線容量が増加しないようにするために、近接しない配線Ｌ５、Ｌ６により配線長を延長すると、配線占有面積が増大する。
本発明は、上述のような従来の課題を解決するためになされたもので、その目的は、ローカルエリアの数が多い場合にも、ルートドライバからローカルエリアへの分岐の数を削減でき、分岐の数の制限内でエレクトロマイグレーションの制約を守り、ラウタビリティを向上させ、高集積密度かつ低消費電力で信号の立ち上がり特性の低下を防ぎつつゼロスキューを実現できるクロック配線、クロックレイアウトシステム、及びクロックレイアウト方法を提供することである。
【００１０】
【課題を解決するための手段】
本発明の第１の特徴は、集積回路のクロック配線において、任意の第１ノードと、第１ノードから分岐した複数の配線と、複数の配線のうちの第１配線に最初に現れる第２ノードと、第２ノードへ入力される信号の入力方向から９０度の角度以内の方向に存在する第３ノードへのみ接続する配線とを備えることを要旨とする。直交配線系に加えて斜め配線系を用いる場合は、任意の第１ノードと、第１ノードから分岐した複数の配線と、複数の配線のうちの第１配線に最初に現れる第２ノードと、第２ノードへ入力される信号の入力方向から４５度の角度以内の方向に存在する第３ノードへのみ接続する配線であることが望ましい。第１の特徴に係る発明によれば、目標遅延設定のため以外の迂回配線がなくなり、セル混雑度及び配線混雑度の増大を防ぐことができる。
【００１１】
本発明の第２の特徴は、任意のノードと、この任意のノードの次に信号が伝達される次段ノードと、任意のノードと次段ノードを結ぶ直線方向から９０度未満の角度の配線方向の配線のうち何れかの組み合わせからなる、目標遅延設定のための迂回クロック配線であることを要旨とする。直交配線系に加えて、斜め配線系を用いる場合は、任意のノードと、この任意のノードの次に信号が伝達される次段ノードと、任意のノードと次段ノードを結ぶ直線方向の象限にある配線方向の配線のうち何れかの組み合わせからなる、目標遅延設定のための迂回クロック配線であることが望ましい。第２の特徴に係る発明によれば、平行でない迂回クロック配線で目標遅延を設定でき、配線容量の増加、信号の立ち上がり特性の低下を防ぐことができる。
【００１２】
本発明の第３の特徴は、論理回路の回路情報を入力する入力装置と、論理回路の第１ノードから分岐した複数の配線のうちの第１配線に最初に現れるノードを第２ノードとして特定する第２ノード特定部と、第１ノードから分岐した複数の配線のうちの第１配線以外の配線に２番目に現れるノードを第３ノードとして特定する第３ノード特定部と、第３ノードのうち所定の条件を満たす第３ノードを確定第３ノードとする第３ノード確定部と、第１ノードから確定第３ノードに至るまでの配線及びノードを畳み込む畳み込み実行部を含むクロックレイアウトシステムであることを要旨とする。第３ノード確定部で満たす条件は、確定第３ノードが第２ノードへ入力される信号の入力方向から９０度の角度以内の方向にのみ存在する第３ノードであればよく、４５度の角度以内の方向にのみ存在する第３ノードであれば、更に望ましい。第３の特徴に係る発明によれば、畳み込む対象を所定の条件を満たす確定第３ノードに限定することができる。
【００１３】
本発明の第４の特徴は、論理回路の回路情報を入力する入力装置と、論理回路中の任意のノードとこの任意のノードの次に信号が伝達される次段ノードを結ぶために用いる配線方向を決定する配線方向決定部と、容量モーメント又は遅延時間が等しくなるように配線方向の配線比率を算定する配線比率算定部とを含むことを要旨とする。第４の特徴に係る発明によれば、ラウタビリティを向上させ、高集積密度かつ低消費電力で信号の立ち上がり特性の低下を防ぐことができる。ために用いる配線方向は、任意のノードとこの任意のノードの次に信号が伝達される次段ノードを結ぶ直線方向から９０度未満の角度の配線方向のうち何れかの組み合わせであることが望ましい。直交配線系に加えて、斜め配線系を用いる場合は、任意のノードとこの任意のノードの次に信号が伝達される次段ノードを結ぶ直線方向の象限にある配線方向のうち何れかの組み合わせであることが望ましい。
【００１４】
本発明の第５の特徴は、入力された回路情報を基に、ローカルエリアではＨツリー型の構造で、グローバルエリアではスター型の構造で初期クロック配線を形成するステップと、初期クロック配線の第１ノードから分岐した複数の配線のうちの第１配線に最初に現れるノードを第２ノードとして特定するステップと、第１ノードから分岐した複数の配線のうちの第１配線以外の配線に２番目に現れるノードを第３ノードとして特定するステップと、第３ノードのうち、確定第３ノードを確定するステップと、第１ノードから確定第３ノードに至るまでの配線及びノードを畳み込むステップとを行うことを要旨とする。本第５の特徴に係る発明によれば、畳み込む対象を、所定の条件を満たす確定第３ノードに限定することができる。満たす条件は、確定第３ノードが第２ノードへ入力される信号の入力方向から９０度の角度以内の方向にのみ存在する第３ノードであれば望ましく、４５度の角度以内の方向にのみ存在する第３ノードであれば、更に望ましい。
【００１５】
本発明の第６の特徴は、論理回路の回路情報を入力するステップと、論理回路中の任意のノードとこの任意のノードの次に信号が伝達される次段ノードを結ぶために用いる配線方向を決定するステップと、容量モーメント又は遅延時間が等しくなるように配線比率を算定するステップとを含むことを要旨とする。本発明の第６の特徴によれば、ラウタビリティを向上させ、高集積密度かつ低消費電力で信号の立ち上がり特性の低下を防ぐことができる。配線方向は、任意のノードとこの任意のノードの次に信号が伝達される次段ノードを結ぶ直線方向から９０度未満の角度の配線方向のうち何れかの組み合わせであれば望ましい。直交配線系に加えて、斜め配線系を用いる場合は、任意のノードとこの任意のノードの次に信号が伝達される次段ノードを結ぶ直線方向の象限にある配線方向のうち何れかの組み合わせであれば更に望ましい。
【００１６】
【発明の実施の形態】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。
【００１７】
（第１の実施の形態）
図１に示すように、本発明の第１の実施の形態に係るクロック配線は、集積回路のクロック配線において、ルートドライバ７００から８本の主配線（親配線）８０１〜８０８が等方的に分岐し、主配線８０１上のバッファ６０１からバッファ６０１ａ、６０１ｂ、６０１ｃへ枝配線（子配線）８０１ａ、８０１ｂ、８０１ｃが分岐し、主配線８０２上のバッファ６０２からバッファ６０２ａへ枝配線８０２ａが延伸している。更に、主配線８０３上のバッファ６０３からバッファ６０３ａ、６０３ｂ、６０３ｃへ枝配線８０３ａ、８０３ｂ、８０３ｃが分岐し、主配線８０４上のバッファ６０４からバッファ６０４ａへ枝配線８０４ａが延伸している。
【００１８】
任意の第１ノード（ルートドライバ７００）から分岐した複数の配線８０１〜８０８のうちの配線８０１に最初に現れる第２ノード（バッファ６０１）から分岐し、第２ノード（バッファ６０１）へ入力される信号の入力方向から９０度の角度以内の方向に存在する第３ノード（バッファ６０１ａ、６０１ｂ、６０１ｃ）へのみ畳み込みが行われ、クロック配線（８０１ａ、８０１ｂ、８０１ｃ）を接続する。そして、任意の第１ノード（ルートドライバ７００）から分岐した複数の配線８０１〜８０８のうちの配線８０２に最初に現れる第２ノード（バッファ６０２）から延伸し、第２ノード（バッファ６０２）へ入力される信号の入力方向から９０度の角度以内の方向に存在する第３ノード（バッファ６０２ａ）へのみ畳み込みが行われ、クロック配線（８０２ａ）を接続する。
【００１９】
更に、任意の第１ノード（ルートドライバ７００）から分岐した複数の配線８０１〜８０８のうちの配線８０３に最初に現れる第２ノード（バッファ６０３）から分岐し、第２ノード（バッファ６０３）へ入力される信号の入力方向から９０度の角度以内の方向に存在する第３ノード（バッファ６０３ａ、６０３ｂ、６０３ｃ）へのみ畳み込みが行われ、クロック配線（８０３ａ、８０３ｂ、８０３ｃ）を接続する。そして、任意の第１ノード（ルートドライバ７００）から分岐した複数の配線８０１〜８０８のうちの配線８０４に最初に現れる第２ノード（バッファ６０４）から延伸し、第２ノード（バッファ６０４）へ入力される信号の入力方向から９０度の角度以内の方向に存在する第３ノード（バッファ６０４ａ）へのみ畳み込みが行われ、クロック配線（８０４ａ）を接続する。
【００２０】
図１では、直交配線系８５０に加えて斜め配線系８６０を用いているため、配線８０８上のＱ１のように直交配線系８５０のグリッドと斜め配線系８６０のグリッドが交わり、８方向に配線できるノードと、Ｑ２のように直交配線系８５０のグリッドと斜め配線系８６０のグリッドが交わらず、４方向にのみ配線できるノードがある。「信号の入力方向から４５度の角度以内の方向」とは、Ｑ１のようなノードにおける信号の入力方向から０度の角度方向、４５度の角度方向、−４５度の角度方向を意味し、これらの３方向の配線のうち１以上の配線が分岐又は延伸する。「信号の入力方向から９０度の角度以内の方向」とは、Ｑ２のようなノードにおける信号の入力方向から０度の角度方向、９０度の角度方向、−９０度の角度方向を意味し、これらの３方向の配線のうち１以上の配線が分岐又は延伸する。この結果、目標遅延設定のため以外の迂回配線がなくなり、バッファ６０１〜６０４付近での配線の混雑が回避できるとともに、ラウタビリティが向上する。
【００２１】
図２で本発明の第１の実施の形態に係るクロックレイアウトシステムを説明する。本発明の第１の実施の形態に係るクロックレイアウトシステムは、入力装置９、中央演算処理装置（ＣＰＵ）１００、出力装置１７、インターフェイス１５、ホストコンピュータ１６、共通バス２０を備える。ＣＰＵ１００は、クロック配線処理部１、第１ノード特定部２、次段ノード特定部３、次段ノード数カウント部４、第２ノード特定部１４、第３ノード特定部５ａ、第３ノード確定部５ｂ、畳み込み実行部１１、伝播遅延調整部８を備える。畳み込み実行部１１は、畳み込み対象削除部６、畳み込み配線処理部７を備える。更に、本発明の第１の実施の形態に係るクロックレイアウトシステムは、確定第３ノード角度条件記憶装置５ｃ、回路情報記憶装置１０、読み出し専用メモリ（ＲＯＭ）１８、ランダムアクセスメモリ（ＲＡＭ）１９を備える。
【００２２】
入力装置９は、設計しようとする論理回路の回路情報をクロック配線処理部１に入力する。出力装置１７は、ＣＰＵ１００で処理等されるデータを出力する。ホストコンピュータ１６は、インターフェイス１５を介して、出力装置１７が出力するデータと同様のデータを保存し、モニター等に出力する。入力装置９、ＣＰＵ１００、出力装置１７、インターフェイス１５、ホストコンピュータ１６、確定第３ノード角度条件記憶装置５ｃ、回路情報記憶装置１０、ＲＯＭ１８、ＲＡＭ１９は、共通バス２０を介してデータのやり取りを行う。
【００２３】
クロック配線処理部１は、入力装置９により入力された論理回路の回路情報を基に、半導体チップ上にルートドライバを配置し、ローカルエリアではＨツリー型の構造で、グローバルエリアではスター型の構造でクロック配線を行う。ここで行うクロック配線は、設計上のクロック配線であり、現実にクロック配線を行う必要はない。第１ノード特定部２は、クロック配線処理部１により配置されたルートドライバを先ず第１ノードとする。例えば図３（ａ）に示すように、先ずルートドライバ７０１が第１ノードとなる。次段ノード特定部３は、第１ノード特定部２で特定された第１ノードから信号伝播方向に最初に現れるノードを、次段ノードとする。図３（ａ）では、第１ノード７０１から信号伝播方向に最初に現れるバッファが次段ノード４００ａ、４００ｂ、・・・・・となる。次段ノード数カウント部４は、次段ノード特定部３で特定された次段ノードの数を数える。第２ノード特定部１４は、次段ノード特定部３で特定された次段ノードのうち１の次段ノードを第２ノードとする。図３（ａ）では、次段ノード４００ａが第２ノードであるとする。第３ノード特定部５ａは、畳み込みの後に第１ノードから第３ノードへ伝播するクロックの伝播遅延が少なくとも増加しないことを条件に、第２ノードとは異なる次段ノードから信号伝播方向に最初に現れるノードを第３ノードとする。図３（ａ）では、第２ノード４００ａとは異なる次段ノード４００ｂから信号伝播方向に最初に現れるノード４０１ｂが第３ノードであるとする。
【００２４】
「畳み込み」とは、図３（ａ）（ｂ）に示すように、ルートドライバである第１ノード７０１から分岐した複数の配線４０ａ、ｂ、・・・・・のうちの第１配線４０ａに最初に現れるノード４００ａを第２ノードとして特定し、第１ノード７０１から分岐した複数の配線４０ａ、ｂ、・・・・・のうちの第１配線以外の配線４０ｂに２番目に現れるノード４０１ｂを第３ノードとして特定した後、第１ノード７０１から第３ノード４０１ｂに至るまでの配線４０ｂ、４１ｂ及びノード４００ｂを削除し、第２ノード４００ａにおいて第１配線４１ｃから新たな配線４１ｅを分岐させて、第３ノード４０１ｂへ接続することをいう。図３においては、第３ノードは１つであるが、第３ノードは複数であってもよい。この場合、第１ノード７０１から第３ノードに至るまでの配線及びノードを削除し、第２ノード４００ａにおいて第１配線４１ｃから複数の新たな配線を分岐させて、第３ノードへそれぞれ接続する。
【００２５】
「畳み込みの後に第１ノードから第３ノードへ伝播するクロックの伝播遅延が少なくとも増加しないこと」とは、例えば図３（ｂ）のように畳み込みを行った場合、第１ノード７０１から配線４０、４０ａ、ノード４００ａ、配線４１ｃ、配線４１ｅを伝播して第３ノード４０１ｂに至るまでの伝播遅延が、図３（ａ）における第１ノード７０１から配線４０、４０ｂ、ノード４００ｂ、配線４１ｂを伝播してノード４０１ｂに至るまでの伝播遅延に比し増加しないことをいう。
【００２６】
第３ノード確定部５ｂは、第３ノード特定部５ａで特定した第３ノードが、確定第３ノード角度条件記憶装置５ｃに記憶された条件を満たす第３ノードを、確定第３ノードとする。例えば、第３ノード確定部５ｂで満たす条件が、「確定第３ノードは、第２ノードへ入力される信号の入力方向から９０度の角度以内の方向に存在する」である場合、第２ノード４００ａへ入力される信号の入力方向、即ち配線４０ａの方向から９０度の角度以内の方向に存在する第３ノード４０１ａ、４０１ｂ、・・・・・が確定第３ノードとなる。その他の条件として、「確定第３ノードは、第２ノードへ入力される信号の入力方向から４５度の角度以内の方向に存在する」等がある。又、これらの条件は、複数の条件の組み合わせでもよい。例えば、図１に示すＱ１のように８方向に配線できるノードでは、確定第３ノードは、第２ノードへ入力される信号の入力方向から４５度の角度以内の方向に存在し、かつＱ２のように４方向にしか配線できないノードでは、確定第３ノードは、第２ノードへ入力される信号の入力方向から９０度の角度以内の方向に存在するという条件でもよい。
【００２７】
畳み込み実行部１１は、第３ノード確定部５ｂで確定された確定第３ノードへ畳み込みを行う。この場合、第２ノード特定部１４で特定された第２ノードが駆動できる電流容量を超えるときは、畳み込み実行部１１は、畳み込みができないと判断し、先ず電流容量を超えない範囲で確定第３ノードへ畳み込みを行い、残りの確定第３ノードへは他の第２ノードから畳み込みが行われる。
【００２８】
畳み込み対象削除部６は、第１ノードから分岐して確定第３ノードに至るまでの配線及び第１ノードから分岐して確定第３ノードに至るまでの配線上のノードを削除する。例えば図３（ａ）に示す第１ノード７０１から分岐して確定第３ノード４０１ｂに至るまでの配線４０ｂ、ノード４００ｂを図３（ｂ）のように削除する。畳み込み配線処理部７は、第２ノードから配線を分岐させて、確定第３ノードへ接続する。例えば図３（ｂ）に示すように、第２ノード４００ａから配線４１ｅを点Ｑで分岐させて、確定第３ノード４０１ｂへ接続することをいう。
【００２９】
更に畳み込みの後に、第１ノード特定部２は、第２ノード特定部１４により特定された第２ノードを新たな第１ノードとする。例えば図３（ｂ）に示すように、畳み込みの後のノード４００ａを新たな第１ノードとすることをいう。ノード４００ａを新たな第１ノードとすることにより、次段ノードは図３（ｂ）に示すノード４０１ａ、４０１ｂとなり、ノード４０１ａ、４０１ｂが畳み込みの対象となる。伝播遅延調整部８は、クロックの伝播遅延を調整してゼロスキューを実現する。
確定第３ノード角度条件記憶装置５ｃは、確定第３ノードが満たすべき角度条件が、記憶される。回路情報記憶装置１０は、入力装置９により入力され、又はクロック配線処理部１によりクロック配線された論理回路の回路情報を記憶する。又、回路情報記憶装置１０は、畳み込み実行部１１により総ての畳み込みが終了した後の論理回路の回路情報を記憶する。ＲＯＭ１８は、システムを立ち上げる基本入出力システム（ＢＩＯＳ）を格納する。ＲＡＭ１９は、種々の情報、及び演算結果を記憶する。
【００３０】
入力装置９により入力された回路情報、クロック配線処理部１によりクロック配線された論理回路の回路情報、畳み込み実行部１１により総ての畳み込みが終了した後の論理回路の回路情報、回路情報記憶装置１０に記憶されている回路情報を、出力装置１７が出力する
畳み込み実行部１１でノードを畳み込むことにより、ローカルエリアの数が多い場合であっても、ルートドライバからローカルエリアへの分岐の数を削減でき、分岐の数の制限内でエレクトロマイグレーションの制約を守りつつ、高集積密度でクロック配線を実現できるクロックレイアウトシステム、及びクロックレイアウト方法を提供することができる。第１ノード特定部２で畳み込み後の第２ノードを新たな第１ノードとすることにより、畳み込み後の信号伝播方向へ次々とノードの畳み込みを行うことができ、畳み込みが可能なノードの総てを畳み込むことができる。第３ノード特定部５ａで畳み込みが可能なノードを特定することにより、信号の伝播遅延を増加させずに確実に畳み込みを行うことができ、畳み込み後の誤動作を回避できる。第３ノード確定部５ｂで畳み込む第３ノードを確定することにより、セグメント及びノードの数が削減され、チップ内の面積利用効率が増大し、消費電力が低減される。伝播遅延調整部８で伝播遅延を調整することにより、クロック配線後の誤作動を回避できる。
【００３１】
図２を参照しながら、図４のフローチャートで本発明の第１の実施の形態に係るクロックレイアウト方法を説明する。
【００３２】
（イ）先ずステップＳ２０１において、入力装置９により、設計しようとする論理回路の回路情報が入力される。例えば、図３（ａ）に示す論理回路の回路情報が入力される。
【００３３】
（ロ）ステップＳ２０２において、クロック配線処理部１は、入力装置９により入力された論理回路の回路情報を基に、半導体チップ上にルートドライバを配置し、ローカルエリアではＨツリー型の構造で、グローバルエリアではスター型の構造でクロック配線を行う。即ち、グローバルエリアにおいて、図９（ｃ）に示すように半導体チップ上に設けられたルートドライバ７０２から複数の配線７１ａ〜７６ａを分岐し、スター型のクロック配線が行われる。
【００３４】
（ハ）ステップＳ２０３において、クロック配線処理部１によりクロック配線された後の論理回路の回路情報を基に、第１ノード特定部２によりルートドライバが第１ノード７０１とされる。
【００３５】
（ニ）ステップＳ２０４において、第１ノード７０１から複数の配線４０ａ、４０ｂ、・・・・・に沿って信号伝播方向に最初にそれぞれ現れるノード４００ａ、４００ｂ、・・・・・が次段ノードとして次段ノード特定部３により特定される。
【００３６】
（ホ）ステップＳ２０５において、次段ノード数カウント部４により、次段ノード特定部３で特定された次段ノード４００ａ、４００ｂ、・・・・・の数が数えられる。
【００３７】
（へ）カウントされた次段ノード４００ａ、４００ｂ、・・・・・が２つ以上ある場合は、ステップＳ２０６において、第２ノード特定部１４は次段ノード４００ａ、４００ｂ、・・・・・のうち１の次段ノード４００ａを第２ノードとする。
【００３８】
（ト）ステップＳ２０７ａにおいて、畳み込み後に第１ノードから第３ノードへ伝播するクロックの伝播遅延が少なくとも増加しないことを条件に、第３ノード特定部５ａは図３（ａ）に示す第２ノード４００ａとは異なる次段ノード４００ｂから信号伝播方向に最初に現れるノード４０１ｂが第３ノードとして特定される。
【００３９】
（チ）第３ノードが特定された場合は、ステップＳ２０７ｂにおいて、第３ノード確定部５ｂで、確定第３ノード角度条件記憶装置５ｃに記憶された条件を満たす第３ノードを、確定第３ノードを確定する。
【００４０】
（リ）ステップＳ２０８ａにおいて、畳み込み対象削除部６により第１ノード７０１から分岐して確定第３ノード４０１ｂに至るまでの配線４０ｂ、４１ｂ及びノード４００ｂが削除される。
【００４１】
（ヌ）そしてＳ２０８ｂにおいて、畳み込み配線処理部７により第２ノード４００ａから配線４１ｄ、４１ｅに分岐して、配線４１ｅを確定第３ノード４０１ｂへ接続する。
【００４２】
（ル）確定第３ノードへ畳み込まれた場合は、ステップＳ２１１において、第２ノード４００ａが第１ノード特定部２により新たな第１ノードとされる。
【００４３】
（ヲ）新たな第１ノードを用いて更にステップＳ２０４〜Ｓ２０８を繰り返し、ステップＳ２１１を経由して信号伝播方向へ次々とノードが畳み込まれ、総ての畳み込みが可能なノードが畳み込まれる。
【００４４】
（ワ）ステップＳ２０７ａにおいて、第３ノード特定部５ａにより第３ノードが特定されなかった場合、ステップ２０７ｂにおいて、確定第３ノードが確定されなかった場合は、ステップＳ２０９において、伝播遅延調整部８で伝播遅延調整が行われる。
【００４５】
（カ）そして最終的に、ステップＳ２１０において、クロック配線処理部１によりクロック配線される。
【００４６】
これにより、ルートドライバのみならず畳み込み後のノードからも、配線が分岐するため、ローカルエリアの数が多くなっても、ルートドライバからローカルエリアへの分岐の数の制限及びエレクトロマイグレーションの制約を超えることなくクロック配線処理を行うことができる。更に、セグメント、ノードの数が削減されることにより、チップ内の面積利用効率が増大し、消費電力が低減される。
【００４７】
（第２の実施の形態）
図５（ｂ）に示すように、本発明の第２の実施の形態に係るクロック配線は、任意のノードＰ５とこの任意のノードの次に信号が伝達される次段ノードＰ６を結ぶ直線方向Ｆ１から９０度未満の角度の配線方向の配線Ｌ７、Ｌ１０、Ｌ１１、Ｌ１２からなる、目標遅延を設定のための迂回クロック配線である。即ち、図５（ｃ）に示すＦ２、Ｆ３、Ｆ４、Ｆ９方向の配線のうち何れかの組み合わせを用いて、クロックの伝播遅延を調整する。Ｆ２、Ｆ３、Ｆ４、Ｆ９方向の配線は平行でないため、平行でない迂回クロック配線で目標遅延を設定でき、配線容量の増加、信号の立ち上がり特性の低下を防ぐことができる。直交配線系８５０に加えて、図１に示す斜め配線系８６０を用いる場合は、任意のノードＰ５とこの任意のノードの次に信号が伝達される次段ノードＰ６を結ぶ直線方向Ｆ１の象限である第４象限にある配線方向のうち何れかの組み合わせでクロックの伝播遅延を調整することが望ましい。即ち、図５（ｃ）に示すＦ２、Ｆ３、Ｆ４方向の配線のうち何れかの組み合わせを用いて、クロックの伝播遅延を調整する。
【００４８】
図５（ｂ）に示すように、配線方向Ｆ２、Ｆ３、Ｆ４の配線でクロックの伝播遅延を調整した結果、ノードＰ５とノードＰ６を最短距離で結んだ配線Ｌ７、Ｌ８、Ｌ９に比し、Ｑ３、Ｐ６間で冗長性がある。直交配線系８５０のグリッドの単位長さをＬとすると、この冗長性は（２−２１／２）Ｌとなる。このように冗長性を持たせても、近接しない配線Ｌ１０、Ｌ１１、Ｌ１２によりクロックの伝播遅延を調整できる。この結果、配線Ｌ１０、Ｌ１１、Ｌ１２による配線容量の増加を抑えることができ、ノードＰ５、Ｐ６間を伝播する信号の立ち上がり特性の低下を防止しつつ、更に配線占有面積を増大させることなくクロックの伝播遅延を調整できる。
【００４９】
図６で本発明の第２の実施の形態に係るクロックレイアウトシステムを説明する。本発明の第２の実施の形態に係るクロックレイアウトシステムは、入力装置９００、中央演算処理装置（ＣＰＵ）１０１、出力装置９０１、インターフェイス４６、ホストコンピュータ４７、共通バス９１０を備える。ＣＰＵ１０１は、グルーピング部２１、グループ容量／遅延時間算定部２２、重心点算定部２３、バッファセル配置部２４、最大容量モーメント／最長遅延時間算定部２５、容量モーメント差／遅延時間差算定部２６、配線方向決定部２７、配線比率算定部２８、配線処理部２９を備える。更に、本発明の第２の実施の形態に係るクロックレイアウトシステムは、グループ記憶装置９０２、グループ容量／遅延時間記憶装置９０３、重心点記憶装置９０４、バッファセル位置記憶部９０６、最大容量モーメント／最長時間記憶装置９０５、配線比率記憶装置４５、容量モーメント差／遅延時間差記憶装置９０７、配線方向記憶装置９０８、Ｆ／Ｆ情報記憶装置９０９、読み出し専用メモリ（ＲＯＭ）４８、ランダムアクセスメモリ（ＲＡＭ）４９を備える。
【００５０】
入力装置９００は、設計しようとする論理回路のフリップフロップ（Ｆ／Ｆ）情報を入力する。出力装置９０１は、ＣＰＵ１０１で処理等されるデータを出力する。ホストコンピュータ４７は、インターフェイス４６を介して、出力装置９０１が出力するデータと同様のデータを保存し、モニター等に出力する。入力装置９００、ＣＰＵ１０１、出力装置９０１、インターフェイス４６、ホストコンピュータ４７、グループ記憶装置９０２、グループ容量／遅延時間記憶装置９０３、重心点記憶装置９０４、バッファセル位置記憶部９０６、最大容量モーメント／最長時間記憶装置９０５、配線比率記憶装置４５、容量モーメント差／遅延時間差記憶装置９０７、配線方向記憶装置９０８、Ｆ／Ｆ情報記憶装置９０９、読み出し専用メモリ（ＲＯＭ）４８、ランダムアクセスメモリ（ＲＡＭ）４９は、共通バス９１０を介してデータのやり取りを行う。
【００５１】
グルーピング部２１は、入力装置９００により入力された設計しようとする論理回路のＦ／Ｆ情報から２以上のＦ／Ｆ又は既にバランス木で結線された２以上のＦ／Ｆ群をグループ化する。グループ容量／遅延時間算定部２２は、グルーピング部２１によりグループ化された各グループの容量又は信号の伝播遅延時間を算定する。容量には、Ｆ／Ｆの入力容量や配線容量が含まれる。
【００５２】
重心点算定部２３は、各グループの容量モーメント又は信号の伝播遅延時間が等しくなるような点（重心点）の位置を算定する。重心点の位置の算定は以下のように行う。図８に示すように、グルーピング部２１により４つにグループ化された場合、各グループの容量をＣ１、Ｃ２、Ｃ３、Ｃ４とし、全体の重心点Ｇ５から各グループの重心点Ｇ１、Ｇ２、Ｇ３、Ｇ４へのユークリッド距離をＤ１、Ｄ２、Ｄ３、Ｄ４とすると、式（１）が成り立つ。
【００５３】
Ｄ１×Ｃ１＝Ｄ２×Ｃ２＝Ｄ３×Ｃ３＝Ｄ４×Ｃ４  ・・・・・（１）
式（１）を満たすＧ５の位置が全体の重心点となる。即ち、総ての容量モーメント（ＤＸ×ＣＸ）が等しくなる点が全体の重心点となる。又、重心点Ｇ５から各グループのＦ／Ｆへ到達する信号の伝播遅延時間が等しくなるようなＧ５の位置を全体の重心点としてもよい。
【００５４】
バッファセル配置部２４は、重心点から直近かつ適切な位置に、バッファセルを配置する。図８における重心点Ｇ５の位置は配線上にない。よって、重心点Ｇ５から直近かつ直交配線系８５０のグリッド及び斜め配線系８６０のグリッドの交点である点Ｇ６にバッファセル７７７を配置する。
【００５５】
最大容量モーメント／最長遅延時間算定部２５は、バッファセル配置部２４により配置されたバッファセルから各グループの重心点へ、現実に可能な最短の配線で結線した場合における、各グループの容量モーメント又はＦ／Ｆへの遅延時間のうち、最大又は最長のものを算定する。例えば図８において、バッファセル７７７から各グループの重心点Ｇ１〜Ｇ４へ、直交配線系８５０及び斜め配線系８６０を用いて、最短距離の配線Ｋ１、Ｋ２、Ｋ３、Ｋ４で結線したとする。この場合、最大容量モーメント／最長遅延時間算定部２５は、各グループの容量モーメント（Ｄ１×Ｃ１、Ｄ２×Ｃ２、Ｄ３×Ｃ３、Ｄ４×Ｃ４）又は各グループのＦ／Ｆへの遅延時間のうち、最大又は最長のものを算定する。容量モーメント差／遅延時間差算定部２６は、最大容量モーメント／最長遅延時間算定部２５で算定された最大容量モーメント又は最長遅延時間と、その他の経路における容量モーメント又は遅延時間の差を算定する。例えば図８において、配線Ｋ２で容量モーメントＤ２×Ｃ２が最大になったとする。この場合、容量モーメント差／遅延時間差算定部２６は、配線Ｋ１、Ｋ３、Ｋ４の容量モーメントと配線Ｋ２の容量モーメントの差を算定する。
【００５６】
配線方向決定部２７は、各配線におけるクロックの伝播遅延を調整する配線を決定する。決定される配線方向は、結線するノード間の直線方向から９０度未満の角度の方向のうち何れかの組み合わせである。例えば図５（ｂ）に示すように、任意のノードＰ５とこの任意のノードの次に信号が伝達される次段ノードＰ６を結ぶ直線方向Ｆ１から９０度未満の角度方向のうち何れかの組み合わせを決定する。即ち、図５（ｃ）に示すＦ２、Ｆ３、Ｆ４、Ｆ９方向の配線のうち何れかの組み合わせを用いて、クロックの伝播遅延を調整する。直交配線系８５０に加えて、図１に示す斜め配線系８６０を用いる場合は、ノードＰ５とノードＰ６を結ぶ直線方向Ｆ１の象限である第４象限にある配線方向のうち何れかの組み合わせでクロックの伝播遅延を調整することが望ましい。即ち、図５（ｃ）に示すＦ２、Ｆ３、Ｆ４方向の配線のうち何れかの組み合わせを用いて、クロックの伝播遅延を調整する。
【００５７】
配線比率算定部２８は、クロックの伝播遅延を調整するため、配線方向決定部２７で決定された配線方向にどの程度の比率で配線するかを算定する。例えば図５（ｃ）に示すように、Ｆ２、Ｆ３、Ｆ４方向の配線でクロックの伝播遅延を調整した結果、ノードＰ５とノードＰ６を最短距離で結んだ配線Ｌ７、Ｌ８、Ｌ９に比し、Ｑ３、Ｐ６間で冗長性がある。直交配線系８５０のグリッドの単位長さをＬとすると、この冗長性は（２−２１／２）Ｌとなる。よってＬ１２の配線長をδＬとすると、冗長性を設けた後の配線長は（２−２１／２）δＬ増加するため、容量モーメントは、Ｃ６×（２−２１／２）δＬ増加する（Ｐ６を重心とするグループの容量をＣ６とする）。このように、Ｌ１２の配線比率δを調整することにより、容量モーメント又は遅延時間を調整することができる。このように冗長性を持たせても、近接しない配線Ｌ１０、Ｌ１１、Ｌ１２によりクロックの伝播遅延を調整できる。この結果、配線Ｌ１０、Ｌ１１、Ｌ１２による配線容量の増加を抑えることができ、ノードＰ５、Ｐ６間を伝播する信号の立ち上がり特性の低下を防止しつつ、更に配線占有面積を増大させることなくクロックの伝播遅延を調整できる。
【００５８】
配線処理部２９は、配線比率算定部２８により算定された配線比率に基づき、基板上に最適配線を行う。
【００５９】
グループ記憶装置９０２は、グルーピング部２１でグループ化されたＦ／Ｆ情報を記憶する。グループ容量／遅延時間記憶装置９０３は、グループ容量／遅延時間算定部２２により算定された各グループ容量又は信号の伝播遅延時間を記憶する。重心点記憶装置９０４は、重心点算定部２３により算定された重心点の位置を記憶する。バッファセル位置記憶部９０６は、バッファセル配置部２４により配置されたバッファセルの位置を記憶する。最大容量モーメント／最長時間記憶装置９０５は、最大容量モーメント／最長遅延時間算定部２５で算定された最大容量モーメント又は最長時間を記憶する。容量モーメント差／遅延時間差記憶装置９０７は、容量モーメント差／遅延時間差算定部２６で算定された容量モーメント又は遅延時間の差を記憶する。配線方向記憶装置９０８は、配線方向決定部２７により決定された配線方向を記憶する。配線比率記憶装置４５は、配線比率算定部２８により算定された配線比率を記憶する。Ｆ／Ｆ情報記憶装置９０９は、入力装置９００により入力されたＦ／Ｆ情報を記憶する。ＲＯＭ１８は、システムを立ち上げる基本入出力システム（ＢＩＯＳ）を格納する。ＲＡＭ１９は、種々の情報、及び演算結果を記憶する。
【００６０】
図６、図８を参照しながら、図７のフローチャートで本発明の第２の実施の形態に係るクロックレイアウト方法を説明する。
【００６１】
（イ）先ずステップＳ３００において、入力装置９００が設計しようとする論理回路のＦ／Ｆ情報を入力する。ステップＳ３０１において、グルーピング部２１はＦ／Ｆ群をグループ化する。
【００６２】
（ロ）ステップＳ３０２において、グループ容量／遅延時間算定部２２は、グルーピング部２１によりグループ化された各グループの容量又は信号の伝播遅延時間を算定する。
【００６３】
（ハ）ステップＳ３０３において、重心点算定部２３は、各グループの重心点Ｇ５の位置を算定する。ステップＳ３０４において、バッファセル配置部２４は、重心点Ｇ５から直近かつ適切な位置にバッファセル７７７を配置する。
【００６４】
（ニ）ステップＳ３０５において、最大容量モーメント／最長遅延時間算定部２５は、バッファセル配置部２４により配置されたバッファセル７７７から各グループの重心点Ｇ１〜Ｇ４へ、最短の配線Ｋ１〜Ｋ４で結線した場合における、各グループの容量モーメント又はＦ／Ｆへの遅延時間のうち、最大又は最長のものを算定する。
【００６５】
（ホ）ステップＳ３０６において、容量モーメント差／遅延時間差算定部２６は、最大容量モーメント／最長遅延時間算定部２５で算定された最大容量モーメント又は最長遅延時間と、その他の経路における容量モーメント又は遅延時間の差を算定する。
【００６６】
（へ）ステップＳ３０７において、配線方向決定部２７は、各配線におけるクロックの伝播遅延を調整する配線方向を決定する。ステップＳ３０８において、配線比率算定部２８は、クロックの伝播遅延を調整するため、配線方向決定部２７で決定された配線方向にどの程度の比率で配線するかを算定する。
【００６７】
（ト）ステップＳ３０９において、配線処理部２９は、配線比率算定部２８により算定された配線比率に基づき、バッファセル７７７から各グループへ配線を行う。
【００６８】
（その他の実施の形態）
本発明の第１の実施の形態及び第２の実施の形態では、バッファを用いたが、リピータであればよい。「リピータ」とは、配線上を流れる信号の再生及び中継を行う素子をいう。
【００６９】
【発明の効果】
以上説明したように、本発明によれば、ローカルエリアの数が多い場合にも、ルートドライバからローカルエリアへの分岐の数を削減でき、分岐の数の制限内でエレクトロマイグレーションの制約を守り、ラウタビリティを向上させ、高集積密度かつ低消費電力で信号の立ち上がり特性の低下を防ぎつつゼロスキューを実現できるクロック配線、クロックレイアウトシステム、及びクロックレイアウト方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るクロック配線の概略を示す図である。
【図２】本発明の第１の実施の形態に係るクロックレイアウトシステムの概略を示す図である。
【図３】（ａ）は、畳み込み前のクロック配線の概略を示す図である。（ｂ）は、畳み込み後のクロック配線の概略を示す図である。（ｃ）は、中間ノードを削除した後のクロック配線の概略を示す図である。
【図４】本発明の第１の実施の形態に係るクロックレイアウト方法を説明するためのフローチャートである。
【図５】（ａ）は、直交配線のみでクロックの伝播遅延を調整する迂回配線の概略を示す図である。（ｂ）は、本発明の第２の実施の形態に係るクロック配線の概略を示す図である。（ｃ）は、配線方向を示す図である。
【図６】本発明の第２の実施の形態に係るクロックレイアウトシステムの概略を示す図である。
【図７】本発明の第２の実施の形態に係るクロックレイアウト方法を説明するためのフローチャートである。
【図８】Ｆ／Ｆの各グループの重心点近傍から配線したクロック配線を示す図である。
【図９】（ａ）は、Ｈツリー型の構造を用いたクロック配線の概略を示す図である。（ｂ）は、スター型の構造を用いたクロック配線の概略を示す図である。（ｃ）は、Ｈツリー型とスター型の構造を併用したクロック配線の概略を示す図である。
【符号の説明】
１  クロック配線処理部
２  第１ノード特定部
３  次段ノード特定部
４  次段ノード数カウント部
５ａ  第３ノード特定部
５ｂ  第３ノード確定部
５ｃ  確定第３ノード角度条件記憶装置
６  畳み込み対象削除部
７  畳み込み配線処理部
８  伝播遅延調整部
９，９００  入力装置
１０  回路情報記憶装置
１１  畳み込み実行部
１４  第２ノード特定部
１５，４６  インターフェイス
１６，４７  ホストコンピュータ
１７，９０１  出力装置
１８，４８  ＲＯＭ
１９，４９  ＲＡＭ
２０，９０１  共通バス
２１  グルーピング部
２２  グループ容量／遅延時間算定部
２３  重心点算定部
２４  バッファセル配置部
２５  最大容量モーメント／最長遅延時間算定部
２６  容量モーメント差／遅延時間差算定部
２７  配線方向決定部
２８  配線比率算定部
２９  配線処理部
４５  配線比率記憶装置
１００，１０１  ＣＰＵ
９０２  グループ記憶装置
９０３  グループ容量／遅延時間記憶装置
９０４  重心点記憶装置
９０５  最大容量モーメント／最長時間記憶装置
９０６  バッファセル位置記憶部
９０７  容量モーメント差／遅延時間差記憶装置
９０８  配線方向記憶装置
９０９  Ｆ／Ｆ情報記憶装置
【図１】
2004289007.tif 000003
【図２】
2004289007.tif 000004
【図３】
2004289007.tif 000005
【図４】
2004289007.tif 000006
【図５】
2004289007.tif 000007
【図６】
2004289007.tif 000008
【図７】
2004289007.tif 000009
【図８】
2004289007.tif 000010
【図９】
2004289007.tif 000011
【手続補正書】
【提出日】平成16年4月13日(2004.4.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
集積回路のクロック配線において、第１ノードと、
該第１ノードから分岐した複数の配線と、
該複数の配線のうちの第１配線に最初に現れる第２ノードと、
前記第２ノードへ入力される信号の入力方向から９０度の角度以内の方向に存在する第３ノードへのみ接続する配線とを備えることを特徴とするクロック配線。
【請求項２】
集積回路のクロック配線において、第１ノードと、
該第１ノードから分岐した複数の配線と、
該複数の配線のうちの第１配線に最初に現れる第２ノードと、
前記第２ノードへ入力される信号の入力方向から４５度の角度以内の方向に存在する第３ノードへのみ接続する配線とを備えることを特徴とするクロック配線。
【請求項３】
集積回路のクロック配線において、ノードと、
前記ノードの次に信号が伝達される次段ノードと、
前記ノードと前記次段ノードを結ぶ直線方向から９０度未満の角度の配線方向の配線のうち何れかの組み合わせからなる、目標遅延設定のための迂回クロック配線。
【請求項４】
集積回路のクロック配線において、ノードと、
前記ノードの次に信号が伝達される次段ノードと、
前記ノードと前記次段ノードを結ぶ直線方向の象限にある配線方向の配線からなる、目標遅延設定のための迂回クロック配線。
【請求項５】
論理回路の回路情報を入力する入力装置と、
前記回路情報を基に、半導体チップ上にルートドライバを配置し、ローカルエリアではＨツリー型の構造で、グローバルエリアではスター型の構造でクロック配線を行うクロック配線処理部と、
前記論理回路の任意の第１ノードから分岐した複数の配線のうちの第１配線に最初に現れるノードを第２ノードとして特定する第２ノード特定部と、
前記第１ノードから分岐した複数の配線のうちの前記第１配線以外の配線に２番目に現れるノードを第３ノードとして特定する第３ノード特定部と、
前記第３ノードのうち、確定第３ノードを確定する第３ノード確定部と、
前記第１ノードから前記確定第３ノードに至るまでの配線及びノードを畳み込む畳み込み実行部
とを含むことを特徴とするクロックレイアウトシステム。
【請求項６】
論理回路の回路情報を入力する入力装置と、
前記論理回路中の任意のノードと前記ノードの次に信号が伝達される次段ノードを結ぶために用いる配線方向を決定する配線方向決定部と、
容量モーメント又は遅延時間が等しくなるように前記配線方向の配線比率を算定する配線比率算定部
とを含むことを特徴とするクロックレイアウトシステム。
【請求項７】
論理回路の回路情報を入力するステップと、
前記回路情報を基に、半導体チップ上にルートドライバを配置し、ローカルエリアではＨツリー型の構造で、グローバルエリアではスター型の構造で初期クロック配線を形成するステップと、
前記初期クロック配線の任意の第１ノードから分岐した複数の配線のうちの第１配線に最初に現れるノードを第２ノードとして特定するステップと、
前記第１ノードから分岐した複数の配線のうちの前記第１配線以外の配線に２番目に現れるノードを第３ノードとして特定するステップと、
前記第３ノードのうち、確定第３ノードを確定するステップと、
前記第１ノードから前記確定第３ノードに至るまでの配線及びノードを畳み込むステップ
とを含むことを特徴とするクロックレイアウト方法。