JP2008288559A - Semiconductor integrated circuit and method of laying out the same - Google Patents

Semiconductor integrated circuit and method of laying out the same Download PDF

Info

Publication number
JP2008288559A
JP2008288559A JP2008054573A JP2008054573A JP2008288559A JP 2008288559 A JP2008288559 A JP 2008288559A JP 2008054573 A JP2008054573 A JP 2008054573A JP 2008054573 A JP2008054573 A JP 2008054573A JP 2008288559 A JP2008288559 A JP 2008288559A
Authority
JP
Japan
Prior art keywords
clock
wiring
group
cell
branch
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.)
Withdrawn
Application number
JP2008054573A
Other languages
Japanese (ja)
Inventor
Masanori Tsutsumi
正範 堤
生 ▲吉▼永
Sei Yoshinaga
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2008054573A priority Critical patent/JP2008288559A/en
Priority to US12/102,347 priority patent/US20080256380A1/en
Publication of JP2008288559A publication Critical patent/JP2008288559A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a semiconductor integrated circuit which has little power consumption and small clock skew, and comprises a clock distribution circuit with small load capacities of a clock driving cell for supplying clock signal even in a large scale semiconductor integrated circuit. <P>SOLUTION: In the semiconductor integrated circuit, a function block 100 is divided into a plurality of regions, the semiconductor integrated circuit is provide with a clock main wiring (11, etc.) wired in a first direction in each of region, a clock branch wiring group (12, etc.) wired in a second direction normal to the first direction and comprising a plurality of clock branch wirings electrically connected to the clock main wiring, a clock driving cell (13, etc.) electrically connected to the clock main wiring, and a clock synchronous cell group (14, etc.) comprising a plurality of clock synchronous cells electrically connected to the clock main wiring or the clock branch wiring group. Each of clock branch wiring groups is electrically isolated each other, only the clock driving cell drives the clock main wring connected to it and the clock branch wring group connected to the clock main wring. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、スタンダードセルを用いて構成された機能ブロックにおいてクロック信号を分配するクロック分配回路を用いた半導体集積回路及び半導体集積回路のレイアウト方法に関するものである。   The present invention relates to a semiconductor integrated circuit using a clock distribution circuit that distributes a clock signal in a functional block configured using standard cells, and a layout method of the semiconductor integrated circuit.

近年、ディジタル回路の高速化、高機能化に伴い、半導体集積回路の高速化、高集積化が進んでいる。   In recent years, with the increase in speed and functionality of digital circuits, the speed and integration of semiconductor integrated circuits have been increasing.

半導体集積回路の高速化に伴い、半導体集積回路内のフリップフロップの同期を取るクロック信号の信号遅延のばらつき(クロックスキュー)を抑えることが重要となってきている。クロックスキューは、同期しているフリップフロップ間のクロック信号の到達時間の差であり、クロックスキューが大きいと動作周波数の低下や、さらには回路の誤動作を引き起こすという問題がある。   As the speed of semiconductor integrated circuits has increased, it has become important to suppress variations in signal delay (clock skew) of clock signals that synchronize flip-flops in the semiconductor integrated circuit. The clock skew is a difference in arrival time of clock signals between synchronized flip-flops. If the clock skew is large, there is a problem that the operating frequency is lowered and further a malfunction of the circuit is caused.

また、半導体集積回路を高集積化するためには、製造プロセスを微細化する必要がある。そのため、年々半導体集積回路内で使用する信号配線幅は細くなってきており、配線抵抗増加により配線遅延が増大している。   Further, in order to highly integrate a semiconductor integrated circuit, it is necessary to miniaturize the manufacturing process. For this reason, the signal wiring width used in the semiconductor integrated circuit is becoming narrower year by year, and the wiring delay is increased due to an increase in wiring resistance.

従来は配線遅延が小さかったため、セルのゲート遅延のばらつきによるクロックスキューが支配的だった。しかし、近年は、配線遅延のばらつき増加によるクロックスキューの増大が問題となってきており、クロック信号の配線遅延ばらつきの削減が必要となってきている。   Conventionally, since the wiring delay was small, clock skew due to variations in cell gate delay was dominant. However, in recent years, an increase in clock skew due to an increase in variation in wiring delay has become a problem, and it has become necessary to reduce variations in the wiring delay of clock signals.

クロック信号の配線遅延ばらつきを削減する従来のクロック配線構造としては、例えば、櫛型クロック配線やフィッシュボーン型クロック配線、メッシュ型クロック配線といったクロック配線技術がある(例えば、特許文献1や特許文献2を参照)。   As a conventional clock wiring structure for reducing variation in clock signal wiring delay, for example, there are clock wiring techniques such as comb clock wiring, fishbone clock wiring, and mesh clock wiring (for example, Patent Document 1 and Patent Document 2). See).

また、半導体集積回路におけるクロック信号の配線遅延の削減手法としては、特許文献3に記載された技術がある。
特開平9−283631号公報 特開平10−199985号公報 特開2003―332430号公報
Further, as a technique for reducing the clock signal wiring delay in the semiconductor integrated circuit, there is a technique described in Patent Document 3.
JP-A-9-283631 JP-A-10-199985 JP 2003-332430 A

しかし、櫛型クロック配線は、配線遅延のばらつきを回路が誤動作しないように制御することで動作速度の低下を防いでいるが、信号の出し側と受け側のフリップフロップが一対一であれば、配線遅延のばらつきを制御できるが、一般の回路では多対多の関係にあるため、それら全てのフリップフロップに対して配線遅延のばらつきを制御するのは困難である。   However, the comb-shaped clock wiring prevents the operation speed from decreasing by controlling the variation in wiring delay so that the circuit does not malfunction, but if the flip-flops on the signal output side and the reception side are one to one, Although variations in wiring delay can be controlled, a general circuit has a many-to-many relationship, so it is difficult to control variations in wiring delay for all the flip-flops.

また、フィッシュボーン型クロックは、チップサイズが小さい場合は効果的であったが、大規模な半導体集積回路では水平方向の支線配線が長く、支線配線の中央部から端までの配線抵抗が非常に大きくなり、配線遅延のばらつきによりチップの中心部と周辺部でのクロックスキューが大きくなるという問題がある。また、多数のクロック同期セルがクロック基幹配線に負荷として接続しているため、クロック基幹配線部分の配線遅延のばらつきも大きくなるという問題もある。   Fishbone clocks were effective when the chip size was small, but in large-scale semiconductor integrated circuits, the horizontal branch lines are long and the wiring resistance from the center to the end of the branch lines is very high. There is a problem that the clock skew increases at the center and the periphery of the chip due to variations in wiring delay. In addition, since a large number of clock synchronization cells are connected to the clock trunk wiring as loads, there is also a problem that the variation in the wiring delay of the clock trunk wiring portion becomes large.

また、メッシュ型クロックは、ブロック全体にクロックを格子状に配線するため、配線抵抗が小さく、配線遅延のばらつきは小さいが、クロックの総配線長が長く、クロック信号を供給するクロック駆動セルの負荷容量が大きくなり、消費電力が大きくなってしまうという問題がある。   In addition, since the mesh type clock is wired in a grid pattern throughout the block, the wiring resistance is small and the variation in wiring delay is small, but the total clock length is long and the load of the clock driving cell that supplies the clock signal is large. There is a problem that the capacity increases and the power consumption increases.

また、櫛型クロック配線とフィッシュボーン型クロック配線、メッシュ型クロック配線は共に、ブロック全体のクロック同期セルへのクロック信号を1本のクロック配線で駆動するので負荷容量が非常に大きい。
そのため、クロック配線全体を複数のクロック駆動セルで同時に駆動する必要がある。この場合、複数のクロック駆動セルまででクロックスキューがあると、フィッシュボーン型クロック配線やメッシュ配線部分を通ってクロック駆動セル間で貫通電流が流れ、消費電力が大きくなるという問題がある。
In addition, the comb clock wiring, the fishbone clock wiring, and the mesh clock wiring both have a very large load capacity because the clock signal to the clock synchronous cell of the entire block is driven by one clock wiring.
Therefore, it is necessary to drive the entire clock wiring simultaneously with a plurality of clock driving cells. In this case, if there is a clock skew up to a plurality of clock driving cells, there is a problem that a through current flows between the clock driving cells through the fishbone type clock wiring or mesh wiring portion, resulting in an increase in power consumption.

また、現在市販されているスタンダードセルレベルの遅延計算ツールではこのように一本のクロック配線を複数のクロック駆動セルで駆動するような場合には、精度よく遅延計算ができない、他の信号配線とのクロストークの影響を考慮することができないという課題がある。   In addition, with the standard cell level delay calculation tools currently on the market, when one clock wiring is driven by multiple clock driving cells in this way, the delay calculation cannot be performed accurately. There is a problem that the influence of crosstalk cannot be considered.

また、クロック信号の配線遅延を削減するため膜圧が厚く低抵抗の上層配線を使用しようとすると、製造プロセスの制約により幅広の配線を使用する必要があったり、上層配線への配線層間を接続するコンタクトが大きい等により、クロック配線全体に使用すると信号配線領域が不足するため、多数のクロック駆動セルまたはクロック同期セルを駆動するクロックツリーの末端側では上層配線の使用が困難であった。   In addition, if you want to use an upper layer wiring with a high film pressure and low resistance to reduce the clock signal wiring delay, it is necessary to use a wider wiring due to manufacturing process restrictions, or connect the wiring layer to the upper layer wiring Since the signal wiring area is insufficient when used for the entire clock wiring due to the large contact to be made, it is difficult to use the upper layer wiring on the end side of the clock tree for driving a large number of clock driving cells or clock synchronous cells.

本発明は上記の問題に着目してなされたものであり、消費電力及びクロックスキューが小さく、かつ、大規模な半導体集積回路においても、クロック信号を供給するクロック駆動セルの負荷容量が小さいクロック分配回路を提供することを目的としている。   The present invention has been made paying attention to the above-mentioned problems. The clock distribution has low power consumption and clock skew, and the load capacity of the clock driving cell for supplying the clock signal is small even in a large-scale semiconductor integrated circuit. It aims to provide a circuit.

上記の課題を解決するため、本発明の一態様は、
スタンダードセルを用いて構成された機能ブロックにおいてクロック信号を分配するクロック分配回路を用いた半導体集積回路であって、
第1の方向に配線された第1のクロック基幹配線と、
前記第1の方向と直交する第2の方向に配線され、前記第1のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第1のクロック支線配線群と、
前記第1のクロック基幹配線に電気的に接続された第1のクロック駆動セルと、
前記第1のクロック基幹配線又は前記第1のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第1のクロック同期セル群と、
前記第1のクロック基幹配線と並行に配置された第2のクロック基幹配線と、
前記第2の方向に配線され、前記第2のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第2のクロック支線配線群と、
前記第2のクロック基幹配線に電気的に接続された第2のクロック駆動セルと、
前記第2のクロック基幹配線又は前記第2のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第2のクロック同期セル群と、
前記第1のクロック駆動セル及び第2のクロック駆動セルにクロック信号を与えるクロックソースドライバとを備え、
前記第1のクロック支線配線群と前記第2のクロック支線配線群とは、電気的に分離されており、
前記第1のクロック駆動セルのみで、前記第1のクロック基幹配線及び前記第1のクロック支線配線群を駆動し、
前記第2のクロック駆動セルのみで、前記第2のクロック基幹配線及び前記第2のクロック支線配線群を駆動することを特徴とするクロック分配回路を用いたことを特徴とする。
In order to solve the above problems, one embodiment of the present invention provides:
A semiconductor integrated circuit using a clock distribution circuit that distributes a clock signal in a functional block configured using standard cells,
A first clock trunk wiring wired in a first direction;
A first clock branch wiring group comprising a plurality of clock branch wirings wired in a second direction orthogonal to the first direction and electrically connected to the first clock backbone wiring;
A first clock driving cell electrically connected to the first clock backbone wiring;
A first clock synchronization cell group comprising a plurality of clock synchronization cells electrically connected to the first clock backbone wiring or the first clock branch wiring group;
A second clock trunk wiring arranged in parallel with the first clock trunk wiring;
A second clock branch line group consisting of a plurality of clock branch lines wired in the second direction and electrically connected to the second clock backbone line;
A second clock driving cell electrically connected to the second clock backbone wiring;
A second clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the second clock backbone wiring or the second clock branch wiring group;
A clock source driver for supplying a clock signal to the first clock driving cell and the second clock driving cell;
The first clock branch line group and the second clock branch line group are electrically separated,
Driving the first clock trunk wiring and the first clock branch wiring group only by the first clock driving cell;
The clock distribution circuit is characterized in that the second clock trunk wiring and the second clock branch wiring group are driven only by the second clock driving cell.

本発明によれば、消費電力及びクロックスキューを小さくでき、大規模な半導体集積回路においてもクロック駆動セルの負荷容量を小さくできる。   According to the present invention, power consumption and clock skew can be reduced, and the load capacity of a clock driving cell can be reduced even in a large-scale semiconductor integrated circuit.

以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description of each embodiment, components having the same functions as those described once are given the same reference numerals and description thereof is omitted.

《発明の実施形態1》
図1は、本発明に係るクロック分配回路が用いられた機能ブロック100を示す平面図である。機能ブロック100は、スタンダードセルを用いて回路が構成されている。スタンダードセルには、PチャンネルトランジスタとNチャンネルトランジスタを組み合わせることでインバータやNAND等の機能が実装されている。
Embodiment 1 of the Invention
FIG. 1 is a plan view showing a functional block 100 in which a clock distribution circuit according to the present invention is used. The functional block 100 includes a circuit using standard cells. In the standard cell, functions such as an inverter and NAND are implemented by combining a P-channel transistor and an N-channel transistor.

機能ブロック100は、第1の領域10と第2の領域20に分割されている。   The functional block 100 is divided into a first area 10 and a second area 20.

第1の領域10には、クロック基幹配線、クロック支線配線、及びクロック駆動セルが設けられている。   The first region 10 is provided with a clock trunk wiring, a clock branch wiring, and a clock driving cell.

詳しくは、第1の領域10は、その中心の垂直方向に第1のクロック基幹配線11が配線されている。第1のクロック基幹配線11からは、一群のクロック支線配線が水平方向に、等間隔で配線されている。なお、中心とは、必ずしも正確な中心でなくてもよい。つまり、中心とみなせる範囲(以下、中心近傍)であればよい。また、ここでは、この一群のクロック支線配線を第1のクロック支線配線群12と呼ぶことにする。各図では、第1のクロック支線配線群12内の1つのクロック支線配線に代表で符号を付してある。   Specifically, the first clock main wiring 11 is wired in the vertical direction of the center of the first region 10. From the first clock backbone wiring 11, a group of clock branch wirings are wired at equal intervals in the horizontal direction. Note that the center is not necessarily an accurate center. That is, it may be in a range that can be regarded as the center (hereinafter, the vicinity of the center). Here, this group of clock branch lines is referred to as a first clock branch line group 12. In each figure, one clock branch line in the first clock branch line group 12 is represented by a representative symbol.

また、第1のクロック基幹配線11の中心近傍には、第1の領域10の中心近傍に配置された第1のクロック駆動セル13(後述)の出力端子が接続されている。   Further, an output terminal of a first clock driving cell 13 (described later) disposed near the center of the first region 10 is connected to the vicinity of the center of the first clock trunk wiring 11.

第1の領域10内には、一群のクロック同期セル(図中における、破線の楕円内のブロック)である第1のクロック同期セル群14が配置されている。   In the first region 10, a first clock synchronization cell group 14 which is a group of clock synchronization cells (blocks within a dashed ellipse in the figure) is arranged.

第1のクロック同期セル群14の各クロック同期セルは、第1のクロック基幹配線11又は第1のクロック支線配線群12と電気的に接続されている。   Each clock synchronization cell of the first clock synchronization cell group 14 is electrically connected to the first clock trunk line 11 or the first clock branch line group 12.

第2の領域20にも、クロック基幹配線、クロック支線配線群、及びクロック駆動セルが設けられている。   The second region 20 is also provided with a clock trunk line, a clock branch line group, and a clock driving cell.

詳しくは、第2の領域20は、中心近傍の垂直方向に第2のクロック基幹配線21が配線され、第2のクロック基幹配線21からは、一群のクロック支線配線(第2のクロック支線配線群22)が水平方向に、等間隔で配線されている。なお、各図では、第2のクロック支線配線群22内の1つのクロック支線配線に代表で符号を付してある。   Specifically, in the second region 20, a second clock trunk wiring 21 is wired in the vertical direction near the center, and a group of clock branch wirings (second clock branch wiring group) are routed from the second clock trunk wiring 21. 22) are wired at equal intervals in the horizontal direction. In each figure, one clock branch line in the second clock branch line group 22 is represented by a representative symbol.

また、第2のクロック基幹配線21の中心近傍には、第2の領域20の中心近傍に配置された第2のクロック駆動セル23の出力端子が接続されている。   Further, the output terminal of the second clock driving cell 23 arranged near the center of the second region 20 is connected to the vicinity of the center of the second clock trunk wiring 21.

第2の領域20内にも、一群のクロック同期セル(図中における、破線の楕円内のブロック)である第2のクロック同期セル群24が配置されている。第2のクロック同期セル群24の各クロック同期セルは、第2のクロック基幹配線21又は第2のクロック支線配線群22と電気的に接続されている。   Also in the second region 20, a second clock synchronization cell group 24 that is a group of clock synchronization cells (a block in a dashed ellipse in the drawing) is arranged. Each clock synchronization cell of the second clock synchronization cell group 24 is electrically connected to the second clock trunk line 21 or the second clock branch line group 22.

第1のクロック駆動セル13は、クロックソースドライバ25(後述)から出力されたクロック信号を入力とし、第1のクロック基幹配線11、及び第1のクロック支線配線群12を通して、第1のクロック同期セル群14の各クロック同期セルに同じクロック信号を分配する。   The first clock driving cell 13 receives the clock signal output from the clock source driver 25 (described later) as an input, and passes through the first clock trunk line 11 and the first clock branch line group 12 to perform the first clock synchronization. The same clock signal is distributed to each clock synchronization cell of the cell group 14.

また、第2のクロック駆動セル23は、クロックソースドライバ25から出力されたクロック信号を入力とし、第2のクロック基幹配線21、及び第2のクロック支線配線群22を通して、第2のクロック同期セル群24の各クロック同期セルに同じクロック信号を分配する。   The second clock driving cell 23 receives the clock signal output from the clock source driver 25 as an input, and passes through the second clock trunk line 21 and the second clock branch line group 22 to provide the second clock synchronization cell. The same clock signal is distributed to each clock synchronization cell of the group 24.

ここで、第1のクロック駆動セル13〜第2のクロック駆動セル23は、バッファ又はインバータの機能が実装されたスタンダードセルであり、各クロック同期セルは、後段のフリップフロップへのクロック供給を制御するクロック制御セル又はフリップフロップである。   Here, the first clock driving cell 13 to the second clock driving cell 23 are standard cells in which the function of a buffer or an inverter is mounted, and each clock synchronization cell controls the clock supply to the flip-flop at the subsequent stage. Clock control cell or flip-flop.

また、第1のクロック支線配線群12と第2のクロック支線配線群22とは、それぞれ電気的に分離されている。   The first clock branch line group 12 and the second clock branch line group 22 are electrically separated from each other.

クロックソースドライバ25は、機能ブロック100の外部からクロック信号が入力されており、第1のクロック駆動セル13と第2のクロック駆動セル23とに、そのクロック信号を供給する。   The clock source driver 25 receives a clock signal from outside the functional block 100 and supplies the clock signal to the first clock driving cell 13 and the second clock driving cell 23.

上記のように、本実施形態によれば、第1のクロック駆動セル13は、第1の領域10内の第1のクロック基幹配線11、第1のクロック支線配線群12、第1のクロック同期セル群14のみを駆動すればよい。そのため、機能ブロック内のクロック信号全体を駆動する場合に比べて、駆動する負荷容量を約半分にすることができる。すなわち、第1のクロック駆動セル13のみで第1の領域10内の第1のクロック同期セル群14全てを駆動することが可能となる。   As described above, according to the present embodiment, the first clock driving cell 13 includes the first clock trunk line 11, the first clock branch line group 12, and the first clock synchronization in the first region 10. Only the cell group 14 needs to be driven. Therefore, the driving load capacity can be reduced to about half compared to the case of driving the entire clock signal in the functional block. That is, all the first clock synchronization cell groups 14 in the first region 10 can be driven only by the first clock driving cell 13.

また、第2のクロック駆動セル23は、第2の領域20内の第2のクロック基幹配線21、第2のクロック支線配線群22、第2のクロック同期セル群24のみを駆動すればよい。そのため、第2のクロック駆動セル23のみで第2の領域20内の第2のクロック同期セル群24全てを駆動することが可能となる。   In addition, the second clock driving cell 23 needs to drive only the second clock trunk line 21, the second clock branch line group 22, and the second clock synchronization cell group 24 in the second region 20. Therefore, it is possible to drive all the second clock synchronization cell groups 24 in the second region 20 with only the second clock driving cells 23.

すなわち、本実施形態によれば、1つのクロック駆動セルが駆動するクロック同期セル数を小さくすることができ、その結果、クロック支線配線の総配線長も短くなるため、1つのクロック駆動セルが駆動する負荷を小さくすることができる。それゆえ、1つの高駆動のクロック駆動セルで、領域内のクロック基幹配線、クロック支線配線、クロック同期セルを駆動することが可能となる。   That is, according to the present embodiment, the number of clock synchronous cells driven by one clock driving cell can be reduced, and as a result, the total wiring length of the clock branch line is also shortened, so that one clock driving cell is driven. Load to be reduced. Therefore, it is possible to drive the clock backbone wiring, the clock branch wiring, and the clock synchronization cell in the region with one high-drive clock driving cell.

また、クロック駆動セルからクロック同期セルまでのクロック配線の構造を均一化できるため、配線遅延のばらつきが小さい。   In addition, since the clock wiring structure from the clock driving cell to the clock synchronous cell can be made uniform, variation in wiring delay is small.

また、現在市販されているスタンダードセルレベルの遅延計算ツールでの遅延計算が可能になる。すなわち、現在市販されているスタンダードセルレベルの遅延計算ツールでは、1つの信号配線を複数のクロック駆動セルで駆動するような場合に、正しく遅延計算ができず、遅延時間の誤差が大きいという問題がある。そのため、櫛型クロック配線やメッシュ配線部分のみを、トランジスタレベルのシミュレーターを用いて遅延計算を行なう必要があるが、それによって半導体集積回路のタイミング保証に要する工数が増加したり、またクロストークなどの影響を正しく反映できなかったり、遅延計算精度が低下するという問題がある。しかしながら、本実施形態では、1つのクロック駆動セルで駆動するので、このような問題を解消できる。   In addition, it is possible to perform delay calculation using a standard cell level delay calculation tool currently on the market. In other words, the standard cell level delay calculation tools that are currently available on the market have a problem that when one signal wiring is driven by a plurality of clock driving cells, the delay calculation cannot be performed correctly and the delay time error is large. is there. Therefore, it is necessary to perform delay calculation only for the comb-shaped clock wiring and mesh wiring using a transistor level simulator, which increases the man-hours required for guaranteeing the timing of the semiconductor integrated circuit, crosstalk, etc. There is a problem that the influence cannot be correctly reflected or the delay calculation accuracy is lowered. However, in this embodiment, since it is driven by one clock driving cell, such a problem can be solved.

また、領域内全体にクロック支線配線を均等に配線することができ、クロック同期セルの配置に関わらず、配線遅延のばらつきを小さくすることができる。   In addition, clock branch lines can be evenly distributed throughout the region, and variations in wiring delay can be reduced regardless of the arrangement of the clock synchronization cells.

また、機能ブロックを複数の領域に分割しているので、その領域毎にクロックツリーを最適化することができる。   Since the functional block is divided into a plurality of areas, the clock tree can be optimized for each area.

なお、機能ブロック100では、機能ブロックを縦方向に領域を分割しているため、第1のクロック基幹配線11〜第2のクロック基幹配線21は非常に長い配線となる。しかし、第1のクロック基幹配線11〜第2のクロック基幹配線21を膜厚の厚い上層配線を用いて配線することにより、クロック基幹配線の配線抵抗を小さくすることができる。したがって、第1のクロック基幹配線11〜第2のクロック基幹配線21の配線長が長い場合でも、クロック基幹配線の中心部と終端部でのクロックスキューを非常に小さくすることができる。また、この場合は、クロック基幹配線からクロック支線配線の終端部までの距離は、機能ブロック100の横幅の1/4となる。そのため、クロック支線配線の終端部までの配線抵抗が小さくなり、クロック支線配線の中央部と終端部の配線遅延のばらつきを小さくすることができる。すなわち、クロック基幹配線、クロック支線配線のクロックスキューを小さくすることができる。さらに、抵抗が小さいと、高駆動のクロック駆動セルで多数のクロック同期セルを一気に駆動することができ、クロックスキューを小さくすることができる。   In the functional block 100, since the functional block is divided in the vertical direction, the first clock main wiring 11 to the second clock main wiring 21 are very long wirings. However, the wiring resistance of the clock trunk wiring can be reduced by wiring the first clock trunk wiring 11 to the second clock trunk wiring 21 using a thick upper layer wiring. Therefore, even when the wiring lengths of the first clock main wiring 11 to the second clock main wiring 21 are long, the clock skew at the center portion and the terminal end portion of the clock main wiring can be extremely reduced. In this case, the distance from the clock backbone wiring to the terminal end of the clock branch wiring is ¼ of the horizontal width of the functional block 100. Therefore, the wiring resistance to the terminal portion of the clock branch wiring is reduced, and the variation in wiring delay between the central portion and the terminal portion of the clock branch wiring can be reduced. That is, the clock skew of the clock trunk wiring and the clock branch wiring can be reduced. Further, when the resistance is small, a large number of clock synchronous cells can be driven at once by a high-drive clock driving cell, and the clock skew can be reduced.

また、クロック基幹配線は、膜厚の厚い上層配線で、更に幅広の配線で構成することで、更に配線抵抗を小さくすることができる。   In addition, the clock trunk wiring is an upper wiring having a large film thickness and a wider wiring, so that the wiring resistance can be further reduced.

また、図2は、第2の領域20内における第2のクロック同期セル群24の接続例を示す図である。図2において、第2のクロック同期セル群24は、第2のクロック基幹配線21の垂直方向、第2のクロック支線配線群22の水平方向で決定される領域内に配置されている。第2のクロック基幹配線21の近傍の第2のクロック同期セル群24は、第2のクロック基幹配線21に直接配線され、それ以外の第2のクロック同期セル群24は、上方向又は下方向の最短距離にあるクロック支線配線と直接配線されている。したがって、この配線部分は、クロック支線配線又はクロック基幹配線からの配線長が短いため、膜厚の薄い下層配線を用いても配線遅延を小さくすることができる。   FIG. 2 is a diagram illustrating a connection example of the second clock synchronization cell group 24 in the second region 20. In FIG. 2, the second clock synchronization cell group 24 is arranged in a region determined by the vertical direction of the second clock trunk wiring 21 and the horizontal direction of the second clock branch wiring group 22. The second clock synchronization cell group 24 in the vicinity of the second clock backbone wiring 21 is directly wired to the second clock backbone wiring 21, and the other second clock synchronization cell groups 24 are directed upward or downward. It is directly wired with the clock branch line at the shortest distance. Accordingly, since the wiring portion has a short wiring length from the clock branch wiring or the clock trunk wiring, the wiring delay can be reduced even when a lower-layer wiring having a small thickness is used.

また、図1、図2に示すように、各クロック支線配線は、一定間隔で全体に配線するのがのぞましい。これにより、クロック同期セルの配置がばらついた場合でも最短で接続することができる。   Further, as shown in FIGS. 1 and 2, it is preferable that the clock branch lines are wired at regular intervals. Thereby, even when the arrangement of the clock synchronization cells varies, the connection can be made in the shortest time.

図3は、図2に示した第2のクロック駆動セル23と第2のクロック基幹配線21の接続部分、及び第2のクロック支線配線群22と第2のクロック同期セル群24の接続部分を拡大した平面図である。また、図4は、第2のクロック駆動セル23と第2のクロック基幹配線21の接続部分断面図である。   3 shows a connection portion between the second clock driving cell 23 and the second clock trunk wiring 21 and a connection portion between the second clock branch wiring group 22 and the second clock synchronization cell group 24 shown in FIG. It is the expanded top view. FIG. 4 is a cross-sectional view of a connection portion between the second clock driving cell 23 and the second clock trunk wiring 21.

図3、図4に示す例では、機能ブロック100の配線層は、第1層から第6層の6層配線で構成されている。また、各配線層間には、配線層同士を接続するコンタクトが配置されている。   In the example shown in FIGS. 3 and 4, the wiring layer of the functional block 100 is configured by six-layer wiring from the first layer to the sixth layer. Further, contacts for connecting the wiring layers are arranged between the wiring layers.

第1層から第5層までの配線層は、膜厚が薄く構成されている。そのため、シート抵抗が大きい。一方、第6層の配線層の膜厚は、第1から第5層に比べて5倍以上となっており、シート抵抗が1/5となっている。膜厚を厚くすると製造プロセスの制約により配線幅を幅広にする必要がある。そのため、第6層は配線に使用できる本数が少なくなる。しかし、クロック基幹配線のみに膜厚の厚い上層配線の使用を限定することで、上層配線の使用を最低限に抑えることが可能となる。すなわち、この構造は、クロック信号のための上層配線の使用箇所を限定することができる。   The wiring layers from the first layer to the fifth layer are configured to be thin. Therefore, the sheet resistance is large. On the other hand, the film thickness of the sixth wiring layer is more than five times that of the first to fifth layers, and the sheet resistance is 1/5. When the film thickness is increased, it is necessary to widen the wiring width due to restrictions on the manufacturing process. Therefore, the number of the sixth layer that can be used for wiring is reduced. However, it is possible to minimize the use of the upper layer wiring by limiting the use of the thick upper layer wiring only to the clock main wiring. In other words, this structure can limit the use location of the upper layer wiring for the clock signal.

図3の例では、第2のクロック駆動セル23は、PチャンネルトランジスタとNチャンネルトランジスタでインバータの機能が実装されたスタンダードセルである。この例では、第2のクロック駆動セル23の出力端子から第4層目までコンタクトを通して持ち上げた後に、第6層で配線された第2のクロック基幹配線21の中心近傍に接続された第5層の配線に第4層の配線で接続している。   In the example of FIG. 3, the second clock driving cell 23 is a standard cell in which an inverter function is implemented by a P-channel transistor and an N-channel transistor. In this example, the fifth layer connected to the vicinity of the center of the second clock trunk wiring 21 wired in the sixth layer after being lifted through the contact from the output terminal of the second clock driving cell 23 to the fourth layer. Are connected by a fourth layer wiring.

第2のクロック駆動セル23は、第2の領域20内の全てのクロック同期セルを駆動する必要がある。そのため第2のクロック駆動セル23は、駆動能力が非常に高く、第2のクロック駆動セル23から第2のクロック基幹配線21までは電流が集中し、エレクトロマイグレーションによる配線の断線が問題となる。そのため、第2のクロック駆動セル23から第2のクロック基幹配線21までは、配線及びコンタクトを流れる電流の電流密度を小さくする必要がある。それには、幅広の配線及び複数のコンタクトで接続を行なうとよい。これにより、クロック駆動セルからクロック基幹配線までの抵抗を小さくすることができる。それゆえ、高駆動のクロック駆動セルで多数のクロック同期セルを一気に駆動することができ、クロックスキューを小さくすることができる。   The second clock driving cell 23 needs to drive all clock synchronous cells in the second region 20. For this reason, the second clock driving cell 23 has a very high driving capability, current is concentrated from the second clock driving cell 23 to the second clock main wiring 21, and disconnection of wiring due to electromigration becomes a problem. Therefore, it is necessary to reduce the current density of the current flowing through the wiring and the contact from the second clock driving cell 23 to the second clock main wiring 21. For this purpose, the connection is preferably made with a wide wiring and a plurality of contacts. Thereby, the resistance from the clock driving cell to the clock trunk wiring can be reduced. Therefore, a large number of clock synchronous cells can be driven at once by a high-drive clock driving cell, and the clock skew can be reduced.

また、図4の例では、第2のクロック基幹配線21は、第2のクロック支線配線群22が第5層の配線層で配線されており、クロック支線配線から第2のクロック同期セル群24までは、第4層から第2層の配線を使用して接続されている。したがって、第2のクロック支線配線群22から第2のクロック同期セル群24までの配線は配線長が短く、また先に繋がる負荷容量が小さいため、プロセス制約上の最小幅の配線で構成しても配線遅延は小さい。   In the example of FIG. 4, the second clock trunk wiring 21 includes the second clock branch wiring group 22 wired in the fifth wiring layer, and the second clock synchronous cell group 24 is connected to the clock branch wiring. Up to this point, the connection is made using the wiring from the fourth layer to the second layer. Therefore, since the wiring from the second clock branch wiring group 22 to the second clock synchronization cell group 24 has a short wiring length and a small load capacity connected to the first, it is configured with a wiring having a minimum width due to process restrictions. However, the wiring delay is small.

また、クロック基幹配線からは複数のクロック支線配線が配線されており、クロック基幹配線からクロック支線配線へ電流が分散される。そのため、クロック支線配線やクロック支線配線からクロック同期セルまでの配線については電流密度を小さくすることが可能になり、最小線幅でもエレクトロマイグレーションは問題ない。   In addition, a plurality of clock branch lines are wired from the clock trunk line, and current is distributed from the clock trunk line to the clock branch line. Therefore, the current density can be reduced for the clock branch wiring and the wiring from the clock branch wiring to the clock synchronous cell, and there is no problem with electromigration even with the minimum line width.

下層配線は、抵抗が大きいが配線領域を多数確保できるというメリットがあり、クロック同期セルはセルが多数あるためクロック支線配線からクロック同期セルまでの配線に上層配線や下層配線で幅広の配線を使用すると配線領域が足りなくなる。しかし、上記のようにクロック駆動セルから上層のクロック基幹配線までを幅広の配線と複数のコンタクトを用いて接続し、クロック基幹配線のみ膜厚の厚い上層配線を用い、クロック支線配線から同期セルまでは最小幅の下層配線を使用することで、配線遅延で支配的となるドライバー側の配線抵抗を小さくすることができ、クロックスキューの削減と配線領域の確保を両立することが可能となる。   The lower layer wiring has the advantage that a large number of wiring areas can be secured although the resistance is large, and the clock synchronous cell has many cells, so the upper layer wiring and the lower layer wiring use a wide wiring for the wiring from the clock branch line to the clock synchronous cell Then, the wiring area becomes insufficient. However, as described above, the clock drive cell to the upper layer clock trunk wiring are connected using a wide wiring and a plurality of contacts, and only the clock trunk wiring uses a thick upper layer wiring, from the clock branch wiring to the synchronous cell. By using the lower-layer wiring having the minimum width, the wiring resistance on the driver side, which is dominant due to the wiring delay, can be reduced, and both the reduction of clock skew and the securing of the wiring area can be achieved.

《発明の実施形態2》
図5は、本発明の実施形態2に係る機能ブロック200を示す平面図である。機能ブロック200は、図5に示すように、第1のクロック支線配線群12にはクロック支線配線が4本、第2のクロック支線配線群22にはクロック支線配線が6本設けられている。このように、第1のクロック支線配線群12では、クロック同期セルが近傍にないクロック支線配線を削除することで、配線容量を削除し消費電力を削減することができる。
<< Embodiment 2 of the Invention >>
FIG. 5 is a plan view showing a functional block 200 according to Embodiment 2 of the present invention. As shown in FIG. 5, the functional block 200 includes four clock branch lines in the first clock branch line group 12 and six clock branch lines in the second clock branch line group 22. As described above, in the first clock branch line group 12, by deleting clock branch lines that do not have a clock synchronous cell in the vicinity, the wiring capacity can be deleted and the power consumption can be reduced.

図5の例では第1のクロック駆動セル13と第2のクロック駆動セル23とは、駆動する負荷容量が異なる。そのため、第1のクロック駆動セル13〜第2のクロック駆動セル23の駆動能力が同じであれば、これらによる信号遷移時間が異なり、全体のクロックスキューが大きくなる。   In the example of FIG. 5, the first clock driving cell 13 and the second clock driving cell 23 have different load capacitances to drive. Therefore, if the driving capabilities of the first clock driving cell 13 to the second clock driving cell 23 are the same, the signal transition times due to these differ, and the overall clock skew increases.

そこで、クロック駆動セルの駆動能力は、クロック駆動セルが駆動する負荷容量の削減割合に応じて定めるとよい。図6は、第1のクロック駆動セル13と第2のクロック駆動セル23の駆動能力が異なる機能ブロックの例であり、駆動能力の小さい方を小さく表記してある。図6の例は、第1のクロック駆動セル13が駆動する負荷容量の削減割合に応じて、第1のクロック駆動セル13の駆動能力を下げたものである。これにより、第1のクロック駆動セル13と第2のクロック駆動セル23の信号遷移時間を同一としながら消費電力を削減することが可能となる。   Therefore, the driving capability of the clock driving cell may be determined according to the reduction rate of the load capacity driven by the clock driving cell. FIG. 6 is an example of a functional block in which the driving capabilities of the first clock driving cell 13 and the second clock driving cell 23 are different, and the smaller driving capability is shown smaller. In the example of FIG. 6, the driving capability of the first clock driving cell 13 is lowered according to the reduction ratio of the load capacity driven by the first clock driving cell 13. As a result, the power consumption can be reduced while keeping the signal transition times of the first clock driving cell 13 and the second clock driving cell 23 the same.

なお、クロック同期セルの配置が決定した後は、その配置に合わせてクロック支線配線を配線することで、クロック支線配線の冗長な配線部分を削減することができる。これにより、クロック支線配線の総配線長も削減されるため、削減された領域を通常の信号配線に使用することができるようになる。   Note that after the arrangement of the clock synchronization cells is determined, redundant wiring portions of the clock branch lines can be reduced by wiring the clock branch lines in accordance with the arrangement. As a result, the total wiring length of the clock branch line is also reduced, so that the reduced area can be used for normal signal wiring.

また、図7に示すように、クロック支線配線は、クロック同期セルが配置されている場所までを配線するのが好ましい。すなわち、第1のクロック支線配線群12、第2のクロック支線配線群22は、それぞれ第1のクロック基幹配線11、第2のクロック基幹配線21を中心として左右非対称に配置する。これにより。配線負荷容量を削減し、消費電力を削減することができる。   Further, as shown in FIG. 7, it is preferable that the clock branch line is wired up to the place where the clock synchronization cell is arranged. That is, the first clock branch line group 12 and the second clock branch line group 22 are arranged asymmetrically with the first clock main line 11 and the second clock main line 21 as the center. By this. Wiring load capacity can be reduced and power consumption can be reduced.

また、図8に示すように、クロック支線配線は、配線長に応じて配線幅を変化させておくのが好ましい。クロック基幹配線から離れた位置にあるクロック同期セルまでの配線長が長く、配線遅延が大きくなりクロックスキューが大きくなる。しかし、クロック支線配線を配線長に比例して幅広にすることで、クロック同期セルまでの配線抵抗ばらつきを小さくすることができ、その結果、クロック基幹配線から離れた位置にあるクロック同期セルへのクロック支線配線でのクロックスキューを小さくすることができる。逆にクロック基幹配線の近傍にあるクロック同期セルへのクロック支線配線は、配線幅を狭くすることで配線容量を削減することができる。   Further, as shown in FIG. 8, it is preferable to change the wiring width of the clock branch wiring in accordance with the wiring length. The wiring length to the clock synchronization cell located far from the clock backbone wiring is long, the wiring delay is increased, and the clock skew is increased. However, by making the clock branch wiring wider in proportion to the wiring length, it is possible to reduce the wiring resistance variation up to the clock synchronization cell, and as a result, to the clock synchronization cell located far from the clock backbone wiring. The clock skew in the clock branch line can be reduced. Conversely, the clock branch line wiring to the clock synchronous cell in the vicinity of the clock backbone wiring can reduce the wiring capacity by narrowing the wiring width.

上記のクロック支線配線の配線方法について、図9を用いて説明する。   A method of wiring the clock branch lines will be described with reference to FIG.

図9において、第1の領域10、第2の領域20はそれぞれ更に8つの領域に分割されている。その領域毎には、1本ずつクロック支線配線が配線されている。クロック支線配線は、その領域内における、クロック同期セル群の重心位置を水平方向の配線位置とている。そして、クロック基幹配線からその領域内の一番端のクロック同期セルまでクロック支線配線を配線する。これにより、冗長な配線を削除し、消費電力を削減することができる。   In FIG. 9, the first region 10 and the second region 20 are each further divided into eight regions. One clock branch line is wired for each area. In the clock branch line wiring, the position of the center of gravity of the clock synchronization cell group in the region is the wiring position in the horizontal direction. Then, a clock branch line is wired from the clock main line to the endmost clock synchronous cell in the area. Thereby, redundant wiring can be deleted and power consumption can be reduced.

《発明の実施形態3》
上記の各実施形態では、各領域(第1の領域10など)が同じ大きさであったが、実施形態3では、機能ブロックを異なる大きさの領域に分割する例を説明する。
<< Embodiment 3 of the Invention >>
In each of the above embodiments, each region (the first region 10 or the like) has the same size. In the third embodiment, an example in which a functional block is divided into regions having different sizes will be described.

図10は、本発明の実施形態3に係る機能ブロック300を示す平面図である。機能ブロック300は、図10に示すように、第1の領域10と第2の領域20と第3の領域30に分割されている。   FIG. 10 is a plan view showing a functional block 300 according to Embodiment 3 of the present invention. As shown in FIG. 10, the functional block 300 is divided into a first area 10, a second area 20, and a third area 30.

第3の領域30は、中心近傍の垂直方向に第3のクロック基幹配線31が配線されている。第3のクロック基幹配線31からは、一群のクロック支線配線(第3のクロック支線配線群32)が水平方向に配線されている。また、第3のクロック基幹配線31の中心近傍には、第3の領域30の中心近傍に配置された第3のクロック駆動セル群33の出力端子が接続されている。   In the third region 30, a third clock trunk wiring 31 is wired in the vertical direction near the center. A group of clock branch lines (a third clock branch line group 32) is wired from the third clock main line 31 in the horizontal direction. Further, the output terminal of the third clock driving cell group 33 arranged in the vicinity of the center of the third region 30 is connected to the vicinity of the center of the third clock trunk wiring 31.

上記の第1の領域10、第2の領域20、及び第3の領域30の大きさは、各領域内のクロック同期セルが同じ数になるように定めてある。   The sizes of the first region 10, the second region 20, and the third region 30 are determined so that the number of clock synchronization cells in each region is the same.

クロック同期セル群の配置に偏りがある場合に、領域を均等に分割するとクロック同期セルが多い領域と少ない領域ができてしまい、クロック駆動セルが駆動する負荷容量が領域毎に異なることになる。この場合は、クロック駆動セルの信号遷移時間が異なり、全体のクロックスキューが大きくなってしまう。   When the arrangement of the clock synchronization cell group is biased, if the area is divided evenly, an area with a large number of clock synchronization cells and an area with a small number of clock synchronization cells are formed, and the load capacity driven by the clock driving cell differs for each area. In this case, the signal transition times of the clock driving cells are different, and the overall clock skew is increased.

しかし、上記のように、負荷が均等となるように領域を分割することにより、クロック同期セルの配置に偏りがある場合でも、クロック駆動セルが駆動するクロック同期セル数を均等にすることができる。それゆえ、第1のクロック駆動セル13、第2のクロック駆動セル23、及び第3のクロック駆動セル33の駆動能力が同じでも、信号遷移時間を等しくして、全体のクロックスキューを小さくすることができる。   However, as described above, the number of clock synchronization cells driven by the clock driving cell can be equalized by dividing the region so that the load is equal even when the clock synchronization cell arrangement is biased. . Therefore, even if the driving capabilities of the first clock driving cell 13, the second clock driving cell 23, and the third clock driving cell 33 are the same, the signal transition times are made equal to reduce the overall clock skew. Can do.

なお、図10の例では、領域内のクロック同期セルが同じ数になるように領域を分割したが、各領域内のクロック同期セルの入力容量及びクロック配線の配線容量の総和が等しくなるように分割してもよい。   In the example of FIG. 10, the area is divided so that the number of clock synchronization cells in the area is the same, but the sum of the input capacity of the clock synchronization cells and the wiring capacity of the clock wiring in each area is equal. It may be divided.

また、図11は、機能ブロック300の分割の一例を示す図である。機能ブロック300では、図1に示した第2の領域20を更に2つに分割している。この機能ブロックは、第1の領域10と、上下に配置された第2の領域20、第3の領域30から構成されている。図11に示す例では、第3のクロック基幹配線31は、第2のクロック基幹配線21の下部で、第1の方向に配線されている。ここで、下部とは、第2のクロック基幹配線21の、第1の方向(図2を参照)の順方向側又は逆方向側をいう。   FIG. 11 is a diagram illustrating an example of the division of the functional block 300. In the functional block 300, the second area 20 shown in FIG. 1 is further divided into two. This functional block includes a first area 10, a second area 20, and a third area 30 arranged above and below. In the example shown in FIG. 11, the third clock trunk wiring 31 is wired in the first direction below the second clock trunk wiring 21. Here, the lower part refers to the forward direction side or the reverse direction side of the second clock trunk wiring 21 in the first direction (see FIG. 2).

また、この例では、第2の領域20の面積と第3の領域30の面積を合わせた面積は、第1の領域10の面積と等しい。また、第2のクロック同期セル群24におけるクロック同期セル数と第3のクロック同期セル群34におけるクロック同期セル数を足したセル数は、第1のクロック同期セル群14におけるクロック同期セル数よりも多い。   In this example, the total area of the second region 20 and the third region 30 is equal to the area of the first region 10. The number of cells obtained by adding the number of clock synchronization cells in the second clock synchronization cell group 24 and the number of clock synchronization cells in the third clock synchronization cell group 34 is greater than the number of clock synchronization cells in the first clock synchronization cell group 14. There are also many.

このように、クロック同期セル群の配置に偏りがあり、クロック同期セルが密に配置されている領域については、更に複数の領域に分割し、それぞれの領域に対して、設けたクロック駆動セルで駆動する。   As described above, there is a bias in the arrangement of the clock synchronization cell group, and the area where the clock synchronization cells are densely arranged is further divided into a plurality of areas, and the clock drive cell provided for each area is divided. To drive.

そのため、上記の例では、第2のクロック駆動セル23、第3のクロック駆動セル33がそれぞれ駆動する負荷容量を小さくし、第1のクロック駆動セル13、第2のクロック駆動セル23、第3のクロック駆動セル33が駆動する負荷容量を均等化することができる。さらに、第2のクロック駆動セル23、第3のクロック駆動セル33の配置を第1のクロック駆動セル13の垂直方向の配置位置と同じにすれば、クロックソースドライバ25から第1のクロック駆動セル13、第2のクロック駆動セル23、第3のクロック駆動セル33までの配線距離を等しくすることができる。   Therefore, in the above example, the load capacities driven by the second clock driving cell 23 and the third clock driving cell 33 are reduced, and the first clock driving cell 13, the second clock driving cell 23, the third The load capacity driven by the clock driving cell 33 can be equalized. Furthermore, if the arrangement of the second clock driving cell 23 and the third clock driving cell 33 is the same as the arrangement position of the first clock driving cell 13 in the vertical direction, the clock source driver 25 to the first clock driving cell 13, the wiring distance to the second clock driving cell 23 and the third clock driving cell 33 can be made equal.

図12は、形状が非矩形の機能ブロックについて、上記のクロック分配回路を適用した例である。この例では、第2の領域20は、第1の領域10に比べて垂直方向の長さが短い。   FIG. 12 is an example in which the above clock distribution circuit is applied to a non-rectangular functional block. In this example, the second region 20 is shorter in the vertical direction than the first region 10.

この場合は、第2のクロック基幹配線21を第2の領域20の垂直方向の長さに合わせて、垂直方向の長さを小さくしている。また、第2の領域20は、領域が小さい分、第2のクロック支線配線群22も配線本数が少なくなっている。そのため、第2のクロック駆動セル23は、負荷容量が小さくなる。すなわち、第2のクロック駆動セル23は、負荷容量に応じて駆動能力を小さくすることで、クロックスキューを小さくしながら、消費電力も小さくすることができる。   In this case, the length in the vertical direction is reduced by matching the second clock trunk wiring 21 with the length in the vertical direction of the second region 20. In addition, the second area 20 has a smaller number of lines in the second clock branch line group 22 because the area is smaller. Therefore, the load capacity of the second clock driving cell 23 is reduced. That is, the second clock driving cell 23 can reduce the power consumption while reducing the clock skew by reducing the driving capability according to the load capacity.

なお、第1のクロック駆動セル13、第2のクロック駆動セル23の水平方向の位置を合わせると、第2のクロック駆動セル23の配置は、第2の領域20の中心ではなくなるが、第2のクロック基幹配線21の配線に低抵抗の上層配線を用いることで、クロック基幹配線のクロックスキューを小さくすることができる。   When the horizontal positions of the first clock driving cell 13 and the second clock driving cell 23 are matched, the arrangement of the second clock driving cell 23 is not the center of the second region 20, but the second The clock skew of the clock trunk wiring can be reduced by using a low-resistance upper layer wiring for the clock trunk wiring 21.

また、図12では形状が非矩形の機能ブロックについて述べたが、形状が矩形であっても、接続するクロック同期セルがない部分に対して、同様にクロック基幹配線の長さを短くすることができる。   In FIG. 12, the functional block having a non-rectangular shape is described. However, even if the shape is rectangular, the length of the clock trunk wiring may be shortened in the same manner for a portion where there is no clock synchronization cell to be connected. it can.

また、図12では、各領域が矩形の場合について述べたが、各領域が非矩形でもよい。例えば図13に示す例では、第1の領域10は、上部の辺よりも下部の辺が長い非矩形の形状となっている。この例では、第1のクロック支線配線群12は、第1の領域10の形状に合わせて、上部に比べて下部の配線長が長くなっている。それにより、第1の領域10内の非矩形部分の第1のクロック同期セル群14についても、第1のクロック支線配線群12に最短で接続することができる。   Further, in FIG. 12, the case where each area is rectangular has been described, but each area may be non-rectangular. For example, in the example illustrated in FIG. 13, the first region 10 has a non-rectangular shape in which the lower side is longer than the upper side. In this example, the first clock branch line group 12 has a lower wiring length longer than the upper part in accordance with the shape of the first region 10. As a result, the first clock synchronization cell group 14 in the non-rectangular portion in the first region 10 can be connected to the first clock branch line group 12 in the shortest time.

《発明の実施形態4》
本発明の実施形態4では、機能ブロック内にSRAM(Static Random Access Memory)等のハードマクロがある例を説明する。
<< Embodiment 4 of the Invention >>
In the fourth embodiment of the present invention, an example in which there is a hard macro such as SRAM (Static Random Access Memory) in the functional block will be described.

図14は、実施形態4に係る機能ブロック400を示す平面図である。機能ブロック400は、ハードマクロ35を有している。ハードマクロ35は、第1の領域10、第2の領域20に跨って配置されている。   FIG. 14 is a plan view showing a functional block 400 according to the fourth embodiment. The functional block 400 has a hard macro 35. The hard macro 35 is disposed across the first area 10 and the second area 20.

図14に示すように、第2の領域20の中心部分は、ハードマクロ35が配置されている。したがって、機能ブロック400では、第2のクロック駆動セル23を第2の領域20の中心近傍に配置することができない。そのため、機能ブロック400では、第2のクロック駆動セル23を、ハードマクロ35と配置が重ならないように、第2の領域20の下部に配置している。これにより、第2のクロック駆動セル23の配置は、第2の領域20の中心近傍ではなくなる。しかし、第2のクロック基幹配線21は、低抵抗の上層配線を用いているので、第2のクロック駆動セル23を第2のクロック基幹配線21の末端近傍に配置して第2のクロック基幹配線21と最短で接続することで、全体のクロックスキューへの影響を十分小さくすることができる。   As shown in FIG. 14, the hard macro 35 is arranged in the central portion of the second region 20. Therefore, in the functional block 400, the second clock driving cell 23 cannot be arranged near the center of the second region 20. Therefore, in the functional block 400, the second clock driving cell 23 is arranged below the second region 20 so as not to overlap with the hard macro 35. Thereby, the arrangement of the second clock driving cell 23 is not near the center of the second region 20. However, since the second clock trunk wiring 21 uses a low-resistance upper layer wiring, the second clock driving wiring 23 is arranged near the end of the second clock trunk wiring 21 and the second clock trunk wiring 21 is used. By connecting with 21 in the shortest time, the influence on the overall clock skew can be made sufficiently small.

また、第1のクロック駆動セル13も第2のクロック駆動セル23と同じ位置まで垂直方向に移動させてある。これにより、第1のクロック駆動セル13からクロックソースドライバ25からまでの距離と、第2のクロック駆動セル23からクロックソースドライバ25までの距離を等しくできる。すなわち、クロックソースドライバ25からのクロックスキューを小さくすることができる。   The first clock driving cell 13 is also moved in the vertical direction to the same position as the second clock driving cell 23. Thereby, the distance from the first clock driving cell 13 to the clock source driver 25 and the distance from the second clock driving cell 23 to the clock source driver 25 can be made equal. That is, the clock skew from the clock source driver 25 can be reduced.

また、ハードマクロ35は、クロック接続ピンが複数あってもよい。図14の例では、ハードマクロ35のクロック接続ピン35aは、第1の領域10及び第2の領域20に、それぞれ1個ずつ配置されている。そこで、第1の領域10内にあるクロック接続ピン35aを第1のクロック駆動セル13に接続し、第2の領域20内にあるクロック接続ピン35aを第2のクロック駆動セル23に接続する。これにより、クロック支線配線からクロック接続ピンまでを最短で接続することができる。   The hard macro 35 may have a plurality of clock connection pins. In the example of FIG. 14, one clock connection pin 35 a of the hard macro 35 is disposed in each of the first region 10 and the second region 20. Therefore, the clock connection pin 35 a in the first region 10 is connected to the first clock driving cell 13, and the clock connection pin 35 a in the second region 20 is connected to the second clock driving cell 23. Thereby, it is possible to connect from the clock branch line to the clock connection pin in the shortest time.

クロック接続ピンの入力容量が大きい場合は、クロック接続ピンまでの配線遅延が大きくなったり、クロック駆動セルが駆動する負荷容量が非常に大きくなり、クロック信号の信号波形の傾きがなまってクロックスキューが大きくなる。しかし、上記のようにクロック接続ピンを複数に分割し、それぞれのクロック接続ピンをそれぞれ異なるクロック駆動セルにより駆動したり、また別々のクロック支線配線と接続されるようにしたりすることで、クロック接続ピンまでの配線遅延を小さくし、クロック駆動セルが駆動する負荷容量を小さくすることができる。   When the input capacitance of the clock connection pin is large, the wiring delay to the clock connection pin becomes large, the load capacitance driven by the clock driving cell becomes very large, the slope of the signal waveform of the clock signal is reduced, and the clock skew is increased. growing. However, by dividing the clock connection pin into multiple parts as described above, each clock connection pin is driven by a different clock driving cell, or connected to a separate clock branch line, thereby connecting the clocks. The wiring delay to the pin can be reduced, and the load capacity driven by the clock driving cell can be reduced.

また、図15に示すように、第2のクロック駆動セル23、及び第3のクロック駆動セル33の配置を、第1のクロック駆動セル13の水平方向の位置に合わせてもよい。図15の例では、機能ブロックは、第1の領域10、第2の領域20、第3の領域30に分割されている。また、ハードマクロ35は、第2の領域20と第3の領域30とに跨って配置されている。詳しくは、ハードマクロ35は、第2の領域20及び第3の領域30の中心部に重なっており、第2の領域20及び第3の領域30の中心近傍には、第2のクロック駆動セル23、及び第3のクロック駆動セル33を配置することができない。そのため、第2のクロック駆動セル23、及び第3のクロック駆動セル33をハードマクロ35と配置が重ならない位置に、水平方向に移動させて配置する。この場合、第2のクロック基幹配線21及び第3のクロック基幹配線31を、第2のクロック駆動セル23及び第3のクロック駆動セル33と同じ位置に移動することで、クロック駆動セルからクロック基幹配線までの配線遅延を小さくしクロックスキューの悪化を防ぐことができる。   Further, as shown in FIG. 15, the arrangement of the second clock driving cell 23 and the third clock driving cell 33 may be aligned with the horizontal position of the first clock driving cell 13. In the example of FIG. 15, the functional block is divided into a first area 10, a second area 20, and a third area 30. Further, the hard macro 35 is disposed across the second region 20 and the third region 30. Specifically, the hard macro 35 overlaps the central portions of the second region 20 and the third region 30, and the second clock driving cell is located near the center of the second region 20 and the third region 30. 23 and the third clock driving cell 33 cannot be arranged. Therefore, the second clock driving cell 23 and the third clock driving cell 33 are arranged by moving in the horizontal direction at a position where the arrangement does not overlap with the hard macro 35. In this case, the second clock backbone wiring 21 and the third clock backbone wiring 31 are moved to the same position as the second clock driving cell 23 and the third clock driving cell 33, so that the clock backbone from the clock driving cell. It is possible to reduce the wiring delay to the wiring and prevent the clock skew from deteriorating.

また、ハードマクロの左右をクロック基幹配線で挟みこむことで、ハードマクロに対するクロック供給を第2のクロック基幹配線21、第3のクロック基幹配線31の両方からできる。すなわち、これにより、配線遅延を小さくすることができる。   In addition, by sandwiching the left and right of the hard macro with the clock main wiring, the clock supply to the hard macro can be performed from both the second clock main wiring 21 and the third clock main wiring 31. That is, this can reduce the wiring delay.

なお、第1のクロック駆動セル13及び第2のクロック駆動セル23を、図15のように一列に配置しておき、クロックソースドライバ25から第1のクロック駆動セル13、第2のクロック駆動セル23のクロック接続ピンまでを各段にそれぞれの配線長を等長とした複数段のバッファツリーで構成することもできる。これにより、バッファツリーの各段の配線遅延を等しくし、クロックソースドライバ25からのクロックスキューを小さくすることができる。   The first clock driving cell 13 and the second clock driving cell 23 are arranged in a row as shown in FIG. 15, and the first clock driving cell 13 and the second clock driving cell from the clock source driver 25 are arranged. Up to 23 clock connection pins can also be configured by a multi-stage buffer tree in which each wiring length is equal to each other. Thereby, the wiring delay of each stage of the buffer tree can be made equal, and the clock skew from the clock source driver 25 can be reduced.

《発明の実施形態5》
本発明の実施形態5では、本発明のクロック分配回路を、大規模回路に応用した例について説明する。図16は、実施形態5に係る機能ブロック500を示す平面図である。
<< Embodiment 5 of the Invention >>
In the fifth embodiment of the present invention, an example in which the clock distribution circuit of the present invention is applied to a large-scale circuit will be described. FIG. 16 is a plan view showing a functional block 500 according to the fifth embodiment.

機能ブロック500は、図16に示すように、第1の領域10、第2の領域20、第3の領域30、及び第4の領域40の4つに分割されている。この例では、第3の領域30及び第4の領域40は、それぞれ、第1の領域10、第2の領域20の下部に配置されている。   As shown in FIG. 16, the functional block 500 is divided into four areas: a first area 10, a second area 20, a third area 30, and a fourth area 40. In this example, the third region 30 and the fourth region 40 are disposed below the first region 10 and the second region 20, respectively.

第4の領域40は、中心近傍の垂直方向に第4のクロック基幹配線41が配線され、第4のクロック基幹配線41からは、一群のクロック支線配線(第4のクロック支線配線群42)が水平方向に配線されている。第4のクロック基幹配線41の中心近傍には、第4の領域40の中心近傍に配置された第4のクロック駆動セル43の出力端子が接続されている。   In the fourth region 40, a fourth clock trunk line 41 is wired in the vertical direction near the center, and a group of clock branch lines (fourth clock branch line group 42) is connected from the fourth clock trunk line 41. Wired horizontally. In the vicinity of the center of the fourth clock trunk wiring 41, the output terminal of the fourth clock driving cell 43 arranged near the center of the fourth region 40 is connected.

また、第4の領域40内には、第4のクロック同期セル群44が配置されている。第4のクロック同期セル群44は、第4のクロック基幹配線41又は第4のクロック支線配線群42と電気的に接続されている。   A fourth clock synchronization cell group 44 is arranged in the fourth area 40. The fourth clock synchronization cell group 44 is electrically connected to the fourth clock main line 41 or the fourth clock branch line group 42.

第1のクロック駆動セル13、第2のクロック駆動セル23、第3のクロック駆動セル33、及び第4のクロック駆動セル43は、同じクロックソースドライバ25から出力されるクロック信号が中継バッファを経由して入力され、それぞれ同じクロック信号が分配される。ここで、クロックソースドライバ25から各中継バッファまで、中継バッファから各クロック駆動セルまでは、それぞれ等長配線で構成することで、各段の配線遅延を等しくすることができる。   In the first clock driving cell 13, the second clock driving cell 23, the third clock driving cell 33, and the fourth clock driving cell 43, the clock signal output from the same clock source driver 25 passes through the relay buffer. And the same clock signal is distributed. Here, from the clock source driver 25 to each relay buffer, and from the relay buffer to each clock driving cell are configured with equal length wirings, wiring delays at each stage can be made equal.

このように機能ブロック500では、垂直方向だけでなく水平方向にも領域を分けることで、クロック基幹配線の長さを短くして、クロック基幹配線の配線遅延を小さくすることができる。さらに、各領域内のクロック同期セル数を少なくすることで、各クロック駆動セルが駆動する負荷容量を小さくできる。すなわち、1つのクロック駆動セルで、領域内のクロック基幹配線、クロック支線配線群、クロック同期セルを駆動することが可能となる。   In this manner, in the functional block 500, by dividing the region not only in the vertical direction but also in the horizontal direction, the length of the clock trunk wiring can be shortened and the wiring delay of the clock trunk wiring can be reduced. Furthermore, by reducing the number of clock synchronization cells in each region, the load capacity driven by each clock driving cell can be reduced. That is, it becomes possible to drive the clock trunk wiring, the clock branch wiring group, and the clock synchronous cell in the region by one clock driving cell.

なお、機能ブロックは、機能ブロックのサイズに応じて垂直方向に3つ以上に分割することもできる。   The function block can be divided into three or more in the vertical direction according to the size of the function block.

また、クロックソースドライバ25から第1のクロック駆動セル13、第2のクロック駆動セル23のクロック接続ピンまでを各段にそれぞれの配線長を等長とした複数段のバッファツリーで構成するとともに、そのバッファツリーとは別に、クロックソースドライバ25から第3のクロック駆動セル33及び第4のクロック駆動セル43のそれぞれのクロック接続ピンまでを、各段にそれぞれの配線長が等長である複数段のバッファツリーをさらに構成してもよい。これにより、機能ブロックが第1方向に長い場合でも、領域を分割することで各クロック基幹配線を短くし、各クロック駆動セルが駆動するクロック同期セル数を少なくすることができる。   In addition, the clock source driver 25 to the clock connection pins of the first clock driving cell 13 and the second clock driving cell 23 are constituted by a multi-stage buffer tree in which each wiring length is equal to each stage, Separately from the buffer tree, a plurality of stages in which the wiring length is equal to each other from the clock source driver 25 to the respective clock connection pins of the third clock driving cell 33 and the fourth clock driving cell 43. The buffer tree may be further configured. As a result, even when the functional block is long in the first direction, each clock backbone wiring can be shortened by dividing the region, and the number of clock synchronization cells driven by each clock driving cell can be reduced.

ただし、クロックソースドライバ25から第1のクロック駆動セル13、第2のクロック駆動セル23までのバッファツリーと、クロックソースドライバ25から第3のクロック駆動セル33、第4のクロック駆動セル43までのバッファツリーは、共有であってもよい。共有により、バッファツリーに使用する中継バッファ及びクロック配線を一部共有することができ、消費電力を削減することができる。   However, a buffer tree from the clock source driver 25 to the first clock driving cell 13 and the second clock driving cell 23, and a buffer tree from the clock source driver 25 to the third clock driving cell 33 and the fourth clock driving cell 43, respectively. The buffer tree may be shared. By sharing, a part of the relay buffer and clock wiring used in the buffer tree can be shared, and the power consumption can be reduced.

図17に示す例では、機能ブロックは、垂直方向に第1の領域10、第2の領域20、第3の領域30、及び第4の領域40に分割されている。この例でも、それぞれの領域に対し、クロック基幹配線、クロック支線配線群、クロック駆動セルが配置されている。すなわち、機能ブロックのサイズに応じて最適な領域に分割すれば、領域内のクロックの負荷容量を、1個のクロック駆動セルで駆動できる負荷容量値以下にすることができる。   In the example shown in FIG. 17, the functional block is divided into a first area 10, a second area 20, a third area 30, and a fourth area 40 in the vertical direction. Also in this example, a clock trunk line, a clock branch line group, and a clock driving cell are arranged for each region. That is, if the area is divided into the optimum areas according to the size of the functional block, the load capacity of the clock in the area can be reduced to a load capacity value that can be driven by one clock driving cell.

なお、機能ブロックは、図18のように分割してもよい。   The functional block may be divided as shown in FIG.

図18に示す機能ブロックは、第1の領域10、第2の領域20、第3の領域30、及び第4の領域40の4つに分割されている。第3の領域30及び第4の領域40は、第1の領域10、第2の領域20の下部に配置されている。   The functional block shown in FIG. 18 is divided into four areas: a first area 10, a second area 20, a third area 30, and a fourth area 40. The third region 30 and the fourth region 40 are disposed below the first region 10 and the second region 20.

また、第1のクロック駆動セル13、第2のクロック駆動セル23、第3のクロック駆動セル33、第4のクロック駆動セル43は、同じクロックソースドライバ25から出力されるクロック信号を同じ中継バッファを経由して入力され、それぞれ同じクロック信号が分配されている。このようにクロック駆動セルを中継バッファに近い位置に配置することで、中継バッファを共有し、また配線長を短くすることができるようになる。すなわち、消費電力を削減することが可能となる。   In addition, the first clock driving cell 13, the second clock driving cell 23, the third clock driving cell 33, and the fourth clock driving cell 43 use the same relay buffer for the clock signal output from the same clock source driver 25. And the same clock signal is distributed to each other. By arranging the clock driving cell at a position close to the relay buffer in this way, the relay buffer can be shared and the wiring length can be shortened. That is, power consumption can be reduced.

《発明の実施形態6》
本発明の実施形態6では、本発明のクロック分配回路を、複数系統のクロックがある回路に応用した例について説明する。図19は、実施形態6に係る機能ブロック600を示す平面図である。
Embodiment 6 of the Invention
In the sixth embodiment of the present invention, an example in which the clock distribution circuit of the present invention is applied to a circuit having a plurality of clocks will be described. FIG. 19 is a plan view showing a functional block 600 according to the sixth embodiment.

図19に示すように、機能ブロック600は、第1の領域10、第2の領域20、第3の領域30、及び第4の領域40に分割されている。各領域には、クロック基幹配線、クロック支線配線群、クロック駆動セルが配置されている。第1のクロック同期セル群14、第2のクロック同期セル群24、第3のクロック同期セル群34、第4のクロック同期セル群44は、それぞれ第1、第2、第3、第4の領域に配置され、それぞれ第1のクロック駆動セル13、第2のクロック駆動セル23、第3のクロック駆動セル33、第4のクロック駆動セル43により駆動される。   As shown in FIG. 19, the functional block 600 is divided into a first area 10, a second area 20, a third area 30, and a fourth area 40. In each region, a clock trunk line, a clock branch line group, and a clock driving cell are arranged. The first clock synchronization cell group 14, the second clock synchronization cell group 24, the third clock synchronization cell group 34, and the fourth clock synchronization cell group 44 are the first, second, third, and fourth, respectively. They are arranged in the region and are driven by the first clock driving cell 13, the second clock driving cell 23, the third clock driving cell 33, and the fourth clock driving cell 43, respectively.

また、第1のクロック駆動セル13と第2のクロック駆動セル23は、クロックソースドライバ25によって駆動され、第3のクロック駆動セル33と第4のクロック駆動セル43は、クロックソースドライバ60によって駆動される。すなわち、クロックソースドライバ25とクロックソースドライバ60に、それぞれ別々のクロックを入力することで、機能ブロック内で複数系統のクロックを使用することが可能となる。   The first clock driving cell 13 and the second clock driving cell 23 are driven by the clock source driver 25, and the third clock driving cell 33 and the fourth clock driving cell 43 are driven by the clock source driver 60. Is done. That is, by inputting different clocks to the clock source driver 25 and the clock source driver 60, it is possible to use a plurality of clocks in the functional block.

すなわち、この例では、クロック系統毎に領域を分けてクロック同期セルを配置し、それぞれの領域にクロック基幹配線、クロック支線配線群、クロック駆動セルを配置する。   That is, in this example, the clock synchronization cells are arranged by dividing the area for each clock system, and the clock trunk line, the clock branch line group, and the clock driving cell are arranged in each area.

なお、異なるクロック系統同士で領域が重なっていてもよい。例えば、図20に示す例では、第2の領域20と第3の領域30が一部重なっている。この場合でも、第2のクロック支線配線群22、第3のクロック支線配線群32で、水平方向の配線位置をずらせばよい。これにより、複数系統のクロック同期セルが同じ領域に配置された場合でも、本発明の構成を用いてクロックをそれぞれ別々に供給することが可能となる。   Note that the areas may overlap in different clock systems. For example, in the example illustrated in FIG. 20, the second region 20 and the third region 30 partially overlap. Even in this case, the horizontal wiring positions may be shifted in the second clock branch line group 22 and the third clock branch line group 32. As a result, even when a plurality of clock synchronization cells are arranged in the same region, the clocks can be separately supplied using the configuration of the present invention.

《発明の実施形態7》
実施形態7では、上記のクロック分配回路を実現する自動化手法について説明する。図21は、実施形態7に係るクロックレイアウト自動化手法のフロー図である。この自動化手法は、領域分割工程S001、基幹配線配置工程S002、支線配線配置工程S003、駆動セル配置配線工程S004、クロック接続工程S005、及びバッファツリー作成工程S006を含んでいる。各工程での処理は、以下のとおりである。
<< Embodiment 7 of the Invention >>
In the seventh embodiment, an automated method for realizing the clock distribution circuit will be described. FIG. 21 is a flowchart of the clock layout automation method according to the seventh embodiment. This automated method includes an area dividing step S001, a basic wiring placement step S002, a branch wiring placement step S003, a drive cell placement and routing step S004, a clock connection step S005, and a buffer tree creation step S006. Processing in each process is as follows.

まず、領域分割工程S001では、機能ブロックを第1の方向(図2を参照)に複数に分割する。   First, in the area dividing step S001, the functional block is divided into a plurality of parts in the first direction (see FIG. 2).

基幹配線配置工程S002では、それぞれの領域に対し、第1の方向に沿って、膜厚が厚い上層の配線を用いて、領域の中心にクロック基幹配線を配置する。   In the main wiring arrangement step S002, the clock main wiring is arranged at the center of each region using the upper layer wiring having a large film thickness along the first direction for each region.

支線配線配置工程S003では、クロック基幹配線を中心として、第1の方向と直交する第2の方向に、複数のクロック支線配線を配置する。   In the branch wiring arrangement step S003, a plurality of clock branch wirings are arranged in a second direction orthogonal to the first direction with the clock backbone wiring as the center.

駆動セル配置配線工程S004では、領域の中心部に、クロック基幹配線及びクロック支線配線を駆動するクロック駆動セルを配置し、クロック駆動セルとクロック基幹配線を接続する配線を作成する。   In the driving cell arrangement / wiring step S004, a clock driving cell for driving the clock trunk wiring and the clock branch wiring is arranged at the center of the region, and a wiring for connecting the clock driving cell and the clock trunk wiring is created.

クロック接続工程S005では、領域内のクロック同期セルを同じ領域内の近接するクロック基幹配線、又はクロック支線配線と接続する配線を作成する。   In the clock connection step S005, a wiring for connecting the clock synchronization cell in the area to the adjacent clock trunk wiring or clock branch wiring in the same area is created.

バッファツリー作成工程S006では、クロックソースドライバからクロック駆動セルまでのバッファツリーを作成する。   In the buffer tree creation step S006, a buffer tree from the clock source driver to the clock driving cell is created.

すなわち、上記のクロックレイアウト自動化手法は、領域の分割方法及びバッファツリー構成を入力することで、指定された方法で領域を分割する。次に、それぞれの領域に対してクロック基幹配線、クロック支線配線群、クロック駆動セルを配置する。そして、領域内のクロック同期セルを領域内のクロック駆動セルに接続されるように接続を変更し、近接するクロック基幹配線またはクロック支線配線と接続する配線を作成する。その後、クロックドライバーからクロック同期セルまでを指定されたバッファツリー構成にてバッファツリーを構成する。   That is, the above-described clock layout automation method divides a region by a designated method by inputting a region dividing method and a buffer tree configuration. Next, a clock trunk line, a clock branch line group, and a clock driving cell are arranged for each region. Then, the connection is changed so that the clock synchronization cell in the region is connected to the clock driving cell in the region, and a wiring that connects to the adjacent clock trunk wiring or clock branch wiring is created. After that, the buffer tree is configured with the specified buffer tree configuration from the clock driver to the clock synchronous cell.

本発明に係るクロック分配回路は、消費電力及びクロックスキューを小さくでき、大規模な半導体集積回路においてもクロック駆動セルの負荷容量を小さくできるという効果を有し、半導体集積回路上にスタンダードセルを用いて構成された機能ブロックにおいてクロック信号を分配するクロック分配回路等として有用である。   The clock distribution circuit according to the present invention can reduce power consumption and clock skew, and can reduce the load capacity of a clock driving cell even in a large-scale semiconductor integrated circuit. A standard cell is used on the semiconductor integrated circuit. This is useful as a clock distribution circuit for distributing a clock signal in a functional block configured as described above.

実施形態1に係る機能ブロック100を示す平面図である。2 is a plan view showing a functional block 100 according to Embodiment 1. FIG. 第2の領域20内における第2のクロック同期セル群24の接続例を示す図である。FIG. 6 is a diagram showing a connection example of a second clock synchronization cell group 24 in the second region 20. 第2のクロック駆動セル23と第2のクロック基幹配線21の接続部分、及び第2のクロック支線配線群22と第2のクロック同期セル群24の接続部分を拡大した平面図である。4 is an enlarged plan view of a connection portion between a second clock driving cell 23 and a second clock trunk wiring 21 and a connection portion between a second clock branch wiring group 22 and a second clock synchronization cell group 24. FIG. 第2のクロック駆動セル23と第2のクロック基幹配線21の接続部分断面図である。FIG. 3 is a connection partial cross-sectional view of a second clock driving cell 23 and a second clock trunk wiring 21. 実施形態2に係る機能ブロック200を示す平面図である。6 is a plan view showing a functional block 200 according to Embodiment 2. FIG. 第1のクロック駆動セル13と第2のクロック駆動セル23の駆動能力が異なる機能ブロックの例を示す図である。It is a figure which shows the example of the functional block from which the drive capability of the 1st clock drive cell 13 and the 2nd clock drive cell 23 differs. クロック支線配線の配線例を示す図である。It is a figure which shows the example of a wiring of a clock branch line wiring. クロック支線配線の配線例を示す図である。It is a figure which shows the example of a wiring of a clock branch line wiring. クロック支線配線の配線方法を説明する図である。It is a figure explaining the wiring method of clock branch line wiring. 実施形態3に係る機能ブロック300を示す平面図である。It is a top view which shows the functional block 300 which concerns on Embodiment 3. FIG. 機能ブロック300の分割の一例を示す図である。3 is a diagram illustrating an example of division of a functional block 300. FIG. 機能ブロックの形状が非矩形の場合に、本発明に係るクロック分配回路を適用した例である。This is an example in which the clock distribution circuit according to the present invention is applied when the shape of the functional block is non-rectangular. 機能ブロックの形状が非矩形の場合に、本発明に係るクロック分配回路を適用した例である。This is an example in which the clock distribution circuit according to the present invention is applied when the shape of the functional block is non-rectangular. 実施形態4に係る機能ブロック400を示す平面図である。FIG. 10 is a plan view showing a functional block 400 according to Embodiment 4. 第2のクロック駆動セル23及び第3のクロック駆動セル33の配置例を示す図である。FIG. 6 is a diagram illustrating an arrangement example of a second clock driving cell and a third clock driving cell 33. 実施形態5に係る機能ブロック500を示す平面図である。FIG. 10 is a plan view showing a functional block 500 according to a fifth embodiment. 機能ブロック500の分割の一例を示す図である。It is a figure which shows an example of the division | segmentation of the functional block 500. FIG. 機能ブロック500の分割の一例を示す図である。It is a figure which shows an example of the division | segmentation of the functional block 500. FIG. 実施形態6に係る機能ブロック600を示す平面図である。10 is a plan view showing a functional block 600 according to Embodiment 6. FIG. 異なるクロック系統同士で領域が重なっている機能ブロックの例を示す図である。It is a figure which shows the example of the functional block with which the area | region has overlapped between different clock systems. 実施形態7に係るクロックレイアウト自動化手法のフロー図である。FIG. 10 is a flowchart of a clock layout automation method according to the seventh embodiment.

符号の説明Explanation of symbols

10 第1の領域
11 第1のクロック基幹配線
12 第1のクロック支線配線群
13 第1のクロック駆動セル
14 第1のクロック同期セル群
20 第2の領域
21 第2のクロック基幹配線
22 第2のクロック支線配線群
23 第2のクロック駆動セル
24 第2のクロック同期セル群
25 クロックソースドライバ
30 第3の領域
31 第3のクロック基幹配線
32 第3のクロック支線配線群
33 第3のクロック駆動セル
34 第3のクロック同期セル群
35 ハードマクロ
35a クロック接続ピン
40 第4の領域
41 第4のクロック基幹配線
42 第4のクロック支線配線群
43 第4のクロック駆動セル
44 第4のクロック同期セル群
60 クロックソースドライバ
100 機能ブロック
200 機能ブロック
300 機能ブロック
400 機能ブロック
500 機能ブロック
600 機能ブロック
10 First region
11 First clock trunk wiring
12 First clock branch wiring group
13 First clock drive cell
14 First clock synchronization cell group
20 Second area
21 Second clock trunk wiring
22 Second clock branch wiring group
23 Second clock drive cell
24 Second clock synchronization cell group
25 Clock source driver
30 third region
31 Third clock trunk wiring
32 Third clock branch wiring group
33 Third clock-driven cell
34 Third clock synchronous cell group
35 Hard Macro
35a Clock connection pin
40 Fourth area
41 Fourth clock trunk wiring
42 Fourth clock branch wiring group
43 Fourth clock drive cell
44 Fourth clock synchronization cell group
60 clock source driver 100 functional block 200 functional block 300 functional block 400 functional block 500 functional block 600 functional block

Claims (19)

スタンダードセルを用いて構成された機能ブロックにおいてクロック信号を分配するクロック分配回路を用いた半導体集積回路であって、
第1の方向に配線された第1のクロック基幹配線と、
前記第1の方向と直交する第2の方向に配線され、前記第1のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第1のクロック支線配線群と、
前記第1のクロック基幹配線に電気的に接続された第1のクロック駆動セルと、
前記第1のクロック基幹配線又は前記第1のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第1のクロック同期セル群と、
前記第1のクロック基幹配線と並行に配置された第2のクロック基幹配線と、
前記第2の方向に配線され、前記第2のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第2のクロック支線配線群と、
前記第2のクロック基幹配線に電気的に接続された第2のクロック駆動セルと、
前記第2のクロック基幹配線又は前記第2のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第2のクロック同期セル群と、
前記第1のクロック駆動セル及び第2のクロック駆動セルにクロック信号を与えるクロックソースドライバとを備え、
前記第1のクロック支線配線群と前記第2のクロック支線配線群とは、電気的に分離されており、
前記第1のクロック駆動セルのみで、前記第1のクロック基幹配線及び前記第1のクロック支線配線群を駆動し、
前記第2のクロック駆動セルのみで、前記第2のクロック基幹配線及び前記第2のクロック支線配線群を駆動することを特徴とするクロック分配回路を用いた半導体集積回路。
A semiconductor integrated circuit using a clock distribution circuit that distributes a clock signal in a functional block configured using standard cells,
A first clock trunk wiring wired in a first direction;
A first clock branch wiring group comprising a plurality of clock branch wirings wired in a second direction orthogonal to the first direction and electrically connected to the first clock backbone wiring;
A first clock driving cell electrically connected to the first clock backbone wiring;
A first clock synchronization cell group comprising a plurality of clock synchronization cells electrically connected to the first clock backbone wiring or the first clock branch wiring group;
A second clock trunk wiring arranged in parallel with the first clock trunk wiring;
A second clock branch line group consisting of a plurality of clock branch lines wired in the second direction and electrically connected to the second clock backbone line;
A second clock driving cell electrically connected to the second clock backbone wiring;
A second clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the second clock backbone wiring or the second clock branch wiring group;
A clock source driver for supplying a clock signal to the first clock driving cell and the second clock driving cell;
The first clock branch line group and the second clock branch line group are electrically separated,
Driving the first clock trunk wiring and the first clock branch wiring group only by the first clock driving cell;
A semiconductor integrated circuit using a clock distribution circuit, wherein only the second clock driving cell drives the second clock trunk wiring and the second clock branch wiring group.
請求項1のクロック分配回路を用いた半導体集積回路であって、
前記半導体集積回路は、上層の膜圧が厚く、下層の膜圧が薄い複数の配線層で構成されており、
前記第1のクロック基幹配線及び第2のクロック基幹配線は、膜厚の厚い上層の配線を用いて形成され、
前記第1のクロック同期セル群の各クロック同期セルは、それぞれの配置位置から前記第1の方向に対して順方向又は逆方向に最短の位置にある第1のクロック支線配線群又は第1のクロック基幹配線に、膜厚の薄い下層配線を用いて接続され、
前記第2のクロック同期セル群の各クロック同期セルは、それぞれの配置位置から前記第1の方向に対して順方向または逆方向に最短の位置にある第2のクロック支線配線群又は第2のクロック基幹配線に、膜厚の薄い下層配線を用いて接続されていることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
The semiconductor integrated circuit is composed of a plurality of wiring layers with a thick upper layer film pressure and a lower layer film pressure,
The first clock backbone wiring and the second clock backbone wiring are formed using a thick upper layer wiring,
Each clock synchronization cell of the first clock synchronization cell group includes a first clock branch line group or a first clock line located at the shortest position in the forward or reverse direction with respect to the first direction from the respective arrangement position. Connected to the clock trunk wiring using a thin lower layer wiring,
Each of the clock synchronization cells of the second clock synchronization cell group is a second clock branch line group or a second clock line located at the shortest position in the forward direction or the reverse direction with respect to the first direction from the respective arrangement position. A semiconductor integrated circuit characterized in that it is connected to a clock trunk wiring using a lower-layer wiring having a small film thickness.
請求項1のクロック分配回路を用いた半導体集積回路であって、
第1方向の範囲が前記第1のクロック基幹配線で決定され、第2方向の範囲が前記第1のクロック支線配線群で決定された第1の領域と、第1方向の範囲が前記第2のクロック基幹配線で決定され、第2方向の範囲が前記第2のクロック支線配線群で決定された第2の領域とは、互いに排他的であり、
前記第1のクロック同期セル群は、前記第1の領域内に配置され、
前記第2のクロック同期セル群は、前記第2の領域内に配置され、
前記第1のクロック基幹配線は、前記第1の領域の中心に配置され、
前記第2のクロック基幹配線は、前記第2の領域の中心に配置されていることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
The first direction range is determined by the first clock trunk wiring, the second direction range is determined by the first clock branch line group, and the first direction range is the second clock range. And the second region in which the range in the second direction is determined by the second clock branch line group is determined by the clock trunk wiring of
The first clock synchronization cell group is disposed in the first region,
The second clock synchronization cell group is disposed in the second region,
The first clock trunk wiring is disposed at the center of the first region;
2. The semiconductor integrated circuit according to claim 1, wherein the second clock trunk wiring is arranged at the center of the second region.
請求項1のクロック分配回路を用いた半導体集積回路であって、
前記第1のクロック駆動セルと第1のクロック基幹配線とを接続する配線経路及び第2のクロック駆動セルと第2のクロック基幹配線とを接続する配線経路は、幅広配線及び複数のコンタクトで構成されていることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
The wiring path connecting the first clock driving cell and the first clock trunk wiring and the wiring path connecting the second clock driving cell and the second clock trunk wiring are constituted by a wide wiring and a plurality of contacts. A semiconductor integrated circuit.
請求項1のクロック分配回路を用いた半導体集積回路であって、
前記第1のクロック支線配線群の各クロック支線配線は、前記第1の方向に等間隔で、かつ前記第1のクロック基幹配線を中心として左右対称に配置されており、
前記第2のクロック支線配線群の各クロック支線配線は、前記第1の方向に等間隔で、かつ前記第2のクロック基幹配線を中心として左右対称に配置されていることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
The clock branch lines of the first clock branch line group are arranged at equal intervals in the first direction and symmetrically about the first clock trunk line.
Each of the clock branch lines of the second clock branch line group is arranged at equal intervals in the first direction and symmetrically about the second clock main line. circuit.
請求項1のクロック分配回路を用いた半導体集積回路であって、
前記第1のクロック支線配線群のクロック支線配線数と前記第2のクロック支線配線群のクロック支線配線数とは、異なることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
The number of clock branch lines in the first clock branch line group is different from the number of clock branch lines in the second clock branch line group.
請求項1のクロック分配回路を用いた半導体集積回路であって、
前記第1のクロック駆動セルは、前記第1のクロック基幹配線の中心に配置され、
前記第2のクロック駆動セルは、前記第2のクロック基幹配線の中心に配置され、
前記第1のクロック駆動セルと第2のクロック駆動セルとは、駆動能力が互いに異なることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
The first clock driving cell is disposed at the center of the first clock trunk wiring,
The second clock driving cell is disposed at the center of the second clock backbone wiring,
The semiconductor integrated circuit according to claim 1, wherein the first clock driving cell and the second clock driving cell have different driving capabilities.
請求項1のクロック分配回路を用いた半導体集積回路であって、
前記第1のクロック支線配線群の各クロック支線配線は、第1のクロック基幹配線に対して左右非対称であり、
第1のクロック支線配線群は、配線長が互いに異なるクロック支線配線を含んでいることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
Each clock branch line of the first clock branch line group is asymmetric with respect to the first clock trunk line,
A semiconductor integrated circuit, wherein the first clock branch line group includes clock branch lines having different wiring lengths.
請求項1のクロック分配回路を用いた半導体集積回路であって、
前記第1のクロック支線配線群の各クロック支線配線は、第1のクロック基幹配線に対して左右非対称であり、
第1のクロック支線配線群は、配線長及び配線幅が互いに異なるクロック支線配線を含んでいることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
Each clock branch line of the first clock branch line group is asymmetric with respect to the first clock trunk line,
A semiconductor integrated circuit, wherein the first clock branch line group includes clock branch lines having different wiring lengths and wiring widths.
請求項1のクロック分配回路を用いた半導体集積回路であって、さらに、
前記第1の方向に配線された第3のクロック基幹配線と、
前記第2の方向に配線され、前記第3のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第3のクロック支線配線群と、
前記第3のクロック基幹配線に電気的に接続されて、前記第3のクロック基幹配線及び第3のクロック支線配線群のみを駆動する第3のクロック駆動セルと、
前記第3のクロック基幹配線又は前記第3のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第3のクロック同期セル群と、
を備え、
前記第1のクロック基幹配線、第2のクロック基幹配線、及び第3のクロック基幹配線は、前記第2の方向に、この順番に並んで配置され、
前記第1のクロック基幹配線と第2のクロック基幹配線との配線間隔と、前記第2のクロック基幹配線と第3のクロック基幹配線との配線間隔とは、互いに異なり、
前記第1のクロック支線配線群、第2のクロック支線配線群、及び第3のクロック支線配線群は、クロック支線配線の配線長が互いに異なることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1, further comprising:
A third clock trunk wiring wired in the first direction;
A third clock branch line group consisting of a plurality of clock branch lines wired in the second direction and electrically connected to the third clock backbone line;
A third clock driving cell electrically connected to the third clock trunk wiring and driving only the third clock trunk wiring and the third clock branch wiring group;
A third clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the third clock backbone wiring or the third clock branch wiring group;
With
The first clock backbone wiring, the second clock backbone wiring, and the third clock backbone wiring are arranged in this order in the second direction,
The wiring interval between the first clock backbone wiring and the second clock backbone wiring and the wiring spacing between the second clock backbone wiring and the third clock backbone wiring are different from each other,
The semiconductor integrated circuit, wherein the first clock branch line group, the second clock branch line group, and the third clock branch line group have different clock branch line lengths.
請求項1のクロック分配回路を用いた半導体集積回路であって、
第1のクロック基幹配線と第2のクロック基幹配線とは、互いに配線長が異なることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
A semiconductor integrated circuit, wherein the first clock trunk wiring and the second clock trunk wiring have different wiring lengths.
請求項1のクロック分配回路を用いた半導体集積回路であって、さらに、
前記第2のクロック基幹配線の、第1の方向の順方向側又は逆方向側において、前記第1の方向に配線された第3のクロック基幹配線と、
前記第2の方向に配線され、前記第3のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第3のクロック支線配線群と、
前記第3のクロック基幹配線に電気的に接続されて、前記第3のクロック基幹配線及び第3のクロック支線配線群のみを駆動する第3のクロック駆動セルと、
前記第3のクロック基幹配線又は前記第3のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第3のクロック同期セル群と、
を備え、
前記第1のクロック基幹配線の配線長は、前記第2のクロック基幹配線の配線長と前記第3のクロック基幹配線の配線長の合計値よりも長いことを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1, further comprising:
A third clock backbone wiring routed in the first direction on the forward or reverse side of the first direction of the second clock backbone wiring;
A third clock branch line group consisting of a plurality of clock branch lines wired in the second direction and electrically connected to the third clock backbone line;
A third clock driving cell electrically connected to the third clock trunk wiring and driving only the third clock trunk wiring and the third clock branch wiring group;
A third clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the third clock backbone wiring or the third clock branch wiring group;
With
The semiconductor integrated circuit according to claim 1, wherein a wiring length of the first clock backbone wiring is longer than a total value of a wiring length of the second clock backbone wiring and a wiring length of the third clock backbone wiring.
請求項1のクロック分配回路を用いた半導体集積回路であって、
前記第1のクロック基幹配線又は前記第2のクロック基幹配線の中心部に、ハードマクロをさらに備え、
前記第1のクロック駆動セル及び第2のクロック駆動セルは、前記ハードマクロと配置が重ならない領域に、前記第1方向に離れて配置されていることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
A hard macro is further provided in a central portion of the first clock trunk wiring or the second clock trunk wiring,
The semiconductor integrated circuit according to claim 1, wherein the first clock driving cell and the second clock driving cell are arranged apart from each other in the first direction in a region where the hard macro and the arrangement do not overlap.
請求項1のクロック分配回路を用いた半導体集積回路であって、
クロック信号が供給されるクロック接続ピンを複数有するハードマクロをさらに備え、
前記半導体集積回路は、上層の膜圧が厚く、下層の膜圧が薄い複数の配線層で構成されており、
各クロック接続ピンは、前記第1のクロック支線配線群のクロック支線配線、第2のクロック支線配線群のクロック支線配線、前記第1のクロック基幹配線、及び前記第2のクロック基幹配線のうちの、前記第1の方向に対して順方向または逆方向に最短の位置にある配線に、膜厚の薄い下層配線を用いて接続されていることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
A hard macro having a plurality of clock connection pins to which a clock signal is supplied;
The semiconductor integrated circuit is composed of a plurality of wiring layers with a thick upper layer film pressure and a lower layer film pressure,
Each clock connection pin includes a clock branch line of the first clock branch line group, a clock branch line of the second clock branch line group, the first clock trunk line, and the second clock trunk line. A semiconductor integrated circuit characterized in that it is connected to a wiring located in the shortest position in the forward direction or the reverse direction with respect to the first direction by using a lower layer wiring having a small film thickness.
請求項1のクロック分配回路を用いた半導体集積回路であって、
前記第1のクロック駆動セル及び第2のクロック駆動セルは、クロック信号を供給するクロック接続ピンをそれぞれ有しており、
前記クロック接続ピンは、一列に配置され、
前記クロックソースドライバから前記第1のクロック駆動セル及び第2のクロック駆動セルのそれぞれのクロック接続ピンまでを、各段にそれぞれの配線長が等長である複数段のバッファツリーで構成したことを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1,
The first clock driving cell and the second clock driving cell each have a clock connection pin for supplying a clock signal;
The clock connection pins are arranged in a row,
From the clock source driver to the clock connection pins of the first clock driving cell and the second clock driving cell, each stage has a plurality of buffer trees each having the same wiring length. A semiconductor integrated circuit.
請求項15のクロック分配回路を用いた半導体集積回路であって、さらに、
前記第1のクロック基幹配線の、第1の方向の順方向側又は逆方向側において、前記第1の方向に配線された第3のクロック基幹配線と、
前記第2の方向に配線され、前記第3のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第3のクロック支線配線群と、
前記第3のクロック基幹配線に電気的に接続されて、前記第3のクロック基幹配線及び第3のクロック支線配線群のみを駆動する第3のクロック駆動セルと、
前記第3のクロック基幹配線又は前記第3のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第3のクロック同期セル群と、
前記第2のクロック基幹配線の、第1の方向の順方向側又は逆方向側において、前記第1の方向に配線された第4のクロック基幹配線と、
前記第2の方向に配線され、前記第4のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第4のクロック支線配線群と、
前記第4のクロック基幹配線に電気的に接続されて、前記第4のクロック基幹配線及び第4のクロック同期セル群のみを駆動する第4のクロック駆動セルと、
前記第4のクロック基幹配線又は前記第4のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第4のクロック同期セル群と、
を備え、
前記第3のクロック駆動セル及び第4のクロック駆動セルは、クロック信号を供給するクロック接続ピンをそれぞれ有しており、
前記バッファツリーとは別に、前記クロックソースドライバから前記第3のクロック駆動セル及び第4のクロック駆動セルのそれぞれのクロック接続ピンまでを、各段にそれぞれの配線長が等長である複数段のバッファツリーで構成したことを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 15, further comprising:
A third clock backbone wiring routed in the first direction on the forward or reverse side of the first direction of the first clock backbone wiring;
A third clock branch line group consisting of a plurality of clock branch lines wired in the second direction and electrically connected to the third clock backbone line;
A third clock driving cell electrically connected to the third clock trunk wiring and driving only the third clock trunk wiring and the third clock branch wiring group;
A third clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the third clock backbone wiring or the third clock branch wiring group;
A fourth clock trunk wiring routed in the first direction on the forward or reverse side of the first direction of the second clock trunk wiring;
A fourth clock branch wiring group composed of a plurality of clock branch wirings wired in the second direction and electrically connected to the fourth clock backbone wiring;
A fourth clock driving cell electrically connected to the fourth clock trunk wiring and driving only the fourth clock trunk wiring and the fourth clock synchronization cell group;
A fourth clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the fourth clock backbone wiring or the fourth clock branch wiring group;
With
The third clock driving cell and the fourth clock driving cell each have a clock connection pin for supplying a clock signal,
Separately from the buffer tree, a plurality of stages in which each wiring length is equal to each stage from the clock source driver to the clock connection pins of the third clock driving cell and the fourth clock driving cell. A semiconductor integrated circuit comprising a buffer tree.
請求項15のクロック分配回路を用いた半導体集積回路であって、さらに、
前記第1のクロック基幹配線の、第1の方向の順方向側又は逆方向側において、前記第1の方向に配線された第3のクロック基幹配線と、
前記第2の方向に配線され、前記第3のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第3のクロック支線配線群と、
前記第3のクロック基幹配線に電気的に接続されて、前記第3のクロック基幹配線及び第3のクロック支線配線群のみを駆動する第3のクロック駆動セルと、
前記第3のクロック基幹配線又は前記第3のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第3のクロック同期セル群と、
前記第2のクロック基幹配線の、第1の方向の順方向側又は逆方向側において、前記第1の方向に配線された第4のクロック基幹配線と、
前記第2の方向に配線され、前記第4のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第4のクロック支線配線群と、
前記第4のクロック基幹配線に電気的に接続されて、前記第4のクロック基幹配線及び第4のクロック同期セル群のみを駆動する第4のクロック駆動セルと、
前記第4のクロック基幹配線又は前記第4のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第4のクロック同期セル群と、
を備え、
前記第3のクロック駆動セル及び第4のクロック駆動セルは、クロック信号を供給するクロック接続ピンをそれぞれ有しており、
前記クロックソースドライバから前記第3のクロック駆動セル及び第4のクロック駆動セルのそれぞれのクロック接続ピンまでを、前記バッファツリーを共有して構成したことを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 15, further comprising:
A third clock backbone wiring routed in the first direction on the forward or reverse side of the first direction of the first clock backbone wiring;
A third clock branch line group consisting of a plurality of clock branch lines wired in the second direction and electrically connected to the third clock backbone line;
A third clock driving cell electrically connected to the third clock trunk wiring and driving only the third clock trunk wiring and the third clock branch wiring group;
A third clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the third clock backbone wiring or the third clock branch wiring group;
A fourth clock trunk wiring routed in the first direction on the forward or reverse side of the first direction of the second clock trunk wiring;
A fourth clock branch wiring group composed of a plurality of clock branch wirings wired in the second direction and electrically connected to the fourth clock backbone wiring;
A fourth clock driving cell electrically connected to the fourth clock trunk wiring and driving only the fourth clock trunk wiring and the fourth clock synchronization cell group;
A fourth clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the fourth clock backbone wiring or the fourth clock branch wiring group;
With
The third clock driving cell and the fourth clock driving cell each have a clock connection pin for supplying a clock signal,
The semiconductor integrated circuit, wherein the buffer tree is shared from the clock source driver to the clock connection pins of the third clock driving cell and the fourth clock driving cell.
請求項1のクロック分配回路を用いた半導体集積回路であって、さらに、
前記第1の方向に配線された第3のクロック基幹配線と、
前記第2の方向に配線され、前記第3のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第3のクロック支線配線群と、
前記第3のクロック基幹配線に電気的に接続されて、前記第3のクロック基幹配線及び第3のクロック支線配線群のみを駆動する第3のクロック駆動セルと、
前記第3のクロック基幹配線又は前記第3のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第3のクロック同期セル群と、
前記第1の方向に配線された第4のクロック基幹配線と、
前記第2の方向に配線され、前記第4のクロック基幹配線と電気的に接続された複数のクロック支線配線からなる第4のクロック支線配線群と、
前記第4のクロック基幹配線に電気的に接続されて、前記第4のクロック基幹配線及び第4のクロック同期セル群のみを駆動する第4のクロック駆動セルと、
前記第4のクロック基幹配線又は前記第4のクロック支線配線群と電気的に接続された複数のクロック同期セルからなる第4のクロック同期セル群と、
前記第3のクロック駆動セル及び第4のクロック駆動セルにクロック信号を与える、前記クロックソースドライバとは別のクロックソースドライバと、
を備え、
前記第1のクロック基幹配線、第2のクロック基幹配線、第3のクロック基幹配線、及び第4のクロック基幹配線は、前記第2の方向に、この順番に並んで配置され、
前記第1のクロック駆動セル及び第2のクロック駆動セルにクロック信号を与えるクロックソースドライバと、前記第3のクロック駆動セル及び第4のクロック駆動セルにクロック信号を与えるクロックソースドライバとは、それぞれ別のクロック信号が入力されることを特徴とする半導体集積回路。
A semiconductor integrated circuit using the clock distribution circuit according to claim 1, further comprising:
A third clock trunk wiring wired in the first direction;
A third clock branch line group consisting of a plurality of clock branch lines wired in the second direction and electrically connected to the third clock backbone line;
A third clock driving cell electrically connected to the third clock trunk wiring and driving only the third clock trunk wiring and the third clock branch wiring group;
A third clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the third clock backbone wiring or the third clock branch wiring group;
A fourth clock trunk wiring wired in the first direction;
A fourth clock branch wiring group composed of a plurality of clock branch wirings wired in the second direction and electrically connected to the fourth clock backbone wiring;
A fourth clock driving cell electrically connected to the fourth clock trunk wiring and driving only the fourth clock trunk wiring and the fourth clock synchronization cell group;
A fourth clock synchronization cell group consisting of a plurality of clock synchronization cells electrically connected to the fourth clock backbone wiring or the fourth clock branch wiring group;
A clock source driver different from the clock source driver for supplying a clock signal to the third clock driving cell and the fourth clock driving cell;
With
The first clock trunk wiring, the second clock trunk wiring, the third clock trunk wiring, and the fourth clock trunk wiring are arranged in this order in the second direction,
A clock source driver that supplies a clock signal to the first clock driving cell and the second clock driving cell, and a clock source driver that supplies a clock signal to the third clock driving cell and the fourth clock driving cell, respectively A semiconductor integrated circuit, wherein another clock signal is input.
クロック信号を分配するクロック分配回路を用いた半導体集積回路のレイアウト方法であって、
前記クロック分配回路が設けられる機能ブロックを第1の方向に、複数の領域に分割する領域分割工程と、
それぞれの領域に対し、第1の方向に沿って、膜厚が厚い上層の配線を用いて、前記領域の中心にクロック基幹配線を配置する基幹配線配置工程と、
クロック基幹配線を中心として、第1の方向と直交する第2の方向に、複数のクロック支線配線を配置する支線配線配置工程と、
前記領域の中心部に、クロック基幹配線及びクロック支線配線を駆動するクロック駆動セルを配置し、クロック駆動セルとクロック基幹配線を接続する配線を作成する駆動セル配置配線工程と、
前記領域内のクロック同期セルを同じ領域内の近接するクロック基幹配線、又はクロック支線配線と接続する配線を作成するクロック接続工程と、
クロックソースドライバからクロック駆動セルまでのバッファツリーを作成するバッファツリー作成工程と、
を有することを特徴とする半導体集積回路のレイアウト方法。
A semiconductor integrated circuit layout method using a clock distribution circuit for distributing a clock signal,
An area dividing step of dividing the functional block provided with the clock distribution circuit into a plurality of areas in a first direction;
For each region, a main wiring arrangement step of arranging a clock main wiring in the center of the region using a thick upper layer wiring along the first direction;
A branch wiring arrangement step of arranging a plurality of clock branch wirings in a second direction orthogonal to the first direction around the clock trunk wiring;
A driving cell arrangement wiring step of arranging a clock driving cell for driving the clock trunk wiring and the clock branch wiring in the center of the region, and creating a wiring for connecting the clock driving cell and the clock trunk wiring;
A clock connection step of creating a wiring for connecting a clock synchronization cell in the region to an adjacent clock backbone wiring in the same region, or a clock branch wiring; and
A buffer tree creation process for creating a buffer tree from a clock source driver to a clock driving cell;
A method for laying out a semiconductor integrated circuit, comprising:
JP2008054573A 2007-04-16 2008-03-05 Semiconductor integrated circuit and method of laying out the same Withdrawn JP2008288559A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008054573A JP2008288559A (en) 2007-04-16 2008-03-05 Semiconductor integrated circuit and method of laying out the same
US12/102,347 US20080256380A1 (en) 2007-04-16 2008-04-14 Semiconductor integrated circuit and layout method for the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007106929 2007-04-16
JP2008054573A JP2008288559A (en) 2007-04-16 2008-03-05 Semiconductor integrated circuit and method of laying out the same

Publications (1)

Publication Number Publication Date
JP2008288559A true JP2008288559A (en) 2008-11-27

Family

ID=40034895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008054573A Withdrawn JP2008288559A (en) 2007-04-16 2008-03-05 Semiconductor integrated circuit and method of laying out the same

Country Status (2)

Country Link
JP (1) JP2008288559A (en)
CN (1) CN101290639A (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10157254B2 (en) * 2015-12-29 2018-12-18 Taiwan Semiconductor Manufacturing Co., Ltd. Techniques based on electromigration characteristics of cell interconnect
CN105786087B (en) * 2016-02-23 2018-08-03 无锡中微亿芯有限公司 A method of being used for the reduction clock skew of programming device
US10939541B2 (en) * 2017-03-31 2021-03-02 Huawei Technologies Co., Ltd. Shield structure for a low crosstalk single ended clock distribution circuit
CN110888038B (en) * 2018-09-11 2021-12-14 中芯国际集成电路制造(上海)有限公司 Standard unit test circuit layout, optimization method thereof and standard unit test structure
CN110795908B (en) * 2019-10-30 2022-12-13 福州大学 Bus sensing overall wiring method driven by deviation
CN114117974A (en) * 2020-08-31 2022-03-01 深圳市中兴微电子技术有限公司 Chip clock driving unit external member and design method and chip
CN112183002B (en) * 2020-12-02 2021-03-16 上海国微思尔芯技术股份有限公司 Software segmentation method based on FPGA logic

Also Published As

Publication number Publication date
CN101290639A (en) 2008-10-22

Similar Documents

Publication Publication Date Title
CN101587508B (en) Method, system and computer program product for determining routing of data paths in interconnect circuitry
JP2008288559A (en) Semiconductor integrated circuit and method of laying out the same
US7795943B2 (en) Integrated circuit device and layout design method therefor
US9360884B2 (en) Clocking for pipelined routing
JPH10335612A (en) High density gate array cell structure and its manufacture
JPH03177913A (en) Clock supply circuit and clock wiring system
JP2001127161A (en) Integrated circuit
JP5256800B2 (en) Semiconductor integrated circuit
US7612599B2 (en) Semiconductor device
US20080256380A1 (en) Semiconductor integrated circuit and layout method for the same
JP4800668B2 (en) Semiconductor integrated circuit
JPH09293844A (en) High density gate array cell structure and manufacture thereof
JP4776124B2 (en) Semiconductor integrated circuit device, wiring generation method, and wiring generation device
JP2005184262A (en) Semiconductor integrated circuit and its fabricating process
US6400182B2 (en) Semiconductor integrated circuit device and method of laying out clock driver used in the semiconductor integrated circuit device
JP2009288890A (en) Semiconductor integrated circuit, and layout method for semiconductor integrated circuit
US8217430B2 (en) Power line layout techniques for integrated circuits having modular cells
JP2010287768A (en) Semiconductor device and method of manufacturing the same
JP2001230324A (en) Library for delay adjustment and method of delay adjustment using the same
JP2005268278A (en) Semiconductor device
JP2008205399A (en) Designing method of semiconductor integrated circuit
JP2007207998A (en) Integrated circuit device, and layout method for integrated circuit device
US20060059448A1 (en) Method for production of a standard cell arrangement, and apparatus for carrying out the method
JP2002203906A (en) Delay time adjusting circuit and wiring method using it
JP2012063886A (en) Automatic layout wiring method of semiconductor integrated circuit, layout device, automatic layout wiring program, and semiconductor integrated circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100915

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110610