JP4645843B2 - Data processing apparatus, data processing method and program - Google Patents
Data processing apparatus, data processing method and program Download PDFInfo
- Publication number
- JP4645843B2 JP4645843B2 JP2006057770A JP2006057770A JP4645843B2 JP 4645843 B2 JP4645843 B2 JP 4645843B2 JP 2006057770 A JP2006057770 A JP 2006057770A JP 2006057770 A JP2006057770 A JP 2006057770A JP 4645843 B2 JP4645843 B2 JP 4645843B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- clock distribution
- data processing
- integrated circuit
- network
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本発明は、集積回路の論理的設計データに基づき物理的設計データを生成するためのデータ処理装置、データ処理方法、およびその方法をコンピュータに実行させるためのプログラムに関する。 The present invention relates to a data processing apparatus for generating physical design data based on logical design data of an integrated circuit, a data processing method, and a program for causing a computer to execute the method.
集積回路は、回路動作のタイミングの基準となるクロック信号を生成するクロック発生装置(以下では、ドライバと称する)と、クロック信号を受け取る複数の要素(以下では、レシーバと称する)とを有する。ドライバは1つ以上設けられている。ドライバとレシーバはクロック分配網と呼ばれるネットワークで接続されている。クロック分配網とレシーバの接続部には、バッファやインバータなどのセルが設けられている。 The integrated circuit includes a clock generation device (hereinafter referred to as a driver) that generates a clock signal that serves as a reference for the timing of circuit operation, and a plurality of elements (hereinafter referred to as receivers) that receive the clock signal. One or more drivers are provided. The driver and receiver are connected by a network called a clock distribution network. Cells such as buffers and inverters are provided at the connection between the clock distribution network and the receiver.
クロックソースとなるドライバから発信されたクロック信号が最終段のバッファまたはインバータの出力端子に到達するまでの伝達遅延をクロック遅延と定義する。ドライバから各レシーバまでの配線長が同一である場合、ドライバがクロック分配網を介してクロック信号を複数のレシーバに送信したとき、各レシーバがクロック信号を受信するタイミングは同じになる。このように、クロック分配網が理想的に形成されていれば、各レシーバのクロック遅延が一致する。一方、製造ばらつきによりドライバから各レシーバまでの配線長が異なっている場合、各レシーバのクロック遅延が一致しなくなる。製造ばらつきを考慮しない場合のクロック遅延と考慮した場合のクロック遅延との差をクロック伝達遅延誤差(クロックスキュー)と定義する。 A transmission delay until the clock signal transmitted from the driver serving as the clock source reaches the final stage buffer or the output terminal of the inverter is defined as a clock delay. When the wiring length from the driver to each receiver is the same, when the driver transmits a clock signal to a plurality of receivers via the clock distribution network, the timing at which each receiver receives the clock signal is the same. In this way, if the clock distribution network is ideally formed, the clock delays of the respective receivers match. On the other hand, when the wiring length from the driver to each receiver is different due to manufacturing variations, the clock delays of each receiver do not match. The difference between the clock delay when the manufacturing variation is not considered and the clock delay when the manufacturing variation is considered is defined as a clock transmission delay error (clock skew).
クロック分配網にクロックスキューがあると、回路を正常に動作させるためには、その誤差分を考慮して回路の動作周波数の上限を下げる必要がある。動作周波数の上限を上げるには、クロックスキューの小さいクロック分配網が望ましい。その対策として、H−Tree構造のように対称的な構造をもつクロック分配構造が特許文献1に開示されている。クロック分配構造とは、クロック分配網の基礎になるものである。
If there is a clock skew in the clock distribution network, the upper limit of the operating frequency of the circuit must be lowered in consideration of the error in order to operate the circuit normally. In order to increase the upper limit of the operating frequency, a clock distribution network with a small clock skew is desirable. As a countermeasure,
しかし、微細化の進む近年の集積回路においては対称的なクロック分配構造であっても、製造時のばらつきによりクロックスキューが発生することが問題になっている。この問題に対して、Mesh構造やSpine構造、および複数の構造を組み合わせたクロック分配構造が提案されている。製造時にばらつきが発生することを回避できないが、これらの構造を用いることにより、製造ばらつきに起因して発生するクロックスキューはより小さいものになる。
一般的に、製造ばらつきがクロックスキューに与える影響が小さいクロック分配構造ほど配線量が多くなり、消費電力が大きくなってしまう。反対に、配線量が少なくなるほど、消費電力が小さくなるが、クロックスキューによる影響が大きくなる。そのため、特定の集積回路に適したクロック分配構造について、その両者の関係から簡単には求めることができないという問題がある。また、全てのクロック分配構造をそれぞれ実装し、クロックスキューを見積もる手法が考えられるが、それには大きな工数および計算時間がかかってしまうという問題が生じる。 In general, the amount of wiring increases and the power consumption increases as the clock distribution structure has a smaller influence of manufacturing variations on clock skew. Conversely, as the amount of wiring decreases, the power consumption decreases, but the effect of clock skew increases. Therefore, there is a problem that a clock distribution structure suitable for a specific integrated circuit cannot be easily obtained from the relationship between the two. In addition, a method of estimating all the clock distribution structures and estimating the clock skew can be considered, but this involves a problem that it takes a large number of man-hours and calculation time.
本発明は上述したような従来の技術が有する問題点を解決するためになされたものであり、複数種存在するクロック分配構造の中から、ユーザが最適な構造を選択可能とする情報を提示するデータ処理装置、データ処理方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。 The present invention has been made to solve the above-described problems of the prior art, and presents information that allows the user to select an optimum structure from among a plurality of types of clock distribution structures. An object is to provide a data processing apparatus, a data processing method, and a program for causing a computer to execute the method.
上記目的を達成するための本発明のデータ処理装置は、
クロック信号を分配するための配線網の基本構造であるクロック分配構造の情報が複数種格納された記憶部と、
前記クロック信号を受け取るレシーバの数の情報を含む集積回路データに対して、候補となる複数のクロック分配網のクロックスキューおよび消費電力の情報を出力するための出力部と、
前記集積回路データが入力されると、前記記憶部に格納された複数種のクロック分配構造を用いて該集積回路データに対する仮想的なクロック分配網を複数生成する仮想クロック網生成手段、生成されたクロック分配網毎に異なる前記クロック分配構造に対してクロックスキューを最小化するパラメタを決定する最適化手段、および、パラメタが決定されたクロック分配網毎に前記クロックスキューおよび前記消費電力を求める解析手段を含むデータ処理部と、
を有する構成である。
In order to achieve the above object, a data processing apparatus of the present invention comprises:
A storage unit storing a plurality of types of information of a clock distribution structure, which is a basic structure of a wiring network for distributing a clock signal;
An output unit for outputting clock skew and power consumption information of a plurality of candidate clock distribution networks for integrated circuit data including information on the number of receivers that receive the clock signal;
Virtual clock network generation means for generating a plurality of virtual clock distribution networks for the integrated circuit data using a plurality of types of clock distribution structures stored in the storage unit when the integrated circuit data is input. Optimizing means for determining a parameter for minimizing clock skew for the clock distribution structure that is different for each clock distribution network, and analysis means for determining the clock skew and power consumption for each clock distribution network for which the parameter is determined A data processing unit including:
It is the structure which has.
一方、上記目的を達成するための本発明のデータ処理方法は、クロック信号を分配するための配線網の基本構造である複数種のクロック分配構造を記憶する記憶部と、クロック信号を集積回路内に分配するためのクロック分配網を求めるデータ処理部とを備えた情報処理装置によるデータ処理方法であって、
前記データ処理部が、前記クロック信号を受け取るレシーバの数の情報を含む集積回路データが入力されると、前記記憶部に格納された複数種のクロック分配構造を用いて該集積回路データに対する仮想的なクロック分配網を複数生成し、
前記データ処理部が、生成されたクロック分配網毎に異なる前記クロック分配構造に対してクロックスキューを最小化するパラメタを決定し、
前記データ処理部が、パラメタが決定されたクロック分配網毎にクロックスキューおよび消費電力を求めるものである。
On the other hand, a data processing method of the present invention for achieving the above object includes a storage unit for storing a plurality of types of clock distribution structures, which is a basic structure of a wiring network for distributing clock signals, and a clock signal in an integrated circuit. A data processing method by an information processing apparatus comprising a data processing unit for obtaining a clock distribution network for distribution to
When integrated circuit data including information on the number of receivers that receive the clock signal is input to the data processing unit, a virtual distribution for the integrated circuit data is performed using a plurality of types of clock distribution structures stored in the storage unit. Create multiple clock distribution networks,
The data processing unit determines a parameter that minimizes clock skew for the clock distribution structure that is different for each generated clock distribution network;
The data processing unit obtains clock skew and power consumption for each clock distribution network for which parameters are determined.
また、上記目的を達成するための本発明のプログラムは、クロック信号を分配するための配線網の基本構造である複数種のクロック分配構造を記憶する記憶部と、クロック信号を集積回路内に分配するためのクロック分配網を求めるデータ処理部とを備えたコンピュータの該データ処理部に実行させるためのプログラムであって、
前記クロック信号を受け取るレシーバの数の情報を含む集積回路データが入力されると、前記記憶部に格納された複数種のクロック分配構造を用いて該集積回路データに対する仮想的なクロック分配網を複数生成するステップと、
生成されたクロック分配網毎に異なる前記クロック分配構造に対してクロックスキューを最小化するパラメタを決定するステップと、
パラメタが決定されたクロック分配網毎にクロックスキューおよび消費電力を求めるステップと、
を有する処理を前記コンピュータの前記データ処理部に実行させるものである。
In addition, a program of the present invention for achieving the above object includes a storage unit for storing a plurality of types of clock distribution structures, which is a basic structure of a wiring network for distributing clock signals, and distributing clock signals in an integrated circuit. A program for causing a data processing unit of a computer provided with a data processing unit to obtain a clock distribution network to
When integrated circuit data including information on the number of receivers that receive the clock signal is input, a plurality of virtual clock distribution networks for the integrated circuit data are generated using a plurality of types of clock distribution structures stored in the storage unit. Generating step;
Determining a parameter that minimizes clock skew for the clock distribution structure that is different for each generated clock distribution network;
Determining clock skew and power consumption for each clock distribution network for which parameters have been determined;
The data processing unit of the computer is caused to execute a process including:
本発明によれば、候補となる複数のクロック分配網と、各クロック分配網のクロックスキューおよび消費電力の解析結果とがユーザに提示されるため、ユーザは、開発対象の集積回路に適したクロック分配網をより短時間で選択できる。 According to the present invention, a plurality of candidate clock distribution networks and the analysis results of clock skew and power consumption of each clock distribution network are presented to the user, so that the user can select a clock suitable for the integrated circuit to be developed. The distribution network can be selected in a shorter time.
(第1の実施形態)
本実施形態のデータ処理装置の構成を説明する。
(First embodiment)
The configuration of the data processing apparatus of this embodiment will be described.
図1は、本実施形態のデータ処理装置の一構成例を示すブロック図である。図1に示すように、データ処理装置は、入力部1と、データ処理部2と、記憶部5と、出力部3とを有する情報処理装置である。データ処理部2は、仮想クロック網生成手段21と、最適化手段22と、解析手段23とを有する。
FIG. 1 is a block diagram illustrating a configuration example of the data processing apparatus according to the present embodiment. As shown in FIG. 1, the data processing apparatus is an information processing apparatus having an
入力部1は、キーボードおよびマウス等の操作デバイスの他、通信線を介して外部装置とデータを送受信する通信部を含む。集積回路データが入力されると、集積回路データをデータ処理部2に渡す。集積回路データは、少なくともレシーバの情報を含んでいる。レシーバの情報とは、レシーバの数を含む情報である。本実施形態の集積回路データには、各レシーバの配置の情報が含まれ、各レシーバのチップ上の配置位置(配置座標)が確定されている。
The
記憶部5には、クロック信号を分配するための配線網の基本構造であるクロック分配構造の情報が複数種格納されている。特許文献1に開示されたH−Tree構造がクロック分配構造の一種である。また、記憶部5には、各手段の処理結果が格納される。
The
仮想クロック網生成手段21は、入力部1より受け取る集積回路データに対し、記憶部5に格納された種々のクロック分配構造を適用し、仮想的なクロック分配網を複数生成する。ここでは、物理的な設計制約を無視してクロック分配網を生成するため、生成されたクロック分配網は、そのままでは実装できない仮想的なものとなる。ただし、仮想的と言っても、既存のクロック分配構造を基にして集積回路データに対応する分配網のモデルを生成しているため、後述の最適化手段および解析手段を実行可能な程度にデータ上で存在する。
The virtual clock
最適化手段22は、仮想的なクロック分配網に対し、その基になるクロック分配構造ごとに存在するパラメタを最適化する。この最適化の際には、ドライバからレシーバへの製造ばらつきによるクロックスキューの発生を最小化することを目的とする。 The optimization means 22 optimizes the parameters existing for each underlying clock distribution structure for the virtual clock distribution network. The purpose of this optimization is to minimize the occurrence of clock skew due to manufacturing variations from the driver to the receiver.
解析手段23は、仮想的なクロック分配網の遅延を解析する。静的遅延解析機能および確率的静的遅延解析機能を備え、製造ばらつきを考慮しない場合のクロック遅延およびクロックスキューと、製造ばらつきを考慮する場合のクロックスキューとを求める。また、消費電力を計算により求める。このようにして、最適なクロック分配構造をユーザが判定するために必要な情報を解析により求める。本実施形態では、クロックスキューの解析に、製造ばらつきを考慮する場合と考慮しない場合の両方を行うが、いずれか一方であってもよい。 The analysis means 23 analyzes the delay of the virtual clock distribution network. A static delay analysis function and a probabilistic static delay analysis function are provided, and a clock delay and a clock skew when the manufacturing variation is not taken into consideration and a clock skew when the manufacturing variation is taken into consideration are obtained. Further, the power consumption is obtained by calculation. In this way, information necessary for the user to determine the optimum clock distribution structure is obtained by analysis. In this embodiment, the clock skew analysis is performed both when the manufacturing variation is taken into consideration and when it is not taken into consideration.
なお、データ処理部2は、プログラムにしたがって所定の処理を実行するCPU(Central Processing Unit)と、プログラムを格納するためのメモリとを有する。仮想クロック網生成手段21、最適化手段22および解析手段23は、CPUがプログラムを実行することでデータ処理装置内に仮想的に構成される。
The data processing unit 2 includes a CPU (Central Processing Unit) that executes predetermined processing according to a program and a memory for storing the program. The virtual clock
出力部3は、解析手段23により得られた解析結果をユーザに見える形で出力するディスプレイ装置である。GUI(Graphical User Interface)の機能を有し、クロック分配網およびクロックスキュー分布を画面に表示する。消費電力の情報はテキスト形式で表示する。出力部3をプリンタ装置とすれば、これらの結果を紙に印刷させることも可能である。
The
次に、本実施形態のデータ処理装置の動作を説明する。図2はデータ処理装置の構成例およびデータの流れを示すブロック図であり、図3はデータ処理部の動作手順を示すフローチャートである。 Next, the operation of the data processing apparatus of this embodiment will be described. FIG. 2 is a block diagram showing a configuration example of the data processing apparatus and a data flow, and FIG. 3 is a flowchart showing an operation procedure of the data processing unit.
全てのレシーバのチップ上の配置位置が決定済みの集積回路データを用意する。ユーザが予め用意した集積回路データ41を外部装置4から入力部1を介してデータ処理部2に入力すると、入力部1は集積回路データ41をデータ処理部2に渡す。
Integrated circuit data whose arrangement positions on all the receiver chips have been determined is prepared. When the
データ処理部2の仮想クロック網生成手段21は、集積回路データ41を受け取ると、記憶部5に格納された複数のクロック分配構造51の情報を読み出す。そして、複数のクロック分配構造51のそれぞれを集積回路データ41に対して適用し、チップ平面に搭載可能な複数のクロック分配網52を生成する(ステップ101)。続いて、これらのクロック分配網52の情報を記憶部5に格納する。クロック分配構造51の種類は、H−Tree構造、Mesh構造、Spine構造、およびこれらを組み合わせた構造など、さまざまな構造を含む。仮想クロック網生成手段21は、特許文献1の図2に示したH−Tree構造のように、クロックソースをチップの中央に配置し、配線を生成する。この際、配線の生成は現実的な物理設計制約を無視して行う。すなわち、既存の電源配線と重なっても構わないし、配線可能な位置が決められていてもそれを考慮しない。このようにして仮想的なクロック分配網を高速に生成する。
When the virtual clock
続いて、最適化手段22は、記憶部5から複数のクロック分配網52を読み出し、それぞれのデータに対してパラメタの最適化を行う(ステップ102)。そして、最適化済みクロック分配網53を記憶部5に格納する。パラメタには、大きく分けて2種類ある。1つは、使用する配線層の種類や配線幅、バッファおよびインバータの挿入位置のようにクロック分配構造の種類を問わず共通のものである。もう1つは、H−Tree構造の段数やMesh構造の格子数などクロック分配構造の種類に依存するものである。最適化手段22は、これらのパラメタに対して、製造ばらつきを考慮したクロックスキューを最小化することを目的として最適化する。クロック遅延を計算する際には、最終段のバッファまたはインバータからレシーバまでは直線的に配線されると仮定し、キャパシタやレジスタのような回路定数を決めて行う。
Subsequently, the
続いて、解析手段23が、記憶部5から最適化済みクロック分配網53を読み出し、これらの各データに対して消費電力を解析する。また、静的遅延解析機能により、製造ばらつきを含まない場合のクロック遅延およびクロックスキューを解析する。また、確率的静的遅延解析機能により、製造ばらつきを含む場合のクロックスキューを解析する(ステップ103)。これら全ての解析結果54を記憶部5に格納する。解析結果54には、クロック分配網に対応して、クロックスキューの分布データ、および消費電力の情報が含まれる。
Subsequently, the
出力部3は、データ処理部2からの制御信号により、解析結果54をGUIを通してユーザに提示する。これにより、ユーザはクロック分配網やクロックスキュー分布をGUI上で確認できる。消費電力などGUIを必要としないものはテキストで確認することができる。
The
本実施形態では、上述のようにして、候補となる複数のクロック分配網と、各クロック分配網のクロックスキューおよび消費電力の解析結果とがユーザに提示される。ユーザは、クロックスキューと消費電力のトレードオフなどを考慮し、候補となる複数のクロック分配網から最良と思われるクロック分配網を決定できる。開発対象の集積回路に適したクロック分配網をより短時間で選択できる。
(第2の実施形態)
本実施形態は、集積回路データ41におけるレシーバの位置の情報が完全に確定していない場合である。以下では、第1の実施形態と同様な構成については、その詳細な説明を省略し、第1の実施形態と異なる点についてのみ詳細に説明する。
In the present embodiment, as described above, a plurality of candidate clock distribution networks and analysis results of clock skew and power consumption of each clock distribution network are presented to the user. The user can determine a clock distribution network that seems to be the best from a plurality of candidate clock distribution networks in consideration of a trade-off between clock skew and power consumption. A clock distribution network suitable for the integrated circuit to be developed can be selected in a shorter time.
(Second Embodiment)
This embodiment is a case where the information of the position of the receiver in the
集積回路データは、レシーバの配置座標の情報が含まれていないが、レシーバの配置に関連する2種類の形態の情報が含まれている。第1の形態は、レシーバの配置可能な位置の記述である。具体的には、ファイル形式の一種であるDEF形式のGROUPにより定義することができるが、他の形式でもよい。第2の形態は、チップ平面を碁盤目状に予め格子で区切って、格子で囲まれる各部位に存在するレシーバの入力端子容量合計値の記述である。レシーバの配置に関連する第1の形態および第2の形態を含む情報を配置関連情報と称する。配置関連情報を含む集積回路データが入力部1を介して入力されると、データ処理部2は、配置関連情報を基にしてレシーバの配置座標を求め、第1の実施形態と同様の集積回路データを生成する。
The integrated circuit data does not include information about the arrangement coordinates of the receiver, but includes information of two types related to the arrangement of the receiver. The first form is a description of the position where the receiver can be arranged. Specifically, it can be defined by a DEF format GROUP, which is a kind of file format, but other formats may be used. The second form is a description of the total input terminal capacitance value of the receiver existing in each part surrounded by a grid by dividing the chip plane into a grid pattern in advance. Information including the first form and the second form related to the arrangement of the receiver is referred to as arrangement-related information. When integrated circuit data including arrangement related information is input via the
次に、本実施形態の効果について説明する。過去に開発した集積回路について小型化や低消費電力化を行うために設計内容を修正する際、その集積回路のレシーバのおおよその配置位置の情報が記憶部5に残している場合がある。この場合、ユーザは、レシーバの配置位置を確定させる必要がなく、記憶部5に格納された集積回路のレシーバ配置座標を参照して、上記配置関連情報を集積回路データに少なくとも書き込んでおけばよい。このようにして、過去に開発した集積回路の情報を利用できる場合には、その情報を利用して、回路要素の配置位置の決定に先立ち、クロック分配網を生成できる。そのため、本来ならば、回路要素の配置位置の決定、クロック分配網の選択、クロック分配網の生成、回路要素の配置位置の調整という段取りが必要となるが、クロック分配網の生成、回路要素の配置位置の決定という段取りに変更され、開発期間を短縮できる。
(第3の実施形態)
第1の実施形態においては、最適化手段は集積回路データが適用されたクロック分配構造に依存する動作をする。本実施形態は、最適化手段がクロック分配構造に依存しない動作をする点が第1の実施形態と異なる。以下では、第1の実施形態と同様な構成については、その詳細な説明を省略し、第1の実施形態と異なる点についてのみ詳細に説明する。
Next, the effect of this embodiment will be described. When modifying the design contents of an integrated circuit developed in the past in order to reduce the size and power consumption, information on the approximate arrangement position of the receiver of the integrated circuit may remain in the
(Third embodiment)
In the first embodiment, the optimization means operates depending on the clock distribution structure to which the integrated circuit data is applied. This embodiment is different from the first embodiment in that the optimization means operates without depending on the clock distribution structure. In the following, detailed description of the same configuration as that of the first embodiment will be omitted, and only differences from the first embodiment will be described in detail.
一般的に、閉路を含む非ツリー型のクロック分配構造は対称的な形状を持つため、製造ばらつきが存在しない限り電流が流れない配線が存在する。イレギュラーな部分があると、配線幅やバッファ挿入位置などのパラメタ決定のための演算負荷が大きくなる。一方、ツリー型のクロック分配構造は、配線幅やバッファ挿入位置などのパラメタの決定を共通の手法で行うことが可能であり、最適化しやすい。この共通の手法を最適化アルゴリズムと称する。上述のことを利用して、本実施形態の最適化手段は、以下の動作を行う。 Generally, a non-tree type clock distribution structure including a closed circuit has a symmetric shape, and therefore there is a wiring through which no current flows unless there is a manufacturing variation. If there are irregular parts, the calculation load for determining parameters such as the wiring width and buffer insertion position increases. On the other hand, the tree-type clock distribution structure can determine parameters such as the wiring width and buffer insertion position by a common method and is easy to optimize. This common method is called an optimization algorithm. Utilizing the above, the optimization unit of the present embodiment performs the following operation.
最適化手段は、非ツリー型のクロック分配構造に対して、製造ばらつきが存在しないときに電流の流れない配線を削除する。これにより、ツリー型のクロック分配構造が得られる。続いて、ツリー型のクロック分配構造を最適化アルゴリズムによりパラメタを決定する。その後、削除した配線を復元する。このようにして、あらゆるクロック分配構造に最適化処理を行うことができる。 The optimizing means deletes the wiring through which no current flows when there is no manufacturing variation for the non-tree type clock distribution structure. As a result, a tree-type clock distribution structure is obtained. Subsequently, parameters are determined by an optimization algorithm for the tree-type clock distribution structure. Thereafter, the deleted wiring is restored. In this way, optimization processing can be performed for any clock distribution structure.
次に、本実施形態の効果について説明する。ユーザが新しいクロック分配構造を考えついたとしても、そのクロック分配構造の最適化手法を簡単に考え付くとは限らない。しかし、本実施形態により、どのようなクロック構造に対しても、上述のようにして、速やかに最適化することが可能である。
(第4の実施形態)
本実施形態は、出力部が最適化手段による最適化結果をSPICEなどのシミュレータ用の形式で出力するところが第1の実施形態と異なる。以下では、第1の実施形態と同様な構成については、その詳細な説明を省略し、第1の実施形態と異なる点についてのみ詳細に説明する。
Next, the effect of this embodiment will be described. Even if the user has come up with a new clock distribution structure, it is not always easy to come up with an optimization method for the clock distribution structure. However, according to the present embodiment, any clock structure can be quickly optimized as described above.
(Fourth embodiment)
This embodiment is different from the first embodiment in that the output unit outputs the optimization result by the optimization means in a simulator format such as SPICE. In the following, detailed description of the same configuration as that of the first embodiment will be omitted, and only differences from the first embodiment will be described in detail.
図4は本実施形態のデータ処理装置の構成例とデータの流れを示すブロック図である。外部装置4がSPICEのシミュレータ43を備えている。第1の実施形態と同様にして、入力部1から入力された集積回路データ41に対して、仮想クロック網生成手段21および最適化手段22を介して、最適化済みクロック分配網42が生成される。最適化手段22は、この最適化済みクロック分配網42の情報を、SPICEの回路シミュレーションの文法に合った形式にしている。そして、図4に示すように、この最適化済みクロック分配網42の情報を出力部3を介して外部装置4に送る。外部装置4は、データ処理装置から受け取った、最適化済みクロック分配網42の情報を用いて、SPICEのシミュレーションを行って、候補となるクロック分配網のクロックスキューの分布と消費電力の情報を出力する。
FIG. 4 is a block diagram showing a configuration example of the data processing apparatus of this embodiment and a data flow. The external device 4 includes a
なお、本実施形態では、外部装置4に回路シミュレーション機能を有することとしたが、データ処理装置の解析手段に回路シミュレーション機能を備えるようにしてもよい。 In the present embodiment, the external device 4 has a circuit simulation function. However, the analysis unit of the data processing device may have a circuit simulation function.
次に、本実施形態の効果について説明する。第1の実施形態の解析手段23は静的遅延解析と呼ばれる手法により遅延解析を行うが、本実施形態では、最適化後の解析にSPICEなどのシミュレータ43で行う。シミュレータ43は、一般的に静的遅延解析より実行速度が遅いが、解析精度が高い。そのため、解析精度をより高くする場合には、シミュレータを用いて解析することができる。
Next, the effect of this embodiment will be described. The
なお、本実施形態では、回路シミュレータの文法として、SPICEを適用したが、他の文法であってもよい。
(第5の実施形態)
本実施形態は、候補となる複数のクロック分配網から1つが選択されると、それを基にして物理設計制約を守ったクロック分配網を生成する点が第1の実施形態と異なる。以下では、第1の実施形態と同様な構成については、その詳細な説明を省略し、第1の実施形態と異なる点についてのみ詳細に説明する。
In this embodiment, SPICE is applied as the grammar of the circuit simulator, but other grammars may be used.
(Fifth embodiment)
This embodiment is different from the first embodiment in that when one of a plurality of candidate clock distribution networks is selected, a clock distribution network that complies with physical design constraints is generated based on the selection. In the following, detailed description of the same configuration as that of the first embodiment will be omitted, and only differences from the first embodiment will be described in detail.
図5は本実施形態のデータ処理装置の構成例とデータの流れを示すブロック図である。 FIG. 5 is a block diagram showing a configuration example of the data processing apparatus of this embodiment and a data flow.
本実施形態では、データ処理部2内に実クロック網生成手段24が設けられている。また、出力部3には、情報出力手段31とデータ出力手段部32とが設けられている。
In the present embodiment, an actual clock network generation unit 24 is provided in the data processing unit 2. Further, the
情報出力手段31は、第1の実施形態における出力部3と同様な機能を有する。ユーザは、情報出力手段31の提示する解析結果を見て最適なクロック分配網を選択することができる。
The information output means 31 has a function similar to that of the
実クロック網生成手段24は、外部装置4からユーザの選択42の指示が入力されると、選択されたクロック分配網について、クロック分配網上のドライバ、バッファおよびインバータなどのセルを物理的な設計制約を守って配置する。これらのセルは他のセルより重要であるため、他のセルと重なった場合は、他のセルを移動させる。重要なセルとは、クロック信号のソースや配線の終端に配置されるセルである。また、物理的な設計制約を守って、配線の生成を行う。以下では、実クロック網生成手段24により生成されたクロック分配網を実クロック分配網と称する。なお、この実クロック網生成手段24は、CPUがプログラムを実行することでデータ処理装置内に仮想的に構成される。また、図5では、説明のためにユーザの選択42の指示の信号が外部装置4から出力部3に入力されているが、入力部1を介して入力される。
When the user's
データ出力手段32は、実クロック網生成手段24の生成した実クロック分配網43を一般的な集積回路データ形式に基づいて出力する。
The data output means 32 outputs the real
本実施形態では、実クロック網生成手段24により実クロック分配網43が生成され、その後に続く物理設計段階に速やかに移行できる。
In the present embodiment, the real
なお、第2から第5の実施形態の中から複数の実施形態を組み合わせて第1の実施形態に適用してもよい。また、クロック分配網が予め埋め込まれていない集積回路の設計に本発明を適用することが可能である。さらに、本発明のデータ処理方法をコンピュータに実行させるためのプログラムに適用してもよい。 A plurality of embodiments may be combined from the second to fifth embodiments and applied to the first embodiment. Further, the present invention can be applied to the design of an integrated circuit in which the clock distribution network is not embedded in advance. Furthermore, you may apply to the program for making a computer perform the data processing method of this invention.
2 データ処理部
21 仮想クロック網生成手段
22 最適化手段
23 解析手段
3 出力部
2
Claims (11)
前記クロック信号を受け取るレシーバの数の情報を含む集積回路データに対して、候補となる複数のクロック分配網のクロックスキューおよび消費電力の情報を出力するための出力部と、
前記集積回路データが入力されると、前記記憶部に格納された複数種のクロック分配構造を用いて該集積回路データに対する仮想的なクロック分配網を複数生成する仮想クロック網生成手段、生成されたクロック分配網毎に異なる前記クロック分配構造に対してクロックスキューを最小化するパラメタを決定する最適化手段、および、パラメタが決定されたクロック分配網毎に前記クロックスキューおよび前記消費電力を求める解析手段を含むデータ処理部と、
を有するデータ処理装置。 A storage unit storing a plurality of types of information of a clock distribution structure, which is a basic structure of a wiring network for distributing a clock signal;
An output unit for outputting clock skew and power consumption information of a plurality of candidate clock distribution networks for integrated circuit data including information on the number of receivers that receive the clock signal;
Virtual clock network generation means for generating a plurality of virtual clock distribution networks for the integrated circuit data using a plurality of types of clock distribution structures stored in the storage unit when the integrated circuit data is input. Optimizing means for determining a parameter for minimizing clock skew for the clock distribution structure that is different for each clock distribution network, and analysis means for determining the clock skew and power consumption for each clock distribution network for which the parameter is determined A data processing unit including:
A data processing apparatus.
前記データ処理部は、前記集積回路データに前記レシーバ上の配置座標の情報が含まれていないと、前記配置関連情報に基づいて前記レシーバの配置座標を求め、該配置座標の情報を含む集積回路データを前記仮想クロック網生成手段に渡す請求項1記載のデータ処理装置。 The integrated circuit data includes arrangement-related information including information on a position where the receiver can be arranged, and information on a total value of the input terminal capacity of the receiver that exists for each part surrounded by a lattice in which the chip plane is divided by a lattice. Have
The data processing unit obtains the arrangement coordinates of the receiver based on the arrangement-related information when the integrated circuit data does not contain arrangement coordinate information on the receiver, and includes the arrangement coordinate information. The data processing apparatus according to claim 1, wherein data is transferred to the virtual clock network generation unit.
前記クロック分配構造毎に物理設計制約を無視して該クロック分配構造をチップ平面に配置した前記クロック分配網を生成する請求項1から3のいずれか1項記載のデータ処理装置。 The virtual clock network generation means includes
4. The data processing apparatus according to claim 1, wherein the clock distribution network in which the clock distribution structure is arranged on a chip plane is generated for each clock distribution structure ignoring physical design constraints. 5.
前記クロックスキューとして少なくとも、製造ばらつきを考慮しない場合、または製造ばらつきを考慮した場合を算出する請求項1から5のいずれか1項記載のデータ処理装置。 The analysis means includes
The data processing apparatus according to claim 1, wherein at least a case where manufacturing variation is not considered or a case where manufacturing variation is considered is calculated as the clock skew.
非ツリー型のクロック分配構造に対して、一部の配線を削除してツリー型構造とし、予め決められた最適化アルゴリズムを該ツリー型構造に適用して前記パラメタを決定し、その後、削除した配線を復元する請求項1から6のいずれか1項記載のデータ処理装置。 The optimization means includes
For a non-tree type clock distribution structure, a part of wiring is deleted to form a tree type structure, and a predetermined optimization algorithm is applied to the tree type structure to determine the parameters, and then deleted. The data processing device according to claim 1, wherein the wiring is restored.
前記最適化手段は、
前記パラメタを決定したクロック分配網を、前記回路シミュレーションの文法に合った形式にして前記解析手段に送出する請求項1から7のいずれか1項記載のデータ処理装置。 The analyzing means has a circuit simulation function;
The optimization means includes
8. The data processing apparatus according to claim 1, wherein the clock distribution network with the parameters determined is sent to the analysis means in a format suitable for the grammar of the circuit simulation.
前記データ処理部が、前記クロック信号を受け取るレシーバの数の情報を含む集積回路データが入力されると、前記記憶部に格納された複数種のクロック分配構造を用いて該集積回路データに対する仮想的なクロック分配網を複数生成し、
前記データ処理部が、生成されたクロック分配網毎に異なる前記クロック分配構造に対してクロックスキューを最小化するパラメタを決定し、
前記データ処理部が、パラメタが決定されたクロック分配網毎にクロックスキューおよび消費電力を求める、データ処理方法。 A storage unit for storing a plurality of types of clock distribution structures, which is a basic structure of a wiring network for distributing clock signals, and a data processing unit for obtaining a clock distribution network for distributing clock signals in an integrated circuit are provided. A data processing method by an information processing apparatus,
When integrated circuit data including information on the number of receivers that receive the clock signal is input to the data processing unit, a virtual distribution for the integrated circuit data is performed using a plurality of types of clock distribution structures stored in the storage unit. Create multiple clock distribution networks,
The data processing unit determines a parameter that minimizes clock skew for the clock distribution structure that is different for each generated clock distribution network;
A data processing method, wherein the data processing unit obtains a clock skew and power consumption for each clock distribution network for which parameters are determined.
前記クロック信号を受け取るレシーバの数の情報を含む集積回路データが入力されると、前記記憶部に格納された複数種のクロック分配構造を用いて該集積回路データに対する仮想的なクロック分配網を複数生成するステップと、
生成されたクロック分配網毎に異なる前記クロック分配構造に対してクロックスキューを最小化するパラメタを決定するステップと、
パラメタが決定されたクロック分配網毎にクロックスキューおよび消費電力を求めるステップと、
を有する処理を前記コンピュータの前記データ処理部に実行させるためのプログラム。 A storage unit for storing a plurality of types of clock distribution structures, which is a basic structure of a wiring network for distributing clock signals, and a data processing unit for obtaining a clock distribution network for distributing clock signals in an integrated circuit are provided. A program for causing the data processing unit of a computer to execute the program,
When integrated circuit data including information on the number of receivers that receive the clock signal is input, a plurality of virtual clock distribution networks for the integrated circuit data are generated using a plurality of types of clock distribution structures stored in the storage unit. Generating step;
Determining a parameter that minimizes clock skew for the clock distribution structure that is different for each generated clock distribution network;
Determining clock skew and power consumption for each clock distribution network for which parameters have been determined;
A program for causing the data processing unit of the computer to execute a process including:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006057770A JP4645843B2 (en) | 2006-03-03 | 2006-03-03 | Data processing apparatus, data processing method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006057770A JP4645843B2 (en) | 2006-03-03 | 2006-03-03 | Data processing apparatus, data processing method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007233932A JP2007233932A (en) | 2007-09-13 |
| JP4645843B2 true JP4645843B2 (en) | 2011-03-09 |
Family
ID=38554426
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006057770A Expired - Fee Related JP4645843B2 (en) | 2006-03-03 | 2006-03-03 | Data processing apparatus, data processing method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4645843B2 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09269847A (en) * | 1996-04-01 | 1997-10-14 | Matsushita Electric Ind Co Ltd | Clock distribution circuit and layout design method thereof |
| JP3425920B2 (en) * | 2000-02-02 | 2003-07-14 | Necエレクトロニクス株式会社 | Clock tree designing apparatus, clock tree designing method, and recording medium |
-
2006
- 2006-03-03 JP JP2006057770A patent/JP4645843B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007233932A (en) | 2007-09-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4655240B2 (en) | Timing analysis support device | |
| JP2011529238A (en) | Method and apparatus for close placement of ordered cells | |
| US20250103789A1 (en) | Techniques for modeling and verification of convergence for hierarchical domain crossings | |
| US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
| US20090271747A1 (en) | Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit | |
| WO2024208159A1 (en) | Method and apparatus for evaluating clock tree, device and storage medium | |
| US8566768B1 (en) | Best clock frequency search for FPGA-based design | |
| JP5251586B2 (en) | Verification support program, verification support apparatus, and verification support method | |
| US20050055190A1 (en) | Circuit operation verification device and method | |
| US8074192B2 (en) | Verification support apparatus, verification support method, and computer product | |
| US20080312881A1 (en) | Circuit design data conversion apparatus, circuit design data conversion method, and computer product | |
| JP5444985B2 (en) | Information processing device | |
| CN105447215A (en) | Digital circuit design method and related system | |
| US20050251776A1 (en) | Integrated circuit design system | |
| US20130014068A1 (en) | Computer-aided design system and methods thereof for merging design constraint files across operational modes | |
| JP2009140388A (en) | Performance evaluation model generation method, system performance evaluation method, and performance evaluation model generation apparatus | |
| JP4645843B2 (en) | Data processing apparatus, data processing method and program | |
| JP4554509B2 (en) | Timing analysis apparatus and timing analysis method | |
| JP2013003999A (en) | Verification device, verification method, and verification program | |
| CN118468771A (en) | Chip problem locating method, device and related equipment | |
| US20140325468A1 (en) | Storage medium, and generation apparatus for generating transactions for performance evaluation | |
| US7194718B2 (en) | Layout design apparatus, layout design method, and computer product | |
| JP2006268165A (en) | Integrated circuit timing analysis apparatus, integrated circuit timing optimization apparatus, integrated circuit timing analysis method, integrated circuit timing optimization method, integrated circuit board manufacturing method, control program, and readable recording medium | |
| US20260099658A1 (en) | Top-down black-boxed physical design of a circuit | |
| CN116127914B (en) | Power optimization methods, apparatus, devices and storage media |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090212 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100816 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100825 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101022 |
|
| 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: 20101110 |
|
| 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: 20101123 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |