JP2013097705A - Layout device and layout method - Google Patents
Layout device and layout method Download PDFInfo
- Publication number
- JP2013097705A JP2013097705A JP2011242082A JP2011242082A JP2013097705A JP 2013097705 A JP2013097705 A JP 2013097705A JP 2011242082 A JP2011242082 A JP 2011242082A JP 2011242082 A JP2011242082 A JP 2011242082A JP 2013097705 A JP2013097705 A JP 2013097705A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- clock
- layout
- delay
- inverter
- 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.)
- Granted
Links
Images
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本発明は、スタンダードセルのレイアウト技術、さらにはクロックツリーにおけるクロックスキューを調整するための技術に関する。 The present invention relates to a standard cell layout technique, and further to a technique for adjusting clock skew in a clock tree.
論理LSI(Large Scale Integration)を効率よく設計するために、予め、機能毎に、所定の機能を実現するためのパターンを示すスタンダードセル(単に「セル」という)が設計され、設計対象となる回路に含まれる機能に応じて、チップ上に複数のスタンダードセルがレイアウトされる。また、論理LSIには、クロック信号を分配するためのクロックツリーが構築される。クロックツリーは、クロック分配のための論理構造のひとつとされる。 In order to efficiently design a logic scale integration (Large Scale Integration), a standard cell (simply referred to as a “cell”) showing a pattern for realizing a predetermined function is designed for each function in advance, and the circuit to be designed A plurality of standard cells are laid out on the chip according to the functions included in. In addition, a clock tree for distributing clock signals is constructed in the logic LSI. The clock tree is one of logical structures for clock distribution.
特許文献1には、データ接続経路の数に基づいて、半導体集積回路上のフリップフロップが配置された領域の分割を繰り返し、分割された領域のフリップフロップをツリー状に接続する技術が記載されている。
特許文献2には、クロックスキューが閾値以下に収束する回路規模となるように、クロックツリーが有するフリップフロップを複数のグループに分割し、グループの前段に遅延バッファを挿入する技術が記載されている。
論理LSIなどの半導体装置においては、クロック信号を分配するためのクロックツリーが構築される。クロックツリーは、クロック分配のための論理構造のひとつであり、半導体装置におけるクロック論理始点からフリップフロップ回路へのクロック到達時間のばらつき(クロックスキュー)をできるだけ小さくするために、複数の遅延素子が介在されることでツリー状に構築される。クロックツリーにおいて、互いに異なるクロック系統間でクロックスキューの調整(レイテンシ合わせ)が必要になる場合がある。このクロックスキューの調整においては、部品レベルで設計された回路の遅延計算が行われる。 In a semiconductor device such as a logic LSI, a clock tree for distributing clock signals is constructed. The clock tree is one of the logical structures for clock distribution, and multiple delay elements are used to minimize the variation in clock arrival time (clock skew) from the clock logic start point to the flip-flop circuit in the semiconductor device. Is built in a tree shape. In the clock tree, it may be necessary to adjust the clock skew (latency adjustment) between different clock systems. In this clock skew adjustment, a delay calculation of a circuit designed at the component level is performed.
部品レベルで設計された回路の遅延計算においては、部品毎に事前に遅延特性を測定しておいたもの(ライブラリ)を使用し、各セル毎の遅延変動要素(スルーレートや負荷容量等)によりセル毎に遅延計算した後、ネットリストに従い加算される。このような遅延計算について本願発明者が検討したところ、以下のような課題が見いだされた。 In the delay calculation of the circuit designed at the component level, the delay characteristics (libraries) that have been measured in advance for each component are used, and the delay variation factors (slew rate, load capacity, etc.) for each cell. After delay calculation for each cell, it is added according to the net list. The inventors of the present application examined such delay calculation, and found the following problems.
セル単位で部品特性を抽出する方法は、回路シミュレーションによる非線形性の遅延変動特性に対して、線形や区分線形(テーブル)でライブラリに表現するため、一定の精度誤差が生じる。この誤差は各セル種や変動要素の度合いにより異なるが、ほとんどのケースで大きな誤差にならない。しかし、インバータや2入力ナンドゲート等のMOSトランジスタ1段のセルは、入力側の遅延誤差が出力側に直接影響するため、遅延計算における遅延誤差が大きくなりやすい。特に複数のインバータが互いに直列接続されたインバータチェーンでは、個々のインバータでの遅延誤差が伝播されることによって誤差が大きくなる。 In the method of extracting the component characteristics in cell units, the nonlinear delay variation characteristics by circuit simulation are expressed in a library in a linear or piecewise linear (table) form, so that a certain accuracy error occurs. This error varies depending on each cell type and the degree of variation, but in most cases it does not become a large error. However, in a one-stage cell of a MOS transistor such as an inverter or a two-input NAND gate, the delay error in the delay calculation tends to increase because the delay error on the input side directly affects the output side. In particular, in an inverter chain in which a plurality of inverters are connected in series with each other, the error increases due to propagation of delay errors in the individual inverters.
これに対して、バッファなどのMOSトランジスタ2段のセルは、インバータや2入力ナンドゲート等のMOSトランジスタ1段のセルに比べて遅延誤差は少ない。しかし、バッファなどのMOSトランジスタ2段のセルは、クロック信号のハイレベル期間とローレベル期間のとの比(デューティ)保持の観点で、MOSトランジスタ1段のセルに比べて劣る。すなわち、インバータなどのMOSトランジスタ1段のセルでは、入力論理に対して出力論理が反転するため、複数のインバータが互いに直列接続されて成るインバータチェーンでは、クロック信号のデューティが変化し難い。これに対して、バッファなどのMOSトランジスタ2段のセルは、入力論理に対して出力論理が反転しないため、複数のバッファが互いに直列接続されて成るバッファチェーンでは、波形立ち上がり及び波形立ち下がりの遅延時間差によってクロック信号のデューティが変化しやすい。 In contrast, a two-stage MOS transistor cell such as a buffer has less delay error than a one-stage MOS transistor cell such as an inverter or a two-input NAND gate. However, a two-stage cell of a MOS transistor such as a buffer is inferior to a one-stage MOS transistor cell in terms of maintaining the ratio (duty) between the high level period and the low level period of the clock signal. That is, in a cell having one stage of a MOS transistor such as an inverter, the output logic is inverted with respect to the input logic. Therefore, in the inverter chain in which a plurality of inverters are connected in series, the duty of the clock signal is difficult to change. On the other hand, since the output logic of the two-stage MOS transistor cell such as a buffer is not inverted with respect to the input logic, in the buffer chain in which a plurality of buffers are connected in series with each other, the waveform rise and fall delays The clock signal duty is likely to change due to the time difference.
本発明の目的は、クロックツリーにおけるクロックスキューの調整において、精度の確保とデューティ保持とを両立させるための技術を提供することにある。 An object of the present invention is to provide a technique for achieving both ensuring of accuracy and maintaining a duty in adjusting a clock skew in a clock tree.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
すなわち、レイアウト装置は、半導体装置における各部にクロック信号を分配するためのクロックツリーを構築し、上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整することができる。このようなレイアウト装置において、MOSトランジスタ1段で形成された第1セルと、MOSトランジスタ複数段で形成された第2セルとがライブラリ化されたテーブルが設けられる。また、上記レイアウト装置には、上記第1セルと上記第2セルとの組み合わせによるコンビネーションチェーンを上記クロックツリーに挿入することで、上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整可能な演算処理部が設けられる。 In other words, the layout device can construct a clock tree for distributing the clock signal to each part in the semiconductor device, and can adjust the clock skew between different clock systems in the clock tree. In such a layout apparatus, a table is provided in which a first cell formed by one stage of a MOS transistor and a second cell formed by a plurality of stages of MOS transistors are formed into a library. In the layout apparatus, an arithmetic processing capable of adjusting a clock skew between different clock systems in the clock tree by inserting a combination chain of a combination of the first cell and the second cell into the clock tree. Parts are provided.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、クロックツリーにおけるクロックスキューの調整において、精度の確保とデューティ保持とを両立させることができる。 That is, in the adjustment of the clock skew in the clock tree, it is possible to ensure both accuracy and duty retention.
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. First, an outline of a typical embodiment of the invention disclosed in the present application will be described. Reference numerals in the drawings referred to in parentheses in the outline description of the representative embodiments merely exemplify what are included in the concept of the components to which the reference numerals are attached.
〔1〕本発明の代表的な実施の形態に係るレイアウト装置(10)は、半導体装置における各部にクロック信号を分配するためのクロックツリーを構築し、上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整することができる。このようなレイアウト装置において、MOSトランジスタ1段で形成された第1セルと、MOSトランジスタ複数段で形成された第2セルとがライブラリ化されたテーブル(111)が設けられる。また、レイアウト装置には、上記第1セルと上記第2セルとの組み合わせによるコンビネーションチェーンを上記クロックツリーに挿入することで、上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整可能な演算処理部(12)が設けられる。 [1] A layout device (10) according to a typical embodiment of the present invention constructs a clock tree for distributing a clock signal to each part in a semiconductor device, and clock skew between different clock systems in the clock tree. Can be adjusted. In such a layout device, there is provided a table (111) in which a first cell formed of one stage of a MOS transistor and a second cell formed of a plurality of stages of MOS transistors are formed into a library. The layout device includes an arithmetic processing unit capable of adjusting a clock skew between different clock systems in the clock tree by inserting a combination chain formed by a combination of the first cell and the second cell into the clock tree. (12) is provided.
上記の構成によれば、上記第1セルと上記第2セルとの組み合わせによるコンビネーションチェーンによってクロックスキューの調整を行うようにしているので、個々の第1セルでの遅延誤差が伝播されるのを抑制することができ、遅延計算における遅延誤差を低減することができる。これにより、クロックツリーにおけるクロックスキューの調整における精度を向上させることがでできる。 According to the above configuration, since the clock skew is adjusted by the combination chain formed by the combination of the first cell and the second cell, the delay error in each first cell is propagated. It is possible to suppress the delay error in the delay calculation. Thereby, the accuracy in adjusting the clock skew in the clock tree can be improved.
また、上記第1セルと上記第2セルとの組み合わせによるコンビネーションチェーンが用いられることにより、コンビネーションチェーン中に第1セルが介在され、そこで論理が反転されるため、デューティ保持の観点で有利とされる。 Further, by using a combination chain that is a combination of the first cell and the second cell, the first cell is interposed in the combination chain, and the logic is inverted there, which is advantageous from the viewpoint of maintaining the duty. The
〔2〕上記〔1〕において、上記演算処理部は、上記第1セルの段数を「1」とし、上記第2セルの段数を「n」とし、上記第1セルの1段の遅延誤差を「X」とし、上記第2セルn段の遅延誤差を「Yn」とし、上記コンビネーションチェーン1個当たりの遅延誤差を「Z」とするとき、(X+Yn)/(n+1)≦Zが成立するように上記コンビネーションチェーン1個当たりの構成を決定するように構成することができる。そして、上記クロックツリー間のクロックスキューの調整に必要とされる数だけ、上記コンビネーションチェーンを互いに直列接続することで上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整するように構成することができる。精度面だけなら、第2セルの段数が多い方が良いが、レイテンシや使い易さを考慮すると、第2セルの段数は小さい方が良い。トレードオフを考えると、上記式が成立するように上記コンビネーションチェーン1個当たりの構成を決定するのが望ましい。 [2] In the above [1], the arithmetic processing unit sets the number of stages of the first cell to “1”, sets the number of stages of the second cell to “n”, and calculates a delay error of one stage of the first cell. When “X” is set, the delay error of the second stage of the second cell is “Yn”, and the delay error per combination chain is “Z”, (X + Yn) / (n + 1) ≦ Z is satisfied. It is possible to configure so as to determine the configuration per one combination chain. And, it is possible to adjust the clock skew between different clock systems in the clock tree by connecting the combination chains in series as many as necessary for adjusting the clock skew between the clock trees. . From the standpoint of accuracy, it is better that the number of stages of the second cell is larger, but considering the latency and ease of use, it is better that the number of stages of the second cell is smaller. Considering the trade-off, it is desirable to determine the configuration per one combination chain so that the above formula is satisfied.
〔3〕上記〔2〕において、上記演算処理部は、上記ライブラリ化された上記第1セルの配線容量の下限値に基づいて、レイアウト対象とされる上記第1セルの入力側ネットの配線長を決定するように構成することができる。 [3] In the above [2], the arithmetic processing unit determines the wiring length of the input side net of the first cell to be laid out based on the lower limit value of the wiring capacity of the first cell in the library. Can be configured to determine.
〔4〕上記〔3〕において、上記演算処理部は、レイアウト対象とされる上記第1セルの最短距離配線長から算出される容量が、上記ライブラリ化された上記第1セルの配線容量の下限値よりも大きくなるように、上記第1セルのレイアウト位置を決定することができる。コンビネーションチェーンにおける第1セルの入力側ネットについて配線容量を指定することにより、対応する配線容量が形成されるため、遅延計算における遅延誤差の低減を図ることができる。このとき、チェーンを形成する全てセルに配線遅延を付加するものではないので、配線リソースを多く使用するリスクを回避することができる。 [4] In the above [3], the arithmetic processing unit determines that the capacity calculated from the shortest distance wiring length of the first cell to be laid out is a lower limit of the wiring capacity of the first cell in the library. The layout position of the first cell can be determined so as to be larger than the value. By specifying the wiring capacity for the input-side net of the first cell in the combination chain, the corresponding wiring capacity is formed, so that it is possible to reduce the delay error in the delay calculation. At this time, since all the cells forming the chain do not add wiring delay, the risk of using a large amount of wiring resources can be avoided.
〔5〕上記〔4〕において、上記第1セルをインバータとし、上記第2セルをバッファとすることができる。 [5] In the above [4], the first cell can be an inverter and the second cell can be a buffer.
〔6〕本発明の代表的な実施の形態に係る別のレイアウト装置(10)は、MOSトランジスタ1段で形成された調整用セルがライブラリ化されたテーブル(111)と、レイアウト対象とされる上記調整用セルの最短距離配線長から算出される容量が、上記ライブラリ化された上記調整用セルの配線容量の下限値よりも大きくなるように、上記調整用セルのレイアウト位置を決定する演算処理部(12)とを含んで構成される。 [6] Another layout apparatus (10) according to a typical embodiment of the present invention is a layout target with a table (111) in which adjustment cells formed by one stage of a MOS transistor are made into a library, and the layout target. Arithmetic processing for determining the layout position of the adjustment cell so that the capacity calculated from the shortest distance wiring length of the adjustment cell is larger than the lower limit value of the wiring capacity of the adjustment cell in the library Part (12).
上記の構成によれば、レイアウト対象とされる上記調整用セルの最短距離配線長から算出される容量が、上記ライブラリ化された上記調整用セルの配線容量の下限値よりも大きくなるように、上記調整用セルのレイアウト位置が決定されることによって、上記ライブラリ化された上記調整用セルの配線容量に対応する配線容量が形成されるため、遅延計算における遅延誤差の低減を図ることができる。 According to the above configuration, the capacity calculated from the shortest distance wiring length of the adjustment cell to be laid out is larger than the lower limit value of the wiring capacity of the adjustment cell in the library. By determining the layout position of the adjustment cell, a wiring capacity corresponding to the wiring capacity of the adjustment cell in the library is formed, so that a delay error in delay calculation can be reduced.
〔7〕上記〔6〕において、上記調整用セルをインバータとすることができる。 [7] In the above [6], the adjustment cell may be an inverter.
2.実施の形態の詳細
実施の形態について更に詳述する。
2. Details of Embodiments Embodiments will be further described in detail.
《実施の形態1》
図1には、本発明にかかるレイアウト装置の構成例が示される。
FIG. 1 shows a configuration example of a layout apparatus according to the present invention.
図1に示されるレイアウト装置10は、表示装置11、演算処理装置12、記憶装置13、及び入力装置14を含むコンピュータシステムを用いて構成される。記憶装置13は、例えば磁気ディスクを記録媒体とするハードディスク装置である。この記憶装置13には、各種プログラムや、半導体装置のレイアウトに用いられる各種情報が格納される。半導体装置のレイアウトに用いられる各種情報には、ネットリストやライブラリが含まれる。このライブラリには、インバータやバッファなどの各種セルの遅延テーブルなども含まれる。演算処理装置12は、プログラムに従って各種演算処理を実行可能なマイクロコンピュータ、及びその周辺回路を含み、半導体装置のレイアウト処理を行う。このレイアウト処理には、半導体装置における各部にクロック信号を分配するためのクロックツリーの構築や、このクロックツリー間のクロックスキューの調整が含まれる。上記レイアウト装置12においては、必要に応じて、記憶装置13内のネットリストやライブラリが参照される。入力装置14は、キーボードやマウスを含み、半導体装置のレイアウト処理に関する各種情報入力を行うのに用いられる。表示装置11は、液晶ディスプレイなどとされ、半導体装置のレイアウト処理に関する各種情報表示を行うことができる。
The
論理LSIなどの半導体装置においては、クロック信号を分配するためのクロックツリーが構築される。クロックツリーは、クロック分配のための論理構造のひとつであり、例えば図2の(A)のように、半導体装置200におけるクロック論理始点203からフリップフロップ回路201へのクロック到達時間のばらつき(クロックスキュー)をできるだけ小さくするために、図2の(B)のように、複数の遅延素子202が介在されることでツリー状に構築される。
In a semiconductor device such as a logic LSI, a clock tree for distributing clock signals is constructed. The clock tree is one of logic structures for clock distribution. For example, as shown in FIG. 2A, the clock arrival time variation from the clock
図12には、クロックツリー構築処理の流れが示される。 FIG. 12 shows the flow of the clock tree construction process.
図12に示されるクロックツリー構築処理は、演算処理装置12において、クロックツリー構築処理のための所定のプログラムが実行されることで実現される。 The clock tree construction process shown in FIG. 12 is realized by executing a predetermined program for the clock tree construction process in the arithmetic processing unit 12.
大規模な回路を効率よく形成するため上記ステップ1201のセル配置処理では、インバータ、ナンドゲート、ノアゲート、フリップフロップ回路などのセルを用いて、レイアウト対象とされる半導体装置のセル配置処理が行われる(1201)。そして、タイミングの最適化処理が行われ(1202)、その後、クロックツリー合成処理(CTS;Clock Tree Synthesis)が実行される(1203)。このクロックツリー合成処理が終了すると、再びタイミングの最適化処理が行われ(1208)、その後に配線処理が行われる(1209)。
In order to efficiently form a large-scale circuit, in the cell placement process in
上記ステップ1203のクロック構成処理では、先ず、入力装置14を介して、クロックツリーの始点及び終点が指示されると(1204)、各始点毎にクロックツリーが構築される(1205)。そして構築されたクロックツリー毎にレイテンシ合わせ処理が行われ(1206)、それが終了すると、始点間のレイテンシ合わせ処理が行われる(1207)。
In the clock configuration process of
尚、図13に示されるように、上記ステップ1206のクロックツリー毎のレイテンシ合わせ処理と、上記ステップ1207の始点間レイテンシ合わせ処理との間で、レイテンシ合わせ処理が必要か否かの判別処理(1301)を行うようにしても良い。この判別処理で、レイテンシ合わせ処理が必要と判断された場合にのみ、上記ステップ1207の始点間レイテンシ合わせ処理を行うようにする。このようにすれば、レイテンシ合わせ処理が実際には不要である場合には、レイテンシ合わせ処理を省略することができるので、処理効率の向上を図ることができる。
As shown in FIG. 13, it is determined whether or not the latency matching process is necessary between the latency matching process for each clock tree in
次に、上記ステップ1207の始点間レイテンシ合わせ処理について詳述する。
Next, the start point latency matching processing in
クロックツリーにおいて、互いに異なるクロック系統間でクロックスキューの調整(レイテンシ合わせ)が必要になる場合がある。例えば図3に示されるように、クロックツリーにおいて、互いに異なるクロック系統302,304が設けられ、クロック系統302には、分周回路301で分周されたクロック信号が供給され、クロック系統304には、バッファ303を介してクロック信号が供給される場合を考える。クロック系統302におけるフリップフロップ回路の数が、クロック系統304におけるフリップフロップ回路の数よりも少ない場合、クロック系統302とクロック系統304との間でクロックレイテンシの差が大きくなる。このため、クロック系統302に属するフリップフロップ回路と、クロック系統304に属するフリップフロップ回路との間でデータ転送が行われる場合、クロックスキューの調整が必要になる。このクロックスキューの調整のため、図4に示されるように、分周器301とクロック系統302との間にバッファチェーン401を設けたり、図5に示されるように、分周器301とクロック系統302との間にインバータチェーン501を設けることが考えられる。バッファチェーン401は、複数のバッファが互いに直列接続されて成る。インバータチェーンは、複数のインバータが互いに直列接続されて成る。
In the clock tree, it may be necessary to adjust the clock skew (latency adjustment) between different clock systems. For example, as shown in FIG. 3,
インバータは、例えば図17の(A)に示されるように、pチャネル型MOSトランジスタ1701とnチャネル型MOSトランジスタ1702とが直列接続されて成る。pチャネル型MOSトランジスタ1701のゲート電極と、nチャネル型MOSトランジスタ1702のゲート電極とが入力端子(IN)に共通接続される。pチャネル型MOSトランジスタ1701とnチャネル型MOSトランジスタ1702との直列接続ノードから出力端子(OUT)が引き出される。インバータの出力側には、配線容量1703が存在する。
For example, as shown in FIG. 17A, the inverter includes a p-
バッファは、例えば図18の(A)に示されるように、pチャネル型MOSトランジスタ1801とnチャネル型MOSトランジスタ1802とが直列接続されて成る第1インバータと、pチャネル型MOSトランジスタ1803とnチャネル型MOSトランジスタ1804とが直列接続されて成る第2インバータとが直列接続されて成る。第2インバータ(1803,1804)の出力側には配線容量1805が存在する。第1インバータ(1801,1802)の出力側にも配線容量が存在するが、その値は、配線容量1805に比べて極めて小さい。これは、セルとしてのバッファにおいては、第1インバータ(1801,1802)と第2インバータ(1803,1804)との間の配線が極めて短いためである。
For example, as shown in FIG. 18A, the buffer includes a first inverter in which a p-
インバータの出力側には、配線容量1703が形成されるため、入力端子を介して入力されたクロック信号は、図7の(B)に示されるように、遅延されて出力される。つまり、配線容量170の存在により、出力波形が鈍ってしまう。これに対して、バッファの場合、第1インバータ(1801,1802)の出力側の配線容量が極小のため、第1インバータ(1801,1802)の入力波形が整形されてから第2インバータ(1803,1804)に入力されるため、第2インバータ(1803,1804)の出力波形は、図17の(A)に示されるインバータ(1701,1702)の出力波形に比べて鈍りが少ない。
Since a
既述のように、部品レベルで設計された回路の遅延計算は、部品毎に事前に遅延特性を測定しておいたもの(記憶装置13内のライブラリ)を使用し、各セル毎の遅延変動要素(スルーレートや負荷容量等)によりセル段毎に遅延計算した後、ネットリストに従い加算される。セル単位で部品特性を抽出する方法は、非線形性の遅延変動特性に対して、大規模LSIを高速一括で遅延計算するため、線形や区分線形(テーブル)でライブラリに表現することから、一定の誤差を生じる。インバータのようなMOSトランジスタ1段のセルは、バッファのようなMOSトランジスタ2段のセルに比べて、遅延誤差が次段に影響するため、誤差が大きくなりやすい。特に複数のインバータが直列接続されたインバータチェーン701では、個々のインバータでの遅延誤差が順次に伝播されるため、誤差が大きくなる。
As described above, the delay calculation of the circuit designed at the component level uses the delay characteristics measured for each component in advance (the library in the storage device 13), and the delay variation for each cell. The delay is calculated for each cell stage according to factors (slew rate, load capacity, etc.), and then added according to the net list. The method of extracting component characteristics in cell units is to calculate delays for large-scale LSIs at high speed for nonlinear delay variation characteristics, and is expressed in a library in linear or piecewise linear (table) form. An error is generated. Compared to a two-stage MOS transistor cell such as a buffer, a one-stage MOS transistor cell such as an inverter tends to have a larger error because a delay error affects the next stage. In particular, in an
そこで、上記ステップ1207の始点間レイテンシ合わせ処理においては、図6に示されるように、バッファとインバータとのコンビネーションチェーン601によってクロックスキューの調整を行うようにする。このコンビネーションチェーン601では、インバータの前後にバッファが設けられている。
Therefore, in the latency adjustment processing between the start points in
図14には、バッファとインバータとのコンビネーションチェーン601を用いた始点間レイテンシ合わせ処理の流れが示される。 FIG. 14 shows a flow of latency matching processing between start points using a combination chain 601 of a buffer and an inverter.
図14に示される始点間レイテンシ合わせ処理1207においては、入力装置14を介して、ターゲットとなる遅延値、スキューの設定が行われると(1401)、所定のコンビネーションルールに従ってバッファ及びインバータが追加される(1402)。そして、上記ステップ1402の処理で追加されたバッファ及びインバータが、実際のレイアウトパターン上に配置され(1403)、追加されたバッファ及びインバータの遅延値の計算が行われる(1404)。そして、上記ステップ1404で算出された遅延値と、上記ステップ1401で設定されたターゲット遅延値とが等しいか否かの判別が行われる(1405)。この判別で、上記ステップ1404で算出された遅延値と、上記ステップ1401で設定されたターゲット遅延値とが等しくない(NO)と判断された場合には、再び、上記ステップ1402の処理に戻ってバッファ及びインバータが追加された後に、上記ステップ1403,1404の処理を経て、再び上記ステップ1405の判別処理が行われる。上記ステップ1405の判別処理において、上記ステップ1404で算出された遅延値と、上記ステップ1401で設定されたターゲット遅延値とが等しい(YES)と判断された場合には、始点間レイテンシ合わせ処理1207が終了される。
In the start point
ここで、上記ステップ1402におけるバッファ及びインバータの追加について詳述する。
Here, the addition of the buffer and the inverter in
プロセスにより多少異なるが、たとえば65nm以降のプロセスの場合、インバータ1段の誤差が8%程度、バッファの1段の誤差が2%程度、バッファの遅延値がインバータの2倍程度とおくと、クロックツリーで要求される精度3%以内に収めるためには、バッファ3段、インバータ1段の直列接続構成になる。精度面だけなら、バッファ段数が多い方が良いが、レイテンシや使い易さ(段数が小さい方が使い易い)とのトレードオフを考えると、バッファが3段、インバータが1段の構成になる。このバッファとインバータとの組み合わせは、始点間レイテンシ合わせ処理のパラメータとして演算処理装置12に入力される。このパラメータは予め設定しておいても良いし、入力装置14を介して入力しても良い。
Depending on the process, for example, in the case of a process of 65 nm or more, if the error of one stage of the inverter is about 8%, the error of one stage of the buffer is about 2%, and the delay value of the buffer is about twice that of the inverter In order to keep the accuracy within 3% required by the tree, a serial connection configuration of three buffers and one inverter is employed. From the standpoint of accuracy, it is better to have a larger number of buffer stages. However, considering the trade-off between latency and ease of use (the smaller number of stages is easier to use), the buffer has three stages and the inverter has one stage. The combination of the buffer and the inverter is input to the arithmetic processing unit 12 as a parameter for latency matching between start points. This parameter may be set in advance or may be input via the
一般化すると、インバータの段数「1」とし、バッファの段数を「n」とし、インバータ1段の誤差を「X」とし、バッファn段の誤差を「Yn」(ただし、X>Y)だとし、目的とする誤差(1段分)を「Z」とすると、次式の関係が成立するように、コンビネーションチェーン1個当たりの構成が決定される。 In general, it is assumed that the inverter stage number is “1”, the buffer stage number is “n”, the inverter one stage error is “X”, and the buffer n stage error is “Yn” (where X> Y). If the target error (one stage) is “Z”, the configuration per combination chain is determined so that the relationship of the following equation is established.
このようにして、上記ステップ1402におけるバッファ及びインバータの追加が行われる。そして、上記ステップ1401で設定されたターゲット遅延値とが等しい(YES)と判断されるまで、上記コンビネーションチェーンが追加されることになる。つまり、目標となる遅延をSnsとすると、上記の組み合わせ(インバータ1段、バッファn段)で得られる遅延がPnsのとき、Pns・m=Snsの関係が成立する場合の「m」の値に等しくなる数だけ、上記コンビネーションチェーンが追加形成される。
In this manner, the buffer and the inverter are added in
尚、遅延が僅かに足りない場合において上記コンビネーションチェーンを更に追加すると、遅延量が多すぎてしまうことが考えられる。その場合には、バッファあるいはインバータを単体で追加すると良い。 If the combination chain is further added when the delay is slightly insufficient, the delay amount may be too large. In that case, it is preferable to add a buffer or an inverter alone.
また、各バッファ、各インバータの駆動能力は異なることが一般的なので、実際にはバッファやインバータの駆動能力的に差異が出てくる。駆動能力別の誤差がバッファ、インバータそれぞれ、X1,X2…,Xn、Y1,Y2…,Ynとなるため(誤差、駆動能力共に1<2,…,<nの関係)、所望の遅延になるように段数を決定する。この場合、駆動能力の選定は、次の(1)〜(3)の考え方に基づき決定すると良い。 In addition, since the drive capacities of the buffers and the inverters are generally different, actually, the drive capacities of the buffers and the inverters are different. Since the errors by drive capacity are X1, X2..., Xn, Y1, Y2..., Yn for the buffers and inverters, respectively (the relationship between error and drive capacity is 1 <2,. The number of stages is determined as follows. In this case, the selection of the driving capability may be determined based on the following ideas (1) to (3).
(1)遅延誤差が最小になるような組み合わせとするため、最大の駆動能力のバッファを使用する。 (1) In order to achieve a combination that minimizes the delay error, a buffer having the maximum driving capability is used.
(2)電力が最小になるような組み合わせとするため、最小の駆動能力のバッファを使用する。 (2) In order to achieve a combination that minimizes power, a buffer having the minimum driving capability is used.
(3)上記(1)と(2)とを組み合わせる。すなわち、一定誤差内での電力最小の組み合わせ、もしくは一定電力値内で誤差最小の組み合わせを使用する。 (3) Combine (1) and (2) above. That is, the combination of the minimum power within a certain error or the combination of the minimum error within a certain power value is used.
このように本例によれば、図6に示されるように、バッファとインバータとのコンビネーションチェーン601によってクロックスキューの調整を行うようにしており、インバータを挟むようにバッファが介在されているので、個々のインバータでの遅延誤差が伝播されるのを抑制することができ、インバータチェーンを用いる場合に比べて、遅延計算における遅延誤差を低減することができる。これにより、クロックツリーにおけるクロックスキューの調整における精度を向上させることがでできる。 Thus, according to this example, as shown in FIG. 6, the clock skew is adjusted by the combination chain 601 of the buffer and the inverter, and the buffer is interposed so as to sandwich the inverter. Propagation of delay errors in individual inverters can be suppressed, and delay errors in delay calculation can be reduced as compared with the case of using an inverter chain. Thereby, the accuracy in adjusting the clock skew in the clock tree can be improved.
また、複数のバッファが互いに直列接続されたバッファチェーンでは、立ち上がり及び立ち下がりの遅延時間の差によってクロック信号のデューティが変化しやすいが、本例では、バッファとインバータとのコンビネーションチェーン601が用いられることにより、チェーン中にインバータが介在され、そこで論理が反転されるため、論理反転を生じないバッファチェーンを用いる場合に比べて、デューティ保持の観点で優れている。 Further, in a buffer chain in which a plurality of buffers are connected in series with each other, the duty of the clock signal is likely to change due to the difference between the rising and falling delay times. However, in this example, a combination chain 601 of a buffer and an inverter is used. As a result, an inverter is interposed in the chain, and the logic is inverted there, which is superior in terms of duty retention compared to the case of using a buffer chain that does not cause logic inversion.
《実施の形態2》
上記ステップ1207の始点間レイテンシ合わせ処理において、図7に示されるように、インバータと配線遅延とのコンビネーションチェーン701によってクロックスキューの調整を行うことができる。インバータと配線遅延とのコンビネーションチェーン701によってクロックスキューの調整を行う場合、パラメータとして、最小容量値(容量の下限値)が、パラメータとして演算処理装置12に入力される。このパラメータは、予め設定しておいても良いし、入力装置14を介して入力しても良い。
<<
In the processing for adjusting the latency between the start points in
図15には、インバータと配線遅延とのコンビネーションチェーン701を用いた始点間レイテンシ合わせ処理の流れが示される。
FIG. 15 shows a flow of latency matching processing between start points using the
図15に示される始点間レイテンシ合わせ処理1207においては、入力装置14を介して、ターゲットとなる遅延値、スキューの設定が行われると(1501)、インバータが追加される(1502)。そして、上記ステップ1502の処理で追加されたインバータが、実際のレイアウトパターン上に配置され(1503)、追加されたインバータが指定した配線容量値以上になるようにインバータの配置位置が決定される(1504)。そして、上記ステップ1504での配置位置決定後のコンビネーションチェーン701の遅延値と、上記ステップ1501で設定されたターゲット遅延値とが等しいか否かの判別が行われる(1505)。この判別で、上記ステップ1504での配置位置決定後のコンビネーションチェーン701の遅延値と、上記ステップ1501で設定されたターゲット遅延値とが等しくない(NO)と判断された場合には、再び、上記ステップ1502の処理に戻ってインバータが追加された後に、上記ステップ1503,1504の処理を経て、再び上記ステップ1505の判別処理が行われる。上記ステップ1505の判別処理において、上記ステップ1504での配置位置決定後のコンビネーションチェーン701の遅延値と、上記ステップ1501で設定されたターゲット遅延値とが等しい(YES)と判断された場合には、始点間レイテンシ合わせ処理1207が終了される。
In the start point
ここで、上記ステップ1504の配置位置決定について詳述する。
Here, the arrangement position determination in
図11には、記憶装置13内のライブラリ中のセルの遅延テーブルの構成例が示される。図11に示される遅延テーブル111においては、variable_1とindex_1とが関連付けられ、variable_2とindex_2とが関連付けられている。index_1,index_2共にテーブルサイズが6になっている。index_2の実際の値の定義数が多ければそれだけテーブルのサイズが大きくなり、テーブル参照に時間がかかる。図11の遅延テーブル111では、index_2の実際の値は、容量値とされ、「0.001,0.00123399,0.00189322,0.00375043,0.00898268,0.0137473」と定義されている。
FIG. 11 shows a configuration example of a delay table of cells in the library in the
例えば図9の(A)に示されるようなインバータチェーンは、バッファ901の後段に複数のクロック間遅延調整用インバータが互いに直列接続されて成る。複数のクロック間遅延調整用インバータの一般的なレイアウト処理では、例えば図9の(B)に示されるように、バッファ901の出力側の直近に複数のクロック間遅延調整用インバータが配置される。このため、各クロック間遅延調整用インバータ間の配線も短くなり、各クロック間遅延調整用インバータの出力側の配線容量値は小さくなる。このようなレイアウトにより、各クロック間遅延調整用インバータの出力側の配線容量値が、図11の遅延テーブル111で定義されている容量値(index_2の実際の値)の範囲外となると、遅延誤差が大きくなってしまう。
For example, an inverter chain as shown in FIG. 9A is formed by connecting a plurality of inter-clock delay adjusting inverters in series with each other after the
そこで上記ステップ1504の配置位置決定においては、図11の遅延テーブル111で定義されている容量値(index_2の実際の値)の下限値をパラメータとして、クロック間遅延調整用インバータセル間の配置間隔が決定される。例えば図11の遅延テーブル111で定義されている容量値(index_2の実際の値)の下限値は、「0.001」であるため、演算処理装置12では、この容量値(index_2の実際の値)の下限値「0.001」をパラメータとしてセル間の配置間隔が決定される。つまり、図10の(A)に示されるように、クロック間遅延調整用インバータセル列における配線のうち、最も短い配線(最短距離配線)902の長さから算出される容量(配線容量)の値が、上記パラメータとされる容量値(index_2の実際の値)の下限値「0.001」以上になるように、クロック間遅延調整用インバータセルの配置間隔が決定される。
Therefore, in the determination of the arrangement position in
尚、上記パラメータとされる容量値(index_2の実際の値)の下限値が「0.002」の場合には、図10の(B)に示されるように、クロック間遅延調整用インバータセル列における配線のうち、最も短い配線903の長さから算出される容量値が、上記パラメータとされる容量値(index_2の実際の値)の下限値「0.002」以上になるように、クロック間遅延調整用インバータセルの配置間隔が決定される。このため、上記パラメータとされる容量値(index_2の実際の値)の下限値が「0.002」の場合のクロック間遅延調整用インバータセルの配置間隔は、上記パラメータとされる容量値(index_2の実際の値)の下限値が「0.001」の場合のクロック間遅延調整用インバータセルの配置間隔に比べて大きくなる。
When the lower limit value of the capacitance value (actual value of index_2) as the above parameter is “0.002,” as shown in FIG. 10B, an inverter cell row for delay adjustment between clocks. Among the wirings in FIG. 5B so that the capacitance value calculated from the length of the
このように、クロック間遅延調整用インバータセル列における配線のうち、最も短い配線902の長さから算出される容量値が、上記パラメータとされる容量値(index_2の実際の値)の下限値以上になるように、クロック間遅延調整用インバータセルの配置間隔が決定されることにより、各クロック間遅延調整用インバータの入力側や出力側には、図11の遅延テーブル111での定義情報に対応する配線容量が形成されるため、遅延誤差の低減を図ることができる。
As described above, the capacitance value calculated from the length of the
《実施の形態3》
実施の形態2のように、インバータと配線遅延とのコンビネーションチェーンや、バッファと配線遅延とのコンビネーションチェーンの場合には、チェーンを形成する全てのインバータ又はバッファに配線遅延を付加する必要があるため、配線リソースを多く使用するリスクがある。そこで、図8に示されるように、実施の形態1のようなバッファとインバータとのコンビネーションチェーン801を構築し、このコンビネーションチェーンにおけるインバータの入力側ネット802について、実施の形態2のように配線容量を指定すると良い。
<< Embodiment 3 >>
In the case of the combination chain of the inverter and the wiring delay or the combination chain of the buffer and the wiring delay as in the second embodiment, it is necessary to add the wiring delay to all the inverters or buffers forming the chain. There is a risk of using a lot of wiring resources. Therefore, as shown in FIG. 8, the
図16には、バッファとインバータと配線遅延とのコンビネーションチェーン701を用いた始点間レイテンシ合わせ処理の流れが示される。この場合、パラメータとして、挿入するバッファ・インバータの組み合わせ、及び最小容量値が演算処理装置12に入力される。
FIG. 16 shows a flow of latency adjustment processing between start points using a
図16に示される始点間レイテンシ合わせ処理1207においては、入力装置14を介して、ターゲットとなる遅延値、スキューの設定が行われると(1601)、所定のコンビネーションルールに従ってバッファ及びインバータが追加される(1602)。そして、上記ステップ1602の処理で追加されたバッファ及びインバータが、実際のレイアウトパターン上に配置され(1603)、追加されたインバータの入力側ネットの配線容量が、指定された配線容量値以上になるようにセルの配置位置が決定される(1604)。この配置位置が決定は、実施の形態2の場合と同様に行うことができる。すなわち、追加されたインバータの入力側ネットの配線容量が、パラメータとされる容量値(index_2の実際の値)の下限値以上になるように、セルの配置間隔が決定される。そして、上記ステップ1603で追加されたバッファ及びインバータの遅延値が算出され(1605)、算出された遅延値と、上記ステップ1401で設定されたターゲット遅延値とが等しいか否かの判別が行われる(1606)。この判別で、上記ステップ1605で算出された遅延値と、上記ステップ1601で設定されたターゲット遅延値とが等しくない(NO)と判断された場合には、再び、上記ステップ1602の処理に戻ってバッファ及びインバータが追加された後に、上記ステップ1603,1604,1605の処理を経て、再び上記ステップ1606の判別処理が行われる。上記ステップ1606の判別処理において、上記ステップ1605で算出された遅延値と、上記ステップ1601で設定されたターゲット遅延値とが等しい(YES)と判断された場合には、始点間レイテンシ合わせ処理1207が終了される。
In the inter-start point
このように本例によれば、実施の形態1のようにバッファとインバータとのコンビネーションチェーンが構築されるので、個々のインバータでの遅延誤差が伝播されるのを抑制することができ、インバータチェーンを用いる場合に比べて、遅延計算における遅延誤差を低減することができる。また、コンビネーションチェーンにおけるインバータの入力側ネット802について、実施の形態2のように配線容量を指定することにより、図11の遅延テーブル111で定義情報に対応する配線容量が形成されるため、遅延計算における遅延誤差の低減を図ることができる。さらに、コンビネーションチェーンにおけるインバータの入力側ネット802について、実施の形態2のように配線容量を指定するようにしており、チェーンを形成する全てのインバータ又はバッファに配線遅延を付加するものではないので、配線リソースを多く使用するリスクを回避することができる。
Thus, according to this example, since the combination chain of the buffer and the inverter is constructed as in the first embodiment, it is possible to suppress the propagation of delay error in each inverter, and the inverter chain The delay error in the delay calculation can be reduced as compared with the case of using. In addition, by specifying the wiring capacity for the
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。 Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.
例えば、インバータは、MOSトランジスタ1段で形成されたセルの一例であり、バッファは、MOSトランジスタ複数段で形成されたセルの一例である。MOSトランジスタ1段で形成されたセルとして、上記インバータの他に2入力ナンドゲートを挙げることができる。MOSトランジスタ複数段で形成されたセルとして、上記バッファの他にマルチプレクサを挙げることができる。 For example, an inverter is an example of a cell formed of one stage of a MOS transistor, and a buffer is an example of a cell formed of a plurality of stages of MOS transistors. As a cell formed of one MOS transistor, a two-input NAND gate can be cited in addition to the inverter. As a cell formed of a plurality of stages of MOS transistors, a multiplexer can be used in addition to the buffer.
10 レイアウト装置
11 表示装置
12 演算処理装置
13 記憶装置
14 入力装置
111 遅延テーブル
601,701,801 コンビネーションチェーン
DESCRIPTION OF
Claims (11)
MOSトランジスタ1段で形成された第1セルと、MOSトランジスタ複数段で形成された第2セルとがライブラリ化されたテーブルと、
上記第1セルと上記第2セルとの組み合わせによるコンビネーションチェーンを上記クロックツリーに挿入することで、上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整可能な演算処理部と、を含むことを特徴とするレイアウト装置。 A layout device capable of constructing a clock tree for distributing a clock signal to each part in a semiconductor device and adjusting a clock skew between different clock systems in the clock tree,
A table in which a first cell formed by one stage of a MOS transistor and a second cell formed by a plurality of stages of MOS transistors are formed into a library;
An arithmetic processing unit capable of adjusting a clock skew between different clock systems in the clock tree by inserting a combination chain formed by a combination of the first cell and the second cell into the clock tree. A layout device.
MOSトランジスタ1段で形成された調整用セルがライブラリ化されたテーブルと、
レイアウト対象とされる上記調整用セルの最短距離配線長から算出される容量が、上記ライブラリ化された上記調整用セルの配線容量の下限値よりも大きくなるように、上記調整用セルのレイアウト位置を決定する演算処理部と、を含むことを特徴とするレイアウト装置。 A layout device capable of constructing a clock tree for distributing a clock signal to each part in a semiconductor device and adjusting a clock skew between different clock systems in the clock tree,
A table in which adjustment cells formed by one stage of MOS transistors are made into a library;
The layout position of the adjustment cell so that the capacity calculated from the shortest distance wiring length of the adjustment cell to be laid out is larger than the lower limit value of the wiring capacity of the adjustment cell in the library. And a calculation processing unit for determining the layout.
上記第1セルと上記第2セルとの組み合わせによるコンビネーションチェーンを上記クロックツリーに挿入することで、上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整する処理を上記演算処理部に実行させることを特徴とするレイアウト方法。 A table in which a first cell formed by one stage of a MOS transistor and a second cell formed by a plurality of stages of MOS transistors are made into a library and an arithmetic processing unit that performs arithmetic processing are used for each part in the semiconductor device. A layout method capable of adjusting a clock skew between different clock systems in the clock tree while constructing a clock tree for distributing clock signals,
Inserting a combination chain formed by a combination of the first cell and the second cell into the clock tree to cause the arithmetic processing unit to execute processing for adjusting clock skew between different clock systems in the clock tree. Characteristic layout method.
レイアウト対象とされる上記調整用セルの最短距離配線長から算出される容量が、上記ライブラリ化された上記調整用セルの配線容量の下限値よりも大きくなるように、上記調整用セルのレイアウト位置を決定する処理を上記演算処理部に実行させることを特徴とするレイアウト方法。 Using a table in which adjustment cells formed by one stage of MOS transistors are made into a library and an arithmetic processing unit that performs arithmetic processing, a clock tree for distributing a clock signal to each unit in the semiconductor device is constructed, A layout method capable of adjusting a clock skew between different clock systems in the clock tree,
The layout position of the adjustment cell so that the capacity calculated from the shortest distance wiring length of the adjustment cell to be laid out is larger than the lower limit value of the wiring capacity of the adjustment cell in the library. A layout method characterized by causing the arithmetic processing unit to execute a process for determining the value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011242082A JP5909073B2 (en) | 2011-11-04 | 2011-11-04 | Layout apparatus and layout method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011242082A JP5909073B2 (en) | 2011-11-04 | 2011-11-04 | Layout apparatus and layout method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013097705A true JP2013097705A (en) | 2013-05-20 |
JP5909073B2 JP5909073B2 (en) | 2016-04-26 |
Family
ID=48619551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011242082A Expired - Fee Related JP5909073B2 (en) | 2011-11-04 | 2011-11-04 | Layout apparatus and layout method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5909073B2 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638291A (en) * | 1994-10-14 | 1997-06-10 | Vlsi Technology, Inc. | Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew |
JPH113945A (en) * | 1997-06-12 | 1999-01-06 | Nec Corp | Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same |
JP2000113025A (en) * | 1998-10-09 | 2000-04-21 | Fujitsu Ltd | Hard macro preparing method, semiconductor chip designing method, and recording medium |
JP2001308186A (en) * | 2000-04-24 | 2001-11-02 | Nec Microsystems Ltd | Layout method in which flip-flop can be added or modified and medium recorded with layout program |
JP2002269166A (en) * | 2001-03-13 | 2002-09-20 | Mitsubishi Electric Corp | Clock tree and duty adjustment method |
JP2003332435A (en) * | 2002-05-16 | 2003-11-21 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit and design method therefor |
JP2004266034A (en) * | 2003-02-28 | 2004-09-24 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit and method of designing the same |
JP2005339052A (en) * | 2004-05-25 | 2005-12-08 | Fujitsu Ltd | Method and program for generating library |
-
2011
- 2011-11-04 JP JP2011242082A patent/JP5909073B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638291A (en) * | 1994-10-14 | 1997-06-10 | Vlsi Technology, Inc. | Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew |
JPH113945A (en) * | 1997-06-12 | 1999-01-06 | Nec Corp | Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same |
JP2000113025A (en) * | 1998-10-09 | 2000-04-21 | Fujitsu Ltd | Hard macro preparing method, semiconductor chip designing method, and recording medium |
JP2001308186A (en) * | 2000-04-24 | 2001-11-02 | Nec Microsystems Ltd | Layout method in which flip-flop can be added or modified and medium recorded with layout program |
JP2002269166A (en) * | 2001-03-13 | 2002-09-20 | Mitsubishi Electric Corp | Clock tree and duty adjustment method |
JP2003332435A (en) * | 2002-05-16 | 2003-11-21 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit and design method therefor |
JP2004266034A (en) * | 2003-02-28 | 2004-09-24 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit and method of designing the same |
JP2005339052A (en) * | 2004-05-25 | 2005-12-08 | Fujitsu Ltd | Method and program for generating library |
Also Published As
Publication number | Publication date |
---|---|
JP5909073B2 (en) | 2016-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8584065B2 (en) | Method and apparatus for designing an integrated circuit | |
US9977845B2 (en) | Method of performing static timing analysis for an integrated circuit | |
JP5401376B2 (en) | Method for designing semiconductor integrated circuit device | |
US8086982B2 (en) | Methods and systems for reducing clock skew in a gated clock tree | |
Lee et al. | Contango: Integrated optimization of SoC clock networks | |
US20080216042A1 (en) | Method and Computer System for Otimizing the Signal Time Behavior of an Electronic Circuit Design | |
KR20130084029A (en) | Method of designing a system-on-chip including a tapless standard cell, designing system and system-on-chip | |
JP2013171503A (en) | Lsi design method | |
JP4554509B2 (en) | Timing analysis apparatus and timing analysis method | |
JP2005352787A (en) | Method and apparatus for timing analysis | |
US10430537B2 (en) | Integrated circuit including cells/gates arranged based on supply voltage variations of cells and influence between cells, and design method thereof | |
US20100235802A1 (en) | Customizable H-Tree Synthesis Tool | |
JP5909073B2 (en) | Layout apparatus and layout method | |
JP2014035667A (en) | Lsi designing method and lsi designing device | |
JPH118314A (en) | Method and device for optimizing tree depth of clock signal wiring | |
US8621412B1 (en) | Micro-regions for auto place and route optimization | |
US20030212972A1 (en) | Unconventional clocked circuit components having multiple timing models | |
JPWO2008133116A1 (en) | Circuit design apparatus, circuit design method, and circuit design program | |
Tsai et al. | Clock planning for multi-voltage and multi-mode designs | |
US8108818B2 (en) | Method and system for point-to-point fast delay estimation for VLSI circuits | |
JP2005136286A (en) | Method for designing semiconductor integrated circuit and its device | |
US8745558B1 (en) | Deployment of transmission gate logic cells in application specific integrated circuits | |
Lerner et al. | Slew merging region propagation for bounded slew and skew clock tree synthesis | |
JP2008166981A (en) | Delay adjustment circuit and delay adjustment method | |
Hsu et al. | Clock gating optimization with delay-matching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140827 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150814 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151015 |
|
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: 20160317 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5909073 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |