(57)【要約】【課題】消費電力を抑制しつつ、スキューの抑制およびスラックの増大を可能にするクロック分配回路の設計方法を提供する。【解決手段】クロック分配回路の設計方法は、バッファの位置および配線の位置を設定し、クロック分配回路の共通ノードから第１の回路素子までのクロック伝達時間およびクロック分配回路の共通ノードから第２の回路素子までのクロック伝達時間を計算し、共通ノードから第１の回路素子までの第１の経路と共通ノードから第２の回路素子までの第２の経路との間のいずれかの箇所を短絡する短絡配線を設定することによって、共通ノードから第１の回路素子までのクロック伝達時間のばらつきおよび共通ノードから第２の回路素子までのクロック伝達時間のばらつきだけ、第２の回路素子が受け取るデータと第２の回路素子が受け取るクロックとの間のスラックを改善することを具備する。【選択図】図６
2009187110.tif 000002
【特許請求の範囲】
【請求項１】
複数のバッファおよび配線で構成され、複数の回路素子へクロックを分配するクロック分配回路の設計方法であって、
前記バッファの位置および前記配線の位置を設定し、
前記クロック分配回路の共通ノードから第１の回路素子までのクロック伝達時間および前記クロック分配回路の共通ノードから第２の回路素子までのクロック伝達時間を計算し、
前記共通ノードから前記第１の回路素子までの第１の経路と前記共通ノードから前記第２の回路素子までの第２の経路との間のいずれかの箇所を短絡する短絡配線を設定することによって、前記共通ノードから前記第１の回路素子までの前記クロック伝達時間のずれおよび前記共通ノードから前記第２の回路素子までのクロック伝達時間のずれだけ、前記第２の回路素子が受け取るデータと前記第２の回路素子が受け取るクロックとの間のスラックを改善することを具備し、
前記共通ノードから前記第１の回路素子までのオンチップばらつきおよび前記共通ノードから前記第２の回路素子までのオンチップばらつきの和の分だけ、前記第２の回路素子が受け取るデータと前記第２の回路素子が受け取るクロックとの間のスラックを大きくすることを特徴とするクロック分配回路の設計方法。
【請求項２】
前記スラックが負であり、前記第２の回路素子のセットアップエラーまたはホールドエラーが生じている場合に、前記短絡配線を設定することを特徴とする請求項１に記載のクロック分配回路の設計方法。
【請求項３】
前記短絡配線は、前記第１の経路および前記第２の経路の末端を選択的に短絡することを特徴とする請求項1に記載のクロック分配回路の設計方法。
【請求項４】
前記共通ノードから前記第１の回路素子までのオンチップばらつきおよび前記共通ノードから前記第２の回路素子までのオンチップばらつきの和が所定値未満である場合に、前記短絡配線を設定することを特徴とする請求項１に記載のクロック分配回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック分配回路の設計方法に関する。
【背景技術】
【０００２】
ＬＳＩのような半導体集積回路装置は、１つのクロック信号或いは位相の異なる複数のクロック信号に同期して動作する。外部から供給されたクロック信号は、ＬＳＩ内部に設けられたフリップフロップ（Ｆ／Ｆ）等のクロック端子を有する記憶素子に分配される。これにより、ＬＳＩは、データのリード／ライト、各種演算等の動作を実行することができる。
【０００３】
クロック分配回路は、クロック供給源から各フリップフロップへクロックを伝達する回路である。クロック供給源から各フリップフロップまでの配線長が異なると、クロック信号遅延の相違によるクロックスキュー（以下単に、スキューともいう）が発生する。スキューは、クロック信号がクロック供給源から各回路素子に到達する時間のばらつきである。
【０００４】
フリップフロップは、それより上流のフリップフロップからのデータをクロックに基づいてラッチし、このデータをクロックに基づいて出力する。しかし、スキューが大きいと、フリップフロップがデータを取り込むタイミングまたはフリップフロップがデータを出力するタイミングがずれる場合がある。これは、フリップフロップのセットアップエラーまたはホールドエラーの原因となる。セットアップエラーまたはホールドエラーは、ＬＳＩの誤動作の原因となる。
【０００５】
通常、データがフリップフロップに到達するタイミングとそのデータに対応するクロックの立ち上がりのタイミングとの間には、或る程度の余裕（スラック（slack））がある。スラックが小さいと、データのタイミングおよびクロックのタイミングのずれによって、セットアップエラーまたはホールドエラーが発生しやすくなる。近年、回路規模の拡大およびこれに伴うプロセスばらつきの増大により、設計段階では、スキューを抑制するとともにスラックを可及的に大きくすることが要求されている。さらに、クロックの周波数が高くなると、スキューおよびスラックはＬＳＩの性能にさらに大きく影響するため、クロックが高周波数になるほどスキューの抑制およびスラックの増大が重要となる。
【０００６】
スキューの抑制およびスラックの増大のために、クロック分配回路をメッシュ状に形成することが考えられる。しかし、メッシュ状の配線は、配線の設置面積を大きくし、かつ、消費電力も大きい。
【特許文献１】特開２００１−１１７９６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
消費電力を抑制しつつ、オンチップばらつきを抑え、スキューの抑制およびスラックの改善を可能にするクロック分配回路の設計方法を提供する。
【課題を解決するための手段】
【０００８】
本発明に係る実施形態に従ったクロック分配回路の設計方法は、複数のバッファおよび配線で構成され、複数の回路素子へクロックを分配するクロック分配回路の設計方法であって、
前記バッファの位置および前記配線の位置を設定し、前記クロック分配回路の共通ノードから第１の回路素子までのクロック伝達時間および前記クロック分配回路の共通ノードから第２の回路素子までのクロック伝達時間を計算し、前記共通ノードから前記第１の回路素子までの第１の経路と前記共通ノードから前記第２の回路素子までの第２の経路との間のいずれかの箇所を短絡する短絡配線を設定することによって、前記共通ノードから前記第１の回路素子までの前記クロック伝達時間のずれおよび前記共通ノードから前記第２の回路素子までのクロック伝達時間のずれだけ、前記第２の回路素子が受け取るデータと前記第２の回路素子が受け取るクロックとの間のスラックを改善することを具備し、
前記共通ノードから前記第１の回路素子までのオンチップばらつきおよび前記共通ノードから前記第２の回路素子までのオンチップばらつきの和の分だけ、前記第２の回路素子が受け取るデータと前記第２の回路素子が受け取るクロックとの間のスラックを大きくすることを特徴とする。
【発明の効果】
【０００９】
本発明によるクロック分配回路の設計方法は、消費電力を抑制しつつ、オンチップばらつきを抑え、スキューの抑制およびスラックの改善を可能にする。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００１１】
図１は、本発明に係る実施形態に従ったＬＳＩの設計方法の例を示すフロー図である。まず、論理記述された順序回路をスタンダードセルで用意した論理を使用して合成する（Ｓ１０）。ここで合成されたロジック回路は、フリップフロップ（Ｆ／Ｆ)間のタイミングを考慮して合成されている。しかし、クロックソースからＦ／Ｆまでの回路は、Ｆ／Ｆの配置に強く影響を受けるため、必ずしも適切にはなっていない。
【００１２】
次に、合成後のロジック回路の各素子の位置を設定するプレイスメントを行う（Ｓ２０）。次に、ＣＴＳ（Clock Tree Synthesis）を行う（Ｓ３０）。これにより、クロックソースからＦ／Ｆまでのクロックバッファの配置および配線、駆動力最適化が行われる。さらに、ロジック回路中の素子間の配線の経路を最適化するためにルーティング（route）を行う（Ｓ４０）。これにより、クロック分配回路が設定される。設計によっては、ロジック部分とクロックの配線を同時に行うケースもある。
【００１３】
次に、ＳＴＡ（Static Time Analysis）を行うことによって、設定されたクロック分配回路のクロック伝達時間、スキュー、スラック等を計算する（Ｓ５０）。ＳＴＡにおいて、例えば、スキューがスペックを満たさない場合には、再度、ステップＳ４０に戻り、ルーティングを行う。あるいは、ステップＳ３０のＣＴＳまたはステップＳ２０のプレイスメントまで戻ってもよい。ステップＳ２０〜Ｓ４０は、Ｐ＆Ｒ（Place and Route）と呼ばれ、ステップＳ２０〜Ｓ４０の実行順を問わない。ＳＴＡおよびＰ＆Ｒを繰返し実行することによって、クロック分配回路が最適化される。
【００１４】
図２は、クロック分配回路を示す概念図である。クロック分配回路は、複数のバッファＬＣＢ１〜ＬＣＢ３および配線Ｗで構成され、複数のＦ／Ｆ（図３参照）へクロックを分配する。クロック分配回路は、共通ノードＮＣから第１段目のバッファＬＣＢ１へ分配され、次に、第２段目のバッファＬＣＢ２へ分配され、さらに、最終段のバッファＬＣＢ３へ分配されている。最終段のバッファＬＣＢ３は、本来、同期されたクロックを出力するはずであるが、実際には、配線長、配線幅等の相違によって、クロックスキューが生じる。クロックスキューは、クロック分配回路の各経路におけるデータ遅延時間のばらつきまたはデータ伝達時間のばらつきを意味する。例えば、共通ノードＮＣからバッファＬＣＢａまでの第１の経路Ｐａおよび共通ノードＮＣからバッファＬＣＢｂまでの第２の経路Ｐｂは、理想的には等価であり、経路ＰａおよびＰｂのデータ伝達時間は等しいことが好ましい。即ち、経路ＰａおよびＰｂのスキューはゼロであることが好ましい。しかし、実際には、クロック以外の回路の配置やクロック伝達先のＦ／Ｆの配置の制約、更には、半導体の製造上のばらつきのうち、回路上でランダムに発生するばらつき( オンチップばらつき) により、経路ＰａおよびＰｂのデータ伝達時間が完全に一致（スキューはゼロにはならない場合）させることは難しい。尚、バッファＬＣＢａおよびＬＣＢｂは、クロック分配回路の最終段のバッファＬＣＢ３に含まれている。このスキューは、後述のように、ホールドエラーまたはセットアップエラーの原因となる。
【００１５】
図３は、クロック分配回路およびフリップフロップの構成を示す概念図である。ＰａおよびＰｂは上述の第１および第２の経路をそれぞれ示す。Ｐｄは、Ｆ／ＦａからＦ／Ｆｂまでのデータパスを示す。データパスＰｄは、配線および回路素子で構成されている。バッファＬＣＢａは、Ｆ／Ｆａに接続されており、Ｆ／Ｆａにクロックを供給する。バッファＬＣＢｂは、Ｆ／Ｆｂに接続されており、Ｆ／Ｆｂにクロックを供給する。Ｆ／Ｆａは、上流にあるフリップフロップからデータＤを受け取り、データＤをラッチし、さらにデータＤをデータパスＰｄへ出力する。Ｆ／Ｆｂは、データパスＰｄからデータＤを受け取り、データＤをラッチし、さらにデータＤを下流のフリップフロップへ出力する。Ｆ／ＦａおよびＦ／Ｆｂは、バッファＬＣＢａおよびＬＣＢｂからのクロックに従って動作する。
【００１６】
図４（Ａ）および図４（Ｂ）は、スラックおよびホールドエラーを示すタイミング図である。例えば、図３のバッファＬＣＢａ、ＬＣＢｂからＦ／Ｆａ、Ｆ／Ｆｂに入力されるクロックをそれぞれＣＬＫａ、ＣＬＫｂとする。Ｆ／ＦａからＦ／Ｆｂに送信されたデータをＤ０〜Ｄ２とする。
【００１７】
図４（Ａ）に示す実線のクロックＣＬＫｂおよびデータＤ０は、バッファＬＣＢａおよびＬＣＢｂのクロックスキューがゼロのときのクロックおよびデータである。このとき、セットアップ側のスラックＳＬＫｓおよびホールド側のスラックＳＬＫｈはともに大きく、好ましい。もし、バッファＬＣＢａからのクロックＣＬＫａが所望のタイミングよりも早まった場合、データは、破線矢印Ｄ１またはＤ２で示すように、Ｄ０よりも早くＦ／Ｆｂに到達する。データＤ１の場合、スラックＳＬＫｈは小さくなり、クロックＣＬＫｂが僅かに遅延したときにホールドエラーとなる。データＤ２の場合、スラックＳＬＫｈは負（ネガティブスラック）であり、クロックＣＬＫｂが所望のタイミングで動作しても、ホールドエラーとなる。ホールドエラーは、データを取り込むべき本来のタイミング（図４（Ａ）の立上がり端Ｅ）よりも早いタイミングでデータを取り込んでしまうエラーである。
【００１８】
図４（Ｂ）の一点鎖線で示すクロックＣＬＫｂは所望のタイミングよりも遅れている。このように、クロックＣＬＫｂが所望のタイミングよりも遅延している場合であっても、スラックＳＬＫｈは小さくなり、ホールドエラーが生じやすくなる。即ち、Ｆ／Ｆｂのホールドエラーは、データを出力する上流のＦ／ＦａへのクロックＣＬＫａが所望のタイミングよりも早まり、および／または、データを受けるＦ／ＦｂへのクロックＣＬＫｂが所望のタイミングよりも遅延することによって生じる。
【００１９】
図５（Ａ）および図５（Ｂ）は、スラックおよびセットアップエラーを示すタイミング図である。図５（Ａ）に示す実線のクロックＣＬＫｂおよびデータＤ０は、バッファＬＣＢａおよびＬＣＢｂのクロックスキューがゼロのときのクロックおよびデータである。このとき、セットアップ側のスラックＳＬＫｓおよびホールド側のスラックＳＬＫｈはともに大きく、好ましい。もし、バッファＬＣＢａからのクロックＣＬＫａが所望のタイミングよりも遅延した場合、データは、破線矢印Ｄ１１またはＤ１２で示すように、Ｄ０よりも遅延してＦ／Ｆｂに到達する。データＤ１１の場合、スラックＳＬＫｓは小さくなり、クロックＣＬＫｂが僅かに早まったときにセットアップエラーとなる。データＤ１２の場合、スラックＳＬＫｓは負（ネガティブスラック）であり、クロックＣＬＫｂが所望のタイミングで動作しても、セットアップエラーとなる。セットアップエラーは、データを取り込むタイミングが、図５（Ａ）の立上がり端Ｅで示す所望のタイミングよりも遅くなってしまうエラーである。
【００２０】
図５（Ｂ）の一点鎖線で示すクロックＣＬＫｂは所望のタイミングよりも早まっている。このように、クロックＣＬＫｂが所望のタイミングよりも早まっている場合であっても、スラックＳＬＫｓは小さくなり、セットアップエラーが生じやすくなる。即ち、Ｆ／Ｆｂのセットアップエラーは、データを出力する上流のＦ／ＦａへのクロックＣＬＫａが所望のタイミングよりも遅延し、および／または、データを受けるＦ／ＦｂへのクロックＣＬＫｂが所望のタイミングよりも早まることによって生じる。
【００２１】
そこで、図６に示すように、共通ノードＮＣからＦ／Ｆａまでの経路Ｐａと共通ノードＮＣからＦ／Ｆｂまでの経路Ｐｂとの間のいずれかの箇所を短絡する短絡配線ＳＷを設定する。短絡配線ＳＷの位置は、スラックの改善量が最も大きい位置を選択する。従って、短絡配線ＳＷは、図６の実線で示すようにバッファＬＣＢａ、ＬＣＢｂの直前の配線を短絡してもよい。短絡配線ＳＷは、図６の破線で示すように第２段目のバッファＬＣＢ２の直前の配線を短絡してもよい。さらに、短絡配線ＳＷは、図３に示すようにＦ／ＦａおよびＦ／Ｆｂの直前の配線を短絡してもよい。Ｆ／ＦａおよびＦ／Ｆｂの直前の配線を短絡した場合、Ｆ／FａとＦ／F ｂとの間のパスについて、経路ＰａおよびＰｂから先のＯＣＶ（On Chip Variation）のみ考慮すればよくなる。つまり、経路ＰａおよびＰｂのＯＣＶの分だけスラックを改善させることができる。オンチップバリエーションＯＣＶは、実際のクロック伝達時間と所望（基準）のクロック伝達時間とのずれ（クロック伝達時間のシフト量）を意味する。
【００２２】
短絡配線ＳＷによるスラックの改善をより詳細に説明する。図３に示す共通ノードＮＣからＦ／Ｆａ（ノードＮａ）までのクロック伝達時間を（Ｔａ＋Ｔｏｃｖａ）とし、共通ノードＮＣからＦ／Ｆｂ（ノードＮｂ）までのクロック伝達時間を（Ｔｂ＋Ｔｏｃｖｂ）とする。また、ノードＮａにクロックが入力されてからノードＮｄにデータＤが到達するまでの時間をＴｄａｔａとし、Ｆ／ＦｂでデータＤがラッチされる時間をＴｌａとする。ここで、Ｔａは、共通ノードＮＣからノードＮａまでの所望（基準）のクロック伝達時間であり、図５（Ａ）および図５（Ｂ）に示すデータＤ０の場合のクロック伝達時間である。Ｔｂは、共通ノードＮＣからノードＮｂまでの所望（基準）のクロック伝達時間であり、図４（Ａ）および図５（Ａ）に示す実線のクロックＣＬＫｂのクロック伝達時間である。Ｔｏｃｖａは、ノードＮａにおけるクロックＣＬＫａのオンチップバリエーションの値であり、Ｔｏｃｖｂは、ノードＮｂにおけるクロックＣＬＫｂのオンチップバリエーションの値である。Ｔａ、Ｔｏｃｖａ、Ｔｂ、Ｔｏｃｖｂ、ＴｄａｔａおよびＴｌａの単位は、例えば、ピコ秒（ｐｓ）である。
【００２３】
スラックＳＬＫｈおよびＳＬＫｓは、それぞれ式１および式２のように表される。
ＳＬＫｈ＝（Ｔａ−Ｔｏｃｖａ−Ｔｄａｔａ）−（Ｔｂ＋Ｔｏｃｖｂ−Ｔｌａ）    
（式１）
ＳＬＫｓ＝（Ｔｂ−Ｔｏｃｖｂ−Ｔｌａ）−（Ｔａ＋Ｔｏｃｖａ−Ｔｄａｔａ）
（式２）
【００２４】
ＴａおよびＴｂは基準クロック伝達時間であるので一定である。よって、ラッチ時間Ｔｌａおよびデータ伝達時間Ｔｄａｔａｈが一定とすると、スラックは、オンチップバリエーションの値ＴｏｃｖａおよびＴｏｃｖｂに依存する。Ｔｏｃｖａは、クロックＣＬＫａが基準クロック伝達時間Ｔａよりも遅くＦ／Ｆａに到達した場合に正値となり、それよりも早く到達した場合に負値となる。Ｔｏｃｖｂは、クロックＣＬＫｂが基準クロック伝達時間よりも遅くＦ／Ｆｂに到達した場合に正値となり、それよりも早く到達した場合に負値となる。即ち、−Ｔｏｃｖａが負側に大きく、かつ、Ｔｏｃｖｂが正側に大きい場合に、式１に示すスラックＳＬＫｈが小さくなり、ホールドエラーが生じやすくなる。このとき、セットアップエラーは生じにくい。逆に、Ｔｏｃｖａが正側に大きく、かつ、−Ｔｏｃｖｂが負側に大きい場合に、式２に示すスラックＳＬＫｓが小さくなり、セットアップエラーが生じやすくなる。このとき、ホールドエラーは生じにくい。
【００２５】
ここで、図６または図３に示すように、短絡配線ＳＷを設定すると、オンチップバリエーションの値ＴｏｃｖａおよびＴｏｃｖｂが小さくなる。図３に示すノードＮａおよびＮｂを短絡配線ＳＷで接続した場合には、オンチップバリエーションの値ＴｏｃｖａおよびＴｏｃｖｂをほぼゼロにすることができる。オンチップバリエーションの値ＴｏｃｖａおよびＴｏｃｖｂがゼロになった場合、図４（Ａ）に示すデータＤ２、Ｄ１は、Ｄ０のタイミングでＦ／Ｆｂに到達し、尚且つ、図４（Ｂ）に示す一点鎖線のクロックＣＬＫｂは、図４（Ａ）に示す実線のクロックＣＬＫｂのタイミングに修正される。即ち、ノードＮａとＮｂとを短絡配線ＳＷで短絡することによって、（Ｔｏｃｖａ＋Ｔｏｃｖｂ）の分だけ、スラックＳＬＫａまたはＳＬＫｂを改善することができる。同様に、経路ＰａおよびＰｂのいずれかの箇所を短絡配線ＳＷで短絡すれば、最大、オンチップバリエーションの和（Ｔｏｃｖａ＋Ｔｏｃｖｂ）の分だけ、スラックＳＬＫａまたはＳＬＫｂを改善することができる。例えば、図６の破線で示す短絡配線ＳＷのようにバッファＬＣＢ２の直前の配線を短絡した場合、共通ノードＮＣ〜バッファＬＣＢ２までのオンチップバリエーションの分だけ、スラックＳＬＫａまたはＳＬＫｂを改善することができる。
【００２６】
本実施形態では、ラッチ時間Ｔｌａおよびデータ伝達時間Ｔｄａｔａｈを一定と仮定したが、ラッチ時間Ｔｌａおよびデータ伝達時間Ｔｄａｔａｈが基準のラッチ時間および基準のデータ伝達時間からずれている場合には、そのずれを考慮して短絡配線ＳＷの位置を決定する。従って、回路全体を考慮した場合、ノードＮａとＮｂとを短絡配線ＳＷで短絡することが必ずしも最適であるとはいえない。
【００２７】
本実施形態では、経路ＰａおよびＰｂは、それぞれ共通ノードＮＣから分離していたが、バッファＬＣＢｃおよびＬＣＢｄを考慮した場合には、共通ノードはＮｅとなる。この場合、ノードＮＣからノードＮｅまでの経路は、バッファＬＣＢｃおよびＬＣＢｄにとって共通であるので、ノードＮＣからノードＮｅまでの経路におけるオンチップバリエーションはない。従って、ノードＮｅからバッファＬＣＢｃに接続されたフリップフロップまでの経路のオンチップバリエーションとノードＮｅからバッファＬＣＢｄに接続されたフリップフロップまでの経路のオンチップバリエーションとの和だけスラックを改善させることができる。
【００２８】
短絡配線ＳＷは、全ての経路に設定される必要はなく、選択した経路のみに設定される。例えば、スラックＳＬＫｈまたはＳＬＫｓがネガティブスラックである経路間に短絡配線ＳＷを設定してもよい。また、スラックＳＬＫｈまたはＳＬＫｓが所定値以下である経路間に短絡配線ＳＷを設定してもよい。
【００２９】
スラックＳＬＫｈまたはＳＬＫｓが所定値以下である経路が多数存在する場合には、ステップＳ２０〜Ｓ４０のＰ＆Ｒと、ステップＳ５０のＳＴＡとを繰返し実行する際に、短絡配線ＳＷを試行錯誤で様々な経路間に試してよい。その結果、スラックが改善される経路間に短絡配線ＳＷを設定する。
【００３０】
本実施形態は、短絡配線ＳＷを選択的に設定するだけであるので、メッシュ配線のように容量は増大しない。即ち、本実施形態によるクロック分配回路は、容量の増大が小さいので消費電力の増大を抑制することができる。それとともに、本実施形態は、短絡配線ＳＷの設定によってオンチップばらつき（ＯＣＶ）を削減し、それによって、クロック伝達時間のばらつき（スキュー）を抑制し、スラックを改善させることができる。
【００３１】
図７（Ａ）および図７（Ｂ）は、短絡配線ＳＷの設定前後のクロック波形を示す図である。図７（Ａ）に示すように、オンチップバリエーションの和（Ｔｏｃｖａ＋Ｔｏｃｖｂ）が大きすぎると、短絡配線ＳＷの設定後（ショーティング後）の正常な波形のクロックが伝播されずＦ／Ｆの動作が不安定になる可能性があるため、オンチップバリエーションの和（Ｔｏｃｖａ＋Ｔｏｃｖｂ）には一定の上限がある。上限は例えば、Ｆ／Ｆなどクロックを受ける論理の回路が正常に動作する範囲等によって決まる。図７（Ｂ）に示すように、オンチップバリエーションの和（Ｔｏｃｖａ＋Ｔｏｃｖｂ）が所定値未満の場合には、短絡配線ＳＷの設定後（ショーティング後）のクロック波形は良好となる。
【００３２】
このように、オンチップバリエーションの和（Ｔｏｃｖａ＋Ｔｏｃｖｂ）は大きければ、スラックの改善量は大きくなるが、一方で、ショーティング後のクロック波形がステップ状になってしまうという不具合が生じる。よって、オンチップバリエーションの和（Ｔｏｃｖａ＋Ｔｏｃｖｂ）は、所定値未満でありつつ、大きい値であることが好ましい。
【図面の簡単な説明】
【００３３】
【図１】本発明に係る実施形態に従ったＬＳＩの設計方法を示すフロー図。
【図２】クロック分配回路を示す概念図。
【図３】クロック分配回路およびフリップフロップの構成を示す概念図。
【図４】スラックおよびホールドエラーを示すタイミング図。
【図５】スラックおよびセットアップエラーを示すタイミング図。
【図６】短絡配線ＳＷ設定後のクロック分配回路を示す概念図。
【図７】短絡配線ＳＷの設定前後のクロック波形を示す図。
【符号の説明】
【００３４】
Ｆ／Ｆ…フリップフロップ
ＬＣＢ…バッファ
Ｐａ、Ｐｂ…経路
ＮＣ…共通ノード
ＳＬＫ…スラック
ＳＷ…短絡配線
【図１】
2009187110.tif 000003
【図２】
2009187110.tif 000004
【図３】
2009187110.tif 000005
【図４】
2009187110.tif 000006
【図５】
2009187110.tif 000007
【図６】
2009187110.tif 000008
【図７】
2009187110.tif 000009