JP3144392B2 - Method and apparatus for designing semiconductor integrated circuit - Google Patents
Method and apparatus for designing semiconductor integrated circuitInfo
- Publication number
- JP3144392B2 JP3144392B2 JP26436998A JP26436998A JP3144392B2 JP 3144392 B2 JP3144392 B2 JP 3144392B2 JP 26436998 A JP26436998 A JP 26436998A JP 26436998 A JP26436998 A JP 26436998A JP 3144392 B2 JP3144392 B2 JP 3144392B2
- Authority
- JP
- Japan
- Prior art keywords
- cell blocks
- cell
- base
- cell block
- cut line
- 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.)
- Expired - Fee Related
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は半導体集積回路のセ
ル等を所定の領域に配置するための設計方法及び設計装
置に関する。The present invention relates to a design method and a design apparatus for arranging cells and the like of a semiconductor integrated circuit in a predetermined area.
【0002】[0002]
【従来の技術】従来より、所定の領域にセル等を配置す
るための設計装置は公知である(ゲート敷き詰め型ゲー
トアレイ用配置アルゴリズム、第4回回路とシステム軽
井沢ワークショップ、pp.367-372)。図7は従来の半導
体集積回路の設計装置を示すブロック図であり、図8は
その設計方法を示すフローチャートである。図7に示す
ように、半導体集積回路の設計装置は制御装置43を有
しており、制御装置43は、半導体集積回路の下地を所
定の領域に分割するカットラインを作成するカットライ
ン作成装置45、カットラインにより分割された領域に
セルブロックを分割する分割装置(ミニカット装置)4
4及び所定のセルブロックをカットラインにより分割さ
れた領域に配置するマッピング装置46に接続されてい
る。2. Description of the Related Art Conventionally, a design apparatus for arranging cells or the like in a predetermined area is known (allocation algorithm for gate-laying gate array, 4th Circuit and System Karuizawa Workshop, pp.367-372). ). FIG. 7 is a block diagram showing a conventional semiconductor integrated circuit designing apparatus, and FIG. 8 is a flowchart showing a designing method thereof. As shown in FIG. 7, the semiconductor integrated circuit design device includes a control device 43, and the control device 43 generates a cut line creating device 45 that creates a cut line that divides a base of the semiconductor integrated circuit into predetermined regions. Dividing device (mini-cut device) 4 for dividing a cell block into regions divided by cut lines
4 and a predetermined cell block are connected to a mapping device 46 that arranges the cell blocks in areas divided by cut lines.
【0003】このように構成された設計装置を使用し
て、半導体集積回路のセルブロックを配置する方法につ
いて、以下に説明する。図8に示すように、先ず、制御
装置43は、カットラインを作成する方向、位置及び順
序が登録されたファイルであるカットライン指示ファイ
ルを読み込み、カットライン作成装置45にカットライ
ンを作成するように指示する。これにより、カットライ
ン作成装置45は、指示された方向及び位置等に基づい
て、半導体集積回路の下地にカットラインを作成する
(ステップ51)。A method for arranging a cell block of a semiconductor integrated circuit by using the designing apparatus configured as described above will be described below. As shown in FIG. 8, first, the control device 43 reads a cut line instruction file, which is a file in which directions, positions, and orders for creating cut lines are registered, and creates a cut line in the cut line creating device 45. To instruct. As a result, the cut line creation device 45 creates a cut line on the base of the semiconductor integrated circuit based on the designated direction and position (step 51).
【0004】カットラインの作成後、制御装置43は分
割装置44にセルブロックの分割を依頼する。分割装置
44は、カットラインを横切るネットの数が最小になる
ように複数のセルブロックを分割する(ステップ5
2)。After creating the cut line, the control device 43 requests the dividing device 44 to divide the cell block. The dividing device 44 divides the plurality of cell blocks so as to minimize the number of nets crossing the cut line (Step 5).
2).
【0005】その後、制御装置43はカットライン指示
ファイルが空になっているかどうかを調査し(ステップ
53)、カットライン指示ファイルが空になっていない
場合には、ステップ51のカットライン作成処理及びス
テップ52のセルブロックの分割処理を繰り返す。[0005] Thereafter, the control device 43 checks whether or not the cut line instruction file is empty (step 53). The division processing of the cell block in step 52 is repeated.
【0006】ステップ53において、カットライン指示
ファイルが空になっていると判断されると、制御装置4
3はマッピング装置46にセルブロックの下地への配置
を依頼する。マッピング装置46は、与えられたセルブ
ロックの配置位置をネットの長さの合計が最小になるよ
うに求めて、セルブロックを各領域内に配置する(ステ
ップ54)。If it is determined in step 53 that the cut line instruction file is empty, the controller 4
3 requests the mapping device 46 to arrange the cell block on the base. The mapping device 46 determines the arrangement position of the given cell block so as to minimize the total length of the net, and arranges the cell block in each area (step 54).
【0007】図9は、ステップ52においてカットライ
ンを横切るネット数を最小にするために分割されたセル
ブロックを示す模式図である。図9に示すように、セル
ブロック61とセルブロック62とはネット67及び6
8により接続されており、セルブロック62とセルブロ
ック63とはネット69及び70により接続されてい
る。また、セルブロック64とセルブロック65とはネ
ット71により接続され、セルブロック65とセルブロ
ック66とはネット72により接続されている。従っ
て、セルブロック61、62及び63と、セルブロック
64、65及び66とに分割してカットライン73の両
側に配置すると、カットライン73を横切るネット数は
0本となる。FIG. 9 is a schematic diagram showing a cell block divided in step 52 to minimize the number of nets crossing the cut line. As shown in FIG. 9, the cell blocks 61 and 62 are connected to nets 67 and 6 respectively.
8, and the cell blocks 62 and 63 are connected by nets 69 and 70. The cell block 64 and the cell block 65 are connected by a net 71, and the cell block 65 and the cell block 66 are connected by a net 72. Therefore, if the cell blocks 61, 62 and 63 and the cell blocks 64, 65 and 66 are divided and arranged on both sides of the cut line 73, the number of nets crossing the cut line 73 becomes zero.
【0008】しかし、各セルブロックは種々のサイズを
有しており、図9に示すようにカットラインを横切るネ
ット数を最小にしようとすると、分割されたセルブロッ
クの合計サイズに偏りが生じることがある。そうする
と、分割されたセルブロックが配置される下地領域はサ
イズが限定されているので、下地の領域サイズに対し
て、その領域に配置されるセルブロックの合計サイズが
大きくなると、設計された領域にセルブロックを配置す
ることができなくなる。However, since each cell block has various sizes, as shown in FIG. 9, if the number of nets crossing the cut line is to be minimized, the total size of the divided cell blocks may be biased. There is. Then, since the size of the base region in which the divided cell blocks are arranged is limited, if the total size of the cell blocks arranged in the region is larger than the size of the base region, the size of the designed region is reduced. Cell blocks cannot be placed.
【0009】従って、ステップ52においては、カット
ラインを横切るネットの数が最小になるようにすると共
に、分割された1方のセルブロックの合計サイズ及び他
方のセルブロックの合計サイズが、夫々、カットライン
により分割された1方の下地領域サイズ及び他方の下地
領域サイズを越えることがないようにして、セルブロッ
クの分割を設計する必要がある。Therefore, in step 52, the number of nets crossing the cut line is minimized, and the total size of one of the divided cell blocks and the total size of the other cell block are respectively reduced by the cut. It is necessary to design the division of the cell block so as not to exceed the size of one base region and the size of the other base region divided by the line.
【0010】[0010]
【発明が解決しようとする課題】しかしながら、上述の
従来の設計方法によりセルブロックを配置する場合に、
カットラインを横切るネット数を最小にすると共に、カ
ットラインにより分割された下地領域サイズ及び各領域
上に配置されるセルブロックの合計サイズを考慮する必
要があるが、これはNP完全問題(NP-complete proble
m)であり、分割されるセルブロックを実用時間で求め
ることができないことがある。However, when arranging cell blocks by the above-mentioned conventional design method,
It is necessary to minimize the number of nets crossing the cut line, and to consider the size of the base region divided by the cut line and the total size of the cell blocks arranged on each region. This is an NP complete problem (NP- complete proble
m), and the cell block to be divided may not be obtained in practical time.
【0011】そこで、カットラインを横切るネットの数
を最小にするために分割されたセルブロックを、設計さ
れた領域と異なった領域に配置する必要が生じることが
ある。例えば、カットラインを横切るネット数を最小に
するために複数のセルブロックを分割した結果、図9に
示すように、セルブロック61、62及び63が属する
群と、セルブロック64、65及び66が属する群とに
分割されたとすると、カットライン73を横切るネット
数は0本となる。Therefore, it may be necessary to arrange the divided cell blocks in an area different from the designed area in order to minimize the number of nets crossing the cut line. For example, as a result of dividing a plurality of cell blocks in order to minimize the number of nets crossing the cut line, as shown in FIG. 9, a group to which the cell blocks 61, 62, and 63 belong and cell blocks 64, 65, and 66 belong to If it is divided into groups to which it belongs, the number of nets crossing the cut line 73 is zero.
【0012】しかし、この場合に、セルブロック61、
62及び63の合計サイズは配置される領域の合計サイ
ズよりも大きくなるので、図10に示すように、1方の
領域75aに配置される予定であるセルブロック65
を、他方の領域75bに侵入して配置することになる。
これによりカットライン73は歪んだ形状となり、カッ
トライン73を直線状に設計しようとすると、カットラ
インを横切るネットの数は2本となる。このように、カ
ットラインを横切るネットを最小にすることにより、配
線混雑度の最小化を図った結果、予め設定されたカット
ラインの両側に良好な状態で複数のセルブロックを配置
することができず、配線混雑度を劣化させてしまう。However, in this case, the cell block 61,
Since the total size of the areas 62 and 63 is larger than the total size of the areas to be arranged, the cell blocks 65 to be arranged in one area 75a as shown in FIG.
In the other region 75b.
As a result, the cut line 73 has a distorted shape, and if the cut line 73 is designed to be linear, the number of nets crossing the cut line becomes two. As described above, by minimizing the number of nets crossing the cut line, the degree of wiring congestion is minimized. As a result, a plurality of cell blocks can be arranged in a favorable state on both sides of the preset cut line. Instead, the wiring congestion is degraded.
【0013】また、分割されたセルブロックが、夫々カ
ットラインにより分割された下地領域に配置することが
できる合計サイズを有している場合であっても、設定さ
れた下地に所定のセルブロックを配置することができな
いことがある。これは、図11に示すように、ゲートア
レイを設計する場合に、セルブロックが配置される下地
は種々の種類及び方向を有しているからである。なお、
図11において、下地75の各領域内には下地の種類及
び方向を表す下地特性1A及び1Bを示し、セルブロッ
ク74の各領域内に配置することができる下地の下地特
性を示している。[0013] Even when the divided cell blocks have a total size that can be arranged in the base area divided by the cut line, a predetermined cell block is set on the set base. You may not be able to place them. This is because, as shown in FIG. 11, when designing a gate array, the base on which the cell blocks are arranged has various types and directions. In addition,
In FIG. 11, background characteristics 1A and 1B indicating the type and direction of the base are shown in each region of the base 75, and the base characteristics of the base that can be arranged in each region of the cell block 74 are shown.
【0014】図11に示すように、セルブロック61、
63、64、65及び66の特性は設計された配置位置
の下地特性1A及び1Bと一致しているので、1方の領
域75a上にセルブロック61及び63を配置すること
ができると共に、他方の領域75b上にセルブロック6
4、65及び66を配置することができる。しかし、セ
ルブロック74は下地特性1Bの下地上にのみ配置する
ことができるセルブロックであり、セルブロック74の
特性と領域75aの下地特性1Aとが一致しないので、
領域75a上にセルブロック74を配置することはでき
ない。その結果、設計された領域75aと異なる領域上
にセルブロック74を配置する必要があり、図10に示
す場合と同様に、配線混雑度が劣化する。As shown in FIG. 11, a cell block 61,
Since the characteristics of 63, 64, 65 and 66 match the base characteristics 1A and 1B at the designed arrangement positions, the cell blocks 61 and 63 can be arranged on one area 75a, and the other can be arranged. The cell block 6 is placed on the area 75b.
4, 65 and 66 can be arranged. However, the cell block 74 is a cell block that can be arranged only on the lower ground of the base characteristic 1B, and the characteristic of the cell block 74 does not match the base characteristic 1A of the area 75a.
Cell block 74 cannot be arranged on region 75a. As a result, it is necessary to arrange the cell block 74 on a region different from the designed region 75a, and the degree of wiring congestion is deteriorated as in the case shown in FIG.
【0015】なお、他に、半導体集積回路のセルのレイ
アウト方法として、信号伝播の遅延時間を最適化するこ
とができる種々のレイアウト方法が提案されている(特
開平5−206271号公報、特開平5−343522
号公報、特開平7−94586号公報及び特開平7−1
69839号公報)。しかし、これらの従来のレイアウ
ト方法を使用しても、容易に複数のセルブロックをカッ
トラインにより分割された領域に配置することはできな
い。Various other layout methods have been proposed as cell layout methods for semiconductor integrated circuits that can optimize the signal propagation delay time (Japanese Patent Laid-Open Nos. 5-206271 and 5-206271). 5-343522
JP, JP-A-7-94586 and JP-A-7-1
No. 69839). However, even with these conventional layout methods, a plurality of cell blocks cannot be easily arranged in a region divided by a cut line.
【0016】本発明はかかる問題点に鑑みてなされたも
のであって、配線混雑度を劣化させることなく、容易に
複数のセルブロックをカットラインにより分割された領
域に配置することができる半導体集積回路の設計方法及
び設計装置を提供することを目的とする。SUMMARY OF THE INVENTION The present invention has been made in view of such a problem, and a semiconductor integrated circuit in which a plurality of cell blocks can be easily arranged in a region divided by a cut line without deteriorating a wiring congestion degree. An object of the present invention is to provide a circuit design method and a circuit design device.
【0017】[0017]
【課題を解決するための手段】本発明に係る半導体集積
回路の設計方法は、半導体集積回路の下地にカットライ
ンを作成して下地を2以上の領域に分割する工程と、前
記カットラインを横切るネットの数を最小とする条件で
複数のセルブロックを2以上の群に分割して前記下地の
2以上の領域に夫々割り当てる工程と、前記セルブロッ
ク群に属する複数のセルブロックの合計サイズが対応す
る領域のサイズよりも大きい場合に、前記セルブロック
群から選択された1又は2以上のセルブロックを夫々予
め準備された1又は2以上の予備セルブロックに交換し
て、前記対応する領域上に配置されるセルブロック及び
予備セルブロックの合計サイズを前記対応する領域のサ
イズ以下にする工程と、を有することを特徴とする。A method of designing a semiconductor integrated circuit according to the present invention comprises the steps of: forming a cut line on a base of a semiconductor integrated circuit to divide the base into two or more regions; The step of dividing a plurality of cell blocks into two or more groups under the condition of minimizing the number of nets and assigning them to each of the two or more areas of the base corresponds to the total size of the plurality of cell blocks belonging to the cell block group When the size is larger than the size of the area to be replaced, one or more cell blocks selected from the cell block group are replaced with one or more spare cell blocks prepared in advance, respectively, and Making the total size of the arranged cell blocks and the spare cell blocks equal to or smaller than the size of the corresponding region.
【0018】本発明に係る半導体集積回路の設計方法
は、更に、前記対応する領域上に配置されるセルブロッ
ク及び予備セルブロックの合計サイズを前記対応する領
域のサイズ以下にする工程の前に、前記セルブロック群
に属するセルブロックに接続されたネットのスラック値
を計算する工程を有し、前記対応する領域上に配置され
るセルブロック及び予備セルブロックの合計サイズを前
記対応する領域のサイズ以下にする工程において前記セ
ルブロック群から選択される1又は2以上のセルブロッ
クは、これに接続されたネットのスラック値が正の値と
なるものとすることができる。The method of designing a semiconductor integrated circuit according to the present invention may further comprise, before the step of reducing the total size of the cell blocks and spare cell blocks arranged on the corresponding area to the size of the corresponding area or less. A step of calculating a slack value of a net connected to the cell blocks belonging to the cell block group, wherein the total size of the cell blocks and spare cell blocks arranged on the corresponding area is equal to or smaller than the size of the corresponding area. In one or more cell blocks selected from the group of cell blocks in the step of making, the slack value of the net connected to the cell block may be a positive value.
【0019】この場合に、前記1又は2以上の予備セル
ブロックは、夫々交換されるセルブロックと同一の機能
であって、交換されるセルブロックよりも小さいサイズ
を有すると共に、前記予備セルブロックへの交換後に前
記予備セルブロックに接続されるネットのスラック値が
0又は正の値となるものとすることができる。In this case, the one or more spare cell blocks have the same function as the cell block to be exchanged respectively, have a smaller size than the cell block to be exchanged, and After the replacement, the slack value of the net connected to the spare cell block may be 0 or a positive value.
【0020】本発明に係る他の半導体集積回路の設計方
法は、半導体集積回路の下地にカットラインを作成して
下地を2以上の領域に分割する工程と、前記カットライ
ンを横切るネットの数を最小とする条件で複数のセルブ
ロックを2以上の群に分割して前記下地の2以上の領域
に夫々割り当てる工程と、前記セルブロック群に属する
セルブロックの下地特性が対応する領域の下地特性と異
なる場合に、配置される下地と異なる下地特性を有する
1又は2以上のセルブロックを夫々予め準備された1又
は2以上の予備セルブロックに交換して、前記対応する
領域上に配置されるセルブロック及び予備セルブロック
の下地特性と前記対応する領域の下地特性とを一致させ
る工程と、を有することを特徴とする。Another method of designing a semiconductor integrated circuit according to the present invention includes a step of forming a cut line on a base of a semiconductor integrated circuit and dividing the base into two or more regions, and a method of reducing the number of nets crossing the cut line. Dividing the plurality of cell blocks into two or more groups under the condition of minimizing and assigning the divided cell blocks to two or more regions of the base, respectively; In a different case, one or two or more cell blocks having different base characteristics from the base to be arranged are replaced with one or more spare cell blocks prepared in advance, respectively, and cells arranged on the corresponding area are replaced. Matching the base characteristics of the block and the spare cell block with the base characteristics of the corresponding region.
【0021】この場合に、前記1又は2以上の予備セル
ブロックは、夫々交換されるセルブロックと同一の機能
であって、配置される下地と一致する下地特性を有する
と共に、前記予備セルブロックへの交換後に前記予備セ
ルブロックに接続されるネットのスラック値が0又は正
の値となるものとすることができる。In this case, the one or more spare cell blocks have the same function as the cell block to be exchanged, have the same base characteristic as the base to be arranged, and have the same function as the spare cell block. After the replacement, the slack value of the net connected to the spare cell block may be 0 or a positive value.
【0022】本発明に係る半導体集積回路の設計装置
は、半導体集積回路の下地にカットラインを作成して下
地を2以上の領域に分割するカットライン作成装置と、
前記カットラインを横切るネットの数を最小とする条件
で複数のセルブロックを2以上の群に分割して前記下地
の2以上の領域に夫々割り当てる分割装置と、予め複数
の予備セルブロックが格納されたライブラリと、前記セ
ルブロック群に属する複数のセルブロックの合計サイズ
が対応する領域のサイズよりも大きい場合に、前記セル
ブロック群から選択された1又は2以上のセルブロック
を夫々前記ライブラリに格納された1又は2以上の予備
セルブロックに交換して、前記対応する領域上に配置さ
れるセルブロック及び予備セルブロックの合計サイズを
前記対応する領域のサイズ以下にするブロック交換装置
と、を有することを特徴とする。A semiconductor integrated circuit designing apparatus according to the present invention includes a cut line creating apparatus for creating a cut line on a base of a semiconductor integrated circuit and dividing the base into two or more regions;
A dividing device that divides a plurality of cell blocks into two or more groups under the condition of minimizing the number of nets crossing the cut line and allocates the divided cell blocks to two or more regions of the base, and a plurality of spare cell blocks stored in advance. When the total size of the library and the plurality of cell blocks belonging to the cell block group is larger than the size of the corresponding area, one or more cell blocks selected from the cell block group are stored in the library, respectively. A block exchange device that replaces one or more spare cell blocks that have been set and makes the total size of the cell blocks and spare cell blocks arranged on the corresponding area equal to or smaller than the size of the corresponding area. It is characterized by the following.
【0023】本発明に係る他の半導体集積回路の設計装
置は、半導体集積回路の下地にカットラインを作成して
下地を2以上の領域に分割するカットライン作成装置
と、前記カットラインを横切るネットの数を最小とする
条件で複数のセルブロックを2以上の群に分割して前記
下地の2以上の領域に夫々割り当てる分割装置と、予め
複数の予備セルブロックが格納されたライブラリと、前
記セルブロック群に属するセルブロックの下地特性が対
応する領域の下地特性と異なる場合に、配置される下地
と異なる下地特性を有する1又は2以上のセルブロック
を夫々前記ライブラリに格納された1又は2以上の予備
セルブロックに交換して、前記対応する領域上に配置さ
れるセルブロック及び予備セルブロックの下地特性と前
記対応する領域の下地特性とを一致させるブロック交換
装置と、を有することを特徴とする。According to another aspect of the present invention, there is provided a semiconductor integrated circuit designing apparatus, comprising: a cut line forming apparatus for forming a cut line on a base of a semiconductor integrated circuit to divide the base into two or more regions; A dividing device that divides a plurality of cell blocks into two or more groups under the condition of minimizing the number of cells and allocates the divided cell blocks to two or more regions of the base, a library in which a plurality of spare cell blocks are stored in advance, When the background characteristics of the cell blocks belonging to the block group are different from the background characteristics of the corresponding region, one or more cell blocks having the background characteristics different from the arranged background are stored in the library. Of the cell block and the spare cell block arranged on the corresponding area, and And a block replacement unit to match the characteristics, that it has a characterized.
【0024】本願発明の第1及び第2発明に係る半導体
集積回路の設計装置は、前記セルブロック及び前記予備
セルブロックに接続されるネットのスラック値を計算す
るスラック計算装置を有し、前記ブロック交換装置は前
記スラック値に基づいて選択されるセルブロック及び前
記ライブラリに格納された予備セルブロックを決定する
ものであることが好ましい。また、前記ライブラリは互
いに同一の機能を有すると共に、互いに異なる下地特
性、サイズ及び形を有する予備セルブロックが格納され
ていることが望ましい。The semiconductor integrated circuit designing apparatus according to the first and second aspects of the present invention includes a slack calculator for calculating a slack value of a net connected to the cell block and the spare cell block. Preferably, the switching device determines a cell block to be selected based on the slack value and a spare cell block stored in the library. It is preferable that the library has the same function as each other and stores spare cell blocks having different background characteristics, sizes and shapes.
【0025】従来の半導体集積回路の設計方法による
と、カットラインを横切るネットの数を最小とすると共
に、カットラインにより分割された下地領域のサイズ及
び各領域上に配置されるセルブロックの合計サイズ、並
びに下地の特性等を考慮して、複数のセルブロックを2
以上の群に分割し、夫々カットラインにより分割された
2以上の領域に割り当てる必要があったが、このよう
に、ネット数及び領域サイズ等を考慮して複数のセルブ
ロックを分割することは極めて困難であった。また、カ
ットラインを横切るネットの数を最小にするために分割
されたセルブロックを、設計された領域と異なる領域に
配置すると、カットラインを横切るネットの数が増加し
て、配線混雑度が劣化することがある。According to the conventional method for designing a semiconductor integrated circuit, the number of nets crossing the cut line is minimized, and the size of the base region divided by the cut line and the total size of the cell blocks arranged on each region are reduced. And a plurality of cell blocks in consideration of the characteristics of the base and the like.
Although it was necessary to divide the cell blocks into the above groups and assign them to two or more regions divided by the cut lines, it is extremely difficult to divide a plurality of cell blocks in consideration of the number of nets, the region size, and the like. It was difficult. In addition, if the divided cell blocks are placed in an area different from the designed area in order to minimize the number of nets crossing the cut line, the number of nets crossing the cut line increases, and the degree of wiring congestion deteriorates. May be.
【0026】しかし、本発明においては、カットライン
を横切るネットの数を最小とする条件で2以上の群に分
割されたセルブロックを2以上の下地の領域に割り当て
た後、分割されたセルブロック群に属するセルブロック
を、合計サイズ又は下地特性等の理由により対応する下
地領域上に配置させることができない場合に、このセル
ブロックを予め準備された予備セルブロックに交換す
る。なお、セルブロック群に属する複数のセルブロック
の合計サイズが、対応する領域のサイズよりも大きい場
合には、交換対象となるセルブロックは、例えば、これ
に接続されたネットのスラック値が正の値となるものを
選択することができ、予備セルブロックは、夫々交換さ
れるセルブロックと同一の機能であって、交換されるセ
ルブロックよりも小さいサイズを有すると共に、前記予
備セルブロックへの交換後に前記予備セルブロックに接
続されるネットのスラック値が0又は正の値となるもの
を選択することができる。これにより、対応する領域に
配置されるセルブロック及び予備セルブロックの合計サ
イズを対応する領域のサイズ以下にすることができるの
で、カットラインを横切るネットの数を最小とする条件
で2以上の群に分割されたセルブロックを、所定の領域
上に配置することができる。However, in the present invention, the cell blocks divided into two or more groups are assigned to two or more base regions under the condition of minimizing the number of nets crossing the cut line, When a cell block belonging to the group cannot be arranged on the corresponding base area for a reason such as a total size or a base property, the cell block is replaced with a spare cell block prepared in advance. If the total size of a plurality of cell blocks belonging to the cell block group is larger than the size of the corresponding area, the cell block to be replaced has, for example, a slack value of a net connected thereto that is positive. The spare cell block has the same function as the cell block to be exchanged, and has a smaller size than the cell block to be exchanged. Later, a slack value of a net connected to the spare cell block can be selected to be 0 or a positive value. As a result, the total size of the cell blocks and the spare cell blocks arranged in the corresponding area can be made equal to or smaller than the size of the corresponding area. Can be arranged on a predetermined area.
【0027】また、セルブロック群に属するセルブロッ
クの下地特性が対応する領域の下地特性と異なる場合に
は、交換対象となる予備セルブロックは、夫々交換され
るセルブロックと同一の機能であって、配置される下地
と一致する下地特性を有すると共に、前記予備セルブロ
ックへの交換後に前記予備セルブロックに接続されるネ
ットのスラック値が0又は正の値となるものを選択する
ことができる。これにより、対応する領域に配置される
セルブロック及び予備セルブロックの下地特性を対応す
る領域の下地特性と一致させることができるので、カッ
トラインを横切るネットの数を最小とする条件で2以上
の群に分割されたセルブロックを、所定の領域上に配置
することができる。When the background characteristics of the cell blocks belonging to the cell block group are different from the background characteristics of the corresponding area, the spare cell blocks to be replaced have the same function as the cell blocks to be replaced. In addition, it is possible to select one having a base property that matches the base to be arranged, and having a slack value of 0 or a positive value of a net connected to the spare cell block after replacement with the spare cell block. As a result, the base characteristics of the cell blocks and the spare cell blocks arranged in the corresponding region can be matched with the base characteristics of the corresponding region, so that two or more nets crossing the cut line are minimized. The cell blocks divided into groups can be arranged on a predetermined area.
【0028】従って、本発明においては、カットライン
を横切るネットの数を最小にするために分割されたセル
ブロックを、設計された領域と異なる領域に配置する必
要がなくなるので、カットラインを横切るネットの数が
増加して配線混雑度が劣化することを防止することがで
きる。Therefore, in the present invention, it is not necessary to arrange the cell blocks divided in order to minimize the number of nets crossing the cut line in a region different from the designed region. Can be prevented from increasing and the degree of wiring congestion being degraded.
【0029】[0029]
【発明の実施の形態】以下、本発明の実施例に係る半導
体集積回路の設計方法及び設計装置について、添付の図
面を参照して具体的に説明する。図1は本発明の実施例
に係る半導体集積回路の設計装置を示すブロック図であ
り、図2はその設計方法を示すフローチャートである。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a method and an apparatus for designing a semiconductor integrated circuit according to an embodiment of the present invention will be specifically described with reference to the accompanying drawings. FIG. 1 is a block diagram showing an apparatus for designing a semiconductor integrated circuit according to an embodiment of the present invention, and FIG. 2 is a flowchart showing a designing method thereof.
【0030】図1に示すように、半導体集積回路の設計
装置は制御装置3並びに種々の機能、サイズ、配置でき
る下地種類及び方向を有する予備セルブロックが格納さ
れたライブラリ9を有する。また、制御装置3は、半導
体集積回路の下地を所定の領域に分割するカットライン
を作成するカットライン作成装置5、カットラインによ
り分割された領域にセルブロックを分割する分割装置
(ミニカット装置)4、所定のセルブロックをカットラ
インにより分割された領域に配置するマッピング装置
6、セルブロック間を接続するネットのスラック値を計
算するスラック計算装置8及び所定の下地上に配置する
ことができないセルブロックをライブラリ9内に格納さ
れた予備セルブロックと交換するフロック交換装置7に
接続されている。As shown in FIG. 1, the semiconductor integrated circuit designing apparatus has a control unit 3 and a library 9 storing spare cell blocks having various functions, sizes, types of bases that can be arranged, and directions. The control device 3 includes a cut line creating device 5 that creates a cut line that divides a base of the semiconductor integrated circuit into a predetermined region, and a dividing device (mini-cut device) that divides a cell block into regions divided by the cut line. 4. A mapping device 6 for arranging a predetermined cell block in an area divided by a cut line, a slack calculator 8 for calculating a slack value of a net connecting between cell blocks, and a cell that cannot be arranged on a predetermined lower ground It is connected to a block exchange device 7 for exchanging blocks for spare cell blocks stored in a library 9.
【0031】このように構成された設計装置を使用し
て、半導体集積回路のセルブロックを配置する方法につ
いて、以下に説明する。図2に示すように、先ず、制御
装置3は、カットラインを作成する方向、位置及び順序
が登録されたファイルであるカットライン指示ファイル
を読み込み、カットライン作成装置5にカットラインを
作成するように指示する。これにより、カットライン作
成装置5は、指示された方向及び位置等に基づいて、半
導体集積回路の下地にカットラインを作成する(ステッ
プ11)。A method for arranging the cell blocks of the semiconductor integrated circuit by using the designing apparatus configured as described above will be described below. As shown in FIG. 2, first, the control device 3 reads a cut line instruction file which is a file in which the direction, position, and order in which the cut line is created are registered, and creates a cut line in the cut line creating device 5. To instruct. As a result, the cut line creation device 5 creates a cut line on the base of the semiconductor integrated circuit based on the designated direction, position, and the like (step 11).
【0032】カットラインの作成後、制御装置3は分割
装置4にセルブロックの分割を依頼する。分割装置4
は、カットラインを横切るネットの数が最小になるよう
にセルブロックを分割する(ステップ12)。このと
き、カットラインを横切るネットの数を最小にした状態
で、カットラインの両側に配置されるセルブロックの合
計サイズが、夫々、配置する下地の領域サイズを越えな
いようにすることができれば、その状態でセルブロック
を分割する。After creating the cut line, the control device 3 requests the dividing device 4 to divide the cell block. Dividing device 4
Divides the cell block so as to minimize the number of nets crossing the cut line (step 12). At this time, if the total size of the cell blocks arranged on both sides of the cut line can be made not to exceed the area size of the base to be arranged, with the number of nets crossing the cut line minimized, In this state, the cell block is divided.
【0033】その後、制御装置3はカットライン指示フ
ァイルが空になっているかどうかを調査し(ステップ1
3)、カットライン指示ファイルが空になっていない場
合には、ステップ11のカットライン作成処理及びステ
ップ52にセルブロックの分割処理を繰り返す。Thereafter, the control device 3 checks whether or not the cut line instruction file is empty (step 1).
3) If the cut line instruction file is not empty, the cut line creation processing in step 11 and the cell block division processing in step 52 are repeated.
【0034】ステップ13において、カットライン指示
ファイルが空になっていると判断されると、制御装置3
はスラック計算装置8にスラック値の計算を依頼する。
これにより、スラック計算装置8は例えばゼロスラック
法を使用して、セルブロック間を接続する各ネットのス
ラック値を計算する(ステップ14)。このとき、スラ
ック計算装置8は、カットラインにより分割された領域
の中央にセルブロックが配置されるものとして、スラッ
ク値を計算する。なお、スラック値を計算する方法の1
つであるゼロスラック法は公知である(“Circuit Plac
ement for Predictable Performance”, ICCAD90, PP.8
8-91)。If it is determined in step 13 that the cut line instruction file is empty, the controller 3
Requests the slack calculator 8 to calculate a slack value.
Thereby, the slack calculator 8 calculates a slack value of each net connecting the cell blocks using, for example, the zero slack method (step 14). At this time, the slack calculator 8 calculates the slack value assuming that the cell block is arranged at the center of the area divided by the cut line. Note that one of the methods for calculating the slack value is as follows.
One known method is the zero slack method (“Circuit Plac
ement for Predictable Performance ”, ICCAD90, PP.8
8-91).
【0035】スラック値が計算された後、制御装置3は
ブロック交換装置7に、全てのセルブロックが対応する
領域に配置されることができるように、セルブロックの
交換を依頼する。ブロック交換装置7は、各下地領域の
下地特性(方向及び種類)と対応するセルブロックの下
地特性と比較して、設定された下地領域に所定のセルブ
ロックを配置することができるかどうかを調査する。そ
の結果、配置が不可能である場合には、設定された下地
領域に配置することができる予備セルブロックであっ
て、配置が不可能であるセルブロックと同一の機能を有
する予備セルブロックをライブラリから検索して、セル
ブロックを予備セルブロックに交換する。このとき、ブ
ロック交換装置7は、セルブロックに接続されたネット
のスラック値を考慮して、遅延に余裕がない場合には、
交換を実施してもスラック値を0にすることがないよう
に考慮して、予備セルブロックを選択する。After the slack value is calculated, the control device 3 requests the block exchange device 7 to exchange the cell blocks so that all the cell blocks can be arranged in the corresponding area. The block exchange device 7 compares the base characteristics (direction and type) of each base region with the base characteristics of the corresponding cell block, and checks whether a predetermined cell block can be arranged in the set base region. I do. As a result, if placement is not possible, a spare cell block that can be placed in the set base area and has the same function as the cell block that cannot be placed is placed in the library. And replace the cell block with a spare cell block. At this time, the block switching device 7 considers the slack value of the net connected to the cell block, and if there is no margin for the delay,
The spare cell block is selected in consideration that the slack value is not set to 0 even after the replacement.
【0036】また、ブロック交換装置7は、下地の領域
サイズと配置されるセルブロックの合計サイズとを比較
する。その結果、配置されるセルブロックの合計サイズ
が下地の領域サイズよりも大きい場合、又は下地サイズ
と同等である場合には、これらのセルブロックのうち、
スラック値に余裕があるものであって、交換を実施して
もスラックを負にすることがないようなセルブロックを
交換の対象として選択する。一方、交換の対象として選
択されたセルブロックよりも小さいサイズであって、同
一の機能を有し、交換してもスラック値が負にならない
予備セルブロックをライブラリから検索して、選択され
たセルブロックを予備セルブロックに交換する(ステッ
プ15)。The block switching device 7 compares the size of the base area with the total size of the arranged cell blocks. As a result, when the total size of the cell blocks to be arranged is larger than the area size of the base or is equal to the base size, among these cell blocks,
A cell block that has a slack value and does not make slack negative even when the replacement is performed is selected as a replacement target. On the other hand, a spare cell block having a smaller size than the cell block selected as a replacement target, having the same function, and having a slack value which does not become negative even after replacement is searched from the library, and the selected cell is searched. The block is replaced with a spare cell block (step 15).
【0037】交換の完了後、マッピング装置6は各領域
内において、配置されるセルブロックを接続するネット
の長さの合計が最小になるように考慮して、セルブロッ
ク及び交換された予備セルブロックの配置位置を求め、
これらを下地の各領域上に配置する(ステップ16)。After completion of the exchange, the mapping device 6 considers the total length of the nets connecting the cell blocks to be arranged to be minimum in each area, and takes into account the cell block and the exchanged spare cell block. Find the placement position of
These are arranged on each area of the base (step 16).
【0038】図3は、ステップ12においてカットライ
ンを横切るネット数を最小にするために分割されたセル
ブロックを示す模式図である。図3に示すように、セル
ブロック21とセルブロック22とはネット27及び2
8により接続されており、セルブロック22とセルブロ
ック23とはネット29及び30により接続されてい
る。また、セルブロック24とセルブロック25とはネ
ット31により接続され、セルブロック25とセルブロ
ック26とはネット32により接続されている。従っ
て、セルブロック21、22及び23と、セルブロック
24、25及び26とに分割してカットライン33の両
側に配置すると、カットライン33を横切るネット数は
0本となる。FIG. 3 is a schematic diagram showing a cell block divided in step 12 to minimize the number of nets crossing the cut line. As shown in FIG. 3, the cell blocks 21 and 22 are connected to nets 27 and 2 respectively.
8, and the cell blocks 22 and 23 are connected by nets 29 and 30. The cell block 24 and the cell block 25 are connected by a net 31, and the cell block 25 and the cell block 26 are connected by a net 32. Therefore, if the cell blocks 21, 22, and 23 and the cell blocks 24, 25, and 26 are divided and arranged on both sides of the cut line 33, the number of nets crossing the cut line 33 becomes zero.
【0039】しかし、このようにセルブロックを分割し
た場合に、セルブロック21、22及び23の合計サイ
ズが、これらのセルブロックが配置される下地の領域サ
イズよりも大きくなり、カットライン33により分割さ
れた1方の領域上にセルブロック21、22及び23を
配置することができなくなる。また、図4に示すよう
に、下地35における1方の領域35a上に配置される
予定であったセルブロックを他方の領域35b上に侵入
して配置させると、カットライン33が歪んだ形状とな
り、カットライン33を直線状に設計しようとすると、
カットラインを横切るネットの数は2本となる。However, when the cell blocks are divided in this way, the total size of the cell blocks 21, 22 and 23 becomes larger than the size of the base area where these cell blocks are arranged. The cell blocks 21, 22, and 23 cannot be arranged on one of the two areas. Further, as shown in FIG. 4, when a cell block that is to be arranged on one area 35a of the base 35 penetrates and is arranged on the other area 35b, the cut line 33 has a distorted shape. When trying to design the cut line 33 in a straight line,
The number of nets crossing the cut line is two.
【0040】そこで、本実施例においては、例えばセル
ブロック21、22及び23のうち、ステップ14にお
いて算出されたスラック値に余裕がある(少なくともス
ラック値が正の値である)セルブロック22を交換対象
として選択する。そして、図4に示すように、このセル
ブロック22と同一の機能を有しており、交換すること
によりスラック値を負にすることなくサイズを小さくす
ることができる予備セルブロック34をライブラリ9か
ら選択して、セルブロック22を予備セルブロック34
に置き換える。これにより、図5に示すように、1方の
領域35aのサイズよりもセルブロック21及び23と
予備セルブロック34との合計サイズが小さくなるの
で、領域35a上にセルブロック21及び23並びに予
備セルブロック34を配置することができる。その結
果、カットライン33を横切るネット数を最少にした状
態で、分割された全てのセルブロックを所定の領域上に
配置することができる。Therefore, in the present embodiment, for example, of the cell blocks 21, 22, and 23, the cell block 22 having a slack value calculated in step 14 (at least the slack value is a positive value) is replaced. Select as target. As shown in FIG. 4, a spare cell block 34 having the same function as that of the cell block 22 and capable of being reduced in size without making the slack value negative by replacement is replaced with a spare cell block 34 from the library 9. By selecting, the cell block 22 is replaced with the spare cell block 34
Replace with As a result, as shown in FIG. 5, the total size of the cell blocks 21 and 23 and the spare cell block 34 becomes smaller than the size of one area 35a, so that the cell blocks 21 and 23 and the spare cell Block 34 can be located. As a result, all the divided cell blocks can be arranged on a predetermined area with the number of nets crossing the cut line 33 being minimized.
【0041】また、図6に示すように、ステップ12に
おいて、セルブロック21、36及び23と、セルブロ
ック24、25及び26とに分割された場合に、セルブ
ロック21、36及び23の合計サイズが下地領域35
aのサイズよりも小さい場合であっても、セルブロック
36の特性と領域35aの下地特性(下地種類及び方
向)1Aとが一致しないことがある。そうすると、領域
35a上にセルブロック36を配置することができず、
このセルブロック36を設定された領域35a以外の領
域に配置すると、配線混雑度が劣化する。As shown in FIG. 6, when the cell block is divided into cell blocks 21, 36 and 23 and cell blocks 24, 25 and 26 in step 12, the total size of the cell blocks 21, 36 and 23 Is the base area 35
Even when the size is smaller than the size a, the characteristics of the cell block 36 and the base characteristics (base type and direction) 1A of the region 35a may not match. Then, the cell block 36 cannot be arranged on the region 35a,
If the cell block 36 is arranged in an area other than the set area 35a, the degree of wiring congestion deteriorates.
【0042】そこで、下地特性が一致しないことにより
分割されたセルブロックの一部を所定の領域に配置する
ことができない場合に、本実施例においては、セルブロ
ック36と同一の機能を有しており、交換することによ
りスラック値を負にすることがない予備セルブロックで
あって、下地特性1Aを有する領域35a上に配置する
ことができる予備セルブロック37をライブラリ9から
選択して、セルブロック36を予備セルブロック37に
置き換える。これにより、領域35a上にセルブロック
21及び23と予備セルブロック37とを配置すること
ができ、未配置のセルブロックの発生を防止することが
できる。また、設定された領域35a以外の領域にセル
ブロック36を配置する必要がないので、カットライン
を横切るネットの数が増加することを防止することがで
きる。Therefore, when a part of the divided cell block cannot be arranged in a predetermined area because the base characteristics do not match, the present embodiment has the same function as the cell block 36. The spare cell block 37, which does not make the slack value negative by replacement and can be arranged on the area 35a having the base characteristic 1A, is selected from the library 9 and the cell block is selected. 36 is replaced with a spare cell block 37. Thus, the cell blocks 21 and 23 and the spare cell block 37 can be arranged on the region 35a, and the occurrence of unarranged cell blocks can be prevented. Further, since it is not necessary to arrange the cell blocks 36 in an area other than the set area 35a, it is possible to prevent the number of nets crossing the cut line from increasing.
【0043】[0043]
【発明の効果】以上詳述したように、本発明によれば、
カットラインを横切るネットの数を最小とする条件で2
以上の群に分割されたセルブロックを2以上の下地の領
域に割り当てた後、分割されたセルブロック群に属する
セルブロックを予め準備された予備セルブロックに交換
するので、カットラインを横切るネットの数を最小とす
る条件で2以上の群に分割されたセルブロックを所定の
領域上に配置することができ、カットラインを横切るネ
ットの数が増加して配線混雑度が劣化することを防止す
ることができる。As described in detail above, according to the present invention,
2 with the minimum number of nets crossing the cut line
After allocating the cell blocks divided into the above groups to two or more background areas, the cell blocks belonging to the divided cell block groups are replaced with spare cell blocks prepared in advance, so that the nets crossing the cut line can be replaced. Cell blocks divided into two or more groups can be arranged on a predetermined area under the condition of minimizing the number, and it is possible to prevent the number of nets crossing the cut line from increasing and the degree of wiring congestion from deteriorating. be able to.
【図1】本発明の実施例に係る半導体集積回路の設計装
置を示すブロック図である。FIG. 1 is a block diagram showing an apparatus for designing a semiconductor integrated circuit according to an embodiment of the present invention.
【図2】本発明の実施例に係る半導体集積回路の設計方
法を示すフローチャートである。FIG. 2 is a flowchart illustrating a method of designing a semiconductor integrated circuit according to an embodiment of the present invention.
【図3】ステップ12においてカットラインを横切るネ
ット数を最小にするために分割されたセルブロックを示
す模式図である。FIG. 3 is a schematic diagram showing a cell block divided in step 12 to minimize the number of nets crossing a cut line.
【図4】本実施例において、セルブロックを予備セルブ
ロックに交換する例を示す模式図である。FIG. 4 is a schematic diagram showing an example in which a cell block is replaced with a spare cell block in the present embodiment.
【図5】図4に示す予備セルブロックが配置された例を
示す模式図である。FIG. 5 is a schematic diagram showing an example in which a spare cell block shown in FIG. 4 is arranged.
【図6】本実施例において、セルブロックを予備セルブ
ロックに交換する例を示す模式図である。FIG. 6 is a schematic diagram showing an example in which a cell block is replaced with a spare cell block in the present embodiment.
【図7】従来の半導体集積回路の設計装置を示すブロッ
ク図である。FIG. 7 is a block diagram showing a conventional semiconductor integrated circuit designing apparatus.
【図8】従来の半導体集積回路の設計方法を示すフロー
チャートである。FIG. 8 is a flowchart showing a conventional method for designing a semiconductor integrated circuit.
【図9】ステップ52においてカットラインを横切るネ
ット数を最小にするために分割されたセルブロックを示
す模式図である。FIG. 9 is a schematic diagram showing a cell block divided in step 52 to minimize the number of nets crossing a cut line.
【図10】分割されたセルブロックが下地上に配置され
た状態を示す模式図である。FIG. 10 is a schematic diagram showing a state where divided cell blocks are arranged on a base.
【図11】セルブロックが配置される下地の特性を示す
模式図である。FIG. 11 is a schematic diagram showing characteristics of a base on which a cell block is arranged.
3,43;制御装置 4,44;分割装置 5,45;カットライン作成装置 6,46;マッピング装置 7;ブロック交換装置 8;スラック計算装置 21,22,23,24,25,26,36,61,6
2,63,64,65,66,74;セルブロック 27,28,29,30,31,32,67,68,6
9,70,71,72;ネット 33,73;カットライン 34,37;予備セルブロック 35,75;下地 35a,35b,75a,75b;領域3, 43; control device 4, 44; dividing device 5, 45; cut line creating device 6, 46; mapping device 7, block exchange device 8, slack calculating device 21, 22, 23, 24, 25, 26, 36, 61,6
2, 63, 64, 65, 66, 74; cell blocks 27, 28, 29, 30, 31, 32, 67, 68, 6
9, 70, 71, 72; nets 33, 73; cut lines 34, 37; spare cell blocks 35, 75; bases 35a, 35b, 75a, 75b;
Claims (9)
作成して下地を2以上の領域に分割する工程と、前記カ
ットラインを横切るネットの数を最小とする条件で複数
のセルブロックを2以上の群に分割して前記下地の2以
上の領域に夫々割り当てる工程と、前記セルブロック群
に属する複数のセルブロックの合計サイズが対応する領
域のサイズよりも大きい場合に、前記セルブロック群か
ら選択された1又は2以上のセルブロックを夫々予め準
備された1又は2以上の予備セルブロックに交換して、
前記対応する領域上に配置されるセルブロック及び予備
セルブロックの合計サイズを前記対応する領域のサイズ
以下にする工程と、を有することを特徴とする半導体集
積回路の設計方法。1. A step of forming a cut line on a base of a semiconductor integrated circuit and dividing the base into two or more regions, and a step of dividing a plurality of cell blocks into two or more under the condition of minimizing the number of nets crossing the cut line. And allocating each of the plurality of cell blocks to the two or more regions of the base, and selecting from the cell block group when the total size of the plurality of cell blocks belonging to the cell block group is larger than the size of the corresponding region. Replacing one or more of the prepared cell blocks with one or more spare cell blocks prepared in advance,
Reducing the total size of the cell blocks and spare cell blocks arranged on the corresponding area to the size of the corresponding area or less.
ロック及び予備セルブロックの合計サイズを前記対応す
る領域のサイズ以下にする工程の前に、前記セルブロッ
ク群に属するセルブロックに接続されたネットのスラッ
ク値を計算する工程を有し、前記対応する領域上に配置
されるセルブロック及び予備セルブロックの合計サイズ
を前記対応する領域のサイズ以下にする工程において前
記セルブロック群から選択される1又は2以上のセルブ
ロックは、これに接続されたネットのスラック値が正の
値となるものであることを特徴とする請求項1に記載の
半導体集積回路の設計方法。2. A cell block connected to a cell block belonging to the cell block group before a step of reducing a total size of a cell block and a spare cell block arranged on the corresponding region to a size equal to or smaller than the size of the corresponding region. Calculating a slack value of a net, wherein the total size of the cell blocks and spare cell blocks arranged on the corresponding area is selected from the cell block group in the step of reducing the total size to less than or equal to the size of the corresponding area. 2. The method according to claim 1, wherein at least one of the cell blocks has a positive slack value of a net connected to the cell block.
は、夫々交換されるセルブロックと同一の機能であっ
て、交換されるセルブロックよりも小さいサイズを有す
ると共に、前記予備セルブロックへの交換後に前記予備
セルブロックに接続されるネットのスラック値が0又は
正の値となるものであることを特徴とする請求項2に記
載の半導体集積回路の設計方法。3. The one or more spare cell blocks have the same function as the cell block to be replaced, have a smaller size than the cell block to be replaced, and are replaced with the spare cell block. 3. The method according to claim 2, wherein a slack value of a net connected to the spare cell block later becomes 0 or a positive value.
作成して下地を2以上の領域に分割する工程と、前記カ
ットラインを横切るネットの数を最小とする条件で複数
のセルブロックを2以上の群に分割して前記下地の2以
上の領域に夫々割り当てる工程と、前記セルブロック群
に属するセルブロックの下地特性が対応する領域の下地
特性と異なる場合に、配置される下地と異なる下地特性
を有する1又は2以上のセルブロックを夫々予め準備さ
れた1又は2以上の予備セルブロックに交換して、前記
対応する領域上に配置されるセルブロック及び予備セル
ブロックの下地特性と前記対応する領域の下地特性とを
一致させる工程と、を有することを特徴とする半導体集
積回路の設計方法。4. A step of forming a cut line on a base of a semiconductor integrated circuit and dividing the base into two or more regions, and a step of dividing a plurality of cell blocks into two or more regions under the condition of minimizing the number of nets crossing the cut line. And allocating to each of two or more areas of the base, and when the base properties of the cell blocks belonging to the cell block group are different from the base properties of the corresponding area, Is replaced with one or more spare cell blocks prepared in advance, respectively, and the base characteristics of the cell blocks and spare cell blocks arranged on the corresponding area and the corresponding base characteristics And a step of matching the underlying characteristics of the region.
は、夫々交換されるセルブロックと同一の機能であっ
て、配置される下地と一致する下地特性を有すると共
に、前記予備セルブロックへの交換後に前記予備セルブ
ロックに接続されるネットのスラック値が0又は正の値
となるものであることを特徴とする請求項4に記載の半
導体集積回路の設計方法。5. The one or more spare cell blocks have the same function as the cell block to be replaced, have the same base characteristic as the base to be arranged, and are replaced with the spare cell block. 5. The method according to claim 4, wherein a slack value of a net connected to the spare cell block later becomes 0 or a positive value.
作成して下地を2以上の領域に分割するカットライン作
成装置と、前記カットラインを横切るネットの数を最小
とする条件で複数のセルブロックを2以上の群に分割し
て前記下地の2以上の領域に夫々割り当てる分割装置
と、予め複数の予備セルブロックが格納されたライブラ
リと、前記セルブロック群に属する複数のセルブロック
の合計サイズが対応する領域のサイズよりも大きい場合
に、前記セルブロック群から選択された1又は2以上の
セルブロックを夫々前記ライブラリに格納された1又は
2以上の予備セルブロックに交換して、前記対応する領
域上に配置されるセルブロック及び予備セルブロックの
合計サイズを前記対応する領域のサイズ以下にするブロ
ック交換装置と、を有することを特徴とする半導体集積
回路の設計装置。6. A cut line creating apparatus for creating a cut line on a base of a semiconductor integrated circuit to divide the base into two or more regions, and a plurality of cell blocks under conditions that minimize the number of nets crossing the cut line. Is divided into two or more groups and assigned to each of two or more areas of the base, a library in which a plurality of spare cell blocks are stored in advance, and a total size of a plurality of cell blocks belonging to the cell block group are When the size is larger than the size of the corresponding area, one or more cell blocks selected from the cell block group are replaced with one or more spare cell blocks stored in the library, respectively, and A block exchange device for setting the total size of cell blocks and spare cell blocks arranged on the area to be equal to or smaller than the size of the corresponding area. A semiconductor integrated circuit designing apparatus.
作成して下地を2以上の領域に分割するカットライン作
成装置と、前記カットラインを横切るネットの数を最小
とする条件で複数のセルブロックを2以上の群に分割し
て前記下地の2以上の領域に夫々割り当てる分割装置
と、予め複数の予備セルブロックが格納されたライブラ
リと、前記セルブロック群に属するセルブロックの下地
特性が対応する領域の下地特性と異なる場合に、配置さ
れる下地と異なる下地特性を有する1又は2以上のセル
ブロックを夫々前記ライブラリに格納された1又は2以
上の予備セルブロックに交換して、前記対応する領域上
に配置されるセルブロック及び予備セルブロックの下地
特性と前記対応する領域の下地特性とを一致させるブロ
ック交換装置と、を有することを特徴とする半導体集積
回路の設計装置。7. A cut line creating apparatus for creating a cut line on a base of a semiconductor integrated circuit to divide the base into two or more regions, and a plurality of cell blocks under conditions that minimize the number of nets crossing the cut line. Is divided into two or more groups and assigned to each of two or more areas of the base, a library in which a plurality of spare cell blocks are stored in advance, and base characteristics of the cell blocks belonging to the cell block group correspond. In the case where the background characteristics are different from those of the region, one or more cell blocks having background characteristics different from those of the placed background are replaced with one or more spare cell blocks stored in the library, respectively. A block exchange device for matching background characteristics of cell blocks and spare cell blocks arranged on the region with background characteristics of the corresponding region. A semiconductor integrated circuit designing apparatus.
ックに接続されるネットのスラック値を計算するスラッ
ク計算装置を有し、前記ブロック交換装置は前記スラッ
ク値に基づいて選択されるセルブロック及び前記ライブ
ラリに格納された予備セルブロックを決定するものであ
ることを特徴とする請求項6又は7に記載の半導体集積
回路の設計装置。8. A slack calculator for calculating a slack value of a net connected to the cell block and the spare cell block, wherein the block exchange device selects a cell block and the library based on the slack value. 8. The apparatus for designing a semiconductor integrated circuit according to claim 6, wherein the spare cell block stored in the semiconductor integrated circuit is determined.
すると共に、互いに異なる下地特性、サイズ及び形を有
する予備セルブロックが格納されていることを特徴とす
る請求項6乃至8のいずれか1項に記載の半導体集積回
路の設計装置。9. The library according to claim 6, wherein the library has the same function as each other, and stores spare cell blocks having different background characteristics, sizes, and shapes. An apparatus for designing a semiconductor integrated circuit according to the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26436998A JP3144392B2 (en) | 1998-09-18 | 1998-09-18 | Method and apparatus for designing semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26436998A JP3144392B2 (en) | 1998-09-18 | 1998-09-18 | Method and apparatus for designing semiconductor integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000100951A JP2000100951A (en) | 2000-04-07 |
JP3144392B2 true JP3144392B2 (en) | 2001-03-12 |
Family
ID=17402205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26436998A Expired - Fee Related JP3144392B2 (en) | 1998-09-18 | 1998-09-18 | Method and apparatus for designing semiconductor integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3144392B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6639176B1 (en) * | 1998-11-13 | 2003-10-28 | Elpatronic Ag | Method and device for producing welded blanks |
KR101819530B1 (en) * | 2016-11-02 | 2018-01-17 | 주식회사 정글 | Glasses that bone conduction speaker mounted |
US10380864B2 (en) | 2014-08-20 | 2019-08-13 | Finewell Co., Ltd. | Watching system, watching detection device, and watching notification device |
US10506343B2 (en) | 2012-06-29 | 2019-12-10 | Finewell Co., Ltd. | Earphone having vibration conductor which conducts vibration, and stereo earphone including the same |
US11526033B2 (en) | 2018-09-28 | 2022-12-13 | Finewell Co., Ltd. | Hearing device |
US11601538B2 (en) | 2014-12-18 | 2023-03-07 | Finewell Co., Ltd. | Headset having right- and left-ear sound output units with through-holes formed therein |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467373B2 (en) * | 2018-02-21 | 2019-11-05 | Xilinx, Inc. | Method of selecting routing resources in a multi-chip integrated circuit device |
-
1998
- 1998-09-18 JP JP26436998A patent/JP3144392B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6639176B1 (en) * | 1998-11-13 | 2003-10-28 | Elpatronic Ag | Method and device for producing welded blanks |
US10506343B2 (en) | 2012-06-29 | 2019-12-10 | Finewell Co., Ltd. | Earphone having vibration conductor which conducts vibration, and stereo earphone including the same |
US10380864B2 (en) | 2014-08-20 | 2019-08-13 | Finewell Co., Ltd. | Watching system, watching detection device, and watching notification device |
US11601538B2 (en) | 2014-12-18 | 2023-03-07 | Finewell Co., Ltd. | Headset having right- and left-ear sound output units with through-holes formed therein |
KR101819530B1 (en) * | 2016-11-02 | 2018-01-17 | 주식회사 정글 | Glasses that bone conduction speaker mounted |
US11526033B2 (en) | 2018-09-28 | 2022-12-13 | Finewell Co., Ltd. | Hearing device |
Also Published As
Publication number | Publication date |
---|---|
JP2000100951A (en) | 2000-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7039881B2 (en) | Modification of integrated circuits | |
US6996787B2 (en) | Integrated circuit cells | |
JPH11338892A (en) | Device for arranging cell, its method and computer readable storage medium for recording cell arrangement program | |
US20080005711A1 (en) | Method and apparatus for approximating diagonal lines in placement | |
JP3144392B2 (en) | Method and apparatus for designing semiconductor integrated circuit | |
US10936784B2 (en) | Planning method for power metal lines | |
JPH09223744A (en) | Arrangement method of circuit to vlsi chip | |
JP2004039933A (en) | System and method for designing mask and program for causing computer to perform mask design processing or layout design processing | |
JP2970567B2 (en) | Wiring current density reduction system | |
JP2766284B2 (en) | Layout support device for semiconductor integrated circuit | |
JP2921454B2 (en) | Wiring method of integrated circuit | |
JPH07121600A (en) | Wiring route processing method | |
JP2914274B2 (en) | Automatic placement processing method and apparatus | |
JP2656840B2 (en) | Channel wiring device | |
JP3133718B2 (en) | Layout method | |
JPH1070241A (en) | Automatic arranging method | |
JP2001147954A (en) | Floor plan preparing method for semiconductor integrated circuit | |
JPH10209287A (en) | Layout design method of clock supply system | |
JPH1092940A (en) | Layout method | |
JPH02266546A (en) | Arrangement method for integrated circuit element in integrated circuit device | |
JPH04101276A (en) | Integrated circuit designing device | |
JP2001216341A (en) | Automatic arranging and wiring method | |
JPH06236417A (en) | Automatic electrical parts arranging device on substrate and automatic arranging method for electrical parts | |
JP2002217301A (en) | Wiring delay violation correcting device | |
JP2000208633A (en) | Method and device for automatic wiring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |