JP4218924B2 - 半導体集積回路の設計システム - Google Patents
半導体集積回路の設計システム Download PDFInfo
- Publication number
- JP4218924B2 JP4218924B2 JP2001038678A JP2001038678A JP4218924B2 JP 4218924 B2 JP4218924 B2 JP 4218924B2 JP 2001038678 A JP2001038678 A JP 2001038678A JP 2001038678 A JP2001038678 A JP 2001038678A JP 4218924 B2 JP4218924 B2 JP 4218924B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- flip
- delay
- flop
- timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、半導体集積回路の設計システムに係り、特に、論理設計及び実装設計で対策を行う物量を最小限に抑え、最小マシンサイクルを実現することを可能にした半導体集積回路の設計システムに関する。
【0002】
【従来の技術】
フリップフロップのクロックタイミング時刻を調整して、マシンサイクルを短縮していく方法に関する従来技術として、例えば、A.Takahashi and Y.Kajitani,“Performance and reliability driven clock scheduling of sequential logic circuits,” in Proc. ASP-DAC '97,pp.37-42,1997. 等に記載された技術が知られている。この従来技術は、フリップフロップ間の信号伝播遅延時間(以下、パスディレイという)が与えられているとき、フリップフロップ間の信号伝播経路(以下、単に、パスという)の信号伝播が行い得る範囲で各フリップフロップに入力するクロック信号のタイミング時刻を変えることにより、クロック周期をパスの信号遅延時間の最大値よりも速くすることができるようにするというものである。
【0003】
また、フリップフロップのクロックタイミング時刻の調整方法に関する従来技術として、例えば、「CAD21成果報告書1998年度」(東京工業大学CAD21研究体)の「準同期式回路におけるスケジュールクロック木の構成」(P.54)に報告されている技術が知られている。この従来技術は、最短距離にある2つのフリップフロップを結合していき、結合したフリップフロップ間の中点の集合からまた最短距離にあるものを結合していき、最後にクロックソースピンに接続するというZero-Skew clock-tree Routingのアルゴリズムに対して、2つのフリップフロップ間にクロックタイミング時刻の差があるときのディレイ差調整用の迂回配線の長さと、遠くのクロックタイミング時刻の差が小さいフリップフロップを接続するときの配線長の増加分とをコストとして定義し、コストが最小となる2つのフリップフロップを結合していくというものである。
【0004】
【発明が解決しようとする課題】
前述した従来技術を用いて半導体集積回路を高速化する場合、以下に説明するような問題があった。
【0005】
まず、第1の問題は、設計工数が大きくなるということである。すなわち、前述した従来技術は、パスディレイが与えられているとき、最大のパスディレイよりもクロック周期を速くしても信号を取り込むことができるように、各フリップフロップのクロックタイミング時刻を調整するというものである。このとき、クロック周期の限界を決定するものは、複数のパスを辿ってできる閉ループの合計信号伝播遅延時間と、閉ループでのデータ転送に必要なサイクル数の比率が一番大きいものである。このような従来技術を用いて回路を高速化する場合、その設計は、まず、同期回路と考えて個々のパスディレイを目標のマシンサイクル近くになるまで設計を行っておき、その後、準同期回路として考えて各フリップフロップのクロックタイミング時刻を調整してクロック周期を最小化するという方法で行われる。そして、求められたクロック周期が目標マシンサイクルよりも大きい場合、クロック周期を決定した閉ループ上のパスについて遅延時間を短縮するように設計変更する。これをクロック周期が目標マシンサイクルになるまで繰り返すということになる。
【0006】
このため、前述の従来技術は、クロック周期を決定した閉ループ上のパスについて1つづつ対策していくことになり、目標マシンサイクルに到達するのに非常に多くの時間と実装設計の工数とが必要となるという問題点を生じてしまう。
【0007】
また、前述した従来技術は、同期回路と考えて個々のパスディレイを目標マシンサイクルに近づけるところで、多くのパスについて対策を施した方が収束が速いが、準同期回路として考えたとき、結果的、遅延時間を短縮するような設計変更が不要であったパスが多数存在することになり、それらのパスに対するパス上の論理段数の削減やファンアウト数の削減といった論理設計の変更、あるいは、セル配置や配線パターンの修正といった実装設計での修正にかかる設計工数が多くなってしまうという問題点を有している。
【0008】
第2の問題は、フリップフロップのクロックタイミング時刻の調整方法に関して次に説明するような問題点があることである。
【0009】
(1)前述の従来技術は、2つのフリップフロップ間にクロックタイミング時刻の差があるときのディレイ差調整用の迂回配線を設けるが、迂回配線によるディレイの変動分には、クロックソースピンからの迂回配線までの距離に依存して値が異なるという性質がある。従って、従来技術のようにボトムアップに処理を行う方法は、見積もった迂回配線によるディレイ調整値が、クロックツリー配線を完成させてクロックソースピンまで接続した時点で途中に迂回配線があると前記ディレイ調整値が代わってくるという問題がある。これは、フリップフロップの数が多くなり、クロック信号の配線長が長くなる程大きくなっていく。
【0010】
(2)前述の従来技術は、クロックソースピンからフリップフロップ間までを1つの信号配線で接続するため非常に配線長が長くなり、ディレイ値も大きくなる。また、半導体集積回路での配線幅の微細加工精度からくるディレイの変動分が配線長に応じて大きくなり高速な半導体集積回路を設計することが非常に困難となる。
【0011】
(3)一方、クロックソースピンまでの配線長を短縮するため、半導体集積回路を複数の領域に分割することが容易に考えられる。しかし、この場合、領域内のフリップフロップ間ではクロックタイミング時刻を揃えることができるが、領域間のフリップフロップ数の差や必要とするクロックタイミング時刻のばらつき具合によって各領域のクロックソースピンからフリップフロップまでのディレイ値(以下、クロックディレイという)が変わってしまう。
【0012】
(4)さらに、配線パターンの隣接配線チャネルを他の信号配線が通過すると、両者の間に並行配線容量が発生してディレイが大きくなる。そして、クロックソースピンからフリップフロップ間までの配線長が長くなると、この並行配線容量も大きくなり、ディレイ値が大きくなる。また、局所的な配線混雑の疎密が存在するため、各フリップフロップに到達するクロックタイミング時刻に差が現れてしまう。
【0013】
前述で説明した従来技術は、フリップフロップのクロックタイミング時刻の調整方法に関して前述したような問題点があるため、調整しようとするクロックタイミング時刻からの誤差が大きくなってしまうという問題点を生じている。
【0014】
本発明の目的は、前述した従来技術の問題点を解決し、半導体集積回路の論理設計及び実装設計で対策を行う物量を最小限に抑え、最小マシンサイクルを実現することを可能にした半導体集積回路の設計システムを提供することにある。
【0015】
【課題を解決するための手段】
本発明によれば前記目的は、半導体集積回路内の各フリップフロップに対して、目標マシンサイクルでフリップフロップ間のデータ転送ができるようにクロックタイミング時刻の調整を行う半導体集積回路の設計システムにおいて、設計対象の半導体集積回線として、半導体チップ内がいくつかの領域に分割され、クロックソースピンから各領域へのクロック信号の配分が高速でかつノイズの影響を受け難い転送形態で構成され、各領域に複数の最終段クロックアンプのクロックピンが用意された半導体集積回路を用意し、前記最終段クロックアンプのクロックピンから領域内のフリップフロップに入力するクロック信号のタイミング時刻を調整する手段として、調整可能範囲が異なる複数のクロックタイミング時刻調整手段を用意し、前記領域内の各フリップフロップが要求するクロックタイミング時刻毎にフリップフロップをグループ化する手段と、各グループをグループ毎に別々の最終段クロックアンプのクロックピンに対してクロックタイミング時刻を調整して接続する手段とを備え、前記クロックタイミング時刻を調整する際、クロックタイミング時刻調整手段として配線長を延長することによるタイミング時刻調整手段により、あるいは、該配線長を延長することによるタイミング時刻調整手段と他の複数のタイミング調整手段とを組み合わせることにより各フリップフロップが要求するクロックタイミング時刻を得ることにより達成される。
【0017】
【発明の実施の形態】
以下、本発明による半導体集積回路の設計方法の一実施形態を図面により詳細に説明する。
【0018】
図1は本発明が適用される半導体集積回路のクロック信号の分配回路の基本的な構造の例を説明する図、図2はフリップフロップのクロックタイミング時刻を遅らせる方法の例を説明する図、図3はフリップフロップのクロックタイミング時刻を遅らせる方法のさらに他の例を説明する図、図4はフリップフロップのクロックタイミング時刻を速くする方法の例を説明する図、図5は図1に示すクロック信号の分配回路に対して、図2〜図4に示すクロック調整方法を適用した場合のクロックタイミング時刻の調整可能範囲を説明する図である。図1〜図4において、101は領域分割線、102はクロック給電領域、103はクロックソースピン、104は幅広配線、105はシールド、106は中継アンプ、107、204。301、404は最終段アンプ、108はフリップフロップ、201は迂回配線、202、403はディレイ素子、203はファンアウトが多いネット、401は前段アンプ、402は反転回路である。
【0019】
本発明が適用される半導体集積回路は、図1に示すように、半導体チップを縦または横、あるいは、両者の領域分割線101によって幾つかのクロック給電領域102に分割して構成される。図1には、4つの給電領域に分割した例を示しているが、給電領域の数は任意である。そして、半導体チップ上のある1個所に設けられるクロックソースピン103から各クロック給電領域にクロック信号を分配する。クロックソースピン103から各クロック給電領域102内の最終段クロックアンプ107までのディレイは、最速でかつ全ての最終段クロックアンプ107に同じ時刻に信号が到達するように設定される。
【0020】
このため、図示クロック信号の分配回路は、配線の途中に中継アンプ106を設け、クロックアンプ間の配線として配線抵抗によるディレイの短縮と微細加工精度からくるディレイの変動分の軽減とを図るために幅広配線104を使用して構成される。さらに、必要に応じて、隣接配線チャネルを他の信号配線が通過することによって並行配線容量が増加することを抑止するために隣接配線チャネルにシールド105を施す。各クロック給電領域102には、そのの大きさに応じて1つあるいは複数のクロックピンを用意しておく。そして、領域内に存在する複数のフリップフロップ108は、配置されている距離が近いもので配線長が均一となるようにグループ化され、クロック最終段アンプ107に接続される。複数のクロックピンを用意することにより、同一領域内に要求するクロックタイミング時刻が異なるフリップフロップが存在する場合にも、ディレイを調整することが可能となり、さらに、領域間におけるフリップフロップの数のばらつきを吸収することができる。
【0021】
次に、図2、図3を参照して、クロックディレイを大きくする、すなわち、クロックを遅らせる方法について説明する。
【0022】
図2(a)に示す例は、最終段クロックアンプからフリップフロップまでの配線を迂回配線201として、その配線長によりディレイを調整するようにした例である。図2(b)に示す例は、最終段クロックアンプからフリップフロップまでの間にディレイ素子202を挿入し、このディレイ素子202によりディレイを調整するようにした例である。図2(c)に示す例は、大きいクロックディレイを要求するフリップフロップが多数存在する場合に、1グループのフリップフロップの数を多くして、最終段クロックアンプから複数のフリップフロップまでの間をファンアウトが多いネット203により接続するようにしたもので、配線長を増加させるだけでなく、フリップフロップのクロック入力ピンがもつピン容量を増加させてディレイを調整するようにした例である。図2(d)に示す例は、最終段クロックアンプをディレイの大きいディレイタイプの最終段アンプ204としてディレイを調整するようにした例である。図3(a)に示す例は、隣のクロック給電領域の最終段アンプ301からクロック信号を給電して配線長を延ばすことによりディレイを調整するようにした例である。また、図3(b)に示す例は、最終段クロックアンプからフリップフロップまでのネットを迂回配線201とすると共に、ディレイ素子202を挿入したもので、その配線長とディレイ素子202とによりディレイを調整するようにした例である。
【0023】
次に、図4を参照して、クロックディレイを小さくする、すなわち、クロックを早める方法について説明する。
【0024】
図4(a)に示す例は、クロック給電領域内のフリップフロップへの給電を最終段アンプではなく1段前の中継アンプから行うようにして、最終段アンプから給電するよりディレイを小さくするようにした例である。図4(b)に示す例は、最終段クロックアンプからフリップフロップまでの間に反転回路402を挿入してクロック信号を反転させ、クロックパルス幅分だけクロックを速くするようにした例である。また、図4(c)に示す例は、全クロック給電領域内のクロック最終段アンプを予めディレイの大きなものにしておき、特定のクロック給電領域の特定の最終段アンプだけをディレイの小さいアンプ404に置き換えることにより、他の領域のものに比較してクロックディレイが小さくなるようにした例である。
【0025】
次に、図5を参照して、図1に示すクロック信号の分配回路に対して、図2〜図4により説明したクロック調整方法を適用したときにクロックディレイの制御可能な範囲、すなわち、クロックタイミング時刻の調整可能範囲について説明する。
【0026】
図5(a)は、図2、図3により説明したクロックディレイを大きくする方法のそれぞれに対応したクロックディレイの調整範囲を示しており、500で示す通常の給電方法でのクロックディレイを基準として、矢印で示す範囲内が調整可能な範囲となる。図5(a)において、501は、図2(a)に示した方法による調整可能範囲を示しており、迂回配線長の制限を変えることにより調整可能範囲を制御することができる。502は、図2(b)に示した方法による調整可能範囲を示しており、ディレイ素子の数によって離散的にクロックを遅らせてクロックディレイを制御することができる。503は、図2(c)に示した方法による調整可能範囲を示しており、フリップフロップの数によって離散的にクロックを遅らせてクロックディレイを制御することができる。504は、図2(d)に示した方法による調整可能範囲を示しており、クロックを遅らせる時間が異なる複数種の最終段アンプを準備することによって離散的にクロックを遅らせてクロックディレイを制御することができる。505は、図3(a)に示した方法による調整可能範囲を示しており、クロック給電領域の大きさや隣接領域の選択を変えることによってクロックディレイの大きさが決まる。
【0027】
前述したようなクロックディレイを制御してクロックタイミング時刻を調整する方法は、1つのフリップフロップに対して複数種の調整方法を組み合わせることができ、これによりクロックディレイの調整可能範囲を広げることができ、離散的にしか制御できなかった範囲も連続的に制御することが可能となる。506は、図2(a)及び図2(b)に示した方法を組み合わせた図3(b)に示して説明した方法の調整可能範囲の例である。506−1は、ディレイ素子を1段挿入して配線を迂回させた場合のクロックディレイの調整可能範囲を示し、506−2、506−3は、ディレイ素子を2段挿入して配線を迂回させた場合、ディレイ素子を3段挿入して配線を迂回させた場合のクロックディレイの調整可能範囲を示す。
【0028】
また、図5(b)は図4により説明したクロックディレイを小さくする方法のそれぞれに対応したクロックディレイの調整範囲を示しており、510で示す通常の給電方法でのクロックディレイを基準として、矢印で示す範囲内が調整可能な範囲となる。図5(a)において、511は、図4(a)に示した方法による調整可能範囲を示している。512は、図4(b)に示した方法による調整可能範囲を示しおり、クロックパルス幅分の位相差を持ったクロック信号を入力することと等価となる。513は、図4(c)に示した方法による調整可能範囲を示しており、クロックを遅らせる時間が異なる複数種の最終段アンプを準備することによって離散的にクロックディレイの大きさを制御することができる。
【0029】
図6は本発明の一実施形態による半導体集積回路の設計方法の処理動作を説明するフローチャートであり、以下、これについて説明する。ここで説明する処理フローは、図1に示すようなクロック信号の分配回路に対して、図2〜図4で説明したような複数のクロックディレイ調整方法を用いて半導体集積回路の論理設計及び実装設計を行う場合に、高速化のための設計修正を最小限にするための設計方法の処理動作の例である。そして、この処理の実行のための入力データとして、セルの配置位置情報、セルの端子間の結線関係情報、配線パターン情報601と、クロックディレイがすでに決まっている、あるいは、ずらすことができないフリップフロップに対するクロックディレイ指定情報602と、パスのディレイを計算するための情報603と、クロックディレイ調整方法、それによるクロックディレイの変動値、調整のためのコストの情報604と、目標とするマシンサイクル(MC)605とが用意される。
【0030】
(1)まず、入力データとして用意されている前述した各種の情報601〜605のデータを入力し、全フリップフロップ間(パス)のデータ転送に要する最大の遅延時間(Dmax)と最小の遅延時間(Dmin)とを求める(ステップ610、611)。
【0031】
(2)入力されたクロックディレイ指定情報602と情報604の中の各フリップフロップが実現可能なクロックディレイ調整方法とから、クロックディレイ調整可能範囲を求める(ステップ612)。
【0032】
(3)次に、パスを1つ選択し、選択したパスの終点フリップフロップから始点フリップフロップに帰ってくる閉ループを抽出し、閉ループの中の各パスの合計ディレイ(DLY)と閉ループでのデータ転送に必要なサイクル数(CYC)を求める(ステップ613〜615)。
【0033】
(4)ステップ614で抽出した閉ループでのデータ転送が目標マシンサイクルで可能か否かを判定する。この判定は、入力された目標マシンサイクルMC605とステップ615で求めた閉ループでのデータ転送に必要なサイクル数CYCとの積と、ステップ615で求めた閉ループの中の各パスの合計ディレイDLYとを比較して行われる。すなわち、DLY>MC×CYCが成立したときNGと判定される(ステップ616)。
【0034】
(5)ステップ616の判定がNGであった場合、閉ループ中のパスの情報を表示する。この情報を基に、設計者は、論理修正としてセルの変更やピンの接続関係の変更、あるいは、実装結果の修正としてセルの配置位置の移動や配線パターンの修正を行い、情報601へフィードバックする(ステップ617、618)。
【0035】
(6)ステップ616の判定がOKであった場合、各パスに対して以下に示す制約を満たすように、各フリップフロップにデータ転送可能となるクロックディレイ調整範囲を設定する。
MC×CYC(path)−CLK(S.FF)max+CLK(E.FF)min>Dmax
MC×(CYC(path)−1)−CLK(S.FF)min+CLK(E.FF)max<Dmin
但し、CYC(path)は、当該パスのデータ転送に必要なサイクル数、
CLK(S.FF)min、 CLK(S.FF)maxは、始点フリップフロップのクロックディレイ調整範囲、
CLK(E.FF)min、 CLK(E.FF)maxは、終点フリップフロップのクロックディレイ調整範囲である。
前述した制約を満たし、かつ、ステップ612で求めた各フリップフロップのクロックディレイ調整可能範囲内で、各フリップフロップのクロックディレイ調整範囲を設定する(ステップ619)。
【0036】
(7)各フリップフロップのクロックディレイ調整可能範囲の制約から目標マシンサイクルでのデータ転送が可能か否かを判定し、不可能な場合、前述で説明したステップ617、618の処理を行う(ステップ620)。
【0037】
(8)ステップ620の判定で、目標マシンサイクルでのデータ転送が可能であった場合、未設定のパスが残っているか否かをチェックし、未設定のパスが残っていれば、次のパスを選択して、ステップ614からの処理に戻り、ステップ614以降の処理を繰り返す(ステップ621、622)。
【0038】
(9)ステップ621のチェックで、全てのパスについてクロックディレイの設定が終了していた場合、各フリップフロップの設定したクロックディレイ調整範囲をクロックディレイ設定情報ファイル631に出力して処理を終了する(ステップ630)。
【0039】
そして、本発明の実施形態は、これらの処理の終了後、目標マシンサイクル605の1周期の時間を暫減させて、再度、ステップ610からの処理を繰り返すことにより、実現可能な最小マシンサイクルを求めることができる。
【0040】
図7は最小限のコストで各フリップフロップのクロックディレイを調整するための処理動作を説明するフローチャートであり、以下、これについて説明する。ここで説明する例は、図1に示すようなクロック信号の分配回路に対して、図2〜図4で説明したような複数のクロックディレイ調整方法を用いて半導体集積回路の論理設計及び実装設計を行う場合に、最小限のコストで各フリップフロップに設定したクロックディレイを実現することを可能にする例である。そして、この処理の実行のための入力データとして、図6の処理でも使用したセルの配置位置情報、セルの端子間の結線関係情報、配線パターン情報601、クロックディレイ調整方法、それによるクロックディレイの変動値、調整のためのコストの情報604、目標とするマシンサイクル(MC)605と、図6の処理で作成されたクロックディレイ指定情報631とが用意される。
【0041】
(1)まず、入力データとして用意されている前述した各種の情報601、604、605、631のデータを入力し、全フリップフロップをクロック給電領域に振り分けて、1つのクロック給電領域を選択する(ステップ710〜712)。
【0042】
(2)領域内の全てのフリップフロップに対して設定されたクロックディレイ調整範囲を実現できるクロックディレイ調整方法の組み合わせケースを全てリストアップし、最小コストで実現できるクロックディレイ調整方法で実現できるものから順にフリップフロップのグループを作成していき、それらフリップフロップのクロックディレイ調整方法を決定する。その際、配線長を延ばすことによってクロックタイミング時刻を調整する方法には制限を設け、制限以上の配線長のものは採用しない(ステップ713〜715)。
【0043】
(3)選択したフリップフロップの設定範囲が調整範囲以上の場合は、1つのクロックディレイ調整方法では要求するクロックディレイを実現することができず、複数の複数のクロックディレイ調整方法と組み合わせる必要があるので、フリップフロップの設定範囲と選択した調整方法で調整できる範囲との差分をフリップフロップの設定範囲として更新し、さらに、次のクロックディレイ調整方法での実現性をチェックする(ステップ715〜717)。
【0044】
(4)クロック給電領域内の全てのフリップフロップが、設定範囲にクロックディレイを調整できたか否かをチェックし、調整できなかった場合、次にコストの小さいクロックディレイ調整方法を選択して、ステップ715からの処理を繰り返す(ステップ716、717)。
【0045】
(5)ステップ716のチェックで、クロック給電領域内の全てのフリップフロップの調整ができたと判定した場合、全てのクロック給電領域について処理が終了したか否かのチェックを行い、まだ済んでいなければ、次のクロック給電領域を選択して、ステップ713以降を処理を繰り返す(ステップ718、719)。
【0046】
(6)ステップ718で全てのクロック給電領域について処理が終了したと判断したとき、決定したクロックディレイ調整方法に従って、図2、図3に示すようなディレイ素子の挿入や削除、クロックセルの置換、クロックネットの結線関係変更、クロック配線の迂回等の修正を行い、その結果を入力情報としての情報601のファイルにフィードバックする(ステップ720、721)。
【0047】
前述した本発明の実施形態は、フリップフロップのクロックタイミング時刻を調整することを前提にした論理設計及び実装設計を行うことができ、目標マシンサイクルを超えているフリップフロップ間の経路の内、クロックタイミング時刻の調整を行ってもデータの転送ができないものだけを、パスの遅延時間の短縮を行う設計変更の対象とすることができる。これにより、前述した本発明の実施形態によれば、論理段数の削減やファンアウト数の削減といった論理設計の変更や、セル配置や配線パターンの修正といった実装設計での修正にかかる工数を必要最小限に抑えることができる。
【0048】
また、前述した本発明の実施形態は、クロックディレイ調整の精度が高いため、目的のクロックタイミング時刻を確実に実現することができ、手戻りなく設計を行うことができ、製造した半導体集積回路チップでの動作の保証をより確実とすることができる。
【0049】
さらに、前述した本発明の実施形態は、クロックゲートの数や、クロック配線の物量等をコストとして定義しているので、対象とする半導体集積回路製造プロセスに最も合ったコスト最小のクロックタイミング時刻の調整が可能となる。
【0050】
【発明の効果】
以上説明したように本発明によれば、半導体集積回路の論理設計及び実装設計で対策を行う物量を最小限に抑え、最小マシンサイクルを実現することができる。
【図面の簡単な説明】
【図1】本発明が適用される半導体集積回路のクロック信号の分配回路の基本的な構造の例を説明する図である。
【図2】フリップフロップのクロックタイミング時刻を遅らせる方法の例を説明する図である。
【図3】フリップフロップのクロックタイミング時刻を遅らせる方法のさらに他の例を説明する図である。
【図4】フリップフロップのクロックタイミング時刻を速くする方法の例を説明する図である。
【図5】図1に示すクロック信号の分配回路に対して、図2〜図4に示すクロック調整方法を適用した場合のクロックタイミング時刻の調整可能範囲を示す図である。
【図6】本発明の一実施形態による半導体集積回路の設計方法の処理動作を説明するフローチャートである。
【図7】最小限のコストで各フリップフロップのクロックディレイを調整するための処理動作を説明するフローチャートである。
【符号の説明】
101 領域分割線
102 クロック給電領域
103 クロックソースピン
104 幅広配線
105 シールド
106 中継アンプ
107、204、301、404 最終段アンプ
108 フリップフロップ
201 迂回配線
202、403 ディレイ素子
203 ファンアウトが多いネット
401 前段アンプ
402 反転回路
Claims (1)
- 半導体集積回路内の各フリップフロップに対して、目標マシンサイクルでフリップフロップ間のデータ転送ができるようにクロックタイミング時刻の調整を行う半導体集積回路の設計システムにおいて、
設計対象の半導体集積回線として、半導体チップ内がいくつかの領域に分割され、クロックソースピンから各領域へのクロック信号の配分が高速でかつノイズの影響を受け難い転送形態で構成され、各領域に複数の最終段クロックアンプのクロックピンが用意された半導体集積回路を用意し、
前記最終段クロックアンプのクロックピンから領域内のフリップフロップに入力するクロック信号のタイミング時刻を調整する手段として、調整可能範囲が異なる複数のクロックタイミング時刻調整手段を用意し、
前記領域内の各フリップフロップが要求するクロックタイミング時刻毎にフリップフロップをグループ化する手段と、各グループをグループ毎に別々の最終段クロックアンプのクロックピンに対してクロックタイミング時刻を調整して接続する手段とを備え、前記クロックタイミング時刻を調整する際、クロックタイミング時刻調整手段として配線長を延長することによるタイミング時刻調整手段により、あるいは、該配線長を延長することによるタイミング時刻調整手段と他の複数のタイミング調整手段とを組み合わせることにより各フリップフロップが要求するクロックタイミング時刻を得ることを特徴とする半導体集積回路の設計システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001038678A JP4218924B2 (ja) | 2001-02-15 | 2001-02-15 | 半導体集積回路の設計システム |
US10/073,312 US6944840B2 (en) | 2001-02-15 | 2002-02-13 | Design method and system for achieving a minimum machine cycle for semiconductor integrated circuits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001038678A JP4218924B2 (ja) | 2001-02-15 | 2001-02-15 | 半導体集積回路の設計システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002245109A JP2002245109A (ja) | 2002-08-30 |
JP4218924B2 true JP4218924B2 (ja) | 2009-02-04 |
Family
ID=18901605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001038678A Expired - Fee Related JP4218924B2 (ja) | 2001-02-15 | 2001-02-15 | 半導体集積回路の設計システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6944840B2 (ja) |
JP (1) | JP4218924B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085993B2 (en) * | 2002-07-29 | 2006-08-01 | International Business Machine Corporation | System and method for correcting timing signals in integrated circuits |
US7197738B1 (en) * | 2002-08-09 | 2007-03-27 | Cadence Design Systems, Inc. | Method and apparatus for routing |
JP3941933B2 (ja) | 2002-08-26 | 2007-07-11 | 松下電器産業株式会社 | 開閉式の通信端末およびヒンジ装置 |
JP2004253772A (ja) | 2003-01-31 | 2004-09-09 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置 |
JP2005252048A (ja) * | 2004-03-05 | 2005-09-15 | Nec Electronics Corp | 半導体集積回路装置及びその製造方法 |
US7120888B2 (en) * | 2004-07-12 | 2006-10-10 | International Business Machines Corporation | Method, system and storage medium for determining circuit placement |
US7356793B2 (en) * | 2004-07-12 | 2008-04-08 | International Business Machines Corporation | Genie: a method for classification and graphical display of negative slack timing test failures |
US7571408B1 (en) * | 2005-03-09 | 2009-08-04 | Cadence Design Systems, Inc. | Methods and apparatus for diagonal route shielding |
JP4294000B2 (ja) * | 2005-03-24 | 2009-07-08 | 富士通株式会社 | クロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体 |
US7694258B1 (en) | 2005-08-01 | 2010-04-06 | Cadence Design Systems, Inc. | Method and apparatus for inserting metal fill in an integrated circuit (“IC”) layout |
US8104014B2 (en) * | 2008-01-30 | 2012-01-24 | International Business Machines Corporation | Regular local clock buffer placement and latch clustering by iterative optimization |
US9310831B2 (en) | 2008-02-06 | 2016-04-12 | Mentor Graphics Corporation | Multi-mode multi-corner clocktree synthesis |
US20090199143A1 (en) * | 2008-02-06 | 2009-08-06 | Mentor Graphics, Corp. | Clock tree synthesis graphical user interface |
JP5609364B2 (ja) | 2010-07-22 | 2014-10-22 | 富士通株式会社 | 集積回路設計装置、集積回路設計方法、及び集積回路設計プログラム |
JP6136430B2 (ja) * | 2013-03-25 | 2017-05-31 | 富士通株式会社 | 設計支援装置、設計支援方法、および設計支援プログラム |
US9021411B2 (en) * | 2013-05-23 | 2015-04-28 | International Business Machines Corporation | Characterizing TSV structures in a semiconductor chip stack |
US11709521B1 (en) * | 2020-06-26 | 2023-07-25 | Xilinx, Inc. | Synchronous clock domain crossing skew optimization and multi-clock buffer (MBUFG) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5481209A (en) * | 1993-09-20 | 1996-01-02 | Lsi Logic Corporation | Clock distribution and control in an integrated circuit |
JP2540762B2 (ja) * | 1993-11-10 | 1996-10-09 | 日本電気株式会社 | クロック信号供給方法 |
US6305001B1 (en) * | 1998-06-18 | 2001-10-16 | Lsi Logic Corporation | Clock distribution network planning and method therefor |
US6233724B1 (en) * | 1998-10-30 | 2001-05-15 | Micron Technology, Inc. | Circuit synthesis time budgeting based upon wireload information |
US6353352B1 (en) * | 1998-11-25 | 2002-03-05 | Vantis Corporation | Clock tree topology |
US6367060B1 (en) * | 1999-06-18 | 2002-04-02 | C. K. Cheng | Method and apparatus for clock tree solution synthesis based on design constraints |
US6434731B1 (en) * | 1999-10-26 | 2002-08-13 | International Business Machines Corporation | Automated placement of signal distribution to diminish skew among same capacitance targets in integrated circuits |
US6351840B1 (en) * | 1999-12-09 | 2002-02-26 | Silicon Perspective Corporation | Method for balancing a clock tree |
JP3317948B2 (ja) * | 2000-01-20 | 2002-08-26 | エヌイーシーマイクロシステム株式会社 | 半導体集積回路のレイアウト設計方法及び半導体集積回路 |
US6502222B1 (en) * | 2000-09-28 | 2002-12-31 | Lsi Logic Corporation | Method of clock buffer partitioning to minimize clock skew for an integrated circuit design |
JP3620440B2 (ja) * | 2000-11-20 | 2005-02-16 | 日本電気株式会社 | 半導体集積回路とそのクロック分配方法 |
-
2001
- 2001-02-15 JP JP2001038678A patent/JP4218924B2/ja not_active Expired - Fee Related
-
2002
- 2002-02-13 US US10/073,312 patent/US6944840B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002245109A (ja) | 2002-08-30 |
US20020114224A1 (en) | 2002-08-22 |
US6944840B2 (en) | 2005-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4218924B2 (ja) | 半導体集積回路の設計システム | |
US11480993B2 (en) | Methods for optimizing circuit performance via configurable clock skews | |
US7809971B2 (en) | Clock distribution circuit, semiconductor integrated circuit and method of designing clock distribution circuit | |
US7017132B2 (en) | Methodology to optimize hierarchical clock skew by clock delay compensation | |
US5570045A (en) | Hierarchical clock distribution system and method | |
US7362135B1 (en) | Apparatus and method for clock skew adjustment in a programmable logic fabric | |
JP2004213639A (ja) | 集積回路のデザイン中におけるメモリの自動選択及び配置 | |
US8255196B2 (en) | Constructing a replica-based clock tree | |
JPH0749903A (ja) | 集積回路のシミュレーション方法およびレイアウト方法 | |
US20080129362A1 (en) | Semiconductor device and method of designing semiconductor device | |
US6763513B1 (en) | Clock tree synthesizer for balancing reconvergent and crossover clock trees | |
Sze et al. | Path based buffer insertion | |
US7382170B2 (en) | Programmable delay circuit having reduced insertion delay | |
US7725855B1 (en) | Symmetry-based optimization for the physical synthesis of programmable logic devices | |
JP2002083000A (ja) | 論理回路設計方法及び論理回路 | |
US8086986B1 (en) | Clock boosting systems and methods | |
WO2002103757A2 (en) | Digital circuits with selection operators | |
Carrig et al. | A new direction in ASIC high-performance clock methodology | |
US11764763B1 (en) | Method and apparatus for in-situ on-chip timing | |
Wang et al. | A method of customizing GasP with logical effort | |
JP2000294737A (ja) | 半導体集積回路およびその製造方法 | |
JP2953384B2 (ja) | 半導体集積回路のクロックツリー形成方法 | |
JP2000267752A (ja) | 集積回路のためのクロック生成装置および生成方法 | |
JP3084742B2 (ja) | 半導体集積回路 | |
JP2001332626A (ja) | 半導体集積回路の設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050812 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20070221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080805 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081003 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081028 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081110 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131121 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |