JP3012630B1 - Clock wiring method in semiconductor integrated circuit - Google Patents

Clock wiring method in semiconductor integrated circuit

Info

Publication number
JP3012630B1
JP3012630B1 JP10370086A JP37008698A JP3012630B1 JP 3012630 B1 JP3012630 B1 JP 3012630B1 JP 10370086 A JP10370086 A JP 10370086A JP 37008698 A JP37008698 A JP 37008698A JP 3012630 B1 JP3012630 B1 JP 3012630B1
Authority
JP
Japan
Prior art keywords
clock
cell column
cell
gate capacitance
capacitance
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
Application number
JP10370086A
Other languages
Japanese (ja)
Other versions
JP2000195959A (en
Inventor
幸茂 前田
Original Assignee
日本電気アイシーマイコンシステム株式会社
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 日本電気アイシーマイコンシステム株式会社 filed Critical 日本電気アイシーマイコンシステム株式会社
Priority to JP10370086A priority Critical patent/JP3012630B1/en
Application granted granted Critical
Publication of JP3012630B1 publication Critical patent/JP3012630B1/en
Publication of JP2000195959A publication Critical patent/JP2000195959A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【要約】 【課題】 マクロブロックを含む標準セルで構成される
半導体集積回路においてクロック配線によりクロックス
キューを抑える。 【解決手段】 マクロブロック401のクロックゲート
容量のうち最大ゲート容量CMBGを記憶しておき、セル
列領域402のうちマクロブロックに関連しない第1セ
ル列領域と関連する第2セル列領域とを設定し、第1セ
ル列領域にフリップフロップFFを配置し、FFのクロ
ック入力ゲート容量CCGを抽出する。クロック入力ゲー
ト容量CCGが最大ゲート容量CMBGより大きくなるまで
第1セル列領域のFF数及びクロック配線長を変更する。
最大ゲート容量CMBGに負荷容量CLを加えた値がクロッ
ク入力ゲート容量CCGに等しくなるように負荷容量CL
を決定する。
Abstract: PROBLEM TO BE SOLVED: To suppress clock skew by clock wiring in a semiconductor integrated circuit composed of standard cells including macro blocks. SOLUTION: A maximum gate capacitance C MBG among clock gate capacities of a macro block 401 is stored, and a first cell column region not related to the macro block and a second cell column region related to the macro block in a cell column region 402 are stored. set, the flip-flop FF arranged in the first cell string area, and extracts a clock input gate capacitance C CG of FF. The number of FFs and the clock wiring length in the first cell column region are changed until the clock input gate capacitance C CG becomes larger than the maximum gate capacitance C MBG .
Maximum gate capacitance C MBG in the load capacitor C L to a value obtained by adding the load so is equal to the clock input gate capacitance C CG capacitance C L
To determine.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は半導体集積回路のレ
イアウト設計に係り、特にマクロブロックを含む半導体
集積回路のクロックスキューを抑えるクロック配線方法
に関する。
The present invention relates to a layout design of a semiconductor integrated circuit, and more particularly to a clock wiring method for suppressing a clock skew of a semiconductor integrated circuit including a macro block.

【0002】[0002]

【従来の技術】従来、ゲートアレイあるいは標準セル方
式LSIなどの半導体集積回路において、クロックスキ
ュー(Clock Skew:クロック信号が到達するまで時間の
ばらつき)の低減は重要な設計要素の一つであり、通
常、各セル列に対してクロックドライバーを配置し、そ
れらに付加される容量および抵抗によって遅延を合わせ
ることが行われている。
2. Description of the Related Art Conventionally, in a semiconductor integrated circuit such as a gate array or a standard cell LSI, reduction of clock skew (variation in time until a clock signal arrives) is one of important design factors. Usually, a clock driver is arranged for each cell column, and the delay is adjusted by the capacitance and resistance added thereto.

【0003】クロックスキューを低減するための第1の
従来技術が特開平10−65106号公報に開示されて
いる。以下、図7を参照しながら、第1の従来技術によ
るクロック分配回路について簡単に説明する。
A first prior art for reducing clock skew is disclosed in Japanese Patent Laid-Open No. 10-65106. Hereinafter, the clock distribution circuit according to the first conventional technique will be briefly described with reference to FIG.

【0004】図7において、複数のセル列ROW0〜R
OW4を縦列配置したブロック701に対して複数の電
源ブリッジセル702が縦方向に配置されている。最上
段セル列ROW0または最下段セル列ROW4におい
て、電源ブリッジセル702に近接して第1のバッファ
B1が配置され、クロック信号が入力する。第1のバッ
ファB1は、各セル列の電源ブリッジセルの下に配置さ
れた第2のバッファB2を駆動する。従って、第1のバ
ッファB1の出力と、対応する縦1列の第2バッファB
2の入力との間は第1の配線で接続されている。各セル
列における第2のバッファB2間に存在するフリップフ
ロップFFのクロック端子は第2のバッファB2の出力
と第2の配線によって接続され、クロック信号が供給さ
れる。更に、第2のバッファB2により駆動されるフリ
ップフロップFFの数に応じて負荷調整用のゲートが負
荷として接続される。各電源ブリッジセル702は指定
された間隔で配置されるが、ブロックのサイズにより指
定された間隔より短い間隔で電源ブリッジセルが配置さ
れる場合には、第2のバッファB2は、その短い間隔に
応じた負荷調整用のゲートが負荷として接続される。こ
うしてクロックスキューの抑制を図っている。
In FIG. 7, a plurality of cell rows ROW0 to ROW0-R
A plurality of power supply bridge cells 702 are arranged in a vertical direction with respect to a block 701 in which OW4 is arranged in tandem. In the uppermost cell row ROW0 or the lowermost cell row ROW4, the first buffer B1 is arranged close to the power supply bridge cell 702, and receives a clock signal. The first buffer B1 drives a second buffer B2 disposed below the power supply bridge cell of each cell column. Therefore, the output of the first buffer B1 and the corresponding second buffer B
The first input is connected to the second input. A clock terminal of the flip-flop FF existing between the second buffers B2 in each cell column is connected to an output of the second buffer B2 by a second wiring, and is supplied with a clock signal. Further, a load adjusting gate is connected as a load according to the number of flip-flops FF driven by the second buffer B2. Each power supply bridge cell 702 is arranged at a specified interval. If the power supply bridge cells are arranged at an interval shorter than the interval specified by the block size, the second buffer B2 is arranged at the shorter interval. A corresponding gate for load adjustment is connected as a load. Thus, clock skew is suppressed.

【0005】また、第2の従来技術として特開平6−2
60555号公報に半導体集積回路が開示されている。
ここでは、マスタクロックドライバに接続されたクロッ
ク配線に複数のローカルクロックドライバが配置され、
各ローカル・クロックドライバが駆動するフリップフロ
ップのクロックゲート数を均等にすることで、クロック
スキューの低減を図っている。
A second prior art is disclosed in Japanese Unexamined Patent Publication No.
No. 60555 discloses a semiconductor integrated circuit.
Here, a plurality of local clock drivers are arranged on the clock wiring connected to the master clock driver,
The clock skew is reduced by equalizing the number of clock gates of flip-flops driven by each local clock driver.

【0006】第3の従来技術として、ユーザーズマニュ
アル(暫定)CB−C9ファミリVX/VMタイプ設計
編 第5章 5.4.4のクロック・ツリー・シンセシス
(CTS)の項には、チップ・レイアウト時にクロック
・ラインを高駆動バッファのツリー構造とし、各ブロッ
クへのクロック入力の相対クロックスキューを抑える技
術が開示されている。
As a third prior art, a user's manual (tentative) CB-C9 Family VX / VM Type Design Edition, Chapter 5, Section 5.4.4, Clock Tree Synthesis (CTS), describes a chip layout. There is disclosed a technique in which a clock line is sometimes formed in a tree structure of a high-drive buffer to suppress a relative clock skew of a clock input to each block.

【0007】CTS手法について、図8を参照しながら
簡単に説明する。先ず、レイアウト設計を行うための論
理情報が格納されたネットリストを自動配置配線ツール
へ読み込み、ネットリスト上のブロックの種類を、入出
力バッファセル、マクロブロックセル、および標準セル
に分類する(S801)。続いて、入出力バッファセル
をチップ周辺に配置しマクロブロックセルおよび標準セ
ルを配置する内部コア領域との分離を行う(S80
2)。更に、接続情報に従って自動または手動により内
部コア領域にマクロブロックセル配置を行う(S80
3)。次に、消費電力による電圧降下を考慮し、半導体
集積回路が誤動作しない幹線の太さおよび間隔を計算装
置によってまたは人手により計算し決定する(S80
4)。
[0007] The CTS method will be briefly described with reference to FIG. First, a netlist storing logic information for performing layout design is read into the automatic placement and routing tool, and the types of blocks on the netlist are classified into input / output buffer cells, macroblock cells, and standard cells (S801). ). Subsequently, input / output buffer cells are arranged around the chip to separate them from the internal core area where macro block cells and standard cells are arranged (S80).
2). Further, the macroblock cells are arranged in the inner core area automatically or manually according to the connection information (S80).
3). Next, in consideration of the voltage drop due to power consumption, the thickness and the interval of the main line at which the semiconductor integrated circuit does not malfunction are calculated and determined by the calculation device or manually (S80).
4).

【0008】続いて、クロック信号と接続しない標準セ
ルをネットリストの論理情報により接続関係の強い標準
セルの近傍に配置(S805)した後、自動配置配線を
行うための制約データを計算装置へ読み込む(S80
6)。読み込まれた制約データにより、CTSステップ
S807によりクロックツリー処理および標準セル配置
が行われる。
Subsequently, after the standard cell not connected to the clock signal is arranged near the standard cell having a strong connection relationship based on the logic information of the netlist (S805), the constraint data for performing the automatic arrangement and wiring is read into the computing device. (S80
6). Based on the read constraint data, clock tree processing and standard cell arrangement are performed in CTS step S807.

【0009】先ず、読み込まれたネットリストの中のク
ロック信号と接続するマクロブロックおよび標準セルの
クロック・ツリー・シンセシスを実行する。本ステップ
により、クロックツリーの構造(例えば段数、バッファ
駆動能力)を決定し、一定エリア内に配置するフリップ
フロップをグループ化し、ゲート容量および配線容量を
一致させることにより、クロックスキューを抑えるよう
に配置する。
First, clock tree synthesis of macro blocks and standard cells connected to the clock signal in the read netlist is executed. In this step, the structure of the clock tree (for example, the number of stages, the buffer driving capability) is determined, the flip-flops arranged in a certain area are grouped, and the gate capacitance and the wiring capacitance are matched so that the clock skew is suppressed. I do.

【0010】より詳しくは、まず、クロックツリーの段
数およびバッファ駆動能力などのツリー構造を決定し、
一定エリア内に配置するフリップフロップ数をグループ
化し、配置する。 グループ化されたフリップフロップ
のクロック入力ゲートに接続されるローカルクロックバ
ッファの配線容量とフリップフロップのゲート容量のば
らつきが均等になるようフリップフロップを配置する。
また、クロックツリーを形成する際、バッファ数を決定
する。なお、ツリー構造、フリップフロップのグループ
化、負荷容量のばらつき均等化およびバッファ挿入数の
決定順は、順不同である。次に、決定されたクロックツ
リーバッファを挿入し配置を行い、クロックツリーバッ
ファ挿入によりネットリストを更新する。
More specifically, first, a tree structure such as the number of clock tree stages and buffer driving capability is determined.
The number of flip-flops arranged in a certain area is grouped and arranged. The flip-flops are arranged such that the wiring capacitance of the local clock buffer connected to the clock input gates of the grouped flip-flops and the variation in the gate capacitance of the flip-flops become equal.
In forming a clock tree, the number of buffers is determined. The order of determining the tree structure, grouping of flip-flops, equalizing the variation in load capacity, and the number of buffers to be inserted are not specified. Next, the determined clock tree buffer is inserted and arranged, and the netlist is updated by inserting the clock tree buffer.

【0011】複数のクロック系統がある場合、ステップ
S807をクロック系統数だけ繰り返し実行する(S8
08)。
If there are a plurality of clock systems, step S807 is repeatedly executed by the number of clock systems (S8).
08).

【0012】CTSステップS808が全クロック系統
数終了すると、配置されたクロックツリー以外に対しタ
イミング制約を用いて標準セルの再配置を行う(S80
9)。もしタイミングが合致しない場合は、セルの変更
を行いタイミングが一致するまで処理を行う。タイミン
グが一致すると、ステップS809までに変更された情
報によりネットリストを変更する。
When the CTS step S808 is completed for all the clock systems, the standard cells are rearranged by using timing constraints for the clock trees other than the arranged clock tree (S80).
9). If the timings do not match, the cell is changed and processing is performed until the timings match. If the timings match, the netlist is changed based on the information changed up to step S809.

【0013】より詳しくは、各セル列に配置されている
サブクロックバッファ、ローカルクロックバッファの配
置位置を保持し、計算装置に読み込まれた制約に基づき
標準セルの配置を行う。以上のステップにより全ての標
準セル、マクロブロック、入出力バッファセルが配置さ
れる。続いて、計算装置に読み込まれた制約との比較を
実行する。
More specifically, the positions of the sub clock buffers and the local clock buffers arranged in each cell row are held, and the standard cells are arranged based on the constraints read by the computing device. Through the above steps, all standard cells, macro blocks, and input / output buffer cells are arranged. Subsequently, a comparison with the constraint read into the computing device is performed.

【0014】比較した結果、一致しなかった場合は標準
セルのクローニングおよびスワッピングを行う。クロー
ニングとはファンアウトを分割する手法をいう。例え
ば、NAND出力が4個所接続されていて、その中の1
個所がクリティカルパスである場合、入力信号共通のN
ANDをコピーし、クリティカルパスをコピーされたN
AND出力と接続することにより、遅延を抑制する。ま
た、スワッピングとは、ネットリストで記述されている
セルではなく、同一論理でドライブ能力の高いセルに変
更することにより遅延を抑制する手法をいう。セルのク
ローニングおよびスワッピングの双方とも使用してタイ
ミング修正を行う方法だけではなく、一方のみを使用し
てタイミングを修正する方法であってもよい。上記タイ
ミング修正を行った上で、上述した制約による再配置を
実行し、タイミングが一致するまでクローニング、スワ
ッピング及び制約による再配置を繰り返す。
As a result of comparison, if they do not match, cloning and swapping of standard cells are performed. Cloning refers to a technique for dividing fan-out. For example, four NAND outputs are connected, and one of them is connected.
If the location is a critical path, N
AND copied and critical path copied N
By connecting to the AND output, delay is suppressed. In addition, swapping refers to a method of suppressing delay by changing the cell to a cell having the same logic and a high drive capability instead of a cell described in a netlist. Not only a method of correcting timing using both cell cloning and swapping, but also a method of correcting timing using only one of them may be used. After the above-mentioned timing correction is performed, the rearrangement by the above-described constraint is executed, and the cloning, swapping, and the rearrangement by the constraint are repeated until the timing matches.

【0015】こうしてタイミングが一致すると、クロッ
クツリー用に挿入されたローカルクロックバッファ、セ
ルのクローニングおよびスワッピングにより、読み込ま
れたネットリストと異なっているので、上記変更された
情報を持つネットリストへ変更する。
When the timings match, the netlist differs from the read netlist due to cloning and swapping of the local clock buffer and cells inserted for the clock tree, so that the netlist having the changed information is changed. .

【0016】フリップフロップのゲート容量での不均衡
が生じた場合、クロックツリーの負荷容量を均等にする
ように、迂回配線などにより配線容量を付加する(S8
10)。この用にして生成されたクロック信号配線を保
持し、クロック信号以外の配線を実行する(S81
1)。
If an imbalance occurs in the gate capacitance of the flip-flop, a wiring capacitance is added by detour wiring or the like so as to equalize the load capacitance of the clock tree (S8).
10). The clock signal wiring generated for this purpose is held, and wiring other than the clock signal is executed (S81).
1).

【0017】第4の従来技術としては、特開平8−22
1473号公報に記載されたレイアウト方法がある。こ
の方法は機能ブロックを含む半導体集積回路に適用され
るものである。詳しくは、機能ブロック外遅延時間とブ
ロック内遅延時間との和として遅延時間を算出し、各セ
ルのクロックスキューを制限範囲に収めるように各セル
の配置と配線経路を決定する。言い換えれば、各機能ブ
ロックの遅延時間の差が生じた際、機能ブロックの外に
配置された遅延時間調整用セルのドライブ能力の変更に
よりクロックスキューを調整する。
A fourth prior art is disclosed in JP-A-8-22.
There is a layout method described in 1473. This method is applied to a semiconductor integrated circuit including a functional block. More specifically, the delay time is calculated as the sum of the delay time outside the functional block and the delay time within the block, and the arrangement and wiring route of each cell are determined so that the clock skew of each cell falls within a limited range. In other words, when there is a difference between the delay times of the respective functional blocks, the clock skew is adjusted by changing the drive capability of the delay time adjusting cell disposed outside the functional block.

【0018】[0018]

【発明が解決しようとする課題】しかしながら、以上述
べた従来技術では、次のような問題点があった。
However, the above-mentioned prior art has the following problems.

【0019】第1および第2の従来技術では、ROMや
RAMなどのマクロブロックを含む混在の半導体集積回
路に対して、標準セル部分とマクロブロック部分とのク
ロックスキューを抑えることが困難である。その理由
は、従来の半導体集積回路の手法では、マクロブロック
とのクロックスキューについて何ら考慮されていないた
めである。
In the first and second prior arts, it is difficult to suppress clock skew between a standard cell portion and a macro block portion in a mixed semiconductor integrated circuit including a macro block such as a ROM and a RAM. The reason is that the conventional method of a semiconductor integrated circuit does not consider clock skew with a macroblock at all.

【0020】また、第1の従来技術には、ダミー容量を
決める際、セル列長が異なる場合のゲート容量と配線容
量の拡散温度変動による特性のばらつきを考慮していな
い。その理由を、図7を参照して以下に実数値を当ては
め説明を行う。
In the first prior art, when determining the dummy capacitance, the variation in characteristics due to the diffusion temperature fluctuation of the gate capacitance and the wiring capacitance when the cell column length is different is not taken into consideration. The reason will be described below with reference to FIG.

【0021】例えば、配線容量の特性ばらつきが±20
%、ゲート容量のばらつき±10%、セル列長L1を5
000μm、フリップフロップ数を50個、セル列長L
2を1000μm、F/F数10個とする。配線ばらつ
きが0%としたときフリップフロップのゲート容量を
0.1pF/個、1000μm当りの配線容量を0.1
pF、配線抵抗を100Ωとすると、セル列L1での遅
延値は、配線抵抗500Ω、フリップフロップの総ゲー
ト容量5pF、配線容量0.5pFにより2.75ns
となる。セル列L2での遅延値は、配線抵抗100Ω、
フリップフロップの総ゲート容量1pF、配線容量0.
1pFにより0.11nsとなる。
For example, the variation in the characteristics of the wiring capacitance is ± 20.
%, Variation of gate capacitance ± 10%, cell column length L1 is 5
000 μm, 50 flip-flops, cell column length L
2 is 1000 μm and the number of F / Fs is 10. When the wiring variation is 0%, the gate capacitance of the flip-flop is 0.1 pF / piece, and the wiring capacitance per 1000 μm is 0.1
Assuming that pF and the wiring resistance are 100Ω, the delay value in the cell row L1 is 2.75 ns based on the wiring resistance of 500Ω, the total gate capacitance of the flip-flop of 5 pF, and the wiring capacitance of 0.5 pF.
Becomes The delay value in the cell row L2 is as follows.
The total gate capacitance of the flip-flop is 1 pF and the wiring capacitance is 0.
1 pF gives 0.11 ns.

【0022】セル列L2の遅延値をセル列L1での遅延
値2.75nsと同一値にするために、ダミー容量2
6.4pFを付加することによりクロックスキューを抑
えることができる。しかし、配線容量およびゲート容量
のばらつきを考えるとセル列L1でのワースト最大遅延
値は、3.05ns、セル列L2でのワースト最小遅延
値は、2.47nsとなりセル列間での遅延値の差が生
じる。今後チップサイズが大きくなり、配線長が長くな
るとともに、微細加工技術の進展により、配線幅がより
細くなる。このため配線抵抗値は大きくなり、遅延値の
差が問題となる。
In order to make the delay value of the cell line L2 equal to the delay value of 2.75 ns in the cell line L1, the dummy capacitance 2
Clock skew can be suppressed by adding 6.4 pF. However, considering the variation in the wiring capacitance and the gate capacitance, the worst maximum delay value in the cell line L1 is 3.05 ns, and the worst minimum delay value in the cell line L2 is 2.47 ns, which is the delay value between the cell lines. There is a difference. In the future, the chip size will increase, the wiring length will increase, and the wiring width will become narrower due to the development of fine processing technology. For this reason, the wiring resistance value increases, and a difference in delay value becomes a problem.

【0023】更に、第2および第4の従来技術では、マ
スタ・クロックドライバの駆動能力を高駆動能力を持っ
たドライバを使用しなければならず、ノイズの発生源と
なり誤動作が発生し易い。すなわち、半導体集積回路の
チップサイズが大きくなるにつれマスタ・クロックドラ
イバが駆動するローカル・クロックドライバー数が増大
する。そのため、マスタ・クロックドライバの駆動能力
を上げるには、バッファサイズを大きくすることにな
り、配置クロック波形にスレッシュホールドレベル以上
のアンダーシュート・オーバーシュートが発生し、誤動
作する。
Further, in the second and fourth prior arts, a driver having a high driving capability must be used as the driving capability of the master clock driver, which is a source of noise and liable to malfunction. That is, as the chip size of the semiconductor integrated circuit increases, the number of local clock drivers driven by the master clock driver increases. Therefore, in order to increase the driving capability of the master clock driver, the buffer size must be increased, and an undershoot / overshoot exceeding the threshold level occurs in the arranged clock waveform, causing a malfunction.

【0024】また、第3及び第4の従来技術では、フリ
ップフロップのクロック入力へ接続する際、配線層を複
数層使用することによるばらつきを考慮していない。す
なわち、フリップフロップをグループ化し、複数配線層
の配線容量を各グループ間で均等になるよう配置する
が、各配線層間での特性ばらつきが異なるために、遅延
値の差が生じるからである。
In the third and fourth prior arts, when connecting to the clock input of the flip-flop, variations due to the use of a plurality of wiring layers are not considered. That is, the flip-flops are grouped, and the wiring capacitances of the plurality of wiring layers are arranged so as to be equal between the groups. However, since the characteristic variation between the wiring layers differs, a difference in delay value occurs.

【0025】更に、第3の従来技術では、クロック信号
が複数存在する半導体集積回路において、クロック・ツ
リー・シンセシスをクロック信号数だけ実行する必要が
ある。クロック・ツリー・シンセシスでは、各クロック
毎にクロックツリー構造を構築しフリップフロップをグ
ループ化して、クロックスキューを抑え込まなければな
らないからである。
Further, in the third prior art, in a semiconductor integrated circuit having a plurality of clock signals, it is necessary to execute clock tree synthesis by the number of clock signals. This is because in clock tree synthesis, a clock tree structure must be constructed for each clock and flip-flops must be grouped to suppress clock skew.

【0026】第3及び第4の従来技術では、クロック信
号が複数存在する半導体集積回路において、クロック間
スキューの合わせ込みが困難である。各クロック信号に
接続されているフリップフロップ数および配線長が各ク
ロック毎に異なることによりクロック信号の遅延値が不
一致となってしまうためである。
In the third and fourth prior arts, it is difficult to adjust the skew between clocks in a semiconductor integrated circuit having a plurality of clock signals. This is because the number of flip-flops connected to each clock signal and the wiring length are different for each clock, so that the delay values of the clock signals do not match.

【0027】第3の従来技術では、クロックツリーの負
荷容量を迂回配線により調整を行っているために、本来
ならば他の配線領域として適していても、この迂回配線
により使用することができず、配線効率が悪くなるとい
うことである。
In the third prior art, since the load capacitance of the clock tree is adjusted by the bypass wiring, even if it is originally suitable as another wiring area, it cannot be used by this bypass wiring. That is, the wiring efficiency is deteriorated.

【0028】本発明の目的は、ゲート容量と配線容量の
特性ばらつき、および配線層間での特性ばらつきを抑
え、マクロブロックを含む配置配線レイアウトにおい
て、クロックスキューを抑えることが可能な半導体集積
回路におけるクロック配線方法を提供することにある。
An object of the present invention is to suppress a clock skew in a semiconductor integrated circuit which can suppress a characteristic variation between a gate capacitance and a wiring capacitance and a characteristic variation between wiring layers and can suppress a clock skew in an arrangement wiring layout including a macro block. It is to provide a wiring method.

【0029】[0029]

【課題を解決するための手段】本発明によるクロック配
線方法は、少なくとも1つのマクロブロックと複数のセ
ル列とからなる半導体集積回路のクロック配線方法にあ
って、前記マクロブロックのクロックゲート容量のうち
最大ゲート容量を記憶する第1ステップと、前記複数の
セル列をそれぞれ構成するためのセル列領域のうち前記
マクロブロックに対応しない第1セル列領域と対応する
第2セル列領域とを設定し、前記第1セル列領域にクロ
ック関連回路を配置し、当該クロック関連回路のクロッ
ク入力ゲート容量を抽出する第2ステップと、前記クロ
ック入力ゲート容量が前記最大ゲート容量より大きくな
るまで前記第1セル列領域のクロック関連回路の構成を
変更する第3ステップと、前記最大ゲート容量に負荷容
量を加えた値が前記クロック入力ゲート容量に等しくな
るように前記負荷容量を決定する第4ステップと、から
なることを特徴とする。
A clock wiring method according to the present invention is a clock wiring method for a semiconductor integrated circuit comprising at least one macro block and a plurality of cell columns. A first step of storing a maximum gate capacitance, and setting a first cell column region not corresponding to the macroblock and a second cell column region corresponding to the macroblock among cell column regions for configuring the plurality of cell columns, respectively. A second step of arranging a clock-related circuit in the first cell column area and extracting a clock input gate capacitance of the clock-related circuit; and the first cell until the clock input gate capacitance becomes larger than the maximum gate capacitance. A third step of changing the configuration of the clock-related circuit in the column area; A fourth step of determining the load capacitance to be equal to the clock input gate capacitance, that consists characterized.

【0030】このように、クロック入力ゲート容量が最
大ゲート容量より大きくなるまで第1セル列領域のクロ
ック関連回路の構成を変更し、マクロブロックの最大ゲ
ート容量に負荷容量を加えた値がクロック関連回路のク
ロック入力ゲート容量に等しくなるように負荷容量を決
定することで、マクロブロックの有無に関係なく、セル
列間のゲート容量及び配線容量のばらつきを回避するこ
とができ、クロックスキューを抑え、且つマクロブロッ
クに付加する負荷容量を最小に抑えることができる。
As described above, the configuration of the clock-related circuit in the first cell column area is changed until the clock input gate capacity becomes larger than the maximum gate capacity, and the value obtained by adding the load capacity to the maximum gate capacity of the macro block is the clock-related value. By determining the load capacitance so as to be equal to the clock input gate capacitance of the circuit, it is possible to avoid variations in gate capacitance and wiring capacitance between cell columns irrespective of the presence or absence of a macro block, suppress clock skew, In addition, the load capacity added to the macro block can be minimized.

【0031】また、ゲート容量及び配線容量のばらつき
を補償することができ、マクロブロックの有無に関係な
くクロックスキューを抑えることができるために、クロ
ックの違いによる差が生じない。そのために、セル列領
域上に配置する例えばフリップフロップ数とセル列長を
一括処理することが可能となる。このため、クロック処
理を1回実行するだけで複数クロック信号のスキューを
合わせ込むことが可能となり、自動配置の配線実行時間
を短縮することができる。
Further, since variations in gate capacitance and wiring capacitance can be compensated, and clock skew can be suppressed regardless of the presence or absence of a macro block, there is no difference due to a difference in clock. Therefore, it is possible to collectively process, for example, the number of flip-flops and the cell column length arranged on the cell column region. Therefore, it is possible to adjust the skew of a plurality of clock signals only by executing the clock processing once, and it is possible to reduce the time required for executing the wiring for the automatic placement.

【0032】更に、本発明によれば、第4ステップが終
了した後で、セル列領域の残りの領域に標準セルを配置
する第5ステップを更に有することを特徴とする。言い
換えれば、本発明によれば、クロック処理前には標準セ
ルの配置は行わず、クロック処理に必要なフリップフロ
ップ回路などのクロック関連回路を配置した後、標準セ
ルの配置を行う。これによって、従来のCTSを用いた
設計技術のように標準セルを2度配置処理する必要が無
く、自動配置の時間を短縮することができる。
Further, according to the present invention, after the fourth step is completed, a fifth step of arranging standard cells in the remaining area of the cell row area is further provided. In other words, according to the present invention, standard cells are not arranged before clock processing, and standard cells are arranged after clock-related circuits such as flip-flop circuits necessary for clock processing are arranged. This eliminates the need to perform the placement processing of the standard cells twice unlike the conventional design technique using CTS, and can reduce the time for automatic placement.

【0033】また、本発明によれば、各セル列領域にお
けるクロック配線をセル列方向に単層配線により形成す
ることを特徴とする。単層配線で形成することにより、
配線層のばらつきを考慮する必要が無くなる。
Further, according to the present invention, the clock wiring in each cell column region is formed by a single layer wiring in the cell column direction. By forming with single layer wiring,
It is not necessary to consider the variation of the wiring layer.

【0034】[0034]

【発明の実施の形態】図1は、本発明によるクロック配
線方法の第1実施形態を示すフローチャートである。先
ず、レイアウト設計を行うための論理情報が格納された
ネットリストを自動配置配線用の計算装置へ読み込む
(S101)。この際、ネットリスト上のブロックの種
類をバッファセル、マクロブロックセル、および標準セ
ルに分類する。
FIG. 1 is a flowchart showing a first embodiment of a clock wiring method according to the present invention. First, a netlist in which logical information for performing layout design is stored is read into a computer for automatic placement and routing (S101). At this time, the types of blocks on the netlist are classified into buffer cells, macroblock cells, and standard cells.

【0035】続いて、入出力用のバッファセル(図4
(A)のI/O)をチップ周辺に配置する(S10
2)。このステップは、マクロブロックセルと標準セル
とを配置する内部コア領域を分離する機能を有する。次
に、接続情報に従って計算装置により自動的に又は手動
により内部コア領域にマクロブロックセルを配置し(S
103)、続いて幹線電源と接地の配線を行なう(S1
04)。このステップS104では、消費電力による電
圧降下を考慮し、半導体集積回路が誤動作しないように
幹線の太さ、および間隔を計算装置によって自動計算す
るか、人手による計算により決定する。
Subsequently, input / output buffer cells (FIG. 4)
(I / O of (A)) is arranged around the chip (S10)
2). This step has a function of separating the internal core region where the macro block cell and the standard cell are arranged. Next, the macroblock cells are arranged in the inner core area automatically or manually by the computing device according to the connection information (S
103) Then, the main power supply and ground wiring are performed (S1).
04). In step S104, in consideration of the voltage drop due to the power consumption, the thickness and the interval of the main line are automatically calculated by a calculation device or determined by manual calculation so that the semiconductor integrated circuit does not malfunction.

【0036】電源・接地配線が終了すると、自動配置配
線を行うための制約データを計算装置に読み込む(S1
05)。読み込まれた制約データにより、クロックツリ
ー処理(S106)および標準セル配置処理(S10
7)を行う。後述するように、ステップS106は、ス
テップS101で読み込まれたネットリストの中のクロ
ック信号と接続するマクロブロックおよび標準セルのク
ロック処理を行う。クロック処理とは、クロックゲート
を有するマクロブロック及びフリップフロップのクロッ
クスキューを抑えるように配置を実行することである。
すなわち、セル列に配置されるフリップフロップ数とセ
ル列長を均等処理し、かつマクロブロックのゲート容量
および配線容量を一致させることにより、クロックスキ
ューを抑える。
When the power / ground wiring is completed, the constraint data for performing the automatic placement and wiring is read into the computer (S1).
05). The clock tree processing (S106) and the standard cell placement processing (S10) are performed based on the read constraint data.
Perform 7). As described later, in step S106, clock processing is performed on macroblocks and standard cells connected to the clock signal in the netlist read in step S101. The clock processing is to execute the arrangement so as to suppress the clock skew of the macro block and the flip-flop having the clock gate.
In other words, the number of flip-flops arranged in the cell column and the cell column length are processed equally, and the gate capacitance and the wiring capacitance of the macro block are matched to suppress clock skew.

【0037】クロック処理S106及び標準セル配置S
107が終了すると、クロック信号が等遅延となるよう
にセル列方向への配線を単層で配線し(S108)、続
いて、クロック信号配線を保持しクロック信号以外の配
線を実行する(S109)。
Clock processing S106 and standard cell arrangement S
After the completion of 107, the wiring in the cell column direction is wired in a single layer so that the clock signal has the same delay (S108), and then the clock signal wiring is held and the wiring other than the clock signal is executed (S109). .

【0038】以下、図2及び図3の従ってクロック処理
S106及び標準セル配置処理S107について、図4
を参照しながら、それぞれ詳細に説明する。図2はクロ
ック処理S106についての詳細なフローチャート、図
3は標準セル配置処理S107についての詳細なフロー
チャート、図4(A)は第1実施形態に基づき各ブロッ
ク間を配線した半導体集積回路の概略的平面図、図4
(B)はその負荷容量セルの一例を示す具体的回路図で
ある。
Hereinafter, the clock processing S106 and the standard cell arrangement processing S107 according to FIGS. 2 and 3 will be described with reference to FIG.
Each will be described in detail with reference to FIG. FIG. 2 is a detailed flowchart of the clock processing S106, FIG. 3 is a detailed flowchart of the standard cell arrangement processing S107, and FIG. 4A is a schematic diagram of a semiconductor integrated circuit in which blocks are wired based on the first embodiment. Plan view, FIG. 4
(B) is a specific circuit diagram showing an example of the load capacitance cell.

【0039】(クロック処理)図2において、先ず、ク
ロック信号に接続されるRAM、ROM等のマクロブロ
ック401(図4(A)参照)のゲート容量値を抽出
し、その最大容量値CMB Gをパラメータとして格納する
(S201)。このパラメータは、複数個のマクロブロ
ックが配置されている場合には抽出されたゲート容量値
の最大容量値を、1ブロックしか配置していない場合に
は当該1ブロックのゲート容量値をそれぞれ格納する。
(Clock Processing) In FIG. 2, first, a gate capacitance value of a macro block 401 (see FIG. 4A) such as a RAM or a ROM connected to a clock signal is extracted, and its maximum capacitance value C MB G Is stored as a parameter (S201). This parameter stores the maximum capacitance value of the extracted gate capacitance value when a plurality of macro blocks are arranged, and stores the gate capacitance value of the one block when only one block is arranged. .

【0040】続いて、クロックツリーの段数を決定し、
セル列領域402にフリップフロップ403を均等に配
置し、配置されたフリップフロップ403をドライブす
るためのクロックツリー用バッファサイズを決定し、各
セル列にローカルクロックバッファ404を配置する
(S202)。更に、各セル列のクロック信号の配線長
に基づき、マクロブロック401へのクロック信号の配
線およびゲート容量を付加するためのセル列領域402
を決定する。このステップS202では、フリップフロ
ップ403をドライブするためのローカルクロックバッ
ファ404、ローカルクロックバッファ404をドライ
ブするためのサブクロックバッファ406のサイズを決
定して各セル列領域に配置した後、フリップフロップ数
を均等にセル列領域402に配置することも可能であ
る。 また、クロックツリーの段数についてもセル列領
域への配置終了後に決定することも可能である。
Subsequently, the number of stages of the clock tree is determined,
The flip-flops 403 are evenly arranged in the cell column area 402, the clock tree buffer size for driving the arranged flip-flops 403 is determined, and the local clock buffer 404 is arranged in each cell column (S202). Further, based on the clock signal wiring length of each cell column, a cell column region 402 for adding a clock signal wiring to the macro block 401 and a gate capacitance.
To determine. In this step S202, the size of the local clock buffer 404 for driving the flip-flop 403 and the size of the subclock buffer 406 for driving the local clock buffer 404 are determined and arranged in each cell column area. It is also possible to arrange them evenly in the cell row region 402. Also, the number of clock tree stages can be determined after the arrangement in the cell column area.

【0041】続いて、ステップS202により配置した
各セル列領域402のフリップフロップ403のゲート
容量値を抽出し、そのセル列領域のゲート容量CCGを1
パラメータとして格納すると共に、クロック配線405
の長さを抽出する(S203)。
[0041] Subsequently, to extract the gate capacitance of the flip-flop 403 of each cell column region 402 arranged in step S202, the gate capacitance C CG of the cell line region 1
Stored as a parameter and the clock wiring 405
Is extracted (S203).

【0042】ステップS201において抽出されたパラ
メータ(マクロブロックゲート容量値)CMBGと、ステ
ップS203において抽出されたセル列ゲート容量値C
CGとを比較する(S204)。パラメータCMBGがCCG
以上である場合には(ステップS204のNO)、ステ
ップS202へ戻り、CMBG<CCGとなるまでステップ
S202及び203を繰り返し、この条件が成立したな
らば、次のステップS205を実行する。
The parameter (macroblock gate capacitance) CMGB extracted in step S201 and the cell column gate capacitance C extracted in step S203.
Compare with CG (S204). Parameter C MBG is C CG
If this is the case (NO in step S204), the process returns to step S202, and steps S202 and S203 are repeated until C MBG <C CG . If this condition is satisfied, the next step S205 is executed.

【0043】以上のステップS201〜204により、
クロック信号に接続されている各マクロブロック401
のゲート容量値CMBGは、ステップS203で抽出され
たゲート容量値CCGより小さく設定される。この差が最
小になるように設定することができる。続くステップS
205では、マクロブロック401のクロック信号に対
するマクロブロック401のゲート容量値CMBGに負荷
容量あるいはフリップフロップ403の入力ゲート容量
(Cと記す)を付加して接続する(S205)。
By the above steps S201 to S204,
Each macro block 401 connected to the clock signal
The gate capacitance C MBG of is set smaller than the extracted gate capacitance C CG in step S203. It can be set so that this difference is minimized. Subsequent step S
In 205, (referred to as C L) input gate capacitance of the gate capacitance C MBG load capacity or flip-flop 403 of the macroblock 401 with respect to the clock signal of the macro block 401 is connected by adding (S205).

【0044】続いて、ステップS203において抽出さ
れたゲート容量値CCGとステップS205のゲート容量
値CMBG+Cとを比較し、一致するまでステップS2
06の処理を繰り返す(S206)。
[0044] Then, steps S2 to compare a gate capacitance value C MBG + C L of the gate capacitance C CG and step S205 extracted in step S203, coincides
Step 06 is repeated (S206).

【0045】このようにクロック処理を行うことで、図
4(A)に示すように、ステップS202で設定したセ
ル列領域402に対してクロック配線405を平行に配
線し、各セル列に配置されたローカルクロックバッファ
404から全て等距離にする。例えば、セル列方向のメ
イン層を第1メタル、セル列方向に対して垂直方向のメ
イン層を第2メタルと仮定した場合、ローカルクロック
バッファ404の出力と接続するクロック信号線は第1
メタルのみで配線を行うことができる。
By performing the clock processing in this way, as shown in FIG. 4A, the clock wiring 405 is wired in parallel to the cell row area 402 set in step S202, and is arranged in each cell row. From the local clock buffer 404. For example, assuming that the main layer in the cell column direction is the first metal and the main layer in the direction perpendicular to the cell column direction is the second metal, the clock signal line connected to the output of the local clock buffer 404 is the first metal.
Wiring can be performed using only metal.

【0046】(標準セル配置)図3に示す標準セル配置
処理(S107)は、上記クロック処理S106で配置
されていない標準セルをタイミング制約の条件下で各セ
ル列領域402の残りの領域に配置し、タイミングが合
致しない場合は、更に標準セルの変更を行い、タイミン
グが一致するまで処理を行う。タイミングが一致した
後、変更された情報へネットリストを変更する。標準セ
ル配置処理S107は、ステップS301〜ステップS
306までの処理を1サイクルとして実行する。
(Standard Cell Arrangement) In the standard cell arrangement processing (S107) shown in FIG. 3, standard cells not arranged in the clock processing S106 are arranged in the remaining area of each cell column area 402 under the condition of timing constraint. If the timings do not match, the standard cell is further changed, and processing is performed until the timings match. After the timing matches, change the netlist to the changed information. The standard cell arrangement processing S107 includes steps S301 to S
The processing up to 306 is executed as one cycle.

【0047】先ずステップS301は各セル列領域に配
置されているサブクロックバッファ406、ローカルク
ロックバッファ404の配置位置を保持する。また、フ
リップフロップ403については、各セル列402内で
の移動には制約はないが、セル列領域402内の配置を
保持する。
First, in step S301, the arrangement positions of the sub clock buffer 406 and the local clock buffer 404 arranged in each cell column area are held. Further, the flip-flop 403 moves in each cell column 402 without any restriction, but retains the arrangement in the cell column region 402.

【0048】ステップS302は、ステップS105で
計算装置に読み込まれた回路設計時のタイミング制約に
基づいて標準セルの配置を行う。以上のステップにより
全ての標準セル、マクロブロックセル、入出力バッファ
セルが配置される。
In step S302, standard cells are arranged based on the timing constraints at the time of circuit design read into the computing device in step S105. Through the above steps, all standard cells, macroblock cells, and input / output buffer cells are arranged.

【0049】ステップS303は、全てのセルが配置さ
れた半導体集積回路400に概略配線を実行する。ま
た、概略配線で抽出された配線容量を格納する。
In step S303, general wiring is performed on the semiconductor integrated circuit 400 in which all the cells are arranged. Also, the wiring capacity extracted by the schematic wiring is stored.

【0050】ステップS304は、ステップS105で
計算装置に読み込まれた制約との比較を実行する。比較
した結果、一致しなかった場合にはステップS305を
実行し、一致した場合にはステップS306を実行す
る。ステップS305は、標準セルのクローニングおよ
びスワッピングを行う。
In step S304, a comparison is made with the constraint read into the computing device in step S105. As a result of the comparison, if they do not match, step S305 is executed, and if they match, step S306 is executed. In step S305, cloning and swapping of standard cells are performed.

【0051】クローニングとは、ファンアウトを分散す
る手法で、例えば、NAND出力が4箇所接続されてい
て、その中の1カ所がクリティカルパスである場合、入
力信号共通のNANDをコピーし、クリティカルパスを
コピーされたNAND出力と接続することにより、遅延
を抑制する手法である。また、スワッピングとは、ネッ
トリストで記述されているセルではなく、同一論理でド
ライブ能力の高いセルに変更することにより遅延を抑制
する手法である。
The cloning is a method of distributing fan-out. For example, when four NAND outputs are connected and one of them is a critical path, the NAND common to the input signals is copied and the critical path is copied. Is connected to the copied NAND output to suppress the delay. In addition, swapping is a method of suppressing delay by changing the cell to a cell having the same logic and a high drive capability, instead of a cell described in a netlist.

【0052】セルのクローニングおよびスワッピングの
双方とも使用してタイミング修正を行う方法だけではな
く、片方だけを使用してタイミングを修正する方法であ
ってもよい。このようにタイミング修正を行った上で、
ステップS302およびステップS303を実行し、ス
テップS304のタイミングが一致するまで繰り返す。
In addition to the method of correcting the timing by using both the cell cloning and the swapping, the method of correcting the timing by using only one of the cells may be used. After correcting the timing in this way,
Steps S302 and S303 are executed and repeated until the timing of step S304 matches.

【0053】ステップS306は、クロックツリー用に
挿入されたローカルクロックバッファ404、セル列4
02とマクロブロック401とのゲート容量値を一致さ
せるためにマクロブロック401のクロック信号が接続
されるゲートへ付加された負荷容量セル407、標準セ
ルのゲート容量などの挿入やステップS305によるセ
ルのクローニングとスワッピングなどにより、ステップ
S101で読み込まれたネットリストと異なるために、
上記変更された情報を持つネットリストへの変更を行
う。
In step S306, the local clock buffer 404 inserted for the clock tree and the cell row 4
02, the load capacitance cell 407 added to the gate to which the clock signal of the macro block 401 is connected to match the gate capacitance value of the macro block 401, insertion of the gate capacitance of the standard cell, etc., and cloning of the cell in step S305 And the netlist read in step S101 due to swapping, etc.,
A change is made to the netlist having the changed information.

【0054】以上のようにして、図4(A)に示すよう
な半導体集積回路の配線を行うことができる。マクロブ
ロック401に接続された負荷容量セル407は、例え
ば図4(B)に示す回路構成を有する。すなわち、ロー
カルクロックバッファ404の出力端子とマクロブロッ
ク401のクロック端子とを接続するクロック配線40
5に、pチャネル絶縁ゲート型トランジスタ(P)のゲ
ート端子とnチャネル絶縁ゲート型トランジスタ(N)
のゲート端子とが接続された構成を有する。
As described above, wiring of the semiconductor integrated circuit as shown in FIG. 4A can be performed. The load capacitance cell 407 connected to the macro block 401 has, for example, a circuit configuration illustrated in FIG. That is, the clock wiring 40 connecting the output terminal of the local clock buffer 404 and the clock terminal of the macro block 401
5, the gate terminal of the p-channel insulated gate transistor (P) and the n-channel insulated gate transistor (N)
Is connected to the gate terminal.

【0055】なお、本実施形態では、クロックツリー用
としてバッファを用いた場合について説明したが、クロ
ックツリー用にクロック信号の論理が反転しないように
2N個のインバーターを用いることも可能である。ま
た、本実施形態ではクロック信号に接続する標準セルと
してフリップフロップを用いた場合について説明した
が、他の標準セルが接続されていても問題ない。更に、
本実施形態では、クロックツリーとして3段を用いた場
合について説明したが、クロックツリーの段数に制限は
ない。また、本実施形態では、図4に示すように、中央
にサブクロックバッファ406を配置してクロック配線
を四方へ分配している場合について説明したが、メイン
クロックバッファ408から等距離に配置されていれば
制限はない。
In this embodiment, the case where the buffer is used for the clock tree has been described. However, 2N inverters can be used for the clock tree so that the logic of the clock signal is not inverted. Further, in this embodiment, the case where the flip-flop is used as the standard cell connected to the clock signal has been described, but there is no problem even if another standard cell is connected. Furthermore,
In the present embodiment, the case where three stages are used as the clock tree has been described, but the number of stages of the clock tree is not limited. Further, in the present embodiment, as shown in FIG. 4, the case where the sub clock buffer 406 is arranged in the center and the clock wiring is distributed in all directions has been described, but the clock wiring is arranged equidistant from the main clock buffer 408. If there is no limit.

【0056】更に、本実施形態では、ステップS108
において、セル列方向のメイン層を第1メタルとし、垂
直方向のメイン層を第2メタルとした場合について説明
したが、一方向のクロック配線のメイン層が単層であれ
ば制限はない。また、本実施形態では、クロック信号1
本を用いた場合について説明したが、クロック信号が複
数入力していても問題ない。
Further, in the present embodiment, step S108
In the above, the case where the main layer in the cell column direction is the first metal and the main layer in the vertical direction is the second metal has been described, but there is no limitation as long as the main layer of the clock wiring in one direction is a single layer. In the present embodiment, the clock signal 1
The case where a book is used has been described, but there is no problem even if a plurality of clock signals are input.

【0057】次に、本発明による第2実施形態につい
て、図5及び図6を参照しながら説明する。第2実施形
態は、上述した第1実施形態と基本的な流れは同じであ
るが、クロック処理及び標準セル配置の手順が若干異な
っている。
Next, a second embodiment according to the present invention will be described with reference to FIGS. The basic flow of the second embodiment is the same as that of the first embodiment, but the procedures for clock processing and standard cell arrangement are slightly different.

【0058】図5は本発明による第2実施形態のクロッ
ク処理を示すフローチャートであり、図6は第2実施形
態に基づき各ブロック間を配線した半導体集積回路の概
略的平面図である。本実施形態は、図2に示される第2
実施形態のステップS202及びステップS203の処
理手順が異なっている。また、図3に示されるステップ
S301の実行時の制約が異なっている。その他は同様
の処理であるから、説明は簡略化する。
FIG. 5 is a flowchart showing the clock processing of the second embodiment according to the present invention, and FIG. 6 is a schematic plan view of a semiconductor integrated circuit in which blocks are wired based on the second embodiment. This embodiment is different from the second embodiment shown in FIG.
The processing procedure of step S202 and step S203 of the embodiment is different. Also, the restrictions at the time of executing step S301 shown in FIG. 3 are different. The other processes are the same, and thus the description is simplified.

【0059】図5において、先ず、クロック信号に接続
されるRAM、ROM等のマクロブロック601(図6
を参照)のゲート容量値を抽出し、その最大容量値C
MBGをパラメータとして格納する(S501)。
In FIG. 5, first, a macro block 601 (FIG.
) Is extracted and its maximum capacitance value C is extracted.
The MBG is stored as a parameter (S501).

【0060】ステップS502では、チップサイズ等に
よりクロックツリーの段数を決定し、ローカルクロック
バッファ604を配置するためのセル列領域602を設
定し、フリップフロップ603のクロック入力ゲートに
接続されるローカルクロックバッファ604と、ローカ
ルクロックバッファ604に接続されるフリップフロッ
プ数を均等にし、クロック信号配線と最短距離で接続さ
れる位置にフリップフロップ603を配置し、配置され
たフリップフロップ603をドライブするためのローカ
ルクロックバッファ604のブロックサイズを決定す
る。すべてのローカルクロックバッファ604からのク
ロック信号は、等距離になるよう配線する。ステップS
502で実行される工程順は、どの工程から実行しても
構わない。
In step S502, the number of stages of the clock tree is determined based on the chip size and the like, the cell column area 602 for arranging the local clock buffer 604 is set, and the local clock buffer connected to the clock input gate of the flip-flop 603 is set. 604 and the number of flip-flops connected to the local clock buffer 604 are equalized, the flip-flop 603 is arranged at a position connected to the clock signal wiring at the shortest distance, and a local clock for driving the arranged flip-flop 603 is provided. The block size of the buffer 604 is determined. Clock signals from all local clock buffers 604 are wired so that they are equidistant. Step S
The order of the steps executed in 502 may be executed from any step.

【0061】ステップS503は、ステップS502に
より配置した各ローカルクロックバッファ604に接続
されているフリップフロップ603のゲート容量値CCG
を抽出し、セル列領域602のゲート容量を1パラメー
ターとして格納する。
In step S503, the gate capacitance value C CG of the flip-flop 603 connected to each local clock buffer 604 arranged in step S502.
And the gate capacitance of the cell column region 602 is stored as one parameter.

【0062】続いて、ステップS501において抽出さ
れたパラメータ(マクロブロックゲート容量値)CMBG
と、ステップS503において抽出されたセル列ゲート
容量値CCGとを比較する(S504)。パラメータC
MBGがCCG以上である場合には(ステップS504のN
O)、ステップS502へ戻り、CMBG<CCGとなるま
でステップS502及び503を繰り返し、この条件が
成立したならば、次のステップS505を実行する。ス
テップS505及びS506は、図2のステップS20
5及びS206と同様であるから説明は省略する。
Subsequently, the parameter (macroblock gate capacitance value) C MBG extracted in step S501
When, comparing the cell column gate capacitance C CG extracted in step S503 (S504). Parameter C
If MBG is is C CG or more (N in step S504
O), returning to step S502, steps S502 and S503 are repeated until C MBG <C CG, and if this condition is satisfied, the next step S505 is executed. Steps S505 and S506 correspond to step S20 in FIG.
5 and S206, so the description is omitted.

【0063】また、第2実施形態では、図3におけるス
テップS301の代わりに、ステップS502で設定さ
れたローカルクロックバッファ604の配置位置および
各ローカルクロックバッファ604に接続されるフリッ
プフロップ603の配置位置を保持するステップとな
る。
In the second embodiment, instead of step S301 in FIG. 3, the position of the local clock buffer 604 set in step S502 and the position of the flip-flop 603 connected to each local clock buffer 604 are changed. This is the step of holding.

【0064】第2実施形態によれば、ローカルクロック
バッファ604を挿入するセル列602の長さを均一に
できない場合、セル列602に対し、垂直方向へクロッ
ク配線を行い、クロック配線長を均一にすることによ
り、配線容量および抵抗値を一定にすることができる。
According to the second embodiment, when the length of the cell row 602 into which the local clock buffer 604 is to be inserted cannot be made uniform, clock wiring is performed on the cell row 602 in the vertical direction to make the clock wiring length uniform. By doing so, the wiring capacitance and the resistance value can be made constant.

【0065】[0065]

【発明の効果】以上説明したように、本発明によれば、
セル列領域ごとに配置されたローカルクロックバッファ
に接続されるフリップフロップ数及びクロック配線長が
均等化された第1セル列領域と、第1セル列領域のクロ
ック信号の配線長に基づきマクロブロックへのクロック
信号の配線およびゲート容量を付加するための第2セル
列領域とを設定することにより、ゲート容量及び配線容
量のばらつきを補償することができ、マクロブロックの
有無に関係なくクロックスキューを抑えることができ
る。このために、クロックの違いによる差が生じない。
セル列領域上に配置するフリップフロップ数とセル列長
を一括処理することが可能となる。このため、クロック
処理を1回実行するだけで複数クロック信号のスキュー
を合わせ込むことが可能となり、自動配置の配線実行時
間を短縮することができる。また、複数クロック信号間
のスキューを合わせ込むことが可能となり、クロック間
でのデータ転送を行うことができる。
As described above, according to the present invention,
A first cell column region in which the number of flip-flops connected to a local clock buffer arranged for each cell column region and a clock line length are equalized, and a macro block is formed based on the clock signal line length of the first cell column region. By setting the clock signal wiring and the second cell column region for adding the gate capacitance, variations in the gate capacitance and the wiring capacitance can be compensated, and the clock skew can be suppressed regardless of the presence or absence of the macro block. be able to. For this reason, there is no difference due to the difference in clock.
The number of flip-flops arranged on the cell column region and the cell column length can be collectively processed. Therefore, it is possible to adjust the skew of a plurality of clock signals only by executing the clock processing once, and it is possible to reduce the time required for executing the wiring for the automatic placement. Further, the skew between a plurality of clock signals can be adjusted, and data can be transferred between clocks.

【0066】更に、各セル列領域のクロック信号線方向
を1方向とし、かつ、単層配線することが可能になり、
ゲート容量および配線容量のばらつきの違いを回避する
ことが可能となりクロックスキューを抑えることができ
る。
Further, it is possible to make the direction of the clock signal line in each cell column region one direction and to form a single-layer wiring.
It is possible to avoid a difference in variation between the gate capacitance and the wiring capacitance, thereby suppressing clock skew.

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

【図1】本発明によるクロック配線方法の第1実施形態
を示すフローチャートである。
FIG. 1 is a flowchart showing a first embodiment of a clock wiring method according to the present invention.

【図2】図2はクロック処理S106についての詳細な
フローチャートである。
FIG. 2 is a detailed flowchart of a clock process S106.

【図3】標準セル配置処理S107についての詳細なフ
ローチャートである。
FIG. 3 is a detailed flowchart of a standard cell arrangement process S107.

【図4】(A)は第1実施形態に基づき各ブロック間を
配線した半導体集積回路の概略的平面図、(B)はその
負荷容量セルの一例を示す具体的回路図である。
FIG. 4A is a schematic plan view of a semiconductor integrated circuit in which wiring is performed between blocks based on the first embodiment, and FIG. 4B is a specific circuit diagram showing an example of a load capacitance cell;

【図5】図5は本発明による第2実施形態のクロック処
理を示すフローチャートである。
FIG. 5 is a flowchart showing clock processing according to a second embodiment of the present invention.

【図6】第2実施形態に基づき各ブロック間を配線した
半導体集積回路の概略的平面図である。
FIG. 6 is a schematic plan view of a semiconductor integrated circuit in which wiring is performed between blocks based on a second embodiment.

【図7】従来例を説明するための半導体集積回路の概略
的平面図である。
FIG. 7 is a schematic plan view of a semiconductor integrated circuit for explaining a conventional example.

【図8】従来の配線方法の一例を示すフローチャートで
ある。
FIG. 8 is a flowchart illustrating an example of a conventional wiring method.

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

400 半導体集積回路 401 マクロブロックセル 402 セル列領域 403 フリップフロップ 404 ローカルクロックバッファ 405 クロック配線 406 サブクロックバッファ 407 負荷容量セル 408 マスタクロックバッファ 409 クロック配線 400 semiconductor integrated circuit 401 macro block cell 402 cell column area 403 flip-flop 404 local clock buffer 405 clock wiring 406 sub clock buffer 407 load capacitance cell 408 master clock buffer 409 clock wiring

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 少なくとも1つのマクロブロックと複数
のセル列とからなる半導体集積回路のクロック配線方法
において、 前記マクロブロックのクロックゲート容量のうち最大ゲ
ート容量を記憶する第1ステップと、 前記複数のセル列をそれぞれ構成するためのセル列領域
のうち前記マクロブロックに対応しない第1セル列領域
と対応する第2セル列領域とを設定し、前記第1セル列
領域にクロック関連回路を配置し、当該クロック関連回
路のクロック入力ゲート容量を抽出する第2ステップ
と、 前記クロック入力ゲート容量が前記最大ゲート容量より
大きくなるまで、前記第1セル列領域のクロック関連回
路の構成を変更する第3ステップと、 前記最大ゲート容量に負荷容量を加えた値が前記クロッ
ク入力ゲート容量に等しくなるように前記負荷容量を決
定する第4ステップと、 からなることを特徴とするクロック配線方法。
1. A clock wiring method for a semiconductor integrated circuit comprising at least one macro block and a plurality of cell columns, wherein: a first step of storing a maximum gate capacitance among clock gate capacitances of the macro block; A first cell column region not corresponding to the macro block and a second cell column region corresponding to the macroblock are set among cell column regions for configuring the respective cell columns, and a clock-related circuit is arranged in the first cell column region. A second step of extracting a clock input gate capacitance of the clock-related circuit; and a third step of changing a configuration of the clock-related circuit in the first cell column region until the clock input gate capacitance becomes larger than the maximum gate capacitance. Step, so that a value obtained by adding a load capacitance to the maximum gate capacitance is equal to the clock input gate capacitance. Fourth step and, clock wiring method characterized by comprising the determining the serial load capacity.
【請求項2】 前記第2ステップのクロック入力ゲート
容量は第1セル列領域に配置される少なくとも1つのフ
リップフロップ回路のクロック入力ゲート容量及び配線
容量であり、前記第3ステップはクロック配線長及び/
又は前記フリップフロップ回路の数を変更することを特
徴とする請求項1記載のクロック配線方法。
2. The clock input gate capacitance in the second step is a clock input gate capacitance and a wiring capacitance of at least one flip-flop circuit arranged in a first cell column region. /
2. The clock wiring method according to claim 1, wherein the number of the flip-flop circuits is changed.
【請求項3】 前記第3ステップにおいて、前記フリッ
プフロップ回路はすべての第1セル列領域に均等配置さ
れることを特徴とする請求項2記載のクロック配線方
法。
3. The clock wiring method according to claim 2, wherein, in the third step, the flip-flop circuits are equally arranged in all the first cell column regions.
【請求項4】 前記第4ステップが終了した後で、前記
セル列領域の残りの領域に標準セルを配置する第5ステ
ップを更に有することを特徴とする請求項1記載のクロ
ック配線方法。
4. The clock wiring method according to claim 1, further comprising a fifth step of arranging standard cells in a remaining area of the cell row area after the fourth step is completed.
【請求項5】 少なくとも1つのマクロブロックと少な
くとも1つのセル列とからなる半導体集積回路のクロッ
ク配線方法において、 前記マクロブロックを配置し、 前記マクロブロックのクロックゲート容量のうち最大ゲ
ート容量を記憶し、 前記セル列をそれぞれ形成するためのセル列領域を、ク
ロック入力ゲートを有するフリップフロップ回路を配置
するための第1セル列領域と、前記マクロブロックに関
連した第2セル列領域とに区分けし、 前記第1セル列領域及び第2セル列領域にクロックツリ
ー用バッファを配置し、 前記第1セル列領域に前記クロックツリー用バッファに
より駆動される前記フリップフロップ回路を均等に配置
し、 前記第1セル列領域に配置されたすべてのフリップフロ
ップ回路のクロック入力ゲート容量を抽出し、 前記クロック入力ゲート容量が前記最大ゲート容量より
大きくなるまで、少なくとも第1セル列領域におけるク
ロック配線長及び/又は前記フリップフロップ回路の数
を変更し、 前記最大ゲート容量に負荷容量を加えた値が前記クロッ
ク入力ゲート容量に等しくなるように前記負荷容量を決
定する、 ことを特徴とするクロック配線方法。
5. A clock wiring method for a semiconductor integrated circuit comprising at least one macro block and at least one cell column, wherein the macro block is arranged, and a maximum gate capacitance among clock gate capacitances of the macro block is stored. Dividing a cell column region for forming each of the cell columns into a first cell column region for arranging a flip-flop circuit having a clock input gate, and a second cell column region related to the macro block; A clock tree buffer is disposed in the first cell column region and the second cell column region; and the flip-flop circuit driven by the clock tree buffer is disposed uniformly in the first cell column region. Extracts the clock input gate capacitance of all flip-flop circuits arranged in one cell column area And changing at least the clock wiring length and / or the number of the flip-flop circuits in the first cell column region until the clock input gate capacitance becomes larger than the maximum gate capacitance, and adding a load capacitance to the maximum gate capacitance. A clock wiring method, wherein the load capacitance is determined such that a value is equal to the clock input gate capacitance.
【請求項6】 前記負荷容量を決定した後で前記セル列
領域の残りの領域に標準セルを配置する、ことを特徴と
する請求項5記載のクロック配線方法。
6. The clock wiring method according to claim 5, wherein after determining said load capacitance, standard cells are arranged in the remaining area of said cell row area.
【請求項7】 各セル列領域におけるクロック配線をセ
ル列方向に単層配線により形成することを特徴とする請
求項1又は5記載のクロック配線方法。
7. The clock wiring method according to claim 1, wherein a clock wiring in each cell column region is formed by a single-layer wiring in the cell column direction.
JP10370086A 1998-12-25 1998-12-25 Clock wiring method in semiconductor integrated circuit Expired - Fee Related JP3012630B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10370086A JP3012630B1 (en) 1998-12-25 1998-12-25 Clock wiring method in semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10370086A JP3012630B1 (en) 1998-12-25 1998-12-25 Clock wiring method in semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JP3012630B1 true JP3012630B1 (en) 2000-02-28
JP2000195959A JP2000195959A (en) 2000-07-14

Family

ID=18496038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10370086A Expired - Fee Related JP3012630B1 (en) 1998-12-25 1998-12-25 Clock wiring method in semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP3012630B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257375A (en) * 2020-10-26 2021-01-22 海光信息技术股份有限公司 Layout adjustment method and device for integrated circuit design and electronic equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257375A (en) * 2020-10-26 2021-01-22 海光信息技术股份有限公司 Layout adjustment method and device for integrated circuit design and electronic equipment
CN112257375B (en) * 2020-10-26 2023-10-10 海光信息技术(苏州)有限公司 Layout adjustment method and device for integrated circuit design and electronic equipment

Also Published As

Publication number Publication date
JP2000195959A (en) 2000-07-14

Similar Documents

Publication Publication Date Title
US5172330A (en) Clock buffers arranged in a peripheral region of the logic circuit area
US8487658B2 (en) Compact and robust level shifter layout design
US10552566B2 (en) Method of designing semiconductor device
US7612599B2 (en) Semiconductor device
US6618847B1 (en) Power stabilizer using under-utilized standard cells
JP3012630B1 (en) Clock wiring method in semiconductor integrated circuit
JPH11317457A (en) Integrated circuit and designing method of its arrangement and wiring therefor
JP4743469B2 (en) Semiconductor integrated circuit device and clock distribution method
JP6390299B2 (en) Integrated circuit device design method, integrated circuit device manufacturing method, and integrated circuit device
JP4645238B2 (en) Semiconductor device
US8971084B2 (en) Context protection for a column interleaved memory
EP3379406A1 (en) Processing circuit capable of dynamically modifying its precision
JP2701779B2 (en) Clock skew reduction method
JP2006261458A (en) Clock tree stabilizer and semiconductor device
JP2985833B2 (en) Clock distribution system and method
JP2001210718A (en) Semiconductor integrated circuit and method of designing the same
JP2001267429A (en) Layout design device and method
JP3925960B2 (en) Integrated circuit clock distribution circuit
JP2001291834A (en) Crosstalk cancellation circuit, wiring module and method for wiring automatic wiring device
JP2002198430A (en) Variable driving force block and method for designing lsi employing it
JPH10107152A (en) Integrated circuit device and its power source wiring formation method
JP3052955B1 (en) Clock line tree construction method
JP2737620B2 (en) Semiconductor integrated circuit wiring method
US20020047789A1 (en) Method of designing semiconductor integrated circuit
JP4211264B2 (en) Semiconductor device and design method thereof

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19991130

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071210

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081210

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees