(57)【要約】【課題】クロックスキューを低く抑えつつ、低消費電力で回路面積の小さな半導体集積回路およびそのような半導体集積回路の設計方法を提供する。【解決手段】半導体集積回路装置は、チップ内に配置され、同一のクロック信号を受けて動作する複数のフリップフロップＦ／Ｆと、複数のフリップフロップを含むチップ内の領域を被覆するように想定された仮想上の擬似メッシュＰＭの交点のうち、複数のフリップフロップの位置に基づいて決定された交点に配置されたクロックバッファＬＣＢと、クロックバッファへクロック信号を伝達する主配線ＣＭＷとを備えている。【選択図】図１
2007300067.tif 000002
【特許請求の範囲】
【請求項１】
チップ内に配置され、同一のクロック信号を受けて動作する複数の回路素子と、
前記複数の回路素子を含む前記チップ内の領域を被覆するように想定された仮想上の擬似メッシュの交点のうち、前記複数の回路素子の位置に基づいて決定された交点に配置されたクロックバッファと、
前記クロックバッファへ前記クロック信号を伝達する主配線とを備えた半導体集積回路装置。
【請求項２】
前記主配線は、前記擬似メッシュのメッシュピッチよりも大きなメッシュピッチで構成されたメッシュ形状に形成されていることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
同一のクロック信号を受けて動作する複数の回路素子の位置を設定し、
前記複数の回路素子を含む領域を被覆する擬似メッシュを想定し、該擬似メッシュの交点のうち、前記複数の回路素子の位置に基づいた交点にクロックバッファの位置を設定し、
前記クロックバッファへ前記クロック信号を伝達する主配線を設定することを具備した半導体集積回路装置の設計方法。
【請求項４】
前記複数の回路素子の密度に依存して前記擬似メッシュのメッシュピッチを決定することをさらに具備した請求項３に記載の半導体集積回路装置の設計方法。
【請求項５】
前記回路素子と前記クロックバッファとの間のクロックスキューを制限した状態で、前記回路素子および前記クロックバッファの位置座標を調節することをさらに具備したことを特徴とする請求項３または請求項４に記載の半導体集積回路装置の設計方法。
【請求項６】
前記回路素子の位置を調節し、
前記回路素子の位置の調節によって生じた該回路素子と前記クロックバッファとの間の配線長に適合するように該クロックバッファの電流駆動能力を調節することをさらに具備したことを特徴とする請求項３または請求項４に記載の半導体集積回路装置の設計方法。
【請求項７】
前記擬似メッシュの仮想線は、配線形成方向に対して傾斜していることを特徴とする請求項１または請求項２に記載の半導体集積回路装置。
【請求項８】
前記擬似メッシュの仮想線は、配線形成方向に対して４５度の角度で傾斜していることを特徴とする請求項１または請求項２に記載の半導体集積回路装置。
【請求項９】
前記擬似メッシュの仮想線は、配線形成方向に対して傾斜していることを特徴とする請求項３から請求項６のいずれかに記載の半導体集積回路装置の設計方法。
【請求項１０】
前記擬似メッシュの仮想線は、配線形成方向に対して４５度の角度で傾斜していることを特徴とする請求項３から請求項６のいずれかに記載の半導体集積回路装置の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置およびその設計方法に関する。
【背景技術】
【０００２】
ＬＳＩのような半導体集積回路装置は、１つのクロック信号或いは位相の異なる複数のクロック信号に同期して動作する。外部から供給されたクロック信号は、ＬＳＩ内部に設けられたフリップフロップ（Ｆ／Ｆ）等のクロック端子を有する回路素子に分配される。これにより、ＬＳＩは、データのリード／ライト、各種演算等の動作を実行することができる。
【０００３】
クロック供給源から各フリップフロップまでの配線長が異なると、クロック信号遅延の相違によるクロックスキュー（以下単に、スキューともいう）が発生する。クロックスキューは、クロック信号がクロック供給源から各回路素子に到達する時間のばらつきである。クロックスキューは、各回路素子における信号の入出力タイミングをずらすので、ＬＳＩが誤動作する虞がある。クロック信号の周波数が高くなると、クロックスキューはＬＳＩの性能にさらに大きく影響するため、クロック信号が高周波数になるほどクロックスキューを抑制することが重要となる。
【０００４】
このようなクロックスキューの発生を防止するために、従来、ＬＳＩ等の半導体集積回路では、Ｈ型のツリー状配線やリピータ回路を対称に配置していた。しかし、配線や回路の対称性を重視したＬＳＩは、スキューの低減には有効であるが、ＬＳＩ内における配線の配置の自由度および各回路素子の配置の自由度が低下し、並びに、配線コストを上昇させるという問題がある。
【０００５】
また、メッシュ状配線からフリップフロップまでの経路にバッファ（最終段バッファ）を配置したＬＳＩが知られている（特許文献１）。しかし、特許文献１では、最終段バッファは、メッシュ配線に沿って配置されており、各交点区間に同数ずつ接続されている、と記載されているだけである。最終段バッファの配置方法の詳細については特許文献１に記載されていない。
【０００６】
従って、最終段バッファが依然としてクロック供給の不要な領域にも存在し得るので、コスト高、消費電力の増大、他の回路素子の配置領域の狭小化、回路面積の増大という問題が生じる。
【特許文献１】特開２００３−９２３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
クロックスキューを低く抑えつつ、低消費電力で回路面積の小さな半導体集積回路およびそのような半導体集積回路の設計方法を提供する。
【課題を解決するための手段】
【０００８】
本発明に係る実施形態に従った半導体集積回路装置は、チップ内に配置され、同一のクロック信号を受けて動作する複数の回路素子と、前記複数の回路素子を含む前記チップ内の領域を被覆するように想定された仮想上の擬似メッシュの交点のうち、前記複数の回路素子の位置に基づいて決定された交点に配置されたクロックバッファと、前記クロックバッファへ前記クロック信号を伝達する主配線とを備えている。
【０００９】
本発明に係る実施形態に従った半導体集積回路装置の設計方法は、同一のクロック信号を受けて動作する複数の回路素子の位置を設定し、前記複数の回路素子を含む領域を被覆する擬似メッシュを想定し、該擬似メッシュの交点のうち、前記複数の回路素子の位置に基づいた交点にクロックバッファの位置を設定し、前記クロックバッファへ前記クロック信号を伝達する主配線を設定することを具備した。
【発明の効果】
【００１０】
本発明による半導体集積回路は、クロックスキューを低く抑えつつ、低消費電力で回路面積が小さい。本発明による半導体集積回路の設計方法は、クロックスキューを低く抑えつつ、低消費電力で回路面積の小さい半導体集積回路を設計することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００１２】
（第1の実施形態）
図１は、本発明に係る第1の実施形態に従ったＬＳＩの設計方法を示すフロー図である。図２から図６は、第1の実施形態に従ったＬＳＩの設計方法を示した概念図である。まず、図２に示すように、フリップフロップＦ／Ｆおよびローカルエリアバッファ（以下単に、バッファという）ＬＣＢ（Local Clock Buffer）をロジカルに合成配置する（Ｓ１０）。図２は、ステップＳ１０において半導体チップ５内に配置されたフリップフロップＦ／ＦおよびバッファＬＣＢを示す。フリップフロップＦ／Ｆは、ＬＳＩにおける様々なデータ間の同期をとるための順序回路であり、その動作タイミング等を考慮して配置される。同一クロック信号で駆動される複数のフリップフロップＦ／Ｆを１つのグループとして捉え、このグループごとにロジカルなバッファＬＣＢを配置する。このとき、バッファＬＣＢは各グループごとに１個のみ存在し、グループ内のフリップフロップＦ／Ｆの個数に依存しない。このロジカルなバッファＬＣＢの配置は論理的には正しいものの、物理的にはバッファＬＣＢの駆動力と負荷としてのフリップフロップＦ／Ｆとのバランスが必ずしも適切でない。バッファＬＣＢの位置は、フリップフロップＦ／Ｆのグループの適切な位置に設定すればよい。例えば、バッファＬＣＢの位置は、グループ内のフリップフロップＦ／Ｆ全体の中心または重心でよい。ステップＳ１０ではフリップフロップＦ／ＦおよびバッファＬＣＢは、あくまでも論理的に設定された状態である。
【００１３】
図２では、フリップフロップＦ／Ｆのグループ１〜３がＬＳＩ内で設定されている。各グループ内のフリップフロップＦ／Ｆには、同一の周波数および位相を有するクロック信号が供給されるが、グループ１〜３のそれぞれに対しては、異なる周波数または異なる位相を有するクロック信号が供給されても差し支えない。
【００１４】
次に、ステップＳ１０で設定されたロジカルなバッファＬＣＢを一旦削除する（Ｓ２０）。続いて、図３に示すように、擬似メッシュＰＭを想定する。擬似メッシュＰＭは、各グループ１〜３のそれぞれの領域を被覆するようにグループごとに設定される。第１の実施形態では、グループ１〜３の擬似メッシュのピッチはほぼ等しい。
【００１５】
次に、擬似メッシュＰＭを想定し、擬似メッシュＰＭの交点のうちバッファＬＣＢの必要な交点にバッファＬＣＢの配置を決定する。このとき、例えば、図４に示すように、擬似メッシュＰＭの交点のうちフリップフロップＦ／Ｆのそれぞれに最も近い交点のみにバッファＬＣＢの位置を設定する（Ｓ３０）。より詳細には、グループ１について、バッファＬＣＢ１は、フリップフロップＦ１およびＦ２に最も近い擬似メッシュＰＭの交点に配置されている。バッファＬＣＢ２は、フリップフロップＦ３に最も近い擬似メッシュＰＭの交点に配置されている。同様に、フリップフロップＦ４に対してバッファＬＣＢ３、フリップフロップＦ５に対してバッファＬＣＢ４、フリップフロップＦ６およびＦ７に対してバッファＬＣＢ５、フリップフロップＦ８に対してバッファＬＣＢ６が最寄の交点に配置される。バッファＬＣＢ１、ＬＣＢ５は、複数のフリップフロップに対して設けられている。ここで、バッファＬＣＢは、擬似メッシュの全ての交点に設けられているのではなく、フリップフロップＦ／Ｆ近傍の交点にのみ設定されている点に注目されたい。
【００１６】
次に、各バッファＬＣＢに対応するフリップフロップＦ／Ｆの容量、配線容量、配線抵抗および各バッファＬＣＢの駆動容量を見積もり、各バッファＬＣＢの電流駆動能力を調節する（Ｓ４０）。このとき、１つの交点に配置するバッファＬＣＢの個数を、その交点を最寄の交点とするフリップフロップＦ／Ｆの総容量（負荷）に応じて増減させる。例えば、或る交点に対応するフリップフロップＦ／Ｆの個数が多い（密度が高い）場合、および／または、フリップフロップＦ／ＦからバッファＬＣＢまでの配線容量が大きい（バッファＬＣＢに対する負荷が大きい）場合には、その交点に配置するバッファＬＣＢの個数を増大させる。これにより、各バッファＬＣＢの電流駆動能力をフリップフロップＦ／Ｆの容量および配線容量に適合させる。しかし、ステップＳ４０では、１つの交点に対応するバッファＬＣＢの個数を変更するだけである。従って、バッファＬＣＢの電流駆動能力は、フリップフロップＦ／Ｆおよび配線に対して粗調整されるだけであり、最適化されてはいない。
【００１７】
そこで、再度、各バッファＬＣＢに対応するフリップフロップＦ／Ｆの容量、配線容量および駆動容量を見積もり、バッファＬＣＢの電流駆動能力を調節する（Ｓ５０）。ステップＳ５０では、１つの交点に配置するバッファＬＣＢのサイズ（Ｗ／Ｌ）を、その交点を最寄の交点とするフリップフロップＦ／Ｆの総容量（負荷）に応じて増減させる。例えば、バッファＬＣＢの個数を増大させるほどではないが、バッファＬＣＢの電流駆動能力がフリップフロップＦ／Ｆの容量および／または配線容量に対して小さい場合、そのバッファＬＣＢのサイズを増大させる。あるいは、ステップＳ４０においてバッファＬＣＢの個数を増大させたことによって、バッファＬＣＢの電流駆動能力がフリップフロップＦ／Ｆの容量および／または配線容量を超えた場合、そのバッファＬＣＢのサイズを減少させる。これにより、各バッファＬＣＢの電流駆動能力をフリップフロップＦ／Ｆの容量に微調整することができる。従って、バッファＬＣＢの電流駆動能力は、フリップフロップＦ／Ｆおよび配線に対して最適化される。
【００１８】
次に、図５に示すように、主配線としてクロックメッシュ配線（以下単に、メッシュ配線という）ＣＭＷ、メッシュ配線ＣＭＷとバッファＬＣＢとの間を接続する副配線ＳＷ、および、バッファＬＣＢとフリップフロップＦ／Ｆとの間を接続するバッファ配線ＢＷを設定する（Ｓ６０）。メッシュ配線ＣＭＷおよび副配線ＳＷは、クロック信号をバッファＬＣＢへ伝達する。バッファ配線ＢＷは、クロック信号をバッファＬＣＢからフリップフロップＦ／Ｆへ伝達する。メッシュ配線ＣＭＷのメッシュピッチＰＣＭＷは、擬似メッシュＰＭのメッシュピッチＰＰＭよりも大きい。換言すると、メッシュピッチＰＣＭＷは、隣り合うバッファＬＣＢの間隔よりも大きい。メッシュ配線ＣＭＷの１つの格子内には、複数のバッファＬＣＢが配置され得る。
【００１９】
その後、フリップフロップＦ／ＦおよびバッファＬＣＢの位置を固定し、これらに重なる他の回路素子の位置を再配置する（Ｓ７０）。これにより、ＬＳＩの回路素子および配線のレイアウトが決定される。
【００２０】
従来のように擬似メッシュＰＭと同じピッチで配線を設けると、総配線長が長くなるので、配線コストが高くなるだけでなく、ＬＳＩの消費電力が増大する。一方、本実施形態では、メッシュ配線ＣＭＷのピッチＰＣＭＷが擬似メッシュＰＭのピッチＰＰＭより大きいので、配線材料を節約することができるとともに、ＬＳＩ全体の消費電力を従来よりも低減させることができる。また、メッシュ配線ＣＭＷのピッチＰＣＭＷが擬似メッシュＰＭのピッチＰＰＭより大きいので、フリップフロップＦ／ＦやバッファＬＣＢ以外の他の回路素子を配置する領域が確保される。これにより、ＬＳＩ全体の回路面積を小さくすることができる。
【００２１】
本実施形態では、バッファＬＣＢは、擬似メッシュの交点の全てに設定されず、フリップフロップＦ／Ｆに最も近い交点にのみ配置される。従って、余分なバッファＬＣＢが存在しないため、チップ面積を節約することができるとともに、ＬＳＩ全体の消費電力をさらに低減させることができる。
【００２２】
本実施形態では、バッファＬＣＢは擬似メッシュＰＭのメッシュピッチＰＰＭに従って配置されるので、バッファＬＣＢとフリップフロップＦ／Ｆとの距離はメッシュピッチＰＰＭ以下となる。従って、スキューは従来のメッシュ分配方式（公知文献１参照）と同様にピッチＰＰＭに基づく所定値以下に低く抑えることができる。また、バッファＬＣＢとフリップフロップＦ／Ｆとの距離がメッシュピッチＰＰＭ以下に制限されるので、スルーレート（slew rate）が低く抑えられ、ＳＩ（Signal Integrity）耐性を確保することができる。
【００２３】
このように、本実施形態は、クロックスキューおよびスルーレートを抑制しつつ、消費電力および回路面積を低減させたＬＳＩを実現することができる。
【００２４】
（第２の実施形態）
第２の実施形態は、擬似メッシュのメッシュピッチをフリップフロップＦ／Ｆの密度によって変更する。第２の実施形態のその他の構成は、第１の実施形態と同様でよい。図６から図９は、本発明に係る第２の実施形態に従ったＬＳＩの設計方法を示す概念図である。図６から図９は、それぞれ第１の実施形態の図２から図５に相当し、グループ３のフリップフロップＦ／Ｆの密度が異なる。第２の実施形態では、グループ３のフリップフロップＦ／Ｆの密度は、グループ１およびグループ２のフリップフロップＦ／Ｆの密度よりも低い。図６から図９に示すその他の構成は、それぞれ図２から図５に示す構成と同様でよい。第２の実施形態による設計フローは、図１に示すものと同様である。
【００２５】
図６に示すようにフリップフロップＦ／ＦおよびバッファＬＣＢをロジカルに配置し（Ｓ１０）、バッファＬＣＢを一旦削除する（Ｓ２０）。
【００２６】
次に、図７に示すように、擬似メッシュＰＭを想定する。擬似メッシュＰＭは、各グループ１〜３のそれぞれの領域を被覆するようにグループごとに設定される。擬似メッシュＰＭのピッチは、各グループ内におけるフリップフロップＦ／Ｆの密度によって決定する。例えば、グループ１〜３の擬似メッシュＰＭの面積Ｓ１〜Ｓ３で、グループ１〜３内に存在するフリップフロップ数Ｎ１〜Ｎ３をそれぞれ割り算する。即ち、Ｎ１／Ｓ１、Ｎ２／Ｓ２、Ｎ３／Ｓ３をそれぞれ演算する。その結果、Ｎ１／Ｓ１、Ｎ２／Ｓ２、Ｎ３／Ｓ３の値に反比例するように各グループの擬似メッシュＰＭのピッチを決定すればよい。
【００２７】
第２の実施形態では、グループ３のフリップフロップＦ／Ｆの密度がグループ１および２のそれよりも明らかに小さい。よって、グループ３の擬似メッシュＰＭのピッチＰＰＭ３は、グループ１の擬似メッシュＰＭのピッチＰＰＭ１およびグループ１の擬似メッシュＰＭのピッチＰＰＭ２よりも大きく設定する。例えば、Ｎ３／Ｓ３＝１／２（Ｎ１／Ｓ１）＝１／２（Ｎ２／Ｓ２）である場合、ＰＰＭ３＝２ＰＰＭ１＝２ＰＰＭ２とすればよい。
【００２８】
次に、図８に示すように、擬似メッシュＰＭの交点のうちフリップフロップＦ／Ｆのそれぞれに最も近い交点のみにバッファＬＣＢの位置を設定する（Ｓ３０）。さらに、ステップＳ４０〜Ｓ６０を経て、図９に示すようにメッシュ配線ＣＭＷ、副配線ＳＷおよびバッファ配線ＢＷを設定する。
【００２９】
第２の実施形態では、グループ３の擬似メッシュのピッチＰＰＭ３がグループ１および２のピッチＰＰＭ１、ＰＰＭ２よりも大きいため、グループ３においてフリップフロップＦ／ＦとバッファＬＣＢとの間の距離が、グループ１および２のそれらの間の距離に比べて長くなる場合が生じる。
【００３０】
しかし、一般に、バッファＬＣＢとフリップフロップＦ／Ｆとの間の遅延時間は、それらの間の配線抵抗（Ｒ）、それらの間の配線容量、並びに、フリップフロップＦ／Ｆの総容量（Ｃ）との積（Ｒ×Ｃ）にほぼ比例する。このため、フリップフロップＦ／Ｆの密度が低いグループ３では、フリップフロップＦ／Ｆの総容量（Ｃ）が低いため、バッファＬＣＢとフリップフロップＦ／Ｆとの間の配線抵抗（Ｒ）が高くても、ＲＣ積をグループ１および２におけるＲＣ積と同程度にすることができる。
【００３１】
フリップフロップＦ／Ｆの密度に関わらず、擬似メッシュのメッシュピッチを一定にすると、本来必要な密度よりも高い密度でバッファＬＣＢを配置する可能性がある。即ち、グループ内のフリップフロップＦ／Ｆに対して本来必要なスキューよりも過度に小さいスキューとなるようにバッファＬＣＢの密度が設定されてしまう。
【００３２】
これに対し、第２の実施形態は、フリップフロップＦ／Ｆへ効率良く駆動能力を与えることができるように、バッファＬＣＢを配置することができる。よって、第２の実施形態は、製造コスト、消費電力、回路面積の観点からより好ましい。
【００３３】
（第３の実施形態）
図１０は、本発明に係る第３の実施形態に従ったＬＳＩの設計方法を示すフロー図である。第３の実施形態は、第１の実施形態のステップＳ６０の後に、フリップフロップＦ／ＦとバッファＬＣＢとの間のクロックスキューやスルーレートを所定値以下に維持した状態で、フリップフロップＦ／ＦおよびバッファＬＣＢの各位置座標を調節する。
【００３４】
まず、図１に示したステップＳ１０〜Ｓ６０を実施する。その後、フリップフロップＦ／ＦとバッファＬＣＢとの間のクロックスキューを制限するために、Ｆ／Ｆ−ＬＣＢ間に制限を設定する（Ｓ７１）。次に、フリップフロップＦ／ＦとバッファＬＣＢとの間の制限を維持しつつ、バッファＬＣＢの位置を調節する（Ｓ８１）。
【００３５】
図１１は、第３の実施形態によるＬＳＩ設計方法の概念図である。フリップフロップＦＦ１は、イネーブル信号生成回路へイネーブル信号生成用入力データを供給する。イネーブル信号生成回路は、バッファＬＣＢ内のゲーティングロジック回路(例えば、図１１における ＡＮＤゲート)に供給されるクロックイネーブル信号を発生し、バッファＬＣＢを通過するクロック信号のフリップフロップＦＦ２およびＦＦ３への供給を制御する。
【００３６】
ゲーティングロジック回路は、例えば、フリップフロップＦＦ１からのイネーブル信号とクロック信号とのＡＮＤ演算を実行し、その結果としてフリップフロップＦＦ２、ＦＦ３を駆動する信号を出力するＡＮＤゲートを含む。ゲーティング動作は、バッファＬＣＢからフリップフロップＦＦ２およびＦＦ３へのクロック信号の出力を停止／開始する動作である。
【００３７】
一般に、フリップフロップＦＦ１からイネーブル信号生成回路を介してバッファＬＣＢまでクロック制御信号が達する時間（遅延時間）は、クロック信号の周波数で規定される一定の遅延時間以下でなければならない。これは、クロックイネーブル信号がバッファＬＣＢ内のＡＮＤゲーティングロジック回路において相手側のクロック信号のクロックエッジに対してタイミング制約を有するためである。この遅延時間を一定以下にするために、ステップＳ８１では、バッファＬＣＢの位置を調節する。しかし、バッファＬＣＢの位置を単に調節した場合、フリップフロップＦ／ＦとバッファＬＣＢとの間のクロックスキューが増大する可能性がある。
【００３８】
そこで、第３の実施形態では、ステップＳ１０〜Ｓ６０で設定されたフリップフロップＦ／ＦとバッファＬＣＢとの間の制限を維持しつつ、バッファＬＣＢの位置を調節する。
【００３９】
スキューは、上述のとおりＦ／Ｆ−ＬＣＢ間の配線のＲＣ積に依存する。このため、例えば、配線幅を一定とした場合、Ｆ／Ｆ−ＬＣＢ間の制限手法としては、フリップフロップＦ／ＦとバッファＬＣＢとの間の配線に対して最大配線長Ｌｍａｘを設定する手法がある。バッファＬＣＢとフリップフロップＦＦ２との間の配線長をＬ２とし、バッファＬＣＢとフリップフロップＦＦ３との間の配線長をＬ３とすると、ステップＳ８１では、Ｌ２およびＬ３がＬｍａｘを超えないようにバッファＬＣＢの位置を調節する。
【００４０】
Ｆ／Ｆ−ＬＣＢ間の制限手法は、バッファＬＣＢを中心として或る一定の領域Ｒ内にフリップフロップＦ／Ｆを配置する手法であってもよい。例えば、バッファＬＣＢを中心とした円形領域Ｒ内にフリップフロップＦＦ２およびＦＦ３が配置されるように制限する。この場合、バッファＬＣＢとフリップフロップＦ／Ｆとの間の最大配線長Ｌｍａｘは円形領域Ｒの半径になる。領域Ｒは、円形に限らず、多角形であってもよい。
【００４１】
配線のスルーレートもＲＣ積によるので、Ｆ／Ｆ−ＬＣＢ間の制限手法は、フリップフロップＦ／ＦとバッファＬＣＢとの間のスルーレートの観点から制限されてもよい。
【００４２】
第３の実施形態は、バッファＬＣＢとフリップフロップＦ／Ｆとの間の制限を維持しつつ、バッファＬＣＢの位置調整を行う。これにより、バッファＬＣＢとフリップフロップＦ／Ｆとの間のクロックスキューを一定値以下に制限しつつ、イネーブル信号生成回路からのクロック制御信号の遅延時間を低く抑えることができる。
【００４３】
第３の実施形態は、第１の実施形態の効果をさらに得ることができる。第３の実施形態は、第２の実施形態と組み合わせることもできる。この場合、第３の実施形態は、第２の実施形態の効果をも得ることができる。
【００４４】
（第４の実施形態）
図１２は、本発明に係る第４の実施形態に従ったＬＳＩの設計方法を示すフロー図である。第４の実施形態では、第１の実施形態のステップＳ７０の後に、フリップフロップＦ／Ｆの位置設定を再調整する（Ｓ８２）。ステップＳ１０〜Ｓ７０において、フリップフロップＦ／ＦおよびバッファＬＣＢは、それらの間のスキューを抑制した状態で位置設定されている。しかし、フリップフロップＦ／Ｆ間の信号の送受信のタイミングを適切にするために、フリップフロップＦ／Ｆの位置を再度調節する場合がある。
【００４５】
フリップフロップＦ／Ｆの位置を調整した後、ステップＳ８２で生じたフリップフロップＦ／Ｆ−バッファＬＣＢ間のクロックスキューを抑制するために、バッファＬＣＢのサイズ（Ｗ／Ｌ）を調整する（Ｓ９２）。例えば、ステップＳ８２において、フリップフロップＦ／ＦがバッファＬＣＢから離れた場合、スキューが上昇してしまう。このスキューを抑制するために、ステップＳ９２では、バッファＬＣＢのサイズを大きくすることによって、バッファＬＣＢの電流駆動能力を大きくする。
【００４６】
第４の実施形態は、フリップフロップＦ／ＦとバッファＬＣＢとの間のクロックスキューを抑制しつつ、フリップフロップＦ／Ｆ間の信号のタイミングを最適化することができる。さらに、第４の実施形態は、第１の実施形態の効果をも得ることができる。
【００４７】
第４の実施形態は、第２の実施形態と組み合わせてもよい。この場合、第４の実施形態は、第２の実施形態の効果をも得ることができる。
【００４８】
（第５の実施形態）
図１３は、本発明に係る第５の実施形態に従った設計途中のＬＳＩを示す概念図である。第５の実施形態の設計フローは、図１に示すフローと同様である。また、フリップフロップＦ／Ｆの位置およびロジカルなＬＣＢの合成配置は、図２と同様である。
【００４９】
図５に示すクロックメッシュ配線ＣＭＷ、副配線ＳＷまたはバッファ配線ＢＷ等は、縦と横に直交する方向に形成される。第１の実施形態では、擬似メッシュＰＭは、このようなクロックメッシュ配線ＣＭＷ、副配線ＳＷまたはバッファ配線ＢＷ等の配線形成方向（以下、配線形成方向）に対して平行または垂直に延びている。しかし、第５の実施形態では、擬似メッシュＰＭの仮想線は、配線形成方向に対して傾斜している。例えば、第５の実施形態における擬似メッシュＰＭの仮想線は、配線形成方向に対して４５度の角度で傾斜している。
【００５０】
尚、擬似メッシュＰＭの仮想線は、実際に配線としては形成されず、バッファＬＣＢの配置を決定する際に利用される仮想的な線である。
【００５１】
図１４は、図１３に続く、ＬＳＩの設計方法を示す概念図である。バッファＬＣＢが、フリップフロップＦ／Ｆに近いメッシュ交点に設計上配置される。
【００５２】
図１５は、図１４に続く、ＬＳＩの設計方法を示す概念図である。図１５では、主配線としてのメッシュ配線ＣＭＷ、メッシュ配線ＣＭＷとバッファＬＣＢとの間を接続する副配線ＳＷ、および、バッファＬＣＢとフリップフロップＦ／Ｆとの間を接続するバッファ配線ＢＷが設定されている。
【００５３】
バッファ配線ＢＷは、通常、配線形成方向に対して平行または垂直に設けられる。従って、バッファＬＣＢとフリップフロップＦ／Ｆとの間のマンハッタン距離がバッファ配線ＢＷの配線距離となる。ここで、マンハッタン距離とは、配線形成方向に対して平行方向および／または垂直方向に延びる直線で構成された線分の距離である。例えば、図１６のＬＣＢから交点Ｃ１までのマンハッタン距離は、ＬＣＢから交点Ｃ２までの直線距離と交点Ｃ２から交点Ｃ１までの直線距離との和である。尚、本明細書において、配線距離は、マンハッタン距離を意味する。
【００５４】
図１６に、第１および第５の実施形態における、それぞれの擬似メッシュと、擬似メッシュ交点に配置されたバッファＬＣＢが駆動する範囲とを示す。ここでは、第５の実施形態の擬似メッシュピッチＰＰＭ５は、第１の実施形態の擬似メッシュピッチＰＰＭの２１／２倍になっている。第１の実施形態におけるバッファＬＣＢとフリップフロップＦ／Ｆとの間の最大配線距離はＰＰＭであり、第５の実施形態のそれは（２１／２）ＰＰＭ５である。従って、図１６のように、ピッチＰＰＭ５＝２１／２ＰＰＭとすれば、第１および第５の実施形態におけるバッファＬＣＢとフリップフロップＦ／Ｆとの間の最大配線距離が等しくなる。その結果、バッファＬＣＢとフリップフロップＦ／Ｆとの間の最大配線距離が同一である場合に、第５の実施形態は、第１の実施形態に比べ、２倍の面積の領域にあるフリップフロップＦ／Ｆを１つのバッファＬＣＢで駆動することができる。より詳細には、１つのバッファＬＣＢがフリップフロップを駆動することができる駆動範囲は、第１の実施形態では（ＰＰＭ）２であり、第５の実施形態では、（ＰＰＭ５）２＝２＊（ＰＰＭ）２となる。
【００５５】
これは、フリップフロップＦ／Ｆが多いほど、第５の実施形態において配置されるローカルクロックバッファＬＣＢの数は、第１の実施形態におけるそれの２分の１に近づくことを意味する。これにより、第５の実施形態による方法で設計されたＬＳＩは、消費電力をさらに低減することができ、コストを低減させることができる。
【００５６】
上記の効果は、第５の実施形態の擬似メッシュのメッシュピッチを第１の実施形態のそれの２１／２倍とした場合に得られる効果である。しかし、第５の実施形態の擬似メッシュのメッシュピッチを第１の実施形態のそれと同じにしてもよい。この場合、1つのバッファＬＣＢが駆動するフリップフロップＦ／Ｆの存在領域の面積も等しくなり、フリップフロップ−バッファ間の最大配線距離を小さくすることができる。よって、第５の実施形態は、第1の実施形態よりもクロック信号遅延およびスキューを小さくすることができる。
【００５７】
第５の実施形態は、第２から第４の実施形態に適用することができる。第５の実施形態を第２の実施形態に適用した場合、図７に示すグループ１〜３ごとに、フリップフロップＦ／Ｆの密度に応じて、擬似メッシュＰＭのピッチを相違させればよい。これにより、第５の実施形態は、第２の実施形態の効果をも得ることができる。第５の実施形態を第３の実施形態に適用する場合、メッシュ配線ＣＭＷ等の設定後、図１０に示すステップＳ７１およびＳ８１を実行すればよい。これにより、第５の実施形態は、さらに第３の実施形態の効果をも得ることができる。第５の実施形態を第４の実施形態に適用する場合、バッファＬＣＢおよびフリップフロップＦ／Ｆの固定後、図１２に示すステップＳ８２およびＳ９２を実行すればよい。これにより、第５の実施形態は、さらに第４の実施形態の効果をも得ることができる。
【００５８】
以上の実施形態では、主配線（ＣＭＷ）は、メッシュ状に形成されている。しかし、均等なスキューでクロック信号をバッファＬＣＢまで伝達することができる限りにおいて、主配線の形状はメッシュ以外の形状であってもよい。例えば、主配線は、ツリー形状であってもよい。
【００５９】
また、フリップフロップＦ／Ｆのグループが複数ある場合、そのグループの領域は重複していても良い。
【図面の簡単な説明】
【００６０】
【図１】本発明に係る第1の実施形態に従ったＬＳＩの設計方法を示すフロー図。
【図２】第1の実施形態に従ったＬＳＩの設計方法を示した概念図。
【図３】図２に続く、第1の実施形態に従ったＬＳＩの設計方法を示した概念図。
【図４】図３に続く、第1の実施形態に従ったＬＳＩの設計方法を示した概念図。
【図５】図４に続く、第1の実施形態に従ったＬＳＩの設計方法を示した概念図。
【図６】本発明に係る第２の実施形態に従ったＬＳＩの設計方法を示す概念図。
【図７】図６に続く、第２の実施形態に従ったＬＳＩの設計方法を示す概念図。
【図８】図７に続く、第２の実施形態に従ったＬＳＩの設計方法を示す概念図。
【図９】図８に続く、第２の実施形態に従ったＬＳＩの設計方法を示す概念図。
【図１０】本発明に係る第３の実施形態に従ったＬＳＩの設計方法を示すフロー図。
【図１１】第３の実施形態によるＬＳＩ設計方法の概念図。
【図１２】本発明に係る第４の実施形態に従ったＬＳＩの設計方法を示すフロー図。
【図１３】本発明に係る第５の実施形態に従った設計途中のＬＳＩを示す概念図。
【図１４】図１３に続く、ＬＳＩの設計方法を示す概念図。
【図１５】図１４に続く、ＬＳＩの設計方法を示す概念図。
【図１６】第１の実施形態の擬似メッシュと第５の実施形態の擬似メッシュとを示す図。
【符号の説明】
【００６１】
５…チップ、ＬＳＩ
Ｆ／Ｆ、ＦＦｎ…フリップフロップ
ＬＣＢ…ローカルクロックバッファ
ＰＭ…擬似メッシュ
ＣＭＷ…主配線
ＳＷ…副配線
【図１】
2007300067.tif 000003
【図２】
2007300067.tif 000004
【図３】
2007300067.tif 000005
【図４】
2007300067.tif 000006
【図５】
2007300067.tif 000007
【図６】
2007300067.tif 000008
【図７】
2007300067.tif 000009
【図８】
2007300067.tif 000010
【図９】
2007300067.tif 000011
【図１０】
2007300067.tif 000012
【図１１】
2007300067.tif 000013
【図１２】
2007300067.tif 000014
【図１３】
2007300067.tif 000015
【図１４】
2007300067.tif 000016
【図１５】
2007300067.tif 000017
【図１６】
2007300067.tif 000018