JPH08221473A - 半導体集積回路及びそのレイアウト設計方法 - Google Patents

半導体集積回路及びそのレイアウト設計方法

Info

Publication number
JPH08221473A
JPH08221473A JP7189276A JP18927695A JPH08221473A JP H08221473 A JPH08221473 A JP H08221473A JP 7189276 A JP7189276 A JP 7189276A JP 18927695 A JP18927695 A JP 18927695A JP H08221473 A JPH08221473 A JP H08221473A
Authority
JP
Japan
Prior art keywords
clock
semiconductor integrated
integrated circuit
wiring
delay time
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.)
Pending
Application number
JP7189276A
Other languages
English (en)
Inventor
Yoshiyuki Kawakami
善之 川上
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7189276A priority Critical patent/JPH08221473A/ja
Publication of JPH08221473A publication Critical patent/JPH08221473A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 半導体集積回路内の各機能ブロック間及び各
半導体集積回路間の同期動作を確保しながら、レイアウ
ト設計を容易かつ能率よく行う。 【解決手段】 機能ブロックBLを概略配置し、ブロッ
ク外配線経路を概略決定し、ブロック外遅延時間Tuot
とブロック内遅延時間Tinとの和として最終的遅延時間
Tを算出して、各セルについてのクロックスキューが制
限範囲に収まり、かつ最終的遅延時間Tが所定範囲に収
まるように機能ブロック内の各セルの配置とブロック内
配線経路CNin及びブロック外配線経路CNout を決定
し、決定された配線経路にしたがって配線パターンを生
成する。機能ブロックBL内の各セルの配置とブロック
内配線経路の決定とを行う際には、クロック木CTを表
すテンプレートを生成し、このテンプレート上に表され
たクロック木CTに基づいて、各セルの配置や配線経路
の決定を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路の
レイアウト設計方法に係り、特にクロック信号を伝達す
るクロック配線及びクロック信号で駆動されるセルのレ
イアウトを設計する方法に関する。
【0002】
【従来の技術】従来より、半導体集積回路(LSI)の
レイアウト設計方式として、ゲートアレイ(又は、シー
・オブ・ゲート)方式やスタンダードセル方式等があ
る。これらの方式は、NAND、NOR等の基本論理セ
ルやそれらを組み合わせた複合セルをアレイ状に半導体
チップ上に配置し、論理接続要求に従ってそれらのセル
の端子間を配線することによってLSIを構成する方法
である。これらの方法は設計の自動化が進んでおり、様
々なシステムが開発されている。
【0003】さらに、LSIの製造技術の進歩により、
ゲートアレイ方式とスタンダードセル方式とを融合させ
たエンベデッド・アレイ・セル方式の半導体集積回路が
開発されている。この方式は、半導体集積回路の中の一
部の回路又は全ての回路を複数の機能ブロック内に例え
ば予め設計されたマクロブロックか新しく設計されたス
タンダードセル方式ブロック内に組み込んで、各機能ブ
ロックを半導体チップ上に配置し、各機能ブロック外は
ゲートアレイ領域と定めておく。そして、機能ブロック
に収納された回路以外の回路の生成と、機能ブロック外
の配線とはゲートアレイ領域で行なって、半導体集積回
路を造り上げようとするものである。従って、これらの
方式では、機能ブロック外の領域で任意に回路を生成で
きるので製造の配線工程の前までなら、回路の追加・修
正を比較的簡単に行なうことができるという利点があ
る。
【0004】ところで、近年は所望の機能を果たすため
に必要なシステム全体を1つの半導体チップ上に搭載で
きるほどに高集積化された半導体集積回路が開発されて
きており、このように半導体集積回路の集積度が増大す
るにつれて半導体集積回路設計にかかる工数も増加の一
途を辿っている。半導体集積回路のレイアウト設計につ
いても例外ではなく、工数・処理時間が指数関数的に増
大してきており、半導体集積回路全体を一度にレイアウ
トするには膨大な時間及び労力を費やすことになる。そ
こで、上述のように半導体集積回路を幾つかの機能ブロ
ックに分割し、各機能ブロック内を個別に設計し、最後
に機能ブロック間を配線して組み上げるといった階層設
計の手法がとられることが多い。
【0005】一方、半導体集積回路内の各セルを同期し
て駆動させるクロック信号の周波数も増大されてきてい
る。半導体集積回路の動作速度は、各セルに到達するク
ロック信号の位相差であるクロックスキューによって制
約され、同様に、システム全体の動作速度は、各半導体
集積回路間のクロックスキューによって制約される。そ
して、半導体集積回路の高集積化によって、クロック信
号で駆動されるフリップフロップ等のセルの数が多くな
るとともに、各機能ブロックに供給されるクロック信号
も互いに同期をとらなければならないので、クロック信
号を各セルに供給するための配線方式は益々重要になっ
てきている。
【0006】ここで、上述のクロックスキューを最小化
する方法として、クロック木を生成する方法がある。こ
れは、図16に示すように、ある機能ブロック毎に、ク
ロック信号入力部から同時に動作しなければならないフ
リップフロップ群までの配線経路をクロック木として構
成し、そのクロック木内の根にあたるクロック信号を発
信するセルから各フリップフロップ間までの信号が到達
するまでの時間差(クロック木のスキュー)をある大き
さ以内に抑える方法である。ここで、図16aに示すよ
うに、パッド11で囲まれる半導体集積回路1内には、
3つの機能ブロックBL1,BL2,BL3が配置され
ており、各機能ブロックBL1,BL2,BL3内に
は、それぞれクロック信号を伝達するための配線構造
(クロックネット)を示すクロック木CT1,CT2,
CT3が形成されている。また、図16bは、上記機能
ブロックBL1中で構成されたクロック木CT1の一部
を拡大した図である。クロック木CT1の葉に相当する
部位にはフリップフロップ20が配置され、クロック木
CT1の各タッピングポイント23間の中間節点に相当
する部位にはクロックバッファ21が配置(挿入)され
ている。そして、各クロックバッファ間やクロックバッ
ファ−フリップフロップ間を配線で接続して構成されて
いる。このように生成されたクロック木において、クロ
ックスキューを抑えることが全回路の動作速度を速める
ことになるので、クロックスキューを「0」に近づける
ことが重要な課題となる。
【0007】このように、クロック木を生成する際にク
ロックスキューを正確に「0」にする方法の公知例とし
て、「Proc. IEEE International Conference on Compu
terAided Design, 1991, pp.336-339」(公知例1)が
ある。この方法は、クロック木を構築していく際、フリ
ップフロップから順に、ボトムアップ的に2分木を構成
するようにゼロスキュー併合と呼ぶ常にその木がスキュ
ー=0(この状態をゼロスキューと呼ぶ)となるように
生成していくものである。ここで、このゼロスキューに
なるように2つの木から1つの木をつくるときに重要な
概念として、上述のタッピングポイント23がある(図
16参照)。これは、2つの木を併合するときにどの位
置を根のポイント(そこにクロックバッファが接続され
る)にするかを表した点である。タッピングポイント2
3からそれぞれの木の葉にあるフリップフロップ20ま
での遅延を等しくなるような点に設定すれば、ゼロスキ
ューのクロック木が実現できる。上記公知例では、フリ
ップフロップとバッファをいったん配置させた後、ボト
ムアップ的に配線をゼロスキューを常に保証しながら2
分クロック木になるように配線する方法が記述されてい
る。
【0008】ところで、このクロック木を生成するとき
常にゼロスキューを保証する必要があるので、うまく配
線を行なわないと配線長が長いクロック木が生成される
ことになる。即ち、クロック木の根から葉までの遅延時
間が大きくなる結果、クロックの一周期が長くなって動
作の遅い回路になってしまう。
【0009】そこで、最近かかる不具合を解決した効率
的なアルゴリズムが開発されてきている。例えば、「Pr
oc. IEEE International Conference on Computer Aide
d Design, 1993, pp.563-566」(公知例2)がその一例
である。これは、クロック信号の遅延時間の見積り式を
目的関数にしてそれを最小化するアルゴリズムであり、
配線幅の最適化も同時に行う手法である。
【0010】以上のクロック木を用い、半導体集積回路
を機能ブロックに区画するようにしたスタンダードセル
方式(又はゲートアレイ方式)におけるレイアウト設計
手順の一例は、以下のようになる。
【0011】1.所望の動作を表した回路図を基に基本
論理セルをアレイ状に配置する。このとき、フリップフ
ロップは機能ブロック全体に広がるように配置する。
【0012】2.クロック信号を伝達する配線のネット
(クロックネット)に対して、フリップフロップ群から
ボトムアップ的にクロック木を構成しながら、クロック
バッファの配置とクロック木の概略配線経路を決定す
る。
【0013】3.残りのネットについて、概略的な配線
経路を決定する。
【0014】4.クロックネットについて、概略的な配
線経路に従ってゼロスキューになるように詳細配線を行
なう。
【0015】5.クロックネット以外のネットについ
て、概略的な配線経路に従って詳細配線を行なう。
【0016】一方、上述の手順とは異なる手順でクロッ
ク木を生成する方法として、例えば特開平6−2826
03号公報(公知例3)に開示されるように、階層的に
ブロックを分割しながらトップダウン的にクロック木を
生成する方法がある。この方法は、上記手順1.と2.
とを同時に行なう方法であって、トップダウンに階層的
領域分割を行ないながら、クロックバッファの挿入と基
本論理セルの配置とクロック木構造の生成を一度に行な
うものである。この方法によれば、クロック木構造を意
識しながらフリップフロップ以外の基本論理セルの配置
の最適化が図れるという利点がある。
【0017】なお、これら上述の手法は、半導体チップ
全体で一度に行なうか、各機能ブロック毎に適用される
ことが多い。
【0018】また、半導体集積回路の設計は階層的に行
なわれることが多いので、機能ブロック毎に適用された
場合、機能ブロック同士のクロック信号の同期をとるこ
とも重要なことである。各機能ブロックに供給されるク
ロック信号同士の同期をとる従来のレイアウト方法の一
例としては、 (A)クロック供給源から機能ブロックに至るブロック
外クロック配線を、各機能ブロック外の配線チャネルに
制限されることなく自由に、かつ、クロック供給源から
各機能ブロックのクロック入力部(クロック端子)まで
等長となるように敷設する方法 (B)半導体集積回路の中心部にクロック信号分配部を
設置して、クロック供給源とクロック信号分配部とを1
本のクロック配線で接続し、クロック分配部と機能ブロ
ックを含む各機能ブロックのクロック端子との間に各々
のクロック配線を等長となるように敷設する方法 等がある。例えば、特開平5−198674号公報(公
知例4)に開示される方法がその一例である。
【0019】
【発明が解決しようとする課題】しかしながら、上記公
知例1及び2の方法では、フリップフロップとクロック
バッファを含む基本論理セルを先に配置してからクロッ
ク木を生成するので、ゼロスキューになるようにクロッ
ク木は構成できるが、クロック木の遅延時間の大きさを
最小にすることや要求された遅延時間値に収めることは
困難であるという問題があった。そのため、半導体集積
回路内において各機能ブロック間の動作の同期を得るこ
とができない虞れを生じたり、複数の半導体集積回路か
らなるシステムを構成した場合に、各半導体集積回路間
の動作の同期を得ることができない虞れがあった。
【0020】公知例3の方法では、階層的にフリップフ
ロップ群の分散が行なわれるため、クロック木の遅延時
間の大きさを最小にすることや要求された遅延時間値に
調整することが困難である。そのため、公知例1,2と
同様に、各半導体集積回路間の動作の同期を得ることが
できない虞れがあった。
【0021】また、公知例1,2、3の方法が目的とす
るごとく、クロックスキューが現実に「0」になると、
同時に多数のフリップフロップが動作してしまうことに
なり、一時的に多くの電流(ピーク電流の増大)が流れ
る。従って、電力供給状態によっては、フリップフロッ
プが動作しなくなる場合が生じる虞れがあった。すなわ
ち、従来のように各論理セルに対するクロックスキュー
が「0」になるように設計していても、半導体集積回路
内に組み込まれるフリップフロップ等の論理セルの数が
それほど多くない場合には、現実には工程上のバラツキ
等によって少しずつ作動時刻がずれるので、一度に多く
の論理セルが作動することによる動作不良を生じる虞れ
は少ない。しかし、最近のように半導体集積回路あるい
はシステム全体の規模が大きくなってしかもクロック周
波数が増大すると、現実に同時に作動する論理セルの数
が増大する確率が高くなる。したがって、瞬時的に過剰
な電流が生じることに起因する上述の不具合を招く虞れ
がある。
【0022】また、公知例1,2,3の方法では、通常
クロックネットは、クロック信号が供給されないセルに
対する他のネットと同時に配線される場合(使用できる
配線層は同じ)が多く、大規模で複雑なクロック木の場
合、他のネットとの配線経路の関係からクロックネット
の配線経路の迂回路の発生等、配線長がいたずらに長く
なる配線が発生しやすくなるといった問題があった。
【0023】また、公知例4の方法において、半導体チ
ップ上に機能ブロックを配置してクロック木を生成して
クロック配線を行なう場合、その配線はクロック供給源
から各機能ブロックのクロック端子までを等長にしなけ
ればならないという制約があり、その制約を守るために
他のネットの障害を避ける意味でクロック専用の配線を
用いることが必要になってくる。例えば、配線層を3層
で構成する半導体チップの場合、第1及び第2層目配線
を一般信号線や電源配線用とし、第3層目配線をクロッ
ク配線用として用いることになる。この場合、3層目配
線に一般信号線を形成できないため、3層目配線を一般
信号線としても併用した場合と比べてチップ面積が大き
くなる。一方、配線層が2層の半導体集積回路では、ク
ロックネットとクロックネット以外のネットとを混在さ
せると、クロックスキューの正確な調整が困難となる。
これは、下記理由による。すなわち、クロックネットと
クロックネット以外のネットとを同じ配線層内に混在さ
せているので、クロックネットとクロックネット以外の
ネットとの干渉を避けるためには、クロック発生源から
各機能ブロックのクロック入力端子までの配線長を同じ
長さにすることが困難な場合が多い。したがって、いっ
たん機能ブロックの配置やクロックネットの配線を行っ
た後、スキューの最終的な調整を行うためにクロックバ
ッファのトランジスタサイズを変更しなければならない
場合等がある。その場合、機能ブロック内のクロックバ
ッファのトランジスタサイズを変更すると、機能ブロッ
ク内のレイアウトを再度設計する必要が生じる。しか
し、これではレイアウト工数が大幅に増大することにな
り、このような手法を用いることの意義が薄れてしまう
ことになる。
【0024】本発明の第1の目的は、半導体集積回路内
における遅延時間を容易に所定範囲内に調整し得る手段
を講ずることにより、多数の回路を組み込んだシステム
全体においても、各回路間の作動を円滑にある同期させ
得るような半導体集積回路のレイアウトを設計すること
にある。
【0025】本発明の第2の目的は、容易にクロック木
を作成できるような半導体集積回路のレイアウト設計方
法を提供することにある。
【0026】本発明の第3の目的は、半導体チップ全体
のクロック信号の遅延時間の調整やクロックスキューの
最適化を、機能ブロックのレイアウトを再設計すること
なしに実現する方法を提供することにある。
【0027】
【課題を解決するための手段】上記第1の目的を達成す
るために、第1の半導体集積回路のレイアウト設計方法
は、請求項1に記載されるように、複数の素子で構成さ
れる半導体集積回路を少なくとも1つの素子からなる複
数のセルに区画し、かつ上記複数のセルを複数の機能ブ
ロックに区画して、上記半導体集積回路のレイアウトを
設計する方法であって、上記半導体集積回路内に上記各
機能ブロックを概略配置する第1ステップと、上記半導
体集積回路への第1クロック入力部から上記各機能ブロ
ックの第2クロック入力部に至るブロック外配線経路を
概略決定する第2ステップと、上記第1クロック入力部
から上記各機能ブロックの上記第2クロック入力部まで
のブロック外遅延時間と各機能ブロック内における上記
第2クロック入力部から上記各第1種セルまでのブロッ
ク内遅延時間との和として最終的遅延時間を上記各第1
種セルごとに算出して、上記各第1種セルにおける最終
的遅延時間の差であるクロックスキューが制限範囲に収
まり、かつ上記各第1種セルについての最終的遅延時間
が所定範囲に収まるように上記各機能ブロック内におけ
る上記各セルの配置とブロック内配線経路及び上記ブロ
ック外配線経路を決定する第3ステップと、上記ステッ
プで決定された配線経路にしたがって配線パターンを生
成する第4ステップとを備えている。
【0028】この方法により、半導体集積回路内におけ
る各第1種セルにおける遅延時間がある幅に調整され
る。したがって、半導体集積回路内における各機能ブロ
ック間において、各セルを構成する素子が共通のクロッ
ク信号に同期して動作する。また、複数の半導体集積回
路で構成されるシステムの各半導体集積回路間において
も、各セルを構成する素子が共通のクロック信号に同期
して動作することができる。
【0029】請求項2に記載されるように、請求項1に
おいて、上記第2ステップでは、上記ブロック外配線経
路のうち各機能ブロックに直接分岐する最終分岐点まで
の部分のみを概略決定し、上記第3ステップの後かつ上
記第4ステップの前に、各機能ブロックの配置場所を微
調整するステップをさらに設けてもよい。
【0030】この方法により、ブロック外遅延時間をよ
り正確に調整することが可能となる。
【0031】請求項3に記載されるように、請求項1に
おいて、上記第1のステップでは、半導体集積回路内に
各機能ブロックを仮に配置し、その状態で上記第1クロ
ック入力部から各論理セルまでのクロック信号の最終遅
延時間が所定範囲に収まるように各機能ブロックの概略
的な配置場所を決定することができる。
【0032】この方法により、予め遅延時間の調整が可
能である見通しがついた場所に各機能ブロックが配置さ
れているので、レイアウトの設計後に当初の各機能ブロ
ックの配置状態では遅延時間の調整ができないと判明す
るような事態を回避できる。したがって、機能ブロック
の配置場所を変更して設計をやり直すことで生じるレイ
アウト工数の増大を防止することができる。
【0033】請求項4に記載されるように、請求項1の
第3ステップで、各セルの最終的遅延時間を上記所定範
囲内で互いに異なる複数の値に分布させるように設定す
ることが好ましい。
【0034】この方法により、半導体集積回路の回路規
模が大きくなり、クロック周波数が増大しても、半導体
集積回路内で現実に多くのセルが同時に作動するような
事態を回避することが可能となる。したがって、瞬間的
な電流の増大に起因するフリップフロップ等の動作不良
を防止することができる。
【0035】請求項5に記載されるように、請求項1に
おいて、上記第3ステップを、上記機能ブロックへの第
2クロック入力部から導出される配線を順次複数方向に
分木させ最終的に個々の上記第1種セルに至るように構
成されたクロック木構造を表すテンプレートを生成する
ステップと、上記クロック木構造に基づいて、上記各第
1種セルを機能ブロック内に配置し、さらに上記第1種
セルが配置された領域以外の空き領域に上記第2種セル
を配置するステップと、論理接続要求に従って、上記各
セル間の概略の配線経路を決定するステップと、上記第
2クロック入力部から上記クロック木上の各第1種セル
における遅延時間を最終的に所望の値に調整するステッ
プと、上記ステップで求めた配線経路に従って機能ブロ
ック内の配線パターンを生成するステップとにより構成
することができる。
【0036】この方法により、各機能ブロック内でクロ
ック木構造を利用したクロックネットの形成が容易に行
われる。また、予めクロックネットの構造が定まってい
るので、第2種セルの配置の最適化やクロックネットと
クロックネット以外のネット間の配線の干渉を容易に回
避することができる。したがって、レイアウト設計のた
めの工数が大幅に低減されることになる。
【0037】請求項6に記載されるように、請求項5に
おいて、上記テンプレートを生成するステップを、上記
クロック木の分木数を決定するステップと、上記クロッ
ク木の大きさを決定するステップと、上記クロック木上
のタッピングポイントの位置を決定するステップと、上
記クロック木に遅延時間調整用セルを配置するステップ
とにより構成することができる。
【0038】この方法により、テンプレートを生成する
段階で、機能ブロック内への第2種セルを配置するため
の領域が確保され、遅延時間及びクロックスキューがあ
る程度所望値に近い状態に設定されているので、後のス
テップの進行がスムーズとなる。したがって、レイアウ
ト設計の能率が大幅に向上する。
【0039】なお、請求項7に記載されるように、請求
項5において、上記各セルの最終的な遅延時間を調整す
るステップは、クロック木上の中間節点に位置するセル
の出力駆動能力の変更と、クロック木内の配線の幅の変
更と、クロック木上のタッピングポイントの変更とのう
ち少なくともいずれか1つの変更により行うことができ
る。
【0040】請求項8に記載されるように、請求項1に
おいて、上記第2クロック入力部の前段側かつ機能ブロ
ックの外側にブロック外遅延時間調整用セルを配置する
ステップをさらに備えることができる。
【0041】この方法により、ブロック外遅延時間調整
用セル例えばクロックバッファのサイズを変更するだけ
でブロック外遅延時間やクロックスキューが調整され、
その際、各機能ブロック内のレイアウトを再設計し直す
必要はない。したがって、このリサイジングに伴うレイ
アウト工数の増大を回避することができる。
【0042】上記第2の目的を達成するために、第2の
半導体集積回路のレイアウト設計方法は、請求項9に記
載されるように、複数の素子で構成される半導体集積回
路を少なくとも1つの素子からなる複数のセルに区画
し、かつ上記複数のセルをクロック入力部からクロック
信号が供給される複数の第1種セルと該第1種セル以外
の複数の第2種セルとに分類して、上記半導体集積回路
のレイアウトを設計する方法であって、上記クロック入
力部から導出される配線を順次複数方向に分木させ最終
的に個々の上記第1種セルに至るように構成されたクロ
ック木を表すテンプレートを生成するステップと、上記
ステップで生成されたクロック木構造に基づいて、上記
半導体集積回路内に上記各第1種セルを配置し、さらに
半導体集積回路内の上記第1種セルが配置された領域以
外の空き領域に上記第2種セルを配置するステップと、
論理接続要求に従って、上記各セル間の概略の配線経路
を決定するステップと、上記クロック入力部から上記ク
ロック木上の各第1種セルにおける遅延時間を最終的に
所望の値に調整するステップと、上記ステップで求めた
配線経路に従って半導体集積回路内の配線パターンを生
成するステップとを備えている。
【0043】この方法により、テンプレートで表される
クロック木構造を利用して、各セルの配置やクロックネ
ットを構成する配線経路の設計がトップダウン的に行わ
れ、その間遅延時間やクロックスキューの調整も容易に
行われる。したがって、各機能ブロック間において、各
セルが共通のクロック信号に同期して動作する。しか
も、レイアウト設計のための工数が大幅に低減されると
ともに、ボトムアップ方式のような遅延時間の増大を招
くこともない。
【0044】請求項10に記載されるように、請求項9
において、上記テンプレートを生成するステップを、上
記クロック木の分木数を決定するステップと、上記クロ
ック木の大きさを決定するステップと、上記クロック木
上のタッピングポイントの位置を決定するステップと、
上記クロック木に遅延時間調整用セルを配置するステッ
プとにより構成することができる。
【0045】また、請求項11に記載されるように、請
求項9において、上記各セルの最終的な遅延時間を調整
するステップを、クロック木上の中間節点に位置するセ
ルの出力駆動能力の変更と、クロック木内の配線の幅の
変更と、クロック木上のタッピングポイントの変更との
うち少なくともいずれか1つの変更により行うことがで
きる。
【0046】請求項12に記載されるように、請求項9
において、上記テンプレートを生成するステップでは、
上記クロック入力部から上記各第1種セルに至るクロッ
ク信号の遅延時間を算出して、全てのセルにおける遅延
時間が所定範囲に収まるようにテンプレートを生成する
ことができる。
【0047】この方法により、テンプレートを形成する
段階で遅延時間が所定範囲内に収められているので、そ
の後のステップで多少遅延時間が当初の見積もりから外
れても、遅延時間が大幅に大幅な遅延時間のずれが生じ
ることはない。したがって、再度レイアウトをやり直す
必要が生じる虞れを確実に防止することができる。
【0048】請求項13に記載されるように、請求項9
において、上記遅延時間の最終的な調整を行うステップ
では、上記クロック入力部から各セルまでのクロック信
号の遅延時間を上記所定範囲内で互いに異なる複数の値
にほぼ均等に分布させることが好ましい。
【0049】請求項14に記載されるように、請求項9
において、上記各セルを配置するステップでは、上記ク
ロック木の各先端部に上記第1種セルとしてのフリップ
フロップを配置する一方、クロック木の各タッピングポ
イント間の中間節点に第1種セルとしての遅延時間調整
用セルを配置した後、上記第2種セルを配置することが
好ましい。
【0050】この方法により、第2種セルを配置する際
にはクロックネットの構造が定まっているので、第2種
セルのための配線の仮想配線長の最適化やクロックネッ
トとの干渉を回避することが容易となる。
【0051】上記第3の目的を達成するために、第3の
半導体集積回路のレイアウト設計方法は、請求項15に
記載されるように、複数の素子で構成される半導体集積
回路を少なくとも1つの素子からなる複数のセルに区画
し、上記複数のセルを上記クロック信号が供給される複
数の第1種セルと該第1種セル以外のセルからなる複数
の第2種セルとに分類し、かつ上記複数のセルを複数の
機能ブロックに区画して、上記半導体集積回路のレイア
ウトを設計する方法であって、上記各機能ブロック内に
ブロック内クロックネットを構成するステップと、上記
機能ブロックにクロック信号を供給する第2クロック入
力部の前段側かつ機能ブロックの外側に、遅延時間調整
用セルを配置するステップと、上記機能ブロックを半導
体集積回路内に配置するステップと、半導体集積回路へ
の第1クロック入力部から上記遅延時間調整用セルを通
って上記各機能ブロックの第2クロック入力部に至るブ
ロック外クロックネットを構成するステップとを備えて
いる。
【0052】ここで、請求項16に記載されるように、
請求項15において、上記ブロック内クロックネットを
構成するステップを、上記機能ブロックへのクロック入
力部から導出される配線を順次複数方向に分木させ最終
的に個々の上記第1種セルに至るように構成されたクロ
ック木構造を表すテンプレートを生成するステップと、
上記クロック木構造に基づいて、上記各第1種セルを機
能ブロック内に配置し、さらに機能ブロック内の上記第
1種セルが配置された領域以外の空き領域に上記第2種
セルを配置するステップと、論理接続要求に従って、上
記各セル間の概略の配線経路を決定するステップと、上
記第2クロック入力部から上記クロック木上の各第1種
セルにおける遅延時間を最終的に所望の値に調整するス
テップと、上記ステップで求めた配線経路に従って機能
ブロック内の配線パターンを生成するステップとにより
構成することができる。
【0053】請求項15又は16の方法により、レイア
ウトの設計を行った最終段階で遅延時間やクロックスキ
ューが各機能ブロック間で大きく異なる場合があって
も、ブロック外の遅延時間調整用セル例えばクロックバ
ッファ,インバータ等のトランジスタサイズを変更する
だけで遅延時間やクロックスキューを所望の値に調整す
ることが可能となる。したがって、各機能ブロック間に
おいて、各セルが共通のクロック信号に同期して動作す
ることになる。しかも、クロックネットとクロックネッ
ト以外のネットを共通の配線層に混在させてトップダウ
ン的設計方法を採用しても、最終的段階で遅延時間やク
ロックスキュー等の調整が容易となる。すなわち、トッ
プダウン的方法の採用による設計能率の向上と、配線層
の低減とを実現させることが容易となる。
【0054】また、上記第3の目的を達成するために、
本発明の半導体集積回路は、請求項17に記載されるよ
うに、半導体チップ上に複数の素子を搭載して構成さ
れ、各々複数の素子を収納してなる複数の機能ブロック
と、該各機能ブロック外の領域とを有する半導体集積回
路を前提とし、上記半導体集積回路にクロック信号を入
力するための第1クロック入力部と、上記各機能ブロッ
クにクロック信号を入力するための第2クロック入力部
と、上記半導体集積回路の上記機能ブロック外の領域に
形成され、上記第1クロック入力部から上記各機能ブロ
ックの第2クロック入力部までクロック信号を伝達する
ためのブロック外クロック配線と、上記ブロック外クロ
ック配線中で上記各機能ブロックの第2クロック入力部
の前段側に介設された遅延時間調整用セルとを備えてい
る。
【0055】この構成により、半導体集積回路のレイア
ウト設計段階において、ブロック外遅延時間調整用セル
により、各セル間の遅延時間が所定範囲内に容易に収め
られる。したがって、各機能ブロック間において、各セ
ルが共通のクロック信号に同期して動作する。さらに、
製造工程における手間が大幅に低減され、半導体集積回
路の製造コストが大幅に低減されることになる。
【0056】請求項18に記載されるように、請求項1
7において、上記クロック配線以外の他の配線部材をさ
らに設け、上記クロック配線と上記他の配線部材とは、
共通の配線層に混在して形成することができる。
【0057】この構成により、配線構造が簡素化され、
製造コストが大幅に低減されることになる。
【0058】請求項19に記載されるように、請求項1
7において、半導体集積回路の上記機能ブロック外の領
域をトランジスタが敷き詰められてなるゲートアレイ領
域に形成し、上記遅延時間調整用セルを、上記ゲートア
レイ領域内のトランジスタを用いて構成することができ
る。
【0059】この構成により、予め形成されているトラ
ンジスタを利用して例えばクロックバッファ等の遅延時
間調整用セルが構成されているので、遅延時間調整用セ
ルのサイズの変更が極めて容易となる。
【0060】
【発明の実施形態】
(第1の実施形態)以下、第1の実施形態について、図
1a−図1d及び図2a−図2cを参照しながら説明す
る。
【0061】図1a−図1dは、クロック構造の設計の
概念を示す図である。図1aに示すように、半導体集積
回路1の内部を複数の機能ブロックBL1,BL2,
…,BLnに区画し、各機能ブロックBL1,BL2,
…,BLnの配置を仮に定める。すると、クロック発生
源2から第1クロック入力部3を介して半導体集積回路
1内に入力されるクロック信号を各機能ブロックBL
1,BL2,…,BLnの第2クロック入力部4まで伝
達するためのブロック外配線経路CNout (ブロック外
クロックネット)も仮に決定し得る。ただし、図1aに
示す半導体集積回路1内の内部が空白で表されている枠
は、図1bに示す機能ブロックBL1,BL2,BLn
を示す。そして、図1bに示すように、半導体集積回路
1内の各機能ブロックBL1,BL2,…,BLn内に
は、多数の論理セルが収納された状態となっている。
【0062】ここで、図1cに示すように、ブロック外
クロックネットCNout を構成する配線は電気的には抵
抗と容量とが結合した遅延要素の集合であるので、第1
クロック入力部3から各機能ブロックBL1,…,BL
n-1 ,BLnまでのブロック外遅延時間T1out ,…,
Tn−1out ,Tnout は仮に定まる(ただし、配線の
径は一定値としておく)。また、各機能ブロックBL
1,…,BLn−1,BLnはそれぞれ遅延時間T1i
n,…,Tn−1in,Tninをもったバッファとみなし
得る。従って、第1クロック入力部3から各機能ブロッ
クBL1,BL2,…,BLn−1,BLnの各論理セ
ルまでのクロック信号の遅延時間T1,T2,…,Tn
−1,Tnを概略的に見積もることができる。そして、
この段階で各機能ブロックにおける遅延時間T1,T
2,…,Tn−1,Tnがそれぞれ所定範囲内に収まる
か否かを見積もる。同時に、クロックスキューが制限範
囲内に収まるかどうかの見当をつける。なお、クロック
スキューが「0」であるということは、T1=T2=…
=Tn−1=Tnであることを意味する。そして、各論
理セルにおける遅延時間T1,T2,…,Tn−1,T
nがいずれも所定範囲に収まるという見通しが立てば、
仮に定めた位置への機能ブロックの配置及び機能ブロッ
ク内のクロックネットの設計にはいる。一方、この段階
で、各機能ブロックにおける遅延時間T1,T2,…,
Tn−1,Tnを所定時間に収める見通しが立たない場
合には、機能ブロックBL1,BL2,…,BLn−
1,BLnの配置を変更するなどによって、各論理セル
における遅延時間T1,T2,…,Tn−1,Tnを再
度見積もり、遅延時間が所定範囲内に収まりかつクロッ
クスキューが制限範囲内に収まるまで仮配置を行う。こ
の仮配置が終わると、図1dに示すように、仮配置が終
わった段階におけるクロックネットについて回路シミュ
レータ(例えばSPICE)を用いて詳細に遅延時間の
演算を行う。
【0063】次に、本実施形態におけるクロック設計方
法の詳細について説明する。まず、図2aに示すよう
に、ブロック外クロックネットCNout を形成する。こ
のとき、半導体集積回路1内に各機能ブロックBL1,
BL2,…を仮に配置しておき、ブロック外クロックネ
ットCNout のうち各機能ブロックBL1,BL2,
…,BLnに至るまでの最終分岐点までの部分を決定
し、最終分岐点5から各機能ブロックBL1,BL2,
…,BLnに至る部分は、仮に決定しておく。つまり、
最後に機能ブロックBL1,BL2,…,BLnの位置
を少しずらせる余地は残しておくのである。そして、第
1クロック入力部3から各機能ブロックBL1,BL
2,…,BLnの第2クロック入力部4までのクロック
信号のブロック外遅延時間T1out ,T2out ,…,T
nout を計算する。
【0064】次に、図2bに示すように、各機能ブロッ
クBL1,BL2,…,BLn内におけるクロック信号
を伝達するための配線経路であるクロック木CT1,C
T2,…,CTnを後述のクロック木構造で生成する。
このクロック木の生成方法については、第2の実施形態
で説明する。このとき、各機能ブロックBL1,BL
2,…,BLn内におけるブロック内遅延時間T1in,
T2in,…,Tninを計算する。
【0065】最後に、図2cに示すように、半導体集積
回路1内に各機能ブロックBL1,BL2,…,BLn
を組み込んだ状態で、各機能ブロック内の論理セルにお
ける遅延時間T1(=T1out +T1in),T2(=T
2out +T2in),…,Tn(=Tnout +Tnin)を
算出する。このとき、各論理セルにおける遅延時間T
1,T2,…,Tnがそれぞれある範囲内で互いに異な
る何種類かの値に群別されるように制御しながら、各ク
ロックネットの配線の幅を変更し、あるいは必要に応じ
てクロックバッファを配置する。その場合、クロックス
キューは「0」ではなく、何種類かの異なる値に群別さ
れることになるが、各論理セルの同期不良を招かない程
度の制限範囲内には収まるようにする。
【0066】このように遅延時間を群別する場合、各機
能ブロックBL1,BL2,…,BLn単位で何種類か
に群別すればある機能ブロック内では各論理セルへのク
ロック信号の遅延時間が同じになるように設計すること
になる。それでもよいが、各論理セルについて遅延時間
を群別してもよい。つまり、ある機能ブロック内である
論理セル群毎にクロック信号の遅延時間が異なるように
設計してもよい。
【0067】本実施形態のようなレイアウト設計方法で
は、先に機能ブロック外の配線経路つまりブロック外ク
ロックネットを生成し、その後各第1クロック入力部3
から各論理セルまでのクロック信号の遅延時間T1,T
2,…,Tnを所定範囲にするように、全体のクロック
ネットを生成するので、各論理セルまでのクロック信号
の遅延時間T1,T2,…,Tnを所望の値に調整し得
る。従って、各機能ブロック間において、各論理セルが
共通のクロック信号に同期して動作する。また、幾つか
の半導体集積回路で大きなシステムを構成する場合で
も、各半導体集積回路間の作動を正確に同期させること
ができる。
【0068】なお、本実施形態のように、クロックネッ
トの構造設計の当初はブロック外クロックネットCNou
t のうち各機能ブロックBL1,BL2,…,BLnに
至る最終分岐点5までに止めておく必要は必ずしもな
く、各機能ブロックの各第2クロック入力部4まで決定
してもよい。ただし、本実施形態のごとく、クロックネ
ットの構造設計の当初はブロック外クロックネットのう
ち最終分岐点5までの部分をまず決定しておき、最後の
配線を行うステップで遅延時間を調整する等のために機
能ブロックの位置を微調整することで、特に遅延時間の
調整を微細かつ正確に行うことができるとともに、調整
可能な幅の拡大をも図ることができる。
【0069】なお、本実施形態では、本番のクロックネ
ットのレイアウト設計に入る前に擬似的にクロックネッ
トの設計を行ったが、必ずしも擬似的なクロックネット
の設計を行うことなく本番のクロックネットのレイアウ
ト設計から始めてもよい。ただし、擬似的なクロックネ
ットの設計の段階で、遅延時間T1,T2,…,Tnが
所定範囲に収まるように各機能ブロックBL1,BL
2,…,BLnの適正な配置場所を概略的に求めておく
ことで、後に当初の配置場所ではどうしても遅延時間や
クロックスキューを所望の値に調整できないことが判明
して機能ブロックを再配置しなければならなくなるよう
な事態を回避し得る。
【0070】また、本実施形態におけるような遅延時間
の群別は必ずしも行う必要はなく、各論理セルの遅延時
間を同じに、言い換えるとクロックスキューが「0」に
なるようにしてもよい。ただし、このように設計段階で
論理セルにおける遅延時間が幾つかの異なる値に群別さ
れるように設計しておくことで、半導体集積回路の規模
が大きくなり、クロック周波数が高くなったときでも、
ある瞬間に多くの論理セルが一度に作動して電力の不足
により動作不良を生じるのを有効に防止することができ
る。
【0071】さらに、本実施形態においては、ブロック
外クロックネットCNout はクロック木を用いて設計し
なかったが、クロック木を利用してブロック外クロック
ネットCNout を設計するようにしてもよい。
【0072】(第2の実施形態)次に、第2の実施形態
について、図3−図11を参照しながら説明する。
【0073】図3は、第2の実施形態におけるレイアウ
ト設計方法の全体の手順を示すフローチャートである。
【0074】図4は、本実施形態に係る半導体集積回路
1の構成を示し、半導体集積回路1内のパッド11で囲
まれる領域に3つの機能ブロックBL1,BL2,BL
3が配置されており、クロック信号を供給するクロック
発生源(図示せず)から各機能ブロックBL1,BL
2,BL3に供給されるクロック信号を伝達するブロッ
ク外クロックネットCNout と、各機能ブロックBL
1,BL2,BL3内で各基本論理セルにクロック信号
を伝達するための配線経路を表すクロック木CT1,C
T2,CT3が生成されている。
【0075】図5−図8は、上記図3に示す手順に従っ
て上記図4に示す機能ブロックBL1内における配置配
線を行う場合の構造の変化を示す図である。
【0076】以下、図5−図8を参照しながら、図3に
示す手順に従って、概略的な手順のみを説明する。
【0077】まず、ステップST1で、例えば図5aに
示すように、クロック木が持つ遅延(木の根から各葉ま
での到達時間)を制限範囲内に抑えるために、機能ブロ
ックBL1におけるクロック木CT1の構造を表すテン
プレートを生成する。本実施形態では、予めクロック木
CT1上に配置される第1種セルであるフリップフロッ
プ及びクロックバッファの位置とクロック木CT1自体
の大きさを決定するために、クロック木CT1のテンプ
レートを生成する。ここで、重要なことは、クロックバ
ッファのトランジスタサイズの変更だけでなく、クロッ
ク木の大きさによっても、クロック木の根から葉に位置
するフリップフロップまでの遅延時間(この実施形態で
はブロック内遅延時間Tinになる)を変化させることが
できることである。この性質を使って、クロック木の遅
延を微細に調整できるとともに、必要に応じて空き領域
を確保することができる。その際、ステップST12
で、遅延時間の計算を行い、その計算結果を基にテンプ
レートを生成する。例えば図5bに示すように、タッピ
ングポイント23を各論理セルの等距離位置よりもずら
せることで、各論理セルにおける遅延時間を互いに異な
る値とし、クロックスキュー値を調整することもでき
る。
【0078】次に、ステップST2で、全ての論理セル
を配置する。このとき、まず、図6a及び図6bに示す
ように、クロック木CT1上に第1種論理セルであるフ
リップフロップ20及びクロックバッファ21を先に配
置する。その後に、図7aに示すように、残りの第2種
論理セル22を配置することにする。
【0079】次に、ステップST3で、概略配線を行な
う。クロック木の構造は既にステップST1で生成され
ているが、クロック木に関する概略配線経路を詳細に決
定し、つまり具体的に半導体集積回路内のどの辺りに配
線を引くかを決定し、さらにクロックネット以外のネッ
ト(つまり、クロック信号以外の信号を伝達する配線の
経路)に関しても概略的な配線経路を求める。このと
き、クロック木の構造を考慮して、配線混雑度の最小化
等を行ない、配線領域の面積が最小化されるような概略
配線経路を決定する。
【0080】次に、ステップST4で、フリップフロッ
プ20及びクロックバッファ21の配置位置を基に、詳
細にクロックスキュー値の調整を行なう。その際、クロ
ックバッファ21のトランジスタサイズの変更や、図7
bに示すような経路30,31,32における配線幅の
変更や、タッピングポイントの変更等を行なって微小な
調整をする。このステップST4では、クロック木の遅
延の調整は行なわない。何故なら、この段階では大きな
遅延の変更(調整)が不可能であるからである。なお、
クロックバッファのトランジスタサイズの変更の代わり
に、異なるクロックバッファを選択する方法でもよい。
【0081】最後に、ステップST5で、図8に示すよ
うに、全てのネットの配線の詳細なパターンを生成す
る。ここでは、下記2つの方法(1)又は(2) (1)クロックネットに対し専用配線層1層で配線し、
それ以外のネットは他の配線層を用いて配線する方法 (2)全ネットについて全ての配線層を用いて配線する
方法 を択一的に選択することができる。
【0082】上記方法(2)の場合、クロックネットと
クロックネット以外のネットとの関係によっては、所望
のクロックスキュー値と異なる配線を行なう場合が発生
するかもしれないので、さらに微小な調整の意味で配線
幅変更を行なう。
【0083】このように、クロック木構造決定にテンプ
レートを用いているので、フリップフロップやクロック
バッファの最適配置の決定及びクロックスキューやクロ
ック木の遅延を柔軟かつ容易に制御することができ、ク
ロック周波数の高い半導体集積回路のレイアウト設計が
容易となる。また、クロック木構造が予めわかっている
ので、他の論理セルの配置位置を最適化でき、かつクロ
ックネットと一般信号ネットとの間の干渉を回避して配
線混雑度を容易に低減することができる。
【0084】なお、本実施形態はクロック木の中間節点
のクロックバッファとしてバッファを配置してクロック
木を生成しているが、クロック木の根元から葉までが偶
数段である場合には、論理値が反転するインバータを配
置しても最終的には入力信号の論理値が維持されるの
で、不具合は生じない。
【0085】次に、上記図3に示すフローチャートの各
ステップST1−ST5の具体的な内容について説明す
る。
【0086】ステップST1は、図3に示すように、大
きく分けて4つのステップから構成されている。まず、
ステップST6で、クロック木の構造を決定する。その
場合、例えば図9aに示す2分木方式と図9bに示す3
分木方式とがある。図9aに示す2分木方式の場合、ク
ロック木をバッファ挿入レベルが「3」とすると、図9
aの上図に示すように、フリップフロップ20を最大8
個まで配置でき、クロックバッファ21は7つ挿入する
必要がある。ここで、バッファ挿入レベルとはクロック
信号を供給する根元となるクロックバッファ21から各
フリップフロップ20まで辿るのに必要なバッファの段
数である。もしバッファ挿入レベルが「3」でクロック
木が3分木とすると、図9bに示すように、フリップフ
ロップ20を最大9個まで配置でき、クロックバッファ
21は4つ挿入する必要があることになる。従って、分
木数が多くなるほどバッファ挿入数が減少し、最大フリ
ップフロップ数は増加するが、バッファ間やフリップフ
ロップ−バッファ間の配線が増加するので最終的なチッ
プ面積に有利であるとは限らない。
【0087】なお、1つのクロック木内における分木数
の種類を2分木,3分木等の単一種類に限定してもよい
が、1つのクロック木内に数種類の分木数を混在させて
もよい。
【0088】本実施形態では、図5aに示すように、2
分木構造のクロック木CT1を生成する。
【0089】次に、ステップST7で、テンプレートサ
イズつまり機能ブロックBL1内で生成するクロック木
CT1の大きさを決定する。図10aは、各機能ブロッ
クBL1,BL2,BL3内におけるテンプレート領域
Ret1,Ret2,Ret3を示し、各テンプレート領域R
et1,Ret2,Ret3は各機能ブロックBL1,BL
2,BL3で生成するクロック木CT1,CT2,CT
3の大きさをそれぞれ表している。例えば、図10bは
テンプレートサイズを小さく設定した場合の形状を示
し、図10cはテンプレートサイズを大きく設定した場
合の形状を示す。両者の形状は幾何学的には相似である
が、クロックバッファ間やフリップフロップ−バッファ
間の配線の長さが異なってくる。そして、配線の長さが
異なると、配線の遅延時間が変化し、短い配線長である
ほど配線における遅延時間は小さくなる。すなわち、図
10bに示すテンプレートサイズを有するクロック木の
方が、総遅延時間(根元のクロックバッファからフリッ
プフロップまでの最大遅延時間)が小さいことになる。
しかし、クロック木のサイズを小さくし過ぎると、フリ
ップフロップが狭い領域に集中し、配線の混雑による配
線の占有面積が増大し、最終的な機能ブロック面積の増
加やチップ面積の増加を引き起こすことになるので注意
しなければならない。
【0090】本実施形態では、図5a,図5bに示すよ
うに、機能ブロックBL1の大きさ一杯にクロック木を
生成させる。
【0091】次に、ステップST8で、クロックスキュ
ーの大きさを調整するためにタッピングポイント23を
決定する。図11aは、クロック木がバランスするよう
にタッピングポイント23を設定している場合であり、
クロックスキューは「0」となる。一方、図11bはタ
ッピングポイント23を図中やや左方にずらし、クロッ
ク木としてアンバランスな形を形成したものである。こ
の場合、各クロックバッファ21間やクロックバッファ
−フリップフロップ間の配線長が各々異なっているので
クロックスキューは「0」より大となる。これを実現す
るために、図3のフローチャートに示すように、ステッ
プST8は、2つのサブステップST8a及びST8b
から構成されている。すなわち、ステップST8aで、
予め設定された最大許容スキュー値以内のあるクロック
スキュー値に設定した後、ステップST8bで、その設
定されたクロックスキュー値に合うようなタッピング位
置を決定する。
【0092】その際、ステップST12による遅延時間
の計算結果を利用してクロックスキュー値を算出する。
クロックスキュー値は、2分木の場合、分木される左側
に生じる遅延時間と分木される右側に生じる遅延時間と
の差であるから、先のステップST8aで設定されたク
ロックスキュー値になるように、タッピングポイント2
3の位置を決定する。これは、3分木以上の場合も同様
に計算することができる。
【0093】以上のステップによってクロック木の大き
さとタッピングポイント23の位置までが決まってもク
ロック木に挿入されるクロックバッファ21の種類が決
定していないので、クロック木の遅延時間は一意に定ま
らない。それを決定するために、ステップST9で、挿
入されるクロックバッファ21の種類を選択する。クロ
ックバッファ21は、一般的に駆動能力の大きいものは
早く、小さいものは遅く動作する。予め要求されたクロ
ック木の遅延時間値になるように、ステップST12で
得られた遅延時間の計算結果に基づいて各クロックバッ
ファ21の種類を選択する。ここで、どのようにクロッ
クバッファの組み合わせを変えてもクロック木の遅延の
要求値に合わない場合が発生することもあり得るが、そ
の場合は、ステップST7に戻ってクロックバッファ2
1の種類を固定して再度テンプレートの大きさを決定す
る。
【0094】以上のステップにより、要求されるクロッ
クスキュー値とクロック木の遅延時間値に合ったテンプ
レートの大きさと、その中に挿入されるクロックバッフ
ァ21の種類及びタッピングポイント23の位置が決定
される。
【0095】図5bは、機能ブロックBL1において、
クロック木CT1の各部のタッピングポイント23の位
置が決定された状態を示している。
【0096】次に、ステップST2で、フリップフロッ
プとクロックバッファを含む回路中の論理セル群を配置
する。その際、まず、クロック木に配置される第1種論
理セルを配置する。すなわち、ステップST2aで、図
6aに示すように、機能ブロックBL1内のクロック木
CT1にフリップフロップ20を配置する一方、ステッ
プST22bで、図6bに示すように、クロック木CT
1にクロックバッファ21を配置する。ただし、フリッ
プフロップ20とクロックバッファ21との配置の順番
はどちらでも良い。
【0097】そして、ステップST2cで、機能ブロッ
クBL1内のクロック木CT1以外の部位に、クロック
信号が直接入力されない第2種論理セル(残セル)22
を配置する。図7aは、第2種論理セルが配置された状
態を示す。この状態では、まだ配線幅等は未定なので、
配線部分は破線で示されている。
【0098】その際、すでにフリップフロップ20とク
ロックバッファ21を配置しているので、クロック木C
T1つまりブロック内クロックネットの構造を意識しな
がら第2種論理セル22を配置することができる。従っ
て、仮想配線長の最小化や配線混雑度の低減化等を評価
しながら配置の最適化を行なうことが可能となる。ただ
し、このステップのみでは配置が良くない場合もあり得
る。その場合には、さらに、上記ステップST2aやス
テップST2bに戻って、第2種論理セル22を配置し
た状態で、フリップフロップ20又はクロックバッファ
21の配置改善を行ない、その後、再度ステップST2
cで第2種論理セル22の再配置を行なうことができ
る。その際、配置状態が最適化されるまで、例えば仮想
配線長が最小なるまでや配線混雑度が最小になるまで行
なうことにより、従来クロックネットとその他のネット
の配線の絡み合いが低減され、結果的に混雑(密集)の
少ない配線パターンの生成ができる。
【0099】次に、ステップST3では、全ネットの概
略配線経路を決定するが、すでにクロック木構造が決ま
っているので、設定したクロックスキューやクロック木
の遅延を保持しながら、クロックネット以外のネットと
の間の配線経路を決定することができる。
【0100】以上の各ステップによって、全ネットの概
略配線経路まで定まったので、ステップST4では、所
望のクロックスキュー値を正確に実現するために、クロ
ックバッファ21のトランジスタサイズ変更、配線幅の
変更及びタッピングポイント23の変更を行なう。配線
における遅延時間は配線がもつ容量と抵抗から求められ
るので、クロックスキューの大きさは、配線幅によって
調整でき、配線幅の変更もクロックスキュ値ーを調整す
るための一手段として用いることができる。例えば図1
2aは、タッピングポイント23がバランスし、かつ同
一の幅を有する配線を用いた場合の配線状態を示す。こ
の場合、明らかにクロックスキュー値は「0」である。
それに対し、図12bは、タッピングポイント23はバ
ランスしているものの、2種類の相異なる幅を有する配
線を用いた場合の配線状態を示す。この場合、配線幅が
大きい程抵抗値が下がるので、太い配線を用いた経路に
おける遅延時間は小さくなる。なお、太い配線におい
て、容量は逆に増えることになるがその割合は抵抗値よ
り低い。従って、図12bに示す配線状態では、クロッ
クスキュー値は「0」ではない。
【0101】なお、このステップST4は、ステップS
T12による遅延時間の計算と連係しながら実行する。
【0102】ここで、ステップST4のサブステップS
T4aでクロックバッファ21のトランジスタサイズの
変更を行い、サブステップST4bで配線幅の変更を行
い、サブステップST4cでタッピングポイント23の
位置の変更を行なう。タッピングポイント23の位置
は、各セルの配置が既に完了しているので、大幅に変更
することは困難である。従って、遅延時間を大幅に調整
する場合は、クロックバッファ21のトランジスタサイ
ズの変更による。そして、遅延時間の微調整は、配線幅
の変更とタッピング位置の変更とによる。これらのステ
ップST4a−4cを用いることによって、正確なクロ
ックスキュー値の調整が可能となる。図7bにおいて、
経路30は最小線幅で、経路31はそれより少し太く、
さらに経路32は経路31より太い配線幅にしたことを
表している。
【0103】次に、ステップST5で全ネットの配線を
行うが、上述のように、ステップST5を実行する具体
的な方法として上記方式(1)と方式(2)とがある。
【0104】方式(1)では、ステップST10aで、
クロックネットを主に一層で配線し、ステップST10
bで、クロックネット以外のネットをステップST10
aで主に使われなかった層を用いて配線をする。このよ
うにステップST10aでクロックネットのみを主に一
層で配線する理由は、以下の通りである。すなわち、ス
テップST4で、クロックスキュー値を正確に計算して
タッピングポイント23や経路30,31,32の配線
幅を変更してクロックネットを構成したが、クロックネ
ットをクロックネット以外のネットと同様に扱うと、上
述の設定通りに実際の配線を行うことが困難となる虞れ
があるからである。
【0105】また、方式(2)では、ステップST11
aで、いったん全ネットを配線した後、ステップST1
1bで、クロックネットのみに対し、ステップST8a
で求めたクロックスキュー値に合わせて再度配線幅を変
更する。
【0106】図8に示すように、本実施形態では、ステ
ップST4で決定した各クロックネットの構造に合わせ
て配線幅を決定している。例えば、図7bに示す経路3
0,31,32は、それぞれ図8に示す配線33,3
4,35にそれぞれ対応している。
【0107】以上でレイアウトが完了する。
【0108】本実施形態によれば、クロック木構造決定
にテンプレートを用いているので、フリップフロップや
クロックバッファの最適配置の決定とクロックスキュー
やクロック木に配置される各第1種論理セルにおける遅
延時間の調整とを柔軟かつ容易に行うことができ、クロ
ック周波数の高い半導体LSIチップのレイアウト設計
が容易となる。また、クロック木構造が予めわかってい
るので、他の論理セルの配置位置最適化やクロックネッ
トと一般信号ネットの間の配線混雑度の低減を容易化す
ることができる。
【0109】なお、第2実施形態において、ブロック外
クロックネットをクロック木を用いて設計してもよい
し、各論理セルを機能ブロックに分割することなく、半
導体集積回路内に配置してもよい。
【0110】(第3の実施形態)次に、第3の実施形態
について、図13−図15を参照しながら説明する。図
13は、第3の実施形態に係る半導体集積回路1のレイ
アウトを示す図である。図13に示すように、半導体集
積回路1内には、4つの機能ブロックBL1−BL4が
配置されており、各機能ブロックBL1−BL4が配置
されている領域以外の領域はトランジスタを敷き詰めた
ゲートアレイ領域40となっている。また、クロック信
号を生成するために、パッド上の一部にクロック発生源
2が設けられている。クロック信号は、ブロック外クロ
ック配線41を通り、各クロック端子43を介して各機
能ブロックBL1−BL4に供給される。ブロック外ク
ロック配線41と各機能ブロックBL1−BL4との間
にはクロックバッファ44が配置されている。このバッ
ファ44はブロック外クロック配線41を構成するため
のクロック木を構成したときに現れるものか、或は、機
能ブロックBL1−BL4内のクロック木CT1−CT
4の根になるものかいずれかである。ブロック外クロッ
ク配線41を生成する場合、通常各機能ブロックBL1
−BL4に供給されるクロック信号の同期をとるため
に、可能な限りクロック発生源2から各クロックバッフ
ァ44までが等長となるように配線が行なわれる。
【0111】ここで、本実施形態では、クロックバッフ
ァ44は機能ブロックBL1−BL4の外側に配置され
ているので、各機能ブロックBL1−BL4とは独立し
て、クロックバッファ44のトランジスタサイズの変更
(リサイジング)が可能となる。機能ブロックBL1−
BL4内に根元となるクロックバッファを配置した場
合、何らかの問題から機能ブロックBL1−BL4のレ
イアウトを終了したのちにクロックバッファのバッファ
サイズ、即ちトランジスタサイズの変更があったとき、
遅延時間を所望の値の制御するためには、再度機能ブロ
ックBL1−BL4をレイアウトする必要が生じ、レイ
アウトのための工数が増大する。それに対し、このよう
に機能ブロックBL1−BL4の外部にクロックバッフ
ァ44を配置することで、機能ブロックの再レイアウト
を実行することなしにチップ全体のクロック木の遅延時
間やクロックスキューの調整を詳細に行なうことがで
き、よって、レイアウト工数の増大を有効に防止するこ
とができる。
【0112】なお、図13のクロックバッファ44の部
分を拡大した図に示すように、本実施形態では、標準サ
イズの3倍のトランジスタサイズをもったクロックバッ
ファ44を用いている。
【0113】なお、本実施形態では、ゲートアレイ領域
40内に敷き詰められたトランジスタを利用してクロッ
クバッファ44を形成しているが、機能ブロックBL1
−BL4の近傍の配線領域の一部に設けたトランジスタ
を利用してゲート領域を形成した場合でもよい。
【0114】次に、本実施形態におけるレイアウト設計
方法について、図14及び図15を参照しながら説明す
る。図14は、図13に示す半導体集積回路1における
クロック配線を形成する手順を示すフローチャートであ
る。図15は、図14に示すフローに沿った半導体集積
回路の設計状態の変化を示す分解図である。
【0115】本実施形態では、図15aに示すように、
パッド上の一部にクロック発生源2を配置し、半導体集
積回路1内に、未だレイアウトを実行していない機能ブ
ロックBL1−BL4と、機能ブロック外の配線領域で
あるゲートアレイ領域40とを有するチップ(この例の
場合、エンベデッド・セル・アレイ方式LSI)を例に
とって説明する。
【0116】まず、ステップST21で、図15bに示
すように、未だレイアウトの終了していない4つの機能
ブロックBL1−BL4において、クロックネットを形
成するためのクロック木CT1−CT4をそれぞれ生成
させ、クロックネット以外のネットと共にレイアウトを
完成させる。その際、クロック木CT1−CT4を生成
させるとき、そのクロック木の根にあたるクロックバッ
ファを機能ブロックBL1−BL4内に配置することな
く、ゲートアレイ領域40に配置する。
【0117】次に、ステップST22で、図15cに示
すように、各機能ブロックBL1−BL4を半導体集積
回路1内に配置する。
【0118】ここで、上記ステップST22を先に行っ
た後に、ステップST21を行ってもよい。但し、その
場合は、ステップST22では、未レイアウトの機能ブ
ロックBL1−BL4を配置することになるので、これ
らの概略の位置を決定したに過ぎない。
【0119】次に、ステップST23で、図15dに示
すように、機能ブロックBL1−BL4の近傍にクロッ
クバッファ44を配置する。このクロックバッファ44
は、ステップST22で生成された各機能ブロックBL
1−BL4内のクロック木CT1−CT4の根に相当す
る部位に配置されている。各クロックバッファ44のト
ランジスタサイズは、各クロック木CT1−CT4を生
成するときに見積もった必要なドライブ能力に応じたサ
イズである。この例では、機能ブロック外の領域をゲー
トアレイ領域40で構成しているので、任意の位置にク
ロックバッファ44を配置することができる。
【0120】最後に、ステップST24で、機能ブロッ
ク外のクロック木を生成し、ブロック外クロック配線4
1を形成する。この例のブロック外クロック配線41
は、テーパーリング(段階的に、配線幅を変化させる)
が行われた結果の状態を示している。テーパーリング
は、エレクトロ・マイグレーションやクロック遅延時間
値の最適化を行なう際に有効な手段である。また、ブロ
ック外クロック配線41はクロック発生源2から各クロ
ックバッファ44までのクロックスキューを最小化する
ように形成する。この時、チップ全体におけるクロック
スキューを微調整するために、クロックバッファ44を
構成するトランジスタのリサイジングを行なうこともあ
る。その場合、上述したように、機能ブロックBL1−
BL4の外側にクロックバッファ44を配置したので、
クロックバッファ44を構成するトランジスタのリサイ
ジングだけで、チップ全体のクロックスキューの微調整
を実現できることは明白である。
【0121】
【発明の効果】請求項1によれば、半導体集積回路のレ
イアウト設計方法として、半導体集積回路内に各機能ブ
ロックを概略配置する第1ステップと、ブロック外配線
経路を概略決定する第2ステップと、ブロック外遅延時
間とブロック内遅延時間との和として最終的遅延時間を
算出してクロックスキューが制限範囲に収まりかつ最終
的遅延時間が所定範囲に収まるように各セルの配置と配
線経路を決定する第3ステップと、配線パターンを生成
する第4ステップとを設けたので、機能ブロック内だけ
でなく、各機能ブロック間や、複数の半導体集積回路で
構成されるシステムにおける各半導体集積回路間におい
ても、各セルの動作の同期を確保することができる。
【0122】請求項2によれば、請求項1の第2ステッ
プでブロック外配線経路のうち各機能ブロックへの最終
分岐点までの部分のみを概略決定し、第3ステップの後
かつ第4ステップの前に、各機能ブロックの配置場所を
微調整するステップをさらに設けるようにしたので、ブ
ロック外遅延時間をより正確に調整することができる。
【0123】請求項3によれば、請求項1の第1ステッ
プで、半導体集積回路内に各機能ブロックを仮に配置
し、その状態で最終遅延時間が所定範囲に収まるように
各機能ブロックの概略的な配置場所を決定するようにし
たので、機能ブロックの配置場所を変更して設計をやり
直すことで生じるレイアウト工数の増大を防止すること
ができる。
【0124】請求項4によれば、請求項1の第3ステッ
プで、最終的遅延時間を互いに異なる複数の値に分布さ
せるようにしたので、半導体集積回路内で現実に多くの
セルが同時に作動するような事態を回避することがで
き、よって、瞬間的な電流の増大に起因するフリップフ
ロップ等の動作不良を防止することができる。
【0125】請求項5,6又は7によれば、請求項1の
第3ステップでは、クロック木構造を表すテンプレート
を生成した後、各セルの配置や配線を行い遅延時間の最
終調整を行うようにしたので、クロックネットの形成の
容易化と各配線間の干渉の回避の容易化とによる工数の
大幅な低減を図ることができる。
【0126】請求項8によれば、請求項1において、各
機能ブロックのクロック信号入力部の直前にブロック外
遅延時間調整用セルを配置するようにしたので、当該セ
ルのブロック外遅延時間やクロックスキューの調整のた
めのリサイジングの際における機能ブロック内の際レイ
アウトを不要とし、レイアウト工数の増大の回避を図る
ことができる。
【0127】請求項9,10,11,12,13又は1
4によれば、半導体集積回路のレイアウト設計方法とし
て、クロック木構造を表すテンプレートを生成した後、
各セルの配置や配線を行い遅延時間の最終調整を行うよ
うにしたので、トップダウン的な設計により遅延時間の
増大を回避しながら、各機能ブロック間における各セル
の動作の同期の確保と、クロックネットの形成の容易化
と、各配線間の干渉の回避の容易化とを図り、かつ工数
の大幅な低減を図ることができる。
【0128】請求項15又は16によれば、半導体集積
回路のレイアウト設計方法として、各機能ブロック内に
ブロック内クロックネットを構成し、各機能ブロックの
クロック入力部の直前にブロック外遅延時間調整用セル
を配置し、その後ブロック外クロックネットを構成する
ようにしたので、リサイジングに伴う機能ブロック内の
再レイアウトを回避し得ることで、クロックネットとク
ロックネット以外のネットを共通の配線層に混在させな
がら各機能ブロック間における各セルの動作の同期を図
ることができ、よって、トップダウン的設計方法による
設計能率の向上と、配線層の低減とを容易に実現させる
ことができる。
【0129】請求項17,18又は19によれば、半導
体集積回路として、半導体集積回路内に複数の機能ブロ
ックを配置し、各機能ブロックのクロック入力部の直前
にブロック外遅延時間調整用セルを設ける構成としたの
で、各機能ブロック間における各セルの動作の同期の確
保と半導体集積回路の製造コストの大幅な低減とを図る
ことができる。
【図面の簡単な説明】
【図1】第1の実施形態に係る仮クロック設計の手順を
説明する図である。
【図2】第1の実施形態に係るクロック設計の手順を説
明する図である。
【図3】第2の実施形態に係るレイアウト設計手順を示
すフロー図である。
【図4】第2の実施形態に係る半導体集積回路の構成を
概略的に示すブロック図である。
【図5】第2の実施形態に係るレイアウト設計手順のう
ちクロック木の構造の決定とタッピングポイントの位置
の決定とを終了した状態を示すブロック図である。
【図6】第2の実施形態に係るレイアウト設計手順のう
ちフリップフロップの配置と、その後のクロックバッフ
ァの配置とを終了した状態を示すブロック図である。
【図7】第2の実施形態に係るレイアウト設計手順のう
ち第2種論理セルの配置と、配線幅の変更とを終了した
状態を示すブロック図である。
【図8】第2の実施形態に係るレイアウト設計を終了し
た状態を示すブロック図である。
【図9】第2の実施形態に係るレイアウト設計手順のう
ちクロック木の構造が2分木の場合と3分木の場合との
セル数の相違を説明するブロック図である。
【図10】第2の実施形態に係るレイアウト設計手順の
うち機能ブロックとクロック木の大きさとの関係及びク
ロック木の大小の相違を説明するブロック図である。
【図11】第2の実施形態に係るレイアウト設計手順の
うちクロックスキューを「0」又は正の値にするための
タッピングポイントの位置を説明するブロック図であ
る。
【図12】第2の実施形態に係るレイアウト設計手順の
うちクロックスキューを「0」又は正の値にするための
配線幅の設定を説明するブロック図である。
【図13】第3の実施形態に係る半導体集積回路の全体
構成を概略的に示すブロック図である。
【図14】第3の実施形態に係るレイアウト設計手順を
示すフロー図である。
【図15】第3の実施形態に係るレイアウト設計手順中
における半導体集積回路の仮想的構造の変化を示すブロ
ック図である。
【図16】従来の半導体集積回路の概略的な構造とクロ
ック木の生成方法とを説明するためのブロック図であ
る。
【符号の説明】
1 半導体集積回路 2 クロック発生源 3 第1クロック入力部 4 第2クロック入力部 5 最終分岐点 11 パッド 20 フリップフロップ(第1種セル) 21 クロックバッファ(第1種セル) 22 第2種セル 23 タッピングポイント 40 ゲートアレイ領域 44 クロックバッファ(ブロック外遅延時間調整用セ
ル) BL 機能ブロック CT クロック木 CN クロックネット

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 複数の素子で構成される半導体集積回路
    を少なくとも1つの素子からなる複数のセルに区画し、
    上記複数のセルを上記クロック信号が供給される複数の
    第1種セルと該第1種セル以外のセルからなる複数の第
    2種セルとに分類し、かつ上記複数のセルを複数の機能
    ブロックに区画して、上記半導体集積回路のレイアウト
    を設計する方法であって、 上記半導体集積回路内に上記各機能ブロックを概略配置
    する第1ステップと、 上記半導体集積回路への第1クロック入力部から上記各
    機能ブロックの第2クロック入力部に至るブロック外配
    線経路を概略決定する第2ステップと、 上記第1クロック入力部から上記各機能ブロックの上記
    第2クロック入力部までのブロック外遅延時間と各機能
    ブロック内における上記第2クロック入力部から上記各
    第1種セルまでのブロック内遅延時間との和として最終
    的遅延時間を上記各第1種セルごとに算出して、上記各
    第1種セルにおける最終的遅延時間の差であるクロック
    スキューが制限範囲に収まり、かつ上記各第1種セルに
    ついての最終的遅延時間が所定範囲に収まるように上記
    各機能ブロック内における上記各セルの配置とブロック
    内配線経路及び上記ブロック外配線経路を決定する第3
    ステップと、 上記ステップで決定された各配線経路にしたがって配線
    パターンを生成する第4ステップとを備えたことを特徴
    とする半導体集積回路のレイアウト設計方法。
  2. 【請求項2】 請求項1記載の半導体集積回路のレイア
    ウト設計方法において、 上記第2ステップでは、上記ブロック外配線経路のうち
    上記各機能ブロックに直接分岐する最終分岐点までの部
    分のみを概略決定し、 上記第3ステップの後かつ上記第4ステップの前に、各
    機能ブロックの配置場所を微調整するステップをさらに
    備えたことを特徴とする半導体集積回路のレイアウト設
    計方法。
  3. 【請求項3】 請求項1記載の半導体集積回路のレイア
    ウト設計方法において、 上記第1のステップでは、半導体集積回路内に各機能ブ
    ロックを仮に配置し、その状態で上記第1クロック入力
    部から各論理セルまでのクロック信号の最終遅延時間が
    所定範囲に収まるように各機能ブロックの概略的な配置
    場所を決定することを特徴とする半導体集積回路のレイ
    アウト設計方法。
  4. 【請求項4】 請求項1記載の半導体集積回路のレイア
    ウト設計方法において、 上記第3ステップでは、各セルの最終的遅延時間を上記
    所定範囲内で互いに異なる複数の値に分布させることを
    特徴とする半導体集積回路のレイアウト設計方法。
  5. 【請求項5】 請求項1記載の半導体集積回路のレイア
    ウト設計方法において、 上記第3ステップは、 上記機能ブロックの第2クロック入力部から導出される
    配線を順次複数方向に分木させ最終的に個々の上記第1
    種セルに至るように構成されたクロック木を表すテンプ
    レートを生成するステップと、 上記クロック木の構造に基づいて、上記各第1種セルを
    上記機能ブロック内に配置し、上記第1種セルが配置さ
    れた領域以外の空き領域に上記第2種セルを配置するス
    テップと、 論理接続要求に従って、上記各セル間の概略の配線経路
    を決定するステップと、 上記第2クロック入力部から上記クロック木上の各第1
    種セルにおける遅延時間を最終的に所望の値に調整する
    ステップと、 上記ステップで求めた配線経路に従って上記機能ブロッ
    ク内の配線パターンを生成するステップとを有すること
    を特徴とする半導体集積回路のレイアウト設計方法。
  6. 【請求項6】 請求項5記載の半導体集積回路のレイア
    ウト設計方法において、 上記テンプレートを生成するステップは、 上記クロック木の分木数を決定するステップと、 上記クロック木の大きさを決定するステップと、 上記クロック木上のタッピングポイントの位置を決定す
    るステップと、 上記クロック木に遅延時間調整用セルを配置するステッ
    プとからなることを特徴とする半導体集積回路のレイア
    ウト設計方法。
  7. 【請求項7】 請求項5記載の半導体集積回路のレイア
    ウト設計方法において、 上記各セルの最終的な遅延時間を調整するステップは、
    クロック木上の中間節点に位置する遅延時間調整用セル
    の出力駆動能力の変更と、クロック木内の配線の幅の変
    更と、クロック木上のタッピングポイントの変更とのう
    ち少なくともいずれか1つの変更により行うことを特徴
    とする半導体集積回路のレイアウト設計方法。
  8. 【請求項8】 請求項1記載の半導体集積回路のレイア
    ウト設計方法において、 上記第2クロック入力部の前段側かつ上記機能ブロック
    の外側にブロック外遅延時間調整用セルを配置するステ
    ップをさらに備えたことを特徴とする半導体集積回路の
    レイアウト設計方法。
  9. 【請求項9】 複数の素子で構成される半導体集積回路
    を少なくとも1つの素子からなる複数のセルに区画し、
    かつ上記複数のセルを上記クロック入力部からクロック
    信号が供給される複数の第1種セルと該第1種セル以外
    のセルからなる複数の第2種セルとに分類して、上記半
    導体集積回路のレイアウトを設計する方法であって、 上記クロック入力部から導出される配線を順次複数方向
    に分木させ最終的に個々の上記第1種セルに至るように
    構成されたクロック木を表すテンプレートを生成するス
    テップと、 上記ステップで生成されたクロック木の構造に基づい
    て、上記半導体集積回路内に上記各第1種セルを配置
    し、さらに半導体集積回路内の上記第1種セルが配置さ
    れた領域以外の空き領域に上記第2種セルを配置するス
    テップと、 論理接続要求に従って、上記各セル間の概略の配線経路
    を決定するステップと、 上記クロック入力部から上記クロック木上の各第1種セ
    ルにおける遅延時間を最終的に所望の値に調整するステ
    ップと、 上記ステップで求めた配線経路に従って半導体集積回路
    内の配線パターンを生成するステップとを備えたことを
    特徴とする半導体集積回路のレイアウト設計方法。
  10. 【請求項10】 請求項9記載の半導体集積回路のレイ
    アウト設計方法において、 上記テンプレートを生成するステップは、 上記クロック木の分木数を決定するステップと、 上記クロック木の大きさを決定するステップと、 上記クロック木上のタッピングポイントの位置を決定す
    るステップと、 上記クロック木に遅延時間調整用セルを配置するステッ
    プとからなることを特徴とする半導体集積回路のレイア
    ウト設計方法。
  11. 【請求項11】 請求項9記載の半導体集積回路のレイ
    アウト設計方法において、 上記各セルの最終的な遅延時間を調整するステップは、
    クロック木上の中間節点に位置するセルの出力駆動能力
    の変更と、クロック木内の配線の幅の変更と、クロック
    木上のタッピングポイントの変更とのうち少なくともい
    ずれか1つの変更により行うことを特徴とする半導体集
    積回路のレイアウト設計方法。
  12. 【請求項12】 請求項9記載の半導体集積回路のレイ
    アウト設計方法において、 上記テンプレートを生成するステップでは、上記クロッ
    ク入力部から上記各第1種セルに至るクロック信号の遅
    延時間を算出して、全てのセルにおける遅延時間が所定
    範囲に収まるようにテンプレートを生成することを特徴
    とする半導体集積回路のレイアウト設計方法。
  13. 【請求項13】 請求項9記載の半導体集積回路のレイ
    アウト設計方法において、 上記遅延時間の最終的な調整を行うステップでは、上記
    クロック入力部から上記各第1種セルまでのクロック信
    号の遅延時間を上記所定範囲内で互いに異なる複数の値
    にほぼ均等に分布させることを特徴とする半導体集積回
    路のレイアウト設計方法。
  14. 【請求項14】 請求項9記載の半導体集積回路のレイ
    アウト設計方法において、 上記各セルを配置するステップでは、上記クロック木の
    各先端部に上記第1種セルとしてのフリップフロップを
    配置する一方、クロック木の各タッピングポイント間の
    中間節点に第1種セルとしての遅延時間調整用セルを配
    置した後、上記第2種セルを配置することを特徴とする
    半導体集積回路のレイアウト設計方法。
  15. 【請求項15】 複数の素子で構成される半導体集積回
    路を少なくとも1つの素子からなる複数のセルに区画
    し、上記複数のセルを上記クロック信号が供給される複
    数の第1種セルと該第1種セル以外のセルからなる複数
    の第2種セルとに分類し、かつ上記複数のセルを複数の
    機能ブロックに区画して、上記半導体集積回路のレイア
    ウトを設計する方法であって、 上記各機能ブロック内にブロック内クロックネットを構
    成するステップと、 上記機能ブロックにクロック信号を供給する第2クロッ
    ク入力部の前段側かつ機能ブロックの外側に、遅延時間
    調整用セルを配置するステップと、 上記機能ブロックを半導体集積回路内に配置するステッ
    プと、 半導体集積回路への第1クロック入力部から上記遅延時
    間調整用セルを通って上記各機能ブロックの第2クロッ
    ク入力部に至るブロック外クロックネットを構成するス
    テップとを備えたことを特徴とする半導体集積回路のレ
    イアウト設計方法。
  16. 【請求項16】 請求項15記載の半導体集積回路のレ
    イアウト設計方法において、 上記ブロック内クロックネットを構成するステップは、 上記各機能ブロックへのクロック入力部から導出される
    配線を順次複数方向に分木させ最終的に個々の上記第1
    種セルに至るように構成されたクロック木を表すテンプ
    レートを生成するステップと、 上記クロック木の構造に基づいて、上記各第1種セルを
    機能ブロック内に配置し、さらに機能ブロック内の上記
    第1種セルが配置された領域以外の空き領域に上記第2
    種セルを配置するステップと、 論理接続要求に従って、上記各セル間の概略の配線経路
    を決定するステップと、 上記第2クロック入力部から上記クロック木上の各第1
    種セルにおける遅延時間を最終的に所望の値に調整する
    ステップと、 上記ステップで求めた配線経路に従って機能ブロック内
    の配線パターンを生成するステップとを備えたことを特
    徴とする半導体集積回路のレイアウト設計方法。
  17. 【請求項17】 半導体チップ上に複数の素子を搭載し
    て構成され、各々複数の素子を収納してなる複数の機能
    ブロックと、該各機能ブロック外の領域とを有する半導
    体集積回路において、 上記半導体集積回路にクロック信号を入力するための第
    1クロック入力部と、 上記各機能ブロックにクロック信号を入力するための第
    2クロック入力部と、 上記半導体集積回路の上記機能ブロック外の領域に形成
    され、上記第1クロック入力部から上記各機能ブロック
    の第2クロック入力部までクロック信号を伝達するため
    のブロック外クロック配線と、 上記ブロック外クロック配線中で上記各機能ブロックの
    第2クロック入力部の前段側に介設された遅延時間調整
    用セルとを備えたことを特徴とする半導体集積回路。
  18. 【請求項18】 請求項17記載の半導体集積回路にお
    いて、 上記クロック配線以外の他の配線部材をさらに備え、 上記クロック配線と上記他の配線部材とは、共通の配線
    層に混在して形成されていることを特徴とする半導体集
    積回路。
  19. 【請求項19】 請求項17記載の半導体集積回路にお
    いて、 半導体集積回路の上記機能ブロック外の領域はトランジ
    スタが敷き詰められてなるゲートアレイ領域に形成され
    ており、 上記遅延時間調整用セルは、上記ゲートアレイ領域内の
    トランジスタを用いて構成されていることを特徴とする
    半導体集積回路。
JP7189276A 1994-08-03 1995-07-25 半導体集積回路及びそのレイアウト設計方法 Pending JPH08221473A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7189276A JPH08221473A (ja) 1994-08-03 1995-07-25 半導体集積回路及びそのレイアウト設計方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP6-182286 1994-08-03
JP18228694 1994-08-03
JP31339894 1994-12-16
JP6-313398 1994-12-16
JP7189276A JPH08221473A (ja) 1994-08-03 1995-07-25 半導体集積回路及びそのレイアウト設計方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003013710A Division JP3913180B2 (ja) 1994-08-03 2003-01-22 半導体集積回路の設計方法

Publications (1)

Publication Number Publication Date
JPH08221473A true JPH08221473A (ja) 1996-08-30

Family

ID=27325137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7189276A Pending JPH08221473A (ja) 1994-08-03 1995-07-25 半導体集積回路及びそのレイアウト設計方法

Country Status (1)

Country Link
JP (1) JPH08221473A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378080B1 (en) 1999-01-07 2002-04-23 Nec Corporation Clock distribution circuit
US6591408B1 (en) 1999-09-30 2003-07-08 Nec Electronics Corporation Apparatus and method for designing semiconductor circuit, and recording medium
JP2004040081A (ja) * 2002-03-29 2004-02-05 Altera Corp プログラマブル・ゲートアレイ部を備えたマスクプログラマブル論理装置
US6691293B2 (en) 2000-11-01 2004-02-10 Fujitsu Limited Layout instrument for semiconductor integrated circuits, layout method for semiconductor integrated circuits and recording medium that stores a program for determining layout of semiconductor integrated circuits

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378080B1 (en) 1999-01-07 2002-04-23 Nec Corporation Clock distribution circuit
US6591408B1 (en) 1999-09-30 2003-07-08 Nec Electronics Corporation Apparatus and method for designing semiconductor circuit, and recording medium
US6691293B2 (en) 2000-11-01 2004-02-10 Fujitsu Limited Layout instrument for semiconductor integrated circuits, layout method for semiconductor integrated circuits and recording medium that stores a program for determining layout of semiconductor integrated circuits
JP2004040081A (ja) * 2002-03-29 2004-02-05 Altera Corp プログラマブル・ゲートアレイ部を備えたマスクプログラマブル論理装置

Similar Documents

Publication Publication Date Title
US5774371A (en) Semiconductor integrated circuit and layout designing method for the same
JP2695078B2 (ja) データ処理装置クロック信号の分配方法
US7809971B2 (en) Clock distribution circuit, semiconductor integrated circuit and method of designing clock distribution circuit
US6601227B1 (en) Method for making large-scale ASIC using pre-engineered long distance routing structure
US5798936A (en) Congestion-driven placement method and computer-implemented integrated-circuit design tool
EP0684572B1 (en) Designing semiconductor integrated circuits
JP2540762B2 (ja) クロック信号供給方法
KR100423594B1 (ko) 혼합형 공급 전압 설계용 전압 아일런드를 논리적 및 물리적으로 동시에 구성하는 방법 및 저장 매체
US7017132B2 (en) Methodology to optimize hierarchical clock skew by clock delay compensation
US20040225984A1 (en) Two-stage clock tree synthesis
US6751786B2 (en) Clock tree synthesis for a hierarchically partitioned IC layout
JP2001505716A (ja) 電子素子におけるネット・ルーティング方法
CN115659901B (zh) 一种芯片物理设计的距离布线优化方法和装置
CN106096070A (zh) 使用去填充和再填充操作来实现集成电路设计
US6958545B2 (en) Method for reducing wiring congestion in a VLSI chip design
JP3913180B2 (ja) 半導体集積回路の設計方法
JPH08221473A (ja) 半導体集積回路及びそのレイアウト設計方法
US6795960B1 (en) Signal routing in programmable logic devices
US6944842B1 (en) Method for making large-scale ASIC using pre-engineered long distance routing structure
US6938232B2 (en) Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks
JP3877698B2 (ja) 半導体集積回路の設計方法
JP2012174226A (ja) 半導体集積回路のレイアウト設計方法
US20040250152A1 (en) Clock delay adjusting method of semiconductor integrated circuit device and semiconductor integrated circuit device formed by the method
Kakoee et al. A new physical routing approach for robust bundled signaling on NoC links
JP3332020B2 (ja) 半導体集積回路の配線レイアウトシステムおよびクロック配線の設計方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030513