JPH09199599A - 半導体集積回路の設計方法およびその設計装置 - Google Patents

半導体集積回路の設計方法およびその設計装置

Info

Publication number
JPH09199599A
JPH09199599A JP8006293A JP629396A JPH09199599A JP H09199599 A JPH09199599 A JP H09199599A JP 8006293 A JP8006293 A JP 8006293A JP 629396 A JP629396 A JP 629396A JP H09199599 A JPH09199599 A JP H09199599A
Authority
JP
Japan
Prior art keywords
cell
wiring
area
height
cells
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
JP8006293A
Other languages
English (en)
Inventor
Noriko Shinomiya
典子 四宮
Toshirou Akinou
俊郎 秋濃
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 JP8006293A priority Critical patent/JPH09199599A/ja
Publication of JPH09199599A publication Critical patent/JPH09199599A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 半導体集積回路の設計を行う際に、ブロック
内における配線のためだけに必要な面積を低減し、セル
上配線領域における配線利用率を高めて、ブロックの占
有面積を低減する。 【解決手段】 ステップST1で、回路の接続情報とセ
ル情報とを入力し、ステップ亜ST2で、セル行に各セ
ルを配置し、ステップST3で、各セル間の水平方向の
配線を予測してその配線のために必要な領域である必要
配線領域の高さを見積り、ステップST4で、必要配線
領域の高さを確保するのに必要な純配線領域の面積を低
減するためのセル高さの上限値を求め、ステップST5
で、配置されているセルをセル高さが上限値以下という
制約に適合するセルに変更し、ステップST6で、接続
情報に従って各セル間の配線を行なう。この設計によ
り、純配線領域の面積が低減し、セル上を配線領域とし
て効率よく利用できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術の分野】本発明は、セルベース方式
による半導体集積回路の設計方法およびその設計装置に
係り、特に、セルが配置されるブロックの面積を最小に
するための対策に関する。
【0002】
【従来の技術】近年、半導体基板上に多数の回路が高密
度に形成されたいわゆる大規模集積回路(LSI)が、
様々な分野において利用されている。また、微細加工等
の製造技術の進歩により、LSIの集積度は益々向上し
ている。このLSIの集積度の向上に伴い、回路設計を
効率よく行うための設計支援技術が発達してきた。回路
設計の1つであるレイアウト設計においても、様々なデ
ザインオートメーション(DA)技術が実現されてい
る。また、製造コストを下げるために回路ブロックの面
積をできるだけ小さくすることを目的とするレイアウト
設計手法もいくつか提案されている。
【0003】図18は、従来の半導体集積回路の設計方
法の基本的な処理の流れを示すフローチャートである。
【0004】同図において、ステップSR1で、論理設
計により得られた接続情報(ネットリスト)とセルライ
ブラリデータとを入力する。ただし、ネットリストと
は、論理シミュレータVerilog(市販品)における回路
入力形式などにあるように、セル名、端子名および信号
名を記述してセル間の結線情報を表現するものであっ
て、同一の信号名が記述されている端子同士は、レイア
ウト設計において配線により結線されなければならな
い。また、セルライブラリデータとは、LSI設計にお
いて用意される論理機能とそれを実現するトランジスタ
レイアウトの組(セル)の情報のことであり、通常、特
定の論理機能を持つセルは一種類だけつまり1つの形状
を有するものだけ用意される。ただし、同一論理機能を
持ちながらトランジスタ駆動能力の異なるセルが、それ
ぞれ用意される場合もある。また、いわゆるスタンダー
ド・セル方式の設計においては、セルライブラリ中のセ
ルは全て均一の高さで設計されている。
【0005】次に、ステップSR2で、ネットリストに
記載されているセルをセルライブラリから選択して、互
いに並列状態となる複数のセル行にセルを配置する。
【0006】次に、ステップSR3で、上記ステップS
R1で入力したネットリストに従って、配線設計を行い
セル間の配線のレイアウトを求める。このステップSR
3は、概略の配線経路を求めるステップSR31と、詳
細な配線経路を求めるステップSR32との2つに分か
れる。
【0007】ここで、レイアウト設計の1つであるスタ
ンダード・セル方式によって配線経路を求める手順につ
いて、図19を参照しながら説明する。
【0008】図19は、2層配線プロセスを前提とした
上記ステップSR31における概略配線処理を行うとき
のブロックの構造を模式的に示す平面図である。同図に
おいて、160A,160B,160Cはそれぞれセル
を配置するためのセル行であり、上記ステップSR2の
処理によってセルが配置されている。セル行160A−
160B間、セル行160B−160C間には、それぞ
れ配線領域230A,230Bが介在している。上述の
ように、各セルの高さは均一であるので、各セル行16
0A〜160Cの上下辺は互いに平行に延びている。そ
して、セル行160Aと配線領域230Aとの境界及び
セル行160Cと配線領域230Bとの境界に端子10
1が配置される。なお、3層以上の多層配線技術を用い
る場合は、端子はセル内部にあってもよい。
【0009】また、220A及び220Bは中央のセル
行160B内のフィードスルーを示す。フィードスルー
とは、その上にセル行を縦断する配線を配置することが
可能な場所を示すものである。ステップSR2の配置処
理により、セル行内のセルの配置が決まるので、一つの
セル行内において、個々のフィードスルーの位置と総数
が決まる。そして、ステップSR31の概略配線処理に
おいて、全ネットについて、概略の配線経路を決定す
る。例えば、ネット300Aは、配線領域230A中の
水平配線経路200Aと、配線領域230B中の水平配
線経路200Bと、中央のセル行160Bのフィードス
ルー220Aを通る垂直配線経路200Cとからなる配
線経路を取るように決める。一方、ネット300Bは垂
直配線経路のみからなっている。
【0010】その際、最適の配線経路を決める時の評価
関数としては、様々なものがある。例えば、総配線長を
評価関数としてこれを最小化する方法、最大配線長を評
価関数としてこれを最小化する方法、総配線領域高さを
評価関数としてこれを最小化する方法などである。
【0011】次に、ステップSR31の処理が終了する
と、各配線領域230A,230Bのおおよその高さを
予想することが可能である。続くステップSR32で
は、上記ステップSR31で決められた概略の配線経路
に従い、詳細な配線経路を決定する。
【0012】以上により、セルを単位として配置配線が
行われる。
【0013】ところで、半導体集積回路の集積度の向上
に伴い、ブロックの占有面積を低減することが求められ
ており、そのためには、セルそのものの占有面積だけで
なく、配線領域の占有面積を必要最小限に抑制すること
が重要である。ブロック面積の削減を行なうために配線
領域の面積を削減する手法として、例えば、1985年
にIEEE Transactions on Computer-Aided Design に、
J.Reed他により発表された"A New Symbolic Channel Ro
uter: YACR2"がある。これは、チャネル配線手法の詳細
配線手法であり、その上に水平方向の配線を配置するこ
とができる配線トラックの総数を最小にする手法であ
る。すなわち、配線トラック数が減ることにより、配線
領域の高さが減り、その結果ブロック高さも減るので、
ブロック面積の削減を図ることができる。
【0014】また、近年のプロセス技術の進展により、
3層以上の多層配線技術が確立され、セル間配線をセル
上でも行なうことが可能となって来た。
【0015】図20は、3層配線プロセス技術を用いて
ブロックの設計を行なう場合のブロックの構造を模式的
に示す平面図である。同図において、160A〜160
Cはセル行であり、各セル行160A〜160Cの上層
(通常、2層目と3層目)には配線を形成することがで
きる。つまり、配線領域の観点から見ると、セル行16
0A〜160Cは、セル上配線領域235A〜235C
ということができる。そして、セル行160A−160
B間と、セル行160B−160C間には、セル上配線
領域235A〜235Cで配線が完了しない時に、配線
完了のためにセル行とセル行の間に作成される純配線領
域240A,240Bがそれぞれ設けられている。すな
わち、配線領域230はブロックの全面に及び、セル上
配線領域235と純配線領域240A,240Bとから
なる。また、ブロックの面積は、セル上配線領域235
A〜235Cの面積と純配線領域240A,240Bと
の面積の総和に等しい。この場合、セル端子101は、
セル内の任意の位置におかれる。
【0016】以上の3層以上のプロセスを前提にして、
ブロックの占有面積を削減するための試みとして、純配
線領域240の面積を削減する配線手法が幾つか提案さ
れている。
【0017】その一例として、1993年のInternatio
nal Conference on VLSI Design で、S.Bhingard他によ
り発表された"Over-the-Cell routing algorithms for
industrial cellmodels"で、詳細配線手法がある。この
手法は、図21に示すように、セル端子101を点では
なく、垂直方向に長い領域のセル端子領域102と定義
するセルモデルを前提としている。そして、配線処理時
に、その時の配線密度に合わせて実際の位置決めを行な
うことで、配線領域230の高さを最小にしようとする
手法である。ただし、図21には、理解を容易にするた
めに2つのセル行160A,160Bと、各セル行16
0A−160B間の純配線領域240のみを図示してい
る。
【0018】この手法では、ブロック全体を複数の配線
領域に分割して、分割された配線領域毎に配線処理を実
施する。1回の配線処理の対象となる配線領域230は
以下のように定義される。すなわち、上下に並ぶ2つの
セル行160A,160B(それぞれ、セル上配線領域
235A,235Bでもある)において、上方のセル行
160A内の端子101間を結ぶ線を上方配線領域境界
線232とし、下方のセル行内の端子101間を結ぶ線
を下方配線領域境界線233とし、この2つの境界線2
32−233間に挟まれた領域を配線領域230Bとす
るものである。すなわち、配線領域230Bは、セル行
160Aのうち上方配線領域境界線232よりも下方と
なる部分のセル上配線領域235Aと、セル行160B
のうち下方配線領域233よりも上方となる部分のセル
上配線領域235Bと、両者の間の純配線領域240と
からなる。また、上方配線領域境界線232の上方と、
下方配線領域境界線233の下方とに、隣接する配線領
域230A,230Cがそれぞれ設けられることにな
る。この手法の特徴的なことは、上下に接する2つの配
線領域例えば図21に示す配線領域230A,230B
を対象に、垂直方向に設けたカラム毎に、それぞれの配
線領域230A,230Bにおける水平方向の配線密度
に従って端子位置を決める点である。これにより、カラ
ム毎に、配線密度が高い方の配線領域にセル上配線領域
235A,235Bの面積が多く割り当てられる。この
ようにして、セル上を各配線領域に適切に割り当て、純
配線領域240の面積を可及的に低減しようとする手法
である。この手法が、2層配線を前提としていたために
セル上を配線領域として利用できないプロセス技術の時
の手法と大きく異なる点は、2層配線のプロセスでは、
各配線領域毎に独立して処理を行なっていたのに対し、
この手法では、複数の配線領域の配線の混雑度の相対値
に基づいて、セル上配線領域の面積を各配線領域に適宜
割り当てる処理を行なうことにある。
【0019】
【発明が解決しようとする課題】ところで、3層以上の
多層配線技術とセル上を配線領域として利用する配線技
術を用いて、ブロックを設計する場合、ブロック面積削
減のためには、配線のみの領域である純配線領域をでき
るだけ低減し、半導体基板上におけるセルの基板面積利
用効率を向上させると同時に、セル上の領域を有効に利
用して配線を形成することが好ましい。そうすれば、ブ
ロックの占有面積が低減され、最終的に半導体集積回路
全体の面積の低減つまり集積度の向上につながるからで
ある。
【0020】しかしながら、上記従来の手法のように、
配線処理において配線トラックを最小化するだけの手法
はもちろんのこと、図21に示すような端子位置を可変
としてセル上配線領域を配線領域に最適に割り当てた場
合でも、以下のような問題があった。
【0021】すなわち、配線が混雑していれば、配線に
必要な水平配線トラックがセル上配線領域つまりセル行
だけでは確保できないために純配線領域を広く設ける必
要が生じる一方、逆に、配線に必要となるトラック数
が、セル上配線領域でのトラック数よりもかなり小さい
場合は、セル上配線領域での配線がまばらになり、セル
上配線領域でありながら配線がないという大きなデッド
・スペースが生じる。このような広い純配線領域の形成
はセルの面積利用率の低下を招き、また、セル上配線領
域における大きなデッド・スペースの発生は、セル上を
配線が有効に利用できていないことを示すものである。
このように、上記従来の手法のような配線処理での工夫
のみでは、不十分であった。
【0022】本発明は斯かる点に鑑みてなされたもので
あり、その目的は、予め配線の混雑度を予想してその結
果に応じて配線を確実に行いながら純配線領域の面積を
低減するための手段を講ずることにより、純配線領域の
面積の低減とセルの上層における配線利用率の向上とを
図り、もって、ブロックの占有面積の低減を実現しうる
半導体集積回路の設計方法及び設計装置の提供を図るこ
とにある。
【0023】
【課題を解決するための手段】上記目的を達成するため
に、本発明が講じた手段は、予め配線の混雑度を水平方
向の配線数等から予測して、その結果に応じて配線のた
めに必要な領域である必要配線領域の高さを見積もり、
この必要配線領域の高さを確保するために必要な純配線
領域の面積を低減するためのセル高さの上限値を求め、
このセル高さの上限値という制約の下にセルを選択して
配置することにある。
【0024】具体的には、請求項1〜10に記載される
半導体集積回路の設計方法と、請求項11〜20に記載
される半導体集積回路の設計装置とに関する手段を講じ
ている。
【0025】請求項1に係る半導体集積回路は、半導体
基板上に形成された複数のセルと該複数のセル上の多層
の配線層とからなる半導体集積回路を前提とし、上記複
数のセルでブロックを構成してセル単位で配置配線を行
うようにした半導体集積回路の設計方法であって、上記
各セル間を接続するために必要な端子,配線に関する情
報である接続情報と、上記各セルの機能,形状に関する
情報であるセル情報とを入力する第1のステップと、上
記ブロック内で上記各セルが互いに並列な複数のセル行
を形成するように上記各セルを配置する第2のステップ
と、上記セル行に平行な方向を水平方向とし上記すべて
のセル行に直交する方向を垂直方向としたときに、上記
接続情報に基づき上記各セル間の水平方向の配線を予測
してその配線のために必要な領域である必要配線領域の
高さを見積もる第3のステップと、上記必要配線領域の
面積と上記セル上の配線層を利用して配線が可能な領域
であるセル上配線領域の面積とを比較して、上記必要配
線領域の高さを確保するために必要な上記各セル行間の
配線のみの領域である純配線領域の面積を少なくとも低
減するためのセル高さの上限値を求める第4のステップ
と、上記第2のステップで配置されたセルの少なくとも
一部を当該セルと機能が同じでかつセル高さが上記上限
値以下であるセルに変更する第5のステップと、上記接
続情報に従って上記各セル間の配線を行なう第6のステ
ップとを備えている。
【0026】この方法により、配線の混雑度に応じて純
配線領域の面積を低減できる。例えば、配線が混雑して
いるブロックでも、配線の混雑度を把握してからセル高
さの上限値を設定するので、後に配線領域の高さが不足
して配線を形成できないというような事態に陥ることは
ない。したがって、配線の混雑度が分からないときには
必要な誤差を見込んだマージンを設ける必要がない分だ
け純配線領域の面積が低減しうる。一方、配線が混雑し
ていないブロックでは、純配線領域をまったく無くして
しまうことも可能である。また、セルを変更する際に、
セル幅の小さなもので置き換える等の処理が可能とな
る。さらに、セル上における配線利用率も向上する。し
たがって、ブロックの占有面積を大幅に低減することが
できる。
【0027】請求項2に係る半導体集積回路の設計方法
は、請求項1において、上記第1のステップでは、各ブ
ロック間を接続するために必要な配線に関する情報を上
記接続情報に含めて入力し、上記第3のステップでは、
当該ブロック以外の他のブロック同士を接続する配線が
当該ブロック内を通過するために必要な領域をも上記必
要配線領域に含め、上記第6のステップでは、各ブロッ
ク間の配線をも行う方法である。
【0028】この方法により、各ブロック間の配線経路
ができるだけ短距離になるようにできるので、各ブロッ
ク間の配線に必要な領域の面積が低減され、セル上にお
ける配線利用率も向上する。その結果、半導体集積回路
全体の占有面積が低減されることになる。
【0029】上記請求項1又は2において、請求項3に
記載されるように、上記第1のステップで互いに同じ機
能と異なる形状とを有する複数のセルを入力してもよ
く、あるいは、請求項4に記載されるように、上記第5
のステップで上記ブロックの面積を低減するために最適
の形状を有するセルを合成しこの合成されたセルを用い
てセルの変更を行ってもよい。
【0030】請求項5に係る半導体集積回路の設計方法
は、請求項1,2,3又は4において、上記第3のステ
ップでは、詳細配線を行って上記ブロック内に複数の水
平方向のトラックを形成し、該各トラックの上に水平方
向の配線を配置した後、上記水平方向のトラックの総数
に基づいて上記必要配線領域の高さを推定する方法であ
る。
【0031】この方法により、詳細な配線を行っている
ので、必要配線領域の高さの推定精度が高くなる。そし
て、推定精度が高くなることで、予め誤差を見込んだ大
きなマージンを確保する必要がなくなり、純配線領域の
面積をより大幅に低減することが可能となる。
【0032】請求項6に係る半導体集積回路の設計方法
は、請求項1,2,3又は4において、上記第3のステ
ップでは、概略の配線を形成してから上記垂直方向に上
記各セル行を縦断する複数のカラムを設け、該各カラム
を横切る配線の総数である配線密度を見積もった後、全
カラムの配線密度のうちの最大値に基づいて上記必要配
線領域の高さを推定する方法である。
【0033】この方法により、概略配線を行うだけで必
要配線領域の高さを精度よく見積もることができるの
で、短い処理時間で設計を済ませながら、純配線領域の
面積を大幅に低減することが可能となる。
【0034】請求項7に係る半導体集積回路の設計方法
は、請求項1,2,3又は4において、上記第4のステ
ップでは、上記必要配線領域の高さをセル行数で割った
値からセル高さの上限値を求め、上記第5のステップで
は、上記第2のステップで配置されたセルのすべてを上
記上限値を越えない均一のセル高さを有するセルに変更
する方法である。
【0035】この方法により、全セルを一括変更すれば
済むので、極めて迅速に設計を行いながら、ブロックの
占有面積ひいては半導体集積回路の占有面積を低減する
ことが可能となる。
【0036】請求項8に係る半導体集積回路の設計方法
は、請求項1,2,3又は4において、上記第4のステ
ップでは、上記必要配線領域の高さをセル行数で割った
値からセル高さの上限値を求め、上記第5のステップで
は、上記配置されたセルを上記上限値を越えないセル高
さを有するセルの中から幅が最小のセルに変更する方法
である。
【0037】この方法により、各セルの高さを共通値に
合わせるときには生じるセル内のデッドスペースがなく
なり、セル自体の面積が極めて小さくなる。また、各セ
ル間に生じるスペースには各セル間を接続するための配
線を形成することが可能となり、かつ各セル間のスペー
スにおいては上層の配線層でも配線が可能となるので、
ブロックの占有面積が著しく低減されることになる。
【0038】請求項9に係る半導体集積回路の設計方法
は、半導体基板上に形成された複数のセルと該複数のセ
ル上の多層の配線層とからなる半導体集積回路を前提と
し、上記複数のセルでブロックを構成してセル単位で配
置配線を行うようにした半導体集積回路の設計方法であ
って、上記各セル間を接続するために必要な端子,配線
に関する情報である接続情報と、上記各セルの機能,形
状に関する情報であるセル情報と、上記ブロックを水平
方向の寸法である幅と垂直方向の寸法である高さとで特
定される矩形状としその幅をその高さで徐した値である
アスペクト比の許容範囲に関する情報とを入力する第1
のステップと、上記ブロック内に各セルを上記ブロック
の水平方向に並ぶ複数のセル行を形成するように配置す
ると仮定して、上記各セル間を接続する配線のために必
要な領域である必要配線領域の高さと幅とを上記セル行
数の関数として表現する見積式を求める第2のステップ
と、上記見積式を用いて、上記ブロックの形状が上記ア
スペクト比の許容範囲に適合するように、上記セル行数
の初期値を設定する第3のステップと、上記見積式に上
記セル行数を代入して求まる上記必要配線領域の面積
と、上記セル行数によって定まる上記セル上の配線層を
利用して配線が可能な領域であるセル上配線領域の面積
とを比較して、上記必要配線領域の高さを確保するため
に必要な上記各セル行間の配線のみの領域である純配線
領域の面積を少なくとも低減するためのセル高さの上限
値を求める第4のステップと、上記セル高さの上限値を
越えない範囲でセルの形状を決め、当該セルを使用した
結果得られる上記ブロックのアスペク比が上記許容範囲
内にあるか否かを判定する第5のステップと、上記ブロ
ックのアスペク比が上記許容範囲内にないときには、上
記ブロックの形状が上記アスペクト比の許容範囲に適合
する範囲内で上記セル行数を変更する第6のステップと
を備え、上記第5のステップにおける判定でブロックの
アスペク比が上記許容範囲内に入るまで上記第4〜第6
のステップを繰り返す方法である。
【0039】この方法により、セルの配置を行わなくて
も必要配線領域の高さの見積もりとセル高さの上限値の
決定とを行うことができるので、セルの配置,変更とい
う無駄な処理を行うことなく、純配線領域の低減とセル
上における配線の利用率の向上とが可能となる。しか
も、ブロックのアスペクト比も許容範囲に入るよう制御
される。したがって、適正な所望のアスペクト比を有す
る占有面積の小さいブロックが得られることになる。
【0040】請求項10に係る半導体集積回路の設計方
法は、請求項9において、上記第5のステップでは、上
記必要配線領域の高さと上記セル上配線領域の高さとが
等しくなるセル高さを理想セル高さとし、上記セル情報
中に上記セル高さに関する制約を満足するセルが複数種
類ある場合には、上記理想セル高さとの差が最小のセル
高さを有するセルを選択して判定を行う方法である。
【0041】この方法により、純配線領域をほぼなくす
程度まで削減することが可能となり、ブロックの占有面
積が著しく低減される。
【0042】請求項11に係る半導体集積回路の設計装
置は、半導体基板上に形成された複数のセルと該複数の
セル上の多層の配線層とからなる半導体集積回路を前提
とし、上記複数のセルでブロックを構成してセル単位で
配置配線を行うための半導体集積回路の設計装置であっ
て、上記各セル間を接続するために必要な端子,配線に
関する情報である接続情報と、上記各セルの機能,形状
に関する情報であるセル情報とを記憶する記憶手段と、
上記記憶手段の出力を受け、上記ブロック内で上記各セ
ルが互いに並列な複数のセル行を形成するように上記各
セルを配置する配置手段と、上記記憶手段及び上記配置
手段の出力を受け、上記セル行に平行な方向を水平方向
とし上記すべてのセル行に直交する方向を垂直方向とし
たときに、上記接続情報に基づき上記各セル間の水平方
向の配線を予測してその配線のために必要名領域である
必要配線領域の高さを見積もる見積り手段と、上記見積
り手段の出力を受け、上記必要配線領域の面積と上記セ
ル上の配線層を利用して配線が可能な領域であるセル上
配線領域の面積とを比較して、上記必要配線領域の高さ
を確保するために必要な上記各セル行間の配線のみの領
域である純配線領域の面積を少なくとも低減するための
セル高さの上限値を求める上限値決定手段と、上記記憶
手段,上記上限値決定手段及び上記配置手段の出力を受
け、配置されたセルの少なくとも一部を当該セルと機能
が同じでかつセル高さが上記上限値以下であるセルに変
更するセル変更手段と、上記記憶手段の出力を受け、上
記接続情報に従って上記各セル間の配線を行なう配線手
段とを備えている。
【0043】この構成により、上述の請求項1の作用と
同様の作用が得られる。
【0044】請求項12に係る半導体集積回路の設計装
置は、請求項11において、上記記憶手段に、各ブロッ
ク間を接続するために必要な配線に関する情報を上記接
続情報に含めて記憶させ、上記見積り手段を、当該ブロ
ック以外の他のブロック同士を接続する配線が当該ブロ
ック内を通過するために必要な領域をも上記必要配線領
域に含めるように構成し、上記配線手段を、各ブロック
間の配線をも行うように構成したものである。
【0045】この構成により、上述の請求項2の作用と
同様の作用が得られる。
【0046】上記請求項11又は12において、上記請
求項13に記載されるように、上記記憶手段に互いに同
じ機能と異なる形状とを有する複数のセルを記憶させて
おいてもよく、あるいは、請求項14に記載されるよう
に、上記セル変更手段を、上記ブロックの面積を低減す
るために最適の形状を有するセルを合成しこの合成され
たセルを用いてセルの変更を行うように構成してもよ
い。
【0047】請求項15に係る半導体集積回路の設計装
置は、請求項11,12,13又は14において、上記
見積り手段を、詳細配線を行って上記ブロック内に複数
の水平方向のトラックを形成し、該各トラックの上に水
平方向の配線を配置した後、上記水平方向のトラックの
総数に基づいて上記必要配線領域の高さを推定するよう
に構成したものである。
【0048】この構成により、上述の請求項5の作用と
同様の作用が得られる。
【0049】請求項16に係る半導体集積回路の設計装
置は、請求項11,12,13又は14において、上記
見積り手段を、概略の配線を形成してから上記垂直方向
に上記各セル行を縦断する複数のカラムを設け、該各カ
ラムを横切る配線の総数である配線密度を見積もった
後、全カラムの配線密度のうちの最大値に基づいて上記
必要配線領域の高さを推定するように構成したものであ
る。
【0050】この構成により、上述の請求項6の作用と
同様の作用が得られる。
【0051】請求項17に係る半導体集積回路の設計装
置は、請求項11,12,13又は14において、上記
上限値決定手段を、上記必要配線領域の高さをセル行数
で割った値からセル高さの上限値を求めるように構成
し、上記セル変更手段を、上記配置手段により配置され
たセルのすべてを上記上限値を越えない均一のセル高さ
を有するセルに変更するように構成したものである。
【0052】この構成により、上述の請求項7の作用と
同様の作用が得られる。
【0053】請求項18に係る半導体集積回路の設計装
置は、請求項11,12,13又は14において、上記
上限値決定手段を、上記必要配線領域の高さをセル行数
で割った値からセル高さの上限値を求めるように構成
し、上記セル変更手段を、上記配置されたセルを上記上
限値を越えないセル高さを有するセルの中から幅が最小
のセルに変更するように構成したものである。
【0054】この構成により、上述の請求項8の作用と
同様の作用が得られる。
【0055】請求項19に係る半導体集積回路の設計装
置は、半導体基板上に形成された複数のセルと該複数の
セル上の多層の配線層とからなる半導体集積回路を前提
とし、上記複数のセルでブロックを構成してセル単位で
配置配線を行うようにした半導体集積回路の設計装置で
あって、上記各セル間を接続するために必要な端子,配
線に関する情報である接続情報と、上記各セルの機能,
形状に関する情報であるセル情報と、上記ブロックを水
平方向の寸法である幅と垂直方向の寸法である高さとで
特定される矩形状としその幅をその高さで徐した値であ
るアスペクト比の許容範囲に関する情報とを記憶する記
憶手段と、上記記憶手段の記憶内容に基づいて、上記ブ
ロック内に各セルを上記ブロックの水平方向に並ぶ複数
のセル行を形成するように配置すると仮定して、上記各
セル間を接続する配線のために必要な領域である必要配
線領域の高さと幅とを上記セル行数の関数として表現す
る見積式を求める見積式演算手段と、上記見積式演算手
段の出力を受け、上記見積式を用いて、上記ブロックの
形状が上記アスペクト比の許容範囲に適合するように上
記セル行数の初期値を設定する初期値設定手段と、上記
見積式演算手段及び上記初期値設定手段の出力を受け、
上記見積式に上記セル行数を代入して求まる上記必要配
線領域の面積と、上記セル行数によって定まる上記セル
上の配線層を利用して配線が可能な領域であるセル上配
線領域の面積とを比較して、上記必要配線領域の高さを
確保するために必要な上記各セル行間の配線のみの領域
である純配線領域の面積を少なくとも低減するためのセ
ル高さの上限値を求める上限値決定手段と、上記上限値
決定手段の出力を受け、上記セル高さの上限値を越えな
い範囲でセルの形状を決め、当該セルを使用した結果得
られる上記ブロックのアスペク比と上記許容範囲とを比
較して、当該セルの使用の適否を判定する判定手段と、
上記判別手段の出力を受け、上記判定手段の判定が
「否」のときには、上記ブロックの形状が上記アスペク
ト比の許容範囲に適合する範囲内で上記セル行数を変更
するセル行数変更手段とを備え、上記セル行数変更手段
により、上記判定手段の判定が「適」になるまで上記セ
ル行数の変更を行い、上記上限値決定手段により、上記
セル行数変更手段でセル行数が変更された時にはセル高
さの上限値を決定し直すように構成したものである。
【0056】この構成により、上述の請求項9の作用と
同様の作用が得られる。
【0057】請求項20に係る半導体集積回路の設計装
置は、請求項19において、上記判定手段を、上記必要
配線領域の高さと上記セル上配線領域の高さとが等しく
なるセル高さを理想セル高さとし、上記セル情報中に上
記セル高さに関する制約を満足するセルが複数種類ある
場合には、上記理想セル高さとの差が最小のセル高さを
有するセルを選択して判定を行うように構成したもので
ある。
【0058】この構成により、上述の請求項10の作用
と同様の作用が得られる。
【0059】
【発明の実施の形態】
(第1の実施形態)図1は、第1の実施形態に係わる半
導体集積回路の設計における基本的な処理の流れを示す
フローチャートであって、図22は半導体集積回路の設
計装置の構成を示すブロック図である。以下、本実施形
態における半導体集積回路の設計手順について、図1及
び図22を参照しながら説明する。
【0060】ステップST1で、ネットリストとセルラ
イブラリデータとを記憶するROM等で構成された記憶
手段11からネットリストとセルライブラリデータとを
入力し、ステップST2で、セル配置手段12によりセ
ルの配置を行った後、ステップST3で、見積もり手段
13により純配線領域の一部又は全部をセル上に配置す
る場合に必要な配線領域高さの見積もりを行う。そし
て、ステップST4で、上限値決定手段14により純配
線領域を低減ないし削除するためのセル高さの上限値を
決定し、ステップST5で、セル変更手段16によりそ
の上限値の制約の下にセルを変更する。最後に、ステッ
プST6で、配線手段16により変更されたセル間の配
線やブロック間配線を行う。本実施形態では、図1に示
すフローチャートに示される処理を行うための設計装置
そのものについては開示を省略するが、このようなフロ
ーの処理は、一般的に使用されるROM,RAM等の記
憶装置、マイクロプロセッサ等を用いることで、容易に
実行することができる。
【0061】以下、図1に示すフローチャートの各ステ
ップにおける処理の詳細について、図2〜図7を参照し
ながら説明する。
【0062】まず、ステップST1において、論理設計
により得られた接続情報(ネットリスト)とセルライブ
ラリデータとを入力する。このネットリストには、セル
間配線の結線情報の他に、他のブロックと該ブロック間
の結線情報が含まれており、このブロック間の結線情報
の中には、他のブロック同士を接続する配線であって当
該ブロック上を通過する配線の情報も含まれている。
【0063】本実施形態においては、セルライブラリデ
ータには、ある機能をもつセルに対して数種類の形状つ
まり異なるセル高さやセル幅をもつ複数のセルが登録さ
れている。ただし、配置配線を行う過程など必要な時
に、セル高さの異なるセルを合成し追加登録するように
してもよい。ここで、セル高さとは、後述の図4に示す
ブロック内においてセル行のすべてに直交する方向(垂
直方向)におけるセルの寸法である。また、セル幅と
は、図4に示すブロック内においてセル行に平行な方向
(水平方向)におけるセルの寸法である。従来は、セル
の形状を設計するためには膨大な工数が必要であった。
しかし、近年のセル自動合成技術の発達により、同一の
論理入出力関係を有し同一の駆動能力を有するトランジ
スタを配置しながらセル高さが各々異なる数種類のセル
を合成することが簡単に行なえるようになった。したが
って、このようにセルの種類を記憶しあるいは配置配線
時などに合成することは容易に実現できる。
【0064】ここで、セル高さが異なるとセル上に収容
できる水平方向の配線の本数が異なる。そこで、セル上
に収容できる水平方向の配線の本数を、以下のように定
義する。セル高さをHcellとし、多層の配線層中の水平
方向の配線として利用可能である第i配線層において、
相隣接する2つの配線間で必ず離さなけらばならない距
離(以下、スペーシング・ルールと言う)をSr(i)
とすると、第i配線層中で1つのセル上に収容しうる配
線の本数N(i)は、下記式(1) N(i)=Hcell/Sr(i) (1) で表される。ただし、セル高さHcellはスペーシング・
ルールSr(i)の整数倍に設定されているものとす
る。
【0065】また、セル上に収容できる水平方向の配線
の本数(以下で、セル上配線容量と言う)Nは、水平方
向の配線として利用可能である全ての配線層についての
総和となるので、本来は下記式(2) N=ΣN(i) (2) によって求められる。ただし、本実施形態及び以後の実
施形態においては、簡単のため、以下のように仮定す
る。
【0066】(仮定1)水平方向の配線として利用可能
である配線層は1種類のみで、第3金属配線層であると
する。
【0067】(仮定2)第3金属配線層のスペーシング
・ルールSr(3)=1とする。言い換えると、第3金
属配線層のスペーシングルールSr(3)を単位とし
て、各部の寸法を表示する。
【0068】図2は、高さが異なるセルを2種類示して
いる。同図において、100はセル、210はセル上配
線を配置することができる場所であるセル上配線トラッ
クを示す。図2(a)はセル上配線容量が4であるセル
の形状を示す平面図、図2(b)はセル上配線容量が6
であるセルの形状を示す平面図である。
【0069】次に、ステップST2の配置処理におい
て、セルライブラリに登録されている何種類かのセルの
うち1つのセルを選択して、並列状態の複数のセル行を
形成するようにブロック内に配置する。その際、上記ネ
ットリストを用いて配線長さを最小化したり、配線の局
所集中防止などを制御しながらセルの配置を行なう。こ
の時使用するセルは、例えば数種類のセル高さの中から
最小の高さのセルを選ぶようにし、特に本実施形態で
は、セル上配線容量が4であるセル高さを有するセルつ
まり図2(a)に示す形状を有するセルを選ぶこととす
る。
【0070】次に、ステップST3で、必要な配線領域
の高さである配線領域高さの見積りを行なう。図3は、
ステップST3のサブフローを示す。まず、ステップS
T3aで、セルが配置されるブロックの詳細な配線を実
施する。このステップST3aの処理により、配線経路
の正確な垂直方向位置と水平配線を配置することができ
る水平方向のトラックの総数とが決定される。次に、ス
テップST3bで、詳細配線を行った結果決定される上
記水平方向のトラックの総数を入力する。次に、ステッ
プST3cで、配線のために必要となる配線領域の高さ
を上記トラック総数を用いて演算する。以上の処理によ
って、配線領域高さを見積もることができる。
【0071】図4は、上記ステップST3aにおける詳
細配線を行った後のブロックの状態を示す図である。同
図において、セルが配置される3つのセル行160A,
160B,160Cが互いに平行に配置されており、セ
ル行160Aと160Bとの間には純配線領域240A
が、セル行160Bと160Cとの間には純配線領域2
40Bがそれぞれ配置されている。また、各セル行16
0A〜160Cの上層はセル上配線領域235A〜23
5Cとなっている。210はその上に水平配線を配置す
ることができる水平方向のトラックを示し、200は水
平方向の配線経路を示している。ただし、実際には垂直
方向にも配線経路が形成されているが、ここでは垂直方
向の配線経路がどのように形成されていてもよいので表
示を省略し、水平方向の配線経路200のみを示す。な
お、水平方向の配線をセル上の第3金属配線層のみに配
置できることを前提としているので、配線領域高さHr
は図4に示す部分の寸法となる。
【0072】本実施形態では、図4に示されるように、
ブロックにおけるトラック210の総数は18本であ
る。上述のように、スペーシングルールを1としている
ので、配線領域高さHrも18に設定する。
【0073】続いて、ステップST4で、セル高さの上
限値の決定を行なう。まず、ステップST3の配線領域
高さの見積りによって得られた配線領域高さHrとセル
行数R(=3)とを用いて、必要とされるセル上配線容
量Nを下記式(3) N=[Hr/R+0.5] (3) によって求める。ただし、[x]はxを越えない最大の
整数を表す記号である。また、0.5は端数処理を円滑
に行って必要な総トラック数を確保するための定数であ
る。
【0074】このセル上配線容量Nを持つセル高さを、
全セルについてのセル高さの上限値Hmax と決める。図
4に示す場合について具体的に計算すると、上記式
(3)において、Hr=18,R=3であるので、 N=[18/3+0.5]=6 となる。よって、上記(仮定1),(仮定2)の下では、
セル高さの上限値Hmaxは6となる。
【0075】そして、この処理において、配線領域高さ
Hrをセル行の数Rで徐することで、純配線領域240
A,240Bを設けることなくセル上にすべての配線を
形成でき、かつ純配線領域の面積を低減するための上限
値Hmax が求められる。なお、本実施形態では、式
(3)において、配線領域高さHrをセル行の数Rで徐
したものに定数0.5を加算しているが、この定数0.
5は必ずしも加算する必要はない。ただし、1(スペー
シングルール)よりも小さい定数を加算しても、これに
より生じる余分なスペースは僅かであり、純配線領域2
40A,240Bを削除し得ることには変りはない。
【0076】また、本実施形態では、純配線領域240
A,240Bをまったくなくすようにしているが、純配
線領域240A,240Bを多少残しながらその面積を
低減するようにしてもよい。
【0077】次に、ステップST5で、以下の手順によ
りセルの変更処理を行なう。
【0078】図5は、本実施形態で用いるセルモデルを
示す。図5に示すように、セル100の上辺には電源6
00が、セルの下辺にはグラウンド610がそれぞれ配
置されている。セルベース方式の設計方法において、セ
ル行内でセルを隣接して配置するだけで電源およびグラ
ウンドの配線を完了するためには、全てのセルのグラウ
ンドから電源までの距離を一定にする必要がある。そこ
で、本実施形態のモデルでは、電源600およびグラウ
ンド610の配線を必ずセル100の上下辺に設けなけ
ればならない制約と、前述の全てのセルのグラウンドか
ら電源までの距離を一定にするという制約とを受けるの
で、全セルにおけるセル高さを均一にする必要がある。
一方、上述のステップST4におけるセル高さの上限値
の決定処理によってセル高さの上限値Hmax は6と決定
されているので、ステップST5では、配置されている
すべてのセル100をセル高さが6となるセルに変更す
る。
【0079】その際、形状の変化に伴ってセル内に配置
されるトランジスタ間の配線図形が変化するために、セ
ルの面積に若干の増減が生じうるが、大きく変わること
はない。この点について、以下に説明する。
【0080】図6(a),(b)は、セル高さの変更に
よる面積の増減が起こる2通りの例を示す。図6(a)
は、セル高さの増加によってセル面積が減少する場合に
おけるセルのレイアウト図である。セル100Aのセル
高さHcellは5でセル幅Wcellは4であり、セル100
Bのセル高さHcellは6でセル幅Wcellは3であって、
両者の機能(論理信号の入出力関係)は同じで特性もほ
ぼ同じである。セル100Aとセル100Bを比較する
と、セル高さはセル100Bの方がセル100Aよりも
大きいが、逆に、セル幅Wcellはセル100Bの方がセ
ル100Aよりも小さい。その結果、セル100Aの面
積とセル100Bの面積との比は20:18となる。つ
まり、セル100Bの面積はセルAの面積よりも小さ
い。これは、セル100Aの構造が、セル高さHcellを
高くするとセル幅Wcellを小さくできる構造となってい
るからである。本実施形態では、予めこのような相異な
る形状を有する2種以上のセルがセルライブラリに登録
されている。ただし、上述のように、ステップST5で
セル100Bを合成してもよい。
【0081】図6(b)は、セル高さの増加によってセ
ル面積が増加する場合におけるセルのレイアウト図であ
る。セル100Cのセル高さHcellが5でセル幅Wcell
は2であり、セル100Dのセル高さHcellは6でセル
幅Wcellは2であって、両者の機能は同じで特性もほぼ
同じである。セル100Cとセル100Dを比較する
と、セル高さHcellはセル100Dの方がセル100C
よりも大きく、かつ両者のセル幅Wcellは同じである。
その結果、セル100Cの面積とセル100Dの面積と
の比は10:12となる。つまり、セル面積はセル10
0Dの方がセル100Cよりも大きい。
【0082】図6に示す例のごとく、一般にセル高さを
一定値にした場合、その一定値があるセルにとっては面
積最小化の為に最適な高さであっても、別のセルにとっ
ては面積的に不利な高さとなる場合がある。それで、セ
ル高さを非常に大きく設定したり、逆に非常に小さく設
定したした場合を除くと、あるセル高さから、別のセル
高さに全セルを変更した場合、個々のセルにおいて面積
の増減は生じうるが、各セル行100A〜100Cにお
ける総合的なセル面積の増大はほとんど生じないと考え
てよい。
【0083】最後に、ステップST6で、配線処理を行
なう。すなわち、上記ステップST1で入力されたネッ
トリストに従って、ブロック内におけるセル間配線およ
び、他のブロックと該ブロックとの間の配線、および該
ブロック上を通過する配線(他のブロック同士を接続す
る配線)の経路を決定する処理が行なわれる。
【0084】図7は、ステップST6における配線処理
後のブロックを概略的に示す平面図である。各セル行1
60A〜160Cの上層がセル上配線領域235A〜2
35Cとなっている。図4に示すブロックと比べると、
純配線領域240A,240Bが削除されて、セル上の
みで配線が完了していることが分かる。そして、その結
果、図4に示す概略配線の終了時におけるブロックの面
積に比べ、最終的な配線終了後のブロックの占有面積が
大幅に低減されている。
【0085】すなわち、本実施形態では、図4に示すよ
うにセル間の配線を行うために必要な配線領域の高さH
rの見積もりを行った後、その配線領域の高さHrをセ
ル行の数で徐することで、純配線領域の面積を低減しう
るセル高さの上限値Hmax を求め、この上限値Hmax の
制限内でセルを選択してセルの変更を行うようにしたの
で、半導体基板の表面面積の有効利用を図りつつブロッ
クの占有面積の低減を図ることができるのである。
【0086】また、本実施形態では、ステップST5に
おけるセルの変更処理の際、セル幅の最小のセルを選択
するようにしているので、ブロック全体のセル行の幅も
大幅に小さくなり、ブロックの占有面積の低減効果がよ
り大きい。
【0087】ただし、ステップST5におけるセルの変
更の際、必ずしもセル幅が最小のセルを選ぶ必要はな
い。例えばセル幅を変えなくても、純配線領域240
A,240Bを削減するだけでもブロックの占有面積を
低減しうる。
【0088】また、本実施形態では、式(3)のごと
く、図4に示す配線領域の高さHrをセル行の数Rで徐
することによって、純配線領域240A,240Bの面
積を削除するために必要なセル高さの上限値Hmax を求
めたが、純配線領域240A,240Bをまったく削除
するのではなく、ある程度残すようにしながらその面積
を低減するようにしてもよい。その場合でも、ブロック
全体の占有面積を低減し得るという効果を発揮すること
ができるからである。したがって、上限値の算出方法
は、式(3)に基づく方法に限定されるものではない。
【0089】また、本実施形態では、他のブロック同士
を接続する配線が通過する領域があることを前提として
いるが、半導体集積回路の種類によっては必ずしもブロ
ック間配線が通過する領域をブロック内に設けない場合
もあるので、本発明は斯かる実施形態に限定されるもの
ではない。ただし、一般的には、ブロック内にブロック
間配線が通過するための配線領域を確保する方が配線経
路の距離が短くなるので、半導体集積回路全体の占有面
積を低減しうる効果がより大きい。
【0090】(第2の実施形態)次に、第2の実施形態
に係る半導体集積回路の設計方法及び設計装置について
説明する。本実施形態においても、基本的な処理の流れ
は,上述の第1の実施形態と同じであり、図1のフロー
チャートに示す手順に沿って設計を行う。
【0091】本実施形態におけるステップST1におけ
るネットリスト等の入力処理、ステップST2における
セルの配置処理の内容は、上述の第1の実施形態と同じ
である。
【0092】ただし、ステップST3における配線領域
高さの見積り処理においては、基本的な手法は第1の実
施形態と同じであるが、以下で説明するステップST5
におけるセルの変更処理によって水平トラックの総数が
実施形態に比べて減少することが期待できるので、第1
の実施形態よりも配線領域の高さHrを少なく見積って
おく。
【0093】次に、ステップST4におけるセル高さの
上限値の決定処理は、第1の実施形態と同様に行なう。
ただし、本実施形態では、配線領域の高さHrが第1の
実施形態における値よりも小さく見積もられているの
で、上限値Hmax も第1の実施形態における値よりは小
さい。
【0094】次に、ステップST5の詳細について説明
する。
【0095】図8は、本実施形態で採用するセルモデル
を示す平面図である。本実施形態では、上記第1の実施
形態の図5に示すようなセル高さを全セルについて均一
とするモデルは採用せず、セル高さHcellを各セル毎に
可変としかつ電源600及びグラウンド610をセル1
00の上下辺ではなくほぼ中央に設けている。ただし、
電源600及びグラウンド610は必ずしもセルの中央
部に設ける必要はなく、上下辺以外の中間部分に設けて
もよい。以下、本実施形態において、図8に示すセルモ
デルを採用した理由について説明する。
【0096】通常、セル内はポリシリコンと第1金属配
線層を用いて配線されており、セル上配線領域で第1金
属配線層は全面的に使用禁止となっている。一方、第1
の実施形態で用いた図5に示すセルモデルを用いると、
全セルの高さを均一にする必要がある。その場合、例え
ば、セルを構成するトランジスタが占める面積が比較的
小さいセルでは、セル高さを合わせるために本来不要な
デッドスペースをセル内に生じてしまう。しかも、セル
内にはセルの上下辺にある電源,グラウンドとセル内の
トランジスタ等とを接続するための配線を形成する必要
があり、これらの配線は第1金属配線層を利用して形成
されるので、このデッドスペース部分を第1金属配線層
を利用したセル間配線用のスペースとして活用すること
もできない。そこで、このデッドスペースを生ぜしめ
ず、かつ第1金属配線層を利用してセル間配線を形成で
きるスペースを作るため、本実施形態では、図8に示す
セルモデルを用いるようにしている。このセルモデルの
場合、全てのセルのグラウンドから電源までの距離を一
定にするという制約さえ守れば、セル高さを均一にする
必要はない。
【0097】次に、図9は、ステップST5におけるセ
ルの変更処理のサブフローを示すフローチャートであ
る。以下、図9のフロー中の各ステップにおける処理に
ついて概略的に説明する。
【0098】ステップST5aにおいて、セルライブラ
リの中から、現在設計中のブロックの配線処理で使用さ
れたセルの一覧を作成し、使用されたセルの種類を形状
で区別し、総種類数をNkindとする。また、セル番号i
を1とする初期設定を行う。
【0099】ステップST5bにおいて、Nkind個のセ
ルの中から第i番のセルを選択する。
【0100】ステップST5cにおいて、セルライブラ
リの中から第iのセルと同一仕様で、高さの異なるセル
も追加選択する。
【0101】ステップST5dにおいて、選択されてい
るセルの中から、ステップST4におけるセル高さの上
限値の決定処理で得られた上限値Hmax を越えない高さ
のセルを選ぶ。
【0102】ステップST5eにおいて、ステップST
5dにおいて選択されたセルの中から、セル幅が最小で
あるセルを選ぶ。
【0103】ステップST5fにおいて、ステップST
5eで選ばれたセルが、第i番のセルと異なるか否かを
判断する。そして、当初配置したセルがセル高さの上限
値Hmax 以下でかつセル幅が最小であれば、ステップS
T5dで選択されたセルと配置されたセルとが一致する
ので、その場合は何も行うことなくステップST5hに
進む。一方、ステップST5fの判別の結果両者が一致
しなければ、次のステップST5gを行ってからステッ
プST5hに進む。
【0104】ステップST5gにおいて、ステップST
5eで選択されたセルと異なる第i番のセルが配置され
ているすべての箇所を、ステップST5eで選ばれたセ
ルに置き換える。
【0105】そして、ステップST5hにおいて、セル
番号の更新を行い、ステップST5iで、i>Nkindに
なるまで、つまりNkind回、ステップST5bからステ
ップST5gまでの処理を繰り返す。
【0106】図10(a),(b)は、上記ステップS
T5の具体例を示す図である。
【0107】まず、セルライブラリには、図6(a),
(b)に示すセル100A、100B、100C、10
0Dとそれぞれ同じ形状を有し、かつ電源600とグラ
ウンド610とがセルの中央に配置された(図8に示す
ように)セル100a,100b,100c,100d
が登録されているものとする。すなわち、セル100a
のセル高さは5、セル100bのセル高さは6、セル1
00cのセル高さは5、セル100dのセル高さは4で
ある。そして、セル100aの仕様とセル100bの仕
様とは同一であり、セル100cの仕様とセル100d
の仕様とは同じである。
【0108】図9(a)は、ステップST2の配置処理
により得られたあるセル行の一部を示す図である。この
セル行には、左から順に、セル100a、100c、1
00c、100aが配置されている。初期の配置に用い
たこれらのセルのセル上配線容量は5である。一方、ス
テップST4のセル高さの上限値の決定処理において、
第1の実施形態と同様に、セル高さの上限値Hmax が6
に決定されているとする。
【0109】ステップST5aにおいて、使用されてい
るセルライブラリ中のセルの総数Nkindは100個であ
るとする。
【0110】ステップST5bにおいて、第1番のセル
として、セル100aが選択されたとする。
【0111】ステップST5cにおいて、セルライブラ
リの中からセル100aと同一仕様のセルが検索され、
上述のセル高さ6のセル100bがみつかるので、この
セル100bも選択する。
【0112】続くステップST5dにおいては、選択さ
れているセル100aとセル100bのうちステップS
T4におけるセル高さの上限値の決定処理で得られた上
限値6を越えないセルを選択する。本具体例の場合、セ
ル100aとセル100bの両方が選択されている。
【0113】次に、ステップST5eにおいて、セル1
00aとセル100bのうち幅が小さいセル100bを
選ぶ。
【0114】さらに、ステップST5fにおいて、ステ
ップST5eで選ばれたセル100bは、第1のセル1
00aとは異なると判断される。
【0115】したがって、ステップST5gにおいて、
先のセルの配置処理においてセル100aが配置されて
いるすべての箇所をセル100bに置き換える。
【0116】ステップST5iにおいて、セル番号iが
Nkindを越えていないので、ステップST5bに戻る。
【0117】次に、ステップST5bにおいて、第2番
のセルとして、セル100cが選択されたとする。
【0118】ステップST5cにおいて、セルライブラ
リの中からセル100cと同一仕様のセルが検索され、
上述のセル100dがみつかるので、このセル100d
も選択する。
【0119】続くステップST5dにおいては、選択さ
れているセル100cとセル100dのうちステップS
T4におけるセル高さの上限値の決定処理で得られた上
限値6を越えないセルを選択する。今の場合、セル10
0cとセル100dの両方が選択される。
【0120】次に、ステップST5eにおいて、セル1
00cとセル100dのうち幅が小さいセル100cが
選ばれる。
【0121】さらに、ステップST5fで、ステップS
T5eで選ばれたセル100cは、第2のセル100c
と同じであると判断されるので、なにもせずに、次のル
ープ処理を行なう。
【0122】iがNkindを越えるまで、処理を繰り返
す。
【0123】以上の処理の結果、ステップST4が終了
した段階では図10(a)に示すようにセルが配置され
ていたセル行において、ステップST5が終了した段階
では図10(b)に示すようにセルが再配置される。
【0124】本実施形態では、上記のように、セル行内
で、セル高さを均一にする必要がないセルモデルを用い
たので、セル高さを合わせる為に生じていたセル内のデ
ッドスペースの発生を抑えることができる。
【0125】さらに、セル高さ上限値を越えないセルの
中から最小のセル幅を用いるので、セル高さの上限値を
越えない制約のもとで、最小のセル面積を実現すること
が可能である。
【0126】図11は、本実施形態の設計を行った結果
得られるブロックのレイアウト図である。ブロック内の
各セル行160A,160B,160Cにおいて、各セ
ルが中央部に設けられた電源及びグラウンドが同じ高さ
位置になるように配置される。そして、各セル行160
A,160B,160Cに配置される各セルのセル高さ
が異なることから、各セル行160A,160B,16
0Cの上下辺の形状はいずれも平坦ではなく、凹凸が生
じている。各セル行160A〜160Cの上層がセル上
配線領域235A〜235Cであることは、上記第1の
実施形態と同じである。そして、各セル間にはセル間ス
ペース236が生じているものの、図4に示すブロック
において図4には表れていないが広く存在するセル内の
デッドスペースを削減することができる。しかも、セル
間のセル間スペース236には、電源,グラウンドとセ
ル内のトランジスタ等とを接続するセル内の配線を形成
することはない。したがって、このセル間スペース23
6においては、第1金属配線層を利用してセル間配線を
形成することができる。そして、いうまでもなくセル間
スペース236の上においても、セル上と同様に、第3
金属配線層を形成することができる。言い換えると、こ
のセル間スペース236においては、第1金属配線層と
第3金属配線層との双方を使用してセル間配線を形成す
ることができ、しかも、それらの配線は重ねて配線する
ことが可能である。よって、配線形成領域としての利用
効率が向上することになる。
【0127】また、本実施形態においては、セル間配線
を形成するために第1金属配線層が部分的に利用できる
ことにより、ステップST3の配線領域高さの見積り処
理において、第3金属配線層のみが利用可能と仮定して
行った第1の実施形態における配線領域高さの見積り結
果よりも、小さい配線領域高さを実現することが可能で
ある。その結果、図11に示すように、図4に示すブロ
ックに比べ、第3金属配線層の水平配線200を形成す
るためのトラック210の数は18から16に低減され
ており、ブロック全体の高さも小さくなっている。
【0128】以上のような理由により、本実施形態で
は、最小の配線領域高さと、セル高さ上限値制約下での
最小のセル面積とを実現できるので、図11に示すよう
に、図7に示す第1の実施形態に比べても、ブロックの
占有面積をさらに削減できるのである。
【0129】(第3の実施形態)次に、第3の実施形態
について説明する。本実施形態においても、基本的な処
理の流れは第1の実施形態とほぼ同じであり、図1に示
したフローチャートに沿って行われる。
【0130】ステップST1の入力処理及びステップS
T2の配置処理は第1の実施形態と同様に行なう。次
に、ステップST3においては、以下のように配線領域
高さの見積もりを処理を行なう。
【0131】図12は、本実施形態におけるステップS
T3のサブフローを示すフローチャートである。まず、
ステップST3eにおいて、概略の配線経路を求め、ス
テップST3fにおいて、配線密度の見積もり処理を行
う。すなわち、上記ステップST3eで形成された概略
の配線経路を用いて、全てのセル行と直交するように設
けた垂直方向のカラムを横切る水平方向の配線の総数を
配線密度として求める。その後、ステップST3gにお
いて、全カラムの配線密度のうちの最大値を用いて配線
のために必要となる必要配線領域のセル行と垂直な方向
の長さである配線領域高さを推定する。
【0132】図13(a),(b)は、ステップST3
fにおける配線密度の見積もり方法を説明するための図
である。図13(a)は、ブロックの構造を概略的に示
す平面図である。図13(a)内には、ステップST3
eにおいて配線の概略の経路を求める概略配線処理を実
施した結果得られる水平方向の配線200が示されてい
る。
【0133】次に、ステップST3fで、図13(a)
に示すように、全てのセル行160A,160B,16
0Cと直交するように垂直方向のカラム500A〜50
0Eを設ける。例えば、5つのカラム500A〜500
Eを、水平方向の配線200の長さの最小単位の間隔で
設ける。
【0134】続いてステップST3gで、各カラム50
0A〜500Eを横切る水平方向の配線200の本数で
ある配線密度を求める。図13(b)は、カラム毎に求
めた配線密度を示す配線密度グラフである。この例で
は、図中左から2番目のカラム500bの配線密度が最
も大きく、13となっている。
【0135】次に、ステップST3gで、配線領域高さ
の見積り処理を行なう。これは、配線のために必要とな
る必要配線領域のセル行と直交する方向の長さである配
線領域高さを推定する処理であり、上記ステップST3
fにおける配線密度の見積もり処理で得られた全カラム
500A〜500Eの配線密度のうちの最大値13を用
いて推定する。
【0136】一般に詳細配線を行なうと、配線を完了す
るためには、上記カラム毎の配線密度の最大値以上の水
平方向トラックが必要となる。そして、必要になるトラ
ック数は用いる詳細配線のツールによって異なるので、
予め使用する詳細配線毎に配線密度の最大値から必要ト
ラック数を見積もる式を作成しておく。
【0137】以下、この見積もり式の一つの例について
説明する。全カラムの配線密度のうちの最大値をDmax
とし、必要トラック数をTとする。
【0138】(仮定)必要トラック数Tは、全カラムの
配線密度のうちの最大値Dmax の一次関数で表される。
【0139】上記仮定の下に、必要トラック数は下記式
(4) T=K1×Dmax +K2 (4) で表される。ここで、K1=1,K2=セル行数とする
と、 T=Dmax +3 となる。よって、T=16となる。その結果、配線領域
高さも16に設定されることになる。
【0140】その後、図1に示すステップST4におけ
るセル高さの上限値の決定処理と、ステップST5にお
けるセルの変更処理と、ステップST6における配線処
理とを第1の実施形態と同様に行なう。
【0141】本実施形態では、上記第1,第2の実施形
態のごとく詳細配線を行う必要がなく、概略配線を行う
だけで配線領域高さを見積もることができるので、短時
間で処理を行うことができる。また、最大配線密度Tを
見積もってからその結果に応じて配線領域高さを見積も
るようにしているので、必要な配線領域高さを精度よく
見積もることができる。そのため、配線領域高さを必要
最小限に設定することができ、純配線領域を完全に削除
することが可能となる。よって、セル上の配線利用効率
を高めることができ、ブロックの占有面積を低減するこ
とができるのである。
【0142】(第4の実施形態)次に、第4の実施形態
について説明する。図14は、第4の実施形態に係る半
導体集積回路の設計方法および装置についての基本的な
処理の流れを示すフローチャートである。
【0143】ステップST11で、接続情報,セル情
報,及びアスペクト比の許容範囲に関する情報を入力
し、ステップST12で、配線領域形状の見積式を作成
する。つまり、必要配線領域の幅及び高さをセル行数の
関数として表現する。次に、ステップST13で、セル
行数の初期値を設定し、ステップST14で、この設定
されたセル行数の初期値を見積式に代入して必要配線領
域の幅と高さとを求め、この必要配線領域の高さから上
記第1の実施形態と同様にしてセル高さの上限値を決定
する。そして、ステップST15で、セル高さの上限値
の制約を満たすセルをセル情報から選択あるいは合成
し、これによって定まるブロックの形状を確認する。つ
まりブロックの幅を高さを徐したアスペクト比がステッ
プST11で入力した許容範囲に入っているか否かを判
定する。この判定の結果、ブロック形状がアスペクト比
の許容範囲を満足すれば「OK」として、セルの配置配
線を行うが、ブロック形状がアスペクト比の許容範囲を
満たすものでない場合には、「NG」として、ステップ
ST16で、セル行数の変更を行って、上記ステップS
T14の処理に戻る。そして、ステップST15で「O
K」の判定が得られるまで、ステップST14〜16の
処理を繰り返すのである。以下、各ステップの処理の詳
細な内容を説明する。
【0144】まず、ステップST11で、論理設計によ
り得られた接続情報(ネットリスト)と、フロアプラン
処理などより与えられるブロックの形状の制約であるア
スペクト比と、セルライブラリデータとを入力する。こ
のネットリストには、セル間配線の結線情報の他に、他
のブロックと該ブロック間の結線情報が含まれており、
このブロック間の結線情報の中には当該ブロック上を通
過する配線の情報も含まれているものとする。また、ア
スペクト比とは、ブロックの幅をブロックの高さで割っ
た値であり、通常ある許容範囲を指定して与えられる。
【0145】つまり、アスペクト比Aは、その下限値を
Alow とし、上限値をAupとすると、下記式(5) Alow <A<Aup (5) のように与えられる。
【0146】また、上記第1の実施形態と同様に、セル
ライブラリデータには、ある機能をもつセルに対して数
種類の異なる高さをもつ複数のセルが登録されている。
あるいは、必要な時にセル高さの異なるセルを合成し追
加登録するようにしてもよいものとする。セル上に収容
できる水平配線の本数は、実施形態1と同様に、上述の
式(1),(2)に基づいて表される。
【0147】次に、ステップST12で、配線領域形状
の見積式の作成処理を行う。その際、上記ステップST
11で入力された回路の接続情報を用い、以下のように
行なう。
【0148】まず、本処理の前提として、以下の3つの
仮定をおく。
【0149】(仮定1)与えられた回路には、大きな領
域を占めないローカルなネットと、数セル行に渡るグロ
ーバルなネットが存在する。
【0150】(仮定2)グローバルなネットは、それを
囲む最小矩形がブロックの外枠に応じてブロックの外枠
と相似的に変化する。
【0151】(仮定3)ローカルなネットは、セル行に
付随して領域を占める。
【0152】以上の仮定の下に、配線領域の幅Wおよび
高さHは、セル行数をRとすると、下記式(6)及び
(7) H=a×R+b+c (6) W=d/R+e (7) によりそれぞれ表される。ただし、 a:ローカルなネットによる水平方向の配線が占める1
セル行に占める領域の高さ b:ブロック全体において、グローバルなネットが占め
る水平方向の配線の幅の総和 c:ブロック上を通過する水平方向の配線の幅の総和 d:総セル幅 e:グローバルなネットの配線とブロック上を通過する
垂直方向の配線に必要な1セル行あたりのフィードスル
ーセルの幅の総和とする。また、使用される総セル幅を
Wtotal 、総ネット数をN、水平方向の配線における配
線と配線のスペーシングルールをSr、標準セル内に配
線通過用として用意されたフィードスルーピンの総数を
Fin、ブロック上を通過する縦方向および横方向の配線
本数をそれぞれOTBv 、OTBh とする。
【0153】ステップST11における入力処理で入力
されたネットリストから、1ネット当たりのピン数があ
る定数T以上のネットをグローバルネットとし、それ以
外のネットをローカルネットとして、ネットリスト中か
ら、グローバルネットの総数Ngと、ローカルネットの
総数N1とを求める。すなわち、総ネット数Nと、グロ
ーバルネット数Ngと、ローカルネット数N1との間に
は、N=Ng+N1の関係がある。また、セル行を横断
するフィードスルーの配線に対して、割り当て可能な未
使用のフィードスルーピンがない場合には、フィードス
ルーピンのみからなるセルであるフィードスルーセルが
挿入されるとし、そのフィードスルーセルの幅をWfcと
する。
【0154】以上の処理により、a,b,c,d,e
は、下記各式 a=K1×Nl×Sr b=K2×Ng×Sr c=OTBh ×Sr d=Wtotal e=max[{K3×Ng+OTBv −K4×(Fin/
R)},0]×Wfc により表される。ただし、max[x,y]は、xとy
のうち大きい方の値を示す関数である。また、定数K
1、K2、K3、K4は自動配置配線システムに適した
値を求めておく。
【0155】ここで、上記式(6),(7)とa,b,
c,eとの関係を説明する。
【0156】上記(仮定3)は実験により確かめた現象
であり、この仮定3を式に表したのが、上記aに関する
式である。
【0157】bは、上述のように、グローバルネットが
示すトラックの総数であるが、(仮定2)によって、こ
の値はセル行数Rに左右されず、グローバルネットに比
例すると考えてよい。
【0158】cについては、ブロック上を通過する水平
方向のフィードスルーは、ブロックを水平に横切るの
で、1つのフィードスルーが必ず1トラックを占有す
る。よって、OTBv 個のトラックが必要である。
【0159】eについては、1セル行当りのフィードス
ルー通過本数からセル内のフィードスルー数の差をと
り、足りない場合はフィードスルーセルを挿入する。
【0160】K3×Ngは、1セル行当りにグローバル
ネットが通過する本数を示す。(仮定2)より、セル行
数Rに係わらず、グローバルネット数に比例すると考え
てよい。
【0161】OTBv については、垂直方向フィードスル
ーは全セル行を縦断するので、1セル行当りOTBv 個の
フィードスルーを必要とする。
【0162】Fin/Rは、1セル行当りのセル内に配線
通過用に予め用意されているフィードスルーピンの総数
である。
【0163】K4は、セル内フィードスルーピンを利用
する確率である。用いる配線プログラムに左右される
が、例えばフィードスルーピンが空いていても、配線の
遠回りを許さない場合は、利用確率を小さく設定する必
要がある。
【0164】図15(a),(b)は、グローバルネッ
トの総垂直配線長,セル行数,1セル当りのフィードス
ルー数の求め方の例を2種類のブロック形状について示
す図である。他だし、同図において、λは、セル高さで
ある。
【0165】これらa、b、c、dを上記式(6),
(7)に代入すると、配線領域の高さHと配線領域の幅
Wとは、それぞれ下記式(6A),(7A) H={K1×Nl×R+(K2×Ng+OTBh )}×Sr (6A) W=Wtotal /R+max[K3×Ng+OTBv −K4×(Fin/R),0] ×Wfc (7A) で表されることになる。
【0166】続いて、ステップST13で、セル行数の
初期値の決定処理を行なう。この処理は、上記ステップ
ST12で作成した配線領域高さHと配線領域幅Wの見
積式を用いて、上記ステップST11で入力したアスペ
クト比を有するブロック形状を実現するためのセル行数
を決定する。
【0167】まず、本実施形態では、後のステップST
14におけるセル高さの上限値の決定処理によって配線
はほぼ完全にセル上で行なえるので、上記配線領域高さ
H(必要配線領域の高さ)および配線領域幅W(必要配
線領域の幅)が、ブロックの高さおよびブロックの幅と
等しいとみなすことができる。
【0168】ここで、本実施形態の特徴であるが、ステ
ップST1で入力されたセルライブラリデータは、ある
機能をもつセルに対して相異なる数種類の高さをもつ複
数のセルが登録されており、かつ使用するセルの高さに
よりそれぞれ異なる総セル幅の値を持つ。上記式(7
A)中の総セル幅Wtotal の値が決まらないと、配線領
域幅Wが決まらないので、まずWtotal の値を決めるこ
とが必要である。
【0169】そこで、総セル幅Wtotal の初期値を設定
する。初期値は、例えば異なる総セル幅の平均値を用い
て求めることができる。また、標準のセル高さを予め決
めておき、この時の総セル幅を、総セル幅Wtotal の初
期値とすることもできる。
【0170】いま、セルライブラリには3種類のセル高
さH1、H2、H3で設計されたセルが登録されてお
り、それぞれの高さを用いた場合の総セル幅が、それぞ
れ、850、1050、1100であったとする。この
場合、総セル幅として、それらの平均値である1000
を初期値とする。
【0171】この時、ブロック高さも、ブロック幅もセ
ル行数Rの関数となる。図16は、配線領域幅Wと配線
領域高さHとをセル行数Rの関数として表したグラフで
ある。このグラフを用いて、ブロックの形状が上記式
(5)で示されるアスペクト比Aの範囲に収まるよう
に、セル行数Rを決める。
【0172】例えばアスペクト比Aの範囲を0.9<A
<1.1とすると、図16に示す配線領域高さHと配線
領域幅Wとは、下記式(6B),(7B) H=20R+50 (6B) W=1000/R+max[15−68/R,0] (7B) により表されるセル行数Rの関数となる。そして、この
配線領域高さHと配線領域幅Wととの比であるアスペク
ト比Aが上記範囲0.9〜1.1の間にあるためのセル
行数Rの区間を900Aに示す。この例では、セル行数
を6に設定するとよいことが分かる。
【0173】続いて、ステップST14で、セル高さの
上限値の決定処理を行なう。この処理は、配線のみの領
域である純配線領域の面積を低減するためにセル高さの
上限値を決める処理である。本実施形態において、以下
では、各セルの高さはすべて均一であるとし、かつその
値はセル高さの上限値であるとして設計を行なうものと
する。
【0174】一般に、セル高さがHcellで、セル行数が
Rのとき、ブロック全体におけるセル上配線領域の高さ
OTCは、下記式(8) OTC=Hcell×R (8) で表されるので、配線のみの領域である純配線領域を必
要としない為には、配線領域高さHと、セル上配線領域
高さOTCとがほぼ等しければよい。
【0175】つまり、式(6A)と式(8)とから求ま
るセル高さHcellが以下の式(9)により求まる理想の
値Hideal に近ければよい。
【0176】 Hideal ={K1×Nl+(K2×Ng+OTBh /R)}×Sr (9) ただし、式(6A)が式(6B)となる条件下では、式
(9)は、 Hideal =50/R+20 (9A) となる。
【0177】すなわち、セル高さの理想値Hideal はセ
ル行数Rの関数となり、この関数関係をグラフで表すと
図17に示すようになる。一方、上記ステップST13
において、セル行数Rが確定しているので、理想値Hid
eal が決定される。
【0178】次に、この理想値Hideal に最も近いセル
ライブラリ中のセル高さを選ぶ。その際、セル高さの上
限値の決定方法は、以下の(1)、(2) (1)Hideal との隔たりが最小のもの (2)隔たりが同一のものが複数ある場合は、Hideal
より大きなものの順に行なうことが好ましい。
【0179】選ばれたセル高さが上記理想値Hideal に
近い程、セル上配線領域高さOTCと必要配線領域の高さ
(配線領域高さH)の間の隔たりが少なくなり、純配線
領域を殆ど必要としない結果が期待できる。その場合、
セル高さの上限値を理想値Hideal より大きくするよう
に設定すると、純配線領域の削除が可能となり、セル高
さの上限値を理想値Hideal より小さくするように設定
すると、純配線領域を削除できない可能性がある。しか
し、純配線領域の削除だけを目的にし、常にセル高さの
上限値を理想値Hideal よりも大きくするように設定す
ると、セル高さを無駄に大きくする場合が起こり得る。
この場合、セル上配線領域内に配線に使用されないデッ
ドスペースを生じ、逆に、ブロック面積増加を招くの
で、まず上記方法(1)により、セル高さの上限値とし
て理想値Hideal との隔たりが最小のものを選ぶのが好
ましい。
【0180】以下、本実施形態におけるこの選択手順に
ついて、図17を参照しながら説明する。セルライブラ
リ中にあるセル高さの種類は3種類であり、それぞれ高
さがH1、H2、H3であるとする。
【0181】そして、H1<H2<Hideal <H3の関
係があり、Hideal からの隔たりはH2が最も小さいと
すると、H2をセル高さの上限値とする。
【0182】もし、Hideal −H2間の隔たりと、Hid
eal −H3間の隔たりとが全く同じ場合には、より値が
大きいH3をセル高さの上限値とする。
【0183】続いて、ステップST15で、ブロックの
形状の確認処理を行なう。この処理は、上記ステップS
T14によりセル高さの上限値が決定されると総セル幅
Wtotal の値が確定するので、この値を用いて再度ブロ
ック形状を予想し、ステップST11で与えられるアス
ペクト比Aの許容範囲に収まっているか否かを判断する
処理である。
【0184】上記ステップST13でも用いたとおり、
ブロック高さとブロック幅とはそれぞれ式(6A)、式
(7A)で表される。そして、セル高さをH2に確定し
た時の総セル幅Wtotal の値は前述のように1050で
あるので、下記式(7C) W=1050/R+max[{15−68/R},0] (7C) が得られる。
【0185】この関係をグラフ表示したものが、図16
の点線で示される曲線である。この時の、配線領域高さ
Hと配線領域幅Wのグラフに基づいて、アスペクト比A
の許容範囲内におさまるセル行数Rの区間900Bを図
16に示す。この区間にステップST13で決定された
セル行数6が入っているので、ブロックの形状がアスペ
クト比Aの許容範囲を満足するものであることが確認で
きる。
【0186】もし、この時、上記セル行数の区間900
にステップST13で決定されたセル行数が入らない時
は、ステップST16で、セル行数の変更処理を行な
う。また、このセル行数の区間900よりもセル行数が
大きい時は、セル行数を1つずつ減少させて上記ステッ
プST14以下の処理を繰り返す。逆に、このセル行数
の区間900よりもセル行数Rが小さい場合は、セル行
数を1つ増加させて、上記ステップST14以下の処理
を繰り返す。
【0187】本実施形態では、セルの配置を行わなくて
も、ブロックの形状から求められるアスペクト比Aから
配線を予測し、必要な配線領域の高さの見積もりを行
い、この結果に基づいてセル高さの上限値を決定するこ
とができる。したがって、上記第1の実施形態と同様の
効果を得ることができ、かつ所望のアスペクト比を有す
るつまり理想に近い形状を有する占有面積の小さいブロ
ックの設計を行うことができる。
【0188】上記第1の実施形態において、図5のセル
モデルを用いて説明したが、図8に示すセルモデルを用
いてもよい。
【0189】上記第4の実施形態において、セルライブ
ラリデータ中には、ある機能をもつセルに対して数種類
の高さをもつ複数のセルが登録されているとしたが、ス
テップST14におけるセル高さの上限値の決定処理の
際に、セル高さの理想値Hideal に近いセル高さを持つ
セルを合成して、セルライブラリに追加登録してもよ
い。
【0190】
【発明の効果】請求項1,2,3,4,5,6,7又は
8によれば、半導体基板上にセルとセル上の多層の配線
層とからなる半導体集積回路をセルベース方式で設計す
る方法として、配線のために必要な領域である必要配線
領域の高さを見積もり、この必要配線領域の高さを確保
するのに必要な純配線領域の面積を低減するためのセル
高さの上限値を求め、このセル高さの上限値という制約
の下にセルを選択して配置するようにしたので、配線の
みの領域である純配線領域を低減することができ、かつ
セル上を配線が効率良く利用でき、よって、ブロックつ
まり半導体集積回路の占有面積の低減を図ることができ
る。
【0191】請求項9又は10によれば、半導体基板上
にセルとセル上の多層の配線層とからなる半導体集積回
路をセルベース方式で設計する方法として、必要配線領
域の高さと幅とをセル行数の関数として表現する見積式
を求め、ブロックのアスペクト比が許容範囲内にあるよ
うにセル行数の初期値を設定してから、必要配線領域の
高さを確保するのに必要な純配線領域の面積を低減する
ためのセル高さの上限値を求め、このセル高さの上限値
という制約の下にセルを選択したときにブロックの形状
がアスペクトの許容範囲に適合するまで、セル行数の変
更を行うようにしたので、配線のみの領域である純配線
領域を低減することができ、かつセル上を配線が効率良
く利用でき、よって、所望のアスペクト比と小さな占有
面積とを有するブロックの設計を行うことができる。
【0192】請求項11,12,13,14,15,1
6,17又は19によれば、半導体基板上にセルとセル
上の多層の配線層とからなる半導体集積回路をセルベー
ス方式で設計するための設計装置として、配線のために
必要な領域である必要配線領域の高さを見積もり、この
必要配線領域の高さを確保するのに必要な純配線領域の
面積を低減するためのセル高さの上限値を求め、このセ
ル高さの上限値という制約の下にセルを選択して配置す
る構成としたので、それぞれ上述の請求項1,2,3,
4,5,6,7又は8の効果と同様の効果を発揮するこ
とができる。
【0193】請求項19又は20によれば、半導体基板
上にセルとセル上の多層の配線層とからなる半導体集積
回路をセルベース方式で設計するための設計装置とし
て、必要配線領域の高さと幅とをセル行数の関数として
表現する見積式を求め、ブロックのアスペクト比が許容
範囲内にあるようにセル行数の初期値を設定してから、
必要配線領域の高さを確保するのに必要な純配線領域の
面積を低減するためのセル高さの上限値を求め、このセ
ル高さの上限値という制約の下にセルを選択したときに
ブロックの形状がアスペクトの許容範囲に適合するま
で、セル行数の変更を行う構成としたので、それぞれ上
述の請求項9又は10の効果と同様の効果を発揮するこ
とができる。
【図面の簡単な説明】
【図1】第1〜第3の実施形態における基本的な処理の
手順を示すフロー図である。
【図2】セル上の配線容量が4,6である2種類のセル
の構造をそれぞれ概略的に示す平面図である。
【図3】第1の実施形態における配線領域高さの見積り
処理のサブフローを示すフロー図である。
【図4】第1の実施形態における詳細配線処理を実施し
た後の水平方向の配線経路を示す平面図である。
【図5】第1の実施形態において用いるセルモデルを示
す平面図である。
【図6】セル高さの増加によりセル面積が減少する例と
セル高さ増加によりセル面積が増加する例とを示す平面
図である。
【図7】第1の実施形態における配線処理の結果得られ
るブロックを模式的に示す平面図である。
【図8】第2の実施形態において用いるセルモデルを示
す平面図である。
【図9】第2の実施形態におけるセル変更処理のサブフ
ローを示すフロー図である。
【図10】第2の実施形態におけるセル変更処理の具体
例を示す平面図である。
【図11】第2の実施形態における配線処理の結果得ら
れるブロックを模式的に示す平面図である。
【図12】第3の実施形態における配線密度見積もり処
理のサブフローを示すフロー図である。
【図13】第3の実施形態における概略配線処理を実施
した際のブロックを模式的に示す平面図及び配線密度を
グラフに表示した図である。
【図14】第4の実施形態における基本的な処理の手順
を示すフロー図である。
【図15】グローバルネットの総垂直配線長とフィード
スルー数との概念を示すための2種類のブロックの平面
図である。
【図16】第4の実施形態におけるブロック高さとブロ
ック幅をセル行の関数としてグラフに表示した図であ
る。
【図17】第4の実施形態におけるセル高さの理想値を
セル行数の関数としてグラフに表示した図である。
【図18】従来の半導体集積回路の設計方法の基本的な
処理の流れを示すフローチャートである。
【図19】従来のスタンダード・セル方式による概略配
線処理を表すためのブロックの平面図である。
【図20】従来の3層プロセスを用いセル上を配線領域
として利用する場合のブロックの構造を摸式的に示す平
面図である。
【図21】従来の端子位置を可変とする詳細配線手法を
説明するためのブロックの平面図である。
【図22】第1の実施形態に係る半導体集積回路の設計
装置の構成を概略的に示すブロック図である。
【符号の説明】
100 セル 101 セル端子 102 セル端子領域 160 セル行 200 水平配線 210 トラック 220 フィードスルー 235 セル上配線領域 236 セル間スペース 240 純配線領域 600 電源 610 グラウンド

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 半導体基板上に形成された複数のセルと
    該複数のセル上の多層の配線層とからなる半導体集積回
    路を前提とし、上記複数のセルでブロックを構成してセ
    ル単位で配置配線を行うようにした半導体集積回路の設
    計方法であって、 上記各セル間を接続するために必要な端子,配線に関す
    る情報である接続情報と、上記各セルの機能,形状に関
    する情報であるセル情報とを入力する第1のステップ
    と、 上記ブロック内で上記各セルが互いに並列な複数のセル
    行を形成するように上記各セルを配置する第2のステッ
    プと、 上記セル行に平行な方向を水平方向とし上記すべてのセ
    ル行に直交する方向を垂直方向としたときに、上記接続
    情報に基づき上記各セル間の水平方向の配線を予測して
    その配線のために必要な領域である必要配線領域の高さ
    を見積もる第3のステップと、 上記必要配線領域の面積と上記セル上の配線層を利用し
    て配線が可能な領域であるセル上配線領域の面積とを比
    較して、上記必要配線領域の高さを確保するために必要
    な上記各セル行間の配線のみの領域である純配線領域の
    面積を少なくとも低減するためのセル高さの上限値を求
    める第4のステップと、 上記第2のステップで配置されたセルの少なくとも一部
    を当該セルと機能が同じでかつセル高さが上記上限値以
    下であるセルに変更する第5のステップと、 上記接続情報に従って上記各セル間の配線を行なう第6
    のステップとを備えていることを特徴とする半導体集積
    回路の設計方法。
  2. 【請求項2】 請求項1記載の半導体集積回路の設計方
    法において、 上記第1のステップでは、各ブロック間を接続するため
    に必要な配線に関する情報を上記接続情報に含めて入力
    し、 上記第3のステップでは、当該ブロック以外の他のブロ
    ック同士を接続する配線が当該ブロック内を通過するた
    めに必要な領域をも上記必要配線領域に含め、 上記第6のステップでは、各ブロック間の配線をも行う
    ことを特徴とする半導体集積回路の設計方法。
  3. 【請求項3】 請求項1又は2記載の半導体集積回路の
    設計方法において、 上記第1のステップでは、互いに同じ機能と異なる形状
    とを有する複数のセルを入力することを特徴とする半導
    体集積回路の設計方法。
  4. 【請求項4】 請求項1又は2記載の半導体集積回路の
    設計方法において、 上記第5のステップでは、上記ブロックの面積を低減す
    るために最適の形状を有するセルを合成し、この合成さ
    れたセルを用いてセルの変更を行うことを特徴とする半
    導体集積回路の設計方法。
  5. 【請求項5】 請求項1,2,3又は4記載の半導体集
    積回路の設計方法において、 上記第3のステップでは、詳細配線を行って上記ブロッ
    ク内に複数の水平方向のトラックを形成し、該各トラッ
    クの上に水平方向の配線を配置した後、上記水平方向の
    トラックの総数に基づいて上記必要配線領域の高さを推
    定することを特徴とする半導体集積回路の設計方法。
  6. 【請求項6】 請求項1,2,3又は4記載の半導体集
    積回路の設計方法において、 上記第3のステップでは、概略の配線を形成してから上
    記垂直方向に上記各セル行を縦断する複数のカラムを設
    け、該各カラムを横切る配線の総数である配線密度を見
    積もった後、全カラムの配線密度のうちの最大値に基づ
    いて上記必要配線領域の高さを推定することを特徴とす
    る半導体集積回路の設計方法。
  7. 【請求項7】 請求項1,2,3又は4記載の半導体集
    積回路の設計方法において、 上記第4のステップでは、上記必要配線領域の高さをセ
    ル行数で割った値からセル高さの上限値を求め、 上記第5のステップでは、上記第2のステップで配置さ
    れたセルのすべてを上記上限値を越えない均一のセル高
    さを有するセルに変更することを特徴とする半導体集積
    回路の設計方法。
  8. 【請求項8】 請求項1,2,3又は4記載の半導体集
    積回路の設計方法において、 上記第4のステップでは、上記必要配線領域の高さをセ
    ル行数で割った値からセル高さの上限値を求め、 上記第5のステップでは、上記配置されたセルを上記上
    限値を越えないセル高さを有するセルの中から幅が最小
    のセルに変更することを特徴とする半導体集積回路の設
    計方法。
  9. 【請求項9】 半導体基板上に形成された複数のセルと
    該複数のセル上の多層の配線層とからなる半導体集積回
    路を前提とし、上記複数のセルでブロックを構成してセ
    ル単位で配置配線を行うようにした半導体集積回路の設
    計方法であって、 上記各セル間を接続するために必要な端子,配線に関す
    る情報である接続情報と、上記各セルの機能,形状に関
    する情報であるセル情報と、上記ブロックを水平方向の
    寸法である幅と垂直方向の寸法である高さとで特定され
    る矩形状としその幅をその高さで徐した値であるアスペ
    クト比の許容範囲に関する情報とを入力する第1のステ
    ップと、 上記ブロック内に各セルを上記ブロックの水平方向に並
    ぶ複数のセル行を形成するように配置すると仮定して、
    上記各セル間を接続する配線のために必要な領域である
    必要配線領域の高さと幅とを上記セル行数の関数として
    表現する見積式を求める第2のステップと、 上記見積式を用いて、上記ブロックの形状が上記アスペ
    クト比の許容範囲に適合するように、上記セル行数の初
    期値を設定する第3のステップと、 上記見積式に上記セル行数を代入して求まる上記必要配
    線領域の面積と、上記セル行数によって定まる上記セル
    上の配線層を利用して配線が可能な領域であるセル上配
    線領域の面積とを比較して、上記必要配線領域の高さを
    確保するために必要な上記各セル行間の配線のみの領域
    である純配線領域の面積を少なくとも低減するためのセ
    ル高さの上限値を求める第4のステップと、 上記セル高さの上限値を越えない範囲でセルの形状を決
    め、当該セルを使用した結果得られる上記ブロックのア
    スペク比が上記許容範囲内にあるか否かを判定する第5
    のステップと、 上記ブロックのアスペク比が上記許容範囲内にないとき
    には、上記ブロックの形状が上記アスペクト比の許容範
    囲に適合する範囲内で上記セル行数を変更する第6のス
    テップとを備え、 上記第5のステップにおける判定でブロックのアスペク
    比が上記許容範囲内に入るまで上記第4〜第6のステッ
    プを繰り返すことを特徴とする半導体集積回路の設計方
    法。
  10. 【請求項10】 請求項9記載の半導体集積回路の設計
    方法において、 上記第5のステップでは、上記必要配線領域の高さと上
    記セル上配線領域の高さとが等しくなるセル高さを理想
    セル高さとし、上記セル情報中に上記セル高さに関する
    制約を満足するセルが複数種類ある場合には、上記理想
    セル高さとの差が最小のセル高さを有するセルを選択し
    て判定を行うことを特徴とする半導体集積回路の設計方
    法。
  11. 【請求項11】 半導体基板上に形成された複数のセル
    と該複数のセル上の多層の配線層とからなる半導体集積
    回路を前提とし、上記複数のセルでブロックを構成して
    セル単位で配置配線を行うための半導体集積回路の設計
    装置であって、 上記各セル間を接続するために必要な端子,配線に関す
    る情報である接続情報と、上記各セルの機能,形状に関
    する情報であるセル情報とを記憶する記憶手段と、 上記記憶手段の出力を受け、上記ブロック内で上記各セ
    ルが互いに並列な複数のセル行を形成するように上記各
    セルを配置する配置手段と、 上記記憶手段及び上記配置手段の出力を受け、上記セル
    行に平行な方向を水平方向とし上記すべてのセル行に直
    交する方向を垂直方向としたときに、上記接続情報に基
    づき上記各セル間の水平方向の配線を予測してその配線
    のために必要名領域である必要配線領域の高さを見積も
    る見積り手段と、 上記見積り手段の出力を受け、上記必要配線領域の面積
    と上記セル上の配線層を利用して配線が可能な領域であ
    るセル上配線領域の面積とを比較して、上記必要配線領
    域の高さを確保するために必要な上記各セル行間の配線
    のみの領域である純配線領域の面積を少なくとも低減す
    るためのセル高さの上限値を求める上限値決定手段と、 上記記憶手段,上記上限値決定手段及び上記配置手段の
    出力を受け、配置されたセルの少なくとも一部を当該セ
    ルと機能が同じでかつセル高さが上記上限値以下である
    セルに変更するセル変更手段と、 上記記憶手段の出力を受け、上記接続情報に従って上記
    各セル間の配線を行なう配線手段とを備えていることを
    特徴とする半導体集積回路の設計装置。
  12. 【請求項12】 請求項11記載の半導体集積回路の設
    計装置において、 上記記憶手段は、各ブロック間を接続するために必要な
    配線に関する情報を上記接続情報に含めて記憶してお
    り、 上記見積り手段は、当該ブロック以外の他のブロック同
    士を接続する配線が当該ブロック内を通過するために必
    要な領域をも上記必要配線領域に含め、 上記配線手段は、各ブロック間の配線をも行うことを特
    徴とする半導体集積回路の設計装置。
  13. 【請求項13】 請求項11又は12記載の半導体集積
    回路の設計装置において、 上記記憶手段は、互いに同じ機能と異なる形状とを有す
    る複数のセルを記憶していることを特徴とする半導体集
    積回路の設計装置。
  14. 【請求項14】 請求項11又は12記載の半導体集積
    回路の設計装置において、 上記セル変更手段は、上記ブロックの面積を低減するた
    めに最適の形状を有するセルを合成し、この合成された
    セルを用いてセルの変更を行うことを特徴とする半導体
    集積回路の設計装置。
  15. 【請求項15】 請求項11,12,13又は14記載
    の半導体集積回路の設計装置において、 上記見積り手段は、詳細配線を行って上記ブロック内に
    複数の水平方向のトラックを形成し、該各トラックの上
    に水平方向の配線を配置した後、上記水平方向のトラッ
    クの総数に基づいて上記必要配線領域の高さを推定する
    ことを特徴とする半導体集積回路の設計装置。
  16. 【請求項16】 請求項11,12,13又は14記載
    の半導体集積回路の設計装置において、 上記見積り手段は、概略の配線を形成してから上記垂直
    方向に上記各セル行を縦断する複数のカラムを設け、該
    各カラムを横切る配線の総数である配線密度を見積もっ
    た後、全カラムの配線密度のうちの最大値に基づいて上
    記必要配線領域の高さを推定することを特徴とする半導
    体集積回路の設計装置。
  17. 【請求項17】 請求項11,12,13又は14記載
    の半導体集積回路の設計装置において、 上記上限値決定手段は、上記必要配線領域の高さをセル
    行数で割った値からセル高さの上限値を求め、 上記セル変更手段は、上記配置手段により配置されたセ
    ルのすべてを上記上限値を越えない均一のセル高さを有
    するセルに変更することを特徴とする半導体集積回路の
    設計装置。
  18. 【請求項18】 請求項11,12,13又は14記載
    の半導体集積回路の設計装置において、 上記上限値決定手段は、上記必要配線領域の高さをセル
    行数で割った値からセル高さの上限値を求め、 上記セル変更手段は、上記配置されたセルを上記上限値
    を越えないセル高さを有するセルの中から幅が最小のセ
    ルに変更することを特徴とする半導体集積回路の設計装
    置。
  19. 【請求項19】 半導体基板上に形成された複数のセル
    と該複数のセル上の多層の配線層とからなる半導体集積
    回路を前提とし、上記複数のセルでブロックを構成して
    セル単位で配置配線を行うようにした半導体集積回路の
    設計装置であって、 上記各セル間を接続するために必要な端子,配線に関す
    る情報である接続情報と、上記各セルの機能,形状に関
    する情報であるセル情報と、上記ブロックを水平方向の
    寸法である幅と垂直方向の寸法である高さとで特定され
    る矩形状としその幅をその高さで徐した値であるアスペ
    クト比の許容範囲に関する情報とを記憶する記憶手段
    と、 上記記憶手段の記憶内容に基づいて、上記ブロック内に
    各セルを上記ブロックの水平方向に並ぶ複数のセル行を
    形成するように配置すると仮定して、上記各セル間を接
    続する配線のために必要な領域である必要配線領域の高
    さと幅とを上記セル行数の関数として表現する見積式を
    求める見積式演算手段と、 上記見積式演算手段の出力を受け、上記見積式を用い
    て、上記ブロックの形状が上記アスペクト比の許容範囲
    に適合するように上記セル行数の初期値を設定する初期
    値設定手段と、 上記見積式演算手段及び上記初期値設定手段の出力を受
    け、上記見積式に上記セル行数を代入して求まる上記必
    要配線領域の面積と、上記セル行数によって定まる上記
    セル上の配線層を利用して配線が可能な領域であるセル
    上配線領域の面積とを比較して、上記必要配線領域の高
    さを確保するために必要な上記各セル行間の配線のみの
    領域である純配線領域の面積を少なくとも低減するため
    のセル高さの上限値を求める上限値決定手段と、 上記上限値決定手段の出力を受け、上記セル高さの上限
    値を越えない範囲でセルの形状を決め、当該セルを使用
    した結果得られる上記ブロックのアスペク比が上記許容
    範囲内にあるか否かを判定する判定手段と、 上記判別手段の出力を受け、上記ブロックのアスペク比
    が上記許容範囲内にないときには、上記ブロックの形状
    が上記アスペクト比の許容範囲に適合する範囲内で上記
    セル行数を変更するセル行数変更手段とを備え、 上記セル行数変更手段は、上記判定手段の判定でブロッ
    クのアスペク比が上記許容範囲内に入るまで上記セル行
    数の変更を行い、上記上限値決定手段は、上記セル行数
    変更手段でセル行数が変更された時にはセル高さの上限
    値を決定し直すことを特徴とする半導体集積回路の設計
    装置。
  20. 【請求項20】 請求項19記載の半導体集積回路の設
    計装置において、 上記判定手段は、上記必要配線領域の高さと上記セル上
    配線領域の高さとが等しくなるセル高さを理想セル高さ
    とし、上記セル情報中に上記セル高さに関する制約を満
    足するセルが複数種類ある場合には、上記理想セル高さ
    との差が最小のセル高さを有するセルを選択して判定を
    行うことを特徴とする半導体集積回路の設計装置。
JP8006293A 1996-01-18 1996-01-18 半導体集積回路の設計方法およびその設計装置 Pending JPH09199599A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8006293A JPH09199599A (ja) 1996-01-18 1996-01-18 半導体集積回路の設計方法およびその設計装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8006293A JPH09199599A (ja) 1996-01-18 1996-01-18 半導体集積回路の設計方法およびその設計装置

Publications (1)

Publication Number Publication Date
JPH09199599A true JPH09199599A (ja) 1997-07-31

Family

ID=11634339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8006293A Pending JPH09199599A (ja) 1996-01-18 1996-01-18 半導体集積回路の設計方法およびその設計装置

Country Status (1)

Country Link
JP (1) JPH09199599A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155182A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd 半導体集積回路の設計方法および設計プログラム
US9984029B2 (en) 2014-04-18 2018-05-29 Qualcomm Incorporated Variable interconnect pitch for improved performance

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155182A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd 半導体集積回路の設計方法および設計プログラム
US9984029B2 (en) 2014-04-18 2018-05-29 Qualcomm Incorporated Variable interconnect pitch for improved performance

Similar Documents

Publication Publication Date Title
US9665679B2 (en) Systems and methods for designing integrated circuits with consideration of horizontal and vertical wiring demand ratios
US5784289A (en) Method for estimating routability and congestion in a cell placement fo integrated circuit chip
US6543043B1 (en) Inter-region constraint-based router for use in electronic design automation
US7299442B2 (en) Probabilistic congestion prediction with partial blockages
EP0145925B1 (en) Iterative method for establishing connections between nodes and the resulting product
JP3024593B2 (ja) レイアウト設計方法およびレイアウト設計装置
US5838583A (en) Optimized placement and routing of datapaths
US8341586B2 (en) Method and system for routing
US6110222A (en) Layout design method and system for an improved place and route
JPH05233762A (ja) 自動配線方法
US20150154337A1 (en) Method for co-designing flip-chip and interposer
JP2006196627A (ja) 半導体装置、及び半導体装置の設計プログラム
US6694502B2 (en) Data structure for fine-grid multi-level VLSI routing and method for storing the data structure in a computer readable medium
US8250514B1 (en) Localized routing direction
Chen et al. Global and detailed routing
Wen et al. Via-based redistribution layer routing for InFO packages with irregular pad structures
JP3006824B2 (ja) 配線設計方法および配線設計装置
US20240119214A1 (en) Using a machine trained network during routing to account for opc cost
JPH09199599A (ja) 半導体集積回路の設計方法およびその設計装置
US7069530B1 (en) Method and apparatus for routing groups of paths
US6976238B1 (en) Circular vias and interconnect-line ends
JP3548398B2 (ja) 概略経路決定方法および概略経路決定方式
US6951005B1 (en) Method and apparatus for selecting a route for a net based on the impact on other nets
Ng et al. A hierarchical floor-planning, placement, and routing tool for sea-of-gates designs
JPH06236419A (ja) 配線基板の部品配置検討装置