JP2001298089A - Method of designing semiconductor integrated circuit - Google Patents

Method of designing semiconductor integrated circuit

Info

Publication number
JP2001298089A
JP2001298089A JP2000113559A JP2000113559A JP2001298089A JP 2001298089 A JP2001298089 A JP 2001298089A JP 2000113559 A JP2000113559 A JP 2000113559A JP 2000113559 A JP2000113559 A JP 2000113559A JP 2001298089 A JP2001298089 A JP 2001298089A
Authority
JP
Japan
Prior art keywords
block
arrangement
wiring
rectangular frame
center
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
JP2000113559A
Other languages
Japanese (ja)
Inventor
Kenya Fujino
健哉 藤野
Takafumi Nakashiba
孝文 中柴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000113559A priority Critical patent/JP2001298089A/en
Publication of JP2001298089A publication Critical patent/JP2001298089A/en
Pending legal-status Critical Current

Links

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem that, when positions of block pins are determined without considering wiring led around blocks in a design of a semiconductor integrated circuit, wiring between distant blocks, which detours the blocks, is formed and thus timing violation occurs due to this long-distance wiring. SOLUTION: The center of gravity of a connection block is obtained and surrounded by a rectangular frame (rectangle forming step 102). Whether an obstacle exists in the rectangular frame is confirmed (obstacle confirming step 103). If an obstacle exists, the center of gravity of the rectangular frame and that of the obstacle are compared (center of gravity comparing step 104). Based on the result, the rectangular frame is extended (rectangle extending step 105). The block side of a connection block that is brought into contact with the rectangular frame for the first time due to extension of the rectangular frame is determined as a block pin positioning side for all blocks (positioning side determining step 106).

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、設計データを複数
の階層ブロックに分割し、各ブロック毎に設計を行う大
規模LSI設計方法に関するもので、特にブロック間配
線に起因するタイミング問題を解決する半導体集積回路
の設計方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a large-scale LSI design method for dividing design data into a plurality of hierarchical blocks and performing design for each block. In particular, the present invention solves a timing problem caused by wiring between blocks. The present invention relates to a method for designing a semiconductor integrated circuit.

【0002】[0002]

【従来の技術】近年のプロセスの微細化に伴い、大規
模、高速な半導体集積回路の開発が盛んになってきた。
一方、微細化の影響により、セルの固有遅延よりも配線
に起因する遅延の方が支配的となってきたため、設計初
期段階からタイミングを考慮して設計を行うことが重要
となっている。
2. Description of the Related Art With the recent miniaturization of processes, the development of large-scale, high-speed semiconductor integrated circuits has become active.
On the other hand, due to the influence of miniaturization, the delay caused by the wiring has become dominant over the inherent delay of the cell. Therefore, it is important to perform the design in consideration of the timing from the initial design stage.

【0003】そのため、大規模データの半導体集積回路
の設計においては、ブロック毎に設計を行う階層設計が
行われている。階層分割を行ったブロック毎にレイアウ
トを行い、異なるブロックにあるセル間の配線処理は、
配線の中継を行うブロックピンをそれぞれのブロックで
設け、トップ階層でそれらのブロックピンを繋ぎ、配線
を完了させる方法が行われている。
For this reason, in the design of a large-scale data semiconductor integrated circuit, a hierarchical design in which a design is performed for each block is performed. The layout is performed for each block in which the hierarchical division has been performed, and the wiring process between cells in different blocks is performed as follows.
There is a method in which block pins for relaying wiring are provided in each block, and those block pins are connected in a top hierarchy to complete wiring.

【0004】しかし階層設計では、全てのブロックでレ
イアウト設計まで完了しないと、タイミングに大きく影
響を与えるブロック間配線の配線長が分からないという
問題が発生している。
However, in the hierarchical design, there is a problem that unless the layout design is completed for all the blocks, the wiring length of the wiring between blocks, which greatly affects the timing, cannot be known.

【0005】この問題を解決するため、設計初期段階に
おいてトップ階層のフロアプラン、ブロック間配線長の
見積りを行い、その配線長を考慮したブロック毎の設計
を行う方法が用いられている。
In order to solve this problem, a method of estimating the floor plan of the top hierarchy and estimating the wiring length between blocks in the initial stage of design, and designing each block in consideration of the wiring length has been used.

【0006】図35を用いて従来の半導体集積回路の設
計方法を説明する。
A conventional method of designing a semiconductor integrated circuit will be described with reference to FIG.

【0007】図35は半導体集積回路の設計方法のフロ
ーチャートの一例であり、STARTは処理の開始、3
501はフロアプラン工程、3502はタイミング制約
生成工程、3503は論理合成工程、3504はブロッ
クレイアウト工程、3505はブロック内タイミング検
証工程、3506はトップレイアウト工程、3507は
階層タイミング検証工程、3508は駆動能力最適化工
程、3509はセル入れ替え工程、ENDは処理の終了
を示している。
FIG. 35 is an example of a flowchart of a method of designing a semiconductor integrated circuit.
501 is a floor plan process, 3502 is a timing constraint generation process, 3503 is a logic synthesis process, 3504 is a block layout process, 3505 is a timing verification process in a block, 3506 is a top layout process, 3507 is a hierarchical timing verification process, and 3508 is a driving capability. The optimization step, 3509 indicates a cell replacement step, and END indicates the end of the processing.

【0008】半導体集積回路の設計方法の流れに沿って
各工程の説明を行う。
Each step will be described along the flow of the method of designing a semiconductor integrated circuit.

【0009】まず、フロアプラン工程3501を図36
を用いて説明する。図36はフロアプラン工程3501
のフローチャートの一例を示したもので、3601はブ
ロック配置工程、3602はブロックピン仮配置工程、
3603はブロックピン本配置工程、3604はブロッ
ク間仮想配線工程を示している。
First, a floor plan process 3501 is shown in FIG.
This will be described with reference to FIG. FIG. 36 shows a floor plan process 3501.
In the figure, 3601 is a block arrangement step, 3602 is a block pin temporary arrangement step,
Reference numeral 3603 denotes a block pin main placement step, and 3604 denotes a virtual wiring step between blocks.

【0010】ブロック配置工程3601で各機能ブロッ
クの接続数、信号の流れ等を考慮しブロック配置位置の
検討を行う。その際、未レイアウトのブロックに対して
も、ブロック面積の推定を行い、面積推定結果に基づい
てブロック形状、ブロック配置位置の検討を行う。全て
のブロックの形状、配置位置が決定された後、ブロック
ピン配置位置の検討に移る。
In a block arranging step 3601, a block arranging position is examined in consideration of the number of connections of each functional block, a signal flow, and the like. At this time, the block area is estimated for the unlaid-out block, and the block shape and the block arrangement position are examined based on the area estimation result. After the shapes and arrangement positions of all the blocks are determined, the process proceeds to the examination of the arrangement positions of the block pins.

【0011】一般的なブロックピン配置方法として、半
導体自動設計ツール(CADツール)の機能であるブロ
ックピン自動配置機能を用いて自動でピンを配置する方
法がある。ブロックピン自動配置機能を用いてブロック
ピン配置位置を決定する場合の一例を、ブロックピン仮
配置工程3602、ブロックピン本配置工程3603で
説明する。
As a general block pin arranging method, there is a method of automatically arranging pins by using an automatic block pin arranging function which is a function of a semiconductor automatic design tool (CAD tool). An example of a case where the block pin arrangement position is determined using the automatic block pin arrangement function will be described in a block pin temporary arrangement step 3602 and a block pin main arrangement step 3603.

【0012】ブロックピン仮配置工程3602では、接
続関係のあるそれぞれのブロックで、接続先のブロック
に最も近い位置に存在するブロック辺を検索し、ブロッ
クピンの仮配置辺とする。全ての接続関係で、ブロック
ピンの仮配置辺を決定した後、ブロックピン本配置工程
3603に移る。
In the block pin provisional placement step 3602, a block side located closest to the connection destination block is searched for in each block having a connection relation, and the block side is set as a provisional block pin placement side. After the provisional side of the block pins is determined for all connection relations, the process proceeds to the block pin main placement step 3603.

【0013】ブロックピン本配置工程3603では、そ
れぞれのブロックのブロック辺毎に割り付けられたブロ
ックピンを、あらかじめ定められたピン間隔のルールを
満たすように配置する。その際、次工程のブロック間仮
想配線工程3604で生成するブロック間仮想配線に配
線折れ曲がりが発生しないように、ブロックピンを水平
あるいは垂直な位置関係となるように考慮する。全ての
ブロックピンの配置位置が決定された後、ブロック間仮
想配線工程3604に移る。
In the block pin main arranging step 3603, the block pins allocated to each block side of each block are arranged so as to satisfy a predetermined rule of a pin interval. At this time, block pins are considered so as to have a horizontal or vertical positional relationship so that wiring is not bent in the virtual wiring between blocks generated in the virtual wiring between blocks 3604 in the next process. After the arrangement positions of all the block pins are determined, the process proceeds to the inter-block virtual wiring step 3604.

【0014】ブロック間仮想配線工程3604で、ブロ
ックピン間をブロック間仮想配線で接続する。その際、
ブロック間仮想配線の配線距離が最短になるように配線
を行う。
In an inter-block virtual wiring step 3604, block pins are connected by inter-block virtual wiring. that time,
Wiring is performed so that the wiring distance of the virtual wiring between blocks is minimized.

【0015】ここで、ブロックピン仮配置工程360
2、ブロックピン本配置工程3603、ブロック間仮想
配線工程3604をフロアプランの一例を示す図37を
用いて説明する。
Here, block pin provisional placement step 360
The block pin real placement step 3603 and the inter-block virtual wiring step 3604 will be described with reference to FIG. 37 showing an example of a floor plan.

【0016】図37はCADツールのブロックピン自動
配置機能を用いてブロックピン配置位置を決定した結果
を示す一例を示している。符号の3701はブロック配
置領域、3702はブロックA、3703はブロック
B、3704はブロックC、3705はブロックD、3
706はブロックE、3707は各ブロックピン、37
08は各ブロックピン間を繋ぐブロック間仮想配線を示
している。
FIG. 37 shows an example of a result of determining a block pin arrangement position by using a block pin automatic arrangement function of a CAD tool. Reference numeral 3701 denotes a block arrangement area, 3702 denotes a block A, 3703 denotes a block B, 3704 denotes a block C, 3705 denotes a block D, 3
706 is a block E, 3707 is each block pin, 37
Reference numeral 08 denotes a virtual wiring between blocks connecting the respective block pins.

【0017】ブロックA3702およびブロックD37
05のブロックピン3707,3707同士で接続関係
があるとし、それぞれのブロックピン3707,370
7の位置決定方法を説明する。
Block A3702 and Block D37
It is assumed that there is a connection relationship between the block pins 3707 and 3707 of FIG.
7 will be described.

【0018】まず、ブロックピン仮配置工程3602で
接続関係のあるそれぞれのブロックで、接続先のブロッ
クに最も近い位置に存在するブロック辺を検索し、ブロ
ックピンの配置辺とする。すなわち、ブロックA370
2のブロック辺で、接続先のブロックD3705に最も
近い位置に存在する右辺を検索し、ブロックピン370
7の配置辺とする。反対に、ブロックD3705のブロ
ック辺で、接続先のブロックA3702に最も近い場所
に位置する左辺を検索し、ブロックピン3707の配置
辺とする。全ての接続関係でブロックピン3707の配
置辺を決定した後、ブロックピン本配置工程3603に
移る。
First, in the block pin provisional placement step 3602, for each block having a connection relationship, a block side present at a position closest to the connection destination block is searched and set as a block pin placement side. That is, block A370
In the block side of block 2, the right side existing closest to the connection destination block D3705 is searched, and the block pin 370 is searched.
It is assumed that the arrangement side is 7. On the other hand, the left side located closest to the connection destination block A3702 is searched for in the block side of the block D3705, and is set as the arrangement side of the block pin 3707. After the arrangement side of the block pin 3707 is determined in all connection relations, the process proceeds to the block pin actual arrangement step 3603.

【0019】次に、ブロックピン本配置工程3603に
おいて、それぞれのブロックのブロック辺毎に決定され
たブロックピン3707を、あらかじめ定められたピン
間隔のルールを満たすように配置する。その際、ブロッ
クピン3707を水平あるいは垂直な位置関係となるよ
うに考慮する。全てのブロックピン配置位置を決定した
後、ブロック間仮想配線工程3604に移る。
Next, in the block pin main arranging step 3603, the block pins 3707 determined for each block side of each block are arranged so as to satisfy a predetermined rule of a pin interval. At this time, the block pins 3707 are considered so as to have a horizontal or vertical positional relationship. After all the block pin arrangement positions are determined, the process proceeds to the inter-block virtual wiring step 3604.

【0020】ブロック間仮想配線工程3604で、ブロ
ックピン3707,3707間をブロック間仮想配線3
708で繋ぐ。その際、ブロック間仮想配線3708が
最短となるように配線する。
In the inter-block virtual wiring step 3604, the virtual wiring 3 between the block pins 3707 and 3707 is connected.
Connect with 708. At this time, wiring is performed so that the inter-block virtual wiring 3708 becomes the shortest.

【0021】以上説明した方法で、CADツールのブロ
ックピン自動配置機能を用いてブロックピン配置位置を
決定することで、ブロックピン3707,3707間を
繋ぐブロック間仮想配線3708の配線距離が最短にな
るようにブロックピン3707の配置位置を決定するこ
とが一般的である。
By determining the block pin arrangement position by using the block pin automatic arrangement function of the CAD tool in the method described above, the wiring distance of the inter-block virtual wiring 3708 connecting the block pins 3707, 3707 is minimized. It is general to determine the arrangement position of the block pins 3707 as described above.

【0022】ブロック間仮想配線の生成後、タイミング
制約生成工程3502に移る。
After the generation of the virtual wiring between blocks, the process proceeds to a timing constraint generation step 3502.

【0023】タイミング制約生成工程3502では、フ
ロアプラン工程3501で見積ったブロック間仮想配線
を基に各機能ブロック毎のタイミング制約を生成する。
タイミング制約を生成した後、論理合成工程3503に
移る。
In the timing constraint generation step 3502, a timing constraint for each functional block is generated based on the virtual wiring between blocks estimated in the floor plan step 3501.
After generating the timing constraint, the process proceeds to a logic synthesis step 3503.

【0024】論理合成工程3503では、タイミング制
約生成工程3502で生成したタイミング制約を満たす
ように論理合成を行い、各ブロック内の接続関係情報を
生成し、ブロックレイアウト工程3504に移る。
In the logic synthesis step 3503, logic synthesis is performed so as to satisfy the timing constraint generated in the timing constraint generation step 3502, connection information in each block is generated, and the process proceeds to the block layout step 3504.

【0025】ブロックレイアウト工程3504では、論
理合成工程3503で生成した接続関係情報を基に各機
能ブロック毎にレイアウトを行う。
In the block layout step 3504, a layout is performed for each functional block based on the connection relation information generated in the logic synthesis step 3503.

【0026】その際、タイミング制約生成工程3502
で生成したタイミング制約を用いて、タイミングドリブ
ンレイアウトを行う。タイミングドリブンレイアウト
は、各パス毎あるいは各ネット毎にタイミング制約を付
加し、与えられたタイミング制約を考慮しながらセル配
置、セル間の配線を行う機能である。
At this time, a timing constraint generation step 3502
The timing-driven layout is performed using the timing constraint generated in step (1). The timing-driven layout is a function for adding a timing constraint to each path or each net, and performing cell arrangement and wiring between cells while considering the given timing constraint.

【0027】レイアウトデータを生成した後、ブロック
内タイミング検証工程3505に移る。ブロック内タイ
ミング検証工程3505では、ブロックレイアウト工程
3504で生成したレイアウトデータがタイミング制約
を満たしているか検証を行う。タイミング制約を全て満
たしていれば、ブロックレイアウト設計は終了である。
タイミング問題が発生していない場合、トップレイアウ
ト工程3506に移る。
After the layout data has been generated, the flow proceeds to an intra-block timing verification step 3505. In the intra-block timing verification step 3505, it is verified whether the layout data generated in the block layout step 3504 satisfies the timing constraint. If all the timing constraints are satisfied, the block layout design is completed.
If no timing problem has occurred, the process moves to the top layout step 3506.

【0028】トップレイアウト工程3506では、ブロ
ックレイアウト工程3504で生成した各機能ブロック
のレイアウトデータをトップ階層に組み上げ、トップ階
層の接続関係情報を基にブロック間の接続を行う。トッ
プレイアウト完了後、階層タイミング検証工程3507
に移る。
In the top layout step 3506, the layout data of each functional block generated in the block layout step 3504 is assembled into a top layer, and connections between blocks are made based on the connection relation information of the top layer. After the top layout is completed, the hierarchical timing verification step 3507
Move on to

【0029】階層タイミング検証工程3507では、各
機能ブロック内、ブロック間の総合的なタイミング検証
を行う。回路全体の所望する全てのタイミングを満たし
ていれば半導体集積回路の設計は終了である。
In the hierarchical timing verification step 3507, comprehensive timing verification within each functional block and between blocks is performed. If all the desired timings of the entire circuit are satisfied, the design of the semiconductor integrated circuit is completed.

【0030】しかし、ブロック内タイミング検証工程3
505および階層タイミング検証工程3507でタイミ
ング問題が発生した場合、タイミング制約を満たせなか
ったパスに着目し、部分的にセルを入れ替えてセルの駆
動能力を高めることでタイミング制約を満たせるか確認
を行う。
However, in-block timing verification step 3
When a timing problem occurs in the step 505 and the hierarchical timing verification step 3507, it is checked whether the timing constraint can be satisfied by paying attention to the path that failed to satisfy the timing constraint and partially changing the cells to enhance the driving capability of the cell.

【0031】確認の結果、部分的なセルの入れ替えでタ
イミング制約を満たすことができる場合、まず駆動能力
最適化工程3508でブロックレイアウト工程350
4、トップレイアウト工程3506で作成したレイアウ
トデータの実配線を基に、タイミング制約を満たせなか
ったパスに対し、同一論理でタイミング制約を満たすこ
とのできる駆動能力のセルを特定し、セルの変更情報を
生成する。
As a result of the confirmation, if the timing constraint can be satisfied by partial cell replacement, first, the driving capacity optimization step 3508 and the block layout step 350
4. Based on the actual wiring of the layout data created in the top layout process 3506, for a path that could not satisfy the timing constraint, a cell having the same logic and capable of satisfying the timing constraint is specified, and the cell change information is specified. Generate

【0032】次にセル入れ替え工程3509で、駆動能
力最適化工程3508で生成したセルの変更情報を基
に、レイアウトデータ内の該当セルの入れ替えを行い、
部分的なセルの再配置、セル間の再配線を行いタイミン
グ問題の改善を図る。
Next, in a cell exchange step 3509, the corresponding cells in the layout data are exchanged based on the cell change information generated in the drive capacity optimization step 3508,
Partial cell rearrangement and rewiring between cells are performed to improve timing problems.

【0033】確認の結果、部分的なセルの入れ替えでは
タイミング制約を満たすことができない場合は、フロア
プラン工程3501でのフロアプランの見直し、タイミ
ング制約生成工程3502でのタイミング制約の見直し
を行う。
As a result of the check, if the timing constraint cannot be satisfied by partial cell replacement, the floor plan is reviewed in the floor plan step 3501 and the timing constraint is reviewed in the timing constraint generation step 3502.

【0034】以上のような構成、設計の流れによって、
全てのタイミング問題を改善し、半導体集積回路の設計
を完了するというのが従来の設計方法の流れである。
With the above configuration and design flow,
It is the flow of the conventional design method to improve all the timing problems and complete the design of the semiconductor integrated circuit.

【0035】[0035]

【発明が解決しようとする課題】しかしながら、上述し
た従来の半導体集積回路の設計方法では、下記のような
課題がある。
However, the above-mentioned conventional method for designing a semiconductor integrated circuit has the following problems.

【0036】フロアプラン工程3501で、CADツー
ルのブロックピン自動配置機能を用いた場合の問題点を
図38を用いて説明する。
A problem in the case where the automatic block pin arrangement function of the CAD tool is used in the floor plan process 3501 will be described with reference to FIG.

【0037】図38はCADツールのブロックピン自動
配置機能の課題を示す一例であり、符号の3801はブ
ロック配置領域、3802〜3806はブロックA〜
E、3807は各ブロックピン、3808はブロックピ
ン3807,3807を繋ぐブロック間仮想配線、38
09はブロックC3804を迂回してブロックピン38
07,3807を繋ぐブロック間配線を示している。
FIG. 38 is an example showing the problem of the automatic block pin arrangement function of the CAD tool. Reference numeral 3801 denotes a block arrangement area, and reference numerals 3802 to 3806 denote blocks A to.
E, 3807 denotes each block pin, 3808 denotes a virtual wiring between blocks connecting the block pins 3807, 3807, 38
09 is a block pin 38 bypassing block C3804.
10 shows the inter-block wiring connecting the blocks 07 and 3807.

【0038】ブロックA3802およびブロックD38
05のブロックピン3807,3807同士で接続関係
があるとし、それぞれのブロックピン3807の位置決
定方法を説明する。
Block A3802 and Block D38
It is assumed that there is a connection relationship between the block pins 3807 and 3807 of FIG. 05, and a method of determining the position of each block pin 3807 will be described.

【0039】ブロックピン仮配置工程で説明したよう
に、接続関係のあるそれぞれのブロックで、接続先のブ
ロックに最も近い位置に存在するブロック辺を検索し、
ブロックピンの配置辺とすると、ブロックA3802の
右辺、ブロックD3805の左辺をブロックピン380
7,3807の配置辺と決定する。
As described in the block pin tentative placement step, in each block having a connection relation, a block side located closest to the connection destination block is searched for.
Assuming that the side of the block pin is located, the right side of the block A3802 and the left side of the block D3805 are the block pins 380.
7, 3807 are determined.

【0040】ブロックピン本配置工程で、それぞれのブ
ロックのブロック辺毎に決定されたブロックピン380
7,3807を、あらかじめ定められたピン間隔のルー
ルを満たすように配置する。
The block pins 380 determined for each block side of each block in the block pin real placement step
7, 3807 are arranged so as to satisfy a predetermined rule of a pin interval.

【0041】ブロック間仮想配線工程で、ブロックピン
3807,3807の配置位置を繋ぐブロック間仮想配
線3808を最短となるように生成する。
In the inter-block virtual wiring step, the inter-block virtual wiring 3808 connecting the arrangement positions of the block pins 3807 and 3807 is generated to be the shortest.

【0042】ブロック間仮想配線の生成結果を確認する
と、ブロックピン3807,3807を繋ぐブロック間
仮想配線3808は最短距離でブロックピン3807,
3807間を接続しているが、トップレイアウト工程で
ブロックC3804のブロック上配線を禁止している場
合には、ブロックC3804を迂回しての長距離なブロ
ック間配線3809が生成されてしまう。
When the result of generating the inter-block virtual wiring is confirmed, the inter-block virtual wiring 3808 connecting the block pins 3807 and 3807 has the shortest distance between the block pins 3807 and 3807.
Although the connection between 3807 is made, if the on-block wiring of the block C3804 is prohibited in the top layout process, a long distance interblock wiring 3809 bypassing the block C3804 is generated.

【0043】しかしながら、この長距離配線が原因で、
タイミング違反が発生する可能性が高くなる。仮に、タ
イミング違反が発生しないとしても、動作スピードおよ
び面積においてロスを含んだ半導体設計回路となる。
However, due to the long distance wiring,
The possibility of timing violations increases. Even if a timing violation does not occur, the semiconductor design circuit includes a loss in operation speed and area.

【0044】また、最短のブロック間仮想配線3808
と迂回のブロック間配線3809とでブロック間配線長
誤差も発生する。ブロック間仮想配線3808を基にタ
イミング制約を作成し、論理合成、レイアウト、タイミ
ング検証と工程を経ているが、それらのタイミング制約
がトップレイアウト工程で変化することになり、このブ
ロック間配線誤差が原因で、タイミング違反が発生する
可能性も高い。
Also, the shortest inter-block virtual wiring 3808
Also, the inter-block wiring length error occurs between the detour and the inter-block wiring 3809. Timing constraints are created based on the inter-block virtual wiring 3808, and are subjected to logic synthesis, layout, timing verification, and processes. These timing constraints change in the top layout process, and this wiring error between blocks is a cause. Therefore, there is a high possibility that a timing violation occurs.

【0045】また、タイミング違反が発生した場合に再
度フロアプラン工程でブロックピン配置位置の見直しを
行うと、各接続単位に配線経路とブロックピン配置位置
から人手で見直しを行うことが多く、再設計を行う工数
と、更にブロックピン配置位置の見直しを行う工数が必
要となり、多大な工数を要するという課題がある。
In addition, when the timing of the timing violation occurs, if the block pin arrangement position is reviewed again in the floor plan process, the review is often performed manually from the wiring route and the block pin arrangement position for each connection unit. And the number of steps for reviewing the arrangement position of the block pins are required, and a large number of steps are required.

【0046】本発明は、上記従来の問題点を解決するも
ので、ブロックを迂回するようなブロック間配線が発生
しない適切なブロックピン配置方法を提供することを目
的とする。
An object of the present invention is to solve the above-mentioned conventional problems, and an object of the present invention is to provide an appropriate block pin arrangement method which does not generate inter-block wiring that bypasses blocks.

【0047】[0047]

【課題を解決するための手段】上記した課題の解決を図
ろうとする半導体集積回路の設計方法についての本発明
は、次のような考え方に基づいて創作した。
SUMMARY OF THE INVENTION The present invention concerning a method of designing a semiconductor integrated circuit for solving the above-mentioned problems has been created based on the following concept.

【0048】通常の方式でブロックピン配置辺を定める
と、接続関係のあるブロックそれぞれの対向辺となる可
能性が高く、この場合に、矩形枠を横切る障害物がある
ときは、その障害物が前記の接続可能性領域に対する妨
害となる。障害物のブロックを迂回する長距離配線を避
けるためには、前記の対向辺ではない別のブロック辺を
ブロックピン配置辺とする必要がある。そのような対向
辺を避けたブロックピン配置辺を求めるのに、矩形枠を
拡張する。その拡張を合理的に行うことが望ましい。
If the block pin arrangement side is determined in the usual manner, there is a high possibility that the block pin arrangement side will be the opposite side of each block having a connection relationship. In this case, if there is an obstacle crossing the rectangular frame, the obstacle is This would be an obstacle to the connectivity area. In order to avoid long-distance wiring bypassing the block of the obstacle, it is necessary to set another block side other than the opposite side as the block pin arrangement side. The rectangular frame is extended to find a block pin arrangement side avoiding such an opposite side. It is desirable that the extension be performed rationally.

【0049】接続関係のあるブロックそれぞれの重心か
ら作成する矩形枠の重心は、接続関係のあるブロック同
士間の接続可能性領域を代表している。一方、矩形枠を
横切る障害物の重心は、前記の接続可能性領域に対する
障害物による妨害の影響の度合いを代表している。対向
辺を避けたブロックピン配置辺を検索するための矩形枠
の拡張を行うに当たっては、その拡張はなるべく小さい
方が好ましい。拡張が大きい場合に比べて小さい場合の
方が結果として配線長を短くできるからである。矩形枠
を拡張するのであるから、障害物の方を基準に考える。
障害物の重心に対して矩形枠の重心が存在する方向、換
言すれば、障害物の重心から矩形枠の重心に向かうベク
トル方向での障害物のブロック辺と矩形枠の重心との離
間距離は、前記ベクトル方向とは逆方向での障害物のブ
ロック辺と矩形枠の重心との離間距離よりも小さい。し
たがって、前記の障害物の重心から矩形枠の重心に向か
うベクトル方向に向けて矩形枠を拡張することとする。
The center of gravity of the rectangular frame created from the center of gravity of each of the blocks having a connection relationship represents a connectable area between the blocks having a connection relationship. On the other hand, the center of gravity of the obstacle crossing the rectangular frame represents the degree of the influence of the obstacle on the connectable area by the obstacle. In expanding a rectangular frame for searching for a block pin arrangement side avoiding the opposite side, the expansion is preferably as small as possible. This is because the wiring length can be shortened as a result when the extension is smaller than when the extension is large. Since the rectangular frame is expanded, the obstacle is considered based on the obstacle.
The distance between the block side of the obstacle and the center of gravity of the rectangular frame in the direction in which the center of gravity of the rectangular frame exists with respect to the center of gravity of the obstacle, in other words, in the vector direction from the center of gravity of the obstacle to the center of gravity of the rectangular frame, is Is smaller than the distance between the block side of the obstacle and the center of gravity of the rectangular frame in the direction opposite to the vector direction. Therefore, the rectangular frame is extended in the vector direction from the center of gravity of the obstacle to the center of gravity of the rectangular frame.

【0050】そこで、矩形生成工程によって接続のある
ブロックのブロック重心を求め、それらのブロック重心
を囲む形態の矩形枠を作成し、障害物確認工程によって
矩形枠を横切る障害物が存在するか確認し、障害物が存
在する場合には、重心比較工程によって障害物の重心と
矩形枠の重心との比較に基づいて前記の論理に従って矩
形枠の拡張方向を決定する。そして、矩形拡張工程によ
って接続関係のあるブロックの前記対向辺ではないブロ
ック辺と接するまで矩形枠を前記の拡張方向に拡張し、
配置辺決定工程によって矩形枠に接したブロック辺をブ
ロックピンの配置辺とする。
Therefore, the block centroids of the connected blocks are determined by the rectangle generation step, a rectangular frame surrounding the block centroids is created, and the obstacle confirmation step checks whether there is an obstacle crossing the rectangular frame. If there is an obstacle, the extension direction of the rectangular frame is determined in accordance with the above logic based on a comparison between the center of gravity of the obstacle and the centroid of the rectangular frame in the centroid comparison step. Then, the rectangular frame is expanded in the expansion direction until the rectangular frame is in contact with the block side that is not the opposite side of the block having the connection relationship by the rectangular expansion step,
The block side in contact with the rectangular frame in the arrangement side determination step is set as the arrangement side of the block pin.

【0051】すなわち、対向辺を避けたブロックピン配
置辺の決定を合理的に行っている。その結果として、ブ
ロックを回り込む長距離配線が発生するようなブロック
辺にブロックピンを配置せずにすみ、したがって、長距
離配線に起因するタイミング違反の発生を防止すること
ができる。また、ブロック間仮想配線とにおけるブロッ
ク間配線の配線誤差が原因となるタイミング違反の発生
を防止することができる。
That is, determination of the block pin arrangement side avoiding the opposite side is rationally performed. As a result, it is not necessary to dispose the block pins on the side of the block where long-distance wiring that goes around the block occurs, and therefore, it is possible to prevent occurrence of timing violation due to long-distance wiring. In addition, it is possible to prevent a timing violation from occurring due to a wiring error between the blocks and the virtual wiring between the blocks.

【0052】なお、上記において、「矩形枠」という表
現は狭い表現であり、広くは、「探索枠」と称してよき
ものである。探索枠というのは、複数のブロックの重心
を囲むなるべく小さい面積の枠のことであり、その形状
については特に問わないでよいものである。したがっ
て、上記の矩形枠は探索枠の特殊な形態と考えてよい。
本発明においては、必ずしも矩形枠にとらわれる必要性
はなくて、広く探索枠として解釈し得るものとする。探
索枠の形状としては、その代表例に矩形をあげることが
できるが、矩形以外に、三角形を含めてよい任意の形状
の多角形、そのような多角形に近似する閉曲線形状があ
る。
In the above description, the expression “rectangular frame” is a narrow expression, and is generally referred to as a “search frame”. The search frame is a frame having as small an area as possible, surrounding the center of gravity of a plurality of blocks, and its shape is not particularly limited. Therefore, the above rectangular frame may be considered as a special form of the search frame.
In the present invention, it is not always necessary to be limited to a rectangular frame, and it can be widely interpreted as a search frame. A typical example of the shape of the search frame is a rectangle. In addition to the rectangle, a polygon having an arbitrary shape that may include a triangle and a closed curve shape approximating such a polygon are available.

【0053】また、上記において、「重心」という表現
は狭い表現であり、広くは、「重心付近」として称して
よきものである。付近というのは、重心を中心とする比
較的小さな半径の円内の任意の点でよいということであ
る。その半径については、任意に定め得るものとする
が、先に説明した論理を支えるものであればよい。
Further, in the above description, the expression "center of gravity" is a narrow expression, and may be broadly referred to as "near the center of gravity". Nearby means any point within a circle of relatively small radius about the center of gravity. The radius can be arbitrarily determined, but any radius that supports the logic described above may be used.

【0054】また、上記において、「障害物」というの
は、一般に配線の障害となるブロックのことと考えてよ
いが、複数のブロックが1つの障害物となる場合も含め
る意図で、単に「障害ブロック」といった表現ではな
く、「障害物」と記述している。
In the above description, “obstacle” may be generally considered to be a block that becomes a hindrance to wiring, but is intended to include a case where a plurality of blocks become one obstacle. Instead of the expression "block", it describes "obstacle".

【0055】[0055]

【発明の実施の形態】以下、本発明の実施の形態を総括
的に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be generally described.

【0056】本願第1の発明の半導体集積回路の設計方
法は、チップ上に複数の機能ブロックを配置し、前記機
能ブロック間の接続を行うことで所望の機能を実現する
半導体集積回路の設計方法であって、接続のある複数の
ブロックのブロック重心を求めそれらのブロック重心を
囲む矩形枠を作成する矩形生成工程と、前記矩形枠を横
切る障害物が存在するか確認を行う障害物確認工程と、
前記障害物の重心と前記矩形枠の重心から前記矩形枠の
拡張方向を決定する重心比較工程と、接続関係のあるブ
ロックのブロック辺と接するまで前記矩形枠を前記拡張
方向に拡張する矩形拡張工程と、前記矩形枠に接したブ
ロック辺をブロックピンの配置辺とする配置辺決定工程
とを含むことを特徴としている。
The method of designing a semiconductor integrated circuit according to the first invention of the present application is a method of designing a semiconductor integrated circuit that realizes a desired function by arranging a plurality of functional blocks on a chip and connecting the functional blocks. A rectangle generation step of obtaining a block centroid of a plurality of connected blocks and creating a rectangular frame surrounding those block centroids, and an obstacle confirmation step of confirming whether there is an obstacle crossing the rectangular frame ,
A center-of-gravity comparing step of determining an extension direction of the rectangular frame from the center of gravity of the obstacle and the center of gravity of the rectangular frame; and a rectangle extension step of extending the rectangular frame in the extension direction until the rectangular frame contacts a block side of a block having a connection relationship. And an arrangement side determining step of setting a block side in contact with the rectangular frame as an arrangement side of a block pin.

【0057】この第1の発明による作用については、上
記の〔課題を解決するための手段〕の項で説明したのと
実質的に同様のものとなる。すなわち、ブロックピン配
置辺の決定を合理的に行うので、障害物のブロックを迂
回する長距離配線を回避した状態での最適な短距離配線
を実現し、タイミング違反の発生を防止することが可能
となる。
The operation according to the first aspect of the invention is substantially the same as that described in the section of "Means for Solving the Problems". That is, since the determination of the side where the block pins are arranged is rationally performed, it is possible to realize the optimal short distance wiring while avoiding the long distance wiring bypassing the block of the obstacle, and to prevent the occurrence of timing violation. Becomes

【0058】本願第2の発明の半導体集積回路の設計方
法は、上記の第1の発明において、さらに、前記配置辺
決定工程の後に、同一のブロックピン配置辺に配置が割
り付けられた前記ブロックピンを前記ブロックピン配置
辺内で均等間隔に配置する均等配置工程を含むことを特
徴としている。
According to a second aspect of the present invention, there is provided a semiconductor integrated circuit designing method according to the first aspect, further comprising, after the arrangement side determining step, the block pins assigned to the same block pin arrangement side. Are arranged at equal intervals within the block pin arrangement side.

【0059】この第2の発明によると、同一のブロック
ピン配置辺において隣接するブロックピンの間隔を均等
化するため、ブロックピンが限界を越えて集中的に配置
されてしまうことを回避することが可能となる。すなわ
ち、配線混雑を避けているため、配線混雑に起因する配
線処理不可能という事態に陥ってしまうことを回避する
ことが可能となる。したがって、ブロックピンの配置変
更による設計後戻りを防止することができ、半導体集積
回路の設計を効率良く進めることができる。また、混雑
している箇所を配線が通れないということに起因して
の、その箇所を回り込むことによる配線長の増加やチッ
プサイズの増大を防止することができる。なお、上記の
第1の発明によるところの、障害物ブロック迂回による
長距離配線を回避した状態での最適な短距離配線を実現
し、タイミング違反の発生を抑制するという作用が発揮
されることはいうまでもない。
According to the second aspect, the intervals between adjacent block pins on the same block pin arrangement side are equalized, so that it is possible to prevent block pins from being intensively arranged beyond the limit. It becomes possible. That is, since the wiring congestion is avoided, it is possible to avoid a situation in which the wiring cannot be processed due to the wiring congestion. Therefore, it is possible to prevent the design from returning due to the change in the arrangement of the block pins, and to efficiently design the semiconductor integrated circuit. Further, it is possible to prevent an increase in the wiring length and an increase in the chip size due to the fact that the wiring does not pass through the congested portion due to the route. It is to be noted that the effect of realizing the optimal short-distance wiring in a state where the long-distance wiring due to the detour of the obstacle block according to the first invention is avoided and suppressing the occurrence of timing violation is exhibited. Needless to say.

【0060】本願第3の発明の半導体集積回路の設計方
法は、上記の第1の発明において、さらに、前記配置辺
決定工程の後に、同一ブロックピン配置辺に割り付けら
れた前記ブロックピンの配置位置を指定する配置位置指
定工程と、前記配置位置指定工程で指定されたピン配置
位置に従ってブロックピンを配置する指定配置工程とを
含むことを特徴としている。
In a third aspect of the present invention, in the method of designing a semiconductor integrated circuit according to the first aspect of the present invention, further, after the placement side determining step, the arrangement positions of the block pins allocated to the same block pin placement side. And a designated arrangement step of arranging the block pins in accordance with the pin arrangement positions designated in the arrangement position designation step.

【0061】この第3の発明によると、ブロックピン配
置辺において任意の位置にブロックピンを配置すること
が可能であるため、バスネット等において配線長を均等
化した状態での配線が可能となり、配線長の差分や誤差
の発生を抑制した状態での所望の配線を実現することが
容易となる。なお、上記の第1の発明によるところの、
障害物ブロック迂回による長距離配線を回避した状態で
の最適な短距離配線を実現し、タイミング違反の発生を
抑制するという作用が発揮されることはいうまでもな
い。
According to the third aspect of the present invention, it is possible to arrange a block pin at an arbitrary position on a block pin arrangement side, so that wiring can be performed in a bus net or the like with a uniform wiring length. It is easy to realize a desired wiring in a state where the difference in wiring length and the occurrence of errors are suppressed. In addition, according to the first aspect,
Needless to say, an effect of realizing optimal short-distance wiring while avoiding long-distance wiring due to detour of an obstacle block and suppressing occurrence of timing violation is exhibited.

【0062】本願第4の発明の半導体集積回路の設計方
法は、上記の第1の発明において、さらに、タイミング
制約を読み込むタイミング制約リスト生成工程を含むと
ともに、前記配置辺決定工程の後に、前記タイミング制
約リスト生成工程で読み込んだタイミング制約の厳しい
ブロックピンを優先して前記配置辺決定工程で決定した
ブロックピン配置辺内で前記矩形枠重心により近い側か
ら順にそのタイミング制約のより厳しいブロックピンを
配置していくタイミング制約順配置工程を含むことを特
徴としている。
According to a fourth aspect of the present invention, there is provided a semiconductor integrated circuit designing method according to the first aspect, further comprising a timing constraint list generating step of reading a timing constraint, and further comprising the step of: With priority given to the block pins with strict timing constraints read in the constraint list generation step, block pins with more strict timing constraints are arranged in order from the side closer to the center of gravity of the rectangular frame within the block pin arrangement side determined in the arrangement side determination step. It is characterized by including a timing constraint order placement step.

【0063】なお、タイミング制約としては、ブロック
間配線毎に定められた配線長や配線容量などの配線制約
を代表例としてあげることが許される。
As the timing constraint, a wiring constraint such as a wiring length and a wiring capacitance determined for each inter-block wiring can be given as a typical example.

【0064】この第4の発明によると、タイミング制約
のより厳しいブロックピンを優先して、矩形枠重心によ
り近い側つまりは接続関係のある相手側のブロックによ
り近い側に配置するので、タイミング制約の厳しい順に
配線長が短くなるようにブロックピンの配置位置を決め
ることが可能となり、タイミング制約を大きく外れるよ
うなタイミング違反の発生を抑制するため、タイミング
違反に対する改善処理を軽減することが可能となる。な
お、上記の第1の発明によるところの、障害物ブロック
迂回による長距離配線を回避した状態での最適な短距離
配線を実現し、タイミング違反の発生を抑制するという
作用が発揮されることはいうまでもない。
According to the fourth aspect of the present invention, the block pin having a stricter timing constraint is prioritized and arranged on the side closer to the center of gravity of the rectangular frame, that is, on the side closer to the counterpart block having the connection relationship. The arrangement position of the block pins can be determined so that the wiring length is shortened in the strict order, and the occurrence of a timing violation that greatly deviates from the timing constraint is suppressed, so that it is possible to reduce the processing for improving the timing violation. . It is to be noted that the effect of realizing the optimal short-distance wiring in a state where the long-distance wiring due to the detour of the obstacle block according to the first invention is avoided and suppressing the occurrence of timing violation is exhibited. Needless to say.

【0065】本願第5の発明の半導体集積回路の設計方
法は、上記の第1の発明において、さらに、ブロック中
央にブロックピンを仮配置しブロック間仮配線長を算出
する仮配線長算出工程と、前記ブロック間配線長を基に
遅延計算を行ってタイミング制約を満たすか否かのタイ
ミング検証を行う仮想タイミング検証工程と、前記タイ
ミング検証の結果によるタイミング制約を満たすことの
厳しさの順序をつけた検証結果リストを生成する検証結
果リスト生成工程とを含むとともに、前記配置辺決定工
程の後に、前記検証結果リスト生成工程で生成した検証
結果リストが示すタイミング制約を満たすことの厳しさ
の順番においてより厳しいブロックピンを優先して前記
配置辺決定工程で決定したブロックピン配置辺内で前記
矩形枠重心により近い側から順にその順番のより厳しい
ブロックピンを配置していくタイミング順配置工程を含
むことを特徴としている。
In a fifth aspect of the present invention, in the method of designing a semiconductor integrated circuit according to the first aspect of the present invention, there is further provided a temporary wiring length calculating step of temporarily arranging a block pin at the center of a block and calculating a temporary wiring length between blocks. A virtual timing verification step of performing a delay calculation based on the inter-block wiring length to verify whether or not the timing constraint is satisfied, and assigning a strict order of satisfying the timing constraint based on the result of the timing verification. And a verification result list generating step of generating the verification result list, and after the placement side determining step, in a strict order of satisfying the timing constraint indicated by the verification result list generated in the verification result list generating step. By giving priority to the stricter block pins, the rectangular frame center of gravity is set within the block pin arrangement side determined in the arrangement side determination step. Is characterized in that it comprises a continue sequentially arranged stricter block pin that order from the stomach side timing order placement process.

【0066】この第5の発明によると、タイミング制約
を満たすことの厳しさの順番(タイミング検証結果)に
おいてより厳しいブロックピンを優先して、矩形枠重心
により近い側つまりは接続関係のある相手側のブロック
により近い側に配置するので、タイミング制約を満たす
ことの厳しさ(タイミング検証結果)の順番においてよ
り厳しい順に配線長が短くなるようにブロックピンの配
置位置を決めることが可能となり、タイミング違反を抑
制することが可能となる。なお、上記の第1の発明によ
るところの、障害物ブロック迂回による長距離配線を回
避した状態での最適な短距離配線を実現し、タイミング
違反の発生を抑制するという作用が発揮されることはい
うまでもない。
According to the fifth aspect of the invention, priority is given to a stricter block pin in the order of strictness of satisfying the timing constraint (timing verification result), and the side closer to the center of gravity of the rectangular frame, that is, the partner side having the connection relationship Since the block pins are arranged closer to the block, it is possible to determine the arrangement position of the block pins so that the wiring length becomes shorter in the order of the strictness of meeting the timing constraint (timing verification result), and the timing violation Can be suppressed. It is to be noted that the effect of realizing the optimal short-distance wiring in a state where the long-distance wiring due to the detour of the obstacle block according to the first invention is avoided and suppressing the occurrence of timing violation is exhibited. Needless to say.

【0067】本願第6の発明の半導体集積回路の設計方
法は、上記の第1の発明において、さらに、前記配置辺
決定工程の後に、同一のブロックピン配置辺に配置され
た前記ブロックピンの全てを配置できるか確認する配置
確認工程と、前記ブロックピン配置辺に配置しきれない
過剰分のブロックピンを前記ブロックピン配置辺に隣り
合うブロック辺に配置調整する配置調整工程とを含むこ
とを特徴としている。
The method for designing a semiconductor integrated circuit according to a sixth aspect of the present invention is the semiconductor integrated circuit design method according to the first aspect, further comprising, after the arrangement side determining step, all of the block pins arranged on the same block pin arrangement side. And an arrangement adjustment step of adjusting the arrangement of an excess block pin that cannot be arranged on the block pin arrangement side on a block side adjacent to the block pin arrangement side. And

【0068】この第6の発明によると、決定されたブロ
ックピン配置辺に該当のブロックピンの全てを配置しき
れないオーバーフローが発生したときには、そのオーバ
ーフローした分のブロックピンを隣り合うブロック辺に
配置替えするので、オーバーフローに起因しての設計戻
りを回避することが可能となり、設計期間の増大を防止
する。なお、上記の第1の発明によるところの、障害物
ブロック迂回による長距離配線を回避した状態での最適
な短距離配線を実現し、タイミング違反の発生を抑制す
るという作用が発揮されることはいうまでもない。本願
第7の発明の半導体集積回路の設計方法は、上記の第1
の発明において、さらに、前記配置辺決定工程の後に、
同一のブロックピン配置辺に配置された前記ブロックピ
ンを前記ブロックピン配置辺の中央に配置するブロック
辺中央配置工程を含むことを特徴としている。
According to the sixth aspect, when an overflow occurs in which all the corresponding block pins cannot be arranged on the determined block pin arrangement side, the overflowed block pins are arranged on the adjacent block side. Therefore, it is possible to avoid a design return due to an overflow, and to prevent an increase in the design period. It is to be noted that the effect of realizing the optimal short-distance wiring in a state where the long-distance wiring due to the detour of the obstacle block according to the first invention is avoided and suppressing the occurrence of timing violation is exhibited. Needless to say. The method of designing a semiconductor integrated circuit according to the seventh invention of the present application is the method of the first aspect.
In the invention, further, after the arrangement side determining step,
The method further comprises a block side center arranging step of arranging the block pins arranged on the same block pin arrangement side at the center of the block pin arrangement side.

【0069】この第7の発明によると、ブロックピンを
ブロックピン配置辺の中央に配置するので、ブロックピ
ン間をブロック間仮想配線で繋いだ結果を基に生成する
タイミング制約が平均的なものとなり、結果として、レ
イアウト工程で決まるブロックピン配置位置が見積りに
対し悲観的なピン位置あるいは楽観的なピン位置になっ
ても、制約が平均的なものであるので、タイミング制約
を大きく外れるようなタイミング違反が発生しにくくな
る。また、タイミング違反が発生しても、タイミング制
約を大きく外れることはないため、タイミング違反に対
する改善処理が軽減される。なお、上記の第1の発明に
よるところの、障害物ブロック迂回による長距離配線を
回避した状態での最適な短距離配線を実現し、タイミン
グ違反の発生を抑制するという作用が発揮されることは
いうまでもない。
According to the seventh aspect, since the block pins are arranged at the center of the side where the block pins are arranged, the timing constraint generated based on the result of connecting the block pins with the virtual wiring between the blocks becomes an average. As a result, even if the block pin arrangement position determined by the layout process becomes a pessimistic pin position or an optimistic pin position with respect to the estimation, the timing is such that the constraint is average, so that the timing constraint largely deviates from the timing constraint. Violations are less likely to occur. Further, even if a timing violation occurs, the timing constraint is not greatly deviated, so that the processing for improving the timing violation is reduced. It is to be noted that the effect of realizing the optimal short-distance wiring in a state where the long-distance wiring due to the detour of the obstacle block according to the first invention is avoided and suppressing the occurrence of timing violation is exhibited. Needless to say.

【0070】本願第8の発明の半導体集積回路の設計方
法は、上記の第1の発明において、さらに、前記配置辺
決定工程の後に、前記ブロックピン配置辺に配置された
前記ブロックピンを前記ブロックピン配置辺における矩
形枠重心から最も遠い位置に配置する悲観位置配置工程
を含むことを特徴としている。
The method for designing a semiconductor integrated circuit according to an eighth aspect of the present invention is the semiconductor integrated circuit design method according to the first aspect, further comprising, after the arrangement side determining step, the block pins arranged on the block pin arrangement side being replaced by the block pins. It is characterized by including a pessimistic position arranging step of arranging the pin at the farthest position from the center of gravity of the rectangular frame on the side where the pins are arranged.

【0071】この第8の発明によると、ブロックピンを
ブロックピン配置辺上で矩形枠重心から最も遠く配置す
るので、ブロックピン間をブロック間仮想配線で繋いだ
結果を基に生成するタイミング制約が最も厳しい悲観的
なものとなり、結果として、レイアウト工程で決まるブ
ロックピン配置位置が見積りに対しそれ以上に悲観的な
ピン位置になることはなく、タイミング制約を満たせな
くなるという事態が発生しないため、タイミング違反の
発生を回避することが可能となる。なお、上記の第1の
発明によるところの、障害物ブロック迂回による長距離
配線を回避した状態での最適な短距離配線を実現し、タ
イミング違反の発生を抑制するという作用が発揮される
ことはいうまでもない。
According to the eighth aspect, since the block pins are arranged farthest from the center of gravity of the rectangular frame on the side where the block pins are arranged, the timing constraint generated based on the result of connecting the block pins by virtual wiring between blocks is restricted. It is the most severe pessimism, and as a result, the block pin arrangement position determined by the layout process does not become a more pessimistic pin position than estimated, and the situation that timing constraints can not be satisfied does not occur, so timing Violation can be avoided. It is to be noted that the effect of realizing the optimal short-distance wiring in a state where the long-distance wiring due to the detour of the obstacle block according to the first invention is avoided and suppressing the occurrence of timing violation is exhibited. Needless to say.

【0072】本願第9の発明の半導体集積回路の設計方
法は、上記の第1の発明において、さらに、前記矩形枠
が接したブロック辺が接続のあるブロックか判断する接
続判断工程と、前記判断で接続があると判断した場合に
前記矩形枠に接した前記ブロック辺を前記ブロックピン
の配置辺とする配置辺決定工程と、配線領域を通過でき
る配線可能本数を求める配線領域確認工程と、通過不可
能な配線領域に配線禁止領域を設ける配線禁止領域生成
工程を含むことを特徴としている。
In a ninth aspect of the present invention, in the method for designing a semiconductor integrated circuit according to the first aspect of the present invention, further, a connection determining step of determining whether a block side contacted by the rectangular frame is a connected block is provided. When it is determined that there is a connection, the arrangement side determining step of setting the block side in contact with the rectangular frame as the arrangement side of the block pin, a wiring area confirmation step of calculating the number of wires that can pass through the wiring area, It is characterized by including a wiring prohibited area generation step of providing a wiring prohibited area in an impossible wiring area.

【0073】この第9の発明によると、配線領域の配線
の通過可能容量を越えるようなブロックピンの配置を行
わないため、配線領域の容量不足により配線が通過でき
ないといった事態を回避することが可能となる。もし、
配線が通過できない場合、他の配線経路を通って配線の
回り込みが発生するが、この回り込みを回避すること
で、タイミング違反を抑制することが可能となってい
る。なお、上記の第1の発明によるところの、障害物ブ
ロック迂回による長距離配線を回避した状態での最適な
短距離配線を実現し、タイミング違反の発生を抑制する
という作用が発揮されることはいうまでもない。
According to the ninth aspect of the present invention, since the block pins are not arranged so as to exceed the passing capacity of the wiring in the wiring area, it is possible to avoid a situation in which the wiring cannot be passed due to a shortage of capacity in the wiring area. Becomes if,
If the wiring cannot pass through, the wiring wraps around through another wiring path. By avoiding this wraparound, it is possible to suppress the timing violation. It is to be noted that the effect of realizing the optimal short-distance wiring in a state where the long-distance wiring due to the detour of the obstacle block according to the first invention is avoided and suppressing the occurrence of timing violation is exhibited. Needless to say.

【0074】なお、上記において、「矩形枠」に代えて
「対策枠」と読み替えた状態での実施の形態や、「重
心」に代えて「重心付近」と読み替えた状態での実施の
形態も当然に可能である。
In the above description, an embodiment in which “rectangular frame” is replaced with “measures frame” and an embodiment in which “center of gravity” is replaced with “near the center of gravity” are also used. Of course it is possible.

【0075】(具体的な実施の形態)以下、本発明にか
かわる半導体集積回路の設計方法の具体的な実施の形態
を図面に基づいて詳細に説明する。
(Specific Embodiment) Hereinafter, a specific embodiment of a method for designing a semiconductor integrated circuit according to the present invention will be described in detail with reference to the drawings.

【0076】(実施の形態1)本発明の実施の形態1に
ついて図面を用いて説明する。
(Embodiment 1) Embodiment 1 of the present invention will be described with reference to the drawings.

【0077】図1は本発明にかかわる実施の形態1の半
導体集積回路の設計方法のフロアプラン工程で行う処理
のフローチャートを示す図である。図1において、符号
の101はブロック配置工程、102は矩形生成工程、
103は障害物確認工程、104は重心比較工程、10
5は矩形拡張工程、106は配置辺決定工程、107は
ブロックピン配置位置決定工程、108はブロック間仮
想配線工程、109は従来ピン配置工程である。このフ
ローは、トップダウン設計でレイアウトを行う場合のブ
ロックピン配置辺決定となっている。
FIG. 1 is a diagram showing a flowchart of a process performed in a floor plan step of the method of designing a semiconductor integrated circuit according to the first embodiment of the present invention. In FIG. 1, reference numeral 101 denotes a block arrangement step, 102 denotes a rectangle generation step,
103 is an obstacle confirmation step, 104 is a center of gravity comparison step, 10
5 is a rectangle expansion step, 106 is an arrangement side determination step, 107 is a block pin arrangement position determination step, 108 is an inter-block virtual wiring step, and 109 is a conventional pin arrangement step. In this flow, the block pin arrangement side is determined when the layout is performed in the top-down design.

【0078】まず、ブロック配置工程101において各
機能ブロックのブロック配置位置の検討を行う。その
際、未レイアウトのブロックに対しても、ブロック面積
推定結果からブロック形状、ブロック配置位置を決定す
る。全てのブロックの形状、配置位置を決定した後、矩
形生成工程102に移る。
First, in the block arranging step 101, a block arranging position of each functional block is examined. At this time, the block shape and the block arrangement position are determined from the block area estimation result also for the unlaid-out block. After determining the shapes and arrangement positions of all the blocks, the process proceeds to the rectangle generation step 102.

【0079】矩形生成工程102をフロアプランの一例
を示す図2を参照しながら説明する。図2は接続関係の
あるブロックの重心を矩形枠で囲むことを示したもので
あり、符号の201はブロック配置領域、202はブロ
ックA、203はブロックB、204はブロックC、2
05はブロックD、206はブロックE、207はブロ
ックAおよびブロックDの重心、208は矩形枠を示し
ている。
The rectangle generating step 102 will be described with reference to FIG. 2 showing an example of a floor plan. FIG. 2 shows that the center of gravity of a block having a connection relationship is surrounded by a rectangular frame. Reference numeral 201 denotes a block arrangement area, 202 denotes a block A, 203 denotes a block B, 204 denotes a block C, and
05 denotes a block D, 206 denotes a block E, 207 denotes a center of gravity of the blocks A and D, and 208 denotes a rectangular frame.

【0080】矩形生成工程102では、接続関係のある
全てのブロックのブロック重心207を求める。ブロッ
ク重心207を求める方法としては、各ブロックの縦サ
イズ、横サイズの各1/2を、現在のブロック配置位置
の左下座標に加算することでブロックの重心座標を求め
ることができる。以下、ブロックA202とブロックD
205との間で接続関係があるとし、2種のブロックピ
ン配置辺を決定する方法を説明する。
In the rectangle generation step 102, the block centroids 207 of all the blocks having a connection relation are obtained. As a method of obtaining the block centroid 207, the barycentric coordinates of the block can be obtained by adding each half of the vertical size and the horizontal size of each block to the lower left coordinates of the current block arrangement position. Hereinafter, block A202 and block D
Assuming that there is a connection relationship with the block 205, a method for determining two types of block pin arrangement sides will be described.

【0081】接続関係のある全てのブロック重心207
を囲む最小サイズの矩形枠208を生成する。図2で
は、ブロックA202およびブロックD205のそれぞ
れのブロック重心207,207を囲む矩形枠208を
作成する。矩形枠208の生成後、障害物確認工程10
3に移る。
All the block centroids 207 having a connection relationship
, A rectangular frame 208 of the minimum size is generated. In FIG. 2, a rectangular frame 208 surrounding the respective block centroids 207 and 207 of the block A 202 and the block D 205 is created. After the generation of the rectangular frame 208, the obstacle confirmation step 10
Move to 3.

【0082】障害物確認工程103では、矩形枠208
を上下または左右に横切る障害物が存在しないか確認を
行う。確認方法としては、ブロック配置領域201の左
下座標を原点(0,0)として右側にX軸をとり、上側
にY軸をとって、矩形枠208の左下座標を(X1,Y
1)、右上座標を(X2,Y2)と定義する。次に一つ
目のブロックの左下座標を(x1,y1)、右上座標を
(x2,y2)と定義し、下記の2種の障害物確認条件
式のどちらか一方でも満たすかどうか確認を行う。どち
らか一方でも満たすことがあれば、そのブロックは、矩
形枠208に対する障害物ということになる。
In the obstacle confirmation step 103, the rectangular frame 208
Check that there are no obstacles crossing the road vertically or horizontally. As a confirmation method, the lower left coordinate of the block arrangement area 201 is set to the origin (0, 0), the X axis is set to the right, the Y axis is set to the upper side, and the lower left coordinate of the rectangular frame 208 is set to (X1, Y
1) The upper right coordinate is defined as (X2, Y2). Next, the lower left coordinate of the first block is defined as (x1, y1) and the upper right coordinate is defined as (x2, y2), and it is determined whether one of the following two obstacle confirmation conditional expressions is satisfied. . If either one of the blocks is satisfied, the block is an obstacle to the rectangular frame 208.

【0083】 X1<x1、 X2>x2、 Y1>y1、 Y2<y2 X1>x1、 X2<x2、 Y1<y1、 Y2>y2 ここで、上側の障害物確認条件式は、図2のように矩形
枠208を上下に横切るブロック204が障害物となる
場合に該当し、下側の障害物確認条件式は、後述する図
7のように矩形枠709を左右に横切るブロック703
が障害物となる場合に該当する。
X 1 <x 1, X 2> x 2, Y 1> y 1, Y 2 <y 2 X 1> x 1, X 2 <x 2, Y 1 <y 1, Y 2> y 2 Here, the upper obstacle confirmation conditional expression is as shown in FIG. This corresponds to the case where the block 204 crossing the rectangular frame 208 up and down becomes an obstacle, and the lower obstacle confirmation conditional expression is a block 703 crossing the rectangular frame 709 left and right as shown in FIG.
Corresponds to the case where is an obstacle.

【0084】この確認を全てのブロックに対して行い、
矩形枠を横切る障害物が存在するか確認を行う。確認の
結果、矩形枠を横切る障害物が存在する場合、次工程の
重心比較工程104に移る。反対に矩形枠を横切る障害
物が存在しない場合、従来ピン配置工程109に移る。
This check is performed for all blocks.
Check whether there is an obstacle crossing the rectangular frame. As a result of the confirmation, when there is an obstacle crossing the rectangular frame, the process proceeds to the center of gravity comparing step 104 of the next step. On the other hand, when there is no obstacle crossing the rectangular frame, the process proceeds to the conventional pin arrangement step 109.

【0085】障害物確認工程103を、図2に示すフロ
アプランの一例を用いて説明する。図2では、矩形枠2
08に対しブロックC204が上記障害物確認条件式に
該当するため、ブロックC204が障害物となる。従っ
て、重心比較工程104に移る。
The obstacle confirmation step 103 will be described using an example of a floor plan shown in FIG. In FIG. 2, the rectangular frame 2
In contrast to block 08, block C204 corresponds to the obstacle confirmation condition expression, and thus block C204 is an obstacle. Therefore, the process proceeds to the center-of-gravity comparing step 104.

【0086】このフロアプラン例では次工程が重心比較
工程104となるが、障害物が存在しなかった場合の次
工程である従来ピン配置工程109をここで説明する。
In the example of the floor plan, the next step is the center-of-gravity comparing step 104. The conventional pin arrangement step 109, which is the next step when there is no obstacle, will be described here.

【0087】従来ピン配置工程109では、〔従来の技
術〕の項で説明したブロックピン配置方法を用いてブロ
ックピンの配置位置を決定する。
In the conventional pin arrangement step 109, the arrangement position of the block pins is determined by using the block pin arrangement method described in the section of [Prior Art].

【0088】接続関係のあるそれぞれのブロックで、接
続先のブロックに最も近い位置に存在するブロック辺を
検索し、ブロックピンの配置辺と決定する。ブロック辺
決定後、あらかじめ定められたピン間隔のルールを満た
すようにブロックピン配置位置の決定を行う。
In each block having a connection relation, a block side located closest to the connection destination block is searched to determine a block pin arrangement side. After the block side is determined, the block pin arrangement position is determined so as to satisfy a predetermined rule of the pin interval.

【0089】ブロックピン配置位置を決定する際には、
配線の折れ曲がりが発生しないように、極力、ブロック
ピン同士を水平あるいは垂直な位置関係となるように考
慮してピン位置を決定する。ブロックピン配置位置を決
定した後は、本接続関係に対する処理を終了し、他の接
続関係の処理を開始するため、矩形生成工程102にリ
ターンする。
When determining the block pin arrangement position,
The pin position is determined in consideration of the horizontal or vertical positional relationship between the block pins as much as possible so that the wiring is not bent. After the block pin arrangement position is determined, the process returns to the rectangle generation step 102 in order to end the processing for this connection relation and start the processing for another connection relation.

【0090】重心比較工程104では、矩形拡張工程1
05で矩形枠を拡張する方向を上下左右の4方向のいず
れかに決定する。
In the center-of-gravity comparing step 104, the rectangular extension step 1
At 05, the direction in which the rectangular frame is expanded is determined to be one of four directions, up, down, left, and right.

【0091】拡張方向の決定方法を図3を参照しながら
説明する。
A method for determining the extension direction will be described with reference to FIG.

【0092】図3は重心比較工程104のフローチャー
トすなわち拡張方向を決定する際のフローチャートを示
したものであり、符号の301は矩形枠・障害物重心計
算工程、302は方向決定工程、303は上下決定工
程、304は左右決定工程である。
FIG. 3 shows a flowchart of the center-of-gravity comparing step 104, that is, a flowchart for determining the extension direction. Reference numeral 301 denotes a rectangular frame / obstacle center-of-gravity calculating step; 302, a direction determining step; The decision step 304 is a left / right decision step.

【0093】まず、矩形枠・障害物重心計算工程301
で矩形枠重心、障害物重心を求める。求める方法として
は、ブロック重心を求める方法と同様に、矩形枠の縦サ
イズ、横サイズを基に矩形枠の中心座標を求める。障害
物重心においても、障害物確認工程で確認を行った障害
物の縦サイズ、横サイズを基に障害物の中心座標を求め
る。
First, a rectangular frame / obstacle center of gravity calculation step 301
Is used to determine the center of gravity of the rectangular frame and the center of gravity of the obstacle. As a method for obtaining the same, the center coordinates of the rectangular frame are obtained based on the vertical size and the horizontal size of the rectangular frame, similarly to the method for obtaining the block center of gravity. Also at the center of gravity of the obstacle, the center coordinates of the obstacle are obtained based on the vertical size and the horizontal size of the obstacle confirmed in the obstacle confirmation process.

【0094】次に、方向決定工程302で拡張方向を上
下方向に決定するか、左右方向に決定するか判断する。
判断の方法として、障害物確認工程103において、障
害物が矩形枠を横切った方向とする。すなわち、矩形枠
を上下に横切る障害物がある場合は、上下決定工程30
3に移る。矩形枠を左右に横切る障害物がある場合は、
左右決定工程304に移る。
Next, in the direction determining step 302, it is determined whether the extension direction is to be determined vertically or horizontally.
As a determination method, in the obstacle confirmation step 103, the direction in which the obstacle crosses the rectangular frame is set. In other words, if there is an obstacle that crosses the rectangular frame up and down,
Move to 3. If there is an obstacle that crosses the rectangular frame from side to side,
Move to the left / right determination step 304.

【0095】上下決定工程303では、矩形枠・障害物
重心計算工程301で求めた2種の重心比較を行い、拡
張方向を上方向あるいは下方向に決定する。決定方法と
しては、障害物重心に対する矩形枠重心の存在する方向
とする。すなわち、障害物重心の座標を(XG ,YG
と定義し、矩形枠重心の座標を(xG ,yG )と定義
し、 YG <yG が成り立つ場合、上方向を拡張方向とする。また、 YG >yG が成り立つ場合、下方向を拡張方向とする。
In the up / down determination step 303, the two types of center of gravity obtained in the rectangular frame / obstacle center of gravity calculation step 301 are compared, and the extension direction is determined to be upward or downward. As a determination method, a direction in which the rectangular frame centroid exists with respect to the obstacle centroid is set. That is, the coordinates of the center of gravity of the obstacle are (X G , Y G )
And the coordinates of the center of gravity of the rectangular frame are defined as (x G , y G ), and if Y G <y G holds, the upward direction is defined as the extension direction. If Y G > y G holds, the downward direction is defined as the extension direction.

【0096】このように上下決定工程303で拡張方向
を決定した後、矩形拡張工程105に移る。
After the extension direction is determined in the up / down determination step 303, the process proceeds to the rectangle extension step 105.

【0097】一方、左右決定工程304では、矩形枠・
障害物重心計算工程301で求めた2種の重心比較を行
い、拡張方向を左方向あるいは右方向に決定する。決定
方法としては、障害物重心に対する矩形枠重心の存在す
る方向とする。すなわち、 XG >xG が成り立つ場合、左方向を拡張方向とする。また、 XG <xG が成り立つ場合、右方向を拡張方向とする。
On the other hand, in the left / right determination step 304, a rectangular frame
The two types of centroids obtained in the obstacle centroid calculation step 301 are compared, and the extension direction is determined to the left or right. As a determination method, a direction in which the rectangular frame centroid exists with respect to the obstacle centroid is set. That is, when X G > x G holds, the left direction is set as the extension direction. When X G <x G holds, the right direction is set as the extension direction.

【0098】ただし、上記の比較において、YG =yG
となった場合や、XG =xG となった場合には、次のよ
うな処理を行う。配線の混雑について、チップの内側と
外側とでは、外側に近い方が配線混雑に対する影響がよ
り少ないと考えられる。そこで、チップの重心(Xc,
Yc)を求めて、これと障害物の重心(XG ,YG )ま
たは矩形枠の重心(xG ,yG )との比較を行う。
However, in the above comparison, Y G = y G
And when a, when it becomes an X G = x G performs the following processing. Regarding the congestion of the wiring, it is considered that the closer to the outside between the inside and the outside of the chip, the less the influence on the wiring congestion. Therefore, the center of gravity of the chip (Xc,
Yc) is obtained and compared with the center of gravity (X G , Y G ) of the obstacle or the center of gravity (x G , y G ) of the rectangular frame.

【0099】障害物が矩形枠を上下に横切っている場合
に、 Yc<YG であれば、上方向を拡張方向とする。また、 Yc>YG であれば、下方向を拡張方向とする。また、障害物が矩
形枠を左右に横切っている場合に、 Xc<XG であれば、右方向を拡張方向とする。また、 Xc>XG であれば、左方向を拡張方向とする。
[0099] When the obstacle is across the rectangular frame in the vertical, if Yc <Y G, the upward and extended direction. If Yc> Y G , the downward direction is the extension direction. Further, if the obstacle is across the rectangular frame in the left and right, if Xc <X G, the right direction and extended direction. Also, if Xc> X G, the left and extended direction.

【0100】さらに、Yc=YG となったり、Xc=X
G となる場合が生じ得る。これに対しては、あらかじめ
いずれかの方向に拡張方向を定めておき、それに従うこ
ととする。例えば、Xc=XG のときには上方向と定
め、Xc=XG のときは右方向と定めるといった具合で
ある。
Further, if Yc = Y G or Xc = X
G may occur. For this, the extension direction is determined in advance in any direction, and the extension direction is followed. For example, it defined as the upward direction when the Xc = X G, when the Xc = X G and so on define the right direction.

【0101】このように左右決定工程304で拡張方向
を決定した後、矩形拡張工程105に移る。
After the extension direction is determined in the left / right determination step 304, the process proceeds to the rectangle extension step 105.

【0102】重心比較工程104を、図4に示すフロア
プランの一例を参照しながら説明する。図4は一例のフ
ロアプランの矩形枠重心、障害物重心を示したものであ
り、符号の201〜208については既述のとおりであ
り、新たな要素として、符号の209は矩形枠重心、2
10は障害物重心を示している。
The center-of-gravity comparing step 104 will be described with reference to an example of a floor plan shown in FIG. FIG. 4 shows a rectangular frame centroid and an obstacle centroid of an example floor plan. Reference numerals 201 to 208 are as described above, and as a new element, reference numeral 209 represents a rectangular frame centroid.
Reference numeral 10 denotes the center of gravity of the obstacle.

【0103】まず、矩形枠・障害物重心計算工程301
で矩形枠208の縦横サイズを基に矩形枠重心209を
求める。その座標が(xG ,yG )である。次に、障害
物ブロックであるブロックC204の縦横サイズを基に
障害物重心210を求める。その座標が(XG ,YG
である。そして、方向決定工程302に移る。
First, a rectangular frame / obstacle center of gravity calculation step 301
, The center of gravity 209 of the rectangular frame is obtained based on the vertical and horizontal sizes of the rectangular frame 208. The coordinates are (x G , y G ). Next, an obstacle center of gravity 210 is obtained based on the vertical and horizontal sizes of the block C204 which is an obstacle block. The coordinates are (X G , Y G )
It is. Then, the process proceeds to the direction determining step 302.

【0104】方向決定工程302では、障害物確認工程
103において障害物ブロックが矩形枠を横切った方向
を確認する。本フロアプランの場合、矩形枠208を上
下に横切るブロックC204が障害物となるため、上下
決定工程303に移る。
In the direction determining step 302, the direction in which the obstacle block crosses the rectangular frame in the obstacle checking step 103 is checked. In the case of this floor plan, the block C204 that crosses the rectangular frame 208 up and down becomes an obstacle.

【0105】上下決定工程303では、2種の重心比較
を行い拡張方向を決定するが、本フロアプランでは障害
物重心210に対し矩形枠重心209が上方向に存在す
るため、拡張方向を上方向と決定する。拡張方向の決定
後、矩形拡張工程105に移る。
In the up / down determination step 303, two types of centroids are compared to determine the extension direction. In this floor plan, since the rectangular frame centroid 209 is located above the obstacle centroid 210, the extension direction is set to the upward direction. Is determined. After the extension direction is determined, the process proceeds to the rectangle extension step 105.

【0106】矩形拡張工程105では、重心比較工程1
04において決定された拡張方向に矩形枠を拡張する。
拡張を行う際、以下に記載の2条件に該当するブロック
辺まで拡張する。
In the rectangular extension step 105, the center of gravity comparison step 1
The rectangular frame is extended in the extension direction determined in 04.
When performing the extension, the extension is performed up to the block side corresponding to the following two conditions.

【0107】第1の条件は、接続関係があり、拡張前に
接していなかったブロック辺とすることである。
The first condition is that there is a connection side and the block side was not in contact before expansion.

【0108】第2の条件は、障害物が矩形枠を横切る方
向に存在しているブロック辺とすることである。
The second condition is that a block side exists in the direction in which an obstacle crosses the rectangular frame.

【0109】具体的には、障害物が矩形枠を上下に横切
る場合は上下辺とし、障害物が矩形枠を左右に横切る場
合は左右辺とするということである。以上の2条件に該
当するブロック辺に初めて矩形枠が接するまで拡張を行
う。
Specifically, when an obstacle crosses the rectangular frame up and down, the upper and lower sides are set, and when an obstacle crosses the rectangular frame left and right, the left and right sides are set. The expansion is performed until the rectangular frame contacts the block side corresponding to the above two conditions for the first time.

【0110】矩形拡張工程105を、図5に示すフロア
プランの一例を参照しながら説明する。図5は矩形枠拡
張後の矩形枠を示したものである。重心比較工程104
において決定された拡張方向すなわち上方向に矩形枠2
08を拡張し、接続関係のあるブロックのブロック上下
辺であって拡張前には接していなかったブロック辺に対
して、拡張しつつある矩形枠208の上辺が初めて接す
るまで拡張を行う。拡張後、配置辺決定工程106に移
る。
The rectangle expanding step 105 will be described with reference to an example of a floor plan shown in FIG. FIG. 5 shows the rectangular frame after the rectangular frame expansion. Center of gravity comparison step 104
In the extension direction, ie, the upward direction determined in
08 is extended until the upper side of the expanding rectangular frame 208 first contacts the upper and lower sides of the block having a connection relationship and which were not in contact before the expansion. After the extension, the process proceeds to the placement side determination step 106.

【0111】以下、矩形枠208の拡張により、矩形枠
208と初めて接した辺がブロックA202の上辺であ
るとして説明を行う。
In the following, a description will be given assuming that the side contacting the rectangular frame 208 for the first time is the upper side of the block A202 by expanding the rectangular frame 208.

【0112】配置辺決定工程106では、矩形拡張工程
105の矩形枠拡張結果より求めたところの、接続関係
のあるブロックで初めて矩形枠が接した辺を、接続関係
のあるブロック全てのそれぞれのブロックピン配置辺と
決定する。
In the arrangement side determination step 106, the side of the connection-related block for the first time in contact with the rectangular frame obtained from the rectangular frame expansion result of the rectangle expansion step 105 is determined for each of the connection-related blocks. It is determined as the pin arrangement side.

【0113】配置辺決定工程106を、図6に示すフロ
アプランの一例を参照しながら説明する。図6はブロッ
クピン配置辺と決定されたブロック辺を示したものであ
る。新たな要素として、符号の211はブロックピン配
置辺を示している。
The arrangement side determining step 106 will be described with reference to an example of a floor plan shown in FIG. FIG. 6 shows the block side determined as the block pin arrangement side. As a new element, reference numeral 211 indicates a block pin arrangement side.

【0114】矩形拡張工程105の矩形枠拡張より求め
た結果を基に、接続関係のあるブロックA202および
ブロックD205で接続される今回の対象ネットのブロ
ックピン配置辺211は、ブロックA202の上辺およ
びブロックD205の上辺に決定する。
On the basis of the result obtained from the rectangular frame expansion in the rectangular expansion step 105, the block pin arrangement side 211 of the current target net connected by the block A202 and the block D205, which are connected, has the upper side of the block A202 and the block A202. The upper side of D205 is determined.

【0115】対象ネットのブロックピン配置辺の決定の
後は、対象ネットの処理を完了し、同じようにその他の
ネットの処理に移り、全てのネットのブロックピン配置
位置あるいはブロックピン配置辺が決定するまで、矩形
生成工程102から配置辺決定工程106あるいは従来
ピン配置工程109の工程を繰り返し行い、全てのネッ
トでブロックピン配置辺が決定された後、ブロックピン
配置位置決定工程107に移る。
After the determination of the block pin arrangement side of the target net, the processing of the target net is completed, and the process shifts to the processing of other nets in the same manner. The block pin arrangement positions or the block pin arrangement sides of all the nets are determined. Until the process, the steps from the rectangle generation step 102 to the placement side determination step 106 or the conventional pin placement step 109 are repeated. After the block pin placement sides have been determined for all nets, the process proceeds to the block pin placement position determination step 107.

【0116】ブロックピン配置位置決定工程107で
は、配置辺決定工程106で決定されたブロック辺内で
ブロックピン配置位置の決定を行う。その際、事前に定
められたピン間隔のルールを満たすようにピン位置を決
定する。全てのブロックピン配置位置の決定後、ブロッ
ク間仮想配線工程108に移る。
In the block pin arrangement position determining step 107, the block pin arrangement position is determined within the block side determined in the arrangement side determining step 106. At this time, the pin position is determined so as to satisfy a predetermined rule of the pin interval. After all the block pin arrangement positions are determined, the process proceeds to the inter-block virtual wiring step 108.

【0117】ブロック間仮想配線工程108では、ブロ
ックピン配置位置決定工程107で決定したブロックピ
ン配置位置を基に、ブロックピン間を最短距離で繋ぐブ
ロック間仮想配線を生成する。その後、フロアプラン工
程を終了し、従来通りにタイミング制約生成工程以降の
工程を行い、半導体集積回路の設計を行う。
In the inter-block virtual wiring step 108, based on the block pin arrangement positions determined in the block pin arrangement position determining step 107, an inter-block virtual wiring connecting the block pins with the shortest distance is generated. After that, the floor plan process is completed, and the processes after the timing constraint generation process are performed as before, to design the semiconductor integrated circuit.

【0118】次に、上記で用いたフロアプランとは別の
例を用いて説明を行う。
Next, an explanation will be given using another example different from the floor plan used above.

【0119】ブロック配置工程101において全てのブ
ロックの形状、配置位置を決定した後、矩形生成工程1
02に移る。矩形生成工程102を、図7に示すフロア
プランの一例を参照しながら説明する。
After determining the shapes and arrangement positions of all the blocks in the block arrangement step 101, the rectangle generation step 1
Move to 02. The rectangle generation step 102 will be described with reference to an example of a floor plan shown in FIG.

【0120】図7は接続関係のあるブロックの重心を矩
形枠で囲むことを示したものであり、符号の701はブ
ロック配置領域、702〜707はそれぞれブロックA
〜F、708はブロックA702、ブロックB703お
よびブロックC704それぞれの重心、709は矩形枠
を示している。
FIG. 7 shows that the center of gravity of a block having a connection relation is surrounded by a rectangular frame. Reference numeral 701 denotes a block arrangement area, and reference numerals 702 to 707 denote blocks A, respectively.
F, 708 indicate the respective centers of gravity of the blocks A 702, B 703, and C 704, and 709 indicates a rectangular frame.

【0121】矩形生成工程102では、接続関係のある
それぞれのブロックの縦横サイズを基にブロック重心7
08を求める。以下、ブロックA702、ブロックB7
03、ブロックC704との間で接続関係があるとし、
ブロックピン配置辺を決定する方法を説明する。
In the rectangle generation step 102, the block center of gravity 7 is determined based on the vertical and horizontal sizes of the respective blocks having a connection relationship.
08. Hereinafter, block A702, block B7
03, there is a connection relationship with the block C704,
A method for determining a block pin arrangement side will be described.

【0122】接続関係のある全てのブロック重心708
…を囲む最小サイズの矩形枠709を生成する。図7で
は、ブロックA702、ブロックB703、ブロックC
704のそれぞれのブロック重心708…を囲む矩形枠
709を作成する。矩形枠709の生成後、障害物確認
工程103に移る。
All the block centroids 708 having a connection relation
, A rectangular frame 709 of the minimum size is generated. In FIG. 7, block A 702, block B 703, block C
A rectangular frame 709 surrounding each block center of gravity 708. After the generation of the rectangular frame 709, the process proceeds to the obstacle confirmation step 103.

【0123】すでに説明した障害物確認条件式を用いて
矩形枠709を上下または左右に横切る障害物が存在し
ないか確認を行う障害物確認工程103では、矩形枠7
09に対しブロックB703が障害物確認条件式に該当
するため、ブロックB703が障害物となる。従って、
重心比較工程104に移る。
In the obstacle confirmation step 103 for confirming whether there is an obstacle crossing the rectangular frame 709 in the vertical or horizontal direction using the previously described obstacle confirmation conditional expression, the rectangular frame 7
Since block B703 corresponds to the obstacle confirmation conditional expression for block 09, block B703 becomes an obstacle. Therefore,
Move to the center of gravity comparison step 104.

【0124】重心比較工程104を、図8に示すフロア
プランの一例を参照しながら、図3のフローチャートを
用いて説明する。図8は一例のフロアプランの矩形枠重
心、障害物重心を示したものであり、符号の701〜7
09については既述のとおりであり、新たな要素とし
て、符号の710は矩形枠重心、711は障害物重心を
示している。
The center-of-gravity comparing step 104 will be described with reference to the flowchart of FIG. 3 while referring to an example of a floor plan shown in FIG. FIG. 8 shows a rectangular frame center of gravity and an obstacle center of gravity of an example floor plan.
09 is as described above, and as new elements, reference numeral 710 indicates a rectangular frame center of gravity, and 711 indicates an obstacle center of gravity.

【0125】まず、矩形枠・障害物重心計算工程301
で矩形枠709の縦横サイズを基に矩形枠重心710を
求める。その座標が(xG ,yG )である。次に、障害
物ブロックであるブロックB703の縦横サイズを基に
障害物重心710を求める。その座標が(XG ,YG
である。そして、方向決定工程302に移る。
First, a rectangular frame / obstacle center of gravity calculation step 301
A rectangular frame center of gravity 710 is obtained based on the vertical and horizontal sizes of the rectangular frame 709. The coordinates are (x G , y G ). Next, an obstacle center of gravity 710 is obtained based on the vertical and horizontal sizes of the block B703 which is an obstacle block. The coordinates are (X G , Y G )
It is. Then, the process proceeds to the direction determining step 302.

【0126】方向決定工程302では、障害物確認工程
103において障害物ブロックが矩形枠を横切った方向
を確認する。本フロアプランの場合、矩形枠709を左
右に横切るブロックB703が障害物となるため、左右
決定工程304に移る。
In the direction determining step 302, the direction in which the obstacle block crosses the rectangular frame in the obstacle checking step 103 is checked. In the case of this floor plan, since the block B703 that crosses the rectangular frame 709 left and right becomes an obstacle, the process proceeds to the left / right determination step 304.

【0127】左右決定工程304では、2種の重心比較
を行い拡張方向を決定するが、本フロアプランでは障害
物重心711に対し矩形枠重心710が左方向に存在す
るため、拡張方向を左方向と決定する。拡張方向の決定
後、矩形拡張工程105に移る。
In the left / right determination step 304, two types of centroids are compared to determine the extension direction. However, in this floor plan, the rectangular frame centroid 710 is located leftward with respect to the obstacle centroid 711. Is determined. After the extension direction is determined, the process proceeds to the rectangle extension step 105.

【0128】矩形拡張工程105を、図9に示すフロア
プランの一例を参照しながら説明する。図9は矩形枠拡
張後の矩形枠を示したものであり、重心比較工程104
において決定された拡張方向すなわち左方向に矩形枠7
09の拡張を行う。拡張を行う際、すでに説明した2条
件に該当するブロック辺まで拡張する。以下、矩形枠7
09の拡張により、矩形枠709と初めて接した辺がブ
ロックA702、ブロックB703、ブロックC704
の左辺に同時に接したとして説明を行う。拡張後、配置
辺決定工程106に移る。
The rectangle expanding step 105 will be described with reference to an example of a floor plan shown in FIG. FIG. 9 shows the rectangular frame after the rectangular frame has been expanded.
The rectangular frame 7 extends in the extension direction determined in
09 is extended. When performing the extension, the extension is performed up to the block side corresponding to the two conditions described above. Hereinafter, the rectangular frame 7
As a result of the extension of 09, the sides that first contact the rectangular frame 709 are the blocks A702, B703, and C704.
The description is made assuming that the left sides are simultaneously touched. After the extension, the process proceeds to the placement side determination step 106.

【0129】配置辺決定工程106を、図10に示すフ
ロアプランの一例を参照しながら説明する。図10はブ
ロックピン配置辺と決定されたブロック辺を示したもの
である。新たな要素として、符号の712はブロックピ
ン配置辺を示している。
The placement side determination step 106 will be described with reference to an example of a floor plan shown in FIG. FIG. 10 shows a block side determined as a block pin arrangement side. As a new element, reference numeral 712 indicates a block pin arrangement side.

【0130】矩形拡張工程105の矩形枠拡張より求め
た結果を基に、接続関係のあるブロックA702、ブロ
ックB703、ブロックC704で接続される今回の対
象ネットのブロックピン配置辺712…は、ブロックA
702、ブロックB703、ブロックC704のそれぞ
れの左辺に決定する。
Based on the result obtained from the rectangular frame expansion in the rectangular expansion step 105, the block pin arrangement sides 712 of the current target net connected by the blocks A 702, B 703, and C 704 having a connection relationship are the block A
702, block B 703, and block C 704.

【0131】次に、上記で用いたフロアプランとはさら
に別の例を用いて説明を行う。
Next, a description will be given using still another example of the floor plan used above.

【0132】ブロック配置工程101において全てのブ
ロックの形状、配置位置を決定した後、矩形生成工程1
02に移る。矩形生成工程102を、図11に示すフロ
アプランの一例を参照しながら説明する。
After the shapes and arrangement positions of all blocks are determined in the block arrangement step 101, the rectangle generation step 1
Move to 02. The rectangle generation step 102 will be described with reference to an example of a floor plan shown in FIG.

【0133】図11は接続関係のあるブロックの重心を
矩形枠で囲むことを示したものであり、符号の1101
はブロック配置領域、1102〜1107はブロックA
〜F、1108はブロックC1104およびブロックE
1106それぞれの重心、1109は矩形枠を示してい
る。
FIG. 11 shows that the center of gravity of a block having a connection relation is surrounded by a rectangular frame.
Is a block arrangement area, 1102 to 1107 are block A
F, 1108 are the block C1104 and the block E
The center of gravity 1109 of each 1106 indicates a rectangular frame.

【0134】先に説明したフロアプランの例と同様に、
接続関係のあるそれぞれのブロックの縦横サイズを基に
ブロック重心1108を求める。以下、ブロックC11
04とブロックE1106との間で接続関係があると
し、ブロックピン配置辺を決定する方法を説明する。
As in the example of the floor plan described above,
A block center of gravity 1108 is obtained based on the vertical and horizontal sizes of each block having a connection relationship. Hereinafter, block C11
Assuming that there is a connection relationship between the block pin 04 and the block E1106, a method of determining a block pin arrangement side will be described.

【0135】接続関係のある全てのブロック重心110
8,1108を囲む最小サイズの矩形枠1109を生成
する。図11では、ブロックC1104、ブロックE1
106のそれぞれのブロック重心1108,1108を
囲む矩形枠1109を作成する。矩形枠1109の生成
後、障害物確認工程103に移る。
[0135] All the block centroids 110 in connection relation
A minimum-size rectangular frame 1109 surrounding 8,1108 is generated. In FIG. 11, block C1104, block E1
A rectangular frame 1109 surrounding the respective block centroids 1108, 1108 of 106 is created. After the generation of the rectangular frame 1109, the process proceeds to the obstacle confirmation step 103.

【0136】すでに説明した障害物確認条件式を用いて
矩形枠1109を上下または左右に横切る障害物が存在
しないか確認を行う障害物確認工程103においては、
図11のフロアプランの一例では、矩形枠1109に対
し障害物確認条件式に該当するブロックが存在しないた
め、障害物は無しとなる。従って、従来ピン配置工程1
09に移る。
In the obstacle confirmation step 103 for confirming whether there is an obstacle crossing the rectangular frame 1109 vertically or horizontally using the obstacle confirmation conditional expression described above,
In the example of the floor plan in FIG. 11, there is no block corresponding to the obstacle confirmation conditional expression for the rectangular frame 1109, and thus there is no obstacle. Therefore, the conventional pin arrangement process 1
Move to 09.

【0137】従来ピン配置工程109では、〔従来の技
術〕の項で説明したブロックピン配置方法を用いてブロ
ックピンの配置位置を決定する。
In the conventional pin arrangement step 109, the arrangement position of the block pins is determined by using the block pin arrangement method described in the section of [Prior Art].

【0138】接続関係のあるそれぞれのブロックで、接
続先のブロックに最も近い位置に存在するブロック辺を
検索し、ブロックピンの配置辺と決定する。ブロックピ
ン配置辺の決定後、あらかじめ定められたピン間隔のル
ールを満たすようにブロックピン配置位置の決定を行
う。
In each of the blocks having a connection relationship, a block side present at a position closest to the connection destination block is searched to determine a block pin arrangement side. After the block pin arrangement side is determined, the block pin arrangement position is determined so as to satisfy a predetermined rule of the pin interval.

【0139】ブロックピン配置位置を決定する際には、
配線の折れ曲がりが発生しないように、極力、ブロック
ピン同士を水平あるいは垂直な位置関係となるように考
慮してピン位置を決定する。ブロックピン配置位置を決
定した後は、本接続関係に対する処理を終了し、他の接
続関係の処理を開始するため、矩形生成工程102にリ
ターンする。
When deciding the block pin arrangement position,
The pin position is determined in consideration of the horizontal or vertical positional relationship between the block pins as much as possible so that the wiring is not bent. After the block pin arrangement position is determined, the process returns to the rectangle generation step 102 in order to end the processing for this connection relation and start the processing for another connection relation.

【0140】従来ピン配置工程109を、図12に示す
フロアプランの一例を参照しながら説明する。図12は
従来の手法で決定したブロックピン配置位置を示したも
のであり、符号の1101〜1109については既述の
とおりであり、新たな要素として、符号の1110はブ
ロックピン配置位置を示している。
The conventional pin arrangement step 109 will be described with reference to an example of a floor plan shown in FIG. FIG. 12 shows the block pin arrangement positions determined by the conventional method. Reference numerals 1101 to 1109 are as described above. As a new element, reference numeral 1110 indicates the block pin arrangement positions. I have.

【0141】まず、ブロックC1104の接続先のブロ
ックE1106に最も近い位置に存在するブロック辺を
ブロックC1104の右辺と検索し、ブロックC110
4の右辺をブロックピンの配置辺と決定する。また、ブ
ロックE1106のブロック辺で、接続先のブロックC
1104に最も近い位置に存在するブロックE1106
の左辺を検索し、ブロックピンの配置辺と決定する。
First, the block side existing closest to the block E1106 to which the block C1104 is connected is searched for as the right side of the block C1104, and the block C1104 is searched for.
The right side of 4 is determined as the arrangement side of the block pin. The block side of the block E1106 is connected to the block C of the connection destination.
Block E1106 located closest to 1104
Is searched for and determined as the arrangement side of the block pin.

【0142】次に、ブロックC1104およびブロック
E1106のブロックピン配置辺の位置関係を考慮し、
配線の折れ曲がりが発生しないように、極力、ブロック
ピン同士を水平あるいは垂直な位置関係となるようにブ
ロックピン配置位置1110を決定する。
Next, taking into account the positional relationship between the block pin arrangement sides of the block C1104 and the block E1106,
The block pin arrangement position 1110 is determined so that the block pins have a horizontal or vertical positional relationship as much as possible so that the wiring is not bent.

【0143】対象ネットのブロックピン配置辺の決定の
後は、対象ネットの処理を完了し、同じようにその他の
ネットの処理に移り、全てのネットのブロックピン配置
位置あるいはブロックピン配置辺が決定するまで、矩形
生成工程102から配置辺決定工程106あるいは従来
ピン配置工程109の工程を繰り返し行い、全てのネッ
トでブロックピン配置辺が決定された後、ブロックピン
配置位置決定工程107に移る。
After the determination of the block pin placement side of the target net, the processing of the target net is completed, and the process shifts to the processing of other nets in the same manner. The block pin placement positions or the block pin placement sides of all the nets are determined. Until the process, the steps from the rectangle generation step 102 to the placement side determination step 106 or the conventional pin placement step 109 are repeated. After the block pin placement sides have been determined for all nets, the process proceeds to the block pin placement position determination step 107.

【0144】ブロックピン配置位置決定工程107で
は、配置決定工程106で決定されたブロック辺内でブ
ロックピン配置位置の決定を行う。その際、事前に定め
られたピン間隔のルールを満たすようにブロックピン配
置位置を決定する。全てのブロックピン配置位置の決定
後、ブロック間仮想配線工程108に移る。
In the block pin arrangement position determination step 107, the block pin arrangement position is determined within the block side determined in the arrangement determination step 106. At this time, the block pin arrangement position is determined so as to satisfy a predetermined rule of the pin interval. After all the block pin arrangement positions are determined, the process proceeds to the inter-block virtual wiring step 108.

【0145】ブロック間仮想配線工程108では、ブロ
ックピン配置位置決定工程107で決定したブロックピ
ン配置位置を基に、ブロックピン間を最短距離で繋ぐブ
ロック間仮想配線を生成する。その後、フロアプラン工
程を終了し、従来通りにタイミング制約生成工程以降の
工程を行い、半導体集積回路の設計を行う。
In the inter-block virtual wiring step 108, based on the block pin arrangement position determined in the block pin arrangement position determining step 107, an inter-block virtual wiring connecting the block pins with the shortest distance is generated. After that, the floor plan process is completed, and the processes after the timing constraint generation process are performed as before, to design the semiconductor integrated circuit.

【0146】次に、上記で用いたフロアプランと別の例
を用いて説明を行う。
Next, an explanation will be given using another example different from the floor plan used above.

【0147】ブロック配置工程101において全てのブ
ロックの形状、配置位置を決定した後、矩形生成工程1
02に移る。矩形生成工程102を、図13に示すフロ
アプランの一例を参照しながら説明する。
After determining the shapes and arrangement positions of all the blocks in the block arrangement step 101, the rectangle generation step 1
Move to 02. The rectangle generation step 102 will be described with reference to an example of a floor plan shown in FIG.

【0148】図13は接続関係のあるブロックの重心を
矩形枠で囲むことを示したものであり、符号の1301
はブロック配置領域、1302〜1307はそれぞれブ
ロックA〜F、1308はブロックB1303およびブ
ロックF1308それぞれの重心、1309は矩形枠を
示している。
FIG. 13 shows that the center of gravity of a block having a connection relation is surrounded by a rectangular frame.
Denotes a block arrangement area, 1302 to 1307 denote blocks A to F, 1308 denotes a center of gravity of each of the block B 1303 and the block F 1308, and 1309 denotes a rectangular frame.

【0149】先に説明したフロアプランの例と同様に、
接続関係のあるそれぞれのブロックの縦横サイズを基に
ブロック重心1308,1308を求める。以下、ブロ
ックB1303とブロックF1307との間で接続関係
があるとし、ブロックピン配置辺を決定する方法を説明
する。
As in the case of the floor plan described above,
The block centroids 1308, 1308 are obtained based on the vertical and horizontal sizes of the respective blocks having a connection relationship. Hereinafter, it is assumed that there is a connection relationship between the block B1303 and the block F1307, and a method of determining a block pin arrangement side will be described.

【0150】接続関係のある全てのブロック重心130
8,1308を囲む最小サイズの矩形枠1309を生成
する。図13では、ブロックB1303およびブロック
F1307のそれぞれのブロック重心1308,130
8を囲む矩形枠1309を作成する。矩形枠1309の
生成後、障害物確認工程103に移る。
All the block centroids 130 having connection relations
A rectangular frame 1309 of the minimum size that surrounds 8,1308 is generated. In FIG. 13, respective block centroids 1308 and 130 of the block B1303 and the block F1307 are shown.
A rectangular frame 1309 surrounding 8 is created. After the generation of the rectangular frame 1309, the process proceeds to the obstacle confirmation step 103.

【0151】すでに説明した障害物確認条件式を用いて
矩形枠1309を上下または左右に横切る障害物が存在
しないか確認を行う障害物確認工程103では、矩形枠
1309に対し障害物確認条件式に該当するブロックが
存在しないため、図13のフロアプランの一例では障害
物は無しとなる。従って、従来ピン配置工程109に移
る。
In the obstacle checking step 103 for checking whether there is an obstacle crossing the rectangular frame 1309 vertically or horizontally using the obstacle checking conditional expression described above, the obstacle checking conditional expression for the rectangular frame 1309 is used. Since there is no corresponding block, there is no obstacle in the example of the floor plan in FIG. Therefore, the process proceeds to the conventional pin arrangement step 109.

【0152】従来ピン配置工程109では、〔従来の技
術〕の項で説明したブロックピン配置方法を用いてブロ
ックピンの配置位置を決定する。
In the conventional pin arrangement step 109, the arrangement position of the block pins is determined by using the block pin arrangement method described in the section of "Prior Art".

【0153】従来ピン配置工程109を、図14に示す
フロアプランの一例を参照しながら説明する。図14は
従来の手法で決定したブロックピン配置位置を示したも
のであり、符号の1301〜1309については既述の
とおりであり、新たな要素として、符号の1310はブ
ロックピン配置位置を示している。
The conventional pin placement step 109 will be described with reference to an example of a floor plan shown in FIG. FIG. 14 shows the block pin arrangement positions determined by the conventional method. Reference numerals 1301 to 1309 are as described above, and as a new element, reference numeral 1310 indicates the block pin arrangement positions. I have.

【0154】まず、ブロックB1303の接続先のブロ
ックF1307に最も近い位置に存在するブロック辺を
ブロックB1303の右辺と検索し、ブロックB130
3の右辺をブロックピンの配置辺と決定する。また、ブ
ロックF1307のブロック辺で、接続先のブロックB
1303に最も近い位置に存在するブロックF1307
の左辺を検索し、ブロックピンの配置辺と決定する。
First, the block side existing closest to the block F1307 to which the block B1303 is connected is searched for as the right side of the block B1303.
3 is determined as the arrangement side of the block pin. Also, on the block side of the block F1307, the connection destination block B
Block F1307 existing closest to 1303
Is searched for and determined as the arrangement side of the block pin.

【0155】次に、ブロックB1303およびブロック
F1307のブロックピン配置辺の位置関係を考慮し、
配線の折れ曲がりが発生しないように、極力、ブロック
ピン同士を水平あるいは垂直な位置関係となるようにブ
ロックピン配置位置1310を決定する。
Next, in consideration of the positional relationship between the block pin arrangement sides of the block B1303 and the block F1307,
The block pin arrangement position 1310 is determined so that the block pins have a horizontal or vertical positional relationship as much as possible so that the wiring is not bent.

【0156】対象ネットのブロックピン配置辺の決定の
後は、対象ネットの処理を完了し、同じようにその他の
ネットの処理に移り、全てのネットのブロックピン配置
位置あるいはブロックピン配置辺が決定するまで、矩形
生成工程102から配置辺決定工程106あるいは従来
ピン配置工程109の工程を繰り返し行い、全てのネッ
トでブロックピン配置辺が決定された後、ブロックピン
配置位置決定工程107に移る。
After the determination of the block pin arrangement side of the target net, the processing of the target net is completed, and the process shifts to the processing of other nets in the same manner. The block pin arrangement positions or the block pin arrangement sides of all the nets are determined. Until the process, the steps from the rectangle generation step 102 to the placement side determination step 106 or the conventional pin placement step 109 are repeated. After the block pin placement sides have been determined for all nets, the process proceeds to the block pin placement position determination step 107.

【0157】ブロックピン配置位置決定工程107で
は、配置決定工程106で決定されたブロック辺内でブ
ロックピン配置位置の決定を行う。その際、事前に定め
られたピン間隔のルールを満たすようにピン位置を決定
する。全てのブロックピン配置位置の決定後、ブロック
間仮想配線工程108に移る。
In the block pin arrangement position determining step 107, the block pin arrangement position is determined within the block side determined in the arrangement determining step 106. At this time, the pin position is determined so as to satisfy a predetermined rule of the pin interval. After all the block pin arrangement positions are determined, the process proceeds to the inter-block virtual wiring step 108.

【0158】ブロック間仮想配線工程108では、ブロ
ックピン配置位置決定工程107で決定したブロックピ
ン配置位置を基に、ブロックピン間を最短距離で繋ぐブ
ロック間仮想配線を生成する。その後、フロアプラン工
程を終了し、従来通りにタイミング制約生成工程以降の
工程を行い、半導体集積回路の設計を行う。
In the inter-block virtual wiring step 108, based on the block pin arrangement position determined in the block pin arrangement position determining step 107, an inter-block virtual wiring connecting the block pins with the shortest distance is generated. After that, the floor plan process is completed, and the processes after the timing constraint generation process are performed as before, to design the semiconductor integrated circuit.

【0159】以上のように構成された本実施の形態1の
半導体集積回路の設計方法(ブロックピン配置辺決定方
法)によると、ブロックを回り込む配線が発生するよう
なブロック辺にブロックピンを配置することがなくな
り、長距離ブロック間配線が発生しないため、長距離配
線に起因するタイミング違反の発生を防止することがで
きる。また、ブロック間仮想配線とブロック間配線の配
線誤差が原因となるタイミング違反の発生を防止するこ
とができる。
According to the semiconductor integrated circuit design method (block pin placement side determination method) of the first embodiment configured as described above, the block pins are placed on the block sides where wiring that goes around the block occurs. Since no long-distance inter-block wiring is generated, it is possible to prevent occurrence of timing violation caused by long-distance wiring. Further, it is possible to prevent a timing violation from occurring due to a wiring error between the virtual wiring between blocks and the wiring between blocks.

【0160】(実施の形態2)本発明の実施の形態2に
ついて図面を用いて説明する。
(Embodiment 2) Embodiment 2 of the present invention will be described with reference to the drawings.

【0161】図15は本発明にかかわる実施の形態2の
半導体集積回路の設計方法のフロアプラン工程で行う処
理のフローチャートを示す図である。図15において、
符号の1501はブロック配置工程、1502は矩形生
成工程、1503は障害物確認工程、1504は重心比
較工程、1505は矩形拡張工程、1506は配置辺決
定工程、1507は均等配置工程、1508はブロック
間仮想配線工程、1509は従来ピン配置工程である。
FIG. 15 is a diagram showing a flowchart of a process performed in a floor plan process of the method of designing a semiconductor integrated circuit according to the second embodiment of the present invention. In FIG.
Reference numerals 1501 are block arrangement steps, 1502 is a rectangle generation step, 1503 is an obstacle confirmation step, 1504 is a center of gravity comparison step, 1505 is a rectangle expansion step, 1506 is an arrangement side determination step, 1507 is a uniform arrangement step, and 1508 is an inter-block area. A virtual wiring step 1509 is a conventional pin arrangement step.

【0162】ブロック配置工程1501から配置辺決定
工程1506までは、上記の実施の形態1で説明した内
容と同一である。以下、均等配置工程1507以降を説
明する。配置辺決定工程1506でブロックピン配置辺
を決定した後、矩形生成工程1502にリターンし、そ
の他のネット全てのブロックピン配置辺を決定する。全
てのネットのブロックピン配置辺が決定された後、均等
配置工程1507に移る。
Steps from block arrangement step 1501 to arrangement side determination step 1506 are the same as those described in the first embodiment. Hereinafter, the equal arrangement step 1507 and subsequent steps will be described. After determining the block pin arrangement side in the arrangement side determination step 1506, the process returns to the rectangle generation step 1502 to determine the block pin arrangement sides of all other nets. After the block pin arrangement sides of all nets are determined, the process proceeds to the equal arrangement step 1507.

【0163】均等配置工程1507では、配置辺決定工
程1506で決定した各ブロックのブロックピン配置辺
に割り付けられたブロックピンを、そのブロックピン配
置辺において均等間隔で配置する。
In the equal arrangement step 1507, the block pins allocated to the block pin arrangement sides of each block determined in the arrangement side determining step 1506 are arranged at equal intervals on the block pin arrangement sides.

【0164】図16を用いて均等配置工程1507を説
明する。図16はブロックピンを均等間隔に配置したブ
ロックを示したもので、符号の1601はブロック枠、
1602はブロックピンを示している。
The uniform arrangement step 1507 will be described with reference to FIG. FIG. 16 shows a block in which block pins are arranged at equal intervals. Reference numeral 1601 denotes a block frame.
Reference numeral 1602 denotes a block pin.

【0165】各ブロックピン1602は、均等間隔で配
置されているが、以下に示す一例の方法を用いてブロッ
クピン配置位置を算出している。
Although the block pins 1602 are arranged at equal intervals, the arrangement positions of the block pins are calculated using the following example method.

【0166】対象ブロック辺のブロック辺長Lと、割り
付けられたブロックピン数nの情報を基に、ブロックピ
ンの間隔を下記の式より求めることができる。
On the basis of information on the block side length L of the target block side and the number n of the allocated block pins, the interval between the block pins can be obtained by the following equation.

【0167】L/(n+1) 上記式における(n+1)の「1」は、もし、この
「1」を加算せずに単純にブロック辺長をブロックピン
数で除算した場合、ブロック辺の端にブロックピンが配
置される計算のため、例えば左下のコーナ部分に配置さ
れたりすると、CADツールの制約により配線処理が正
常に動作しない場合がある。従って、配線処理を正常に
実行するために、ブロックピン数nに「1」を加算して
計算している。換言すれば、n個のブロックピンを等間
隔に配置するときのブロック辺の分割数は、(n+1)
になるからである。図16の例では、左辺ではn=1で
あるので2等分し、右辺ではn=2であるので3等分
し、上辺ではn=3であるので4等分し、下辺ではn=
4であるので5等分している。
L / (n + 1) “1” of (n + 1) in the above equation is obtained by dividing the block side length by the number of block pins without adding this “1”. For example, if a block pin is placed in a lower left corner for calculation, the wiring process may not operate properly due to restrictions of the CAD tool. Therefore, in order to execute the wiring processing normally, the calculation is performed by adding “1” to the number n of the block pins. In other words, when n block pins are arranged at equal intervals, the division number of the block side is (n + 1)
Because it becomes. In the example of FIG. 16, on the left side, n = 1, so that it is bisected, on the right side, it is n = 2, so it is divided into three, on the upper side, it is n = 3, and it is divided into four, and on the lower side, n =
Since it is 4, it is divided into 5 equal parts.

【0168】上記式より各ブロック辺毎に求めたピン間
隔を基に、まず1つ目のブロックピンをブロック辺端か
ら求めたピン間隔を取って配置する。その後は、すでに
配置したブロックピンから上記で求めたピン間隔毎にブ
ロックピンをブロック枠1601上に配置していく。な
お、従来ピン配置工程1509で配置されたピンとピン
の間隔のルールを満たせない場合、ルールを満たすよう
に配置位置の調整を行いながら配置する。
First, based on the pin intervals determined for each block side from the above equation, the first block pins are arranged at the pin intervals determined from the block edge. After that, the block pins are arranged on the block frame 1601 at the pin intervals determined above from the already arranged block pins. If the rule of the distance between the pins arranged in the conventional pin arrangement step 1509 cannot be satisfied, the arrangement is performed while adjusting the arrangement position so as to satisfy the rule.

【0169】以上の方法を用いて全ブロックの全ブロッ
クピン配置辺でブロックピンを均等間隔で配置する。そ
の後、ブロック間仮想配線工程1508(フロアプラン
工程)を終了し、従来通りに半導体集積回路の設計を行
う。
Using the above method, block pins are arranged at equal intervals on all block pin arrangement sides of all blocks. After that, the inter-block virtual wiring step 1508 (floor plan step) is completed, and the semiconductor integrated circuit is designed as in the related art.

【0170】このように構成された本実施の形態2の半
導体集積回路の設計方法(ブロックピン配置位置決定方
法)によると、同一のブロックピン配置辺において隣接
するブロックピンの間隔を均等化するため、ブロックピ
ンが限界を越えて集中的に配置されてしまうことで発生
する配線混雑を回避できる。したがって、配線混雑に起
因して配線処理が不可能という事態に陥ってしまうこと
を回避できる。その結果として、ブロックピンの配置変
更による設計後戻りを防止することができ、半導体集積
回路の設計を効率良く進めることができる。また、混雑
している箇所を配線が通れないということに起因して
の、その箇所を回り込むことによる配線長の増加やチッ
プサイズの増大を防止することができる。
According to the semiconductor integrated circuit design method (block pin arrangement position determining method) of the second embodiment thus configured, the distance between adjacent block pins on the same block pin arrangement side is equalized. In addition, it is possible to avoid wiring congestion caused by intensive arrangement of block pins beyond the limit. Therefore, it is possible to avoid a situation in which wiring processing cannot be performed due to wiring congestion. As a result, it is possible to prevent the design from returning due to the change in the arrangement of the block pins, and to efficiently design the semiconductor integrated circuit. Further, it is possible to prevent an increase in the wiring length and an increase in the chip size due to the fact that the wiring does not pass through the congested portion due to the route.

【0171】なお、もちろん、実施の形態1の場合と同
様に、ブロックを回り込んでの長距離ブロック間配線が
発生しないため、長距離配線に起因するタイミング違反
や、ブロック間仮想配線とブロック間配線の配線誤差に
起因するタイミング違反の発生を防止することができ
る。
[0171] Of course, as in the first embodiment, since long-distance inter-block wiring does not occur around the block, timing violations caused by long-distance wiring, virtual inter-block wiring and inter-block It is possible to prevent a timing violation from occurring due to a wiring error of the wiring.

【0172】(実施の形態3)本発明の実施の形態3に
ついて図面を用いて説明する。
(Embodiment 3) Embodiment 3 of the present invention will be described with reference to the drawings.

【0173】図17は本発明にかかわる実施の形態3の
半導体集積回路の設計方法のフロアプラン工程で行う処
理のフローチャートを示す図である。図17において、
符号の1701はブロック配置工程、1702は矩形生
成工程、1703は障害物確認工程、1704は重心比
較工程、1705は矩形拡張工程、1706は配置辺決
定工程、1707は配置位置指定工程、1708は指定
配置工程、1709はブロック間仮想配線工程、171
0は従来ピン配置工程である。
FIG. 17 is a flowchart showing the processing performed in the floor plan process of the method for designing a semiconductor integrated circuit according to the third embodiment of the present invention. In FIG.
Reference numeral 1701 denotes a block arrangement step, 1702 denotes a rectangle generation step, 1703 denotes an obstacle confirmation step, 1704 denotes a center of gravity comparison step, 1705 denotes a rectangle expansion step, 1706 denotes an arrangement side determination step, 1707 denotes an arrangement position designation step, and 1708 denotes designation. An arrangement step, 1709 is a virtual wiring step between blocks, 171
0 is a conventional pin arrangement step.

【0174】ブロック配置工程1701から配置辺決定
工程1706までは、上記の実施の形態1で説明した内
容と同一である。以下、配置位置指定工程1707以降
を説明する。配置辺決定工程1706でブロックピン配
置辺決定後、矩形生成工程1702にリターンし、その
他のネット全てのブロックピン配置辺を決定する。全て
のネットのブロックピン配置辺が決定された後、配置位
置指定工程1707に移る。
The contents from the block arrangement step 1701 to the arrangement side determination step 1706 are the same as those described in the first embodiment. Hereinafter, the arrangement position designation step 1707 and subsequent steps will be described. After determining the block pin arrangement side in the arrangement side determination step 1706, the process returns to the rectangle generation step 1702 to determine the block pin arrangement side of all other nets. After the block pin arrangement sides of all nets are determined, the process proceeds to an arrangement position designation step 1707.

【0175】配置位置指定工程1707では、配置辺決
定工程1706で決定した各ブロックのブロックピン配
置辺に割り付けられたブロックピンを、そのブロックピ
ン配置辺において任意の位置に配置位置指定する。指定
する方法の一例を以下に説明する。
In the arrangement position designation step 1707, the arrangement position of the block pin assigned to the block pin arrangement side of each block determined in the arrangement side determination step 1706 is specified at an arbitrary position on the block pin arrangement side. An example of the designation method will be described below.

【0176】CADツールでブロックレイアウトを行う
際に指定するブロックピンの拘束条件を使用し指定す
る。ブロックレイアウトを行う際は、ブロック単位にブ
ロックピンの拘束条件を設けることが一般的である。ブ
ロックピンの拘束条件とは、ブロックレイアウト時のブ
ロックピンの移動を制御するもので、主な条件としては
4種類ある。
Designation is performed using the constraint condition of the block pin specified when performing the block layout with the CAD tool. When performing a block layout, it is general to set a constraint condition of a block pin for each block. The constraint conditions of the block pins control the movement of the block pins during the block layout, and there are four main conditions.

【0177】拘束条件1:ピン配置の位置をまったく指
定しない。
Restriction condition 1: The position of the pin arrangement is not specified at all.

【0178】拘束条件2:ピンを配置するブロック辺を
指定する。
Restriction condition 2: Designate a block side on which pins are to be arranged.

【0179】拘束条件3:ピンを配置するブロック辺と
配置順番を指定する。
Restriction condition 3: Designate the block side where pins are to be arranged and the arrangement order.

【0180】拘束条件4:ピンを配置するブロック辺と
そのブロック辺上の座標を指定する。
Restriction condition 4: Designate a block side on which a pin is arranged and coordinates on the block side.

【0181】以上のような拘束条件を作成し、CADツ
ールに読み込ませることで任意に指定した位置にブロッ
クピン配置位置を指定する。また、拘束条件を生成する
際に、配置辺決定工程1706で決定したブロックピン
配置辺を変更しないように考慮する。また、従来ピン配
置工程1710で配置されたピンとピンの間隔のルール
を満たすように考慮する。拘束条件を使用したブロック
ピン配置位置を指定した後、指定配置工程1708に移
る。
The constraint conditions as described above are created and read into the CAD tool to designate the block pin arrangement position at an arbitrarily designated position. Also, when generating the constraint condition, consideration is given not to change the block pin arrangement side determined in the arrangement side determination step 1706. Also, consideration is given to satisfy the rule of the interval between the pins arranged in the conventional pin arrangement step 1710. After designating the block pin arrangement position using the constraint condition, the process proceeds to the designated arrangement step 1708.

【0182】図18を用いて指定配置工程1708を説
明する。図18はブロックピンを任意に指定した位置に
配置したブロックを示したもので、符号の1801はブ
ロック枠、1802はブロックピンを示している。
The designated arrangement step 1708 will be described with reference to FIG. FIG. 18 shows a block in which block pins are arranged at arbitrarily designated positions. Reference numeral 1801 denotes a block frame, and reference numeral 1802 denotes a block pin.

【0183】各ブロックピン1802は、配置位置指定
工程1707で指定した配置位置通りに、ブロックピン
配置位置を変更する。CADツールには、拘束条件通り
に配置する機能があり、その機能を用いることで自動配
置することは容易である。
Each block pin 1802 changes the block pin arrangement position according to the arrangement position designated in the arrangement position designation step 1707. The CAD tool has a function of arranging according to the constraint conditions, and it is easy to automatically arrange by using the function.

【0184】以上の方法を用いて全ブロックの全ブロッ
クピン配置辺でブロックピンを任意指定で配置位置を決
定する。その後、ブロック間仮想配線工程(フロアプラ
ン工程)を終了し、従来通りに半導体集積回路の設計を
行う。
By using the above method, the arrangement positions of the block pins are arbitrarily specified on all the block pin arrangement sides of all the blocks. After that, the inter-block virtual wiring step (floor plan step) is completed, and the semiconductor integrated circuit is designed as before.

【0185】このように構成された本実施の形態3の半
導体集積回路の設計方法(ブロックピン配置位置決定方
法)によると、任意の位置にブロックピンを配置するこ
とができるため、バスネット等において配線長を均等化
した状態での配線が可能となり、配線長の差分や誤差の
発生を抑制した状態での所望の配線を実現することが容
易となる。
According to the semiconductor integrated circuit design method (block pin arrangement position determination method) of the third embodiment configured as described above, block pins can be arranged at arbitrary positions. Wiring in a state where the wiring lengths are equalized becomes possible, and it becomes easy to realize a desired wiring in a state in which a difference in wiring length and an error are suppressed.

【0186】なお、もちろん、実施の形態1の場合と同
様に、ブロックを回り込んでの長距離ブロック間配線が
発生しないため、長距離配線に起因するタイミング違反
や、ブロック間仮想配線とブロック間配線の配線誤差に
起因するタイミング違反の発生を防止することができ
る。
It is needless to say that, as in the case of the first embodiment, since long-distance inter-block wiring does not occur around the block, timing violations caused by long-distance wiring, virtual inter-block wiring and inter-block It is possible to prevent a timing violation from occurring due to a wiring error of the wiring.

【0187】(実施の形態4)本発明の実施の形態4に
ついて図面を用いて説明する。
Embodiment 4 Embodiment 4 of the present invention will be described with reference to the drawings.

【0188】図19は本発明にかかわる実施の形態4の
半導体集積回路の設計方法のフロアプラン工程で行う処
理のフローチャートを示す図である。図19において、
符号の1901はブロック配置工程、1902はタイミ
ング制約リスト生成工程、1903は矩形生成工程、1
904は障害物確認工程、1905は重心比較工程、1
906は矩形拡張工程、1907は配置辺決定工程、1
908はタイミング制約順配置工程、1909はブロッ
ク間仮想配線工程、1910は従来ピン配置工程であ
る。
FIG. 19 is a diagram showing a flowchart of the processing performed in the floor plan step of the method for designing a semiconductor integrated circuit according to the fourth embodiment of the present invention. In FIG.
Reference numeral 1901 denotes a block arrangement step, 1902 denotes a timing constraint list generation step, 1903 denotes a rectangle generation step, 1
904 is an obstacle confirmation step, 1905 is a center of gravity comparison step, 1
Reference numeral 906 denotes a rectangle extension step, 1907 denotes an arrangement side determination step,
908 is a timing constraint order placement step, 1909 is an inter-block virtual wiring step, and 1910 is a conventional pin placement step.

【0189】ブロック配置工程1901は、上記の実施
の形態1で説明した内容と同一である。全てのブロック
の形状、配置位置を決定した後、タイミング制約リスト
生成工程1902に移る。
The block arrangement step 1901 is the same as the contents described in the first embodiment. After determining the shapes and arrangement positions of all the blocks, the process proceeds to a timing constraint list generation step 1902.

【0190】タイミング制約リスト生成工程1902で
は、ブロック間タイミング制約を読み込み、タイミング
制約の厳しい順番のタイミング制約リストを生成する。
ブロック間タイミング制約とは、人手で求めたブロック
間配線毎に定められた配線長、配線容量等の配線制約の
ことで、ブロック間配線は定められたタイミング制約を
満たすように生成しなければ、タイミング検証工程でタ
イミング違反ということになる。
In the timing constraint list generating step 1902, the timing constraints between blocks are read, and a timing constraint list in the order of strict timing constraints is generated.
The inter-block timing constraint is a wiring constraint, such as a wiring length and a wiring capacitance, determined for each inter-block wiring manually determined.If the inter-block wiring is not generated to satisfy the specified timing constraint, This is a timing violation in the timing verification process.

【0191】このタイミング制約の制約値とブロック間
配線のネット名、前記ネットで接続されるブロックピン
名の情報を基に、タイミング制約の厳しい順番にブロッ
クピンをまとめたタイミング制約リストを生成した後、
矩形生成工程1903に移る。
After generating a timing constraint list in which block pins are arranged in order of strict timing constraints based on the constraint values of the timing constraints, the net names of the inter-block wires, and the names of the block pins connected by the nets. ,
It moves to the rectangle generation step 1903.

【0192】矩形生成工程1903から配置辺決定工程
1907までは、上記の実施の形態1で説明した内容と
同一である。以下、タイミング制約順配置工程1908
以降を説明する。配置辺決定工程1907で対象ネット
のブロックピン配置辺を決定した後、タイミング制約順
配置工程1908に移る。
Steps from the rectangle generation step 1903 to the arrangement side determination step 1907 are the same as those described in the first embodiment. Hereinafter, the timing constraint order placement step 1908
The following will be described. After the placement side determination step 1907 determines the block pin placement side of the target net, the process proceeds to the timing constraint order placement step 1908.

【0193】タイミング制約順配置工程1908では、
配置辺決定工程1907で決定したブロックピン配置辺
に割り付けられたブロックピンを、そのブロックピン配
置辺内で矩形枠の重心に最も近い位置から順にタイミン
グ制約リストに基づいて配置する。
In the timing constraint order placement step 1908,
The block pins assigned to the block pin arrangement side determined in the arrangement side determination step 1907 are arranged based on the timing constraint list in order from the position closest to the center of gravity of the rectangular frame within the block pin arrangement side.

【0194】その際、ブロックピン配置辺内の矩形枠重
心に最も近い位置にすでに配置されているブロックピン
が存在する場合、タイミング制約リスト生成工程190
2で生成したタイミング制約リストを基に比較し、より
厳しいタイミング制約を付加されているブロックピンを
優先的に配置する。
At this time, when there is a block pin already arranged at a position closest to the center of gravity of the rectangular frame within the block pin arrangement side, a timing constraint list generation step 190
The block pins to which the stricter timing constraints are added are preferentially arranged based on a comparison based on the timing constraint list generated in step 2.

【0195】その一例を図20を用いて説明する。図2
0は矩形枠重心に最も近い位置から、タイミング制約の
厳しい順番に配置したブロックピン配置を示したもので
あり、符号の2001はブロック配置領域、2002〜
2006はブロックA〜E、2007はブロックB20
03およびブロックE2006の重心、2008は矩形
枠、2009は矩形枠重心(拡張前)、2010は障害
物重心、2011はブロックピンを示している。
An example will be described with reference to FIG. FIG.
0 indicates the block pin arrangement arranged in the order of the strictest timing constraint from the position closest to the center of gravity of the rectangular frame. Reference numeral 2001 indicates a block arrangement area,
2006 represents blocks A to E, and 2007 represents block B20.
03, the center of gravity of the block E2006, 2008, a rectangular frame, 2009, a rectangular frame center of gravity (before expansion), 2010, an obstacle center of gravity, and 2011, a block pin.

【0196】以下、ブロックB2003とブロックE2
006との間で接続関係があるネットで、ブロックE2
006の下辺に割り付けられたブロックピン2011の
ブロックピン配置位置を決定する方法の一例を説明す
る。
Hereinafter, block B2003 and block E2
A net having a connection relationship with 006 and a block E2
An example of a method of determining the block pin arrangement position of the block pin 2011 allocated to the lower side of 006 will be described.

【0197】まず、ブロックE2006の下辺内で矩形
枠重心2009に最も近い位置を求める。求める方法と
しては、矩形枠重心2009の座標と、ブロックE20
06の下辺の両端あるいは下辺の中央、下辺端から1/
4の位置等、複数のポイントの座標を比較し、最も矩形
枠重心2009と近い位置を特定する。ここでは、ブロ
ックE2006の下辺の左端の位置が矩形枠重心200
9に最も近い位置となる。
First, a position closest to the rectangular frame center of gravity 2009 within the lower side of the block E2006 is obtained. As a method for obtaining the coordinates, the coordinates of the rectangular frame center of gravity 2009 and the block E20
06 Both ends of the lower side or the center of the lower side, 1 /
By comparing the coordinates of a plurality of points such as the position 4, the position closest to the rectangular frame center of gravity 2009 is specified. Here, the position of the left end of the lower side of the block E2006 is
This is the position closest to No. 9.

【0198】次に、ブロックE2006の下辺の左端の
位置に、ブロックピン2011がすでに配置されている
か確認を行う。確認の結果、ブロックE2006の下辺
の左端の位置にブロックピン2011が配置されていな
い場合は、そのままブロックピン2011をブロックE
2006の下辺の左端の位置に配置する。ここで、左端
ということに注意する必要がある。すなわち、均等間隔
の場合について説明したように、左下コーナ部には配置
されないように考慮し、ブロック左辺とは少し間隔をと
るものとする。例えば、ブロックピンの最小間隔ルール
分の間隔をとる。
Next, it is checked whether the block pin 2011 has already been arranged at the left end position of the lower side of the block E2006. As a result of the confirmation, when the block pin 2011 is not arranged at the left end position of the lower side of the block E2006, the block pin 2011
It is arranged at the left end position of the lower side of 2006. Here, it should be noted that it is the left end. That is, as described in the case of the uniform spacing, it is assumed that the block is not arranged at the lower left corner, and the space is slightly spaced from the left side of the block. For example, an interval corresponding to the minimum interval rule of the block pin is set.

【0199】反対に、ブロックE2006の下辺の左端
の位置にブロックピン2011がすでに配置されている
場合、タイミング制約リスト生成工程1902で生成し
たタイミング制約リストに基づき、より厳しいタイミン
グ制約を与えられているブロックピン2011をブロッ
クE2006の下辺の左端の位置に優先的に配置する。
On the other hand, when the block pin 2011 is already arranged at the left end position of the lower side of the block E2006, a stricter timing constraint is given based on the timing constraint list generated in the timing constraint list generation step 1902. The block pin 2011 is preferentially arranged at the lower left position of the lower side of the block E2006.

【0200】上記の配置によりブロックE2006の下
辺の左端の位置に配置できなかったブロックピン201
1は、左端位置の次に矩形枠重心2009に近い位置を
特定し、その特定した位置にブロックピン2011が配
置されているか確認を行う。もし、特定した位置にブロ
ックピンが配置されていない場合、その特定した位置に
そのまま配置する。もし、特定した位置にブロックピン
が配置済みであれば、先に説明したタイミング制約リス
ト内の情報を基に、より厳しいタイミング制約を与えら
れているブロックピン2011を優先的に配置する。
With the above arrangement, the block pin 201 which could not be arranged at the left end position of the lower side of the block E2006
1 specifies a position near the rectangular frame center of gravity 2009 next to the left end position, and checks whether the block pin 2011 is arranged at the specified position. If the block pin is not arranged at the specified position, it is arranged at the specified position as it is. If the block pin has been arranged at the specified position, the block pin 2011 to which a stricter timing constraint is given is preferentially arranged based on the information in the timing constraint list described above.

【0201】以上の方法を用いて対象ネットのブロック
ピン配置位置を決定した後、矩形生成工程1903にリ
ターンし、その他のネット全てのブロックピン配置位置
が決定されるまで繰り返し行う。全てのネットのブロッ
クピン配置位置が決定された後、ブロック間仮想配線工
程1908(フロアプラン工程)を終了し、従来通りに
半導体集積回路の設計を行う。
After the block pin arrangement position of the target net is determined by using the above method, the process returns to the rectangle generation step 1903, and is repeated until the block pin arrangement positions of all other nets are determined. After the block pin arrangement positions of all the nets are determined, the inter-block virtual wiring step 1908 (floor planning step) is completed, and the semiconductor integrated circuit is designed in the conventional manner.

【0202】このように構成された本実施の形態4の半
導体集積回路の設計方法(ブロックピン配置位置決定方
法)によると、タイミング制約のより厳しいブロックピ
ンを優先して、矩形枠の重心により近い側つまりは接続
関係のある相手側のブロックにより近い側に配置するの
で、タイミング制約の厳しい順に配線長が短くなるよう
にブロックピンの配置位置を決めることができる。した
がって、タイミング制約を大きく外れるようなタイミン
グ違反が発生しないため、タイミング違反に対する改善
処理が軽減される。
According to the semiconductor integrated circuit design method (block pin arrangement position determination method) of the fourth embodiment thus configured, the block pin having more severe timing constraints is prioritized and is closer to the center of gravity of the rectangular frame. Since the pins are arranged on the side, that is, on the side closer to the partner block having a connection relationship, the arrangement position of the block pins can be determined so that the wiring length becomes shorter in the order of strict timing constraints. Therefore, since a timing violation that greatly deviates from the timing constraint does not occur, the processing for improving the timing violation is reduced.

【0203】なお、タイミング制約リスト生成工程19
02で利用するブロック間タイミング制約については、
人手で作成する以外に、ブロック間配線毎に定められた
配線長、配線容量等の配線制約を出力するツールを用い
て作成しても同様の効果が得られる。
The timing constraint list generation step 19
For the timing constraint between blocks used in 02,
Similar effects can be obtained by using a tool that outputs a wiring constraint such as a wiring length and a wiring capacity determined for each inter-block wiring, in addition to the manual creation.

【0204】なお、タイミング制約順配置工程1908
でブロックピンを配置する際に、対象ネットの矩形枠の
縦横サイズを加算した長さを求めるとともに、タイミン
グ制約値を基に1μm当たりの制約値とを求めて保持
し、この1μm当たりの制約値を配置優先の比較に用い
ることで、より正確にタイミング制約の厳しさを比較す
ることが可能であるため、より良い効果が得られる。
The timing constraint order placement step 1908
When arranging the block pins, the length obtained by adding the vertical and horizontal sizes of the rectangular frame of the target net is obtained, and the constraint value per 1 μm is obtained and held based on the timing constraint value, and the constraint value per 1 μm is held. Is used for the comparison of the placement priority, it is possible to more accurately compare the strictness of the timing constraint, so that a better effect can be obtained.

【0205】なお、もちろん、実施の形態1の場合と同
様に、ブロックを回り込んでの長距離ブロック間配線が
発生しないため、長距離配線に起因するタイミング違反
や、ブロック間仮想配線とブロック間配線の配線誤差に
起因するタイミング違反の発生を防止することができ
る。
It is needless to say that, as in the case of the first embodiment, since long-distance inter-block wiring does not occur around the block, timing violations caused by long-distance wiring, virtual inter-block wiring and inter-block It is possible to prevent a timing violation from occurring due to a wiring error of the wiring.

【0206】(実施の形態5)本発明の実施の形態5に
ついて図面を用いて説明する。
(Embodiment 5) Embodiment 5 of the present invention will be described with reference to the drawings.

【0207】図21は本発明にかかわる実施の形態5の
半導体集積回路の設計方法のフロアプラン工程で行う処
理のフローチャートを示す図である。図21において、
符号の2101はブロック配置工程、2102は仮配線
長算出工程、2103は仮想タイミング検証工程、21
04は検証結果リスト生成工程、2105は矩形生成工
程、2106は障害物確認工程、2107は重心比較工
程、2108は矩形拡張工程、2109は配置辺決定工
程、2110はタイミング順配置工程、2111はブロ
ック間仮想配線工程、2112は従来ピン配置工程であ
る。
FIG. 21 is a diagram showing a flowchart of the processing performed in the floor plan step of the method of designing a semiconductor integrated circuit according to the fifth embodiment of the present invention. In FIG.
Reference numeral 2101 denotes a block arrangement step, reference numeral 2102 denotes a temporary wiring length calculation step, reference numeral 2103 denotes a virtual timing verification step, 21
04 is a verification result list generation step, 2105 is a rectangle generation step, 2106 is an obstacle confirmation step, 2107 is a center of gravity comparison step, 2108 is a rectangle expansion step, 2109 is an arrangement side determination step, 2110 is a timing order arrangement step, and 2111 is a block. The inter-virtual wiring step 2112 is a conventional pin arrangement step.

【0208】ブロック配置工程2101は上記の実施の
形態1で説明した内容と同一である。全てのブロックの
形状、配置位置を決定した後、仮配線長算出工程210
2に移る。仮配線長算出工程2102では、各ネット単
位のブロック間配線長を求める。ブロック間配線長を求
める一例を以下に説明する。
The block arranging step 2101 is the same as the contents described in the first embodiment. After determining the shapes and arrangement positions of all the blocks, a temporary wiring length calculating step 210
Move to 2. In the provisional wiring length calculation step 2102, the wiring length between blocks for each net is obtained. An example of obtaining the inter-block wiring length will be described below.

【0209】まず、各ブロックの縦サイズ、横サイズを
基にブロック重心を求める。次に、各ブロックのブロッ
ク重心にブロックピンを配置したと仮定して、ブロック
間仮配線長を求める。
First, the center of gravity of a block is obtained based on the vertical size and horizontal size of each block. Next, assuming that the block pins are arranged at the block center of gravity of each block, the inter-block temporary wiring length is obtained.

【0210】仮配線長を求める方法は、次のとおりであ
る。接続関係のある2つのブロックの重心に着目し、マ
ンハッタン経路(X方向とY方向の組み合わせでかつ迂
回せずに2点間を結ぶ経路)に沿った2点間距離を求め
る。すなわち、2つの重心のX座標の差分とY座標の差
分とを加算した距離をブロック間仮配線長とする。
The method for obtaining the temporary wiring length is as follows. Focusing on the centers of gravity of two blocks having a connection relationship, a distance between two points along a Manhattan path (a path connecting two points without a detour in a combination of the X and Y directions) is obtained. That is, the distance obtained by adding the difference between the X coordinates and the difference between the Y coordinates of the two centers of gravity is defined as the inter-block temporary wiring length.

【0211】このようにブロック間仮配線長を算出した
後、仮想タイミング検証工程2103に移る。
After calculating the inter-block tentative wiring length in this way, the process proceeds to a virtual timing verification step 2103.

【0212】仮想タイミング検証工程2103では、ネ
ットリスト、仮配線長算出工程2102で求めたブロッ
ク間仮配線長、および、上記の実施の形態4で説明した
ブロック間タイミング制約を基に仮想タイミング検証を
行う。ネットリストと、仮配線長算出工程2102で求
めたブロック間仮配線長を基に遅延計算を行い、タイミ
ング制約に対してタイミングを満たすことができるか否
かを検証する。検証後、検証結果リスト生成工程210
4に移る。
In the virtual timing verification step 2103, virtual timing verification is performed based on the net list, the inter-block temporary wiring length obtained in the temporary wiring length calculation step 2102, and the inter-block timing constraint described in the fourth embodiment. Do. Delay calculation is performed based on the netlist and the inter-block temporary wire length obtained in the temporary wire length calculation step 2102, and it is verified whether or not the timing can be satisfied with respect to the timing constraint. After verification, a verification result list generation step 210
Move to 4.

【0213】検証結果リスト生成工程2104では、仮
想タイミング検証工程2103の検証結果とブロック間
配線のネット名、前記ネットで接続されるブロックピン
名の情報を基に、タイミング制約に対する違反値の大き
い順番、すなわち前記タイミング検証の結果によるタイ
ミング制約を満たすことの厳しさの順番にブロックピン
をまとめた検証結果リストを生成する。検証結果リスト
を生成した後、矩形生成工程2105に移る。
In the verification result list generation step 2104, based on the verification result of the virtual timing verification step 2103, the net name of the inter-block wiring, and the name of the block pin connected by the net, the order in which the violation values with respect to the timing constraints are large is That is, a verification result list in which block pins are arranged in the order of strictness of satisfying the timing constraint based on the result of the timing verification is generated. After generating the verification result list, the process proceeds to the rectangle generation step 2105.

【0214】矩形生成工程2105から配置辺決定工程
2109までは、上記の実施の形態1で説明した内容と
同一である。以下、タイミング順配置工程2110以降
を説明する。配置辺決定工程2109で対象ネットのブ
ロックピン配置辺を決定した後、タイミング順配置工程
2110に移る。
[0214] The steps from the rectangle generation step 2105 to the arrangement side determination step 2109 are the same as those described in the first embodiment. Hereinafter, the timing order arrangement step 2110 and subsequent steps will be described. After determining the block pin placement side of the target net in the placement side determination step 2109, the process proceeds to the timing order placement step 2110.

【0215】タイミング順配置工程2110では、配置
辺決定工程2109で決定したブロックピン配置辺に割
り付けられたブロックピンを、ブロックピン配置辺内で
矩形枠重心に最も近い位置から順に検証結果リストに基
づいて配置する。
In the timing order arranging step 2110, the block pins assigned to the block pin arranging sides determined in the arranging side deciding step 2109 are arranged in order from the position closest to the rectangular frame center of gravity in the block pin arranging sides based on the verification result list. To place.

【0216】その際、ブロックピン配置辺内の矩形枠重
心に最も近い位置にすでに配置されているブロックピン
が存在する場合、検証結果リスト生成工程2104で生
成した検証結果リストを基に比較し、タイミング制約を
満たすことがより厳しいブロックピンを優先的に配置す
る。
At this time, if there is a block pin already arranged at a position closest to the center of gravity of the rectangular frame in the block pin arrangement side, a comparison is made based on the verification result list generated in the verification result list generation step 2104, and Block pins that are more difficult to satisfy timing constraints are preferentially placed.

【0217】その方法の一例を図22を用いて説明す
る。図22はタイミング制約を満たすことが厳しい順番
に配置したブロックピン配置を示したものであり、符号
の2201はブロック配置領域、2202〜2207は
ブロックA〜E、2207はブロックB2203および
ブロックE2206の重心、2208は矩形枠、220
9は矩形枠重心(拡張前)、2210は障害物重心、2
211はブロックピンを示している。
An example of the method will be described with reference to FIG. FIG. 22 shows block pin arrangements arranged in an order that strictly satisfies the timing constraint. Reference numeral 2201 denotes a block arrangement area, reference numerals 2202 to 2207 denote blocks A to E, 2207 denotes a center of gravity of the block B 2203 and the block E 2206. , 2208 is a rectangular frame, 220
9 is the center of gravity of the rectangular frame (before expansion), 2210 is the center of gravity of the obstacle, 2
211 denotes a block pin.

【0218】以下、ブロックB2203とブロックE2
206との間で接続関係があるネットで、ブロックE2
206の下辺に割り付けられたブロックピン2211の
ブロックピン配置位置を決定する方法の一例を説明す
る。
Hereinafter, block B2203 and block E2
A net having a connection relationship with the block 206 and a block E2
An example of a method for determining the block pin arrangement position of the block pin 2211 allocated to the lower side of the 206 will be described.

【0219】まず、ブロックE2206の下辺内で矩形
枠重心2209に最も近い位置を求める。求める方法と
しては、上記の実施の形態4で説明した方法で特定す
る。ここでは、ブロックE2206の下辺の左端の位置
が矩形枠重心2209に最も近い位置となる。
First, a position closest to the rectangular frame center of gravity 2209 within the lower side of the block E2206 is determined. As a method of obtaining, it is specified by the method described in the fourth embodiment. Here, the position of the left end of the lower side of the block E2206 is the position closest to the rectangular frame center of gravity 2209.

【0220】次に、ブロックE2206の下辺の左端の
位置に、ブロックピン2211がすでに配置されている
か確認を行う。確認の結果、ブロックE2206の下辺
の左端の位置にブロックピン2211が配置されていな
い場合、そのままブロックピン2211をブロックE2
206の下辺の左端の位置に配置する。ここで、左端と
いうことに注意する必要がある。すなわち、均等間隔の
場合について説明したように、左下コーナ部には配置さ
れないように考慮し、ブロック左辺とは少し間隔をとる
ものとする。例えば、ブロックピンの最小間隔ルール分
の間隔をとる。
Next, it is confirmed whether or not the block pin 2211 is already arranged at the left end position of the lower side of the block E2206. As a result of the confirmation, if the block pin 2211 is not arranged at the left end position of the lower side of the block E2206, the block pin 2211 is directly replaced with the block E2206.
206 is arranged at the left end position of the lower side. Here, it should be noted that it is the left end. That is, as described in the case of the uniform spacing, it is assumed that the block is not arranged at the lower left corner, and the space is slightly spaced from the left side of the block. For example, an interval corresponding to the minimum interval rule of the block pin is set.

【0221】反対に、ブロックE2206の下辺の左端
の位置にブロックピン2211がすでに配置されている
場合、検証結果リスト生成工程2104で生成した検証
結果リスト内の情報を基に、タイミング制約を満たすこ
とがより厳しいブロックピン2211をブロックE22
06の下辺の左端の位置に優先的に配置する。
On the other hand, if the block pin 2211 is already arranged at the left end position on the lower side of the block E2206, the timing constraint must be satisfied based on the information in the verification result list generated in the verification result list generation step 2104. Uses the stricter block pin 2211 to block E22
06 is preferentially arranged at the left end position of the lower side.

【0222】上記の配置によりブロックE2206の下
辺の左端の位置に配置できなかったブロックピン221
1は、左端位置の次に矩形枠重心2209に近い位置を
特定し、特定した位置にブロックピン2211がすでに
配置されているか確認を行う。もし、特定した位置にブ
ロックピンが配置されていない場合、その特定した位置
にそのまま配置する。もし、特定した位置にブロックピ
ンが配置済みであれば、先に説明した検証結果リスト内
の情報を基に、タイミング制約を満たすことがより厳し
いブロックピン2211を優先的に配置する。
The block pin 221 which could not be arranged at the left end position of the lower side of the block E2206 due to the above arrangement
1 specifies a position near the rectangular frame center of gravity 2209 next to the left end position, and checks whether the block pin 2211 is already arranged at the specified position. If the block pin is not arranged at the specified position, it is arranged at the specified position as it is. If the block pin has been arranged at the specified position, the block pin 2211 which is more strict to satisfy the timing constraint is preferentially arranged based on the information in the verification result list described above.

【0223】以上の方法を用いて対象ネットのブロック
ピン配置位置を決定した後、矩形生成工程2105にリ
ターンし、その他のネット全てのブロックピン配置位置
が決定されるで繰り返し行う。全てのネットのブロック
ピン配置位置が決定された後、ブロック間仮想配線工程
2111(フロアプラン工程)を終了し、従来通りに半
導体集積回路の設計を行う。
After the block pin arrangement position of the target net is determined by using the above-described method, the process returns to the rectangle generation step 2105, and the process is repeated because the block pin arrangement positions of all other nets are determined. After the block pin arrangement positions of all the nets are determined, the inter-block virtual wiring step 2111 (floor plan step) is completed, and the semiconductor integrated circuit is designed as before.

【0224】このように構成された本実施の形態5の半
導体集積回路の設計方法(ブロックピン配置位置決定方
法)によると、タイミング制約を満たすことの厳しさの
順番(タイミング検証結果)においてより厳しいブロッ
クピンを優先して、矩形枠重心により近い側つまりは接
続関係のある相手側のブロックにより近い側に配置する
ので、タイミング制約を満たすことの厳しさ(タイミン
グ検証結果)の順番においてより厳しい順に配線長が短
くなるようにブロックピンの配置位置を決めることが可
能となり、タイミング制約を大きく外れるようなタイミ
ング違反が発生しないため、タイミング違反に対する改
善処理が軽減される。
According to the semiconductor integrated circuit designing method (block pin arrangement position determining method) of the fifth embodiment thus configured, the order of the strictness of satisfying the timing constraint (timing verification result) is stricter. Since the block pins are preferentially arranged on the side closer to the rectangular frame center of gravity, that is, on the side closer to the block on the other side of the connection relationship, the order in which the strictness of satisfying the timing constraint (timing verification result) is stricter is set. Since the arrangement position of the block pins can be determined so that the wiring length is shortened, and a timing violation that greatly deviates from the timing constraint does not occur, the processing for improving the timing violation is reduced.

【0225】なお、仮想タイミング検証工程2103、
検証結果リスト生成工程2104で利用するブロック間
タイミング制約は、人手で作成する以外に、ブロック間
配線毎に定められた配線長、配線容量等の配線制約を出
力するツールを用いて作成しても同様の効果が得られ
る。
The virtual timing verification step 2103,
The inter-block timing constraint used in the verification result list generation step 2104 may be created manually or by using a tool that outputs a wiring constraint such as a wiring length and a wiring capacity determined for each inter-block wiring. Similar effects can be obtained.

【0226】なお、仮想タイミング検証工程2103で
用いたブロック間仮配線長に代えて、一般的にワイヤロ
ードモデルと呼ばれる配線の統計情報より算出した配線
容量データ、あるいは配線遅延データを用いることも可
能である。
Note that, instead of the inter-block temporary wiring length used in the virtual timing verification step 2103, wiring capacitance data or wiring delay data generally calculated from wiring statistical information called a wire load model can be used. It is.

【0227】なお、タイミング順配置工程2110でブ
ロックピンを配置する際に、対象ネットの矩形枠の縦横
サイズを加算した長さを求めるとともに、タイミング制
約を満たせない違反値を基に1μm当たりの違反値を求
めて保持し、この1μm当たりの違反値を配置優先の比
較に用いることで、より正確に違反値を比較することが
可能であるため、より良い効果が得られる。
When arranging the block pins in the timing order arranging step 2110, the length obtained by adding the vertical and horizontal sizes of the rectangular frame of the target net is determined, and the violation per 1 μm is determined based on the violation value that cannot satisfy the timing constraint. By obtaining and holding the value, and using the violation value per 1 μm for the comparison of the arrangement priority, it is possible to more accurately compare the violation values, so that a better effect can be obtained.

【0228】なお、もちろん、実施の形態1の場合と同
様に、ブロックを回り込んでの長距離ブロック間配線が
発生しないため、長距離配線に起因するタイミング違反
や、ブロック間仮想配線とブロック間配線の配線誤差に
起因するタイミング違反の発生を防止することができ
る。
It is needless to say that, as in the case of the first embodiment, since long-distance inter-block wiring does not occur around a block, timing violations caused by long-distance wiring, virtual inter-block wiring and inter-block It is possible to prevent a timing violation from occurring due to a wiring error of the wiring.

【0229】ここで、実施の形態4と実施の形態5にお
けるタイミング制約について、配線長の判断の仕方を補
足説明する。対象となっている共通のブロックに対して
接続関係のある第1および第2の2つのブロックを考え
る。第1のブロックの重心と共通ブロックの重心とを囲
む最小サイズの矩形枠を形成し、その縦辺の長さと横辺
の長さとを加算して第1の仮配線長とする。例えば、第
1の仮配線長=10μm+90μm=100μmとす
る。同様に、第2のブロックの重心と共通ブロックの重
心とを囲む最小サイズの矩形枠を形成し、その縦辺の長
さと横辺の長さとを加算して第2の仮配線長とする。例
えば、第2の仮配線長=60μm+90μm=150μ
mとする。そして、第1のブロックと共通ブロックとの
間のタイミング制約をR1 、第2のブロックと共通ブロ
ックとの間のタイミング制約をR2とする。理解を容易
にするため、ここでは、R1 =R2 =R0 とする。1μ
m当たりの制約値を求めると、第1のブロックと共通ブ
ロックとの間の配線については、R0 /100であり、
第2のブロックと共通ブロックとの間の配線について
は、R0 /150である。これを比較すると、後者の方
が小さいので、後者の配線の方を優先する。すなわち、
共通ブロックから第1のブロックに向けての配線と共通
ブロックから第2のブロックに向けての配線とにおい
て、仮配線長がより長い方第2のブロックに対しての配
線のためのブロックピンの配置を優先して、共通ブロッ
クにおけるブロックピン配置辺において障害物ブロック
の重心により近い方から配置していくのである。
Here, with regard to the timing constraints in the fourth and fifth embodiments, a supplementary explanation will be given on the method of determining the wiring length. Consider first and second two blocks that are connected to a common block of interest. A rectangular frame having a minimum size surrounding the center of gravity of the first block and the center of gravity of the common block is formed, and the length of the vertical side and the length of the horizontal side are added to form a first temporary wiring length. For example, the first temporary wiring length = 10 μm + 90 μm = 100 μm. Similarly, a rectangular frame having a minimum size surrounding the center of gravity of the second block and the center of gravity of the common block is formed, and the length of the vertical side and the length of the horizontal side are added to form a second temporary wiring length. For example, the second temporary wiring length = 60 μm + 90 μm = 150 μ
m. The timing constraint between the first block and the common block is R 1 , and the timing constraint between the second block and the common block is R 2 . Here, it is assumed that R 1 = R 2 = R 0 for easy understanding. 1μ
When a constraint value per m is obtained, R 0/100 is obtained for the wiring between the first block and the common block.
For wiring between the second block and common block is R 0 / 0.99. In comparison, since the latter is smaller, the latter wiring has priority. That is,
In the wiring from the common block to the first block and the wiring from the common block to the second block, the longer one of the provisional wiring lengths is the length of the block pin for wiring to the second block. With priority given to the arrangement, the blocks are arranged from the side closer to the center of gravity of the obstacle block on the block pin arrangement side of the common block.

【0230】(実施の形態6)本発明の実施の形態6に
ついて図面を用いて説明する。
(Embodiment 6) Embodiment 6 of the present invention will be described with reference to the drawings.

【0231】図23は本発明にかかわる実施の形態6の
半導体集積回路の設計方法のフロアプラン工程で行う処
理のフローチャートを示す図である。図23において、
符号の2301はブロック配置工程、2302は矩形生
成工程、2303は障害物確認工程、2304は重心比
較工程、2305は矩形拡張工程、2306は配置辺決
定工程、2307は配置確認工程、2308は配置調整
工程、2309はブロックピン配置工程、2310はブ
ロック間仮想配線工程、2311は従来ピン配置工程で
ある。
FIG. 23 is a diagram showing a flowchart of a process performed in the floor plan process of the method for designing a semiconductor integrated circuit according to the sixth embodiment of the present invention. In FIG.
Reference numeral 2301 denotes a block arrangement step, 2302 denotes a rectangle generation step, 2303 denotes an obstacle confirmation step, 2304 denotes a center of gravity comparison step, 2305 denotes a rectangle extension step, 2306 denotes an arrangement side determination step, 2307 denotes an arrangement confirmation step, and 2308 denotes an arrangement adjustment. Step 2309 is a block pin arrangement step, 2310 is an inter-block virtual wiring step, and 2311 is a conventional pin arrangement step.

【0232】ブロック配置工程2301から配置辺決定
工程2306までは、上記の実施の形態1で説明した内
容と同一である。以下、配置確認工程2307以降を説
明する。配置辺決定工程2306でブロックピン配置辺
を決定した後、矩形生成工程2302にリターンし、そ
の他のネット全てのブロックピン配置辺を決定する。全
てのネットのブロックピン配置辺が決定された後、配置
確認工程2307に移る。
The contents from the block arrangement step 2301 to the arrangement side determination step 2306 are the same as those described in the first embodiment. Hereinafter, the arrangement confirmation step 2307 and subsequent steps will be described. After determining the block pin arrangement side in the arrangement side determination step 2306, the process returns to the rectangle generation step 2302 to determine the block pin arrangement sides of all other nets. After the block pin arrangement sides of all nets are determined, the process proceeds to the arrangement confirmation step 2307.

【0233】図24を用いて配置確認工程2307以降
を説明する。図24は1つのブロックピン配置辺に割り
付けられたブロックピンの数がオーバーフローしたとき
に、その過剰分のブロックピンを、前記のブロックピン
配置辺に隣り合うブロック辺において配置した結果を示
したものである。図24において、符号の2401はブ
ロック配置領域、2402〜2406はブロックA〜
E、2407はチップ重心、2408はブロックピンを
示している。
The arrangement confirmation step 2307 and subsequent steps will be described with reference to FIG. FIG. 24 shows a result in which, when the number of block pins allocated to one block pin arrangement side overflows, the excess block pin is arranged on a block side adjacent to the block pin arrangement side. It is. In FIG. 24, reference numeral 2401 denotes a block arrangement area, and 2402 to 2406 denote blocks A to
E and 2407 indicate the center of gravity of the chip, and 2408 indicates a block pin.

【0234】以下、ブロックピン配置辺に割り付けられ
たブロックピン数がブロックピン配置許容量をオーバー
フローしていないか確認する方法と、オーバーフローし
ていた場合のブロックピン数の調整方法と、ブロックピ
ン配置とについて説明を行う。ここでは、ブロックE2
406に着目して説明する。
Hereinafter, a method for confirming whether the number of block pins allocated to the block pin arrangement side overflows the permissible block pin arrangement amount, a method for adjusting the number of block pins in the case of overflow, and a method for adjusting the block pin arrangement Will be described. Here, block E2
A description will be given focusing on 406.

【0235】配置確認工程2307では、ブロックピン
配置辺に割り付けられた複数個のブロックピンの個数が
ブロックピン配置辺のブロックピン配置許容量を越えて
いないか確認を行う。もし、割り付けられたブロックピ
ンの個数がブロックピン配置辺のブロックピン配置許容
量を越えているとすると、ブロックピン配置辺よりはみ
出してブロックピン配置辺上にブロックピンを配置でき
なくなってしまう。もし、無理にブロックピン配置辺に
配置すると、定められたピン間隔のルールを満たせない
ブロックピン配置になってしまうおそれがある。そこ
で、配置確認を行う必要がある。
In the arrangement confirmation step 2307, it is confirmed whether the number of the plurality of block pins allocated to the block pin arrangement side does not exceed the allowable block pin arrangement amount of the block pin arrangement side. If the number of allocated block pins exceeds the permissible block pin arrangement amount of the block pin arrangement side, the block pins protrude from the block pin arrangement side and cannot be arranged on the block pin arrangement side. If they are forcibly arranged on the side where the block pins are arranged, there is a possibility that the arrangement of the block pins may not be able to satisfy the rule of the predetermined pin interval. Therefore, it is necessary to confirm the arrangement.

【0236】確認する方法の一例として、配置確認工程
2307でチップの縦横サイズを基にチップ重心240
7を求める。次に、各ブロックのブロック辺長L、最小
ピン間隔Pから下記の式を用いてブロック辺毎のブロッ
クピン配置許容量Sを算出する。
As an example of a checking method, in the arrangement checking step 2307, the chip center of gravity 240
Ask for 7. Next, the block pin arrangement allowable amount S for each block side is calculated from the block side length L and the minimum pin interval P of each block using the following equation.

【0237】S=(L/P)−1 LをPで割ると、辺Lを等分する個数が得られる。ブロ
ックピンの配置個数は、その等分個数より1つ小さい。
したがって、上式がブロックピン配置許容量Sを求める
式となる。
S = (L / P) -1 When L is divided by P, the number of equally dividing the side L is obtained. The number of arranged block pins is one less than the equal number.
Therefore, the above equation is an equation for calculating the allowable block pin arrangement amount S.

【0238】上記で求めたブロックピン配置許容量Sと
割り付けられたブロックピン数Nを比較し、ブロックピ
ン配置許容量Sを越えるブロックピンが割り付けられて
いるか確認する。なお、ブロックピン数Nには従来ピン
配置工程2311で配置されたピンも含んで比較する。
By comparing the block pin arrangement allowable amount S obtained above with the allocated block pin number N, it is confirmed whether or not a block pin exceeding the block pin arrangement allowable amount S is allocated. The number of block pins N is compared with that of the conventional pin arrangement step 2311 including the pins arranged.

【0239】比較結果でブロックピン数Nの方が少ない
場合、割り付けられたブロックピン数Nがブロックピン
配置辺のブロックピン配置許容量Sを越えていないとい
うことが分かるため、次工程であるブロックピン配置工
程2309に移る。
If the comparison result indicates that the number N of block pins is smaller, it can be seen that the number N of allocated block pins does not exceed the permissible amount S of block pins on the side where the block pins are arranged. It moves to the pin arrangement step 2309.

【0240】反対に、比較結果でブロックピン配置許容
量Sの方が少ない場合、割り付けられたブロックピン数
Nはそのブロックピン配置辺のブロックピン配置許容量
Sを越えることが分かるため、配置調整工程2308に
移る。
Conversely, if the block pin arrangement allowable amount S is smaller than the comparison result, it can be seen that the number N of allocated block pins exceeds the block pin arrangement allowable amount S of the block pin arrangement side. Move to step 2308.

【0241】ブロックE2406の下辺では、ブロック
ピン配置許容量をS=7とし、割り付けられたブロック
ピン数をN=9として説明する。ブロックピン数Nがブ
ロックピン配置許容量Sを越えるため、配置調整工程2
308に移る。
In the lower side of the block E2406, description will be made assuming that the allowable block pin arrangement amount is S = 7 and the number of allocated block pins is N = 9. Since the number N of block pins exceeds the block pin arrangement allowable amount S, the arrangement adjustment process 2
Move to 308.

【0242】配置調整工程2308では、ブロックピン
過剰分のブロックピン数を算出し、そのブロックピン配
置辺に繋がる2辺のうちでチップ重心2407に近い方
の辺に、ブロックピン過剰分のブロックピンについての
ブロックピン配置辺を変更する。なお、配置辺を変更す
るブロックピンの特定では、配置辺決定工程2306で
割り付けられたピンを、従来ピン配置工程2311で配
置されたピンより優先して特定する。
In the arrangement adjusting step 2308, the number of block pins corresponding to the excess block pins is calculated, and the excess of the block pins is assigned to the side closer to the chip center of gravity 2407 of the two sides connected to the block pin arrangement side. Change the block pin placement side for. In specifying the block pin whose arrangement side is to be changed, the pin assigned in the arrangement side determination step 2306 is specified in preference to the pin arranged in the conventional pin arrangement step 2311.

【0243】ブロックE2406の下辺では、過剰分の
ブロックピン数が「2」(=9−7)であり、この2つ
のブロックピンについて、ブロックE2406の下辺に
繋がる2辺のうちのチップ重心2407に近い方の辺に
すなわちブロックE2406の左辺にブロックピン配置
辺を変更する。
On the lower side of the block E2406, the number of excess block pins is “2” (= 9−7), and the two block pins are located at the chip centroid 2407 of the two sides connected to the lower side of the block E2406. The block pin arrangement side is changed to the closer side, that is, the left side of the block E2406.

【0244】以上の方法を用いて全てのブロックのブロ
ック辺でブロックピン数の調整を行い、ブロックピン配
置工程2309に移る。
Using the above method, the number of block pins is adjusted on the block sides of all the blocks, and the process proceeds to the block pin arranging step 2309.

【0245】ブロックピン配置工程2309では、配置
調整工程2308で割り付けられたブロックピンの調整
結果を基に、割り付けられたブロック辺内で配置を行
う。その際、もともと割り付けられていたブロックピン
と、配置調整工程2308で追加割り付けされたブロッ
クピンの双方の配置を行うがブロックピン配置辺を変更
したブロックピンは、変更前のブロックピン配置辺に近
い位置に配置するように考慮する。
In the block pin arranging step 2309, the arrangement is performed in the assigned block side based on the adjustment result of the block pin allocated in the arrangement adjusting step 2308. At this time, both the block pins originally allocated and the block pins additionally allocated in the layout adjustment step 2308 are arranged, but the block pins whose block pin layout sides have been changed are located close to the block pin layout sides before the change. Consider to place in.

【0246】図24に示すように、配置調整工程230
8によって変更が行われたブロックピン配置辺であるブ
ロックE2406の左辺においては、そのブロックピン
配置辺を変更したブロックピンの2つを、変更前のブロ
ックE2406の下辺に近い位置に配置し、その後、も
ともと割り付けられていたブロックピンを左辺に配置す
る。
As shown in FIG. 24, the arrangement adjusting step 230
On the left side of block E2406, which is the block pin arrangement side changed by step 8, two of the block pins whose block pin arrangement sides have been changed are arranged at positions near the lower side of block E2406 before the change. , And place the originally allocated block pin on the left side.

【0247】以上の方法を用いて全ブロックの全ブロッ
クピン配置辺でブロックピンを配置する。その後、ブロ
ック間仮想配線工程2310(フロアプラン工程)を終
了し、従来通りにタイミング制約生成工程以降の工程を
行い、半導体集積回路の設計を行う。
Using the above method, block pins are arranged on all the block pin arrangement sides of all blocks. Thereafter, the inter-block virtual wiring step 2310 (floor plan step) is completed, and the steps subsequent to the timing constraint generation step are performed as before, to design a semiconductor integrated circuit.

【0248】このように構成された本実施の形態6の半
導体集積回路の設計方法(ブロックピン配置位置決定方
法)によると、ブロックピン配置辺に割り付けられた複
数個のブロックピン数がブロックピン配置辺のブロック
ピン配置許容量を越えた場合でも、ブロックピン配置辺
以外の箇所にブロックピンが配置されたり、あるいは最
小間隔のルールを満たせないブロックピン配置になるこ
とを解消するため、ブロックピン配置の不具合により発
生する設計の後戻りを未然に避けることができる。
According to the semiconductor integrated circuit design method (block pin arrangement position determination method) of the sixth embodiment configured as described above, the number of block pins allocated to the block pin arrangement side is equal to the block pin arrangement. Even if the block pin arrangement tolerance of the side is exceeded, block pin arrangement is performed to prevent block pins from being placed in places other than the block pin arrangement side or block pin arrangement that can not meet the minimum spacing rule It is possible to prevent the regression of the design caused by the problem described above.

【0249】なお、もちろん、実施の形態1の場合と同
様に、ブロックを回り込んでの長距離ブロック間配線が
発生しないため、長距離配線に起因するタイミング違反
や、ブロック間仮想配線とブロック間配線の配線誤差に
起因するタイミング違反の発生を防止することができ
る。
It is needless to say that, as in the case of the first embodiment, no long-distance inter-block wiring is generated around the block, so that a timing violation due to the long-distance wiring, a virtual inter-block wiring and an inter-block It is possible to prevent a timing violation from occurring due to a wiring error of the wiring.

【0250】(実施の形態7)本発明の実施の形態7に
ついて図面を用いて説明する。
(Embodiment 7) Embodiment 7 of the present invention will be described with reference to the drawings.

【0251】図25は本発明にかかわる実施の形態7の
半導体集積回路の設計方法のフロアプラン工程で行う処
理のフローチャートを示す図である。図25において、
符号の2501はブロック配置工程、2502は矩形生
成工程、2503は障害物確認工程、2504は重心比
較工程、2505は矩形拡張工程、2506は配置辺決
定工程、2507はブロック辺中央配置工程、2508
はブロック間仮想配線工程、2509は従来ピン配置工
程である。
FIG. 25 is a view showing a flowchart of the processing performed in the floor plan step of the method of designing a semiconductor integrated circuit according to the seventh embodiment of the present invention. In FIG.
Reference numerals 2501 are a block arrangement step, 2502 is a rectangle generation step, 2503 is an obstacle confirmation step, 2504 is a center of gravity comparison step, 2505 is a rectangle expansion step, 2506 is an arrangement side determination step, 2507 is a block side center arrangement step, and 2508.
Denotes a virtual wiring step between blocks, and 2509 denotes a conventional pin arrangement step.

【0252】ブロック配置工程2501から配置辺決定
工程2506までは、上記の実施の形態1で説明した内
容と同一である。以下、ブロック辺中央配置工程250
7以降を説明する。配置辺決定工程2506でブロック
ピン配置辺を決定した後、矩形生成工程2502にリタ
ーンし、その他のネット全てのブロックピン配置辺を決
定する。全てのネットのブロックピン配置辺が決定され
た後、ブロック辺中央配置工程2507に移る。
The contents from the block arrangement step 2501 to the arrangement side determination step 2506 are the same as those described in the first embodiment. Hereinafter, the block side center arranging step 250
7 will be described. After determining the block pin arrangement side in the arrangement side determination step 2506, the process returns to the rectangle generation step 2502 to determine the block pin arrangement sides of all other nets. After the block pin arrangement sides of all nets are determined, the process proceeds to a block side center arrangement step 2507.

【0253】ブロック辺中央配置工程2507では、配
置辺決定工程2506で決定した各ブロックのブロック
ピン配置辺に割り付けられたブロックピンを、全てブロ
ック辺中央に配置する。
In the block side center arranging step 2507, all the block pins allocated to the block pin arranging side of each block determined in the arrangement side deciding step 2506 are arranged in the center of the block side.

【0254】その一例を図26を用いて説明する。図2
6はブロックピンをブロック辺中央に配置したブロック
を示したもので、符号の2601はブロック配置領域、
2602〜2606はブロックA〜E、2607はブロ
ックピンを示している。
An example will be described with reference to FIG. FIG.
Reference numeral 6 denotes a block in which the block pins are arranged in the center of the block side, and reference numeral 2601 denotes a block arrangement area;
Reference numerals 2602 to 2606 denote blocks A to E, and reference numeral 2607 denotes a block pin.

【0255】ブロックE2606の下辺のブロックピン
2607は、ブロック辺中央に配置されているが、以下
に示す一例の方法でブロックピンを配置している。
The block pins 2607 on the lower side of the block E2606 are arranged at the center of the block side, but the block pins are arranged by the following example method.

【0256】まず、ブロック辺長の1/2を算出し、そ
の値をブロック辺端の始点に加算することにより、ブロ
ック辺中央を求める。この方法で全ブロックの全ブロッ
ク辺でブロック辺中央を求める。
First, ブ ロ ッ ク of the block side length is calculated, and its value is added to the start point of the block side end, thereby obtaining the block side center. With this method, the center of the block side is obtained on all the block sides of all the blocks.

【0257】次に、上記で求めたブロック辺中央に、配
置辺決定工程2506で割り付けられたブロックピンを
配置する。ブロックピン配置後、ブロック間仮想配線工
程2508(フロアプラン工程)を終了し、タイミング
制約生成工程、論理合成工程で論理合成を行う。
Next, the block pin allocated in the arrangement side determining step 2506 is arranged at the center of the block side obtained above. After the block pins are arranged, the inter-block virtual wiring step 2508 (floor plan step) is completed, and logic synthesis is performed in the timing constraint generation step and the logic synthesis step.

【0258】その後、ブロックレイアウト工程で、ブロ
ック辺中心に配置されているブロックピンについて、例
えば先に説明したブロックレイアウト時に指定するブロ
ックピンの拘束条件情報を用いることによりブロックピ
ン配置位置を再決定する。その際、配置辺決定工程25
06で決定したブロック辺は変更しないように考慮す
る。その後、従来通りに半導体集積回路の設計を行う。
Thereafter, in the block layout step, for the block pins arranged at the center of the block side, the block pin arrangement positions are re-determined by using, for example, the constraint condition information of the block pins specified in the block layout described above. . At this time, an arrangement side determination step 25
Consider that the block side determined in 06 is not changed. Thereafter, the semiconductor integrated circuit is designed as in the conventional case.

【0259】このように構成された本実施の形態7の半
導体集積回路の設計方法(ブロックピン配置位置決定方
法)によると、フロアプラン工程のように設計初期段階
でブロックピン配置位置を厳密に決定できない場合にお
いて、次のような利点がある。ブロックピン配置辺の中
心に配置したブロックピン、および、そのブロックピン
間をブロック間仮想配線で繋いだ結果を基にタイミング
制約を生成するため、論理合成工程において平均的なブ
ロック間配線の制約を考慮することができる。その後、
レイアウト工程で決まったブロックピン配置位置が見積
りに対し悲観的なピン位置あるいは楽観的なピン位置に
なっても、制約が平均的なものであるので、タイミング
制約を大きく外れるようなタイミング違反が発生しにく
くなる。また、タイミング違反が発生しても、タイミン
グ制約を大きく外れることはないため、タイミング違反
に対する改善処理が軽減される。
According to the semiconductor integrated circuit design method (block pin arrangement position determination method) of the seventh embodiment thus configured, the block pin arrangement position is strictly determined at the initial stage of design as in the floor plan process. When it is not possible, there are the following advantages. In order to generate timing constraints based on the block pins arranged at the center of the block pin arrangement side and the result of connecting the block pins with virtual interconnects between blocks, an average constraint between the inter-block interconnects in the logic synthesis process is set. Can be considered. afterwards,
Even if the block pin position determined in the layout process becomes a pessimistic pin position or an optimistic pin position with respect to the estimation, a timing violation that greatly deviates from the timing constraint occurs because the constraint is average. It becomes difficult to do. Further, even if a timing violation occurs, the timing constraint is not greatly deviated, so that the processing for improving the timing violation is reduced.

【0260】なお、もちろん、実施の形態1の場合と同
様に、ブロックを回り込んでの長距離ブロック間配線が
発生しないため、長距離配線に起因するタイミング違反
や、ブロック間仮想配線とブロック間配線の配線誤差に
起因するタイミング違反の発生を防止することができ
る。
It is needless to say that, as in the case of the first embodiment, long-distance inter-block wiring does not occur around the block, so that timing violations caused by long-distance wiring and virtual inter-block wiring and inter-block It is possible to prevent a timing violation from occurring due to a wiring error of the wiring.

【0261】(実施の形態8)本発明の実施の形態8に
ついて図面を用いて説明する。
(Eighth Embodiment) An eighth embodiment of the present invention will be described with reference to the drawings.

【0262】図27は本発明にかかわる実施の形態8の
半導体集積回路の設計方法のフロアプラン工程で行う処
理のフローチャートを示す図である。図27において、
符号の2701はブロック配置工程、2702は矩形生
成工程、2703は障害物確認工程、2704は重心比
較工程、2705は矩形拡張工程、2706は配置辺決
定工程、2707は悲観位置配置工程、2708はブロ
ック間仮想配線工程、2709は従来ピン配置工程であ
る。
FIG. 27 is a diagram showing a flowchart of the processing performed in the floor plan step of the method for designing a semiconductor integrated circuit according to the eighth embodiment of the present invention. In FIG.
Reference numeral 2701 denotes a block arrangement step, 2702 denotes a rectangle generation step, 2703 denotes an obstacle confirmation step, 2704 denotes a center of gravity comparison step, 2705 denotes a rectangle expansion step, 2706 denotes an arrangement side determination step, 2707 denotes a pessimistic position arrangement step, and 2708 denotes a block. The inter-virtual wiring step 2709 is a conventional pin arrangement step.

【0263】ブロック配置工程2701から配置辺決定
工程2706までは、上記の実施の形態1で説明した内
容と同一である。以下、悲観位置配置工程2707以降
を説明する。配置辺決定工程2706で対象ネットのブ
ロックピン配置辺を決定した後、悲観位置配置工程27
07に移る。
Steps from block arrangement step 2701 to arrangement side determination step 2706 are the same as those described in the first embodiment. Hereinafter, the pessimistic position arrangement step 2707 and subsequent steps will be described. After deciding the block pin placement side of the target net in the placement side determination step 2706, the pessimistic position placement step 27
Move to 07.

【0264】悲観位置配置工程2707では、配置辺決
定工程2706で決定した各ブロックのブロックピン配
置辺に割り付けられたブロックピンを、ブロックピン配
置辺において矩形枠重心から最も遠い位置に配置する。
In the pessimistic position arranging step 2707, the block pins allocated to the block pin arranging side of each block determined in the arranging side deciding step 2706 are arranged at positions farthest from the center of gravity of the rectangular frame on the block pin arranging side.

【0265】その一例を図28を用いて説明する。図2
8はブロックピンを矩形枠重心から最も遠い位置に配置
したブロックピンを示したものである。図28におい
て、符号の2801はブロック配置領域、2802〜2
806はブロックA〜E、2807はブロックBおよび
ブロックEの重心、2808は矩形枠、2809は矩形
枠重心(拡張前)、2810は障害物重心、2811は
ブロックピンを示している。
An example will be described with reference to FIG. FIG.
Reference numeral 8 denotes a block pin in which the block pin is arranged at a position farthest from the center of gravity of the rectangular frame. In FIG. 28, reference numeral 2801 denotes a block arrangement area,
Reference numeral 806 denotes blocks A to E, 2807 denotes a center of gravity of blocks B and E, 2808 denotes a rectangular frame, 2809 denotes a rectangular frame center of gravity (before expansion), 2810 denotes an obstacle center of gravity, and 2811 denotes a block pin.

【0266】以下、ブロックB2803とブロックE2
806との間で接続関係があるネットで、ブロックE2
806の下辺におけるブロックピン2811の配置位置
を決定する方法の一例を説明する。
Hereinafter, block B2803 and block E2
A net having a connection relationship with the 806, and a block E2
An example of a method for determining an arrangement position of the block pin 2811 on the lower side of the block 806 will be described.

【0267】まず、ブロックE2806の下辺内で矩形
枠重心2809から最も遠い位置を求める。求める方法
としては、矩形枠重心2809の座標と、ブロックE2
806の下辺の両端あるいは下辺の中央、下辺端から1
/4の位置等、複数のポイントの座標を比較し、矩形枠
重心2809から最も遠い位置を特定する。次に、ブロ
ックE2806の下辺内で特定したところの矩形枠重心
2809から最も遠い位置にブロックピン2811を配
置する。
First, a position farthest from the rectangular frame center of gravity 2809 in the lower side of the block E2806 is determined. As a method for obtaining the coordinates, the coordinates of the rectangular frame center of gravity 2809 and the block E2
806: Both ends of the lower side or the center of the lower side, 1 from the lower side end
By comparing the coordinates of a plurality of points such as the position of / 4, the position farthest from the rectangular frame center of gravity 2809 is specified. Next, the block pin 2811 is arranged at a position farthest from the center of gravity 2809 of the rectangular frame specified within the lower side of the block E2806.

【0268】図28では、ブロックE2806の下辺の
右端の位置が矩形枠重心2809から最も遠い位置とな
るため、下辺の右端の位置にブロックピン2811を配
置する。
In FIG. 28, since the right end of the lower side of the block E2806 is the farthest position from the center of gravity 2809 of the rectangular frame, the block pin 2811 is arranged at the right end of the lower side.

【0269】以上の方法を用いて対象ネットのブロック
ピン配置位置を決定した後、矩形生成工程2702にリ
ターンし、その他のネット全てのブロックピン配置位置
が決定するまで繰り返し行う。全てのネットのブロック
ピン配置位置が決定された後、ブロック間仮想配線工程
2708(フロアプラン工程)を終了し、タイミング制
約生成工程、論理合成工程で論理合成を行う。
After the block pin arrangement position of the target net is determined by using the above method, the process returns to the rectangle generation step 2702, and is repeated until the block pin arrangement positions of all other nets are determined. After the block pin arrangement positions of all nets are determined, the inter-block virtual wiring step 2708 (floor plan step) is completed, and logic synthesis is performed in the timing constraint generation step and the logic synthesis step.

【0270】その後、ブロックレイアウト工程で、矩形
枠重心から最も遠い位置に配置されているブロックピン
について、例えば先に説明したブロックレイアウト時に
指定するブロックピンの拘束条件情報を用いることによ
りブロックピン配置位置を再決定する。その際、配置辺
決定工程2706で決定したブロック辺は変更しないよ
うに考慮する。その後、従来通りに半導体回路の設計を
行う。
Then, in the block layout step, for the block pin located farthest from the center of gravity of the rectangular frame, for example, by using the constraint condition information of the block pin specified at the time of the block layout described above, the block pin arrangement position is determined. Is determined again. At this time, consideration is made so that the block side determined in the arrangement side determination step 2706 is not changed. After that, the semiconductor circuit is designed as usual.

【0271】このように構成された本実施の形態8の半
導体集積回路の設計方法(ブロックピン配置位置決定方
法)によると、フロアプラン工程のように設計初期段階
でブロックピン配置位置を厳密に決定できない場合にお
いて、次のような利点がある。ブロックピン配置辺内の
矩形枠重心から最も遠い位置に配置したブロックピン、
および、そのブロックピン間をブロック間仮想配線で繋
いだ結果を基にタイミング制約を生成するため、論理合
成工程において最も悲観的なブロック間配線の制約を考
慮することができる。その後、レイアウト工程で決まる
ブロックピン配置位置が見積りに対しそれ以上に悲観的
なピン位置になることはなく、タイミング制約を満たせ
なくなるという事態が発生しないため、タイミング違反
が発生することはない。
According to the semiconductor integrated circuit design method (block pin arrangement position determination method) of the eighth embodiment thus configured, the block pin arrangement position is strictly determined at the initial stage of design as in the floor plan process. When it is not possible, there are the following advantages. A block pin located farthest from the center of gravity of the rectangular frame within the block pin placement side,
In addition, since the timing constraint is generated based on the result of connecting the block pins with the virtual wiring between the blocks, the most pessimistic restriction on the wiring between the blocks can be considered in the logic synthesis process. Thereafter, the block pin arrangement position determined in the layout process does not become a more pessimistic pin position with respect to the estimation, and a situation in which the timing constraint cannot be satisfied does not occur. Therefore, no timing violation occurs.

【0272】なお、もちろん、実施の形態1の場合と同
様に、ブロックを回り込んでの長距離ブロック間配線が
発生しないため、長距離配線に起因するタイミング違反
や、ブロック間仮想配線とブロック間配線の配線誤差に
起因するタイミング違反の発生を防止することができ
る。
It is needless to say that, as in the case of the first embodiment, no long-distance inter-block wiring is generated around the block, so that a timing violation caused by the long-distance wiring, a virtual inter-block wiring and an inter-block It is possible to prevent a timing violation from occurring due to a wiring error of the wiring.

【0273】(実施の形態9)本発明の実施の形態9に
ついて図面を用いて説明する。
Embodiment 9 Embodiment 9 of the present invention will be described with reference to the drawings.

【0274】図29は本発明にかかわる実施の形態9の
半導体集積回路の設計方法のフロアプラン工程で行う処
理のフローチャートを示す図である。図29において、
符号の2901はブロック配置工程、2902は矩形生
成工程、2903は障害物確認工程、2904は重心比
較工程、2905は矩形拡張工程、2906は接続判断
工程、2907は配置辺決定工程、2908は対象ネッ
ト完了確認工程、2909は配線領域確認工程、291
0は配線判断工程、2911は従来ピン配置工程、29
12は配線禁止領域生成工程、2913は完了確認工
程、2914はブロックピン配置位置決定工程、291
5はブロック間仮想配線工程である。
FIG. 29 is a diagram showing a flowchart of the processing performed in the floor plan step of the method for designing a semiconductor integrated circuit according to the ninth embodiment of the present invention. In FIG. 29,
Reference numeral 2901 denotes a block arrangement step, 2902 denotes a rectangle generation step, 2903 denotes an obstacle confirmation step, 2904 denotes a center of gravity comparison step, 2905 denotes a rectangle expansion step, 2906 denotes a connection determination step, 2907 denotes an arrangement side determination step, and 2908 denotes a target net. Completion confirmation step 2909 is wiring area confirmation step, 291
0 is a wiring determination step, 2911 is a conventional pin arrangement step, 29
12 is a wiring prohibited area generation step, 2913 is a completion confirmation step, 2914 is a block pin arrangement position determination step, 291
Reference numeral 5 denotes a virtual wiring step between blocks.

【0275】ブロック配置工程2901と矩形生成工程
2902は、上記の実施の形態1で説明した内容と同一
である。以下、障害物確認工程2903以降を説明す
る。
The block arrangement step 2901 and the rectangle generation step 2902 are the same as those described in the first embodiment. Hereinafter, the obstacle confirmation step 2903 and subsequent steps will be described.

【0276】矩形生成工程2902で接続のあるブロッ
クのブロック重心を囲む矩形枠を生成した後、障害物確
認工程2903に移る。
After a rectangular frame surrounding the block centroid of the connected block is generated in the rectangle generating step 2902, the flow proceeds to the obstacle confirming step 2903.

【0277】障害物確認工程2903を、図30に示す
フロアプランの一例を参照しながら説明する。図30は
ブロック重心を囲む矩形枠を示したもので、符号の30
01はブロック配置領域、3002〜3007はブロッ
クA〜F、3008はブロックA3002およびブロッ
クE3006の重心、3009は矩形枠を示している。
The obstacle confirming step 2903 will be described with reference to an example of a floor plan shown in FIG. FIG. 30 shows a rectangular frame surrounding the center of gravity of the block.
01 denotes a block arrangement area, 3002 to 3007 denote blocks A to F, 3008 denotes a center of gravity of the blocks A3002 and E3006, and 3009 denotes a rectangular frame.

【0278】以下、ブロックA3002とブロックE3
006との間で接続関係があるとし、ブロックピン配置
辺を決定する方法を説明する。
Hereinafter, block A3002 and block E3
Assuming that there is a connection relationship with the block pin 006, a method of determining a block pin arrangement side will be described.

【0279】障害物確認工程2903で、矩形枠300
9を上下または左右に横切る障害物が存在しないかを、
実施の形態1で説明した方法で確認する。確認の結果、
矩形枠を横切る障害物が存在する場合、次工程の重心比
較工程2904に移る。反対に矩形枠を横切る障害物が
存在しない場合、配線領域確認工程2909に移る。図
30のフロアプランでは、矩形枠3009を横切るブロ
ックがないため、配線領域確認工程2909に移る。
In the obstacle confirmation step 2903, the rectangular frame 300
Check if there are any obstacles that cross 9 vertically or horizontally
Confirm by the method described in the first embodiment. After confirming,
If there is an obstacle crossing the rectangular frame, the process moves to the next step of comparing the center of gravity 2904. On the other hand, when there is no obstacle crossing the rectangular frame, the process proceeds to the wiring area confirmation step 2909. In the floor plan of FIG. 30, since there is no block crossing the rectangular frame 3009, the process proceeds to the wiring area confirmation step 2909.

【0280】配線領域確認工程2909では、従来ピン
配置方法の場合と同様に、接続関係のあるそれぞれのブ
ロックで、接続先のブロックに最も近い位置に存在する
ブロック辺を検索し、配線経路を特定する。
In the wiring area confirmation step 2909, as in the case of the conventional pin arrangement method, in each of the blocks having a connection relationship, the block side located closest to the connection destination block is searched to specify the wiring path. I do.

【0281】図30のフロアプランでは、ブロックA3
002とブロックE3006との間の接続情報に対し、
ブロックC3004の下辺とブロックD3005の上辺
との間の配線領域を通過する配線経路を特定したとして
説明する。
In the floor plan of FIG. 30, block A3
For connection information between 002 and block E3006,
A description will be given assuming that a wiring path passing through a wiring area between the lower side of the block C3004 and the upper side of the block D3005 is specified.

【0282】次に、配線経路上の配線領域を特定し、配
線領域毎に配線可能本数Aを算出する。算出方法として
は、配線層、配線幅、配線ピッチ等の情報を基に例えば
以下の方法で算出する。
Next, the wiring area on the wiring route is specified, and the number A of routable lines is calculated for each wiring area. As a calculation method, for example, the following method is used to calculate based on information such as a wiring layer, a wiring width, and a wiring pitch.

【0283】もし、2つのブロックが上下に配置されて
おり、その間に存在する配線領域に横方向に配線可能な
配線可能本数Aを算出する場合、上に配置されているブ
ロックの左下Y軸座標から下に配置されているブロック
の右上Y軸座標を減算することで配線領域の縦幅Hを算
出する。
If two blocks are arranged one above the other and the number A of wires that can be laid in the horizontal direction in the wiring area existing between them is calculated, the lower left Y-axis coordinate of the block arranged above , The vertical width H of the wiring area is calculated by subtracting the upper right Y-axis coordinate of the block arranged below.

【0284】次に、横方向に配線可能な配線レイヤ数L
と、配線幅W、配線間隔Pを用いて、以下の式で配線可
能本数Aを求める。
Next, the number L of wiring layers that can be wired in the horizontal direction
And the wiring width W and the wiring interval P, the number A of routable wires is obtained by the following equation.

【0285】((H−P)/(W+P))*L 例に示したフロアプランでは、ブロックC3004の下
辺とブロックD3005の上辺との間の配線領域を横方
向に通過できる配線可能本数Aを求める。配線可能本数
Aを算出した後、配線判断工程2910に移る。
((HP) / (W + P)) * L In the floor plan shown in the example, the number A of wires that can be passed in the horizontal direction through the wiring area between the lower side of the block C3004 and the upper side of the block D3005 is expressed as Ask. After calculating the number A of routable wires, the process proceeds to a wiring determination step 2910.

【0286】配線判断工程2910では、配線領域確認
工程2909で求めた配線領域毎の配線可能本数Aを、
次工程の従来ピン配置工程2911でカウントしている
配線本数Bが上回らないか確認を行う。配線本数Bが配
線可能本数Aより少ない場合(B<A)、従来ピン配置
工程2911に移る。反対に、配線本数Bが配線可能本
数A以上の場合(B≧A)、配線禁止領域生成工程29
12に移る。
In the wiring determination step 2910, the number A of routable lines for each wiring area obtained in the wiring area confirmation step 2909 is
It is checked whether the number B of wirings counted in the next conventional pin arrangement step 2911 does not exceed. If the number B of wires is smaller than the number A of routable wires (B <A), the process proceeds to the conventional pin arrangement step 2911. Conversely, when the number B of wires is equal to or more than the number A of routable wires (B ≧ A), the wiring prohibited area generation step 29
Move to 12.

【0287】図30のフロアプランでは、ブロックC3
004の下辺とブロックD3005の上辺との間の配線
領域を通過した配線本数Bが、配線領域確認工程290
9で求めた配線可能本数A以上であったとし、配線禁止
領域生成工程2912に移る。
In the floor plan of FIG. 30, block C3
The number B of wirings that passed through the wiring area between the lower side of 004 and the upper side of the block D3005 is determined by the wiring area confirmation step 290.
It is determined that the number A is equal to or larger than the number A that can be wired obtained in step 9, and the process proceeds to a wiring prohibited area generation step 2912.

【0288】反対に、ブロックC3004の下辺とブロ
ックD3005の上辺との間の配線領域を通過した配線
本数Bが配線領域確認工程2909で求めた配線可能本
数Aより少なかった場合、従来ピン配置工程2911に
移るが、この場合の処理は後述する。
On the other hand, if the number B of wires that have passed through the wiring area between the lower side of the block C3004 and the upper side of the block D3005 is smaller than the number A of routable lines obtained in the wiring area confirmation step 2909, the conventional pin placement step 2911 The processing in this case will be described later.

【0289】配線禁止領域生成工程2912を図31を
用いて説明する。
The wiring prohibited area generation step 2912 will be described with reference to FIG.

【0290】図31は配線禁止領域生成工程2912で
配線禁止領域を生成したものを示したもので、符号の3
001〜3009については既述のとおりであり、新た
な要素として、符号の3011は配線禁止領域、301
2は矩形枠3009の重心、3013は障害物重心を示
している。
FIG. 31 shows a wiring prohibited area generated in the wiring prohibited area generating step 2912.
001 to 3009 are as described above. As new elements, reference numeral 3011 denotes a wiring prohibited area, 301
2 indicates the center of gravity of the rectangular frame 3009, and 3013 indicates the center of gravity of the obstacle.

【0291】配線判断工程2910で配線の通過可能本
数と通過本数が同一と判断した配線領域に配線禁止領域
3011を生成する。配線禁止領域を生成した後は、配
線禁止領域を通過することはできないとし、配線禁止領
域を挟んで上下あるいは左右に向かい合う双方のブロッ
クを連結し、その連結後のブロックを1つの障害物とし
てのブロックとして扱う。配線禁止領域を作成した後、
矩形生成工程2902に移る。
In the wiring determination step 2910, a wiring prohibited area 3011 is generated in a wiring area in which it is determined that the allowable number of wirings and the number of passing wirings are the same. After the wiring prohibited area is generated, it is determined that it is impossible to pass through the wiring prohibited area, and both blocks facing up and down or left and right across the wiring prohibited area are connected, and the connected block is regarded as one obstacle. Treat as a block. After creating the routing prohibited area,
It moves on to the rectangle generation step 2902.

【0292】図31では、ブロックC3004の下辺と
ブロックD3005の上辺との間の配線領域に配線禁止
領域3011を生成する。生成後、全てのネットのブロ
ックピン配置位置が決定するまで、配線禁止領域301
1とその領域に接する上下のブロックC3004、ブロ
ックD3005を連結し1つの障害物としてのブロック
として扱う。配線禁止領域を生成後、矩形生成工程29
02に移る。
In FIG. 31, a wiring prohibited area 3011 is generated in a wiring area between the lower side of the block C3004 and the upper side of the block D3005. After the generation, the wiring prohibited area 301 is set until the block pin arrangement positions of all nets are determined.
1 and the upper and lower blocks C3004 and D3005 that are in contact with the area are connected and treated as one block as an obstacle. After the generation of the wiring prohibited area, the rectangle generation step 29
Move to 02.

【0293】矩形生成工程2902では、連結したブロ
ックを1つの障害物としてのブロックと扱う以外は先に
説明した内容と同一である。
The rectangle generation step 2902 is the same as that described above except that the connected block is treated as a block as one obstacle.

【0294】障害物確認工程2903では、連結したブ
ロックを1つのブロックと扱う以外は先に説明した内容
と同一である。図31では、連結したブロックC300
4とブロックD3005が矩形枠3009を上下に横切
る障害物となるため、重心比較工程2904に移る。
The obstacle confirmation step 2903 is the same as the contents described above except that the connected block is treated as one block. In FIG. 31, the connected block C300
Since block 4 and block D3005 are obstacles that cross the rectangular frame 3009 up and down, the process proceeds to the center of gravity comparison step 2904.

【0295】重心比較工程2904では、矩形枠300
9を拡張する方向を上下左右の4方向のいずれかに決定
する。拡張方向を求める方法として、上記の実施の形態
1で説明した方法を用いることができる。
In the center of gravity comparing step 2904, the rectangular frame 300
The direction in which 9 is expanded is determined to one of four directions, up, down, left, and right. As a method of obtaining the extension direction, the method described in the first embodiment can be used.

【0296】図31では、障害物重心3013に対し、
矩形枠重心3012が上方向に存在するので拡張方向を
上方向と決定し、矩形拡張工程2905に移る。
In FIG. 31, the obstacle center of gravity 3013 is
Since the rectangular frame center of gravity 3012 exists in the upward direction, the extension direction is determined to be upward, and the process proceeds to the rectangular extension step 2905.

【0297】矩形拡張工程2905を図32を参照しな
がら説明する。図32は矩形枠3009の拡張結果を示
したもので、符号の3001〜3013については既述
のとおりであり、新たな要素として、符号の3014は
ブロックピン配置辺を示している。
The rectangle expanding step 2905 will be described with reference to FIG. FIG. 32 shows an expansion result of the rectangular frame 3009. The reference numerals 3001 to 3013 are as described above, and the reference numeral 3014 indicates a block pin arrangement side as a new element.

【0298】重心比較工程2904で決定した上方向に
矩形枠3009を拡張する。拡張を行う際、以下に記載
の2条件に該当するブロック辺に接するまで拡張する。
The rectangular frame 3009 is expanded in the upward direction determined in the centroid comparison step 2904. When performing expansion, expansion is performed until a block edge that meets the following two conditions is touched.

【0299】第1の条件は、接続関係の有無に関係な
く、拡張前に接していなかったブロック辺とすることで
ある。
The first condition is that, regardless of the presence / absence of a connection relationship, a block side that has not been in contact before expansion is set.

【0300】第2の条件は、障害物が矩形枠を横切る方
向に存在しているブロック辺とすることである。
[0300] The second condition is that a block side exists in the direction in which an obstacle crosses the rectangular frame.

【0301】図32では、矩形枠3009の拡張により
ブロックA3002の上辺に矩形枠3009が接するま
で拡張し、接続判断工程2906に移る。
In FIG. 32, the rectangular frame 3009 is expanded until the rectangular frame 3009 contacts the upper side of the block A 3002, and the process proceeds to the connection determination step 2906.

【0302】接続判断工程2906では、矩形拡張工程
2905で接したブロックが対象の接続があるブロック
となっているかどうかの判断を行う。接続関係のあるブ
ロックが接したのであれば、配置辺決定工程2907に
移る。反対に接続関係のないブロックが接したのであれ
ば、障害物確認工程2903に移り、まだ障害物が存在
するか、あるいは矩形拡張により障害物が矩形枠内に存
在しないか確認を行う。
In the connection judging step 2906, it is judged whether or not the block touched in the rectangle expanding step 2905 is a block having the target connection. If the blocks having a connection relationship have come into contact with each other, the process proceeds to an arrangement side determination step 2907. On the other hand, if blocks having no connection relationship are in contact, the process proceeds to the obstacle confirmation step 2903, and it is confirmed whether an obstacle still exists or an obstacle does not exist in the rectangular frame by rectangle extension.

【0303】図32では、ブロックA3002の上辺に
矩形枠3009が接するため、接続関係のあるブロック
と接したと判断し、配置辺決定工程2907に移る。
In FIG. 32, since the rectangular frame 3009 is in contact with the upper side of the block A 3002, it is determined that the block A 3002 is in contact with a block having a connection relationship, and the flow advances to an arrangement side determination step 2907.

【0304】配置辺決定工程2907では、矩形拡張工
程2905の矩形枠拡張で接したブロック辺をそのブロ
ックのブロックピン配置辺と決定する。決定後、対象ネ
ット完了確認工程2908に移る。
In the arrangement side determining step 2907, the block side which is in contact with the rectangular frame expansion in the rectangular expansion step 2905 is determined as the block pin arrangement side of the block. After the decision, the process moves to the target net completion confirmation step 2908.

【0305】図32で確認できるように、ブロックA3
002の上辺をブロックピン配置辺3014とする。決
定後、対象ネット完了確認工程2908に移る。
As can be seen from FIG. 32, block A3
The upper side of 002 is the block pin arrangement side 3014. After the decision, the process moves to the target net completion confirmation step 2908.

【0306】対象ネット完了確認工程2908では、対
象ネットの全てのブロックピン配置位置あるいはブロッ
クピン配置辺が決定しているか確認を行う。もし、対象
ネットの全てのブロックピンに対して配置辺あるいは配
置位置が決定していれば、完了確認工程2913に移
る。反対に、対象ネットの全てのブロックピンに対して
配置辺あるいは配置位置が決定していなければ、障害物
確認工程2903にリターンする。
In the target net completion confirmation step 2908, it is checked whether all the block pin arrangement positions or the block pin arrangement sides of the target net have been determined. If the arrangement side or the arrangement position has been determined for all the block pins of the target net, the process proceeds to the completion confirmation step 2913. On the other hand, if the arrangement side or the arrangement position is not determined for all the block pins of the target net, the process returns to the obstacle confirmation step 2903.

【0307】図32では、ブロックA3002のブロッ
クピン配置辺は決定しているが、ブロックE3006の
ブロックピン配置辺は決定していないため、障害物確認
工程2903に移る。障害物確認工程2903は先に説
明した内容と同一である。
In FIG. 32, the block pin arrangement side of the block A 3002 has been determined, but the block pin arrangement side of the block E 3006 has not been determined, so the flow proceeds to the obstacle confirmation step 2903. The obstacle confirmation step 2903 is the same as the contents described above.

【0308】図33に示すように、連結したブロックC
3004とブロックD3005が矩形枠3009を上下
に横切る障害物となるため、重心比較工程2904に移
る。重心比較工程2904は、先に説明した内容と同一
である。拡張方向は先ほどと同様に上方向になる。
[0308] As shown in FIG.
Since the block 3004 and the block D3005 are obstacles crossing the rectangular frame 3009 up and down, the process proceeds to the center of gravity comparing step 2904. The center-of-gravity comparing step 2904 is the same as the content described above. The expansion direction is upward, as before.

【0309】矩形拡張工程2905を図33を参照しな
がら説明する。重心比較工程2904で決定した上方向
にさらに矩形枠3009を拡張する。ここでは、矩形枠
3009の拡張によりブロックE3006の上辺に矩形
枠3009が接するまで拡張し、接続判断工程2906
に移る。接続判断工程2906は、先に説明した内容と
同一である。
[0309] The rectangle extension step 2905 will be described with reference to FIG. The rectangular frame 3009 is further expanded in the upward direction determined in the center of gravity comparison step 2904. Here, the rectangular frame 3009 is expanded until the rectangular frame 3009 contacts the upper side of the block E3006, and a connection determination step 2906 is performed.
Move on to The connection determination step 2906 is the same as the content described above.

【0310】図33では、ブロックE3006の上辺に
矩形枠3009が接するため、接続関係のあるブロック
と接したと判断し、配置辺決定工程2907に移る。配
置辺決定工程2907は、先に説明した内容と同一であ
る。
In FIG. 33, since the rectangular frame 3009 is in contact with the upper side of the block E3006, it is determined that the block E3006 is in contact with a block having a connection relationship, and the flow advances to the arrangement side determination step 2907. The arrangement side determination step 2907 is the same as the content described above.

【0311】図33では、ブロックE3006の上辺を
ブロックピン配置辺3014とする。決定後、対象ネッ
ト完了確認工程2908に移る。対象ネット完了確認工
程2908は、先に説明した内容と同一である。
In FIG. 33, the upper side of the block E3006 is defined as a block pin arrangement side 3014. After the decision, the process moves to the target net completion confirmation step 2908. The target net completion confirmation step 2908 is the same as the content described above.

【0312】ここでは、ブロックA3002、ブロック
E3006のブロックピン配置辺が決定しているため、
完了確認工程2913に移る。
Here, since the block pin arrangement sides of the block A3002 and the block E3006 are determined,
Move to the completion confirmation step 2913.

【0313】完了確認工程2913は、全てのネットで
ピンの配置辺あるいは配置位置が決定しているか確認を
行う。もし、全てのネットでブロックピンの配置辺が決
定していれば、ブロックピン配置位置決定工程2914
に移る。もし、全てのネットでブロックピンの配置辺が
決定していなければ矩形生成工程2902にリターン
し、未処理のネットに対し処理を行う。
[0313] In the completion confirmation step 2913, it is confirmed whether the arrangement side or arrangement position of the pin is determined in all nets. If the arrangement side of the block pin has been determined for all nets, the block pin arrangement position determination step 2914
Move on to If the arrangement side of the block pin has not been determined for all the nets, the process returns to the rectangle generation step 2902 to process the unprocessed nets.

【0314】ここでは、全てのネットのブロックピン配
置辺あるいは配置位置が決定しているとし、ブロックピ
ン配置位置決定工程2914に移る。
Here, it is assumed that the block pin arrangement sides or arrangement positions of all nets have been determined, and the flow shifts to the block pin arrangement position determination step 2914.

【0315】ブロックピン配置位置決定工程2914で
は、配置辺決定工程2907で決定されたブロック辺内
で、ブロックピン配置位置の決定を行う。その際、事前
に定められたピン間隔のルールを満たすようにピン位置
を決定する。全てのブロックピン配置位置を決定した
後、ブロック間仮想配線工程2915(フロアプラン工
程)を終了し、タイミング制約生成工程以降の工程を行
い、従来通りに半導体集積回路の設計を行う。
In the block pin arrangement position determining step 2914, the block pin arrangement position is determined within the block side determined in the arrangement side determining step 2907. At this time, the pin position is determined so as to satisfy a predetermined rule of the pin interval. After all the block pin arrangement positions are determined, the inter-block virtual wiring step 2915 (floor plan step) is completed, and the steps subsequent to the timing constraint generation step are performed to design the semiconductor integrated circuit as in the related art.

【0316】ここで、配線判断工程2910で配線領域
の配線本数Bが配線可能本数Aより少ない場合の次工程
である従来ピン配置工程2911を図34を用いて説明
する。図34は従来ピン配置工程2911で決定したピ
ン配置位置を示しているもので、符号の3001〜30
09については既述のとおりであり、新たな要素とし
て、符号の3010はブロックピン配置位置を示してい
る。
Here, a conventional pin placement step 2911 which is the next step in the case where the number B of wirings in the wiring area is smaller than the number A of possible wirings in the wiring determination step 2910 will be described with reference to FIG. FIG. 34 shows the pin arrangement positions determined in the conventional pin arrangement step 2911.
09 is as described above. As a new element, reference numeral 3010 indicates a block pin arrangement position.

【0317】配線領域確認工程2909で特定した配線
経路の情報に基づいて、ブロックピンを配置するブロッ
ク辺を検索し、ブロックピン配置位置3010を決定す
る。すなわち、ブロックA3002の右辺、ブロックE
3006の左辺にブロックピン配置位置3010を設け
る。ブロックピン配置位置3010を決定した後、通過
した配線領域毎に通過本数をカウントを行い、対象ネッ
ト完了確認工程2908に移る。
On the basis of the information on the wiring path specified in the wiring area confirmation step 2909, a block side on which the block pins are to be located is searched, and the block pin arrangement position 3010 is determined. That is, the right side of block A3002, block E
A block pin arrangement position 3010 is provided on the left side of 3006. After the block pin arrangement position 3010 is determined, the number of passages is counted for each of the passed wiring areas, and the process proceeds to the target net completion confirmation step 2908.

【0318】このように構成された本実施の形態9の半
導体集積回路の設計方法(ブロックピン配置位置決定方
法)によると、配線領域の位置、配線可能本数Aを意識
してブロックピン配置辺およびブロックピン配置位置を
決定するため、配線領域での配線可能本数A以上にその
配線領域を通過させるようなブロックピンの割り付けを
行うことがない。従って、配線混雑からブロックを回り
込む配線が発生することがなくなるため、ブロック間仮
想配線とブロック間配線の配線誤差が原因となるタイミ
ング違反の発生を防ぐことができる。
According to the semiconductor integrated circuit design method (block pin arrangement position determination method) of the ninth embodiment thus configured, the block pin arrangement side and the number A of routable lines are taken into consideration with respect to the position of the wiring area. Since the block pin arrangement position is determined, there is no need to allocate block pins that allow the wiring area to pass through more than the number A that can be wired in the wiring area. Therefore, wiring that goes around the block does not occur due to wiring congestion, so that it is possible to prevent occurrence of a timing violation due to a wiring error between the virtual wiring between blocks and the wiring between blocks.

【0319】なお、配線領域内の配線可能本数Aを算出
する場合に、配線乗り換え、配線乗り換え用のコンタク
ト配置領域のロス分を、求めた配線可能本数Aより差し
引き、過小に見積ることを考慮することも可能である。
When calculating the number A of routable wires in the wiring area, it is necessary to consider that the amount of loss in the contact arrangement area for wiring replacement and wiring replacement is subtracted from the obtained number A of routable wires, and that it is underestimated. It is also possible.

【0320】なお、もちろん、実施の形態1の場合と同
様に、ブロックを回り込んでの長距離ブロック間配線が
発生しないため、長距離配線に起因するタイミング違反
や、ブロック間仮想配線とブロック間配線の配線誤差に
起因するタイミング違反の発生を防止することができ
る。
Note that, similarly to the first embodiment, since long-distance inter-block wiring does not occur around a block, timing violations caused by long-distance wiring, virtual inter-block wiring and inter-block It is possible to prevent a timing violation from occurring due to a wiring error of the wiring.

【0321】[0321]

【発明の効果】以上のように本発明によれば、接続関係
のあるブロックの接続を行うための基本となるブロック
ピン配置辺の決定について、障害物ブロックが存在する
ときに、対向辺を避ける状態でブロックピン配置辺の決
定を合理的に行うため、ブロックを回り込む長距離配線
が発生するようなブロック辺にブロックピンを配置せず
にすみ、したがって、長距離配線に起因するタイミング
違反の発生を防止することができる。また、ブロック間
仮想配線とブロック間配線の配線誤差が原因となるタイ
ミング違反の発生を防止することができる。
As described above, according to the present invention, when determining an arrangement side of a block pin as a basis for connecting blocks having a connection relation, when an obstacle block exists, an opposite side is avoided. In order to determine the placement side of the block pins rationally, it is not necessary to place the block pins on the block side where long-distance wiring goes around the block, and therefore, a timing violation caused by long-distance wiring occurs Can be prevented. Further, it is possible to prevent a timing violation from occurring due to a wiring error between the virtual wiring between blocks and the wiring between blocks.

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

【図1】 本発明の実施の形態1におけるフロアプラン
工程で行う処理のフローチャートを示した図
FIG. 1 is a flowchart illustrating a process performed in a floor plan process according to a first embodiment of the present invention.

【図2】 本発明の実施の形態1における接続関係のあ
るブロックのブロック重心を矩形で囲んでいることを示
した図
FIG. 2 is a diagram showing that a block centroid of a block having a connection relation in Embodiment 1 of the present invention is surrounded by a rectangle;

【図3】 本発明の実施の形態1における重心比較工程
での拡張方向を決定するフローチャートを示した図
FIG. 3 is a diagram showing a flowchart for determining an extension direction in a center-of-gravity comparing step according to the first embodiment of the present invention;

【図4】 本発明の実施の形態1における矩形枠重心と
障害物重心を示した図
FIG. 4 is a diagram showing a center of gravity of a rectangular frame and a center of gravity of an obstacle according to the first embodiment of the present invention;

【図5】 本発明の実施の形態1における矩形拡張結果
を示した図
FIG. 5 is a diagram showing a result of rectangle extension according to the first embodiment of the present invention;

【図6】 本発明の実施の形態1におけるブロックピン
配置辺と決定したブロック辺を示した図
FIG. 6 is a diagram illustrating a block side determined as a block pin arrangement side according to the first embodiment of the present invention;

【図7】 本発明の実施の形態1における2種目のフロ
アプランの一例で、接続関係のあるブロックのブロック
重心を矩形枠で囲んでいることを示した図
FIG. 7 is a diagram illustrating an example of a second type of floor plan according to the first embodiment of the present invention, in which a block center of gravity of a block having connection relation is surrounded by a rectangular frame;

【図8】 本発明の実施の形態1における2種目のフロ
アプランの一例で、矩形枠重心と障害物重心を示した図
FIG. 8 is a diagram showing an example of a second type of floor plan according to the first embodiment of the present invention, showing a rectangular frame center of gravity and an obstacle center of gravity.

【図9】 本発明の実施の形態1における2種目のフロ
アプランの一例で、矩形拡張結果を示した図
FIG. 9 is a diagram showing an example of a result of rectangle extension in an example of a second type of floor plan according to the first embodiment of the present invention.

【図10】 本発明の実施の形態1における2種目のフ
ロアプランの一例で、ブロックピン配置辺と決定したブ
ロック辺を示した図
FIG. 10 is a diagram showing an example of a second type of floor plan according to the first embodiment of the present invention, showing a block side determined to be a block pin arrangement side;

【図11】 本発明の実施の形態1における3種目のフ
ロアプランの一例で、接続関係のあるブロックのブロッ
ク重心を矩形で囲んでいることを示した図
FIG. 11 is a diagram illustrating an example of a third type of floor plan according to the first embodiment of the present invention, in which a block centroid of a block having connection relation is surrounded by a rectangle;

【図12】 本発明の実施の形態1における3種目のフ
ロアプランの一例で、従来のピン配置方法を用いて決定
したブロックピン配置位置を示した図
FIG. 12 is a diagram illustrating an example of a third type of floor plan according to the first embodiment of the present invention, showing block pin arrangement positions determined using a conventional pin arrangement method.

【図13】 本発明の実施の形態1における4種目のフ
ロアプランの一例で、接続関係のあるブロックのブロッ
ク重心を矩形で囲んでいることを示した図
FIG. 13 is a diagram illustrating an example of a fourth type of floor plan according to the first embodiment of the present invention, in which a block centroid of a block having connection relation is surrounded by a rectangle;

【図14】 本発明の実施の形態1における4種目のフ
ロアプランの一例で、従来のピン配置方法を用いて決定
したブロックピン配置位置を示した図
FIG. 14 is a diagram showing an example of a fourth type of floor plan according to the first embodiment of the present invention, showing a block pin arrangement position determined using a conventional pin arrangement method.

【図15】 本発明の実施の形態2におけるフロアプラ
ン工程で行う処理のフローチャートを示した図
FIG. 15 is a diagram showing a flowchart of a process performed in a floor plan process according to the second embodiment of the present invention.

【図16】 本発明の実施の形態2における均等間隔に
配置を行ったブロックピン配置結果を示した図
FIG. 16 is a diagram showing a block pin arrangement result of arrangement at equal intervals according to the second embodiment of the present invention;

【図17】 本発明の実施の形態3におけるフロアプラ
ン工程で行う処理のフローチャートを示した図
FIG. 17 is a diagram showing a flowchart of a process performed in a floor plan process according to the third embodiment of the present invention.

【図18】 本発明の実施の形態3における任意指定配
置を行ったブロックピン配置結果を示した図
FIG. 18 is a diagram showing a block pin arrangement result obtained by performing an arbitrary designated arrangement according to the third embodiment of the present invention;

【図19】 本発明の実施の形態4におけるフロアプラ
ン工程で行う処理のフローチャートを示した図
FIG. 19 is a view illustrating a flowchart of processing performed in a floor plan process according to the fourth embodiment of the present invention.

【図20】 本発明の実施の形態4におけるタイミング
制約の厳しい順番に配置したブロックピン配置を示した
FIG. 20 is a diagram showing a block pin arrangement arranged in an order of strict timing constraints according to the fourth embodiment of the present invention;

【図21】 本発明の実施の形態5におけるフロアプラ
ン工程で行う処理のフローチャートを示した図
FIG. 21 is a diagram showing a flowchart of a process performed in a floor plan process according to the fifth embodiment of the present invention.

【図22】 本発明の実施の形態5における仮想タイミ
ング検証結果を基に定められたタイミング制約を満たす
ことが厳しい順番に配置したブロックピン配置を示した
FIG. 22 is a diagram illustrating a block pin arrangement arranged in an order that strictly satisfies a timing constraint determined based on a virtual timing verification result according to the fifth embodiment of the present invention;

【図23】 本発明の実施の形態6におけるフロアプラ
ン工程で行う処理のフローチャートを示した図
FIG. 23 is a diagram showing a flowchart of a process performed in a floor plan process according to the sixth embodiment of the present invention.

【図24】 本発明の実施の形態6における過剰分のブ
ロックピン数がブロックピン配置辺の接する辺にブロッ
クピン配置辺を変更しピン配置を行った結果を示した図
FIG. 24 is a diagram showing the result of changing the block pin arrangement side to the side where the excess number of block pins is in contact with the block pin arrangement side and performing pin arrangement according to the sixth embodiment of the present invention;

【図25】 本発明の実施の形態7におけるフロアプラ
ン工程で行う処理のフローチャートを示した図
FIG. 25 is a view showing a flowchart of a process performed in a floor plan process according to the seventh embodiment of the present invention.

【図26】 本発明の実施の形態7におけるブロックピ
ンをブロック辺中央に配置したブロックを示した図
FIG. 26 is a diagram showing a block in which a block pin is arranged in the center of a block side according to a seventh embodiment of the present invention.

【図27】 本発明の実施の形態8におけるフロアプラ
ン工程で行う処理のフローチャートを示す図
FIG. 27 is a view illustrating a flowchart of processing performed in a floor plan step according to Embodiment 8 of the present invention.

【図28】 本発明の実施の形態8におけるブロックピ
ンをチップ重心から最も遠い位置に配置したブロックピ
ンを示した図
FIG. 28 is a diagram showing a block pin according to an eighth embodiment of the present invention in which the block pin is arranged at a position farthest from the center of gravity of the chip.

【図29】 本発明の実施の形態9におけるフロアプラ
ン工程で行う処理のフローチャートを示した図
FIG. 29 is a view illustrating a flowchart of processing performed in a floor plan step according to Embodiment 9 of the present invention.

【図30】 本発明の実施の形態9における接続関係の
あるブロックのブロック重心を矩形枠で囲んでいること
を示した図
FIG. 30 is a diagram showing that a block center of gravity of a block having a connection relation in Embodiment 9 of the present invention is surrounded by a rectangular frame.

【図31】 本発明の実施の形態9における配線禁止領
域、矩形枠重心、障害物重心を示した図
FIG. 31 is a diagram showing a wiring prohibited area, a rectangular frame center of gravity, and an obstacle center of gravity in the ninth embodiment of the present invention.

【図32】 本発明の実施の形態9における矩形拡張結
果とブロックピン配置辺と決定したブロック辺を示した
FIG. 32 is a diagram showing a rectangle expansion result and a block side determined as a block pin arrangement side according to the ninth embodiment of the present invention.

【図33】 本発明の実施の形態9における矩形拡張結
果とブロックピン配置辺と決定したブロック辺を示した
FIG. 33 is a diagram showing a rectangle expansion result and a block side determined as a block pin arrangement side according to the ninth embodiment of the present invention;

【図34】 本発明の実施の形態9における従来のピン
配置方法を用いて決定したブロックピン配置位置を示し
た図
FIG. 34 is a diagram showing block pin arrangement positions determined using a conventional pin arrangement method according to the ninth embodiment of the present invention.

【図35】 従来の半導体集積回路の設計方法における
処理のフローチャートを示した図
FIG. 35 is a view showing a flowchart of a process in a conventional method of designing a semiconductor integrated circuit.

【図36】 従来のブロックピン配置方法の処理のフロ
ーチャートを示した図
FIG. 36 is a view showing a flowchart of processing of a conventional block pin arrangement method.

【図37】 従来のブロックピン配置方法を用いて決定
したブロックピン配置位置とブロック間仮想配線を示し
た図
FIG. 37 is a diagram showing a block pin arrangement position determined using a conventional block pin arrangement method and virtual wiring between blocks.

【図38】 従来のブロックピン配置方法を用いて決定
したブロックピン配置位置と、ブロック間仮想配線とブ
ロック間配線の配線長誤差を示した図
FIG. 38 is a diagram showing a block pin arrangement position determined using a conventional block pin arrangement method, and a wiring length error between a virtual wiring between blocks and a wiring between blocks.

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

101,1501,1701,1901,2101,2
301,2501,2701,2901……ブロック配
置工程 102,1502,1702,1903,2105,2
302,2502,2702,2902……矩形生成工
程 103,1503,1703,1904,2106,2
303,2503,2703,2903……障害物確認
工程 104,1504,1704,1905,2107,2
304,2504,2704,2904……重心比較工
程 105,1505,1705,1906,2108,2
305,2505,2705,2905……矩形拡張工
程 106,1506,1706,1907,2109,2
306,2506,2706,2907……配置辺決定
工程 107,2914……ブロックピン位置決定工程 108,1508,1709,1909,2111,2
310,2508,2708,2915……ブロック間
仮想配線工程 109,1509,1710,1910,2112,2
311,2509,2709,2911……従来ピン配
置工程 301……矩形枠・障害物重心計算工程 302……方向決定工程 303……上下決定工程 304……左右決定工程 1507……均等配置工程 1707……配置位置指定工程 1708……指定配置工程 1902……タイミング制約リスト生成工程 1908……タイミング制約順配置工程 2102……仮配線長算出工程 2103……仮想タイミング検証工程 2104……検証結果リスト生成工程 2110……タイミング順配置工程 2307……配置確認工程 2308……配置調整工程 2309……ブロックピン配置工程 2407……チップ重心 2507……ブロック辺中央配置工程 2707……悲観位置配置工程 2906……接続判断工程 2908……対象ネット完了確認工程 2909……配線領域確認工程 2910……配線判断工程 2912……配線禁止領域生成工程 2913……完了確認工程 3501……フロアプラン工程 3502……タイミング制約生成工程 3503……論理合成工程 3504……ブロックレイアウト工程 3505……ブロック内タイミング検証工程 3506……トップレイアウト工程 3507……階層タイミング検証工程 3508……駆動能力最適化工程 3509……セル入れ替え工程 201,701,1101,1301,2001,22
01,2401,2601,2801,3001……ブ
ロック配置領域 202〜206,702〜707,1102〜110
7,1302〜1307,2002〜2006,220
2〜2206,2402〜2406,2602〜260
6,2802〜2806,3002〜3007……ブロ
ック 207,708,1108,1308,2007,22
07,2807,3008……ブロック重心 208,709,1109,1309,2008,22
08,2808,3009……矩形枠 209,710,2009,2209,2809,30
12……矩形枠重心 210,711,2010,2210,2810,30
13……障害物重心 211,712,3014……ブロックピン配置辺 1110,1310,3010……ブロックピン配置位
置 1601,1801……ブロック枠 1602,1802,2011,2211,2408,
2607,2811……ブロックピン 3011……配線禁止領域
101, 1501, 1701, 1901, 2101,
301, 2501, 2701, 2901 ... Block arranging process 102, 1502, 1702, 1903, 2105, 2
302, 2502, 2702, 2902... Rectangle generation step 103, 1503, 1703, 1904, 2106, 2
303, 2503, 2703, 2903: Obstacle confirmation step 104, 1504, 1704, 1905, 2107, 2
304, 2504, 2704, 2904... Gravity center comparison step 105, 1505, 1705, 1906, 2108, 2
305, 2505, 2705, 2905... Rectangle extension process 106, 1506, 1706, 1907, 2109, 2
306, 2506, 2706, 2907... Arrangement side determining step 107, 2914... Block pin position determining step 108, 1508, 1709, 1909, 2111, 11
310, 2508, 2708, 2915 ... virtual wiring steps between blocks 109, 1509, 1710, 1910, 2112, 2
311, 2509, 2709, 2911 ··· Conventional pin placement step 301 ··· Rectangular rectangle / obstacle center of gravity calculation step 302 ··· Direction determination step 303 ··· Up / down determination step 304 ··· Left and right determination step 1507 ··· ... Arrangement position designation step 1708... Designation arrangement step 1902... Timing constraint list generation step 1908... Timing constraint order arrangement step 2102... Temporary wiring length calculation step 2103... Virtual timing verification step 2104. 2110: Arrangement step in timing order 2307: Arrangement confirmation step 2308: Arrangement adjustment step 2309: Block pin arrangement step 2407: Chip center of gravity 2507: Block side center arrangement step 2707: Graceful position arrangement step 2906: Connection Judgment process 2908 ... Completed target net Confirmation step 2909 wiring area confirmation step 2910 wiring determination step 2912 wiring prohibited area generation step 2913 completion confirmation step 3501 floor plan step 3502 timing constraint generation step 3503 logic synthesis step 3504 ... Block layout step 3505... Timing verification step in block 3506... Top layout step 3507... Hierarchical timing verification step 3508... Driving capacity optimization step 3509.
01, 2401, 601, 2801, 3001... Block arrangement areas 202 to 206, 702 to 707, 1102 to 110
7, 1302-1307, 2002-2006, 220
2-2206, 2402-2400, 2602-260
6, 2802 to 2806, 3002 to 3007 ... Blocks 207, 708, 1108, 1308, 2007, 22
07, 2807, 3008 ... Block centroids 208, 709, 1109, 1309, 2008, 22
08, 2808, 3009 ... rectangular frame 209, 710, 2009, 2209, 2809, 30
12: rectangular frame center of gravity 210, 711, 2010, 2210, 2810, 30
13: Obstacle center of gravity 211, 712, 3014 ... Block pin arrangement side 1110, 1310, 3010 ... Block pin arrangement position 1601, 1801 ... Block frame 1602, 1802, 2011, 211, 2408,
2607, 2811: Block pin 3011: Wiring prohibited area

フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H01L 21/822 Fターム(参考) 5B046 AA08 BA06 DA05 5F038 CA03 CA10 CA17 CD05 CD09 CD13 EZ09 EZ20 5F064 DD02 DD03 DD07 DD10 DD14 DD18 DD25 EE02 EE03 EE08 EE15 EE16 EE19 EE43 EE47 EE57 HH06 Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat II (Reference) H01L 21/822 F-term (Reference) 5B046 AA08 BA06 DA05 5F038 CA03 CA10 CA17 CD05 CD09 CD13 EZ09 EZ20 5F064 DD02 DD03 DD07 DD10 DD14 DD18 DD25 EE02 EE03 EE08 EE15 EE16 EE19 EE43 EE47 EE57 HH06

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 チップ上に複数の機能ブロックを配置
し、前記機能ブロック間の接続を行うことで所望の機能
を実現する半導体集積回路の設計方法であって、接続の
ある複数のブロックのブロック重心を求めそれらのブロ
ック重心を囲む矩形枠を作成する矩形生成工程と、前記
矩形枠を横切る障害物が存在するか確認を行う障害物確
認工程と、前記障害物の重心と前記矩形枠の重心から前
記矩形枠の拡張方向を決定する重心比較工程と、接続関
係のあるブロックのブロック辺と接するまで前記矩形枠
を前記拡張方向に拡張する矩形拡張工程と、前記矩形枠
に接したブロック辺をブロックピンの配置辺とする配置
辺決定工程とを含むことを特徴とする半導体集積回路の
設計方法。
1. A method for designing a semiconductor integrated circuit, in which a plurality of functional blocks are arranged on a chip and a desired function is realized by connecting the functional blocks, the method comprising the steps of connecting a plurality of blocks. A rectangle generation step of obtaining a center of gravity and creating a rectangular frame surrounding the block centroids; an obstacle checking step of checking whether an obstacle crossing the rectangular frame exists; a center of gravity of the obstacle and a center of gravity of the rectangular frame A center-of-gravity comparing step of determining the extension direction of the rectangular frame, a rectangular extension step of extending the rectangular frame in the extension direction until it contacts a block side of a block having a connection relationship, and a block side in contact with the rectangular frame. A step of determining an arrangement side to be an arrangement side of a block pin.
【請求項2】 さらに、前記配置辺決定工程の後に、同
一のブロックピン配置辺に配置が割り付けられた前記ブ
ロックピンを前記ブロックピン配置辺内で均等間隔に配
置する均等配置工程を含むことを特徴とする請求項1に
記載の半導体集積回路の設計方法。
2. The method according to claim 1, further comprising, after the arrangement side determining step, an equal arrangement step of arranging the block pins assigned to the same block pin arrangement side at equal intervals within the block pin arrangement side. The method for designing a semiconductor integrated circuit according to claim 1.
【請求項3】 さらに、前記配置辺決定工程の後に、同
一ブロックピン配置辺に割り付けられた前記ブロックピ
ンの配置位置を指定する配置位置指定工程と、前記配置
位置指定工程で指定されたピン配置位置に従ってブロッ
クピンを配置する指定配置工程とを含むことを特徴とす
る請求項1に記載の半導体集積回路の設計方法。
3. An arrangement position designating step for designating an arrangement position of the block pins allocated to the same block pin arrangement side after the arrangement side determining step, and a pin arrangement designated in the arrangement position designating step. 2. A design method for a semiconductor integrated circuit according to claim 1, further comprising a step of designating a block pin according to a position.
【請求項4】 さらに、タイミング制約を読み込むタイ
ミング制約リスト生成工程を含むとともに、前記配置辺
決定工程の後に、前記タイミング制約リスト生成工程で
読み込んだタイミング制約の厳しいブロックピンを優先
して前記配置辺決定工程で決定したブロックピン配置辺
内で前記矩形枠重心により近い側から順にそのタイミン
グ制約のより厳しいブロックピンを配置していくタイミ
ング制約順配置工程を含むことを特徴とする請求項1に
記載の半導体集積回路の設計方法。
4. The method according to claim 1, further comprising the step of generating a timing constraint list for reading a timing constraint, and, after the step of determining an arrangement side, giving priority to a block pin having a strict timing constraint read in the timing constraint list generation step. 2. The method according to claim 1, further comprising the step of arranging block pins having stricter timing constraints in order from a side closer to the center of gravity of the rectangular frame within the block pin arrangement side determined in the determination step. Semiconductor integrated circuit design method.
【請求項5】 さらに、ブロック中央にブロックピンを
仮配置しブロック間仮配線長を算出する仮配線長算出工
程と、前記ブロック間配線長を基に遅延計算を行ってタ
イミング制約を満たすか否かのタイミング検証を行う仮
想タイミング検証工程と、前記タイミング検証の結果に
よるタイミング制約を満たすことの厳しさの順序をつけ
た検証結果リストを生成する検証結果リスト生成工程と
を含むとともに、前記配置辺決定工程の後に、前記検証
結果リスト生成工程で生成した検証結果リストが示すタ
イミング制約を満たすことの厳しさの順番においてより
厳しいブロックピンを優先して前記配置辺決定工程で決
定したブロックピン配置辺内で前記矩形枠重心により近
い側から順にその順番のより厳しいブロックピンを配置
していくタイミング順配置工程を含むことを特徴とする
請求項1に記載の半導体集積回路の設計方法。
5. A tentative wiring length calculating step of temporarily arranging a block pin at the center of a block to calculate a tentative wiring length between blocks, and performing a delay calculation based on the inter-block wiring length to determine whether a timing constraint is satisfied. A virtual timing verification step of performing such timing verification, and a verification result list generation step of generating a verification result list in which the order of strictness of satisfying the timing constraint based on the result of the timing verification is generated. After the determination step, the block pin arrangement side determined in the arrangement side determination step with priority given to the stricter block pins in the order of the strictness of satisfying the timing constraint indicated by the verification result list generated in the verification result list generation step Within which the stricter block pins of the order are arranged in order from the side closer to the center of gravity of the rectangular frame. 2. The method for designing a semiconductor integrated circuit according to claim 1, further comprising a sequential arrangement step.
【請求項6】 さらに、前記配置辺決定工程の後に、同
一のブロックピン配置辺に配置された前記ブロックピン
の全てを配置できるか確認する配置確認工程と、前記ブ
ロックピン配置辺に配置しきれない過剰分のブロックピ
ンを前記ブロックピン配置辺に隣り合うブロック辺に配
置調整する配置調整工程とを含むことを特徴とする請求
項1に記載の半導体集積回路の設計方法。
6. An arrangement confirming step for confirming whether all of the block pins arranged on the same block pin arrangement side can be arranged after the arrangement side determining step, and an arrangement complete on the block pin arrangement side. 2. The method for designing a semiconductor integrated circuit according to claim 1, further comprising: an arrangement adjusting step of adjusting an arrangement of no excess block pins on a block side adjacent to the block pin arrangement side.
【請求項7】 さらに、前記配置辺決定工程の後に、同
一のブロックピン配置辺に配置された前記ブロックピン
を前記ブロックピン配置辺の中央に配置するブロック辺
中央配置工程を含むことを特徴とする請求項1に記載の
半導体集積回路の設計方法。
7. A block side center arranging step of arranging the block pins arranged on the same block pin arranging side at the center of the block pin arranging side after the arrangement side deciding step. The method for designing a semiconductor integrated circuit according to claim 1.
【請求項8】 さらに、前記配置辺決定工程の後に、前
記ブロックピン配置辺に配置された前記ブロックピンを
前記ブロックピン配置辺における矩形枠重心から最も遠
い位置に配置する悲観位置配置工程を含むことを特徴と
する請求項1に記載の半導体集積回路の設計方法。
8. A pessimistic position arranging step of arranging the block pins arranged on the block pin arranging side at a position farthest from a rectangular frame center of gravity on the block pin arranging side after the arrangement side deciding step. 2. The method for designing a semiconductor integrated circuit according to claim 1, wherein:
【請求項9】 さらに、前記矩形枠が接したブロック辺
が接続のあるブロックか判断する接続判断工程と、前記
判断で接続があると判断した場合に前記矩形枠に接した
前記ブロック辺を前記ブロックピンの配置辺とする配置
辺決定工程と、配線領域を通過できる配線可能本数を求
める配線領域確認工程と、通過不可能な配線領域に配線
禁止領域を設ける配線禁止領域生成工程を含むことを特
徴とする請求項1に記載の半導体集積回路の設計方法。
9. A connection judging step of judging whether a block side contacted by the rectangular frame is a connected block, and, when it is judged that the block side is connected, the block side contacting the rectangular frame is determined by the connection. The method includes a placement side determining step as a placement side of a block pin, a wiring area confirmation step of calculating the number of possible wires that can pass through the wiring area, and a wiring prohibited area generation step of providing a wiring prohibited area in a wiring area that cannot pass. The method for designing a semiconductor integrated circuit according to claim 1.
【請求項10】 「矩形枠」に代えて「対策枠」と置き
換えて記述する状態で構成してあることを特徴とする請
求項1から請求項9までのいずれかに記載の半導体集積
回路の設計方法。
10. The semiconductor integrated circuit according to claim 1, wherein the description is made in such a manner that the description is replaced with “measures frame” instead of “rectangular frame”. Design method.
【請求項11】 「重心」に代えて「重心付近」と置き
換えて記述する状態で構成してあることを特徴とする請
求項1から請求項10までのいずれかに記載の半導体集
積回路の設計方法。
11. The design of a semiconductor integrated circuit according to claim 1, wherein the description is made in such a manner that “center of gravity” is replaced with “near the center of gravity”. Method.
JP2000113559A 2000-04-14 2000-04-14 Method of designing semiconductor integrated circuit Pending JP2001298089A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000113559A JP2001298089A (en) 2000-04-14 2000-04-14 Method of designing semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000113559A JP2001298089A (en) 2000-04-14 2000-04-14 Method of designing semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2001298089A true JP2001298089A (en) 2001-10-26

Family

ID=18625501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000113559A Pending JP2001298089A (en) 2000-04-14 2000-04-14 Method of designing semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2001298089A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272360A (en) * 2006-03-30 2007-10-18 Fujitsu Ltd Lsi function module arrangement device, arrangement program, arrangement method and semiconductor device manufacturing method
CN112685991A (en) * 2020-12-22 2021-04-20 北京华大九天科技股份有限公司 Wiring method meeting constraint
US11443096B2 (en) * 2020-09-21 2022-09-13 Taiwan Semiconductor Manufacturing Co., Ltd. Method for optimizing floor plan for an integrated circuit

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272360A (en) * 2006-03-30 2007-10-18 Fujitsu Ltd Lsi function module arrangement device, arrangement program, arrangement method and semiconductor device manufacturing method
JP4659659B2 (en) * 2006-03-30 2011-03-30 富士通セミコンダクター株式会社 LSI function module placement apparatus, LSI function module placement method, and program
US11443096B2 (en) * 2020-09-21 2022-09-13 Taiwan Semiconductor Manufacturing Co., Ltd. Method for optimizing floor plan for an integrated circuit
US20220382950A1 (en) * 2020-09-21 2022-12-01 Taiwan Semiconductor Manufacturing Co., Ltd. Method for optimizing floor plan for an integrated circuit
US11853675B2 (en) 2020-09-21 2023-12-26 Taiwan Semiconductor Manufacturing Co., Ltd. Method for optimizing floor plan for an integrated circuit
US11893334B2 (en) 2020-09-21 2024-02-06 Taiwan Semiconductor Manufacturing Co., Ltd. Method for optimizing floor plan for an integrated circuit
CN112685991A (en) * 2020-12-22 2021-04-20 北京华大九天科技股份有限公司 Wiring method meeting constraint

Similar Documents

Publication Publication Date Title
US7530040B1 (en) Automatically routing nets according to current density rules
US8788999B1 (en) Automatic routing system with variable width interconnect
US4615011A (en) Iterative method for establishing connections and resulting product
US8751996B1 (en) Automatically routing nets according to parasitic constraint rules
CN107066681B (en) Integrated circuit and computer-implemented method of manufacturing an integrated circuit
US20200126968A1 (en) Standard cell for removing routing interference between adjacent pins and device including the same
US8065649B2 (en) Method and apparatus for routing
KR102238312B1 (en) Pin modification for standard cells
JP2006323643A (en) Floor plan design program, floor plan design device, and design method of semiconductor integrated circuit
US7577933B1 (en) Timing driven pin assignment
US7373628B1 (en) Method of automatically routing nets using a Steiner tree
US7174529B1 (en) Acute angle avoidance during routing
TW201826155A (en) Integrated circuits, computer-implemented method of manufacturing the same, and standard cell defining the same
US9183343B1 (en) Methods, systems, and articles of manufacture for implementing high current carrying interconnects in electronic designs
US20240119214A1 (en) Using a machine trained network during routing to account for opc cost
JP2001298089A (en) Method of designing semiconductor integrated circuit
US7725865B2 (en) Method, storage media storing program, and component for avoiding increase in delay time in semiconductor circuit having plural wiring layers
US8914763B1 (en) Methods, systems, and articles of manufacture for generating multi-layer local maximal orthogonal routing paths in fractured space
JP2000067102A (en) Hierarchical wiring method for semiconductor integrated circuit
JP2006155119A (en) Lsi physical design method, program and device
JP5380969B2 (en) Layout design method and apparatus
US10606976B2 (en) Engineering change order aware global routing
JP5900540B2 (en) Layout design method and layout design support program
JP3548398B2 (en) Schematic route determination method and schematic route determination method
US20170061063A1 (en) Integrated circuit with reduced routing congestion