JP3422645B2 - 回路素子配置装置 - Google Patents

回路素子配置装置

Info

Publication number
JP3422645B2
JP3422645B2 JP03091597A JP3091597A JP3422645B2 JP 3422645 B2 JP3422645 B2 JP 3422645B2 JP 03091597 A JP03091597 A JP 03091597A JP 3091597 A JP3091597 A JP 3091597A JP 3422645 B2 JP3422645 B2 JP 3422645B2
Authority
JP
Japan
Prior art keywords
circuit element
arrangement
list
subnet
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP03091597A
Other languages
English (en)
Other versions
JPH10228494A (ja
Inventor
正 今野
圭子 大沢
晃靖 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP03091597A priority Critical patent/JP3422645B2/ja
Priority to US08/895,233 priority patent/US6226778B1/en
Publication of JPH10228494A publication Critical patent/JPH10228494A/ja
Application granted granted Critical
Publication of JP3422645B2 publication Critical patent/JP3422645B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】 (目次) 発明の属する技術分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段(図1,図2) 発明の実施の形態(図3〜図13) 発明の効果
【0002】
【発明の属する技術分野】本発明は、LSI等の集積回
路やプリント配線板上の回路を設計する際に、回路素子
(セル)の配置座標を決定する装置に関する。
【0003】
【従来の技術】一般に、集積回路、例えばLSIの設計
に際しては、まず、設計対象LSIの機能を満たす論理
仕様に基づいて論理設計を行ない、その論理設計により
得られたネットリストに基づいて実装設計を行なう。実
装設計では、ネットリストに基づいて、回路素子(セル
という場合もある)の配置を行なった後、配置された回
路素子間の配線を行なう。
【0004】なお、ネットリストは、入力信号と、出力
信号と、これらの信号間における回路素子の接続関係と
を情報としてもつもので、集積回路における自動配置や
自動配線に使用されるものである。そして、従来の回路
素子配置方式では、論理設計により与えられたネットリ
ストをそのままの形で使用して、回路全体を考慮しなが
ら、未配置の全回路素子を同時に取り扱って配置を行な
っている。従って、全ての回路素子が同じレベルで配置
および移動の対象になっている。
【0005】
【発明が解決しようとする課題】しかしながら、上述し
た従来の回路素子配置方式では、未配置のセルを全て同
時に取り扱うため、回路規模の増大に伴い処理速度の低
下とメモリ量の増大とを招いている。また、回路全体を
同時に取り扱うため、ディレイ制約条件を満足させるた
めには多大な計算量を必要としている。
【0006】フロアプランを人手(マニュアル)により
行なった場合、配線が完結するか否かを予測したりディ
レイ制約条件が満たされるか否かを予測したりすること
が非常に困難であり、また、自動でセルの概略配置を行
なうにしても、取り扱うデータ量によっては長い処理時
間を要することになり、フロアプランレベルでの短いタ
ーンアラウンドを得ることができない。
【0007】また、設計対象のLSIチップを複数の領
域(ブロック)に分割して回路素子の配置を行なう場
合、各ブロックの境界上をネットが横切る点を決定する
ためには、相互のブロック内でどのような配置が行なわ
れるかを予測しなければならない。人手によりフロアプ
ランを行なっている場合、その時点でブロック内のセル
配置を行なうことはないので、各ブロックの境界上をネ
ットが横切る点を自動で求めることはできない。また、
セルを概略配置してから、各ブロックの境界上をネット
が横切る点を求める方式では、回路規模が大きい時にセ
ルの配置そのものに時間がかかってしまう。
【0008】さらに、従来の技術では、与えられたネッ
トリストをそのままの形で取り扱っているため、回路規
模が増大するにつれて考慮すべき対象が著しく増大し、
処理時間が極めて長くなる。また、回路全体を同時に考
慮するため、様々な制約条件が与えられても、それらを
全て満足することが非常に難しい。また、従来の方式で
は、全てのセルが同じレベルで配置および移動の対象に
なっているため、回路全体の構造を考慮しないままセル
を配置してしまう場合が多く、このため、セルの自動配
置を行なった結果では、配線長が延びたり、ディレイ制
約条件を満足できなったり等の問題を生じている。
【0009】本発明は、このような課題に鑑み創案され
たもので、回路規模が増大しても短時間で確実に回路素
子の配置を行なえるようにした、回路素子配置装置を提
供することを目的とする。
【0010】
【課題を解決するための手段】図1は本発明による回路
素子配置手順の原理説明図であり、本発明は、回路設
計に際し、入出力ピンの位置に基づいて多数の回路素子
を所定領域内に配置するものであって、図1に示すよう
に、多数の回路素子のうち順序回路素子の配置座標を決
定するステップS1と、このステップS1により決定さ
れた順序回路素子の配置座標に基づいて順序回路素子以
外の回路素子の配置座標を決定するステップS2とを順
次実行する。
【0011】なお、前記所定領域を複数のブロックに分
割し多数の回路素子を予め指定されたブロック内にそれ
ぞれ配置する場合、ステップS1により決定された順序
回路素子の配置座標に基づいて、各ブロックの形状およ
び大きさを設定してもよいし、ステップS1により決定
された順序回路素子の配置座標に基づいて、ブロックの
相互間を接続するネットが各ブロックの境界上を通過す
る点を決定してもよい。
【0012】また、設計回路情報をもつネットリストか
ら入出力ピンと順序回路素子とに関する情報を抽出した
サブネットリストを予め作成し、ステップS1におい
て、そのサブネットリストに基づいて順序回路素子の配
置座標を決定する。この場合、サブネットリストに、順
序回路素子の相互間や入出力ピンと順序回路素子との間
に存在する、順序回路素子以外の回路素子数を接続デー
タとしてもたせたり、順序回路素子の相互間の論理的距
離を接続データとしてもたせ
【0013】そして、ステップS1により決定された順
序回路素子の配置座標とサブネットリストにおける前記
回路素子数とを用いて、順序回路素子の相互間のディレ
イ値もしくは入出力ピンと順序回路素子との間のディレ
イ値を簡易的に算出し、ステップS1において、ディレ
イ値に基づいて順序回路素子の配置座標を決定する。
【0014】さらに、ステップS2において、ステップ
S1により決定された順序回路素子の配置座標および
ットリストに基づいて、順序回路素子以外の回路素子の
配置座標を決定することもできる。一方、図2は本発明
の回路素子配置装置の原理ブロック図であり、本発明の
回路素子配置装置は、回路設計に際し、入出力ピンの位
置に基づいて多数の回路素子を所定領域内に配置するも
のであって、図2に示すように、多数の回路素子のうち
順序回路素子の配置座標を決定する第1の配置決定部1
と、この第1の配置決定部1により決定された順序回路
素子の配置座標に基づいて、順序回路素子以外の回路素
子の配置座標を決定する第2の配置決定部2とをそなえ
ている。そして、請求項1の回路素子配置装置では、設
計回路情報をもつネットリストから、前記入出力ピンと
順序回路素子とに関する情報を抽出したサブネットリス
トを作成するとともに、そのサブネットリストの作成時
に、順序回路素子の相互間や前記入出力ピンと順序回路
素子との間に存在する、順序回路素子以外の回路素子数
mを接続データとしてサブネットリストに含めるサブネ
ットリスト作成部がそなえられ、第1の配置決定部1
が、サブネットリスト作成部により作成されたサブネッ
トリストに基づいて多数の回路素子のうち順序回路素子
の配置座標を決定する。さらに、第1の配置決定部によ
り決定された順序回路素子の配置座標と、サブネットリ
ストにおける前記回路素子数mと、外部から与えられた
単位配線長当たりのディレイ値Dnおよび回路素子1個
当たりのディレイ値Dgとを用いて、順序回路素子の相
互間のディレイ値もしくは前記入出力ピンと順序回路素
子との間のディレイ値をL×Dn+Dg×m(Lは順序
回路素子の相互間の距離もしくは前記入出力ピンと順序
回路素子との間の距離)として算出するディレイ算出部
がそなえられ、第1の配置決定部1が、ディレイ算出部
により算出されたディレイ値L×Dn+Dg×mが制限
値を超える場合にディレイ値L×Dn+Dg×mが制限
値以下となるように、順序回路素子の配置座標を決定し
直している。また、請求項2の回路素子配置装置では、
設計回路情報をもつネットリストから、前記入出力ピン
と順序回路素子とに関する情報を抽出したサブネットリ
スト を作成するとともに、そのサブネットリストの作成
時に、順序回路素子の相互間の論理的距離を接続データ
としてサブネットリストに含めるサブネットリスト作成
部がそなえられ、第1の配置決定部1が、サブネットリ
スト作成部により作成されたサブネットリストに基づい
て多数の回路素子のうち順序回路素子の配置座標を決定
する。
【0015】
【0016】
【0017】
【0018】
【0019】
【0020】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図3は本発明の一実施形態にかか
る回路素子配置装置としての機能を果たす処理装置の構
成を示すブロック図であり、この図3に示すように、デ
ィスプレイ20,キーボード21およびマウス22を付
設された処理装置10が、本実施形態の回路素子配置装
置として機能する。
【0021】ディスプレイ20は、処理装置10による
回路素子の配置経過を表示するものであり、キーボード
21およびマウス22は、オペレータによって操作さ
れ、回路素子配置に関する各種情報を入力するためのも
のである。従って、オペレータが、ディスプレイ20に
おける表示を参照しながら、キーボード21およびマウ
ス22を操作して各種情報を入力することにより、会話
形式で回路素子の配置を行なえるようになっている。
【0022】また、処理装置10は、CPU11,メモ
リ12および入出力制御部13を有して構成されてお
り、CPU11は、メモリ12に格納されているプログ
ラムやネットリスト等の各種データに基づいて、回路素
子の配置処理を行なうものである。このCPU11によ
る回路素子の配置処理経過は、入出力制御部13を介し
てディスプレイ20に随時表示される一方、キーボード
21およびマウス22からの入力情報は、入出力制御部
13を介してCPU11へ入力され、回路素子の配置処
理に反映される。
【0023】図4は、上述したCPU11により実現さ
れる本実施形態の回路素子配置装置の機能構成を示すブ
ロック図であり、この図4に示すように、本実施形態の
回路素子配置装置は、例えばLSIの回路設計に際し、
入出力ピンの位置に基づいて多数の回路素子を所定領域
内に配置するものであって、サブネットリスト作成部3
1,第1の配置決定部32,第2の配置決定部33,ブ
ロック設定部34,境界通過点決定部35およびディレ
イ算出部36としての機能をそなえて構成されている。
【0024】ここで、サブネットリスト作成部31は、
設計すべき回路の情報をもつネットリストから、入出力
ピン(外部入出力端子,回路入出力端子)とフリップフ
ロップ(以下、FFという),RAM等の同期式順序回
路素子とに関する情報を抽出したサブネットリストを作
成するものである(図8および図9により後述)。この
サブネットリスト作成部31は、サブネットリストの作
成時に、FFやRAMの相互間や入出力ピンとFFまた
はRAMとの間に存在する、FF,RAM以外のゲート
数(セル数,回路素子数;図10により後述)と、FF
やRAMの相互間の論理的距離(図11により後述)と
を接続データとしてサブネットリストに含める。
【0025】第1の配置決定部32は、サブネットリス
ト作成部31により作成されたサブネットリストに基づ
いて、同期式順序回路素子であるFFやRAMの配置座
標を決定するものであり、その決定は、後述するディレ
イ算出部36により算出されたディレイ値に基づいても
行なわれる。第2の配置決定部33は、ネットリスト
と、第1の配置決定部32により決定されたFFやRA
Mの配置座標と、後述する境界通過点決定部35により
決定された通過点の位置とに基づいて、FFやRAM以
外のゲート(回路素子,セル)の配置座標を決定するも
のである〔図13(a),(b)により後述〕。
【0026】ブロック設定部34は、所定領域を複数の
ブロックに分割しセルを予め指定されたブロック内にそ
れぞれ配置する場合、第1の配置決定部32により決定
されたFFやRAMの配置座標に基づいて、各ブロック
の形状および大きさを設定するものであり、その設定を
変更する場合には、ブロック分割の設定変更情報を第1
の配置決定部32に送り返し、この第1の配置決定部3
2において、新たなブロック分割状態に応じて、FFや
RAMの配置座標が決定されるようになっている(図6
により後述)。
【0027】境界通過点決定部35は、第1の配置決定
部32により決定されたFFやRAMの配置座標に基づ
いて、ブロックの相互間を接続するネットが各ブロック
の境界上を通過する点を決定するものである(図7によ
り後述)。ディレイ算出部36は、第1の配置決定部3
2により決定されたFFやRAMの配置座標とサブネッ
トリストにおける前記ゲート数とを用いて、FFやRA
Mの相互間のディレイ値もしくは入出力ピンとFF,R
AMとの間のディレイ値を簡易的に算出するものであ
る。その具体的な算出手法については図12により後述
する。
【0028】次に、上述のごとく構成された本実施形態
の装置による回路素子配置動作について、図5に示すフ
ローチャート(ステップS11〜S18)を参照しなが
ら簡単に説明する。LSI等の回路設計に際し、設計す
べき回路の情報をもつネットリストを与えられると、ま
ず、サブネットリスト作成部31により、そのネットリ
ストから入出力ピンとFF,RAMとに関する情報を抽
出して、サブネットを作成する(ステップS11)。こ
のとき、FFやRAMの相互間や入出力ピンとFF,R
AMとの間に存在するゲート数と、FFやRAMの相互
間の論理的距離とについても併せて抽出し接続データと
してサブネットリストに含めておく。
【0029】そして、第1の配置決定部32において、
サブネットリスト作成部31により作成されたサブネッ
トリストに基づいて、FFおよびRAMの配置座標を決
定する(ステップS12)。第1の配置決定部32によ
るFF/RAM配置結果は、ブロック設定部34および
ディレイ算出部36へ送られる(図4参照)。
【0030】ブロック設定部34においては、ステップ
S12で決定されたFFやRAMの配置座標に基づい
て、各ブロックの大きさや形状の評価を行ない、評価結
果に応じたブロックの設定を行なう(ステップS1
3)。また、ディレイ算出部36においては、ステップ
S12で決定されたFFやRAMの配置座標とサブネッ
トリストにおける前記ゲート数とに基づいて、FFやR
AMの相互間のディレイ値、または、入出力ピンとF
F,RAMとの間のディレイ値が後述するごとく簡易的
に算出され(ステップS14)、そのディレイ値が制約
条件を満たすか否かを第1の配置決定部32において評
価する(ステップS15)。
【0031】ステップS13においてブロックの設定が
変更された場合やステップS15でのディレイ値の評価
結果が不適正であった場合(ステップS16でNG判定
の場合)には、ステップS12に戻り、第1の配置決定
部32により、サブネットリストと新たなブロック分割
状態またはディレイ値とに基づいて、FFおよびRAM
の配置座標を決定し直す。
【0032】ステップS16でOK判定の場合、境界通
過点決定部35において、ステップS12で決定された
FFやRAMの配置座標に基づいて、ブロックの相互間
を接続するネットが各ブロックの境界上を通過する点が
決定される(ステップS17)。そして、第2の配置決
定部33において、ネットリストと、ステップS12で
決定されたFFやRAMの配置座標と、ステップS17
で決定された通過点の位置とに基づいて、FFやRAM
以外のセルの配置座標が決定される(ステップS1
8)。
【0033】以下に、本実施形態の作用および効果につ
いてより詳細に説明する。 〔1〕FF/RAMの配置後、それ以外のセルを配置す
ることについて 本発明の基本的特徴は、回路の入出力ピン(回路入出力
端子)の位置に基づいてセルを配置する際に、最初にF
F,RAM等の同期式順序回路素子の配置座標のみを決
定し、その後、残りのセル(組み合わせ回路素子)をF
FやRAMの近傍に配置することである。
【0034】全てのセルを同時に考慮しながら配置する
手法では、現在の大規模回路に対して満足な配置結果を
短時間で得ることは非常に困難である。そこで、回路の
構造に着目してみる。現在の論理回路はほとんどが同期
式順序回路であり、この回路は、内部に存在するFFに
クロックを供給することで演算を進めるものである。従
って、回路内の信号の流れを単純化すれば、入力ピンか
らいくつかのFFを経て出力ピンへ至るものになる。ま
た、回路内のセル数も、FFに限れば多くても数万個で
あり、回路全体で数十万個にも達する全てのセル数に比
べれば約10分の1になる。
【0035】そこで、本発明では、セルの配置を2段階
に分けて行なうものとする。まず、第1の段階(図4に
示す第1の配置決定部32,図5のステップS12)で
は、回路の入出力ピンの位置に基づいて回路内のFFや
RAMのみを配置し、次の段階(第2の配置決定部3
3,ステップS18)で、そのFFやRAMの配置座標
に基づいて残りの一般のセル(組み合わせ回路素子)を
配置する。勿論、この第2段階においてFFの配置座標
を調整することは可能である。
【0036】また、この第2段階において、一般のセル
(ゲート)は、FFやRAMの近傍に配置され、図13
(a),(b)にて後述するごとく、通常、入出力ピン
とFF,RAMとを結ぶ線分、もしくは、FFやRAM
どうしを結ぶ線分を中心とする限られた範囲内に配置さ
れる。これらのゲートは、FFやRAMに近いものから
配置され、そのゲートを通過する信号がどちらの方向へ
延びているかに基づいてその配置座標が決定される。
【0037】このようにすることにより、数十万個のセ
ルからなる論理回路の設計を、最初の段階では数万個の
セルからなる論理回路の設計に置き換えて、設計対象の
規模を抑えることが可能であり、残りのセルを配置する
第2段階では、一般のセルが接続されるFFやRAMの
配置座標が既に決まっていることから、配置されるべき
領域は回路内のごく一部に限定され、回路設計時に取り
扱う回路規模を縮小することができる。
【0038】従って、配置処理対象を限定することが可
能になるので、従来の手法では取り扱うのが困難だった
り長時間の処理を必要とするような大規模回路に対し
て、高速かつ高品質な配置結果を得ることができる。ま
た、回路の動作速度に密接な関係があるRAM,FF等
の順序回路素子を全体の配置に基づいて最初に概略的
に配置することで、遅延時間を考慮した配置への応用が
容易になる。
【0039】〔2〕ブロックの設定について 本実施形態では、図4に示すブロック設定部34(図5
のステップS13)において、図6に示すように、FF
/RAMの配置に基づいて、フロアプラン実行時に各ブ
ロックの概略的な形状と寸法とを求めて設定している。
図6において、丸印が回路入出力端子(入出力ピン)で
あり、実線の矩形印がRAM,FF等の順序回路素子で
あり、一点鎖線で囲んだ領域が、設定されたブロックで
ある。
【0040】これにより、チップ内の全てのFFやRA
Mを配置した時点でブロックの寸法や形状が適切か否か
を知ることができる。信号の流れを形作るものはFFの
配置であり、この時点で性能目標を満足しないような結
果が得られた場合にはフロアプランのやり直しが必要に
なる。人手により予めブロック分割が行なわれている回
路に対してFFやRAMを配置する場合は、FFやRA
Mは指定された領域内にそれぞれ配置されることにな
る。この時、回路全体の信号の流れの混雑度やディレイ
値を配置結果からフィードバックすることで、フロアプ
ランにより与えられた領域(ブロック)の情報が適切か
どうかが分かる。
【0041】例えば、あるブロック内の信号が混雑しす
ぎていれば、そのブロックはより大きな面積を必要とす
ることになるし、ブロック内のFF間のディレイ値が大
きすぎる時には、そのブロックはもっと狭くする。ま
た、2つのブロックに跨がるFF間のディレイ値が大き
すぎる時には、ブロック間の距離を小さくするかブロッ
クのサイズを小さくする。このような処理を、図4に示
すブロック設定部34(図5のステップS13)で行な
う。
【0042】〔3〕ブロック境界通過点の決定について 本実施形態では、図4に示す境界通過点決定部35(図
5のステップS17)において、FF/RAMの配置に
基づいて、フロアプラン実行時に各ブロックの境界上を
ネットが横切る場所を求めている。ブロックの境界が明
確になり、内部の概略配置が行なわれた後であれば、ブ
ロック境界上を横切るネットがどの場所を通過するかを
決定することができる。ブロック境界上を通過するネッ
トがどのFFどうしを接続しているか、またそれらのF
Fはどこに配置されているかの情報に基づいて、その通
過点(仮想的なピンの位置)は、FFやRAMどうしを
最短で結ぶ位置に決定される。この情報は第2段階でブ
ロック内部の詳細な配置を行なう場合に、一般セルの配
置座標を決定する要因の一つとなる。なお、図6に示す
ように設定されたブロックについて、境界通過点を決定
した例を、図7に示す。この図7における太実線が、ブ
ロック間を結ぶ仮配線を示している。
【0043】〔4〕サブネットリストについて 本実施形態では、FFやRAMの配置を行なうに先立っ
て、図4に示すサブネットリスト作成部31(図5のス
テップS11)において、与えられた回路情報(ネット
リスト)から、入出力ピンとRAM/FF等のセルとに
関する情報を抽出したサブネットリストを作成してい
る。
【0044】FFやRAMの概略配置を行なうに当たっ
て、本実施形態では、外部から与えられるネットリスト
を変更して作成したサブネットリストを用いている。即
ち、外部入出力端子とFF,RAMとを抽出したサブネ
ットリストを作成し、そのサブネットリストを用いてF
F,RAMの配置を行なう。このサブネットリスト上で
は、FFとRAMのみがセルとして存在し、外部入出力
端子,FF,RAMの相互間を結ぶデータ信号線のみが
ネットを構成する。つまり、クロックおよびリセット等
の信号線は、サブネットリストには含まれない。
【0045】サブネットリスト作成時には、まず、外部
出力端子またはRAM/FFのデータ信号ピンからバッ
クトレースを始め、外部入力端子またはRAM/FFの
出力端子に至るまでトレースを続ける。このようにして
見つかった外部入出力端子とRAM/FFとの組み合わ
せを一つのネットとして表す。途中で通過したゲート
(順序回路以外のセル)はこのサブネットリストには含
まれない。
【0046】例えば、図8に示すような回路を構成する
ことを指示するネットリストから作成された、サブネッ
トリストを図9に示す。図8において、FF−Aからの
信号とFF−Bからの信号とがゲートG2で合流し、こ
のゲートG2からの出力とFF−Cからの信号とがゲー
トG3で合流し、ゲートG3からの出力と回路入出力端
子からゲートG1を経由した信号とがFF−Dで合流し
ている。ここで、ゲートG1〜G3は、いずれも順序回
路素子以外のセルである。図8に示すネットリストから
抽出されたサブネットリストは、図9に示すように、ゲ
ートG1〜G3を無視し、回路入出力端子および4つの
FF−A〜Dの相互間の接続関係を指示するものにな
る。
【0047】このように簡素化したサブネットリストを
用いることで、配置作業時に回路入出力端子とRAM/
FFとの相互接続関係を容易に知ることができ、配置処
理速度が大幅に向上することになる。 〔5〕サブネットリストにおけるゲート数情報について 上述のようなサブネットリストを作成するに際して、本
実施形態では、FFやRAMの相互間や入出力ピンとF
FまたはRAMとの間に存在する、FF,RAM以外の
ゲート数をサブネットリストの接続データとしてもたせ
ることにより、図4に示す第1の配置決定部32(図5
のステップS12)において、そのゲート数を参照し、
そのゲート数に応じてRAM/FFの配置を制御してい
る。
【0048】つまり、本実施形態では、上述のようにネ
ットリストを簡略化してサブネットリストを作成する過
程で、一つのネット上にいくつのゲートが存在するかを
知ることができる。この情報をサブネットリストの各ネ
ットの情報にもたせている。例えば、図8に示すネット
リストから抽出されたサブネットリストには、図10に
示すようなゲート数情報が含まれることになる。図10
の各ネットに付された数字が、そのネット上に存在する
ゲートの数を示している。
【0049】FFやRAMの配置が終わった後で残りの
一般セルを配置することになるが、この一般セルは、原
則として、FFやRAMの相互間を結ぶ線分を中心とし
た領域に配置されることになる。この時、FFやRAM
の相互間に存在するゲート数に比べてFFやRAMの相
互間の距離が極端に短いような場合は、中間のゲートを
配置したことにより予期せぬ配線混雑を引き起こしたり
しないように、FFやRAMの相互間に適度な間隔を予
め空けて配置座標を決定する。
【0050】〔6〕サブネットリストにおける論理的距
離情報について 上述のようなサブネットリストを作成するに際して、本
実施形態では、FFやRAMの相互間の論理的距離、即
ち、入力ピンやRAM/FFからの信号がどのようなツ
リー形状を成して合流するのかを、サブネットリストの
接続データとしてもたせることにより、図4に示す第1
の配置決定部32(図5のステップS12)において、
その論理的距離を参照し、その論理的距離に応じてRA
M/FFの配置を制御している。
【0051】上述のようにネットリストを簡略化してサ
ブネットリストを作成する過程で、ある一つのFFに入
力される信号を出力するFFどうしの論理的な近さ(論
理的距離)をサブネットリストの各ゲート情報にもたせ
る。全ての回路の情報をもったネットリストでは、ゲー
トをトレースすることで信号が分岐したり合流したりす
る様子を知ることはできるが、簡略化されたサブネット
リスト上ではトレースだけではこのような情報を得るこ
とはできない。この情報は、FFどうしの位置を決定す
るのに大きな役割をもっている。
【0052】例えば図8に示す回路情報をもつネットリ
ストについて考えると、FF−AとFF−Bとの論理的
な距離は、FF−AとFF−CまたはFF−BとFF−
Cの論理的距離よりも近いことになる。そして、これら
のFF−A〜Dを配置する際に、本実施形態では、FF
−AとFF−Bとの距離はFF−Cからの距離よりも近
くなるように配置される。
【0053】このような論理的距離は、あるFFに接続
される全てのFFについて求められる値であるから、サ
ブネットリスト内に存在する全てのFFがマトリクスを
もつことで表現される。例えば、図8に示すネットリス
トから抽出されたサブネットリストには、図11に示す
ような論理的距離情報が含まれることになる。図11の
回路入出力端子やFF−A〜Cにそれぞれ付された数字
が、論理的距離を示している。この数字は、具体的に
は、回路入出力端子やFF−A〜Cからの信号がFF−
Dに至るまでの間における分岐の数に対応している。
【0054】そして、上述した論理的距離を表す数値
は、サブネットリストを作成する際(回路を簡略化する
際)のバックトレースの過程で求められ、トレースの末
端部分で分岐しているもの程(即ち、数値が大きい
程)、論理的に近いことを示している。 〔7〕簡易的なディレイ演算について 本実施形態では、図4に示すディレイ算出部36(図5
のステップS14)において、FFやRAMの配置とサ
ブネットリストにおけるゲート数情報とに基づいて、F
FやRAMの相互間のディレイ値、または、入出力ピン
とFF,RAMとの間のディレイ値が簡易的に算出さ
れ、そのディレイ値に応じてRAM/FFを配置してい
る。
【0055】つまり、FFやRAMの相互間に存在する
ゲート数を、サブネットリストにおいてネットの情報と
してもつことにより、簡易的にディレイ値を算出し、そ
のディレイ値に基づいた配置を行なっている。そのディ
レイ値の算出手法を以下に説明すると、外部から、単位
配線長当たりのディレイ値Dnとゲート1個当たりのデ
ィレイ値Dgとが与えられている時、2つのFF間のデ
ィレイ値をT以下にしたければ、2つのFF間の距離L
は、最長で(T−Dg×ゲート数)/Dnとして簡易的
に求められる。
【0056】例えば、図12に示すように、2つのFF
間に2つのゲートが存在する場合、これらのFFやゲー
トの相互間の距離をL1,L2,L3とすると、これら
のFFやゲートの相互間のディレイ値D1,D2,D3
は、それぞれ、L1×Dn,L2×Dn,L3×Dnと
して求められる。2つのFF間のディレイ値の制限値を
Tとすると、 T=D1+D2+D3+Dg×2 =(L1+L2+L3)×Dn+Dg×2 であり、2つのFF間の距離L=L1+L2+L3であ
るから、上式は、 T=L×Dn+Dg×2 となる。この式をLについて解くと、 L=(T−Dg×2)/Dn となる。つまり、FF間の距離Lが(T−Dg×2)/
Dn以下になるようにこれらのFFを配置すれば、ディ
レイ制約条件が満たされることになる。
【0057】〔8〕FF,RAM以外のセルを配置する
手順について 本実施形態では、第2段階(図4に示す第2の配置決定
部33,図5のステップS18)において、ネットリス
トとFFやRAMの配置座標とブロック通過点の位置と
に基づいて、FFやRAM以外のセルの配置座標が決定
されるが、その配置手順について以下に説明する。
【0058】RAMおよびFFの位置を先に決めること
で、それ以外のセルの配置座標はそのセルを通るパスが
どのRAM/FFから出力されてどのRAM/FFへ入
力するのかを調べることにより、およその位置を決定す
ることが容易になる。この第2段階では、サブネットリ
ストを用いるのではなく、最初に与えられたネットリス
トを用いる。これは、この時点では配置のキーになるR
AM/FFの概略的な配置座標を求めることが目的では
なく、全てのセルの配置座標を詳細に決定することが目
的だからである。
【0059】セルは、そのセルを通過するパスがどのR
AM/FFの間にあるのかを調べ、可能な限りそれらの
RAM/FFを結ぶ直線上に配置する。セル配置は、パ
スの終点、即ちRAM/FFの入力ピンに近いものから
順に行なう。これは、入力に近いセルほど適した場所が
少ないためである。また、ディレイ制約の厳しいパスか
ら配置を始める。全てのセルを最適と見なされる場所に
配置した後で、全体の混雑度、即ち配線容易性に基づい
セルの詳細配置を修正する。この場合、初期に配置し
たRAM/FFの配置を含めて修正してもよい。
【0060】例えば図13(a)に示すように、まず、
FF−Dと回路入出力端子とを結ぶパス(点線参照)上
にゲートG1を配置するとともに、FF−A〜Dにより
囲まれる領域(点線で囲まれた四角形領域)内にゲート
G3を配置する。ついで、図13(b)に示すように、
ゲートG3とFF−A,Bとにより囲まれる領域(点線
で囲まれた三角形領域)内にゲートG2を配置する。
【0061】
【発明の効果】以上詳述したように、本発明の回路素子
配置方法および装置(請求項1〜16)によれば、第1
段階で順序回路素子を配置し、第2段階でそれ以外の回
路素子を配置することにより、回路設計時に取り扱う回
路規模を縮小でき、配置処理対象を限定することが可能
になるので、従来の手法では取り扱うのが困難だったり
長時間の処理を必要とするような大規模回路に対して、
高速かつ高品質な配置結果を得ることができる。
【0062】また、回路の動作速度に密接な関係がある
順序回路素子を全体の配置に基づいて最初に概略的に
配置することで、遅延時間を考慮した配置への応用が容
易になる。
【図面の簡単な説明】
【図1】本発明による回路素子配置手順の原理説明図で
ある。
【図2】本発明の回路素子配置装置の原理ブロック図で
ある。
【図3】本発明の一実施形態にかかる回路素子配置装置
としての機能を果たす処理装置の構成を示すブロック図
である。
【図4】本実施形態の回路素子配置装置の機能構成を示
すブロック図である。
【図5】本実施形態の動作(回路素子配置方法)を説明
するためのフローチャートである。
【図6】本実施形態の動作を説明するための図である。
【図7】本実施形態の動作を説明するための図である。
【図8】本実施形態におけるネットリストを説明するた
めの図である。
【図9】本実施形態におけるサブネットリストを説明す
るための図である。
【図10】本実施形態のサブネットリストに含まれるゲ
ート数情報を説明するための図である。
【図11】本実施形態のサブネットリストに含まれる論
理的距離情報を説明するための図である。
【図12】本実施形態における簡易的ディレイ演算を説
明するための図である。
【図13】(a),(b)はいずれも本実施形態におい
てFF,RAM以外のセルを配置する手順を説明するた
めの図である。
【符号の説明】
1 第1の配置決定部 2 第2の配置決定部 10 処理装置 11 CPU 12 メモリ 13 入出力制御部 20 ディスプレイ 21 キーボード 22 マウス 31 サブネットリスト作成部 32 第1の配置決定部 33 第2の配置決定部 34 ブロック設定部 35 境界通過点決定部 36 ディレイ算出部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平10−74842(JP,A) 特開 平4−245672(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 658

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 回路設計に際し、入出力ピンの位置に基
    づいて多数の回路素子を所定領域内に配置する回路素子
    配置装置であって、設計回路情報をもつネットリストから、前記入出力ピン
    と該順序回路素子とに関する情報を抽出したサブネット
    リストを作成するとともに、該サブネットリストの作成
    時に、該順序回路素子の相互間や前記入出力ピンと該順
    序回路素子との間に存在する、該順序回路素子以外の回
    路素子数mを接続データとして該サブネットリストに含
    めるサブネットリスト作成部と、 該サブネットリスト作成部により作成された該サブネッ
    トリストに基づいて 該多数の回路素子のうち順序回路素
    子の配置座標を決定する第1の配置決定部と、該第1の配置決定部により決定された該順序回路素子の
    配置座標と、該サブネットリストにおける前記回路素子
    数mと、外部から与えられた単位配線長当たりのディレ
    イ値Dnおよび回路素子1個当たりのディレイ値Dgと
    を用いて、該順序回路素子の相互間のディレイ値もしく
    は前記入出力ピンと該順序回路素子との間のディレイ値
    をL×Dn+Dg×m(Lは該順序回路素子の相互間の
    距離もしくは前記入出力ピンと該順序回路素子との間の
    距離)として算出するディレイ算出部と、 該第1の配置決定部により決定された該順序回路素子の
    配置座標に基づいて、該順序回路素子以外の回路素子の
    配置座標を決定する第2の配置決定部とをそなえ 該第1の配置決定部が、該ディレイ算出部により算出さ
    れた該ディレイ値L×Dn+Dg×mが制限値を超える
    場合に該ディレイ値L×Dn+Dg×mが該制限値以下
    となるように、該順序回路素子の配置座標を決定し直す
    ことを特徴とする、回路素子配置装置。
  2. 【請求項2】 回路設計に際し、入出力ピンの位置に基
    づいて多数の回路素子を所定領域内に配置する回路素子
    配置装置であって、 設計回路情報をもつネットリストから、前記入出力ピン
    と該順序回路素子とに関する情報を抽出したサブネット
    リストを作成するとともに、該サブネットリストの作成
    時に、該順序回路素子の相互間の論理的距離を接続デー
    タとして該サブ ネットリストに含めるサブネットリスト
    作成部と、 該サブネットリスト作成部により作成された該サブネッ
    トリストに基づいて該多数の回路素子のうち順序回路素
    子の配置座標を決定する第1の配置決定部と、 該第1の配置決定部により決定された該順序回路素子の
    配置座標に基づいて、該順序回路素子以外の回路素子の
    配置座標を決定する第2の配置決定部と をそなえたこと
    を特徴とする、回路素子配置装置。
JP03091597A 1997-02-14 1997-02-14 回路素子配置装置 Expired - Fee Related JP3422645B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP03091597A JP3422645B2 (ja) 1997-02-14 1997-02-14 回路素子配置装置
US08/895,233 US6226778B1 (en) 1997-02-14 1997-07-16 Method and apparatus for determining locations of circuit elements including sequential circuit elements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03091597A JP3422645B2 (ja) 1997-02-14 1997-02-14 回路素子配置装置

Publications (2)

Publication Number Publication Date
JPH10228494A JPH10228494A (ja) 1998-08-25
JP3422645B2 true JP3422645B2 (ja) 2003-06-30

Family

ID=12317008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03091597A Expired - Fee Related JP3422645B2 (ja) 1997-02-14 1997-02-14 回路素子配置装置

Country Status (2)

Country Link
US (1) US6226778B1 (ja)
JP (1) JP3422645B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100348303B1 (ko) * 1999-11-09 2002-08-10 주식회사 하이닉스반도체 다양한 클럭신호에 의한 클럭신호간 딜레이보상방법
JP2015230696A (ja) * 2014-06-06 2015-12-21 富士通株式会社 回路画像出力プログラム、情報処理装置、回路画像出力方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2379909A1 (fr) * 1977-02-04 1978-09-01 Cii Honeywell Bull Procede et appareil de montage de dispositifs sur un substrat
JPH0668696B2 (ja) * 1985-02-22 1994-08-31 株式会社日立製作所 挿入機用ncデータ作成方法
US4914808A (en) * 1987-10-16 1990-04-10 Sanyo Electric Co., Ltd Automatic electronic parts mounting apparatus for repeatedly mounting in forward and reverse sequences
JP2966082B2 (ja) * 1990-11-06 1999-10-25 株式会社日立製作所 実装順序決定方法及びその実装方法
JPH05128207A (ja) 1991-11-06 1993-05-25 Fujitsu Ltd モジユールレイアウト処理装置
US5644498A (en) * 1995-01-25 1997-07-01 Lsi Logic Corporation Timing shell generation through netlist reduction
JP2959444B2 (ja) * 1995-08-30 1999-10-06 日本電気株式会社 フリップチップ型半導体装置の自動配置配線方法
US5999716A (en) * 1996-06-27 1999-12-07 Matsushita Electric Industrial Co., Ltd. LSI layout design method capable of satisfying timing requirements in a reduced design processing time

Also Published As

Publication number Publication date
JPH10228494A (ja) 1998-08-25
US6226778B1 (en) 2001-05-01

Similar Documents

Publication Publication Date Title
US5754826A (en) CAD and simulation system for targeting IC designs to multiple fabrication processes
US6272668B1 (en) Method for cell swapping to improve pre-layout to post-layout timing
US5659484A (en) Frequency driven layout and method for field programmable gate arrays
US5910899A (en) Method for performing floorplan timing analysis using multi-dimensional feedback in a spreadsheet with computed hyperlinks to physical layout graphics and integrated circuit made using same
US6260179B1 (en) Cell arrangement evaluating method, storage medium storing cell arrangement evaluating program, cell arranging apparatus and method, and storage medium storing cell arranging program
KR100281977B1 (ko) 집적 회로 설계 방법, 집적 회로 설계용 데이터베이스 장치 및집적 회로 설계 지원 장치
US5896301A (en) Method for performing floorplan timing analysis using multi-dimensional feedback in a histogram and integrated circuit made using same
US7890909B2 (en) Automatic block composition tool for composing custom blocks having non-standard library cells in an integrated circuit design flow
US6829754B1 (en) Method and system for checking for power errors in ASIC designs
JPH08123836A (ja) 会話型回路設計装置
JPH05243382A (ja) フロアプラン装置
JP2005158075A (ja) 相互接続対応の集積回路設計
US5903472A (en) Method for performing floorplan timing analysis by selectively displaying signal paths based on slack time calculations and integrated circuit made using same
KR100704577B1 (ko) 타이밍 버지트 설계 방법
CN116542212A (zh) 使用自动焊接和自动克隆的电路中的连接的交互式布线
JP3422645B2 (ja) 回路素子配置装置
US6308305B1 (en) Method and apparatus for circuit designing of an LSI circuit without error paths
US7418675B2 (en) System and method for reducing the power consumption of clock systems
JP3848685B2 (ja) 半導体集積回路の配置支援方法
US6701496B1 (en) Synthesis with automated placement information feedback
JP3433025B2 (ja) モジュール配置方法
US7490310B2 (en) Method for creating a layout for an electronic circuit
JP2967174B2 (ja) 設計装置
JPH0793386A (ja) Lsi実装設計システム
JP4071546B2 (ja) 半導体装置の回路設計支援装置およびレイアウト変更方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030408

LAPS Cancellation because of no payment of annual fees