JP2013097705A - Layout device and layout method - Google Patents

Layout device and layout method Download PDF

Info

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
Application number
JP2011242082A
Other languages
Japanese (ja)
Other versions
JP5909073B2 (en
Inventor
Hiroki Tsurusaki
宏亀 鶴崎
Takashi Nakajima
中島  隆
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011242082A priority Critical patent/JP5909073B2/en
Publication of JP2013097705A publication Critical patent/JP2013097705A/en
Application granted granted Critical
Publication of JP5909073B2 publication Critical patent/JP5909073B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To achieve both securing precision and holding a duty, in adjustment of clock skew in a clock tree.SOLUTION: A layout device (10) is provided with a table where first cells each of which is formed of one stage of MOS transistors and second cell each of which is formed of a plurality of stages of MOS transistors are stored as libraries. The layout device includes an arithmetic unit (12) which can adjust clock skew between different clock systems in a clock tree by inserting combination chains comprising first cells and second cells, to the clock tree. By inserting the combination chains to adjust the clock skew, propagation of delay errors in individual first cells is suppressed to reduce delay errors in delay calculation. Further, since each first cell is formed of one stage of MOS transistors and the logic is inverted in the first cell, the layout device is advantageous with respect to holding a duty.

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には、データ接続経路の数に基づいて、半導体集積回路上のフリップフロップが配置された領域の分割を繰り返し、分割された領域のフリップフロップをツリー状に接続する技術が記載されている。   Patent Document 1 describes a technique of repeatedly dividing a region where flip-flops are arranged on a semiconductor integrated circuit based on the number of data connection paths, and connecting the flip-flops of the divided regions in a tree shape. Yes.

特許文献2には、クロックスキューが閾値以下に収束する回路規模となるように、クロックツリーが有するフリップフロップを複数のグループに分割し、グループの前段に遅延バッファを挿入する技術が記載されている。   Patent Document 2 describes a technique in which a flip-flop included in a clock tree is divided into a plurality of groups and a delay buffer is inserted at the front stage of the group so that the circuit scale converges below a threshold value. .

特開2007−123336号公報JP 2007-123336 A 特開2006−107206号公報JP 2006-107206 A

論理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 is a block diagram illustrating a configuration example of a layout device according to the present invention. クロックツリー生成の説明図である。It is explanatory drawing of clock tree generation. クロックツリーにおける主要部の説明図である。It is explanatory drawing of the principal part in a clock tree. クロックツリーにおけるクロックスキュー調整の説明図である。It is explanatory drawing of the clock skew adjustment in a clock tree. インバータチェーンによるクロックスキュー調整の説明図である。It is explanatory drawing of the clock skew adjustment by an inverter chain. バッファとインバータとのコンビネーションチェーンによるクロックスキュー調整の説明図である。It is explanatory drawing of the clock skew adjustment by the combination chain of a buffer and an inverter. インバータと配線遅延とのコンビネーションチェーンによるクロックスキュー調整の説明図である。It is explanatory drawing of the clock skew adjustment by the combination chain of an inverter and wiring delay. バッファとインバータと配線遅延とのコンビネーションチェーンによるクロックスキュー調整の説明図である。It is explanatory drawing of the clock skew adjustment by the combination chain of a buffer, an inverter, and wiring delay. 複数のクロック間遅延調整用インバータの一般的なレイアウト処理の説明図である。It is explanatory drawing of the general layout process of the some inverter for delay adjustment between clocks. クロック間遅延調整用インバータセルの配置間隔決定の説明図である。It is explanatory drawing of arrangement | positioning space | interval determination of the inverter cell for delay adjustment between clocks. 遅延テーブルの構成例説明図である。It is a structural example explanatory drawing of a delay table. クロックツリー構築処理のフローチャートである。It is a flowchart of a clock tree construction process. クロックツリー構築処理の別のフローチャートである。It is another flowchart of a clock tree construction process. クロックツリー構築における始点間レイテンシ合わせ処理のフローチャートである。It is a flowchart of the latency adjustment process between start points in clock tree construction. クロックツリー構築における始点間レイテンシ合わせ処理の別のフローチャートである。It is another flowchart of the latency adjustment processing between start points in clock tree construction. クロックツリー構築における始点間レイテンシ合わせ処理の別のフローチャートである。It is another flowchart of the latency adjustment processing between start points in clock tree construction. インバータの回路構成と入出力波形の説明図である。It is explanatory drawing of the circuit structure and input / output waveform of an inverter. バッファの回路構成と入出力波形の説明図である。It is explanatory drawing of the circuit structure and input / output waveform of a buffer.

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には、本発明にかかるレイアウト装置の構成例が示される。
Embodiment 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 layout device 10 shown in FIG. 1 is configured using a computer system including a display device 11, an arithmetic processing device 12, a storage device 13, and an input device 14. The storage device 13 is a hard disk device using, for example, a magnetic disk as a recording medium. The storage device 13 stores various programs and various information used for the layout of the semiconductor device. Various information used for the layout of the semiconductor device includes a net list and a library. This library includes delay tables of various cells such as inverters and buffers. The arithmetic processing unit 12 includes a microcomputer that can execute various arithmetic processes according to a program and its peripheral circuits, and performs layout processing of the semiconductor device. This layout processing includes construction of a clock tree for distributing a clock signal to each part in the semiconductor device and adjustment of clock skew between the clock trees. In the layout device 12, a netlist or library in the storage device 13 is referred to as necessary. The input device 14 includes a keyboard and a mouse, and is used for inputting various information related to the layout processing of the semiconductor device. The display device 11 is a liquid crystal display or the like, and can display various information related to the layout processing of the semiconductor device.

論理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 logic start point 203 to the flip-flop circuit 201 in the semiconductor device 200 (clock skew). ) Is made as small as possible, and a plurality of delay elements 202 are interposed as shown in FIG.

図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 step 1201 described above, cell placement processing of a semiconductor device to be laid out is performed using cells such as an inverter, a NAND gate, a NOR gate, and a flip-flop circuit ( 1201). A timing optimization process is performed (1202), and then a clock tree synthesis process (CTS) is performed (1203). When this clock tree synthesis processing is completed, timing optimization processing is performed again (1208), and then wiring processing is performed (1209).

上記ステップ1203のクロック構成処理では、先ず、入力装置14を介して、クロックツリーの始点及び終点が指示されると(1204)、各始点毎にクロックツリーが構築される(1205)。そして構築されたクロックツリー毎にレイテンシ合わせ処理が行われ(1206)、それが終了すると、始点間のレイテンシ合わせ処理が行われる(1207)。   In the clock configuration process of step 1203, when the start point and end point of the clock tree are instructed via the input device 14 (1204), a clock tree is constructed for each start point (1205). Then, a latency matching process is performed for each constructed clock tree (1206), and when this is completed, a latency matching process between the start points is performed (1207).

尚、図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 step 1206 and the latency matching process between start points in step 1207 (1301). ) May be performed. Only when it is determined in this determination process that the latency matching process is necessary, the latency matching process between the start points in step 1207 is performed. In this way, when the latency matching process is actually unnecessary, the latency matching process can be omitted, so that the processing efficiency can be improved.

次に、上記ステップ1207の始点間レイテンシ合わせ処理について詳述する。   Next, the start point latency matching processing in step 1207 will be described in detail.

クロックツリーにおいて、互いに異なるクロック系統間でクロックスキューの調整(レイテンシ合わせ)が必要になる場合がある。例えば図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, different clock systems 302 and 304 are provided in the clock tree, the clock system 302 is supplied with the clock signal divided by the frequency dividing circuit 301, and the clock system 304 is supplied to the clock system 304. Consider a case where a clock signal is supplied via the buffer 303. When the number of flip-flop circuits in the clock system 302 is smaller than the number of flip-flop circuits in the clock system 304, the difference in clock latency between the clock system 302 and the clock system 304 becomes large. For this reason, when data transfer is performed between the flip-flop circuit belonging to the clock system 302 and the flip-flop circuit belonging to the clock system 304, it is necessary to adjust the clock skew. To adjust the clock skew, a buffer chain 401 is provided between the frequency divider 301 and the clock system 302 as shown in FIG. 4, or the frequency divider 301 and the clock system are shown in FIG. It is conceivable to provide an inverter chain 501 with the terminal 302. The buffer chain 401 includes a plurality of buffers connected in series. The inverter chain is formed by connecting a plurality of inverters in series with each other.

インバータは、例えば図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-channel MOS transistor 1701 and an n-channel MOS transistor 1702 connected in series. The gate electrode of the p-channel MOS transistor 1701 and the gate electrode of the n-channel MOS transistor 1702 are commonly connected to the input terminal (IN). An output terminal (OUT) is drawn from a series connection node of the p-channel MOS transistor 1701 and the n-channel MOS transistor 1702. A wiring capacitor 1703 exists on the output side of the inverter.

バッファは、例えば図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-channel MOS transistor 1801 and an n-channel MOS transistor 1802 are connected in series, a p-channel MOS transistor 1803 and an n-channel. A second inverter formed by connecting a type MOS transistor 1804 in series is connected in series. A wiring capacitor 1805 exists on the output side of the second inverter (1803, 1804). Although there is a wiring capacity on the output side of the first inverter (1801, 1802), the value is extremely smaller than the wiring capacity 1805. This is because in the buffer as a cell, the wiring between the first inverter (1801, 1802) and the second inverter (1803, 1804) is extremely short.

インバータの出力側には、配線容量1703が形成されるため、入力端子を介して入力されたクロック信号は、図7の(B)に示されるように、遅延されて出力される。つまり、配線容量170の存在により、出力波形が鈍ってしまう。これに対して、バッファの場合、第1インバータ(1801,1802)の出力側の配線容量が極小のため、第1インバータ(1801,1802)の入力波形が整形されてから第2インバータ(1803,1804)に入力されるため、第2インバータ(1803,1804)の出力波形は、図17の(A)に示されるインバータ(1701,1702)の出力波形に比べて鈍りが少ない。   Since a wiring capacitor 1703 is formed on the output side of the inverter, the clock signal input through the input terminal is delayed and output as shown in FIG. That is, the output waveform becomes dull due to the presence of the wiring capacitance 170. On the other hand, in the case of the buffer, since the wiring capacity on the output side of the first inverter (1801, 1802) is minimal, the second inverter (1803, 1803) after the input waveform of the first inverter (1801, 1802) is shaped. 1804), the output waveform of the second inverter (1803, 1804) is less dull than the output waveform of the inverters (1701, 1702) shown in FIG.

既述のように、部品レベルで設計された回路の遅延計算は、部品毎に事前に遅延特性を測定しておいたもの(記憶装置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 inverter chain 701 in which a plurality of inverters are connected in series, delay errors in individual inverters are sequentially propagated, so that the error becomes large.

そこで、上記ステップ1207の始点間レイテンシ合わせ処理においては、図6に示されるように、バッファとインバータとのコンビネーションチェーン601によってクロックスキューの調整を行うようにする。このコンビネーションチェーン601では、インバータの前後にバッファが設けられている。   Therefore, in the latency adjustment processing between the start points in step 1207, the clock skew is adjusted by the combination chain 601 of the buffer and the inverter as shown in FIG. In this combination chain 601, buffers are provided before and after the inverter.

図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 latency matching processing 1207 shown in FIG. 14, when a target delay value and skew are set via the input device 14 (1401), a buffer and an inverter are added according to a predetermined combination rule. (1402). Then, the buffer and inverter added in the process of step 1402 are arranged on the actual layout pattern (1403), and the delay value of the added buffer and inverter is calculated (1404). Then, it is determined whether or not the delay value calculated in step 1404 is equal to the target delay value set in step 1401 (1405). If it is determined in this determination that the delay value calculated in step 1404 is not equal to the target delay value set in step 1401 (NO), the process returns to step 1402 again. After the addition of the buffer and the inverter, the determination processing in step 1405 is performed again through the processing in steps 1403 and 1404. When it is determined that the delay value calculated in step 1404 is equal to the target delay value set in step 1401 (YES) in the determination process in step 1405, the start point latency matching process 1207 is performed. Is terminated.

ここで、上記ステップ1402におけるバッファ及びインバータの追加について詳述する。   Here, the addition of the buffer and the inverter in step 1402 will be described in detail.

プロセスにより多少異なるが、たとえば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 input device 14.

一般化すると、インバータの段数「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.

Figure 2013097705
Figure 2013097705

このようにして、上記ステップ1402におけるバッファ及びインバータの追加が行われる。そして、上記ステップ1401で設定されたターゲット遅延値とが等しい(YES)と判断されるまで、上記コンビネーションチェーンが追加されることになる。つまり、目標となる遅延をSnsとすると、上記の組み合わせ(インバータ1段、バッファn段)で得られる遅延がPnsのとき、Pns・m=Snsの関係が成立する場合の「m」の値に等しくなる数だけ、上記コンビネーションチェーンが追加形成される。   In this manner, the buffer and the inverter are added in step 1402. The combination chain is added until it is determined that the target delay value set in step 1401 is equal (YES). In other words, when the target delay is Sns, when the delay obtained by the above combination (1 inverter stage, n buffer stage) is Pns, the value of “m” when the relationship of Pns · m = Sns is established. The above combination chains are additionally formed by an equal number.

尚、遅延が僅かに足りない場合において上記コンビネーションチェーンを更に追加すると、遅延量が多すぎてしまうことが考えられる。その場合には、バッファあるいはインバータを単体で追加すると良い。   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を介して入力しても良い。
<< Embodiment 2 >>
In the processing for adjusting the latency between the start points in step 1207, the clock skew can be adjusted by the combination chain 701 of the inverter and the wiring delay as shown in FIG. When the clock skew is adjusted by the combination chain 701 of the inverter and the wiring delay, the minimum capacity value (the lower limit value of the capacity) is input as a parameter to the arithmetic processing unit 12. This parameter may be set in advance or may be input via the input device 14.

図15には、インバータと配線遅延とのコンビネーションチェーン701を用いた始点間レイテンシ合わせ処理の流れが示される。   FIG. 15 shows a flow of latency matching processing between start points using the combination chain 701 of the inverter and the wiring delay.

図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 latency matching processing 1207 shown in FIG. 15, when the target delay value and skew are set via the input device 14 (1501), an inverter is added (1502). Then, the inverter added in the process of step 1502 is placed on the actual layout pattern (1503), and the placement position of the inverter is determined so that the added inverter becomes equal to or greater than the designated wiring capacitance value ( 1504). Then, it is determined whether or not the delay value of the combination chain 701 after the arrangement position is determined in step 1504 is equal to the target delay value set in step 1501 (1505). In this determination, if it is determined that the delay value of the combination chain 701 after the arrangement position is determined in step 1504 and the target delay value set in step 1501 are not equal (NO), the above is performed again. After returning to the process of step 1502 and adding the inverter, the determination process of step 1505 is performed again through the processes of steps 1503 and 1504. In the determination processing in step 1505, if it is determined that the delay value of the combination chain 701 after the arrangement position determination in step 1504 is equal to the target delay value set in step 1501 (YES), The inter-start point latency matching process 1207 is terminated.

ここで、上記ステップ1504の配置位置決定について詳述する。   Here, the arrangement position determination in step 1504 will be described in detail.

図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 storage device 13. In the delay table 111 shown in FIG. 11, variable_1 and index_1 are associated with each other, and variable_2 and index_2 are associated with each other. The table size is 6 for both index_1 and index_2. The more the number of actual definitions of index_2 is, the larger the table size will be, and it will take time to refer to the table. In the delay table 111 of FIG. 11, the actual value of index_2 is a capacity value and is defined as “0.001, 0.00123399, 0.00189322, 0.003755043, 0.00898268, 0.0137473”. .

例えば図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 buffer 901. In a general layout process of a plurality of inter-clock delay adjustment inverters, for example, as shown in FIG. 9B, a plurality of inter-clock delay adjustment inverters are arranged in the immediate vicinity of the output side of the buffer 901. For this reason, the wiring between the clock delay adjusting inverters is also shortened, and the wiring capacitance value on the output side of each clock delay adjusting inverter is reduced. With this layout, if the wiring capacitance value on the output side of each inverter for adjusting delay between clocks is outside the range of the capacitance value (actual value of index_2) defined in the delay table 111 of FIG. Will become bigger.

そこで上記ステップ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 step 1504, the arrangement interval between the inverter cells for delay adjustment between clocks is set using the lower limit value of the capacitance value (actual value of index_2) defined in the delay table 111 of FIG. 11 as a parameter. It is determined. For example, since the lower limit value of the capacity value (the actual value of index_2) defined in the delay table 111 of FIG. 11 is “0.001”, the arithmetic processing unit 12 uses this capacity value (the actual value of index_2). ) Is used as a parameter to determine the arrangement interval between cells. That is, as shown in FIG. 10A, the value of the capacitance (wiring capacitance) calculated from the length of the shortest wiring (shortest distance wiring) 902 among the wirings in the inter-clock delay adjusting inverter cell row. However, the arrangement interval of the inter-clock delay adjusting inverter cells is determined so as to be equal to or greater than the lower limit “0.001” of the capacitance value (actual value of index_2) as the parameter.

尚、上記パラメータとされる容量値(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 shortest wiring 903 is not less than the lower limit “0.002” of the capacitance value (actual value of index_2) as the above parameter. The arrangement interval of the delay adjustment inverter cells is determined. For this reason, when the lower limit value of the capacity value (actual value of index_2) used as the parameter is “0.002,” the arrangement interval of the clock delay adjusting inverter cells is the capacity value (index_2) used as the parameter. The lower limit value of (actual value of) is larger than the arrangement interval of the inter-clock delay adjusting inverter cells when the lower limit value is “0.001”.

このように、クロック間遅延調整用インバータセル列における配線のうち、最も短い配線902の長さから算出される容量値が、上記パラメータとされる容量値(index_2の実際の値)の下限値以上になるように、クロック間遅延調整用インバータセルの配置間隔が決定されることにより、各クロック間遅延調整用インバータの入力側や出力側には、図11の遅延テーブル111での定義情報に対応する配線容量が形成されるため、遅延誤差の低減を図ることができる。   As described above, the capacitance value calculated from the length of the shortest wiring 902 among the wirings in the inverter cell row for adjusting the delay between clocks is not less than the lower limit value of the capacitance value (actual value of index_2) as the above parameter. By determining the arrangement interval of the inter-clock delay adjustment inverter cells, the input side and output side of each inter-clock delay adjustment inverter correspond to the definition information in the delay table 111 of FIG. Therefore, the delay error can be reduced.

《実施の形態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 combination chain 801 of the buffer and the inverter as in the first embodiment is constructed, and the input side net 802 of the inverter in this combination chain is connected to the wiring capacity as in the second embodiment. It is good to specify.

図16には、バッファとインバータと配線遅延とのコンビネーションチェーン701を用いた始点間レイテンシ合わせ処理の流れが示される。この場合、パラメータとして、挿入するバッファ・インバータの組み合わせ、及び最小容量値が演算処理装置12に入力される。   FIG. 16 shows a flow of latency adjustment processing between start points using a combination chain 701 of a buffer, an inverter, and a wiring delay. In this case, the combination of the buffer and inverter to be inserted and the minimum capacity value are input to the arithmetic processing unit 12 as parameters.

図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 latency matching processing 1207 shown in FIG. 16, when the target delay value and skew are set via the input device 14 (1601), a buffer and an inverter are added according to a predetermined combination rule. (1602). Then, the buffer and inverter added in the process of step 1602 are arranged on the actual layout pattern (1603), and the wiring capacity of the input side net of the added inverter exceeds the specified wiring capacity value. Thus, the arrangement position of the cell is determined (1604). This arrangement position can be determined in the same manner as in the second embodiment. That is, the cell arrangement interval is determined so that the wiring capacity of the input inverter net of the added inverter is equal to or greater than the lower limit value of the capacitance value (actual value of index_2) as a parameter. Then, the delay values of the buffer and the inverter added in step 1603 are calculated (1605), and it is determined whether or not the calculated delay value is equal to the target delay value set in step 1401. (1606). If it is determined in this determination that the delay value calculated in step 1605 is not equal to the target delay value set in step 1601 (NO), the process returns to step 1602 again. After the addition of the buffer and the inverter, the determination processing in step 1606 is performed again through the processing in steps 1603, 1604, and 1605. If it is determined that the delay value calculated in step 1605 is equal to the target delay value set in step 1601 (YES) in the determination process in step 1606, the latency matching process between start points 1207 is performed. Is terminated.

このように本例によれば、実施の形態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 input side net 802 of the inverter in the combination chain as in the second embodiment, the wiring capacity corresponding to the definition information is formed in the delay table 111 of FIG. The delay error can be reduced. Further, for the input side net 802 of the inverter in the combination chain, the wiring capacity is designated as in the second embodiment, and wiring delay is not added to all the inverters or buffers forming the chain. The risk of using a lot of wiring resources can be avoided.

以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   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 SYMBOLS 10 Layout apparatus 11 Display apparatus 12 Arithmetic processing apparatus 13 Storage apparatus 14 Input apparatus 111 Delay table 601,701,801 Combination chain

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.
上記演算処理部は、上記第1セルの段数を「1」とし、上記第2セルの段数を「n」とし、上記第1セルの1段の遅延誤差を「X」とし、上記第2セルn段の遅延誤差を「Yn」とし、上記コンビネーションチェーン1個当たりの遅延誤差を「Z」とするとき、(X+Yn)/(n+1)≦Zが成立するように上記コンビネーションチェーン1個当たりの構成を決定し、上記クロックツリー間のクロックスキューの調整に必要とされる数だけ、上記コンビネーションチェーンを互いに直列接続することで上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整する請求項1記載のレイアウト装置。   The arithmetic processing unit sets the number of stages of the first cell to “1”, the number of stages of the second cell to “n”, the delay error of one stage of the first cell to “X”, and the second cell When the delay error of n stages is “Yn” and the delay error per combination chain is “Z”, the configuration per combination chain so that (X + Yn) / (n + 1) ≦ Z is satisfied. 2. The clock skew between different clock systems in the clock tree is adjusted by connecting the combination chains in series to each other as many times as necessary for adjusting the clock skew between the clock trees. Layout device. 上記演算処理部は、上記ライブラリ化された上記第1セルの配線容量の下限値に基づいて、レイアウト対象とされる上記第1セルの入力側ネットの配線長を決定する請求項2記載のレイアウト装置。   The layout according to claim 2, wherein 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. apparatus. 上記演算処理部は、レイアウト対象とされる上記第1セルの最短距離配線長から算出される容量が、上記ライブラリ化された上記第1セルの配線容量の下限値よりも大きくなるように、上記第1セルのレイアウト位置を決定する請求項3記載のレイアウト装置。   The arithmetic processing unit is configured so that the capacity calculated from the shortest distance wiring length of the first cell to be laid out is larger than the lower limit value of the wiring capacity of the first cell in the library. The layout apparatus according to claim 3, wherein the layout position of the first cell is determined. 上記第1セルはインバータとされ、上記第2セルはバッファとされる請求項4記載のレイアウト装置。   The layout apparatus according to claim 4, wherein the first cell is an inverter and the second cell is a buffer. 半導体装置における各部にクロック信号を分配するためのクロックツリーを構築するとともに、上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整可能なレイアウト装置であって、
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.
上記調整用セルはインバータとされる請求項6記載のレイアウト装置。   The layout apparatus according to claim 6, wherein the adjustment cell is an inverter. MOSトランジスタ1段で形成された第1セルと、MOSトランジスタ複数段で形成された第2セルとがライブラリ化されたテーブルと、演算処理を行う演算処理部とを用いて、半導体装置における各部にクロック信号を分配するためのクロックツリーを構築するとともに、上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整可能なレイアウト方法であって、
上記第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.
上記演算処理部は、上記第1セルの段数を「1」とし、上記第2セルの段数を「n」とし、上記第1セルの1段の遅延誤差を「X」とし、上記第2セルn段の遅延誤差を「Yn」とし、上記コンビネーションチェーン1個当たりの遅延誤差を「Z」とするとき、(X+Yn)/(n+1)≦Zが成立するように上記コンビネーションチェーン1個当たりの構成を決定し、上記クロックツリー間のクロックスキューの調整に必要とされる数だけ、上記コンビネーションチェーンを互いに直列接続することで上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整する請求項8記載のレイアウト方法。   The arithmetic processing unit sets the number of stages of the first cell to “1”, the number of stages of the second cell to “n”, the delay error of one stage of the first cell to “X”, and the second cell When the delay error of n stages is “Yn” and the delay error per combination chain is “Z”, the configuration per combination chain so that (X + Yn) / (n + 1) ≦ Z is satisfied. 9. The clock skew between different clock systems in the clock tree is adjusted by connecting the combination chains in series to each other as many times as necessary for adjusting the clock skew between the clock trees. Layout method. 上記演算処理部は、レイアウト対象とされる上記第1セルの最短距離配線長から算出される容量が、上記ライブラリ化された上記第1セルの配線容量の下限値よりも大きくなるように、上記第1セルのレイアウト位置を決定する請求項9記載のレイアウト方法。   The arithmetic processing unit is configured so that the capacity calculated from the shortest distance wiring length of the first cell to be laid out is larger than the lower limit value of the wiring capacity of the first cell in the library. The layout method according to claim 9, wherein the layout position of the first cell is determined. MOSトランジスタ1段で形成された調整用セルがライブラリ化されたテーブルと、演算処理を行う演算処理部とを用いて、半導体装置における各部にクロック信号を分配するためのクロックツリーを構築するとともに、上記クロックツリーにおける異なるクロック系統間のクロックスキューを調整可能なレイアウト方法であって、
レイアウト対象とされる上記調整用セルの最短距離配線長から算出される容量が、上記ライブラリ化された上記調整用セルの配線容量の下限値よりも大きくなるように、上記調整用セルのレイアウト位置を決定する処理を上記演算処理部に実行させることを特徴とするレイアウト方法。
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.
JP2011242082A 2011-11-04 2011-11-04 Layout apparatus and layout method Expired - Fee Related JP5909073B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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