JP5883633B2 - Layout apparatus and layout method - Google Patents

Layout apparatus and layout method Download PDF

Info

Publication number
JP5883633B2
JP5883633B2 JP2011271229A JP2011271229A JP5883633B2 JP 5883633 B2 JP5883633 B2 JP 5883633B2 JP 2011271229 A JP2011271229 A JP 2011271229A JP 2011271229 A JP2011271229 A JP 2011271229A JP 5883633 B2 JP5883633 B2 JP 5883633B2
Authority
JP
Japan
Prior art keywords
clock
size
arithmetic processing
buffer
layout
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011271229A
Other languages
Japanese (ja)
Other versions
JP2013122705A (en
Inventor
亀井 聡
聡 亀井
宏亀 鶴崎
宏亀 鶴崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2011271229A priority Critical patent/JP5883633B2/en
Publication of JP2013122705A publication Critical patent/JP2013122705A/en
Application granted granted Critical
Publication of JP5883633B2 publication Critical patent/JP5883633B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、スタンダードセルのレイアウト技術、さらにはデザインルールを遵守しつつ、過剰なタイミングマージンを削減することで半導体装置における消費電力を抑えるための技術に関する。   The present invention relates to a standard cell layout technique, and further to a technique for reducing power consumption in a semiconductor device by reducing an excessive timing margin while complying with a design rule.

論理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のインプリメントにおいて、タイミング考慮のレイアウト設計を実施するケースが一般的である。この際、セットアップ、ホールドのタイミング制約に加え、最大トランジション(Max_transition)や、最大キャパシタンス(Max_capacitance)等のデザインルール制約を遵守する必要がある。   In the implementation of a logic LSI, a layout design considering timing is generally performed. In this case, it is necessary to comply with design rule constraints such as maximum transition (Max_transition) and maximum capacitance (Max_capacitance) in addition to setup and hold timing constraints.

一般的なレイアウト設計用EDA(Electronic Design Automation)ツールでは、タイミング制約においては満足する範囲でリーク・エリア等を削減し、待機および動作電力(消費電力)を最小化する手法が用いられている。   In a general EDA (Electronic Design Automation) tool for layout design, a technique is used in which a leak area and the like are reduced within a range satisfying timing constraints, and standby and operating power (power consumption) are minimized.

一方、デザインルール制約においては、それを満足していることが最優先であるが、実際にはかなりのマージンを持って制約が実現されている。そこで、過剰なマージンを持ってデザインルール制約を満足しているようなケースにおいては、マージンを削減することにより消費電力のさらなる削減が可能になると考えられる。このような状況は、クロックツリー生成(CTS:Clock Tree Synthesys)にて実装されるクロック論理だけにとどまらず、通常のタイミング最適化の対象となるデータラインにおいても同等である。   On the other hand, in the design rule constraint, satisfying it is the highest priority, but in reality, the constraint is realized with a considerable margin. Therefore, in a case where the design rule constraint is satisfied with an excessive margin, it is considered that the power consumption can be further reduced by reducing the margin. Such a situation is not limited to the clock logic implemented by clock tree generation (CTS: Clock Tree Synthesys), but is also the same for data lines that are subject to normal timing optimization.

本願発明者は、上記の観点から、マージン削減の手法と実際の実現手順について検討を行った。   The inventor of the present application has studied a margin reduction technique and an actual implementation procedure from the above viewpoint.

クロックツリー生成(CTS)における良し悪しの指標としては、「低クロックスキュー・レイテンシ」を挙げることができる。また、近年においては「低消費電力」も重要な項目であり、クロックゲーティング挿入のテクニックが一般的に用いられているが、クロックゲーティングはデータ信号の変化が無い期間のクロック信号の伝播そのものを停止する手法であり、LSIの論理にクロックゲーティングの効果が大きく左右される。そのため、半導体装置のレイアウト設計用EDAツールにおいては、CTSで挿入されたバッファ(およびクロック論理にあらかじめ挿入されている組み合わせ回路)の削除機能、リサイズによりクロックエリアの削除機能、電力の削減機能が備えられている。この場合、削除・リサイズ可能なセルの選択は、スキュー・レイテンシを悪化させないことが目的関数となっている。   As a good or bad index in clock tree generation (CTS), “low clock skew latency” can be cited. In recent years, “low power consumption” is also an important item, and the clock gating insertion technique is generally used, but clock gating is the propagation of the clock signal itself in the period when there is no change in the data signal. The effect of clock gating is greatly influenced by the logic of the LSI. For this reason, the EDA tool for semiconductor device layout design has a function of deleting a buffer inserted in CTS (and a combinational circuit inserted in advance in the clock logic), a function of deleting a clock area by resizing, and a function of reducing power. It has been. In this case, the selection of cells that can be deleted and resized has the objective function of not deteriorating the skew latency.

また、デザインルール制約に目を向けると、ライブラリに記載されている最大トランジション値はライブラリのキャラクタライズ時の周波数に依存しており、LSIの周波数がこれより低い場合には制約値そのものの緩和が可能である。最大キャパシタンス値も同様であるが、実際にはエレクトロマイグレーション(EM:ElectroMigration)の制約で律則してしまうケースが多い。   Looking at the design rule constraints, the maximum transition value described in the library depends on the frequency at the time of library characterization. If the LSI frequency is lower than this, the constraint value itself can be relaxed. Is possible. Although the maximum capacitance value is the same, there are many cases in which the maximum capacitance value is actually restricted due to electromigration (EM) restrictions.

そのため、動作周波数の低いLSIの場合、最大トランジション値や、最大キャパシタンス値が緩和できることになり、より低い駆動能力にてドライブしたり、配線そのものをより長く引き回すことができるようになる。この緩和条件に基づいてクロックツリーを構築することにより、クロックツリーのセル面積(クロックエリア)を削減し、更なる電力削減を図ることが可能になることが、本願発明者によって見いだされた。   For this reason, in the case of an LSI with a low operating frequency, the maximum transition value and the maximum capacitance value can be relaxed, so that it is possible to drive with a lower driving capability and to route the wiring itself for a longer time. The inventors of the present application have found that by constructing a clock tree based on this relaxation condition, it is possible to reduce the cell area (clock area) of the clock tree and further reduce power consumption.

また、データ論理においてもクロック論理と同じく、セットアップ・ホールドタイミングを満足し、デザインルール制約を満足する範囲内でセルの削減が可能と考えられる。   Also, in the data logic, as with the clock logic, it is considered that the number of cells can be reduced within the range that satisfies the setup rule hold timing and satisfies the design rule constraints.

本発明の目的は、デザインルールを遵守しつつ、過剰なタイミングマージンを削減することで半導体装置における消費電力を抑えるための技術を提供することにある。   An object of the present invention is to provide a technique for reducing power consumption in a semiconductor device by reducing an excessive timing margin while complying with a design rule.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   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.

すなわち、半導体装置におけるセルのレイアウトに関する情報を記憶可能な記憶装置と、上記記憶装置内の情報を参照して、上記半導体装置における各部にクロック信号を分配するためのクロックツリーを生成し、生成されたクロックツリーにおける過剰なタイミングマージンを削減するための演算処理を実行可能な演算処理装置とを含んでレイアウト装置を構成する。上記演算処理装置は、クロックライン上のトランジション制約及びキャパシタンス制約に余裕があるか否かを判別する第1処理、及び上記第1処理での判別結果に応じて、上記クロックラインにおけるクロックバッファのサイズダウン又は削除を行う第2処理を実行する。また、上記演算処理装置は、上記第2処理におけるクロックバッファのサイズダウン又は削除によって電力低減が可能であるか否かを判別する第3処理、及び上記第3処理での判別結果に応じて上記クロックバッファのサイズ調整を行う第4処理を実行する。   That is, a memory device capable of storing information related to cell layout in a semiconductor device, and a clock tree for generating a clock tree for distributing a clock signal to each unit in the semiconductor device are generated by referring to the information in the memory device. The layout device includes an arithmetic processing device capable of executing arithmetic processing for reducing an excessive timing margin in the clock tree. The arithmetic processing unit includes: a first process for determining whether or not a transition constraint and a capacitance constraint on the clock line have a margin; and a size of a clock buffer in the clock line according to a determination result in the first process. A second process for down or deletion is executed. The arithmetic processing unit is configured to determine whether or not power reduction is possible by reducing or deleting the size of the clock buffer in the second process, and depending on a determination result in the third process, A fourth process for adjusting the size of the clock buffer is executed.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、デザインルールを遵守しつつ、過剰なタイミングマージン削減することで半導体装置における消費電力を低減することができる。   That is, power consumption in the semiconductor device can be reduced by reducing an excessive timing margin while observing the design rule.

本発明にかかるレイアウト装置の構成例ブロック図である。1 is a block diagram illustrating a configuration example of a layout device according to the present invention. 図1に示されるレイアウト装置における演算処理装置で実行される処理の全体的な流れを示すフローチャートである。It is a flowchart which shows the whole flow of the process performed with the arithmetic processing unit in the layout apparatus shown by FIG. 図2におけるクロックツリー生成処理の詳細なフローチャートである。It is a detailed flowchart of the clock tree generation process in FIG. 図2におけるタイミングマージン削減処理の詳細なフローチャートである。3 is a detailed flowchart of timing margin reduction processing in FIG. 2. 図2におけるデータライン最適化処理の詳細なフローチャートである。It is a detailed flowchart of the data line optimization process in FIG. タイミングゲーティングセルによる負荷分散の説明図である。It is explanatory drawing of the load distribution by a timing gating cell. バッファの最大キャパシタンス制約の説明図である。It is explanatory drawing of the maximum capacitance restriction | limiting of a buffer. バッファの駆動能力とバッファの充放電電流及び貫通電流との関係説明図である。It is explanatory drawing of the relationship between the drive capability of a buffer, the charge / discharge current of a buffer, and a through current. クロックバッファのサイズ調整の説明図である。It is explanatory drawing of size adjustment of a clock buffer. クロックバッファのサイズ調整の説明図である。It is explanatory drawing of size adjustment of a clock buffer. クロックゲーティングセル最適化の説明図である。It is explanatory drawing of clock gating cell optimization. クロックゲーティングセル最適化の説明図である。It is explanatory drawing of clock gating cell optimization. データライン最適化の説明図である。It is explanatory drawing of data line optimization.

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)は、半導体装置におけるセルのレイアウトに関する情報を記憶可能な記憶装置(13)と、上記記憶装置内の情報を参照して、上記半導体装置における各部にクロック信号を分配するためのクロックツリーを生成し、生成されたクロックツリーにおける過剰なタイミングマージンを削減するための演算処理を実行可能な演算処理装置(12)とを含む。   [1] A layout device (10) according to a typical embodiment of the present invention refers to a storage device (13) capable of storing information related to cell layout in a semiconductor device, and information in the storage device. And an arithmetic processing unit (12) capable of generating a clock tree for distributing a clock signal to each part in the semiconductor device and executing arithmetic processing for reducing an excessive timing margin in the generated clock tree. .

上記演算処理装置は、クロックライン上のトランジション制約及びキャパシタンス制約に余裕があるか否かを判別する第1処理(S71)、及び上記第1処理での判別結果に応じて、上記クロックラインにおけるクロックバッファのサイズダウン又は削除を行う第2処理(S72)を実行する。また、上記演算処理装置は、上記第2処理におけるクロックバッファのサイズダウン又は削除によって電力低減が可能であるか否かを判別する第3処理(S73)、及び上記第3処理での判別結果に応じて上記クロックバッファのサイズ調整を行う第4処理(S74)を実行する。   The arithmetic processing unit performs a first process (S71) for determining whether the transition constraint and the capacitance constraint on the clock line have a margin, and a clock in the clock line according to a determination result in the first process. A second process (S72) for reducing or deleting the buffer size is executed. In addition, the arithmetic processing unit determines whether the power reduction is possible by reducing or deleting the size of the clock buffer in the second process (S73), and the determination result in the third process. Accordingly, a fourth process (S74) for adjusting the size of the clock buffer is executed.

上記の構成によれば、過剰なタイミングマージンを削減することができ、クロックバッファのサイズダウンや削除により、半導体装置における消費電力を低減することができる。また、過剰なタイミングマージンを削減は、最大トランジション、及び最大キャパシタンスのチェックが行われ、その制約値を満足する範囲内で行われることから、デザインルールが遵守されている。   According to the above configuration, an excessive timing margin can be reduced, and power consumption in the semiconductor device can be reduced by reducing or deleting the size of the clock buffer. Further, the excessive timing margin is reduced by checking the maximum transition and the maximum capacitance and within a range that satisfies the constraint value, and the design rule is observed.

〔2〕上記〔1〕において、上記演算処理部は、上記第4処理での上記クロックバッファのサイズ調整後に、クロックゲーティングセルを介して伝達されるクロック信号のタイミングに余裕があるか否かを判別する第5処理(S75)と、上記第5処理での判別結果に応じて上記クロックゲーティングセルのサイズダウン又は削減を行う第6処理(S76)とを実行するように構成することができる。このようにクロックゲーティングセルの最適化が行われることで、半導体装置における消費電力を更に低減することができる。   [2] In the above [1], the arithmetic processing unit determines whether or not there is a margin in the timing of the clock signal transmitted through the clock gating cell after the size adjustment of the clock buffer in the fourth process. And a sixth process (S76) for reducing or reducing the size of the clock gating cell according to the determination result in the fifth process. it can. Thus, by optimizing the clock gating cell, the power consumption in the semiconductor device can be further reduced.

〔3〕上記〔2〕において、上記演算処理部は、セットアップ・ホールドタイミングを満足していることを前提に、データライン上のトランジション制約及びキャパシタンス制約を満足する範囲で、上記データラインにおけるセルのサイズを最小化することでデータラインを最適化する処理(S4)を実行するように構成することができる。このようにデータラインが最適化されることにより、半導体装置における消費電力を更に低減することができる。   [3] In the above [2], on the assumption that the setup / hold timing is satisfied, the arithmetic processing unit is configured so as to satisfy the transition constraint and capacitance constraint on the data line. It can be configured to execute the process (S4) for optimizing the data line by minimizing the size. Thus, by optimizing the data line, the power consumption in the semiconductor device can be further reduced.

〔4〕上記〔3〕において、上記演算処理部は、電力削減が可能であるか否かを判別し(S407)、その判別結果に基づいてデータラインを最適化する(S404,S405)ように構成することができる。電力削減が可能であるか否かの判別が行われることにより、データラインを最適化を適切に行うことができる。   [4] In the above [3], the arithmetic processing unit determines whether or not power reduction is possible (S407), and optimizes the data line based on the determination result (S404, S405). Can be configured. By determining whether or not power reduction is possible, the data line can be optimized appropriately.

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は、自動配置配線(Plaace and Route)処理のためのプログラムを実行可能なマイクロコンピュータ、及びその周辺回路を含む。演算処理回路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. The arithmetic processing unit 12 includes a microcomputer capable of executing a program for automatic placement and routing (Plaace and Route) processing, and its peripheral circuits. The processing in the arithmetic processing circuit 12 includes construction of a clock tree for distributing the 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などの半導体装置においては、クロック信号を分配するためのクロックツリーが構築される。クロックツリーは、クロック分配のための論理構造のひとつであり、半導体装置におけるクロック論理始点からフリップフロップ回路へのクロック到達時間のばらつき(クロックスキュー)をできるだけ小さくするために、複数の遅延素子が介在されることでツリー状に構築される。   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.

図2には、演算処理装置12で実行される自動配置配線処理の全体的な流れが示される。この自動配置配線処理では、半導体装置のネットリストに従ってセルの自動配置配線が行われる。   FIG. 2 shows the overall flow of the automatic placement and routing process executed by the arithmetic processing unit 12. In this automatic placement and routing process, automatic placement and routing of cells is performed according to the net list of the semiconductor device.

先ず、演算処理装置12によって、記憶装置13内のネットリストが読み込まれ(S1)、このネットリストに基づいてフロアプランが形成される(S2)。そして、作成されたフロアプランを使用してセルの配置が行われ(S3)、その後、データラインの最適化処理が行われる(S4)。そして、タイミングエラーが有るか否かの判別が行われる(S5)。この判別において、エラーが有ると判断された場合には、再度フロアプランの作成が行われる。上記ステップS5の判別において、エラーが無いと判断された場合には、クロックツリー生成処理が行われる(S6)。そして半導体装置における消費電力の低減のため、クロックツリーにおける過剰なタイミングマージンを削減するためのタイミングマージン削減処理が行われる(S7)。上記タイミングマージン削減処理が完了された後に、クロック配線処理が行われる(S8)。そしてこのクロック配線後の実負荷の状態で、ルール違反等を生じていないことを確認するためのチェックが行われる(S9)。このチェックにおいて、クロック配線後の実負荷の状態でルール違反等を生じていないことが確認された場合には、フリップフロップ回路間のタイミング最適化が行われる(S10)。   First, the arithmetic processing unit 12 reads a net list in the storage device 13 (S1), and a floor plan is formed based on the net list (S2). Then, cell placement is performed using the created floor plan (S3), and then data line optimization processing is performed (S4). Then, it is determined whether or not there is a timing error (S5). In this determination, if it is determined that there is an error, the floor plan is created again. If it is determined in step S5 that there is no error, clock tree generation processing is performed (S6). Then, in order to reduce power consumption in the semiconductor device, timing margin reduction processing for reducing an excessive timing margin in the clock tree is performed (S7). After the timing margin reduction processing is completed, clock wiring processing is performed (S8). Then, a check is performed to confirm that no rule violation has occurred in the actual load state after the clock wiring (S9). In this check, when it is confirmed that no rule violation has occurred in the actual load state after clock wiring, timing optimization between flip-flop circuits is performed (S10).

図3には、上記ステップS6のクロックツリー生成処理の詳細な流れが示される。   FIG. 3 shows a detailed flow of the clock tree generation process in step S6.

クロックツリー生成処理においては、自動配置配線処理の対象とされる半導体装置における各種情報が参照される。この各種情報には、クロックゲーティングのタイミング情報31、クロックゲーティングのファンアウト情報32、マニュアル配置情報33、マニュアル経路微調整情報34等が含まれ、それらは、記憶装置13内に格納されている。   In the clock tree generation process, various information in the semiconductor device that is the target of the automatic placement and routing process is referred to. The various types of information include clock gating timing information 31, clock gating fan-out information 32, manual arrangement information 33, manual path fine adjustment information 34, and the like, which are stored in the storage device 13. Yes.

クロックツリー生成処理では、先ず、クロックゲーティングのタイミング情報に基づいて、クロックゲーティングのタイミングチェックが行われる(S61)。クロックゲーティングのタイミングに余裕が無い場合には、クロックゲーティングのファンアウト情報32が参照されて、ファンアウト数のチェックが行われる(S62)。ファンアウト数が大きい場合には、タイミング違反の原因となるため、タイミングゲーティングセルによる負荷分散が行われる(S63)。例えば図6の(A)に示されるように、ゲーティングセル61の出力端子から多数のフリップフロップ回路63〜67にクロック信号が供給される場合に比べて、図6の(B)に示されるように、ゲーティングセル61,62によって負荷を分けることで、ゲーティングセル61のファンアウト数を小さくして、負荷軽減を図ることができる。   In the clock tree generation process, first, a clock gating timing check is performed based on the clock gating timing information (S61). If there is no margin for clock gating timing, the fan-out information 32 of clock gating is referred to and the number of fan-outs is checked (S62). When the fan-out number is large, it causes timing violation, so load distribution by the timing gating cell is performed (S63). For example, as shown in FIG. 6A, as shown in FIG. 6B, the clock signal is supplied to the large number of flip-flop circuits 63 to 67 from the output terminal of the gating cell 61. Thus, by dividing the load by the gating cells 61 and 62, the fan-out number of the gating cell 61 can be reduced, and the load can be reduced.

次に、マニュアル配置情報33及びマニュアル経路調整情報34が参照されて、マニュアルによる個別クロック対策が行われる(S64)。この個別クロック対策には、クロック経路の分割、クロック経路の固定、セルの配置固定等が含まれる。具体例としては、外部から入力された非同期クロックの伝達経路を、外部出力経路とフリップフロップ回路への伝達経路とに分割したり、フラッシュモジュールなどのように動作が2サイクルになるような場合にクロックレイテンシの調整が行われる。尚、上記ステップS61のクロックゲーティングタイミングチェックにおいて、「余裕がある」と判断された場合や、上記ステップS62のファンアウトチェックにおいて、「ファンアウトが小さい」と判断された場合には、上記ステップS63のクロックゲーティングセルの負荷分割を行うことなく、上記ステップS64の個別クロック対策が行われる。   Next, the manual arrangement information 33 and the manual path adjustment information 34 are referred to, and an individual clock countermeasure is performed manually (S64). This individual clock countermeasure includes division of the clock path, fixation of the clock path, and fixed arrangement of the cells. As a specific example, the transmission path of an asynchronous clock input from the outside is divided into an external output path and a transmission path to a flip-flop circuit, or when the operation takes two cycles, such as a flash module. Clock latency is adjusted. If it is determined that there is “room” in the clock gating timing check in step S61, or if “fan out is small” in the fan out check in step S62, the above steps are performed. The individual clock countermeasure of step S64 is performed without performing load division of the clock gating cell of S63.

上記ステップ64の個別クロック対策の後に、クロックツリー構造構築が行われ(S65)、各クロックドメイン内のクロックスキューの調整が行われる(S66)。ここで、「クロックドメイン」とは、クロック入力により駆動される回路領域を指す。このクロックスキューの調整では、クロック伝達経路にバッファやインバータが挿入される。そして、各クロックドメイン内の周波数チェックが行われる(S67)。クロックドメインが高速系の場合には、クロックドメイン間のディレイ調整が行われた後に、クロックツリー生成処理(S6)が終了される。尚、クロックドメインが低速系の場合は、同時切り替えノイズを低減するため、上記ステップS68のクロックドメイン間のディレイ調整を行うことなく、クロックツリー生成処理(S6)が終了される。   After the individual clock countermeasure in step 64, the clock tree structure is constructed (S65), and the clock skew in each clock domain is adjusted (S66). Here, the “clock domain” refers to a circuit area driven by a clock input. In adjusting the clock skew, a buffer or an inverter is inserted in the clock transmission path. Then, a frequency check in each clock domain is performed (S67). When the clock domain is a high-speed system, the clock tree generation process (S6) is terminated after delay adjustment between the clock domains is performed. When the clock domain is a low speed system, the clock tree generation process (S6) is terminated without adjusting the delay between the clock domains in step S68 in order to reduce simultaneous switching noise.

図4には、図2におけるタイミングマージン削減処理(S7)の詳細な処理の流れが示される。   FIG. 4 shows a detailed process flow of the timing margin reduction process (S7) in FIG.

このタイミングマージン削減処理では、上記ステップS6のクロックツリー生成の結果(CTS結果)41、各クロックネットのトランジション情報42、各クロックネットのキャパシタンス情報43、電力情報45、タイミング情報31が参照される。これら各情報は、タイミングマージン削減処理(S7)が開始される時点で、既に記憶装置13に格納されているものとする。各クロックネットのトランジション情報42を参照することで各クロックネットの最大トランジション制約値を知ることができる。また、各クロックネットのキャパシタンス情報43を参照することで各クロックネットの最大キャパシタンス制約値を知ることができる。ここで、最大トランジション制約値や最大キャパシタンス制約値は、次のように求められる。   In this timing margin reduction process, the clock tree generation result (CTS result) 41 in step S6, transition information 42 of each clock net, capacitance information 43 of each clock net, power information 45, and timing information 31 are referred to. It is assumed that these pieces of information are already stored in the storage device 13 when the timing margin reduction process (S7) is started. By referring to the transition information 42 of each clock net, the maximum transition constraint value of each clock net can be known. Further, the maximum capacitance constraint value of each clock net can be known by referring to the capacitance information 43 of each clock net. Here, the maximum transition constraint value and the maximum capacitance constraint value are obtained as follows.

すなわち、ターゲット周波数が決定され、このターゲット周波数に応じた最大トランジション制約値が決定される。そして各セル毎に、最大トランジション制約値を満たす最大容量が求められる。そして、EM制約による最大キャパシタンスの上限(周波数毎に一律値)と、上記最大トランジション制約値を満たす最大容量とが比較され、厳しいほうの値が、最大キャパシタンス制約値として定義される。   That is, the target frequency is determined, and the maximum transition constraint value corresponding to the target frequency is determined. For each cell, the maximum capacity satisfying the maximum transition constraint value is obtained. Then, the upper limit of the maximum capacitance due to the EM constraint (a uniform value for each frequency) is compared with the maximum capacity satisfying the maximum transition constraint value, and the stricter value is defined as the maximum capacitance constraint value.

図7の(A)には、バッファの最大キャパシタンス制約値の例が示される。この例では、ターゲット周波数は300MHz、トランジション制約値は0.8ns、EM制約上限値は0.8pFとされる。ターゲット周波数が決定されると、それに応じた最大トランジションが決定され、セル毎にこの最大トランジションを満たす最大容量値が求められる。そしてこの最大容量値とEM制約上限値とが比較され、厳しいほうの値が最大キャパシタンス制約値とされる。図7の(A)の例では、バッファBUF1X〜BUF4Xまでは、最大トランジション制約値を満たす最大容量が、最大キャパシタンス制約値とされるが、バッファBUF8X〜BUF32Xの場合、EM制約のほうが厳しいため、EM制約上限値が最大キャパシタンス制約値とされる。これにより、図7の(B)に示されるように、最大キャパシタンス制約値はセルのドライバビリティに応じて上昇されるが、あるドライバビリティからはセルによらず、一律となる。   FIG. 7A shows an example of the maximum capacitance constraint value of the buffer. In this example, the target frequency is 300 MHz, the transition constraint value is 0.8 ns, and the EM constraint upper limit value is 0.8 pF. When the target frequency is determined, the maximum transition corresponding to the target frequency is determined, and the maximum capacity value that satisfies this maximum transition is determined for each cell. The maximum capacitance value is compared with the EM constraint upper limit value, and the stricter value is set as the maximum capacitance constraint value. In the example of FIG. 7A, the maximum capacity satisfying the maximum transition constraint value is set as the maximum capacitance constraint value up to the buffers BUF1X to BUF4X. However, in the case of the buffers BUF8X to BUF32X, the EM constraint is more severe. The EM constraint upper limit value is set as the maximum capacitance constraint value. As a result, as shown in FIG. 7B, the maximum capacitance constraint value is increased according to the drivability of the cell, but from a certain drivability, it is uniform regardless of the cell.

そこで、タイミングマージン削減処理(S7)において、先ず、CTS結果41、各クロックネットのトランジション情報42、各クロックネットのキャパシタンス情報43が参照されて、最大トランジション、及び最大キャパシタンスのチェックが行われる(S71)。このチェックにおいて、最大トランジション及び最大キャパシタンスに余裕があると判断された場合には、制約値を満足する範囲内で、クロックバッファのサイズダウン又はクロックバッファの削除が行われる(S72)。つまり、制約値を満足する範囲内でクロックバッファのサイズが最小化され、必要に応じてバッファの削減が行われる。   Therefore, in the timing margin reduction process (S7), first, the CTS result 41, the transition information 42 of each clock net, and the capacitance information 43 of each clock net are referred to, and the maximum transition and the maximum capacitance are checked (S71). ). If it is determined in this check that there is a margin in the maximum transition and the maximum capacitance, the size of the clock buffer is reduced or the clock buffer is deleted within a range that satisfies the constraint value (S72). That is, the size of the clock buffer is minimized within a range that satisfies the constraint value, and the buffer is reduced as necessary.

ここで、クロックバッファのサイズダウンは、並列接続されているMOSトランジスタの数を低減したり、MOSトランジスタのゲート幅とゲート長との比を低下させることによって可能となる。   Here, the size of the clock buffer can be reduced by reducing the number of MOS transistors connected in parallel or by reducing the ratio between the gate width and the gate length of the MOS transistors.

上記ステップS72のクロックバッファのサイズダウンや削除によりセル電力は削減されるが、ネット容量の増加により、充放電電流が増えることが考えられる。そこで、CTS結果41と電力情報45とが参照されて、電力チェックが行われる(S73)。この電力チェックにおいては、バッファの充放電電流と貫通電流との合計値が求められ、その合計値による電力(トータル電力)が最小になるような組み合わせが選択される。これは、例えば図8の(A)に示されるように、バッファB1の出力クロックがバッファB2,B3,B4に分配される場合に、図8の(B)に示されるように、バッファB1のドライバビリティ(駆動能力)によって、バッファB1の充放電電流や、バッファB2〜B4の貫通電流が異なることを考慮したものである。例えばバッファB1のドライバビリティが大きい場合、クロックバッファB1の放電電流は多いが、バッファB2〜B4の貫通電流は比較的少ない。しかし、バッファB1のドライバビリティを小さくすると、バッファB1の充放電電流は少なくなるが、バッファB2〜B4の貫通電流が大きくなてしまう。従って、上記ステップS73の電力チェックにおいては、バッファの充放電電流と貫通電流との合計値を考慮する必要がある。   Although the cell power is reduced by reducing or deleting the size of the clock buffer in step S72, it is conceivable that the charge / discharge current increases due to an increase in net capacity. Therefore, the power check is performed with reference to the CTS result 41 and the power information 45 (S73). In this power check, the total value of the charge / discharge current and the through current of the buffer is obtained, and a combination that minimizes the power (total power) based on the total value is selected. For example, as shown in FIG. 8A, when the output clock of the buffer B1 is distributed to the buffers B2, B3, and B4, as shown in FIG. This is because the charge / discharge current of the buffer B1 and the through current of the buffers B2 to B4 differ depending on the drivability (driving ability). For example, when the drivability of the buffer B1 is large, the discharge current of the clock buffer B1 is large, but the through current of the buffers B2 to B4 is relatively small. However, if the drivability of the buffer B1 is reduced, the charge / discharge current of the buffer B1 is reduced, but the through current of the buffers B2 to B4 is increased. Therefore, in the power check in step S73, it is necessary to consider the total value of the charge / discharge current and the through current of the buffer.

ここで、バッファB1のトータル電力値Ptotal(B1)は、次式によって示される。Pcell(B1)は、バッファB1で消費される電力、「f」は周波数、「CN1」はノードN1のキャパシタンス、「V」は電圧である。 Here, the total power value Ptotal (B1) of the buffer B1 is expressed by the following equation. Pcell (B1) is the power consumed in the buffer B1, “f” is the frequency, “C N1 ” is the capacitance of the node N1, and “V” is the voltage.

Figure 0005883633
Figure 0005883633

尚、上記ステップS71の判別において、「最大トランジション及び最大キャパシタンスに余裕が無い」と判断された場合においては、クロックバッファのサイズダウン等を行うことなく、上記ステップS73の電力チェックが行われる。   If it is determined in step S71 that “there is no margin for maximum transition and maximum capacitance”, the power check in step S73 is performed without reducing the size of the clock buffer.

上記ステップS73の電力チェックにおいて、「電力低減が可能である」と判断された場合には、その判断結果に従ってクロックバッファのサイズ調整が行われる(S74)。   If it is determined in the power check in step S73 that “power reduction is possible”, the size of the clock buffer is adjusted according to the determination result (S74).

図9及び図10には、クロックバッファのサイズ調整の様子が示される。   9 and 10 show how the size of the clock buffer is adjusted.

図9の(A)に示されるよう、バッファB1のドライバビリティを「×16」とすると、最大トランジション及び最大キャパシタンスを満足する状態で、バッファB1のドライバビリティ(×16)が、図9の(B)に示されるように、「×12」にサイズダウンされる(S72)。そして、上記ステップS73の電力チェックにおいて、「電力低減が可能である」と判断された場合には、バッファB1のドライバビリティ(×12)が、図9の(C)に示されるように、「×8」に調整される(S74)。また、図10の(A)に示されるように、バッファB1のドライバビリティを「×16」とし、バッファ3のドライバビリティを「×8」とすると、最大トランジション及び最大キャパシタンスを満足する状態で、バッファB1のドライバビリティ(×16)、バッファB3のドライバビリティ(×8)が、それぞれ図10の(B)に示されるように、「×12」、「×4」にサイズダウンされる(S72)。また、図10の(A)のバッファB5は、最大トランジション及び最大キャパシタンスを満足する状態で削除されている。尚、上記ステップS74のクロックバッファのサイズ調整においては、上記ステップS73の電力チェック結果に基づいてクロックバッファのサイズアップを行う場合もあり得る。   As shown in FIG. 9A, when the drivability of the buffer B1 is “× 16”, the drivability (× 16) of the buffer B1 satisfies the maximum transition and the maximum capacitance, as shown in FIG. As shown in B), the size is reduced to “× 12” (S72). If it is determined in the power check in step S73 that “the power can be reduced”, the drivability (× 12) of the buffer B1 is indicated by “C” in FIG. X8 "is adjusted (S74). Further, as shown in FIG. 10A, when the drivability of the buffer B1 is “× 16” and the drivability of the buffer 3 is “× 8”, the maximum transition and the maximum capacitance are satisfied. The drivability (× 16) of the buffer B1 and the drivability (× 8) of the buffer B3 are respectively reduced in size to “× 12” and “× 4” as shown in FIG. 10B (S72). ). Further, the buffer B5 in FIG. 10A is deleted in a state satisfying the maximum transition and the maximum capacitance. In the clock buffer size adjustment in step S74, the size of the clock buffer may be increased based on the result of the power check in step S73.

上記ステップS74のクロックバッファのサイズ調整後にクロックゲーティングセルの最適化のためのタイミングチェックが行われる(S75)。尚、上記ステップS73の電力チェックにおいて、「電力削減は不可である」と判断された場合には、クロックバッファのサイズ調整を行うことなく、上記ステップS75のタイミングチェックが行われる。上記ステップS75のタイミングチェックにおいて、「タイミング余裕がある」と判断された場合には、クロックゲーティングセルの最適化が行われる(S76)。この最適化処理では、クロックゲーティングセルのサイズダウンが行われる。また、タイミングに余裕があって論理的に等価なクロックゲーティングセルが統合されることによって、クロックゲーティングセルの削減が行われる。   After adjusting the size of the clock buffer in step S74, a timing check for clock gating cell optimization is performed (S75). In the power check in step S73, if it is determined that “power reduction is not possible”, the timing check in step S75 is performed without adjusting the size of the clock buffer. If it is determined in the timing check in step S75 that there is “timing margin”, the clock gating cell is optimized (S76). In this optimization process, the size of the clock gating cell is reduced. In addition, the clock gating cells are reduced by integrating the logically equivalent clock gating cells with sufficient timing.

図11及び図12には、クロックゲーティングセル最適化の様子が示される。   11 and 12 show the state of clock gating cell optimization.

図11の(A)に示されるように、フリップフロップ回路FFから出力されたイネーブル信号ENが、インバータ110及び論理回路111を介してクロックゲーティングセルG1,G2に伝達される場合を考える。ステップS75の判別において、「タイミング余裕がある」と判断された場合にはクロックゲーティングセルのサイズダウンが行われる。例えば図11の(B)に示されるように、クロックゲーティングセルG1が「×16」から「×8」にサイズダウンされる。尚、クロックゲーティングセルのサイズダウンにより、ゲーティングセットアップ時間が増えるため、フリップフロップ回路FFからクロックゲーティングセルG1までの遅延時間が増加することが考えられる。そのため、上記ステップS75のクロックゲーティングセル最適化においては、サイズダウンした場合にセットアップ違反が無いか否かの判別が行われ、セットアップ違反が無いことが確認されてから「タイミング余裕あり」と判断される。また、図12の(A)に示されるようにクロックゲーティングセルG1,G2は、論理的には互いに等価なクロックゲーティングセルであるため、上記ステップ75の判別において、「タイミング余裕がある」と判断された場合には、図12の(B)に示されるように、クロックゲーティングセルG1,G2が1個に統合される。つまり、クロックゲーティングセルG2が削除され、1個のクロックゲーティングセルG1を介してクロック信号の分配が行われる。   As shown in FIG. 11A, consider a case where the enable signal EN output from the flip-flop circuit FF is transmitted to the clock gating cells G1 and G2 via the inverter 110 and the logic circuit 111. If it is determined in step S75 that “timing margin is available”, the size of the clock gating cell is reduced. For example, as shown in FIG. 11B, the size of the clock gating cell G1 is reduced from “× 16” to “× 8”. Note that it is conceivable that the delay time from the flip-flop circuit FF to the clock gating cell G1 increases because the gating setup time increases due to the size reduction of the clock gating cell. For this reason, in the clock gating cell optimization in step S75, it is determined whether or not there is a setup violation when the size is reduced, and it is determined that there is no setup violation and it is determined that there is “timing margin”. Is done. Further, as shown in FIG. 12A, the clock gating cells G1 and G2 are logically equivalent clock gating cells, and therefore, in the determination of step 75, there is “timing margin”. If it is determined, as shown in FIG. 12B, the clock gating cells G1 and G2 are integrated into one. That is, the clock gating cell G2 is deleted, and the clock signal is distributed through one clock gating cell G1.

尚、クロックゲーティングセルのサイズダウンやクロックゲーティングセルの統合によって充放電電流が増える場合を避けるため、上記ステップS73で行われたような電力がチェックを上記ステップ75において実行するようにしても良い。   In order to avoid the case where the charge / discharge current increases due to the downsizing of the clock gating cell or the integration of the clock gating cells, the power as in step S73 may be checked in step 75. good.

図5には、図2におけるステップS4のデータライン最適化処理の詳細な流れが示される。   FIG. 5 shows a detailed flow of the data line optimization process in step S4 in FIG.

データライン最適化処理では、多ファンアウトネットの対策が行われる(S401)。この多ファンアウトネットの対策では、配線と配線の間隔や、配線の幅など物理的なエラーが発見される。そして、データラインにおけるフリップフロップ回路のセットアップ・ホールドタイミングの改善処理が行われる(S402)。そして、タイミング余裕のあるパスが存在するか否かの判別が行われる(S403)。この判別において、「タイミング余裕のあるパスが存在する」と判断された場合には、バッファのサイズダウンが可能か否かの判別が行われる(S404)。この判別において、「バッファのサイズダウンが可能である」と判断された場合には、バッファのサイズダウンや、バッファの削除が行われ(S405)。例えば図13の(A)に示されるように、バッファB1のサイズが「×16」の場合に、図13の(B)に示されるように、バッファB1のサイズが「×12」にサイズダウンされ、さらに、図13の(C)に示されるように、バッファB1のサイズが「×8」にサイズダウンされる。上記ステップS405において、バッファのサイズダウンや、バッファの削除が行われた後、電力の見積もりが行われ(S406)、バッファのサイズダウン等によりトータル電力が改善されるか否かの判別が行われる(S407)。この判別は、クロックツリーにおけるタイミングマージン削減処理(図4参照)におけるステップS73の電力チェックの場合と同様に行うことができる。上記ステップS407の判別において、「トータル電力が改善される(YES)」と判断された場合には、DRC(Design Rule Check)制約に余裕があるか否かの判別が行われる(S408)。ここで、DRC制約には、最大トランジションや最大キャパシタンスが含まれる。上記ステップS408の判別において、「DRC制約に余裕がある(YES)」と判断された場合には、上記ステップS404の判別に戻り、再びバッファのサイズダウンが行われる。また、上記ステップS404の判別において「バッファのダウンサイズが可能ではない(NO)」と判断された場合、及び上記ステップS407の判別において「トータル電力が改善されない(NO)」と判断された場合、並びに上記ステップS408の判別において「DRC制約に余裕が無い(NO)」と判断された場合には、全てのインスタンス(「セル」を意味する)についての探索が終了したか否かの判別が行われる(S409)。この判別において、未だ全てのセルについての探索が終了していない(NO)と判断された場合には、次のセルが選択され(S411)、そのセルについて、バッファのサイズダウンが可能か否かの判別(S404)や、バッファのサイズダウンやバッファ削除(S405)が行われる。このようにして、全てのセルについて、バッファのサイズダウンが可能か否かの判別(S404)や、バッファのサイズダウンやバッファ削除(S405)が行われた場合、上記ステップS409の判別において、「全てのセルについての探索が終了した(YES)」と判断され、次のタイミングパスが選択され、そのタイミングパスが、タイミング余裕のあるパスであるか否かの判別が行われる(S403)。また、上記ステップS403の判別において、「タイミング余裕のあるパスではない(NO)」と判断された場合には、全てのパスにつての探索が終了したか否かの判別が行われる(S410)。この判別において、「全てのパスにつての探索が終了していない(NO)」と判断された場合には、次のタイミングパスが選択され、そのタイミングパスが、タイミング余裕のあるパスであるか否かの判別が行われる(S403)。また、上記ステップS410の判別において、「全てのパスにつての探索が終了した(YES)」と判断された場合には、ステップS4のデータライン最適化処理が終了され、図2におけるステップS2の判別が行われる。   In the data line optimization process, countermeasures for multiple fan-out nets are taken (S401). With this multi-fan out net measure, physical errors such as the interval between wires and the width of the wires are found. Then, a process for improving the setup / hold timing of the flip-flop circuit in the data line is performed (S402). Then, it is determined whether there is a path having a timing margin (S403). In this determination, if it is determined that “there is a path with timing margin”, it is determined whether or not the buffer size can be reduced (S404). If it is determined in this determination that “the buffer size can be reduced”, the buffer size is reduced or the buffer is deleted (S405). For example, as shown in FIG. 13A, when the size of the buffer B1 is “× 16”, the size of the buffer B1 is reduced to “× 12” as shown in FIG. Further, as shown in FIG. 13C, the size of the buffer B1 is reduced to “× 8”. In step S405, after the buffer size is reduced or the buffer is deleted, the power is estimated (S406), and it is determined whether or not the total power is improved due to the buffer size reduction or the like. (S407). This determination can be performed in the same manner as the power check in step S73 in the timing margin reduction process (see FIG. 4) in the clock tree. If it is determined in step S407 that “total power is improved (YES)”, it is determined whether there is a margin in the DRC (Design Rule Check) constraint (S408). Here, the DRC constraint includes a maximum transition and a maximum capacitance. If it is determined in step S408 that “the DRC constraint has a margin (YES)”, the process returns to the determination in step S404, and the buffer size is reduced again. Further, when it is determined that the buffer cannot be downsized (NO) in the determination in step S404, and when it is determined that the total power is not improved (NO) in the determination in step S407, If it is determined in the determination in step S408 that “the DRC constraint has no margin (NO)”, it is determined whether or not the search for all instances (meaning “cell”) has been completed. (S409). In this determination, if it is determined that the search for all the cells has not been completed (NO), the next cell is selected (S411), and whether or not the buffer size can be reduced for that cell. (S404), buffer size reduction, and buffer deletion (S405). In this manner, when it is determined whether or not the buffer size can be reduced (S404) or the buffer size is reduced or the buffer is deleted (S405) for all the cells, It is determined that the search for all cells has been completed (YES) ", the next timing path is selected, and it is determined whether or not the timing path is a path with a timing margin (S403). If it is determined in step S403 that the path is not a path with timing margin (NO), it is determined whether or not the search for all the paths has been completed (S410). . In this determination, if it is determined that “search for all paths has not been completed (NO)”, the next timing path is selected, and is the timing path having a timing margin? It is determined whether or not (S403). If it is determined in step S410 that "search for all paths has been completed (YES)", the data line optimization process in step S4 is terminated, and step S2 in FIG. A determination is made.

実施の形態1によれば、以下の作用効果を奏する。   According to the first embodiment, the following operational effects are obtained.

(1)タイミングマージン削減処理(S7)において、最大トランジション、及び最大キャパシタンスのチェックが行われる(S71)。このチェックにおいて、最大トランジション及び最大キャパシタンスに余裕があると判断された場合には、制約値を満足する範囲内で、クロックバッファのサイズダウン又はクロックバッファの削除が行われる(S72)。上記ステップS72のクロックバッファのサイズダウンや削除によりセル電力は削減されるが、ネット容量の増加により、充放電電流が増えることが考えられるため、CTS結果41と電力情報45とが参照されて、電力チェックが行われる(S73)。上記ステップS73の電力チェックにおいて、「電力低減が可能である」と判断された場合には、その判断結果に従ってクロックバッファのサイズ調整が行われる(S74)。このような処理が行われることで、過剰なタイミングマージンを削減することができ、クロックバッファのサイズダウンや削除により、半導体装置における消費電力を低減することができる。また、過剰なタイミングマージンを削減は、最大トランジション、及び最大キャパシタンスのチェックが行われ、その制約値を満足する範囲内で行われる。つまり、デザインルールが遵守されている。   (1) In the timing margin reduction process (S7), the maximum transition and the maximum capacitance are checked (S71). If it is determined in this check that there is a margin in the maximum transition and the maximum capacitance, the size of the clock buffer is reduced or the clock buffer is deleted within a range that satisfies the constraint value (S72). Although the cell power is reduced by reducing or deleting the size of the clock buffer in step S72, it is considered that the charge / discharge current increases due to the increase in the net capacity. A power check is performed (S73). If it is determined in the power check in step S73 that “power reduction is possible”, the size of the clock buffer is adjusted according to the determination result (S74). By performing such processing, an excessive timing margin can be reduced, and power consumption in the semiconductor device can be reduced by reducing or deleting the size of the clock buffer. Further, the excessive timing margin is reduced by checking the maximum transition and the maximum capacitance and within a range satisfying the constraint value. In other words, the design rules are observed.

(2)電力チェックが行われる(S73)。上記ステップS73の電力チェックにおいて、「電力低減が可能である」と判断された場合には、その判断結果に従ってクロックバッファのサイズ調整が行われる(S74)ため、上記ステップS72のクロックバッファのサイズダウンや削除によりセル電力は削減されるが、ネット容量の増加により充放電電流が増えてしまうようなケースを回避できる。   (2) A power check is performed (S73). In the power check in step S73, if it is determined that “power reduction is possible”, the size of the clock buffer is adjusted in accordance with the determination result (S74), so the size of the clock buffer in step S72 is reduced. Cell power can be reduced by deleting or deleting, but it is possible to avoid a case where the charge / discharge current increases due to an increase in net capacity.

(3)上記ステップS74のクロックバッファのサイズ調整後にクロックゲーティングセルの最適化のためのタイミングチェックが行われ(S75)、「タイミング余裕がある」と判断された場合には、クロックゲーティングセルの最適化が行われる(S76)。この最適化処理では、クロックゲーティングセルのサイズダウンが行われる。また、タイミングに余裕があって論理的に等価なクロックゲーティングセルが統合されることによって、クロックゲーティングセルの削減が行われる。このようにクロックゲーティングセルの最適化が行われることで、半導体装置における消費電力を更に低減することができる。   (3) After adjusting the size of the clock buffer in step S74, a timing check for optimizing the clock gating cell is performed (S75), and if it is determined that there is “timing margin”, the clock gating cell Is optimized (S76). In this optimization process, the size of the clock gating cell is reduced. In addition, the clock gating cells are reduced by integrating the logically equivalent clock gating cells with sufficient timing. Thus, by optimizing the clock gating cell, the power consumption in the semiconductor device can be further reduced.

(4)データラインの最適化処理(S4)においては、タイミング余裕のあるパスが存在するか否かの判別が行われる(S403)。この判別において、「タイミング余裕のあるパスが存在する」と判断された場合には、バッファのサイズダウンが可能か否かの判別が行われる(S404)。この判別において、「バッファのサイズダウンが可能である」と判断された場合には、バッファのサイズダウンや、バッファの削除が行われ(S405)。これにより、半導体装置における消費電力を更に低減することができる。   (4) In the data line optimization process (S4), it is determined whether or not there is a path having a timing margin (S403). In this determination, if it is determined that “there is a path with timing margin”, it is determined whether or not the buffer size can be reduced (S404). If it is determined in this determination that “the buffer size can be reduced”, the buffer size is reduced or the buffer is deleted (S405). Thereby, the power consumption in the semiconductor device can be further reduced.

以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   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.

例えば、図4において、クロックゲーティングセルのタイミングチェック(S75)やクロックゲーティングセルの最適化処理(S76)を、最大トランジション及び最大キャパシタンスのチェック(S71)の前に実行するようにしても良い。   For example, in FIG. 4, the clock gating cell timing check (S75) and the clock gating cell optimization process (S76) may be executed before the maximum transition and maximum capacitance check (S71). .

10 レイアウト装置
11 表示装置
12 演算処理装置
13 記憶装置
14 入力装置
DESCRIPTION OF SYMBOLS 10 Layout apparatus 11 Display apparatus 12 Arithmetic processing apparatus 13 Storage apparatus 14 Input apparatus

Claims (8)

半導体装置におけるセルのレイアウトに関する情報を記憶可能な記憶装置と、
上記記憶装置内の情報を参照して、上記半導体装置における各部にクロック信号を分配するためのクロックツリーを生成し、生成されたクロックツリーにおける過剰なタイミングマージンを削減するための演算処理を実行可能な演算処理装置と、を含み、
上記演算処理装置は、クロックライン上のトランジション制約及びキャパシタンス制約に余裕があるか否かを判別する第1処理と、
上記第1処理での判別結果に応じて、上記クロックラインにおけるクロックバッファのサイズダウン又は削除を行う第2処理と、
上記第2処理後のクロックバッファの充放電電流と貫通電流との合計値を考慮して、電力低減が可能であるか否かを判別する第3処理と、
上記第3処理での判別結果に応じて上記クロックバッファのサイズ調整を行う第4処理と、を実行するレイアウト装置。
A storage device capable of storing information on the layout of cells in the semiconductor device;
Referring to the information in the storage device, a clock tree for distributing the clock signal to each part in the semiconductor device can be generated, and arithmetic processing for reducing an excessive timing margin in the generated clock tree can be executed. An arithmetic processing unit, and
The arithmetic processing device includes: a first process for determining whether or not there is a margin in the transition constraint and the capacitance constraint on the clock line;
A second process for reducing or deleting the size of the clock buffer in the clock line according to the determination result in the first process;
A third process for determining whether or not power reduction is possible in consideration of the total value of the charge / discharge current and the through current of the clock buffer after the second process;
A layout device that performs a fourth process for adjusting a size of the clock buffer according to a determination result in the third process;
上記演算処理装置は、上記第4処理での上記クロックバッファのサイズ調整後に、クロックゲーティングセルを介して伝達されるクロック信号のタイミングに余裕があるか否かを判別する第5処理と、
上記第5処理での判別結果に応じて上記クロックゲーティングセルのサイズダウン又は削減を行う第6処理と、を実行する請求項1記載のレイアウト装置。
The arithmetic processing unit , after adjusting the size of the clock buffer in the fourth process, to determine whether there is a margin in the timing of the clock signal transmitted through the clock gating cell;
The layout apparatus according to claim 1, wherein a sixth process is performed to reduce or reduce the size of the clock gating cell in accordance with a determination result in the fifth process.
上記演算処理装置は、セットアップ・ホールドタイミングを満足していることを前提に、データライン上のトランジション制約及びキャパシタンス制約を満足する範囲で、上記データラインにおけるセルのサイズを最小化することでデータラインを最適化する処理を実行する請求項2記載のレイアウト装置。 The arithmetic processing unit assumes that the setup / hold timing is satisfied, and minimizes the cell size in the data line within a range that satisfies the transition constraint and capacitance constraint on the data line. The layout apparatus according to claim 2, wherein a process for optimizing the process is executed. 上記演算処理装置は、電力削減が可能であるか否かを判別し、その判別結果に基づいてデータラインを最適化する請求項3記載のレイアウト装置。 4. The layout apparatus according to claim 3, wherein the arithmetic processing unit determines whether or not power reduction is possible and optimizes the data line based on the determination result. 演算処理を実行可能な演算処理装置を用いて、半導体装置における各部にクロック信号を分配するためのクロックツリーを生成可能なレイアウト方法であって、
クロックライン上のトランジション制約及びキャパシタンス制約に余裕があるか否かを判別する第1処理と、
上記第1処理での判別結果に応じて、上記クロックラインにおけるクロックバッファのサイズダウン又は削除を行う第2処理と、
上記第2処理後のクロックバッファの充放電電流と貫通電流との合計値を考慮して、電力低減が可能であるか否かを判別する第3処理と、
上記第3処理での判別結果に応じて上記クロックバッファのサイズ調整を行う第4処理と、を上記演算処理装置に実行させるレイアウト方法。
A layout method capable of generating a clock tree for distributing a clock signal to each part in a semiconductor device using an arithmetic processing device capable of executing arithmetic processing,
A first process for determining whether or not there is a margin in transition constraints and capacitance constraints on the clock line;
A second process for reducing or deleting the size of the clock buffer in the clock line according to the determination result in the first process;
A third process for determining whether or not power reduction is possible in consideration of the total value of the charge / discharge current and the through current of the clock buffer after the second process;
A layout method for causing the arithmetic processing unit to execute a fourth process for adjusting a size of the clock buffer according to a determination result in the third process.
上記第4処理での上記クロックバッファのサイズ調整後に、クロックゲーティングセルを介して伝達されるクロック信号のタイミングに余裕があるか否かを判別する第5処理と、
上記第5処理での判別結果に応じて上記クロックゲーティングセルのサイズダウン又は削減を行う第6処理と、を上記演算処理装置に実行させる請求項5記載のレイアウト方法。
A fifth process for determining whether or not there is a margin in the timing of the clock signal transmitted through the clock gating cell after the size adjustment of the clock buffer in the fourth process;
The layout method according to claim 5, wherein the arithmetic processing unit is configured to execute a sixth process for reducing or reducing the size of the clock gating cell according to a determination result in the fifth process.
セットアップ・ホールドタイミングを満足していることを前提に、データライン上のトランジション制約及びキャパシタンス制約を満足する範囲で、上記データラインにおけるセルのサイズを最小化することでデータラインを最適化する処理を上記演算処理装置に実行させる請求項6記載のレイアウト方法。 Assuming that the setup and hold timing is satisfied, the process to optimize the data line by minimizing the cell size in the data line within the range that satisfies the transition constraint and capacitance constraint on the data line. The layout method according to claim 6, which is executed by the arithmetic processing unit . 電力削減が可能な否かを判別し、その判別結果に基づいてデータを最適化する処理を上記演算処理装置に実行させる請求項7記載のレイアウト方法。 The layout method according to claim 7, wherein it is determined whether or not power reduction is possible, and the arithmetic processing unit is caused to perform processing for optimizing data based on the determination result.
JP2011271229A 2011-12-12 2011-12-12 Layout apparatus and layout method Expired - Fee Related JP5883633B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011271229A JP5883633B2 (en) 2011-12-12 2011-12-12 Layout apparatus and layout method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011271229A JP5883633B2 (en) 2011-12-12 2011-12-12 Layout apparatus and layout method

Publications (2)

Publication Number Publication Date
JP2013122705A JP2013122705A (en) 2013-06-20
JP5883633B2 true JP5883633B2 (en) 2016-03-15

Family

ID=48774626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011271229A Expired - Fee Related JP5883633B2 (en) 2011-12-12 2011-12-12 Layout apparatus and layout method

Country Status (1)

Country Link
JP (1) JP5883633B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05267453A (en) * 1992-03-18 1993-10-15 Nec Ic Microcomput Syst Ltd Method of reducing power consumption
JP3052951B1 (en) * 1999-02-16 2000-06-19 日本電気株式会社 Clock tree synthesis placement and routing apparatus and method
JP2009016487A (en) * 2007-07-03 2009-01-22 Toshiba Corp Circuit design method, and circuit design support device

Also Published As

Publication number Publication date
JP2013122705A (en) 2013-06-20

Similar Documents

Publication Publication Date Title
US10418354B2 (en) Integrated circuit and computer-implemented method of manufacturing the same
US8631378B2 (en) Implementing enhanced clock tree distributions to decouple across N-level hierarchical entities
JP5401376B2 (en) Method for designing semiconductor integrated circuit device
Lee et al. Contango: Integrated optimization of SoC clock networks
JP2010020372A (en) Delay library, delay library creation method, and delay calculation method
US20080216043A1 (en) Structure for Optimizing 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
TW201905742A (en) System, method and computer product for enhancing implementation of decoupling capacitor
US11003821B1 (en) Deterministic loop breaking in multi-mode multi-corner static timing analysis of integrated circuits
JP2010257164A (en) Design method of semiconductor integrated circuit device, and program
US10073944B2 (en) Clock tree synthesis based on computing critical clock latency probabilities
US8074196B2 (en) Integrated circuit design support apparatus, integrated circuit design support method, integrated circuit design support program, and recording medium with said program recorded therein
US9298875B2 (en) Semiconductor circuit design method, memory compiler and computer program product
JP2007004563A (en) Library creating device, library creation program and library creating method
US7260804B1 (en) Method for circuit block routing based on switching activity
JP2010087244A (en) Semiconductor integrated circuit, layout method for semiconductor integrated circuit, and layout program for semiconductor integrated circuit
US7418675B2 (en) System and method for reducing the power consumption of clock systems
KR20170094744A (en) Integrated circuit and computer-implemented method for manufacturing the same
JP5883633B2 (en) Layout apparatus and layout method
US20130152034A1 (en) System and method for reducing integrated circuit timing derating
US20120221994A1 (en) Wire Routing Using Virtual Landing Pads
US8938702B1 (en) Timing driven routing for noise reduction in integrated circuit design
Madhavan et al. Physical Design and Implementation of Lakshya-Sub-system of Built in Self Test System
JP3804901B2 (en) Arrangement apparatus and method for arranging circuit elements
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: 20150820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150917

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: 20160128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160208

R150 Certificate of patent or registration of utility model

Ref document number: 5883633

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees