JPH10228494A - 回路素子配置方法および装置 - Google Patents

回路素子配置方法および装置

Info

Publication number
JPH10228494A
JPH10228494A JP9030915A JP3091597A JPH10228494A JP H10228494 A JPH10228494 A JP H10228494A JP 9030915 A JP9030915 A JP 9030915A JP 3091597 A JP3091597 A JP 3091597A JP H10228494 A JPH10228494 A JP H10228494A
Authority
JP
Japan
Prior art keywords
arrangement
circuit elements
sequential circuit
circuit element
sequential
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
JP9030915A
Other languages
English (en)
Other versions
JP3422645B2 (ja
Inventor
Tadashi Konno
正 今野
Keiko Osawa
圭子 大沢
Akiyasu Maruyama
晃靖 丸山
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)

Abstract

(57)【要約】 【課題】 LSI等の集積回路やプリント配線板上の
回路を設計する際に、回路規模が増大しても短時間で確
実に回路素子の配置を行なえるようにする。 【解決手段】 多数の回路素子のうち順序回路素子の配
置座標を決定するステップS1と、このステップS1に
より決定された順序回路素子の配置座標を考慮して順序
回路素子以外の回路素子の配置座標を決定するステップ
S2とを順次実行する。

Description

【発明の詳細な説明】
【0001】 (目次) 発明の属する技術分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段(図1,図2) 発明の実施の形態(図3〜図13) 発明の効果
【0002】
【発明の属する技術分野】本発明は、LSI等の集積回
路やプリント配線板上の回路を設計する際に、回路素子
(セル)の配置座標を決定する方法および装置に関す
る。
【0003】
【従来の技術】一般に、集積回路、例えばLSIの設計
に際しては、まず、設計対象LSIの機能を満たす論理
仕様に基づいて論理設計を行ない、その論理設計により
得られたネットリストに基づいて実装設計を行なう。実
装設計では、ネットリストに基づいて、回路素子(セル
という場合もある)の配置を行なった後、配置された回
路素子間の配線を行なう。
【0004】なお、ネットリストは、入力信号と、出力
信号と、これらの信号間における回路素子の接続関係と
を情報としてもつもので、集積回路における自動配置や
自動配線に使用されるものである。そして、従来の回路
素子配置方式では、論理設計により与えられたネットリ
ストをそのままの形で使用して、回路全体を考慮しなが
ら、未配置の全回路素子を同時に取り扱って配置を行な
っている。従って、全ての回路素子が同じレベルで配置
および移動の対象になっている。
【0005】
【発明が解決しようとする課題】しかしながら、上述し
た従来の回路素子配置方式では、未配置のセルを全て同
時に取り扱うため、回路規模の増大に伴い処理速度の低
下とメモリ量の増大とを招いている。また、回路全体を
同時に取り扱うため、ディレイ制約条件を満足させるた
めには多大な計算量を必要としている。
【0006】フロアプランを人手(マニュアル)により
行なった場合、配線が完結するか否かを予測したりディ
レイ制約条件が満たされるか否かを予測したりすること
が非常に困難であり、また、自動でセルの概略配置を行
なうにしても、取り扱うデータ量によっては長い処理時
間を要することになり、フロアプランレベルでの短いタ
ーンアラウンドを得ることができない。
【0007】また、設計対象のLSIチップを複数の領
域(ブロック)に分割して回路素子の配置を行なう場
合、各ブロックの境界上をネットが横切る点を決定する
ためには、相互のブロック内でどのような配置が行なわ
れるかを予測しなければならない。人手によりフロアプ
ランを行なっている場合、その時点でブロック内のセル
配置を行なうことはないので、各ブロックの境界上をネ
ットが横切る点を自動で求めることはできない。また、
セルを概略配置してから、各ブロックの境界上をネット
が横切る点を求める方式では、回路規模が大きい時にセ
ルの配置そのものに時間がかかってしまう。
【0008】さらに、従来の技術では、与えられたネッ
トリストをそのままの形で取り扱っているため、回路規
模が増大するにつれて考慮すべき対象が著しく増大し、
処理時間が極めて長くなる。また、回路全体を同時に考
慮するため、様々な制約条件が与えられても、それらを
全て満足することが非常に難しい。また、従来の方式で
は、全てのセルが同じレベルで配置および移動の対象に
なっているため、回路全体の構造を考慮しないままセル
を配置してしまう場合が多く、このため、セルの自動配
置を行なった結果では、配線長が延びたり、ディレイ制
約条件を満足できなったり等の問題を生じている。
【0009】本発明は、このような課題に鑑み創案され
たもので、回路規模が増大しても短時間で確実に回路素
子の配置を行なえるようにした、回路素子配置方法およ
び装置を提供することを目的とする。
【0010】
【課題を解決するための手段】図1は本発明の回路素子
配置方法の原理説明図であり、本発明の回路素子配置方
法は、回路設計に際し、入出力ピンの位置に基づいて多
数の回路素子を所定領域内に配置するものであって、図
1に示すように、多数の回路素子のうち順序回路素子の
配置座標を決定するステップS1と、このステップS1
により決定された順序回路素子の配置座標を考慮して順
序回路素子以外の回路素子の配置座標を決定するステッ
プS2とを順次実行するものである(請求項1)。
【0011】なお、前記所定領域を複数のブロックに分
割し多数の回路素子を予め指定されたブロック内にそれ
ぞれ配置する場合、ステップS1により決定された順序
回路素子の配置座標に基づいて、各ブロックの形状およ
び大きさを設定してもよいし(請求項2)、ステップS
1により決定された順序回路素子の配置座標に基づい
て、ブロックの相互間を接続するネットが各ブロックの
境界上を通過する点を決定してもよい(請求項3)。
【0012】また、設計回路情報をもつネットリストか
ら入出力ピンと順序回路素子とに関する情報を抽出した
サブネットリストを予め作成し、ステップS1におい
て、そのサブネットリストに基づいて順序回路素子の配
置座標を決定してもよい(請求項4)。この場合、サブ
ネットリストに、順序回路素子の相互間や入出力ピンと
順序回路素子との間に存在する、順序回路素子以外の回
路素子数を接続データとしてもたせてもよいし(請求項
5)、順序回路素子の相互間の論理的距離を接続データ
としてもたせてもよい(請求項6)。
【0013】そして、ステップS1により決定された順
序回路素子の配置座標とサブネットリストにおける前記
回路素子数とを用いて、順序回路素子の相互間のディレ
イ値もしくは入出力ピンと順序回路素子との間のディレ
イ値を簡易的に算出し、ステップS1において、ディレ
イ値を考慮して順序回路素子の配置座標を決定すること
もできる(請求項7)。
【0014】さらに、ステップS2において、ステップ
S1により決定された順序回路素子の配置座標を考慮す
るとともにネットリストを考慮して、順序回路素子以外
の回路素子の配置座標を決定することもできる(請求項
8)。一方、図2は本発明の回路素子配置装置の原理ブ
ロック図であり、本発明の回路素子配置装置は、回路設
計に際し、入出力ピンの位置に基づいて多数の回路素子
を所定領域内に配置するものであって、図2に示すよう
に、多数の回路素子のうち順序回路素子の配置座標を決
定する第1の配置決定部1と、この第1の配置決定部1
により決定された順序回路素子の配置座標を考慮して、
順序回路素子以外の回路素子の配置座標を決定する第2
の配置決定部2とをそなえている(請求項9)。
【0015】なお、前記所定領域を複数のブロックに分
割し多数の回路素子を予め指定されたブロック内にそれ
ぞれ配置する場合、第1の配置決定部1により決定され
た順序回路素子の配置座標に基づいて、各ブロックの形
状および大きさを設定するブロック設定部をそなえても
よいし(請求項10)、第1の配置決定部1により決定
された順序回路素子の配置座標に基づいて、ブロックの
相互間を接続するネットが各ブロックの境界上を通過す
る点を決定する境界通過点決定部をそなえてもよい(請
求項11)。
【0016】また、設計回路情報をもつネットリストか
ら入出力ピンと順序回路素子とに関する情報を抽出した
サブネットリストを作成するサブネットリスト作成部を
そなえ、第1の配置決定部1が、このサブネットリスト
作成部により作成されたサブネットリストに基づいて順
序回路素子の配置座標を決定するように構成してもよい
(請求項12)。
【0017】この場合、サブネットリスト作成部が、サ
ブネットリストの作成時に、順序回路素子の相互間や入
出力ピンと順序回路素子との間に存在する、順序回路素
子以外の回路素子数を接続データとして該サブネットリ
ストに含めてもよいし(請求項13)、順序回路素子の
相互間の論理的距離を接続データとしてサブネットリス
トに含めてもよい(請求項14)。
【0018】そして、第1の配置決定部1により決定さ
れた順序回路素子の配置座標とサブネットリストにおけ
る前記回路素子数とを用いて順序回路素子の相互間のデ
ィレイ値もしくは入出力ピンと順序回路素子との間のデ
ィレイ値を簡易的に算出するディレイ算出部をそなえ、
第1の配置決定部1が、このディレイ算出部により算出
されたディレイ値を考慮して、順序回路素子の配置座標
を決定するように構成してもよい(請求項15)。
【0019】さらに、第2の配置決定部2が、第1の配
置決定部1により決定された順序回路素子の配置座標を
考慮するとともにネットリストを考慮して、順序回路素
子以外の回路素子の配置座標を決定するように構成して
もよい(請求項16)。
【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やRAMの配置
座標と、後述する境界通過点決定部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 ディレイ算出部

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 回路設計に際し、入出力ピンの位置に基
    づいて多数の回路素子を所定領域内に配置する回路素子
    配置方法であって、 該多数の回路素子のうち順序回路素子の配置座標を決定
    する第1ステップと、 該第1ステップにより決定された該順序回路素子の配置
    座標を考慮して、該順序回路素子以外の回路素子の配置
    座標を決定する第2ステップとを順次実行することを特
    徴とする、回路素子配置方法。
  2. 【請求項2】 前記所定領域を複数のブロックに分割し
    該多数の回路素子を予め指定されたブロック内にそれぞ
    れ配置する場合、前記第1ステップにより決定された該
    順序回路素子の配置座標に基づいて、各ブロックの形状
    および大きさを設定することを特徴とする、請求項1記
    載の回路素子配置方法。
  3. 【請求項3】 前記所定領域を複数のブロックに分割し
    該多数の回路素子を予め指定されたブロック内にそれぞ
    れ配置する場合、前記第1ステップにより決定された該
    順序回路素子の配置座標に基づいて、該ブロックの相互
    間を接続するネットが各ブロックの境界上を通過する点
    を決定することを特徴とする、請求項1または請求項2
    に記載の回路素子配置方法。
  4. 【請求項4】 設計回路情報をもつネットリストから、
    前記入出力ピンと該順序回路素子とに関する情報を抽出
    したサブネットリストを予め作成し、 前記第1ステップにおいて、該サブネットリストに基づ
    いて該順序回路素子の配置座標を決定することを特徴と
    する、請求項1記載の回路素子配置方法。
  5. 【請求項5】 該サブネットリストが、該順序回路素子
    の相互間や前記入出力ピンと該順序回路素子との間に存
    在する、該順序回路素子以外の回路素子数を接続データ
    として有していることを特徴とする、請求項4記載の回
    路素子配置方法。
  6. 【請求項6】 該サブネットリストが、該順序回路素子
    の相互間の論理的距離を接続データとして有しているこ
    とを特徴とする、請求項4または請求項5に記載の回路
    素子配置方法。
  7. 【請求項7】 前記第1ステップにより決定された該順
    序回路素子の配置座標と該サブネットリストにおける前
    記回路素子数とを用いて、該順序回路素子の相互間のデ
    ィレイ値もしくは前記入出力ピンと該順序回路素子との
    間のディレイ値を簡易的に算出し、 前記第1ステップにおいて、該ディレイ値を考慮して該
    順序回路素子の配置座標を決定することを特徴とする、
    請求項5記載の回路素子配置方法。
  8. 【請求項8】 前記第2ステップにおいて、前記第1ス
    テップにより決定された該順序回路素子の配置座標を考
    慮するとともに該ネットリストを考慮して、該順序回路
    素子以外の回路素子の配置座標を決定することを特徴と
    する、請求項4〜請求項7のいずれかに記載の回路素子
    配置方法。
  9. 【請求項9】 回路設計に際し、入出力ピンの位置に基
    づいて多数の回路素子を所定領域内に配置する回路素子
    配置装置であって、 該多数の回路素子のうち順序回路素子の配置座標を決定
    する第1の配置決定部と、 該第1の配置決定部により決定された該順序回路素子の
    配置座標を考慮して、該順序回路素子以外の回路素子の
    配置座標を決定する第2の配置決定部とをそなえたこと
    を特徴とする、回路素子配置装置。
  10. 【請求項10】 前記所定領域を複数のブロックに分割
    し該多数の回路素子を予め指定されたブロック内にそれ
    ぞれ配置する場合、該第1の配置決定部により決定され
    た該順序回路素子の配置座標に基づいて、各ブロックの
    形状および大きさを設定するブロック設定部をそなえた
    ことを特徴とする、請求項9記載の回路素子配置装置。
  11. 【請求項11】 前記所定領域を複数のブロックに分割
    し該多数の回路素子を予め指定されたブロック内にそれ
    ぞれ配置する場合、該第1の配置決定部により決定され
    た該順序回路素子の配置座標に基づいて、該ブロックの
    相互間を接続するネットが各ブロックの境界上を通過す
    る点を決定する境界通過点決定部をそなえたことを特徴
    とする、請求項9または請求項10に記載の回路素子配
    置装置。
  12. 【請求項12】 設計回路情報をもつネットリストか
    ら、前記入出力ピンと該順序回路素子とに関する情報を
    抽出したサブネットリストを作成するサブネットリスト
    作成部をそなえ、 該第1の配置決定部が、該サブネットリスト作成部によ
    り作成された該サブネットリストに基づいて該順序回路
    素子の配置座標を決定することを特徴とする、請求項9
    記載の回路素子配置装置。
  13. 【請求項13】 該サブネットリスト作成部が、該サブ
    ネットリストの作成時に、該順序回路素子の相互間や前
    記入出力ピンと該順序回路素子との間に存在する、該順
    序回路素子以外の回路素子数を接続データとして該サブ
    ネットリストに含めることを特徴とする、請求項12記
    載の回路素子配置装置。
  14. 【請求項14】 該サブネットリスト作成部が、該サブ
    ネットリストの作成時に、該順序回路素子の相互間の論
    理的距離を接続データとして該サブネットリストに含め
    ることを特徴とする、請求項12または請求項13に記
    載の回路素子配置装置。
  15. 【請求項15】 該第1の配置決定部により決定された
    該順序回路素子の配置座標と該サブネットリストにおけ
    る前記回路素子数とを用いて、該順序回路素子の相互間
    のディレイ値もしくは前記入出力ピンと該順序回路素子
    との間のディレイ値を簡易的に算出するディレイ算出部
    をそなえ、 該第1の配置決定部が、該ディレイ算出部により算出さ
    れた該ディレイ値を考慮して、該順序回路素子の配置座
    標を決定することを特徴とする、請求項13記載の回路
    素子配置装置。
  16. 【請求項16】 該第2の配置決定部が、該第1の配置
    決定部により決定された該順序回路素子の配置座標を考
    慮するとともに該ネットリストを考慮して、該順序回路
    素子以外の回路素子の配置座標を決定することを特徴と
    する、請求項12〜請求項15のいずれかに記載の回路
    素子配置装置。
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 true JPH10228494A (ja) 1998-08-25
JP3422645B2 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
JP3422645B2 (ja) 2003-06-30
US6226778B1 (en) 2001-05-01

Similar Documents

Publication Publication Date Title
US5659484A (en) Frequency driven layout and method for field programmable gate arrays
US5754826A (en) CAD and simulation system for targeting IC designs to multiple fabrication processes
EP0684572B1 (en) Designing semiconductor integrated circuits
US7370302B1 (en) Partitioning a large design across multiple devices
US7536665B1 (en) User-guided autorouting
US7890909B2 (en) Automatic block composition tool for composing custom blocks having non-standard library cells in an integrated circuit design flow
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
US5422833A (en) Method and system for propagating data type for circuit design from a high level block diagram
US20090064069A1 (en) Method and system for generating a layout for an integrated electronic circuit
US5896301A (en) Method for performing floorplan timing analysis using multi-dimensional feedback in a histogram and integrated circuit made using same
JPH07153845A (ja) 集積回路構造の製造方法
JPH08123836A (ja) 会話型回路設計装置
JPH05243382A (ja) フロアプラン装置
US20010025368A1 (en) System and method for H-Tree clocking layout
US5903472A (en) Method for performing floorplan timing analysis by selectively displaying signal paths based on slack time calculations and integrated circuit made using same
JPH10228494A (ja) 回路素子配置方法および装置
US20130339913A1 (en) Semi-automated method of FPGA timing closure
US20040143806A1 (en) Wiring diagram verifying method, program, and apparatus
JP3848685B2 (ja) 半導体集積回路の配置支援方法
US7418675B2 (en) System and method for reducing the power consumption of clock systems
US6516453B1 (en) Method for timing analysis during automatic scheduling of operations in the high-level synthesis of digital systems
JP3433025B2 (ja) モジュール配置方法
JPH0793386A (ja) Lsi実装設計システム
CN117688894B (zh) 芯片布局优化方法、装置、计算机设备及存储介质
JP3182244B2 (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