JP4966838B2 - Clock wiring processing apparatus, clock wiring processing method, and program - Google Patents

Clock wiring processing apparatus, clock wiring processing method, and program Download PDF

Info

Publication number
JP4966838B2
JP4966838B2 JP2007322974A JP2007322974A JP4966838B2 JP 4966838 B2 JP4966838 B2 JP 4966838B2 JP 2007322974 A JP2007322974 A JP 2007322974A JP 2007322974 A JP2007322974 A JP 2007322974A JP 4966838 B2 JP4966838 B2 JP 4966838B2
Authority
JP
Japan
Prior art keywords
clock
end point
final stage
start point
driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007322974A
Other languages
Japanese (ja)
Other versions
JP2009146175A (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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2007322974A priority Critical patent/JP4966838B2/en
Publication of JP2009146175A publication Critical patent/JP2009146175A/en
Application granted granted Critical
Publication of JP4966838B2 publication Critical patent/JP4966838B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、クロック配線処理装置、クロック配線処理方法、及びプログラムに関し、特に最終段クロックドライバからフリップフロップへ配線を行うクロック配線処理装置、クロック配線処理方法、及びプログラムに関する。   The present invention relates to a clock wiring processing device, a clock wiring processing method, and a program, and more particularly to a clock wiring processing device, a clock wiring processing method, and a program for wiring from a final stage clock driver to a flip-flop.

クロック配線処理に関する例が特許文献1に記載されている。特許文献1記載の技術は、クロック分配系をクロック供給先の末端回路に向かって枝分かれするツリー状とし、各段バッファ回路間の配線が等長かつ等容量になるように、各段のバッファ回路のファンアウト数を同一にする構成である。しかし、特許文献1記載の技術は、パスの始点F/F終点F/F間の遅延時間、及びそのF/F間の遅延時間に影響を与える最終段クロックドライバ間のクロックスキューについての記載がない。   An example relating to clock wiring processing is described in Patent Document 1. The technology described in Patent Document 1 is such that the clock distribution system has a tree shape that branches toward the terminal circuit to which the clock is supplied, and the buffer circuits at each stage so that the wiring between the buffer circuits at each stage has the same length and the same capacity. The number of fan-outs is the same. However, the technique described in Patent Document 1 describes the delay time between the start point F / F end point F / F of the path and the clock skew between the final stage clock drivers that affects the delay time between the F / Fs. Absent.

特許文献2記載の技術は、メインクロックバッファからクロック信号をH形ツリー状に繰り返し配線する構成であるが、パスの始点F/F終点F/F間の遅延時間、及びそのF/F間の遅延時間に影響を与える最終段クロックドライバ間のクロックスキューについての記載がない。   The technique described in Patent Document 2 is a configuration in which a clock signal is repeatedly wired from a main clock buffer in an H-shaped tree shape. However, a delay time between a path start point F / F end point F / F, and between the F / Fs. There is no description about the clock skew between the last stage clock drivers which affects the delay time.

特開平5−159080号公報JP-A-5-159080 特開平7−86416号公報JP 7-86416 A

特許文献1及び特許文献2の技術は、パス始点F/F終点F/F間の遅延および、そのF/F間遅延に影響を与えるクロックスキューについての考慮がされていない。そのため、パス始点F/F終点F/F間の遅延を最小化することができないという問題がある。   In the techniques of Patent Literature 1 and Patent Literature 2, consideration is not given to the delay between the path start point F / F end point F / F and the clock skew that affects the delay between the F / Fs. Therefore, there is a problem that the delay between the path start point F / F end point F / F cannot be minimized.

本発明の目的は、上記問題を解決するクロック配線処理装置、クロック配線処理方法、プログラムを提供することである。   An object of the present invention is to provide a clock wiring processing apparatus, a clock wiring processing method, and a program that solve the above-described problems.

本発明のクロック配線処理装置は、始点F/F終点F/Fリストを記憶部に抽出し、始点F/F及び終点F/Fへ接続する最終段クロックドライバの候補を検索して選択し前記記憶部に格納する始終点F/F処理部と、最終段クロックドライバ間クロックスキューを前記記憶部に抽出し、前記始点F/F及び前記終点F/Fへ接続する前記最終段クロックドライバ候補の組み合わせから、前記最終段クロックドライバ間クロックスキューが最小になる前記始点F/F及び前記終点F/Fに接続する前記最終段クロックドライバを選択して前記記憶部に格納するクロックスキュー処理部と、を備えることを特徴とする。   The clock wiring processing apparatus of the present invention extracts a start point F / F end point F / F list in a storage unit, searches for and selects a final stage clock driver candidate connected to the start point F / F and the end point F / F, The clock skew between the start / end point F / F processing unit stored in the storage unit and the final stage clock driver is extracted to the storage unit, and the final stage clock driver candidate connected to the start point F / F and the end point F / F is extracted. A clock skew processing unit that selects the last stage clock driver connected to the start point F / F and the end point F / F that minimizes the clock skew between the last stage clock drivers from a combination, and stores the selected clock driver in the storage unit; It is characterized by providing.

本発明のクロック配線処理方法は、最終段クロックドライバから始点F/F及び終点F/Fに接続するクロック配線処理方法であって、
始点F/F終点F/Fリストを記憶部に抽出し、始点F/F及び終点F/Fへ接続する最終段クロックドライバの候補を検索して選択し前記記憶部に格納する始終点F/F処理ステップと、最終段クロックドライバ間クロックスキューを前記記憶部に抽出し、前記始点F/F及び前記終点F/Fへ接続する前記最終段クロックドライバ候補の組み合わせから、前記最終段クロックドライバ間クロックスキューが最小になる前記始点F/F及び前記終点F/Fに接続する前記最終段クロックドライバを選択して前記記憶部に格納するクロックスキュー処理ステップと、を含むことを特徴とする。
The clock wiring processing method of the present invention is a clock wiring processing method for connecting from the final stage clock driver to the start point F / F and the end point F / F,
The start point F / F end point F / F list is extracted in the storage unit, and the last stage clock driver candidate connected to the start point F / F and the end point F / F is searched and selected, and the start / end point F / stored in the storage unit is stored. F processing step and the clock skew between the final stage clock drivers are extracted to the storage unit, and from the combination of the final stage clock driver candidates connected to the start point F / F and the end point F / F, between the final stage clock drivers And a clock skew processing step of selecting and storing the final stage clock driver connected to the start point F / F and the end point F / F where the clock skew is minimized and storing the clock skew in the storage unit.

本発明のプログラムは、最終段クロックドライバから始点F/F及び終点F/Fに接続するプログラムであって、
始点F/F終点F/Fリストを記憶部に抽出し、始点F/F及び終点F/Fへ接続する最終段クロックドライバの候補を検索して選択し前記記憶部に格納する始終点F/F処理と、最終段クロックドライバ間クロックスキューを前記記憶部に抽出し、前記始点F/F及び前記終点F/Fへ接続する前記最終段クロックドライバ候補の組み合わせから、前記最終段クロックドライバ間クロックスキューが最小になる前記始点F/F及び前記終点F/Fに接続する前記最終段クロックドライバを選択して前記記憶部に格納するクロックスキュー処理と、をコンピュータに実行させることを特徴とする。
The program of the present invention is a program for connecting from the last stage clock driver to the start point F / F and the end point F / F,
The start point F / F end point F / F list is extracted in the storage unit, and the last stage clock driver candidate connected to the start point F / F and the end point F / F is searched and selected, and the start / end point F / stored in the storage unit is stored. The clock skew between the final stage clock drivers is extracted from the combination of the final stage clock driver candidates connected to the start point F / F and the end point F / F. A clock skew process for selecting the last stage clock driver connected to the start point F / F and the end point F / F that minimizes the queue and storing the selected clock driver in the storage unit is executed by a computer.

本発明の効果は、パス始点F/F終点F/F間の遅延を最小化できることである。   The effect of the present invention is that the delay between the path start point F / F end point F / F can be minimized.

次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。   Next, a first embodiment of the present invention will be described in detail with reference to the drawings.

図1は、本発明の第1の実施の形態であるクロック配線処理装置(1)100の構成図である。   FIG. 1 is a configuration diagram of a clock wiring processing apparatus (1) 100 according to the first embodiment of the present invention.

クロック配線処理装置(1)100は、始終点F/F処理部101と、クロックスキュー処理部102から構成されている。   The clock wiring processing apparatus (1) 100 includes a start / end point F / F processing unit 101 and a clock skew processing unit 102.

始終点F/F処理部101は、始点F/F(実際には、F/Fを一意に示す名称、または、識別子等)終点F/Fリストを記憶部(例えば、メモリ、ハードディスク、レジスタ)に抽出し、始点F/F及び終点F/Fに接続する最終段クロックドライバ(実際には、ドライバを一意に示す名称、または、識別子等)を検索し選択して、上述の記憶部に格納する。   The start / end point F / F processing unit 101 stores a start point F / F (actually, a name or identifier uniquely indicating the F / F) and an end point F / F list (for example, a memory, a hard disk, a register) The final stage clock driver connected to the start point F / F and the end point F / F (actually, a name or identifier that uniquely identifies the driver) is searched and selected, and stored in the storage unit described above To do.

次に、クロックスキュー処理部102は、最終段クロックドライバ間クロックスキューを上述の記憶部に抽出する。また、クロックスキュー処理部102は、始点F/F及び終点F/Fへ接続する最終段クロックドライバ候補の組み合わせから、最終段クロックドライバ間クロックスキューが最小になる始点F/F及び終点F/Fに接続する最終段クロックドライバを選択する。その後、クロックスキュー処理部102は、選択した最終段クロックドライバ(実際には、ドライバを一意に示す名称、または、識別子等)を上述の記憶部に格納する。   Next, the clock skew processing unit 102 extracts the clock skew between the final stage clock drivers to the above-described storage unit. In addition, the clock skew processing unit 102 determines the start point F / F and the end point F / F that minimize the clock skew between the last stage clock drivers from the combination of the last stage clock driver candidates connected to the start point F / F and the end point F / F. Select the final stage clock driver connected to. Thereafter, the clock skew processing unit 102 stores the selected final stage clock driver (in practice, a name or identifier uniquely indicating the driver) in the above-described storage unit.

このため、本発明の第1の実施の形態であるクロック配線処理装置(1)100は、パス始点F/F終点F/F間の遅延を最小化することができる。   Therefore, the clock line processing apparatus (1) 100 according to the first embodiment of the present invention can minimize the delay between the path start point F / F end point F / F.

その理由は、パス始点F/F終点F/F間の遅延および、そのF/F間遅延に影響を与えるクロックスキューについて考慮し、最終クロックドライバからパス始点F/F終点F/Fへのクロック配線を実施するような構成を採用したためである。   The reason is that the clock from the final clock driver to the path start point F / F end point F / F is considered in consideration of the delay between the path start point F / F end point F / F and the clock skew that affects the delay between the F / Fs. This is because a configuration that performs wiring is employed.

尚、始終点F/F処理部101とクロックスキュー処理部102は、ハードウェアで実現してもよいし、ソフトウェアで実現してもよい。   The start / end point F / F processing unit 101 and the clock skew processing unit 102 may be implemented by hardware or software.

次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。   Next, a second embodiment of the present invention will be described in detail with reference to the drawings.

以下、「F/Fを抽出」、「クロックドライバを候補として格納」、「F/Fを候補として格納」等は、実際には、「F/F、または、クロックドライバを一意に示す名称、または、識別子等を抽出、または、候補として格納」のことである。   Hereinafter, “extract F / F”, “store clock driver as a candidate”, “store F / F as a candidate”, and the like are actually “F / F or a name uniquely indicating a clock driver, Or, an identifier or the like is extracted or stored as a candidate.

ここで、LSIにおけるクロック信号を供給するクロック幹線の最終段ドライバからフリップフロップ(以下、F/Fという)へ接続する配線の接続方法について、以下に説明する。     Here, a method of connecting wirings connecting from the final stage driver of the clock trunk line supplying the clock signal in the LSI to the flip-flop (hereinafter referred to as F / F) will be described.

まず、クロック幹線とその最終段ドライバの配置配線状況について、図10を用いて説明する。   First, the arrangement and wiring status of the clock trunk line and its final stage driver will be described with reference to FIG.

図10は、H−Tree方式でLSIの全面にクロック信号の幹線を供給した場合の一例を示している。   FIG. 10 shows an example in which a trunk line of a clock signal is supplied to the entire surface of the LSI by the H-Tree method.

LSI全面に供給されるクロック信号は、まず、LSI中心部の初段のクロックドライバより、クロック幹線初段の配線により、初段のクロックドライバより等距離にある2個の2段目のクロックドライバに供給される。クロックドライバ2段目以降も、同様の方法で、後段のクロックドライバに、相似形を保ちながら、クロック信号が供給される。   The clock signal supplied to the entire surface of the LSI is first supplied from the first-stage clock driver in the center of the LSI to the two second-stage clock drivers that are equidistant from the first-stage clock driver via the first-stage clock trunk wiring. The In the second and subsequent stages of the clock driver, the clock signal is supplied to the subsequent stage clock driver in a similar manner while maintaining the similar shape.

図11は、図10に示したH−Tree方式によるクロック幹線をツリー状に表したものである。   FIG. 11 shows a clock trunk line based on the H-Tree system shown in FIG. 10 in a tree shape.

尚、ここでは、H−Tree方式を例にして説明しているが、クロック幹線をあらかじめ作り込む方法であれば、碁盤の目状にクロック信号を配分するクロックメッシュ方式、魚の骨状にクロック信号を配分するFishbone方式でも同様である。   In this example, the H-Tree method is described as an example. However, if the clock trunk line is made in advance, the clock mesh method in which the clock signal is distributed in a grid pattern, the clock signal in the shape of a fish bone. The same is true for the Fishbone method for distributing the image data.

図10では、LSIを16分割した各エリアに存在する4つの最終段クロックドライバまでは、相似形を保ちつつ、クロック幹線を構成している。   In FIG. 10, up to four final stage clock drivers existing in each area obtained by dividing the LSI into 16 areas, the clock trunk line is formed while maintaining the similar shape.

各段のクロックドライバは、同一の駆動能力を持つドライバを使用し、配線長や負荷を揃える。これにより、クロックドライバ初段より分配されたクロックの最終段クロックドライバに到達するまでの遅延時間は、製造ばらつき、もしくは配線の差による微少な差のみ異なり、ほぼ同一の値となる。   The clock driver at each stage uses a driver having the same driving capability, and the wiring length and load are made uniform. As a result, the delay time until the clock distributed from the first stage of the clock driver reaches the final stage clock driver is almost the same value, differing only by slight variations due to manufacturing variations or wiring differences.

上記に示すように、クロック幹線をあらかじめ作りこんだ後、部品(以下、インスタンスという)の配置を行い、インスタンス間の配線を行った後に、F/Fに対するクロック信号を供給するために、クロック幹線からF/Fのクロック入力ピンへ配線しなければならない。   As described above, after the clock trunk line is created in advance, the components (hereinafter referred to as instances) are arranged, the wiring between the instances is performed, and then the clock trunk line is supplied to supply the clock signal to the F / F. To the F / F clock input pin.

F/Fの配置完了後、クロックを供給する幹線の末端である最終段クロックドライバからF/Fへ配線する。   After completion of the F / F arrangement, wiring is performed from the final stage clock driver, which is the end of the trunk line supplying the clock, to the F / F.

以下に、この最終段クロックドライバからF/Fへ自動配線する方法を詳細に説明する。   Hereinafter, a method for automatically wiring from the final stage clock driver to the F / F will be described in detail.

図12は、クロック幹線をあらかじめ作り込み、インスタンスを配置した後の、最終段クロックドライバの近傍での最終段クロックドライバとF/Fのみを記載した図である。   FIG. 12 is a diagram showing only the final stage clock driver and the F / F in the vicinity of the final stage clock driver after the clock trunk line is created in advance and the instances are arranged.

ある最終段クロックドライバ401と最終段クロックドライバ402の近傍に、F/F511からF/F517までの7つのF/Fが、存在すると想定されている。   It is assumed that there are seven F / Fs from F / F 511 to F / F 517 in the vicinity of a certain final stage clock driver 401 and final stage clock driver 402.

これら7つのF/Fは、最終段クロックドライバ401からクロックを供給することが可能なエリアであるクロック供給可能範囲621と、最終段クロックドライバ402からクロックを供給することが可能なエリアであるクロック供給可能範囲622のエリア内に存在する。   These seven F / Fs are a clock supplyable range 621 which is an area where a clock can be supplied from the final stage clock driver 401 and a clock which is an area where a clock can be supplied from the final stage clock driver 402. It exists in the area of the supplyable range 622.

このクロックを供給することが可能なクロック供給可能範囲は、最終段クロックドライバからF/Fまでの遅延時間のばらつきを、どれだけ許容するかによって決められる。例えば、最終段クロックドライバ401からF/F511間の配線長と、最終段クロックドライバ401からF/F517間の配線長は後者の方が長くなるため、遅延時間も後者の方が長くなり、ばらつきが大きくなる。そのため、クロック供給可能な範囲は、ある最終段クロックドライバを中心として一定の範囲内に限られている。   The clock supply possible range in which this clock can be supplied is determined by how much variation in delay time from the last stage clock driver to the F / F is allowed. For example, since the latter is longer in the wiring length between the final stage clock driver 401 and the F / F 511 and the wiring length between the final stage clock driver 401 and the F / F 517, the delay time is also longer in the latter. Becomes larger. Therefore, the range in which the clock can be supplied is limited to a certain range with a certain final stage clock driver as the center.

図13に示すように、クロック供給可能範囲622は、クロック供給可能基本範囲623とクロック供給可能隣接範囲624とから構成されている。クロック供給可能基本範囲623は、図13のドットエリアで示すように、最終段クロックドライバ402を中心として、一定の範囲に限られている。また、クロック供給可能隣接範囲624は、図13の斜線エリアで示すように、このクロック供給可能基本範囲の外側に隣接している。   As shown in FIG. 13, the clock supplyable range 622 includes a clock supplyable basic range 623 and a clock supplyable adjacent range 624. As shown by the dot area in FIG. 13, the clock-suppliable basic range 623 is limited to a certain range with the final stage clock driver 402 as the center. Further, the clock-supplyable adjacent range 624 is adjacent to the outside of this clock-supplyable basic range, as indicated by the hatched area in FIG.

クロック供給可能隣接範囲624は、クロック供給可能範囲621とクロック供給可能範囲622の一部が重複している(図13では、左右の隣接クロック可能範囲の重複を記載しているが、上下の隣接クロック可能範囲も同様に重複している)。   In the clock supplyable adjacent range 624, a part of the clock supplyable range 621 and a part of the clock supplyable range 622 overlap (in FIG. 13, the overlapping of the left and right adjacent clockable ranges is shown, but the upper and lower adjacent ranges The clockable range is also overlapping).

この重複している理由は、以下の通りである。   The reason for this overlap is as follows.

インスタンスの配置後の状態として、ある最終段クロックドライバの近傍にはF/Fが大量に存在し、ある最終段クロックドライバの近傍にはF/Fが僅かしか存在しないという場合があり得る。その場合、大量にF/Fが存在する箇所では、最終段クロックドライバが駆動するF/Fの数が増え、負荷容量の増加による最終段クロックドライバからF/Fまでの遅延時間が悪化する。また、僅かなF/Fしか存在しない箇所では、最終段クロックドライバが駆動するF/Fの負荷容量は少なく、遅延時間は大きく悪化しない。このような最終段クロックドライバからF/Fへの遅延時間のばらつきを調整するために、最終段クロックドライバが駆動するF/F数を均一にすることを目的として、クロック供給可能範囲は重複している。   As a state after the instance is arranged, there may be a case where a large amount of F / F exists in the vicinity of a certain final stage clock driver and only a small amount of F / F exists in the vicinity of a certain final stage clock driver. In that case, in a portion where a large amount of F / F exists, the number of F / Fs driven by the final stage clock driver increases, and the delay time from the final stage clock driver to the F / F due to an increase in load capacity deteriorates. Further, in a place where only a few F / Fs exist, the load capacity of the F / F driven by the final stage clock driver is small, and the delay time does not deteriorate greatly. In order to adjust the variation in delay time from the final stage clock driver to the F / F, the range of clock supply is overlapped for the purpose of making the number of F / Fs driven by the final stage clock driver uniform. ing.

図14は、最終段クロックドライバからF/Fにクロックを供給する自動配線処理のフローチャートである。   FIG. 14 is a flowchart of automatic wiring processing for supplying a clock from the final stage clock driver to the F / F.

図14のフローチャートを参照すると、まず、最終段クロックドライバのクロック供給可能基本範囲に存在するF/Fは、その最終段クロックドライバに接続される。従って、図12に示すクロック供給可能基本範囲623内にあるF/F511とF/F512は、最終段クロックドライバ401に接続される。   Referring to the flowchart of FIG. 14, first, the F / F existing in the basic clock supplyable range of the final stage clock driver is connected to the final stage clock driver. Accordingly, the F / F 511 and the F / F 512 within the clock supply possible basic range 623 shown in FIG. 12 are connected to the final stage clock driver 401.

また、クロック供給可能基本範囲623内にあるF/F516とF/F517は、最終段クロックドライバ402に接続される(ステップS50)。   Further, the F / F 516 and the F / F 517 within the clock supply possible basic range 623 are connected to the final stage clock driver 402 (step S50).

次に、最終段クロックドライバのクロック供給可能隣接範囲に存在するF/Fは、隣接する最終段クロックドライバがドライブするF/F数が均等になるように、距離の最も近い最終段クロックドライバに接続される。したがって、図12に示すクロック供給可能隣接範囲内にあるF/F513,514,532の接続先が決まる。隣接する最終段クロックドライバの駆動するF/F数は共に2つであるため、隣接する最終段クロックのドライブするF/Fが均等になるように、3つのF/F中2つが、最終段クロックドライバ401と最終段クロックドライバ402に各々1つ接続される。また、F/F513は、距離の近い最終段クロックドライバ401に、F/F532は距離の近い最終段クロックドライバ402に接続される(ステップS51)。   Next, the F / F existing in the adjacent range where the clock of the last stage clock driver can be supplied is changed to the last stage clock driver having the closest distance so that the number of F / Fs driven by the adjacent last stage clock driver becomes equal. Connected. Therefore, the connection destinations of the F / Fs 513, 514, and 532 in the adjacent range where the clock can be supplied shown in FIG. Since the number of F / Fs driven by adjacent final stage clock drivers is two, two of the three F / Fs have final stages so that the F / Fs driven by adjacent final stage clocks are equal. One clock driver 401 and one last stage clock driver 402 are connected. Further, the F / F 513 is connected to the final stage clock driver 401 having a short distance, and the F / F 532 is connected to the final stage clock driver 402 having a short distance (step S51).

最後に、全工程で接続する最終段クロックドライバが決定できなかったF/Fは、距離の最も近い最終段クロックドライバに接続される。従って、図12に示すF/F514の接続が決まる。F/F514は、距離の最も近い最終段クロックドライバ402に接続される(ステップS52)。   Finally, the F / F for which the final stage clock driver to be connected in all processes cannot be determined is connected to the final stage clock driver having the closest distance. Accordingly, the connection of the F / F 514 shown in FIG. 12 is determined. The F / F 514 is connected to the final stage clock driver 402 having the shortest distance (step S52).

図15は、図14に示すフローチャートにより行われた最終段クロックドライバからF/Fまでの配線接続後の状態である。   FIG. 15 shows a state after the wiring connection from the final stage clock driver to the F / F performed by the flowchart shown in FIG.

次に、上記に記載したクロック幹線の最終段ドライバからF/Fへ接続する配線の接続方法の課題について、以下に詳細に説明する。   Next, the problem of the connection method of the wiring connecting from the last stage driver of the clock trunk line described above to the F / F will be described in detail below.

まず、F/F間パスの始終点F/Fに接続される最終段クロックドライバの関係から生じる最終段クロックドライバ間クロックスキューについて、説明する。   First, the clock skew between the final stage clock drivers resulting from the relationship of the final stage clock driver connected to the start / end point F / F of the inter-F / F path will be described.

最終段クロックドライバ間クロックスキューは、クロック幹線を作りこんだときに、クロック幹線経路上のクロックドライバの製造ばらつきによる回路遅延時間の差、および配線遅延時間の製造ばらつきと、クロック配線による配線遅延時間の差によって生じる。   The clock skew between the final stage clock drivers is the difference in circuit delay time due to manufacturing variations of clock drivers on the clock trunk path, manufacturing variations in wiring delay time, and wiring delay time due to clock wiring when the clock trunk line is created. Caused by the difference.

例えば、図10に示すようなH−Tree構造を採り、図11に示すようにクロックドライバ初段から全最終段クロックドライバまでの関係が等しくなる構造を採ったとしても、その経路が異なれば、最終段クロックドライバ間でクロックスキューが生じる。   For example, even if an H-Tree structure as shown in FIG. 10 is adopted and a structure in which the relationship from the clock driver first stage to all final stage clock drivers is equal as shown in FIG. Clock skew occurs between the stage clock drivers.

また、経路が同一の箇所では、クロックスキューは生じないため、最終段クロックドライバまでの経路に同一箇所が多ければ、クロックスキューの差は小さく、同一箇所が少なくなればクロックスキューは大きくなる。   Further, since clock skew does not occur at the same path, the clock skew difference is small if there are many identical places in the path to the final stage clock driver, and the clock skew increases if the same places are small.

図16を用いて、ある最終段クロックドライバに着目した場合の最終段クロックドライバ間クロックスキューについて説明する。   The clock skew between final stage clock drivers when attention is paid to a certain final stage clock driver will be described with reference to FIG.

同一のクロックドライバ5段目からクロックを供給される最終段クロックドライバを1つのグループとして考え、左から7番目の最終段クロックドライバのグループをグループAとする。   The last stage clock driver to which the clock is supplied from the fifth stage of the same clock driver is considered as one group, and the seventh last stage clock driver group from the left is group A.

グループAの最終段クロックドライバに対し、グループBの最終段クロックドライバはクロックドライバ4段目までの経路が同一であるため、クロックスキューはクロックドライバ5段目以降の遅延時間の差だけ生じる。   Since the route to the fourth stage of the clock driver is the same as that of the last stage clock driver of the group B with respect to the last stage clock driver of the group A, the clock skew is caused by the difference in delay time after the fifth stage of the clock driver.

グループAの最終段クロックドライバに対し、グループCの最終段クロックドライバとのクロックスキューはクロックドライバ4段目以降の遅延の差で発生する。そのため、グループAとグループB間のクロックスキューSKEW−ABに対し、グループAとグループC間のクロックスキューSKEW−ACはSKEW−ABより大きくなる。   The clock skew between the last stage clock driver of group A and the last stage clock driver of group C is caused by the difference in delay after the fourth stage of the clock driver. Therefore, the clock skew SKEW-AC between group A and group C is larger than the SKEW-AB with respect to the clock skew SKEW-AB between group A and group B.

同様に、グループAに対するそれぞれのグループ間のクロックスキュー関係は、
SKEW−AE > SKEW−AD > SKEW−AC > SKEW−AB
となる。
Similarly, the clock skew relationship between each group for group A is
SKEW-AE>SKEW-AD>SKEW-AC> SKEW-AB
It becomes.

図17は、最終段クロックドライバ、及びF/F間パスの1例を示す。   FIG. 17 shows an example of the final stage clock driver and the inter-F / F path.

クロック接続前にパスの遅延時間の見積もりを行い、遅延時間が長いパスXが存在したと想定する。また、パスXの始点F/FであるF/F531は、グループAの最終段クロックドライバからクロックが供給可能であり、パスXの終点F/FであるF/F532は、グループBとグループEの最終段クロックドライバからクロックが供給可能であると想定している。   The path delay time is estimated before the clock connection, and it is assumed that there is a path X having a long delay time. The F / F 531 that is the start point F / F of the path X can be supplied with a clock from the final stage clock driver of the group A, and the F / F 532 that is the end point F / F of the path X is the group B and the group E. It is assumed that the clock can be supplied from the final stage clock driver.

パスXの遅延時間が長く、SKEW−ABはSKEW−AEより小さいので、このようなケースでは、パスの遅延時間+SKEW−AEが1クロックを越えてしまうこともあるので、F/F532にはグループBの最終段クロックドライバよりクロックを供給すべきである。しかし、図14のフローチャートに示す最終段クロックドライバからF/Fへの自動配線処理方法では、図18のように、図17に示すF/F532がグループEの最終段クロックドライバからクロックが供給される可能性があり、F/F532にはグループBの最終段クロックドライバよりクロックを供給することはできない。   Since the delay time of the path X is long and SKEW-AB is smaller than the SKEW-AE, in this case, the path delay time + SKEW-AE may exceed one clock. The clock should be supplied from the B final stage clock driver. However, in the automatic wiring processing method from the final stage clock driver to the F / F shown in the flowchart of FIG. 14, the F / F 532 shown in FIG. Therefore, the F / F 532 cannot be supplied with a clock from the final stage clock driver of the group B.

従って、図14のフローチャートに示す自動配線処理方法では、F/F間パスの遅延時間を考慮していないため、パス始点F/F終点F/F間の遅延を最小化することができないという問題がある。   Therefore, the automatic wiring processing method shown in the flowchart of FIG. 14 does not consider the delay time of the path between the F / Fs, and therefore the delay between the path start point F / F end point F / F cannot be minimized. There is.

次に、上記の課題を解決するための本発明の第2の実施の形態であるクロック配線処理装置(2)200について、以下に説明する。   Next, a clock wiring processing apparatus (2) 200 according to the second embodiment of the present invention for solving the above-described problem will be described below.

図2は、本発明の第2の実施の形態であるクロック配線処理装置(2)200の構成図である。   FIG. 2 is a configuration diagram of a clock wiring processing apparatus (2) 200 according to the second embodiment of the present invention.

クロック配線処理装置(2)200は、H−Tree方式、クロックメッシュ方式、またはFishbone方式等でクロック幹線をあらかじめ作り込んだ後に、最終段クロックドライバから始終点F/Fへクロック信号を配線する装置である。   The clock wiring processing device (2) 200 is a device for wiring a clock signal from the last stage clock driver to the start / end point F / F after the clock trunk line is previously created by the H-Tree method, the clock mesh method, the Fishbone method, or the like. It is.

クロック配線処理装置(2)200は、記憶部201、クロック配線処理部202、始点F/F終点F/Fリストデータベース210、F/F最終段クロックドライバクロック供給可能範囲データベース211、最終段クロックドライバ間クロックスキューデータベース212、及び入出力処理部213から構成されている。   The clock wiring processing device (2) 200 includes a storage unit 201, a clock wiring processing unit 202, a start point F / F end point F / F list database 210, an F / F final stage clock driver clock supplyable range database 211, and a final stage clock driver. An inter-clock skew database 212 and an input / output processing unit 213 are included.

ここで、クロック配線処理部202は、データ処理部203、始終点F/F処理部101、クロックスキュー処理部102から構成されている。   Here, the clock wiring processing unit 202 includes a data processing unit 203, a start / end point F / F processing unit 101, and a clock skew processing unit 102.

また、始終点F/F処理部101は、始点F/F処理部1010、及び終点F/F処理部1011から構成されている。
尚、各部は、プログラムで記述され、記憶部201に格納され、プロセッサがプログラムを読み出し、実行することにより、各部が実現される構成でもよい。
The start / end point F / F processing unit 101 includes a start point F / F processing unit 1010 and an end point F / F processing unit 1011.
Note that each unit may be described by a program, stored in the storage unit 201, and read out and executed by the processor and executed to execute each unit.

記憶部201は、情報及び処理結果を格納する記憶装置である。入出力処理部213は、データの入出力処理を行う。   The storage unit 201 is a storage device that stores information and processing results. The input / output processing unit 213 performs data input / output processing.

データ処理部203は、クロック配線処理装置(2)200の全体の処理を実行する。   The data processing unit 203 executes the entire processing of the clock wiring processing device (2) 200.

始点F/F終点F/Fリストデータベース210は、遅延時間順にソートされたパスの始点F/F終点F/Fリストを格納する。   The start point F / F end point F / F list database 210 stores a start point F / F end point F / F list of paths sorted in order of delay time.

始点F/F処理部1010は、始点F/Fがクロック供給可能基本範囲に存在する場合に、クロック供給可能基本範囲に対応する最終段クロックドライバを始点F/Fに接続する最終段クロックドライバの候補として選択する。始点F/F処理部1010は、始点F/Fがクロック供給可能隣接範囲に存在する場合に、クロック供給可能隣接範囲に対応するすべての最終段クロックドライバを始点F/Fに接続する最終段クロックドライバの候補として選択する。   The start point F / F processing unit 1010 is a last-stage clock driver that connects the last-stage clock driver corresponding to the clock-supplyable basic range to the start-point F / F when the start-point F / F is in the clock-supplyable basic range. Select as a candidate. The start point F / F processing unit 1010, when the start point F / F exists in the adjacent range where the clock can be supplied, connects the last stage clock driver corresponding to the adjacent range where the clock can be supplied to the start point F / F. Select as a driver candidate.

また、終点F/F処理部1011は、終点F/Fがクロック供給可能基本範囲に存在する場合に、クロック供給可能基本範囲に対応する最終段クロックドライバを終点F/Fに接続する最終段クロックドライバの候補として選択する。終点F/F処理部1011は、終点F/Fがクロック供給可能隣接範囲に存在する場合に、クロック供給可能隣接範囲に対応するすべての最終段クロックドライバを終点F/Fに接続する最終段クロックドライバの候補として選択する。   The end point F / F processing unit 1011 also connects the last stage clock driver corresponding to the clock supplyable basic range to the end point F / F when the end point F / F exists in the clock supplyable basic range. Select as a driver candidate. The end point F / F processing unit 1011 connects all the last stage clock drivers corresponding to the clock supplyable adjacent range to the end point F / F when the end point F / F exists in the clock supplyable adjacent range. Select as a driver candidate.

クロックスキュー処理部102は、最終段クロックドライバ間クロックスキューを記憶部201に抽出する。また、クロックスキュー処理部102は、始点F/F及び終点F/Fへ接続する最終段クロックドライバ候補の組み合わせから、最終段クロックドライバ間クロックスキューが最小になる始点F/F及び終点F/Fに接続する最終段クロックドライバを選択する。その後、クロックスキュー処理部102は、選択された最終段クロックドライバを記憶部201に格納する。   The clock skew processing unit 102 extracts the clock skew between the final stage clock drivers to the storage unit 201. In addition, the clock skew processing unit 102 determines the start point F / F and the end point F / F that minimize the clock skew between the last stage clock drivers from the combination of the last stage clock driver candidates connected to the start point F / F and the end point F / F. Select the final stage clock driver connected to. Thereafter, the clock skew processing unit 102 stores the selected final stage clock driver in the storage unit 201.

図3は、始点F/F終点F/Fリストデータベース210の1例を示す図である。
パスの遅延時間が大きい順に、パスの始点F/F、終点F/F、及びパス遅延時間が示されている。パスの遅延時間が1番目、2番目、3番目、n番目に大きいパスに対応して、(F/F531、F/F532、2.35nS)、(F/FS2、F/FE2、D2nS)、(F/FS3、F/FE3、D3nS)、及び(F/FSn、F/FEn、DnnS)が示されている。
FIG. 3 is a diagram illustrating an example of the start point F / F end point F / F list database 210.
The path start point F / F, end point F / F, and path delay time are shown in descending order of path delay time. (F / F531, F / F532, 2.35nS), (F / FS2, F / FE2, D2nS) corresponding to the paths with the first, second, third, and nth largest delay times of the path, (F / FS3, F / FE3, D3nS) and (F / FSn, F / FEn, DnnS) are shown.

図4は、各F/Fがどの最終段クロックドライバのクロック供給可能範囲に存在するかを示すデータベースの図15での1例を示す図である。   FIG. 4 is a diagram illustrating an example of the database in FIG. 15 that indicates in which last stage clock driver the clock supply range of each F / F exists.

例えば、F/F511は、最終段クロックドライバ401のクロック供給可能基本範囲に存在する。F/F513は、最終段クロックドライバ401、402のクロック供給可能隣接範囲に存在する。   For example, the F / F 511 exists in the basic range in which the clock of the final stage clock driver 401 can be supplied. The F / F 513 exists in the adjacent range in which the clocks of the final stage clock drivers 401 and 402 can be supplied.

図5は、最終段クロックドライバ間クロックスキューデータベース212の1例を示す図である。図16に示す最終段クロックドライバの構成に対応して、最終段クロックドライバのグループA、グループB、グループC、グループD、グループE間のそれぞれの組のクロックスキューの1例を示している。グループAとグループBのクロックスキューとしてSKEW−AB(0.1nS)、グループAとグループCのクロックスキューとしてSKEW−AC、グループAとグループDのクロックスキューとしてSKEW−AD、グループAとグループEのクロックスキューとしてSKEW−AE(0.3nS)、及びグループXとグループYのクロックスキューとしてSKEW−XYが示されている。   FIG. 5 is a diagram illustrating an example of the clock skew database 212 between the final stage clock drivers. Corresponding to the configuration of the final stage clock driver shown in FIG. 16, an example of the clock skew of each group among the group A, group B, group C, group D, and group E of the final stage clock driver is shown. SKEW-AB (0.1 nS) as the clock skew of group A and group B, SKEW-AC as the clock skew of group A and group C, SKEW-AD as the clock skew of group A and group D, and group A and group E SKEW-AE (0.3 nS) is shown as the clock skew, and SKEW-XY is shown as the clock skew of group X and group Y.

図6は、記憶部201に格納された最終段クロックドライバ候補データの1例を示す図であり、始点F/F、最終段クロックドライバ候補、終点F/F、及び最終段クロックドライバ候補が示されている。パスの遅延時間が1番目、2番目、3番目、n番目に大きいパスに対応して、(F/F531、グループA、F/F532、グループB、グループE)、(F/FS2、グループX2、F/FE2、グループY2)、(F/FS3、グループX3、F/FE3、グループY3)、及び(F/FSn、グループXn、F/FEn、グループYn)が示されている。   FIG. 6 is a diagram illustrating an example of the final stage clock driver candidate data stored in the storage unit 201. The start point F / F, the final stage clock driver candidate, the end point F / F, and the final stage clock driver candidate are illustrated. Has been. (F / F531, Group A, F / F532, Group B, Group E), (F / FS2, Group X2) corresponding to the paths with the first, second, third, and nth largest delay times. , F / FE2, group Y2), (F / FS3, group X3, F / FE3, group Y3) and (F / FSn, group Xn, F / FEn, group Yn) are shown.

図7は、最終段クロックドライバからF/Fへクロック配線を実施するときの始点F/F終点F/Fの配置状態の1例を示す図である。   FIG. 7 is a diagram illustrating an example of an arrangement state of the start point F / F end point F / F when clock wiring is performed from the final stage clock driver to the F / F.

図8は、最終段クロックドライバからF/Fへクロック配線を実施した配線結果の1例を示す図である。   FIG. 8 is a diagram illustrating an example of a wiring result in which clock wiring is performed from the final stage clock driver to the F / F.

図9は、本発明の第2の実施の形態であるクロック配線処理装置(2)200の動作を示すフローチャートである。   FIG. 9 is a flowchart showing the operation of the clock wiring processing apparatus (2) 200 according to the second embodiment of the present invention.

次に、以上のような構成のクロック配線処理装置(2)200の動作について、図9のフローチャートに基づいて、図7に示すF/Fの配置状態を例にして説明する。   Next, the operation of the clock wiring processing apparatus (2) 200 configured as described above will be described based on the flowchart of FIG. 9 by taking the F / F arrangement state shown in FIG. 7 as an example.

まず、図7に示すF/Fの配置状態を説明すると、インスタンスの自動配置後における遅延時間の最も長いパスX741の始点F/F531は、グループA最終段クロックドライバ413のクロック供給可能基本範囲623内に存在すると想定している。   First, the F / F arrangement state shown in FIG. 7 will be described. The starting point F / F 531 of the path X741 having the longest delay time after the automatic arrangement of the instances is the basic range 623 in which the group A final stage clock driver 413 can supply the clock. Is assumed to exist within.

パスX741の終点F/F532は、グループB最終段クロックドライバ411のクロック供給可能範囲621と、グループE最終段クロックドライバ412のクロック供給可能範囲622とが重複するクロック供給可能隣接範囲624内に存在すると想定している。   The end point F / F 532 of the path X741 exists in the clock supplyable adjacent range 624 where the clock supplyable range 621 of the group B final stage clock driver 411 and the clock supplyable range 622 of the group E final stage clock driver 412 overlap. I assume that.

図9を参照すると、まず、データ処理部203は、入出力処理部213から入力された遅延時間順にソートされたパスの始点F/F終点F/Fリストを始点F/F終点F/Fリストデータベース210に格納する(ステップS10)。この遅延時間順にソートされたパスの始点F/F終点F/Fリストは、遅延時間の見積もり結果から求められる。この遅延見積もり結果は、例えば、RTL(Register Transfer Level)と遅延時間制約(クロックの値)を与えて、F/Fの配置、組み合わせ回路の発生と最適化を実施するタイミングドリブン配置を行った結果から得られる。この遅延見積もり結果は、遅延時間が長い順にソートされ最も遅延時間が長いものから順に、最終段クロックドライバからF/Fへの接続を行う対象となる。図3は、この始点F/F終点F/Fリストデータベース210の1例を示している。   Referring to FIG. 9, first, the data processing unit 203 uses the start point F / F end point F / F list of paths sorted in order of delay time input from the input / output processing unit 213 as the start point F / F end point F / F list. Store in the database 210 (step S10). The path start point F / F end point F / F list sorted in the order of the delay times is obtained from the delay time estimation result. This delay estimation result is, for example, the result of timing-driven placement that gives RTL (Register Transfer Level) and delay time constraints (clock values) and performs F / F placement, combinational circuit generation and optimization. Obtained from. The delay estimation results are subjected to connection from the last stage clock driver to the F / F in order from the longest delay time, sorted in order of long delay time. FIG. 3 shows an example of the start point F / F end point F / F list database 210.

また、データ処理部203は、入出力処理部213から入力された各F/Fがどの最終段クロックドライバのクロック供給可能範囲に存在するかのデータをF/F最終段クロックドライバクロック供給可能範囲データベース211に格納する(ステップS11)。   In addition, the data processing unit 203 supplies data indicating in which last stage clock driver the clock supply range of each F / F input from the input / output processing unit 213 is within the F / F final stage clock driver clock supply range. Store in the database 211 (step S11).

次に、データ処理部203は、入出力処理部213から入力された最終段クロックドライバ間のクロックスキューを含むリストを最終段クロックドライバ間クロックスキューデータベース212に格納する(ステップS12)。最終段クロックドライバ間のクロックスキューは、作りこんだクロック幹線の構造から見積もったクロックスキュー値から作成する。図5は、この最終段クロックドライバ間クロックスキューデータベース212の1例を示している。   Next, the data processing unit 203 stores the list including the clock skew between the final stage clock drivers input from the input / output processing unit 213 in the final stage clock driver clock skew database 212 (step S12). The clock skew between the final stage clock drivers is created from the clock skew value estimated from the structure of the built-in clock trunk line. FIG. 5 shows an example of the clock skew database 212 between the final stage clock drivers.

次に、データ処理部203は、始点F/F終点F/Fリストデータベース210から処理が終了していない最も遅延時間の長いF/F間パスの始点F/F、終点F/Fを読み出し、記憶部201に抽出する(ステップS13)。この抽出結果に基づいて、データ処理部203は、まず始点F/Fから処理を始める。   Next, the data processing unit 203 reads from the start point F / F end point F / F list database 210 the start point F / F and end point F / F of the F / F path with the longest delay time that has not been processed, Extracted in the storage unit 201 (step S13). Based on the extraction result, the data processing unit 203 first starts processing from the start point F / F.

データ処理部203は、図3に示す始点F/F終点F/Fリストデータベース210から、処理が終了していない最も遅延時間の長いF/F間パスの始点F/F、終点F/Fを抽出し、始点F/FとしてF/F531が、終点F/FがF/F532が処理の対象であると判断する。   The data processing unit 203 obtains the start point F / F and the end point F / F of the inter-F / F path with the longest delay time that has not been processed from the start point F / F end point F / F list database 210 shown in FIG. It is determined that F / F 531 is the start point F / F and the end point F / F is F / F 532 as the processing target.

また、データ処理部203は、最終段クロックドライバ間のクロックスキューを最終段クロックドライバ間クロックスキューデータベース212から読み出し記憶部201に格納する(ステップS14)。   Further, the data processing unit 203 reads the clock skew between the final stage clock drivers from the clock skew database 212 between the final stage clock drivers and stores it in the storage unit 201 (step S14).

次に、データ処理部203は、始点F/Fへのクロック接続が接続済みか否かをチェックする(ステップS15)。このチェックを行う理由は、図9に示すフローチャートのループ箇所を繰り返したときに、あるパスの始点F/Fが別のパスの終点F/Fであるため、既にクロックが接続されている可能性があるためである。図7に示す例で説明すると、データ処理部203は、始点F/F531に対して、クロックが配線済みか否かのチェックを行う(ステップS15)。フローチャートのループ箇所の最初の処理であるため、まだクロックは接続されていない。   Next, the data processing unit 203 checks whether or not the clock connection to the start point F / F is already connected (step S15). The reason for performing this check is that when the loop portion of the flowchart shown in FIG. 9 is repeated, the start point F / F of one path is the end point F / F of another path, so that the clock may already be connected. Because there is. In the example shown in FIG. 7, the data processing unit 203 checks whether or not the clock has been wired to the start point F / F 531 (step S15). Since this is the first process in the loop portion of the flowchart, the clock is not yet connected.

データ処理部203は、クロックが接続済みであるときは(ステップS15/YES)、接続済みの最終段クロックドライバを候補とし、記憶部201に格納する(ステップS20)。データ処理部203は、接続済みでない場合は(ステップS15/NO)、ステップS30に処理を引き継ぐ。   When the clock is already connected (YES in step S15), the data processing unit 203 uses the connected final stage clock driver as a candidate and stores it in the storage unit 201 (step S20). If the data processing unit 203 is not connected (step S15 / NO), the data processing unit 203 takes over the process to step S30.

次に、始点F/F処理部1010は、F/F最終段クロックドライバクロック供給可能範囲データベース211を参照して、始点F/Fがクロック供給可能基本範囲に存在するか否かの判断を行う(ステップS30)。   Next, the start point F / F processing unit 1010 refers to the F / F final stage clock driver clock supplyable range database 211 and determines whether or not the start point F / F is in the basic clock supplyable range. (Step S30).

始点F/F処理部1010は、始点F/Fがクロック供給可能基本範囲に存在するときには(ステップS30/YES)、クロック供給可能基本範囲に対応する最終段クロックドライバを始点F/Fに接続する最終段クロックドライバの候補とし、記憶部201に格納する(ステップS31)。   The start point F / F processing unit 1010 connects the last stage clock driver corresponding to the clock supplyable basic range to the start point F / F when the start point F / F exists in the clock supplyable basic range (step S30 / YES). The final stage clock driver candidate is stored in the storage unit 201 (step S31).

また、始点F/F処理部1010は、始点F/Fがクロック供給可能隣接範囲に存在するときには(ステップS30/NO)、クロック供給可能隣接範囲に対応するすべての最終段クロックドライバを始点F/Fに接続する最終段クロックドライバの候補とし、記憶部201に格納する(ステップS32)。   Further, the start point F / F processing unit 1010, when the start point F / F exists in the adjacent range where the clock can be supplied (step S30 / NO), sets all the final stage clock drivers corresponding to the adjacent range where the clock can be supplied to the start point F / F. A candidate for the final stage clock driver connected to F is stored in the storage unit 201 (step S32).

図7に示す例で説明すると、始点F/F531にクロック供給可能な最終段クロックドライバを検索すると、始点F/F531がグループA最終段クロックドライバ413のクロック供給可能基本範囲623に存在しているので、終点F/F531に対するクロックを供給する最終段クロックドライバの候補は、グループA最終段クロックドライバ413となる。   Referring to the example shown in FIG. 7, when the last stage clock driver capable of supplying the clock to the start point F / F 531 is searched, the start point F / F 531 exists in the clock supplyable basic range 623 of the group A last stage clock driver 413. Therefore, the final stage clock driver candidate for supplying the clock for the end point F / F 531 is the group A final stage clock driver 413.

次に、データ処理部203は、終点F/Fへのクロック接続が接続済みか否かをチェックする(ステップS21)。データ処理部203は、始点F/Fと同様に、あるパスの終点F/Fが別のパスの始点F/Fであり、終点F/Fにクロックが接続済みであるか否かをチェックする。   Next, the data processing unit 203 checks whether or not the clock connection to the end point F / F is already connected (step S21). Similar to the start point F / F, the data processing unit 203 checks whether the end point F / F of one path is the start point F / F of another path and a clock is already connected to the end point F / F. .

図7の例で説明すると、終点F/F531に対してクロックが配線済みか否かのチェックを行う(ステップS21)。フローチャートのループ箇所で最初の処理であるため、まだクロックは接続されていない。   In the example of FIG. 7, it is checked whether or not the clock has been wired to the end point F / F 531 (step S21). Since this is the first process in the loop portion of the flowchart, the clock is not yet connected.

データ処理部203は、クロックが接続済みであるときは(ステップS21/YES)、接続済みの最終段クロックドライバを候補とし、記憶部201に格納する(ステップS22)。データ処理部203は、接続済みでないときは(ステップS21/NO)、ステップS33に処理を引き継ぐ。   When the clock is already connected (YES in step S21), the data processing unit 203 uses the connected final stage clock driver as a candidate and stores it in the storage unit 201 (step S22). When the data processing unit 203 is not connected (step S21 / NO), the data processing unit 203 takes over the process to step S33.

次に、終点F/F処理部1011は、F/F最終段クロックドライバクロック供給可能範囲データベース211を参照して、終点F/Fがクロック供給可能基本範囲に存在するか否かの判断を行う(ステップS33)。   Next, the end point F / F processing unit 1011 refers to the F / F final stage clock driver clock supplyable range database 211 to determine whether or not the end point F / F exists in the basic clock supplyable range. (Step S33).

終点F/F処理部1011は、終点F/Fがクロック供給可能基本範囲に存在するときに(ステップS33/YES)、クロック供給可能基本範囲に対応する最終段クロックドライバを終点F/Fに接続する最終段クロックドライバの候補とし、記憶部201に格納する(ステップS34)。   The end point F / F processing unit 1011 connects the last stage clock driver corresponding to the clock supply basic range to the end point F / F when the end point F / F exists in the clock supply basic range (step S33 / YES). The final stage clock driver candidate to be stored is stored in the storage unit 201 (step S34).

また、終点F/F処理部1011は、終点F/Fがクロック供給可能隣接範囲に存在するときに(ステップS33/NO)、クロック供給可能隣接範囲に対応するすべての最終段クロックドライバを終点F/Fに接続する最終段クロックドライバの候補とし、記憶部201に格納する(ステップS35)。   In addition, when the end point F / F exists in the adjacent range where the clock can be supplied (NO in step S33), the end point F / F processing unit 1011 sets all the final stage clock drivers corresponding to the adjacent range where the clock can be supplied as the end point F. The final stage clock driver connected to / F is stored in the storage unit 201 (step S35).

図7に示す例で説明すると、終点F/F532にクロック供給可能な最終段クロックドライバを検索すると、終点F/F532がグループB最終段クロックドライバ411とグループE最終段クロックドライバ412に重複しているクロック供給可能隣接範囲624に存在しているので、終点F/F532に対するクロックを供給する最終段クロックドライバの候補は、グループB最終段クロックドライバ411とグループE最終段クロックドライバ412となる。   In the example shown in FIG. 7, when a final stage clock driver that can supply a clock to the end point F / F 532 is searched, the end point F / F 532 overlaps with the group B final stage clock driver 411 and the group E final stage clock driver 412. Therefore, the group B final stage clock driver 411 and the group E final stage clock driver 412 are the candidates for the final stage clock driver that supplies the clock for the end point F / F 532.

次に、データ処理部203は、既に始点F/Fと終点F/Fにクロックが接続済みかをチェックする(ステップS23)。データ処理部203は、両F/Fともクロックが接続済みである場合は(ステップS23/YES)、クロックの接続処理をスキップする。   Next, the data processing unit 203 checks whether a clock has already been connected to the start point F / F and the end point F / F (step S23). If the clocks are already connected to both F / Fs (step S23 / YES), the data processing unit 203 skips the clock connection process.

データ処理部203は、始点F/F、終点F/Fのどちらか、もしくは両F/Fともクロックが未接続である場合は(ステップS23/NO)、クロック接続処理を行う。   The data processing unit 203 performs clock connection processing when the clock is not connected to either the start point F / F, the end point F / F, or both F / Fs (step S23 / NO).

図7に示す例で説明すると、データ処理部203は、始点F/F、終点F/Fともクロック配線が行われていないため、ステップS24の処理を行う。   In the example illustrated in FIG. 7, the data processing unit 203 performs the process of step S24 because clock wiring is not performed for both the start point F / F and the end point F / F.

次に、データ処理部203は、これまでの処理により候補となった始点F/Fの最終段クロックドライバと終点F/Fの最終ドライバに対応する最終段クロックドライバ間クロックスキューを選択し、記憶部201に格納する(ステップS24)。   Next, the data processing unit 203 selects and stores the clock skew between the final stage clock drivers corresponding to the final stage clock driver of the start point F / F and the final driver of the end point F / F, which are candidates by the processes so far. Store in the unit 201 (step S24).

次に、クロックスキュー処理部102は、抽出された始点F/Fの最終段クロックドライバの候補と終点F/Fの最終段クロックドライバの候補の組み合わせごとの最終段クロックドライバ間スキューから、最小の最終段クロックドライバ間スキューを選ぶ。そして、クロックスキュー処理部102は、その最小の最終段クロックドライバ間スキューに対応する始点F/F、終点F/F最終段クロックドライバを始点F/F、終点F/Fに接続する最終段クロックドライバとして選択し、記憶部201に格納する(ステップS36)。   Next, the clock skew processing unit 102 calculates the minimum skew from the final stage clock driver for each combination of the extracted final stage clock driver candidate of the start point F / F and the final stage clock driver candidate of the end point F / F. Select the skew between the last stage clock drivers. Then, the clock skew processing unit 102 connects the start point F / F and the end point F / F final stage clock driver corresponding to the minimum skew between the final stage clock drivers to the start point F / F and the end point F / F. The driver is selected and stored in the storage unit 201 (step S36).

図7に示す例で説明すると、始点F/F531に対するクロックを供給する最終段クロックドライバの候補がグループA最終段クロックドライバ413であり、終点F/F532に対するクロックを供給する最終段クロックドライバの候補がグループB最終段クロックドライバ411と、グループE最終段クロックドライバ412である。このため、クロックスキュー処理部102は、グループA最終段クロックドライバ413とグループB最終段クロックドライバ411間のクロックスキューSKEW−ABと、グループA最終段クロックドライバ413とグループE最終段クロックドライバ412間のクロックスキューSKEW−AEを抽出する。   In the example shown in FIG. 7, the final stage clock driver candidate that supplies the clock for the start point F / F 531 is the group A final stage clock driver 413, and the final stage clock driver candidate that supplies the clock for the end point F / F 532. Are a group B final stage clock driver 411 and a group E final stage clock driver 412. For this reason, the clock skew processing unit 102 performs the clock skew SKEW-AB between the group A final stage clock driver 413 and the group B final stage clock driver 411, and between the group A final stage clock driver 413 and the group E final stage clock driver 412. The clock skew SKEW-AE is extracted.

次に、クロックスキュー処理部102は、図5に示すように、SKEW−ABがSKEW−AEより小さいため、始点F/Fに対するクロックを供給する最終段クロックドライバとしてグループA最終段クロックドライバ413を選択する。また、クロックスキュー処理部102は、終点F/Fに対するクロックを供給する最終段クロックドライバとして、グループB最終段クロックドライバ411を選択する。   Next, as shown in FIG. 5, the clock skew processing unit 102 uses the group A final stage clock driver 413 as a final stage clock driver that supplies a clock for the start point F / F because SKEW-AB is smaller than SKEW-AE. select. Further, the clock skew processing unit 102 selects the group B final stage clock driver 411 as the final stage clock driver that supplies a clock for the end point F / F.

その後、データ処理部203は、選択された始点F/F側の最終段クロックドライバと始点F/Fを接続し、選択された終点F/F側の最終段クロックドライバと終点F/Fを接続する(ステップS25)。たとえば、データ処理部203は、「選択された始点F/F側の最終段クロックドライバの識別子と始点F/Fの識別子との組を示すデータ」、および、「選択された終点F/F側の最終段クロックドライバの識別子と終点F/Fの識別子との組を示すデータ」を記憶部201に格納する。   Thereafter, the data processing unit 203 connects the final stage clock driver on the selected start point F / F side and the start point F / F, and connects the selected final stage clock driver on the end point F / F side and the end point F / F. (Step S25). For example, the data processing unit 203 includes “data indicating a set of the identifier of the final stage clock driver on the selected start point F / F side and the identifier of the start point F / F” and “the selected end point F / F side” The data indicating the set of the identifier of the last stage clock driver and the identifier of the end point F / F ”is stored in the storage unit 201.

図7に示す例で説明すると、データ処理部203は、F/F531に対してはグループA最終段クロックドライバ413から配線を接続し、F/F532に対してはグループB最終段クロックドライバ411から配線を接続する。   In the example illustrated in FIG. 7, the data processing unit 203 connects the wiring from the group A final stage clock driver 413 to the F / F 531 and from the group B final stage clock driver 411 to the F / F 532. Connect the wiring.

次に、データ処理部203は、全始点F/F、終点F/Fのクロック接続が完了したかを判断する(ステップS26)。全始点F/F、終点F/Fのクロック接続が完了していなければ(ステップS26/NO)、ステップS13に処理を引き継ぐ。   Next, the data processing unit 203 determines whether or not the clock connection of all start points F / F and end points F / F has been completed (step S26). If the clock connection of all start points F / F and end points F / F is not completed (step S26 / NO), the processing is taken over to step S13.

図8は、以上のように、クロック配線を実施した配線結果の1例を示す図である。   FIG. 8 is a diagram illustrating an example of a wiring result obtained by performing clock wiring as described above.

図8に示すクロック配線は、パスの遅延時間が長く、クロックスキューの小さくなる最終段クロックドライバからクロックを供給すべきケースで、クロックスキューの小さくなる最終段クロックドライバの組み合わせで、クロックをF/Fに接続している。   The clock wiring shown in FIG. 8 is a case where a clock is to be supplied from the final stage clock driver having a long path delay time and a small clock skew. Connected to F.

ここで、図8、図18において、
(1) 目標遅延時間が2.5nS
(2) F/F31からF/F32の配線遅延時間、回路遅延時間、及びF/F32のセットアップ時間の合計が2.35nS(図3に示されている)
(3) SKEW−ABが0.1nS(図5に示されている)
(4) SKEW−AEが0.3nS(図5に示されている)であると想定する。
Here, in FIG. 8 and FIG.
(1) Target delay time is 2.5nS
(2) The sum of the wiring delay time from F / F 31 to F / F 32, the circuit delay time, and the setup time of F / F 32 is 2.35 nS (shown in FIG. 3).
(3) SKEW-AB is 0.1 nS (shown in FIG. 5)
(4) Assume that SKEW-AE is 0.3 nS (shown in FIG. 5).

F/F532に接続される最終段クロックバッファをグループEとした図18の場合、遅延時間は2.35nS+0.3nS=2.65nSであり、目標の2.5nSをオーバーする。図8の場合、F/F532に接続する最終段クロックバッファをグループBと判断したので遅延時間は2.35nS+0.1nS=2.45nSであり、目標の2.5nSを満足できる。   In the case of FIG. 18 in which the last stage clock buffer connected to the F / F 532 is the group E, the delay time is 2.35 nS + 0.3 nS = 2.65 nS, which exceeds the target of 2.5 nS. In the case of FIG. 8, since the final stage clock buffer connected to the F / F 532 is determined to be group B, the delay time is 2.35 nS + 0.1 nS = 2.45 nS, which satisfies the target 2.5 nS.

データ処理部203は、ここまでの処理の終了後、全始点F/F終点F/Fのクロック接続が完了したかをチェックする(ステップS26)。データ処理部203は、未完了であれば次のF/F間パスについて上記処理を繰り返す(ステップS26/NO)。データ処理部203は、全て完了済みであれば、自動接続処理は終了とする(ステップS26/YES)。   After the processing so far, the data processing unit 203 checks whether the clock connection of all the start points F / F end points F / F is completed (step S26). If it is not completed, the data processing unit 203 repeats the above processing for the next inter-F / F path (step S26 / NO). If all of the data processing unit 203 has been completed, the automatic connection processing ends (step S26 / YES).

以上のように、本発明の第2の実施の形態であるクロック配線処理装置(2)200は、パス始点F/F終点F/F間の遅延および、そのF/F間遅延に影響を与えるクロックスキューを考慮して、最終クロックドライバからパス始点F/F終点F/Fへのクロック配線を行うので、パス始点F/F終点F/F間の遅延を最小化できる効果を持つ。   As described above, the clock wiring processing apparatus (2) 200 according to the second embodiment of the present invention affects the delay between the path start point F / F end point F / F and the delay between the F / Fs. Considering the clock skew, the clock wiring from the final clock driver to the path start point F / F end point F / F is performed, so that the delay between the path start point F / F end point F / F can be minimized.

本発明の第1の実施の形態であるクロック配線処理装置(1)100の構成図である。It is a block diagram of the clock wiring processing apparatus (1) 100 which is the 1st Embodiment of this invention. 本発明の第2の実施の形態であるクロック配線処理装置(2)200の構成図である。It is a block diagram of the clock wiring processing apparatus (2) 200 which is the 2nd Embodiment of this invention. 本発明の第2の実施の形態である始点F/F終点F/Fリストデータベース210の1例を示す図である。It is a figure which shows one example of the start point F / F end point F / F list database 210 which is the 2nd Embodiment of this invention. 本発明の第2の実施の形態であるF/F最終段クロックドライバクロック供給可能範囲データベース211の1例を示す図である。It is a figure which shows one example of the F / F last stage clock driver clock supply possible range database 211 which is the 2nd Embodiment of this invention. 本発明の第2の実施の形態である最終段クロックドライバ間クロックスキューデータベース212の1例を示す図である。It is a figure which shows one example of the clock skew database 212 between the last stage clock drivers which is the 2nd Embodiment of this invention. 本発明の第2の実施の形態である最終段クロックドライバ候補データの1例を示す図である。It is a figure which shows an example of the last stage clock driver candidate data which is the 2nd Embodiment of this invention. 本発明の第2の実施の形態であるクロック配線処理装置(2)200でのクロック配線を実施するときの始点F/F終点F/Fの配置状態の1例を示す図である。It is a figure which shows an example of the arrangement | positioning state of the start point F / F end point F / F when implementing clock wiring in the clock wiring processing apparatus (2) 200 which is the 2nd Embodiment of this invention. 本発明の第2の実施の形態であるクロック配線処理装置(2)200でのクロック配線を実施した配線結果の1例を示す図である。It is a figure which shows one example of the wiring result which implemented the clock wiring in the clock wiring processing apparatus (2) 200 which is the 2nd Embodiment of this invention. 本発明の第2の実施の形態であるクロック配線処理装置(2)200の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the clock wiring processing apparatus (2) 200 which is the 2nd Embodiment of this invention. LSIの全面にクロック幹線をH−Tree方式にて供給した場合の一例を示す図である。It is a figure which shows an example at the time of supplying a clock trunk line to the whole surface of LSI by the H-Tree system. 図10に示すH−Tree方式によるクロック幹線をツリー状に表したものを示す図である。It is a figure which shows what represented the clock trunk line by the H-Tree system shown in FIG. 10 in tree shape. インスタンスを配置した後の最終段クロックドライバ近傍についての最終段クロックドライバとF/Fの1例を示す図である。It is a figure which shows one example of the last stage clock driver and F / F about the last stage clock driver vicinity after arrange | positioning an instance. クロック供給可能範囲について示す図である。It is a figure shown about a clock supply possible range. 最終段クロックドライバからF/Fにクロックを供給する自動処理のフローチャートを示す図である。It is a figure which shows the flowchart of the automatic process which supplies a clock to F / F from the last stage clock driver. 図14に示すフローチャートにより行われた最終段クロックドライバからF/Fまでの配線後の状態を示す図である。It is a figure which shows the state after the wiring from the last stage clock driver to F / F performed by the flowchart shown in FIG. クロック幹線をツリー状に表した図である。It is the figure which represented the clock trunk line in the shape of a tree. 最終段クロックドライバと始点F/F終点F/Fとの接続の1例を示す図である。It is a figure which shows one example of the connection of the last stage clock driver and the start point F / F end point F / F. 図14に示すフローチャートにより行われた最終段クロックドライバからF/Fまでの配線後の状態を示す図である。It is a figure which shows the state after the wiring from the last stage clock driver to F / F performed by the flowchart shown in FIG.

符号の説明Explanation of symbols

100 クロック配線処理装置(1)
101 始終点F/F処理部
102 クロックスキュー処理部
200 クロック配線処理装置(2)
201 記憶部
202 クロック配線処理部
203 データ処理部
210 始点F/F終点F/Fリストデータベース
211 F/F最終段クロックドライバクロック供給可能範囲データベース
212 最終段クロックドライバ間クロックスキューデータベース
213 入出力処理部
401 最終段クロックドライバ
402 最終段クロックドライバ
411 グループB最終段クロックドライバ
412 グループE最終段クロックドライバ
413 グループA最終段クロックドライバ
511 F/F
512 F/F
513 F/F
514 F/F
517 F/F
531 F/F
532 F/F
621 クロック供給可能範囲
622 クロック供給可能範囲
623 クロック供給可能基本範囲
624 クロック供給可能隣接範囲
1010 始点F/F処理部
1011 終点F/F処理部
100 Clock wiring processor (1)
101 Start / End F / F Processing Unit 102 Clock Skew Processing Unit 200 Clock Wiring Processing Device (2)
DESCRIPTION OF SYMBOLS 201 Memory | storage part 202 Clock wiring process part 203 Data processing part 210 Start point F / F end point F / F list database 211 F / F last stage clock driver clock supplyable range database 212 Clock skew database between last stage clock drivers 213 Input / output processing part 401 Final stage clock driver 402 Final stage clock driver 411 Group B final stage clock driver 412 Group E final stage clock driver 413 Group A final stage clock driver 511 F / F
512 F / F
513 F / F
514 F / F
517 F / F
531 F / F
532 F / F
621 Clock supply range 622 Clock supply range 623 Clock supply basic range 624 Clock supply adjacent range 1010 Start point F / F processing unit 1011 End point F / F processing unit

Claims (15)

始点F/F終点F/Fリストを記憶部に抽出し、始点F/F及び終点F/Fへ接続する最終段クロックドライバの候補を検索して選択し前記記憶部に格納する始終点F/F処理部と、最終段クロックドライバ間クロックスキューを前記記憶部に抽出し、前記始点F/F及び前記終点F/Fへ接続する前記最終段クロックドライバ候補の組み合わせから、前記最終段クロックドライバ間クロックスキューが最小になる前記始点F/F及び前記終点F/Fに接続する前記最終段クロックドライバを選択して前記記憶部に格納するクロックスキュー処理部と、を備えることを特徴とするクロック配線処理装置。 The start point F / F end point F / F list is extracted in the storage unit, and the last stage clock driver candidate connected to the start point F / F and the end point F / F is searched and selected, and the start / end point F / stored in the storage unit is stored. The clock skew between the F processing unit and the final stage clock driver is extracted to the storage unit, and the combination of the final stage clock driver candidates connected to the start point F / F and the end point F / F is determined between the final stage clock drivers. A clock skew processing unit for selecting the final stage clock driver connected to the start point F / F and the end point F / F that minimizes the clock skew and storing the selected clock driver in the storage unit. Processing equipment. 前記始終点F/F処理部は、前記始点F/Fへ接続する前記最終段クロックドライバの候補を選択し、前記記憶部に格納する始点F/F処理部と、前記終点F/Fへ接続する前記最終段クロックドライバの候補を選択し、前記記憶部に格納する終点F/F処理部と、を備えることを特徴とする請求項1記載のクロック配線処理装置。 The start / end point F / F processing unit selects a candidate for the final stage clock driver to be connected to the start point F / F, and connects to the start point F / F processing unit to be stored in the storage unit and the end point F / F The clock wiring processing device according to claim 1, further comprising: an end point F / F processing unit that selects a candidate for the final stage clock driver to be stored and stores it in the storage unit. 前記始点F/F処理部は、前記始点F/Fがクロック供給可能基本範囲に存在するときに、前記クロック供給可能基本範囲に対応する前記最終段クロックドライバを前記始点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納し、前記始点F/Fがクロック供給可能隣接範囲に存在するときに、前記クロック供給可能隣接範囲に対応するすべての前記最終段クロックドライバを前記始点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納し、
前記終点F/F処理部は、前記終点F/Fが前記クロック供給可能基本範囲に存在するときに、前記クロック供給可能基本範囲に対応する前記最終段クロックドライバを前記終点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納し、前記終点F/Fがクロック供給可能隣接範囲に存在するときに、前記クロック供給可能隣接範囲に対応するすべての前記最終段クロックドライバを前記終点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納することを特徴とする請求項2記載のクロック配線処理装置。
The start point F / F processing unit connects the last stage clock driver corresponding to the clock supply basic range to the start point F / F when the start point F / F exists in the clock supply basic range. All the final stage clocks corresponding to the clock supplyable adjacent range are selected as candidates for the final stage clock driver, stored in the storage unit, and the start point F / F exists in the clock supplyable adjacent range. Selecting a driver as a candidate for the final stage clock driver to be connected to the start point F / F, and storing it in the storage unit;
The end point F / F processing unit connects the final stage clock driver corresponding to the clock supplyable basic range to the end point F / F when the end point F / F exists in the clock supplyable basic range. All the final stages corresponding to the clock supplyable adjacent range when selected as candidates of the final stage clock driver and stored in the storage unit, and the end point F / F exists in the clock supplyable adjacent range 3. The clock wiring processing apparatus according to claim 2, wherein a clock driver is selected as a candidate for the final stage clock driver connected to the end point F / F and stored in the storage unit.
前記始点F/F終点F/Fリストを格納する始点F/F終点F/Fリストデータベースと、前記最終段クロックドライバ間クロックスキューを格納する最終段クロックドライバ間クロックスキューデータベースと、を備えることを特徴とする請求項3記載のクロック配線処理装置。 A start point F / F end point F / F list database for storing the start point F / F end point F / F list; and a final stage clock driver inter-clock skew database for storing the final stage clock driver inter-clock skew database. 4. The clock wiring processing apparatus according to claim 3, wherein: 前記始点F/Fから前記終点F/Fへのパスの遅延時間順にソートされた前記始点F/F終点F/Fリストからパスの遅延時間が大きい順に、前記始点F/F及び前記終点F/Fを抽出する前記始終点F/F処理部と、を備えることを特徴とする請求項1乃至請求項4のいずれかに記載のクロック配線処理装置。 The start point F / F and the end point F / are sorted in descending order of path delay time from the start point F / F end point F / F list sorted in order of path delay time from the start point F / F to the end point F / F. 5. The clock wiring processing apparatus according to claim 1, further comprising: a start / end point F / F processing unit that extracts F. 6. 最終段クロックドライバから始点F/F及び終点F/Fに接続するクロック配線処理方法であって、
始点F/F終点F/Fリストを記憶部に抽出し、始点F/F及び終点F/Fへ接続する最終段クロックドライバの候補を検索して選択し前記記憶部に格納する始終点F/F処理ステップと、最終段クロックドライバ間クロックスキューを前記記憶部に抽出し、前記始点F/F及び前記終点F/Fへ接続する前記最終段クロックドライバ候補の組み合わせから、前記最終段クロックドライバ間クロックスキューが最小になる前記始点F/F及び前記終点F/Fに接続する前記最終段クロックドライバを選択して前記記憶部に格納するクロックスキュー選択処理ステップと、を含むことを特徴とするクロック配線処理方法。
A clock wiring processing method for connecting from a final stage clock driver to a start point F / F and an end point F / F,
The start point F / F end point F / F list is extracted in the storage unit, and the last stage clock driver candidate connected to the start point F / F and the end point F / F is searched and selected, and the start / end point F / stored in the storage unit is stored. F processing step and the clock skew between the final stage clock drivers are extracted to the storage unit, and from the combination of the final stage clock driver candidates connected to the start point F / F and the end point F / F, between the final stage clock drivers A clock skew selection processing step of selecting the final stage clock driver connected to the start point F / F and the end point F / F that minimize the clock skew and storing the selected clock driver in the storage unit. Wiring processing method.
前記始終点F/F処理ステップは、前記始点F/Fへ接続する前記最終段クロックドライバの候補を選択し、前記記憶部に格納する始点F/F処理ステップと、前記終点F/Fへ接続する前記最終段クロックドライバの候補を選択し、前記記憶部に格納する終点F/F処理ステップと、を含むことを特徴とする請求項6記載のクロック配線処理方法。 The start / end point F / F processing step selects a final stage clock driver candidate to be connected to the start point F / F and stores it in the storage unit, and connects to the end point F / F The clock wiring processing method according to claim 6, further comprising: an end point F / F processing step of selecting a candidate for the final stage clock driver to be stored and storing the candidate in the storage unit. 前記始点F/F処理ステップは、前記始点F/Fがクロック供給可能基本範囲に存在するときに、前記クロック供給可能基本範囲に対応する前記最終段クロックドライバを前記始点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納し、前記始点F/Fがクロック供給可能隣接範囲に存在するときに、前記クロック供給可能隣接範囲に対応するすべての前記最終段クロックドライバを前記始点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納し、前記終点F/F処理ステップは、前記終点F/Fが前記クロック供給可能基本範囲に存在するときに、前記クロック供給可能基本範囲に対応する前記最終段クロックドライバを前記終点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納し、前記終点F/Fがクロック供給可能隣接範囲に存在するときに、前記クロック供給可能隣接範囲に対応するすべての前記最終段クロックドライバを前記終点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納することを特徴とする請求項7記載のクロック配線処理方法。 In the start point F / F processing step, when the start point F / F exists in the clock supply basic range, the final stage clock driver corresponding to the clock supply basic range is connected to the start point F / F. All the final stage clocks corresponding to the clock supplyable adjacent range are selected as candidates for the final stage clock driver, stored in the storage unit, and the start point F / F exists in the clock supplyable adjacent range. A driver is selected as a candidate for the last stage clock driver to be connected to the start point F / F and stored in the storage unit. The end point F / F processing step includes a basic range in which the end point F / F can supply the clock. The last-stage clock driver that connects the last-stage clock driver corresponding to the clock-suppliable basic range to the end-point F / F. All the final stage clock drivers corresponding to the clock supplyable adjacent range when the end point F / F exists in the clock supplyable adjacent range. 8. The clock wiring processing method according to claim 7, wherein the clock wiring processing method is selected as a candidate for the final stage clock driver connected to the end point F / F and stored in the storage unit. 前記始点F/F終点F/Fリストを始点F/F終点F/Fリストデータベースに格納するステップと、前記最終段クロックドライバ間クロックスキューを最終段クロックドライバ間クロックスキューデータベース格納するステップと、を含むことを特徴とする請求項8記載のクロック配線処理方法。 Storing the start point F / F end point F / F list in a start point F / F end point F / F list database, and storing the clock skew between the last stage clock drivers in a clock skew database between the last stage clock drivers. 9. The clock wiring processing method according to claim 8, further comprising: 前記始点F/Fから前記終点F/Fへのパスの遅延時間順にソートされた前記始点F/F終点F/Fリストからパスの遅延時間が大きい順に、前記始点F/F及び前記終点F/Fを抽出する前記始終点F/F処理ステップと、を含むことを特徴とする請求項6乃至請求項9のいずれかに記載のクロック配線処理方法。 The start point F / F and the end point F / are sorted in descending order of path delay time from the start point F / F end point F / F list sorted in order of path delay time from the start point F / F to the end point F / F. The clock wiring processing method according to claim 6, further comprising: a start / end point F / F processing step of extracting F. 最終段クロックドライバから始点F/F及び終点F/Fに接続するプログラムであって、
始点F/F終点F/Fリストを記憶部に抽出し、始点F/F及び終点F/Fへ接続する最終段クロックドライバの候補を検索して選択し前記記憶部に格納する始終点F/F処理と、最終段クロックドライバ間クロックスキューを前記記憶部に抽出し、前記始点F/F及び前記終点F/Fへ接続する前記最終段クロックドライバ候補の組み合わせから、前記最終段クロックドライバ間クロックスキューが最小になる前記始点F/F及び前記終点F/Fに接続する前記最終段クロックドライバを選択して前記記憶部に格納するクロックスキュー処理と、をコンピュータに実行させることを特徴とするプログラム。
A program for connecting from the last stage clock driver to the start point F / F and the end point F / F,
The start point F / F end point F / F list is extracted in the storage unit, and the last stage clock driver candidate connected to the start point F / F and the end point F / F is searched and selected, and the start / end point F / stored in the storage unit is stored. The clock skew between the final stage clock drivers is extracted from the combination of the final stage clock driver candidates connected to the start point F / F and the end point F / F. A program that causes a computer to execute clock skew processing that selects and stores the final stage clock driver connected to the start point F / F and end point F / F that minimize the queue and stores the clock driver in the storage unit. .
前記始終点F/F処理は、前記始点F/Fへ接続する前記最終段クロックドライバの候補を選択し、前記記憶部に格納する始点F/F処理と、前記終点F/Fへ接続する前記最終段クロックドライバの候補を選択し、前記記憶部に格納する終点F/F処理と、を含むことを特徴とする請求項11記載のプログラム。 In the start / end point F / F process, the final stage clock driver candidate to be connected to the start point F / F is selected, and the start point F / F process to be stored in the storage unit and the end point F / F to be connected to the end point F / F are selected. 12. The program according to claim 11, further comprising: an end point F / F process for selecting a final stage clock driver candidate and storing it in the storage unit. 前記始点F/F処理は、前記始点F/Fがクロック供給可能基本範囲に存在するときに、前記クロック供給可能基本範囲に対応する前記最終段クロックドライバを前記始点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納し、前記始点F/Fがクロック供給可能隣接範囲に存在するときに、前記クロック供給可能隣接範囲に対応するすべての前記最終段クロックドライバを前記始点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納し、
前記終点F/F処理は、前記終点F/Fが前記クロック供給可能基本範囲に存在するときに、前記クロック供給可能基本範囲に対応する前記最終段クロックドライバを前記終点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納し、前記終点F/Fがクロック供給可能隣接範囲に存在するときに、前記クロック供給可能隣接範囲に対応するすべての前記最終段クロックドライバを前記終点F/Fに接続する前記最終段クロックドライバの候補として選択して、前記記憶部に格納することを特徴とする請求項12記載のプログラム。
In the start point F / F processing, when the start point F / F exists in the clock supply basic range, the final stage clock driver corresponding to the clock supply basic range is connected to the start point F / F. All the final stage clock drivers corresponding to the clock supplyable adjacent range when selected as candidates for the stage clock driver, stored in the storage unit, and when the start point F / F exists in the clock supplyable adjacent range Are selected as candidates for the final stage clock driver connected to the start point F / F, and stored in the storage unit,
In the end point F / F process, when the end point F / F exists in the basic range that can supply the clock, the final stage clock driver corresponding to the basic range that can supply the clock is connected to the end point F / F. All the final stage clocks corresponding to the clock supplyable adjacent range when selected as candidates of the final stage clock driver, stored in the storage unit, and the end point F / F exists in the clock supplyable adjacent range 13. The program according to claim 12, wherein a driver is selected as a candidate for the final stage clock driver connected to the end point F / F and stored in the storage unit.
前記始点F/F終点F/Fリストを始点F/F終点F/Fリストデータベースに格納する処理と、前記最終段クロックドライバ間クロックスキューを最終段クロックドライバ間クロックスキューデータベース格納する処理と、をコンピュータに実行させることを特徴とする請求項13記載のプログラム。 A process of storing the start point F / F end point F / F list in a start point F / F end point F / F list database and a process of storing the clock skew between the last stage clock drivers in the clock skew database between the last stage clock drivers. 14. The program according to claim 13, which is executed by a computer. 前記始点F/Fから前記終点F/Fへのパスの遅延時間順にソートされた前記始点F/F終点F/Fリストからパスの遅延時間が大きい順に、前記始点F/F及び前記終点F/Fを抽出する前記始終点F/F処理、をコンピュータに実行させることを特徴とする請求項11乃至請求項14のいずれかに記載のプログラム。 The start point F / F and the end point F / are sorted in descending order of path delay time from the start point F / F end point F / F list sorted in order of path delay time from the start point F / F to the end point F / F. The program according to any one of claims 11 to 14, which causes a computer to execute the start / end point F / F processing for extracting F.
JP2007322974A 2007-12-14 2007-12-14 Clock wiring processing apparatus, clock wiring processing method, and program Expired - Fee Related JP4966838B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007322974A JP4966838B2 (en) 2007-12-14 2007-12-14 Clock wiring processing apparatus, clock wiring processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007322974A JP4966838B2 (en) 2007-12-14 2007-12-14 Clock wiring processing apparatus, clock wiring processing method, and program

Publications (2)

Publication Number Publication Date
JP2009146175A JP2009146175A (en) 2009-07-02
JP4966838B2 true JP4966838B2 (en) 2012-07-04

Family

ID=40916708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007322974A Expired - Fee Related JP4966838B2 (en) 2007-12-14 2007-12-14 Clock wiring processing apparatus, clock wiring processing method, and program

Country Status (1)

Country Link
JP (1) JP4966838B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5564231B2 (en) * 2009-10-16 2014-07-30 株式会社日立情報通信エンジニアリング LSI design method and program
JP6136430B2 (en) * 2013-03-25 2017-05-31 富士通株式会社 Design support apparatus, design support method, and design support program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266795A (en) * 1993-03-16 1994-09-22 Hokuriku Nippon Denki Software Kk Delay time improving system
JPH10124553A (en) * 1996-10-21 1998-05-15 Nippon Telegr & Teleph Corp <Ntt> Method for preparing clock tree
JP2005136286A (en) * 2003-10-31 2005-05-26 Nec Electronics Corp Method for designing semiconductor integrated circuit and its device

Also Published As

Publication number Publication date
JP2009146175A (en) 2009-07-02

Similar Documents

Publication Publication Date Title
US8015522B2 (en) System for implementing post-silicon IC design changes
US8701064B2 (en) Timing error removing method and design support apparatus
JP4993362B2 (en) Automatic delay adjustment method for semiconductor integrated circuit
US10891413B1 (en) Incremental initialization by parent and child placer processes in processing a circuit design
JP5193406B2 (en) CLOCK DISTRIBUTION CIRCUIT DESIGN METHOD, DESIGN DEVICE, DESIGN PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE PROGRAM
JP4966838B2 (en) Clock wiring processing apparatus, clock wiring processing method, and program
JP2008129724A (en) Semiconductor layout design device
EP1363210A1 (en) Design method for gate array integrated circuit
JP5444985B2 (en) Information processing device
US20140337657A1 (en) Design support device, design support method, and computer-readable recording medium having stored therein design support program
JP4998150B2 (en) Floor plan editing device for semiconductor integrated circuits
US8386983B1 (en) Parallel signal routing
JP2008277497A (en) Design system of semiconductor integrated circuit, design method of semiconductor integrated circuit, manufacturing method of semiconductor device and semiconductor device
JP2000215224A (en) Device and method for generating and processing restriction for logical synthesis
JP2005293349A (en) Circuit design support system, design method and program
JP2010140255A (en) Reconfigurable logic circuit, verification method and verification program
JP2009053830A (en) Automatic layout/wiring device and layout device
JP2010086284A (en) Method for designing clock signal providing circuit, information processing apparatus, and program
JP4340592B2 (en) SLACK VALUE SETTING METHOD, SLACK VALUE SETTING DEVICE, SLACK VALUE SETTING PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE PROGRAM
JP4248925B2 (en) Automatic floor plan determination method
JP5076503B2 (en) Semiconductor integrated circuit wiring design system, semiconductor integrated circuit, and wiring design program
JP6596554B2 (en) Circuit design method and program
JP2000150659A (en) Method for designing layout of semiconductor integrated circuit device
JP4806535B2 (en) Spare cell set placement method
JP4673689B2 (en) Logic synthesis method and logic synthesis apparatus

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101112

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120402

R150 Certificate of patent or registration of utility model

Ref document number: 4966838

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees