JP5167740B2 - Design support program, design support apparatus, and design support method - Google Patents

Design support program, design support apparatus, and design support method Download PDF

Info

Publication number
JP5167740B2
JP5167740B2 JP2007244313A JP2007244313A JP5167740B2 JP 5167740 B2 JP5167740 B2 JP 5167740B2 JP 2007244313 A JP2007244313 A JP 2007244313A JP 2007244313 A JP2007244313 A JP 2007244313A JP 5167740 B2 JP5167740 B2 JP 5167740B2
Authority
JP
Japan
Prior art keywords
wiring
clock
design support
circuit
net
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
JP2007244313A
Other languages
Japanese (ja)
Other versions
JP2009076679A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2007244313A priority Critical patent/JP5167740B2/en
Publication of JP2009076679A publication Critical patent/JP2009076679A/en
Application granted granted Critical
Publication of JP5167740B2 publication Critical patent/JP5167740B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、半導体プロセスのばらつきを考慮したLSI設計を支援する設計支援プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、設計支援装置、および設計支援方法に関する。   The present invention relates to a design support program that supports LSI design in consideration of semiconductor process variations, a computer-readable recording medium that records the program, a design support apparatus, and a design support method.

近年、LSIの微細化、高集積化にともない、プロセスのばらつき、電源電圧の低下、クロストークなどの影響が大きくなってきており、回路遅延の変動が増大している。特に、テクノロジの微細化にともない回路全体の遅延に占める配線遅延の割合が増大しており、配線プロセスのばらつきを考慮したタイミング検証が重要となってきている。   In recent years, with the miniaturization and high integration of LSI, the influence of process variation, power supply voltage drop, crosstalk, etc. has increased, and the fluctuation of circuit delay has increased. In particular, with the miniaturization of technology, the proportion of wiring delay occupying the delay of the entire circuit is increasing, and timing verification considering the variation in the wiring process has become important.

従来より、プロセスのばらつきを考慮したタイミング検証を実現する手法が開示されている(たとえば、下記特許文献1〜4参照。)。具体的には、たとえば、配線長と配線間隔との2要素に依存する係数として、ワースト条件、ベスト条件それぞれの配線容量係数および配線抵抗係数を算出して遅延時間を計算することにより、プロセス変動要因の変動量を考慮したタイミング検証をおこなう手法が開示されている。   Conventionally, methods for realizing timing verification in consideration of process variations have been disclosed (for example, see Patent Documents 1 to 4 below). Specifically, for example, by calculating the delay time by calculating the wiring capacity coefficient and the wiring resistance coefficient for each of the worst condition and the best condition as a coefficient depending on two elements of the wiring length and the wiring interval, the process variation is calculated. A method of performing timing verification in consideration of the variation amount of the factor is disclosed.

特開平10−207937号公報Japanese Patent Laid-Open No. 10-207937 特開2006−338253号公報JP 2006-338253 A 特開2004−362202号公報JP 2004-362202 A 特開平7−182380号公報JP 7-182380 A

しかしながら、上述した従来技術では、微細化にともなう配線抵抗の増大を考慮したタイミング検証がおこなわれていなかった。このため、65nm以降のプロセスでの配線抵抗のばらつき影響が顕著となってしまい、時定数が最大となるRCworstコーナーでのセットアップエラーと競合するホールドエラーが多発している。この結果、レイアウト後の配置最適化、配線経路最適化など回路設計の手戻り作業が多発してしまい、検証期間の長期化、ひいては設計期間の長期化を招くという問題があった。   However, in the above-described conventional technique, timing verification considering an increase in wiring resistance due to miniaturization has not been performed. For this reason, the influence of the dispersion of the wiring resistance in the process after 65 nm becomes remarkable, and a hold error that conflicts with the setup error at the RC worst corner where the time constant is maximum occurs frequently. As a result, circuit design rework work such as layout optimization after layout and wiring route optimization frequently occurs, leading to a problem that the verification period is prolonged and the design period is prolonged.

このプログラム、該プログラムを記録した記録媒体、装置、および方法は、セットアップエラーと競合するホールドエラーの発生原因となる配線の配線幅を太幅にして配線抵抗のばらつき影響を低減させることにより、効率的かつ高精度なタイミング検証を実現し、設計者の負担軽減および設計期間の短縮化を図ることを目的とする。   This program, a recording medium, an apparatus, and a method for recording the program are efficient by reducing a wiring resistance variation effect by increasing a wiring width that causes a hold error that conflicts with a setup error. The purpose is to realize accurate and highly accurate timing verification, reduce the burden on the designer, and shorten the design period.

上述した課題を解決し、目的を達成するため、プログラム、該プログラムを記録した記録媒体、装置、および方法は、設計対象回路の時定数が最大となるコーナー条件を用いて解析されたタイミング解析結果を取得し、そのタイミング解析結果に基づいて、前記設計対象回路に関するクロックツリーのうち、ホールドエラーが発生しているクロックネットを検出し、そのクロックネット内の配線の配線幅を、当該配線とは異なる他の配線の配線幅よりも太い配線幅に変更することを要件とする。   In order to solve the above-described problems and achieve the object, a program, a recording medium, an apparatus, and a method recording the program are analyzed using a corner condition that maximizes a time constant of a circuit to be designed. Based on the timing analysis result, a clock net in which a hold error has occurred is detected from the clock tree related to the circuit to be designed, and the wiring width of the wiring in the clock net is determined as the wiring. The requirement is to change the wiring width to be wider than the wiring width of other different wiring.

これによれば、ホールドエラーの発生原因となるクロックネット内の配線の配線幅を太幅にして配線遅延の絶対値を低下させることにより、配線抵抗のばらつき影響を低減させることができる。   According to this, the influence of variations in the wiring resistance can be reduced by reducing the absolute value of the wiring delay by increasing the wiring width of the wiring in the clock net that causes the hold error.

また、上記プログラム、該プログラムを記録した記録媒体、装置、および方法において、前記クロックツリーのうちセットアップエラーと競合するホールドエラーが発生しているクロックネットを検出することとしてもよい。   In the program, the recording medium, the apparatus, and the method in which the program is recorded, a clock net in which a hold error that conflicts with a setup error occurs in the clock tree may be detected.

これによれば、セットアップエラーと競合するホールドエラーの発生原因となるクロックネット内の配線の配線幅を太幅にすることができる。   According to this, it is possible to increase the wiring width of the wiring in the clock net that causes a hold error that conflicts with the setup error.

また、上記プログラム、該プログラムを記録した記録媒体、装置、および方法において、さらに、前記ホールドエラーと前記セットアップエラーとが競合するクロックネットのうち、当該クロックネットのリーフ数、クロック周波数およびゲート段数の少なくともいずれか一つが最大となるクロックネットを検出することとしてもよい。   Further, in the program, the recording medium, the apparatus, and the method in which the program is recorded, among the clock nets in which the hold error and the setup error compete, the number of leaves of the clock net, the clock frequency, and the number of gate stages It is also possible to detect a clock net in which at least one of them is maximized.

これによれば、セットアップエラーと競合するホールドエラーの発生原因となるクロックネットのうち、リーフ数、クロック周波数およびゲート段数の少なくともいずれか一つが最大となるクロックネット内の配線の配線幅を太幅にすることができる。   According to this, among the clock nets that cause a hold error that conflicts with the setup error, the wiring width in the clock net in which at least one of the number of leaves, the clock frequency, and the number of gate stages is the maximum is wide. Can be.

また、上記プログラム、該プログラムを記録した記録媒体、装置、および方法において、前記クロックネット内の配線のうち、クロックの分岐点となる回路素子から末端の回路素子までの配線を、前記他の配線の配線幅よりも太くする配線に決定し、その配線の配線幅を、前記他の配線の配線幅よりも太い配線幅に変更することとしてもよい。   In the program, the recording medium, the apparatus, and the method recording the program, the wiring from the circuit element serving as a clock branch point to the terminal circuit element among the wirings in the clock net is connected to the other wiring. The wiring width may be determined to be thicker than the wiring width of the other wiring, and the wiring width of the wiring may be changed to a wiring width wider than the wiring width of the other wiring.

これによれば、クロックネット内の配線のうち、複数のクロックパスにおいて配線遅延のばらつきが共通する部分を除く残余の配線だけを太幅にすることができる。   According to this, only the remaining wirings of the wirings in the clock net excluding the part where the wiring delay variation is common in a plurality of clock paths can be made thick.

また、上記プログラム、該プログラムを記録した記録媒体、装置、および方法において、前記クロックネット内の配線のうち、クロックの分岐点となる回路素子から末端よりも一つ前段の回路素子までの配線を、前記他の配線の配線幅よりも太くする配線に決定することとしてもよい。   Further, in the program, the recording medium, the apparatus, and the method in which the program is recorded, the wiring from the circuit element that is a clock branch point to the circuit element that is one stage before the end of the wiring in the clock net. The wiring may be determined to be thicker than the wiring width of the other wiring.

これによれば、末端の回路素子での配線混雑を想定して、末端よりも一つ前段の回路素子までの配線の配線幅を太幅にすることができる。   According to this, it is possible to increase the wiring width of the wiring to the circuit element one stage before the terminal, assuming wiring congestion at the terminal circuit element.

また、上記プログラム、該プログラムを記録した記録媒体、装置、および方法において、デザインルールに従って、変更対象となる配線と当該配線に隣接する配線との間の最小間隔が配線トラックのトラック間隔となるように変更することとしてもよい。   Further, in the program, the recording medium, the apparatus, and the method in which the program is recorded, according to the design rule, the minimum distance between the wiring to be changed and the wiring adjacent to the wiring is the track spacing of the wiring track. It is good also as changing to.

これによれば、ダブルスペースで太幅配線をおこなうことにより、隣接する配線とのクロストークを防止することができる。   According to this, crosstalk with adjacent wiring can be prevented by performing thick wiring in a double space.

また、この設計データは、一部の配線の配線幅を、当該一部の配線とは異なる他の配線の配線幅よりも太幅にすることにより、一部の配線を辿るクロックのタイミングが補償された設計対象回路に関することを要件とする。   This design data also compensates for the timing of the clock that traces some wiring by making the wiring width of some wiring wider than the wiring width of other wiring that is different from that part of the wiring. It is necessary to relate to the designed circuit to be designed.

また、この半導体集積回路は、一部の配線の配線幅を、当該一部の配線とは異なる他の配線の配線幅よりも太幅にすることにより、一部の配線を辿るクロックのタイミングが補償されていることを要件とする。   In addition, this semiconductor integrated circuit has a wiring width of a part of the wiring that is wider than a wiring width of another wiring different from the part of the wiring, so that the timing of the clock that follows the part of the wiring can be reduced. It must be compensated.

これらによれば、高品質の半導体集積回路を早期に市場に提供することができる。   According to these, a high-quality semiconductor integrated circuit can be provided to the market at an early stage.

このプログラム、該プログラムを記録した記録媒体、装置、および方法によれば、セットアップエラーと競合するホールドエラーの発生原因となる配線の配線幅を太幅にして配線抵抗のばらつき影響を低減させることにより、効率的かつ高精度なタイミング検証を実現し、設計者の負担軽減および設計期間の短縮化を図ることができるという効果を奏する。   According to this program, a recording medium, an apparatus, and a method on which the program is recorded, by reducing the influence of variations in wiring resistance by increasing the wiring width that causes a hold error that conflicts with a setup error. Thus, it is possible to achieve efficient and highly accurate timing verification, reduce the burden on the designer, and shorten the design period.

以下に添付図面を参照して、この発明にかかる設計支援プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、検証支援装置、および検証支援方法の好適な実施の形態を詳細に説明する。   Exemplary embodiments of a design support program, a computer-readable recording medium storing the program, a verification support apparatus, and a verification support method according to the present invention will be described below in detail with reference to the accompanying drawings.

(設計支援装置のハードウェア構成)
まず、設計支援装置のハードウェア構成について説明する。図1は、本実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。
(Hardware configuration of design support device)
First, the hardware configuration of the design support apparatus will be described. FIG. 1 is a block diagram showing a hardware configuration of the design support apparatus according to the present embodiment.

図1において、設計支援装置100は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113とを備えている。また、各構成部は、バス120によってそれぞれ接続されている。   In FIG. 1, a design support apparatus 100 is an example of a CPU 101, a ROM 102, a RAM 103, an HDD (hard disk drive) 104, an HD (hard disk) 105, an FDD (flexible disk drive) 106, and a removable recording medium. FD (flexible disk) 107, display 108, I / F (interface) 109, keyboard 110, mouse 111, scanner 112, and printer 113. Each component is connected by a bus 120.

ここで、CPU101は、設計支援装置100の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記録している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。   Here, the CPU 101 governs overall control of the design support apparatus 100. The ROM 102 records a program such as a boot program. The RAM 103 is used as a work area for the CPU 101. The HDD 104 controls reading / writing of data with respect to the HD 105 according to the control of the CPU 101. The HD 105 stores data written under the control of the HDD 104.

FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを設計支援装置100に読み取らせたりする。   The FDD 106 controls reading / writing of data with respect to the FD 107 according to the control of the CPU 101. The FD 107 stores data written under the control of the FDD 106 or causes the design support apparatus 100 to read data stored in the FD 107.

また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108には、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   In addition to the FD 107, the removable recording medium may be a CD-ROM (CD-R, CD-RW), MO, DVD (Digital Versatile Disk), memory card, or the like. The display 108 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. As the display 108, for example, a CRT, a TFT liquid crystal display, a plasma display, or the like can be adopted.

I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。   The I / F 109 is connected to a network 114 such as the Internet through a communication line, and is connected to other devices via the network 114. The I / F 109 controls an internal interface with the network 114 and controls data input / output from an external device. For example, a modem or a LAN adapter may be employed as the I / F 109.

キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様の機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。   The keyboard 110 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data. Moreover, a touch panel type input pad or a numeric keypad may be used. The mouse 111 performs cursor movement, range selection, window movement, size change, and the like. A trackball or a joystick may be used as long as they have the same function as a pointing device.

スキャナ112は、画像を光学的に読み取り、装置内に画像データを読み込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタなどを採用することができる。   The scanner 112 optically reads an image and reads image data into the apparatus. The scanner 112 may have an OCR function. The printer 113 prints image data and document data. As the printer 113, for example, a laser printer or an ink jet printer can be employed.

(本実施の形態の概要)
つぎに、本実施の形態の概要について説明する。図2は、本実施の形態の概要を示す説明図である。図2において、設計対象回路200は、クロックソースCSと複数の回路素子(たとえば、クロックバッファ、フリップフロップFF1,FF2など)とから構成されている。なお、図面では、設計対象回路の一部を抜粋して表わしている。
(Outline of this embodiment)
Next, an outline of the present embodiment will be described. FIG. 2 is an explanatory diagram showing an outline of the present embodiment. In FIG. 2, the design target circuit 200 includes a clock source CS and a plurality of circuit elements (for example, a clock buffer, flip-flops FF1, FF2, etc.). In the drawing, a part of the circuit to be designed is extracted and shown.

また、クロックソースCSからフリップフロップFF1までのクロック信号線をクロックパスP1(図2中、太線)、クロックソースCSからフリップフロップFF2までのクロック信号線をクロックパスP2(図2中、太線)、フリップフロップFF1からフリップフロップFF2までのデータ信号線をデータパスP3(図2中、点線矢印)とする。   Further, the clock signal line from the clock source CS to the flip-flop FF1 is a clock path P1 (thick line in FIG. 2), the clock signal line from the clock source CS to the flip-flop FF2 is a clock path P2 (thick line in FIG. 2), A data signal line from the flip-flop FF1 to the flip-flop FF2 is defined as a data path P3 (a dotted arrow in FIG. 2).

ここでは、配線のコーナー条件として配線容量(C)が最大となるCworstコーナーに着目し、クロックソースCSからのクロックが、フリップフロップFF1およびフリップフロップFF2に同一時刻に到達するようにスキューが調整されている。ここで、配線コーナーについて説明する。   Here, focusing on the C worst corner where the wiring capacitance (C) is maximized as the wiring corner condition, the skew is adjusted so that the clock from the clock source CS reaches the flip-flop FF1 and the flip-flop FF2 at the same time. ing. Here, the wiring corner will be described.

図3は、配線コーナーを示す説明図である。図3に示すように、配線幅が90nm以前のプロセスにおいては、Cworstコーナーに着目し、論理最適化、配置最適化および配線経路最適化により、セットアップエラーの調整をおこなっていた。なぜなら、回路全体の遅延時間に占める配線の遅延時間の割合が小さいため、Cworstコーナーを考慮するだけで十分にタイミング調整をおこなうことができたからである。   FIG. 3 is an explanatory diagram showing a wiring corner. As shown in FIG. 3, in a process with a wiring width of 90 nm or less, paying attention to the C worst corner, the setup error is adjusted by logic optimization, layout optimization, and wiring path optimization. This is because the proportion of the delay time of the wiring occupying the delay time of the entire circuit is small, so that the timing can be adjusted sufficiently only by considering the C worst corner.

一方で、配線幅が65nm以降のプロセスにおいては、配線抵抗(R)が大きくなり配線遅延が増大するため、RCworstコーナー(時定数worst)での配線遅延に占める配線抵抗(R)成分の影響が非常に大きくなり、従来のCworstコーナーに着目したセットアップエラーの調整後にRworstコーナーでタイミング検証をするとセットアップエラーと競合するホールドエラーが発生しやすい回路構成になりやすくなってしまう。図2においては、配線遅延(R)が増大し、RCworstコーナーでの配線遅延値がCworstコーナーに比べて2倍になっている(図2中、210,220)。   On the other hand, in the process where the wiring width is 65 nm or more, the wiring resistance (R) increases and the wiring delay increases. Therefore, the influence of the wiring resistance (R) component on the wiring delay at the RC worst corner (time constant worst) is affected. If the timing verification is performed at the Rworst corner after adjusting the setup error focusing on the conventional Cworst corner, the circuit configuration is likely to generate a hold error that conflicts with the setup error. In FIG. 2, the wiring delay (R) is increased, and the wiring delay value at the RC worst corner is doubled as compared to the Cworst corner (210 and 220 in FIG. 2).

具体的には、たとえば、OCV(On Chip Variation)が『Min=0.95、Max=1』で、クロックパスP1,P2の分岐点(クロックバッファ230)からの配線段数5のMin配線遅延が475[ps]、Max配線遅延が500[ps]のケースでは、配線抵抗の絶対値が2倍になると、スキュー差が25[ps]から50[ps]となる。この結果、データパスP3において、セットアップエラーと競合するホールドエラーが発生している。   Specifically, for example, when the OCV (On Chip Variation) is “Min = 0.95, Max = 1”, the Min wiring delay of the wiring stage number 5 from the branch point (clock buffer 230) of the clock paths P1, P2 is increased. In the case of 475 [ps] and Max wiring delay of 500 [ps], when the absolute value of the wiring resistance is doubled, the skew difference is 25 [ps] to 50 [ps]. As a result, a hold error that conflicts with the setup error has occurred in the data path P3.

このため、本実施の形態では、RCworstコーナーを考慮したRC抽出、遅延計算、STA(静的遅延解析)をおこない、ホールドエラーとセットアップエラーとが競合する箇所の配線を通常の配線幅よりも太幅にすることにより、配線遅延による影響を低減させる。なお、配線抵抗(R)は温度上昇に応じて大きくなることを考慮して、検証コーナーをRCworstでかつ高温とする。   For this reason, in the present embodiment, RC extraction, delay calculation, and STA (static delay analysis) are performed in consideration of the RC worst corner, and the wiring at the location where the hold error and the setup error conflict with each other is thicker than the normal wiring width. By making the width, the influence of wiring delay is reduced. In consideration of the fact that the wiring resistance (R) increases as the temperature rises, the verification corner is set at RC worst and at a high temperature.

また、各コーナー条件における配線構造を以下に定義する。図4−1は、配線の構造定義を示す説明図である。図4−2は、配線断面構造イメージを示す説明図である。図4−1において、配線構造テーブル410には、各コーナー条件における配線構造(幅、厚さ、高さ、ビア抵抗)が定義されている。ただし、「+」は標準の配線構造に比べて大きいことを表わし、「−」は標準の配線構造に比べて小さいことを表わしている。   The wiring structure under each corner condition is defined below. FIG. 4A is an explanatory diagram of the structure definition of the wiring. FIG. 4B is an explanatory diagram of a wiring cross-sectional structure image. In FIG. 4A, the wiring structure table 410 defines the wiring structure (width, thickness, height, via resistance) under each corner condition. However, “+” represents that it is larger than the standard wiring structure, and “−” represents that it is smaller than the standard wiring structure.

図4−2において、配線断面構造のイメージが示されており、420は層間絶縁膜、430は配線メタルである。ここで、RCworstを例に挙げると、RCworstコーナー条件における配線構造は、幅、厚さ、高さがいずれも標準値よりも小さく、ビア抵抗が標準値よりも大きくなっている。   FIG. 4B shows an image of a wiring cross-sectional structure, where 420 is an interlayer insulating film and 430 is a wiring metal. Here, taking RC worst as an example, the width, thickness, and height of the wiring structure under the RC worst corner condition are all smaller than the standard value, and the via resistance is larger than the standard value.

(設計支援装置の機能的構成)
つぎに、本実施の形態にかかる設計支援装置100の機能的構成について説明する。図5は、本実施の形態にかかる設計支援装置の機能的構成を示すブロック図である。図5において、設計支援装置100は、取得部501と、検出部502と、変更部503と、決定部504と、から構成されている。
(Functional configuration of design support device)
Next, a functional configuration of the design support apparatus 100 according to the present embodiment will be described. FIG. 5 is a block diagram showing a functional configuration of the design support apparatus according to the present embodiment. In FIG. 5, the design support apparatus 100 includes an acquisition unit 501, a detection unit 502, a change unit 503, and a determination unit 504.

これら各機能501〜504は、メモリに格納された当該機能に関するプログラムをCPUに実行させることにより、当該機能を実現することができる。また、各機能501〜504からの出力データはメモリに保持される。また、図5中矢印で示した接続先の機能的構成は、接続元の機能からの出力データをメモリから読み込んで、当該機能に関するプログラムをCPUに実行させる。   Each of these functions 501 to 504 can realize the function by causing the CPU to execute a program related to the function stored in the memory. Output data from each function 501 to 504 is held in a memory. Further, the functional configuration of the connection destination indicated by the arrow in FIG. 5 reads output data from the connection source function from the memory, and causes the CPU to execute a program related to the function.

まず、取得部501は、設計対象回路の時定数が最大となるコーナー条件を用いて解析されたタイミング解析結果を取得する機能を有する。ここで扱う設計対象回路は、たとえば、配線幅が65nm以降のプロセスで製造される電子回路である。また、時定数とは、設計対象回路の応答の速さを示す指標であり、配線の配線容量(C)と配線抵抗(R)との乗算値『RC』によって表わされる。   First, the acquisition unit 501 has a function of acquiring a timing analysis result analyzed using a corner condition that maximizes the time constant of the circuit to be designed. The circuit to be designed handled here is, for example, an electronic circuit manufactured by a process with a wiring width of 65 nm or later. The time constant is an index indicating the response speed of the circuit to be designed, and is represented by a multiplication value “RC” of the wiring capacitance (C) and the wiring resistance (R) of the wiring.

つまり、タイミング解析結果は、配線容量(C)と配線抵抗(R)との乗算値が最大となるRCworstコーナー(図3参照)を考慮したタイミング検証の解析結果である。また、タイミング検証とは、設計対象回路の回路遅延を見積もり、最適化をおこなって、遅延が設計対象回路の正常動作に必要な範囲内にあることを確認する工程のことである。   That is, the timing analysis result is a timing verification analysis result in consideration of the RC worst corner (see FIG. 3) in which the multiplication value of the wiring capacitance (C) and the wiring resistance (R) is maximized. The timing verification is a process of estimating the circuit delay of the circuit to be designed, performing optimization, and confirming that the delay is within a range necessary for normal operation of the circuit to be designed.

ここでは、DRC(Design Rule Check)を考慮することなく仮配線されたクロックツリーに対して、簡易的なSTA(Static Timing Analysis)を実行することによってタイミング検証をおこない、そのタイミング解析結果を取得する。   Here, timing verification is performed by executing a simple STA (Static Timing Analysis) on a temporarily routed clock tree without considering DRC (Design Rule Check), and the timing analysis result is obtained. .

検出部502は、取得部501によって取得されたタイミング解析結果に基づいて、設計対象回路に関するクロックツリーのうち、ホールドエラーが発生しているクロックネットを検出する。クロックツリーは、クロックを生成するクロックソースをルートとし、末端の回路素子群(たとえば、フリップフロップ)にまでクロックを伝搬する電子回路である。   Based on the timing analysis result acquired by the acquisition unit 501, the detection unit 502 detects a clock net in which a hold error has occurred in the clock tree related to the design target circuit. A clock tree is an electronic circuit that uses a clock source that generates a clock as a root and propagates the clock to a terminal circuit element group (for example, a flip-flop).

このクロックツリーは、たとえば、同一クロックネット内の全フリップフロップ(FF)が同一時刻にクロックを受けるものと仮定してFF間のタイミング制約を導き出し、タイミング最適化配置をおこなったあと、スキュー(FF間のクロック到達時刻の差)を最小化するように構築されたものである。また、クロックネットとは、クロックソースから同一時刻にクロックを受ける回路素子の集合である。   This clock tree is derived from, for example, a timing constraint between FFs assuming that all flip-flops (FF) in the same clock net receive clocks at the same time, and after performing timing optimization arrangement, skew (FF It is constructed to minimize the clock arrival time difference between them. A clock net is a set of circuit elements that receive clocks from a clock source at the same time.

具体的には、たとえば、設計対象回路に関するネットリスト、およびクロックソース、回路素子の配置・配線情報に基づいてクロックツリーを生成することができる。なお、クロックソースから回路素子群までのクロックパスの途中には、クロック制御回路やクロックゲートなどが接続されていてもよい。クロック制御回路は、クロックソースからのクロックに応じてクロックゲートを制御する。   Specifically, for example, a clock tree can be generated based on a net list relating to a circuit to be designed, a clock source, and circuit element arrangement / wiring information. A clock control circuit, a clock gate, or the like may be connected in the middle of the clock path from the clock source to the circuit element group. The clock control circuit controls the clock gate according to the clock from the clock source.

上述したクロックツリー、ネットリスト、配置・配線情報は、図示しない外部装置から取得することとしてもよく、また、ユーザの操作入力、図示しないデータベースやライブラリからの抽出によって取得することとしてもよい。   The clock tree, netlist, and placement / wiring information described above may be acquired from an external device (not shown), or may be acquired by user operation input or extraction from a database or library (not shown).

ここで、設計対象回路がターゲット周波数で動作するために満たすべき2種類のタイミング制約について説明する。通常、送り側(クロックソース、FF)から出た信号が、受け側のFFに到達するタイミングは、現クロックのあと、つぎのクロックの前になければならない。信号の到達が現在のクロックよりもあとに届くことを保証するのがホールド制約、つぎのクロックよりも前に届くことを保証するのがセットアップ制約である。   Here, two types of timing constraints that must be satisfied in order for the circuit to be designed to operate at the target frequency will be described. Normally, the timing at which the signal from the sending side (clock source, FF) reaches the receiving side FF must be after the current clock and before the next clock. The hold constraint ensures that the signal arrives after the current clock, and the setup constraint ensures that the signal arrives before the next clock.

より具体的には、クロック・エッジの前にデータが変化してはいけない時間をセットアップ時間、クロック・エッジのあとにデータが変化してはいけない時間をホールド時間という。これらのタイミング制約を満たしていない場合、クロックが、データが変化する前の値か、変化したあとの値か、どちらの値を読み込むのか分からず、ホールドエラーまたはセットアップエラーが発生してしまう。   More specifically, the time during which data should not change before the clock edge is called the setup time, and the time when data should not change after the clock edge is called the hold time. If these timing constraints are not satisfied, it is not known whether the clock reads the value before the data changes or the value after the changes, and a hold error or a setup error occurs.

つまり、検出部502は、ホールド制約に違反して信号の到達が現在のクロックよりも先に届いてしまい、ホールドエラーが発生しているクロックネットを検出する。上述した図2の例では、データパスP3でホールドエラーが発生しており、クロックソースCSから末端のFF1,FF2までのクロックネットを検出することとなる。   That is, the detection unit 502 detects a clock net in which a hold error occurs because the arrival of a signal arrives before the current clock in violation of the hold constraint. In the example of FIG. 2 described above, a hold error has occurred in the data path P3, and the clock net from the clock source CS to the terminal FF1 and FF2 is detected.

また、検出部502は、クロックツリーのうち、セットアップエラーと競合するホールドエラーが発生しているクロックネットを検出することとしてもよい。具体的には、セットアップ時間に余裕がないため、ホールドエラーを解消するための修正をおこなうと、その修正にともなうセットアップエラーが発生してしまうクロックネットを検出する。   In addition, the detection unit 502 may detect a clock net in which a hold error that conflicts with a setup error occurs in the clock tree. Specifically, since there is no allowance in the setup time, when a correction for eliminating the hold error is performed, a clock net that causes a setup error due to the correction is detected.

すなわち、ホールドエラーが発生しているデータパス(たとえば、図2に示したデータパスP3)上にクロックバッファを挿入するなどの修正をおこなった場合に、セットアップ時間に余裕がないため、修正にともなうゲート遅延によってセットアップエラーが発生するクロックネットを検出する。   In other words, when a modification such as inserting a clock buffer on a data path in which a hold error has occurred (for example, the data path P3 shown in FIG. 2), the setup time is not sufficient, so the modification is accompanied. Detects clock nets where setup errors occur due to gate delay.

また、検出部502は、ホールドエラーとセットアップエラーとが競合するクロックネットのうち、当該クロックネットのリーフ数、クロック周波数およびゲート段数の少なくともいずれかが最大となるクロックネットを検出することとしてもよい。リーフ数は、クロックネットのフリップフロップの総数である。クロック周波数は、クロックネットの動作周波数である。ゲート段数は、クロックネットの論理ゲートの総数である。   In addition, the detection unit 502 may detect a clock net in which at least one of the number of leaves, the clock frequency, and the number of gate stages of the clock net is a maximum among clock nets in which a hold error and a setup error compete. . The leaf number is the total number of flip-flops of the clock net. The clock frequency is the operating frequency of the clock net. The number of gate stages is the total number of logic gates in the clock net.

たとえば、ホールドエラーとセットアップエラーとが競合するクロックネットが複数存在し、リーフ数が最大のクロックネットを検出する場合、検出部502は、複数のクロックネットのうちフリップフロップ数が最も多いクロックネットを検出することとなる。   For example, when there are a plurality of clock nets in which a hold error and a setup error conflict, and the clock net having the largest number of leaves is detected, the detection unit 502 selects the clock net having the largest number of flip-flops from the plurality of clock nets. Will be detected.

変更部503は、検出部502によって検出されたクロックネット内の配線の配線幅を、当該配線とは異なる他の配線の配線幅よりも太い配線幅に変更する。具体的には、仮配線または詳細配線に通常使用される配線の配線幅(以下、「通常幅」という)よりも太い配線幅に変更する。これは、配線幅を太くすることで配線抵抗を小さくし、配線遅延の絶対値を低減させるためにおこなう。   The changing unit 503 changes the wiring width of the wiring in the clock net detected by the detection unit 502 to a wiring width wider than the wiring width of another wiring different from the wiring. Specifically, the wiring width is changed to be thicker than the wiring width of the wiring normally used for the temporary wiring or the detailed wiring (hereinafter referred to as “normal width”). This is performed in order to reduce the wiring resistance by increasing the wiring width and to reduce the absolute value of the wiring delay.

なお、太い配線幅の具体的数値は、ROM102やRAM103などの記憶領域に予め保持されている。この具体的数値は、配線幅を太幅にすることによる配線容量の増加、および配線抵抗の減少のバランスを考慮して設定される数値である。具体的には、たとえば、簡易モデルを使用して配線抵抗のばらつきを測定する実験結果から適切な数値を導き出すこととしてもよい。   Note that specific numerical values of the thick wiring width are stored in advance in a storage area such as the ROM 102 or the RAM 103. This specific numerical value is a numerical value set in consideration of the balance between an increase in wiring capacitance and a reduction in wiring resistance due to the increased wiring width. Specifically, for example, an appropriate numerical value may be derived from the experimental result of measuring the wiring resistance variation using a simple model.

決定部504は、検出部502によって検出されたクロックネット内の配線のうち、クロックの分岐点となる回路素子から末端の回路素子までの配線を、他の配線の配線幅よりも太くする配線に決定する。複数のクロックパス間で共通する部分(配線)は、配線遅延のばらつきが共通となる。このため、クロックネット内の配線のうち、共通部分を除く残余の配線だけを太幅にする。   Of the wirings in the clock net detected by the detection unit 502, the determination unit 504 changes the wiring from the circuit element that is the clock branch point to the terminal circuit element to be thicker than the wiring width of the other wirings. decide. A portion (wiring) that is common among a plurality of clock paths has a common variation in wiring delay. For this reason, of the wirings in the clock net, only the remaining wirings except the common part are made thick.

また、決定部504は、検出部502によって検出されたクロックネット内の配線のうち、クロックの分岐点となる回路素子から末端よりも一つ前段の回路素子までの配線を、他の配線の配線幅よりも太くする配線に決定することとしてもよい。すなわち、末端の回路素子(フリップフロップなど)の配線混雑を想定して、一つ前段の回路素子までの配線を太幅にする。   In addition, the determination unit 504 determines, from among the wirings in the clock net detected by the detection unit 502, the wiring from the circuit element that is the clock branch point to the circuit element that is one stage before the terminal, The wiring may be determined to be thicker than the width. That is, assuming that the wiring of the terminal circuit element (such as flip-flop) is congested, the wiring to the previous circuit element is made wide.

具体的には、たとえば、末端の回路素子での配線混雑度が高く、隣接する配線間でダブルスペースを確保することができない場合などに、一つ前段の回路素子までの配線を太幅にすることとしてもよい。これにより、末端の回路素子における、配線間のクロストークを防止することができる。   Specifically, for example, when the degree of wiring congestion at the terminal circuit element is high and a double space cannot be secured between adjacent wirings, the wiring up to the circuit element at the previous stage is made wide. It is good as well. Thereby, crosstalk between wirings in the terminal circuit element can be prevented.

変更部503は、決定部504によって決定された配線を、他の配線の配線幅よりも太い配線幅に変更することとしてもよい。このとき、変更部503は、デザインルール(DRC)に従って、変更対象となる配線と当該配線に隣接する配線との間の最小間隔が配線トラックのトラック間隔となるように変更することとしてもよい。つまり、太幅にすることによる配線容量の増大、隣接する配線との間のクロストークを考慮したダブルスペースによる配線をおこなう。   The changing unit 503 may change the wiring determined by the determining unit 504 to a wiring width wider than the wiring width of other wirings. At this time, the changing unit 503 may change the minimum distance between the wiring to be changed and the wiring adjacent to the wiring to be the track interval of the wiring track according to the design rule (DRC). That is, the wiring is performed in a double space in consideration of an increase in wiring capacity by making the width wide and crosstalk between adjacent wirings.

具体的には、変更部503は、ROM102やRAM103などの記憶領域から配線幅の具体的数値を読み出して、その具体的数値に従って、変更対象となる配線の配線幅を変更する。なお、変更対象となる配線を除く残余の配線は、DRCを考慮した通常幅の配線をおこなうこととなる。変更部503による変更処理は、自動的に実行されてもよく、また、ユーザの操作入力を受け付けることで実行することとしてもよい。   Specifically, the changing unit 503 reads a specific numerical value of the wiring width from the storage area such as the ROM 102 or the RAM 103, and changes the wiring width of the wiring to be changed according to the specific numerical value. Note that the remaining wiring except the wiring to be changed is a wiring having a normal width in consideration of DRC. The changing process by the changing unit 503 may be automatically executed, or may be executed by receiving a user operation input.

上記検出部502、変更部503および決定部504による一連の処理は、クロックツリー内のホールドエラーが解消されるまで繰り返し実行されることとしてもよい。具体的には、たとえば、セットアップエラーと競合するホールドエラーがすべて解消されるまで一連の処理を繰り返すこととしてもよい。   A series of processes by the detection unit 502, the change unit 503, and the determination unit 504 may be repeatedly executed until the hold error in the clock tree is resolved. Specifically, for example, a series of processes may be repeated until all the hold errors that conflict with the setup error are eliminated.

また、より深刻なホールドエラーが発生している箇所(たとえば、セットアップ時間がより厳しい箇所)を優先的に太幅にしていき、ホールドエラーの発生箇所に対する修正箇所の割合が予め設定された閾値を超えた場合に、上記検出部502、変更部503および決定部504による一連の処理を終了することとしてもよい。   In addition, preferentially set the threshold where the ratio of the correction location with respect to the location where the hold error occurs is preliminarily widened at a location where a more serious hold error has occurred (for example, a location where the setup time is more severe). When it exceeds, a series of processes by the detection unit 502, the change unit 503, and the determination unit 504 may be terminated.

具体的には、たとえば、閾値を「10%」と設定した場合、より深刻なホールドエラーが発生している箇所を優先して修正していき、全体の10%のホールドエラーが解消された場合に一連の処理を終了する。閾値の値は、図1に示したキーボード110やマウス111などをユーザが操作することで、予め任意の値を設定することができる。   Specifically, for example, when the threshold is set to “10%”, correction is performed with priority given to a place where a more serious hold error has occurred, and the entire 10% hold error is resolved A series of processing is finished. As the threshold value, an arbitrary value can be set in advance by the user operating the keyboard 110 or the mouse 111 shown in FIG.

なお、上述した取得部501、検出部502、変更部504、および決定部503は、具体的には、たとえば、図1に示したROM102、RAM103、HD105などの記録媒体に記録されたプログラムを、CPU101が実行することによって、またはI/F109によって、その機能を実現する。   Note that the acquisition unit 501, the detection unit 502, the change unit 504, and the determination unit 503 described above specifically include, for example, a program recorded in a recording medium such as the ROM 102, the RAM 103, and the HD 105 illustrated in FIG. The function is realized by the CPU 101 or by the I / F 109.

(設計支援装置の設計支援処理手順)
つぎに、本実施の形態にかかる設計支援装置100の設計支援処理手順について説明する。図6は、本実施の形態にかかる設計支援装置の設計支援処理手順を示すフローチャートである。図6のフローチャートにおいて、まず、取得部501により、設計対象回路の時定数が最大となるコーナー条件を用いて解析されたタイミング解析結果を取得したか否かを判断する(ステップS601)。
(Design support procedure of design support device)
Next, a design support processing procedure of the design support apparatus 100 according to the present embodiment will be described. FIG. 6 is a flowchart showing a design support processing procedure of the design support apparatus according to this embodiment. In the flowchart of FIG. 6, first, the acquisition unit 501 determines whether the timing analysis result analyzed using the corner condition that maximizes the time constant of the circuit to be designed is acquired (step S601).

ここで、タイミング解析結果を取得するのを待って(ステップS601:No)、取得した場合(ステップS601:Yes)、検出部502により、取得部501によって取得されたタイミング解析結果に基づいて、設計対象回路に関するクロックツリーのうち、ホールドエラーが発生しているクロックネットを検出する(ステップS602)。   Here, it waits for the timing analysis result to be acquired (step S601: No), and if acquired (step S601: Yes), the detection unit 502 performs design based on the timing analysis result acquired by the acquisition unit 501. From the clock tree related to the target circuit, a clock net in which a hold error has occurred is detected (step S602).

このあと、変更部503により、検出部502によって検出されたクロックネット内の配線の配線幅を、当該配線とは異なる他の配線の配線幅よりも太い配線幅に変更して(ステップS603)、本フローチャートによる一連の処理を終了する。   Thereafter, the changing unit 503 changes the wiring width of the wiring in the clock net detected by the detecting unit 502 to a wiring width that is thicker than the wiring width of another wiring different from the wiring (step S603). A series of processing by this flowchart is complete | finished.

また、ステップS602において、クロックツリーのうちセットアップエラーと競合するホールドエラーが発生しているクロックネットを検出することとしてもよい。さらに、ホールドエラーとセットアップエラーとが競合するクロックネットのうち、リーフ数、クロック周波数およびゲート段数の少なくともいずれか一つが最大となるクロックネットを検出することとしてもよい。   In step S602, a clock net in which a hold error that conflicts with a setup error has occurred in the clock tree may be detected. Furthermore, it is possible to detect a clock net in which at least one of the number of leaves, the clock frequency, and the number of gate stages is the maximum among clock nets in which a hold error and a setup error compete.

また、ステップS603における変更処理の前に、決定部504により、検出部502によって検出されたクロックネット内の配線のうち、クロックの分岐点となる回路素子から末端の回路素子までの配線を、他の配線の配線幅よりも太くする配線に決定することとしてもよい。この場合、変更部503による変更処理は、決定部504によって決定された決定結果に基づいて実行される。   Further, before the change processing in step S603, the determination unit 504 changes the wiring from the circuit element serving as the clock branch point to the terminal circuit element among the wirings in the clock net detected by the detection unit 502. The wiring may be determined to be thicker than the wiring width of the other wiring. In this case, the changing process by the changing unit 503 is executed based on the determination result determined by the determining unit 504.

また、ステップS603において、デザインルールに従って、変更対象となる配線と当該配線に隣接する配線との間の最小間隔が配線トラックのトラック間隔となるように変更することとしてもよい。   In step S603, according to the design rule, the minimum interval between the wiring to be changed and the wiring adjacent to the wiring may be changed to the track interval of the wiring track.

以上説明した本実施の形態によれば、ホールドエラーの発生原因となるクロックネット内の配線の配線幅を太幅にして配線遅延の絶対値を低下させることにより、配線抵抗のばらつき影響を低減させることができる。このとき、セットアップエラーと競合するホールドエラーの発生原因となるクロックネット内の配線の配線幅を太幅にすることができる。   According to the present embodiment described above, the influence of variation in wiring resistance is reduced by reducing the absolute value of the wiring delay by increasing the wiring width of the wiring in the clock net that causes the hold error. be able to. At this time, the wiring width of the wiring in the clock net that causes a hold error that conflicts with the setup error can be increased.

さらに、セットアップエラーと競合するホールドエラーの発生原因となるクロックネットのうち、リーフ数、クロック周波数およびゲート段数の少なくともいずれか一つが最大となるクロックネット内の配線の配線幅を太幅にすることができる。   Furthermore, among the clock nets that cause a hold error that conflicts with the setup error, increase the wiring width of the wiring in the clock net in which at least one of the number of leaves, the clock frequency, and the number of gate stages is maximum. Can do.

また、クロックネット内の配線のうち、複数のクロックパスにおいて配線遅延のばらつきが共通する部分を除く残余の配線だけを太幅にすることができる。これにより、不要な配線変更による配線率の低下を防ぐとともに、配線変更にかかる無駄な処理を削減することができる。   In addition, among the wirings in the clock net, it is possible to make only the remaining wirings except for the part where the wiring delay variation is common in a plurality of clock paths thick. As a result, it is possible to prevent a reduction in the wiring rate due to an unnecessary wiring change, and it is possible to reduce useless processing related to the wiring change.

また、末端の回路素子での配線混雑を想定して、末端よりも一つ前段の回路素子までの配線の配線幅を太幅にすることができる。これにより、末端の回路素子における配線混雑度が高くなり、隣接する配線間でダブルスペースを確保することができない場合などに発生するクロストークを防止することができる。   In addition, assuming the wiring congestion at the terminal circuit element, the wiring width of the wiring to the circuit element one stage before the terminal can be increased. Thereby, the degree of wiring congestion in the terminal circuit element is increased, and crosstalk that occurs when a double space cannot be secured between adjacent wirings can be prevented.

さらに、デザインルールに従って、変更対象となる配線と当該配線に隣接する配線との間の最小間隔が配線トラックのトラック間隔となるように変更することができる。これにより、デザインルールで定められた配線間の最小間隔を確保することができ、太幅配線された配線と隣接する配線との間のクロストークを防止することができる。   Furthermore, according to the design rule, the minimum distance between the wiring to be changed and the wiring adjacent to the wiring can be changed to the track interval of the wiring track. As a result, a minimum interval between wirings determined by the design rule can be ensured, and crosstalk between a wiring with a thick width and an adjacent wiring can be prevented.

また、本実施の形態で説明した一部の配線の配線幅を、当該一部の配線とは異なる他の配線の配線幅よりも太幅にすることにより、一部の配線を辿るクロックのタイミングが補償された設計対象回路に関する設計データは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって利用される。この結果、高品質な半導体集積回路を早期に市場に提供することができる。   In addition, by setting the wiring width of some of the wirings described in this embodiment to be wider than the wiring width of other wirings that are different from the part of the wirings, the timing of clocks that follow the part of the wirings The design data relating to the design object circuit compensated for is recorded on a computer-readable recording medium and used by being read from the recording medium by the computer. As a result, a high-quality semiconductor integrated circuit can be provided to the market at an early stage.

つぎに、上述した実施の形態の実施例について説明する。ここで、設計対象回路200のクロックツリーの生成手法について説明する。図7−1,図7−2は、クロックツリーの生成手法の概要を示す説明図である。なお、設計対象回路700は、クロックが同期するグループごとに、4つのクロックグループA〜Dに分かれている。また、図面では一部を抜粋して表わしている。   Next, examples of the above-described embodiment will be described. Here, a method for generating a clock tree of the circuit 200 to be designed will be described. FIGS. 7A and 7B are explanatory diagrams illustrating an outline of a clock tree generation method. The design target circuit 700 is divided into four clock groups A to D for each group in which clocks are synchronized. In the drawing, a part is extracted and shown.

(1)において、まず、設計対象回路700を構成する回路素子群(クロックソースCS、回路素子701〜704)の初期配置をおこなう。(2)において、全FF(回路素子701〜703)が同一時刻にクロックを受けるものと仮定してFF間のタイミング制約を導き出し、タイミング最適化配置をおこなう。そして、クロックバッファを挿入し、スキューを最小化するようにクロックツリー710を生成する。   In (1), first, initial arrangement of circuit element groups (clock source CS, circuit elements 701 to 704) constituting the design target circuit 700 is performed. In (2), assuming that all FFs (circuit elements 701 to 703) receive clocks at the same time, timing constraints between FFs are derived, and timing optimized arrangement is performed. Then, a clock buffer is inserted, and a clock tree 710 is generated so as to minimize skew.

(3)において、DRCを考慮することなくクロックツリー710の仮配線をおこなう。さらに、クロック配線以外の配線についてもDRCを考慮することなく仮配線をおこなう。このあと、仮配線されたクロックツリー710を用いて、RCworstコーナーおよび高温条件でのRC抽出、遅延計算、STAを実行する。   In (3), temporary wiring of the clock tree 710 is performed without considering DRC. Further, temporary wiring is performed for wirings other than the clock wiring without considering DRC. Thereafter, using the temporarily wired clock tree 710, RC extraction at the RC worst corner and high temperature conditions, delay calculation, and STA are executed.

ここで、上記取得部501によって取得されるタイミング解析結果について説明する。図8は、タイミング解析結果の一例を示す説明図である。図8において、タイミング解析結果800は、クロックグループA〜Dごとに、リーフ数、クロック周波数、ゲート段数、およびホールドエラーの発生の有無に関する解析結果800−1〜800−4を有している。   Here, the timing analysis result acquired by the acquisition unit 501 will be described. FIG. 8 is an explanatory diagram illustrating an example of a timing analysis result. In FIG. 8, the timing analysis result 800 includes analysis results 800-1 to 800-4 regarding the number of leaves, the clock frequency, the number of gate stages, and whether or not a hold error has occurred for each clock group A to D.

リーフ数は、各クロックグループA〜D内に存在するFFの数である。また、クロック周波数は、各クロックグループA〜Dの動作周波数である。また、ゲート段数は、各クロックグループA〜D内に存在する論理ゲートの数である。   The number of leaves is the number of FFs present in each clock group A to D. The clock frequency is the operating frequency of each clock group A to D. The number of gate stages is the number of logic gates existing in each of the clock groups A to D.

ここで、解析結果800−2を例に挙げると、クロックグループBについて、リーフ数が50000[個]、クロック周波数が100[Mhz]、ゲート段数が30[個]であり、ホールドエラーが発生していることを表わしている。つぎに、このタイミング解析結果800を参照することにより、ホールドエラーが発生しているクロックグループB〜Dを絞り込む。   Here, taking analysis result 800-2 as an example, for clock group B, the number of leaves is 50000 [pieces], the clock frequency is 100 [Mhz], the number of gate stages is 30 [pieces], and a hold error occurs. It represents that. Next, by referring to the timing analysis result 800, the clock groups B to D in which a hold error has occurred are narrowed down.

さらに、評価関数Fを用いて、ホールドエラーが発生しているクロックグループB〜Dのうち、配線変更対象となるクロックグループの絞り込みをおこなう。ここでは、評価関数Fを『F:target(リーフ数|クロック周波数|ゲート段数)』とする。これは、targetとして与えた項目(リーフ数、クロック周波数、ゲート段数)が最大となるクロックグループを選択することを意味している。   Furthermore, the evaluation function F is used to narrow down the clock groups that are subject to wiring change among the clock groups B to D in which the hold error has occurred. Here, the evaluation function F is “F: target (number of leaves | clock frequency | number of gate stages)”. This means that the clock group having the maximum items (number of leaves, clock frequency, number of gate stages) given as target is selected.

たとえば、リーフ数をtargetとした場合、複数のクロックグループ名を与えて最大のリーフ数のクロックグループ名を返す引数を設定する。ここでは、クロックグループBのリーフ数が最大となっているため、クロックグループBのクロックグループ名が返される。この結果、検出部502は、クロックツリー710のうち、クロックグループBのクロックネットを検出することとなる。   For example, when the number of leaves is set as a target, an argument is set that gives a plurality of clock group names and returns the clock group name of the maximum number of leaves. Here, since the number of leaves of clock group B is the maximum, the clock group name of clock group B is returned. As a result, the detection unit 502 detects the clock net of the clock group B in the clock tree 710.

また、クロック周波数をtargetとした場合、複数のクロックグループ名を与えて最大のクロック周波数のクロックグループ名を返す引数を設定する。ここでは、クロックグループCのクロック周波数が最大となっているため、クロックグループCのクロックグループ名が返される。この結果、検出部502は、クロックツリー710のうち、クロックグループCのクロックネットを検出することとなる。   In addition, when the clock frequency is set as a target, an argument is set that gives a plurality of clock group names and returns the clock group name of the maximum clock frequency. Here, since the clock frequency of the clock group C is the maximum, the clock group name of the clock group C is returned. As a result, the detection unit 502 detects the clock net of the clock group C in the clock tree 710.

また、ゲート段数をtargetとした場合、複数のクロックグループ名を与えて最大のゲート段数のクロックグループ名を返す引数を設定する。ここでは、クロックグループDのゲート段数が最大となっているため、クロックグループDのクロックグループ名が返される。この結果、検出部502は、クロックツリー710のうち、クロックグループDのクロックネットを検出することとなる。ここでは、ゲート段数をtargetとし、検出部502によってクロックグループDのクロックネットが検出された場合を例に挙げて説明する。   When the number of gate stages is set as a target, an argument is set that gives a plurality of clock group names and returns the clock group name of the maximum number of gate stages. Here, since the number of gate stages of clock group D is the maximum, the clock group name of clock group D is returned. As a result, the detection unit 502 detects the clock net of the clock group D in the clock tree 710. Here, the case where the number of gate stages is set as the target and the clock net of the clock group D is detected by the detection unit 502 will be described as an example.

図9は、配線変更対象のクロックネットを示す説明図である。図9において、クロックネット900は、クロックソースCSと、クロックバッファCB1〜CB11と、フリップフロップFF1,FF2とから構成されている。なお、図面では、クロックネットの一部を抜粋して表わしている。ここでは、フリップフロップFF1からフリップフロップFF2までのデータ信号線においてホールドエラーが発生している。   FIG. 9 is an explanatory diagram showing a clock net to be changed. In FIG. 9, the clock net 900 includes a clock source CS, clock buffers CB1 to CB11, and flip-flops FF1 and FF2. In the drawing, a part of the clock net is extracted and shown. Here, a hold error has occurred in the data signal line from the flip-flop FF1 to the flip-flop FF2.

まず、検出部502によってクロックネット900が検出されると、仮配線されたクロックネット900内の配線を消去する。このあと、決定部504により、そのクロックネット内の配線のうち、クロックの分岐点となるクロックバッファCB3から末端のフリップフロップFF1,FF2までの配線(図9中910,920)を、通常幅よりも太くする配線に決定する。   First, when the detection unit 502 detects the clock net 900, the wiring in the temporarily wired clock net 900 is erased. After that, the determination unit 504 causes the wirings (910 and 920 in FIG. 9) from the clock buffer CB3 to the terminal flip-flops FF1 and FF2 among the wirings in the clock net to have the normal width. Also decide to make the wiring thicker.

このあと、変更部503により、決定部504によって決定された配線について、DRCを考慮した通常幅よりも太い配線幅での詳細配線をおこなう。さらに、決定部504によって決定された配線を除く残余の配線について、DRCを考慮した通常幅での詳細配線をおこなう。このとき、配線トラックのトラック間隔分確保して、配線幅の変更をおこなうことより、太幅配線された配線と隣接する配線との間のクロストークを防止する。   Thereafter, the changing unit 503 performs detailed wiring with a wiring width larger than the normal width considering DRC for the wiring determined by the determination unit 504. Further, detailed wiring with a normal width in consideration of DRC is performed on the remaining wirings excluding the wiring determined by the determination unit 504. At this time, by ensuring the track interval of the wiring track and changing the wiring width, crosstalk between the wiring with the thick wiring and the adjacent wiring is prevented.

つぎに、実施例における設計支援処理手順について説明する。図10は、実施例における設計支援処理手順を示すフローチャートである。図10のフローチャートにおいて、まず、設計対象回路700を構成する回路素子群の初期配置を実行する(ステップS1001)。このあと、全FFが同一時刻にクロックを受けるものと仮定してFF間のタイミング制約を導き出し、タイミング最適化配置を実行する(ステップS1002)。   Next, a design support processing procedure in the embodiment will be described. FIG. 10 is a flowchart illustrating a design support processing procedure in the embodiment. In the flowchart of FIG. 10, first, initial arrangement of circuit element groups constituting the design target circuit 700 is executed (step S1001). Thereafter, assuming that all the FFs receive the clock at the same time, the timing constraint between the FFs is derived, and the timing optimization arrangement is executed (step S1002).

そして、クロックバッファを挿入し、スキューを最小化するようにクロックツリー710を生成する(ステップS1003)。このあと、DRCを考慮することなくクロックツリー710、およびクロック配線以外の配線の仮配線を実行する(ステップS1004)。つぎに、取得部501により、クロックツリー710に関するタイミング解析結果800を取得する(ステップS1005)。   Then, a clock buffer is inserted, and a clock tree 710 is generated so as to minimize skew (step S1003). Thereafter, temporary wiring of the clock tree 710 and wirings other than the clock wiring is executed without considering DRC (step S1004). Next, the acquisition unit 501 acquires the timing analysis result 800 related to the clock tree 710 (step S1005).

このあと、検出部502により、ホールドエラーとセットアップエラーとが競合するクロックグループB〜Dのクロックネットを検出し(ステップS1006)、さらに、クロックグループB〜Dのクロックネットのうちゲート段数が最大のクロックグループDのクロックネット900を検出する(ステップS1007)。   After that, the detection unit 502 detects the clock nets of the clock groups B to D where the hold error and the setup error compete (step S1006), and further, the number of gate stages of the clock nets of the clock groups B to D is the largest. The clock net 900 of the clock group D is detected (step S1007).

そして、クロックネット900内の配線を消去し(ステップS1008)、決定部504により、クロックネット900内の配線のうち、クロックの分岐点となるクロックバッファCB3から末端のフリップフロップFF1,FF2までの配線を、通常幅よりも太くする配線に決定する(ステップS1009)。   Then, the wiring in the clock net 900 is deleted (step S1008), and the determination unit 504 uses the wiring from the clock buffer CB3 that is the clock branch point to the terminal flip-flops FF1 and FF2 among the wirings in the clock net 900. Are determined to be thicker than the normal width (step S1009).

最後に、変更部503により、決定部504によって決定された配線について、DRCを考慮した通常幅よりも太い配線幅での詳細配線を実行するとともに、決定部504によって決定された配線を除く残余の配線について、DRCを考慮した通常幅での詳細配線を実行する(ステップS1010)。   Finally, the change unit 503 performs detailed wiring with a wiring width wider than the normal width considering DRC for the wiring determined by the determination unit 504, and the remaining wiring except for the wiring determined by the determination unit 504 For the wiring, detailed wiring with a normal width in consideration of DRC is executed (step S1010).

以上説明した実施例によれば、セットアップエラーと競合するホールドエラーの発生原因となるクロックネット900内の配線の配線幅を太幅にして配線遅延の絶対値を低下させることにより、配線抵抗のばらつき影響を低減させることができる。これにより、設計対象回路700内で発生するホールドエラーと競合するセットアップエラーを解消することができる。   According to the embodiment described above, the wiring resistance variation is reduced by reducing the absolute value of the wiring delay by increasing the wiring width of the wiring in the clock net 900 that causes the generation of the hold error that conflicts with the setup error. The influence can be reduced. As a result, a setup error that conflicts with a hold error that occurs in the design target circuit 700 can be eliminated.

また、クロックネット900内の配線のうち、複数のクロックパスにおいて配線遅延のばらつきが共通する部分(クロックソースCSからクロックバッファCB3までの配線)を除く残余の配線だけを太幅にすることができる。これにより、不要な配線変更による配線率の低下を防ぐとともに、配線変更にかかる無駄な処理を削減することができる。   Also, of the wirings in the clock net 900, only the remaining wirings can be made thick except for a portion (wiring from the clock source CS to the clock buffer CB3) where wiring delay variation is common in a plurality of clock paths. . As a result, it is possible to prevent a reduction in the wiring rate due to an unnecessary wiring change, and it is possible to reduce useless processing related to the wiring change.

以上説明したように、プログラム、該プログラムを記録した記録媒体、装置、および方法によれば、セットアップエラーと競合するホールドエラーの発生原因となる配線の配線幅を太幅にして配線抵抗のばらつき影響を低減させることにより、効率的かつ高精度なタイミング検証を実現し、設計者の負担軽減および設計期間の短縮化を図ることができる。   As described above, according to the program, the recording medium on which the program is recorded, the apparatus, and the method, the wiring width of the wiring that causes the hold error that conflicts with the setup error is increased and the wiring resistance variation effect Therefore, efficient and highly accurate timing verification can be realized, and the burden on the designer can be reduced and the design period can be shortened.

なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。   The design support method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The program may be a transmission medium that can be distributed via a network such as the Internet.

また、本実施の形態で説明した設計支援装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した設計支援装置100の機能的構成501〜504をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、設計支援装置100を製造することができる。   In addition, the design support apparatus 100 described in the present embodiment includes an application-specific IC (hereinafter simply referred to as “ASIC”) such as a standard cell or a structured ASIC (Application Specific Integrated Circuit), or a PLD (Programmable) such as an FPGA. It can also be realized by Logic Device). Specifically, for example, the functional configuration 501 to 504 of the design support apparatus 100 described above is defined by HDL description, and the HDL description is logically synthesized and given to the ASIC or PLD to manufacture the design support apparatus 100. can do.

以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。   The following supplementary notes are further disclosed with respect to the embodiments including the above examples.

(付記1)設計対象回路の時定数が最大となるコーナー条件を用いて解析されたタイミング解析結果を取得させる取得工程と、
前記取得工程によって取得されたタイミング解析結果に基づいて、前記設計対象回路に関するクロックツリーのうち、ホールドエラーが発生しているクロックネットを検出させる検出工程と、
前記検出工程によって検出されたクロックネット内の配線の配線幅を、当該配線とは異なる他の配線の配線幅よりも太い配線幅に変更させる変更工程と、
をコンピュータに実行させることを特徴とする設計支援プログラム。
(Appendix 1) An acquisition step of acquiring a timing analysis result analyzed using a corner condition that maximizes a time constant of a circuit to be designed;
Based on the timing analysis result acquired by the acquisition step, a detection step of detecting a clock net in which a hold error has occurred in the clock tree related to the design target circuit;
A change step of changing the wiring width of the wiring in the clock net detected by the detection step to a wiring width wider than the wiring width of another wiring different from the wiring,
A design support program characterized by causing a computer to execute.

(付記2)前記検出工程は、
前記クロックツリーのうちセットアップエラーと競合するホールドエラーが発生しているクロックネットを検出させることを特徴とする付記1に記載の設計支援プログラム。
(Supplementary Note 2) The detection step includes
The design support program according to appendix 1, wherein a clock net in which a hold error that conflicts with a setup error occurs in the clock tree is detected.

(付記3)前記検出工程は、
さらに、前記ホールドエラーと前記セットアップエラーとが競合するクロックネットのうち、当該クロックネットのリーフ数、クロック周波数およびゲート段数の少なくともいずれか一つが最大となるクロックネットを検出させることを特徴とする付記2に記載の設計支援プログラム。
(Supplementary Note 3) The detection step includes
Further, among clock nets in which the hold error and the setup error compete, a clock net in which at least one of the number of leaves, the clock frequency, and the number of gate stages of the clock net is maximum is detected. 2. The design support program according to 2.

(付記4)前記検出工程によって検出されたクロックネット内の配線のうち、クロックの分岐点となる回路素子から末端の回路素子までの配線を、前記他の配線の配線幅よりも太くする配線に決定させる決定工程を前記コンピュータに実行させ、
前記変更工程は、
前記決定工程によって決定された配線を、前記他の配線の配線幅よりも太い配線幅に変更させることを特徴とする付記1〜3のいずれか一つに記載の設計支援プログラム。
(Supplementary Note 4) Of the wirings in the clock net detected by the detection step, the wiring from the circuit element serving as the clock branch point to the terminal circuit element is made thicker than the wiring width of the other wiring. Causing the computer to execute a determination step for determining,
The changing step includes
The design support program according to any one of appendices 1 to 3, wherein the wiring determined in the determining step is changed to a wiring width wider than a wiring width of the other wiring.

(付記5)前記決定工程は、
前記検出工程によって検出されたクロックネット内の配線のうち、クロックの分岐点となる回路素子から末端よりも一つ前段の回路素子までの配線を、前記他の配線の配線幅よりも太くする配線に決定させることを特徴とする付記4に記載の設計支援プログラム。
(Supplementary note 5)
Of the wirings in the clock net detected by the detection step, the wiring from the circuit element serving as the clock branch point to the circuit element one stage before the terminal is thicker than the wiring width of the other wiring. The design support program according to appendix 4, wherein the design support program is determined by

(付記6)前記変更工程は、
デザインルールに従って、変更対象となる配線と当該配線に隣接する配線との間の最小間隔が配線トラックのトラック間隔となるように変更させることを特徴とする付記1〜5のいずれか一つに記載の設計支援プログラム。
(Appendix 6)
According to any one of appendices 1 to 5, wherein the minimum interval between the wiring to be changed and the wiring adjacent to the wiring is changed to the track interval of the wiring track according to the design rule. Design support program.

(付記7)付記1〜6のいずれか一つに記載の設計支援プログラムを記録したコンピュータに読み取り可能な記録媒体。 (Supplementary note 7) A computer-readable recording medium in which the design support program according to any one of supplementary notes 1 to 6 is recorded.

(付記8)一部の配線の配線幅を、当該一部の配線とは異なる他の配線の配線幅よりも太幅にすることにより、前記一部の配線を辿るクロックのタイミングが補償された設計対象回路に関する設計データを記録したコンピュータに読み取り可能な記録媒体。 (Appendix 8) By making the wiring width of a part of the wiring wider than the wiring width of another wiring different from the part of the wiring, the timing of the clock that traces the part of the wiring is compensated. A computer-readable recording medium in which design data related to a design target circuit is recorded.

(付記9)一部の配線の配線幅を、当該一部の配線とは異なる他の配線の配線幅よりも太幅にすることにより、前記一部の配線を辿るクロックのタイミングが補償されていることを特徴とする半導体集積回路。 (Supplementary Note 9) By making the wiring width of some wirings wider than the wiring width of other wirings different from the part of the wirings, the timing of the clock that traces the part of the wiring is compensated. A semiconductor integrated circuit.

(付記10)設計対象回路の時定数が最大となるコーナー条件を用いて解析されたタイミング解析結果を取得する取得手段と、
前記取得手段によって取得されたタイミング解析結果に基づいて、前記設計対象回路に関するクロックツリーのうち、ホールドエラーが発生しているクロックネットを検出する検出手段と、
前記検出手段によって検出されたクロックネット内の配線の配線幅を、当該配線とは異なる他の配線の配線幅よりも太い配線幅に変更する変更手段と、
を備えたことを特徴とする設計支援装置。
(Supplementary Note 10) Acquisition means for acquiring a timing analysis result analyzed using a corner condition that maximizes a time constant of a circuit to be designed;
Based on the timing analysis result acquired by the acquisition unit, a detection unit that detects a clock net in which a hold error has occurred among clock trees related to the design target circuit;
Changing means for changing the wiring width of the wiring in the clock net detected by the detecting means to a wiring width that is thicker than the wiring width of other wiring different from the wiring;
A design support apparatus characterized by comprising:

(付記11)設計対象回路の時定数が最大となるコーナー条件を用いて解析されたタイミング解析結果を取得する取得工程と、
前記取得工程によって取得されたタイミング解析結果に基づいて、前記設計対象回路に関するクロックツリーのうち、ホールドエラーが発生しているクロックネットを検出する検出工程と、
前記検出工程によって検出されたクロックネット内の配線の配線幅を、当該配線とは異なる他の配線の配線幅よりも太い配線幅に変更する変更工程と、
を含んだことを特徴とする設計支援方法。
(Additional remark 11) The acquisition process which acquires the timing analysis result analyzed using the corner conditions in which the time constant of a design object circuit becomes the maximum,
Based on the timing analysis result acquired by the acquisition step, a detection step of detecting a clock net in which a hold error has occurred among clock trees related to the design target circuit;
Changing the wiring width of the wiring in the clock net detected by the detection step to a wiring width wider than the wiring width of other wiring different from the wiring;
The design support method characterized by including.

本実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the design support apparatus concerning this Embodiment. 本実施の形態の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of this Embodiment. 配線コーナーを示す説明図である。It is explanatory drawing which shows a wiring corner. 配線の構造定義を示す説明図である。It is explanatory drawing which shows the structure definition of wiring. 配線断面構造イメージを示す説明図である。It is explanatory drawing which shows a wiring cross-section structure image. 本実施の形態にかかる設計支援装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of the design assistance apparatus concerning this Embodiment. 本実施の形態にかかる設計支援装置の設計支援処理手順を示すフローチャートである。It is a flowchart which shows the design assistance processing procedure of the design assistance apparatus concerning this Embodiment. クロックツリーの生成手法の概要を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the outline | summary of the production | generation method of a clock tree. クロックツリーの生成手法の概要を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the outline | summary of the production | generation method of a clock tree. タイミング解析結果の一例を示す説明図である。It is explanatory drawing which shows an example of a timing analysis result. 配線変更対象のクロックネットを示す説明図である。It is explanatory drawing which shows the clock net of wiring change object. 実施例における設計支援処理手順を示すフローチャートである。It is a flowchart which shows the design assistance process procedure in an Example.

符号の説明Explanation of symbols

100 設計支援装置
200,700 設計対象回路
410 配線構造テーブル
420 層間絶縁膜
430 配線メタル
501 取得部
502 検出部
503 変更部
504 決定部
701〜704 回路素子
710 クロックツリー
800 タイミング解析結果
900 クロックネット
DESCRIPTION OF SYMBOLS 100 Design support apparatus 200,700 Design object circuit 410 Wiring structure table 420 Interlayer insulation film 430 Wiring metal 501 Acquisition part 502 Detection part 503 Change part 504 Determination part 701-704 Circuit element 710 Clock tree 800 Timing analysis result 900 Clock net

Claims (6)

設計対象回路の時定数が最大となるコーナー条件を用いて解析されたタイミング解析結果を取得する取得工程と、
前記取得工程によって取得されたタイミング解析結果に基づいて、前記設計対象回路に関するクロックツリーのうち、ホールドエラーが発生しているクロックネットを検出する検出工程と、
前記検出工程によって検出されたクロックネット内の配線のうち、クロックの分岐点となる回路素子から末端の回路素子までの配線を、当該配線とは異なる他の配線の配線幅よりも太くする配線に決定する決定工程と、
前記決定工程によって決定された配線を、前記他の配線の配線幅よりも太い配線幅に変更する変更工程と、
をコンピュータに実行させることを特徴とする設計支援プログラム。
An acquisition process for acquiring a timing analysis result analyzed using a corner condition that maximizes the time constant of the circuit to be designed;
Based on the timing analysis result acquired by the acquisition step, a detection step of detecting a clock net in which a hold error has occurred among clock trees related to the design target circuit;
Among the wirings in the clock net detected by the detection step, the wiring from the circuit element serving as the clock branch point to the terminal circuit element is made thicker than the wiring width of the other wiring different from the wiring. A decision process to decide;
A change step of changing the wiring determined by the determination step to a wiring width wider than the wiring width of the other wiring,
A design support program characterized by causing a computer to execute.
前記検出工程は、
前記クロックツリーのうちセットアップエラーと競合するホールドエラーが発生しているクロックネットを検出することを特徴とする請求項1に記載の設計支援プログラム。
The detection step includes
The design support program according to claim 1, wherein a clock net in which a hold error that conflicts with a setup error has occurred is detected in the clock tree.
前記検出工程は、
さらに、前記ホールドエラーと前記セットアップエラーとが競合するクロックネットのうち、当該クロックネットのリーフ数、クロック周波数およびゲート段数の少なくともいずれか一つが最大となるクロックネットを検出することを特徴とする請求項2に記載の設計支援プログラム。
The detection step includes
Furthermore, among the clock nets and the hold error and the set-up error conflict, wherein the leaf number of the clock net, is at least one of the clock frequency and the number of gate stages and detecting a clock nets which maximizes Item 3. The design support program according to Item 2.
前記決定工程は、  The determination step includes
前記検出工程によって検出されたクロックネット内の配線のうち、クロックの分岐点となる回路素子から末端よりも一つ前段の回路素子までの配線を、前記他の配線の配線幅よりも太くする配線に決定することを特徴とする請求項1〜3のいずれか一つに記載の設計支援プログラム。  Of the wirings in the clock net detected by the detection step, the wiring from the circuit element serving as the clock branch point to the circuit element one stage before the terminal is thicker than the wiring width of the other wiring. The design support program according to claim 1, wherein the design support program is determined as follows.
設計対象回路の時定数が最大となるコーナー条件を用いて解析されたタイミング解析結果を取得する取得手段と、  An acquisition means for acquiring a timing analysis result analyzed using a corner condition that maximizes a time constant of a circuit to be designed;
前記取得手段によって取得されたタイミング解析結果に基づいて、前記設計対象回路に関するクロックツリーのうち、ホールドエラーが発生しているクロックネットを検出する検出手段と、  Based on the timing analysis result acquired by the acquisition unit, a detection unit that detects a clock net in which a hold error has occurred among clock trees related to the design target circuit;
前記検出手段によって検出されたクロックネット内の配線のうち、クロックの分岐点となる回路素子から末端の回路素子までの配線を、当該配線とは異なる他の配線の配線幅よりも太くする配線に決定する決定手段と、  Among the wirings in the clock net detected by the detecting means, the wiring from the circuit element that is the clock branch point to the terminal circuit element is made thicker than the wiring width of the other wiring different from the wiring. A decision means to decide;
前記決定手段によって決定された配線を、前記他の配線の配線幅よりも太い配線幅に変更する変更手段と、  Changing means for changing the wiring determined by the determining means to a wiring width wider than the wiring width of the other wiring;
を備えたことを特徴とする設計支援装置。  A design support apparatus characterized by comprising:
コンピュータが、  Computer
設計対象回路の時定数が最大となるコーナー条件を用いて解析されたタイミング解析結果を取得する取得工程と、  An acquisition process for acquiring a timing analysis result analyzed using a corner condition that maximizes the time constant of the circuit to be designed;
前記取得工程によって取得されたタイミング解析結果に基づいて、前記設計対象回路に関するクロックツリーのうち、ホールドエラーが発生しているクロックネットを検出する検出工程と、  Based on the timing analysis result acquired by the acquisition step, a detection step of detecting a clock net in which a hold error has occurred among clock trees related to the design target circuit;
前記検出工程によって検出されたクロックネット内の配線のうち、クロックの分岐点となる回路素子から末端の回路素子までの配線を、当該配線とは異なる他の配線の配線幅よりも太くする配線に決定する決定工程と、  Among the wirings in the clock net detected by the detection step, the wiring from the circuit element serving as the clock branch point to the terminal circuit element is made thicker than the wiring width of the other wiring different from the wiring. A decision process to decide;
前記決定工程によって決定された配線を、前記他の配線の配線幅よりも太い配線幅に変更する変更工程と、  A change step of changing the wiring determined by the determination step to a wiring width wider than the wiring width of the other wiring,
を実行することを特徴とする設計支援方法。  A design support method characterized by executing
JP2007244313A 2007-09-20 2007-09-20 Design support program, design support apparatus, and design support method Expired - Fee Related JP5167740B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007244313A JP5167740B2 (en) 2007-09-20 2007-09-20 Design support program, design support apparatus, and design support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007244313A JP5167740B2 (en) 2007-09-20 2007-09-20 Design support program, design support apparatus, and design support method

Publications (2)

Publication Number Publication Date
JP2009076679A JP2009076679A (en) 2009-04-09
JP5167740B2 true JP5167740B2 (en) 2013-03-21

Family

ID=40611379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007244313A Expired - Fee Related JP5167740B2 (en) 2007-09-20 2007-09-20 Design support program, design support apparatus, and design support method

Country Status (1)

Country Link
JP (1) JP5167740B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539424B2 (en) * 2008-08-14 2013-09-17 Lsi Corporation System and method for designing integrated circuits that employ adaptive voltage scaling optimization
US20100277201A1 (en) * 2009-05-01 2010-11-04 Curt Wortman Embedded digital ip strip chip
US9053281B2 (en) * 2013-03-21 2015-06-09 Synopsys, Inc. Dual-structure clock tree synthesis (CTS)
JP7454689B2 (en) 2021-07-20 2024-03-22 チャンシン メモリー テクノロジーズ インコーポレイテッド Methods for manufacturing clock circuits, memories and semiconductor structures

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3207989B2 (en) * 1993-12-21 2001-09-10 三菱電機株式会社 Delay time calculator
JP3877698B2 (en) * 1994-08-03 2007-02-07 松下電器産業株式会社 Semiconductor integrated circuit design method
JP2914257B2 (en) * 1995-11-10 1999-06-28 日本電気株式会社 How to determine conflict behavior
JP2006338253A (en) * 2005-06-01 2006-12-14 Matsushita Electric Ind Co Ltd Timing verification method
JP2007172258A (en) * 2005-12-21 2007-07-05 Matsushita Electric Ind Co Ltd Timing verification method and layout optimization method

Also Published As

Publication number Publication date
JP2009076679A (en) 2009-04-09

Similar Documents

Publication Publication Date Title
US20090293033A1 (en) System and method for layout design of integrated circuit
JP4530731B2 (en) Layout design apparatus, layout design method, layout design program, and recording medium
JP5167740B2 (en) Design support program, design support apparatus, and design support method
JP2015166981A (en) Layout verification method, verification device and verification program
JP2007264993A (en) Verification support apparatus, verification support method, verification support program and recording medium
JP5359655B2 (en) Generation method
JP4985323B2 (en) Layout support program, recording medium storing the program, layout support apparatus, and layout support method
JP4471794B2 (en) Timing analysis apparatus, timing analysis method, timing analysis program, and recording medium
JP5256829B2 (en) Verification support program, verification support apparatus, and verification support method
US7945882B2 (en) Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
JP5136371B2 (en) Design support method
JP2008009787A (en) Hierarchical design layout device, hierarchical design layout method, hierarchical design layout program, and recording medium recording the program
US20080209368A1 (en) Layout design method, layout design apparatus, and computer product
JP5299198B2 (en) Design support program, design support apparatus, and design support method
JP4388847B2 (en) Layout design apparatus, layout design program, and recording medium
US20180046744A1 (en) Systems and methods for cell abutment
JP4294000B2 (en) Clock delay analysis device, clock delay analysis method, clock delay analysis program, and recording medium
JP2008004024A (en) Layout design program, recording medium for recording the program, layout design apparatus, and layout design method
JP4351245B2 (en) Delay analysis program, recording medium recording the program, delay analysis apparatus, and delay analysis method
US10255396B2 (en) Graphical analysis of complex clock trees
JP2006344165A (en) Layout design device, layout design method, layout design program and recording medium
JP4682059B2 (en) False path description information generation program, false path description information generation device, and false path description information generation method
JP5212218B2 (en) Design support program, design support apparatus, and design support method
JP4217204B2 (en) Timing exception path detection device, timing exception path detection method, and timing exception path detection program
JP4825905B2 (en) Layout design apparatus, layout design program, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121105

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121210

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees