JPH09298243A - トランジスタ配置方法 - Google Patents

トランジスタ配置方法

Info

Publication number
JPH09298243A
JPH09298243A JP9050569A JP5056997A JPH09298243A JP H09298243 A JPH09298243 A JP H09298243A JP 9050569 A JP9050569 A JP 9050569A JP 5056997 A JP5056997 A JP 5056997A JP H09298243 A JPH09298243 A JP H09298243A
Authority
JP
Japan
Prior art keywords
transistor
transistors
arrangement
cell
arranging
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.)
Granted
Application number
JP9050569A
Other languages
English (en)
Other versions
JP3220037B2 (ja
Inventor
Shunji Saiga
俊二 雑賀
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 JP05056997A priority Critical patent/JP3220037B2/ja
Publication of JPH09298243A publication Critical patent/JPH09298243A/ja
Application granted granted Critical
Publication of JP3220037B2 publication Critical patent/JP3220037B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 セルのトランジスタ配置を計算機を用いて決
定する方法として、人手によるレイアウト設計並のセル
の集積度を実現可能にし、かつ実用的な時間内に処理可
能にする。 【解決手段】 1次元配置工程(ステップST12,S
T13)において、セルが有するトランジスタを各チャ
ネル領域に縦置きにそれぞれ1列に配置する。そして2
次元配置工程(ステップST14〜ST16)におい
て、1次元配置工程における制約条件を外し、各チャネ
ル領域においてトランジスタを複数列にかつ横置きに配
置可能とした上でトランジスタの配置変更を行う。これ
により、1次元配置工程によるトランジスタ配置結果は
改善され、セルをよりコンパクトにすることができる。
また1次元配置工程により大局的な最適化はすでに行わ
れており2次元配置工程では局所的な配置改善を行うに
とどまるので、最初から2次元的に配置する方法よりも
計算機に対する負荷が格段に軽減され、実用時間内に処
理可能になる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CMOS・LSI
等の電気回路に使用される,スタンダードセルやデータ
パスリーフセル等のLSIリーフセルのレイアウト合成
技術に関するものであり、特にセル領域におけるトラン
ジスタの配置を決定する方法に関する。
【0002】
【従来の技術】昨今半導体プロセス技術は目まぐるしく
進展しており、技術革新が次々に行われている。プロセ
スの技術革新に呼応して最先端の高性能システムの設計
開発が企画されれば、その都度新しいセルライブラリの
開発が必要となる。また、同時期に多種のプロセスが存
在し各プロセスが用途別に利用されることから、セルラ
イブラリも多様なプロセスに対応して準備しなければな
らない。さらにLSIシステム設計においてもそのター
ゲットが高速動作指向、低消費電力指向等の多岐にわた
るようになっており、このようなターゲットの広がりに
もセルライブラリは対応しなくてはならない。すなわ
ち、近年セルライブラリに関して開発頻度が非常に増大
しており、しかも1つのライブラリに極めて多数のセル
を準備しなければならないという現実がある。そして、
ディープサブミクロン時代に突入し、マスク設計ルール
(デザインルール)が一層複雑化していることが、この
セルライブラリ開発の直面する現実を一層深刻なものに
している。
【0003】従来、スタンダードセルライブラリの開発
において、またデータパス用専用セルライブラリの開発
において、セルのレイアウト設計はほとんど人手のみに
頼っていた。これは、リーフセルの面積がブロック面積
さらにはチップ面積に直接的な影響を与えるので集積度
の高いセルを設計する必要があるからであるが、セルラ
イブラリ開発に係る前記のような現実を考えた場合、少
なくとも近い将来、人手によるレイアウト設計では開発
要求に追い付けない状況に陥るのは明らかである。した
がって、セルレイアウト合成技術の重要性は今後急速に
増大するものと思われる。
【0004】セルレイアウト合成(セル合成)とは、ト
ランジスタレベルのネットリストからデザインルールを
用いてトランジスタレベルのマスク・レイアウトを生成
するものであり、一般に、(1)トランジスタ配置、
(2)トランジスタ間配線、(3)コンパクションの3
つの処理から構成される。セル合成手法あるいはトラン
ジスタレベルの配置配線手法については従来より精力的
な研究がなされて来ている。しかしながらこれらの研究
では、計算機処理を簡単化するために、入力する回路や
トランジスタの配置スタイル等に対して大きな制約が課
されているものがほとんどであった。
【0005】制約の例としては、1次元配置モデルの採
用があげられる。1次元配置モデルとは、P型トランジ
スタとN型トランジスタとを1列ずつゲート幅方向をセ
ル高さ方向に揃えて配列し、これら2列を並列に配置す
るというトランジスタの配置形式である。近年、1つの
セルライブラリに多数のセルを準備しなければならいの
で、セルに用いられるトランジスタのサイズも多岐にわ
たるようになっている。このような状況では1次元配置
モデルを採用した場合、セルライブラリにおいて1通り
に定めたセル高さに対して最適なレイアウトを形成でき
ないセルの割合も無視できないものとなる。したがって
これから実用的なセル合成システムを開発するにあたっ
て、1次元配置モデルに制約されない手法を採用するこ
とが必要である。「T.Uehara and W.M.vanCleemput,"Op
timal Layout of CMOS Logic Cells,"25th ACM/IEEE Tr
ans. Computer Vol.c-30, pp.305-312, May 1981」によ
って隣接トランジスタ間の拡散層の共有によってレイア
ウト面積を削減できることが提案され、これ以降、拡散
共有を最大化するアルゴリズムがP型トランジスタとN
型トランジスタとのペアリング問題と関連づけたものも
含めて数多く提案されているが、これらのアルゴリズム
のほとんどは1次元配置モデルを前提とするものであっ
た。
【0006】1次元配置モデルを前提としない手法も少
数であるが提案されている。セル内でPチャネル領域と
Nチャネル領域とのペアを複数段繰り返すことによっ
て、各チャネル領域内は1次元配置を用いながら高さ方
向にもサイズ可変なセルを生成できる手法も提案されて
いるが、この手法はスタンダードセルよりもマクロセル
に対して有効であろう。一方、1次元配置と同様にセル
をP/Nの2つのチャネル領域に分割し、各チャネル領
域内でセルの高さ方向にトランジスタを複数段縦積みで
きて、その段数をセル内の場所によって変えることがで
きる手法が「C.J.Poirier,"Excellerator:Custom CMOS
Leaf Cell Layout Generator,"IEEE Trans.On Computr
Aided Design Vol.8,No.7,pp.744-755,July 1989」に示
されている。これならスタンダードセルに対しても有効
であると思われるが、トランジスタの向きを揃えなけれ
ばならないとかトランジスタサイズを一様とする等の制
約がみられ、人手設計に匹敵する自由度を扱っていると
は言えない。トランジスタの向きに関しての自由度をも
扱った手法として「D.G.Baltus, J.Allen,"SOLO:A Gene
rator of Efficient Layouts From Optimized MOS Circ
uit Schematics,"Design Automation Conference,pp.44
5-452,1988」による手法があるが、セル回路を部分回路
に分けて、部分回路に対して特定の配置パターン(ゲー
トマトリックススタイル)を当てはめることを行うため
セルとして最適化されるとは限らない。
【0007】また「Chi Yi Hwang, Yung-Ching Hsieh,
Youn-Long Lin, Yu-Chin Hsu, "AnEfficient Layout St
yle for Two-Metal CMOS Leaf Cells and Its Automati
c Synthesis," IEEE Trans. on Computer-Aided Design
of Integrated Circuits and Systems, Vol.12, No.3,
pp.410-424, March 1993」に述べられているように、
レイアウトを最適化するにはセル幅と同様にセル高さを
も縮小しなければならないことが認識され、セル高さを
決定する要因であるセル内の配線を最適化する問題がト
ランジスタ配置において重要となってきている。
【0008】また、配置問題において要素間の配線を最
適化する方法は、ブロック上でスタンダードセルを最適
配置する問題等の研究によって数多く知られているが、
これらをトランジスタ配置問題にそのまま適用してもセ
ルのレイアウトを最適化することはできない。セル幅と
セル高さの両方に配慮しながらセルを最適化するには、
拡散分離の最小化(拡散共有の最大化)による拡散の最
適化と配線の最適化という2つの最適化指標を同時に扱
わなければならない。従来のトランジスタ配置方法で
は、前記2つの最適化指標を同時に考慮する代わりに最
適化を2段階に分けて、一方の指標で1回目の最適化を
行なってから他方の指標で2回目の最適化を行なうとい
う手法が用いられていた。代表的な手法として、与えら
れたセルの回路から部分回路を抽出して、抽出した部分
回路内のトランジスタ配置を拡散の最適化を目的として
行い、この配置結果をトランジスタのグループとし、グ
ループの配置を配線の最適化を目的として行うという手
法がよく知られている。
【0009】また従来の方法では、1次元配置スタイル
でトランジスタを配置する際、P型トランジスタとN型
トランジスタを縦に揃えるという制約を設けて水平方向
の格子点列上に配置し、格子座標を用いて配置評価を行
っている。前記C.Y.Hwang の文献にその1例が見られ
る。
【0010】
【発明が解決しようとする課題】計算機によるセル合成
を実際のセルライブラリ開発に適用するためには、セル
面積の問題すなわちセルの集積度をいかにして人手によ
るレイアウト設計並に上げるかという問題を解決しなけ
ればならない。この問題を解決するためには、セル内の
配置要素であるトランジスタにより完全な2次元の自由
度を与えた上でセルのレイアウトを最適化することが必
要である。ところが従来のセル合成手法は、すでに説明
したように、計算機処理を簡単化するために入力する回
路やトランジスタの配置スタイル等に対して大きな制約
を課しているので、人手並の柔軟なレイアウトを実現す
るには不十分であった。
【0011】一方、トランジスタに完全な2次元の自由
度を与えた上で計算機によってトランジスタの配置を行
うと、その処理に膨大な時間を要することになり、実用
的ではない。
【0012】また従来のトランジスタ配置手法では、拡
散の最適化と配線の最適化とを2段階に分けて別々に行
うので総合的には必ずしも最適なトランジスタ配置が得
られなかった。特に、部分回路を抽出してトランジスタ
のグループ化を行う方法は、各グループのトランジスタ
数が多い場合には、最終的なトランジスタ配置の結果が
部分回路の選び方に強く依存することになり、最終配置
結果が局所的な最適解に陥る可能性が高く、処理効率が
高い反面、セルによって最適化の程度のばらつきが生じ
るという問題があった。
【0013】また従来の方法では、1次元配置スタイル
でトランジスタを配置する際、P型トランジスタとN型
トランジスタを縦に揃えるという制約を設けて水平方向
の格子点列上に配置し、格子座標を用いて配置評価を行
っていた。しかし実際のマスク設計ルールに従えば、隣
接するトランジスタが拡散電極を共有する場合に、電極
にコンタクトが打たれる場合と打たれない場合とではゲ
ート間の距離が異なるので、コンパクション後のレイア
ウトではP型トランジスタとN型トランジスタとは必ず
しも縦に揃っていない。また、実際のセルではゲート長
の異なるトランジスタが含まれる可能性もあり、このと
きP型トランジスタとN型トランジスタとを縦に揃えて
レイアウトすること自体に無理が生じる。すなわち、従
来のトランジスタ配置では、実際のレイアウトに即した
配置評価を行っていないという問題がある。
【0014】前記の問題に鑑み、本発明は、セル内のト
ランジスタの配置を計算機を用いて決定する方法とし
て、人手によるレイアウト設計並のセルの集積度を実現
することができ、かつ実用的な時間内に処理可能にする
ことを課題とする。
【0015】また本発明は、1次元配置形式を用いたト
ランジスタ配置方法として、実際のレイアウトに即した
配置評価を行うと共に、拡散の最適化と配線の最適化と
を併せて実現することを課題とする。
【0016】
【課題を解決するための手段】前記の課題を解決するた
め、本発明は、トランジスタ配置方法として、1次元配
置によって大局的な最適化を行った後、2次元配置によ
って局所的な配置改善を行うことにより人手によるレイ
アウト設計並のセルの集積度を実現するものである。ま
た、トランジスタ配置の格子図からマスク図への変換方
法、及び拡散の最適化と配線の最適化とを併せて実現す
るための評価指標について提案するものである。
【0017】具体的に請求項1の発明が講じた解決手段
は、少なくとも一つのトランジスタを有するセルについ
て、セルにおけるトランジスタの接続情報及び各トラン
ジスタのサイズ情報を記述するネットリストを基にし
て、セル領域におけるトランジスタの配置を決定するト
ランジスタ配置方法として、セルの上下方向の高さは所
定の値に設定されておりセルの左右方向の幅は可変であ
るとき、セル領域をPチャネル領域とNチャネル領域と
に上下に分割し、前記ネットリストに基づいて、セルが
有するP型トランジスタをPチャネル領域においてセル
の上下方向とゲート幅方向とを合わせて置く縦置き状態
でセルの左右方向に1列に配置すると共に、セルが有す
るN型トランジスタをNチャネル領域において縦置き状
態でセルの左右方向に1列に配置する1次元配置工程
と、前記1次元配置工程のトランジスタ配置結果に対し
て、各チャネル領域においてトランジスタをセルの左右
方向に複数列に配置可能としかつトランジスタをセルの
左右方向とゲート幅方向とを合わせて置く横置き状態で
配置可能とした上で、セルの幅が小さくなるようトラン
ジスタの配置変更を行う2次元配置工程とを備えている
ものとする。
【0018】請求項1の発明により、1次元配置工程に
おいて、セルが有するトランジスタをPチャネル領域及
びNチャネル領域において縦置き状態で1列に配置す
る。このような制約条件のある配置形式の場合には、ト
ランジスタの配置は計算機によって容易にかつ実用時間
内に実行することができ、しかもある程度は最適化が可
能である。そして2次元配置工程において、1次元配置
工程における制約条件を外して、各チャネル領域におい
てトランジスタをセルの左右方向に複数列に配置可能と
しかつトランジスタを横置き状態で配置可能とした上
で、セルの幅が小さくなるようトランジスタの配置変更
を行う。これにより、1次元配置工程によるトランジス
タ配置結果は改善され、セルをよりコンパクトにするこ
とができ、人手によるレイアウト設計並のセルの集積度
を実現することができる。また、1次元配置工程によっ
て大局的な最適化はすでに行われているため、2次元配
置工程では局所的なトランジスタの配置改善を行うにと
どまるので、最初から2次元的にトランジスタを配置す
る方法よりも計算機に対する負荷が格段に軽減され、実
用時間内に処理可能になる。
【0019】そして、請求項2の発明では、請求項1の
トランジスタ配置方法において、前記ネットリストか
ら、拡散電極同士が分岐を含まない直列接続を形成して
いる同一導電型のトランジスタを抽出し、抽出したトラ
ンジスタを1つのグループにまとめるグループ形成工程
を備え、前記1次元配置工程及び2次元配置工程は、前
記グループ形成工程において1つのグループにまとめた
トランジスタを単一の配置要素として、トランジスタの
配置を行うものとする。
【0020】請求項2の発明により、拡散電極同士が分
岐を含まない直列接続を形成している同一導電型のトラ
ンジスタは1つのグループにまとめられる。拡散電極同
士が分岐を含まない直列接続を形成している同一導電型
のトランジスタのレイアウトは1つの拡散島になり、こ
のレイアウトはセル全体のトランジスタ配置を最適化し
た場合でも変わらない。すなわち、グループ内のトラン
ジスタ配置は一義的に決定される。このため、1つのグ
ループにまとめたトランジスタを単一の配置要素として
扱ってもセル全体のトランジスタ配置の最適化に影響を
及ぼすことはない。したがって、1つのグループにまと
めたトランジスタを単一の配置要素として扱うことによ
り、セル全体のトランジスタ配置の最適化を妨げること
なくトランジスタ配置処理における計算機の負荷を軽減
することができる。
【0021】また、請求項3の発明では、前記請求項1
のトランジスタ配置方法における1次元配置工程及び2
次元配置工程は、セルにおける配線長の推定値に基づく
評価指標を用いて、トランジスタの配置を行うものとす
る。
【0022】そして、請求項4の発明では、前記請求項
3記載のトランジスタ配置方法における1次元配置工程
及び2次元配置工程は、各ネットの配線をネットにおけ
る位置付けに基づいて複数の成分に分け、分けた成分毎
に配線長を推定し、各成分の配線長の推定値にそれぞれ
重み付けした値を和したものをトランジスタ配置の評価
指標として用いるものとする。
【0023】請求項4の発明により、トランジスタを配
置要素としたときの配線長の評価を的確に行うことがで
きる。
【0024】さらに、請求項5の発明では、前記請求項
4のトランジスタ配置方法における1次元配置工程及び
2次元配置工程は、各ネットの配線をポリシリコン層に
割り当てる成分と金属層に割り当てる成分とに分け、ポ
リシリコン層に割り当てる成分の配線長の推定値と金属
層に割り当てる成分の配線長の推定値とに相異なる重み
付けをした値を和したものをトランジスタ配置の評価指
標として用いるものとする。
【0025】また、請求項6の発明では、前記請求項1
のトランジスタ配置方法において、セルはMOS論理セ
ルであり、ネットリストを基にして、各トランジスタに
対し、トランジスタからこのトランジスタが係る信号出
力端子までの経路上のゲートの個数であるステージを設
定するステージ設定工程を備え、前記1次元配置工程
は、前記ステージ設定工程により設定された各トランジ
スタのステージを用いて、トランジスタの配列順序を決
定するものとする。
【0026】請求項6の発明により、トランジスタの1
次元配置の際にステージという概念を用いることによっ
て回路的な情報を反映させることができるので、1次元
配置の処理効率を上げることができる。
【0027】さらに、請求項7の発明では、前記請求項
1のトランジスタ配置方法は、前記1次元配置工程のト
ランジスタ配置結果から、セルの左右方向におけるトラ
ンジスタの配置位置毎に配線横成分の配線密度を求め、
一のトランジスタ配置位置におけるトランジスタ高さと
配線横成分の配線密度との和からなるレイアウト高さが
セル高さの設定値を越えるとき、前記一のトランジスタ
配置位置に配置されたトランジスタをゲート折り返しに
よって分割し、分割したトランジスタを新たな配置要素
として、前記1次元配置工程のトランジスタ配置結果を
修正するトランジスタ折り返し工程を備えているものと
する。
【0028】請求項7の発明により、1次元配置工程の
トランジスタ配置結果から求めた配線密度を考慮してト
ランジスタの折り返しを行うので、実際のレイアウトに
即したトランジスタの折り返しを行うことができる。
【0029】また、請求項8の発明が講じた解決手段
は、少なくとも一つのトランジスタを有するセルについ
て、セルにおけるトランジスタの接続情報を記述するネ
ットリストを基にして、セル領域におけるトランジスタ
の配置を決定するトランジスタ配置方法として、前記ネ
ットリストから、拡散電極同士が分岐を含まない直列接
続を形成している同一導電型のトランジスタを抽出し、
抽出したトランジスタを1つのグループにまとめるグル
ープ形成工程を備え、前記グループ形成工程において1
つのグループにまとめたトランジスタを単一の配置要素
として、トランジスタの配置を行うものとする。
【0030】また、請求項9の発明が講じた解決手段
は、少なくとも一つのトランジスタを有するセルについ
て、セルにおけるトランジスタの接続情報を記述するネ
ットリストを基にして、セル領域におけるトランジスタ
の配置を決定するトランジスタ配置方法として、各ネッ
トの配線をネットにおける位置付けに基づいて複数の成
分に分け、分けた成分毎に配線長を推定し、各成分の配
線長の推定値にそれぞれ重み付けした値を和したものを
評価指標として用いて、トランジスタの配置を決定する
ものである。
【0031】さらに、請求項10の発明では、前記請求
項のトランジスタ配置方法において、各ネットの配線を
ポリシリコン層に割り当てる成分と金属層に割り当てる
成分とに分け、ポリシリコン層に割り当てる成分の配線
長の推定値と金属層に割り当てる成分の配線長の推定値
とに相異なる重み付けをした値を和したものを評価指標
として用いて、トランジスタの配置を決定するものとす
る。
【0032】また、請求項11の発明が講じた解決手段
は、少なくとも一つのトランジスタを有するMOS論理
セルについて、セルにおけるトランジスタの接続情報を
記述するネットリストを基にして、セル領域における各
トランジスタの配置を決定するトランジスタ配置方法と
して、ネットリストを基にして、各トランジスタに対
し、トランジスタからこのトランジスタが係る信号出力
端子までの経路上のゲートの個数であるステージを設定
するステージ設定工程と、前記ネットリストに基づいて
セルが有するトランジスタをセル領域において列状に配
置する配置工程とを備え、前記配置工程は、前記ステー
ジ設定工程において設定した各トランジスタのステージ
を用いてトランジスタの配列順序を決定するものであ
る。
【0033】また、請求項12の発明が講じた解決手段
は、少なくとも一つのトランジスタを有するセルについ
て、セルにおけるトランジスタの接続情報を記述するネ
ットリスト及び半導体製造技術から導かれるマスク設計
ルールに基づいて、セル領域におけるトランジスタの配
置を決定するトランジスタ配置方法として、複数の格子
点をセルの左右方向に並べて格子点列を設定すると共
に、P型トランジスタを配置するPチャネル領域及びN
型トランジスタを配置するNチャネル領域を前記格子点
列に並列に設定し、前記ネットリストに基づいて、前記
セルが有するP型トランジスタを前記Pチャネル領域に
おいて一の格子点位置につき1つずつ配置すると共に前
記セルが有するN型トランジスタを前記Nチャネル領域
において一の格子点位置につき1つずつ配置することに
より、格子点列上のトランジスタ配置を形成する第1の
工程と、格子点列上のトランジスタ配置を基にして、各
チャネル領域においてセルの左右方向の一側から他側へ
順に前記マスク設計ルールを満たすようマスク図上にト
ランジスタを配置することにより、前記格子点列上のト
ランジスタ配置からマスク図上のトランジスタ配置を形
成する第2の工程と、前記第2の工程において形成した
マスク図上のトランジスタ配置を評価し、この評価結果
に基づき、評価したマスク図上のトランジスタ配置の基
になる格子点列上のトランジスタ配置においてトランジ
スタの配置を変更する第3の工程とを備え、前記第2及
び第3の工程を繰り返し行い、前記第2の工程は、繰り
返しの当初は、前記第1の工程において形成した格子点
列上のトランジスタ配置からマスク図上のトランジスタ
配置を形成する一方、2回目以降は前記第3の工程にお
いてトランジスタの配置を変更した格子点列上のトラン
ジスタ配置からマスク図上のトランジスタ配置を形成す
るものである。
【0034】請求項12の発明により、格子点列上のト
ランジスタ配置は、マスク図上のトランジスタ配置に変
換された上で評価され、この評価結果に基づきトランジ
スタの配置が変更されるので、実際のレイアウトに即し
た配置評価が行われることになる。
【0035】そして、請求項13の発明では、前記請求
項12のトランジスタ配置方法における第2の工程は、
マスク図上における一のトランジスタの配置位置を、こ
の一のトランジスタと同じチャネル領域において前記一
のトランジスタの1つ一側よりの格子点位置にトランジ
スタが配置されている場合はこのトランジスタのマスク
図上の配置位置を基にして決定する一方、配置されてい
ない場合は、前記一のトランジスタと異なるチャネル領
域において前記一のトランジスタと同じ格子点位置にト
ランジスタが配置されておりかつこのトランジスタのマ
スク図上の配置位置がすでに決定されているとき、この
トランジスタのマスク図上の配置位置を基にして決定す
るものとする。
【0036】請求項13の発明により、同じチャネル領
域において1つ一側の格子点位置にトランジスタが配置
されている場合は、このトランジスタのマスク図上の配
置位置を基にしてマスク図上のトランジスタの配置位置
を決定する。一方、配置されていない場合は、異なるチ
ャネル領域において同じ格子点位置にトランジスタが配
置されておりかつこのトランジスタのマスク図上の配置
位置がすでに決定されているとき、このトランジスタの
マスク図上の配置位置を基にしてマスク図上のトランジ
スタの配置位置を決定する。これにより、単に各チャネ
ル領域において一側に詰めていく方法や同じ格子点に配
置されたP型トランジスタとN型トランジスタとの位置
を合わせる方法と比べて、格子点列状のトランジスタ配
置を比較的実際のレイアウトに即した形でマスク図上に
反映させることができる。
【0037】また、請求項14の発明では、前記請求項
12のトランジスタ配置方法における第3の工程は、マ
スク図上における各ネットの広がりをネットを構成する
トランジスタの電極に基づいて複数に分けて推定し、各
広がりの推定値にそれぞれ重み付けした値を和したもの
を評価指標として用いて、マスク図上のトランジスタ配
置を評価するものとする。
【0038】請求項14の発明により、マスク図上のト
ランジスタ配置の評価指標として各ネットの広がりにト
ランジスタの電極の位置が反映され、しかも、拡散電極
の広がりは拡散共有の程度を評価する指標となるので、
配線の最適化と拡散の最適化とを同時に実現することが
できる。
【0039】さらに、請求項15の発明では、前記請求
項14のトランジスタ配置方法における第3の工程は、
マスク図上における各ネットの広がりを、P型トランジ
スタの拡散電極の広がり、N型トランジスタの拡散電極
の広がり、ゲート電極の広がり、及び全電極の広がりの
4つに分けて推定し、各広がりの推定値にそれぞれ重み
付けした値を和したものを評価指標として用いて、マス
ク図上のトランジスタ配置を評価するものとする。
【0040】
【発明の実施の形態】本発明はセルレイアウト合成技術
に関するものであり、その中でも特にトランジスタ概略
配置技術に関する新しい方法の提案である。
【0041】図1はセルレイアウト合成(セル合成)方
法の処理の流れを示すフローチャートである。図1に示
すように、セル合成とはセルを記述するトランジスタレ
ベルのネットリスト1からマスク設計ルールを用いてセ
ルのトランジスタレベルのマスクレイアウトパターン2
を生成するものであり、一般に、セル合成方法はトラン
ジスタ概略配置ST1、トランジスタ間配線ST2、コ
ンパクションST3の3つの工程から構成される。トラ
ンジスタ概略配置ST1はトランジスタレベルのネット
リスト1に基づいて、セル内のトランジスタの概略配置
位置を決定する処理である。ここで概略配置という意味
合いは、トランジスタ概略配置ST1によってセル内の
トランジスタの配置位置が最終的に決定されるのではな
く、トランジスタ概略配置ST1による概略配置結果に
基づいてトランジスタ間配線ST2においてトランジス
タ間の接続要求を満たす配線経路を見つけた後に、コン
パクションST3において配線を含むマスクレイアウト
パターン2をマスク設計ルールに従い決定する中でトラ
ンジスタの最終的な配置位置が決定される、ということ
である。本発明に係るトランジスタ配置方法は、セル合
成におけるトランジスタ概略配置を実行するものとして
位置付けられる。
【0042】以下、本発明の実施形態に係るトランジス
タ配置方法について、図面に基づき説明する。
【0043】図2は本発明のトランジスタ配置方法が対
象とするセルモデルを表す図である。本発明ではスタン
ダードセルの一般的な設計スタイルを想定する。図2に
示すように、対象とするセルは、大きさについては、上
下方向の高さは与えられた所定の値で一定とし、左右方
向の幅は可変とする。そして、電源配線4及びグランド
配線5をセルの上端と下端とに配置し、電源配線4とグ
ランド配線5との間の領域を2つに分け、上側の領域を
P型トランジスタ6を配置するPチャネル領域8、下側
の領域をN型トランジスタ7を配置するNチャネル領域
9とする。Pチャネル領域8とNチャネル領域9とはチ
ャネル境界10によって区切られている。
【0044】また配置したトランジスタのゲート幅方向
がセルの上下方向と同じである場合をトランジスタの縦
置きと呼び、配置したトランジスタのゲート幅方向がセ
ルの左右方向と同じである場合をトランジスタの横置き
と呼ぶ。
【0045】なお、セルの入出力端子位置はあらかじめ
設定されておらず、トランジスタの配置結果に基づいて
端子位置(概略)を設定するものとする。
【0046】また、本発明のトランジスタ配置方法を実
行するシステムにおいて、入力と出力は次のようにな
る。 [入力] (1)トランジスタレベルのネットリスト。2つのチャ
ネル領域において配置するトランジスタ数が異なってい
てもかまわない。 (2)適用するプロセステクノロジーから導かれるマス
ク設計ルール。トランジスタ配置方法はトランジスタの
配置を決定するものであるが、その配置を評価する際
に、配線密度や拡散の共有/分離等をマスクサイズ的に
数値化して評価する必要があるので、マスク設計ルール
を参照する。 [出力]セル内のトランジスタの向きを含めた概略配置
位置。
【0047】(第1の実施形態)本実施形態に係るトラ
ンジスタ配置方法は、1次元配置と2次元配置とを組み
合わせることによってトランジスタ配置を最適化しよう
とするものである。
【0048】トランジスタ1次元配置とは、Pチャネル
領域内でP型トランジスタを縦置きに(ゲート幅の向き
を縦向きに揃えながら)左右に延びる列の形で配列する
と共に、Nチャネル領域内でN型トランジスタを縦置き
に左右に延びる列の形で配列し、チャネル領域毎に1本
のトランジスタ列を形成するよう配置するものである。
一方、トランジスタ2次元配置とは、1次元配置にみら
れるような制約条件を除いて、各チャネル領域内でトラ
ンジスタに完全な2次元の自由度を与えて配置するもの
である。
【0049】スタンダードセルのセルライブラリでは、
標準サイズのトランジスタの1次元配置を想定してセル
高さが設定されるので、スタンダードセルのトランジス
タ配置を行う際には1次元配置のスタイルを基本におく
必要がある。しかしながら、1次元配置によるトランジ
スタ配置結果をそのままマスクレイアウトに展開する
と、1つのセルライブラリに用いられるトランジスタの
サイズの広がりや1つのセルに用いられるトランジスタ
のサイズのばらつきの拡大によって、レイアウト上で大
きな空き領域ができる等の不具合が生じる。
【0050】この問題を解決すべく、本実施形態に係る
トランジスタ配置方法は、1次元配置によって大域的に
最適化したトランジスタの配置結果を2次元配置によっ
て局所的に修正することによって、1次元配置のみの配
置結果では生ずる可能性のある空き領域を削減し、より
集積度の高いマスクレイアウトを実現するものである。
【0051】図3は本発明の第1の実施形態に係るトラ
ンジスタ配置方法の処理の流れを示すフローチャートで
あり、図1に示すセル合成方法におけるトランジスタ概
略配置ST1に相当するものである。以下、図3にした
がって本実施形態に係るトランジスタ配置方法について
説明する。
【0052】まずステップST10において、セルを記
述するネットリストを読み込み、トランジスタ間の接続
要求及び各トランジスタのサイズに関する情報を記憶す
る。図4は入力したネットリストが表す回路の例を示す
回路スケマティック図である。図4において、tp0〜
tp12はP型トランジスタ、tn0〜tn12はN型
トランジスタ、IN1,IN2は入力端子、OUT1,
OUT2は出力端子,11は電源,12はグランド,1
3は接続関係である。ネットリストには、図4に示すよ
うな接続関係13に関する情報に加えて各トランジスタ
のサイズに関する情報が記述されている。
【0053】次にステップST11において、トランジ
スタのグループ化(クラスタリング)を行う。トランジ
スタのグループ化はトランジスタ配置を階層的に処理す
るために行うものであり、回路上で複数のトランジスタ
をまとめて1つのグループとし、トランジスタ配置問題
をグループ内におけるトランジスタ配置問題とグループ
の配置問題とに分けることによって、トランジスタ配置
問題の解を効率良く求めようとするものである。ステッ
プS11によってグループ形成工程が構成されている。
【0054】ここで、グループの決め方すなわちトラン
ジスタをグループ化するための条件については注意が必
要である。なぜなら、グループ内におけるトランジスタ
配置に選択肢が多い場合には、グループの配置結果によ
ってはグループ内におけるトランジスタの配置が適当で
ないということが起こり得るからである。
【0055】このため本実施形態では、グループ内にお
けるトランジスタ配置に任意性が含まれないよう、分岐
のない単純な直列関係によって連なるトランジスタのみ
をグループ化する。すなわち、拡散電極同士が分岐を含
まない直列接続を形成している同一導電型のトランジス
タを1つのグループにまとめる。また前記のような直列
接続を形成しないトランジスタは、単独で広義の直列接
続を構成しているとみなし、単一のトランジスタによる
グループとする。
【0056】図5は図4の回路に対してグループ形成S
T11を実行した結果を示す図である。図5において、
複数のトランジスタをまとめて囲んだ破線がグループ1
5を示している。すなわち、(tp0,tp1),(t
p4,tp5),(tp8,tp9) (tn0,tn1),(tn4,tn5),(tn8,
tn9)の6つのグループが形成されている。他のトラ
ンジスタは全て単一トランジスタによるグループとな
る。
【0057】分岐のない単純な直列関係によって連なる
トランジスタすなわち拡散電極同士が分岐を含まない直
列接続を形成している同一導電型のトランジスタをグル
ープ化すると、グループ内のトランジスタ間の相互接続
は全て2端子接続になるので、1つのグループに属する
トランジスタを必ず1つの拡散島にレイアウトすること
ができ、しかもトランジスタ間にコンタクトを挟む必要
がないことになる。
【0058】図6はグループ内におけるトランジスタ配
置を説明するための図であり、同図中、(a)は本実施
形態に係る一のグループに属するトランジスタすなわち
分岐のない単純な直列関係によって連なるトランジスタ
を示す図、(b)は(a)に示すグループに属するトラ
ンジスタのレイアウトである。図6(b)において、2
1はゲート電極、22は拡散電極(ドレイン)、23は
拡散電極(ソース)、24はグランド配線である。図6
(a)に示すような一のグループに属するトランジスタ
を拡散電極同士の直列接続をたどるように順に並べてレ
イアウトすると、図6(b)に示すような1つの拡散島
になる。
【0059】分岐のない単純な直列関係によって連なる
トランジスタのレイアウトとして、図6(b)に示すよ
うな拡散島の形態は最適解である。そして、セル全体の
トランジスタ配置の最適解においても、分岐のない単純
な直列関係によって連なるトランジスタは必ず図6
(b)に示すような拡散島としてレイアウトされると考
えられる。すなわち、本実施形態に係るグループ化の場
合、各グループに属するトランジスタの相互配置を最初
から特定してもセル全体のトランジスタ配置の最適化に
とってマイナスにはならないといえる。したがって、こ
のようなグループ化をトランジスタ配置工程の前処理と
して実行し、かつ1つのグループにまとめたトランジス
タを単一の配置要素としてトランジスタ配置を行うこと
によって、トランジスタ配置の最適化処理の負担を軽減
することができる。本実施形態に係るグループ化は、セ
ルのトランジスタ配置を最適化するための必要最小限の
グループ化として有効である。
【0060】以下、ステップST12,ST13によっ
て1次元配置工程が構成されており、ステップST14
〜ST16によって2次元配置工程が構成されている。
【0061】まず1次元配置工程について説明する。本
実施形態に係る1次元配置工程は、まずセル内に左右に
延びる1次元格子空間を設定し、設定した1次元格子空
間上においてセルを構成する各トランジスタをいずれか
1つの格子点に配するものである。このとき、続いて行
う2次元配置工程においてトランジスタ配置の最適化が
十分可能な程度に空き領域が生じるよう、配線長又は配
線密度を評価指標として用いてトランジスタの配置を行
う。
【0062】ステップST12において、左右に延びる
1次元格子空間をセル内に設定する。そしてステップS
T13において、セルを構成する各トランジスタの1次
元格子空間への最適な割当を決定し、各トランジスタを
1次元格子空間のいずれか1つの格子点に配置する。
【0063】図7は1次元格子空間及びトランジスタの
1次元配置を示す図であり、図5に示す回路に対応する
ものである。図7に示すように、1つの格子点にはP型
トランジスタとN型トランジスタとを各々1つずつ配置
することができ、各トランジスタは縦置きで各格子点に
配される。格子間の距離はPチャネル領域とNチャネル
領域とで別々に設定され、また同一チャネル領域におい
て、隣接するトランジスタが拡散を共有する場合と拡散
を共有しない場合とで異なるように設定される。
【0064】次に2次元配置工程について説明する。本
実施形態に係る2次元配置工程は、処理時間の問題を含
めて実用的に最適となるよう、1次元配置工程の後処理
として位置づけられるものであり、各チャネル領域にお
いてトランジスタをセルの左右方向に複数列に配置可能
としかつトランジスタをセルの左右方向とゲート幅方向
とが同じである横置きに配置可能とした上で、セルの幅
が小さくなるよう局所的なトランジスタの配置変更を行
うものである。すなわち本実施形態に係るトランジスタ
配置方法は、1次元配置によって大域的な最適化を行っ
た後、その配置結果を局所的に改善するために2次元配
置を行うという特徴を有する。
【0065】まずステップST14において2次元格子
空間の設定を行い、トランジスタ2次元配置の準備をす
る。2次元格子空間上においては、配置要素であるトラ
ンジスタは向きとゲート幅に基づく長さとをもつ有向線
分によって表現される。トランジスタ2次元配置は、2
次元格子空間上の各格子点にトランジスタを表現する前
記有向線分を重複なく割り当てることによって行う。
【0066】このためにまずステップST15におい
て、ステップST13によるトランジスタの1次元配置
結果を2次元格子空間へマッピングする。図8は図7に
示すトランジスタ1次元配置すなわち図5に示す回路に
ついての1次元配置結果を2次元格子空間へマッピング
した結果を示す図である。図8に示すように、各トラン
ジスタを表現する有向線分が2次元格子空間上の各格子
点に割り当てられており、P型トランジスタはPチャネ
ル領域の各格子点に、N型トランジスタはNチャネル領
域の各格子点にそれぞれ割り当てられている。
【0067】図8に示すようなマッピング結果を初期配
置として、ステップST16においてトランジスタ2次
元配置の最適化を行う。トランジスタ2次元配置の最適
化は、マスク上(実レイアウト上)におけるトランジス
タの配置を評価しながらトランジスタの配置変更を繰り
返すことによって行う。トランジスタの配置変更はグル
ープ単位で行い、グループ化の際に単独で残されたトラ
ンジスタは1つのトランジスタのみで構成されるグルー
プとみなす。なおトランジスタのグループ化を行わない
場合にはトランジスタ単位で配置変更すればよい。
【0068】配置変更は具体的には次のようにして行
う。まず動かすべきグループ(グループAとする)を無
作為に選択する。次にこのグループAに対して移動先の
格子点を無作為に選択する。このとき移動先の格子点の
選択範囲を限定してもよい。そして、選択した移動先の
格子点にグループAを移動したときにグループAと他の
グループとが重ならないか否かをチェックする。重なら
ないときは選択した移動先の格子点にグループAを移動
する。グループAと他のグループ(グループBとする)
とが重なるときは、グループAとグループBとを配置交
換できるか否かをチェックする。配置交換できるときは
交換し、配置交換できないときはグループAのこの格子
点への移動を中止する。
【0069】また配置の評価は次のようにして行う。図
9はトランジスタ2次元配置最適化ST16の実行過程
におけるトランジスタ2次元配置を示す図であり、図8
に示すマッピング結果を初期配置として配置変更を行っ
たものである。まず配置変更後の格子空間上において配
線経路を想定する。具体的には各ネット(同電位の端子
の集合)についてチャネル境界領域内に一本の横配線
(幹線)を引き、この幹線に向かって前記ネットの各端
子から縦の配線を引く。例えば図9に示すように、トラ
ンジスタtp7,tp9,tn7,tn9の拡散電極と
トランジスタtp10,tp12,tn10,tn12
のゲート電極とからなるネットについて、チャネル境界
領域内に幹線31を引き、幹線31に向かってトランジ
スタtp7,tp9の拡散電極から縦配線32aを,ト
ランジスタtn7,tn9の拡散電極から縦配線32b
を、トランジスタtp10のゲート電極から縦配線32
cを,トランジスタtp12のゲート電極から縦配線3
2dを,トランジスタtn10のゲート電極から縦配線
32eを,トランジスタtn12のゲート電極から縦配
線32fを引き、配線経路30を想定する。
【0070】次に配線経路上の格子辺に配線密度を登録
する。配線経路30上の各格子辺については配線密度3
3が登録される。そして2次元格子空間上のトランジス
タの位置関係及び各格子辺に登録された配線密度を基に
して、マスク上(実レイアウト上)のトランジスタの配
置を計算する。例えば図9において、トランジスタtp
1とtp5との間隔を求める際には、その間を通る縦方
向の配線密度すなわちトランジスタtp1とtp5との
間の横格子辺に登録された配線密度が考慮される。そし
て計算した実レイアウト上のトランジスタ配置から実レ
イアウト上における配線長を計算して、この配線長によ
り配置を評価する。最終的にこの配線長が小さくなるよ
うに配置変更を繰り返す。
【0071】図10は図8に示すマッピング結果を初期
配置としてトランジスタ2次元配置最適化ST16を実
行した結果を示す図である。図10から、トランジスタ
は各チャネル領域においてセルの左右方向に複数列に配
置され、また一部のトランジスタは横置きに配置されて
おり、これによりセルの幅が大幅に縮小されているのが
分かる。
【0072】図11はマスクパターンと2次元格子空間
上の配置との関係を示す図であり、同図中、(a)はト
ランジスタtrA〜trEを含むマスクパターン、
(b)は(a)に示すマスクパターンに対応する2次元
格子空間上の配置である。図11(a)において、16
はトランジスタのゲート、17はトランジスタの拡散領
域、18は拡散コンタクトである。拡散を共有する隣接
トランジスタにおいても、間にコンタクト18を挟むか
否かによって格子点間の距離が異なる(x3<x1)よ
うになっている。
【0073】セル高さに比してトランジスタサイズが小
さい場合、1次元配置結果をそのままレイアウトに実現
するとセル内に大きな空き領域が発生してしまう。この
ような場合には、図10に示したような柔軟な配置スタ
イルの実現が必要となる。しかしながら、2次元格子空
間による2次元配置のみによって配置を決定しようとす
ると、処理時間が膨大になる恐れがある。スタンダード
セルの場合、セル設計規約が標準的なサイズのトランジ
スタの1次元配置に合わせた設定になっていることが多
いので、2次元配置処理を1次元配置の後処理として位
置づけるのが、処理時間の問題を含めて実用的には最適
であると考えられる。本発明に係るトランジスタ配置方
法は、このような点に注目して、トランジスタ1次元配
置によって大域的な最適化を行った後その配置結果を局
所的に改善するためにトランジスタ2次元配置を行う、
という特徴を有するものである。なお、トランジスタ2
次元配置の処理の詳細については「特願平7−3387
25号」に詳しく説明されている。
【0074】ここで、本実施形態に係るトランジスタ配
置方法について、1次元配置及び2次元配置における評
価指標について説明する。
【0075】スタンダードセルライブラリにおいて、3
0個程度又はこれ以上のトランジスタを含むような中規
模以上のセルになると、セル内において配線の占める割
合が大きくなるので、セル内のトランジスタ配置の最適
化を行う場合には、拡散共有を最大とする最適化よりも
配線長に着目した最適化の方が有効であると考えられ
る。
【0076】本実施形態に係るトランジスタ配置方法の
1次元配置及び2次元配置は、セルにおける配線長の推
定値に基づく評価指標を用いて、配線長の最短化を目的
としてトランジスタ配置の最適化を行う。これによっ
て、1次元配置と2次元配置との最適化処理の連携を密
接に保つことが可能となる。
【0077】セルの実際のレイアウトにおいて、トラン
ジスタのゲート電極はポリシリコン層による接続を要求
し、拡散電極は第1金属層による接続を要求する。ま
た、トランジスタ間の拡散の共有は拡散層による接続を
意味し、間に拡散コンタクトを挟むか否かでトランジス
タ間の距離が変わる。さらに、セル内でのトランジスタ
配置については、同電位のゲートがチャネル間でできる
だけ横方向の座標に関して揃っていることが求められ
る。このような制約条件は、スタンダードセルを配置要
素として扱うセル配置において配線長の最短化を考える
場合には現れない問題である。
【0078】本実施形態では、前記の問題に対応するた
めに、各ネットの配線を複数の成分に分け、分けた成分
毎に配線長を推定し、各成分の配線長の推定値に対して
それぞれ重み付けした値を和したものを評価指標として
用いてトランジスタの配置を決定する。
【0079】図12は代表的な配線構造の例を示す図で
ある。MOS論理ではトランジスタ間の配線は一般に拡
散電極群とゲート電極群とを接続すると考えられるの
で、配線を、拡散電極同士をつなぐ第1の成分、拡散電
極群とゲート電極群とをつなぐ第2の成分及びゲート電
極同士をつなぐ第3の成分の3つの成分に分け、各成分
毎に配線長を推定する。例えば図12において、トラン
ジスタtr3,tr6の拡散電極群とトランジスタtr
1,tr2,tr4,tr5のゲート電極群とを接続す
る配線は、拡散電極同士をつなぐ第1の成分の配線長に
ついてはトランジスタtr3,tr6の拡散電極間の距
離d1で推定し、拡散電極群とゲート電極群とをつなぐ
第2の成分の配線長についてはトランジスタtr3,t
r6の拡散電極の重心g1とトランジスタtr1,tr
2,tr4,tr5のゲート電極の重心g2との距離d
2で推定し,ゲート電極同士をつなぐ第3の成分の配線
長についてはトランジスタtr1,tr5のゲート電極
間の距離d3で推定する。
【0080】そして、拡散電極同士をつなぐ第1の成分
及び拡散電極群とゲート電極群とをつなぐ第2の成分に
は第1金属層を割り当て、ゲート電極同士をつなぐ第3
の成分にはポリシリコン層を割り当てるものとすると、
例えば金属配線に比べて抵抗の大きいポリシリコン配線
をより短くするためには、第3の成分の推定値d3に対
する重み付けを第1及び第2の成分の推定値d1,d2
よりも重くして和したものを、トランジスタ配置の評価
指標として用いればよい。このように、各成分の推定値
に対する重み付けを調整すれば配線形状をきめ細かく制
御できるので、ゲートのアライメント等にも容易に対応
することできる。
【0081】(第2の実施形態)図13は本発明の第2
の実施形態に係るトランジスタ配置方法の処理の流れを
示すフローチャートである。本実施形態に係るトランジ
スタ配置方法は基本的な処理の流れについては第1の実
施形態と同様であり、これに加えて、トランジスタ1次
元配置の際に回路的な情報を利用することを特徴とする
ものである。
【0082】本実施形態に係るトランジスタ配置方法は
トランジスタ1次元配置の際に『ステージ』という回路
的な概念を用いる。MOS論理においては、信号はトラ
ンジスタのドレインから他のトランジスタのゲートへ伝
わると一般に考えることができるので、各トランジスタ
から前記トランジスタが係る出力端子までの信号経路を
ネットリストから特定することが可能であり、トランジ
スタから出力端子までの経路長をこの経路上のゲートの
個数によって表すことができる。
【0083】ここで、トランジスタから出力端子までの
経路上のゲートの個数のことをステージと定義する。図
14は図4に示した回路におけるステージを示す図であ
り、四角で囲んだ数字が各トランジスタのステージの値
を示している。図14において、各トランジスタのステ
ージはそれぞれ次のようになる。 ステージ=1:tp11,tp12,tn11,tn1
2 ステージ=2:tp8,tp9,tp10,tn8,t
n9,tn10 ステージ=3:tp2,tp3,tp7,tn2,tn
3,tn7 ステージ=4:tp4,tp5,tp6,tn4,tn
5,tn6 ステージ=5:tp0,tp1,tn0,tn1
【0084】本実施形態に係るトランジスタ配置方法で
は、ステップST10で入力したネットリストが表す回
路に対してステップST21において、図14に示すよ
うなステージの設定を行う。そしてステップST12で
1次元格子空間の設定を行った後に、ステージによる1
次元初期配置ST22及びステージを用いた1次元配置
最適化ST23を実行する。
【0085】ステージは当該トランジスタの出力端子ま
での距離を表現しているので、配線長を最適化する上で
有用な概念であるといえる。すなわち、セルの入力端子
を左側に配し、出力端子を右側に配するとすれば、大き
な値のステージを持つトランジスタほど左寄りに配置す
ると共に小さな値のステージを持つトランジスタほど右
寄りに配置すれば、トランジスタを信号の流れに沿って
配置することになり、結果的に配線を最適化することが
できる。しかしながら実際には同じステージを持つトラ
ンジスタが多数存在するので、ステージ毎にグループ化
して順に配置するだけでは配線を最適化することはでき
ない。
【0086】そこで本実施形態では次のように1次元配
置を行う。まずステップST22において1次元配置の
初期配置を行う。ステップST22における1次元初期
配置は、すでに説明したように、ステップST21で設
定したステージの順にトランジスタを配列するものであ
る。そしてステップST23において1次元配置の最適
化を行う。このときステージの概念を次のように用い
る。セルの入力端子をセルの左側に配置すると共に出力
端子をセルの右側に配置する場合を例にとると、配置の
逐次改善において、任意に選択した一のトランジスタに
ついて、この一のトランジスタのステージよりも1だけ
大きなステージ値を持つトランジスタのうち最も左にあ
るものの位置を移動先の左の限界とし、前記一のトラン
ジスタのステージよりも1だけ小さなステージ値を持つ
トランジスタのうち最も右にあるものの位置を移動先の
右の限界とする。このようにステージの概念を有効に用
いて最適化処理を行うことによって、1次元配置の処理
効率を上げることができる。
【0087】なお、本実施形態においても、入力したネ
ットリストが表す回路に対して第1の実施形態と同様に
トランジスタのグループ化を行ってもよい。
【0088】(第3の実施の形態)図15は本発明の第
3の実施形態に係るトランジスタ配置方法の処理の流れ
を示すフローチャートである。本実施形態に係るトラン
ジスタ配置方法は、第1の実施形態に係るトランジスタ
配置方法において、1次元配置工程と2次元配置工程と
の間にステップST31及びST32からなるトランジ
スタ折り返し工程を加えたものである。
【0089】トランジスタ折り返し工程はセル高さに対
して大きなサイズを持つトランジスタを扱う場合に必要
である。本実施形態では、1次元配置工程と2次元配置
工程との間にトランジスタ折り返し工程を組み入れるこ
とによって、従来よりも精度の高いトランジスタのゲー
ト折り返し処理を実現するものである。すなわち、従来
のトランジスタのゲート折り返し処理は、セル高さとト
ランジスタサイズとの比較のみに基づいて行われていた
が、本実施形態では1次元配置を行った後にトランジス
タのゲート折り返し処理を行うので、実際のレイアウト
に則して当該トランジスタに係る配線密度をも考慮する
ことができる。すなわち、1次元配置工程のトランジス
タ配置結果から、セルの左右方向におけるトランジスタ
の配置位置毎に配線横成分の配線密度を求め、一のトラ
ンジスタ配置位置におけるトランジスタ高さと配線横成
分の配線密度との和からなるレイアウト高さがセル高さ
の設定値を越えるとき、一のトランジスタ配置位置に配
置されたトランジスタをゲート折り返しによって分割
し、分割したトランジスタを新たな配置要素として、1
次元配置工程のトランジスタ配置結果を修正する。トラ
ンジスタのゲート折り返し処理において1次元配置結果
における配線密度を考慮するので、配線密度に合わせて
最適な折り返し段数を決定することができる。
【0090】図16は本実施形態に係るトランジスタ折
り返し工程を説明するための図であり、同図中、(a)
はトランジスタ折り返し工程前のトランジスタの1次元
配置を示す図、(b)は(a)に示すトランジスタ1次
元配置についてステップST31及びST32からなる
トランジスタ折り返し工程を実行した結果を示す図であ
る。図16(a),(b)から、トランジスタtrc,
trd,trg,trhがそれぞれ折り返されており、
これに伴いトランジスタ1次元配置全体も修正されてい
るのが分かる。ステップST31においてトランジスタ
のゲート折り返し処理を行い、ステップST32におい
てトランジスタ1次元配置を修正した後、第1の実施形
態と同様に2次元配置工程を実行することによって、ト
ランジスタ配置を最適化することができる。
【0091】(第4の実施形態)本発明の第4の実施形
態は、1次元配置スタイルを用いたトランジスタ配置方
法に関するものであり、マスク図上の配置評価に基づい
て拡散の最適化と配線の最適化を共に行い、最適な配置
結果を導くものである図17は本発明の第4の実施形態
に係るトランジスタ配置方法の処理の流れを示すフロー
チャートである。まずステップST41において、ネッ
トリストを入力する。具体的には、計算機の記憶装置等
からネットリストを読み込み、ネットリストに記述され
た配置対象となるトランジスタ及びセルの入出力端子に
ついての接続要求並びに各トランジスタのサイズに関す
る情報をシステムの内部に記憶する。
【0092】次にステップST42において、トランジ
スタのグループ化を行う。ここでは第1の実施形態にお
けるステップS11と同様に、各チャネル領域内のトラ
ンジスタについて、拡散電極同士が分岐を含まない単純
な直列接続を形成している場合に、この直列接続を構成
するトランジスタを1つのグループにまとめる。いずれ
の直列接続にも属さないトランジスタはグループ化せ
ず、単独で広義の直列接続を構成しているとみなし、各
トランジスタを単一トランジスタによるグループとす
る。
【0093】ステップST43以降は、ステップS42
で形成したグループを内部配置が確定した配置要素とみ
なし、グループの配置最適化を行う工程である。
【0094】ステップST43は、セルに対して1次元
格子空間すなわち水平方向に並ぶ格子点列を設定する工
程である。そしてステップST44は、ステップST4
3で設定した格子点列上にトランジスタを初期配置する
工程である。図18は格子点列上のトランジスタ配置の
1例を示す図である。各格子点51にはP型トランジス
タ52とN型トランジスタ53とを各々1つずつ縦置き
で配置することができ、各格子点においてPチャネル領
域若しくはNチャネル領域のいずれか一方又は両方が空
きであっても構わない。
【0095】ここで、ステップST43で配置する格子
点の数について言及しておく。一般に格子モデルを用い
て配置問題を処理する場合、準備する格子点の数は配置
要素の数に応じた必要最小限のものとするのが通例であ
った。これは、格子点の数をいたずらに増やしても最適
化のために探索すべき解空間が大きくなるだけであり、
かえって処理効率が落ちると考えられていたからであ
る。本実施形態のようなトランジスタ配置の場合には、
格子点の必要最小限の数とは、P型トランジスタとN型
トランジスタのうちの多い方の数である。
【0096】しかしながら、トランジスタ配置問題に格
子点列を用いたところ、格子点の数をP型トランジスタ
とN型のトランジスタのうちの多い方の数に対して1/
3程度の余裕を加えたものに設定したところ、処理効率
が上がるという実験結果が得られた。これは、格子点を
増やしたことによって、最適値を与える最適解の数も増
えたためであると考えられる。格子点の数は、増やし過
ぎた場合には処理効率が下がってしまうおそれがある
が、トランジスタ数に対してある程度までは余裕を持た
せた方が処理効率を上げるためにも有効である。
【0097】ステップST45からステップST50ま
では、繰り返し処理によってグループ配置の最適化を行
う配置最適化処理である。本発明に係る配置最適化処理
は初期配置から反復配置改善を行って配置評価関数を最
小にする配置を決定するものであり、ここではシミュレ
ーテッド・アニーリング法(SA法)によるスケジュー
リングを実現しているが、他のスケジューリング方法を
用いても差し支えない。
【0098】配置最適化処理の説明の前に、格子点列上
のトランジスタ配置とグループ配置との関係を簡単に説
明しておく。すでに説明したように、グループ内のトラ
ンジスタ配置は回路上の直列の順にトランジスタを並べ
ることによって行われる。格子点列上では、このトラン
ジスタ列を連続した格子点に割り当てることによって表
現する。この場合、例えば図19(a)に示すグループ
のトランジスタが格子点列上において図19(b)に示
すような2通りの配置ができるように、格子点列上では
グループ内のトランジスタ配置として2通りの配置が可
能になる。これはグループが反転の自由度を有している
と考えることができる。グループの配置最適化処理にお
いては各グループの反転の自由度も考慮する。
【0099】ステップST45は格子点列上のトランジ
スタ配置をマスク設計ルールを満たすマスク図上のトラ
ンジスタ配置に座標変換する工程である。最終的に最適
化したいのはマスク設計ルールを反映したマスク図上の
トランジスタ配置であるから、配置評価を効果的に行う
ために、格子点列上の配置をマスク図上の配置に変換す
る必要がある。
【0100】図20は格子点列上の配置を表すデータの
1例を示す図である。同図中、xは格子点、tr na
meはトランジスタの識別記号、L mnetはトラン
ジスタの左側の拡散電極のネット番号、G mnetは
トランジスタのゲート電極のネット番号、R mnet
はトランジスタの右側の拡散電極のネット番号をそれぞ
れ表している。また、msscはグループの識別番号を
表し、同じグループに属するトランジスタは同じ値を持
つ。なお、*はその格子点にトランジスタが配置されて
いないことを表す。
【0101】図20に示すような格子点列上の配置をマ
スク図上の配置に変換する方法は自明ではない。格子点
列上の配置をマスク図上の配置に変換するもっとも簡単
な方法は、それぞれのチャネル領域において独立に左か
ら順にトランジスタを詰めていく方法であろう。すなわ
ち、マスク図上のトランジスタの配置位置を同じチャネ
ル領域の1つ左にあるトランジスタとの関係のみに基づ
いて決定する方法である。図21はこのような変換方法
によって図20に示す格子点列上の配置を変換したマス
ク図上の配置を示す図である。同図中、隙間81は向か
い合う拡散電極が異なる電位を持つため拡散島が分離し
ていることを示している。一方、隙間82は向かい合う
拡散電極が同電位であるが他にも同電位の電極があるた
めそこに拡散コンタクトが打たれることを表しており、
拡散島としてつながることを示している。そしてトラン
ジスタ間に隙間がない部分83は分岐のない拡散の直列
接続を表しており、トランジスタが1つのグループとし
て配置されていることが分かる。このように、単純な左
詰めの変換方法でも各チャネル領域の拡散島の構成を正
しく表現することはできる。しかしながら、拡散島間の
間隔が常に最小ルールに等しくなってしまう等、格子点
列上の配置が表現する多様性が失われてしまう面があ
り、配置評価のための変換としては適当ではない。
【0102】もう一つ簡単な変換方法として、同じ格子
点に配置されたP型トランジスタとN型トランジスタは
ゲートの中心を合わせてマスク図上に配置するという方
法がある。一方のチャネル領域においてトランジスタの
配置を決めるとき、他方のチャネル領域においてこのト
ランジスタと同一の格子点にトランジスタが配置されて
いなければ、同一チャネルの隣のトランジスタとの関係
に基づいて配置を決めればよい。この方法は従来からよ
く用いられているものであるが、拡散関連のマスク設計
ルールが複雑な場合に拡散島を正しく表現できないとい
う欠点がある。すなわち、例えば、隣接するトランジス
タが拡散電極を共有する場合、共有する拡散電極に拡散
コンタクトが必要か否かによって前記隣接するトランジ
スタのゲート間隔が異なる、というルールが現実に存在
するが、常にゲートを揃えて配置するこの方法による
と、このようなルールに適応した拡散島を正しく表現す
ることはできない。
【0103】本実施形態では、拡散島内はマスク設計ル
ールによる最小サイズで配置し、拡散島間は格子点列上
の配置を反映させた間隔で配置するために、次のような
変換方法を用いる。
【0104】図22及び図23は本実施形態に係る格子
点列上配置からマスク図上配置への変換方法の処理の流
れを示すフローチャートであり、図22は基本的な処理
の流れを示す図、図23は一方のチャネル領域において
左から右へトランジスタを辿りながら位置を決めていく
処理(LtoR)を示す図である。この方法は基本的には
左から右へと順にトランジスタの位置を決めていくので
あるが、一方のチャネル領域において左から右へトラン
ジスタを辿りながら位置を決めていく処理を、他方のチ
ャネル領域におけるトランジスタ配置状況との関連によ
って途中で止めて、次にチャネル領域を移して同様の処
理を行い、以下これを繰り返す、という方法である。も
ちろん右から左へトランジスタの位置を決めていっても
よい。
【0105】図18に示す格子列点上配置をマスク図上
配置に変換する場合を例にとって、図22及び図23の
フローチャートにしたがって本実施形態に係る格子点列
上配置からマスク図上配置への変換方法を説明する。ま
ず、ステップSA1において最左端のトランジスタとし
てP型トランジスタP1を特定し、ステップSA2にお
いてP型トランジスタP1の位置をマスク図上の原点に
セットする。そしてステップSA3において、探索位置
を両チャネル領域共に最左端トランジスタの格子位置に
合わせる。すなわちPチャネル領域及びNチャネル領域
共に探索位置を格子点0とする。次にステップSA4に
おいて、最左端トランジスタ(P型トランジスタP1)
のチャネル領域すなわちPチャネル領域において探索位
置を1つ右の格子点に移動する。これによりPチャネル
領域の探索位置は格子点1となる。
【0106】次にステップSA5において、最左端トラ
ンジスタ(P型トランジスタP1)のチャネル領域すな
わちPチャネル領域においてLtoR処理を実行する(図
23)。まずステップSB1において探索位置にトラン
ジスタがあるか否かを判断する。格子点1にはP型トラ
ンジスタP2があるのでステップSB2に進む。ステッ
プSB2においてP型トランジスタP2は本LtoR処理
において最初のトランジスタであるので、ステップSB
3に進む。ステップSB3において格子点1には位置決
定済みのN型トランジスタはない(N型トランジスタN
2のマスク図上の位置はまだ決定されていない)ので、
ステップSB4に進み、P型かN型かを問わず、最右の
位置決定済みトランジスタとの関係からP型トランジス
タP2のマスク図上の位置を決定する。すなわちP型ト
ランジスタP2のマスク図上の位置は唯一の位置決定済
みトランジスタであるP型トランジスタP1の位置に基
づいて決定される。
【0107】ステップSB9において探索位置を1つ右
の格子点すなわち格子点2に移動し、ステップSB1に
戻る。格子点2にはP型トランジスタはないのでステッ
プSB7に進む。ステップSB7において格子点2には
N型トランジスタN3があるのでステップSB8に進
み、ステップSB8においてPチャネル領域の探索位置
である格子点2がNチャネル領域の探索位置である格子
点0よりも右にあるので、LtoR処理を終了する。
【0108】ステップSA6において、全てのトランジ
スタの位置はまだ決まっていないのでステップSA7に
進み、最左端トランジスタ(P型トランジスタP1)の
属さないチャネル領域であるNチャネル領域において格
子点0を探索位置としてLtoR処理を実行する。格子点
0にはN型トランジスタN1があり(ステップSB
1)、N型トランジスタN1は本LtoR処理において最
初のトランジスタである(ステップSB2)ので、ステ
ップSB3に進む。ステップSB3において格子点0に
位置決定済みのP型トランジスタP1があるので、ステ
ップSB5に進み、P型トランジスタP1の位置にN型
トランジスタN1をセットし(N型トランジスタN1の
左隣にはトランジスタはないため)、ステップSB9に
進む。
【0109】ステップSB9において探索位置を1つ右
の格子点すなわち格子点1に移動し、ステップSB1に
戻る。格子点1にはN型トランジスタN2があり(ステ
ップSB1)、N型トランジスタN2は本LtoR処理に
おいて最初のトランジスタでない(ステップSB2)の
で、ステップSB6に進む。ステップSB6において1
つ前に位置決定されたトランジスタすなわちN型トラン
ジスタN1の位置に基づいてN型トランジスタN2の位
置を決定する。以下同様に、N型トランジスタN3の位
置はN型トランジスタN2の位置に基づいて決定され、
N型トランジスタN4の位置はN型トランジスタN3の
位置に基づいて決定される。
【0110】ステップSB9において探索位置を格子点
4に移動し、ステップSB1に戻る。格子点4にはN型
トランジスタはないのでステップSB7に進む。ステッ
プSB7において格子点4にはP型トランジスタP4が
あるのでステップSB8に進み、ステップSB8におい
てNチャネル領域の探索位置である格子点4がPチャネ
ル領域の探索位置である格子点2よりも右にあるので、
LtoR処理を終了する。
【0111】ステップSA8において、全てのトランジ
スタの位置はまだ決まっていないのでステップSA5に
戻り、Pチャネル領域において格子点2を探索位置とし
てLtoR処理を実行する。格子点2にP型トランジスタ
はなく(ステップSB1)、N型トランジスタはある
(ステップSB7)のでステップSB8に進み、ステッ
プSB8においてPチャネル領域の探索位置である格子
点2はNチャネル領域の探索位置である格子点4よりも
右にはないので、ステップSB9に進み、探索位置を1
つ右の格子点すなわち格子点3に移動し、ステップSB
1に戻る。格子点3にP型トランジスタP3があり(ス
テップSB1)、P型トランジスタP3は本LtoR処理
において最初のトランジスタである(ステップSB2)
のでステップSB3に進む。格子点3には位置決定済み
のN型トランジスタN4がある(ステップSB3)の
で、ステップSB5においてN型トランジスタN4の位
置と、P型トランジスタP3とP型トランジスタP2と
の関係から決まる位置とを比較して、より右の位置にP
型トランジスタP3の位置を決定する。
【0112】ステップSB9において探索位置を1つ右
の格子点すなわち格子点4に移動し、ステップSB1に
戻る。格子点4にはP型トランジスタP4があり(ステ
ップSB1)、このP型トランジスタP4は本LtoR処
理において最初のトランジスタでない(ステップSB
2)ので、ステップSB6に進む。ステップSB6にお
いて1つ前に位置決定されたトランジスタすなわちP型
トランジスタP3の位置に基づいてP型トランジスタP
4の位置を決定する。以下同様に、P型トランジスタP
5〜P9の位置は決定される。
【0113】ステップSA6において、全てのトランジ
スタの位置はまだ決まっていないのでステップSA7に
進み、Nチャネル領域において格子点4を探索位置とし
てLtoR処理を実行する。このLtoR処理において、N
型トランジスタN5の位置は、P型トランジスタP5の
位置とN型トランジスタN4とN型トランジスタN5と
の関係から決まる位置とを基にして決定される。またN
型トランジスタN6〜N13はそれぞれ左隣に位置する
N型トランジスタの位置に基づいて決定される。同様
に、Pチャネル領域において格子点10を探索位置とし
て実行されるLtoR処理において、P型トランジスタP
10の位置は、N型トランジスタN11の位置とP型ト
ランジスタP9とP型トランジスタP10との関係から
決まる位置とを基にして決定され、P型トランジスタP
11〜13はそれぞれ左隣に位置するP型トランジスタ
の位置に基づいて決定される。
【0114】以上説明したように、本実施形態に係る格
子点列上配置からマスク図上配置への変換方法は、一方
のチャネル領域において左から右へトランジスタを辿っ
ている間は拡散関連の最小ルールに従い、チャネル領域
を移って左から右へ辿る処理を新たに開始するときには
最初のトランジスタについてのみ反対側のチャネル領域
のトランジスタの位置を参照するものである。言い換え
れば、マスク図上における一のトランジスタの配置位置
を、この一のトランジスタと同じチャネル領域において
前記一のトランジスタの1つ左側の格子点位置にトラン
ジスタが配置されている場合はこのトランジスタのマス
ク図上の配置位置を基にして決定する一方、配置されて
いない場合は、前記一のトランジスタと異なるチャネル
領域において前記一のトランジスタと同じ格子点位置に
トランジスタが配置されておりかつこのトランジスタの
マスク図上の配置位置がすでに決定されているとき、こ
のトランジスタのマスク図上の配置位置を基にして決定
する。これによって、格子点列上の配置を比較的忠実に
マスク図上に反映させることが可能となり、トランジス
タ配置をマスク図上で最適化する上で大きな効果を得る
ことができる。
【0115】図24はこのような変換方法によって図2
0に示す格子点列上の配置を変換したマスク図上の配置
を示す図である。図21ではNチャネル領域の拡散島が
全て左に寄せられてしまっていたが、図24ではこの点
が修正されており、マスク設計ルールに基づく間隔より
も大きな間隔101が空いているのがわかる。
【0116】ステップST46はマスク図上の配置を評
価する工程である。セル幅の縮小とセル高さの縮小とを
同時に実現して最適なセルのレイアウトを得るために
は、拡散島の最適化と配線の最適化とを同時に達成しな
ければならない。そのような最適化を実現するための鍵
となるのが配置評価関数の定義を含む配置評価方法であ
る。
【0117】本実施形態に係る配置評価方法について説
明する。まず基本的に、配置の評価はネットの広がりに
基づいて行う。評価するネットは次の2つの条件を満た
すものである。 ・信号ネットであること(電源ネットでもグランド・ネ
ットでもないこと) ・グループ間にまたがるネットであること 従来のトランジスタ配置手法においては、トランジスタ
の電極間の接続を表すネットをグループ間の接続として
表現し直すことが多かった。その場合、実際のマスク図
上の電極位置が反映されないので、配線形状を正確に評
価していることにはならない。本実施形態における配線
の評価は、トランジスタ電極の位置を直接用いてマスク
図上の配線を評価するものである。
【0118】トランジスタレベルのネットを構成する電
極は、トランジスタの拡散電極(ソース又はドレイン)
とトランジスタのゲート電極との2種類であり、トラン
ジスタはP型とN型の2種類に分けられる。ここではネ
ットを構成する電極を、P型拡散電極(P型トランジス
タの拡散電極)群、N型拡散電極(N型トランジスタの
拡散電極)群、及びゲート電極群の3つの電極群に分け
て、各ネットについて4つの広がりを考える。すなわ
ち、(a)P型拡散電極群の広がり、(b)N型拡散電
極群の広がり、(c)ゲート電極群の広がり、(d)全
電極群の広がり、の4つである。本実施形態ではトラン
ジスタの配置を水平1次元配置スタイルで考えているの
で、ネットの広がりについては水平方向の広がりのみを
評価する。P型拡散電極群の広がりはネットにおける最
左のP型拡散電極と最右のP型拡散電極との距離で推定
し、N型についても同様に推定する。ゲート電極群の広
がりも同様にネットにおける最左と最右のゲート電極の
距離で推定し、全電極群の広がりについては、電極の種
類を問わずネットの最左と最右の電極間の距離で推定す
る。図25は4つのネットの広がりを示す図である。図
25において、113はP型拡散電極群の広がり、11
4はN型拡散電極群の広がり、115はゲート電極群の
広がり、116は全電極群の広がりである。
【0119】ここで配置評価関数Sを定義する。配置評
価関数Sに用いるネット広がりの値は、いま説明したト
ランジスタ位置見積もりに基づく電極位置から計算され
る値である。各ネットのP型拡散電極群の広がりをA、
各ネットのN型拡散電極群の広がりをB、各ネットのゲ
ート電極群の広がりをC、各ネットの全電極群の広がり
をDとすると、 S=Σnet (w1*A+w2*B+w3*C+w4*
D) となる。ここで、w1,w2,w3,w4は重み定数で
ある。
【0120】いま、重み定数をw1=w2=w3=0,
w4=1.0と設定すれば、通常の配線長評価に用いら
れるものと同等の評価関数となる。これに対して、本実
施形態では重み定数w1,w2,w3をある正数に設定
するわけであるが、この狙いを説明する。
【0121】まず、基本的に、配線の広がりを評価する
ことによって、拡散の最適化をも実現することができる
理由を説明しなければならない。これは、配線をマスク
図上の配置によって評価しているからである。拡散の共
有化が進み拡散の分離部分が減ると、マスク的にチャネ
ルの幅が縮小できる。したがって、セル幅が縮小するわ
けであるが、セル幅が縮小すれば、ネットの広がりの和
すなわち前記の配置評価関数SにおけるDの値が小さく
なることが強く期待できる。すなわち、ネット広がりを
正確に評価している限り、ある程度まではネット広がり
Dの最小化と拡散の最適化とは相関するものと考えられ
る。
【0122】そして、さらに拡散電極を積極的に共有化
させようと思えば、前記のネット広がりA,Bを配置評
価関数に加えればよい。ある2つの拡散電極を共有化す
ることができれば、チャネル内の拡散電極の広がりA,
Bの値は大幅に小さくなるはずであるからである。また
ここでは、信号ネットのみを評価の対象としていること
から、拡散電極の広がりを縮小して拡散電極の共有化を
促進することはドレイン容量の低減にもつながるので、
ネット広がりA,Bを配置評価関数に加えることはドレ
イン容量の低減も考慮していることにもなっている。こ
のように、前記の配置評価関数Sは、直接的には配線を
最適化しながら間接的に拡散を最適化することのできる
評価関数である。最後に、配置評価関数Sの中のCの項
は、ゲートのアライメントを促進できるよう配慮して加
えたものである。従来のように部分回路の抽出に基づき
グループ化を行いグループ内配置によって強制的にゲー
トのアライメントを保証するよりも、本発明に係るグル
ープ化と配置評価関数によって、セル全体のトランジス
タ配置に適応しながらより柔軟にゲートのアライメント
を実現することができる。
【0123】ステップST50は配置を変更する工程で
ある。従来、トランジスタ配置の配置変更は、P型トラ
ンジスタとN型トランジスタとの間になんらかの結合関
係を設けて、結合されたトランジスタは必ず同時に動か
なければならない、という制約を設ける場合がほとんど
であった。しかしながら、本実施形態に係るトランジス
タ配置手法は、P型トランジスタとN型トランジスタと
の結合関係をあらかじめ設定することなく全てのトラン
ジスタの配置を前記配置評価関数によって最適化するこ
とを意図しているので、各回の配置変更は、一方のチャ
ネルにおけるグループの配置変更に限るというのがこの
ステップST50の特徴である。
【0124】以上説明したように、本実施形態に係るト
ランジスタ配置方法はマスク設計ルールに基づくマスク
図上の配置において最適化を行うものであり、配線を最
適化しながら間接的に拡散の最適化をも進めることがで
きる。処理を効率化するためのグループ化処理は分岐の
ない直列接続をまとめるという最小限のグループ化にと
どめているので、適用できるセルの範囲は広い。
【0125】図26及び図27は図4に示す回路に対し
て本実施形態に係るトランジスタ配置方法を実行した結
果を表す図であり、図26は格子点列上配置を表すデー
タを示す図であり、図27はマスク図上トランジスタ配
置を示す図である。この場合の計算機の処理時間は5分
程度であり、本実施形態に係るトランジスタ配置方法が
十分実用的であることが示された。
【0126】
【発明の効果】以上説明したように本発明によると、1
次元配置と2次元配置を組み合わせることによって、ま
た回路的な概念を配置最適化に利用することによって、
スタンダードセルのレイアウト合成において、実用時間
で人手並の最適なトランジスタ配置を得ることができ
る。
【0127】また本発明によると、トランジスタの1次
元配置スタイルにおいて、拡散の最適化と配線の最適化
とを同時に行うことによって、セルのレイアウト合成に
おいて、実用時間で集積度の高いトランジスタ配置を提
供することができる。
【図面の簡単な説明】
【図1】セルレイアウト合成(セル合成)方法の処理の
流れを示すフローチャートである。
【図2】本発明に係るトランジスタ配置方法が対象とす
るセルモデルを表す図である。
【図3】本発明の第1の実施形態に係るトランジスタ配
置方法の処理の流れを示すフローチャートである。
【図4】ネットリストが表す回路の例を示す回路スケマ
ティック図である。
【図5】図4の回路に対して本発明に係るグループ形成
処理を実行した結果を示す図である。
【図6】本発明に係るグループ形成処理により形成した
グループ内におけるトランジスタ配置を説明するための
図であり、(a)は一のグループに属するトランジス
タ、(b)は(a)に示すトランジスタのレイアウトで
ある。
【図7】1次元格子空間とトランジスタ1次元配置モデ
ルを示す図であり、図5に示す回路に対応するものであ
る。
【図8】図7に示すトランジスタ1次元配置結果を2次
元格子空間へマッピングした結果を表す図である。
【図9】トランジスタ2次元配置最適化処理の実行過程
におけるトランジスタ2次元配置を示す図である。
【図10】トランジスタ2次元配置最適化処理の実行結
果を示す図である。
【図11】(a)はマスクパターンの例、(b)は
(a)に示すマスクパターンに対応する2次元格子空間
上の配置である。
【図12】代表的な配線構造の例を示す図であり、本発
明に係る配線長の評価について説明するための図であ
る。
【図13】本発明の第2の実施形態に係るトランジスタ
配置方法の処理の流れを示すフローチャートである。
【図14】ステージという概念を説明するための図であ
り、図4に示す回路におけるステージを示す図である。
【図15】本発明の第3の実施形態に係るトランジスタ
配置方法の処理の流れを示すフローチャートである。
【図16】本発明の第3の実施形態に係るトランジスタ
のゲート折り返し処理を説明するための図であり、
(a)はゲート折り返し処理前のトランジスタ1次元配
置を示す図、(b)は(a)に示すトランジスタ1次元
配置についてゲート折り返し処理を実行した結果を示す
図である。
【図17】本発明の第4の実施形態に係るトランジスタ
配置方法の処理の流れを示すフローチャートである。
【図18】格子点列上のトランジスタ配置の1例を示す
図である。
【図19】本発明に係るグループ形成処理によって形成
されたグループが反転の自由度を有していることを示す
図であり、(a)は一のグループに属するトランジス
タ、(b)は(a)に示すグループのトランジスタの格
子点列上における2通りの配置を示す図である。
【図20】格子点列上の配置を表すデータの1例を示す
図である。
【図21】従来の変換方法によって図20に示す格子点
列上の配置をマスク図上の配置に変換した結果を示す図
である。
【図22】本発明に係る格子点列上配置からマスク図上
配置への変換方法の基本的な処理の流れを示すフローチ
ャートである。
【図23】本発明に係る格子点列上配置からマスク図上
配置への変換方法において、一方のチャネル領域におい
て左から右へトランジスタを辿りながら位置を決めてい
く処理(LtoR)を示すフローチャートである。
【図24】本発明に係る変換方法によって図20に示す
格子点列上の配置をマスク図上の配置に変換した結果を
示す図である。
【図25】本発明に係る配置評価において用いるネット
広がりを示す図である。
【図26】図4に示す回路に対して本発明の第4の実施
形態に係るトランジスタ配置方法を実行した結果の格子
点列上配置を示す図である。
【図27】図4に示す回路に対して本発明の第4の実施
形態に係るトランジスタ配置方法を実行した結果のマス
ク図上トランジスタ配置を示す図である。
【符号の説明】
1 ネットリスト 6 P型トランジスタ 7 N型トランジスタ 8 Pチャネル領域 9 Nチャネル領域 15 グループ 51 格子点 52 P型トランジスタ 53 N型トランジスタ 113 P型拡散電極群の広がり 114 N型拡散電極群の広がり 115 ゲート電極群の広がり 116 全電極群の広がり

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも一つのトランジスタを有する
    セルについて、セルにおけるトランジスタの接続情報及
    び各トランジスタのサイズ情報を記述するネットリスト
    を基にして、セル領域におけるトランジスタの配置を決
    定するトランジスタ配置方法であって、 セルの上下方向の高さは所定の値に設定されており、セ
    ルの左右方向の幅は可変であるとき、 セル領域をPチャネル領域とNチャネル領域とに上下に
    分割し、前記ネットリストに基づいて、セルが有するP
    型トランジスタをPチャネル領域においてセルの上下方
    向とゲート幅方向とを合わせて置く縦置き状態でセルの
    左右方向に1列に配置すると共に、セルが有するN型ト
    ランジスタをNチャネル領域において縦置き状態でセル
    の左右方向に1列に配置する1次元配置工程と、 前記1次元配置工程のトランジスタ配置結果に対して、
    各チャネル領域においてトランジスタをセルの左右方向
    に複数列に配置可能としかつトランジスタをセルの左右
    方向とゲート幅方向とを合わせて置く横置き状態で配置
    可能とした上で、セルの幅が小さくなるようトランジス
    タの配置変更を行う2次元配置工程とを備えていること
    を特徴とするトランジスタ配置方法。
  2. 【請求項2】 請求項1記載のトランジスタ配置方法に
    おいて、 前記ネットリストから、拡散電極同士が分岐を含まない
    直列接続を形成している同一導電型のトランジスタを抽
    出し、抽出したトランジスタを1つのグループにまとめ
    るグループ形成工程を備え、 前記1次元配置工程及び2次元配置工程は、 前記グループ形成工程において1つのグループにまとめ
    たトランジスタを単一の配置要素として、トランジスタ
    の配置を行うことを特徴とするトランジスタ配置方法。
  3. 【請求項3】 請求項1記載のトランジスタ配置方法に
    おいて、 前記1次元配置工程及び2次元配置工程は、セルにおけ
    る配線長の推定値に基づく評価指標を用いて、トランジ
    スタの配置を行うことを特徴とするトランジスタ配置方
    法。
  4. 【請求項4】 請求項3記載のトランジスタ配置方法に
    おいて、 前記1次元配置工程及び2次元配置工程は、 各ネットの配線をネットにおける位置付けに基づいて複
    数の成分に分け、分けた成分毎に配線長を推定し、各成
    分の配線長の推定値にそれぞれ重み付けした値を和した
    ものをトランジスタ配置の評価指標として用いることを
    特徴とするトランジスタ配置方法。
  5. 【請求項5】 請求項4記載のトランジスタ配置方法に
    おいて、 前記1次元配置工程及び2次元配置工程は、 各ネットの配線をポリシリコン層に割り当てる成分と金
    属層に割り当てる成分とに分け、ポリシリコン層に割り
    当てる成分の配線長の推定値と金属層に割り当てる成分
    の配線長の推定値とに相異なる重み付けをした値を和し
    たものをトランジスタ配置の評価指標として用いること
    を特徴とするトランジスタ配置方法。
  6. 【請求項6】 請求項1記載のトランジスタ配置方法に
    おいて、 セルはMOS論理セルであり、 ネットリストを基にして、各トランジスタに対し、トラ
    ンジスタからこのトランジスタが係る信号出力端子まで
    の経路上のゲートの個数であるステージを設定するステ
    ージ設定工程を備え、 前記1次元配置工程は、 前記ステージ設定工程により設定された各トランジスタ
    のステージを用いて、トランジスタの配列順序を決定す
    ることを特徴とするトランジスタ配置方法。
  7. 【請求項7】 請求項1記載のトランジスタ配置方法に
    おいて、 前記1次元配置工程のトランジスタ配置結果から、セル
    の左右方向におけるトランジスタの配置位置毎に配線横
    成分の配線密度を求め、一のトランジスタ配置位置にお
    けるトランジスタ高さと配線横成分の配線密度との和か
    らなるレイアウト高さがセル高さの設定値を越えると
    き、前記一のトランジスタ配置位置に配置されたトラン
    ジスタをゲート折り返しによって分割し、分割したトラ
    ンジスタを新たな配置要素として、前記1次元配置工程
    のトランジスタ配置結果を修正するトランジスタ折り返
    し工程を備えていることを特徴とするトランジスタ配置
    方法。
  8. 【請求項8】 少なくとも一つのトランジスタを有する
    セルについて、セルにおけるトランジスタの接続情報を
    記述するネットリストを基にして、セル領域におけるト
    ランジスタの配置を決定するトランジスタ配置方法であ
    って、 前記ネットリストから、拡散電極同士が分岐を含まない
    直列接続を形成している同一導電型のトランジスタを抽
    出し、抽出したトランジスタを1つのグループにまとめ
    るグループ形成工程を備え、 前記グループ形成工程において1つのグループにまとめ
    たトランジスタを単一の配置要素として、トランジスタ
    の配置を行うことを特徴とするトランジスタ配置方法。
  9. 【請求項9】 少なくとも一つのトランジスタを有する
    セルについて、セルにおけるトランジスタの接続情報を
    記述するネットリストを基にして、セル領域におけるト
    ランジスタの配置を決定するトランジスタ配置方法であ
    って、 各ネットの配線をネットにおける位置付けに基づいて複
    数の成分に分け、分けた成分毎に配線長を推定し、各成
    分の配線長の推定値にそれぞれ重み付けした値を和した
    ものを評価指標として用いて、トランジスタの配置を決
    定することを特徴とするトランジスタ配置方法。
  10. 【請求項10】 請求項9記載のトランジスタ配置方法
    において、 各ネットの配線をポリシリコン層に割り当てる成分と金
    属層に割り当てる成分とに分け、ポリシリコン層に割り
    当てる成分の配線長の推定値と金属層に割り当てる成分
    の配線長の推定値とに相異なる重み付けをした値を和し
    たものを評価指標として用いて、トランジスタの配置を
    決定することを特徴とするトランジスタ配置方法。
  11. 【請求項11】 少なくとも一つのトランジスタを有す
    るMOS論理セルについて、セルにおけるトランジスタ
    の接続情報を記述するネットリストを基にして、セル領
    域における各トランジスタの配置を決定するトランジス
    タ配置方法であって、 ネットリストを基にして、各トランジスタに対し、トラ
    ンジスタからこのトランジスタが係る信号出力端子まで
    の経路上のゲートの個数であるステージを設定するステ
    ージ設定工程と、 前記ネットリストに基づいて、セルが有するトランジス
    タをセル領域において列状に配置する配置工程とを備
    え、 前記配置工程は、前記ステージ設定工程において設定し
    た各トランジスタのステージを用いて、トランジスタの
    配列順序を決定することを特徴とするトランジスタ配置
    方法。
  12. 【請求項12】 少なくとも一つのトランジスタを有す
    るセルについて、セルにおけるトランジスタの接続情報
    を記述するネットリスト及び半導体製造技術から導かれ
    るマスク設計ルールに基づいて、セル領域におけるトラ
    ンジスタの配置を決定するトランジスタ配置方法であっ
    て、 複数の格子点をセルの左右方向に並べて格子点列を設定
    すると共に、P型トランジスタを配置するPチャネル領
    域及びN型トランジスタを配置するNチャネル領域を前
    記格子点列に並列に設定し、前記ネットリストに基づい
    て、前記セルが有するP型トランジスタを前記Pチャネ
    ル領域において一の格子点位置につき1つずつ配置する
    と共に前記セルが有するN型トランジスタを前記Nチャ
    ネル領域において一の格子点位置につき1つずつ配置す
    ることにより、格子点列上のトランジスタ配置を形成す
    る第1の工程と、 格子点列上のトランジスタ配置を基にして、各チャネル
    領域においてセルの左右方向の一側から他側へ順に前記
    マスク設計ルールを満たすようマスク図上にトランジス
    タを配置することにより、前記格子点列上のトランジス
    タ配置からマスク図上のトランジスタ配置を形成する第
    2の工程と、 前記第2の工程において形成したマスク図上のトランジ
    スタ配置を評価し、この評価結果に基づき、評価したマ
    スク図上のトランジスタ配置の基になる格子点列上のト
    ランジスタ配置においてトランジスタの配置を変更する
    第3の工程とを備え、 前記第2及び第3の工程を繰り返し行い、前記第2の工
    程は、繰り返しの当初は、前記第1の工程において形成
    した格子点列上のトランジスタ配置からマスク図上のト
    ランジスタ配置を形成する一方、2回目以降は前記第3
    の工程においてトランジスタの配置を変更した格子点列
    上のトランジスタ配置からマスク図上のトランジスタ配
    置を形成することを特徴とするトランジスタ配置方法。
  13. 【請求項13】 請求項12記載のトランジスタ配置方
    法において、 前記第2の工程は、 マスク図上における一のトランジスタの配置位置を、こ
    の一のトランジスタと同じチャネル領域において前記一
    のトランジスタの1つ一側よりの格子点位置にトランジ
    スタが配置されている場合はこのトランジスタのマスク
    図上の配置位置を基にして決定する一方、配置されてい
    ない場合は、前記一のトランジスタと異なるチャネル領
    域において前記一のトランジスタと同じ格子点位置にト
    ランジスタが配置されておりかつこのトランジスタのマ
    スク図上の配置位置がすでに決定されているとき、この
    トランジスタのマスク図上の配置位置を基にして決定す
    ることを特徴とするトランジスタ配置方法。
  14. 【請求項14】 請求項12記載のトランジスタ配置方
    法において、 前記第3の工程は、 マスク図上における各ネットの広がりをネットを構成す
    るトランジスタの電極に基づいて複数に分けて推定し、
    各広がりの推定値にそれぞれ重み付けした値を和したも
    のを評価指標として用いて、マスク図上のトランジスタ
    配置を評価することを特徴とするトランジスタ配置方
    法。
  15. 【請求項15】 請求項14記載のトランジスタ配置方
    法において、 前記第3の工程は、 マスク図上における各ネットの広がりを、P型トランジ
    スタの拡散電極の広がり、N型トランジスタの拡散電極
    の広がり、ゲート電極の広がり、及び全電極の広がりの
    4つに分けて推定し、各広がりの推定値にそれぞれ重み
    付けした値を和したものを評価指標として用いて、マス
    ク図上のトランジスタ配置を評価することを特徴とする
    トランジスタ配置方法。
JP05056997A 1996-03-07 1997-03-05 トランジスタ配置方法 Expired - Fee Related JP3220037B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05056997A JP3220037B2 (ja) 1996-03-07 1997-03-05 トランジスタ配置方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4992196 1996-03-07
JP8-49921 1996-03-07
JP05056997A JP3220037B2 (ja) 1996-03-07 1997-03-05 トランジスタ配置方法

Publications (2)

Publication Number Publication Date
JPH09298243A true JPH09298243A (ja) 1997-11-18
JP3220037B2 JP3220037B2 (ja) 2001-10-22

Family

ID=26390365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05056997A Expired - Fee Related JP3220037B2 (ja) 1996-03-07 1997-03-05 トランジスタ配置方法

Country Status (1)

Country Link
JP (1) JP3220037B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584599B2 (en) 2001-06-12 2003-06-24 Mitsubishi Denki Kabushiki Kaisha Apparatus and method of layout generation, and program thereof
JP2004103890A (ja) * 2002-09-11 2004-04-02 Nec Corp 半導体集積回路およびレイアウト設計装置
US6769098B2 (en) 2000-02-29 2004-07-27 Matsushita Electric Industrial Co., Ltd. Method of physical design for integrated circuit
US9048114B2 (en) 2012-06-04 2015-06-02 Ps4 Luxco S.A.R.L. Electronic device with an active region and transistors

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6769098B2 (en) 2000-02-29 2004-07-27 Matsushita Electric Industrial Co., Ltd. Method of physical design for integrated circuit
US6584599B2 (en) 2001-06-12 2003-06-24 Mitsubishi Denki Kabushiki Kaisha Apparatus and method of layout generation, and program thereof
JP2004103890A (ja) * 2002-09-11 2004-04-02 Nec Corp 半導体集積回路およびレイアウト設計装置
US7719063B2 (en) 2002-09-11 2010-05-18 Nec Corporation Semiconductor integrated circuit having plural transistors
US9048114B2 (en) 2012-06-04 2015-06-02 Ps4 Luxco S.A.R.L. Electronic device with an active region and transistors

Also Published As

Publication number Publication date
JP3220037B2 (ja) 2001-10-22

Similar Documents

Publication Publication Date Title
KR100439562B1 (ko) 트랜지스터 배치 방법
US5877091A (en) Multilayer routing method and structure for semiconductor integrated circuit
US5587923A (en) Method for estimating routability and congestion in a cell placement for integrated circuit chip
US5629860A (en) Method for determining timing delays associated with placement and routing of an integrated circuit
Lin et al. LES: A layout expert system
US20030005398A1 (en) Timing-driven global placement based on geometry-aware timing budgets
Ho et al. Crosstalk-and performance-driven multilevel full-chip routing
Chang et al. MR: A new framework for multilevel full-chip routing
CN104063558A (zh) 基于线性规划的大规模集成电路通道布线方法
US5701255A (en) Cell generation method and cell generation system
Hsu et al. Multilayer global routing with via and wire capacity considerations
JP3220037B2 (ja) トランジスタ配置方法
Su et al. High-correlation 3d routability estimation for congestion-guided global routing
CN112989749A (zh) 一种集成电路版图布线中引脚访问方法及装置
Kao et al. Cross point assignment with global rerouting for general-architecture designs
US6931610B1 (en) Method for rapid estimation of wire delays and capacitances based on placement of cells
Chen et al. On crossing minimization problem
Luhukay et al. A layout synthesis system for NMOS gate-cells
Cao et al. Fashion: A fast and accurate solution to global routing problem
Jeyarohini et al. Optimization and Representation of Non-Slicing VLSI Floorplanning
Yao et al. Pathfinding Model and Lagrangian-Based Global Routing
Shanthi et al. Thermal Aware Floorplanner for Multi-Layer ICs with Fixed-Outline Constraints
Zhou Machine learning based techniques for routing interconnects in very large scale integrated (VLSI) circuits
Chen et al. A buffer planning algorithm with congestion optimization
Breuer et al. A methodology for custom VLSI layout

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010227

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010724

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

Free format text: PAYMENT UNTIL: 20070810

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080810

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080810

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090810

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090810

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees