Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3943643B2 - Clock tree design method and apparatus for semiconductor integrated circuit - Google Patents
[go: Go Back, main page]

JP3943643B2 - Clock tree design method and apparatus for semiconductor integrated circuit - Google Patents

Clock tree design method and apparatus for semiconductor integrated circuit Download PDF

Info

Publication number
JP3943643B2
JP3943643B2 JP03050497A JP3050497A JP3943643B2 JP 3943643 B2 JP3943643 B2 JP 3943643B2 JP 03050497 A JP03050497 A JP 03050497A JP 3050497 A JP3050497 A JP 3050497A JP 3943643 B2 JP3943643 B2 JP 3943643B2
Authority
JP
Japan
Prior art keywords
clock
semiconductor integrated
integrated circuit
layout
terminal flip
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
Application number
JP03050497A
Other languages
Japanese (ja)
Other versions
JPH10229128A (en
Inventor
雅彦 後藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP03050497A priority Critical patent/JP3943643B2/en
Publication of JPH10229128A publication Critical patent/JPH10229128A/en
Application granted granted Critical
Publication of JP3943643B2 publication Critical patent/JP3943643B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、半導体集積回路のクロックツリー設計方法及びその装置に関し、半導体集積回路の各部にクロック信号を供給する半導体集積回路のクロックツリー設計方法及びその装置に関する。
近年、大規模かつ高集積化された半導体集積回路の設計期間短縮に伴い、論理記述による設計からレイアウトへの自動化を図るべく、合成ツール及び自動レイアウトツールを用いたクロックツリーの設計自動化が要求されている。
【0002】
【従来の技術】
従来のクロックツリー設計方法について図13を用いて説明する。まず、図14(A)に示すようにクロック入力端子10から供給されるクロックを入力クロックバッファ11を通して末端フリップフロップ12,13,14夫々に供給する回路が設計データとして構成されている場合について考える。
【0003】
図13は従来のシステムフローチャートを示す。ステップS10では上記の設計データに対して、クロックドライバセルの自動挿入を行う合成ツールでクロックツリーを発生させる。このステップでは入力クロックバッファ11から末端のフリップフロップ12〜14までの遅延時間を最小に抑えるようにしており、遅延時間は仮配線容量から求めている。これにより、図14(B)に示すように末端フリップフロップ12,13,14夫々に対応してクロックドライバセル15,16,17が挿入されたクロックツリーが得られる。この場合、入力クロックバッファ11から末端フリップフロップ12,13,14夫々までの配線容量は全て同一とみなしている。
【0004】
更に、上記のクロックツリーを自動レイアウトツールによりレイアウトを行う。
このステップでは各クロックドライバセル15〜17夫々から末端のフリップフロップ12〜14夫々までの配線が等長となるように配線を行う。これにより図14(C)に示すようなチップレイアウトが得られる。なお、クロックドライバセル15〜17の各個には複数のフリップフロップが接続されることが一般的である。
【0005】
【発明が解決しようとする課題】
大規模かつ大集積の半導体集積回路ではクロックドライバセルから末端のフリップフロップまでの配線を全て等配線長となるようにフリップフロップを配置してしまうと、回路素子の配置の自由度が小さくなってしまい、本来、集積回路内の全ての素子間配線が最短となるよう調整して高集積化を可能とする自動レイアウト手法が効果を発揮できないという問題があった。
【0006】
本発明は上記の点に鑑みなされたもので、集積回路内の全ての素子間配線を最短となるよう調整して高集積化が可能な半導体集積回路のクロックツリー設計方法及びその装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
請求項1に記載の発明は、半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計方法において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行い、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々の配線の最短距離であるマンハッタン長を算出して調査を行い、
上記マンハッタン長に基づいて、上記入力クロックバッファから各末端フリップフロップまでの遅延時間を小さく抑えるようにクロックドライバを挿入し、
上記マンハッタン長から推定される上記入力クロックバッファから上記各末端フリップフロップまでの遅延時間が略同一になるようにクロックツリーを合成し、
上記合成されたクロックツリーに基づいて各クロックドライバセルから各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行う。
【0008】
このように事前レイアウトによって集積度を高くするような素子配置を行い、その後、各末端フリップフロップまでのマンハッタン長から配線容量を推定して各末端フリップフロップまでの遅延時間が小さくなるようにクロックドライバを挿入し、マンハッタン長から推定される入力クロックバッファから各末端フリップフロップまでの遅延時間が略同一になるようにクロックツリーを合成し、更に各クロックドライバから各末端フリップフロップまでの配線長が最短となるようレイアウトを行うため、クロック入力端子から各末端フリップフロップまでの遅延時間を略同一とすることができ、かつ半導体集積回路の集積度を高くすることができる。
【0009】
請求項2に記載の発明は、半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計方法において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行い、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々の配線の最短距離であるマンハッタン長を算出して調査を行い、
上記複数の末端フリップフロップ夫々のマンハッタン長に基づいて上記各末端フリップフロップで位相が略同一となるように上記末端フリップフロップ夫々に応じて遅延量の異なる複数のクロックを出力するPLL回路を設計し、
上記入力クロックバッファの出力するクロックを上記PLL回路に供給し、上記PLL回路の出力する遅延量の異なる複数のクロック夫々を対応する複数の末端フリップフロップ夫々に供給するよう接続してクロックツリーを合成し、
上記合成されたクロックツリーに基づいて上記PLL回路から各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行う。
【0010】
このように、事前レイアウトによって集積度を高くするような素子配置を行い、その後、各末端フリップフロップまでのマンハッタン長から遅延量を推定して各末端フリップフロップでクロックの位相が略同一となるように遅延量を異ならせた複数のクロックをPLL回路を設計し、このPLL回路を入力クロックバッファと末端フリップフロップとの間に接続してレイアウトを行うため、各末端フリップフロップにおけるクロックの位相を略同一とすることができる。
【0011】
請求項3に記載の発明は、半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計装置において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行う事前レイアウト手段と、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々の配線の最短距離であるマンハッタン長を算出して調査を行う調査手段と、
上記マンハッタン長に基づいて、上記入力クロックバッファから各末端フリップフロップまでの遅延時間を小さく抑えるようにクロックドライバを挿入しし、上記マンハッタン長から推定される上記入力クロックバッファから上記各末端フリップフロップまでの遅延時間が略同一になるようにクロックツリーを合成する合成手段と、
上記合成されたクロックツリーに基づいて各クロックドライバセルから各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行うレイアウト手段とを有する。
【0012】
このように、事前レイアウト手段と、調査手段と、合成手段と、レイアウト手段とを設けることにより、請求項1の方法を実現でき、集積度の高い半導体集積回路の設計が可能となる。
請求項4に記載の発明は、半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計装置において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行う事前レイアウト手段と、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々の配線の最短距離であるマンハッタン長を算出して調査を行う調査手段と、
上記複数の末端フリップフロップ夫々のマンハッタン長に基づいて上記各末端フリップフロップで位相が略同一となるように上記末端フリップフロップ夫々に応じて遅延量の異なる複数のクロックを出力するPLL回路を設計するPLL設計手段と、
上記入力クロックバッファの出力するクロックを上記PLL回路に供給し、上記PLL回路の出力する遅延量の異なる複数のクロック夫々を対応する複数の末端フリップフロップ夫々に供給するよう接続してクロックツリーを合成する合成手段と、
上記合成されたクロックツリーに基づいて上記PLL回路から各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行う。
【0013】
このように、事前レイアウト手段と、調査手段と、PLL設計手段と、合成手段と、レイアウト手段とを設けることにより、請求項2の方法を実現でき、集積度の高い半導体集積回路の設計が可能となる。
【0014】
【発明の実施の形態】
図2は本発明のシステム構成図を示す。同図中、計算機本体1は後述の各種処理を実行するものであり、半導体集積回路の設計データを格納するハードディスク装置2,キーボード等の入力装置3,ディスプレイ装置4,印刷装置5が接続されている。上記のハードディスク装置2にはレイアウト前の基本データ2a,事前レイアウト処理で得られる事前レイアウトデータ2b,調査処理で得られるマンハッタン長データ2c,合成処理で得られる合成データ2d,レイアウト処理で得られるレイアウトデータ2e、PLL設計処理で得られるPLL設計データ2f等の半導体集積回路の設計データが格納される。
【0015】
図1は本発明の一実施例のシステムフローチャートを示す。同図中、ステップS30の事前レイアウト処理では基本データ2aに対してクロックツリーを意識せずにフリップフロップも含めた回路素子の集積度を高くするよう全素子間の配線長を最短とするようにレイアウトを行い事前レイアウトデータ2bを得る。図3は事前レイアウト処理でレイアウトされたクロック入力端子20と、入力クロックバッファ21と、末端フリップフロップ22,23,24,及びその間の配線を示している。なお、この半導体集積回路は論理回路であり、フリップフロップ等の順序回路と、アンド回路、オア回路等の各種の組み合わせ回路とから構成されており、上記末端フリップフロップ22〜24夫々の周辺に各種の組み合わせ回路が配置される。
【0016】
次のステップS40では事前レイアウトデータ2bに対して調査処理を行いマンハッタン長データ2cを得る。ここでは図3に示す事前レイアウトにおいて、入力クロックバッファ21から各末端フリップフロップ22,23,24までの配線の最短距離であるマンハッタン長を算出する。このマンハッタン長は配線容量を近似するために用いるものであり、入力クロックバッファ21から末端フリップフロップ22,24夫々までのマンハッタン長はα,入力クロックバッファ21から末端フリップフロップ23までのマンハッタン長は2αである。
【0017】
ステップS50の合成処理では事前レイアウトデータ2b及びマンハッタン長データ2cを用い、入力クロックバッファ21から末端フリップフロップ22〜24夫々までの遅延時間を最小に抑えるようにクロックドライバセルを自動挿入してクロックツリーを合成して合成データ2dを得る。このときの遅延時間はマンハッタン長で近似された配線容量に対応するものとする。図4はこの合成処理で得られたクロックツリーを示している。ここではマンハッタン長がαのフリップフロップ22,24は挿入されたクロックドライバセル25の出力端子に接続され、また、マンハッタン長が2αの末端フリップフロップ23は挿入されたクロックドライバセル26の出力端子に接続されている。
【0018】
つまり、クロックドライバセル25には末端フリップフロップ22,24夫々と接続する配線の配線長2α(=α+α)に対応する配線容量が付く。また、クロックドライバ26には末端のフリップフロップ23と接続する配線の配線長2αに対応する配線容量が付く。このため、入力クロックバッファ21から各末端フリップフロップ22〜24夫々までの遅延時間は同一となる。
【0019】
次のステップS50では合成データ2dを用いてレイアウト処理を行い、レイアウトデータ2eを得る。ここでは事前レイアウト処理での配置を基本とし、かつ合成処理で得られたクロックツリーの構成で、クロックドライバセル25,26から末端フリップフロップ22〜23までの配線長が夫々最短となるように配線を行う。
【0020】
これによって、図5に示すレイアウトが得られる。図5では末端フリップフロップ22と24とを最短で結ぶ配線の略中点位置にクロックドライバセル25の出力端子を接続し、入力クロックバッファ21の出力端子をクロックドライバセル25の入力端子に接続すると共に、クロックドライバセル25に隣接配置されたクロックドライバセル26の入力端子に接続している。そしてクロックドライバセル26の出力端子とフリップフロップ23との間を最短で結ぶ配線で接続している。
【0021】
上記のステップS30が事前レイアウト手段に対応し、ステップS40が調査手段に対応し、ステップS50が合成手段に対応し、ステップS60がレイアウト手段に対応する。
図6は本発明の第1実施例による半導体集積回路の回路配置の一実施例を示す。この半導体集積回路は極めて集積度が高く、末端フリップフロップFF1〜FF10夫々に関係する組み合わせ回路素子を対応するフリップフロップの近くに配置することは配線長を長くすることとなり、チップ全体の素子間の配線長をより短くするとフリップフロップ自体も優先的に配置できなくなった状態のものである。
【0022】
この半導体集積回路のクロックツリーでは入力クロックバッファ30からクロックドライバセル31及びクロックドライバセル32〜36夫々を経て末端フリップフロップFF1〜FF10夫々に至る配線は全て等配線長とはなっていない。しかし、各末端フリップフロップFF1〜FF10を事前レイアウトした際のマンハッタン長に基づいてクロックドライバセル32〜36を配置しているため、入力クロックバッファ30から末端フリップフロップFF1〜FF10夫々までの遅延時間は略同一、つまり遅延時間差が小さく抑えられる。なお、図中の破線はクロックドライバセル31からの遅延時間が略同一となる位置を示している。
【0023】
これに対して、図7は従来方法による半導体集積回路の回路配置の一例を示す。図7においては、クロックドライバセル41からの遅延時間が略同一となる破線上にクロックドライバセル42〜45を配置している。そして、各クロックドライバセル42〜45夫々から末端フリップフロップFF11〜FF18夫々までの配線長を略同一としている。
【0024】
この場合は末端フリップフロップFF11〜FF18夫々がある程度離れて配置されるため、末端フリップフロップFF11〜FF18夫々の近傍に、これらと関係のある組み合わせ回路を配置することになり、例えば末端フリップフロップFF14とFF17との間に図6に示すような末端フリップフロップFF4〜FF6を配置することができず、半導体集積回路の集積度を上げることができない。
【0025】
図8は本発明の第2実施例のシステムフローチャートを示す。同図中、ステップS70の事前レイアウト処理では基本データ2aに対してクロックツリーを意識せずにフリップフロップも含めた回路素子の集積度を高くするよう全素子間の配線長を最短とするようにレイアウトを行い事前レイアウトデータ2bを得る。図9は事前レイアウト処理でレイアウトされたクロック入力端子50と、入力クロックバッファ51と、末端フリップフロップ52,53,54,及びその間の配線を示している。なお、この半導体集積回路は論理回路であり、フリップフロップ等の順序回路と、アンド回路、オア回路等の各種の組み合わせ回路とから構成されており、上記末端フリップフロップ52〜54夫々の周辺に各種の組み合わせ回路が配置される。
【0026】
次のステップS80では事前レイアウトデータ2bに対して調査処理を行いマンハッタン長データ2cを得る。ここでは図9に示す事前レイアウトにおいて、入力クロックバッファ51から各末端フリップフロップ52,53,54までの配線の最短距離であるマンハッタン長を算出する。このマンハッタン長は遅延量を近似するために用いるものであり、入力クロックバッファ51から末端フリップフロップ52〜54夫々までのマンハッタン長はα,2α,3α夫々である。
【0027】
ステップS90では上記のマンハッタン長データ2cを用いてPLL(フェーズ・ロックト・ループ)回路設計処理を行い、PLL設計データ2fを得る。ここでは、図10に示すように遅延量の異なる複数のクロックを出力するPLL回路60を設計する。PLL回路60はPLLセル61と、クロックディレイセル62,63より構成される。PLLセル61は入力クロックバッファ51から供給されるクロックと、端子64から供給されるフィードバッククロックとを位相比較して、フィードバッククロックと位相が一致するクロックを出力する。このPLLセル61の出力するクロックは端子X3から出力されると共に、クロックディレイセル62に供給される。
【0028】
クロックディレイセル62は供給されるクロックをマンハッタン長αに対応する遅延量だけ遅延して端子X2から出力すると共に、クロックディレイセル63に供給する。クロックディレイセル63は供給されるクロックをマンハッタン長αに対応する遅延量だけ遅延して端子X1から出力する。これにより、端子X1から出力されるクロックに対して端子X2から出力されるクロックはマンハッタン長α分だけ進んでおり、端子X3から出力されるクロックは端子X2に対して更にマンハッタン長α分だけ進んでいる。
【0029】
次にステップS100で事前レイアウトデータ2bとマンハッタン長データ2cとPLL設計データ2fとを用い、PLL回路60の端子X1を末端フリップフロップ52のクロック入力端子に接続し、端子X2を末端フリップフロップ53のクロック入力端子に接続し、端子X3を末端フリップフロップ54のクロック入力端子に接続して図11に示すようなクロックツリーを合成データ2dを得る。また、ここでは、マンハッタン長が最長3αの末端フリップフロップ54に供給されるクロックをPLL回路60の端子64にフィードバックするよう配線を行う。
【0030】
次のステップS110では合成データ2dを用いてレイアウト処理を行いレイアウトデータ2eを得る。ここではPLL回路60は入力クロックバッファ51の近傍に配置され、末端フリップフロップ52〜54夫々は事前レイアウト処理で配置された通りであり、PLL回路60からのマンハッタン長は略α,2α,3α夫々であるので、PLL回路60から末端フリップフロップ52〜54夫々までの配線長が最短となるように配線を行う。
【0031】
図12は本発明の第2実施例による半導体集積回路の回路配置の一実施例を示す。この半導体集積回路は極めて集積度が高く、末端フリップフロップFF20〜FF29夫々に関係する組み合わせ回路素子を対応するフリップフロップの近くに配置することは配線長を長くすることになり、チップ全体の配線長をより短くするとフリップフロップ自体も優先的に配置できなくなった状態のものである。
【0032】
この半導体集積回路のクロックツリーでは入力クロックバッファ70から末端フリップフロップFF20〜FF29夫々までの配線長は夫々異なっている。しかし、予め調査したマンハッタン長に基づいてPLL回路71で出力するクロックの遅延量を調整しているため、各末端フリップフロップFF20〜FF29におけるクロックの位相は略同一となる。
【0033】
また、マンハッタン長が最長の末端フリップフロップFF22に供給されるクロックをPLL回路71にフィードバックしているため、PLL回路71に入力されるクロックと末端フリップフロップFF22に供給されるクロックとの遅延時間差を小さく抑えることができる。
【0034】
【発明の効果】
上述の如く、請求項1に記載の発明は、半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計方法において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行い、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々の配線の最短距離であるマンハッタン長を算出して調査を行い、
上記マンハッタン長に基づいて、上記入力クロックバッファから各末端フリップフロップまでの遅延時間を小さく抑えるようにクロックドライバを挿入し、
上記マンハッタン長から推定される上記入力クロックバッファから上記各末端フリップフロップまでの遅延時間が略同一になるようにクロックツリーを合成し、
上記合成されたクロックツリーに基づいて各クロックドライバセルから各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行う。
【0035】
このように事前レイアウトによって集積度を高くするような素子配置を行い、その後、各末端フリップフロップまでのマンハッタン長から配線容量を推定して各末端フリップフロップまでの遅延時間が小さくなるようにクロックドライバを挿入し、マンハッタン長から推定される入力クロックバッファから各末端フリップフロップまでの遅延時間が略同一になるようにクロックツリーを合成し、更に各クロックドライバから各末端フリップフロップまでの配線長が最短となるようレイアウトを行うため、クロック入力端子から各末端フリップフロップまでの遅延時間を略同一とすることができ、かつ半導体集積回路の集積度を高くすることができる。
【0036】
また、請求項2に記載の発明は、半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計方法において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行い、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々の配線の最短距離であるマンハッタン長を算出して調査を行い、
上記複数の末端フリップフロップ夫々のマンハッタン長に基づいて上記各末端フリップフロップで位相が略同一となるように上記末端フリップフロップ夫々に応じて遅延量の異なる複数のクロックを出力するPLL回路を設計し、
上記入力クロックバッファの出力するクロックを上記PLL回路に供給し、上記PLL回路の出力する遅延量の異なる複数のクロック夫々を対応する複数の末端フリップフロップ夫々に供給するよう接続してクロックツリーを合成し、
上記合成されたクロックツリーに基づいて上記PLL回路から各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行う。
【0037】
このように、事前レイアウトによって集積度を高くするような素子配置を行い、その後、各末端フリップフロップまでのマンハッタン長から遅延量を推定して各末端フリップフロップでクロックの位相が略同一となるように遅延量を異ならせた複数のクロックをPLL回路を設計し、このPLL回路を入力クロックバッファと末端フリップフロップとの間に接続してレイアウトを行うため、各末端フリップフロップにおけるクロックの位相を略同一とすることができる。
【0038】
また、請求項3に記載の発明は、半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計装置において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行う事前レイアウト手段と、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々の配線の最短距離であるマンハッタン長を算出して調査を行う調査手段と、
上記マンハッタン長に基づいて、上記入力クロックバッファから各末端フリップフロップまでの遅延時間を小さく抑えるようにクロックドライバを挿入し、上記マンハッタン長から推定される上記入力クロックバッファから上記各末端フリップフロップまでの遅延時間が略同一になるようにクロックツリーを合成する合成手段と、
上記合成されたクロックツリーに基づいて各クロックドライバセルから各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行うレイアウト手段とを有する。
【0039】
このように、事前レイアウト手段と、調査手段と、合成手段と、レイアウト手段とを設けることにより請求項1の方法を実現でき、集積度の高い半導体集積回路の設計が可能となる。
また、請求項4に記載の発明は、半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計装置において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行う事前レイアウト手段と、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々の配線の最短距離であるマンハッタン長を算出して調査を行う調査手段と、
上記複数の末端フリップフロップ夫々のマンハッタン長に基づいて上記各末端フリップフロップで位相が略同一となるように上記末端フリップフロップ夫々に応じて遅延量の異なる複数のクロックを出力するPLL回路を設計するPLL設計手段と、
上記入力クロックバッファの出力するクロックを上記PLL回路に供給し、上記PLL回路の出力する遅延量の異なる複数のクロック夫々を対応する複数の末端フリップフロップ夫々に供給するよう接続してクロックツリーを合成する合成手段と、
上記合成されたクロックツリーに基づいて上記PLL回路から各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行う。
【0040】
このように、事前レイアウト手段と、調査手段と、PLL設計手段と、合成手段と、レイアウト手段とを設けることにより、請求項2の方法を実現でき、集積度の高い半導体集積回路の設計が可能となる。
【図面の簡単な説明】
【図1】本発明のシステムフローチャートである。
【図2】本発明のシステム構成図である。
【図3】本発明を説明するための図である。
【図4】本発明を説明するための図である。
【図5】本発明を説明するための図である。
【図6】本発明方法による回路配置の一実施例を示す図である。
【図7】従来方法による回路配置の一例を示す図である。
【図8】本発明のシステムフローチャートである。
【図9】本発明を説明するための図である。
【図10】本発明を説明するための図である。
【図11】本発明を説明するための図である。
【図12】本発明を説明するための図である。
【図13】従来のシステムフローチャートである。
【図14】従来を説明するための図である。
【符号の説明】
20 クロック入力端子
21,40 入力クロックバッファ
22〜24,FF1〜FF10 末端フリップフロップ
25,26,31〜36 クロックドライバセル
S30,S70 事前レイアウト処理
S40,S80 調査処理
S50,S100 合成処理
S60,S110 レイアウト処理
S90 PLL設計処理
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a clock tree design method and apparatus for a semiconductor integrated circuit, and to a clock tree design method and apparatus for a semiconductor integrated circuit that supplies a clock signal to each part of the semiconductor integrated circuit.
In recent years, with the shortening of the design period of large-scale and highly integrated semiconductor integrated circuits, clock tree design automation using synthesis tools and automatic layout tools is required to automate the design from logic description to layout. ing.
[0002]
[Prior art]
A conventional clock tree design method will be described with reference to FIG. First, as shown in FIG. 14A, consider a case in which a circuit that supplies a clock supplied from the clock input terminal 10 to the terminal flip-flops 12, 13, and 14 through the input clock buffer 11 is configured as design data. .
[0003]
FIG. 13 shows a conventional system flowchart. In step S10, a clock tree is generated for the design data by a synthesis tool that automatically inserts clock driver cells. In this step, the delay time from the input clock buffer 11 to the terminal flip-flops 12 to 14 is minimized, and the delay time is obtained from the temporary wiring capacity. As a result, as shown in FIG. 14B, a clock tree is obtained in which clock driver cells 15, 16, and 17 are inserted corresponding to the terminal flip-flops 12, 13, and 14, respectively. In this case, the wiring capacities from the input clock buffer 11 to the terminal flip-flops 12, 13, and 14 are all considered to be the same.
[0004]
Further, the above clock tree is laid out by an automatic layout tool.
In this step, the wiring is performed so that the wiring from each of the clock driver cells 15 to 17 to the terminal flip-flops 12 to 14 has the same length. Thereby, a chip layout as shown in FIG. 14C is obtained. Note that a plurality of flip-flops are generally connected to each of the clock driver cells 15 to 17.
[0005]
[Problems to be solved by the invention]
In large-scale and large-scale semiconductor integrated circuits, if flip-flops are arranged so that all the wires from the clock driver cell to the terminal flip-flops have the same wiring length, the degree of freedom of arrangement of circuit elements is reduced. In other words, there is a problem that an automatic layout method that enables high integration by adjusting all the inter-element wirings in the integrated circuit to the shortest is not effective.
[0006]
The present invention has been made in view of the above points, and provides a clock tree design method and apparatus for a semiconductor integrated circuit that can be highly integrated by adjusting all the inter-element wirings in the integrated circuit to be the shortest. For the purpose.
[0007]
[Means for Solving the Problems]
According to a first aspect of the present invention, there is provided a clock tree design method for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit.
Pre-layout is performed to increase the degree of integration of the semiconductor integrated circuit,
Based on the preliminary layout result, the input clock buffer supplied with the clock from the outside and the Manhattan length , which is the shortest distance between the wirings of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit , are investigated. And
Based on the Manhattan length, insert a clock driver to keep the delay time from the input clock buffer to each terminal flip-flop small,
A clock tree is synthesized so that the delay time from the input clock buffer estimated from the Manhattan length to each terminal flip-flop is substantially the same,
Based on the synthesized clock tree, the wiring is performed so that the wiring length from each clock driver cell to each terminal flip-flop is the shortest.
[0008]
In this way, the device is arranged so as to increase the degree of integration by the prior layout, and then the clock capacity is estimated from the Manhattan length to each terminal flip-flop so that the delay time to each terminal flip-flop is reduced. Synthesize the clock tree so that the delay time from the input clock buffer estimated from the Manhattan length to each terminal flip-flop is substantially the same, and the wiring length from each clock driver to each terminal flip-flop is the shortest Therefore, the delay time from the clock input terminal to each terminal flip-flop can be made substantially the same, and the degree of integration of the semiconductor integrated circuit can be increased.
[0009]
According to a second aspect of the present invention, there is provided a clock tree design method for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit.
Pre-layout is performed to increase the degree of integration of the semiconductor integrated circuit,
Based on the preliminary layout result, the input clock buffer supplied with the clock from the outside and the Manhattan length , which is the shortest distance between the wirings of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit , are investigated. And
Based on the Manhattan length of each of the plurality of terminal flip-flops, a PLL circuit that outputs a plurality of clocks having different delay amounts according to each terminal flip-flop is designed so that the phase of each terminal flip-flop is substantially the same. ,
The clock output from the input clock buffer is supplied to the PLL circuit, and a plurality of clocks with different delay amounts output from the PLL circuit are connected to corresponding terminal flip-flops to synthesize a clock tree. And
Based on the synthesized clock tree, the wiring is performed so that the wiring length from the PLL circuit to each terminal flip-flop is the shortest.
[0010]
In this way, element layout is performed so as to increase the degree of integration by pre-layout, and then the delay amount is estimated from the Manhattan length to each terminal flip-flop so that the clock phase is substantially the same in each terminal flip-flop. Since the PLL circuit is designed with a plurality of clocks with different delay amounts, and the PLL circuit is connected between the input clock buffer and the terminal flip-flop for layout, the phase of the clock at each terminal flip-flop is omitted. Can be the same.
[0011]
According to a third aspect of the present invention, there is provided a clock tree design apparatus for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit.
Pre-layout means for performing pre-layout so as to increase the degree of integration of the semiconductor integrated circuit;
Based on the preliminary layout result, the input clock buffer supplied with the clock from the outside and the Manhattan length , which is the shortest distance between the wirings of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit , are investigated. Investigation means to perform,
Based on the Manhattan length, a clock driver is inserted so as to suppress a delay time from the input clock buffer to each terminal flip-flop, and from the input clock buffer estimated from the Manhattan length to each terminal flip-flop. Synthesizing means for synthesizing the clock tree so that the delay times of
Layout means for performing layout by wiring so as to minimize the wiring length from each clock driver cell to each terminal flip-flop based on the synthesized clock tree.
[0012]
Thus, by providing the pre-layout means, the investigation means, the synthesizing means, and the layout means, the method of claim 1 can be realized, and a highly integrated semiconductor integrated circuit can be designed.
According to a fourth aspect of the present invention, there is provided a clock tree design apparatus for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit.
Pre-layout means for performing pre-layout so as to increase the degree of integration of the semiconductor integrated circuit;
Based on the preliminary layout result, the input clock buffer supplied with the clock from the outside and the Manhattan length , which is the shortest distance between the wirings of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit , are investigated. Investigation means to perform,
Based on the Manhattan length of each of the plurality of terminal flip-flops, a PLL circuit that outputs a plurality of clocks having different delay amounts according to each of the terminal flip-flops is designed so that the phase of each terminal flip-flop is substantially the same. PLL design means;
The clock output from the input clock buffer is supplied to the PLL circuit, and a plurality of clocks with different delay amounts output from the PLL circuit are connected to corresponding terminal flip-flops to synthesize a clock tree. A synthesis means to
Based on the synthesized clock tree, the wiring is performed so that the wiring length from the PLL circuit to each terminal flip-flop is the shortest.
[0013]
Thus, by providing the pre-layout means, the investigation means, the PLL design means, the synthesis means, and the layout means, the method of claim 2 can be realized, and a highly integrated semiconductor integrated circuit can be designed. It becomes.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 shows a system configuration diagram of the present invention. In the figure, a computer main body 1 executes various processes described later, and is connected to a hard disk device 2, a keyboard and other input device 3, a display device 4, and a printing device 5 for storing design data of a semiconductor integrated circuit. Yes. The hard disk device 2 includes basic data 2a before layout, pre-layout data 2b obtained by pre-layout processing, Manhattan length data 2c obtained by survey processing, synthetic data 2d obtained by synthesis processing, and layout obtained by layout processing. The design data of the semiconductor integrated circuit such as data 2e and PLL design data 2f obtained by the PLL design processing is stored.
[0015]
FIG. 1 shows a system flowchart of an embodiment of the present invention. In the figure, in the pre-layout process in step S30, the basic data 2a is made conscious of the clock tree so that the wiring length between all elements is minimized so as to increase the degree of integration of circuit elements including flip-flops. Layout is performed to obtain pre-layout data 2b. FIG. 3 shows the clock input terminal 20, the input clock buffer 21, the terminal flip-flops 22, 23, 24, and the wiring between them, which are laid out by the pre-layout process. This semiconductor integrated circuit is a logic circuit, and is composed of a sequential circuit such as a flip-flop and various combinational circuits such as an AND circuit and an OR circuit. Various kinds of circuits are provided around the terminal flip-flops 22 to 24. The combinational circuit is arranged.
[0016]
In the next step S40, the pre-layout data 2b is checked to obtain Manhattan length data 2c. Here, in the pre-layout shown in FIG. 3 , the Manhattan length , which is the shortest distance of the wiring from the input clock buffer 21 to each of the terminal flip-flops 22, 23, 24 , is calculated. The Manhattan length is used to approximate the wiring capacity. The Manhattan length from the input clock buffer 21 to the terminal flip-flops 22 and 24 is α, and the Manhattan length from the input clock buffer 21 to the terminal flip-flop 23 is 2α. It is.
[0017]
In the synthesizing process of step S50, the pre-layout data 2b and the Manhattan length data 2c are used, and clock driver cells are automatically inserted so as to minimize the delay time from the input clock buffer 21 to the terminal flip-flops 22 to 24, and the clock tree. Are combined to obtain composite data 2d. The delay time at this time corresponds to the wiring capacity approximated by the Manhattan length. FIG. 4 shows a clock tree obtained by this synthesis process. Here, flip-flops 22 and 24 having a Manhattan length of α are connected to the output terminal of the inserted clock driver cell 25, and a terminal flip-flop 23 having a Manhattan length of 2α is connected to the output terminal of the inserted clock driver cell 26. It is connected.
[0018]
In other words, the clock driver cell 25 has a wiring capacity corresponding to the wiring length 2α (= α + α) of the wiring connected to each of the terminal flip-flops 22 and 24. The clock driver 26 has a wiring capacity corresponding to the wiring length 2α of the wiring connected to the terminal flip-flop 23. For this reason, the delay time from the input clock buffer 21 to each of the terminal flip-flops 22 to 24 is the same.
[0019]
In the next step S50, layout processing is performed using the composite data 2d to obtain layout data 2e. Here, the layout in advance layout processing is the basic, and the clock tree configuration obtained by the synthesis processing is used so that the wiring lengths from the clock driver cells 25 and 26 to the terminal flip-flops 22 to 23 are minimized. I do.
[0020]
As a result, the layout shown in FIG. 5 is obtained. In FIG. 5, the output terminal of the clock driver cell 25 is connected to a substantially middle position of the wiring connecting the terminal flip-flops 22 and 24 in the shortest time, and the output terminal of the input clock buffer 21 is connected to the input terminal of the clock driver cell 25. At the same time, it is connected to an input terminal of a clock driver cell 26 arranged adjacent to the clock driver cell 25. The output terminal of the clock driver cell 26 and the flip-flop 23 are connected by a wiring that connects the shortest.
[0021]
Step S30 corresponds to the pre-layout means, step S40 corresponds to the investigation means, step S50 corresponds to the synthesis means, and step S60 corresponds to the layout means.
FIG. 6 shows an embodiment of the circuit arrangement of the semiconductor integrated circuit according to the first embodiment of the present invention. This semiconductor integrated circuit has a very high degree of integration, and disposing the combinational circuit element related to each of the terminal flip-flops FF1 to FF10 close to the corresponding flip-flop increases the wiring length, so that the entire chip is between the elements. When the wiring length is made shorter, the flip-flop itself cannot be arranged preferentially.
[0022]
In the clock tree of this semiconductor integrated circuit, all the wirings from the input clock buffer 30 through the clock driver cell 31 and the clock driver cells 32 to 36 to the terminal flip-flops FF1 to FF10 are not of equal wiring length. However, since the clock driver cells 32 to 36 are arranged based on the Manhattan length when the terminal flip-flops FF1 to FF10 are pre-laid out, the delay time from the input clock buffer 30 to each of the terminal flip-flops FF1 to FF10 is Substantially the same, that is, the delay time difference can be kept small. A broken line in the figure indicates a position where the delay time from the clock driver cell 31 is substantially the same.
[0023]
On the other hand, FIG. 7 shows an example of a circuit arrangement of a semiconductor integrated circuit according to a conventional method. In FIG. 7, clock driver cells 42 to 45 are arranged on a broken line where the delay time from the clock driver cell 41 is substantially the same. The wiring lengths from the clock driver cells 42 to 45 to the terminal flip-flops FF11 to FF18 are substantially the same.
[0024]
In this case, since each of the terminal flip-flops FF11 to FF18 is arranged at some distance, a combinational circuit related to these is arranged in the vicinity of each of the terminal flip-flops FF11 to FF18. Terminal flip-flops FF4 to FF6 as shown in FIG. 6 cannot be arranged between the FF 17 and the degree of integration of the semiconductor integrated circuit cannot be increased.
[0025]
FIG. 8 shows a system flowchart of the second embodiment of the present invention. In the figure, in the pre-layout process in step S70, the basic data 2a is made conscious of the clock tree so that the wiring length between all elements is minimized so as to increase the degree of integration of circuit elements including flip-flops. Layout is performed to obtain pre-layout data 2b. FIG. 9 shows the clock input terminal 50, the input clock buffer 51, the terminal flip-flops 52, 53, 54, and the wiring between them, which are laid out by the pre-layout process. This semiconductor integrated circuit is a logic circuit, and is composed of a sequential circuit such as a flip-flop and various combinational circuits such as an AND circuit and an OR circuit. Various kinds of circuits are provided around each of the terminal flip-flops 52 to 54. The combinational circuit is arranged.
[0026]
In the next step S80, the pre-layout data 2b is checked to obtain Manhattan length data 2c. Here, in the prior layout shown in FIG. 9 , the Manhattan length , which is the shortest distance of the wiring from the input clock buffer 51 to each of the terminal flip-flops 52, 53, 54 , is calculated. This Manhattan length is used to approximate the delay amount, and the Manhattan lengths from the input clock buffer 51 to the terminal flip-flops 52 to 54 are α, 2α, and 3α, respectively.
[0027]
In step S90, PLL (phase locked loop) circuit design processing is performed using the above-described Manhattan length data 2c to obtain PLL design data 2f. Here, as shown in FIG. 10, a PLL circuit 60 that outputs a plurality of clocks with different delay amounts is designed. The PLL circuit 60 includes a PLL cell 61 and clock delay cells 62 and 63. The PLL cell 61 compares the phase of the clock supplied from the input clock buffer 51 with the feedback clock supplied from the terminal 64, and outputs a clock having the same phase as the feedback clock. The clock output from the PLL cell 61 is output from the terminal X 3 and supplied to the clock delay cell 62.
[0028]
The clock delay cell 62 delays the supplied clock by a delay amount corresponding to the Manhattan length α, outputs it from the terminal X 2, and supplies it to the clock delay cell 63. The clock delay cell 63 delays the supplied clock by a delay amount corresponding to the Manhattan length α and outputs it from the terminal X1. Thus, the clock output from the terminal X2 is advanced by the Manhattan length α with respect to the clock output from the terminal X1, and the clock output from the terminal X3 is further advanced by the Manhattan length α with respect to the terminal X2. It is out.
[0029]
In step S100, the preliminary layout data 2b, the Manhattan length data 2c, and the PLL design data 2f are used to connect the terminal X1 of the PLL circuit 60 to the clock input terminal of the terminal flip-flop 52 and connect the terminal X2 to the terminal flip-flop 53. The clock data is connected to the clock input terminal, and the terminal X3 is connected to the clock input terminal of the terminal flip-flop 54 to obtain the synthesized data 2d from the clock tree as shown in FIG. Further, here, wiring is performed so that the clock supplied to the terminal flip-flop 54 having the maximum Manhattan length of 3α is fed back to the terminal 64 of the PLL circuit 60.
[0030]
In the next step S110, layout processing is performed using the composite data 2d to obtain layout data 2e. Here, the PLL circuit 60 is disposed in the vicinity of the input clock buffer 51, and the terminal flip-flops 52 to 54 are disposed in advance layout processing, and the Manhattan length from the PLL circuit 60 is approximately α, 2α, and 3α, respectively. Therefore, wiring is performed so that the wiring length from the PLL circuit 60 to each of the terminal flip-flops 52 to 54 is the shortest.
[0031]
FIG. 12 shows an embodiment of a circuit arrangement of a semiconductor integrated circuit according to the second embodiment of the present invention. This semiconductor integrated circuit has a very high degree of integration, and disposing the combinational circuit elements related to the terminal flip-flops FF20 to FF29 close to the corresponding flip-flops increases the wiring length, and the wiring length of the entire chip. If the length is shortened, the flip-flop itself cannot be arranged preferentially.
[0032]
In the clock tree of this semiconductor integrated circuit, the wiring lengths from the input clock buffer 70 to the terminal flip-flops FF20 to FF29 are different. However, since the delay amount of the clock output from the PLL circuit 71 is adjusted based on the Manhattan length investigated in advance, the phases of the clocks in the terminal flip-flops FF20 to FF29 are substantially the same.
[0033]
Also, since the clock supplied to the terminal flip-flop FF22 having the longest Manhattan length is fed back to the PLL circuit 71, the delay time difference between the clock input to the PLL circuit 71 and the clock supplied to the terminal flip-flop FF22 is calculated. It can be kept small.
[0034]
【The invention's effect】
As described above, the invention according to claim 1 is a clock tree design method for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit.
Pre-layout is performed to increase the degree of integration of the semiconductor integrated circuit,
Based on the preliminary layout result, the input clock buffer supplied with the clock from the outside and the Manhattan length , which is the shortest distance between the wirings of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit , are investigated. And
Based on the Manhattan length, insert a clock driver to keep the delay time from the input clock buffer to each terminal flip-flop small,
A clock tree is synthesized so that the delay time from the input clock buffer estimated from the Manhattan length to each terminal flip-flop is substantially the same,
Based on the synthesized clock tree, the wiring is performed so that the wiring length from each clock driver cell to each terminal flip-flop is the shortest.
[0035]
In this way, the device is arranged so as to increase the degree of integration by the prior layout, and then the clock capacity is estimated from the Manhattan length to each terminal flip-flop so that the delay time to each terminal flip-flop is reduced. Synthesize the clock tree so that the delay time from the input clock buffer estimated from the Manhattan length to each terminal flip-flop is substantially the same, and the wiring length from each clock driver to each terminal flip-flop is the shortest Therefore, the delay time from the clock input terminal to each terminal flip-flop can be made substantially the same, and the degree of integration of the semiconductor integrated circuit can be increased.
[0036]
According to a second aspect of the present invention, there is provided a clock tree design method for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit.
Pre-layout is performed to increase the degree of integration of the semiconductor integrated circuit,
Based on the preliminary layout result, the input clock buffer supplied with the clock from the outside and the Manhattan length , which is the shortest distance between the wirings of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit , are investigated. And
Based on the Manhattan length of each of the plurality of terminal flip-flops, a PLL circuit that outputs a plurality of clocks having different delay amounts according to each terminal flip-flop is designed so that the phase of each terminal flip-flop is substantially the same. ,
The clock output from the input clock buffer is supplied to the PLL circuit, and a plurality of clocks with different delay amounts output from the PLL circuit are connected to corresponding terminal flip-flops to synthesize a clock tree. And
Based on the synthesized clock tree, the wiring is performed so that the wiring length from the PLL circuit to each terminal flip-flop is the shortest.
[0037]
In this way, element layout is performed so as to increase the degree of integration by pre-layout, and then the delay amount is estimated from the Manhattan length to each terminal flip-flop so that the clock phase is substantially the same in each terminal flip-flop. Since the PLL circuit is designed with a plurality of clocks with different delay amounts, and the PLL circuit is connected between the input clock buffer and the terminal flip-flop for layout, the phase of the clock at each terminal flip-flop is omitted. Can be the same.
[0038]
According to a third aspect of the present invention, there is provided a clock tree design apparatus for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit.
Pre-layout means for performing pre-layout so as to increase the degree of integration of the semiconductor integrated circuit;
Based on the preliminary layout result, the input clock buffer supplied with the clock from the outside and the Manhattan length , which is the shortest distance between the wirings of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit , are investigated. Investigation means to perform,
Based on the Manhattan length, a clock driver is inserted so as to reduce the delay time from the input clock buffer to each terminal flip-flop, and the input clock buffer estimated from the Manhattan length to each terminal flip-flop A synthesis means for synthesizing the clock tree so that the delay times are substantially the same;
Layout means for performing layout by wiring so as to minimize the wiring length from each clock driver cell to each terminal flip-flop based on the synthesized clock tree.
[0039]
Thus, by providing the pre-layout means, the investigation means, the synthesizing means, and the layout means, the method of claim 1 can be realized, and a highly integrated semiconductor integrated circuit can be designed.
According to a fourth aspect of the present invention, there is provided a clock tree design apparatus for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit.
Pre-layout means for performing pre-layout so as to increase the degree of integration of the semiconductor integrated circuit;
Based on the preliminary layout result, the input clock buffer supplied with the clock from the outside and the Manhattan length , which is the shortest distance between the wirings of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit , are investigated. Investigation means to perform,
Based on the Manhattan length of each of the plurality of terminal flip-flops, a PLL circuit that outputs a plurality of clocks having different delay amounts according to each of the terminal flip-flops is designed so that the phase of each terminal flip-flop is substantially the same. PLL design means;
The clock output from the input clock buffer is supplied to the PLL circuit, and a plurality of clocks with different delay amounts output from the PLL circuit are connected to corresponding terminal flip-flops to synthesize a clock tree. A synthesis means to
Based on the synthesized clock tree, the wiring is performed so that the wiring length from the PLL circuit to each terminal flip-flop is the shortest.
[0040]
Thus, by providing the pre-layout means, the investigation means, the PLL design means, the synthesis means, and the layout means, the method of claim 2 can be realized, and a highly integrated semiconductor integrated circuit can be designed. It becomes.
[Brief description of the drawings]
FIG. 1 is a system flowchart of the present invention.
FIG. 2 is a system configuration diagram of the present invention.
FIG. 3 is a diagram for explaining the present invention.
FIG. 4 is a diagram for explaining the present invention.
FIG. 5 is a diagram for explaining the present invention.
FIG. 6 is a diagram showing an embodiment of a circuit arrangement according to the method of the present invention.
FIG. 7 is a diagram illustrating an example of a circuit arrangement according to a conventional method.
FIG. 8 is a system flowchart of the present invention.
FIG. 9 is a diagram for explaining the present invention.
FIG. 10 is a diagram for explaining the present invention.
FIG. 11 is a diagram for explaining the present invention.
FIG. 12 is a diagram for explaining the present invention.
FIG. 13 is a conventional system flowchart.
FIG. 14 is a diagram for explaining a conventional technique.
[Explanation of symbols]
20 clock input terminals 21, 40 input clock buffers 22-24, FF1-FF10 terminal flip-flops 25, 26, 31-36 clock driver cells S30, S70 pre-layout processing S40, S80 investigation processing S50, S100 synthesis processing S60, S110 layout Process S90 PLL design process

Claims (4)

半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計方法において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行い、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々のマンハッタン長を算出して調査を行い、
上記マンハッタン長に基づいて、上記入力クロックバッファから各末端フリップフロップまでの遅延時間を小さく抑えるようにクロックドライバを挿入し、
上記マンハッタン長から推定される上記入力クロックバッファから上記各末端フリップフロップまでの遅延時間が略同一になるようにクロックツリーを合成し、
上記合成されたクロックツリーに基づいて各クロックドライバセルから各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行うことを特徴とする半導体集積回路のクロックツリー設計方法。
In a clock tree design method of a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit,
Pre-layout is performed to increase the degree of integration of the semiconductor integrated circuit,
Based on the result of the previous layout, the input clock buffer supplied with the clock from the outside and the Manhattan length of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit are calculated and investigated,
Based on the Manhattan length, insert a clock driver to keep the delay time from the input clock buffer to each terminal flip-flop small,
A clock tree is synthesized so that the delay time from the input clock buffer estimated from the Manhattan length to each terminal flip-flop is substantially the same,
A clock tree design method for a semiconductor integrated circuit, wherein wiring is performed so as to minimize the wiring length from each clock driver cell to each terminal flip-flop based on the synthesized clock tree.
半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計方法において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行い、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々のマンハッタン長を算出して調査を行い、
上記複数の末端フリップフロップ夫々のマンハッタン長に基づいて上記各末端フリップフロップで位相が略同一となるように上記末端フリップフロップ夫々に応じて遅延量の異なる複数のクロックを出力するPLL回路を設計し、
上記入力クロックバッファの出力するクロックを上記PLL回路に供給し、上記PLL回路の出力する遅延量の異なる複数のクロック夫々を対応する複数の末端フリップフロップ夫々に供給するよう接続してクロックツリーを合成し、
上記合成されたクロックツリーに基づいて上記PLL回路から各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行うことを特徴とする半導体集積回路のクロックツリー設計方法。
In a clock tree design method of a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit,
Pre-layout is performed to increase the degree of integration of the semiconductor integrated circuit,
Based on the result of the previous layout, the input clock buffer supplied with the clock from the outside and the Manhattan length of each of the plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit are calculated and investigated,
Based on the Manhattan length of each of the plurality of terminal flip-flops, a PLL circuit that outputs a plurality of clocks having different delay amounts according to each terminal flip-flop is designed so that the phase of each terminal flip-flop is substantially the same. ,
The clock output from the input clock buffer is supplied to the PLL circuit, and a plurality of clocks with different delay amounts output from the PLL circuit are connected to corresponding terminal flip-flops to synthesize a clock tree. And
A clock tree design method for a semiconductor integrated circuit, wherein wiring is performed so as to minimize the wiring length from the PLL circuit to each terminal flip-flop based on the synthesized clock tree.
半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計装置において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行う事前レイアウト手段と、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々のマンハッタン長を算出して調査を行う調査手段と、
上記マンハッタン長に基づいて、上記入力クロックバッファから各末端フリップフロップまでの遅延時間を小さく抑えるようにクロックドライバを挿入し、上記マンハッタン長から推定される上記入力クロックバッファから上記各末端フリップフロップまでの遅延時間が略同一になるようにクロックツリーを合成する合成手段と、
上記合成されたクロックツリーに基づいて各クロックドライバセルから各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行うレイアウト手段とを有することを特徴とする半導体集積回路のクロックツリー設計装置。
In a clock tree design apparatus for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit,
Pre-layout means for performing pre-layout so as to increase the degree of integration of the semiconductor integrated circuit;
Based on the preliminary layout result, an investigation means for conducting an investigation by calculating a Manhattan length of each of the input clock buffer supplied with the clock from the outside and a plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit;
Based on the Manhattan length, a clock driver is inserted so as to reduce the delay time from the input clock buffer to each terminal flip-flop, and the input clock buffer estimated from the Manhattan length to each terminal flip-flop A synthesis means for synthesizing the clock tree so that the delay times are substantially the same;
A clock tree design for a semiconductor integrated circuit, comprising: layout means for performing layout by wiring the wiring length from each clock driver cell to each terminal flip-flop to be the shortest based on the synthesized clock tree. apparatus.
半導体集積回路の外部より供給されるクロックを上記半導体集積回路内の各部に供給するクロックツリーの設計を行う半導体集積回路のクロックツリー設計装置において、
上記半導体集積回路の集積度を高くするように事前レイアウトを行う事前レイアウト手段と、
上記事前レイアウト結果に基づいて、上記外部よりクロックを供給される入力クロックバッファとクロックを半導体集積回路の各部に供給する複数の末端フリップフロップ夫々のマンハッタン長を算出して調査を行う調査手段と、
上記複数の末端フリップフロップ夫々のマンハッタン長に基づいて上記各末端フリップフロップで位相が略同一となるように上記末端フリップフロップ夫々に応じて遅延量の異なる複数のクロックを出力するPLL回路を設計するPLL設計手段と、
上記入力クロックバッファの出力するクロックを上記PLL回路に供給し、上記PLL回路の出力する遅延量の異なる複数のクロック夫々を対応する複数の末端フリップフロップ夫々に供給するよう接続してクロックツリーを合成する合成手段と、
上記合成されたクロックツリーに基づいて上記PLL回路から各末端フリップフロップまでの配線長を最短となるよう配線してレイアウトを行うレイアウト手段とを有することを特徴とする半導体集積回路のクロックツリー設計装置。
In a clock tree design apparatus for a semiconductor integrated circuit for designing a clock tree for supplying a clock supplied from the outside of the semiconductor integrated circuit to each part in the semiconductor integrated circuit,
Pre-layout means for performing pre-layout so as to increase the degree of integration of the semiconductor integrated circuit;
Based on the preliminary layout result, an investigation means for conducting an investigation by calculating a Manhattan length of each of the input clock buffer supplied with the clock from the outside and a plurality of terminal flip-flops supplying the clock to each part of the semiconductor integrated circuit;
Based on the Manhattan length of each of the plurality of terminal flip-flops, a PLL circuit that outputs a plurality of clocks having different delay amounts according to each of the terminal flip-flops is designed so that the phase of each terminal flip-flop is substantially the same. PLL design means;
The clock output from the input clock buffer is supplied to the PLL circuit, and a plurality of clocks with different delay amounts output from the PLL circuit are connected to corresponding terminal flip-flops to synthesize a clock tree. A synthesis means to
A clock tree design apparatus for a semiconductor integrated circuit, comprising: layout means for performing layout by wiring the shortest wiring length from the PLL circuit to each terminal flip-flop based on the synthesized clock tree. .
JP03050497A 1997-02-14 1997-02-14 Clock tree design method and apparatus for semiconductor integrated circuit Expired - Fee Related JP3943643B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03050497A JP3943643B2 (en) 1997-02-14 1997-02-14 Clock tree design method and apparatus for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03050497A JP3943643B2 (en) 1997-02-14 1997-02-14 Clock tree design method and apparatus for semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JPH10229128A JPH10229128A (en) 1998-08-25
JP3943643B2 true JP3943643B2 (en) 2007-07-11

Family

ID=12305657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03050497A Expired - Fee Related JP3943643B2 (en) 1997-02-14 1997-02-14 Clock tree design method and apparatus for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP3943643B2 (en)

Also Published As

Publication number Publication date
JPH10229128A (en) 1998-08-25

Similar Documents

Publication Publication Date Title
JP2877303B2 (en) Automatic design equipment for integrated circuits
US7017132B2 (en) Methodology to optimize hierarchical clock skew by clock delay compensation
US20020129325A1 (en) Engineering-change method of semiconductor circuit
US6260175B1 (en) Method for designing an integrated circuit using predefined and preverified core modules having prebalanced clock trees
JPH05121548A (en) Clock supplying circuit and integrated circuit with the same circuit
JP3943643B2 (en) Clock tree design method and apparatus for semiconductor integrated circuit
JP3671504B2 (en) Layout design method for semiconductor integrated circuit
US20080036498A1 (en) Logic circuit, system for reducing a clock skew, and method for reducing a clock skew
EP0544164A1 (en) Semi custom-made integrated circuit having clock synchronous circuit improved in clock skew
JP3116915B2 (en) Clock net layout design change method
JP2003045972A (en) Mask layout automatic placement and routing method
JP3104746B2 (en) Clock tree layout device
JP2000035832A (en) Semiconductor integrated circuit and its clock distributing method
JP3139750B2 (en) Timing adjustment method
JP3495342B2 (en) Clock distribution circuit
JP2004335589A (en) Semiconductor integrated circuit and layout design method thereof
JPH1092939A (en) Method of auto placement and routing of semiconductor integrated circuit
JP3214447B2 (en) IO buffer circuit with clock skew compensation function and semiconductor integrated circuit using the same
JP3012446B2 (en) Automatic layout method for integrated circuits
JP3843233B2 (en) Layout design system and layout design method for semiconductor integrated circuit device
JP3221567B2 (en) Semiconductor integrated circuit and clock supply method
JP3048046B2 (en) Semiconductor integrated circuit wiring method
JP2001308186A (en) Layout method capable of additionally modifying flip-flop and recording medium recording layout program
JP3052847B2 (en) LSI layout method
US6985843B2 (en) Cell modeling in the design of an integrated circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060301

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: 20070327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees