JP2001005853A - Method for automatically arranging flip-flop inside of macro cell - Google Patents

Method for automatically arranging flip-flop inside of macro cell

Info

Publication number
JP2001005853A
JP2001005853A JP11177835A JP17783599A JP2001005853A JP 2001005853 A JP2001005853 A JP 2001005853A JP 11177835 A JP11177835 A JP 11177835A JP 17783599 A JP17783599 A JP 17783599A JP 2001005853 A JP2001005853 A JP 2001005853A
Authority
JP
Japan
Prior art keywords
terminal
flip
flop
external
external data
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
JP11177835A
Other languages
Japanese (ja)
Inventor
Shigeji Takada
繁治 高田
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP11177835A priority Critical patent/JP2001005853A/en
Publication of JP2001005853A publication Critical patent/JP2001005853A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To equalize the clock wiring delay of flip-flop with data wiring delay by arranging a flip-flop to be terminal-designated at an optional position on a perpendicular bisector passing through the midpoint of a virtual straight line connecting a clock terminal and a data terminal to vertically cross with it in a horizontal direction. SOLUTION: One external DATA terminal stored in an external DATA terminal coordinate file F4 is extracted and one external CLK terminal stored in an external CLK terminal coordinate file F5 is extracted. Next, a straight line being a virtual line segment drawn between the two points of the extracted external DATA terminal and external CLK terminal is calculate-processed. Next, the virtual line segment passing through the midpoint of this straight line to vertically cross with it in a vertical direction is similarly obtained by calculating processing. Continually, a flip-flop to be terminal-designated where the name of a DATA terminal and the name of a CLK terminal used at the time of calculating the straight line and a perpendicular bisector are matched with each other is read from an FF information file F2 and arranged at an optional position on the perpendicular bisector.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は半導体集積回路を対
象とする自動レイアウト設計装置を用いたスタンダード
セル方式のチップレイアウト設計におけるマクロセル内
部のフリップフロップ自動配置方法に係わり、特にクロ
ックの配線遅延とデータの配線遅延が等しくなるように
改善したマクロセル内部のフリップフロップ自動配置方
法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for automatically arranging flip-flops inside a macro cell in a standard cell type chip layout design using an automatic layout design apparatus for a semiconductor integrated circuit, and more particularly to a clock wiring delay and data. And a method of automatically arranging flip-flops inside a macro cell, which is improved so that the wiring delays of the macro cells become equal.

【0002】[0002]

【従来の技術】近年、半導体の微細化技術の進展に伴
い、半導体集積回路の回路素子の集積度も飛躍的に増大
し、この集積回路に内蔵する機能も高機能化してきてい
る。この高機能化は特定用途向け集積回路、いわゆるA
SIC(ApplicationSpecific I
C)の分野でも同様である。このASICの製造方式に
スタンダードセル方式と呼ばれるものがある。
2. Description of the Related Art In recent years, the degree of integration of circuit elements of a semiconductor integrated circuit has been dramatically increased with the progress of semiconductor miniaturization technology, and the functions incorporated in the integrated circuit have also been enhanced. This high functionality is achieved by application-specific integrated circuits, so-called A
SIC (Application Specific I)
The same applies to the field C). One of the ASIC manufacturing methods is a standard cell method.

【0003】このスタンダードセル(セルベース)方式
の回路内には、システム全体から割り出した信号遅延時
間の制限範囲内で、信号が伝播されなければならない経
路において、その信号伝搬制限が厳しい限界経路(以
下、クリティカルパスと称す)が存在するが、このクリ
ティカルパスの寄生容量のために回路が正常に動作しな
くなる場合がある。
In the standard cell (cell-based) type circuit, a signal path must be propagated within a signal delay time limit range determined from the entire system. (Hereinafter referred to as a critical path), but the circuit may not operate properly due to the parasitic capacitance of the critical path.

【0004】そのため、従来はその半導体素子間のクリ
ティカルパスの信号伝播時間を短縮する方法としては、
例えば、可能な限り配置する素子をまとめ、必要な分離
拡散領域の数を減らすとともに、クリティカルパスを構
成する機能素子のトランジスタ面積を大きく設計するこ
とにより、そのトランジスタの駆動能力を大きくするこ
とによって、クリティカルパスの遅延時間を短縮してい
る。
Therefore, conventionally, as a method of shortening the signal propagation time of the critical path between the semiconductor elements,
For example, by arranging elements as much as possible, reducing the number of necessary isolation diffusion regions, and designing a large transistor area of a functional element constituting a critical path, by increasing the driving capability of the transistor, Critical path delay time is reduced.

【0005】そのため、自動配置配線ツールにより配置
配線を行った場合、クリティカルなパスにおいても配線
による信号遅延の影響を受け、レイアウト後の信号遅延
時間およびタイミング検証では、要求規格を満足しない
ケースが発生し、ゲートアレイの利点である短期間によ
る設計が困難となっている。
[0005] Therefore, when the placement and routing is performed by the automatic placement and routing tool, the signal delay due to the routing is affected even in the critical path, and the signal delay time and timing verification after layout may not satisfy the required standard. However, it is difficult to design in a short period, which is an advantage of the gate array.

【0006】このレイアウトの影響による信号遅延を改
善する手段として、人手による強制配置や、長くなった
配線経路に信号駆動用のバッファを挿入することが行わ
れている。
As means for improving the signal delay due to the influence of the layout, forcible placement by hand and insertion of a signal driving buffer into a long wiring path are performed.

【0007】この種の従来のスタンダードセル方式にお
いて多用されるセルのうちフリップフロップ回路を自動
配置する方法の一例としてのマクロセルのレイアウト設
計フローを示した図6および模式的な概略のレイアウト
図を示した図7を参照しながら従来の技術を説明する。
FIG. 6 and a schematic schematic layout diagram showing a macro cell layout design flow as an example of a method of automatically arranging flip-flop circuits among cells frequently used in this kind of conventional standard cell system. A conventional technique will be described with reference to FIG.

【0008】図6を参照すると、レイアウトの対象とな
る回路を構成するフリップフロップを含む構成要素(セ
ル)の入出力間の配線接続情報が格納された回路接続情
報ファイルF1から、接続情報を読み出し、各セルを配
置するための領域を設定する配置領域設定処理S11を
実行する。
Referring to FIG. 6, connection information is read from a circuit connection information file F1 in which wiring connection information between input and output of a component (cell) including a flip-flop constituting a circuit to be laid out is stored. Then, an arrangement area setting process S11 for setting an area for arranging each cell is executed.

【0009】配置領域設定処理S11が終わると、次に
各セルに信号を供給し、あるいは信号を出力するための
外部端子の位置を決めるための外部端子位置設定処理S
12を実行する。この場合あらかじめ用意された端子情
報を読み込んでもよい。
When the placement area setting process S11 is completed, a signal is supplied to each cell or an external terminal position setting process S for determining the position of an external terminal for outputting a signal is performed.
Step 12 is executed. In this case, terminal information prepared in advance may be read.

【0010】その後、自動配置処理S13によって、セ
ル間を結ぶ配線の混雑度と、セル間を結ぶ配線長が出来
るだけ短くなるように配置する。全てのセルが配置され
た後に自動配線処理S14を実行する。
[0010] Thereafter, by the automatic placement processing S13, the wiring is arranged so that the congestion degree of the wiring connecting the cells and the length of the wiring connecting the cells are as short as possible. After all the cells are arranged, the automatic wiring process S14 is executed.

【0011】次に図7を参照すると、この図7は図6で
示した処理S13から処理S14を実行する時の、フリ
ップフロップおよびマクロセルの外部端子との位置関係
を示したものである。この図では、矩形全体をG1とす
るマクロセルを示しており、内部には外部クロックが供
給され、このクロックに同期してデータを入力するフリ
ップフロップ1,2,3と、マクロセルとしての外部デ
ータ端子(以下、外部DATA端子と称す)がフリップ
フロップのデータ入力端子(以下、外部DATA入力端
子と称す)に接続されないフリップフロップまたはその
他のセルを矩形のブロックで表している。
Referring now to FIG. 7, FIG. 7 shows the positional relationship between the flip-flops and the external terminals of the macro cell when executing the processes S13 to S14 shown in FIG. This figure shows a macro cell in which the whole rectangle is G1. An external clock is supplied to the inside, and flip-flops 1, 2, 3 for inputting data in synchronization with this clock, and an external data terminal as the macro cell Flip-flops or other cells whose external DATA terminals (hereinafter referred to as external DATA terminals) are not connected to the data input terminals of the flip-flops (hereinafter referred to as external DATA input terminals) are represented by rectangular blocks.

【0012】マクロセルG1において、全てのセルはセ
ル間を結ぶ配線の混雑度と、セル間を結ぶ配線長が短く
なるように自動配置される。この時、外部CLK端子お
よびマクロセルG1としての外部DATA端子がフリッ
プフロップのDATA入力端子に接続されるフリップフ
ロップ1、フリップフロップ2、フリップフロップ3は
まだ特別には認識されない。
In the macro cell G1, all the cells are automatically arranged so that the congestion degree of the wiring connecting the cells and the length of the wiring connecting the cells become shorter. At this time, the flip-flop 1, the flip-flop 2, and the flip-flop 3, in which the external CLK terminal and the external DATA terminal as the macro cell G1 are connected to the DATA input terminal of the flip-flop, are not specially recognized yet.

【0013】配線の混雑度と、セル間の配線長が短くな
るように配置したフリップフロップ1,2,3とそれ以
外のフリップフロップとその他のセルとに対して自動配
線処理を実行する。この自動配線された結果を図7のマ
クロセルG2として示してある。
Automatic wiring processing is performed on the flip-flops 1, 2, 3 arranged so as to shorten the wiring congestion degree and the wiring length between cells, other flip-flops and other cells. The result of the automatic wiring is shown as a macro cell G2 in FIG.

【0014】上述した従来の技術では、図7を参照する
と、自動配置を行う際、基本的に考慮する要因はセル間
を結ぶ配線の混雑度とセル間を結ぶ配線長との2つであ
る。
In the prior art described above, referring to FIG. 7, when performing automatic placement, there are basically two factors to consider: the degree of congestion of wiring connecting cells and the length of wiring connecting cells. .

【0015】したがって、マクロセルとしての外部端子
がフリップフロップのDATA入力端子に接続されてい
るフリップフロップ1,2,3においては、フリップフ
ロップのCLK入力端子がマクロセルのどの端子座標に
アサインされているかを認識しておらず、同様にフリッ
プフロップのDATA入力端子がマクロセルのどの外部
端子座標にアサインされているかも認識していない。
Therefore, in the flip-flops 1, 2, and 3 in which the external terminal as the macro cell is connected to the DATA input terminal of the flip-flop, it is determined to which terminal coordinates of the macro cell the CLK input terminal of the flip-flop is assigned. Similarly, it does not know to which external terminal coordinates of the macro cell the DATA input terminal of the flip-flop is assigned.

【0016】そのため、図7のマクロセルG2に示すよ
うに、フリップフロップ1,2,3は、マクロセルの外
部CLK端子からそれぞれのフリップフロップのCLK
入力端子までの配線(図中、太い実線で示す)の配線長
とマクロセルの端子からそれぞれの対応するフリップフ
ロップのDATA入力端子までの配線(図中、細い実線
で示す)との距離とが等しくならない。
Therefore, as shown in the macro cell G2 of FIG. 7, the flip-flops 1, 2, and 3 are connected to the external CLK terminal of the macro cell from the CLK terminal of each flip-flop.
The wiring length of the wiring to the input terminal (shown by a thick solid line in the figure) is equal to the distance from the terminal of the macro cell to the data input terminal of the corresponding flip-flop (shown by the thin solid line in the figure) No.

【0017】ここで、クロックCLKの配線に対するデ
ータの配線の遅延時間がフリップフロップのセットアッ
プ(Setup)時間およびホールド(Hold)時間
に及ぼすタイミング変化の状態を示した図8を参照する
と、上述したように、フリップフロップのCLK入力端
子までの配線の配線長とマクロセルの端子からそれぞれ
の対応するフリップフロップのDATA入力端子までの
配線との距離とが等しくならなくなった結果、マクロセ
ルの外部CLK端子からフリップフロップのCLK入力
端子までの遅延時間が、マクロセルの外部DATA端子
からフリップフロップのDATA入力端子までの遅延時
間よりも長い場合には、図8(d)に示すように、マク
ロセルのセットアップ時間をフリップフロップのセット
アップ時間よりも時間tcだけ長く設定する必要がある
ことが判る。
Here, referring to FIG. 8, which shows a state of a timing change in which the delay time of the data wiring with respect to the clock CLK wiring affects the setup (Setup) time and the hold (Hold) time of the flip-flop, as described above. As a result, the wiring length of the wiring to the CLK input terminal of the flip-flop and the distance from the terminal of the macro cell to the data input terminal of the corresponding flip-flop are no longer equal. When the delay time from the external DATA terminal of the macro cell to the DATA input terminal of the flip-flop is longer than the delay time from the external DATA terminal of the macro cell to the flip-flop, as shown in FIG. Than setup time Between tc as long as it can be seen that there is a need to set.

【0018】また、マクロセルの外部CLK端子からフ
リップフロップのCLK入力端子までの遅延時間が、マ
クロセルの外部DATA端子からフリップフロップのD
ATA入力端子までの遅延時間よりも短い場合には、図
8(b)に示すように、マクロセルのホールド時間をフ
リップフロップのホールド時間よりも時間tbだけ長く
設定する必要があり、マクロセルの性能を悪化させてい
る。
Further, the delay time from the external CLK terminal of the macro cell to the CLK input terminal of the flip-flop is changed from the external DATA terminal of the macro cell to the flip-flop D signal.
When the delay time is shorter than the delay time to the ATA input terminal, the hold time of the macro cell needs to be set longer than the hold time of the flip-flop by the time tb as shown in FIG. Is worsening.

【0019】また、マクロセルに使用しているフリップ
フロップセル本来のセットアップ時間およびホールド時
間をマクロのスペックとして使用する場合、マクロセル
の外部端子からフリップフロップのCLK入力端子まで
の配線経路およびマクロセルの外部DATA端子からフ
リップフロップのDATA入力端子までの配線経路に遅
延調整用のセルを配置し、マクロセルの外部CLK端子
からフリップフロップのCLK入力端子までの遅延時間
と、マクロセルの外部DATA端子からフリップフロッ
プのDATA入力端子までの遅延時間とを等しくさせる
必要があり、マクロセルの配置領域の拡大および消費電
力の増加を招く要因になっていた。
When the original setup time and hold time of the flip-flop cell used for the macro cell are used as the specifications of the macro, the wiring path from the external terminal of the macro cell to the CLK input terminal of the flip-flop and the external DATA terminal of the macro cell Cell for delay adjustment is arranged on the wiring path from the macro cell to the DATA input terminal of the flip-flop, and the delay time from the external CLK terminal of the macro cell to the CLK input terminal of the flip-flop, and the data input of the flip-flop from the external DATA terminal of the macro cell. It is necessary to make the delay time equal to the delay time to the terminal, which is a factor that causes an increase in the arrangement area of the macro cell and an increase in power consumption.

【0020】また、従来の技術の問題点である、フリッ
プフロップのCLK入力端子までの遅延時間とフリップ
フロップのDATA入力端子までの遅延時間を改善する
技術として、例えば特開平10−74842公報が知ら
れている。
Further, as a technique for improving the delay time to the CLK input terminal of the flip-flop and the delay time to the DATA input terminal of the flip-flop, which is a problem of the conventional technique, for example, Japanese Patent Application Laid-Open No. 10-74842 is known. Have been.

【0021】同公報記載のレイアウト設計のフローチャ
ートを示した図9、および設計フローチャートに基づく
レイアウト図を示した図10をそれぞれ参照しながら説
明する。
A description will be given with reference to FIG. 9 showing a flow chart of the layout design and FIG. 10 showing a layout diagram based on the design flow chart.

【0022】先ず図9を参照すると、処理S21でレイ
アウトを開始し、所定の記憶手段から回路接続情報を入
力した後(処理22)、フリップフロップのネットリス
トを生成するためのフリップフロップ(FF)ネットリ
スト生成処理を行う(処理S23)。
First, referring to FIG. 9, a layout is started in a process S21, and after inputting circuit connection information from a predetermined storage means (process 22), a flip-flop (FF) for generating a netlist of flip-flops is provided. A net list generation process is performed (process S23).

【0023】この時、図10(a)、(b)を参照する
と、フリップフロップに関連するその他のセルはクラス
タリングされ、面積情報をネットリスト内のフリップフ
ロップに関連付けている。クラスタリングとは、すでに
配置されているセルに対して強く結合している他のセル
を選び出し、仮配線長、面積を統合してグルーピングし
ていく方法である。
At this time, referring to FIGS. 10A and 10B, the other cells related to the flip-flop are clustered, and the area information is associated with the flip-flop in the netlist. The clustering is a method of selecting another cell that is strongly coupled to an already arranged cell, and integrating the temporary wiring length and area to perform grouping.

【0024】続いて図9のフローにおいては、フリップ
フロップの配置領域を決定するためのフリップフロップ
(FF)領域決定処理を実行する(処理S24)。
Subsequently, in the flow of FIG. 9, a flip-flop (FF) area determining process for determining an area where the flip-flop is arranged is executed (processing S24).

【0025】続いて、決定された配置領域に対してフリ
ップフロップの初期配置処理を行う(処理S25)。こ
の処理に対応する図10(c)を参照すると、面積情報
が付加されたフリップフロップ間ネットリストおよび面
積情報を基にタイミングが最適になるようにフリップフ
ロップを配置する。ただし、ここではフリップフロップ
間の配線長のみしか考慮しない。
Subsequently, initial placement processing of flip-flops is performed on the determined placement area (step S25). Referring to FIG. 10C corresponding to this processing, the flip-flops are arranged so that the timing is optimized based on the inter-flip-flop netlist to which the area information is added and the area information. However, only the wiring length between flip-flops is considered here.

【0026】続いて図9のフローにおいては、初期配置
されたフリップフロップに対し配置改善処理を実行する
(処理S26)。この処理に対応する図10(c)を参
照すると、フリップフロップ間ネットリストおよび面積
情報を基にさらにタイミングが最適になるように配置領
域全体でセルの配置を改善し、その後でクラスタリング
されたフリップフロップ以外のセルを、各フリップフロ
ップ配置領域に配置(図10(d))している。
Subsequently, in the flow of FIG. 9, the layout improvement processing is performed on the flip-flops which are initially placed (process S26). Referring to FIG. 10C corresponding to this processing, based on the inter-flip-flop netlist and the area information, the cell arrangement is improved in the entire arrangement area so that the timing is further optimized, and the clustered flip-flops are thereafter obtained. Cells other than flip-flops are arranged in each flip-flop arrangement area (FIG. 10D).

【0027】[0027]

【発明が解決しようとする課題】上述したように、特開
平10−74842号公報の技術は、図9で示したフリ
ップフロップ領域決定処理(処理S24)において、フ
リップフロップ間のみしか最適化していない。
As described above, the technique disclosed in Japanese Patent Application Laid-Open No. H10-74842 optimizes only between flip-flops in the flip-flop area determination processing (processing S24) shown in FIG. .

【0028】また、最適化する際、クラスタリングされ
た面積情報を持って最適化するため、クラスタリングさ
れた面積が大きいと移動範囲が制限されてしまう。
In the optimization, since the optimization is performed by using the clustered area information, the moving range is limited if the clustered area is large.

【0029】さらに、最適化の際、フリップフロップは
クラスタリング領域外へは移動できない。そのため図1
0に示したレイアウト図10(d)のように、マクロセ
ルとしての端子がフリップフロップのDATA入力端子
に接続されているフリップフロップ1、2、3の全てに
おいて、マクロセルの外部CLK端子からフリップフロ
ップのCLK入力端子までの配線長が、マクロセルの外
部DATA端子からフリップフロップのDATA入力端
子までの配線長よりも長くなっている。
Further, during the optimization, the flip-flop cannot move out of the clustering area. Therefore Figure 1
As shown in the layout diagram (d) of FIG. 10, in all of the flip-flops 1, 2, and 3 whose terminals as macro cells are connected to the DATA input terminals of the flip-flops, the flip-flops of the flip-flops are connected from the external CLK terminal of the macro cell. The wiring length from the CLK input terminal to the CLK input terminal is longer than the wiring length from the external DATA terminal of the macro cell to the DATA input terminal of the flip-flop.

【0030】そのため、マクロセルの外部CLK端子か
らフリップフロップのCLK入力端子までの遅延時間
が、マクロセルの端子からフリップフロップのDATA
入力端子までの遅延時間よりも長くなり、図8(d)で
示すように、マクロセルのセットアップ時間をフリップ
フロップセルのセットアップ時間よりも時間Cだけ長く
設定する必要があり、マクロセルの性能を悪化させてい
る。
Therefore, the delay time from the external CLK terminal of the macro cell to the CLK input terminal of the flip-flop is changed from the terminal of the macro cell to the DATA of the flip-flop.
As shown in FIG. 8D, it is necessary to set the setup time of the macro cell longer than the setup time of the flip-flop cell by the time C, which deteriorates the performance of the macro cell. I have.

【0031】また、使用しているフリップフロップセル
本来のセットアップ時間、ホールド時間を、マクロのス
ペックとして使用する場合、マクロセルの外部端子から
フリップフロップのCLK入力端子までの配線経路およ
びマクロセルの外部端子からフリップフロップのDAT
A入力端子までの配線経路に、それぞれ遅延調整用のセ
ルを配置し、マクロセルの外部CLK端子からフリップ
フロップのCLK入力端子までの遅延時間と、マクロセ
ルの外部DATA端子からフリップフロップのDATA
入力端子までの遅延時間を等しくさせる必要があり、マ
クロセルの配置領域の拡大および消費電力の増加を招く
要因になっている。
When the original setup time and hold time of the used flip-flop cell are used as the specifications of the macro, the wiring path from the external terminal of the macro cell to the CLK input terminal of the flip-flop and the flip-flop from the external terminal of the macro cell are used. DAT
A cell for delay adjustment is arranged on each of the wiring paths to the A input terminal, the delay time from the external CLK terminal of the macro cell to the CLK input terminal of the flip-flop, and the delay time from the external DATA terminal of the macro cell to the DATA of the flip-flop.
It is necessary to make the delay times to the input terminals equal, which is a factor that causes an increase in the arrangement area of the macro cells and an increase in power consumption.

【0032】本発明の目的は、上述した従来の欠点に鑑
みなされたものであり、半導体集積回路のうち、ASI
Cのスタンダードセル方式におけるフリップフロップの
クロック配線遅延とデータ配線遅延が等しくなるように
改善したマクロセル内部のフリップフロップ自動配置方
法を提供することにある。
An object of the present invention has been made in view of the above-mentioned drawbacks of the related art.
It is an object of the present invention to provide an automatic flip-flop arranging method in a macro cell in which a clock wiring delay and a data wiring delay of a flip-flop in a standard cell system of C are improved.

【0033】[0033]

【課題を解決するための手段】本発明のマクロセル内部
のフリップフロップ自動配置方法の特徴は、半導体集積
回路のスタンダードセル方式におけるフリップフロップ
を含む各種セルを配置配線するための自動配置配線処理
を有する自動レイアウト設計装置を対象とし、前記自動
配置配線処理に適用されるマクロセル内部のフリップフ
ロップ自動配置方法において、前記マクロセルの一辺に
割り付けられた1つの外部クロック端子と他の辺に割り
付けられた複数の外部データ端子のうち、前記外部クロ
ック端子および任意の1つの前記外部データ端子を1組
の単位として、この1組の端子間を前記自動レイアウト
設計装置の計算処理で結ぶ仮想の直線の中点を通り水平
方向に垂直に交差する仮想の垂直二等分線上の任意の位
置に、予め前記1組の端子に関係付けられた1つの被端
子指定フリップフロップを配置するとともに、この被端
子指定フリップフロップを配置する処理を予め定める所
定の数の前記被端子指定フリップフロップに対して配置
が終わるまで繰り返し、前記外部クロック端子および前
記クロック入力端子間の配線長と前記外部データ端子お
よび前記データ入力端子間の配線長とを略等長にするた
めのフリップフロップ自動配置処理を有することにあ
る。
A feature of the method for automatically arranging flip-flops in a macro cell according to the present invention is that it has an automatic arrangement and wiring process for arranging and wiring various cells including flip-flops in a standard cell system of a semiconductor integrated circuit. In an automatic layout design apparatus, a method for automatically arranging flip-flops inside a macro cell applied to the automatic layout and wiring processing, wherein one external clock terminal allocated to one side of the macro cell and a plurality of external clock terminals allocated to another side are provided. Of the external data terminals, the external clock terminal and any one of the external data terminals are used as one set of units, and the midpoint of a virtual straight line connecting the one set of terminals by the calculation processing of the automatic layout design device is defined as At an arbitrary position on a virtual vertical bisector that vertically intersects the And a process of arranging one of the terminal-designated flip-flops is repeated until a predetermined number of terminal-designated flip-flops are arranged. A flip-flop automatic arrangement process for making the wiring length between the external clock terminal and the clock input terminal substantially equal to the wiring length between the external data terminal and the data input terminal.

【0034】また、前記被端子指定フリップフロップ以
外のその他フリップフロップおよび他の機能セルを配置
する処理工程前に、前記フリップフロップ自動配置処理
を優先処理することができる。
Further, prior to the processing step of arranging other flip-flops and other function cells other than the terminal-designated flip-flop, the flip-flop automatic arrangement processing can be prioritized.

【0035】さらに、前記フリップフロップ自動配置処
理は、前記自動レイアウト設計装置の記憶手段に予め格
納された前記マクロセル内の全てのセル名の他にインス
タンス名が書かれている回路接続情報ファイルを参照し
て、前記各種セルのうち全てのフリップフロップの情報
を抽出し、フリップフロップ情報ファイルへ格納するフ
リップフロップ抽出格納処理と、前記回路接続情報ファ
イルから読み出した回路接続情報を基に前記マクロセル
を自動レイアウトする時の全ての前記各種セルの配置領
域を設定する配置領域設定処理と、前記マクロセルの任
意の辺に全ての外部端子の位置をアサインするととも
に、アサインされた前記外部端子の位置情報を外部端子
情報ファイルへ格納する外部端子位置設定処理と、前記
外部端子情報ファイルに格納されている前記マクロセル
の端子名の中から前記フリップフロップ情報ファイルに
格納されている前記被端子指定フリップフロップの前記
データ入力端子のネット名と一致する端子だけの座標情
報を抽出して、外部データ端子座標ファイルに格納する
外部データ端子座標抽出処理と、前記外部端子情報ファ
イルに格納されている前記マクロセルの端子名の中から
前記フリップフロップ情報ファイルに格納されている前
記被端子指定フリップフロップのクロック入力端子のネ
ット名と一致する端子だけを抽出して、外部クロック端
子座標ファイルに格納する外部クロック端子座標抽出処
理と、前記被端子指定フリップフロップについて前記外
部クロック端子座標と前記外部データ入力端子座標とか
ら前記自動レイアウト設計装置の計算処理で求めた仮想
の前記垂直二等分線上に前記被端子指定フリップフロッ
プを配置するフリップフロップの自動配置位置決定処理
と、からなる処理工程を有する。
Further, the automatic flip-flop placement processing refers to a circuit connection information file in which an instance name is written in addition to all the cell names in the macro cell stored in advance in the storage means of the automatic layout design apparatus. The flip-flop extraction and storage process of extracting information of all the flip-flops from the various cells and storing the information in the flip-flop information file, and automatically activating the macro cell based on the circuit connection information read from the circuit connection information file. A layout area setting process for setting layout areas of all the various cells when laying out, and assigning the positions of all external terminals to arbitrary sides of the macro cell, and externally assigning the position information of the assigned external terminals. External terminal position setting processing to be stored in the terminal information file; Extracting the coordinate information of only the terminal that matches the net name of the data input terminal of the terminal-designated flip-flop stored in the flip-flop information file from among the terminal names of the macro cell stored in the An external data terminal coordinate extraction process to be stored in an external data terminal coordinate file; and a terminal-designated flip-flop stored in the flip-flop information file from terminal names of the macro cells stored in the external terminal information file. External clock terminal coordinate extraction processing for extracting only the terminal that matches the net name of the clock input terminal of the external clock terminal and storing the extracted terminal in the external clock terminal coordinate file; Calculation of the automatic layout design device from the terminal coordinates Wherein the virtual of the vertical bisector obtained in management with an automatic position determination process of the flip-flop arranged to be terminal designation flip-flop, the processing steps consisting.

【0036】さらにまた、前記フリップフロップ抽出処
理は、前記回路接続情報ファイルから前記被端子指定フ
リップフロップのセル名をキーワードにして、前記被端
子指定フリップフロップのセル名とインスタンス名と前
記フリップフロップのデータ入力端子およびクロック入
力端子のネット名とをそれぞれ抽出することができる。
Further, the flip-flop extraction processing includes, using the cell name of the terminal-designated flip-flop from the circuit connection information file as a keyword, the cell name and the instance name of the terminal-designated flip-flop and the flip-flop. The net names of the data input terminal and the clock input terminal can be extracted.

【0037】また、前記外部端子の位置情報は、前記マ
クロセルの端子名とその配置位置の座標とを前記外部端
子情報ファイルから抽出した情報とすることができる。
The position information of the external terminal may be information obtained by extracting a terminal name of the macro cell and coordinates of its arrangement position from the external terminal information file.

【0038】さらに、前記フリップフロップ自動配置処
理は、前記外部データ端子座標の内の1つの外部データ
端子の座標を抽出して、外部データ端子座標ファイルに
格納する外部データ端子座標抽出格納処理と、前記外部
クロック端子座標ファイルに格納された外部クロック端
子座標の内の前記1つの外部クロック端子の座標を抽出
して、外部クロック端子座標ファイルに格納する外部ク
ロック端子座標抽出格納処理と、前記外部データ端子座
標ファイルに格納された前記外部データ端子と前記外部
クロック端子座標ファイルに格納された前記外部クロッ
ク端子との2点間を結ぶ仮想の前記直線を前記自動レイ
アウト設計装置の計算処理で算出する2点間の直線を算
出し、算出した前記直線の中点を通り水平方向に垂直に
交差する線分を前記自動レイアウト設計装置の計算処理
で求めた仮想の前記垂直二等分線のデータを垂直二等分
線ファイルに格納する垂直二等分線算出処理と、前記直
線および前記垂直二等分線の算出に使用した前記外部デ
ータ端子名と前記外部クロック端子名を使用している前
記被端子指定フリップフロップを前記フリップフロップ
情報ファイルから抽出する外部端子接続フリップフロッ
プ抽出処理と、前記被端子指定フリップフロップが前記
フリップフロップ情報ファイルに存在し抽出出来た場合
は前記垂直二等分線上の任意の位置に配置した後に、そ
の配置情報をフリップフロップ配置情報ファイルに格納
するとともに再び前記外部データ端子座標抽出格納処理
および前記外部クロック端子座標抽出格納処理へそれぞ
れ戻る垂直二等分線上フリップフロップ配置処理と、前
記被端子指定フリップフロップが前記フリップフロップ
情報ファイルに存在せず抽出出来ない場合は前記垂直二
等分線上には何も配置しないで、再び前記外部データ端
子座標抽出格納処理および前記外部クロック端子座標抽
出格納処理へ戻るフリップフロップ非配置処理と、を有
し、これらの処理を順次繰り返えすことにより、前記被
端子指定フリップフロップの抽出、配置処理を行うこと
ができる。
Further, the flip-flop automatic arrangement processing extracts external data terminal coordinates from the external data terminal coordinates, and stores the coordinates in an external data terminal coordinate file. An external clock terminal coordinate extracting and storing process of extracting the coordinates of the one external clock terminal from the external clock terminal coordinates stored in the external clock terminal coordinate file and storing the extracted coordinates in the external clock terminal coordinate file; The virtual straight line connecting two points between the external data terminal stored in the terminal coordinate file and the external clock terminal stored in the external clock terminal coordinate file is calculated by a calculation process of the automatic layout design device. A straight line between the points is calculated, and a line segment passing through the middle point of the calculated straight line and intersecting vertically in the horizontal direction is set in front of A vertical bisector calculation process of storing the virtual vertical bisector data obtained in the calculation process of the automatic layout design device in a vertical bisector file, and calculating the straight line and the vertical bisector An external terminal connection flip-flop extraction process of extracting the terminal-designated flip-flop using the external data terminal name and the external clock terminal name used from the flip-flop information file; If it exists in the flip-flop information file and can be extracted, it is arranged at an arbitrary position on the vertical bisector, the arrangement information is stored in the flip-flop arrangement information file, and the external data terminal coordinate extraction and storage processing is performed again. And the flip-flop on the vertical bisector returning to the external clock terminal coordinate extraction and storage processing, respectively. If the terminal-designated flip-flop does not exist in the flip-flop information file and cannot be extracted, nothing is arranged on the vertical bisector, and the external data terminal coordinate extraction and storage process is performed again. And flip-flop non-arrangement processing returning to the external clock terminal coordinate extraction and storage processing. By repeating these processings sequentially, the extraction and arrangement processing of the terminal-designated flip-flop can be performed.

【0039】さらにまた、前記垂直二等分線上フリップ
フロップ配置処理において前記垂直二等分線の算出に使
用した前記被端子指定フリップフロップを前記垂直二等
分線上の任意の位置に配置するとき、配置する前記被端
子指定フリップフロップのセルサイズの一部が、前記垂
直二等分線と接触または貫通するように配置することも
できる。
Furthermore, when the terminal-designated flip-flop used for calculating the vertical bisector in the vertical bisector flip-flop arrangement processing is arranged at an arbitrary position on the vertical bisector, The arrangement may be such that a part of the cell size of the terminal-designated flip-flop to be arranged is in contact with or penetrates the vertical bisector.

【0040】また、前記外部クロック端子および前記外
部データ端子がそれぞれ複数個存在するとき、これら複
数個のうちの第1の外部クロック端子に対して前記垂直
二等分線上フリップフロップ配置処理までを実行後、前
記外部クロック端子座標ファイルから第2の外部クロッ
ク端子を読み出し、この第2の外部クロック端子を基準
にしてこの外部クロック端子に関連付けられた外部デー
タ端子が接続される前記被端子指定フリップフロップの
抽出および配置処理を前記外部データ端子座標抽出格納
処理から垂直二等分線上フリップフロップ配置処理まで
の順序に従い繰り返し実行することもできる。
When there are a plurality of the external clock terminals and the plurality of the external data terminals, the processing up to the flip-flop arrangement processing on the vertical bisector is executed for the first one of the plurality of external clock terminals. Then, a second external clock terminal is read from the external clock terminal coordinate file, and the external clock terminal is connected to an external data terminal associated with the external clock terminal with reference to the second external clock terminal. Can be repeatedly executed in the order from the external data terminal coordinate extraction and storage processing to the vertical bisector flip-flop arrangement processing.

【0041】さらに、前記外部クロック端子および前記
外部データ端子がそれぞれ複数個存在するとき、これら
複数個のうちの第1の外部データ端子を初めに基準にし
て前記垂直二等分線上フリップフロップ配置処理を実行
後、次に前記外部データ端子座標ファイルから第2の外
部データ端子を読み出し、この第2の外部データ端子を
基準にしてこの外部データ端子に関連付けられた前記外
部クロック端子が接続される前記被端子指定フリップフ
ロップの抽出および配置処理を前記外部データ端子座標
抽出格納処理から前記垂直二等分線上フリップフロップ
配置処理までの順序に従い繰り返し実行することもでき
る。
Further, when there are a plurality of the external clock terminals and the plurality of external data terminals, respectively, the flip-flop arrangement processing on the vertical bisector based on the first of the plurality of external data terminals is first performed. Then, the second external data terminal is read from the external data terminal coordinate file, and the external clock terminal associated with the external data terminal is connected based on the second external data terminal. The extraction and placement processing of the terminal-designated flip-flops can be repeatedly executed in the order from the external data terminal coordinate extraction and storage processing to the flip-flop placement processing on the vertical bisector.

【0042】さらにまた、前記外部クロック端子および
前記外部データ端子がそれぞれ複数個存在するとき、初
めにこれら複数個のうちの第1の外部クロック端子を基
準にして第1の外部データ端子を関連づけて前記垂直二
等分線上フリップフロップ配置処理までを実行後、次に
前記外部データ端子座標ファイルから第2の外部データ
端子を読み出し、この第2の外部データ端子を基準にし
てこの外部データ端子に関連付けられた前記外部クロッ
ク端子が接続される前記被端子指定フリップフロップの
抽出および配置処理を前記外部データ端子座標抽出格納
処理から前記垂直二等分線上フリップフロップ配置処理
までの順序に従い、前記外部データ端子および前記外部
クロック端子を交互に前記基準にして繰り返し実行する
こともできる。
Further, when there are a plurality of the external clock terminals and the plurality of external data terminals, first, the first external data terminal is associated with the first external clock terminal of the plurality. After executing the flip-flop arrangement processing on the vertical bisector, a second external data terminal is read from the external data terminal coordinate file, and is associated with the external data terminal with reference to the second external data terminal. The extraction and placement processing of the terminal-designated flip-flop to which the external clock terminal is connected is performed according to the order from the external data terminal coordinate extraction and storage processing to the vertical bisector flip-flop placement processing. And the external clock terminal may be alternately executed with the reference as the reference.

【0043】また、前記外部端子位置設定処理の後に、
前記被端子指定フリップフロップ以外のセルの一部を強
制的に配置するセル強制配置処理をさらに有し、前記垂
直二等分線上フリップフロップ配置処理は、前記セル強
制配置処理結果に基づき強制配置された前記被端子指定
フリップフロップ以外のセルの一部が前記垂直二等分線
上に既に配置されているときは、そのセルを避けて、か
つ前記垂直二等分線上に、前記直線および前記垂直二等
分線の算出に使用した前記被端子指定フリップフロップ
を配置することもできる。
After the external terminal position setting process,
The method further includes a cell forcible placement process for forcibly placing a part of cells other than the terminal-designated flip-flop, wherein the flip-flop placement process on the vertical bisector is forcibly placed based on the result of the cell forced placement process. When a part of the cell other than the terminal-designated flip-flop is already arranged on the vertical bisector, avoid the cell and place the straight line and the vertical bisector on the vertical bisector. The terminal-designated flip-flop used for calculating the equal line may be arranged.

【0044】さらに、前記被端子指定フリップフロップ
以外のセルのうちクリティカルパスの対象となるセル
は、前記強制配置により予め定める所定の位置に配置す
ることもできる。
Further, the cells other than the terminal-designated flip-flop and which are to be subjected to the critical path can be arranged at predetermined positions predetermined by the forced arrangement.

【0045】[0045]

【発明の実施の形態】まず本発明の第1の実施の形態を
図面を参照しながら説明する。図1は本発明の第1の実
施の形態を示すマクロセル内部のフリップフロップ自動
配置方法におけるマクロセルのレイアウト設計フローチ
ャートである。図1を参照すると、予め記憶手段に格納
された当該マクロセル全体の各構成要素(セル)間を接
続するための配線接続情報であって、全てのセルはセル
名の他に回路内で唯一のユニーク名であるインスタンス
名が書かれている回路接続情報ファイルF1を参照す
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a flow chart of a macro cell layout design in the method for automatically arranging flip-flops inside a macro cell according to the first embodiment of the present invention. Referring to FIG. 1, there is wiring connection information for connecting the components (cells) of the entire macro cell stored in advance in the storage means, and all the cells are unique in the circuit in addition to the cell names. Reference is made to the circuit connection information file F1 in which the unique instance name is written.

【0046】参照した回路接続情報ファイルF1からマ
クロセルに使用されているセルのうち全てのフリップフ
ロップ群を抽出する(フリップフロップ抽出処理S
1)。すなわち、回路接続情報ファイルF1からフリッ
プフロップのセル名をキーワードにして、フリップフロ
ップのセル名、インスタンス名および接続情報を抽出す
る。
Extract all the flip-flop groups among the cells used as the macro cells from the referenced circuit connection information file F1 (flip-flop extraction processing S
1). That is, the flip-flop cell name, instance name, and connection information are extracted from the circuit connection information file F1 using the flip-flop cell name as a keyword.

【0047】ここでは説明を容易にするために、例え
ば、マクロセルの少なくとも1個の外部CLK端子およ
び複数の外部DATA端子に接続するフリップフロップ
のインスタンス名をフリップフロップ1,2,3とし、
CLK端子およびDATA端子に接続しないフリップフ
ロップが複数個ありこれらをその他フリップフロップ
a,bとし、さらにフリップフロップ以外の機能セルも
複数個存在し、これらをセルp,q,rと仮定する。
Here, for ease of explanation, for example, the flip-flops connected to at least one external CLK terminal and a plurality of external DATA terminals of the macro cell are called flip-flops 1, 2, and 3, respectively.
It is assumed that there are a plurality of flip-flops that are not connected to the CLK terminal and the DATA terminal, these are the other flip-flops a and b, and that there are a plurality of functional cells other than the flip-flops, and these are cells p, q, and r.

【0048】この抽出されたフリップフロップ1,2,
3,a,bをフリップフロップ情報ファイル(以下、F
F情報ファイルと称す)F2へ格納する。このFF情報
ファイルF2には上述したフリップフロップのインスタ
ンス名およびフリップフロップのDATA入力端子のネ
ット名およびフリップフロップのCLK入力端子のネッ
ト名が格納されている。
The extracted flip-flops 1, 2, 2,
3, a and b are stored in a flip-flop information file (hereinafter F
(Referred to as F information file) F2. The FF information file F2 stores the instance name of the flip-flop, the net name of the DATA input terminal of the flip-flop, and the net name of the CLK input terminal of the flip-flop.

【0049】続いて、回路接続情報ファイルF1から読
み出した回路接続情報から、マクロセルを自動レイアウ
トする時のセルを配置配線するのに必要な面積である配
置領域を設定する(配置領域設定処理S2)。
Subsequently, from the circuit connection information read from the circuit connection information file F1, an arrangement area which is an area necessary for arranging and wiring cells when automatically laying out macro cells is set (arrangement area setting processing S2). .

【0050】次に、マクロセルの任意の辺に全ての外部
端子の位置をアサインするとともに、アサインされたマ
クロセルの外部端子の位置情報を外部端子情報ファイル
F3へ格納する(外部端子位置設定処理S3)。この外
部端子情報ファイルF3にはマクロセルの端子名とその
座標が格納されている。
Next, the positions of all the external terminals are assigned to arbitrary sides of the macro cell, and the position information of the assigned external terminals of the macro cell is stored in the external terminal information file F3 (external terminal position setting processing S3). . The external terminal information file F3 stores the terminal names of the macro cells and their coordinates.

【0051】続いて、外部端子情報ファイルF3に格納
されているマクロセルの端子名の中からFF情報ファイ
ルF2に格納されているフリップフロップ1,2,3,
a,bのうちDATA入力端子のネット名と一致する端
子だけの座標情報を抽出するとともに、抽出した外部D
ATA端子の座標情報を外部DATA端子座標ファイル
に格納する(外部DATA端子座標抽出処理S4)。
Subsequently, the flip-flops 1, 2, 3, and 3 stored in the FF information file F2 are selected from the macro cell terminal names stored in the external terminal information file F3.
In addition to extracting the coordinate information of only the terminal corresponding to the net name of the DATA input terminal from a and b, the extracted external D
The coordinate information of the ATA terminal is stored in the external DATA terminal coordinate file (external DATA terminal coordinate extraction processing S4).

【0052】同様に、外部端子情報ファイルF3に格納
されているマクロセルの端子名の中からFF情報ファイ
ルF2に格納されているフリップフロップ1,2,3,
a,bのうちCLK入力端子のネット名と一致する端子
だけを抽出するとともに、外部CLK端子座標ファイル
F5に格納する(外部CLK端子座標抽出処理S5)。
Similarly, the flip-flops 1, 2, 3, and 3 stored in the FF information file F2 are selected from the terminal names of the macro cells stored in the external terminal information file F3.
Only terminals that match the net name of the CLK input terminal are extracted from a and b and stored in the external CLK terminal coordinate file F5 (external CLK terminal coordinate extraction processing S5).

【0053】次に、フリップフロップ自動配置処理S6
を実行する。このフリップフロップ自動配置処理S6の
フローを示した図2を参照すると、外部DATA端子座
標ファイルF4に格納された外部DATA端子座標の内
の1つの外部DATA端子、例えばDATA1の座標を
抽出する(外部DATA端子座標を1つ抽出する処理S
61)とともに、この抽出したDATA1の座標を1つ
の外部DATA端子座標ファイルF6に格納する。
Next, flip-flop automatic arrangement processing S6
Execute Referring to FIG. 2 showing the flow of the flip-flop automatic arrangement processing S6, the coordinates of one external DATA terminal, for example, DATA1, among the external DATA terminal coordinates stored in the external DATA terminal coordinate file F4 is extracted (external). Processing S for extracting one DATA terminal coordinate
61), the extracted coordinates of DATA1 are stored in one external DATA terminal coordinate file F6.

【0054】一方、外部CLK端子座標ファイルF5に
格納された外部CLK端子座標の内の1つの外部CLK
端子、例えばCLK1の座標を抽出する(外部CLK端
子座標を1つ抽出する処理S62)とともに、この抽出
したCLK1の座標を1つの外部CLK端子座標ファイ
ルF7に格納する。
On the other hand, one of the external CLK terminal coordinates among the external CLK terminal coordinates stored in the external CLK terminal coordinate file F5
The coordinates of the terminal, for example, CLK1, are extracted (the process of extracting one external CLK terminal coordinate S62), and the extracted coordinates of CLK1 are stored in one external CLK terminal coordinate file F7.

【0055】続いて、処理S61,62で抽出した外部
DATA端子DATA1と外部CLK端子CLK1との
2点間に引く直線を算出処理する。
Subsequently, a straight line drawn between the two points of the external DATA terminal DATA1 and the external CLK terminal CLK1 extracted in steps S61 and S62 is calculated.

【0056】この2点間の直線は自動レイアウト設計装
置による計算処理で行われる仮想の線分である。この外
部DATA端子座標の内の1つの外部DATA端子DA
TA1の座標と外部CLK端子座標ファイルF5に格納
された外部CLK端子座標の内の1つの外部CLK端子
CLK1の座標との間を結ぶ直線の中点を通り水平方向
に垂直に交差する仮想の線分を、同様に自動レイアウト
設計装置による計算処理で求める(2点間の垂直二等分
線算出処理S63)。以下、この仮想の線分を垂直二等
分線と称する。
The straight line between these two points is an imaginary line segment which is calculated by the automatic layout design apparatus. One of the external DATA terminal coordinates in the external DATA terminal coordinates
An imaginary line passing through the midpoint of a straight line connecting the coordinates of TA1 and the coordinates of one external CLK terminal CLK1 among the external CLK terminal coordinates stored in the external CLK terminal coordinate file F5, and intersecting vertically in the horizontal direction. The component is similarly obtained by calculation processing by the automatic layout design apparatus (vertical bisector calculation processing S63 between two points). Hereinafter, this virtual line segment is referred to as a vertical bisector.

【0057】処理S63で算出した垂直二等分線のデー
タを垂直二等分線ファイルF8に格納する。
The data of the vertical bisector calculated in step S63 is stored in the vertical bisector file F8.

【0058】処理S63における垂直二等分線の算出
は、例えば外部DATA端子座標(x1、y1)、外部
CLK端子座標(x2、y2)が抽出されれば、((x
1+x2)/2、(y1+y2)/2)で中点を抽出
し、後はそこから垂直二等分線を発生させる。
In the calculation of the vertical bisector in the process S63, if the external DATA terminal coordinates (x1, y1) and the external CLK terminal coordinates (x2, y2) are extracted, for example, ((x
The midpoint is extracted by (1 + x2) / 2 and (y1 + y2) / 2), and then a vertical bisector is generated therefrom.

【0059】続いて、上述の直線および垂直二等分線の
算出に使用したDATA端子名DATA1とCLK端子
名CLK1が一致する被端子指定フリップフロップ1を
FF情報ファイルF2から読み出す(外部端子接続フリ
ップフロップ抽出処理S64)。
Subsequently, a terminal-designated flip-flop 1 in which the DATA terminal name DATA1 and the CLK terminal name CLK1 used for calculating the straight line and the perpendicular bisector described above are read from the FF information file F2 (external terminal connection flip-flop). Extraction processing S64).

【0060】もし一致する被端子指定フリップフロップ
1が存在するときは垂直二等分線上の任意の位置に配置
する(該当フリップフロップの存在判断処理S65,垂
直二等分線上フリップフロップ配置処理67)。一致す
る被端子指定フリップフロップ1が存在しないときは、
垂直二等分線上には何も配置しないで、再び処理S6
1,S62へ戻る。(該当フリップフロップの存在判断
処理S65,フリップフロップを配置しない処理S6
6)。
If there is a coincident terminal-designated flip-flop 1, it is arranged at an arbitrary position on the vertical bisector (the existence of the corresponding flip-flop S65, the flip-flop arrangement process 67 on the vertical bisector). . If there is no matching terminal-designated flip-flop 1,
Nothing is arranged on the vertical bisector, and the processing S6 is performed again.
1. Return to S62. (Process S65 for judging existence of the corresponding flip-flop, process S6 for disposing no flip-flop)
6).

【0061】処理S67で垂直二等分線上の任意の位置
に配置するとは、被端子指定フリップフロップのセルサ
イズの一部が垂直二等分線と交差するように被端子指定
フリップフロップを配置することであり、垂直二等分線
が被端子指定フリップフロップのセルサイズ(長方形)
と接触あるいは貫通するように被端子指定フリップフロ
ップを配置することである。
To arrange at an arbitrary position on the vertical bisector in step S67, the terminal-designated flip-flop is arranged so that a part of the cell size of the terminal-designated flip-flop intersects the vertical bisector. The vertical bisector is the cell size (rectangular) of the flip-flop specified by the terminal
The terminal-designated flip-flop is arranged so as to be in contact with or penetrate through.

【0062】被端子指定フリップフロップのセルサイズ
はフリップフロップの自動レイアウト設計装置のLEF
(Library Exchange Format)
内に格納されている。
The cell size of the terminal-designated flip-flop is determined by the LEF of the automatic layout design apparatus for flip-flops.
(Library Exchange Format)
Is stored within.

【0063】一般に、マクロセルでは1つのクロックが
共通に配線される複数のフリップフロップが配置され、
それぞれは異なるDATAが入力され、かつ一部のフリ
ップフロップはマクロセルの外部端子の外部DATA端
子に接続されている。
Generally, a plurality of flip-flops to which one clock is commonly wired are arranged in a macro cell.
Different data are input to each of them, and some flip-flops are connected to the external DATA terminal of the external terminal of the macro cell.

【0064】従って、ここでは、例えば1つの外部CL
K端子を基準にして、処理S61からS67までを繰り
返して実行し、垂直二等分線上に配置するフリップフロ
ップとして関連付けられた被端子指定フリップフロップ
を見つけて配置した後、処理S61,S62へ戻り、見
つからなければ配置せずに処理S61,S62へ戻る。
Therefore, here, for example, one external CL
The processes from S61 to S67 are repeatedly executed with reference to the K terminal to find and arrange a terminal-designated flip-flop associated as a flip-flop to be arranged on the vertical bisector, and then return to the processes S61 and S62. If not found, the process returns to steps S61 and S62 without arrangement.

【0065】この処理の繰り返しにより、CLK1に関
連付けられた被端子指定フリップフロップの抽出、配置
処理が終了すると、次に外部CLK端子CLK2を基準
にし、このCLK2に関連付けられた被端子指定フリッ
プフロップの抽出、配置処理を同じような処理順序に従
い繰り返し実行する。
When the process of extracting and arranging the terminal-designated flip-flop associated with CLK1 is completed by repeating this process, the external designated CLK-terminal CLK2 is then used as a reference and the terminal-designated flip-flop associated with CLK2 is determined. The extraction and arrangement processing is repeatedly executed in a similar processing order.

【0066】上述した処理S66において、マクロセル
としての外部端子が被端子指定フリップフロップのDA
TA入力端子に接続されているフリップフロップの配置
情報をフリップフロップ配置情報ファイルF9に格納す
る。
In the above-described processing S66, the external terminal as the macro cell is set to the DA of the terminal-designated flip-flop.
The arrangement information of the flip-flop connected to the TA input terminal is stored in the flip-flop arrangement information file F9.

【0067】このフリップフロップ配置情報は、回路接
続情報から、外部DATA端子につながっているネット
名とフリップフロップのDATA入力端子につながって
いるネット名が同じであるフリップフロップを抽出する
ものである。
This flip-flop arrangement information is for extracting, from the circuit connection information, a flip-flop in which the name of the net connected to the external DATA terminal is the same as the name of the net connected to the DATA input terminal of the flip-flop.

【0068】この格納処理までの各処理が終了すると処
理S61,S62に戻り、残りの被端子指定フリップフ
ロップ2,3の抽出、配置に対してもそれぞれ処理S6
7までを繰り返し実行する。
When the processes up to the storage process are completed, the process returns to the processes S61 and S62, and the process S6 is also performed for the extraction and arrangement of the remaining terminal-designated flip-flops 2 and 3.
Repeat up to 7.

【0069】上述の例では、外部CLK端子を基準にし
てこれに関連付けられた外部DATA端子が接続される
被端子指定フリップフロップを抽出、配置したが、逆
に、外部DATA端子を基準にして、これに関連付けら
れた外部CLK端子が接続される被端子指定フリップフ
ロップを抽出、配置してもよい。
In the above-described example, the terminal-designated flip-flop to which the external DATA terminal associated with the external CLK terminal is connected and extracted is extracted and arranged. A terminal-designated flip-flop connected to the external CLK terminal associated therewith may be extracted and arranged.

【0070】例えば、外部クロック端子および外部デー
タ端子がそれぞれ複数個存在するとき、これら複数個の
うちの第1の外部データ端子DATA1を初めに基準に
して垂直二等分線上フリップフロップ配置処理S67を
実行後、次に外部DATA端子座標ファイルF4から第
2の外部DATA端子DATA2を読み出し、この第2
の外部DATA端子を基準にしてこの外部DATA端子
に関連付けられた外部CLK端子が接続される被端子指
定フリップフロップの抽出および配置処理を外部DAT
A端子座標抽出格納処理S61から垂直二等分線上フリ
ップフロップ配置処理S67までの順序に従い繰り返し
実行することでもよい。
For example, when there are a plurality of external clock terminals and a plurality of external data terminals, respectively, the flip-flop arranging process S67 on the vertical bisector based on the first external data terminal DATA1 of the plurality is first performed. After execution, the second external DATA terminal DATA2 is read from the external DATA terminal coordinate file F4, and the second
Extraction and placement processing of a terminal-designated flip-flop to which an external CLK terminal associated with this external DATA terminal is connected with reference to the external DATA terminal
The processing may be repeatedly executed in the order from the A terminal coordinate extraction storage processing S61 to the flip-flop arrangement processing S67 on the vertical bisector.

【0071】さらに、外部CLK端子および外部DAT
A端子を交互に基準にして、それぞれに関連付けられた
外部CLK端子が接続される被端子指定フリップフロッ
プを抽出、配置してもよい。
Further, an external CLK terminal and an external DAT
The terminal-designated flip-flops to which the associated external CLK terminals are connected may be extracted and arranged alternately with the A terminal as a reference.

【0072】例えば、外部CLK端子および外部DAT
A端子がそれぞれ複数個存在するとき、初めにこれら複
数個のうちの第1の外部クロック端子CLK1を基準に
して第1の外部DATA端子DATA1を関連づけて垂
直二等分線上フリップフロップ配置処理までを実行後、
次に外部DATA端子座標ファイルF4から第2の外部
DATA端子DATA2を読み出し、この第2の外部デ
ータ端子を基準にしてこの外部DATA端子に関連付け
られた外部CLK端子が接続される被端子指定フリップ
フロップの抽出および配置処理を外部DATA端子座標
抽出格納処理S61から垂直二等分線上フリップフロッ
プ配置処理S67までの順序に従い、外部DATA端子
および外部CLK端子を交互に基準にして繰り返し実行
することでもよい。
For example, an external CLK terminal and an external DAT
When there are a plurality of A terminals, respectively, first, the first external DATA terminal DATA1 is associated with the first external clock terminal CLK1 of the plurality of terminals and the flip-flop arrangement processing on the vertical bisector is performed. After execution,
Next, a second external DATA terminal DATA2 is read from the external DATA terminal coordinate file F4, and a terminal-designated flip-flop to which an external CLK terminal associated with the external DATA terminal is connected with reference to the second external data terminal May be repeatedly executed based on the external DATA terminal and the external CLK terminal alternately in accordance with the order from the external DATA terminal coordinate extraction and storage processing S61 to the vertical bisector flip-flop arrangement processing S67.

【0073】どちらの処理方法を選ぶかはこの配置処理
を適用する自動レイアウト設計装置の処理プログラムで
ソフト的にあらかじめ設定する。
Which processing method is to be selected is set in advance by software using a processing program of an automatic layout design apparatus to which this arrangement processing is applied.

【0074】なお、ファイル2,ファイル3,ファイル
4,ファイル5,ファイル6,ファイル7,ファイル
8,ファイル9に係わる情報は、それぞれキーワード
(インスタンス名、セル名)を基に、回路接続情報ある
いは配置配線情報(DEF:Design Excha
nge Format)から抽出できるものである。
The information relating to File 2, File 3, File 4, File 5, File 6, File 7, File 8, and File 9 is based on keyword (instance name, cell name) based on circuit connection information or Placement and wiring information (DEF: Design Excha)
nFormat).

【0075】再び図1を参照すると、上述したフリップ
フロップ自動配置処理S6を実行した後、自動配置処理
S7を実行する。この自動配置処理S7では、マクロセ
ルとしての外部DATA端子がフリップフロップのDA
TA入力端子に接続されないその他フリップフロップお
よびフリップフロップ以外の機能セルを自動配置する。
Referring again to FIG. 1, after performing the above-described flip-flop automatic placement processing S6, the automatic placement processing S7 is performed. In the automatic arrangement processing S7, the external DATA terminal as a macro cell is connected to the flip-flop DA.
Other flip-flops not connected to the TA input terminal and functional cells other than flip-flops are automatically arranged.

【0076】自動配置にあたっては、従来と同様に、セ
ル間を結ぶ配線の混雑度を考慮して配置すると共に、パ
ラメータにより与えられた混雑度を超える箇所はセルを
再配置する。また、セル間結ぶ配線長が短くなるように
配置する。
In the automatic arrangement, as in the conventional case, the cells are arranged in consideration of the degree of congestion of the wiring connecting the cells, and the cells are rearranged at locations exceeding the congestion degree given by the parameters. Also, the wiring is arranged so that the wiring length connecting the cells becomes short.

【0077】上述した処理S7までを実行することによ
り、全てのセルが配置されるので、その後、自動配線処
理S8を実行する。
By executing the above-described processing up to S7, all the cells are arranged. Thereafter, the automatic wiring processing S8 is executed.

【0078】自動配置処理S7.および自動配線処理S
8は一般的に行われている自動レイアウト設計装置の処
理であり、ここでの詳細は省略する。
Automatic placement processing S7. And automatic wiring processing S
Reference numeral 8 denotes a generally performed process of the automatic layout design apparatus, and details thereof will be omitted.

【0079】以下、図1の本発明によるマクロセルのレ
イアウト設計フローおよび、図2に示した本発明のフリ
ップフロップ自動配置処理S6の詳細フロー、更に図3
に示した本発明を適用して得られるレイアウト図を用い
て本発明の実施形態の動作を説明する。
Hereinafter, the flow of the macro cell layout design according to the present invention shown in FIG. 1 and the detailed flow of the flip-flop automatic arrangement processing S6 of the present invention shown in FIG. 2, and FIG.
The operation of the embodiment of the present invention will be described with reference to the layout diagram obtained by applying the present invention shown in FIG.

【0080】まず、上述した各処理に基づき配置配線さ
れたマクロセルの概略図を示した図3を参照すると、こ
の図3は図1に示した処理S6から処理S8を実行した
時の被端子指定フリップフロップとマクロセルの外部D
ATA端子および外部CLK端子との位置関係を明らか
にしたものである。
First, referring to FIG. 3, which shows a schematic diagram of a macro cell arranged and wired based on each of the above-mentioned processes, FIG. 3 shows a terminal designation when the processes S6 to S8 shown in FIG. 1 are executed. External D of flip-flop and macrocell
It clarifies the positional relationship between the ATA terminal and the external CLK terminal.

【0081】ここでは一例として、外部CLK端子およ
び外部DATA端子を交互に基準にして、それぞれに関
連付けられた外部CLK端子が接続される被端子指定フ
リップフロップを抽出、配置している。
Here, as an example, a terminal-designated flip-flop to which an external CLK terminal associated with each external CLK terminal and an external DATA terminal are connected is extracted and arranged alternately with reference to an external CLK terminal and an external DATA terminal.

【0082】また、この図3の中でも、マクロセルの外
部CLK端子および外部DATA端子に関連付けられた
被端子指定フリップフロップを示す矩形図の中に1,
2,3の数字が記されている。また、外部CLK端子お
よび外部DATA端子に関連付けられていないその他フ
リップフロップにはa,bが、その他の機能セルには
p,q,rの記号が付されている。さらに、前述した仮
想の直線を実線で示し、仮想の垂直二等分線を点線で示
している。
Also, in FIG. 3, in the rectangular diagram showing the terminal-designated flip-flop associated with the external CLK terminal and the external DATA terminal of the macro cell,
A few numbers are indicated. Other flip-flops not associated with the external CLK terminal and the external DATA terminal are denoted by a and b, and the other functional cells are denoted by p, q, and r. Further, the above-mentioned virtual straight line is shown by a solid line, and the virtual vertical bisector is shown by a dotted line.

【0083】図3(a)において、外部DATA端子座
標ファイルF4よりDATA1、外部CLK端子座標フ
ァイルF5よりCLK1を抽出し2点間の直線とこの直
線の中点を水平方向に垂直に交差する仮想の垂直二等分
線が算出されていることを模式的に示している。
In FIG. 3A, DATA1 is extracted from the external DATA terminal coordinate file F4 and CLK1 is extracted from the external CLK terminal coordinate file F5, and a straight line between the two points and a middle point of the straight line intersect vertically in the horizontal direction. 3 schematically shows that the perpendicular bisector of the above is calculated.

【0084】FF情報ファイルF2から、フリップフロ
ップのDATA入力端子のネット名およびフリップフロ
ップのCLK入力端子のネット名がDATA1とCLK
1で関連付けられた被端子指定フリップフロップ1が抽
出されたので、この被端子指定フリップフロップ1を垂
直二等分線上に配置する。
From the FF information file F2, the net names of the DATA input terminal of the flip-flop and the CLK input terminal of the flip-flop are DATA1 and CLK.
Since the terminal-designated flip-flop 1 associated with 1 is extracted, the terminal-designated flip-flop 1 is arranged on a vertical bisector.

【0085】同様に、図3(b)を参照すると、処理S
61から処理A63まで処理したとき外部DATA端子
座標ファイルF4からDATA2、外部CLK端子座標
ファイルF5からCLK2をそれぞれ抽出し、この外部
DATA端子DATA2および外部CLK端子CLK2
の2点間の仮想の垂直二等分線を算出する。
Similarly, referring to FIG. 3B, the processing S
When processing from step 61 to processing A63, DATA2 is extracted from the external DATA terminal coordinate file F4, and CLK2 is extracted from the external CLK terminal coordinate file F5, and the external DATA terminal DATA2 and external CLK terminal CLK2 are extracted.
A virtual vertical bisector between the two points is calculated.

【0086】次に、FF情報ファイルF2より、フリッ
プフロップのDATA入力端子のネット名およびフリッ
プフロップのCLK入力端子のネット名がDATA2と
CLK2であるフリップフロップを検索するが、そのよ
うなフリップフロップが存在しなかったので、算出した
この仮想の垂直二等分線上にフリップフロップは配置し
ない。
Next, the FF information file F2 is searched for flip-flops whose net names of DATA input terminals of flip-flops and CLK input terminals of flip-flops are DATA2 and CLK2. Since there is no flip-flop, no flip-flop is arranged on the calculated virtual vertical bisector.

【0087】次に、図3(c)を参照すると、外部DA
TA端子座標ファイルF4よりDATA3、外部CLK
端子座標ファイルF5よりCLK1を抽出し、この外部
DATA端子DATA3および外部CLK端子CLK1
の2点間の仮想の垂直二等分線を算出する。
Next, referring to FIG. 3C, the external DA
DATA3, external CLK from TA terminal coordinate file F4
CLK1 is extracted from the terminal coordinate file F5, and the external DATA terminal DATA3 and the external CLK terminal CLK1 are extracted.
A virtual vertical bisector between the two points is calculated.

【0088】次ぎにFF情報ファイルF2から、フリッ
プフロップのDATA入力端子のネット名およびフリッ
プフロップのCLK入力端子のネット名がDATA3と
CLK1である被端子指定フリップフロップ3を仮想の
垂直二等分線上に配置する。
Next, from the FF information file F2, the terminal-designated flip-flop 3 whose net names of the DATA input terminal of the flip-flop and the CLK input terminals of the flip-flop are DATA3 and CLK1 are placed on a virtual vertical bisector. To place.

【0089】次に、図3(d)を参照すると、被端子指
定フリップフロップ1、3を配置後、マクロセルとして
の外部DATA端子がフリップフロップのDATA入力
端子に接続されていないその他フリップフロップおよび
その他の機能セルを配置し、自動配線により外部CLK
端子から被端子指定フリップフロップ1、3へそれぞれ
個別の配線を行った時に本発明の効果が明らかになる。
Next, referring to FIG. 3D, after the terminal-designated flip-flops 1 and 3 are arranged, the external DATA terminal as a macrocell is not connected to the DATA input terminal of the flip-flop. Function cells are placed, and external CLK
The effects of the present invention become apparent when individual wiring is performed from the terminals to the terminal-designated flip-flops 1 and 3, respectively.

【0090】図3(d)から判るように、マクロセルと
しての外部DATA端子がフリップフロップのDATA
入力端子に接続されている被端子指定フリップフロップ
1、被端子指定フリップフロップ3のそれぞれにおい
て、外部CLK端子CLK1から被端子指定フリップフ
ロップのCLK入力端子までの配線長と、外部DATA
端子からフリップフロップ被端子指定のDATA入力端
子までの配線長がほぼ等しく、したがって、外部CLK
端子から被端子指定フリップフロップのCLK入力端子
までの遅延時間と外部DATA端子から被端子指定フリ
ップフロップのDATA入力端子までの遅延時間もほぼ
等しいため、図8(c)に示すように、使用するフリッ
プフロップのセル本来のセットアップ時間およびホール
ド時間をマクロセルのスペックとして使用することがで
きる。
As can be seen from FIG. 3D, the external DATA terminal as the macro cell is connected to the flip-flop DATA.
In each of the terminal-designated flip-flops 1 and 3 connected to the input terminal, the wiring length from the external CLK terminal CLK1 to the CLK input terminal of the terminal-designated flip-flop and the external DATA
The wiring length from the terminal to the DATA input terminal designated by the flip-flop terminal is almost equal, therefore, the external CLK
Since the delay time from the terminal to the CLK input terminal of the specified flip-flop is almost equal to the delay time from the external DATA terminal to the DATA input terminal of the specified flip-flop, the delay time is used as shown in FIG. The original setup time and hold time of the flip-flop cell can be used as the specifications of the macro cell.

【0091】そのため、外部CLK端子からフリップフ
ロップまでの配線経路および外部DATA端子からフリ
ップフロップまでの配線経路に遅延調整用のセルを配置
する必要がなくなり、マクロセルの配置領域の縮小およ
び遅延調整用のセルが不要になる分の消費電力が削減で
きるという効果が得られる。
Therefore, it is not necessary to arrange delay adjustment cells in the wiring path from the external CLK terminal to the flip-flop and in the wiring path from the external DATA terminal to the flip-flop. The effect that power consumption can be reduced as much as the cell becomes unnecessary is obtained.

【0092】次に、本発明の第2の実施形態の配置方法
のフローを示した図4と、本発明によるマクロセルの自
動配置配線フローおよびそのレイアウト図を示した図5
とを併せて参照しながら第2の実施形態を説明する。
Next, FIG. 4 shows a flow of the placement method according to the second embodiment of the present invention, and FIG. 5 shows a flow of automatic placement and wiring of macro cells and a layout diagram thereof according to the present invention.
The second embodiment will be described with reference to FIG.

【0093】図4を参照すると、前述した第1の実施形
態における図1との相違点は、回路接続情報ファイルF
1から外部端子位置情報を読み出す外部端子位置設定処
理S3の後に、セルの一部を強制配置する強制配置処理
S9がさらに付加されたことである。
Referring to FIG. 4, the difference from FIG. 1 in the first embodiment is that the circuit connection information file F
That is, after the external terminal position setting processing S3 for reading the external terminal position information from No. 1, a forced arrangement processing S9 for forcibly arranging a part of the cell is further added.

【0094】以下に、本実施形態によるフリップフロッ
プの配置方法を説明する。この実施形態では、処理S1
からS5までは第1の実施形態と同様に処理される。す
なわち、当該マクロセルで使用するフリップフロップを
回路接続情報ファイルF1から抽出するとともに、FF
情報ファイルF2へ格納する(処理S1)。
The method for arranging flip-flops according to the present embodiment will be described below. In this embodiment, the processing S1
Steps S5 to S5 are performed in the same manner as in the first embodiment. That is, the flip-flop used in the macro cell is extracted from the circuit connection information file F1, and the flip-flop is used.
The information is stored in the information file F2 (process S1).

【0095】このFF情報ファイルF2には使用する全
てのフリップフロップのインスタンス名およびフリップ
フロップのDATA入力端子のネット名およびフリップ
フロップのCLK入力端子のネット名が格納されてい
る。
The FF information file F2 stores the instance names of all the flip-flops used, the net names of the DATA input terminals of the flip-flops, and the net names of the CLK input terminals of the flip-flops.

【0096】続いて、回路接続情報ファイルF1からの
情報を基にマクロセルを自動レイアウトする時のセルの
配置領域を設定した(処理S2)後、この領域にマクロ
セルの外部端子をアサインし(処理S3)、このマクロ
セルの全ての外部端子情報としてマクロセルの端子名と
その座標を外部端子情報ファイルF3に格納する。
Subsequently, a cell arrangement area for automatically laying out a macro cell is set based on information from the circuit connection information file F1 (step S2), and external terminals of the macro cell are assigned to this area (step S3). ), The terminal name of the macro cell and its coordinates are stored in the external terminal information file F3 as all the external terminal information of the macro cell.

【0097】続いて、外部端子情報ファイルF3に格納
されているマクロセルの端子名の中からFF情報ファイ
ルF2に格納されているフリップフロップのうちDAT
A入力端子のネット名と一致する端子だけを抽出し、外
部DATA端子座標ファイルF4に格納する。
Subsequently, among the flip-flops stored in the FF information file F2, DATs are selected from the macro cell terminal names stored in the external terminal information file F3.
Only the terminal that matches the net name of the A input terminal is extracted and stored in the external DATA terminal coordinate file F4.

【0098】同様に、外部端子情報ファイルF3に格納
されているマクロセルの端子名の中からFF情報ファイ
ルF2に格納されているフリップフロップのうちCLK
入力端子のネット名と一致する端子だけを抽出し、外部
CLK端子座標ファイルF5に格納する。
Similarly, from among the terminal names of the macro cells stored in the external terminal information file F3, CLK among the flip-flops stored in the FF information file F2 are selected.
Only the terminal that matches the net name of the input terminal is extracted and stored in the external CLK terminal coordinate file F5.

【0099】更に、前述したマクロセルの外部端子をア
サインする処理S3の後、本実施形態の特徴である、セ
ルの一部を強制配置する処理S9を実行する。
Further, after the above-described processing S3 for assigning the external terminals of the macro cell, a processing S9 for forcibly disposing a part of the cell, which is a feature of the present embodiment, is executed.

【0100】この、セルの一部を強制配置するというこ
とは、被端子指定フリップフロップ以外のセルのうちク
リティカルパスの対象となるセルは予め望ましい位置に
配置することが必要なことから付加されたものである。
The forced placement of a part of the cells is added because it is necessary that the cells other than the terminal-designated flip-flop, which are to be subjected to the critical path, must be placed at a desired position in advance. Things.

【0101】次に、自動配置処理S6において外部DA
TA端子座標ファイルF4内の1つの座標と外部CLK
端子座標ファイルF5内の1つの座標間の仮想の垂直二
等分線を自動レイアウト設計装置で算出する。
Next, in the automatic arrangement processing S6, the external DA
One coordinate in the TA terminal coordinate file F4 and the external CLK
A virtual vertical bisector between one coordinates in the terminal coordinate file F5 is calculated by the automatic layout design device.

【0102】続いて、FF情報ファイルF2から垂直二
等分線の算出に使用したDATA端子名とCLK端子名
が一致する被端子指定フリップフロップを仮想の垂直二
等分線上に配置する。
Subsequently, from the FF information file F2, a terminal-designated flip-flop whose DATA terminal name and CLK terminal name used for calculating the vertical bisector are arranged on a virtual vertical bisector.

【0103】このとき、先に処理S9で強制配置された
セルの一部が垂直二等分線上に既に配置されているとき
は、そのセルを避けて、かつ垂直二等分線上に配置す
る。
At this time, if some of the cells that have been forcibly arranged in step S9 are already arranged on the vertical bisector, the cells are avoided and arranged on the vertical bisector.

【0104】フリップフロップ自動配置処理S6の後、
自動配置処理S7において、マクロセルとしての外部端
子がフリップフロップのDATA入力端子に接続されて
いないその他フリップフロップおよびフリップフロップ
以外の機能セルを配置する。
After the flip-flop automatic arrangement processing S6,
In the automatic placement processing S7, other flip-flops whose external terminals are not connected to the DATA input terminals of the flip-flops and functional cells other than the flip-flops are placed.

【0105】全てのセルが配置された後、自動配線処理
S8を実行する。
After all the cells are arranged, the automatic wiring processing S8 is executed.

【0106】上述した第2の実施形態の処理に基づき配
置配線されたマクロセルの概略図を示した図5を参照す
ると、この図5は図4に示した処理S6から処理S8と
新たに付加された処理9を実行した時の被端子指定フリ
ップフロップとマクロセルの外部DATA端子および外
部CLK端子との位置関係を明らかにしたものである。
Referring to FIG. 5, which shows a schematic diagram of the macro cells arranged and wired based on the processing of the above-described second embodiment, FIG. 5 is newly added with processing S6 to processing S8 shown in FIG. 9 clarifies the positional relationship between the terminal-designated flip-flop and the external DATA terminal and external CLK terminal of the macro cell when the processing 9 is executed.

【0107】ここでは一例として、外部CLK端子を基
準にして、外部DATA端子DATA1,DATA2,
DATA3にそれぞれに関連付けられた被端子指定フリ
ップフロップを抽出、配置している。
Here, as an example, external DATA terminals DATA1, DATA2,
The terminal-designated flip-flops respectively associated with DATA3 are extracted and arranged.

【0108】また、この図5の中でも、先の付加された
処理9で強制配置されたセルをX1,X2,X3で示
し、マクロセルの外部CLK端子および外部DATA端
子に関連付けられた被端子指定フリップフロップを示す
矩形図の中に1,2,3の数字が記されている。また、
外部CLK端子および外部DATA端子に関連付けられ
ていないその他フリップフロップにはa,bが、フリッ
プフロップ以外の機能セルにはp,q,rの記号が付さ
れている。さらに、仮想の直線を実線で示し、仮想の垂
直二等分線を点線で示している。
In FIG. 5, the cells forcibly arranged in the added process 9 are indicated by X1, X2, and X3, and a terminal-designated flip-flop associated with the external CLK terminal and the external DATA terminal of the macro cell. Numbers 1, 2, and 3 are described in the rectangular diagram showing the loops. Also,
Other flip-flops not associated with the external CLK terminal and the external DATA terminal are denoted by a and b, and functional cells other than the flip-flops are denoted by p, q, and r. Further, a virtual straight line is shown by a solid line, and a virtual vertical bisector is shown by a dotted line.

【0109】図5(a)において、外部DATA端子座
標ファイルF4よりDATA1、外部CLK端子座標フ
ァイルF5よりCLKを抽出し2点間の仮想の直線とこ
の直線の中点を水平方向に垂直に交差する仮想の垂直二
等分線が算出されていることを模式的に示している。
In FIG. 5A, DATA1 is extracted from the external DATA terminal coordinate file F4 and CLK is extracted from the external CLK terminal coordinate file F5, and a virtual straight line between the two points and a middle point of the straight line intersect vertically in the horizontal direction. This schematically shows that a virtual vertical bisector is calculated.

【0110】先ず、処理9によって強制配置されたセル
X1,X2,X3が既に配置されている。この状態で、
FF情報ファイルF2から、フリップフロップのDAT
A入力端子のネット名およびフリップフロップのCLK
入力端子のネット名がDATA1とCLKで関連付けら
れた被端子指定フリップフロップ1が抽出されたので、
この被端子指定フリップフロップ1を強制配置セルX
1、X2、X3を除いた箇所の、垂直二等分線上の例え
ば中心部より下側に配置する。
First, the cells X1, X2, and X3 that have been forcibly arranged by the process 9 have already been arranged. In this state,
From the FF information file F2, the DAT of the flip-flop
A input terminal net name and flip-flop CLK
Since the terminal-designated flip-flop 1 whose input terminal net name is associated with DATA1 and CLK is extracted,
This terminal-designated flip-flop 1 is forcibly placed in cell X
It is arranged below, for example, the center on the vertical bisector of the location excluding 1, X2, and X3.

【0111】同様に、図5(b)を参照すると、処理S
61から処理S63まで処理したとき外部DATA端子
座標ファイルF4よりDATA2、外部CLK端子座標
ファイルF5よりCLKを抽出し、この外部DATA端
子DATA2および外部CLK端子CLKの2点間の垂
直二等分線を算出する。
Similarly, referring to FIG. 5B, the processing S
When processing from step S61 to step S63, DATA2 is extracted from the external DATA terminal coordinate file F4 and CLK is extracted from the external CLK terminal coordinate file F5, and a vertical bisector between the two points of the external DATA terminal DATA2 and the external CLK terminal CLK is extracted. calculate.

【0112】次に、FF情報ファイルF2より、フリッ
プフロップのDATA入力端子のネット名およびフリッ
プフロップのCLK入力端子のネット名がDATA2と
CLKであるフリップフロップを検索する。被端子指定
フリップフロップ2が存在し、抽出されたので、算出し
たこの仮想の垂直二等分線上の、強制配置セルX1、X
2、X3を除いた箇所である、例えば左上の位置に被端
子指定フリップフロップ2を配置する。
Next, the FF information file F2 is searched for a flip-flop in which the net name of the DATA input terminal of the flip-flop and the net name of the CLK input terminal of the flip-flop are DATA2 and CLK. Since the terminal-designated flip-flop 2 exists and has been extracted, the forcibly arranged cells X1 and X2 on the calculated virtual vertical bisector are calculated.
2, the terminal-designated flip-flop 2 is arranged at a position other than X3, for example, at the upper left position.

【0113】次に、図5(c)を参照すると、外部DA
TA端子座標ファイルF4よりDATA3、外部CLK
端子座標ファイルF5よりCLKを抽出し、この外部D
ATA端子DATA3および外部CLK端子CLKの2
点間の仮想の垂直二等分線を算出する。
Next, referring to FIG. 5C, the external DA
DATA3, external CLK from TA terminal coordinate file F4
CLK is extracted from the terminal coordinate file F5.
ATA terminal DATA3 and external CLK terminal CLK2
Compute a virtual vertical bisector between points.

【0114】次ぎにFF情報ファイルF2から、フリッ
プフロップのDATA入力端子のネット名およびフリッ
プフロップのCLK入力端子のネット名がDATA3と
CLKである被端子指定フリップフロップ3を、強制配
置されたセルX1,X3を避けて垂直二等分線上の中心
よりやや左下にに配置する。
Next, from the FF information file F2, the terminal-designated flip-flop 3, whose net names of the DATA input terminals of the flip-flops and the CLK input terminals of the flip-flops are DATA3 and CLK, are forcibly placed in the cell X1 , X3 and a little lower left than the center on the vertical bisector.

【0115】次に、図5(d)を参照すると、被端子指
定フリップフロップ1、2,3を配置後、処理S7によ
り、マクロセルとしての外部端子がフリップフロップの
DATA入力端子に接続されていないその他フリップフ
ロップa,bおよびフリップフロップ以外の機能セル
p,q,rをそれぞれ配置し、処理S8の自動配線によ
り外部CLK端子CLKから被端子指定フリップフロッ
プ1、2,3へそれぞれ個別の配線を行った時にこの第
2の実施形態の効果が明らかになる。
Next, referring to FIG. 5D, after the terminal-designated flip-flops 1, 2, and 3, the external terminal as a macro cell is not connected to the DATA input terminal of the flip-flop in step S7. In addition, the flip-flops a and b and the functional cells p, q, and r other than the flip-flops are respectively arranged, and individual wirings are respectively connected from the external CLK terminal CLK to the terminal-designated flip-flops 1, 2, and 3 by automatic wiring in step S8. The effect of the second embodiment becomes apparent when the operation is performed.

【0116】図5(d)から判るように、強制配置セル
がある場合にも、強制配置セルの領域を除いたマクロセ
ルとしての外部端子がフリップフロップのDATA入力
端子に接続されている被端子指定フリップフロップ1、
2.3において、外部CLK端子CLKから被端子指定
フリップフロップ1,2,3のCLK入力端子までの配
線長と、外部DATA端子から被端子指定フリップフロ
ップ1,2,3のDATA入力端子までのそれぞれの対
応する配線長がほぼ等しく、したがって、外部CLK端
子から被端子指定フリップフロップのCLK入力端子ま
での遅延時間と外部DATA端子から被端子指定フリッ
プフロップのDATA入力端子までの遅延時間もほぼ等
しいため、図8(c)に示すように、使用するフリップ
フロップのセル本来のセットアップ時間およびホールド
時間をマクロセルのスペックとして使用することができ
る。
As can be seen from FIG. 5 (d), even when there is a forced placement cell, the external terminal as a macro cell excluding the forced placement cell region is connected to the DATA input terminal of the flip-flop. Flip-flop 1,
In 2.3, the wiring length from the external CLK terminal CLK to the CLK input terminals of the terminal-designated flip-flops 1, 2, and 3, and the wiring length from the external DATA terminal to the DATA input terminals of the terminal-designated flip-flops 1, 2, and 3 The corresponding wiring lengths are substantially equal, and therefore, the delay time from the external CLK terminal to the CLK input terminal of the terminal-designated flip-flop is almost equal to the delay time from the external DATA terminal to the DATA input terminal of the designated flip-flop. Therefore, as shown in FIG. 8C, the original setup time and hold time of the flip-flop to be used can be used as the specifications of the macro cell.

【0117】そのため、第1の実施形態同様に、外部C
LK端子からフリップフロップまでの配線経路および外
部DATA端子からのフリップフロップまで配線経路に
遅延調整用のセルを配置する必要がなくなり、マクロセ
ルの配置領域の縮小および遅延調整用のセルが不要にな
る分の消費電力が削減できるという効果が得られる。
Therefore, similarly to the first embodiment, the external C
There is no need to arrange cells for delay adjustment in the wiring path from the LK terminal to the flip-flop and in the wiring path from the external DATA terminal to the flip-flop. This reduces the area for arranging macro cells and eliminates the need for cells for delay adjustment. Thus, the effect of reducing power consumption can be obtained.

【0118】[0118]

【発明の効果】以上説明したように本発明のマクロセル
内部のフリップフロップ自動配置方法は、半導体集積回
路のスタンダードセル方式におけるフリップフロップを
含む各種セルを配置配線するための自動配置配線処理を
有する自動レイアウト設計装置を対象とし、自動配置配
線処理に適用されるマクロセル内部のフリップフロップ
自動配置方法であって、マクロセルの一辺に割り付けら
れた1つの外部クロック端子と他の辺に割り付けられた
複数の外部データ端子のうち、外部クロック端子および
任意の1つの外部データ端子を1組の単位として、この
1組の端子間を自動レイアウト設計装置の計算処理で結
ぶ仮想の直線の中点を通り水平方向に垂直に交差する仮
想の垂直二等分線上の任意の位置に、予め1組の端子に
関係付けられた1つの被端子指定フリップフロップを配
置するとともに、この被端子指定フリップフロップを配
置する処理を予め定める所定の数の被端子指定フリップ
フロップに対して配置が終わるまで繰り返し、外部クロ
ック端子およびクロック入力端子間の配線長と外部デー
タ端子およびデータ入力端子間の配線長とを略等長にす
るためのフリップフロップ自動配置処理を有するので、
マクロセルとしての端子がフリップフロップのDATA
入力端子に接続されている例えば被端子指定フリップフ
ロップ1、被端子指定フリップフロップ2、被端子指定
フリップフロップ3に関して、マクロセルの外部CLK
端子からの距離と、外部DATA端子からの距離がほぼ
等しく、外部CLK端子からフリップフロップまでの遅
延時間と外部DATA端子からフリップフロップまでの
遅延時間はほぼ等しいため、図8(c)に示すように、
使用しているフリップフロップセル本来のセットアップ
時間、ホールド時間をマクロセルのスペックとして使用
することができる。
As described above, the method for automatically arranging flip-flops inside a macro cell according to the present invention is an automatic flip-flop having an automatic arrangement and wiring process for arranging and wiring various cells including flip-flops in a standard cell system of a semiconductor integrated circuit. An automatic placement method for flip-flops inside a macro cell, which is applied to an automatic placement and routing process for a layout design device, wherein one external clock terminal assigned to one side of the macro cell and a plurality of external clock terminals assigned to another side are provided. Of the data terminals, the external clock terminal and any one of the external data terminals are taken as one set of units, and the horizontal direction passes through the middle point of a virtual straight line connecting the set of terminals by the calculation processing of the automatic layout design device. At any position on an imaginary perpendicular bisector that intersects vertically, one of the terminals previously associated with a set of terminals And the process of arranging the terminal-designated flip-flop is repeated until the arrangement is completed for a predetermined number of terminal-designated flip-flops, and between the external clock terminal and the clock input terminal. Since the flip-flop automatic arrangement processing for making the wiring length of the external data terminal and the wiring length between the data input terminal substantially equal to each other,
The terminal as the macro cell is the DATA of the flip-flop.
Regarding, for example, the terminal-designated flip-flop 1, the terminal-designated flip-flop 2, and the terminal-designated flip-flop 3 connected to the input terminals, the external CLK of the macro cell
Since the distance from the terminal is almost equal to the distance from the external DATA terminal, and the delay time from the external CLK terminal to the flip-flop is almost equal to the delay time from the external DATA terminal to the flip-flop, as shown in FIG. To
The original setup time and hold time of the used flip-flop cell can be used as the specifications of the macro cell.

【0119】また、外部端子位置設定処理の後に、被端
子指定フリップフロップ以外のセルの一部を強制的に配
置するセル強制配置処理をさらに有し、垂直二等分線上
フリップフロップ配置処理は、セル強制配置処理結果に
基づき強制配置された被端子指定フリップフロップ以外
のセルの一部が垂直二等分線上に既に配置されていると
きは、そのセルを避けて、かつ垂直二等分線上に、直線
および垂直二等分線の算出に使用した被端子指定フリッ
プフロップを配置するので、強制配置セルがある場合に
も、強制配置セルの領域を除いた仮想の垂直二等分線上
にフリップフロップを配置することができる。
Further, after the external terminal position setting processing, there is further provided a cell forced arrangement processing for forcibly arranging a part of the cells other than the terminal-designated flip-flop. If some of the cells other than the pin-designated flip-flops that have been forcibly placed based on the result of the cell forcible placement have already been placed on the vertical bisector, avoid that cell and place it on the vertical bisector. Because the specified flip-flops used for calculating the straight line and the vertical bisector are placed, even if there are forced placement cells, the flip-flops are placed on the virtual vertical bisector excluding the area of the forced placement cells. Can be arranged.

【0120】そのため、外部CLK端子から被端子指定
フリップフロップまで配線経路および外部DATA端子
から被端子指定フリップフロップまでの配線経路に遅延
調整用のセルを配置する必要がなくなり、マクロセルの
配置領域の縮小、および消費電力の削減という効果が得
られる。
Therefore, it is not necessary to arrange delay adjustment cells in the wiring path from the external CLK terminal to the terminal-designated flip-flop and in the wiring path from the external DATA terminal to the terminal-designated flip-flop, and to reduce the macro cell arrangement area. And power consumption can be reduced.

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

【図1】本発明の第1の実施の形態を示すマクロセル内
部のフリップフロップ自動配置方法のフローチャートで
ある。
FIG. 1 is a flowchart of a method for automatically arranging flip-flops in a macro cell according to a first embodiment of the present invention.

【図2】フリップフロップ自動配置処理S6のフローチ
ャートである。
FIG. 2 is a flowchart of a flip-flop automatic arrangement process S6.

【図3】第1の実施形態における処理に基づき配置配線
されたマクロセルの概略図である。
FIG. 3 is a schematic diagram of a macro cell arranged and wired based on processing in the first embodiment.

【図4】本発明の第2の実施形態のマクロセル内部のフ
リップフロップ自動配置方法のフローチャートである。
FIG. 4 is a flowchart of a method for automatically arranging flip-flops inside a macro cell according to a second embodiment of the present invention.

【図5】第2の実施形態の処理に基づき配置配線された
マクロセルのレイアウト概略図である。
FIG. 5 is a schematic layout diagram of macro cells arranged and wired based on the processing of the second embodiment.

【図6】従来のマクロセルのレイアウト設計フローチャ
−トである。
FIG. 6 is a flowchart of a conventional macro cell layout design.

【図7】従来のマクロセルのレイアウト設計フローによ
るレイアウト概略図である。
FIG. 7 is a schematic view showing a layout of a conventional macro cell layout design flow.

【図8】DATAの遅延時間がフリップフロップのSe
tup時間およびHold時間に及ぼすタイミング変化
の状態を示したタイミングチャートである。
FIG. 8 shows a delay time of DATA of a flip-flop Se.
9 is a timing chart showing a state of a timing change that affects the up time and the Hold time.

【図9】他の従来例のレイアウト設計のフローチャート
である。
FIG. 9 is a flowchart of another conventional layout design.

【図10】従来の設計フローチャートに基づくレイアウ
ト概略図である。
FIG. 10 is a schematic layout diagram based on a conventional design flowchart.

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

S1 フリップフロップ抽出処理 S2 配置領域設定処理 S3 外部端子位置設定処理 S4 外部DATA端子座標抽出処理 S5 外部CLK端子座標抽出処理 S6 フリップフロップ自動配置処理 S7 その他セルの自動配置処理 S8 自動配線処理 S9 強制配置処理 S61 外部DATA端子座標を1つ抽出する処理 S62 外部CLK端子座標を1つ抽出する処理 S63 2点間の垂直二等分線算出処理 S64 外部端子接続フリップフロップ抽出処理 S65 該当フリップフロップの存在判断処理 S66 フリップフロップを配置しない処理 S67 垂直二等分線上フリップフロップ配置処理 F1 回路接続情報ファイル F2 FF情報ファイル F3 外部端子情報ファイル F4 外部DATA端子座標ファイル F5 外部CLK端子座標ファイル F6 1つの外部DATA端子座標ファイル F7 1つの外部CLK端子座標ファイル F8 垂直二等分線ファイル F9 フリップフロップ配置情報ファイル CLK,CLK1,CLK2 マクロセルの外部CL
K端子 DATA1,DATA2,DATA3 マクロセルの
外部DATA端子
S1 flip-flop extraction processing S2 arrangement area setting processing S3 external terminal position setting processing S4 external DATA terminal coordinate extraction processing S5 external CLK terminal coordinate extraction processing S6 flip-flop automatic arrangement processing S7 other cell automatic arrangement processing S8 automatic wiring processing S9 forced arrangement Processing S61 Processing for extracting one external DATA terminal coordinate S62 Processing for extracting one external CLK terminal coordinate S63 Vertical bisector calculation processing between two points S64 External terminal connection flip-flop extraction processing S65 Judgment of existence of the corresponding flip-flop Processing S66 Processing without arranging flip-flops S67 Processing for arranging flip-flops on the vertical bisector F1 Circuit connection information file F2 FF information file F3 External terminal information file F4 External DATA terminal coordinate file F5 External CLK terminal coordinate file F6 1 one external DATA terminal coordinate file F7 1 one external CLK terminal coordinate file F8 perpendicular bisector file F9 flip flop arrangement information file CLK, CLK1, CLK2 macrocell external CL
K terminal DATA1, DATA2, DATA3 External DATA terminal of macro cell

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B046 AA08 BA05 5F064 BB19 DD02 DD25 EE02 EE08 EE15 EE54 HH06 HH10 HH11 HH12  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B046 AA08 BA05 5F064 BB19 DD02 DD25 EE02 EE08 EE15 EE54 HH06 HH10 HH11 HH12

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 半導体集積回路のスタンダードセル方式
におけるフリップフロップを含む各種セルを配置配線す
るための自動配置配線処理を有する自動レイアウト設計
装置を対象とし、前記自動配置配線処理に適用されるマ
クロセル内部のフリップフロップ自動配置方法におい
て、前記マクロセルの一辺に割り付けられた1つの外部
クロック端子と他の辺に割り付けられた複数の外部デー
タ端子のうち、前記外部クロック端子および任意の1つ
の前記外部データ端子を1組の単位として、この1組の
端子間を前記自動レイアウト設計装置の計算処理で結ぶ
仮想の直線の中点を通り水平方向に垂直に交差する仮想
の垂直二等分線上の任意の位置に、予め前記1組の端子
に関係付けられた1つの被端子指定フリップフロップを
配置するとともに、この被端子指定フリップフロップを
配置する処理を予め定める所定の数の前記被端子指定フ
リップフロップに対して配置が終わるまで繰り返し、前
記外部クロック端子および前記クロック入力端子間の配
線長と前記外部データ端子および前記データ入力端子間
の配線長とを略等長にするためのフリップフロップ自動
配置処理を有することを特徴とするマクロセル内部のフ
リップフロップの自動配置方法。
An automatic layout design apparatus having an automatic placement and routing process for arranging and routing various cells including flip-flops in a standard cell system of a semiconductor integrated circuit. In the automatic flip-flop arrangement method, the external clock terminal and any one of the external data terminals among one external clock terminal allocated to one side of the macro cell and a plurality of external data terminals allocated to the other side are Is a set of units, an arbitrary position on a virtual vertical bisector that passes through the midpoint of a virtual straight line connecting the set of terminals in the calculation processing of the automatic layout design apparatus and intersects vertically in the horizontal direction. And a terminal-designated flip-flop previously associated with the set of terminals, The process of arranging the terminal-designated flip-flops is repeated until the arrangement is completed for a predetermined number of the terminal-designated flip-flops, and the wiring length between the external clock terminal and the clock input terminal and the external data terminal And a flip-flop automatic placement method for making the wiring length between the data input terminals substantially equal to each other.
【請求項2】 前記被端子指定フリップフロップ以外の
その他フリップフロップおよび他の機能セルを配置する
処理工程前に、前記フリップフロップ自動配置処理を優
先処理する請求項1記載のマクロセル内部のフリップフ
ロップ自動配置方法。
2. The automatic flip-flop inside the macro cell according to claim 1, wherein prioritizing the automatic flip-flop placement processing before a processing step of arranging other flip-flops and other functional cells other than the terminal-designated flip-flop. Placement method.
【請求項3】 前記フリップフロップ自動配置処理は、
前記自動レイアウト設計装置の記憶手段に予め格納され
た前記マクロセル内の全てのセル名の他にインスタンス
名が書かれている回路接続情報ファイルを参照して、前
記各種セルのうち全てのフリップフロップの情報を抽出
し、フリップフロップ情報ファイルへ格納するフリップ
フロップ抽出格納処理と、前記回路接続情報ファイルか
ら読み出した回路接続情報を基に前記マクロセルを自動
レイアウトする時の全ての前記各種セルの配置領域を設
定する配置領域設定処理と、前記マクロセルの任意の辺
に全ての外部端子の位置をアサインするとともに、アサ
インされた前記外部端子の位置情報を外部端子情報ファ
イルへ格納する外部端子位置設定処理と、前記外部端子
情報ファイルに格納されている前記マクロセルの端子名
の中から前記フリップフロップ情報ファイルに格納され
ている前記被端子指定フリップフロップの前記データ入
力端子のネット名と一致する端子だけの座標情報を抽出
して、外部データ端子座標ファイルに格納する外部デー
タ端子座標抽出処理と、前記外部端子情報ファイルに格
納されている前記マクロセルの端子名の中から前記フリ
ップフロップ情報ファイルに格納されている前記被端子
指定フリップフロップのクロック入力端子のネット名と
一致する端子だけを抽出して、外部クロック端子座標フ
ァイルに格納する外部クロック端子座標抽出処理と、前
記被端子指定フリップフロップについて前記外部クロッ
ク端子座標と前記外部データ入力端子座標とから前記自
動レイアウト設計装置の計算処理で求めた仮想の前記垂
直二等分線上に前記被端子指定フリップフロップを配置
するフリップフロップの自動配置位置決定処理と、から
なる処理工程を有する請求項1記載のマクロセル内部の
フリップフロップ自動配置方法。
3. The automatic flip-flop placement processing includes:
By referring to a circuit connection information file in which an instance name is written in addition to all the cell names in the macro cell stored in advance in the storage means of the automatic layout design device, all the flip-flops of the various cells are referred to. A flip-flop extraction and storage process for extracting information and storing the information in a flip-flop information file, and arranging all the various cell arrangement areas when automatically laying out the macro cells based on the circuit connection information read from the circuit connection information file. An arrangement area setting process to be set, and an external terminal position setting process of assigning the positions of all the external terminals to arbitrary sides of the macro cell and storing the assigned external terminal position information in an external terminal information file, From the terminal names of the macro cell stored in the external terminal information file, External data terminal coordinate extraction processing for extracting coordinate information of only the terminal that matches the net name of the data input terminal of the terminal-designated flip-flop stored in the flip-flop information file and storing the coordinate information in the external data terminal coordinate file; Extracting, from the terminal names of the macro cell stored in the external terminal information file, only those terminals that match the net names of the clock input terminals of the terminal-designated flip-flops stored in the flip-flop information file. External clock terminal coordinate extraction processing to be stored in an external clock terminal coordinate file, and the automatic layout design apparatus calculated from the external clock terminal coordinates and the external data input terminal coordinates for the terminal-designated flip-flop. The terminal-designated flip is placed on the virtual vertical bisector. An automatic position determination process of the flip-flop placing flop, flip-flop automatic placement method within the macrocell according to claim 1, further comprising a processing step consisting of.
【請求項4】 前記フリップフロップ抽出処理は、前記
回路接続情報ファイルから前記被端子指定フリップフロ
ップのセル名をキーワードにして、前記被端子指定フリ
ップフロップのセル名とインスタンス名と前記フリップ
フロップのデータ入力端子およびクロック入力端子のネ
ット名とをそれぞれ抽出する請求項3記載のマクロセル
内部のフリップフロップ自動配置方法。
4. The flip-flop extracting process includes, using the cell name of the terminal-designated flip-flop from the circuit connection information file as a keyword, the cell name and instance name of the terminal-designated flip-flop, and the data of the flip-flop. 4. The method according to claim 3, wherein the input terminal and the net name of the clock input terminal are extracted.
【請求項5】 前記外部端子の位置情報は、前記マクロ
セルの端子名とその配置位置の座標とを前記外部端子情
報ファイルから抽出した情報とする請求項3記載のマク
ロセル内部のフリップフロップ自動配置方法。
5. The method for automatically arranging flip-flops inside a macro cell according to claim 3, wherein the position information of the external terminal is information obtained by extracting a terminal name of the macro cell and coordinates of its arrangement position from the external terminal information file. .
【請求項6】 前記フリップフロップ自動配置処理は、
前記外部データ端子座標の内の1つの外部データ端子の
座標を抽出して、外部データ端子座標ファイルに格納す
る外部データ端子座標抽出格納処理と、前記外部クロッ
ク端子座標ファイルに格納された外部クロック端子座標
の内の前記1つの外部クロック端子の座標を抽出して、
外部クロック端子座標ファイルに格納する外部クロック
端子座標抽出格納処理と、前記外部データ端子座標ファ
イルに格納された前記外部データ端子と前記外部クロッ
ク端子座標ファイルに格納された前記外部クロック端子
との2点間を結ぶ仮想の前記直線を前記自動レイアウト
設計装置の計算処理で算出する2点間の直線を算出し、
算出した前記直線の中点を通り水平方向に垂直に交差す
る線分を前記自動レイアウト設計装置の計算処理で求め
た仮想の前記垂直二等分線のデータを垂直二等分線ファ
イルに格納する垂直二等分線算出処理と、前記直線およ
び前記垂直二等分線の算出に使用した前記外部データ端
子名と前記外部クロック端子名を使用している前記被端
子指定フリップフロップを前記フリップフロップ情報フ
ァイルから抽出する外部端子接続フリップフロップ抽出
処理と、前記被端子指定フリップフロップが前記フリッ
プフロップ情報ファイルに存在し抽出出来た場合は前記
垂直二等分線上の任意の位置に配置した後に、その配置
情報をフリップフロップ配置情報ファイルに格納すると
ともに再び前記外部データ端子座標抽出格納処理および
前記外部クロック端子座標抽出格納処理へそれぞれ戻る
垂直二等分線上フリップフロップ配置処理と、前記被端
子指定フリップフロップが前記フリップフロップ情報フ
ァイルに存在せず抽出出来ない場合は前記垂直二等分線
上には何も配置しないで、再び前記外部データ端子座標
抽出格納処理および前記外部クロック端子座標抽出格納
処理へ戻るフリップフロップ非配置処理と、を有し、こ
れらの処理を順次繰り返えすことにより、前記被端子指
定フリップフロップの抽出、配置処理を行う請求項3記
載のマクロセル内部のフリップフロップ自動配置方法。
6. The automatic flip-flop placement processing includes:
An external data terminal coordinate extraction and storage process for extracting coordinates of one of the external data terminal coordinates from the external data terminal coordinates and storing the same in an external data terminal coordinate file; and an external clock terminal stored in the external clock terminal coordinate file. Extracting the coordinates of the one external clock terminal from the coordinates,
External clock terminal coordinate extraction and storage processing to be stored in the external clock terminal coordinate file; and two points: the external data terminal stored in the external data terminal coordinate file and the external clock terminal stored in the external clock terminal coordinate file. Calculating a straight line between two points, which calculates the virtual straight line connecting the two in the calculation processing of the automatic layout design device,
The data of the virtual vertical bisector obtained by the calculation process of the automatic layout design device is stored in a vertical bisector file, the line segment passing through the calculated midpoint of the straight line and intersecting vertically in the horizontal direction. A vertical bisector calculation process, and the terminal-designated flip-flop using the external data terminal name and the external clock terminal name used for the calculation of the straight line and the vertical bisector, External terminal connection flip-flop extraction processing to extract from a file, and, if the terminal-designated flip-flop exists in the flip-flop information file and can be extracted, arrange it at an arbitrary position on the vertical bisector, and then arrange it Information is stored in the flip-flop arrangement information file, and the external data terminal coordinate extraction and storage process and the external clock are stored again. Returning to the child coordinate extraction storage processing, the flip-flop arrangement processing on the vertical bisector is performed. If the terminal-designated flip-flop does not exist in the flip-flop information file and cannot be extracted, nothing is displayed on the vertical bisector. A flip-flop non-arrangement process that returns to the external data terminal coordinate extraction and storage process and the external clock terminal coordinate extraction and storage process again without disposing the terminal device. 4. The method for automatically arranging flip-flops in a macro cell according to claim 3, wherein the flip-flops are extracted and arranged.
【請求項7】 前記垂直二等分線上フリップフロップ配
置処理において前記垂直二等分線の算出に使用した前記
被端子指定フリップフロップを前記垂直二等分線上の任
意の位置に配置するとき、配置する前記被端子指定フリ
ップフロップのセルサイズの一部が、前記垂直二等分線
と接触または貫通するように配置する請求項6記載のマ
クロセル内部のフリップフロップ自動配置方法。
7. When the terminal-designated flip-flop used for calculating the vertical bisector in the vertical bisector flip-flop arrangement processing is arranged at an arbitrary position on the vertical bisector, 7. The automatic flip-flop arranging method according to claim 6, wherein a part of the cell size of the terminal-designated flip-flop is arranged so as to be in contact with or penetrate the vertical bisector.
【請求項8】 前記外部クロック端子および前記外部デ
ータ端子がそれぞれ複数個存在するとき、これら複数個
のうちの第1の外部クロック端子に対して前記垂直二等
分線上フリップフロップ配置処理までを実行後、前記外
部クロック端子座標ファイルから第2の外部クロック端
子を読み出し、この第2の外部クロック端子を基準にし
てこの外部クロック端子に関連付けられた外部データ端
子が接続される前記被端子指定フリップフロップの抽出
および配置処理を前記外部データ端子座標抽出格納処理
から垂直二等分線上フリップフロップ配置処理までの順
序に従い繰り返し実行する請求項6記載のマクロセル内
部のフリップフロップ自動配置方法。
8. When there are a plurality of the external clock terminals and the plurality of external data terminals, respectively, up to the flip-flop arrangement processing on the vertical bisector for the first external clock terminal of the plurality of external clock terminals and the external data terminals Then, a second external clock terminal is read from the external clock terminal coordinate file, and the external clock terminal is connected to an external data terminal associated with the external clock terminal with reference to the second external clock terminal. 7. A method for automatically arranging flip-flops inside a macro cell according to claim 6, wherein the extraction and arrangement processing of the flip-flops in the macro cell are repeatedly executed in the order from the external data terminal coordinate extraction and storage processing to the flip-flop arrangement processing on the vertical bisector.
【請求項9】 前記外部クロック端子および前記外部デ
ータ端子がそれぞれ複数個存在するとき、これら複数個
のうちの第1の外部データ端子を初めに基準にして前記
垂直二等分線上フリップフロップ配置処理を実行後、次
に前記外部データ端子座標ファイルから第2の外部デー
タ端子を読み出し、この第2の外部データ端子を基準に
してこの外部データ端子に関連付けられた前記外部クロ
ック端子が接続される前記被端子指定フリップフロップ
の抽出および配置処理を前記外部データ端子座標抽出格
納処理から前記垂直二等分線上フリップフロップ配置処
理までの順序に従い繰り返し実行する請求項6記載のマ
クロセル内部のフリップフロップ自動配置方法。
9. When there are a plurality of said external clock terminals and said plurality of external data terminals, respectively, the flip-flop arrangement processing on the vertical bisector based on a first external data terminal among these plurality of terminals first. Then, a second external data terminal is read from the external data terminal coordinate file, and the external clock terminal associated with the external data terminal is connected with reference to the second external data terminal. 7. The automatic flip-flop arranging method according to claim 6, wherein the extraction and arrangement processing of the terminal-designated flip-flop is repeatedly executed in the order from the external data terminal coordinate extraction and storage processing to the flip-flop arrangement processing on the vertical bisector. .
【請求項10】 前記外部クロック端子および前記外部
データ端子がそれぞれ複数個存在するとき、初めにこれ
ら複数個のうちの第1の外部クロック端子を基準にして
第1の外部データ端子を関連づけて前記垂直二等分線上
フリップフロップ配置処理までを実行後、次に前記外部
データ端子座標ファイルから第2の外部データ端子を読
み出し、この第2の外部データ端子を基準にしてこの外
部データ端子に関連付けられた前記外部クロック端子が
接続される前記被端子指定フリップフロップの抽出およ
び配置処理を前記外部データ端子座標抽出格納処理から
前記垂直二等分線上フリップフロップ配置処理までの順
序に従い、前記外部データ端子および前記外部クロック
端子を交互に前記基準にして繰り返し実行する請求項6
記載のマクロセル内部のフリップフロップ自動配置方
法。
10. When there are a plurality of said external clock terminals and said plurality of external data terminals, respectively, first, a first external data terminal is associated with a first external clock terminal of the plurality of external clock terminals. After executing the flip-flop arrangement processing on the vertical bisector, a second external data terminal is read from the external data terminal coordinate file, and the second external data terminal is associated with the external data terminal with reference to the second external data terminal. Extracting and arranging the terminal-designated flip-flop to which the external clock terminal is connected, according to the order from the external data terminal coordinate extraction and storage processing to the vertical bisector flip-flop arranging processing; 7. The method according to claim 6, wherein the external clock terminal is alternately and repeatedly executed based on the reference.
A method for automatically arranging flip-flops inside a macro cell as described above.
【請求項11】 前記外部端子位置設定処理の後に、前
記被端子指定フリップフロップ以外のセルの一部を強制
的に配置するセル強制配置処理をさらに有し、前記垂直
二等分線上フリップフロップ配置処理は、前記セル強制
配置処理結果に基づき強制配置された前記被端子指定フ
リップフロップ以外のセルの一部が前記垂直二等分線上
に既に配置されているときは、そのセルを避けて、かつ
前記垂直二等分線上に、前記直線および前記垂直二等分
線の算出に使用した前記被端子指定フリップフロップを
配置する請求項6記載のマクロセル内部のフリップフロ
ップ自動配置方法。
11. A cell forced placement process for forcibly placing a part of cells other than the terminal-designated flip-flop after the external terminal position setting process, wherein the flip-flop placement on the vertical bisector is further provided. When a part of the cells other than the terminal-designated flip-flop forcibly arranged based on the result of the cell forcible arrangement is already arranged on the vertical bisector, the cell is avoided, and 7. The automatic flip-flop arranging method according to claim 6, wherein the terminal-designated flip-flop used for calculating the straight line and the vertical bisector is arranged on the vertical bisector.
【請求項12】 前記被端子指定フリップフロップ以外
のセルのうちクリティカルパスの対象となるセルは、前
記強制配置により予め定める所定の位置に配置する請求
項11記載のマクロセル内部のフリップフロップ自動配
置方法。
12. A method according to claim 11, wherein a cell to be subjected to a critical path among cells other than the terminal-designated flip-flop is arranged at a predetermined position determined by the forced arrangement. .
JP11177835A 1999-06-24 1999-06-24 Method for automatically arranging flip-flop inside of macro cell Pending JP2001005853A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11177835A JP2001005853A (en) 1999-06-24 1999-06-24 Method for automatically arranging flip-flop inside of macro cell

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11177835A JP2001005853A (en) 1999-06-24 1999-06-24 Method for automatically arranging flip-flop inside of macro cell

Publications (1)

Publication Number Publication Date
JP2001005853A true JP2001005853A (en) 2001-01-12

Family

ID=16037957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11177835A Pending JP2001005853A (en) 1999-06-24 1999-06-24 Method for automatically arranging flip-flop inside of macro cell

Country Status (1)

Country Link
JP (1) JP2001005853A (en)

Similar Documents

Publication Publication Date Title
US9064077B2 (en) 3D floorplanning using 2D and 3D blocks
US7017132B2 (en) Methodology to optimize hierarchical clock skew by clock delay compensation
US20180261590A1 (en) Integrated circuit and computer-implemented method of manufacturing the same
JP2005502133A (en) Integrated circuit chip design
US6425115B1 (en) Area efficient delay circuits
TW535075B (en) Adaptable circuit blocks for use in multi-block chip design
CN114841104A (en) Time sequence optimization circuit and method, chip and electronic equipment
US6075934A (en) Method for optimizing contact pin placement in an integrated circuit
US20020152059A1 (en) Semiconductor process parameter determining method, semiconductor process parameter determining system, and semiconductor process parameter determining program
TW200416958A (en) Semiconductor integrated circuit, method of designing semiconductor integrated circuit, and device for designing the same
US6505335B1 (en) Automatic cell placement and routing method and semiconductor integrated circuit
US6931610B1 (en) Method for rapid estimation of wire delays and capacitances based on placement of cells
KR20170094744A (en) Integrated circuit and computer-implemented method for manufacturing the same
JP2001005853A (en) Method for automatically arranging flip-flop inside of macro cell
US20210264081A1 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
US20060043427A1 (en) Automatic-arrangement-wiring apparatus for and program for performing layout of integrated circuit
US20040003363A1 (en) Integrated circuit design and manufacture utilizing layers having a predetermined layout
TW201824045A (en) Method for partitioning group of power-ground cells
Sham et al. Congestion estimation with buffer planning in floorplan design
US6449760B1 (en) Pin placement method for integrated circuits
JP3389196B2 (en) Method of dividing functional block terminal, recording medium recording this method, and automatic wiring processing apparatus by this method
Chen et al. A legalization algorithm for multi-tier gate-level monolithic three-dimensional integrated circuits
JP2006338090A (en) Method and device for designing semiconductor integrated circuit
US7017134B2 (en) Automatic floor-planning method capable of shortening floor-plan processing time
CN116882357B (en) Layout processing method and device of chip buffer, terminal equipment and storage medium

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030520