JP2953384B2 - Clock tree forming method for semiconductor integrated circuit - Google Patents

Clock tree forming method for semiconductor integrated circuit

Info

Publication number
JP2953384B2
JP2953384B2 JP8186112A JP18611296A JP2953384B2 JP 2953384 B2 JP2953384 B2 JP 2953384B2 JP 8186112 A JP8186112 A JP 8186112A JP 18611296 A JP18611296 A JP 18611296A JP 2953384 B2 JP2953384 B2 JP 2953384B2
Authority
JP
Japan
Prior art keywords
flip
delay
flops
clock
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP8186112A
Other languages
Japanese (ja)
Other versions
JPH1031689A (en
Inventor
尚 山内
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
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP8186112A priority Critical patent/JP2953384B2/en
Publication of JPH1031689A publication Critical patent/JPH1031689A/en
Application granted granted Critical
Publication of JP2953384B2 publication Critical patent/JP2953384B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は半導体集積回路のレ
イアウトに関し、特にLSIのクロック信号分配部分の
配置配線方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a layout of a semiconductor integrated circuit, and more particularly, to a method of arranging and routing clock signal distribution portions of an LSI.

【0002】[0002]

【従来の技術】従来のLSIのCADを用いたレイアウ
ト手法においては、配置配線工程において、その遅延を
CADのライブラリに登録された素子や配線の遅延値に
基づいて計算し、回路へのバッファ挿入や配線長の調整
により、全体の遅延を調整していた。
2. Description of the Related Art In a conventional layout method using CAD of an LSI, in a placement and routing process, a delay is calculated based on delay values of elements and wiring registered in a CAD library, and a buffer is inserted into a circuit. The overall delay was adjusted by adjusting the wiring length.

【0003】図5は本発明との比較のための従来のLS
Iのレイアウト手法で設計されたクロックツリ−形成方
法の第1の適用例を示す回路図であり、図中符号50
1、502、503、504はクロックツリーを形成す
るバッファ、505、506、507、508、50
9、510はフリップフロップ、511、512、51
3は組合せ回路である。
FIG. 5 shows a conventional LS for comparison with the present invention.
FIG. 10 is a circuit diagram showing a first application example of the clock tree forming method designed by the layout method of I, and reference numeral 50 in the figure.
Reference numerals 1, 502, 503, and 504 denote buffers forming clock trees, 505, 506, 507, 508, and 50, respectively.
9, 510 are flip-flops, 511, 512, 51
3 is a combination circuit.

【0004】511は505と506の間に入っている
回路であり、512は507と508の間に入っている
回路であり、513は509と510の間に入っている
回路である。506と507の間、508と509の間
は、配線のみで接続されているものとする。このとき、
511と512と513による遅延は各フリップフロッ
プ間のホールド時間制約を満たすには充分大きく、また
クロック周期の関係からセットアップ時間を満たすには
充分に小さいものとする。また、配線のみで接続された
フリップフロップ同士に対しては、クロック周期の関係
からセットアップ時間を満たすには充分小さいものとす
る。このときクロックツリー形成上の問題は、配線のみ
で接続されたフリップフロップ間同士のホールド時間の
制約である。
[0004] 511 is a circuit between 505 and 506, 512 is a circuit between 507 and 508, and 513 is a circuit between 509 and 510. It is assumed that the connection between 506 and 507 and the connection between 508 and 509 are made only by wiring. At this time,
The delay by 511, 512 and 513 is large enough to satisfy the hold time constraint between each flip-flop, and small enough to satisfy the setup time from the relation of the clock cycle. For flip-flops connected only by wiring, it is assumed that the flip-flops are small enough to satisfy the setup time due to the relationship between clock cycles. At this time, a problem in forming the clock tree is a restriction on a hold time between flip-flops connected only by wiring.

【0005】図6は本発明との比較のための従来のLS
Iのレイアウト手法で設計されたクロックツリ−形成方
法の第2の適用例を示す回路図であり、図中符号60
1、604、605、606、607はクロックツリー
を形成するバッファ、602、603はクロックツリ−
を形成するANDゲート、608、609、610、6
11、612、613、614、615はフリップフロ
ップ、616は遅延の小さなバッファ、617、61
8、619は組合せ回路である。
FIG. 6 shows a conventional LS for comparison with the present invention.
FIG. 15 is a circuit diagram showing a second application example of the clock tree forming method designed by the layout method I, and reference numeral 60 in the figure.
1, 604, 605, 606, 607 are buffers forming a clock tree, and 602, 603 are clock trees.
AND gates 608, 609, 610, 6
11, 612, 613, 614, 615 are flip-flops, 616 is a buffer with a small delay, 617, 61
8, 619 are combinational circuits.

【0006】このとき、617と618と619による
遅延は各フリップフロップ間のホールド時間制約を満た
すには充分大きく、またクロック周期の関係からセット
アップ時間を満たすには充分に小さいものとする。ま
た、配線のみで接続されたフリップフロップ同士に対し
ては、クロック周期の関係からセットアップ時間を満た
すには充分小さいものとする。616のバッファも、そ
れを介して接続されたフリップフロップに対しては、ク
ロック周期の関係からセットアップ時間を満たすには十
分小さいものとする。
At this time, the delay by 617, 618, and 619 is large enough to satisfy the hold time constraint between the flip-flops, and small enough to satisfy the setup time due to the relationship between clock cycles. For flip-flops connected only by wiring, it is assumed that the flip-flops are small enough to satisfy the setup time due to the relationship between clock cycles. It is also assumed that the buffer 616 is small enough to satisfy the setup time for the flip-flop connected via the buffer due to the relationship of the clock cycle.

【0007】[0007]

【発明が解決しようとする課題】クロック信号をフリッ
プフロップに分配する全経路であるクロックツリーの合
成等で使用される従来の遅延調整方式においては、CA
Dのライブラリのデータに基づいた遅延値、あるいは遅
延パタメータ値を使用して遅延の見積もりを行い、クロ
ック信号の元であるクロックドライバの出力端子から、
各フリップフロップのクロック入力端子までの遅延差つ
まりクロックスキューが小さくなるように調整してい
た。しかしながら、実際の遅延はLSIを製造する場合
の各種条件等により、ばらつきを生じる。このばらつき
を考慮した場合、単にライブラリの値のみに基づいて調
整を行った場合、物理的にばらつきが大きい部分ではレ
イアウト時の計算よりも遅延のずれが大きくなり、計算
値に対し無視できないクロックスキユーとなる場合があ
る。
In a conventional delay adjustment method used for synthesizing a clock tree, which is a whole path for distributing a clock signal to flip-flops, a CA is used.
Estimate the delay using the delay value or the delay parameter value based on the data of the library D, and from the output terminal of the clock driver that is the source of the clock signal,
The adjustment is made so that the delay difference, that is, the clock skew, to the clock input terminal of each flip-flop becomes small. However, the actual delay varies due to various conditions in manufacturing an LSI. In consideration of this variation, if the adjustment is made based solely on the values of the library, the deviation of the delay will be larger than the calculation at the time of the layout at the part where the variation is physically large, and the clock scan cannot be ignored for the calculated value. May be you.

【0008】このばらつきは、レイアウト用のCADで
は一般に考慮不可能なものであるため、レイアウト用の
CADに対するマージンとして扱われている。従って、
このマージンはレイウトCADでは調整できないものと
なり、このマージンを一律に考慮することにより、物理
的なばらつきが小さい回路部分に関しても、必要以上の
マージンを考慮する必要があり、結果としてクロックス
キュー調整の精度を悪くし、回路設計に必要以上の制約
を課すことになるという問題があった。
Since this variation cannot be generally considered in a layout CAD, it is treated as a margin with respect to the layout CAD. Therefore,
This margin cannot be adjusted by layout CAD, and by taking this margin into account uniformly, it is necessary to consider a margin more than necessary even in a circuit portion where physical variation is small, and as a result, the accuracy of clock skew adjustment And imposes unnecessary restrictions on circuit design.

【0009】一例として、図5に示された従来のクロッ
クツリー形成方法の第1の適用例においては、クロック
ツリー形成時に調整不可能な遅延は物理的な遅延のばら
つきも含めて、全体的に不確定値として処理する必要が
ある。つまり、マージンとして考慮する必要がある。こ
の場合、501、502、503、504はクロックの
ツリーを構成するバツファである。このとき、502、
503、504から先のもつ遅延の不確定値と、501
から先のもつ遅延の不確定値を特に区別せず、一律に不
確定値を考慮して、スキューを調整する必要がある。こ
のため、スキュー調整が困難となる場合があり、結果と
して配線のみで接続されているフリップフロップ間、即
ち506と507間、508と509間に対しては、遅
延制約が満たされず、再度回路の構成を変更し、クロッ
クツリー形成を行わなければならない場合がある。例え
ばこの回路においては、フリップフロップ間が配線で接
続されているものに関しては、その間にバッファ等を挿
入し、フリップフロップ間に遅延を付加しなければなら
ない場合がある。
As an example, in the first application example of the conventional clock tree forming method shown in FIG. 5, the delay that cannot be adjusted when forming the clock tree includes the entire delay including the physical delay variation. It must be processed as an indeterminate value. That is, it is necessary to consider it as a margin. In this case, 501, 502, 503, and 504 are buffers constituting a clock tree. At this time, 502,
The uncertainty values of the delays before 503 and 504 and 501
It is necessary to adjust the skew in consideration of the uncertainty value uniformly without distinction of the uncertainty value of the delay that exists. For this reason, it may be difficult to adjust the skew. As a result, the delay constraint is not satisfied between flip-flops connected only by wiring, ie, between 506 and 507, and between 508 and 509, and the circuit is not re-established. It may be necessary to change the configuration and perform clock tree formation. For example, in this circuit, if the flip-flops are connected by wiring, it may be necessary to insert a buffer or the like between the flip-flops and add a delay between the flip-flops.

【0010】また、図6に示す従来のクロックツリー形
成方法の第2の適用例においても、クロックツリー形成
時に調整不可能な遅延は物理的な遅延のばらつきも含め
て、全体的に不確定値として処理する必要がある。つま
り、マージンとして考慮する必要がある。この場合、6
04、605、606、607から先のもつ遅延の不確
定値と、602、603から先のもつ遅延の不確定値
と、601から先のもつ遅延の不確定値とを特に区別せ
ず、一律に不確定値を考慮して、スキューを調整する必
要がある。このため、スキュー調整が困難となる場合が
ある。結果として、配線のみで接続されているフリップ
フロップ間、即ち609と610間、612と613間
および小さな遅延を持つバッファのみを介して接続され
ているフリップフロップ611と612間に対しては、
遅延制約が満たされず、再度回路の構成を変更し、クロ
ックツリー形成を行わなければならない場合がある。こ
の回路においては、フリップフロップ間が配線で接続さ
れているものや小さな遅延を持つバッファのみを介して
接続されているものに関しては、その間にバッファ等を
挿入し、フリップフロップ間に遅延を付加しなければな
らない場合がある。
Also, in the second application example of the conventional clock tree forming method shown in FIG. 6, the delay which cannot be adjusted when forming the clock tree is an uncertain value as a whole, including physical delay variations. Need to be processed as That is, it is necessary to consider it as a margin. In this case, 6
04, 605, 606, and 607, the uncertainty value of the delay ahead of 602, 603, and the uncertainty value of the delay ahead of 601 are not particularly distinguished. It is necessary to adjust the skew in consideration of the uncertain value. For this reason, skew adjustment may be difficult. As a result, between flip-flops connected only by wiring, that is, between flip-flops 609 and 610, between flip-flops 612 and 613, and between flip-flops 611 and 612 connected only through a buffer having a small delay,
In some cases, the delay constraint is not satisfied, and the circuit configuration must be changed again to form a clock tree. In this circuit, if the flip-flops are connected by wiring or connected only via a buffer having a small delay, a buffer or the like is inserted between them and a delay is added between the flip-flops. May need to be done.

【0011】本発明の目的は、物理的なばらつきが小さ
い回路部分に関しては、必要以上のマージンを考慮する
ことなく、結果としてクロックスキュー調整の精度を上
げ、回路設計に必要以上の制約を課す必要のない半導体
集積回路のクロックツリー形成方法を提供することにあ
る。
An object of the present invention is to improve the accuracy of clock skew adjustment and impose unnecessarily high restrictions on circuit design without considering unnecessary margins for circuit portions with small physical variations. It is an object of the present invention to provide a method for forming a clock tree of a semiconductor integrated circuit without any problem.

【0012】[0012]

【課題を解決するための手段】本発明の半導体集積回路
のクロックツリー形成方法は、CADを用いた半導体集
積回路のクロックツリー形成方法において、クロック回
路を形成する素子や配線の形態に対応した遅延の物理的
変動量を、接続方式ごとに登録する。
A clock tree forming method for a semiconductor integrated circuit according to the present invention is a method for forming a clock tree for a semiconductor integrated circuit using CAD, wherein a delay corresponding to the form of elements and wiring forming the clock circuit is provided. Is registered for each connection method .

【0013】いに接続のあるフリップフロップの全て
のペアについて最大遅延量と最小遅延量を解析し、全て
のペアに対して、接続方式ごとに登録された遅延の物理
的変動量の最も多い接続方式から最も少ない接続方式の
順に、それぞれの物理的変動量を勘案した遅延が、フリ
ップフロップのホールド時間の制約とセットアップ時間
の制約を満たすか否かを検証して、該ペアに適用可能な
最も物理的変動量の多い接続方式を登録し、各ペアに登
録された接続方式を用いて全フリップフロップをグルー
プ化してクロックツリーを形成することにより、タイミ
ング制約の厳しい部分から、物理的変動量の少ない接続
方式を優先的に使用する
[0013] For all pairs of flip-flops with a connection to each other physician analyzes the maximum delay amount and the minimum delay amount, with respect to all the pairs, the most common physical variation of the delay which is registered for each connection method From the connection method to the least connection method, verify whether the delay considering the physical fluctuation amount satisfies the constraint of the hold time and the setup time of the flip-flop, and is applicable to the pair. By registering the connection method with the largest amount of physical fluctuation, and grouping all flip-flops using the connection method registered for each pair to form a clock tree, the physical fluctuation amount can be reduced from the parts with severe timing constraints. less connection method of preferentially use.

【0014】さらに、スキャン接続されているフリップ
フロップのペアのクロック入力を異なるバッファを介し
て接続する方式を方式1とし、スキャン接続されている
フリップフロップのペアのクロック入力をバッファを介
さないで配線のみで接続する方式を方式2として登録
し、方式2を物理的変動量の少ない接続方式としてタイ
ミング制約の厳しい部分から優先的に使用し、スキャン
接続されているフリップフロップのペアのクロック入力
を異なる多入力論理ゲートとバッファを挿入して接続す
る方式を方式1とし、スキャン接続されているフリップ
フロップのペアのクロック入力を異なるバッファを介し
て接続する方式を方式2とし、スキャン接続されている
フリップフロップのペアのクロック入力をバッファを介
さないで配線のみで接続する方式を方式3として登録
し、方式3を最も物理的変動量の少ない接続方式とし、
方式2を次に物理的変動量の少ない接続方式としてタイ
ミング制約の厳しい部分から優先的に使用する。
Further, the method of connecting the clock input of the pair of scan-connected flip-flops via a different buffer is referred to as method 1, and the clock input of the pair of scan-connected flip-flops is wired without passing through the buffer. A method of connecting only by using only the method 2 is registered as the method 2, and the method 2 is preferentially used as a connection method with a small amount of physical fluctuation from a part with strict timing restrictions, and clock inputs of a pair of flip-flops connected by scan are different. The method of inserting and connecting a buffer with a multi-input logic gate is referred to as method 1, the method of connecting the clock inputs of a pair of scan-connected flip-flops via different buffers is referred to as method 2, and the scan-connected flip-flops are referred to as method 2. The clock input of a pair of Register the method of connection as scheme 3, a small connection method most physical variation of scheme 3,
The method 2 is used next as the connection method with the least amount of physical fluctuation, with priority given to parts with strict timing constraints.

【0015】本発明のクロックツリー生成方式は、CA
DによるLSIの回路設計において、LSIの素子や配
線等の形態の製造上の各種条件によって発生する物理変
動量を、その種類別に登録し、タイミングの制約が厳し
い部分から、物理変動量の小さい形態を優先的に使用す
る機構を有することにより、クロックツリーの形成に当
り必要以上のマージンを考慮する必要がなくなった。
The clock tree generation method according to the present invention employs a CA
In the LSI circuit design by D, the physical fluctuation amount generated by various manufacturing conditions such as the form of the LSI element and the wiring is registered for each type. Has a mechanism to preferentially use the data, so that it is not necessary to consider a margin more than necessary in forming the clock tree.

【0016】[0016]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。図1は本発明の第1の実施
の形態の回路設計処理のフローチャートである。S10
1〜S113は各処理のステップを示す。
Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a flowchart of the circuit design processing according to the first embodiment of this invention. S10
1 to S113 indicate steps of each processing.

【0017】回路設計を開始すると(S101)、ま
ず、レイアウトにおいてクロックスキューが小さくなる
ように配置・配線を行なう技術であるクロックツリーシ
ンセシス技術等のクロックスキュー低減のためのプログ
ラムで保証可能な遅延の範囲、即ちソフトウエアで調整
可能な遅延と、製造プロセス等に関連する物理的な製造
ばらつきに起因する遅延のばらつきとを、クロックツリ
ー形成の各方式毎に加算し、これをクロックツリー形成
の各方式毎の不確定遅延として決定してライブラリに登
録する(S102)。この処理は、あらかじめ、ライブ
ラリに不確定遅延として登録されていれば、各回路に対
する処理ごとに行う必要はない。この第1の実施の形態
のフローでは、クロックツリー形成の方式を2つの方式
に分類したときの処理を示している。以下、遅延のばら
つきの大きい方式を方式1、小さい方式を方式2とす
る。
When the circuit design is started (S101), first, a delay which can be guaranteed by a program for reducing clock skew, such as a clock tree synthesis technique, which is a technique for arranging and wiring so as to reduce clock skew in a layout, is described. The range, that is, the delay that can be adjusted by software, and the variation in delay caused by physical manufacturing variation related to the manufacturing process and the like are added for each method of forming the clock tree, and this is added to each of the methods of forming the clock tree. It is determined as an uncertain delay for each method and registered in the library (S102). This process need not be performed for each process for each circuit if it is registered in advance in the library as an uncertain delay. In the flow of the first embodiment, processing when the method of forming a clock tree is classified into two methods is shown. Hereinafter, a method with a large delay variation is referred to as a method 1, and a method with a small delay is referred to as a method 2.

【0018】次に、回路全体にわたり、フリップフロッ
プ間の最悪遅延解析を行う。このステップでは、互いに
接続のあるフリップフロップの全てのペアに対し、その
最悪遅延を求める。最悪遅延値とは、ここでは、種々の
条件を考慮した場合の最大遅延と最小遅延の両方を示
す。この最悪遅延値は、各フリップフロップのクロック
入力までの遅延差は無視をして求めておく(S10
3)。次に、全てのフリップフロップのペア処理終了の
判定処理を行ない、全てのフリップフロップに対する処
理が終了していない場合は、そのフリップフロップのペ
アを1つづつ取り出して、各フリップフロップ間の1次
制約の解析S105に移行し、全てのフリップフロップ
に対し処理が終了すれば、フリップフロップのグループ
化の処理S111に移行する(S104)。
Next, the worst delay analysis between flip-flops is performed for the entire circuit. In this step, the worst delay is obtained for all pairs of flip-flops connected to each other. Here, the worst delay value indicates both the maximum delay and the minimum delay when various conditions are considered. The worst delay value is obtained by ignoring the delay difference up to the clock input of each flip-flop (S10).
3). Next, a determination process of the pair processing end of all the flip-flops is performed. If the processing of all the flip-flops is not completed, the flip-flop pairs are taken out one by one and the primary The process proceeds to constraint analysis S105, and if the process is completed for all flip-flops, the process proceeds to flip-flop grouping process S111 (S104).

【0019】処理が未了で、各フリップフロップ間の1
次制約の解析処理S105に移行すると、S103で求
められたフリップフロップ間の最悪遅延に対し、方式1
のもつ不確定遅延値を考慮し、制約の解析を行う。つま
り、最小遅延に対しては、その最小遅延から方式1の不
確定遅延値を減算し、それがデータを受け取る側のフリ
ップフロップのホールド時間の制約を満たすか否かを検
証し、最大遅延に対しては、その最大遅延に方式1の不
確定遅延値を加算し、クロック周期とデータを受け取る
側のフリップフロップのセットアップ時間の制約を満た
すか否かを検証する(S105)。
Processing has not been completed, and 1
When the process proceeds to the next constraint analysis process S105, the worst delay between flip-flops obtained in S103 is compared with the method 1
Analyze constraints considering the uncertain delay value of. In other words, for the minimum delay, the uncertain delay value of the method 1 is subtracted from the minimum delay, and it is verified whether or not the value satisfies the constraint of the hold time of the flip-flop on the data receiving side. On the other hand, the uncertain delay value of the method 1 is added to the maximum delay, and it is verified whether or not the clock cycle and the setup time of the flip-flop receiving the data are satisfied (S105).

【0020】この処理結果に対し、1次制約を満たすか
否かの判定を行ない、制約を満たすものに関しては、特
に特別な処理は行わず、判定処理S104に戻り、前述
のように全フリップフロップの処埋が未了であれば、次
のフリップフロップのペアに対して同様の処理を繰り返
す。1次制約の検証結果が満たされていない場合は、次
のフリップフロップ間の2次制約の解析S107に移行
する(S106)。
A determination is made as to whether or not the processing result satisfies the primary constraint. If the processing result satisfies the restriction, no special processing is performed, and the flow returns to the determination processing S104. Is not completed, the same processing is repeated for the next pair of flip-flops. If the verification result of the primary constraint is not satisfied, the process proceeds to analysis of the secondary constraint between the next flip-flops S107 (S106).

【0021】フリップフロップ間の2次制約解析処理で
は、S103で求められたフリップフロップ間の最悪遅
延に対し、方式2のもつ不確定遅延値を考慮し、制約の
解析を行う。つまり、最小遅延に対しては、その最小遅
延から方式2の不確定遅延値を減算し、それがデータを
受け取る側のフリップフロップのホールド時間の制約を
満たすか否かを検証し、最大遅延に対しては、その最大
遅延に方式2の不確定遅延値を加算し、クロック周期と
データを受け取る側のフリップフロップのセットアップ
時間の制約を満たすか否かを検証する(S107)。
In the secondary constraint analysis between flip-flops, the constraint is analyzed with respect to the worst delay between flip-flops obtained in S103, taking into account the uncertain delay value of method 2. In other words, for the minimum delay, the uncertain delay value of the method 2 is subtracted from the minimum delay, and it is verified whether or not the value satisfies the constraint of the hold time of the flip-flop receiving the data. On the other hand, the indeterminate delay value of the method 2 is added to the maximum delay, and it is verified whether or not the clock cycle and the setup time of the flip-flop on the data receiving side are satisfied (S107).

【0022】この処理結果に対し、2次制約を満たすか
否かの判定を行ない、制約を満たすものに関しては、フ
リップフロップのペアの登録処理S110に移行させ、
フリップフロップのペアを登録する。2次制約の検証結
果が満たされていない場合は、最良のクロックツリー形
成の方式を使用しても、遅延制約を満たさないというこ
とであるため、回路の遅延再調整処理S109に移行す
る(S108)。
A determination is made as to whether or not the processing result satisfies the secondary constraint. If the processing result satisfies the restriction, the process proceeds to flip-flop pair registration processing S110.
Register a pair of flip-flops. If the verification result of the secondary constraint is not satisfied, it means that the delay constraint is not satisfied even if the best clock tree formation method is used, and therefore, the process proceeds to the circuit delay readjustment processing S109 (S108). ).

【0023】回路の遅延再調整処理S109が行なわれ
た後には、フリップフロップ間の最悪遅延解析S103
に戻り、再度処理を繰り返す。ここで、予め方式2に対
する不確定遅延を考慮して遅延調整済みの回路に対し処
理を行う場合は、2次制約を満たすように回路生成が行
われているとの仮定のもとで、S106の判定において
1次制約を満たさないものと判定されたものについて
は、S107、S108、S109の処理は不要とし、
ただちに、フリップフロップのペアの登録処理S110
を行えば良い(S109)。
After the circuit delay readjustment processing S109 is performed, the worst delay analysis S103 between flip-flops is performed.
And the process is repeated again. Here, when processing is performed on the circuit whose delay has been adjusted in consideration of the uncertain delay for the method 2 in advance, it is assumed that the circuit is generated so as to satisfy the quadratic constraint in S106. For those determined not to satisfy the primary constraint in the determination of, the processing of S107, S108, and S109 is unnecessary, and
Immediately, a flip-flop pair registration process S110
(S109).

【0024】フリップフロップのペアの登録処理の後に
は、すべてのフリップフロップのペアの処理が終了した
か否かの判定S104に戻る(S110)。すべてのフ
リップフロップのペアの処理が未了であれば、次のフリ
ップフロップのペアに対し、処理を続けて行う。すべて
のフリップフロップのペアの処理が終了した場合には、
フリップフロップのグループ化処理S111に移行す
る。
After the registration processing of the flip-flop pairs, the process returns to step S104 to determine whether or not the processing of all the flip-flop pairs has been completed (S110). If the processing of all the flip-flop pairs is not completed, the processing is continued for the next flip-flop pair. When all flip-flop pairs have been processed,
The process proceeds to flip-flop grouping processing S111.

【0025】フリップフロップのグループ化処理では、
フリップフロップのペアが、S110の登録処理により
登録されているので、まず、1組のフリップフロップの
ペアをグループとして、グループのうち最低1つのフリ
ップフロップが共通であるグループ同士に対しては、両
グループを結合し、つまりその2つのグループに含まれ
る、全フリップフロップで、新たなグループを形成して
ゆく。この処理を当初の全てのフリップフロップのペア
で形成されたグループに対して行う。この処理で、互い
に結合されなかったグループが最終的に、独立したグル
ープとして残る(S111)。
In the flip-flop grouping process,
Since the flip-flop pair is registered by the registration process of S110, first, one pair of flip-flops is set as a group. The groups are combined, that is, all flip-flops included in the two groups form a new group. This process is performed on the group formed by all the flip-flop pairs at the beginning. In this process, groups that have not been combined with each other ultimately remain as independent groups (S111).

【0026】フリップフロップのグループ化処理S11
1の終了後、クロックツリ−生成処理S112に移行す
る。クロックツリー生成処理においては、S111でグ
ループ化されたものに対し、同一グループに含まれるフ
リップフロップ間に対しては方式2を、その他に関して
は方式1を使用して、クロックツリーを形成して(S1
12)、終了する(S113)。
Flip-flop grouping processing S11
After 1 is completed, the flow shifts to clock tree generation processing S112. In the clock tree generation process, a clock tree is formed using the method 2 for flip-flops included in the same group and the method 1 for the others in the groups grouped in S111 ( S1
12), and end (S113).

【0027】図2は本発明の第1の実施の形態によるL
SIのレイアウト手法で設計されたクロックツリー形成
方法の適用例を示す回路図であり、図中符号201、2
02、203、204はクロックツリーを形成するバッ
ファ、205、206、207、208、209、21
0はフリップフロップ、211、212、213は組合
せ回路である。本図は図5の従来の第1の適用例に対応
しており、下2桁の同じ符号はそれぞれが対応関係にあ
る。
FIG. 2 shows L according to the first embodiment of the present invention.
FIG. 9 is a circuit diagram showing an application example of a clock tree forming method designed by an SI layout method.
02, 203 and 204 are buffers forming a clock tree, 205, 206, 207, 208, 209 and 21
0 is a flip-flop, and 211, 212, and 213 are combinational circuits. This figure corresponds to the first application example of the related art shown in FIG. 5, and the same reference numerals in the last two digits correspond to each other.

【0028】前述のように、図5に示された従来のクロ
ックツリー形成方法の第1の適用例においては、クロッ
クツリー形成時に調整不可能な遅延は物理的な遅延のば
らつきも含めて、全体的に不確定値として処理する必要
がある。つまり、マージンとして考慮する必要がある。
この場合、501、502、503、504はクロック
のツリーを構成するバツファである。このとき、50
2、503、504から先のもつ遅延の不確定値と、5
01から先のもつ遅延の不確定値を特に区別せず、一律
に不確定値を考慮して、スキューを調整する必要があ
る。このため、スキュー調整が困難となる場合が あ
り、結果として配線のみで接続されているフリップフロ
ップ間、即ち506と507間、508と509間に対
しては、遅延制約が満たされず、再度回路の構成を変更
し、クロックツリー形成を行わなければならない場合が
ある。例えばこの回路においては、フリップフロップ間
が配線で接続されているものに関しては、その間にバッ
ファ等を挿入し、フリップフロップ間に遅延を付加しな
ければならない場合がある。
As described above, in the first application example of the conventional clock tree forming method shown in FIG. 5, the delay that cannot be adjusted when forming the clock tree includes the entire delay including the physical delay variation. Must be processed as an uncertain value. That is, it is necessary to consider it as a margin.
In this case, 501, 502, 503, and 504 are buffers constituting a clock tree. At this time, 50
The uncertainty values of the delays ahead of 2, 503 and 504 and 5
It is necessary to adjust the skew in consideration of the uncertainty value uniformly without distinguishing the uncertainty value of the delay from 01 in particular. For this reason, it may be difficult to adjust the skew. As a result, the delay constraint is not satisfied between flip-flops connected only by wiring, that is, between 506 and 507, and between 508 and 509, and the circuit is not re-established. It may be necessary to change the configuration and perform clock tree formation. For example, in this circuit, if the flip-flops are connected by wiring, it may be necessary to insert a buffer or the like between the flip-flops and add a delay between the flip-flops.

【0029】これに対し、図2に示す本発明のクロック
ツリー形成方法では、クロックツリーの形成の方式を、
その物理的な遅延のばらつきを考慮して、複数の方式に
分けて考え、制約の厳しいフリップフロップ間に関して
は、ばらつきの少ない方式を採用する。この例では、互
いにスキャンパス接続されたフリップフロップのペア間
(1つのフリップフロップの出力と他のフリップフロッ
プのスキャン入力が接続されている場合、スキャン接続
されているとしている)のクロックの接続で、フリップ
フロップのクロック入力をバッファを介して接続する
(大元のクロックから、異なるバッファを使用している
部分がある)方式を方式1、フリップフロップのクロッ
ク入力間にバッファを介さない、配線のみで接続する
(大元のクロックからすべて同じバッファで接続されて
いる)方式を方式2として区別している。
On the other hand, the clock tree forming method of the present invention shown in FIG.
Considering the variation of the physical delay, the method is divided into a plurality of schemes, and a scheme with less variation is adopted between flip-flops with severe restrictions. In this example, a clock connection between a pair of flip-flops that are scan-path connected to each other (when the output of one flip-flop and the scan input of another flip-flop are connected, it is assumed that they are scan-connected). The method of connecting the clock input of the flip-flop via a buffer (there is a portion using a different buffer from the original clock) is the method 1, the wiring is not provided between the clock input of the flip-flop and only the wiring Are connected as the second clock (all are connected by the same buffer from the original clock).

【0030】ここで、この回路において問題となる遅延
制約は、フリップフロップのホールド時間であり、問題
になる回路部分は、フリップフロップ間が配線のみで接
続されている部分、即ち図2ではフリップフロップ20
6と207の間およびフリップフロップ208と209
の間であり、図5ではフリップフロップ506と507
の間およびフリップフロップ508と509の間であ
る。従来の方式によれば図5に見られるようにフリップ
フロップ506と507およびフリップフロップ508
と509のクロック入力にはいずれも異なるバッファを
経由したクロック回路が接続されている。図2の本発明
のクロックツリー形成方法では、このフリップフロップ
間が直接配線されているフリップフロップ206と20
7およびフリップフロップ208と209のクロック入
力にはいずれも同じバッファを経由したクロック回路即
ち方式2が採用されている。このように遅延制約の問題
となる部分に対しては、方式2が優先的に採用され、そ
の他の部分には方式1が採用されている。これにより、
必要以上のマージンを考慮する必要がなく、必要以上の
遅延調整が不要となる。
Here, the delay constraint which becomes a problem in this circuit is the hold time of the flip-flop, and the circuit portion which becomes a problem is a portion where only the wiring is connected between the flip-flops, that is, in FIG. 20
6 and 207 and flip-flops 208 and 209
In FIG. 5, flip-flops 506 and 507 are used.
And between flip-flops 508 and 509. According to the conventional scheme, flip-flops 506 and 507 and flip-flop 508 as shown in FIG.
And 509 are connected to clock circuits via different buffers. In the clock tree forming method of the present invention shown in FIG. 2, the flip-flops 206 and 20 are directly wired between the flip-flops.
7 and the clock input to the flip-flops 208 and 209, the clock circuit via the same buffer, that is, scheme 2 is adopted. As described above, the method 2 is preferentially applied to the part where the delay restriction is a problem, and the method 1 is employed to the other parts. This allows
It is not necessary to consider a margin more than necessary, and unnecessary delay adjustment becomes unnecessary.

【0031】図3は本発明の第2の実施の形態の回路設
計処理のフローチャートである。S301〜S314は
各処理のステップを示す。本実施の形態ではクロックツ
リー形成の方式毎のそれぞれの不確定遅延は、あらかじ
め、ライブラリに登録されているものとしている。また
このフローでは、クロックツリー形成の方式を遅延のば
らつきの大小によってn個に分類したときの処理を示し
ている。以下、遅延のばらつきの大きい方式から順に、
方式1、方式2とし、最小の遅延のばらつきをもつ方式
を方式nとする。いま、kを1以上n以下の整数とする
とき、k次制約とは、方式kのばらつきを考慮したとき
に満たささねばならない遅延制約であり、k次グループ
とは、そのk次制約を満たす、フリップフロップのペア
の集合である。ただし、このグループ化においては、満
たしている制約kの最小のものをとって、k次グループ
とよぶ。
FIG. 3 is a flowchart of a circuit design process according to the second embodiment of the present invention. S301 to S314 show the steps of each processing. In the present embodiment, it is assumed that each uncertain delay for each clock tree formation method is registered in the library in advance. Also, this flow shows the processing when the clock tree formation method is classified into n according to the magnitude of delay variation. Hereinafter, in order from the method with the largest delay variation,
Methods 1 and 2 are used, and a method having the minimum delay variation is referred to as a method n. Now, when k is an integer of 1 or more and n or less, the k-th order constraint is a delay constraint that must be satisfied when the variation of the method k is considered, and the k-th order group satisfies the k-th order constraint. , A set of flip-flop pairs. However, in this grouping, the smallest constraint k that satisfies is taken and called a k-th group.

【0032】処理を開始すると(S301)、まず、回
路全体にわたり、フリップフロップ間の最悪遅延解析を
行う、これにより、互いに接続のあるフリップフロップ
の全てのペアに対し、その最悪遅延を求める。最悪遅延
値とは、ここでは、種々の条件を考慮した場合の最大遅
延と最小遅延の両方を示す。この最悪遅延値は、各フリ
ップフロップのクロック入力までの遅延差は無視をして
求めておく(S302)。
When the process is started (S301), first, a worst-case delay analysis between flip-flops is performed over the entire circuit, thereby obtaining the worst-case delay for all pairs of flip-flops connected to each other. Here, the worst delay value indicates both the maximum delay and the minimum delay when various conditions are considered. The worst delay value is obtained by ignoring the delay difference up to the clock input of each flip-flop (S302).

【0033】次に、k=0として、kの初期値を定める
(S303)。そして次のステップではkをインクリメ
ントする(S304)。次にkがn以下か否かを判断
し、nより大きければ、フリップフロップのグループ化
処理S312に移行する。kがn以下の場合は全てのフ
リップフロップのペアの処理が終了したかの判定S30
6に移行する(S305)。全てのフリップフロップの
ペアの処理が終了したかの判定で、未検証のフリップフ
ロップのペアがある場合は、フリップフロップのペアを
1つづつ取り出し、各フリップフロップ間のk次制約の
解析処理S307に移行する。全てのフリップフロップ
に対し処理が終了すれば、処理終了を判定し、S304
の処理に戻す(S306)。S304ではkをインクリ
メントし、前回と同様な処理を繰り返す。
Next, assuming that k = 0, an initial value of k is determined (S303). Then, in the next step, k is incremented (S304). Next, it is determined whether or not k is equal to or less than n. If k is greater than n, the process proceeds to flip-flop grouping processing S312. If k is equal to or less than n, it is determined whether or not processing of all flip-flop pairs has been completed S30
6 (S305). When it is determined whether the processing of all the flip-flop pairs has been completed, if there are unverified flip-flop pairs, the flip-flop pairs are taken out one by one, and the k-th order constraint analysis processing S307 between the flip-flops is performed. Move to If the processing is completed for all flip-flops, it is determined that the processing has been completed, and S304 is performed.
(S306). In S304, k is incremented, and the same processing as the previous time is repeated.

【0034】S306で未検証のフリップフロップのペ
アがあり各フリップフロップ間のk次制約の解析処理S
307の処理に移った場合は、S302で求められたフ
リップフロップ間の最悪遅延に対し、方式kのもつ不確
定遅延値を考慮し、制約の解析を行う。つまり、最小遅
延に対しては、その最小遅延から方式kの不確定遅延値
を減算して、それがデータを受け取る側のフリップフロ
ップのホールド時間の制約を満たすか否かを検証し、最
大遅延に対しては、その最大遅延に方式kの不確定遅延
値を加算し、クロック周期とデータを受け取る側のフリ
ップフロップのセットアップ時間の制約を満たすか否か
を検証する(S307)。
In step S306, there is an unverified pair of flip-flops, and a k-th order constraint analysis process between the flip-flops is performed.
When the process proceeds to step 307, a constraint analysis is performed on the worst delay between flip-flops obtained in step S302, in consideration of the uncertain delay value of the method k. In other words, for the minimum delay, the uncertain delay value of the method k is subtracted from the minimum delay, and it is verified whether or not the value satisfies the constraint of the hold time of the flip-flop receiving the data. , The uncertain delay value of the method k is added to the maximum delay, and it is verified whether or not the clock cycle and the setup time of the flip-flop on the data receiving side are satisfied (S307).

【0035】この処理結果に対し、k次制約を満たすか
否かの判定S308において、制約を満たすものに関し
ては、k次グループとしてフリップフロップのペアの登
録を行う。ただし、そのペアがすでに、過去に登録され
ていれば、つまり、k−1次以下のグループに登録され
ていれば、登録しない。処理S310の後には、全ての
フリップフロップのペアの処理が終了したかの判定S3
06に移行する(S310)。
In this processing result, in the judgment S308 as to whether or not the k-th order constraint is satisfied, a pair of flip-flops is registered as a k-th order group if the constraint is satisfied. However, if the pair has already been registered in the past, that is, if it has been registered in a group of order k-1 or less, it is not registered. After the processing S310, it is determined whether the processing of all the flip-flop pairs is completed S3.
The process moves to 06 (S310).

【0036】k次制約を満たすか否かの判定S308の
判定において、k次制約を満たさない場合は、S309
の判定処理に移行し、k=nの場合は、最良の遅延ばら
つきの方式を用いても調整不可能であったということで
あるため、遅延再調整処理S311に移し、k=nでな
い場合は全てのフリップフロップのペアの処理が終了し
たかの判定S306に戻し、処理を繰り返す(S30
9)。遅延再調整処理S311では回路の遅延を再調整
し、再調整後に、フリップフロップ間の最悪遅延解析S
302に戻し処理を繰り返す(S311)。
In the determination of whether or not the k-th order constraint is satisfied, if the k-th order constraint is not satisfied in S 308, the process proceeds to S 309.
When k = n, it means that adjustment was impossible even if the best delay variation method was used, so the flow proceeds to delay readjustment processing S311. The process returns to step S306 to determine whether the processing of all the flip-flop pairs is completed, and repeats the processing (S30).
9). In the delay readjustment process S311, the delay of the circuit is readjusted, and after the readjustment, the worst delay analysis S
The process returns to 302 and the process is repeated (S311).

【0037】全てのフリップフロップのペアの処理が終
了したかの判定S306の判定において、すべてのフリ
ップフロップ間の処理が終了したならば、処理S304
に移行し、kをインクリメントし、次のkに対する処理
を行う。S305の判定において、kがnを越えたなら
ば、つまり、k=nまでの遅延制約に対する解析が、す
べてのフリップフロップ間において、終了したならば、
フリップフロップのグループ化処理S312を行う。
If it is determined in step S306 that the processing of all the flip-flop pairs has been completed, if the processing between all the flip-flops has been completed, the processing proceeds to step S304.
Then, k is incremented, and processing for the next k is performed. In the determination in S305, if k exceeds n, that is, if the analysis for the delay constraint up to k = n has been completed between all the flip-flops,
A flip-flop grouping process S312 is performed.

【0038】フリップフロップのグループ化処理S31
2では、フリップフロップのペアが、S310の登録処
理により登録されているため、まず、1組のフリップフ
ロップのペアをグループとして、グループのうち最低1
つのフリップフロップが共通であるグループ同士に対し
ては、両グループを結合し、つまりその2つのグループ
に含まれる、全フリップフロップで、新たなグループを
形成していく。この処理を当初の全てのフリップフロッ
プのペアで形成されたグループに対して行う。この処理
で、互いに結合されなかったグループが最終的に独立し
たグループとして残る(S312)。
Flip-flop grouping processing S31
In No. 2, since a pair of flip-flops is registered by the registration processing of S310, first, one pair of flip-flops is set as a group, and at least one of the groups is set.
For groups sharing one flip-flop, the two groups are combined, that is, a new group is formed by all flip-flops included in the two groups. This process is performed on the group formed by all the flip-flop pairs at the beginning. In this process, groups that have not been combined with each other remain as independent groups (S312).

【0039】フリップフロップのグループ化処理S31
2の終了後、クロックツリー生成処理S313に移行す
る。クロックツリー生成処理S313において、S31
0でグループ化されたものに対し、k次のグループに含
まれるフリップフロップ間に対しては方式k以上の次数
の方式を使用してクロックツリーを形成する。ここで、
1次のグループは、最悪を考慮した場合であるので、特
別な処理は不要である(S313)。クロックツリーが
完成して処理を終了する(S314)。
Flip-flop grouping processing S31
After the completion of Step 2, the flow shifts to clock tree generation processing S313. In the clock tree generation processing S313, S31
A clock tree is formed between flip-flops included in the k-th order group by using a method of order k or more, with respect to those grouped by 0. here,
Since the primary group is a case where the worst is considered, no special processing is required (S313). When the clock tree is completed, the process ends (S314).

【0040】図4は本発明の第2の実施の形態によるL
SIのレイアウト手法で設計されたクロックツリ−形成
方法の適用例を示す回路図であり、図中符号401、4
04、405、406、407はクロックツリーを形成
するバッファ、402、403はクロックツリ−を形成
するANDゲート、408、409、410、411、
412、413、414、415はフリップフロップ、
416は遅延の小さなバッファ、417、418、41
9は組合せ回路である。本図は図6の従来の第2の適用
例に対応しており、下2桁の同じ符号はそれぞれが対応
関係にある。
FIG. 4 shows L according to the second embodiment of the present invention.
FIG. 9 is a circuit diagram showing an application example of a clock tree forming method designed by an SI layout method.
Reference numerals 04, 405, 406, and 407 denote buffers for forming a clock tree, reference numerals 402 and 403 denote AND gates for forming a clock tree, and reference numerals 408, 409, 410, and 411.
412, 413, 414 and 415 are flip-flops,
416 is a buffer with a small delay, 417, 418, 41
9 is a combination circuit. This figure corresponds to the second application example of the related art shown in FIG. 6, and the same reference numerals in the last two digits correspond to each other.

【0041】前述のように、図6に示す従来のクロック
ツリー形成方法の第2の適用例においては、クロックツ
リー形成時に調整不可能な遅延は物理的な遅延のばらつ
きも含めて、全体的に不確定値として処理する必要があ
る。つまり、マージンとして考慮する必要がある。この
場合、604、605、606、607から先のもつ遅
延の不確定値と、602、603から先のもつ遅延の不
確定値と、601から先のもつ遅延の不確定値を特に区
別せず、一律に不確定値を考慮して、スキューを調整す
る必要がある。このため、スキュー調整が困難となる場
合がある。結果として、配線のみで接続されているフリ
ップフロップ間、即ち609と610間、612と61
3間および小さな遅延を持つバッファのみを介して接続
されているフリップフロップ611と612間に対して
は、遅延制約が満たされず、再度回路の構成を変更し、
クロックツリー形成を行わなければならない場合があ
る。この回路においては、フリップフロップ間が配線で
接続されているものや小さな遅延を持つバッファのみを
介して接続されているものに関しては、その間にバッフ
ァ等を挿入し、フリップフロップ間に遅延を付加しなけ
ればならない場合がある。
As described above, in the second application example of the conventional clock tree forming method shown in FIG. 6, the delay which cannot be adjusted when forming the clock tree includes the entire delay including the physical delay variation. It must be processed as an indeterminate value. That is, it is necessary to consider it as a margin. In this case, there is no particular distinction between the uncertainty value of the delay ahead of 604, 605, 606, 607, the uncertainty value of the delay ahead of 602, 603, and the uncertainty value of the delay ahead of 601. It is necessary to adjust the skew in consideration of the uncertain value. For this reason, skew adjustment may be difficult. As a result, between flip-flops connected only by wiring, that is, between 609 and 610, and between 612 and 61
The delay constraint is not satisfied between the flip-flops 611 and 612 connected only between the three buffers and the buffer having a small delay, and the circuit configuration is changed again.
Clock tree formation may need to be performed. In this circuit, if the flip-flops are connected by wiring or connected only via a buffer having a small delay, a buffer or the like is inserted between them and a delay is added between the flip-flops. May need to be done.

【0042】これに対し、図4に示す、本発明のクロッ
クツリー形成方法では、クロックツリーの形成の方式
を、その物理的な遅延のばらつきを考慮して、複数の方
式に分けて考え、制約の厳しいフリップフロップ間に関
しては、ばらつきの少ない方式を採用する。
On the other hand, in the clock tree forming method of the present invention shown in FIG. 4, the method of forming the clock tree is divided into a plurality of methods in consideration of the variation of the physical delay, and the method is restricted. For flip-flops with strict requirements, a method with less variation is adopted.

【0043】この例では、クロックツリー形成の方式
を、3段階に分け、互いにスキャンパス接続されたフリ
ップフロップのペア間(1つのフリップフロップの出力
と他のフリップフロップのスキャン入力が接続されてい
る場合、スキャン接続されているとしている)のクロッ
クの接続で、フリップフロップのクロック入力間にバッ
ファを介さない、配線のみで接続する(大元のクロック
からすべて同じバッファで接続されている)方式を方式
3とし、フリップフロップののクロック入力をバッファ
を1段挿入して調節して接続する(大元のクロックか
ら、異なるバッファを1段使用している部分がある)方
式を方式2とし、ANDゲートとバッファを1段づつ挿
入する(大元のクロックから、異なるANDゲートと異
なるバッファとを各1段使用している部分がある)方式
を方式1として区別している。
In this example, the method of forming a clock tree is divided into three stages, and a pair of flip-flops that are scan-path connected to each other (the output of one flip-flop and the scan input of another flip-flop are connected). In the case of a clock connection, scan connection is used), and a buffer is not connected between clock inputs of flip-flops, and only wiring is used (all clocks are connected by the same buffer from the original clock). Method 3 is a method in which the clock input of the flip-flop is connected by adjusting a buffer by inserting one stage (a part uses a different buffer from the original clock). Gates and buffers are inserted one by one (from the original clock, different AND gates and different buffers It is distinguished by being there is a portion) scheme used as a method 1.

【0044】フリップフロップのデータの入出力が、配
線のみで接続されたフリップフロップ間同士のホールド
時間の制約は方式3でのみ、遅延の小さなバッファを介
して接続された部分の遅延に対する制約は方式2または
3を便用すれば満たされるものとする。
The restriction of the hold time between flip-flops in which data input / output of flip-flops are connected only by wiring is limited only by the method 3, and the restriction on delay of a portion connected via a buffer having a small delay is determined by the method. It shall be satisfied if 2 or 3 is used.

【0045】ここで、この回路において問題となる遅延
制約は、フリップフロップのホールド時間であり、問題
になる回路部分は、フリップフロップ間が配線のみで接
続されている部分、即ちフリップフロップ409と41
0、412と413と、小さな遅延をもつバッファのみ
で接続されている部分、即ちフリップフロップ411と
412である。
Here, the delay constraint which becomes a problem in this circuit is the hold time of the flip-flop. The circuit portion which becomes a problem is a portion where the flip-flops are connected only by wiring, ie, flip-flops 409 and 41.
0, 412 and 413, and the parts connected only by buffers having a small delay, that is, flip-flops 411 and 412.

【0046】従来の方式によれば図6に見られるよう
に、フリップフロップ612と613のクロック入力に
は同じバッファを経由したクロック回路が接続されてい
るが、フリップフロップ609と610には異なるバッ
ファを経由したクロック回路が接続されており、フリッ
プフロップ611と612のクロック入力にはいずれに
も異なるANDゲートとバッファを経由したクロック回
路が接続されている。一方図4の本発明のクロックツリ
ー形成方法では、このフリップフロップ間が直接配線さ
れているフリップフロップ409と410およびフリッ
プフロップ412と413のクロック入力にはいずれも
同じバッファを経由したクロック回路、即ち方式3が接
続されており、フリップフロップ411と412には、
ANDゲートが共通で異なるバッファを経由したクロッ
ク回路、即ち方式2が接続されている。
According to the conventional method, as shown in FIG. 6, clock circuits via the same buffer are connected to the clock inputs of the flip-flops 612 and 613, but different buffers are connected to the flip-flops 609 and 610. And a clock circuit via a different AND gate and a buffer is connected to the clock inputs of the flip-flops 611 and 612. On the other hand, in the clock tree forming method of the present invention shown in FIG. 4, the clock circuits which pass through the same buffer are all provided to the clock inputs of the flip-flops 409 and 410 and the flip-flops 412 and 413, which are directly wired between the flip-flops. Method 3 is connected, and flip-flops 411 and 412 have
A clock circuit having a common AND gate and passing through different buffers, that is, scheme 2 is connected.

【0047】本発明によれば、このように遅延制約の問
題となる部分に対して、この直接配線部分に対しては方
式3を優先的に採用し、小さな違延をもつバッファのみ
を介して接続されている部分に対しては方式2、あるい
は3を優先的に採用し、その他の部分に対しては方式1
を採用する。これにより、必要以上のマージンを考慮す
る必要がなく、必要以上の遅延調整が不要となる。
According to the present invention, the method 3 is preferentially adopted for the part where the delay restriction is a problem, and only the buffer having a small difference is used for the direct wiring part. Method 2 or 3 is preferentially adopted for connected parts, and method 1 is used for other parts.
Is adopted. As a result, there is no need to consider a margin more than necessary, and unnecessary delay adjustment is unnecessary.

【0048】[0048]

【発明の効果】以上説明したように本発明は、素子や配
線の形態により異なる製造プロセス等に関連する物理的
な製造ばらつきに起因する遅延のばらつきを、クロック
ツリー形成の各方式ごとに定めておき、方式ごとに考慮
すべきマージンを変えることにより、物理的なばらつき
が小さい部分に対しては必要以上のマージンを考慮する
必要をなくし、遅延制約の問題となる部分に対してはば
らつきの少ない方式を適用することにより回路設計に必
要以上の制約を課する必要がなくなるという効果があ
る。
As described above, according to the present invention, delay variations caused by physical manufacturing variations related to manufacturing processes and the like that differ depending on the form of elements and wirings are determined for each clock tree formation method. In addition, by changing the margin to be considered for each method, it is not necessary to consider an excessive margin for a portion with small physical variation, and there is little variation for a portion that is a problem of delay constraint. By applying the method, there is an effect that it is not necessary to impose unnecessary restrictions on circuit design.

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

【図1】図1は本発明の第1の実施の形態の回路設計処
理のフローチャートである。
FIG. 1 is a flowchart of a circuit design process according to a first embodiment of the present invention.

【図2】本発明の第1の実施の形態によるLSIのレイ
アウト手法で設計されたクロックツリ−形成方法の適用
例を示す回路図である。
FIG. 2 is a circuit diagram showing an application example of a clock tree forming method designed by an LSI layout method according to the first embodiment of the present invention.

【図3】本発明の第2の実施の形態の回路設計処理のフ
ローチャートである。
FIG. 3 is a flowchart of a circuit design process according to a second embodiment of the present invention.

【図4】本発明の第2の実施の形態によるLSIのレイ
アウト手法で設計されたクロックツリー形成方法の適用
例を示す回路図である。
FIG. 4 is a circuit diagram showing an application example of a clock tree forming method designed by an LSI layout method according to a second embodiment of the present invention.

【図5】本発明との比較のための従来のLSIのレイア
ウト手法で設計されたクロックツリ−形成方法の第1の
適用例を示す回路図である。
FIG. 5 is a circuit diagram showing a first application example of a clock tree forming method designed by a conventional LSI layout method for comparison with the present invention.

【図6】本発明との比較のための従来のLSIのレイア
ウト手法で設計されたクロックツリ−形成方法の第2の
適用例を示す回路図である。
FIG. 6 is a circuit diagram showing a second application example of a clock tree forming method designed by a conventional LSI layout method for comparison with the present invention.

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

201、202、203、204、401、404、4
05、406、407、501、502、503、50
4、601、604、605、606、607クロック
ツリ−を形成するバッファ 205、206、207、208、209、210、4
08、409、410、411、412、413、41
4、415、505、506、507、508、50
9、510、608、609、610、611、61
2、613、614、615 フリップフロップ 211、212、213、417、418、419、5
11、512、513、617、618、619 組
合せ回路 402、403、602、603 クロックツリーを
形成するANDゲート 416、616 遅延の小さなバッファ S101〜S113、S301〜S314 各処理の
ステップ
201, 202, 203, 204, 401, 404, 4
05, 406, 407, 501, 502, 503, 50
4, 601 604 605 606 607 Buffers 205, 206, 207, 208, 209, 210, 4 forming a clock tree
08, 409, 410, 411, 412, 413, 41
4, 415, 505, 506, 507, 508, 50
9, 510, 608, 609, 610, 611, 61
2, 613, 614, 615 Flip-flops 211, 212, 213, 417, 418, 419, 5
11, 512, 513, 617, 618, 619 Combinational circuit 402, 403, 602, 603 AND gate 416, 616 forming a clock tree Buffer with small delay S101-S113, S301-S314

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H01L 27/04 D (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 G06F 1/10 H01L 21/82 H01L 21/822 H01L 27/04 JICSTファイル(JOIS) 特許ファイル(PATOLIS)──────────────────────────────────────────────────続 き Continuing on the front page (51) Int.Cl. 6 identification code FI H01L 27/04 D (58) Investigated field (Int.Cl. 6 , DB name) G06F 17/50 G06F 1/10 H01L 21 / 82 H01L 21/822 H01L 27/04 JICST file (JOIS) Patent file (PATOLIS)

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 CADを用いた半導体集積回路のクロッ
クツリー形成方法において、 クロック回路を形成する素子や配線の形態に対応した遅
延の物理的変動量を、接続方式ごとに登録し、互いに接続のあるフリップフロップの全てのペアについ
て最大遅延量と最小遅延量を解析し、 前記全てのペアに対して、接続方式ごとに登録された前
記遅延の物理的変動量の最も多い前記接続方式から最も
少ない前記接続方式の順に、それぞれの物理的変動量を
勘案した遅延が、前記フリップフロップのホールド時間
の制約とセットアップ時間の制約を満たすか否かを検証
して、該ペアに適用可能な最も物理的変動量の多い接続
方式を登録し、 前記各ペアに登録された接続方式を用いて全フリップフ
ロップをグループ化してクロックツリーを形成すること
により、 タイミング制約の厳しい部分から、物理的変動量の少な
い前記接続方式を優先的に使用することを特徴とする、
半導体集積回路のクロックツリー形成方法。
In a method for forming a clock tree of a semiconductor integrated circuit using CAD, a physical variation of a delay corresponding to an element or a wiring form forming a clock circuit is registered for each connection method, and a connection is established. For every pair of flip-flops
Analyze the maximum delay amount and the minimum delay amount by using
The connection method with the largest physical variation of the delay
In the order of the smaller connection methods,
The considered delay is the hold time of the flip-flop.
Validate whether constraints of setup and setup time are satisfied
And the connection with the largest physical variation applicable to the pair
Register the connection method and use the connection method registered for each pair.
Grouping lops to form a clock tree
Thereby, from the strict part of the timing constraint, characterized by preferentially using the connection method with a small amount of physical variation,
A method for forming a clock tree of a semiconductor integrated circuit.
【請求項2】 スキャン接続されているフリップフロッ
プのペアのクロック入力を異なるバッファを介して接続
する方式を方式1とし、スキャン接続されているフリッ
プフロップのペアのクロック入力をバッファを介さない
で配線のみで接続する方式を方式2として登録し、方式
2を物理的変動量の少ない前記接続方式としてタイミン
グ制約の厳しい部分から優先的に使用する、請求項1に
記載の半導体集積回路のクロックツリー形成方法。
2. A method of connecting clock inputs of a pair of flip-flops connected in scan connection via different buffers is referred to as a method 1, wherein clock inputs of pairs of flip-flops connected in scan connection are wired without passing through a buffer. The semiconductor integrated circuit according to claim 1, wherein a method of connecting only by means of the method is registered as method 2, and method 2 is preferentially used as the connection method having a small amount of physical variation, from a part having strict timing constraints. Clock tree formation method.
【請求項3】 スキャン接続されているフリップフロッ
プのペアのクロック入力を異なる多入力論理ゲートとバ
ッファを挿入して接続する方式を方式1とし、スキャン
接続されているフリップフロップのペアのクロック入力
を異なるバッファを介して接続する方式を方式2とし、
スキャン接続されているフリップフロップのペアのクロ
ック入力をバッファを介さないで配線のみで接続する方
式を方式3として登録し、方式3を最も物理的変動量の
少ない前記接続方式とし、方式2を次に物理的変動量の
少ない接続方式としてタイミング制約の厳しい部分から
優先的に使用する、請求項1に記載の半導体集積回路の
クロックツリー形成方法。
3. A method in which a clock input of a pair of scan-connected flip-flops is connected by inserting a buffer with a different multi-input logic gate and a buffer, and a clock input of a pair of scan-connected flip-flops is used. The method of connecting via different buffers is called method 2,
A method in which the clock inputs of the flip-flop pairs connected in scan connection are connected only by wiring without using a buffer is registered as method 3, method 3 is the connection method having the least physical variation, and method 2 is 2. The clock tree forming method for a semiconductor integrated circuit according to claim 1, wherein a connection method having a small amount of physical fluctuation is preferentially used from a portion having strict timing constraints.
JP8186112A 1996-07-16 1996-07-16 Clock tree forming method for semiconductor integrated circuit Expired - Lifetime JP2953384B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8186112A JP2953384B2 (en) 1996-07-16 1996-07-16 Clock tree forming method for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8186112A JP2953384B2 (en) 1996-07-16 1996-07-16 Clock tree forming method for semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JPH1031689A JPH1031689A (en) 1998-02-03
JP2953384B2 true JP2953384B2 (en) 1999-09-27

Family

ID=16182578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8186112A Expired - Lifetime JP2953384B2 (en) 1996-07-16 1996-07-16 Clock tree forming method for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2953384B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5842442B2 (en) * 2011-08-01 2016-01-13 株式会社ソシオネクスト LSI design method, design program, and design apparatus

Also Published As

Publication number Publication date
JPH1031689A (en) 1998-02-03

Similar Documents

Publication Publication Date Title
US6367060B1 (en) Method and apparatus for clock tree solution synthesis based on design constraints
JP2609799B2 (en) Sequential circuit redesign method
US7865855B2 (en) Method and system for generating a layout for an integrated electronic circuit
JPH0749903A (en) Simulation method and layout method of integrated circuit
US6622290B1 (en) Timing verification method employing dynamic abstraction in core/shell partitioning
US6944840B2 (en) Design method and system for achieving a minimum machine cycle for semiconductor integrated circuits
WO1995010094A2 (en) Process independent design for gate array devices
US7526743B2 (en) Method for routing data paths in a semiconductor chip with a plurality of layers
US5963730A (en) Method for automating top-down design processing for the design of LSI functions and LSI mask layouts
CN114841104A (en) Time sequence optimization circuit and method, chip and electronic equipment
US6526541B2 (en) Library for use in designing a semiconductor device
JP3256597B2 (en) Automatic placement design method and automatic placement design apparatus
JP2953384B2 (en) Clock tree forming method for semiconductor integrated circuit
JP2985833B2 (en) Clock distribution system and method
US6757877B2 (en) System and method for identifying and eliminating bottlenecks in integrated circuit designs
JP2001034647A (en) Clock distribution circuit, design method of the same and semiconductor integrated circuit
JP3387847B2 (en) Semiconductor integrated circuit and method of manufacturing the same
US7284217B2 (en) Method of LSI designing and a computer program for designing LSIS
JP2002198430A (en) Variable driving force block and method for designing lsi employing it
JP3230234B2 (en) A delay adjustment method for a semiconductor integrated circuit, a delay adjustment circuit block, and a recording medium.
US6886146B2 (en) Method of bypassing a plurality of clock trees in EDA tools
JP2003256488A (en) Method for layout of lsi, program, and recording medium
JP2845978B2 (en) Logic circuit simulation method
JP3178127B2 (en) Block layout method of semiconductor integrated circuit by automatic layout method
JP2937139B2 (en) Logic circuit delay verification method