JPH1056067A - Automatically laid-out wiring method - Google Patents

Automatically laid-out wiring method

Info

Publication number
JPH1056067A
JPH1056067A JP8210127A JP21012796A JPH1056067A JP H1056067 A JPH1056067 A JP H1056067A JP 8210127 A JP8210127 A JP 8210127A JP 21012796 A JP21012796 A JP 21012796A JP H1056067 A JPH1056067 A JP H1056067A
Authority
JP
Japan
Prior art keywords
wiring
slack
delay
constraints
placement
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
JP8210127A
Other languages
Japanese (ja)
Inventor
Yoshiyuki Kawakami
善之 川上
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 JP8210127A priority Critical patent/JPH1056067A/en
Publication of JPH1056067A publication Critical patent/JPH1056067A/en
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a method of generating a wiring layout which meets delay constraints. SOLUTION: Slack graphs which represent delay constraints under various design conditions are prepared. Several conditions are present, so that two or more slack graphs are generated. A pin layout step 4 where a pin layout is improved by the use of the slack graphs, a cell layout step 1 where a cell layout is improved, and an approximate wiring step 3 where an approximate wiring route is improved are carried out, but it constitutes a feature of this method that all the steps are repeatedly carried out until a wiring layout meets the delay constraints represented by the all the slack graphs. By this setup, timing violations are previously removed, so that no timing violations are detected in a final verification stage of an LSI design, and a time required for design can be shortened.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、半導体LSIのレ
イアウト設計における自動配置配線方法に関するもので
ある。つまり、半導体集積回路の構成要素となる複数の
機能ブロックまたは複数の論理セルを配置した後複数の
機能ブロックまたは複数の論理セルの間を論理接続要求
に従って配線してレイアウト設計を行なうことに際し、
各々のネットの配線遅延を制約として複数の論理セルの
配置を行なうタイミングドリブン配置と、各々のネット
の配線遅延を制約として概略配線経路決定を行なうタイ
ミングドリブン概略配線と、各々のネットの配線遅延を
制約として未レイアウトの機能ブロックの外部ピン(以
下、浮動外部ピンと呼ぶ)の配置を決定するタイミング
ドリブンピン配置の少なくとも一つによる自動配置配線
方法に関するものである。
[0001] 1. Field of the Invention [0002] The present invention relates to an automatic placement and routing method in a layout design of a semiconductor LSI. In other words, after arranging a plurality of functional blocks or a plurality of logic cells which are constituent elements of a semiconductor integrated circuit, wiring the plurality of functional blocks or a plurality of logic cells in accordance with a logical connection request and performing a layout design,
A timing-driven layout for arranging a plurality of logic cells with the wiring delay of each net as a constraint, a timing-driven rough wiring for determining a rough wiring route with the wiring delay of each net as a constraint, and a wiring delay for each net. The present invention relates to an automatic placement and routing method based on at least one timing driven pin arrangement that determines the arrangement of external pins (hereinafter, referred to as floating external pins) of a functional block that has not been laid out as a constraint.

【0002】[0002]

【従来の技術】近年はシステム・オン・シリコン時代と
呼ばれるように、1チップにシステムを搭載するほどに
高集積化された半導体LSIチップが開発されてきてお
り、LSI設計にかかる工数が増加の一途をたどってい
る。その中で、レイアウト設計においても例外ではな
く、工数・処理時間が指数関数的に増大してきており、
回路全体を一度にレイアウトするには膨大な時間および
労力を費やすことになる。そこで、回路をいくつかの機
能ブロックに分割し、各々個別に設計し、最後に機能ブ
ロック間を配線して組み上げるといった階層設計の手法
が採られることが多い。このように、階層的に複数ブロ
ックを組み上げて1チップのレイアウト設計を行なった
LSIは、ビルディングブロック方式LSIと呼ばれ
る。
2. Description of the Related Art In recent years, as is called the system-on-silicon era, semiconductor LSI chips that are highly integrated to mount a system on one chip have been developed, and the man-hours required for LSI design have increased. It's going on. Among them, layout design is no exception, and man-hours and processing time are increasing exponentially.
A great deal of time and effort is spent laying out the entire circuit at once. Therefore, a hierarchical design technique is often employed in which a circuit is divided into several functional blocks, each is individually designed, and finally, the functional blocks are wired and assembled. An LSI in which a plurality of blocks are hierarchically assembled and a one-chip layout is designed is called a building block type LSI.

【0003】半導体LSIチップのレイアウト設計方式
として、ゲートアレイ(または、シー・オブ・ゲート)
方式やスタンダードセル方式等がある。これらの方式
は、NANDゲート、ORゲート等の基本論理セルやそ
れらを組み合わせた複合セルをアレイ状にLSI基板上
に配置し、所望の回路接続に従ってそれらセル上にある
端子の間を配線することによってLSIチップを作る方
法である。これらの方法は設計の自動化が進んでおり、
様々な設計支援システム(CADシステム)が開発され
ている。
As a layout design method of a semiconductor LSI chip, a gate array (or sea of gate) is used.
System and standard cell system. In these methods, basic logic cells such as NAND gates and OR gates and composite cells combining them are arranged in an array on an LSI substrate, and wiring is performed between terminals on the cells according to a desired circuit connection. This is a method of making an LSI chip. These methods have advanced design automation,
Various design support systems (CAD systems) have been developed.

【0004】このシステムで設計を行なう基本手順を示
す。 1)仮想的なチップ領域内に論理セルを配置する(セル
配置)。 2)チップ上の大まかな配線経路を決定する概略配線を
施す(概略配線)。 3)その概略配線経路を基に具体的にデザインルールを
満足して全てのネット間の配線を決定する詳細配線を行
なう(詳細配線)。ここで、ネットとは等電位に接続し
なければならない端子の集合である。
The basic procedure for designing with this system will be described. 1) Arrange logic cells in a virtual chip area (cell arrangement). 2) Apply schematic wiring for determining a rough wiring path on the chip (schematic wiring). 3) Based on the schematic wiring path, detailed wiring is performed to specifically satisfy the design rule and determine wiring between all nets (detailed wiring). Here, a net is a set of terminals that must be connected to the same potential.

【0005】もし前述のようなビルディングブロック方
式LSIで設計する場合、始めにチップ全体に対して機
能ブロックを何処に配置するかを決定するフロアプラン
を行なうことが多い。その際、未レイアウトの機能ブロ
ックの配置も行なうので、その機能ブロックの外部との
入出力を司る外部端子(浮動外部端子)の位置を決定す
るピン配置を行なう。
[0005] In the case of designing with a building block type LSI as described above, a floor plan for deciding where to place the functional blocks on the entire chip is often performed first. At this time, since an unlaid-out functional block is also arranged, a pin arrangement for determining the position of an external terminal (floating external terminal) which controls input / output with the outside of the functional block is performed.

【0006】半導体LSIの製造技術の進歩により、今
ではディープサブミクロンと呼ばれる0.5ミクロン以
下のデザインルールでチップを設計する程になってい
る。これによって、回路内を信号が伝達する時間、すな
わち信号遅延時間(単に、遅延時間)に占める配線遅延
とゲート遅延の関係が、配線遅延>ゲート遅延となり、
チップ設計において配線遅延を考慮することが必須の課
題となっている。このような課題を解決するために、遅
延時間を考慮してチップ設計することをタイミングドリ
ブン設計と呼んでいる。
[0006] Advances in semiconductor LSI manufacturing technology have led to the design of chips with a design rule of 0.5 micron or less, which is now called deep submicron. Accordingly, the relationship between the wiring delay and the gate delay occupying the signal transmission time in the circuit, that is, the signal delay time (simply, the delay time) is expressed as wiring delay> gate delay,
It is an essential issue to consider wiring delay in chip design. In order to solve such a problem, designing a chip in consideration of a delay time is called timing-driven design.

【0007】ここで、タイミングドリブン設計の基本原
理を簡単に説明する。一般に、多くの半導体LSIは同
期回路で設計されている。この同期回路は、図5(a)
に示すように、同期素子(フリップフロップ等)の集合
と同期素子間をつなぐ組合せ回路の集合としてモデル化
することができる。このとき、同期回路のクロックサイ
クル時間Tclk は、 Tclk ≧max(Thold+TD-Q +Tdelay +Tskew) として定式化できる。ここで、Tholdは同期素子のセッ
トアップ・ホールド時間、TD-Q は同期素子内部の信号
入力から出力までの遅延時間、Tdelay は組合せ回路の
遅延時間、Tskewはクロックスキューである。詳細は
「プロシーディング・オブ・第27回・デザイン・オー
トメーション・カンファレンス、1990、ページ57
3−579(Proc. of the 27th Design Automation Co
nference, 1990, pp.573-579)」に記述されている。
Here, the basic principle of timing driven design will be briefly described. Generally, many semiconductor LSIs are designed with a synchronous circuit. This synchronization circuit is shown in FIG.
As shown in (1), it can be modeled as a set of combinational circuits that connect sets of synchronous elements (such as flip-flops) and synchronous elements. At this time, the clock cycle time Tclk of the synchronous circuit can be formulated as Tclk ≧ max (Thold + TD-Q + Tdelay + Tskew). Here, Thold is the setup and hold time of the synchronous element, TD-Q is the delay time from signal input to output inside the synchronous element, Tdelay is the delay time of the combinational circuit, and Tskew is the clock skew. For details, see the Proceedings of the 27th Design Automation Conference, 1990, page 57.
3-579 (Proc. Of the 27th Design Automation Co
nference, 1990, pp.573-579) ".

【0008】さらに、組合せ回路の遅延時間Tdelay
は、ゲート間の遅延(あるゲートのファンインからつぎ
のゲートのファンインまでの遅延)Td の和によってモ
デル化できる。例えば、図5(b)のような2個のフリ
ップフロップ(FF1,FF2)とANDゲートとOR
ゲートで回路構成された例では、 Tdelay =TQ +TAND +TOR となる。なお、TQ ,TAND ,TORは、各々FF1 の出
力ドライバから、ANDゲートから、ORゲートからの
ゲート間遅延時間Td である。
Furthermore, the delay time Tdelay of the combinational circuit
Can be modeled by the sum of the delays between gates (the delay from the fan-in of one gate to the fan-in of the next gate) Td. For example, two flip-flops (FF1 and FF2) as shown in FIG.
In an example in which the circuit is configured by gates, Tdelay = TQ + TAND + TOR. TQ, TAND, and TOR are delay times Td from the output driver of FF1, the AND gate, and the OR gate, respectively.

【0009】さらに、このゲート間遅延時間Td は、 Td =Tintrinsic +Tload+Twire+Tpriv として定式化できる。ここで、Tintrinsic は負荷に依
らないゲート遅延時間、Tloadは負荷全体(配線容量+
端子容量の総和)に関わるゲート遅延時間、Twireは配
線形状などに依存する配線遅延時間、Tprivは前段の波
形鈍りに依存する遅延時間である。詳細は「プロシーデ
ィング・オブ・第31回・デザイン・オートメーション
・カンファレンス、1994、ページ327−332
(Proc. of the 31st Design Automation Conference,
1994, pp.327-332)」に記述されている。
Further, the inter-gate delay time Td can be formulated as Td = Tintrinsic + Tload + Twire + Tpriv. Here, Tintrinsic is the gate delay time independent of the load, and Tload is the entire load (wiring capacitance +
Twire is a wiring delay time that depends on the wiring shape and the like, and Tpriv is a delay time that depends on the waveform blunting of the preceding stage. For details, see the Proceedings of the 31st Design Automation Conference, 1994, pages 327-332.
(Proc. Of the 31st Design Automation Conference,
1994, pp. 327-332) ".

【0010】さらに、モデルを簡単化して、配線形状に
依存する配線遅延時間Twireを除く3項をゲート遅延時
間Tgateにおくと、ゲート間遅延時間Td は Td =Tgate+Twire となる。タイミングドリブン設計は、以上のようなモデ
ル化を基にゲート遅延時間と配線遅延時間とを見積もっ
て設計する手法のことである。
Further, if the model is simplified and three terms except the wiring delay time Twire depending on the wiring shape are set in the gate delay time Tgate, the gate-to-gate delay time Td becomes Td = Tgate + Twire. The timing-driven design is a method of estimating a gate delay time and a wiring delay time based on the above-described modeling to design.

【0011】設計の上位のレベル(例えば、機能設計や
論理設計)からゲート遅延や配線遅延を見積もりながら
設計を進めていくが、レイアウト設計では見積もられた
配線遅延を満足するようなレイアウト図を生成すること
が必須となる。すなわち、ある配線遅延の制約の基に配
置配線を行なうことである。遅延制約を表現する方法と
して、スラックと呼ばれる概念を用いるのが一般的であ
る。スラック値は、信号パスなどがもつ、タイミング制
約(遅延制約)に対する余裕度を示す値であり、 slack(x)=Tr(x)−Ta(x) のように定義される。ここで、Tr(x)とは回路x(素
子、信号パス等)に(設計上)要求された到着時間、T
a(x)は回路xに実際に(レイアウト図上で求められた)
到着した時間である。slack(x)が負であることはタイミ
ング違反していることを意味する。
A design is advanced while estimating a gate delay and a wiring delay from an upper level of the design (for example, a functional design and a logic design). In a layout design, a layout diagram satisfying the estimated wiring delay is created. It must be generated. That is, the placement and routing is performed under the restriction of a certain wiring delay. As a method of expressing the delay constraint, a concept called slack is generally used. The slack value is a value indicating a margin of a signal path or the like with respect to a timing constraint (delay constraint), and is defined as slack (x) = Tr (x) -Ta (x). Here, Tr (x) is the arrival time required (by design) for circuit x (elements, signal paths, etc.), T
a (x) is actually in circuit x (determined on the layout diagram)
The time of arrival. If slack (x) is negative, it means that the timing has been violated.

【0012】さらに、タイミングドリブン設計において
よく使われるスラックグラフについて図6から図12ま
でを参照しながら説明する。図6(a)は6個の論理セ
ル1〜6(4個のANDセルと2個のバッファセル)を
含むある回路の回路図を示しており、この回路の信号は
左から右へ流れ、この回路のパス遅延制約は例えば19
であるとする。この図には、あるレイアウトを行なった
ときに求められたセル内遅延を示す数値を各論理セルに
近接して記述してあり、ネットの配線遅延を示す数値を
各論理セルを結ぶ配線に近接して記述している。なお、
遅延制約や各遅延値の単位は例えば、ピコ秒やナノ秒で
ある。
Further, a slack graph often used in timing driven design will be described with reference to FIGS. FIG. 6A shows a circuit diagram of a circuit including six logic cells 1 to 6 (four AND cells and two buffer cells), and the signals of this circuit flow from left to right, The path delay constraint of this circuit is, for example, 19
And In this figure, the numerical value indicating the intra-cell delay obtained when a certain layout is performed is described near each logic cell, and the numerical value indicating the net wiring delay is set close to the wiring connecting each logical cell. It has been described. In addition,
The unit of the delay constraint or each delay value is, for example, picosecond or nanosecond.

【0013】図6(b)は同図(a)の回路を含む回路
をスタンダードセル方式LSIで配置(レイアウト)し
たときの配置結果の一例の概略図を示している。図6
(c)は同図(b)における同図(a)の回路の部分の
拡大図を示しており、例えばこの図のようにレイアウト
したときのセル内遅延およびネットの配線遅延を図6
(a)の回路に記述している。なお、図6(a)の回路
を構成する各論理セル1〜6を列上に並べ、各論理セル
1〜6間のネット配線を行なうことにより、レイアウト
が行なえる。各論理セル1〜6の並べ方は任意である。
このようにして、各論理セル1〜6の配置が決まると、
ネットの配線によって物理的距離をもつことになり、ネ
ットの配線遅延の計算が可能となる。また、配線の長さ
がわかるので、セル内遅延の計算も可能となる。よっ
て、一度配置位置が決まると、ネットの配線遅延とセル
内遅延とが計算されることになる。
FIG. 6 (b) is a schematic diagram showing an example of an arrangement result when a circuit including the circuit of FIG. 6 (a) is arranged (laid out) by a standard cell LSI. FIG.
FIG. 6C is an enlarged view of the circuit portion of FIG. 6A in FIG. 6B. For example, in-cell delay and net wiring delay when the layout is laid out as shown in FIG.
This is described in the circuit of FIG. The layout can be performed by arranging the logic cells 1 to 6 constituting the circuit of FIG. 6A on a column and performing net wiring between the logic cells 1 to 6. The arrangement of the logic cells 1 to 6 is arbitrary.
Thus, when the arrangement of each of the logic cells 1 to 6 is determined,
The wiring of the net has a physical distance, and the wiring delay of the net can be calculated. Further, since the length of the wiring is known, it is possible to calculate the intra-cell delay. Therefore, once the arrangement position is determined, the net wiring delay and the intra-cell delay are calculated.

【0014】ここで、配線の長さがわかることでセル内
遅延の計算が可能となる理由について説明する。上述し
たように、ゲート間遅延時間Tdは、 Td =Tintrinsic +Tload+Twire+Tpriv で表される。これをセル内遅延Tgateと配線遅延Twire
で表現すると、前述のように、 Td =Tgate+Twire となる。ここで、 Tgate=Tintrinsic +Tload+Tpriv である。
Here, the reason why the intracell delay can be calculated by knowing the length of the wiring will be described. As described above, the inter-gate delay time Td is represented by Td = Tintrinsic + Tload + Twire + Tpriv. This is referred to as intra-cell delay Tgate and wiring delay Twire.
As described above, Td = Tgate + Twire. Here, Tgate = Tintrinsic + Tload + Tpriv.

【0015】つぎに、セル内遅延Tgateがどのようにし
て演算されるかを以下に説明する。Tintrinsic は、負
荷によらないゲート遅延であるから、セルが決まれば一
意に決まり、配線に依存しない。Tloadは、負荷全体に
かかわるゲート遅延時間であり、これはセルの出力側に
つながるネットの負荷容量の総和を基に計算される。よ
って、配線の長さがわかれば配線負荷容量がわかるの
で、計算可能となる。Tprivは、セルの入力側につなが
る前段の波形鈍りに依存する遅延時間であり、これは前
段の配線ネットによって計算されるものである。配線の
長さがわかれば、正確には計算できないが、近似的には
計算が可能である。以上のことから、配線の長さがわか
れば、Tgateを算出することができる。
Next, how the intra-cell delay Tgate is calculated will be described below. Since Tintrinsic is a gate delay independent of load, it is uniquely determined when a cell is determined and does not depend on wiring. Tload is the gate delay time for the entire load, which is calculated based on the sum of the load capacities of the nets connected to the output side of the cell. Therefore, if the length of the wiring is known, the wiring load capacity can be determined, and the calculation can be performed. Tpriv is a delay time that depends on the waveform blunting of the preceding stage connected to the input side of the cell, and is calculated by the wiring net of the preceding stage. If the length of the wiring is known, it cannot be calculated accurately, but it can be calculated approximately. From the above, if the length of the wiring is known, Tgate can be calculated.

【0016】つぎに、パス遅延制約を、ネットの配線遅
延制約に置き換えることができる理由について説明す
る。設計上の遅延制約は、パス遅延制約の形で定義され
る。しかし、図6(b)でわかるように、いったん配置
がなされた段階で配線の長さがわかるので、ネットの配
線遅延がわかることになる。パス遅延制約を満たすため
に配置を改善するときに、元の配置位置を参考に一部の
変更を繰り返し行うので、パスで遅延制約が守られてい
るかどうか検証しますが、ネット長の変化が基になり、
最終的にネット長を幾らに変更するということに帰着す
るので、パス遅延制約はネットの配線遅延制約に置き換
えることが可能となる。したがって、レイアウト設計に
おいては、パス遅延制約とネットの配線遅延制約と均等
なものと考えられる。
Next, the reason why the path delay constraint can be replaced with the net wiring delay constraint will be described. Design delay constraints are defined in the form of path delay constraints. However, as can be seen from FIG. 6B, since the length of the wiring is known at the stage of the placement, the wiring delay of the net is known. When the placement is improved to satisfy the path delay constraint, some changes are repeatedly made with reference to the original placement position, so it is verified whether the delay constraint is adhered to in the path. The basis,
The net result is to change the net length to some extent, so that the path delay constraint can be replaced with the net wiring delay constraint. Therefore, it is considered that the layout design is equivalent to the path delay constraint and the net wiring delay constraint.

【0017】図7は図6(a)の回路の図6(c)の配
置結果を基にして作成した第1のスラックグラフの初期
状態を示している。このスラックグラフを条件0(typi
cal条件)下のグラフと定義する。従来はこのtypical
条件(条件0)下のみで、つまり1条件のみでタイミン
グドリブン配置/配線を行なう。図7においては、図6
(a)の各論理セルの出力端、つまり頂点を丸で示し、
図6(a)の各論理セル1〜6の入出力部の配線(ネッ
ト)を無向枝で示している。図7の頂点1〜6は図6
(a)の論理セル1〜6とそれぞれ対応しており、頂点
1〜6のそれぞれの中に図6(a)に示したのと同じセ
ル内遅延値を記述し、それと併せて括弧内に累積遅延値
を記述している。また、頂点1〜6につながる無向枝に
も図6(a)に示したの同じネットの配線遅延値を記述
し、それと併せて括弧内に累積遅延値を記述するように
している。なお、累積遅延値は図6(a)の回路の各始
端から該当する頂点もしくは無向枝までの遅延値の累積
値の最大値(最長パス)である。このときはパス遅延計
算をしていないので、累積遅延値はすべて0となってい
る。
FIG. 7 shows an initial state of a first slack graph prepared based on the arrangement result of FIG. 6C of the circuit of FIG. 6A. This slack graph is converted to condition 0 (typi
cal condition) is defined as the graph below. Conventionally, this typical
Timing-driven placement / wiring is performed only under a condition (condition 0), that is, under only one condition. In FIG. 7, FIG.
The output end of each logic cell of (a), that is, the vertex is indicated by a circle,
The wiring (net) of the input / output unit of each of the logic cells 1 to 6 in FIG. Vertices 1 to 6 in FIG.
Each of the vertices 1 to 6 corresponds to the logic cell 1 to 6 in FIG. 6A, and describes the same intra-cell delay value as shown in FIG. Describes the cumulative delay value. Also, the wiring delay value of the same net shown in FIG. 6A is described in the undirected branches connected to the vertices 1 to 6, and the cumulative delay value is described in parentheses in addition thereto. Note that the cumulative delay value is the maximum value (longest path) of the cumulative value of the delay values from each start end of the circuit in FIG. 6A to the corresponding vertex or undirected branch. At this time, since the path delay is not calculated, the accumulated delay values are all zero.

【0018】図8は図7の初期状態のスラックグラフを
基にしてパス遅延計算をした結果(typical 条件(条件
0))のスラックグラフを示している。この図のスラッ
クグラフにおいて、クリティカルパスは頂点2→頂点4
→頂点6となる。ここで、図8のスラックグラフにおけ
るパス遅延計算(累積遅延値の計算)の手法について説
明する。
FIG. 8 shows a slack graph as a result (typical condition (condition 0)) of path delay calculation based on the slack graph in the initial state of FIG. In the slack graph of this figure, the critical path is from vertex 2 to vertex 4
→ It becomes vertex 6. Here, a method of calculating a path delay (calculation of an accumulated delay value) in the slack graph of FIG. 8 will be described.

【0019】パス遅延の求め方は、常にある頂点に到達
するまでの遅延時間の最長で計算する。例えば、頂点1
までのパス遅延はそこまでにかかる時間が1であるの
で、セル内遅延値1との和をとって、 頂点1までのパス遅延=1+1=2 となる。同様にして、 頂点2までのパス遅延=2+3=5 となる。さらに、頂点3までのパス遅延は、頂点1まで
のパス遅延と頂点1と頂点3の間の配線遅延の和と、頂
点2までのパス遅延と頂点2と頂点3の間の配線遅延の
和との内の最大値と頂点3のセル内遅延値との和をとる
ことで求まる。つまり、 頂点3までのパス遅延=頂点2までのパス遅延+頂点2
と頂点3の間の配線遅延+頂点3のセル内遅延=5+1
+4=10 同様にして、 頂点4までのパス遅延=5+1+6=12 頂点5までのパス遅延=10+2+6=18 頂点6までのパス遅延=12+2+6=20 となる。パス遅延制約が19であるので、 slack(5)=19−18=1 slack(6)=19−20=−1 となる。slack(5)>slack(6)であるので、slack(6)を計
算した経路は2→4→6となり、このこの経路はクリテ
ィカルパスとなる。しかも、スラック値は負であるの
で、タイミング違反を起こしていることになる。この違
反をなくすためには頂点2までの配線、頂点2〜頂点4
までの配線、頂点4〜頂点6までの配線のいずれかを短
くすることをしなければならない。
The path delay is calculated using the longest delay time required to reach a certain vertex. For example, vertex 1
Since the path delay up to that time is 1, the sum with the intra-cell delay value 1 is obtained, and the path delay up to vertex 1 = 1 + 1 = 2. Similarly, the path delay up to vertex 2 = 2 + 3 = 5. Further, the path delay to vertex 3 is the sum of the path delay to vertex 1 and the wiring delay between vertex 1 and vertex 3, and the sum of the path delay to vertex 2 and the wiring delay between vertex 2 and vertex 3. Is obtained by taking the sum of the maximum value among the above and the intra-cell delay value of vertex 3. That is, path delay to vertex 3 = path delay to vertex 2 + vertex 2
Delay between node and vertex 3 + delay in vertex 3 cell = 5 + 1
+ 4 = 10 Similarly, path delay to vertex 4 = 5 + 1 + 6 = 12 path delay to vertex 5 = 10 + 2 + 6 = 18 path delay to vertex 6 = 12 + 2 + 6 = 20. Since the path delay constraint is 19, slack (5) = 19−18 = 1 slack (6) = 19−20 = −1. Since slack (5)> slack (6), the path for which slack (6) is calculated is 2 → 4 → 6, and this path is a critical path. In addition, since the slack value is negative, a timing violation has occurred. To eliminate this violation, wiring up to vertex 2, vertex 2 to vertex 4
, Or any of the vertices 4 to 6 must be shortened.

【0020】タイミングドリブン設計はこのように全て
のスラック値が正になるまで配線を改善(短く)するこ
とを行なう。詳細は「プロシーディング・オブ・第22
回・デザイン・オートメーション・カンファレンス、1
985、ページ124−130(Proc. of the 22nd De
sign Automation Conference, 1985, pp.124-130)」に
記述されている。
In the timing driven design, the wiring is improved (shortened) until all slack values become positive. See “Proceedings of 22nd
Times, Design Automation Conference, 1
985, pages 124-130 (Proc. Of the 22nd De
sign Automation Conference, 1985, pp.124-130).

【0021】遅延時間を考慮してセル配置を行なう方法
はタイミングドリブン配置と呼び、従来技術として、
「アイ・イー・イー・イー・インターナショナル・カン
ファレンス・オン・コンピュータ・エイディッド・デザ
イン、1988、ページ506−509(Proc. IEEE I
nternational Conference on Computer Aided Design,1
988, pp.506-509)」、「アイ・イー・イー・イー・イ
ンターナショナル・カンファレンス・オン・コンピュー
タ・エイディッド・デザイン、1991、ページ48−
51(Proc. IEEE International Conference on Compu
ter Aided Design, 1991, pp.48-51)」等が挙げられ
る。
A method of arranging cells in consideration of a delay time is called a timing driven arrangement.
"IEE International Conference on Computer Aided Design, 1988, pp. 506-509 (Proc. IEEE I
nternational Conference on Computer Aided Design, 1
988, pp.506-509) "," IEE International Conference on Computer Aided Design, 1991, pp. 48-
51 (Proc. IEEE International Conference on Compu
ter Aided Design, 1991, pp.48-51) ”.

【0022】また、概略配線ではタイミングドリブン概
略配線を呼び、従来技術として、「アイ・イー・イー・
イー・インターナショナル・カンファレンス・オン・コ
ンピュータ・エイディッド・デザイン、1990、ペー
ジ48−51(Proc. IEEE International Conference
on Computer Aided Design, 1990, pp.48-51)」等があ
る。
In the schematic wiring, a timing-driven schematic wiring is called, and as a conventional technique, "IEE.
IEEE International Conference on Computer Aided Design, 1990, pp. 48-51 (Proc. IEEE International Conference
on Computer Aided Design, 1990, pp.48-51).

【0023】ピン配置はタイミングドリブンで行なう例
は少ない。前述のように、セル配置→概略配線→詳細配
線の順番に設計を進めていくが、遅延制約(タイミン
グ)を考慮して遅延違反を起こさないようにする効果が
現れるのはセル配置>概略配線>詳細配線の順である。
There are few examples where the pin arrangement is performed in a timing driven manner. As described above, the design is advanced in the order of cell arrangement → schematic wiring → detailed wiring, but the effect of preventing a delay violation taking into account delay constraints (timing) appears in the cell arrangement> schematic wiring. > Detailed wiring order.

【0024】[0024]

【発明が解決しようとする課題】設計された半導体LS
Iチップを製造するかどうかを決定する工程として最終
検証シミュレーション、いわゆるバックアノテーション
の工程がある。これは、計算機上で設計されたレイアウ
ト図を基にゲート遅延や配線遅延を見積もって色々な条
件に対して動作シミュレーションを行なうものである。
もし最終検証シミュレーションでエラーになった場合、
レイアウト図を変更することが必要である。これは設計
コストの増大につながる。チップ製造のバラツキを考慮
するためにレイアウト図から求められたゲート遅延や配
線遅延をある一定の範囲内でバラつかせてシミュレーシ
ョンを行なうことが多い。例えば、基準ゲート遅延値と
基準配線遅延値に対して各々2倍かけてシミュレーショ
ンすることである。
SUMMARY OF THE INVENTION Designed semiconductor LS
As a process for determining whether or not to manufacture an I chip, there is a final verification simulation, a so-called back annotation process. In this technique, a gate delay and a wiring delay are estimated based on a layout diagram designed on a computer, and an operation simulation is performed under various conditions.
If the final verification simulation fails,
It is necessary to change the layout drawing. This leads to an increase in design costs. In many cases, a simulation is performed by varying gate delays and wiring delays determined from a layout diagram within a certain range in order to consider variations in chip manufacturing. For example, a simulation is performed by doubling each of the reference gate delay value and the reference wiring delay value.

【0025】以上により、実際のチップ設計ではチップ
の製造や使用条件等を考慮するために複数の遅延制約を
満たすことが必要となっている。前述のセル配置技術に
おいて配線遅延の制約は各ネットについてただ1つしか
持たない。そこで、それを解決する方法として最悪の遅
延制約、すなわち配線遅延制約の厳しいもの(配線遅延
値が小さい)で代表してタイミングドリブン配置を行な
う。この方法はクロック設計におけるセットアップ時間
を満足することを意味するが、もう一つの指標であるホ
ールド時間を満足することを保証できず、最終検証シミ
ュレーションでエラーを発生させる可能性が残る。
As described above, in the actual chip design, it is necessary to satisfy a plurality of delay constraints in order to consider the manufacturing and use conditions of the chip. In the above-described cell placement technique, there is only one wiring delay constraint for each net. Therefore, as a method for solving the problem, the timing-driven arrangement is performed by representing the worst delay constraint, that is, the one having a severe wiring delay constraint (small wiring delay value). This method satisfies the setup time in the clock design, but cannot guarantee that the hold time, which is another index, is satisfied, and may cause an error in the final verification simulation.

【0026】つまり、レイアウト設計では、いちばん遅
いときの時間がセットアップ時間の設計上の要求値より
小さいかどうかが問題となり、また、いちばん早いとき
の時間がホールド時間の設計上の要求値より大きいかど
うかが問題となり、配線遅延制約の厳しいもので代表し
てタイミングドリブン配置を行なうということは前者の
問題には対応しているが、後者の問題には対応できない
ということである。
In other words, in the layout design, it is a problem whether the time at the latest time is smaller than the design value of the setup time, and whether the time at the earliest time is larger than the design value of the hold time. The problem is that the timing-driven placement is typified by the one with strict wiring delay constraints, which addresses the former problem, but does not address the latter problem.

【0027】ここで、セットアップ時間とはセル内にデ
ータを格納するまでに必要な時間、例えばフリップフロ
ップにデータをセットし終えるまでの時間である。ま
た、ホールド時間とは、セル内でデータを保持しなけれ
ばならない時間、例えばフリップフロップ内でデータを
最低保持しなければならない時間である。また、前述の
概略配線技術においても配線遅延制約は各ネットについ
てただ1つしか持たない。したがって、セル配置と同じ
課題がある。
Here, the setup time is a time required to store data in a cell, for example, a time until data is completely set in a flip-flop. The hold time is a time during which data must be held in a cell, for example, a time during which data must be held at least in a flip-flop. Also, in the above-described general wiring technique, there is only one wiring delay constraint for each net. Therefore, there is the same problem as the cell arrangement.

【0028】また、ピン配置技術ではタイミングドリブ
ンで配置することが少ない。ピン配置問題は機能ブロッ
ク間の配線のときに発生する問題であり、未レイアウト
の機能ブロックにおいて(通常ブロックの周辺上に)浮
動外部端子をどこにおけばチップ面積が小さくできるか
という問題である。これまでのピン配置技術は機能ブロ
ック間配線の配線長を最小化できる位置に置くことを目
的としていた。配線遅延を考慮するのはフロアプランに
おける機能ブロック配置の問題として扱い、さらに配線
遅延の制御は機能ブロック間配線経路決定(概略配線)
に委ねられていた。もし配線遅延が厳しい(小さい)場
合は、制約の厳しいネットを有する機能ブロックの配置
を相対的に近付けることで対処する。さらに配線長最小
化を目的とした概略配線を行なって制約に近付ける。し
かし、ピン配置は機能ブロックの周辺上に自由に置くこ
とができるので、概略配線で制御できない大きな変更が
できる可能性がある。よりタイミング制約が厳しいチッ
プ設計ではピン配置の段階でタイミングドリブンで行な
うことが必須になってくる。
In the pin placement technique, the placement is rarely timing driven. The pin arrangement problem is a problem that occurs when wiring between function blocks, and is a problem of where a floating external terminal can be placed in a non-layout function block (on the periphery of the normal block) to reduce the chip area. Until now, the pin placement technology has been aimed at placing the wiring between functional blocks at a position where the wiring length can be minimized. Considering wiring delay is treated as a problem of functional block placement in the floor plan, and wiring delay is controlled by determining the wiring route between functional blocks (schematic wiring).
It was entrusted to. If the wiring delay is severe (small), it is dealt with by relatively approaching the arrangement of the functional blocks having the strictly restricted nets. Furthermore, approximate wiring is performed for the purpose of minimizing the wiring length, thereby approaching the restriction. However, since the pin arrangement can be freely arranged on the periphery of the functional block, there is a possibility that a large change which cannot be controlled by the schematic wiring can be made. In a chip design with stricter timing constraints, it is essential to perform timing-driven operation at the pin arrangement stage.

【0029】したがって、この発明の目的は、最終検証
シミュレーションでタイミング違反によるエラーの発生
をなくすことができる自動配置配線方法を提供すること
である。
Accordingly, it is an object of the present invention to provide an automatic placement and routing method that can eliminate the occurrence of an error due to a timing violation in a final verification simulation.

【0030】[0030]

【課題を解決するための手段】上記課題を解決するため
に、請求項1記載の自動配置配線方法は、半導体集積回
路の構成要素となる複数の機能ブロックまたは複数の論
理セルを配置した後複数の機能ブロックまたは複数の論
理セルの間を論理接続要求に従って配線してレイアウト
設計を行なうことに際し、各々のネットの配線遅延を制
約として複数の論理セルの配置を行なうタイミングドリ
ブン配置による自動配置配線方法であって、各々のネッ
トに対して複数の配線遅延制約をもち、複数の配線遅延
制約を全て満足するように複数の論理セルの配置を行な
うセル配置ステップを含むことを特徴とする。
In order to solve the above-mentioned problems, an automatic placement and routing method according to the first aspect of the present invention provides a method for automatically placing and routing a plurality of function blocks or a plurality of logic cells which are constituent elements of a semiconductor integrated circuit. Automatic placement and routing method using timing-driven placement for arranging a plurality of logic cells while restricting the wiring delay of each net when performing layout design by wiring between functional blocks or a plurality of logic cells according to a logic connection request Wherein each cell has a plurality of wiring delay constraints, and includes a cell arrangement step of arranging a plurality of logic cells so as to satisfy all of the plurality of wiring delay constraints.

【0031】この構成によると、複数の配線遅延制約を
全て満足するように複数の論理セルの配置を行なうの
で、複数の論理セルをタイミング違反を起こさないよう
に配置することができ、最終検証シミュレーションでタ
イミング違反によるエラーの発生をなくすことができ
る。請求項2記載の自動配置配線方法は、請求項1記載
の自動配置配線方法において、セル配置ステップは、複
数の配線遅延の制約を複数の遅延制約グラフ(以下、ス
ラックグラフと呼ぶ)で表現し、それらをスラックグラ
フGi(iは自然数)としたときに、スラックグラフG
iを複数の配線遅延の制約を基に作成するスラックグラ
フ生成ステップと、複数の論理セルを一時的に配置する
セル初期配置ステップと、スラックグラフGiを基に複
数の配線遅延の制約を満足できるように複数の論理セル
の配置改善を行なうセル配置改善ステップとを含み、全
てのスラックグラフGiで表現した複数の配線遅延の制
約を満足するように順次セル配置改善ステップを繰り返
すことを特徴とする。
According to this configuration, since a plurality of logic cells are arranged so as to satisfy all of the plurality of wiring delay constraints, a plurality of logic cells can be arranged so as not to cause a timing violation. Thus, the occurrence of an error due to a timing violation can be eliminated. In the automatic placement and routing method according to the second aspect, in the automatic placement and routing method according to the first aspect, the cell placement step represents a plurality of wiring delay constraints by a plurality of delay constraint graphs (hereinafter, referred to as slack graphs). , When they are defined as a slack graph Gi (i is a natural number),
a slack graph generation step of creating i based on a plurality of wiring delay constraints, a cell initial placement step of temporarily arranging a plurality of logic cells, and a plurality of wiring delay constraints can be satisfied based on the slack graph Gi. And a cell arrangement improvement step of improving the arrangement of a plurality of logic cells, and sequentially repeating the cell arrangement improvement step so as to satisfy the plurality of wiring delay constraints expressed by all slack graphs Gi. .

【0032】この構成によると、スラックグラフGiを
複数の配線遅延の制約を基に作成し、複数の論理セルを
一時的に配置した後、全てのスラックグラフGiを基に
複数の配線遅延の制約を満足できるように複数の論理セ
ルの配置改善を行なうので、複数の論理セルをタイミン
グ違反を起こさないように配置することができ、最終検
証シミュレーションでタイミング違反によるエラーの発
生をなくすことができる。
According to this configuration, a slack graph Gi is created based on a plurality of wiring delay constraints, a plurality of logic cells are temporarily arranged, and then a plurality of wiring delay constraints are created based on all slack graphs Gi. Since the arrangement of a plurality of logic cells is improved so as to satisfy the above condition, the plurality of logic cells can be arranged so as not to cause a timing violation, and an error due to a timing violation in a final verification simulation can be eliminated.

【0033】請求項3記載の自動配置配線方法は、半導
体集積回路の構成要素となる複数の機能ブロックまたは
複数の論理セルを配置した後複数の機能ブロックまたは
複数の論理セルの間を論理接続要求に従って配線してレ
イアウト設計を行なうことに際し、各々のネットの配線
遅延を制約として概略配線経路決定を行なうタイミング
ドリブン概略配線による自動配置配線方法であって、各
々のネットに対して複数の配線遅延制約をもち、複数の
配線遅延制約を全て満足するように概略配線経路決定を
行なう概略配線ステップを含むことを特徴とする。
In the automatic placement and routing method according to the third aspect, after arranging a plurality of function blocks or a plurality of logic cells as constituent elements of a semiconductor integrated circuit, a logical connection request is made between the plurality of function blocks or the plurality of logic cells. Is a timing-driven general routing method for determining a general routing path with the wiring delay of each net as a constraint when performing a layout design by wiring according to the following. And a general wiring step of determining a general wiring path so as to satisfy all of a plurality of wiring delay constraints.

【0034】この構成によると、複数の配線遅延制約を
全て満足するように概略配線経路決定を行なうので、概
略配線経路決定をタイミング違反を起こさないように行
なうことができ、最終検証シミュレーションでタイミン
グ違反によるエラーの発生をなくすことができる。請求
項4記載の自動配置配線方法は、請求項3記載の自動配
置配線方法において、概略配線ステップは、複数の配線
遅延の制約を複数の遅延制約グラフ(以下、スラックグ
ラフと呼ぶ)で表現し、それらをスラックグラフGi
(iは自然数)としたときに、スラックグラフGiを複
数の配線遅延の制約を基に作成するスラックグラフ生成
ステップと、概略配線経路を一時的に決定する初期配線
経路決定ステップと、スラックグラフGiを基に複数の
配線遅延制約を満足できるように概略配線経路の改善を
行なう配線経路改善ステップとを含み、全てのスラック
グラフGiで表現した複数の配線遅延の制約を満足する
ように順次配線経路改善ステップを繰り返すことを特徴
とする。
According to this configuration, the rough wiring path is determined so as to satisfy all of the plurality of wiring delay constraints, so that the rough wiring path can be determined without causing a timing violation. Can eliminate the occurrence of an error. In the automatic placement and routing method according to a fourth aspect, in the automatic placement and routing method according to the third aspect, the general routing step expresses a plurality of wiring delay constraints by a plurality of delay constraint graphs (hereinafter, referred to as slack graphs). , They are slack graph Gi
(I is a natural number), a slack graph generating step of creating a slack graph Gi based on a plurality of wiring delay constraints, an initial wiring path determining step of temporarily determining a schematic wiring path, and a slack graph Gi. And a wiring route improving step of improving a schematic wiring route so as to satisfy a plurality of wiring delay constraints on the basis of the above, and sequentially providing a plurality of wiring delay constraints expressed in all slack graphs Gi so as to satisfy the constraints. It is characterized in that the improvement step is repeated.

【0035】この構成によると、スラックグラフGiを
複数の配線遅延の制約を基に作成し、概略配線経路を一
時的に決定した後、全てスラックグラフGiを基に複数
の配線遅延制約を満足できるように概略配線経路の改善
を行なうので、概略配線経路をタイミング違反を起こさ
ないように決定することができ、最終検証シミュレーシ
ョンでタイミング違反によるエラーの発生をなくすこと
ができる。
According to this configuration, the slack graph Gi is created based on a plurality of wiring delay constraints, and after a rough wiring path is temporarily determined, a plurality of wiring delay constraints can all be satisfied based on the slack graph Gi. Since the general wiring path is improved as described above, the general wiring path can be determined so as not to cause a timing violation, and an error due to the timing violation in the final verification simulation can be eliminated.

【0036】請求項5記載の自動配置配線方法は、半導
体集積回路の構成要素となる複数の機能ブロックまたは
複数の論理セルを配置した後複数の機能ブロックまたは
複数の論理セルの間を論理接続要求に従って配線してレ
イアウト設計を行なうことに際し、各々のネットの配線
遅延を制約として未レイアウトの機能ブロックの外部ピ
ン(以下、浮動外部ピンと呼ぶ)の配置を決定するタイ
ミングドリブンピン配置による自動配置配線方法であっ
て、各々のネットに対して複数の配線遅延制約をもち、
複数の配線遅延制約を全て満足するように機能ブロック
上の浮動外部ピンの配置を行なうピン配置ステップを含
むことを特徴とする。
In the automatic placement and routing method according to the fifth aspect, after arranging a plurality of function blocks or a plurality of logic cells as constituent elements of a semiconductor integrated circuit, a logical connection request is made between the plurality of function blocks or the plurality of logic cells. Automatic layout and wiring method using timing-driven pin layout for deciding the layout of external pins (hereinafter referred to as floating external pins) of a functional block that has not been laid out with the wiring delay of each net as a constraint when performing the layout design by wiring according to And has a plurality of wiring delay constraints for each net,
It is characterized by including a pin arrangement step of arranging floating external pins on the function block so as to satisfy all of the plurality of wiring delay constraints.

【0037】この構成によると、複数の配線遅延制約を
全て満足するように機能ブロック上の浮動外部ピンの配
置を行なうので、機能ブロック上の浮動外部ピンをタイ
ミング違反を起こさないように配置することができ、最
終検証シミュレーションでタイミング違反によるエラー
の発生をなくすことができる。請求項6記載の自動配置
配線方法は、請求項5記載の自動配置配線方法におい
て、ピン配置ステップは、複数の配線遅延の制約を複数
の遅延制約グラフ(以下、スラックグラフと呼ぶ)で表
現し、それらをスラックグラフGi(iは自然数)とし
たときに、スラックグラフGiを複数の配線遅延の制約
を基に作成するスラックグラフ生成ステップと、機能ブ
ロック上の浮動外部ピンを一時的に配置する浮動外部ピ
ン初期配置ステップと、機能ブロック間の概略配線経路
を一時的に決定する浮動外部ピン間初期配線経路決定ス
テップと、スラックグラフGiを基に浮動外部ピン間初
期配線経路決定ステップで求めた概略配線経路を保持し
て複数の配線遅延の制約を満足できるように浮動外部ピ
ンの配置を改善する浮動外部ピン配置改善ステップと、
スラックグラフGiを基に浮動外部ピン間初期配線経路
決定ステップで求めた概略配線経路が複数の配線遅延制
約を満足できるように概略配線経路を改善する配線経路
改善ステップとを含み、全てのスラックグラフGiで表
現した複数の配線遅延の制約を満足するように順次浮動
外部ピン配置改善ステップと配線経路改善ステップとを
繰り返すことを特徴とする。
According to this configuration, the floating external pins on the functional block are arranged so as to satisfy all of the plurality of wiring delay constraints. Therefore, the floating external pins on the functional block are arranged so as not to cause a timing violation. Therefore, it is possible to eliminate an error due to a timing violation in the final verification simulation. In the automatic placement and routing method according to a sixth aspect, in the automatic placement and routing method according to the fifth aspect, the pin placement step represents a plurality of wiring delay constraints by a plurality of delay constraint graphs (hereinafter, referred to as slack graphs). And a slack graph Gi (i is a natural number), a slack graph generating step of creating the slack graph Gi based on a plurality of wiring delay constraints, and temporarily arranging floating external pins on functional blocks. Floating external pin initial arrangement step, floating external pin initial wiring path determining step for temporarily determining a schematic wiring path between functional blocks, and floating external pin initial wiring path determining step based on slack graph Gi. Floating external pin placement improvement step for improving the placement of floating external pins so as to maintain the schematic routing path and satisfy a plurality of wiring delay constraints ,
A wiring path improvement step of improving the schematic wiring path so that the schematic wiring path determined in the floating external pin initial wiring path determination step based on the slack graph Gi can satisfy a plurality of wiring delay constraints. The method is characterized in that a floating external pin arrangement improving step and a wiring path improving step are sequentially repeated so as to satisfy a plurality of wiring delay constraints expressed by Gi.

【0038】この構成によると、スラックグラフGiを
複数の配線遅延の制約を基に作成し、機能ブロック上の
浮動外部ピンを一時的に配置し、機能ブロック間の概略
配線経路を一時的に決定した後、スラックグラフGiを
基に概略配線経路を保持して複数の配線遅延の制約を満
足できるように浮動外部ピンの配置を改善するととも
に、スラックグラフGiを基に概略配線経路が複数の配
線遅延制約を満足できるように概略配線経路を改善する
ので、浮動外部ピンをタイミング違反を起こさないよう
に配置することができ、最終検証シミュレーションでタ
イミング違反によるエラーの発生をなくすことができ
る。
According to this configuration, the slack graph Gi is created based on a plurality of wiring delay constraints, the floating external pins on the function blocks are temporarily arranged, and the general wiring path between the function blocks is temporarily determined. After that, the layout of the floating external pins is improved so as to satisfy the constraints of the plurality of wiring delays based on the slack graph Gi so as to hold the schematic wiring paths, and the schematic wiring path has a plurality of wiring based on the slack graph Gi. Since the schematic wiring path is improved so as to satisfy the delay constraint, the floating external pins can be arranged so as not to cause a timing violation, and an error due to the timing violation in the final verification simulation can be eliminated.

【0039】請求項7記載の自動配置配線方法は、半導
体集積回路の構成要素となる複数の機能ブロックまたは
複数の論理セルを配置した後複数の機能ブロックまたは
複数の論理セルの間を論理接続要求に従って配線してレ
イアウト設計を行なうことに際し、各々のネットの配線
遅延を制約として複数の論理セルの配置を行なうタイミ
ングドリブン配置と、各々のネットの配線遅延を制約と
して概略配線経路決定を行なうタイミングドリブン概略
配線と、各々のネットの配線遅延を制約として未レイア
ウトの機能ブロックの外部ピン(以下、浮動外部ピンと
呼ぶ)の配置を決定するタイミングドリブンピン配置と
による自動配置配線方法であって、各々のネットに対し
て複数の配線遅延制約をもち、複数の配線遅延制約を全
て満足するように複数の論理セルの配置を行なうセル配
置ステップと、各々のネットに対して複数の配線遅延制
約をもち、複数の配線遅延制約を全て満足するように配
線経路決定を行なう概略配線ステップと、各々のネット
に対して複数の配線遅延制約をもち、複数の配線遅延制
約を全て満足するように機能ブロック上の浮動外部ピン
の配置を行なうピン配置ステップを含むことを特徴とす
る。
In the automatic placement and routing method according to the present invention, after arranging a plurality of function blocks or a plurality of logic cells which are constituent elements of a semiconductor integrated circuit, a logical connection request is made between the plurality of function blocks or the plurality of logic cells. And a timing-driven arrangement for arranging a plurality of logic cells with the wiring delay of each net as a constraint, and a timing-driven arrangement for roughly determining a routing path with the wiring delay of each net as a constraint when performing a layout design by wiring according to An automatic placement and routing method using schematic routing and timing driven pin placement for determining the placement of external pins (hereinafter referred to as floating external pins) of a functional block that has not been laid out with the wiring delay of each net as a constraint. Have multiple routing delay constraints on the net and satisfy all the multiple routing delay constraints A cell placement step for arranging a number of logic cells, a rough wiring step having a plurality of wiring delay constraints for each net, and determining a wiring route so as to satisfy all of the plurality of wiring delay constraints; The present invention is characterized by including a plurality of wiring delay constraints on the net and a pin arrangement step of arranging floating external pins on the functional block so as to satisfy all of the plurality of wiring delay constraints.

【0040】この構成によると、請求項1,3,5を組
み合わせたように作用する。請求項8記載の自動配置配
線方法は、請求項7記載の自動配置配線方法において、
セル配置ステップを請求項2と同様に構成している。こ
の構成によると、請求項2と同様に作用する。請求項9
記載の自動配置配線方法は、請求項7記載の自動配置配
線方法において、概略配線ステップを請求項4と同様に
構成している。
According to this configuration, the first and third aspects operate in combination. The automatic placement and routing method according to claim 8 is the automatic placement and routing method according to claim 7.
The cell arrangement step is configured in the same manner as in claim 2. According to this configuration, the operation is the same as that of the second aspect. Claim 9
In the automatic placement and routing method according to the seventh aspect, the schematic routing step is configured in the same manner as in the fourth aspect.

【0041】この構成によると、請求項4と同様に作用
する。請求項10記載の自動配置配線方法は、請求項7
記載の自動配置配線方法におて、ピン配置ステップを請
求項6と同様に構成している。この構成によると、請求
項6と同様に作用する。
According to this configuration, the operation is the same as that of the fourth aspect. An automatic placement and routing method according to a tenth aspect is the seventh aspect of the invention.
In the automatic placement and routing method described above, the pin placement step is configured in the same manner as in claim 6. According to this configuration, the operation is the same as that of the sixth aspect.

【0042】[0042]

【発明の実施の形態】以下、本発明の実施の形態の自動
配置配線方法について、図面を参照しながら説明する。
本発明の実施の形態は、半導体集積回路の構成要素とな
る複数の機能ブロックまたは複数の論理セルを配置した
後複数の機能ブロックまたは複数の論理セルの間を論理
接続要求に従って配線してレイアウト設計を行なうこと
に際し、各々のネットの配線遅延を制約として複数の論
理セルの配置を行なうタイミングドリブン配置と、各々
のネットの配線遅延を制約として概略配線経路決定を行
なうタイミングドリブン概略配線と、各々のネットの配
線遅延を制約として未レイアウトの機能ブロックの外部
ピン(以下、浮動外部ピンと呼ぶ)の配置を決定するタ
イミングドリブンピン配置の少なくと一つによる自動配
置配線方法を示すものである。本発明の各実施の形態
は、複数のスラックグラフを用いてレイアウト設計を行
なうので、実施の形態の説明に先立って、各々のネット
に対して複数の配線遅延制約をもち、複数の配線遅延制
約を全て満足するように配置もしくは配線を行なうの
で、複数の配線遅延制約、つまり複数のスラックグラフ
について説明する。図6の回路に対する第1のスラック
グラフは、先に説明した図7および図8のtypical 条件
のスラックグラフであるが、それ以外に、図6の回路に
対して、例えば以下に示すような条件の異なる第2から
第5のスラックグラフを作成することが可能である。な
お、スラックグラフの数は任意である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an automatic placement and routing method according to an embodiment of the present invention will be described with reference to the drawings.
An embodiment of the present invention provides a layout design by arranging a plurality of function blocks or a plurality of logic cells which are constituent elements of a semiconductor integrated circuit and then wiring the plurality of function blocks or a plurality of logic cells in accordance with a logical connection request. A timing-driven layout for arranging a plurality of logic cells with the wiring delay of each net as a constraint, a timing-driven schematic wiring for determining a rough wiring path with the wiring delay of each net as a constraint, 9 shows an automatic placement and routing method based on at least one timing driven pin arrangement for deciding the arrangement of external pins (hereinafter referred to as floating external pins) of a functional block that has not been laid out with a restriction on a net wiring delay. In each embodiment of the present invention, a layout design is performed using a plurality of slack graphs. Therefore, prior to the description of the embodiment, each net has a plurality of wiring delay constraints and a plurality of wiring delay constraints. Therefore, a plurality of wiring delay constraints, that is, a plurality of slack graphs will be described. The first slack graph for the circuit of FIG. 6 is the slack graph of the typical conditions of FIGS. 7 and 8 described above. In addition, the first slack graph of the circuit of FIG. It is possible to create second to fifth slack graphs different from each other. The number of slack graphs is arbitrary.

【0043】図9は図6(a)の回路の図6(c)の配
置結果を基にして作成した第2のスラックグラフの初期
状態を示している。このスラックグラフは、図7のスラ
ックグラフのtypical 条件に対して、セル内遅延とネッ
ト遅延を各々2倍にしたときの初期スラックグラフを示
している。このスラックグラフを条件1下のグラフと定
義する。この条件1下のスラックグラフは、条件0下の
スラックグラフに比べて、それぞれの遅延値を2倍にし
ているので、物理的な意味はチップ全体として製造状態
が悪かった場合を想定していると言える。その後のパス
遅延計算の処理は条件0の場合と同様な方法で行う。
FIG. 9 shows an initial state of a second slack graph created based on the arrangement result of FIG. 6C of the circuit of FIG. 6A. This slack graph shows an initial slack graph when the intra-cell delay and the net delay are each doubled with respect to the typical conditions of the slack graph of FIG. This slack graph is defined as a graph under condition 1. In the slack graph under the condition 1, the respective delay values are doubled as compared with the slack graph under the condition 0. Therefore, the physical meaning is assumed to be a case where the manufacturing state of the entire chip is bad. It can be said. Subsequent processing of the path delay calculation is performed in the same manner as in the case of the condition 0.

【0044】図10は図6(a)の回路の図6(c)の
配置結果を基にして作成した第3のスラックグラフの初
期状態を示している。このスラックグラフは、図7のス
ラックグラフのtypical 条件に対して、セル内遅延とネ
ット遅延を各々0.5倍にしたときの初期スラックグラ
フを示している。このスラックグラフを条件2下のグラ
フと定義する。この条件2下のスラックグラフは、条件
0下のスラックグラフに比べて、それぞれの遅延値を
0.5倍にしているので、物理的な意味はチップ全体と
して製造状態が良好であった場合を想定していると言え
る。その後のパス遅延計算の処理は条件0の場合と同様
な方法で行う。
FIG. 10 shows an initial state of a third slack graph created based on the arrangement result of FIG. 6C of the circuit of FIG. 6A. This slack graph is an initial slack graph when the intra-cell delay and the net delay are each multiplied by 0.5 with respect to the typical conditions of the slack graph of FIG. This slack graph is defined as a graph under condition 2. In the slack graph under the condition 2, the respective delay values are set to 0.5 times as compared with the slack graph under the condition 0. Therefore, the physical meaning is that the manufacturing state of the entire chip is good. It can be said that it is assumed. Subsequent processing of the path delay calculation is performed in the same manner as in the case of the condition 0.

【0045】図11は図6(a)の回路の図6(c)の
配置結果を基にして作成した第4のスラックグラフの初
期状態を示している。このスラックグラフは、図7のス
ラックグラフのtypical 条件に対して、セル内遅延を
0.5倍、ネット遅延を2倍にしたときの初期スラック
グラフを示している。このスラックグラフを条件3下の
グラフと定義する。この条件3下のスラックグラフは、
条件0下のスラックグラフに比べて、セル内遅延の遅延
値を0.5倍にし、ネット遅延を2倍にしているので、
物理的な意味は、配線領域の製造状態は悪かったが、ト
ランジスタ領域の製造状態は良好だった場合を想定して
いると言える。実際に、配線領域とトランジスタ領域の
縦方向における層数や材料が異なるので、配線領域とト
ランジスタ領域とで製造状態が異なることが十分にあり
得る。その後のパス遅延計算の処理は条件0の場合と同
様な方法で行う。
FIG. 11 shows the initial state of the fourth slack graph created based on the layout result of FIG. 6C of the circuit of FIG. 6A. This slack graph shows an initial slack graph when the intracell delay is doubled and the net delay is doubled with respect to the typical conditions of the slack graph of FIG. This slack graph is defined as a graph under condition 3. The slack graph under this condition 3 is
Compared to the slack graph under condition 0, the delay value of the intra-cell delay is set to 0.5 times and the net delay is doubled.
Physically, it can be said that it is assumed that the manufacturing state of the wiring region is bad, but the manufacturing state of the transistor region is good. Actually, since the number of layers and materials in the vertical direction of the wiring region and the transistor region are different, it is quite possible that the wiring region and the transistor region have different manufacturing states. Subsequent processing of the path delay calculation is performed in the same manner as in the case of the condition 0.

【0046】図12は図6(a)の回路の図6(c)の
配置結果を基にして作成した第5のスラックグラフの初
期状態を示している。このスラックグラフは、図7のス
ラックグラフのtypical 条件に対して、ネット遅延を
0.5倍、セル内遅延を2倍にしたときの初期スラック
グラフを示している。このスラックグラフを条件4下の
グラフと定義する。この条件4下のスラックグラフは、
条件0下のスラックグラフに比べて、ネット遅延の遅延
値を0.5倍にし、セル内遅延を2倍にしているので、
物理的な意味は、トランジスタ領域の製造状態は悪かっ
たが、配線領域の製造状態は良好だった場合を想定して
いると言える。その後のパス遅延計算の処理は条件0の
場合と同様な方法で行う。
FIG. 12 shows an initial state of a fifth slack graph created based on the arrangement result of FIG. 6C of the circuit of FIG. 6A. This slack graph shows an initial slack graph when the net delay is multiplied by 0.5 and the intra-cell delay is doubled with respect to the typical conditions of the slack graph of FIG. This slack graph is defined as a graph under condition 4. The slack graph under this condition 4 is
Compared to the slack graph under the condition 0, the delay value of the net delay is 0.5 times and the delay in the cell is 2 times.
Physically, it can be said that it is assumed that the manufacturing state of the transistor region is bad, but the manufacturing state of the wiring region is good. Subsequent processing of the path delay calculation is performed in the same manner as in the case of the condition 0.

【0047】以上の条件1〜4と先の条件0のスラック
グラフを基にそのパス遅延制約を満足するまで、配置の
改善を行なうことになる。この場合、前述したように、
いちばん遅いときの時間がセットアップ時間の設計上の
要求値より小さいかどうかの判断については、条件1と
条件3のスラックグラフにおいて、セットアップ時間の
要求値の条件を検証することができる。また、いちばん
早いときの時間がホールド時間の設計上の要求値より大
きいかどうかの判断については、条件2と条件4のスラ
ックグラフにおいて、ホールド時間の要求値の条件を検
証することができる。以上のように、条件の異なる複数
のスラックグラフを用いて、レイアウト設計を行なう
と、タイミング違反をなくすことが可能で、最終検証シ
ミュレーションでタイミング違反によるエラーの発生を
なくすことが可能となる。
The arrangement is improved until the path delay constraint is satisfied based on the slack graphs of the above conditions 1 to 4 and the above condition 0. In this case, as described above,
For determining whether the time at the latest time is smaller than the design requirement value of the setup time, the condition of the requirement value of the setup time can be verified in the slack graphs of the conditions 1 and 3. In addition, regarding the determination as to whether or not the earliest time is greater than the design value of the hold time, the condition of the required value of the hold time can be verified in the slack graphs of Condition 2 and Condition 4. As described above, when a layout is designed using a plurality of slack graphs with different conditions, it is possible to eliminate timing violations, and to eliminate errors due to timing violations in the final verification simulation.

【0048】(第1の実施の形態)図1は本発明の第1
の実施の形態の自動配置配線方法におけるセル配置に関
するフロー図である。図13のスタンダードセル方式L
SIを例にとって説明する。図13(a)がスタンダー
ドセル方式LSIにおける論理セルを配置する前の状態
を表している。同図左にあるのが配置すべきセル11群
であり、同図右にあるのが入れられるべきセル列12
(セル1つ1つの箱をスロットという)の集合からなる
スタンダードセル方式ブロック10を示している。
(First Embodiment) FIG. 1 shows a first embodiment of the present invention.
FIG. 11 is a flowchart regarding cell arrangement in the automatic arrangement and wiring method according to the embodiment. Standard cell system L of FIG.
This will be described by taking SI as an example. FIG. 13A shows a state before arranging logic cells in a standard cell LSI. On the left side of the figure is a group of cells 11 to be arranged, and on the right side of FIG.
1 shows a standard cell system block 10 composed of a set of cells (each box is called a slot).

【0049】まず、図1に示すように、遅延制約を基に
図6から図12までで説明したようなスラックグラフを
作成する(スラックグラフ生成ステップ2)。このとき
(前述のように実際のLSI設計では)遅延制約が複数
あるので、スラックグラフは複数個存在することにな
る。それをスラックグラフGi(iは自然数)とする。
図13(c)では遅延制約が2つあるときを概略的に示
している(スラックグラフG1およびG2)。
First, as shown in FIG. 1, a slack graph as described with reference to FIGS. 6 to 12 is created based on the delay constraint (slack graph generation step 2). At this time (in the actual LSI design as described above), there are a plurality of delay constraints, and therefore, a plurality of slack graphs exist. This is defined as a slack graph Gi (i is a natural number).
FIG. 13C schematically shows a case where there are two delay constraints (slack graphs G1 and G2).

【0050】つぎに、初期セル配置ステップ1aで仮に
セル配置を行なう。このときいずれかの方法で、スラッ
クグラフG1を用いてタイミングドリブン配置を行なっ
ても良いが、本実施の形態はスラックグラフG1を適用
していない。図13(b)は配置結果を示しており、そ
の内1ネットだけをハイライトするために白抜きの四角
でセル(セル11)とその間の接続関係を実線(ネット
13)で表している。以下、そのネットの動きがスラッ
クグラフGiを適用することによってどう変化するか図
示する。
Next, in the initial cell arrangement step 1a, cell arrangement is temporarily performed. At this time, the timing-driven arrangement may be performed using the slack graph G1 by any method, but the present embodiment does not apply the slack graph G1. FIG. 13B shows an arrangement result. In order to highlight only one net, cells (cell 11) and the connection relationship therebetween are represented by solid lines (net 13) in order to highlight only one net. Hereinafter, how the movement of the net changes by applying the slack graph Gi will be illustrated.

【0051】セル配置改善ステップ1bによって全ての
制約を満足するまでスラックグラフGiの適用を続け
る。図13(d)はスラックグラフG1を適用してタイ
ミングドリブン配置改善を行なったときのセル配置結果
である。ネット13のセル11の配置分布が若干変化し
たことを示している。つぎに、同図(d)の配置結果を
元にスラックグラフG2を適用してタイミングドリブン
配置改善を行なう。さらに、ネット13のセル11の配
置分布が同図(e)のように変化した。ここで、2つの
遅延制約を適用して配置改善を行なったが、スラックグ
ラフG2による配置改善が行なわれたので、再度スラッ
クグラフG1で遅延制約を満足しているかどうか検証す
る。もし満足していればそこで配置は終了する。しかし
遅延制約を満足していなければ、再度スラックグラフG
1を基にタイミングドリブン配置改善を行なう。図13
(e)では遅延制約を満足していないとして配置改善が
なされている。配置結果を図13(f)に示す。そし
て、同様に今度は同図(f)の配置結果を基にスラック
グラフG2で遅延制約を満足しているかどうか検証す
る。もし満足していればそこで配置は終了する。本実施
の形態では満足したとして図13(g)が最終結果とな
った。
The application of the slack graph Gi is continued until all the constraints are satisfied by the cell arrangement improving step 1b. FIG. 13D shows a cell arrangement result when the timing-driven arrangement is improved by applying the slack graph G1. This shows that the arrangement distribution of the cells 11 of the net 13 has slightly changed. Next, timing-driven placement is improved by applying a slack graph G2 based on the placement result shown in FIG. Further, the arrangement distribution of the cells 11 of the net 13 changed as shown in FIG. Here, the placement was improved by applying two delay constraints. Since the placement was improved by the slack graph G2, it is verified again whether or not the slack graph G1 satisfies the delay constraints. If so, the configuration ends. However, if the delay constraint is not satisfied, the slack graph G
1 to improve timing-driven placement. FIG.
In (e), the arrangement is improved because the delay constraint is not satisfied. The arrangement result is shown in FIG. Then, similarly, it is verified whether or not the delay constraint is satisfied by the slack graph G2 based on the arrangement result of FIG. If so, the configuration ends. FIG. 13 (g) shows the final result on the assumption that the present embodiment is satisfied.

【0052】この際、スラックグラフG1,G2の適用
されて、セル11の配置が変更される毎に、スラックグ
ラフG1,G2のネットの配線遅延制約が変更されるこ
とにる。以上の動作で、各々のネットに対して複数の配
線遅延制約をもち、複数の配線遅延制約を全て満足する
ように複数のセルの配置を行なうセル配置ステップ1が
実行されることになる。
At this time, each time the arrangement of the cells 11 is changed by applying the slack graphs G1 and G2, the wiring delay constraint of the nets of the slack graphs G1 and G2 is changed. With the above operation, the cell placement step 1 is performed in which a plurality of wiring delay constraints are provided for each net and a plurality of cells are placed so as to satisfy all of the plurality of wiring delay constraints.

【0053】以上のように、本実施の形態によれば、セ
ル配置の段階でネットの複数の配線遅延制約を満足する
まで配置改善を行なって事前にタイミング違反を除去し
ているので、LSI設計の最終検証の段階でのタイミン
グ違反を検出することがなくなり、設計期間の短縮化を
図ることができる。 (第2の実施の形態)図2は本発明の第2の実施の形態
の自動配置配線方法における概略配線に関するフロー図
である。
As described above, according to the present embodiment, at the cell placement stage, the placement is improved until the plural wiring delay constraints of the net are satisfied, and the timing violation is removed in advance. No timing violation is detected in the final verification stage, and the design period can be shortened. (Second Embodiment) FIG. 2 is a flowchart for schematic wiring in an automatic placement and routing method according to a second embodiment of the present invention.

【0054】図13(g)のスタンダードセル方式LS
Iにおけるセル配置結果を例にとって説明する。図14
(a)にセル11とそれにつながるネット13の接続関
係の状態を表している。また、遅延制約も同様に2つも
のとする。まず、図2に示すように、スラックグラフ生
成ステップ2により遅延制約が2つあるので、スラック
グラフG1およびG2を生成する(図14(c))。
The standard cell type LS shown in FIG.
A description will be given by taking the cell arrangement result in I as an example. FIG.
(A) shows the state of the connection relationship between the cell 11 and the net 13 connected to it. Similarly, two delay constraints are used. First, as shown in FIG. 2, since there are two delay constraints in the slack graph generation step 2, slack graphs G1 and G2 are generated (FIG. 14C).

【0055】つぎに、初期配線経路決定ステップ3aで
仮に概略配線経路を求める。これも初期セル配置ステッ
プ1aと同様に、いずれかの方法でスラックグラフG1
を用いてタイミングドリブン配置を行なってもよいが、
本実施の形態はスラックグラフG1を適用していない。
図14(b)は初期配線経路決定ステップ3aによる配
線経路結果の一例を示しており、ネット13だけをハイ
ライトしている。以下、そのネットの動きがスラックグ
ラフGiを適用することによってどう変化するか図示す
る。
Next, in an initial wiring route determination step 3a, a rough wiring route is temporarily obtained. This is also similar to the initial cell arrangement step 1a, and the slack graph G1
May be used to perform timing-driven placement,
In the present embodiment, the slack graph G1 is not applied.
FIG. 14B shows an example of the wiring route result in the initial wiring route determination step 3a, and only the net 13 is highlighted. Hereinafter, how the movement of the net changes by applying the slack graph Gi will be illustrated.

【0056】配線経路改善ステップ3bによって全ての
配線遅延制約を満足するまでスラックグラフGiの適用
を続ける。図14(d)はスラックグラフG1を適用し
てタイミングドリブン概略配線改善を行なったときの概
略配線結果である。ネット13の配線経路が若干変化し
たことを示している。つぎに、同図(d)の配置結果を
元にスラックグラフG2を適用してタイミングドリブン
概略配線改善を行なう。さらに、ネット13の配線経路
が変化した。ここで、2つの遅延制約を適用して配線経
路改善を行なったが、スラックグラフG2による配線経
路改善が行なわれたので、再度スラックグラフG1で遅
延制約を満足しているかどうか検証する。もし満足して
いればそこで配線改善は終了する。しかし遅延制約を満
足していなければ、再度スラックグラフG1を基にタイ
ミングドリブン概略配線改善を行なう。図14(e)で
は遅延制約を満足しているとしており、これが最終結果
となる。
The application of the slack graph Gi is continued until all the wiring delay constraints are satisfied in the wiring path improvement step 3b. FIG. 14D is a schematic wiring result when the timing-driven general wiring is improved by applying the slack graph G1. This indicates that the wiring route of the net 13 has slightly changed. Next, the timing-driven general wiring is improved by applying the slack graph G2 based on the arrangement result of FIG. Further, the wiring route of the net 13 has changed. Here, the wiring route is improved by applying two delay constraints. However, since the wiring route is improved by the slack graph G2, it is verified again whether or not the slack graph G1 satisfies the delay constraint. If satisfied, the wiring improvement ends there. However, if the delay constraint is not satisfied, the timing-driven general routing is improved again based on the slack graph G1. FIG. 14E shows that the delay constraint is satisfied, and this is the final result.

【0057】この際、スラックグラフG1,G2の適用
されて、ネット13の概略配線が変更される毎に、スラ
ックグラフG1,G2のネットの配線遅延制約が変更さ
れることにる。以上の動作で、各々のネットに対して複
数の配線遅延制約をもち、複数の配線遅延制約を全て満
足するように概略配線経路決定を行なう概略配線ステッ
プ3が実行されることになる。
At this time, every time the slack graphs G1 and G2 are applied and the schematic wiring of the net 13 is changed, the wiring delay constraint of the nets of the slack graphs G1 and G2 is changed. In the above operation, the global routing step 3 is executed, which has a plurality of routing delay constraints for each net and determines a rough routing path so as to satisfy all the plurality of routing delay constraints.

【0058】以上のように、本実施の形態によれば、概
略配線の段階で複数の遅延制約を満足するまで配線経路
改善を行なって事前にタイミング違反を除去しているの
で、LSI設計の最終検証の段階でのタイミング違反を
検出することがなくなり、設計期間の短縮化を図ること
ができる。 (第3の実施の形態)図3は本発明の第3の実施の形態
の自動配置配線方法におけるピン配置に関するフロー図
である。図15を用いて説明する。
As described above, according to the present embodiment, the timing violation is removed in advance by improving the wiring path until a plurality of delay constraints are satisfied at the time of the general wiring, so that the final LSI design is completed. No timing violation is detected at the verification stage, and the design period can be shortened. (Third Embodiment) FIG. 3 is a flowchart relating to the pin arrangement in the automatic arrangement and wiring method according to the third embodiment of the present invention. This will be described with reference to FIG.

【0059】図15(a)は未レイアウトの機能ブロッ
ク23(ソフトブロックと呼び、例えばスタンダードセ
ル方式ブロックで作成)が3つ、レイアウト済み機能ブ
ロック24(ハードブロックと呼び、例えばメモリ、乗
算器等)が1つ存在するフロアプラン図である。機能ブ
ロック24には配置位置固定の固定外部ピン22、機能
ブロック23には配置位置不定の浮動外部ピン21を有
している。図では仮に浮動外部ピン21を機能ブロック
23の中心に配置している。さらに、それらのピンは同
一ネットであるものとする(ネット20)。また、遅延
制約も前の実施の形態と同様に2つあるものとする。
FIG. 15A shows three unlaid-out function blocks 23 (called soft blocks, for example, formed by standard cell type blocks) and laid-out function blocks 24 (called hard blocks, for example, a memory, a multiplier, etc.). 1) is a floor plan diagram in which there is one. The function block 24 has fixed external pins 22 whose positions are fixed, and the function block 23 has floating external pins 21 whose positions are undefined. In the figure, the floating external pin 21 is temporarily arranged at the center of the functional block 23. Further, it is assumed that those pins are the same net (net 20). It is also assumed that there are two delay constraints as in the previous embodiment.

【0060】まず、図3に示すように、スラックグラフ
生成ステップ2により遅延制約が2つあるので、スラッ
クグラフG1およびG2を生成する(図15(b))。
これはこれまでの説明と同様である。つぎに、浮動外部
ピン初期配置ステップ4aによって機能ブロック23の
浮動外部ピン21をブロックのある位置(ここではブロ
ックの周辺上)に配置する(図15(c))。これも図
1の初期セル配置ステップ1aと同様に、いずれかの方
法でスラックグラフG1を用いてタイミングドリブン配
置を行なってもよいが、本実施の形態はスラックグラフ
G1を適用していない。図15(c)は浮動外部ピン初
期配置ステップ4aの実行後のピン配置結果の一例を示
しており、ネット20だけをハイライトしている。以
下、そのネットの動きがスラックグラフGiを適用する
ことによってどう変化するか図示する。
First, as shown in FIG. 3, since there are two delay constraints in the slack graph generation step 2, slack graphs G1 and G2 are generated (FIG. 15B).
This is the same as described above. Next, the floating external pins 21 of the functional block 23 are arranged at a certain position (here, on the periphery of the block) of the functional block 23 in the initial arrangement step 4a of the floating external pin (FIG. 15C). Similarly to the initial cell arrangement step 1a in FIG. 1, timing-driven arrangement may be performed using the slack graph G1 by any method, but the present embodiment does not apply the slack graph G1. FIG. 15C shows an example of the pin arrangement result after the execution of the floating external pin initial arrangement step 4a, in which only the net 20 is highlighted. Hereinafter, how the movement of the net changes by applying the slack graph Gi will be illustrated.

【0061】浮動外部ピン21の配置が決まったので、
ネット20における概略配線を外部ピン間初期配線経路
決定ステップ4bで求める。このとき概略配線ステップ
3のときと同様にスラックグラフGiを用いてタイミン
グドリブン概略配線を行なう。その結果は図15(d)
に示される。ここでもし遅延制約が全て(スラックグラ
フGi)満足させることができれば、ここでピン配置を
終了させる。本実施の形態の場合、全ての遅延制約が満
たされなかったとする。
Since the arrangement of the floating external pins 21 has been determined,
A schematic wiring in the net 20 is obtained in an external pin initial wiring path determination step 4b. At this time, timing-driven general routing is performed using the slack graph Gi, as in the case of the general routing step 3. The result is shown in FIG.
Is shown in Here, if all the delay constraints can be satisfied (slack graph Gi), the pin arrangement is terminated here. In the case of the present embodiment, it is assumed that all delay constraints have not been satisfied.

【0062】つぎに、浮動外部ピン配置改善ステップ4
cを用いて浮動外部ピン配置の改善を行なう。このとき
もスラックグラフGiに対してタイミングドリブンでピ
ン配置を行なう。タイミングドリブンピン配置はピンを
セルに置き換えてタイミングドリブンセル配置すれば実
現できる。この例の場合、機能ブロック23の浮動外部
ピン21が若干移動したことを図示している(同図
(e))。
Next, floating external pin arrangement improvement step 4
The floating external pin arrangement is improved using c. Also at this time, the pin arrangement is performed on the slack graph Gi in a timing driven manner. The timing driven pin arrangement can be realized by replacing the pins with cells and arranging timing driven cells. In the case of this example, it is illustrated that the floating external pin 21 of the function block 23 has slightly moved (FIG. 9E).

【0063】つぎに、そのピンの配置に従って概略配線
経路を決定する。その方法は配置経路改善ステップ3b
と同様である。ここで再度遅延制約が全て満足したかど
うか検証する。もし満足していなかったら、浮動外部ピ
ン配置改善ステップ4cかまたは配置経路改善ステップ
3bを実行する。遅延の改善(配線経路長の調整)はピ
ン配置の方が効果が高い。何故ならブロック間では配線
チャネル(配線領域)数が多くない場合配線経路長が大
きく変わることが少ないからである。図15(f)では
遅延制約を満足しているとしており、これが最終結果と
なる。
Next, a schematic wiring route is determined according to the pin arrangement. The method is the placement route improvement step 3b.
Is the same as Here, it is verified again whether all the delay constraints are satisfied. If not satisfied, the floating external pin arrangement improving step 4c or the arrangement path improving step 3b is executed. The pin arrangement is more effective for improving the delay (adjusting the wiring path length). This is because if the number of wiring channels (wiring regions) is not large between the blocks, the wiring path length rarely changes significantly. In FIG. 15F, the delay constraint is satisfied, and this is the final result.

【0064】この際、スラックグラフG1,G2の適用
されて、浮動外部ピン配置が変更される毎に、スラック
グラフG1,G2のネットの配線遅延制約が変更される
ことにる。以上の動作で、各々のネットに対して複数の
配線遅延制約をもち、複数の配線遅延制約を全て満足す
るように機能ブロック上の浮動外部ピンの配置を行なう
ピン配置ステップ4が実行されることになる。
At this time, every time the slack graphs G1 and G2 are applied and the floating external pin arrangement is changed, the wiring delay constraint of the nets of the slack graphs G1 and G2 is changed. In the above operation, the pin arrangement step 4 for arranging the floating external pins on the functional blocks so as to have a plurality of wiring delay constraints for each net and to satisfy all of the plurality of wiring delay constraints is executed. become.

【0065】以上のように本実施の形態によれば、ピン
配置の段階で複数の遅延制約を満足するまでピンの配置
と配線経路の改善を行なって事前にタイミング違反を除
去しているので、LSI設計の最終検証の段階でのタイ
ミング違反を検出することがなくなり、設計期間の短縮
化を図ることができる。 (第4の実施の形態)図4は本発明の第4の実施の形態
の自動配置配線方法に関するフロー図である。図16を
用いて説明する。図16(a)は図15(a)と同様な
ものである。ネットの配線が一連の手順によってどう変
化するか図示する。
As described above, according to the present embodiment, the timing of the timing violation is removed in advance by improving the pin arrangement and wiring route until a plurality of delay constraints are satisfied at the pin arrangement stage. No timing violation is detected at the final verification stage of the LSI design, and the design period can be shortened. (Fourth Embodiment) FIG. 4 is a flowchart showing an automatic placement and routing method according to a fourth embodiment of the present invention. This will be described with reference to FIG. FIG. 16A is similar to FIG. 15A. An illustration is given of how the net wiring changes according to a series of procedures.

【0066】まず、図4に示すように、フロアプランで
は機能ブロックの配置位置決定(機能ブロック配置ステ
ップ5)とブロック間配線経路を考慮しながら未レイア
ウト機能ブロックにおける外部ピンの配置(ピン配置ス
テップ4)を行なうのが主な処理である。図16(a)
は機能ブロック配置ステップ5が終了した時点の結果を
示している。機能ブロック配置の位置は任意に決定でき
る。
First, as shown in FIG. 4, in the floor plan, the layout positions of the functional blocks are determined (function block layout step 5), and the layout of the external pins in the unlayout functional blocks (the pin layout step) is taken into consideration in consideration of the inter-block wiring route. The main processing is to perform 4). FIG. 16 (a)
Indicates the result at the time when the functional block arrangement step 5 is completed. The position of the functional block arrangement can be arbitrarily determined.

【0067】つぎに、スラックグラフ生成ステップ2に
より遅延制約をスラックグラフGiで表現する。そのス
ラックグラフGiを用いてピン配置ステップ4を実行す
る。このとき、第3の実施の形態で説明したような手順
でピン配置を決定する。その結果は図16(b)に示さ
れる。つぎに、外部ピンの配置が決定したので、未レイ
アウトの機能ブロック内のレイアウトを作成する(配置
配線)。ここでは機能ブロック23を例にとり、スタン
ダードセル方式ブロックで作成するものとする(図16
(c))。セル配置ステップ1によって、予め設計され
た回路を基に論理セル11を列上に配置する。配置結果
は同図(d)で示されている。もちろん、配置結果は遅
延制約を全て満たしている。
Next, in the slack graph generation step 2, the delay constraint is expressed by a slack graph Gi. The pin arrangement step 4 is executed using the slack graph Gi. At this time, the pin arrangement is determined according to the procedure described in the third embodiment. The result is shown in FIG. Next, since the arrangement of the external pins has been determined, a layout in a functional block that has not been laid out is created (placement and wiring). Here, taking the functional block 23 as an example, it is assumed that the functional block 23 is created by a standard cell type block (FIG. 16).
(C)). In the cell arrangement step 1, the logic cells 11 are arranged on a column based on a previously designed circuit. The arrangement result is shown in FIG. Of course, the placement result satisfies all delay constraints.

【0068】さらに概略配線ステップ3でタイミングド
リブンで概略配線経路を決定する。その結果は同図
(e)に示す(ネット13だけハイライト)。概略配線
経路が決定したので、それらに対してデザインルールを
満たす配線パターンを生成するために詳細配線ステップ
6を実行する。できた結果は同図(f)に示す。全ての
未レイアウトの機能ブロックに対してそれらのステップ
を実行する。全てのブロックのレイアウトが終了した
ら、機能ブロック間レイアウトを行なう。
Further, in the general wiring step 3, a general wiring path is determined in a timing driven manner. The result is shown in FIG. 9E (only the net 13 is highlighted). Since the schematic wiring routes have been determined, the detailed wiring step 6 is executed to generate a wiring pattern satisfying the design rule for them. The results obtained are shown in FIG. Perform those steps for all unlayout functional blocks. When layout of all blocks is completed, layout between functional blocks is performed.

【0069】機能ブロック間レイアウトは、機能ブロッ
ク内レイアウトと同様に概略配線と詳細配線の2つのフ
ェーズをもつ。機能ブロック間の概略配線は機能ブロッ
ク内の概略配線と同様な手続きで実現できる(機能ブロ
ック間概略配線ステップ3=概略配線ステップ3)。最
後に、デザインルールを満たす配線パターンを生成する
ために機能ブロック間詳細配線ステップ7を実行して処
理が終了する。
The layout between functional blocks has two phases, that is, schematic wiring and detailed wiring, similarly to the layout within functional blocks. The general wiring between the functional blocks can be realized by the same procedure as the general wiring in the functional block (the general wiring step 3 between the functional blocks = the general wiring step 3). Finally, the detailed inter-functional-block wiring step 7 is executed to generate a wiring pattern that satisfies the design rule, and the process ends.

【0070】以上のように、本実施の形態によれば、配
置配線の各段階で複数の遅延制約を満足するまでピンの
配置やセル配置や配線経路の改善を行なって事前にタイ
ミング違反を除去しているので、LSI設計の最終検証
の段階でのタイミング違反を検出することがなくなり、
設計期間の短縮化を図ることができる。
As described above, according to the present embodiment, the placement of cells, the placement of cells, and the route of wiring are improved until a plurality of delay constraints are satisfied at each stage of placement and routing to remove timing violations in advance. As a result, no timing violation is detected at the final verification stage of the LSI design.
The design period can be shortened.

【0071】[0071]

【発明の効果】請求項1記載の自動配置配線方法によれ
ば、複数の配線遅延制約を全て満足するように複数の論
理セルの配置を行なうので、複数の論理セルをタイミン
グ違反を起こさないように配置することができ、最終検
証シミュレーションでタイミング違反によるエラーの発
生をなくすことができる。
According to the automatic placement and routing method of the present invention, a plurality of logic cells are arranged so as to satisfy all of a plurality of wiring delay constraints, so that a timing violation does not occur in a plurality of logic cells. In the final verification simulation, an error due to a timing violation can be eliminated.

【0072】請求項2記載の自動配置配線方法によれ
ば、スラックグラフGiを複数の配線遅延の制約を基に
作成し、複数の論理セルを一時的に配置した後、全ての
スラックグラフGiを基に複数の配線遅延の制約を満足
できるように複数の論理セルの配置改善を行なうので、
複数の論理セルをタイミング違反を起こさないように配
置することができ、最終検証シミュレーションでタイミ
ング違反によるエラーの発生をなくすことができる。
According to the automatic placement and routing method of the present invention, a slack graph Gi is created based on a plurality of wiring delay constraints, and after temporarily arranging a plurality of logic cells, all slack graphs Gi are created. Based on this, the layout of multiple logic cells is improved so as to satisfy the constraints of multiple wiring delays.
A plurality of logic cells can be arranged so as not to cause a timing violation, and an error due to a timing violation can be eliminated in the final verification simulation.

【0073】請求項3記載の自動配置配線方法によれ
ば、複数の配線遅延制約を全て満足するように概略配線
経路決定を行なうので、概略配線経路決定をタイミング
違反を起こさないように行なうことができ、最終検証シ
ミュレーションでタイミング違反によるエラーの発生を
なくすことができる。請求項4記載の自動配置配線方法
によれば、スラックグラフGiを複数の配線遅延の制約
を基に作成し、概略配線経路を一時的に決定した後、全
てスラックグラフGiを基に複数の配線遅延制約を満足
できるように概略配線経路の改善を行なうので、概略配
線経路をタイミング違反を起こさないように決定するこ
とができ、最終検証シミュレーションでタイミング違反
によるエラーの発生をなくすことができる。
According to the automatic placement and routing method according to the third aspect, since the rough wiring path is determined so as to satisfy all of the plurality of wiring delay constraints, the rough wiring path can be determined so as not to cause a timing violation. Thus, it is possible to eliminate an error due to a timing violation in the final verification simulation. According to the automatic placement and routing method according to the fourth aspect, the slack graph Gi is created based on a plurality of wiring delay constraints, a general wiring path is temporarily determined, and then a plurality of wirings are all based on the slack graph Gi. Since the general wiring path is improved so as to satisfy the delay constraint, the general wiring path can be determined so as not to cause a timing violation, and an error due to the timing violation in the final verification simulation can be eliminated.

【0074】請求項5記載の自動配置配線方法によれ
ば、複数の配線遅延制約を全て満足するように機能ブロ
ック上の浮動外部ピンの配置を行なうので、機能ブロッ
ク上の浮動外部ピンをタイミング違反を起こさないよう
に配置することができ、最終検証シミュレーションでタ
イミング違反によるエラーの発生をなくすことができ
る。
According to the automatic placement and routing method according to the fifth aspect, the floating external pins on the functional block are arranged so as to satisfy all of the plurality of wiring delay constraints. Can be arranged so as not to cause the occurrence of an error due to a timing violation in the final verification simulation.

【0075】請求項6記載の自動配置配線方法によれ
ば、スラックグラフGiを複数の配線遅延の制約を基に
作成し、機能ブロック上の浮動外部ピンを一時的に配置
し、機能ブロック間の概略配線経路を一時的に決定した
後、スラックグラフGiを基に概略配線経路を保持して
複数の配線遅延の制約を満足できるように浮動外部ピン
の配置を改善するとともに、スラックグラフGiを基に
概略配線経路が複数の配線遅延制約を満足できるように
概略配線経路を改善するので、浮動外部ピンをタイミン
グ違反を起こさないように配置することができ、最終検
証シミュレーションでタイミング違反によるエラーの発
生をなくすことができる。
According to the automatic placement and routing method according to the sixth aspect, the slack graph Gi is created based on a plurality of wiring delay constraints, and floating external pins on the function blocks are temporarily arranged, and After the schematic wiring path is temporarily determined, the layout of floating external pins is improved so as to satisfy the constraints of a plurality of wiring delays by maintaining the general wiring path based on the slack graph Gi, and based on the slack graph Gi. Improve the schematic routing path so that the schematic routing path can satisfy multiple routing delay constraints, so that floating external pins can be placed so as not to cause timing violations, and errors due to timing violations occur in the final verification simulation Can be eliminated.

【0076】請求項7記載の自動配置配線方法によれ
ば、請求項1,3,5の効果を有する。請求項8記載の
自動配置配線方法によれば、請求項1,2,3,5の効
果を有する。請求項9記載の自動配置配線方法によれ
ば、請求項1,3,4,5の効果を有する。
According to the automatic placement and routing method of the seventh aspect, the effects of the first, third and fifth aspects are obtained. According to the automatic placement and routing method of the eighth aspect, the effects of the first, second, third and fifth aspects are obtained. According to the automatic placement and routing method of the ninth aspect, the effects of the first, third, fourth, and fifth aspects are obtained.

【0077】請求項10記載の自動配置配線方法によれ
ば、請求項1,3,5,6の効果を有する。
According to the automatic placement and routing method of the tenth aspect, the effects of the first, third, fifth and sixth aspects are obtained.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態の自動配置配線方法
におけるセル配置のフロー図である。
FIG. 1 is a flowchart of cell placement in an automatic placement and routing method according to a first embodiment of the present invention.

【図2】本発明の第2の実施の形態の自動配置配線方法
における概略配線のフロー図である。
FIG. 2 is a schematic flowchart of a wiring in an automatic placement and routing method according to a second embodiment of the present invention;

【図3】本発明の第3の実施の形態の自動配置配線方法
におけるピン配置のフロー図である。
FIG. 3 is a flowchart of a pin arrangement in an automatic placement and routing method according to a third embodiment of the present invention.

【図4】本発明の第4の実施の形態の自動配置配線方法
における配置配線のフロー図である。
FIG. 4 is a flowchart of placement and routing in an automatic placement and routing method according to a fourth embodiment of the present invention.

【図5】同期設計の原理を説明する概略図である。FIG. 5 is a schematic diagram illustrating the principle of synchronous design.

【図6】スラックグラフの概念を説明する概略図であ
る。
FIG. 6 is a schematic diagram illustrating the concept of a slack graph.

【図7】スラックグラフの例を示す概略図である。FIG. 7 is a schematic diagram showing an example of a slack graph.

【図8】スラックグラフの例を示す概略図である。FIG. 8 is a schematic diagram showing an example of a slack graph.

【図9】スラックグラフの例を示す概略図である。FIG. 9 is a schematic diagram showing an example of a slack graph.

【図10】スラックグラフの例を示す概略図である。FIG. 10 is a schematic diagram showing an example of a slack graph.

【図11】スラックグラフの例を示す概略図である。FIG. 11 is a schematic diagram showing an example of a slack graph.

【図12】スラックグラフの例を示す概略図である。FIG. 12 is a schematic diagram showing an example of a slack graph.

【図13】本発明の第1の実施の形態の自動配置配線方
法におけるセル配置を説明する分解図である。
FIG. 13 is an exploded view illustrating a cell arrangement in the automatic placement and routing method according to the first embodiment of the present invention.

【図14】本発明の第2の実施の形態の自動配置配線方
法における概略配線を説明する分解図である。
FIG. 14 is an exploded view for explaining schematic wiring in the automatic placement and routing method according to the second embodiment of the present invention.

【図15】本発明の第3の実施の形態の自動配置配線方
法におけるピン配置を説明する分解図である。
FIG. 15 is an exploded view illustrating a pin arrangement in the automatic placement and routing method according to the third embodiment of the present invention.

【図16】本発明の第4の実施の形態の自動配置配線方
法における配置配線を説明する分解図である。
FIG. 16 is an exploded view for explaining placement and routing in the automatic placement and routing method according to the fourth embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1 セル配置ステップ 1a 初期セル配置ステップ 1b セル配置改善ステップ 2 スラックグラフ生成ステップ 3 概略配線ステップ 3a 初期配線経路決定ステップ 3b 配線経路改善ステップ 4 ピン配置ステップ 4a 初期ピン配置ステップ 4b 浮動外部ピン間初期配線経路決定ステップ 4c 浮動外部ピン配置改善ステップ Reference Signs List 1 Cell placement step 1a Initial cell placement step 1b Cell placement improvement step 2 Slack graph generation step 3 Schematic routing step 3a Initial routing path determination step 3b Routing path improvement step 4 Pin placement step 4a Initial pin placement step 4b Initial routing between floating external pins Route determination step 4c Floating external pin placement improvement step

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 半導体集積回路の構成要素となる複数の
機能ブロックまたは複数の論理セルを配置した後前記複
数の機能ブロックまたは複数の論理セルの間を論理接続
要求に従って配線してレイアウト設計を行なうことに際
し、各々のネットの配線遅延を制約として前記複数の論
理セルの配置を行なうタイミングドリブン配置による自
動配置配線方法であって、 前記各々のネットに対して複数の配線遅延制約をもち、
前記複数の配線遅延制約を全て満足するように前記複数
の論理セルの配置を行なうセル配置ステップを含むこと
を特徴とする自動配置配線方法。
After arranging a plurality of function blocks or a plurality of logic cells which are constituent elements of a semiconductor integrated circuit, wiring is performed between the plurality of function blocks or a plurality of logic cells in accordance with a logical connection request to perform a layout design. In this case, there is provided an automatic placement and routing method based on timing-driven placement in which the plurality of logic cells are placed with the wiring delay of each net as a constraint, wherein each of the nets has a plurality of wiring delay constraints,
An automatic placement and routing method, comprising a cell placement step of placing the plurality of logic cells so as to satisfy all of the plurality of routing delay constraints.
【請求項2】 セル配置ステップは、複数の配線遅延の
制約を複数の遅延制約グラフ(以下、スラックグラフと
呼ぶ)で表現し、それらをスラックグラフGi(iは自
然数)としたときに、前記スラックグラフGiを前記複
数の配線遅延の制約を基に作成するスラックグラフ生成
ステップと、複数の論理セルを一時的に配置するセル初
期配置ステップと、前記スラックグラフGiを基に前記
複数の配線遅延の制約を満足できるように前記複数の論
理セルの配置改善を行なうセル配置改善ステップとを含
み、前記全てのスラックグラフGiで表現した前記複数
の配線遅延の制約を満足するように順次前記セル配置改
善ステップを繰り返すことを特徴とする請求項1記載の
自動配置配線方法。
2. The cell placement step, wherein a plurality of wiring delay constraints are represented by a plurality of delay constraint graphs (hereinafter, referred to as slack graphs), and when these are defined as slack graphs Gi (i is a natural number), A slack graph generating step of creating a slack graph Gi based on the plurality of wiring delay constraints, a cell initial arrangement step of temporarily arranging a plurality of logic cells, and the plurality of wiring delays based on the slack graph Gi. And a cell placement improving step of improving the placement of the plurality of logic cells so as to satisfy the constraints of the above. The cell placement is sequentially performed so as to satisfy the constraints of the plurality of wiring delays expressed by all the slack graphs Gi. 2. The automatic placement and routing method according to claim 1, wherein the improvement step is repeated.
【請求項3】 半導体集積回路の構成要素となる複数の
機能ブロックまたは複数の論理セルを配置した後前記複
数の機能ブロックまたは複数の論理セルの間を論理接続
要求に従って配線してレイアウト設計を行なうことに際
し、各々のネットの配線遅延を制約として概略配線経路
決定を行なうタイミングドリブン概略配線による自動配
置配線方法であって、 前記各々のネットに対して複数の配線遅延制約をもち、
前記複数の配線遅延制約を全て満足するように概略配線
経路決定を行なう概略配線ステップを含むことを特徴と
する自動配置配線方法。
3. A layout design is performed by arranging a plurality of functional blocks or a plurality of logic cells which are constituent elements of a semiconductor integrated circuit, and then wiring the plurality of functional blocks or the plurality of logic cells in accordance with a logical connection request. In this case, there is provided an automatic placement and routing method based on timing-driven schematic routing that determines a schematic routing path with the wiring delay of each net as a constraint, wherein each of the nets has a plurality of wiring delay constraints,
An automatic placement and routing method, comprising a general routing step of determining a general routing path so as to satisfy all of the plurality of wiring delay constraints.
【請求項4】 概略配線ステップは、複数の配線遅延の
制約を複数の遅延制約グラフ(以下、スラックグラフと
呼ぶ)で表現し、それらをスラックグラフGi(iは自
然数)としたときに、前記スラックグラフGiを前記複
数の配線遅延の制約を基に作成するスラックグラフ生成
ステップと、概略配線経路を一時的に決定する初期配線
経路決定ステップと、前記スラックグラフGiを基に前
記複数の配線遅延制約を満足できるように前記概略配線
経路の改善を行なう配線経路改善ステップとを含み、前
記全てのスラックグラフGiで表現した前記複数の配線
遅延の制約を満足するように順次前記配線経路改善ステ
ップを繰り返すことを特徴とする請求項3記載の自動配
置配線方法。
4. The general routing step expresses a plurality of wiring delay constraints as a plurality of delay constraint graphs (hereinafter, referred to as slack graphs), and when these are defined as slack graphs Gi (i is a natural number), A slack graph generating step of creating a slack graph Gi based on the plurality of wiring delay constraints, an initial wiring path determining step of temporarily determining a schematic wiring path, and the plurality of wiring delays based on the slack graph Gi. And a wiring path improving step of improving the general wiring path so as to satisfy the constraint, and sequentially performing the wiring path improving step so as to satisfy the constraints of the plurality of wiring delays represented by all the slack graphs Gi. 4. The automatic placement and routing method according to claim 3, wherein the method is repeated.
【請求項5】 半導体集積回路の構成要素となる複数の
機能ブロックまたは複数の論理セルを配置した後前記複
数の機能ブロックまたは複数の論理セルの間を論理接続
要求に従って配線してレイアウト設計を行なうことに際
し、各々のネットの配線遅延を制約として未レイアウト
の機能ブロックの外部ピン(以下、浮動外部ピンと呼
ぶ)の配置を決定するタイミングドリブンピン配置によ
る自動配置配線方法であって、 前記各々のネットに対して複数の配線遅延制約をもち、
前記複数の配線遅延制約を全て満足するように前記機能
ブロック上の浮動外部ピンの配置を行なうピン配置ステ
ップを含むことを特徴とする自動配置配線方法。
5. After arranging a plurality of function blocks or a plurality of logic cells as constituent elements of a semiconductor integrated circuit, wiring is performed between the plurality of function blocks or the plurality of logic cells in accordance with a logical connection request to perform a layout design. In this case, there is provided an automatic placement and routing method based on timing-driven pin placement for determining the placement of external pins (hereinafter referred to as floating external pins) of a functional block that has not been laid out with the wiring delay of each net as a constraint. Has multiple wiring delay constraints for
A method of arranging floating external pins on the functional block so as to satisfy all of the plurality of wiring delay constraints.
【請求項6】 ピン配置ステップは、複数の配線遅延の
制約を複数の遅延制約グラフ(以下、スラックグラフと
呼ぶ)で表現し、それらをスラックグラフGi(iは自
然数)としたときに、前記スラックグラフGiを前記複
数の配線遅延の制約を基に作成するスラックグラフ生成
ステップと、機能ブロック上の浮動外部ピンを一時的に
配置する浮動外部ピン初期配置ステップと、前記機能ブ
ロック間の概略配線経路を一時的に決定する浮動外部ピ
ン間初期配線経路決定ステップと、前記スラックグラフ
Giを基に前記浮動外部ピン間初期配線経路決定ステッ
プで求めた概略配線経路を保持して前記複数の配線遅延
の制約を満足できるように前記浮動外部ピンの配置を改
善する浮動外部ピン配置改善ステップと、前記スラック
グラフGiを基に前記浮動外部ピン間初期配線経路決定
ステップで求めた概略配線経路が前記複数の配線遅延制
約を満足できるように概略配線経路を改善する配線経路
改善ステップとを含み、前記全てのスラックグラフGi
で表現した前記複数の配線遅延の制約を満足するように
順次前記浮動外部ピン配置改善ステップと前記配線経路
改善ステップとを繰り返すことを特徴とする請求項5記
載の自動配置配線方法。
6. The pin placement step, wherein the plurality of wiring delay constraints are represented by a plurality of delay constraint graphs (hereinafter, referred to as slack graphs), and when these are defined as slack graphs Gi (i is a natural number), A slack graph generation step of creating a slack graph Gi based on the constraints of the plurality of wiring delays, a floating external pin initial placement step of temporarily arranging floating external pins on functional blocks, and a schematic wiring between the functional blocks A step of determining an initial wiring path between floating external pins for temporarily determining a path; and a step of storing the plurality of wiring delays by holding a schematic wiring path obtained in the step of determining an initial wiring path between floating external pins based on the slack graph Gi. A floating external pin arrangement improving step of improving the arrangement of the floating external pins so as to satisfy the following constraint: And a wiring path improving step of improving the general wiring path so that the general wiring path obtained in the floating external pin initial wiring path determining step satisfies the plurality of wiring delay constraints.
6. The automatic placement and routing method according to claim 5, wherein the floating external pin placement improvement step and the wiring path improvement step are sequentially repeated so as to satisfy the constraints of the plurality of wiring delays expressed by:
【請求項7】 半導体集積回路の構成要素となる複数の
機能ブロックまたは複数の論理セルを配置した後前記複
数の機能ブロックまたは複数の論理セルの間を論理接続
要求に従って配線してレイアウト設計を行なうことに際
し、各々のネットの配線遅延を制約として前記複数の論
理セルの配置を行なうタイミングドリブン配置と、前記
各々のネットの配線遅延を制約として概略配線経路決定
を行なうタイミングドリブン概略配線と、前記各々のネ
ットの配線遅延を制約として未レイアウトの機能ブロッ
クの外部ピン(以下、浮動外部ピンと呼ぶ)の配置を決
定するタイミングドリブンピン配置とによる自動配置配
線方法であって、 前記各々のネットに対して複数の配線遅延制約をもち、
前記複数の配線遅延制約を全て満足するように前記複数
の論理セルの配置を行なうセル配置ステップと、前記各
々のネットに対して複数の配線遅延制約をもち、前記複
数の配線遅延制約を全て満足するように配線経路決定を
行なう概略配線ステップと、前記各々のネットに対して
複数の配線遅延制約をもち、前記複数の配線遅延制約を
全て満足するように前記機能ブロック上の浮動外部ピン
の配置を行なうピン配置ステップを含むことを特徴とす
る自動配置配線方法。
7. A layout design is performed by arranging a plurality of function blocks or a plurality of logic cells which are constituent elements of a semiconductor integrated circuit and then wiring the plurality of function blocks or a plurality of logic cells in accordance with a logical connection request. In this case, a timing-driven layout for arranging the plurality of logic cells with the wiring delay of each net as a constraint, a timing-driven schematic wiring for determining a rough wiring path with the wiring delay of each net as a constraint, A timing-driven pin arrangement for determining the arrangement of external pins (hereinafter referred to as floating external pins) of a functional block that has not been laid out with the wiring delay of the net being a constraint. With multiple routing delay constraints,
A cell arranging step of arranging the plurality of logic cells so as to satisfy all of the plurality of wiring delay constraints; and a plurality of wiring delay constraints for each of the nets, all of the plurality of wiring delay constraints being satisfied. A general routing step of determining a wiring route so as to perform the routing, and arranging floating external pins on the functional block so as to satisfy all of the plurality of wiring delay constraints. Automatic placement and routing method, which includes a pin placement step of performing the following.
【請求項8】 セル配置ステップは、複数の配線遅延の
制約を複数の遅延制約グラフ(以下、スラックグラフと
呼ぶ)で表現し、それらをスラックグラフGi(iは自
然数)としたときに、前記スラックグラフGiを前記複
数の配線遅延の制約を基に作成するスラックグラフ生成
ステップと、複数の論理セルを一時的に配置するセル初
期配置ステップと、前記スラックグラフGiを基に前記
複数の配線遅延の制約を満足できるように前記複数の論
理セルの配置改善を行なうセル配置改善ステップとを含
み、前記全てのスラックグラフGiで表現した前記複数
の配線遅延の制約を満足するように順次前記セル配置改
善ステップを繰り返すことを特徴とする請求項7記載の
自動配置配線方法。
8. The cell arranging step includes, when a plurality of wiring delay constraints are represented by a plurality of delay constraint graphs (hereinafter, referred to as slack graphs), and when these are defined as slack graphs Gi (i is a natural number), A slack graph generating step of creating a slack graph Gi based on the plurality of wiring delay constraints, a cell initial arrangement step of temporarily arranging a plurality of logic cells, and the plurality of wiring delays based on the slack graph Gi. And a cell placement improving step of improving the placement of the plurality of logic cells so as to satisfy the constraints of the above. The cell placement is sequentially performed so as to satisfy the constraints of the plurality of wiring delays expressed by all the slack graphs Gi. 8. The automatic placement and routing method according to claim 7, wherein the improvement step is repeated.
【請求項9】 概略配線ステップは、複数の配線遅延の
制約を複数の遅延制約グラフ(以下、スラックグラフと
呼ぶ)で表現し、それらをスラックグラフGi(iは自
然数)としたときに、前記スラックグラフGiを前記複
数の配線遅延の制約を基に作成するスラックグラフ生成
ステップと、概略配線経路を一時的に決定する初期配線
経路決定ステップと、前記スラックグラフGiを基に前
記複数の配線遅延制約を満足できるように前記概略配線
経路の改善を行なう配線経路改善ステップとを含み、前
記全てのスラックグラフGiで表現した前記複数の配線
遅延の制約を満足するように順次前記配線経路改善ステ
ップを繰り返すことを特徴とする請求項7記載の自動配
置配線方法。
9. The schematic routing step includes: expressing a plurality of wiring delay constraints in a plurality of delay constraint graphs (hereinafter, referred to as slack graphs), and defining them as slack graphs Gi (i is a natural number). A slack graph generating step of creating a slack graph Gi based on the plurality of wiring delay constraints, an initial wiring path determining step of temporarily determining a schematic wiring path, and the plurality of wiring delays based on the slack graph Gi. And a wiring path improving step of improving the general wiring path so as to satisfy the constraint, and sequentially performing the wiring path improving step so as to satisfy the constraints of the plurality of wiring delays represented by all the slack graphs Gi. 8. The automatic placement and routing method according to claim 7, wherein the method is repeated.
【請求項10】 ピン配置ステップは、複数の配線遅延
の制約を複数の遅延制約グラフ(以下、スラックグラフ
と呼ぶ)で表現し、それらをスラックグラフGi(iは
自然数)としたときに、前記スラックグラフGiを前記
複数の配線遅延の制約を基に作成するスラックグラフ生
成ステップと、機能ブロック上の浮動外部ピンを一時的
に配置する浮動外部ピン初期配置ステップと、前記機能
ブロック間の概略配線経路を一時的に決定する浮動外部
ピン間初期配線経路決定ステップと、前記スラックグラ
フGiを基に前記浮動外部ピン間初期配線経路決定ステ
ップで求めた概略配線経路を保持して前記複数の配線遅
延の制約を満足できるように前記浮動外部ピンの配置を
改善する浮動外部ピン配置改善ステップと、前記スラッ
クグラフGiを基に前記浮動外部ピン間初期配線経路決
定ステップで求めた概略配線経路が前記複数の配線遅延
制約を満足できるように概略配線経路を改善する配線経
路改善ステップとを含み、前記全てのスラックグラフG
iで表現した前記複数の配線遅延の制約を満足するよう
に順次前記浮動外部ピン配置改善ステップと前記配線経
路改善ステップとを繰り返すことを特徴とする請求項7
記載の自動配置配線方法。
10. The pin placement step, wherein a plurality of wiring delay constraints are represented by a plurality of delay constraint graphs (hereinafter, referred to as slack graphs), and when these are defined as slack graphs Gi (i is a natural number), A slack graph generation step of creating a slack graph Gi based on the constraints of the plurality of wiring delays, a floating external pin initial placement step of temporarily arranging floating external pins on functional blocks, and a schematic wiring between the functional blocks A step of determining an initial wiring path between floating external pins for temporarily determining a path; and a step of storing the plurality of wiring delays by holding a schematic wiring path obtained in the step of determining an initial wiring path between floating external pins based on the slack graph Gi. A floating external pin arrangement improving step of improving the arrangement of the floating external pins so as to satisfy the following constraint; and based on the slack graph Gi. A wiring path improving step of improving the general wiring path so that the general wiring path obtained in the floating external pin initial wiring path determining step satisfies the plurality of wiring delay constraints.
8. The method according to claim 7, wherein the floating external pin arrangement improving step and the wiring path improving step are sequentially repeated so as to satisfy the constraints of the plurality of wiring delays represented by i.
Automatic placement and routing method described.
JP8210127A 1996-08-08 1996-08-08 Automatically laid-out wiring method Pending JPH1056067A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8210127A JPH1056067A (en) 1996-08-08 1996-08-08 Automatically laid-out wiring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8210127A JPH1056067A (en) 1996-08-08 1996-08-08 Automatically laid-out wiring method

Publications (1)

Publication Number Publication Date
JPH1056067A true JPH1056067A (en) 1998-02-24

Family

ID=16584244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8210127A Pending JPH1056067A (en) 1996-08-08 1996-08-08 Automatically laid-out wiring method

Country Status (1)

Country Link
JP (1) JPH1056067A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577933B1 (en) * 2006-11-17 2009-08-18 Sun Microsystems, Inc. Timing driven pin assignment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577933B1 (en) * 2006-11-17 2009-08-18 Sun Microsystems, Inc. Timing driven pin assignment

Similar Documents

Publication Publication Date Title
Kahng et al. VLSI physical design: from graph partitioning to timing closure
JP3891599B2 (en) Device for automatic insertion of standard cells into an integrated circuit layout.
US6845494B2 (en) Method for generating design constraints for modules in a hierarchical integrated circuit design system
CN107918694B (en) Method for reducing delay on an integrated circuit
US6247164B1 (en) Configurable hardware system implementing Boolean Satisfiability and method thereof
US20160085898A1 (en) Automated layout for integrated circuits with nonstandard cells
JP2995963B2 (en) Hierarchical circuit database optimization apparatus and hierarchical circuit database optimization method
US9171124B2 (en) Parasitic extraction in an integrated circuit with multi-patterning requirements
US8954915B2 (en) Structured placement of hierarchical soft blocks during physical synthesis of an integrated circuit
US9298872B2 (en) Apportioning synthesis effort for better timing closure
JP2993239B2 (en) Delay distribution method between layers
US9047434B2 (en) Clustering for processing of circuit design data
US8281269B2 (en) Method of semiconductor integrated circuit device and program
WO1999009497A1 (en) Method of extracting timing characteristics of transistor circuits, storage medium storing timing characteristic library, lsi designing method, and gate extraction method
JPH0778189A (en) Logic synthesis for lsi
US6931610B1 (en) Method for rapid estimation of wire delays and capacitances based on placement of cells
JP2000099554A (en) Logic block arranging method, delay library and delay time calculating method
JP4131119B2 (en) Semiconductor integrated circuit design method and semiconductor integrated circuit design program
US11704467B2 (en) Automated balanced global clock tree synthesis in multi level physical hierarchy
Chen et al. Simultaneous placement with clustering and duplication
US9177090B1 (en) In-hierarchy circuit analysis and modification for circuit instances
JPH1056067A (en) Automatically laid-out wiring method
Lienig et al. Methodologies for Physical Design: Models, Styles, Tasks, and Flows
US6701496B1 (en) Synthesis with automated placement information feedback
JP3433025B2 (en) Module placement method