JP2001338006A - 論理自動設計支援方法および装置 - Google Patents

論理自動設計支援方法および装置

Info

Publication number
JP2001338006A
JP2001338006A JP2000157965A JP2000157965A JP2001338006A JP 2001338006 A JP2001338006 A JP 2001338006A JP 2000157965 A JP2000157965 A JP 2000157965A JP 2000157965 A JP2000157965 A JP 2000157965A JP 2001338006 A JP2001338006 A JP 2001338006A
Authority
JP
Japan
Prior art keywords
logic
logic circuit
wiring length
layout
cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000157965A
Other languages
English (en)
Inventor
Kazuhiko Matsumoto
和彦 松本
Kazuhiro Adachi
和宏 安達
Tomoko Ishida
智子 石田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000157965A priority Critical patent/JP2001338006A/ja
Priority to US09/811,402 priority patent/US20010049814A1/en
Publication of JP2001338006A publication Critical patent/JP2001338006A/ja
Pending 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

Landscapes

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

Abstract

(57)【要約】 【課題】論理構造を変更することなく、論理合成結果の
回路をディレイ制約を満足するようにレイアウトできる
論理自動設計支援方法及び装置を実現する。 【解決手段】論理合成処理部102で処理した論理回路
に対して、論理回路内の複数個のセル同士を隣接させて
配置し、互いに隣接したセル間の配線をローカルインタ
ーコネクトで実現させるための隣接配置指示を生成する
セルグループ化処理と、論理回路内のネットに対してデ
ィレイ制約を満たすことができるように配線長予算を付
与する配線長予算配分処理とを含むレイアウト制御情報
処理部103を設ける。レイアウト処理部104は、こ
れらの隣接配置指示と配線長予算を守った配置、配線を
行う。 【効果】設計の前工程への手戻りを回避でき、LSIの
設計工数を低減できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は論理自動設計支援方
法および装置に係り、特にディレイ制約を満たすことが
できるようにレイアウトを制御するためのレイアウト制
御情報生成処理を有する論理自動設計支援方法および装
置に関する。
【0002】
【従来の技術】近年のLSIの微細化に伴い、配線ディ
レイのディレイ全体に占める比率が増大し、配線ディレ
イ比率が50%を超える状況になってきている。このた
め、論理合成時にゲート段数あるいはゲートディレイだ
けでなく、配線ディレイを十分に考慮することが必要に
なってきている。ところが、論理合成処理はレイアウト
(配置・配線)の前工程であり、セルの配置や配線が決
定されていないため、論理合成時には仮想配線長を用い
てディレイを計算し、ディレイ最適化を行っている。こ
の仮想配線長は過去の設計から得られる統計的データで
あり、論理合成時には、回路のサイズ、ネットのファン
アウト数等によって一律に決定している。
【0003】一方レイアウト処理においては、論理合成
処理で用いた仮想配線長をそのまま実現することができ
ないため、論理合成時のディレイ計算ではディレイ制約
を満たしていても、レイアウト後にディレイ制約を満た
すことができない。言い換えれば、論理合成時のディレ
イ計算結果とレイアウト後の実配線長を用いたディレイ
計算結果に、かい離が生じることになる。その結果、レ
イアウトのやり直し、論理合成のやり直しが必要とな
る。さらには論理合成のやり直しによって論理構造が変
わるために論理回路のサイズまで変わり、フロアプラン
のやり直しが必要となる。これらの設計の手戻りが何回
も発生することにより、設計がなかなか収束しないとい
う問題がある。
【0004】従来、この種の問題を解決する方法とし
て、一度レイアウトを行い、その結果から仮想配線長を
推定し直し、新しく推定した仮想配線長を用いて再論理
合成、再レイアウトを行う第1の方法が特開平10−3
40293号公報に示されている。また、論理回路の各
ネットに対して配線長の予算を与え、その予算値以下で
レイアウトを行う第2の方法が特開平5−101140
号公報に示されている。
【0005】
【発明が解決しようとする課題】しかしながら、上記第
1の方法では、仮想配線長が、過去の設計に基づく推定
値から、現在の設計回路の仮レイアウト結果に基づく推
定値に変更されることにより、回路全体の平均では論理
合成時のディレイ計算結果とレイアウト後の実配線長を
用いたディレイ計算結果とのかい離が小さくなりディレ
イ違反も改善されるが、個々のネットに着目すれば仮想
配線長と実配線長のかい離はあいかわらず解消できない
ため、手戻りが発生する問題は解決できない。また、上
記第2の方法では、予算をどのように与えるかについて
具体的には言及されていない。
【0006】本発明の目的は、論理合成時のディレイ計
算結果とレイアウト後の実配線長を用いたディレイ計算
結果とのかい離の問題をなくし、設計の手戻りの発生回
数を抑えるために、論理合成処理とレイアウト処理の連
携を図る論理自動設計支援方法を提供することにある。
また、その方法を用いた論理自動設計支援装置、および
この装置を用いて設計した製品を提供することも目的と
する。
【0007】
【課題を解決するための手段】前記課題を解決するため
に、本発明に係る論理自動設計支援方法は、論理回路の
機能記述を入力する論理入力処理と、前記機能記述から
論理回路を合成する論理合成処理と、前記論理回路をデ
ィレイ制約を満たすことができるようにレイアウトする
ためのレイアウト制御情報を生成するレイアウト制御情
報生成処理と、前記レイアウト制御情報に基づいて前記
論理回路をレイアウトするレイアウト処理とを備えるこ
とを特徴とする。
【0008】また、上記レイアウト制御情報生成処理
に、論理回路内の複数個のセル同士を隣接させて配置し
互いに隣接したセル間の配線をローカルインターコネク
トで実現させるための隣接配置指示を生成するセルグル
ープ化処理を含めれば好適である。
【0009】さらに、レイアウト制御情報生成処理に、
論理回路内のネットに対して配線長予算を付与し、前記
レイアウト処理が当該ネットに付与された配線長以下に
なるようにレイアウトさせる配線長予算配分処理を含め
てもよい。
【0010】また、レイアウト制御情報生成処理に、論
理回路内の複数個のセル同士を隣接させて配置し互いに
隣接したセル間の配線をローカルインターコネクトで実
現させるための隣接配置指示を生成するセルグループ化
処理と、論理回路内のネットに対して配線長予算を付与
し、前記レイアウト処理が当該ネットに付与された配線
長以下になるようにレイアウトさせる配線長予算配分処
理とを含むこともできる。
【0011】また、上記セルグループ化処理は、外部か
ら指示されたセルグループ化規則にしたがって論理回路
内から規則に合致する部分回路を抽出し、その部分回路
に対して隣接配置指示を生成すれば好適である。
【0012】また、上記セルグループ化処理に、ディレ
イ制約を満足する条件下で、さらに隣接配置指示された
セルの駆動能力を変更する処理を含めてもよい。
【0013】上記配線長予算配分処理が、論理回路内の
全ネットもしくは一部のネットに対して、ディレイ制約
を満たすような配線長予算を配分すれば好適である。
【0014】また、上記配線長予算配分処理が、論理回
路内の全ネットに対して、指定された配線長分布に従う
ように配線長予算を配分してもよい。
【0015】また、上記配線長予算配分処理は、論理回
路内の一部のネットに対して、インタラクティブに配線
長予算を指定することができるようにしてもよい。
【0016】本発明に係る論理自動設計支援装置は、論
理回路の機能記述を入力する論理入力手段と、前記機能
記述から論理回路を合成する論理合成手段と、前記論理
回路をディレイ制約を満たすことができるようにレイア
ウトするためのレイアウト制御情報を生成するレイアウ
ト制御情報生成手段と、前記レイアウト制御情報に基づ
いて前記論理回路をレイアウトするレイアウト手段とを
備えることを特徴とするものである。
【0017】この論理自動設計支援装置に、論理回路図
と配線長分布図を表示する表示装置と、配線長を指定す
るためのキーボードやマウス等の入力装置とからなるグ
ラフィックユーザインタフェース、すなわちグラフィッ
ク端末をさらに備えれば、インタラクティブに配線長予
算を指定することができるので好適である。
【0018】また、本発明に係る半導体装置は、上記論
理自動設計支援装置を用いて設計されたことを特徴とす
るものである。
【0019】
【発明の実施の形態】以下、本発明の実施の形態につ
き、具体的な実施例を用いて添付図面を参照しながら詳
細に説明する。
【0020】大規模なLSIの設計においては、一般に
LSIチップを機能毎に複数個のブロックに分割して設
計する。例えば、CPU(中央処理装置:central proc
essing unit)、メモリコントローラ等のブロックに分
割する(さらに小さな機能に分割することもある)。分
割したブロック単位に論理記述及び論理合成を行い、最
後に一括してレイアウト(配置・配線)を行う。
【0021】このブロックの面積によって、ブロック内
ネットの総配線長やブロック内ネットの配線長分布が決
まることが経験的に分かっている。このため、論理合成
においては、(総配線長)/(ブロック内ネット数)で
求まる仮想配線長を用いてディレイ計算を行っている。
【0022】ブロックの面積は、予め大まかに予測して
決める場合と、一旦仮論理合成を行ってその結果から決
める場合がある。以下に述べる本発明の実施の形態例で
は、各ブロックについて既にブロック面積が決まってお
り、仮想配線長と配線長分布が与えられていることが前
提である。
【0023】図1は本発明による論理自動設計支援シス
テムの構成を示す図であり、論理入力処理部101、論
理合成処理部102、レイアウト制御情報生成処理部1
03、レイアウト処理部104から構成される。
【0024】論理入力処理部101では、機能記述に基
づいてレジスタトランスファレベル(RTL)記述ファ
イル111を作成する。
【0025】論理合成処理部102では、RTL記述フ
ァイル111と、ディレイおよび面積等の設計制約条件
を記述した論理合成制約ファイル112とを入力として
論理合成処理を行い、ゲートレベルのネットリストであ
る論理回路記述ファイル113を出力する。
【0026】レイアウト制御情報生成処理部103で
は、論理回路記述ファイル113と、論理合成制約ファ
イル112と、当該処理部103の制御情報である外部
指示情報ファイル114とを入力として処理を行い、更
新された論理回路記述ファイル115とレイアウト制御
情報ファイル116を出力する。また、端末121を用
いてインタラクティブなレイアウト制御情報生成処理を
行うことができる。
【0027】レイアウト処理部104では、論理回路記
述ファイル115とレイアウト制御情報ファイル116
とを入力として、配置・配線処理すなわちレイアウト処
理を行い、レイアウトデータファイル117を出力す
る。
【0028】各処理部101〜104について以下、さ
らに詳細に説明する。
【0029】論理入力処理部101:ここでは、RTL
記述を直接ハードウェア記述言語で入力してRTL記述
ファイル111を作成するか、又は論理図エディタを用
いて論理図を入力してRTL記述ファイル111に変換
する。
【0030】論理合成処理部102:RTL記述ファイ
ル111と、ディレイ制約および面積制約等を記述した
論理合成制約ファイル112とを入力として論理合成を
行い、ゲートレベルのネットリストである論理回路記述
ファイル113を出力する。当該論理合成処理において
は、仮想配線長に基づいてディレイ計算が行われ、論理
合成制約をできる限り満たすように論理最適化が行われ
る。ここで、仮想配線長は過去の設計から得られる統計
的データであり、論理合成時には、論理回路のサイズ、
ネットのファンアウト数等によって一律に決定してい
る。
【0031】この論理合成処理の結果、フリップフロッ
プ(FF)間のパス、あるいはブロック入出力ポートと
FFの間のパスは次の3種に分類できる。仮想配線長に
よるディレイ計算の結果ディレイ制約を満たす第1のパ
スと、仮想配線長によるディレイ計算の結果ディレイ制
約は満たさないが、パス上のネットの配線長をすべて0
と仮定するとディレイ制約を満たす第2のパスと、仮想
配線長によるディレイ計算の結果ディレイ制約を満たさ
ず、パス上のネットの配線長をすべて0と仮定してもデ
ィレイ制約を満たさない第3のパスである。
【0032】これらのパスのうち第3のパスは、パス上
のセルの駆動能力を変更したり論理構造の変更を行わな
い限り、どのようにレイアウトを行ってもディレイ制約
を満たすことができないため、RTL記述ファイル11
1を変更したり、論理合成制約ファイル112を変更し
たりして、当該処理部102の論理合成処理をやり直す
か、論理回路記述ファイル113を直接変更する必要が
ある。
【0033】なお、本発明の主たる部分であるレイアウ
ト制御情報生成処理部103は、これらの論理再合成や
論理回路記述変更が終了していることが前提となるの
で、本実施の形態では第3のパスは存在しないものとし
て説明する。
【0034】レイアウト制御情報生成処理部103:論
理回路記述ファイル113及び論理合成制約ファイル1
12と、当該処理部103の制御情報である外部指示情
報ファイル114を入力として処理を行い、更新された
論理回路記述ファイル115とレイアウト制御情報ファ
イル116を出力する。また、端末121を用いてイン
タラクティブな処理も可能である。
【0035】図2は、レイアウト制御情報生成処理部1
03の処理を示すフローチャートである。当該処理部1
03は2つの処理からなる。セルグループ化処理201
と配線長予算配分処理202である。これら2つの処理
は、セルグループ化処理201、配線長予算配分処理2
02の順序で両方実行しても良いし、いずれか一方のみ
を実行しても良いが、本実施の形態では両方実行する場
合について以下に説明する。
【0036】セルグループ化処理201:セルグループ
化処理は、さらに3つの処理からなる。第1にクリティ
カルパス上のセルの隣接配置処理211、第2にその他
のセルの隣接配置処理212、第3にセルの駆動能力調
整処理213である。これら3つの処理211,21
2,213について以下に説明する。
【0037】クリティカルパス上のセルの隣接配置処理
211:この処理の目的は、ディレイ違反が生じている
パス上のセル同士を隣接して配置させることにより配線
ディレイを削減させることである。まず、ディレイ計算
の結果から、最もディレイ違反の度合の大きいパスを選
択する。そのパスの最も入力側のセルを起点にしてファ
ンアウトトレースをしながら順にセルを選択し、外部指
示情報ファイル114に記述された隣接配置制約を満た
す範囲でセルの隣接配置指示をする。ここで、隣接配置
制約は1グループのセルの個数、段数の上限、グループ
内ネットの最大ファンアウト数等を記述してある。ここ
では、セル個数は6個以下、段数は3段以下、ネットの
最大ファンアウト数は2以下の隣接配置制約が与えられ
ているとする。
【0038】図3を用いて、当該処理211の詳細を説
明する。論理回路301において、FF311からFF
312までのパスが最大ディレイ違反のパスであるとす
る。FF311を起点として、FF312へ向かってフ
ァンアウトトレースを行う。FF311の出力ネットの
ファンアウト数は2であり、隣接配置制約(最大ファン
アウト数は2以下)を満たす。
【0039】そこで、FF311とセル321,322
の3個を1つのグループとする。次にセル321の出力
ネットのファンアウト数も2であり隣接配置制約を満た
すので、さらにセル323,324の2個も当該グルー
プに加えることができ、合計5セルとなる。FF311
からセル323,324までで3段になるので、セル3
23,324のファンアウト先は当該グループには含む
ことはできない。
【0040】一方、セル322は出力ネットのファンア
ウト数は3であり隣接配置制約であるファンアウト数2
以下を満たさないので、セル322のファンアウト先は
当該グループには含むことはできない。この結果、論理
回路302に示すように、セル311,321,32
2,323,324の5個のセルからなるグループ35
1が得られる。
【0041】次に、違反パス上のセル331を選択す
る。しかし、セル331の出力ネットのファンアウト数
は3であり隣接配置制約であるファンアウト数2以下を
満たさないので、セル331を起点としたグループは構
成できない。
【0042】次に、違反パス上のセル341を選択し、
前述と同様な方法により、論理回路302に示すよう
に、セル341,342,343,312の4個のセル
からなるグループ352が得られる。以上で、FF31
1からFF312までのディレイ違反パスの処理が終了
する。
【0043】次に、得られたグループ351および35
2の内部ネットの配線長を外部指示情報ファイル114
で指定された短い固定長(ここでは0が指定されたとす
る)に定め、ディレイ再計算を行う。この再計算は論理
回路全体で行う必要はなく、前記の配線長固定の影響範
囲のみ行えばよい。ディレイ再計算の結果、最もディレ
イ違反の度合の大きいパスを選択し、再び前述の隣接配
置処理を行い、ディレイ違反パスがなくなるか、選択し
たディレイ違反パスが隣接配置処理済みとなるまで繰り
返す。
【0044】その他のセルの隣接配置処理212:この
処理の目的は、クリティカルパス上のセルの隣接配置処
理211でグループ化されなかったセルをグループ化す
ることにより、ピン密度を下げ、配線性をよくすること
にある。ここでは、FFまたはブロック出力ポートを起
点としたファンイントレースをしながら順にセルを選択
し、隣接配置制約を満たす範囲でセルの隣接配置指示を
する。ここで、隣接配置制約は外部指示情報ファイル1
14に与えられており、隣接配置処理211と同様に1
グループのセルの個数、段数の上限、グループ内ネット
の最大ファンアウト数等を記述してある。ここでは、セ
ル個数は6個以下、段数は3段以下、ネットの最大ファ
ンアウト数は1以下の隣接配置制約が与えられていると
する。
【0045】図4を用いて、当該処理212の詳細を説
明する。論理回路401において、FF420とセル4
19からなるグループ421は、クリティカルパス上の
セルの隣接配置処理211でグループ化されているもの
とする。
【0046】まず、論理回路401においてFF411
を起点としてファンイントレースを開始する。FF41
1の入力側のセル412はファンアウト数1で隣接配置
制約(最大ファンアウト数は1以下)を満たすので、F
F411とセル412を同一グループとする。同様に、
セル413,414も前述のグループに含めることがで
きる。FF411からセル413,414まではそれぞ
れ3段となり、これ以上のファンイントレースは段数3
段以下という隣接配置制約を満たさなくなるので行えな
い。したがって論理回路402に示すように、FF41
1,セル412,413,414からなるグループ43
1が構成される。
【0047】次に、セル413の入力側のセル415を
起点とするファンイントレースを行う。セル415の入
力側のセルは416,419の2個だが、セル419は
すでにグループ421に含まれているので、セル415
と同一グループにできない。一方、セル416はセル4
15と同一グループにできる。
【0048】セル416の入力側セルであるFF417
の出力ネットは、ファンアウト数が2であり隣接配置制
約を満たさないので、FF417はセル415,416
と同一グループにできない。したがって、論理回路40
2に示すように、セル415,416からなるグループ
432が構成される。これらの処理を論理回路全体にわ
たって行い、次の処理213に進む。
【0049】駆動能力調整処理213:ここでは、グル
ープ化されたセルの駆動能力の調整を行う。駆動能力の
調整はディレイを削減することを第1の目的として行
う。駆動能力の切り下げはさらにチップ面積を小さく
し、また消費電力を小さくする効果があるため、積極的
に行う。一方、駆動能力の切り上げはチップ面積を大き
くし、また消費電力を大きくするためクリティカルパス
上でディレイ削減効果のある場合のみに限定して行う必
要がある。以下本駆動能力調整処理を具体的に説明す
る。
【0050】まず、各グループの入力端のセルの駆動能
力を切り下げる。着目した入力端セルが次の条件式 Cin>2・Ron1・CLa/Ron0 …(1) を満足する場合に駆動能力を2分の1に切り下げる。
【0051】ここで、上記条件式(1)の各変数は図5に
示す回路501において、着目したセル511の駆動能
力変更前のピンの入力容量がCin、出力抵抗がRon
1、セル511の出力側セル512の入力容量の和がC
La、セル511の入力側セル513の出力抵抗がRo
n0である。
【0052】上記条件式(1)はセル511の駆動能力を
2分の1に切り下げたとき、セル幅が2分の1となる場
合である。入力容量Cinが2分の1、出力抵抗Ron
1が2倍になることによる出力ネット側のディレイ増加
分Ron1・CLが、入力ネット側のディレイ減少分R
on0・Cin/2よりも小さくなる条件を示してい
る。ただし、これはクリティカルパス上にのみ適用され
る条件式であり、クリティカルパス以外では、回路全体
でディレイ違反が生じない範囲で駆動能力を切り下げて
良い。
【0053】次に、各グループの出力端のセルの駆動能
力を切り上げる。対象となるのはディレイ違反パス上の
セルであり、着目した出力端セルの出力抵抗が条件式 Ron1<Ron0・Cin/(2CL) …(2) を満足する場合に駆動能力を2倍に切り上げる。
【0054】ここで、条件式(2)の各変数は図5に示す
回路502において、着目したセル521の駆動能力変
更前のピンの入力容量がCin、出力抵抗がRon1、
セル521の出力側セル522の入力容量CLaとセル
521の出力側ネットの配線容量CLbの和がCL(=
CLa+CLb)、セル521の入力側セル523の出
力抵抗がRon0である。
【0055】上記条件式(2)はセル521の駆動能力を
2倍に切り上げたとき、セル幅が2倍となる場合であ
る。入力容量Cinが2倍、出力抵抗Ron1が2分の
1になることによる出力ネット側のディレイ増加分Ro
n1・CLが入力ネット側のディレイ減少分Ron0・
Cin/2より小さくなる条件を示している。ただし、
セル521の出力側ネットの配線容量の和は、当該ネッ
トの配線長が仮想配線長であるとして算出する。
【0056】以上の例では駆動能力の1段階の切り上げ
(駆動能力2倍)、切り下げ(駆動能力1/2倍)の例
を説明したが、その他の倍率の切り上げ、切り下げも同
様に可能である。
【0057】以上でセルグループ化処理201が終了す
る。レイアウト制御情報生成処理部103では次に配線
長予算配分処理202が行われ、その後にレイアウト処
理部104が行われるが、配線長予算配分処理202の
説明の前に、セルグループ化処理された論理回路のレイ
アウト処理部の104の処理について説明する。
【0058】レイアウト処理部104:セルグループ化
処理201で変更された論理回路記述ファイル115
と、レイアウト制御情報ファイル116を入力し、レイ
アウト制御情報ファイル116に記述された隣接配置指
示、および後述の配線長予算を守って配置、配線を行
い、レイアウトデータファイル117を出力する。
【0059】図6は、図4に示した論理回路402のレ
イアウト結果である。隣接配置指示された各セル群42
1,431,432のセルは、それぞれ隣接して配置す
る。例えばセル群421に含まれるセル419,420
はセル列612上で互いに隣接して配置し、ネット44
1で示されるセル419,420間の接続はローカルイ
ンターコネクトで実現する。
【0060】同様に、セル群431はセル列613上
で、セル群432はセル列611上で隣接配置を実現す
る。隣接配置セル間以外の配線は、参照符号601〜6
04で示すように、通常のセル間配線で実現する。以上
でセルグループ化処理に関する説明を終了する。
【0061】配線長予算配分処理202:配線長予算配
分処理では、統計的な配線長分布とほぼ同じ分布となる
ように論理回路の各ネットに配線長予算を与える。図7
は、論理回路内のネットの配線長分布を示している。統
計的分布701は、外部指示情報ファイル114で与え
られ、各配線長毎にそのネットの度数を示している。配
線長予算配分処理202では、与える配線長のきざみ幅
を外部指示情報ファイル114から与えられるようにし
ておき、その幅で配線長分布を作り直す。例えば、配線
長幅のきざみを20μmとする場合、すなわち予算とし
て与える配線長を20μm、40μm、60μm、・・
・とする場合、統計的分布701の配線長が0から20
μm以下の範囲の度数の合計を配線長20μmの度数と
し、統計的分布701の配線長が20μmを超えて40
μm以下の範囲の度数の合計を配線長40μmの度数と
する、というように新しい度数を計算し、新しい分布7
02を作成する。配線長予算配分処理202では、この
新しい配線長分布702に基づいて処理を行う。
【0062】次に、ディレイの厳しいパス上のネットに
対して短い配線長を付与する処理、さらに残りのネット
に対して長い配線長を付与する処理を行う。以下、これ
らの処理を説明する。
【0063】短い配線長を付与する処理:図8は短い配
線長を付与する処理のフローである。以下、図10に示
す論理回路を例に説明する。
【0064】ディレイ計算801:セルグループ化処理
により隣接配置指示されたグループ内ネットについては
固定配線長(一般に0)を用い、以下の処理により配線
長予算の付与されたネットについては付与された配線長
を用い、その他のネットについては仮想配線長を用いて
各々のディレイ計算を行い、次の処理802に進む。な
お、図10の論理回路1000ではFF1004からF
F1002までのパスのディレイが4nsec、FF1
005からFF1002までのパスのディレイが5ns
ec、FF1005からFF1003までのパスのディ
レイが6nsec、であるとする。また、ディレイ制約
(マシンサイクル)は5nsecとする。
【0065】最大パスディレイのパスの選択802:前
記ディレイ計算の結果に基づいてディレイ値が最大のパ
スを選択し、次の処理803に進む。論理回路1000
では、FF1005からFF1003までのパスのディ
レイが6nsecで最大である。
【0066】パス上のネットにすべて予算配分済かどう
かの判定803:判定結果が“YES”ならば、短い配
線長を与える処理は終了する。“NO”ならば処理80
4に進む。論理回路1000の場合、FF1005から
FF1003までのパス上のネットにはまだ配線長予算
が与えられていないので、処理804に進む。
【0067】ネット選択804:選択されたパス上のネ
ットから1本のネットを選択し次の処理805に進む。
選択基準は、まだ配線長を付与されていないネットに対
し、以下の条件について重み付けをおこなって、最も重
みの大きいネットを選択する。重み付けについては、フ
ァンアウト数Fが大きいネットの重みを大、駆動能力R
の小さいセルの出力ネットの重みを大、当該ネットを含
むディレイ違反パスの本数Pが多いときに重みを大、と
なるように外部指示情報ファイル114から重み関数を
定義できるようにしておく。
【0068】本実施の形態では、重み関数をF・P/R
とする。同一重みのネットが複数個存在するときは、よ
り入力側のネットを優先して選択する。論理回路100
0の場合、FF1005からFF1003までのパス上
のネット1038〜1042では、ファンアウト数Fは
ネット1038のみが2で他は1、ディレイ違反パスの
本数Pはディレイ違反パスが当該パスのみなのですべて
1、駆動能力Rも当該パス上のセルの駆動能力は同一と
すればすべて等しい。したがって、ネット1038のみ
が他のネット1039〜1042より大きいことになる
ので、ネット1038を選択する。
【0069】配線長予算付与805:配線長分布702
に基づいて付与した配線長の度数が分布図の度数を超え
ない範囲で、できるだけ短い配線長を付与して次の処理
806に進む。論理回路1000では、ネット1038
に対して最も短い配線長20μmを付与する。
【0070】本数予算達成かどうかの判定806:短い
配線長予算を与えるネットの本数の予算を達成したかど
うか判定し、“YES”ならば終了し、“NO”ならば
ディレイ計算801の処理に戻る。本数予算は外部指示
情報ファイル114で与えられる。ここでは、論理回路
1000の本数予算が5本であるとすると、予算を与え
たネットは1本なのでディレイ計算801に戻る。
【0071】ディレイ計算801:ネット1038に与
えた配線長20μmを反映させたディレイ計算を行う。
その結果、論理回路1000においてFF1004から
FF1002までのパスのディレイが4nsec、FF
1005からFF1002までのパスのディレイが4.
7nsec、FF1005からFF1003までのパス
のディレイが5.7nsec、になったとする。
【0072】FF1005からFF1003までのパス
のディレイが最大なので、処理802において、このパ
スを選択して前述の処理を繰り返す。論理回路1000
に短い配線長を与える処理の最終結果を、図10に論理
回路1001として示す。ネット1038〜1042に
対して、それぞれ配線長予算20μm、40μm、40
μm、20μm、20μmが付与される。
【0073】ここで、例えば図10における論理回路1
001のセル1017の駆動能力が小さいため、セル1
017とFF1003との間の配線長を20μmに変更
する必要があるとした場合、マウスなどのポインティン
グデバイス或いはキーボードを用いて、グラフィック端
末121のディスプレイ上でネット1039を選択す
る。次に、キーボードから数値入力するか、或いは図7
のヒストグラムで示した配線長分布702上の配線長2
0μmに該当する配線長をポインティングデバイスによ
り選択する。これにより、配線長予算を端末121を介
して付与したことになる。このようにすることで、ユー
ザは論理回路内の一部のネットに対してインタラクティ
ブに配線長予算を指定することができる。すなわち、論
理自動設計支援装置にグラフィックユーザインタフェー
スを備えることにより、インタラクティブな配線長予算
付与処理を行うことができる。次に、長い配線長を付与
する処理を行う。
【0074】長い配線長を付与する処理:図9は、長い
配線長を付与する処理のフローである。以下、図11の
例に基づいて説明する。図11は、図10の論理回路に
対して長い配線長を付与する処理を行った結果である。
【0075】終点の選択901:論理回路からパスの終
点を1つ選択する。ここで、終点とはFFまたは論理回
路の出力ポートである。終点選択の順序は任意である。
本実施の形態の例では、選択の順序は予算配分結果に影
響しない。図11の論理回路1100では、終点はFF
1002,FF1003の2個ある。まず、FF100
2を選択する。
【0076】各始点までの段数計算902:選択した終
点からファンイントレースをパスの始点まで行う。トレ
ースしたセルに対して終点までの最大段数を計算し、次
の処理903に進む。ここで、始点とはFFまたは論理
回路の入力ポートである。図11の論理回路1100で
は、終点として選択したFF1002からファンイント
レースを始点FF1004,FF1005まで行い、各
セル1011〜1016,1004,1005に対し
て、それぞれ段数は論理回路1100に示すように、
1,2,2,3,3,4,4,5となる。
【0077】1段当りディレイ予算計算903:処理9
02でトレースしたパスのセル1段当りのディレイ予算
を計算し、次の処理904に進む。ここで、セル1段当
りのディレイ予算は(ディレイ制約)/(パス段数)で
ある。図11の論理回路1100では、FF1004か
らFF1002までのパスの段数は4段なので、セル1
段当りのディレイ予算は5nsec/4段=1.25n
sec、FF1005からFF1002までのパスの段
数は5段なので、セル1段当りのディレイ予算は5ns
ec/5段=1nsec、となる。
【0078】ディレイ予算のラベル付け904:各始点
までの段数計算902でファンイントレースした各ネッ
トに対して、ディレイ予算のラベルを付け、次の処理9
05に進む。これは各始点から終点に向かってトレース
しながら始点を含むパスのディレイ予算をネットに与え
る。着目したネットが複数の異なる始点のパスに含まれ
る場合、最も小さいディレイ予算を選択する。また、短
い配線長の付与処理で配線長がすでに付与されているネ
ットに対しては、最後にラベルをはずす。
【0079】論理回路1100に対してラベル付けを行
った結果が、論理回路1101である。ネット103
1,1035,1036,1037に対してそれぞれラ
ベルは1nsecとなり、ネット1032,1033,
1034に対してそれぞれラベルは1.25nsecと
なる。
【0080】未処理の終点が有るかどうかの判定90
5:未処理の終点が有るかどうかを判定して、“YE
S”なら処理901に戻り、“NO”ならば終了する。
論理回路1101ではFF1003が未処理なので、処
理901に戻る。
【0081】終点の選択901:FF1003を終点と
して選択する。以降の処理の詳細説明は省略するが、F
F1005からFF1003までのパス上のすべてのネ
ットはすでに短い配線長の付与処理で配線長がすでに付
与されているので、ラベルが付けられない。次に配線長
予算付与906を説明する。
【0082】配線長予算付与906:ラベルの付けられ
ているネットをラベルの大きい順にソートし、配線長分
布702に基づいて配線長を長い順に割当てる。論理回
路1101では、まずネット1032に対して最も長い
配線長320μmが付与され、以下論理回路1102に
示すように、各ネットに長い配線長が付与される。
【0083】以上でセルグループ化処理201、配線長
予算分配処理202が終了し、その結果を論理回路記述
ファイル115、レイアウト制御情報ファイル116に
出力してレイアウト制御情報生成処理部103の処理が
終了する。
【0084】レイアウト処理部104:論理回路記述フ
ァイル115、レイアウト制御情報ファイル116を入
力として、レイアウト制御情報ファイル116に記述さ
れた隣接配置指示、配線長予算を守って配置、配線を行
い、レイアウトデータファイル117を出力する。セル
グループ化処理201の結果を用いたレイアウト処理例
についてはすでに説明してあるので、ここでは配線長予
算分配処理202の結果を用いたレイアウト処理例を説
明する。
【0085】図12は、論理回路1102のレイアウト
結果である。各セル1002〜1005,1011〜1
020は、セル列1201〜1205上に各ネット10
31〜1042に与えられた配線長予算を満たすように
配置、配線する。例えば、図11に示すようにネット1
042の配線長予算は20μmなので、その両端のセル
1019,1020は近接して配置する。また、ネット
1033の配線長予算は200μmなので、その両端の
セル1012,1014は予算を満たす範囲で離して配
置することができる。
【0086】このように発明の論理自動設計支援方法
は、論理合成後の論理回路に対して、論理回路内の複数
個のセル同士を隣接させて配置し、互いに隣接したセル
間の配線をローカルインターコネクトで実現させるため
の隣接配置指示を生成するセルグループ化処理を行う。
さらに、論理回路内のネットに対してディレイ制約を満
たすことができるように配線長予算を付与する配線長予
算配分処理を行い、レイアウト処理はこれらの隣接配置
指示と配線長予算を守った配置、配線を行う。
【0087】この論理自動設計支援方法を実現する論理
自動設計支援装置を得るには、論理回路の機能記述を入
力する論理入力手段と、機能記述から論理合成する論理
合成手段と、論理回路をディレイ制約を満たすことがで
きるようにレイアウトするためのレイアウト制御情報を
生成するレイアウト制御情報生成手段と、レイアウト制
御情報に基づいて前記論理回路をレイアウトするレイア
ウト手段とを備えていればよい。さらに、論理回路図や
配線長分布図を表示するディスプレイ装置と、マウス等
のポインティングデバイスやキーボード入力装置とを有
するグラフィックユーザ端末を設ければ、論理回路内の
一部のネットに対してインタラクティブに配線長予算を
この端末を介して指定できるようになる。
【0088】以上、本発明の好適な実施の形態例につい
て説明したが、本発明は上記実施の形態例に限定される
ものではなく、本発明の精神を逸脱しない範囲内におい
て、種々の設計変更をなし得ることは勿論である。
【0089】
【発明の効果】本発明により、論理構造を変更すること
なく、論理合成結果の回路をディレイ制約を満足するよ
うにレイアウトできる。その結果、設計の前工程への手
戻りを回避でき、LSIの設計工数の低減に効果があ
る。
【図面の簡単な説明】
【図1】本発明による論理自動設計支援システムの全体
構成を示す図である。
【図2】本発明による論理自動設計支援システムにおけ
るレイアウト制御情報生成処理部の処理フローを示す図
である。
【図3】レイアウト制御情報生成処理におけるセルグル
ープ化処理を説明するための論理回路を示す図である。
【図4】レイアウト制御情報生成処理におけるセルグル
ープ化処理の詳細を説明するための論理回路を示す図で
ある。
【図5】駆動能力切替え処理を説明するための論理回路
を示す図である。
【図6】図4に示した論理回路のレイアウト処理結果を
示す図である。
【図7】論理回路内のネット配線長分布を示す図であ
る。
【図8】配線長予算配分における短い配線長を付与する
処理のフローを示す図である。
【図9】配線長予算配分における長い配線長を付与する
処理のフローを示す図である。
【図10】配線長予算配分における短い配線長を付与す
る処理の一例を示す図である。
【図11】配線長予算配分における長い配線長を付与す
る処理の一例を示す図である。
【図12】図10に示した論理回路のレイアウト処理結
果を示す図である。
【符号の説明】 101…論理入力処理部、102…論理合成処理部、1
03…レイアウト制御情報生成処理部、104…レイア
ウト処理部、111…RTL記述ファイル、112…論
理合成制約ファイル、113,115…論理回路記述フ
ァイル、114…外部指示情報ファイル、116…レイ
アウト制御情報ファイル、121…端末、201…セル
グループ化処理、202…配線長予算配分処理、211
…クリティカルパス上のセルの隣接配置処理、212…
その他のセルの隣接配置処理、213…駆動能力調整処
理、301,302…論理回路、311,312…フリ
ップフロップ(FF)セル、321〜324,331,
341〜343…セル、351,352…セルグルー
プ、401,402…論理回路、411〜420…セ
ル、421,431,432…セルグループ、501,
502…論理回路、511〜513,521〜523…
セル、611〜613…セル列、701,702…配線
長分布図、801…ディレイ計算処理、802…最大パ
スディレイのパスの選択処理、803…パス上のネット
にすべて予算配分済かどうかの判定処理、804…ネッ
ト選択処理、805…配線長予算付与処理、806…本
数予算達成判定処理、901…終点選択処理、902…
各始点までの段数計算処理、903…1段当りディレイ
計算処理、904…ディレイ予算ラベル付け処理、90
5…未処理の終点の有無の判定処理、906…配線長予
算付与処理、1000,1001…論理回路、1002
〜1005…FFセル、1011〜1020…セル、1
031〜1042…ネット、1100〜1102…論理
回路、1201〜1205…セル列。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 石田 智子 神奈川県秦野市堀山下1番地 株式会社日 立製作所エンタープライズサーバ事業部内 Fターム(参考) 5B046 AA08 BA03 BA05 BA06 5F064 AA06 BB09 BB12 DD02 DD03 DD04 DD05 EE02 EE03 EE08 EE19 EE47 HH06 HH09 HH12

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】論理回路の機能記述を入力する論理入力処
    理と、 前記機能記述から論理回路を合成する論理合成処理と、 前記論理回路をディレイ制約を満たすことができるよう
    にレイアウトするためのレイアウト制御情報を生成する
    レイアウト制御情報生成処理と、 前記レイアウト制御情報に基づいて前記論理回路をレイ
    アウトするレイアウト処理とを備えることを特徴とする
    論理自動設計支援方法。
  2. 【請求項2】前記レイアウト制御情報生成処理は、論理
    回路内の複数個のセル同士を隣接させて配置し互いに隣
    接したセル間の配線をローカルインターコネクトで実現
    させるための隣接配置指示を生成するセルグループ化処
    理を含むことを特徴とする請求項1記載の論理自動設計
    支援方法。
  3. 【請求項3】前記レイアウト制御情報生成処理は、論理
    回路内のネットに対して配線長予算を付与し、前記レイ
    アウト処理が当該ネットに付与された配線長以下になる
    ようにレイアウトさせる配線長予算配分処理を含むこと
    を特徴とする請求項1または請求項2に記載の論理自動
    設計支援方法。
  4. 【請求項4】前記セルグループ化処理は、外部から指示
    されたセルグループ化規則にしたがって論理回路内から
    規則に合致する部分回路を抽出し、その部分回路に対し
    て隣接配置指示を生成することを特徴とする請求項2ま
    たは請求項3に記載の論理自動設計支援方法。
  5. 【請求項5】前記セルグループ化処理は、ディレイ制約
    を満足する条件下で、さらに隣接配置指示されたセルの
    駆動能力を変更する処理を含むことを特徴とする請求項
    2または請求項3に記載の論理自動設計支援方法。
  6. 【請求項6】前記配線長予算配分処理は、論理回路内の
    全ネットもしくは一部のネットに対して、ディレイ制約
    を満たすような配線長予算を配分することを特徴とする
    請求項3記載の論理自動設計支援方法。
  7. 【請求項7】前記配線長予算配分処理は、論理回路内の
    全ネットに対して、指定された配線長分布に従うように
    配線長予算を配分することを特徴とする請求項3記載の
    論理自動設計支援方法。
  8. 【請求項8】前記配線長予算配分処理は、論理回路内の
    一部のネットに対して、インタラクティブに配線長予算
    を指定することができることを特徴とする請求項3、
    6、7のいずれか1項に記載の論理自動設計支援方法。
  9. 【請求項9】論理回路の機能記述を入力する論理入力手
    段と、 前記機能記述から論理回路を合成する論理合成手段と、 前記論理回路をディレイ制約を満たすことができるよう
    にレイアウトするためのレイアウト制御情報を生成する
    レイアウト制御情報生成手段と、 前記レイアウト制御情報に基づいて前記論理回路をレイ
    アウトするレイアウト手段とを備えることを特徴とする
    論理自動設計支援装置。
  10. 【請求項10】論理回路図と配線長分布図を表示する表
    示デバイスと、配線長を指定するためのキーボードやマ
    ウス等の入力デバイスとからなるグラフィックユーザイ
    ンタフェースを更に備えることを特徴とする請求項9記
    載の論理自動設計支援装置。
  11. 【請求項11】請求項9または請求項10に記載の論理
    自動設計装置によって設計された半導体装置。
JP2000157965A 2000-05-24 2000-05-24 論理自動設計支援方法および装置 Pending JP2001338006A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000157965A JP2001338006A (ja) 2000-05-24 2000-05-24 論理自動設計支援方法および装置
US09/811,402 US20010049814A1 (en) 2000-05-24 2001-03-20 Automatic logic design supporting method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000157965A JP2001338006A (ja) 2000-05-24 2000-05-24 論理自動設計支援方法および装置

Publications (1)

Publication Number Publication Date
JP2001338006A true JP2001338006A (ja) 2001-12-07

Family

ID=18662506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000157965A Pending JP2001338006A (ja) 2000-05-24 2000-05-24 論理自動設計支援方法および装置

Country Status (2)

Country Link
US (1) US20010049814A1 (ja)
JP (1) JP2001338006A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006163822A (ja) * 2004-12-07 2006-06-22 Mitsubishi Electric Corp 論理合成装置および方法並びにプログラム
JP2008071000A (ja) * 2006-09-13 2008-03-27 Fujitsu Ltd 半導体集積回路の設計装置、設計方法、設計プログラムおよび該プログラムを記録した記録媒体
WO2010067502A1 (ja) * 2008-12-11 2010-06-17 パナソニック株式会社 電子システム設計手法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6966046B2 (en) * 2001-04-24 2005-11-15 International Business Machines Corporation CMOS tapered gate and synthesis method
JP3992947B2 (ja) * 2001-06-22 2007-10-17 富士通株式会社 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム
JP3615191B2 (ja) * 2002-03-04 2005-01-26 株式会社東芝 半導体集積回路装置の設計方法、設計装置、及び設計プログラム
US7111268B1 (en) * 2002-08-26 2006-09-19 Xilinx, Inc. Post-layout optimization in integrated circuit design
US7308664B1 (en) 2004-02-09 2007-12-11 Altera Corporation Method and apparatus for utilizing long-path and short-path timing constraints in an electronic-design-automation tool for routing
US7275230B2 (en) * 2004-06-11 2007-09-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods to gather and display pin congestion statistics using graphical user interface
US7552409B2 (en) * 2005-06-07 2009-06-23 Synopsys, Inc. Engineering change order process optimization
JP2010019662A (ja) * 2008-07-10 2010-01-28 Nec Electronics Corp テスト方法及び半導体集積回路
US8234615B2 (en) * 2010-08-04 2012-07-31 International Business Machines Corporation Constraint programming based method for bus-aware macro-block pin placement in a hierarchical integrated circuit layout

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006163822A (ja) * 2004-12-07 2006-06-22 Mitsubishi Electric Corp 論理合成装置および方法並びにプログラム
JP4509758B2 (ja) * 2004-12-07 2010-07-21 三菱電機株式会社 論理合成装置および方法並びにプログラム
JP2008071000A (ja) * 2006-09-13 2008-03-27 Fujitsu Ltd 半導体集積回路の設計装置、設計方法、設計プログラムおよび該プログラムを記録した記録媒体
WO2010067502A1 (ja) * 2008-12-11 2010-06-17 パナソニック株式会社 電子システム設計手法

Also Published As

Publication number Publication date
US20010049814A1 (en) 2001-12-06

Similar Documents

Publication Publication Date Title
TW567528B (en) Method for generating a partitioned IC layout
US7624366B2 (en) Clock aware placement
Das et al. Design tools for 3-D integrated circuits
JP4719265B2 (ja) 確率的相互接続構造設計のためのシステムおよび方法
US5654898A (en) Timing-driven integrated circuit layout through device sizing
Chen et al. Low-power high-level synthesis for FPGA architectures
JP3737104B2 (ja) プログラム可能な集積回路デバイスにユーザ回路を配置するタイミング駆動式の方法
US7676780B2 (en) Techniques for super fast buffer insertion
US7299442B2 (en) Probabilistic congestion prediction with partial blockages
US5666289A (en) Flexible design system
US5930499A (en) Method for mixed placement of structured and non-structured circuit elements
KR100249251B1 (ko) 논리회로 최적화 장치 및 그 방법
Zhou et al. Optimal river routing with crosstalk constraints
US6066178A (en) Automated design method and system for synthesizing digital multipliers
US5477460A (en) Early high level net based analysis of simultaneous switching
Lu et al. Flip-flop and repeater insertion for early interconnect planning
CN101206686A (zh) 设计时钟域中锁存器的布图的方法和计算机系统
WO2000065490A1 (en) Timing optimization in presence of interconnect delays
JP2002500435A (ja) タイミング閉鎖方法
JP2001338006A (ja) 論理自動設計支援方法および装置
Hu et al. A timing-constrained simultaneous global routing algorithm
US7100140B2 (en) Generation of graphical congestion data during placement driven synthesis optimization
JPH1012740A (ja) 網重み付けによるタイミング・ドリブン配置
Li et al. High quality hypergraph partitioning for logic emulation
US6654943B2 (en) Method, system, and computer program product for correcting anticipated problems related to global routing