(57)【特許請求の範囲】
【請求項１】
半導体集積回路内の各フリップフロップに対して、目標マシンサイクルでフリップフロップ間のデータ転送ができるようにクロックタイミング時刻の調整を行う半導体集積回路の設計システムにおいて、
設計対象の半導体集積回線として、半導体チップ内がいくつかの領域に分割され、クロックソースピンから各領域へのクロック信号の配分が高速でかつノイズの影響を受け難い転送形態で構成され、各領域に複数の最終段クロックアンプのクロックピンが用意された半導体集積回路を用意し、
前記最終段クロックアンプのクロックピンから領域内のフリップフロップに入力するクロック信号のタイミング時刻を調整する手段として、調整可能範囲が異なる複数のクロックタイミング時刻調整手段を用意し、
前記領域内の各フリップフロップが要求するクロックタイミング時刻毎にフリップフロップをグループ化する手段と、各グループをグループ毎に別々の最終段クロックアンプのクロックピンに対してクロックタイミング時刻を調整して接続する手段とを備え、前記クロックタイミング時刻を調整する際、クロックタイミング時刻調整手段として配線長を延長することによるタイミング時刻調整手段により、あるいは、該配線長を延長することによるタイミング時刻調整手段と他の複数のタイミング調整手段とを組み合わせることにより各フリップフロップが要求するクロックタイミング時刻を得ることを特徴とする半導体集積回路の設計システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の設計システムに係り、特に、論理設計及び実装設計で対策を行う物量を最小限に抑え、最小マシンサイクルを実現することを可能にした半導体集積回路の設計システムに関する。
【０００２】
【従来の技術】
フリップフロップのクロックタイミング時刻を調整して、マシンサイクルを短縮していく方法に関する従来技術として、例えば、A.Takahashi and Y.Kajitani,“Performance and reliability driven clock scheduling of sequential logic circuits,” in Proc. ASP-DAC '97,pp.37-42,1997. 等に記載された技術が知られている。この従来技術は、フリップフロップ間の信号伝播遅延時間（以下、パスディレイという）が与えられているとき、フリップフロップ間の信号伝播経路（以下、単に、パスという）の信号伝播が行い得る範囲で各フリップフロップに入力するクロック信号のタイミング時刻を変えることにより、クロック周期をパスの信号遅延時間の最大値よりも速くすることができるようにするというものである。
【０００３】
また、フリップフロップのクロックタイミング時刻の調整方法に関する従来技術として、例えば、「CAD21成果報告書1998年度」（東京工業大学CAD21研究体）の「準同期式回路におけるスケジュールクロック木の構成」(P.54)に報告されている技術が知られている。この従来技術は、最短距離にある２つのフリップフロップを結合していき、結合したフリップフロップ間の中点の集合からまた最短距離にあるものを結合していき、最後にクロックソースピンに接続するというZero-Skew clock-tree Routingのアルゴリズムに対して、２つのフリップフロップ間にクロックタイミング時刻の差があるときのディレイ差調整用の迂回配線の長さと、遠くのクロックタイミング時刻の差が小さいフリップフロップを接続するときの配線長の増加分とをコストとして定義し、コストが最小となる２つのフリップフロップを結合していくというものである。
【０００４】
【発明が解決しようとする課題】
前述した従来技術を用いて半導体集積回路を高速化する場合、以下に説明するような問題があった。
【０００５】
まず、第１の問題は、設計工数が大きくなるということである。すなわち、前述した従来技術は、パスディレイが与えられているとき、最大のパスディレイよりもクロック周期を速くしても信号を取り込むことができるように、各フリップフロップのクロックタイミング時刻を調整するというものである。このとき、クロック周期の限界を決定するものは、複数のパスを辿ってできる閉ループの合計信号伝播遅延時間と、閉ループでのデータ転送に必要なサイクル数の比率が一番大きいものである。このような従来技術を用いて回路を高速化する場合、その設計は、まず、同期回路と考えて個々のパスディレイを目標のマシンサイクル近くになるまで設計を行っておき、その後、準同期回路として考えて各フリップフロップのクロックタイミング時刻を調整してクロック周期を最小化するという方法で行われる。そして、求められたクロック周期が目標マシンサイクルよりも大きい場合、クロック周期を決定した閉ループ上のパスについて遅延時間を短縮するように設計変更する。これをクロック周期が目標マシンサイクルになるまで繰り返すということになる。
【０００６】
このため、前述の従来技術は、クロック周期を決定した閉ループ上のパスについて１つづつ対策していくことになり、目標マシンサイクルに到達するのに非常に多くの時間と実装設計の工数とが必要となるという問題点を生じてしまう。
【０００７】
また、前述した従来技術は、同期回路と考えて個々のパスディレイを目標マシンサイクルに近づけるところで、多くのパスについて対策を施した方が収束が速いが、準同期回路として考えたとき、結果的、遅延時間を短縮するような設計変更が不要であったパスが多数存在することになり、それらのパスに対するパス上の論理段数の削減やファンアウト数の削減といった論理設計の変更、あるいは、セル配置や配線パターンの修正といった実装設計での修正にかかる設計工数が多くなってしまうという問題点を有している。
【０００８】
第２の問題は、フリップフロップのクロックタイミング時刻の調整方法に関して次に説明するような問題点があることである。
【０００９】
（１）前述の従来技術は、２つのフリップフロップ間にクロックタイミング時刻の差があるときのディレイ差調整用の迂回配線を設けるが、迂回配線によるディレイの変動分には、クロックソースピンからの迂回配線までの距離に依存して値が異なるという性質がある。従って、従来技術のようにボトムアップに処理を行う方法は、見積もった迂回配線によるディレイ調整値が、クロックツリー配線を完成させてクロックソースピンまで接続した時点で途中に迂回配線があると前記ディレイ調整値が代わってくるという問題がある。これは、フリップフロップの数が多くなり、クロック信号の配線長が長くなる程大きくなっていく。
【００１０】
（２）前述の従来技術は、クロックソースピンからフリップフロップ間までを１つの信号配線で接続するため非常に配線長が長くなり、ディレイ値も大きくなる。また、半導体集積回路での配線幅の微細加工精度からくるディレイの変動分が配線長に応じて大きくなり高速な半導体集積回路を設計することが非常に困難となる。
【００１１】
（３）一方、クロックソースピンまでの配線長を短縮するため、半導体集積回路を複数の領域に分割することが容易に考えられる。しかし、この場合、領域内のフリップフロップ間ではクロックタイミング時刻を揃えることができるが、領域間のフリップフロップ数の差や必要とするクロックタイミング時刻のばらつき具合によって各領域のクロックソースピンからフリップフロップまでのディレイ値（以下、クロックディレイという）が変わってしまう。
【００１２】
（４）さらに、配線パターンの隣接配線チャネルを他の信号配線が通過すると、両者の間に並行配線容量が発生してディレイが大きくなる。そして、クロックソースピンからフリップフロップ間までの配線長が長くなると、この並行配線容量も大きくなり、ディレイ値が大きくなる。また、局所的な配線混雑の疎密が存在するため、各フリップフロップに到達するクロックタイミング時刻に差が現れてしまう。
【００１３】
前述で説明した従来技術は、フリップフロップのクロックタイミング時刻の調整方法に関して前述したような問題点があるため、調整しようとするクロックタイミング時刻からの誤差が大きくなってしまうという問題点を生じている。
【００１４】
本発明の目的は、前述した従来技術の問題点を解決し、半導体集積回路の論理設計及び実装設計で対策を行う物量を最小限に抑え、最小マシンサイクルを実現することを可能にした半導体集積回路の設計システムを提供することにある。
【００１５】
【課題を解決するための手段】
本発明によれば前記目的は、半導体集積回路内の各フリップフロップに対して、目標マシンサイクルでフリップフロップ間のデータ転送ができるようにクロックタイミング時刻の調整を行う半導体集積回路の設計システムにおいて、設計対象の半導体集積回線として、半導体チップ内がいくつかの領域に分割され、クロックソースピンから各領域へのクロック信号の配分が高速でかつノイズの影響を受け難い転送形態で構成され、各領域に複数の最終段クロックアンプのクロックピンが用意された半導体集積回路を用意し、前記最終段クロックアンプのクロックピンから領域内のフリップフロップに入力するクロック信号のタイミング時刻を調整する手段として、調整可能範囲が異なる複数のクロックタイミング時刻調整手段を用意し、前記領域内の各フリップフロップが要求するクロックタイミング時刻毎にフリップフロップをグループ化する手段と、各グループをグループ毎に別々の最終段クロックアンプのクロックピンに対してクロックタイミング時刻を調整して接続する手段とを備え、前記クロックタイミング時刻を調整する際、クロックタイミング時刻調整手段として配線長を延長することによるタイミング時刻調整手段により、あるいは、該配線長を延長することによるタイミング時刻調整手段と他の複数のタイミング調整手段とを組み合わせることにより各フリップフロップが要求するクロックタイミング時刻を得ることにより達成される。
【００１７】
【発明の実施の形態】
以下、本発明による半導体集積回路の設計方法の一実施形態を図面により詳細に説明する。
【００１８】
図１は本発明が適用される半導体集積回路のクロック信号の分配回路の基本的な構造の例を説明する図、図２はフリップフロップのクロックタイミング時刻を遅らせる方法の例を説明する図、図３はフリップフロップのクロックタイミング時刻を遅らせる方法のさらに他の例を説明する図、図４はフリップフロップのクロックタイミング時刻を速くする方法の例を説明する図、図５は図１に示すクロック信号の分配回路に対して、図２〜図４に示すクロック調整方法を適用した場合のクロックタイミング時刻の調整可能範囲を説明する図である。図１〜図４において、１０１は領域分割線、１０２はクロック給電領域、１０３はクロックソースピン、１０４は幅広配線、１０５はシールド、１０６は中継アンプ、１０７、２０４。３０１、４０４は最終段アンプ、１０８はフリップフロップ、２０１は迂回配線、２０２、４０３はディレイ素子、２０３はファンアウトが多いネット、４０１は前段アンプ、４０２は反転回路である。
【００１９】
本発明が適用される半導体集積回路は、図１に示すように、半導体チップを縦または横、あるいは、両者の領域分割線１０１によって幾つかのクロック給電領域１０２に分割して構成される。図１には、４つの給電領域に分割した例を示しているが、給電領域の数は任意である。そして、半導体チップ上のある１個所に設けられるクロックソースピン１０３から各クロック給電領域にクロック信号を分配する。クロックソースピン１０３から各クロック給電領域１０２内の最終段クロックアンプ１０７までのディレイは、最速でかつ全ての最終段クロックアンプ１０７に同じ時刻に信号が到達するように設定される。
【００２０】
このため、図示クロック信号の分配回路は、配線の途中に中継アンプ１０６を設け、クロックアンプ間の配線として配線抵抗によるディレイの短縮と微細加工精度からくるディレイの変動分の軽減とを図るために幅広配線１０４を使用して構成される。さらに、必要に応じて、隣接配線チャネルを他の信号配線が通過することによって並行配線容量が増加することを抑止するために隣接配線チャネルにシールド１０５を施す。各クロック給電領域１０２には、そのの大きさに応じて１つあるいは複数のクロックピンを用意しておく。そして、領域内に存在する複数のフリップフロップ１０８は、配置されている距離が近いもので配線長が均一となるようにグループ化され、クロック最終段アンプ１０７に接続される。複数のクロックピンを用意することにより、同一領域内に要求するクロックタイミング時刻が異なるフリップフロップが存在する場合にも、ディレイを調整することが可能となり、さらに、領域間におけるフリップフロップの数のばらつきを吸収することができる。
【００２１】
次に、図２、図３を参照して、クロックディレイを大きくする、すなわち、クロックを遅らせる方法について説明する。
【００２２】
図２（ａ）に示す例は、最終段クロックアンプからフリップフロップまでの配線を迂回配線２０１として、その配線長によりディレイを調整するようにした例である。図２（ｂ）に示す例は、最終段クロックアンプからフリップフロップまでの間にディレイ素子２０２を挿入し、このディレイ素子２０２によりディレイを調整するようにした例である。図２（ｃ）に示す例は、大きいクロックディレイを要求するフリップフロップが多数存在する場合に、１グループのフリップフロップの数を多くして、最終段クロックアンプから複数のフリップフロップまでの間をファンアウトが多いネット２０３により接続するようにしたもので、配線長を増加させるだけでなく、フリップフロップのクロック入力ピンがもつピン容量を増加させてディレイを調整するようにした例である。図２（ｄ）に示す例は、最終段クロックアンプをディレイの大きいディレイタイプの最終段アンプ２０４としてディレイを調整するようにした例である。図３（ａ）に示す例は、隣のクロック給電領域の最終段アンプ３０１からクロック信号を給電して配線長を延ばすことによりディレイを調整するようにした例である。また、図３（ｂ）に示す例は、最終段クロックアンプからフリップフロップまでのネットを迂回配線２０１とすると共に、ディレイ素子２０２を挿入したもので、その配線長とディレイ素子２０２とによりディレイを調整するようにした例である。
【００２３】
次に、図４を参照して、クロックディレイを小さくする、すなわち、クロックを早める方法について説明する。
【００２４】
図４（ａ）に示す例は、クロック給電領域内のフリップフロップへの給電を最終段アンプではなく１段前の中継アンプから行うようにして、最終段アンプから給電するよりディレイを小さくするようにした例である。図４（ｂ）に示す例は、最終段クロックアンプからフリップフロップまでの間に反転回路４０２を挿入してクロック信号を反転させ、クロックパルス幅分だけクロックを速くするようにした例である。また、図４（ｃ）に示す例は、全クロック給電領域内のクロック最終段アンプを予めディレイの大きなものにしておき、特定のクロック給電領域の特定の最終段アンプだけをディレイの小さいアンプ４０４に置き換えることにより、他の領域のものに比較してクロックディレイが小さくなるようにした例である。
【００２５】
次に、図５を参照して、図１に示すクロック信号の分配回路に対して、図２〜図４により説明したクロック調整方法を適用したときにクロックディレイの制御可能な範囲、すなわち、クロックタイミング時刻の調整可能範囲について説明する。
【００２６】
図５（ａ）は、図２、図３により説明したクロックディレイを大きくする方法のそれぞれに対応したクロックディレイの調整範囲を示しており、５００で示す通常の給電方法でのクロックディレイを基準として、矢印で示す範囲内が調整可能な範囲となる。図５（ａ）において、５０１は、図２（ａ）に示した方法による調整可能範囲を示しており、迂回配線長の制限を変えることにより調整可能範囲を制御することができる。５０２は、図２（ｂ）に示した方法による調整可能範囲を示しており、ディレイ素子の数によって離散的にクロックを遅らせてクロックディレイを制御することができる。５０３は、図２（ｃ）に示した方法による調整可能範囲を示しており、フリップフロップの数によって離散的にクロックを遅らせてクロックディレイを制御することができる。５０４は、図２（ｄ）に示した方法による調整可能範囲を示しており、クロックを遅らせる時間が異なる複数種の最終段アンプを準備することによって離散的にクロックを遅らせてクロックディレイを制御することができる。５０５は、図３（ａ）に示した方法による調整可能範囲を示しており、クロック給電領域の大きさや隣接領域の選択を変えることによってクロックディレイの大きさが決まる。
【００２７】
前述したようなクロックディレイを制御してクロックタイミング時刻を調整する方法は、１つのフリップフロップに対して複数種の調整方法を組み合わせることができ、これによりクロックディレイの調整可能範囲を広げることができ、離散的にしか制御できなかった範囲も連続的に制御することが可能となる。５０６は、図２（ａ）及び図２（ｂ）に示した方法を組み合わせた図３（ｂ）に示して説明した方法の調整可能範囲の例である。５０６−１は、ディレイ素子を１段挿入して配線を迂回させた場合のクロックディレイの調整可能範囲を示し、５０６−２、５０６−３は、ディレイ素子を２段挿入して配線を迂回させた場合、ディレイ素子を３段挿入して配線を迂回させた場合のクロックディレイの調整可能範囲を示す。
【００２８】
また、図５（ｂ）は図４により説明したクロックディレイを小さくする方法のそれぞれに対応したクロックディレイの調整範囲を示しており、５１０で示す通常の給電方法でのクロックディレイを基準として、矢印で示す範囲内が調整可能な範囲となる。図５（ａ）において、５１１は、図４（ａ）に示した方法による調整可能範囲を示している。５１２は、図４（ｂ）に示した方法による調整可能範囲を示しおり、クロックパルス幅分の位相差を持ったクロック信号を入力することと等価となる。５１３は、図４（ｃ）に示した方法による調整可能範囲を示しており、クロックを遅らせる時間が異なる複数種の最終段アンプを準備することによって離散的にクロックディレイの大きさを制御することができる。
【００２９】
図６は本発明の一実施形態による半導体集積回路の設計方法の処理動作を説明するフローチャートであり、以下、これについて説明する。ここで説明する処理フローは、図１に示すようなクロック信号の分配回路に対して、図２〜図４で説明したような複数のクロックディレイ調整方法を用いて半導体集積回路の論理設計及び実装設計を行う場合に、高速化のための設計修正を最小限にするための設計方法の処理動作の例である。そして、この処理の実行のための入力データとして、セルの配置位置情報、セルの端子間の結線関係情報、配線パターン情報６０１と、クロックディレイがすでに決まっている、あるいは、ずらすことができないフリップフロップに対するクロックディレイ指定情報６０２と、パスのディレイを計算するための情報６０３と、クロックディレイ調整方法、それによるクロックディレイの変動値、調整のためのコストの情報６０４と、目標とするマシンサイクル（ＭＣ）６０５とが用意される。
【００３０】
（１）まず、入力データとして用意されている前述した各種の情報６０１〜６０５のデータを入力し、全フリップフロップ間（パス）のデータ転送に要する最大の遅延時間（Dmax）と最小の遅延時間（Dmin）とを求める（ステップ６１０、６１１）。
【００３１】
（２）入力されたクロックディレイ指定情報６０２と情報６０４の中の各フリップフロップが実現可能なクロックディレイ調整方法とから、クロックディレイ調整可能範囲を求める（ステップ６１２）。
【００３２】
（３）次に、パスを１つ選択し、選択したパスの終点フリップフロップから始点フリップフロップに帰ってくる閉ループを抽出し、閉ループの中の各パスの合計ディレイ（ＤＬＹ）と閉ループでのデータ転送に必要なサイクル数（ＣＹＣ）を求める（ステップ６１３〜６１５）。
【００３３】
（４）ステップ６１４で抽出した閉ループでのデータ転送が目標マシンサイクルで可能か否かを判定する。この判定は、入力された目標マシンサイクルＭＣ６０５とステップ６１５で求めた閉ループでのデータ転送に必要なサイクル数ＣＹＣとの積と、ステップ６１５で求めた閉ループの中の各パスの合計ディレイＤＬＹとを比較して行われる。すなわち、ＤＬＹ＞ＭＣ×ＣＹＣが成立したときＮＧと判定される（ステップ６１６）。
【００３４】
（５）ステップ６１６の判定がＮＧであった場合、閉ループ中のパスの情報を表示する。この情報を基に、設計者は、論理修正としてセルの変更やピンの接続関係の変更、あるいは、実装結果の修正としてセルの配置位置の移動や配線パターンの修正を行い、情報６０１へフィードバックする（ステップ６１７、６１８）。
【００３５】
（６）ステップ６１６の判定がＯＫであった場合、各パスに対して以下に示す制約を満たすように、各フリップフロップにデータ転送可能となるクロックディレイ調整範囲を設定する。
MC×CYC(path)−CLK(S.FF)max＋CLK(E.FF)min＞Ｄmax
MC×(CYC(path)−1)−CLK(S.FF)min＋CLK(E.FF)max＜Ｄmin
但し、CYC(path)は、当該パスのデータ転送に必要なサイクル数、
CLK(S.FF)min、 CLK(S.FF)maxは、始点フリップフロップのクロックディレイ調整範囲、
CLK(E.FF)min、 CLK(E.FF)maxは、終点フリップフロップのクロックディレイ調整範囲である。
前述した制約を満たし、かつ、ステップ６１２で求めた各フリップフロップのクロックディレイ調整可能範囲内で、各フリップフロップのクロックディレイ調整範囲を設定する（ステップ６１９）。
【００３６】
（７）各フリップフロップのクロックディレイ調整可能範囲の制約から目標マシンサイクルでのデータ転送が可能か否かを判定し、不可能な場合、前述で説明したステップ６１７、６１８の処理を行う（ステップ６２０）。
【００３７】
（８）ステップ６２０の判定で、目標マシンサイクルでのデータ転送が可能であった場合、未設定のパスが残っているか否かをチェックし、未設定のパスが残っていれば、次のパスを選択して、ステップ６１４からの処理に戻り、ステップ６１４以降の処理を繰り返す（ステップ６２１、６２２）。
【００３８】
（９）ステップ６２１のチェックで、全てのパスについてクロックディレイの設定が終了していた場合、各フリップフロップの設定したクロックディレイ調整範囲をクロックディレイ設定情報ファイル６３１に出力して処理を終了する（ステップ６３０）。
【００３９】
そして、本発明の実施形態は、これらの処理の終了後、目標マシンサイクル６０５の１周期の時間を暫減させて、再度、ステップ６１０からの処理を繰り返すことにより、実現可能な最小マシンサイクルを求めることができる。
【００４０】
図７は最小限のコストで各フリップフロップのクロックディレイを調整するための処理動作を説明するフローチャートであり、以下、これについて説明する。ここで説明する例は、図１に示すようなクロック信号の分配回路に対して、図２〜図４で説明したような複数のクロックディレイ調整方法を用いて半導体集積回路の論理設計及び実装設計を行う場合に、最小限のコストで各フリップフロップに設定したクロックディレイを実現することを可能にする例である。そして、この処理の実行のための入力データとして、図６の処理でも使用したセルの配置位置情報、セルの端子間の結線関係情報、配線パターン情報６０１、クロックディレイ調整方法、それによるクロックディレイの変動値、調整のためのコストの情報６０４、目標とするマシンサイクル（ＭＣ）６０５と、図６の処理で作成されたクロックディレイ指定情報６３１とが用意される。
【００４１】
（１）まず、入力データとして用意されている前述した各種の情報６０１、６０４、６０５、６３１のデータを入力し、全フリップフロップをクロック給電領域に振り分けて、１つのクロック給電領域を選択する（ステップ７１０〜７１２）。
【００４２】
（２）領域内の全てのフリップフロップに対して設定されたクロックディレイ調整範囲を実現できるクロックディレイ調整方法の組み合わせケースを全てリストアップし、最小コストで実現できるクロックディレイ調整方法で実現できるものから順にフリップフロップのグループを作成していき、それらフリップフロップのクロックディレイ調整方法を決定する。その際、配線長を延ばすことによってクロックタイミング時刻を調整する方法には制限を設け、制限以上の配線長のものは採用しない（ステップ７１３〜７１５）。
【００４３】
（３）選択したフリップフロップの設定範囲が調整範囲以上の場合は、１つのクロックディレイ調整方法では要求するクロックディレイを実現することができず、複数の複数のクロックディレイ調整方法と組み合わせる必要があるので、フリップフロップの設定範囲と選択した調整方法で調整できる範囲との差分をフリップフロップの設定範囲として更新し、さらに、次のクロックディレイ調整方法での実現性をチェックする（ステップ７１５〜７１７）。
【００４４】
（４）クロック給電領域内の全てのフリップフロップが、設定範囲にクロックディレイを調整できたか否かをチェックし、調整できなかった場合、次にコストの小さいクロックディレイ調整方法を選択して、ステップ７１５からの処理を繰り返す（ステップ７１６、７１７）。
【００４５】
（５）ステップ７１６のチェックで、クロック給電領域内の全てのフリップフロップの調整ができたと判定した場合、全てのクロック給電領域について処理が終了したか否かのチェックを行い、まだ済んでいなければ、次のクロック給電領域を選択して、ステップ７１３以降を処理を繰り返す（ステップ７１８、７１９）。
【００４６】
（６）ステップ７１８で全てのクロック給電領域について処理が終了したと判断したとき、決定したクロックディレイ調整方法に従って、図２、図３に示すようなディレイ素子の挿入や削除、クロックセルの置換、クロックネットの結線関係変更、クロック配線の迂回等の修正を行い、その結果を入力情報としての情報６０１のファイルにフィードバックする（ステップ７２０、７２１）。
【００４７】
前述した本発明の実施形態は、フリップフロップのクロックタイミング時刻を調整することを前提にした論理設計及び実装設計を行うことができ、目標マシンサイクルを超えているフリップフロップ間の経路の内、クロックタイミング時刻の調整を行ってもデータの転送ができないものだけを、パスの遅延時間の短縮を行う設計変更の対象とすることができる。これにより、前述した本発明の実施形態によれば、論理段数の削減やファンアウト数の削減といった論理設計の変更や、セル配置や配線パターンの修正といった実装設計での修正にかかる工数を必要最小限に抑えることができる。
【００４８】
また、前述した本発明の実施形態は、クロックディレイ調整の精度が高いため、目的のクロックタイミング時刻を確実に実現することができ、手戻りなく設計を行うことができ、製造した半導体集積回路チップでの動作の保証をより確実とすることができる。
【００４９】
さらに、前述した本発明の実施形態は、クロックゲートの数や、クロック配線の物量等をコストとして定義しているので、対象とする半導体集積回路製造プロセスに最も合ったコスト最小のクロックタイミング時刻の調整が可能となる。
【００５０】
【発明の効果】
以上説明したように本発明によれば、半導体集積回路の論理設計及び実装設計で対策を行う物量を最小限に抑え、最小マシンサイクルを実現することができる。
【図面の簡単な説明】
【図１】本発明が適用される半導体集積回路のクロック信号の分配回路の基本的な構造の例を説明する図である。
【図２】フリップフロップのクロックタイミング時刻を遅らせる方法の例を説明する図である。
【図３】フリップフロップのクロックタイミング時刻を遅らせる方法のさらに他の例を説明する図である。
【図４】フリップフロップのクロックタイミング時刻を速くする方法の例を説明する図である。
【図５】図１に示すクロック信号の分配回路に対して、図２〜図４に示すクロック調整方法を適用した場合のクロックタイミング時刻の調整可能範囲を示す図である。
【図６】本発明の一実施形態による半導体集積回路の設計方法の処理動作を説明するフローチャートである。
【図７】最小限のコストで各フリップフロップのクロックディレイを調整するための処理動作を説明するフローチャートである。
【符号の説明】
１０１  領域分割線
１０２  クロック給電領域
１０３  クロックソースピン
１０４  幅広配線
１０５  シールド
１０６  中継アンプ
１０７、２０４、３０１、４０４  最終段アンプ
１０８  フリップフロップ
２０１  迂回配線
２０２、４０３  ディレイ素子
２０３  ファンアウトが多いネット
４０１  前段アンプ
４０２  反転回路
【図１】
0004218924.tif 000002
【図２】
0004218924.tif 000003
【図３】
0004218924.tif 000004
【図４】
0004218924.tif 000005
【図５】
0004218924.tif 000006
【図６】
0004218924.tif 000007
【図７】
0004218924.tif 000008