JPH113945A - Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same - Google Patents

Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same

Info

Publication number
JPH113945A
JPH113945A JP9155092A JP15509297A JPH113945A JP H113945 A JPH113945 A JP H113945A JP 9155092 A JP9155092 A JP 9155092A JP 15509297 A JP15509297 A JP 15509297A JP H113945 A JPH113945 A JP H113945A
Authority
JP
Japan
Prior art keywords
clock
semiconductor integrated
integrated circuit
tree
clock buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9155092A
Other languages
Japanese (ja)
Inventor
Shinji Kashiwagi
伸次 柏木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP9155092A priority Critical patent/JPH113945A/en
Publication of JPH113945A publication Critical patent/JPH113945A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a clock tree design method which can reduce skews between clock signals of different systems in a semiconductor integrated circuit which operates in synchronism with a plurality of clock signals of different systems and a semiconductor integrated circuit by it. SOLUTION: A clock tree of two systems includes a clock buffer cell 401, having two output terminals corresponding to two input terminals wherein clock signals CK1, CK2 of two systems are input respectively and clock buffer cells 402 to 405 which amplify a clock signal from an output terminal of the clock buffer cell 401 and supply it to functional cells 406 to 433. Since two clock signal wirings from a clock pad 41 to the clock buffer cell 401 and the clock buffer cells 402 to 405 are arranged in parallel in the device, they are of equal wiring length so that skew is reduced.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、半導体集積回路の
設計方法及びそれによる半導体集積回路に関し、特に、
複数のクロック信号に同期して動作する半導体集積回路
において用いられるクロックツリーの設計方法及びそれ
による半導体集積回路に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for designing a semiconductor integrated circuit and a semiconductor integrated circuit using the method.
The present invention relates to a method for designing a clock tree used in a semiconductor integrated circuit that operates in synchronization with a plurality of clock signals, and a semiconductor integrated circuit based on the method.

【0002】[0002]

【従来の技術】近年、大規模な半導体集積回路のレイア
ウト設計方法として、設計開発期間を短期化するため、
フリップフロップなどの一定の機能を有する「ファンク
ショナルセル」を自動配置、自動配線させるCAD(C
omputer AidedDesign)の手法が広
く用いられている。
2. Description of the Related Art In recent years, as a layout design method for a large-scale semiconductor integrated circuit, in order to shorten the design and development period,
CAD (C) for automatically arranging and automatically routing “functional cells” having certain functions such as flip-flops
(Operator Aided Design) is widely used.

【0003】また、大規模な半導体集積回路では、一般
に同期式論理回路として設計されている。同期式論理回
路を含む半導体集積回路では、半導体集積回路全体に対
し同一のタイミングでクロック信号を供給しなければな
らない。一般的な同期式論理回路を含んだ半導体集積回
路は、外部又は内部クロック信号発生源から供給される
クロック信号を比較的大きな負荷駆動能力を持つクロッ
クドライバーによって電流増幅し、クロック信号配線を
通してフリップフロップなどのファンクショナルセルに
供給している。
Further, large-scale semiconductor integrated circuits are generally designed as synchronous logic circuits. In a semiconductor integrated circuit including a synchronous logic circuit, a clock signal must be supplied to the entire semiconductor integrated circuit at the same timing. A semiconductor integrated circuit including a general synchronous logic circuit amplifies current of a clock signal supplied from an external or internal clock signal generation source by a clock driver having a relatively large load driving capability, and flip-flops through a clock signal wiring. And other functional cells.

【0004】このとき、クロック信号配線が有する配線
抵抗、配線容量及びファンクショナルセルのクロック入
力端子の容量によって信号の遅延が生じるが、クロック
ドライバーから各フリップフロップなどのファンクショ
ナルセルまでの配線長が異なると、それぞれ固有の信号
伝達遅延時間を持つことになるので、クロック信号伝達
遅延差(以下クロックスキューと呼ぶ)が生じる。同期
式論理回路を含む半導体集積回路のクロック周波数を高
くすると、このクロックスキューによって、タイミング
エラーによる誤動作が生じるため、クロックスキューは
できるだけ小さいことが望ましい。
At this time, signal delay occurs due to the wiring resistance and wiring capacitance of the clock signal wiring and the capacitance of the clock input terminal of the functional cell. However, the wiring length from the clock driver to each functional cell such as each flip-flop is reduced. If they are different, they will each have their own signal transmission delay time, so that a clock signal transmission delay difference (hereinafter referred to as clock skew) occurs. When the clock frequency of a semiconductor integrated circuit including a synchronous logic circuit is increased, the clock skew causes a malfunction due to a timing error. Therefore, it is desirable that the clock skew be as small as possible.

【0005】ゲートアレイ方式やスタンダードセル方式
に代表される自動配置配線CADを使うASIC(Ap
plication Specific Integr
ated Circuit)方式ではなく、ハンドクラ
フトのフルカスタム方式のレイアウト手法では、クロッ
クスキューを極力小さくすることが可能である。しか
し、前述のとおり、近年、半導体集積回路が数万ゲート
規模と大規模化しており、大規模な半導体集積回路を、
このハンドクラフトのフルカスタム方式でレイアウト設
計することは、コスト高の面から困難である。このた
め、自動配置配線はCADを使って行われる。すると、
クロックドライバーから各フリップフロップへの配線長
などのクロックスキューを発生させる要因を自動配置配
線CADで制御しないかぎり、クロックスキューが生じ
ることになる。
An ASIC using an automatic placement and routing CAD represented by a gate array system or a standard cell system (AP
application Specific Integr
The clock skew can be reduced as much as possible by a hand-crafted full custom layout method instead of an applied circuit method. However, as described above, in recent years, semiconductor integrated circuits have increased in size to tens of thousands of gates.
It is difficult to design the layout by the full custom method of this handcraft in terms of cost. Therefore, automatic placement and routing is performed using CAD. Then
Unless the factors that cause clock skew, such as the wiring length from the clock driver to each flip-flop, are controlled by the automatic placement and wiring CAD, clock skew will occur.

【0006】クロック信号を、それを必要とするファン
クショナルセルに供給するための配線路をクロックライ
ンと呼ぶ。自動配置配線CADによるレイアウト設計方
法では、このクロックラインのクロックスキューを小さ
くするため、クロック信号を複数段のクロックバッファ
セルで段階的に電流増幅する。すなわち、クロック信号
が入力するボンディングパッド(以下、クロックパッド
と称す)からクロック信号を必要とするファンクショナ
ルセルまでを、複数段のクロックバッファセルを介して
それぞれ接続している。この回路網をその構成からクロ
ックツリーと呼ぶ。
A wiring path for supplying a clock signal to a functional cell that requires it is called a clock line. In a layout design method using automatic placement and routing CAD, a clock signal is current-amplified stepwise by a plurality of clock buffer cells in order to reduce the clock skew of the clock line. That is, a connection from a bonding pad (hereinafter, referred to as a clock pad) to which a clock signal is input to a functional cell requiring a clock signal is connected via a plurality of stages of clock buffer cells. This network is called a clock tree because of its configuration.

【0007】次に、図6、図7及び図8を用いて、従来
のクロックツリー形成方法について説明する。
Next, a conventional clock tree forming method will be described with reference to FIGS. 6, 7 and 8. FIG.

【0008】図6は従来のクロックツリー形成方法のフ
ロー図であり、ステップS1において、クロックツリー
を含まない半導体集積回路を構成するファンクショナル
セル間接続情報をもとに、ファンクショナルセルのCA
Dによる自動配置を行う。次にステップS2において、
クロック信号が入力する全てのファンクショナルセルの
配置情報と、このクロック信号が入力する全てのファン
クショナルセルのクロック信号入力端子の端子容量によ
り、1個のクロックバッファセルが駆動する同一階層の
ファンクショナルセルの総入力端子容量、総配線容量
が、同一階層に存在する他のクロックバッファセルが駆
動するファンクショナルセルの総入力端子容量、総配線
容量と等しくなるように、クロックツリーの接続情報の
生成とクロックツリー上のクロックバッファセルの配置
を行う。ここで、同一階層のクロックバッファ回路と
は、そのクロックバッファセルとクロックパッドを結ぶ
経路の途中に同数個の他のクロックバッファセルが存在
するクロックバッファセルの集合体をいう。
FIG. 6 is a flowchart of a conventional method for forming a clock tree. In step S1, the CA of a functional cell is determined based on connection information between functional cells constituting a semiconductor integrated circuit not including a clock tree.
D performs automatic arrangement. Next, in step S2,
The arrangement information of all the functional cells to which the clock signal is input and the terminal capacitance of the clock signal input terminal of all the functional cells to which the clock signal is input, the same hierarchical functional layer driven by one clock buffer cell Generation of clock tree connection information such that the total input terminal capacity and total wiring capacity of the cell are equal to the total input terminal capacity and total wiring capacity of functional cells driven by other clock buffer cells in the same hierarchy And the arrangement of clock buffer cells on the clock tree. Here, the clock buffer circuit of the same hierarchy refers to an aggregate of clock buffer cells in which the same number of other clock buffer cells exist in the middle of the path connecting the clock buffer cell and the clock pad.

【0009】次にステップS3において、ステップS2
で既に配置されていたファンクショナルセルに重ねてク
ロックツリー上のクロックバッファセルが配置された場
合に、それらのオーバーラップ配置をクロックスキュー
に影響を与えないよう、大幅な配置位置の変更を避けな
がら、自動配置CADで修正する。
Next, in step S3, step S2
When the clock buffer cells on the clock tree are placed on top of the functional cells already placed in, avoiding a significant change in the placement position so that their overlapping placement does not affect the clock skew. Correct by automatic placement CAD.

【0010】ステップS4は、ステップS3で作られた
最終的な配置情報をもとに、半導体集積回路全体の自動
配線CADを用いて、クロックラインを優先させて半導
体集積回路全体の配線を行い、クロックスキューの低減
を図っている。
In step S4, based on the final arrangement information created in step S3, the entire semiconductor integrated circuit is wired by giving priority to the clock line by using the automatic wiring CAD for the entire semiconductor integrated circuit. Clock skew is reduced.

【0011】図7は、図6のステップS2で生成された
クロックツリーの構成を表す概念図であり、クロックパ
ッド1000がワイヤーボンディングなどで外部リード
(図示せず)に接続され外部からのクロック信号が印加
される。クロックパッド1000に印加されたクロック
信号は初段のクロックバッファセル1001と二段目の
クロックバッファセル1002〜1005のいずれかを
通過して、クロック信号を必要とするフリップフロップ
などのファンクショナルセル1006〜1021に供給
される。
FIG. 7 is a conceptual diagram showing the configuration of the clock tree generated in step S2 of FIG. 6, in which a clock pad 1000 is connected to an external lead (not shown) by wire bonding or the like and an external clock signal is output. Is applied. The clock signal applied to the clock pad 1000 passes through one of the first-stage clock buffer cell 1001 and the second-stage clock buffer cells 1002 to 1005, and the functional cells 1006 to 1005 such as flip-flops requiring the clock signal. 1021.

【0012】図7に示すように、クロックツリーは文字
通り木の枝のように分岐しており、クロックバッファセ
ル1001が駆動するクロックバッファセルは1002
〜1005の4個のクロックバッファセルの集合体であ
り、1002〜1005の各クロックバッファセルが駆
動するのは1006〜1009、1010〜1013、
1014〜1017、1018〜1021のいずれかの
4個のファンクションセルの集合体である。このクロッ
クツリーは、図6のステップS2においてクロック信号
を入力とするファンクショナルセルの配置情報と、クロ
ック信号を入力するファンクショナルセルのクロック信
号入力端子の端子容量により、1個のクロックバッファ
セルが駆動する同一階層のファンクショナルセルの総入
力端子容量、総配線容量に関して、同一階層に存在する
他のクロックバッファセルが駆動するそれが均等になる
ように生成される。
As shown in FIG. 7, the clock tree is literally branched like a tree branch, and the clock buffer cell 1001 drives 1002 clock buffer cells.
1005 to 1005, each of which is driven by 1006 to 1009, 1010 to 1013,
It is an aggregate of four function cells of any of 1014 to 1017 and 1018 to 1021. This clock tree is composed of one clock buffer cell based on the arrangement information of the functional cells receiving the clock signal in step S2 of FIG. 6 and the terminal capacitance of the clock signal input terminal of the functional cell receiving the clock signal. Regarding the total input terminal capacity and the total wiring capacity of the driven functional cells of the same hierarchy, the clock cells generated by other clock buffer cells existing in the same hierarchy are generated so as to be equal.

【0013】図8は、特開平6−204435号公報に
記載されている従来のクロックツリー形成方法を用いた
半導体集積回路の平面図である。
FIG. 8 is a plan view of a semiconductor integrated circuit using a conventional clock tree forming method described in Japanese Patent Application Laid-Open No. 6-204435.

【0014】図8において、半導体集積回路1101
に、クロック信号を外部より印加するクロックパッド1
102が存在し、クロックパッド1102と第1階層の
クロックバッファセル1103が接続されている。ま
た、第1階層のクロックバッファセル1103には、4
個の第2段目のクロックバッファセル1104〜110
7が接続されている。これらクロックツリーの接続関係
自体は図7と同様であるが、図8のクロックツリーはク
ロックツリーを構成するクロックバッファセルの配置位
置に特徴がある。
Referring to FIG. 8, a semiconductor integrated circuit 1101
Clock pad 1 for applying a clock signal from outside
The clock pad 1102 is connected to the first-level clock buffer cell 1103. Also, the clock buffer cell 1103 of the first hierarchy has 4
Second-stage clock buffer cells 1104 to 110
7 is connected. The connection relationship of these clock trees is the same as that of FIG. 7, but the clock tree of FIG. 8 is characterized by the arrangement position of the clock buffer cells constituting the clock tree.

【0015】すなわち、クロックパッド1102からク
ロック信号を供給する第1階層のクロックバッファセル
1103は、半導体集積回路1101の中央部に配置さ
れている。そして、第1階層のクロックバッファセル1
103は4個のクロックバッファセルが接続され、これ
ら第2階層のクロックバッファセル1104〜1107
のいずれの入力端子と第1階層のクロックバッファセル
1103の出力端子との水平方向の座標の差、及び垂直
方向の座標の差の総和が全て同一となるような位置に、
第2階層のクロックバッファセル1104〜1107が
配置されている。
That is, the first-level clock buffer cell 1103 for supplying a clock signal from the clock pad 1102 is arranged at the center of the semiconductor integrated circuit 1101. Then, the first level clock buffer cell 1
103 is connected to four clock buffer cells, and these second-level clock buffer cells 1104 to 1107 are connected.
At a position where the sum of the horizontal coordinate difference and the vertical coordinate difference between any one of the input terminals and the output terminal of the first-level clock buffer cell 1103 is the same.
Clock buffer cells 1104 to 1107 of the second hierarchy are arranged.

【0016】このように、ある地点と他の地点との水平
及び垂直方向方向の座標の差の絶対値との総和は、一般
にマンハッタン距離と呼ばれている。図8において、第
1階層のクロックバッファセル1103の出力端子から
の距離が一定となるような地点が破線で示されている。
第2階層のクロックバッファセルは、いずれもこの破線
上にその入力端子が位置するように配置されている。一
般に半導体集積回路上の配線は、水平及び垂直方向に張
り巡らされる。すなわち、一般に斜め方向の配線は行わ
れない。このような条件のもとでは、ある地点から他の
地点への配線の長さはその地点間のマンハッタン距離と
なる。
As described above, the sum of the absolute value of the difference between the coordinates of a certain point and the other point in the horizontal and vertical directions is generally called the Manhattan distance. In FIG. 8, a point at which the distance from the output terminal of the clock buffer cell 1103 of the first hierarchy becomes constant is indicated by a broken line.
The clock buffer cells of the second hierarchy are all arranged such that their input terminals are located on this broken line. Generally, wiring on a semiconductor integrated circuit is stretched in the horizontal and vertical directions. That is, generally, wiring in an oblique direction is not performed. Under such conditions, the length of the wiring from one point to another point is the Manhattan distance between the points.

【0017】従って、図8のように、第1階層のクロッ
クバッファセル1103の出力端子からマンハッタン距
離が一定となるような位置に、第2階層のクロックバッ
ファセルを全て配置すれば、第2階層の各クロックバッ
ファセルの入力端子と第1の階層のクロックバッファセ
ルの出力端子を結ぶ配線は、いずれもその長さがほぼ等
しくなる。このため、クロックパッド1102から各第
2階層のクロックバッファセル1104〜1107まで
の配線抵抗及び配線容量は、いずれも等しくなり、第2
階層のクロックバッファセル1104〜1107の間の
クロック信号のスキューを小さくすることが可能であ
る。同様にして、各クロックバッファセルから分岐して
接続されるクロックバッファ回路若しくはフリップフロ
ップなどのファンクショナルセルを常にクロックバッフ
ァセルの出力端子からのマンハッタン距離上に配置する
ようにすれば、供給されるクロック信号間のスキューの
低減が行える。
Therefore, as shown in FIG. 8, if all the clock buffer cells of the second hierarchy are arranged at positions where the Manhattan distance from the output terminal of the clock buffer cell 1103 of the first hierarchy is constant, the second hierarchy The wiring connecting the input terminal of each clock buffer cell and the output terminal of the clock buffer cell of the first hierarchy has substantially the same length. Therefore, the wiring resistance and the wiring capacitance from the clock pad 1102 to the clock buffer cells 1104 to 1107 of each second hierarchy are all equal, and
It is possible to reduce the skew of the clock signal between the clock buffer cells 1104 to 1107 in the hierarchy. Similarly, if a functional cell such as a clock buffer circuit or a flip-flop branched from and connected to each clock buffer cell is always arranged at a Manhattan distance from the output terminal of the clock buffer cell, it is supplied. Skew between clock signals can be reduced.

【0018】以上の説明より、従来のクロックツリーの
形成方法で、クロックパッドからクロック信号が供給さ
れる各ファンクショナルセル1108〜1123までの
遅延時間を全て同一とすることが可能であるため、各フ
ァンクショナルセル1108〜1123におけるクロッ
ク信号の到達時間差すなわちクロックスキューは、ほぼ
ゼロとなり、スキューによる誤動作を防止することが可
能となる。
From the above description, it is possible to make all the delay times of the functional cells 1108 to 1123 to which the clock signal is supplied from the clock pad the same in the conventional clock tree forming method. The arrival time difference of the clock signals in the functional cells 1108 to 1123, that is, the clock skew becomes almost zero, and it is possible to prevent a malfunction due to the skew.

【0019】[0019]

【発明が解決しようとする課題】従来の自動配置配線C
ADによるクロックツリーの形成方法は、単相クロック
信号に同期して動作する論理回路を含む半導体集積回路
において、同一のクロック信号の供給を必要としている
全てのファンクショナルセルに、クロックスキューがほ
ぼゼロとなるクロック信号を供給することが可能であ
る。
SUMMARY OF THE INVENTION Conventional automatic placement and routing C
A method of forming a clock tree by AD is that, in a semiconductor integrated circuit including a logic circuit operating in synchronization with a single-phase clock signal, clock skew is reduced to almost zero in all functional cells that need to supply the same clock signal. Can be supplied.

【0020】しかし、2相クロック信号を用いたような
系統の異なる複数のクロック信号に同期して動作する論
理回路を含む半導体集積回路においては、系統が異なる
クロック信号間では、クロックスキューの低減が行われ
ない。
However, in a semiconductor integrated circuit including a logic circuit operating in synchronization with a plurality of clock signals of different systems, such as using a two-phase clock signal, clock skew is reduced between clock signals of different systems. Not done.

【0021】次に、図9、図10及び図11を用い、互
いに重なり合わない2相クロック信号(以下、非重複2
相クロック信号と称す)に同期して動作する論理回路を
含む半導体集積回路を例にして、上述した問題点を説明
する。
Next, referring to FIGS. 9, 10 and 11, two-phase clock signals that do not overlap each other (hereinafter, non-overlapping two-phase clock signals) will be described.
The above-described problem will be described using a semiconductor integrated circuit including a logic circuit operating in synchronization with a phase clock signal) as an example.

【0022】図9は、クロックパッド及びクロックツリ
ーの末端部におけるクロック信号の波形図である。ま
た、図10(a),(b)は、従来の単相クロック信号
に対して行われているクロックツリーを非重複2相クロ
ック信号に適用した場合のクロックツリーの概念図であ
る。さらに、図11は上述した単相クロックに対して行
われている従来のクロックツリー形成方法を、非重複2
相クロック信号に対して適用したレイアウト設計フロー
図である。
FIG. 9 is a waveform diagram of the clock signal at the clock pad and at the end of the clock tree. FIGS. 10A and 10B are conceptual diagrams of a clock tree when a conventional clock tree performed on a single-phase clock signal is applied to a non-overlapping two-phase clock signal. FIG. 11 shows a conventional clock tree forming method performed on a single-phase clock as described above.
FIG. 14 is a layout design flowchart applied to a phase clock signal.

【0023】図9、図10において、第1のクロック信
号CK1と第2のクロック信号CK2は、各クロック信
号に対する各々のクロックツリーの第1段目のクロック
バッファセル801,817に入力するオリジナルのク
ロック信号である。第1のクロック信号CK1は、第1
段目のクロックバッファセル801と第2段目のクロッ
クバッファセル802〜804を通り、第1のクロック
信号CK1を必要とするクロックツリーの末端に接続さ
れたファンクショナルセル805〜816にクロック信
号CK1Aとして供給される。このとき、オリジナルの
クロック信号CK1とファンクショナルセル805〜8
16に供給されるクロック信号CK1Aとの間には、伝
達遅延時間tDP1が生じる。
In FIGS. 9 and 10, the first clock signal CK1 and the second clock signal CK2 are supplied to the original clock buffer cells 801 and 817 of the first clock tree for each clock signal. This is a clock signal. The first clock signal CK1 is the first clock signal CK1.
The clock signal CK1A is supplied to the functional cells 805 to 816 that pass through the clock buffer cell 801 of the second stage and the clock buffer cells 802 to 804 of the second stage and are connected to the ends of the clock tree requiring the first clock signal CK1. Supplied as At this time, the original clock signal CK1 and the functional cells 805-8
A transmission delay time tDP1 is generated between the clock signal CK1A and the clock signal CK1A.

【0024】第2のクロック信号CK2に関しても同様
に、第2のクロック信号CK2は、第1段目のクロック
バッファセル817と第2段目のクロックバッファセル
818〜821を通り、第2のクロック信号CK2を必
要とするクロックツリーの末端に接続されたファンクシ
ョナルセル823〜838にクロック信号CK2Aとし
て供給される。このとき、オリジナルのクロック信号C
K2とファンクショナルセル823〜838に供給され
るクロック信号CK2Aとの間には、伝達遅延時間tD
P2Aが生じる。
Similarly, with respect to the second clock signal CK2, the second clock signal CK2 passes through the first-stage clock buffer cell 817 and the second-stage clock buffer cells 818 to 821 and passes through the second clock signal CK2. The clock signal CK2A is supplied to the functional cells 823 to 838 connected to the end of the clock tree requiring the signal CK2. At this time, the original clock signal C
K2 and the clock signal CK2A supplied to the functional cells 823 to 838 have a transmission delay time tD
P2A occurs.

【0025】次に、クロック信号CK1とCK2の伝達
遅延時間に差が生じる理由を以下に説明する。
Next, the reason why a difference occurs in the transmission delay time between the clock signals CK1 and CK2 will be described below.

【0026】図10(a)に示すように、第1のクロッ
ク信号CK1のクロックツリーに接続されるファンクシ
ョナルセルは12個、図10(b)に示すように第2の
クロック信号CK2のクロックツリーに接続されるファ
ンクショナルセルは16個と、第1のクロック信号CK
1と第2のクロック信号CK2との間で総負荷容量(F
anIn数)が異なる。このような場合、従来の自動配
置配線CADによるクロックツリー形成方法は、各クロ
ック信号の総負荷容量に見合ったクロックツリーを、ク
ロックバッファセルの個数やクロックツリーのクロック
バッファセルの段数を調整し生成する。
As shown in FIG. 10A, the number of functional cells connected to the clock tree of the first clock signal CK1 is 12, and the clock of the second clock signal CK2 is used as shown in FIG. Sixteen functional cells connected to the tree and the first clock signal CK
Between the first clock signal CK2 and the second clock signal CK2.
anIn number). In such a case, the conventional clock tree forming method using the automatic placement and routing CAD generates a clock tree corresponding to the total load capacity of each clock signal by adjusting the number of clock buffer cells and the number of clock buffer cell stages in the clock tree. I do.

【0027】従って、総負荷容量の異なるクロック信号
の各クロックツリーは、クロックバッファセルの個数や
クロックツリーのクロックバッファセルの段数などの構
成が異なるため、クロックバッファセル801の入力か
らファンクショナルセル805〜816までの伝達遅延
時間tDP1と、クロックバッファセル817の入力か
らファンクショナルセル823〜838までの伝達遅延
時間tDP2Bとの間に違いが生じる。このため、各ク
ロック信号CK1,CK2のクロックツリー末端では、
図9に示すt2〜t3において、本来重ならないはずの
2つのクロックが重なり合う状態が発生する。
Therefore, the clock trees of the clock signals having different total load capacities have different structures such as the number of clock buffer cells and the number of clock buffer cells in the clock tree. There is a difference between the transmission delay time tDP1 from the input of the clock buffer cell 817 to the transmission delay time tDP2B from the input of the clock buffer cell 817 to the functional cells 823 to 838. Therefore, at the end of the clock tree of each of the clock signals CK1 and CK2,
At t2 to t3 shown in FIG. 9, a state occurs in which two clocks that should not be overlapped overlap each other.

【0028】一般的に、非重複2相クロック信号を論理
回路の基本クロックとする半導体集積回路では、クロッ
ク周波数向上を目的とするクロックスキューの低減とと
もに、図9に示すように2つのクロック信号CK1,C
K2間に設ける非重複期間tNOVを維持したクロック
信号を、各クロック信号CK1,CK2を必要とするフ
ァンクショナルセルに供給しなければならない。図9の
第1のクロック信号CK1がクロックツリーの末端部に
伝搬したときのクロック信号CK1Aと第2のクロック
信号CK2がクロックツリーの末端部に伝搬したときの
クロック信号CK2Aの関係のように、クロック信号C
K1の伝達遅延時間tDP1とクロック信号CK2Aの
伝達遅延時間tDP2Aがほぼ等しければ、各クロック
信号の各クロックツリーの末端部におけるクロック信号
間の非重複期間tNOVBを維持できる。
Generally, in a semiconductor integrated circuit using a non-overlapping two-phase clock signal as a basic clock of a logic circuit, the clock skew is reduced for the purpose of improving the clock frequency, and the two clock signals CK1 as shown in FIG. , C
A clock signal that maintains the non-overlap period tNOV provided between K2 must be supplied to functional cells that require the clock signals CK1 and CK2. As in the relationship between the clock signal CK1A when the first clock signal CK1 propagates to the terminal of the clock tree and the clock signal CK2A when the second clock signal CK2 propagates to the terminal of the clock tree in FIG. Clock signal C
If the transmission delay time tDP1 of K1 is substantially equal to the transmission delay time tDP2A of the clock signal CK2A, the non-overlapping period tNOVB between clock signals at the end of each clock tree of each clock signal can be maintained.

【0029】しかしながら、非重複期間tNOVを維持
したクロック信号を、各クロック信号を必要とするファ
ンクショナルセルに供給できなけば、一方のクロック信
号をマスタークロックとしてデータをラッチするトラン
スペアレントラッチと、他方のクロック信号をスレーブ
クロックとしてデータをラッチするトランスぺアレント
ラッチの間で、データの筒抜けが生じ、誤動作を引き起
こす。
However, if a clock signal maintaining the non-overlapping period tNOV cannot be supplied to a functional cell that requires each clock signal, a transparent latch that latches data using one clock signal as a master clock and the other latches Between the transparent latches that latch data using a clock signal as a slave clock, data cylinders may drop out, resulting in malfunction.

【0030】次に、従来の自動配置配線CADとクロッ
クツリー形成方法を利用して非重複2相クロック信号の
クロックツリーを自動で生成するレイアウト設計フロー
について、図11を参照して説明する。
Next, a layout design flow for automatically generating a clock tree of a non-overlapping two-phase clock signal using a conventional automatic placement and routing CAD and a clock tree forming method will be described with reference to FIG.

【0031】図6に示す単相クロックに対する従来のク
ロックツリーレイアウト設計フローと同様に、ステップ
S1において、クロックツリーを含まない半導体集積回
路を構成するファンクショナルセル間接続情報をもと
に、ファンクショナルセルのCADによる自動配置を行
う。
As in the conventional clock tree layout design flow for a single-phase clock shown in FIG. 6, in step S1, based on the information on the connection between the functional cells constituting the semiconductor integrated circuit which does not include the clock tree, the functional is determined. Automatic placement of cells by CAD is performed.

【0032】次にステップS21において、クロック信
号CK1が入力する全てのファンクショナルセルの配置
情報と、クロック信号CK1が入力する全てのファンク
ショナルセルのクロック信号入力端子の端子容量によ
り、1個のクロックバッファセルが駆動する同一階層の
ファンクショナルセルの総入力端子容量、総配線容量
が、同一階層に存在する他のクロックバッファセルが駆
動するファンクショナルセルの総入力端子容量、総配線
容量と等しくなるように、クロックCK1に対するクロ
ックツリーの接続情報の生成とクロックツリー上のクロ
ックバッファセルの配置を行う。
Next, in step S21, one clock is determined by the arrangement information of all the functional cells to which the clock signal CK1 is input and the terminal capacity of the clock signal input terminals of all the functional cells to which the clock signal CK1 is input. The total input terminal capacity and the total wiring capacity of the functional cells of the same hierarchy driven by the buffer cell become equal to the total input terminal capacity and the total wiring capacity of the functional cells driven by other clock buffer cells existing in the same hierarchy. Thus, the connection information of the clock tree to the clock CK1 is generated and the clock buffer cells on the clock tree are arranged.

【0033】次に、ステップS22でステップS21と
同様に、クロックCK2に対するクロックツリーの接続
情報の生成とクロックツリー上のクロックバッファセル
の配置を行った後、ステップS3において、ステップS
21及びステップS22で既に配置されていたファンク
ショナルセルに重ねてクロックツリー上のクロックバッ
ファセルが配置された場合に、それらのオーバーラップ
配置をクロックスキューに影響を与えないよう、大幅な
配置位置の変更を避けながら、自動配置CADで修正す
る。
Next, in step S22, as in step S21, the generation of the connection information of the clock tree with respect to the clock CK2 and the placement of the clock buffer cells on the clock tree are performed.
When the clock buffer cells on the clock tree are arranged so as to overlap the functional cells already arranged in step 21 and step S22, a large arrangement position is set so that their overlap arrangement does not affect the clock skew. Modify with automatic placement CAD while avoiding changes.

【0034】最後にステップS4で、ステップS3で作
られた最終的な配置情報をもとに、クロックラインを優
先させて、半導体集積回路全体を自動配線CADを用い
て配線処理し、クロックスキューの低減を図っている。
Finally, in step S4, based on the final arrangement information created in step S3, the clock line is prioritized, and the entire semiconductor integrated circuit is subjected to wiring processing using automatic wiring CAD, and the clock skew is reduced. We are trying to reduce it.

【0035】図11に示すクロックツリーのレイアウト
設計フローにおいては、第1のクロック信号CK1と第
2のクロック信号CK2に対して個別にクロックツリー
を生成するので、各クロックツリー内で供給されるクロ
ック信号のクロックスキューの低減は行われるが、複数
のクロックツリーが供給する系統の異なる複数のクロッ
ク信号間では、全くクロックスキューの低減がなされな
いという問題がある。
In the layout design flow of the clock tree shown in FIG. 11, since the clock trees are individually generated for the first clock signal CK1 and the second clock signal CK2, the clock supplied in each clock tree is generated. Although the clock skew of the signal is reduced, there is a problem that the clock skew is not reduced at all between a plurality of clock signals supplied from a plurality of clock trees and having different systems.

【0036】また、ゲートアレイ方式やスタンダードセ
ル方式に代表される自動配置配線CADを使うASIC
(Application Specific Int
egrated Circuit)方式ではなく、ハン
ドクラフトのフルカスタム方式のレイアウト手法では、
系統の異なる複数のクロック信号間のクロックスキュー
を極力小さくすることが可能である。しかし、近年半導
体集積回路が数万ゲート規模と大規模化しており、大規
模な半導体集積回路をこのハンドクラフトのフルカスタ
ム方式でレイアウト設計することは、コスト高の面から
困難であり、自動配置配線CADを用いることが必すで
ある。従って、各クロックドライバーから各ファンクシ
ョナルセルへの配線長の違いなどによるクロックスキュ
ーを発生させる要因を自動配置配線CADで制御しない
かぎり、系統の異なる複数のクロック信号間のクロック
スキューの低減が図れない。
An ASIC using an automatic placement and wiring CAD represented by a gate array system and a standard cell system.
(Application Specific Int
In the case of the handcrafted full custom layout method, instead of the [e.g.
Clock skew between a plurality of clock signals having different systems can be minimized. However, in recent years, the scale of semiconductor integrated circuits has increased to several tens of thousands of gates, and it is difficult to design a layout of a large-scale semiconductor integrated circuit by a full custom method of this handcraft due to high cost, and automatic placement is difficult. It is necessary to use the wiring CAD. Therefore, unless the cause of the clock skew due to the difference in the wiring length from each clock driver to each functional cell is controlled by the automatic placement and wiring CAD, the clock skew between a plurality of clock signals of different systems cannot be reduced. .

【0037】このため、本発明の目的は、系統の異なる
複数のクロック信号のクロックツリーとクロックツリー
の間のクロックスキュー低減を可能とする半導体集積回
路のクロックツリーの設計方法及びそれによる半導体集
積回路を提供することにある。
Therefore, an object of the present invention is to provide a method for designing a clock tree of a semiconductor integrated circuit and a semiconductor integrated circuit using the same, which enable a reduction in clock skew between clock trees of a plurality of clock signals having different systems. Is to provide.

【0038】[0038]

【課題を解決するための手段】そのため、本発明による
半導体集積回路のクロックツリーの設計方法は、複数の
クロック信号に同期し動作する論理回路を内蔵する半導
体集積回路のクロックツリーの設計方法であって、複数
のクロック信号が入力する各クロック入力端子から、1
個以上存在するクロックバッファ回路の上位階層のクロ
ックバッファ回路から下位階層の前記クロックバッファ
回路に向かって、前記論理回路を構成するファンクショ
ナルセルに各クロック信号を供給するクロックツリーの
設計方法において、前記クロックバッファ回路は、入力
端子に印加されたクロック信号を増幅して出力端子に出
力するバッファ回路を複数内蔵しレイアウト的に固定さ
れ、前記クロックツリー上の前記クロックバッファセル
を含まない前記論理回路を構成する前記ファンクショナ
ルセル間接続情報をもとに、全ての前記ファンクショナ
ルセルを配置する論理回路配置工程と、前記複数のクロ
ック信号に対する前記複数のクロックツリー接続情報
を、前記クロックバッファセルを各クロックに対して共
用して生成するクロックツリー接続情報生成工程と、前
記クロックツリー接続情報をもとに、前記クロックバッ
ファ回路を配置するクロックバッファ配置工程とを
含み、前記クロックツリー接続情報をもとに、前記各ク
ロック入力端子と対応する前記クロックバッファ回路の
各入力端子とを結ぶ配線、及び所定の上位階層のクロッ
クバッファ回路の各出力端子と対応する下位階層のクロ
ックバッファ回路の各入力端子とを結ぶ配線を平行して
接続することを特徴としている。
Therefore, a method for designing a clock tree of a semiconductor integrated circuit according to the present invention is a method for designing a clock tree of a semiconductor integrated circuit incorporating a logic circuit operating in synchronization with a plurality of clock signals. From each clock input terminal to which a plurality of clock signals are input.
A clock tree design method for supplying each clock signal to functional cells constituting the logic circuit from a clock buffer circuit in an upper hierarchy of the clock buffer circuits existing in the number of or more to the clock buffer circuit in a lower hierarchy, The clock buffer circuit includes a plurality of buffer circuits for amplifying a clock signal applied to an input terminal and outputting the amplified signal to an output terminal, is fixed in layout, and includes the logic circuit that does not include the clock buffer cell on the clock tree. A logic circuit arranging step of arranging all the functional cells based on the constituent inter-functional cell connection information, and a plurality of clock tree connection information for the plurality of clock signals; The clock generated in common with the clock A clock tree connection information generating step, and a clock buffer arranging step of arranging the clock buffer circuit based on the clock tree connection information. The wiring connecting each input terminal of the clock buffer circuit and the wiring connecting each output terminal of the clock buffer circuit of a predetermined upper hierarchy and each input terminal of the corresponding lower hierarchy clock buffer circuit are connected in parallel. It is characterized by:

【0039】また、本発明による半導体集積回路は、複
数のクロック信号が入力する各クロック入力端子と、1
個以上存在するクロックバッファ回路の上位階層のクロ
ックバッファ回路から下位階層の前記クロックバッファ
回路に向かって、論理回路を構成するファンクショナル
セルに各クロック信号を供給するクロックツリーを含む
半導体集積回路において、前記クロックバッファ回路
は、入力端子に印加されたクロック信号を増幅して出力
端子に出力するバッファ回路を複数内蔵しレイアウト的
に固定され、前記各クロック入力端子と対応する前記ク
ロックバッファ回路の各入力端子とを結ぶ配線、及び所
定の上位階層のクロックバッファ回路の各出力端子と対
応する下位階層のクロックバッファ回路の各入力端子と
を結ぶ配線が平行して接続されていることを特徴として
いる。
Further, according to the semiconductor integrated circuit of the present invention, each clock input terminal to which a plurality of clock signals are input, and one
In a semiconductor integrated circuit including a clock tree that supplies each clock signal to a functional cell forming a logic circuit from a clock buffer circuit in an upper layer of the clock buffer circuit that is present or more to the clock buffer circuit in a lower layer, The clock buffer circuit has a plurality of built-in buffer circuits for amplifying a clock signal applied to an input terminal and outputting the amplified signal to an output terminal. The buffer circuit is fixed in layout, and each input of the clock buffer circuit corresponding to each clock input terminal A wiring connecting terminals and a wiring connecting each output terminal of a predetermined upper-layer clock buffer circuit and each input terminal of a corresponding lower-layer clock buffer circuit are connected in parallel.

【0040】[0040]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。本実施の形態の半導体集積
回路は、非重複2相クロック信号に同期して動作する論
理回路を含むものとして説明する。
Next, embodiments of the present invention will be described with reference to the drawings. The semiconductor integrated circuit of the present embodiment is described as including a logic circuit that operates in synchronization with a non-overlapping two-phase clock signal.

【0041】図1は、本発明を適用したクロックツリー
形成方法で用いられるクロックバッファセル101であ
る。クロックバッファセル101は、単一のファンクシ
ョナルセルとして構成され、2つのクロック信号のクロ
ックツリーの形成に対応すべく、2個のバッファ回路1
02,103を内蔵する。クロックバッファセル101
は、クロック信号を入力するための入力端子H01,H
02と電流増幅したクロック信号を出力するための出力
端子N01,N02とを有する。第1のバッファ回路1
02は、入力端子H01に印加された第1のクロック信
号を電流増幅し、第1の出力端子N01から出力する。
同様に、第2のバッファ回路103は、入力端子H02
に印加された第2のクロック信号を電流増幅し、第2の
出力端子N02から出力する。
FIG. 1 shows a clock buffer cell 101 used in a clock tree forming method according to the present invention. The clock buffer cell 101 is configured as a single functional cell, and includes two buffer circuits 1 to cope with formation of a clock tree of two clock signals.
02 and 103 are built-in. Clock buffer cell 101
Are input terminals H01, H for inputting a clock signal.
02 and output terminals N01 and N02 for outputting a current-amplified clock signal. First buffer circuit 1
Numeral 02 current-amplifies the first clock signal applied to the input terminal H01 and outputs the amplified signal from the first output terminal N01.
Similarly, the second buffer circuit 103 includes an input terminal H02
, And amplifies the current of the second clock signal applied thereto, and outputs the amplified signal from the second output terminal N02.

【0042】図2は、図1のクロックバッファセル10
1に相当するシンボル図であり、図1に示す回路接続情
報に従い2つの入力端子H01,H02と2つの出力端
子N01,N02とを有する。
FIG. 2 shows the clock buffer cell 10 of FIG.
2 is a symbol diagram corresponding to No. 1 and has two input terminals H01 and H02 and two output terminals N01 and N02 according to the circuit connection information shown in FIG.

【0043】本実施の形態では、第1のクロック信号C
K1を供給するファンクショナルセルの個数が、第2の
クロック信号CK2を供給するファンクショナルセルの
個数よりも少ない、すなわち、第2のクロック信号CK
2の総負荷容量(FanIn数)が、第1のクロック信
号CK1のそれより多いとして説明する。
In the present embodiment, the first clock signal C
The number of functional cells supplying K1 is smaller than the number of functional cells supplying the second clock signal CK2, that is, the second clock signal CK.
It is assumed that the total load capacity (FanIn number) of No. 2 is larger than that of the first clock signal CK1.

【0044】図3は、本発明を適用したクロックツリー
形成方法におけるレイアウト設計フローである。ステッ
プS1で、従来のクロックツリー形成方法におけるレイ
アウト設計フローと同様に、半導体集積回路のうちクロ
ックツリーを含まない論理回路部のファンクショナルセ
ル間接続情報をもとに、自動配置CADですべてのファ
ンクショナルセルを配置する。
FIG. 3 is a layout design flow in the clock tree forming method to which the present invention is applied. In step S1, as in the layout design flow in the conventional clock tree forming method, all the func- tions are performed by the automatic placement CAD based on the connection information between the functional cells of the logic circuit portion not including the clock tree in the semiconductor integrated circuit. Place the optional cell.

【0045】次にステップS210において、総負荷容
量が他方のクロック信号すなわちクロック信号CK1よ
りも大きなクロック信号CK2に対して、クロック信号
CK2を供給するファンクショナルセルの配置情報と、
クロック信号CK2を供給するファンクショナルセルの
クロック信号を入力する端子容量により、1個のクロッ
クバッファセルが駆動する同一階層のファンクショナル
セルの総入力端子容量、総配線容量に関して、同一階層
に存在する他のクロックバッファセルのそれが均等にな
るようにクロックツリーの接続情報の生成と、クロック
ツリー上のクロックバッファセルの配置を行う。このと
き生成されるクロックツリー上のクロックバッファセル
は、図1と図2で示される2個のバッファ回路を内蔵す
るクロックバッファセルである。
Next, in step S210, for the clock signal CK2 whose total load capacity is larger than the other clock signal, that is, the clock signal CK1, the arrangement information of the functional cell that supplies the clock signal CK2;
Due to the terminal capacity of the functional cell that supplies the clock signal CK2 for inputting the clock signal, the total input terminal capacity and the total wiring capacity of the functional cell of the same hierarchy driven by one clock buffer cell exist in the same hierarchy. The generation of the connection information of the clock tree and the arrangement of the clock buffer cells on the clock tree are performed so that those of the other clock buffer cells become equal. The clock buffer cells on the clock tree generated at this time are clock buffer cells incorporating the two buffer circuits shown in FIGS.

【0046】図4は、図3のステップS210で形成さ
れたクロックツリーの構成概念図であり、クロックバッ
ファセル401〜405は、図2のシンボル図を用いて
いる。前に述べたとおり、総負荷容量が他方のクロック
信号CK1より大きいクロック信号CK2のクロックラ
インに、2個のバッファ回路を内蔵するクロックバッフ
ァセル401〜405を用いクロックツリーを形成して
おり、外部からのクロック信号CK2は、ボンディング
ワイヤーなどで外部リードと接続されているクロックパ
ッド42に印加される。クロック信号CK2は、第1段
目のクロックバッファセル401及び第2段目のクロッ
クバッファセル402〜405のいずれかを通過して、
クロック信号CK2を必要とするフリップフロップなど
のファンクショナルセルに供給される。
FIG. 4 is a conceptual diagram of the configuration of the clock tree formed in step S210 of FIG. 3, and the clock buffer cells 401 to 405 use the symbol diagram of FIG. As described above, a clock tree is formed by using clock buffer cells 401 to 405 containing two buffer circuits on the clock line of the clock signal CK2 whose total load capacity is larger than the other clock signal CK1. Is applied to a clock pad 42 connected to an external lead by a bonding wire or the like. The clock signal CK2 passes through the first-stage clock buffer cell 401 and the second-stage clock buffer cells 402 to 405,
The clock signal CK2 is supplied to a functional cell such as a flip-flop that requires the clock signal CK2.

【0047】クロックツリーを形成するクロックバッフ
ァセルは、2つの入力端子と2つの出力端子を有してい
るが、ステップS210では、クロックバッファセル内
の1個のバッファ回路の1対の入力端子と出力端子が、
クロック信号CK2のクロックツリーを形成するよう接
続され、残る1個のバッファ回路の1対の入力端子と出
力端子は接続されない。すなわち、総負荷容量が他方の
クロック信号CK2より小さなクロック信号CK1を供
給するファンクショナルセル422〜433のクロック
入力端子には、クロックバッファセル402〜405の
出力端子は接続されない。
The clock buffer cell forming the clock tree has two input terminals and two output terminals. In step S210, one pair of input terminals of one buffer circuit in the clock buffer cell is connected to the input terminal. Output terminal is
The clock signal CK2 is connected to form a clock tree, and a pair of input terminals and output terminals of the remaining one buffer circuit are not connected. That is, the output terminals of the clock buffer cells 402 to 405 are not connected to the clock input terminals of the functional cells 422 to 433 that supply the clock signal CK1 whose total load capacity is smaller than the other clock signal CK2.

【0048】次に、図3のステップS220において、
ステップS210で生成されたクロック信号CK2に対
するクロックツリー上のクロックバッファセル401〜
405を用いて、総負荷容量が他方のクロック信号より
小さなクロック信号CK1のクロックツリー生成を行
う。すなわち、図4において、クロック信号CK1が印
加されるクロックパッド41と、既にステップS210
で配置されている第1段目のクロックバッファセル40
1の未接続入力端子の接続を行い、さらに第1段目のク
ロックバッファセル401の未接続出力端子と第2段目
のクロックバッファセル402〜405の未接続入力端
子を接続する。
Next, in step S220 in FIG.
The clock buffer cells 401 to 401 on the clock tree for the clock signal CK2 generated in step S210
Using 405, a clock tree of the clock signal CK1 whose total load capacity is smaller than that of the other clock signal is generated. That is, in FIG. 4, the clock pad 41 to which the clock signal CK1 is applied is different from the clock pad 41 already in step S210.
1st stage clock buffer cell 40
The first unconnected input terminal is connected, and the unconnected output terminal of the first-stage clock buffer cell 401 and the unconnected input terminals of the second-stage clock buffer cells 402 to 405 are connected.

【0049】また、総負荷容量が他方のクロック信号よ
り小さなクロック信号CK1を供給する図4に示すファ
ンクショナルセル422〜433の配置位置情報やクロ
ック入力端子の端子容量などの情報と、既にステップS
210で配置されているファンクショナルセルに直接接
続される第2段目のクロックバッファセル402〜40
5の配置位置情報から、クロックスキューを小さくする
ように制御しながら、第2段目のクロックバッファセル
402〜405の未接続出力端子と、クロック信号CK
1を供給するファンクショナルセル422〜433のク
ロック信号入力端子とを接続する。
Further, the information such as the arrangement position information of the functional cells 422 to 433 and the terminal capacity of the clock input terminal shown in FIG.
Second-stage clock buffer cells 402 to 40 directly connected to the functional cells arranged at 210
5, the unconnected output terminals of the second-stage clock buffer cells 402 to 405 and the clock signal CK while controlling to reduce the clock skew.
1 is connected to the clock signal input terminals of the functional cells 422 to 433 that supply the signal "1".

【0050】すなわち、本実施の形態による半導体集積
回路の設計方法及びそれによる半導体集積回路において
は、クロック信号CK1が供給されるクロックパッド4
1から複数のクロック信号の各クロックツリーが共用す
る最下位階層のクロックバッファセル402〜405ま
での経路と、クロック信号CK2が供給されるクロック
パッド42から複数のクロック信号の各クロックツリー
が共用する最下位階層のクロックバッファセル402〜
405までの経路に関し、上記経路の各接続情報を用い
て、所定のクロックツリー上の全クロックバッファセル
401〜405の出力端子とその下位のクロックバッフ
ァセル402〜405の入力端子間、すなわち一般的に
は全てのクロック信号に対応するクロックツリー上の全
ての配線が、並行して接続されるという特徴がある。
That is, in the method of designing a semiconductor integrated circuit according to the present embodiment and the semiconductor integrated circuit according to the method, the clock pad 4 to which the clock signal CK1 is supplied is provided.
A path from the lowest level clock buffer cells 402 to 405 shared by each clock tree of one to a plurality of clock signals, and each clock tree of a plurality of clock signals from the clock pad 42 to which the clock signal CK2 is supplied. Clock buffer cells 402-
Regarding the path up to 405, using the connection information of the path, between the output terminals of all the clock buffer cells 401 to 405 on the predetermined clock tree and the input terminals of the lower clock buffer cells 402 to 405, ie, general Is characterized in that all wirings on the clock tree corresponding to all clock signals are connected in parallel.

【0051】図5は、ステップS220を完了した本実
施の形態による半導体集積回路におけるクロックツリー
の構成を示す概念図である。クロックパッド41にクロ
ック信号CK1、クロックパッド42にクロック信号C
K2がそれぞれ印加され、クロックパッド41とクロッ
クパッド42は、単一のクロックバッファセル401の
入力端子にそれぞれ接続される。また、単一のクロック
バッファセル401の2つのクロック信号に相当する2
つの出力信号配線は、それぞれ4個のクロックバッファ
セル402〜405の入力端子に2本のクロック信号配
線が交わることなく接続される。
FIG. 5 is a conceptual diagram showing the configuration of the clock tree in the semiconductor integrated circuit according to the present embodiment after completing step S220. The clock signal CK1 is applied to the clock pad 41, and the clock signal C is applied to the clock pad 42.
K2 is applied, and the clock pad 41 and the clock pad 42 are connected to the input terminals of the single clock buffer cell 401, respectively. In addition, 2 corresponding to two clock signals of a single clock buffer cell 401
One output signal line is connected to input terminals of four clock buffer cells 402 to 405 without crossing two clock signal lines.

【0052】クロック信号CK2を供給するファンクシ
ョナルセル406〜421のクロック信号入力端子に
は、第2段目のクロックバッファセルの出力端子のう
ち、クロック信号CK2に相当する信号を出力する出力
端子が接続される。また、図4において未接続であった
クロック信号CK1を供給するファンクショナルセル4
22〜433のクロック信号入力端子には、第2段目の
クロックバッファセルの出力端子のうち、クロック信号
CK1に相当する信号を出力する出力端子が接続され
る。
The clock signal input terminals of the functional cells 406 to 421 for supplying the clock signal CK2 are output terminals for outputting a signal corresponding to the clock signal CK2 among the output terminals of the second stage clock buffer cell. Connected. Further, the functional cell 4 for supplying the clock signal CK1 which has not been connected in FIG.
The output terminals for outputting a signal corresponding to the clock signal CK1 among the output terminals of the second-stage clock buffer cell are connected to the clock signal input terminals 22 to 433.

【0053】次に、ステップS30において、ステップ
S210,220で既に配置されているファンクショナ
ルセルに重ねてクロックバッファセルが配置された場合
に、従来のクロックツリー形成方法におけるレイアウト
設計方法と同様に、オーバーラップ配置をクロックスキ
ューに影響を与えないよう大幅なファンクショナルセル
の配置位置の移動を避けながら、自動配置CADで修正
する。
Next, in step S30, when the clock buffer cells are arranged so as to overlap the functional cells already arranged in steps S210 and S220, similar to the layout design method in the conventional clock tree forming method, The overlapping placement is corrected by automatic placement CAD while avoiding a significant movement of the placement position of the functional cells so as not to affect the clock skew.

【0054】続いてステップS40において、従来のク
ロックツリー形成方法におけるレイアウト設計方法と同
様に、ステップS220で作成された最終的な配置情報
とクロックラインの接続情報を含む半導体集積回路全体
のファンクショナルセル間の接続情報をもとに、クロッ
クラインを優先させて、半導体集積回路全体の配線を自
動配線CADを用いて配線処理する。
Subsequently, in step S40, similarly to the layout design method in the conventional clock tree forming method, the functional cells of the entire semiconductor integrated circuit including the final arrangement information and clock line connection information created in step S220. The wiring of the entire semiconductor integrated circuit is subjected to wiring processing using automatic wiring CAD by giving priority to the clock line based on the connection information between them.

【0055】本実施の形態による半導体集積回路の設計
方法及びそれによる半導体集積回路は、図5に示すよう
に2系統のクロック信号が伝搬するクロックツリーを形
成するにあたり同一のクロックバッファセル群を共用し
ていることと、同一のクロックバッファセル群を共用す
ることにより2本のクロック信号の配線長さを等しくで
きることにより、2個のクロックパッド41,42から
クロックツリーの末端のクロックバッファセル402〜
405の入力端子までの2つのクロック信号のクロック
スキューを、ほぼ等しくすることが可能となる。
The semiconductor integrated circuit design method and the semiconductor integrated circuit according to the present embodiment share the same clock buffer cell group in forming a clock tree through which two clock signals propagate as shown in FIG. And by sharing the same clock buffer cell group, the wiring lengths of the two clock signals can be equalized.
The clock skew of the two clock signals up to the input terminal 405 can be made substantially equal.

【0056】従って、複数の異なる系統のクロック信号
のクロックツリーを形成すると同時に、異なるクロック
信号間と同一クロック信号間の両方のクロックスキュー
の低減が可能となる。
Therefore, it is possible to form a clock tree of a plurality of clock signals of different systems, and at the same time, to reduce both clock skew between different clock signals and between the same clock signals.

【0057】以上の説明においては特に断らなかった
が、ASICの手法であるマスタースライス方式やセル
ベース方式により設計を行うことにより、コンピュータ
を用いた自動設計がより容易にできることはいうまでも
ない。
Although not particularly specified in the above description, it goes without saying that automatic design using a computer can be more easily performed by designing using a master slice method or a cell-based method, which is an ASIC method.

【0058】[0058]

【発明の効果】以上説明したように、本発明による半導
体集積回路のクロックツリー設計方法及びそれによる半
導体集積回路は、従来のクロックツリー形成方法と自動
配置配線CADを利用したレイアウト設計方法では不可
能であった系統の異なる複数のクロック信号がそれぞれ
伝搬するクロックツリーとクロックツリー間のクロック
スキューを低減することができる。
As described above, the clock tree designing method of the semiconductor integrated circuit and the semiconductor integrated circuit according to the present invention cannot be realized by the conventional clock tree forming method and the layout designing method using the automatic placement and routing CAD. Thus, it is possible to reduce the clock skew between the clock trees in which the plurality of clock signals of different systems propagate respectively.

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

【図1】本実施の形態のクロックツリーを構成するクロ
ックバッファセルの論理回路図である。
FIG. 1 is a logic circuit diagram of a clock buffer cell constituting a clock tree according to the present embodiment.

【図2】本実施の形態のクロックツリーを構成するクロ
ックバッファセルのシンボル図である。
FIG. 2 is a symbol diagram of a clock buffer cell constituting a clock tree according to the present embodiment.

【図3】本実施の形態による半導体集積回路のクロック
ツリー設計方法を示すフロー図である。
FIG. 3 is a flowchart showing a clock tree designing method of the semiconductor integrated circuit according to the present embodiment;

【図4】図3のステップS210で形成されたクロック
ツリーの構成概念図である。
FIG. 4 is a conceptual diagram illustrating a configuration of a clock tree formed in step S210 of FIG. 3;

【図5】本発明の好適な実施例を適用した半導体集積回
路を構成するクロックツリーの構成を表す概念図であ
る。
FIG. 5 is a conceptual diagram showing a configuration of a clock tree configuring a semiconductor integrated circuit to which a preferred embodiment of the present invention is applied.

【図6】単一クロックに対する従来のクロックツリー形
成方法におけるレイアウト設計フロー図である。
FIG. 6 is a layout design flowchart in a conventional clock tree forming method for a single clock.

【図7】従来のクロックツリー形成方法によるクロック
ツリーの構成を表す概念図である。
FIG. 7 is a conceptual diagram illustrating a configuration of a clock tree according to a conventional clock tree forming method.

【図8】クロックバッファ間のマンハッタン距離が等し
くなるように、従来の単相クロックツリー形成方法を用
いて設計した半導体集積回路の平面図である。
FIG. 8 is a plan view of a semiconductor integrated circuit designed using a conventional single-phase clock tree forming method so that the Manhattan distance between clock buffers is equal.

【図9】非重複2相クロック信号のタイミング波形図で
ある。
FIG. 9 is a timing waveform diagram of a non-overlapping two-phase clock signal.

【図10】従来のクロックツリー形成方法を適用して構
成した2つの非重複2相クロック信号に対するクロック
ツリーの構成を表す概念図である。
FIG. 10 is a conceptual diagram illustrating a configuration of a clock tree for two non-overlapping two-phase clock signals configured by applying a conventional clock tree forming method.

【図11】従来のクロックツリー形成方法を適用して構
成した非重複2相クロック信号を基本クロックとする半
導体集積回路のレイアウト設計フロー図である。
FIG. 11 is a flow chart of a layout design of a semiconductor integrated circuit using a non-overlapping two-phase clock signal as a basic clock configured by applying a conventional clock tree forming method.

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

41,42,1000,1102 クロックパッド 101,401〜405,801〜804,817〜8
21,1001〜1005,1103〜1107 ク
ロックバッファセル 102,103 バッファ回路 406〜433,805〜816,823〜838,1
006〜1021,1108〜1123 ファンクシ
ョナルセル 1101 従来の単相クロックツリー形成方法を用い
て設計した半導体集積回路
41, 42, 1000, 1102 Clock pad 101, 401-405, 801-804, 817-8
21, 1001 to 1005, 1103 to 1107 Clock buffer cells 102, 103 Buffer circuits 406 to 433, 805 to 816, 823 to 838, 1
006 to 1021, 1108 to 1123 Functional cell 1101 Semiconductor integrated circuit designed using conventional single-phase clock tree forming method

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H03K 19/0175 ──────────────────────────────────────────────────の Continued on the front page (51) Int.Cl. 6 Identification code FI H03K 19/0175

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 複数のクロック信号に同期し動作する論
理回路を内蔵する半導体集積回路のクロックツリーの設
計方法であって、複数のクロック信号が入力する各クロ
ック入力端子から、1個以上存在するクロックバッファ
回路の上位階層のクロックバッファ回路から下位階層の
前記クロックバッファ回路に向かって、前記論理回路を
構成するファンクショナルセルに各クロック信号を供給
するクロックツリーの設計方法において、 前記クロックバッファ回路は、入力端子に印加されたク
ロック信号を増幅して出力端子に出力するバッファ回路
を複数内蔵しレイアウト的に固定され、 前記クロックツリー上の前記クロックバッファセルを含
まない前記論理回路を構成する前記ファンクショナルセ
ル間接続情報をもとに、全ての前記ファンクショナルセ
ルを配置する論理回路配置工程と、 前記複数のクロック信号に対する前記複数のクロックツ
リー接続情報を、前記クロックバッファセルを各クロッ
クに対して共用して生成するクロックツリー接続情報生
成工程と、 前記クロックツリー接続情報をもとに、前記クロックバ
ッファ回路を配置するクロックバッファ配置工程とを含
み、 前記クロックツリー接続情報をもとに、前記各クロック
入力端子と対応する前記クロックバッファ回路の各入力
端子とを結ぶ配線、及び所定の上位階層のクロックバッ
ファ回路の各出力端子と対応する下位階層のクロックバ
ッファ回路の各入力端子とを結ぶ配線を平行して接続す
ることを特徴とする半導体集積回路のクロックツリー設
計方法。
1. A method for designing a clock tree of a semiconductor integrated circuit incorporating a logic circuit operating in synchronization with a plurality of clock signals, wherein at least one clock input terminal is present from each clock input terminal to which the plurality of clock signals are input. A method for designing a clock tree for supplying clock signals to functional cells forming the logic circuit from a clock buffer circuit in an upper hierarchy of the clock buffer circuit toward the clock buffer circuit in a lower hierarchy, wherein the clock buffer circuit comprises: A plurality of buffer circuits that amplify a clock signal applied to an input terminal and output the amplified signal to an output terminal, are fixed in layout, and constitute the logic circuit that does not include the clock buffer cell on the clock tree. Based on the connection information between the functional cells, all the functions A logic circuit arranging step of arranging a null cell; a clock tree connection information generating step of generating the plurality of clock tree connection information for the plurality of clock signals by sharing the clock buffer cell for each clock; A clock buffer arranging step of arranging the clock buffer circuit based on tree connection information, wherein each clock input terminal and each input terminal of the clock buffer circuit corresponding to the clock input terminal are arranged based on the clock tree connection information. And a wiring connecting the respective output terminals of the predetermined upper-layer clock buffer circuit and the corresponding input terminals of the lower-layer clock buffer circuit is connected in parallel to the clock of the semiconductor integrated circuit. Tree design method.
【請求項2】 前記ファンクショナルセルと前記クロッ
クツリー上のクロックバッファ回路のオーバーラップ配
置を、前記ファンクショナルセル又はクロックバッファ
回路の配置位置を変更することにより解消する工程を設
けたことを特徴とする請求項1記載の半導体集積回路の
クロックツリー設計方法。
2. The method according to claim 1, further comprising a step of changing an overlapping arrangement of the functional cell and the clock buffer circuit on the clock tree by changing an arrangement position of the functional cell or the clock buffer circuit. 2. The clock tree designing method for a semiconductor integrated circuit according to claim 1, wherein:
【請求項3】 前記ファンクショナルセル間接続情報と
前記クロックツリー接続情報をもとに、クロックが伝搬
するクロックラインを優先して配線する配線工程を設け
たことを特徴とする請求項1又は2記載の半導体集積回
路のクロックツリー設計方法。
3. A wiring step for preferentially wiring a clock line through which a clock propagates based on the information on connection between functional cells and the clock tree connection information. A clock tree design method for a semiconductor integrated circuit as described in the above.
【請求項4】 前記クロックバッファ回路のうちで下位
の階層に属する下位クロックバッファ回路を配置する際
に、前記各クロック入力端子とこれらの入力端子に対応
して各クロックが伝搬する経路上に存在する所定の同一
階層のクロックバッファ回路には、それぞれ同数の前記
下位クロックバッファ回路が接続されることを特徴とす
る請求項1、2又は3記載の半導体集積回路のクロック
ツリー設計方法。
4. When arranging a lower clock buffer circuit belonging to a lower hierarchy among the clock buffer circuits, the clock input terminals are present on a path through which each clock propagates corresponding to the input terminals. 4. The clock tree designing method for a semiconductor integrated circuit according to claim 1, wherein the same number of the lower clock buffer circuits are connected to the predetermined same-level clock buffer circuits.
【請求項5】 所定の前記クロックバッファ回路が駆動
する負荷容量が同一階層に存在する他の前記クロックバ
ッファ回路が駆動する負荷容量と等しくなるように前記
クロックツリー接続情報を生成することを特徴とする請
求項1、2又は3記載の半導体集積回路のクロックツリ
ー設計方法。
5. The clock tree connection information is generated such that a load capacity driven by a predetermined clock buffer circuit is equal to a load capacity driven by another clock buffer circuit existing in the same hierarchy. 4. The method for designing a clock tree of a semiconductor integrated circuit according to claim 1, 2 or 3.
【請求項6】 複数のクロック信号が入力する各クロッ
ク入力端子と、1個以上存在するクロックバッファ回路
の上位階層のクロックバッファ回路から下位階層の前記
クロックバッファ回路に向かって、論理回路を構成する
ファンクショナルセルに各クロック信号を供給するクロ
ックツリーを含む半導体集積回路において、 前記クロックバッファ回路は、入力端子に印加されたク
ロック信号を増幅して出力端子に出力するバッファ回路
を複数内蔵しレイアウト的に固定され、 前記各クロック入力端子と対応する前記クロックバッフ
ァ回路の各入力端子とを結ぶ配線、及び所定の上位階層
のクロックバッファ回路の各出力端子と対応する下位階
層のクロックバッファ回路の各入力端子とを結ぶ配線が
平行して接続されていることを特徴とする半導体集積回
路。
6. A logic circuit is formed from each clock input terminal to which a plurality of clock signals are input, and from a clock buffer circuit in an upper hierarchy of one or more clock buffer circuits to the clock buffer circuit in a lower hierarchy. In a semiconductor integrated circuit including a clock tree that supplies clock signals to functional cells, the clock buffer circuit includes a plurality of buffer circuits that amplify a clock signal applied to an input terminal and output the amplified signal to an output terminal. A wiring connecting each of the clock input terminals and the corresponding input terminal of the clock buffer circuit, and each input of a lower-layer clock buffer circuit corresponding to each output terminal of the predetermined upper-layer clock buffer circuit. Wherein the wires connecting the terminals are connected in parallel. Body integrated circuit.
【請求項7】 各クロックが伝搬する経路上に存在する
所定の同一階層のクロックバッファ回路には、それぞれ
同数の前記下位クロックバッファ回路が接続されている
ことを特徴とする請求項6記載の半導体集積回路。
7. The semiconductor device according to claim 6, wherein the same number of said lower-order clock buffer circuits are connected to clock buffer circuits of the same hierarchy existing on a path through which each clock propagates. Integrated circuit.
【請求項8】 前記半導体集積回路は、マスタスライス
方式で形成されていることを特徴とする請求項6又は7
記載の半導体集積回路。
8. The semiconductor integrated circuit according to claim 6, wherein the semiconductor integrated circuit is formed by a master slice method.
A semiconductor integrated circuit as described in the above.
【請求項9】 前記半導体集積回路は、セルベース方式
で形成されていることを特徴とする請求項6,7又は8
記載の半導体集積回路。
9. The semiconductor integrated circuit according to claim 6, wherein the semiconductor integrated circuit is formed by a cell-based method.
A semiconductor integrated circuit as described in the above.
JP9155092A 1997-06-12 1997-06-12 Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same Pending JPH113945A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9155092A JPH113945A (en) 1997-06-12 1997-06-12 Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9155092A JPH113945A (en) 1997-06-12 1997-06-12 Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same

Publications (1)

Publication Number Publication Date
JPH113945A true JPH113945A (en) 1999-01-06

Family

ID=15598474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9155092A Pending JPH113945A (en) 1997-06-12 1997-06-12 Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same

Country Status (1)

Country Link
JP (1) JPH113945A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6433606B1 (en) 2000-02-17 2002-08-13 Oki Electric Industry Co., Ltd. Clock driver circuit and method of routing clock interconnections
JP2005519385A (en) * 2002-03-01 2005-06-30 ザイリンクス インコーポレイテッド Low jitter clock for multi-gigabit transceivers in field programmable gate arrays
JP2007158505A (en) * 2005-12-01 2007-06-21 Renesas Technology Corp Semiconductor integrated circuit device and information system
JP2013097705A (en) * 2011-11-04 2013-05-20 Renesas Electronics Corp Layout device and layout method
CN105989197A (en) * 2015-01-28 2016-10-05 京微雅格(北京)科技有限公司 Clock tree routing method based on SAT algorithm
WO2021205895A1 (en) * 2020-04-09 2021-10-14 ソニーセミコンダクタソリューションズ株式会社 Signal processing device and sensing module

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6433606B1 (en) 2000-02-17 2002-08-13 Oki Electric Industry Co., Ltd. Clock driver circuit and method of routing clock interconnections
JP2005519385A (en) * 2002-03-01 2005-06-30 ザイリンクス インコーポレイテッド Low jitter clock for multi-gigabit transceivers in field programmable gate arrays
JP2007158505A (en) * 2005-12-01 2007-06-21 Renesas Technology Corp Semiconductor integrated circuit device and information system
JP2013097705A (en) * 2011-11-04 2013-05-20 Renesas Electronics Corp Layout device and layout method
CN105989197A (en) * 2015-01-28 2016-10-05 京微雅格(北京)科技有限公司 Clock tree routing method based on SAT algorithm
CN105989197B (en) * 2015-01-28 2019-06-11 京微雅格(北京)科技有限公司 Clock Tree wiring method based on SAT algorithm
WO2021205895A1 (en) * 2020-04-09 2021-10-14 ソニーセミコンダクタソリューションズ株式会社 Signal processing device and sensing module

Similar Documents

Publication Publication Date Title
US20030204822A1 (en) Digital logic optimization using selection operators
JPH08339236A (en) Clock signal distribution circuit
JP2008243993A (en) Three-dimensional integrated circuit design method and three-dimensional integrated circuit design apparatus
JP2003092352A (en) Clock signal distributing circuit for semiconductor integrated circuit device
JPH113945A (en) Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same
JP3412745B2 (en) Clock supply device for semiconductor circuit and design method thereof
US6088253A (en) Semiconductor memory device and method for forming same
JP3869406B2 (en) Clock phase difference detection circuit, clock distribution circuit, and large-scale integrated circuit
JP4878727B2 (en) Semiconductor integrated circuit
US6373288B1 (en) Method of implementing clock trees in synchronous digital electronic circuits, and a programmable delay buffer stage therefor
JP3028938B2 (en) Layout method of semiconductor integrated circuit
JP3920124B2 (en) Semiconductor integrated circuit clock wiring method and semiconductor integrated circuit
JP3104746B2 (en) Clock tree layout device
US6292043B1 (en) Semiconductor integrated circuit device
JP2000035832A (en) Semiconductor integrated circuit and its clock distributing method
JP2000029562A (en) Semiconductor integrated circuit and method for designing clock supply circuit
JP2993488B2 (en) Integrated circuit design method, integrated circuit, and storage medium
JP2003078014A (en) Clock distribution circuit by clock tree structure
JP2772696B2 (en) Semiconductor integrated circuit device
JPH0844776A (en) Method for designing clock wiring circuit of semiconductor integrated circuit
JP2908447B1 (en) Layout method of semiconductor integrated circuit
JPH06204435A (en) Method for designing clock tree of semiconductor integrated circuit and semiconductor integrated circuit using the same
JP2972719B2 (en) Semiconductor integrated circuit device and arrangement method thereof
JP3273683B2 (en) Semiconductor integrated circuit
JP2001267428A (en) Layout method of semiconductor integrated circuit

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000328