JP2013131070A - Apparatus, method, and program for supporting circuit design - Google Patents
Apparatus, method, and program for supporting circuit design Download PDFInfo
- Publication number
- JP2013131070A JP2013131070A JP2011280539A JP2011280539A JP2013131070A JP 2013131070 A JP2013131070 A JP 2013131070A JP 2011280539 A JP2011280539 A JP 2011280539A JP 2011280539 A JP2011280539 A JP 2011280539A JP 2013131070 A JP2013131070 A JP 2013131070A
- Authority
- JP
- Japan
- Prior art keywords
- target path
- arrangement information
- cell
- wiring
- jitter value
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は回路設計支援装置に関し、特にジッタ及び消費電力を考慮した回路設計に関する。 The present invention relates to a circuit design support apparatus, and more particularly to a circuit design that takes jitter and power consumption into consideration.
電源ノイズなどに起因するジッタは、チップ間通信のエラーなどの実機不良を引き起こす原因となるため、様々なジッタの低減方法が考えられている。図1は、様々なジッタの低減方法を示した図である。図1に示すように、ジッタの低減方法は大別すると4つの方法が考えられる。ノイズ源を低減する方法(攻撃者側の対策)には、(1)電源配線を強化する方法、(2)消費電流を低減する方法がある。ノイズの影響を低減する方法(被害者側の対策)には、(3)ジッタを直接低減する方法、(4)電源ノイズの影響を低減することによりジッタを低減する方法がある。 Since jitter caused by power supply noise causes an actual machine failure such as an error in communication between chips, various methods for reducing jitter have been considered. FIG. 1 is a diagram showing various jitter reduction methods. As shown in FIG. 1, the jitter reduction methods can be roughly divided into four methods. There are (1) a method for strengthening power supply wiring and (2) a method for reducing current consumption as methods for reducing noise sources (measures on the attacker side). There are (3) a method of directly reducing jitter and (4) a method of reducing jitter by reducing the influence of power supply noise.
本発明は、(4)電源ノイズの影響を低減することによりジッタを低減する方法に関し、特に、パス構成に基づいてジッタの低減を行うものである。パス構成に関連する技術としては以下のような文献が開示されている。非特許文献1には、パス遅延を最小化する技術が開示されている。図2は、非特許文献1において、パス遅延に関する図である。図2を参照すると、リピータの挿入数と、パス遅延との関係が示されている。非特許文献1では、パス遅延の最小化を目的として、等間隔でセル(リピータ)を何段挿入したら、パス遅延が最小になるかについて開示している。
The present invention relates to (4) a method of reducing jitter by reducing the influence of power supply noise, and particularly to reducing jitter based on a path configuration. The following documents are disclosed as techniques related to the path configuration. Non-Patent
特許文献1(特開2011−8410号公報)には、製造ばらつき、及び、環境変動等のパラメータの条件の変動に対して、耐性の強い信号パスの回路設計を行うことができる回路設計支援装置が開示されている。この回路設計支援装置は、信号パスでの前段回路と後段回路との間を接続する配線として取り得る配線長ごとに、複数のパラメータの所定の条件における信号パスの遅延時間から、複数のパラメータの個別の条件の変動が遅延時間に与える影響度合いを算出する算出手段と、算出された影響度合いに基づいて信号パスの配置情報を決定する決定手段とを備えることを特徴としている。 Patent Document 1 (Japanese Patent Application Laid-Open No. 2011-8410) discloses a circuit design support apparatus that can perform circuit design of a signal path that is highly resistant to fluctuations in parameter conditions such as manufacturing variations and environmental variations. Is disclosed. This circuit design support device uses a delay time of a plurality of parameters from a delay time of a signal path under a predetermined condition of a plurality of parameters for each wiring length that can be taken as a wiring connecting a front circuit and a rear circuit in a signal path. It is characterized by comprising a calculating means for calculating the degree of influence of fluctuation of individual conditions on the delay time, and a determining means for determining signal path arrangement information based on the calculated degree of influence.
また、図1の(3)ジッタを直接低減する方法であって、ジッタ低減回路に関する技術としては以下のような文献が開示されている。特許文献2(特開2010−191644号公報)には、クロックジッタを低減できる半導体設計支援プログラムが開示されている。この半導体設計支援プログラムは、調整対象回路指定手段と、ノイズ周期特定手段と、遅延時間特定手段と、調整時間決定手段とを備える。調整対象回路指定手段は、調整対象となるクロック分配回路を指定する。ノイズ周期特定手段は、クロック分配回路に周期的なノイズの影響を与えるノイズ源のノイズ周期を特定する。遅延時間特定手段は、クロック分配回路の伝播遅延時間を特定する。調整時間決定手段は、伝播遅延時間に調整時間を加えた調整後伝播遅延時間が、ノイズ周期の自然数倍となるように調整時間を決定する。このような半導体設計支援プログラムによれば、クロック信号のジッタ量を低減した半導体装置を容易に設計できるとされている。 1 is a method for directly reducing jitter (3), and the following documents are disclosed as techniques relating to the jitter reduction circuit. Patent Document 2 (Japanese Patent Laid-Open No. 2010-191644) discloses a semiconductor design support program that can reduce clock jitter. The semiconductor design support program includes an adjustment target circuit specifying unit, a noise period specifying unit, a delay time specifying unit, and an adjustment time determining unit. The adjustment target circuit designating unit designates a clock distribution circuit to be adjusted. The noise period specifying means specifies a noise period of a noise source that has an influence of periodic noise on the clock distribution circuit. The delay time specifying means specifies the propagation delay time of the clock distribution circuit. The adjustment time determining means determines the adjustment time so that the adjusted propagation delay time obtained by adding the adjustment time to the propagation delay time is a natural number multiple of the noise period. According to such a semiconductor design support program, it is said that a semiconductor device in which the jitter amount of the clock signal is reduced can be easily designed.
特許文献3(特開2010−39631号公報)には、電源ノイズによる電源電圧変動を考慮して論理セルを配置するLSIの設計方法が開示されている。このLSIの設計方法は、電源線上の複数の点における電圧波形を取得し、電圧波形から最小電圧を求め、電源線の複数の点の中の2点間の距離に対する最小電圧の空間相関を表す第1の相関係数を求め、第1の相関係数に基づいて、複数の論理セルの配置を決定することを特徴としている。 Patent Document 3 (Japanese Patent Laid-Open No. 2010-39631) discloses an LSI design method in which logic cells are arranged in consideration of power supply voltage fluctuation due to power supply noise. This LSI design method obtains a voltage waveform at a plurality of points on a power supply line, obtains a minimum voltage from the voltage waveform, and expresses a spatial correlation of the minimum voltage with respect to a distance between two points among the plurality of points on the power supply line. The first correlation coefficient is obtained, and the arrangement of the plurality of logic cells is determined based on the first correlation coefficient.
特許文献4(特開2008−227624号公報)には、電源ノイズの影響を軽減する方法が開示されている。この電源ノイズの影響低減方法は、電子回路の第1の信号線を伝播する第1の信号に乗っている電源ノイズが、第2の信号線を伝播する第2の信号に与える影響を軽減する方法であって、第2の信号に影響を与える電源ノイズ内の特定の周波数成分のノイズを測定し、測定された特定の周波数成分のノイズの発生頻度に応じて第1又は第2の信号の成分を制御することを特徴としている。これによって、第2の信号に生じる電源ノイズの影響を低減できるとされている。 Japanese Patent Application Laid-Open No. 2008-227624 discloses a method for reducing the influence of power supply noise. This method of reducing the influence of power supply noise reduces the influence of power supply noise riding on the first signal propagating through the first signal line of the electronic circuit on the second signal propagating through the second signal line. A method of measuring noise of a specific frequency component in power supply noise that affects the second signal, and measuring the noise of the first or second signal according to the frequency of occurrence of noise of the measured specific frequency component. It is characterized by controlling the components. As a result, the influence of power supply noise generated in the second signal can be reduced.
特許文献5(特開2007−193658号公報)には、クロック遅延値を調整する機能を備える半導体装置が開示されている。この半導体装置は、発振源から出力されるクロックを、半導体装置の内部回路へ分配するクロック分配手段と、クロックを外部回路に供給するクロック供給手段と、外部回路に供給されるクロックとクロック分配手段の終端におけるクロックとの位相差を検出する位相差検出手段と、位相差検出手段で検出された位相差のデータを元にクロック供給手段から出力されるクロックの遅延を調整するクロック遅延調整手段とを含むことを特徴としている。このような半導体装置は、内部ブロックの動作による電源変動によっても、外部に出力するクロックに影響を及ぼさないため、安定したクロック信号を供給することが可能であるとしている。 Japanese Patent Laid-Open No. 2007-193658 discloses a semiconductor device having a function of adjusting a clock delay value. The semiconductor device includes a clock distribution unit that distributes a clock output from an oscillation source to an internal circuit of the semiconductor device, a clock supply unit that supplies a clock to an external circuit, a clock that is supplied to the external circuit, and a clock distribution unit A phase difference detecting means for detecting a phase difference from the clock at the end of the clock, and a clock delay adjusting means for adjusting a delay of the clock output from the clock supply means based on the phase difference data detected by the phase difference detecting means; It is characterized by including. Such a semiconductor device can supply a stable clock signal because it does not affect the clock output to the outside even if the power supply fluctuates due to the operation of the internal block.
非特許文献1に記載されたような方法では、パス遅延(セル遅延+配線遅延)を最小化するためにリピータを挿入しているため、パス遅延のうちでセル遅延の割合が大きくなる。配線遅延は電圧が変動しても変動しにくいが、セル遅延は電圧の変動に基づいて変動しやすい性質がある。従って、非特許文献1のようにリピータの挿入によってパス遅延を最小化したとしても、電圧の変動による影響を受けやすくなり、その結果、電源ノイズによるパス遅延の変動(ジッタ値)が大きくなる問題がある。
In the method described in
以下に、発明を実施するための形態で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための形態の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。 In the following, means for solving the problems will be described using the reference numerals used in the embodiments for carrying out the invention in parentheses. This symbol is added to clarify the correspondence between the description of the claims and the description of the mode for carrying out the invention, and the technical scope of the invention described in the claims. Must not be used to interpret
本発明の回路設計支援装置(1)は、信号を伝搬させる設計対象である対象パス(23)と、信号の周期と、信号の許容ジッタ値とをユーザ入力に基づいて設定する条件設定部(11)と、対象パス(23)に供給される電源電圧(V)を周期(T)毎に平均化した平均電源電圧(VAk)と、平均電源電圧(VAk)の最大値(VAmax)及び最小値(VAmin)とを算出する電圧算出部(12)と、対象パス(23)の要素として配置される駆動能力の異なる複数のセル種(CELLi)の各々の論理段数(ni)の組合せである配置情報を、対象パス(23)の駆動能力が減少していくように順番に設定するセル設定部(14)と、駆動能力が高い配置情報の順に、配置情報で規定される対象パス(23)に対して、最大値(VAmax)が供給されたときの対象パス(23)の第1遅延と、最小値(VAmin)が供給されたときの対象パス(23)の第2遅延との差が最小となるときの、複数のセル種(CELLi)の各々の後段の最適配線長(li)の組合せである配線情報を算出する配線長算出部(15)と、駆動能力が高い配置情報の順に、配置情報と配線情報とで規定される対象パス(23)に対して、平均電源電圧(VA)に基づいてジッタ値(J)を算出するジッタ値算出部(16)と、駆動能力が高い配置情報の順に、ジッタ値(J)が許容ジッタ値を超えているか否かを判定する判定部(17)とを具備する。判定部(17)は、第1配置情報と第1配線情報とで規定される対象パス(23)の第1ジッタ値(J)が許容ジッタ値を越えている場合、第1配置情報と第1配線情報よりも前に算出されている、第2配置情報と第2配線情報とを対象パス(23)の要素として決定する。 A circuit design support device (1) according to the present invention includes a condition setting unit (23) that sets a target path (23) that is a design target for signal propagation, a signal cycle, and an allowable jitter value of a signal based on user input. 11), the average power supply voltage (VA k ) obtained by averaging the power supply voltage (V) supplied to the target path (23) every period (T), and the maximum value (VA max ) of the average power supply voltage (VA k ) ) And a minimum value (VA min ), and the number of logical stages (n) of each of a plurality of cell types (CELL i ) having different driving capabilities arranged as elements of the target path (23). i ) is defined by arrangement information in the order of the cell setting unit (14) that sets the arrangement information in order so that the driving capability of the target path (23) decreases and the arrangement information having the highest driving capability. For the target path (23) (VA max) and the first delay of the target path (23) when it is supplied, when the difference between the second delay target path (23) is minimized when the minimum value (VA min) is supplied Of the plurality of cell types (CELL i ), the wiring length calculation unit (15) that calculates the wiring information that is the combination of the optimal wiring length (l i ) at the subsequent stage, and the arrangement information in the order of arrangement information with high driving capability A jitter value calculation unit (16) for calculating a jitter value (J) based on an average power supply voltage (VA) for a target path (23) defined by the information and the wiring information, and arrangement information having a high driving capability And a determination unit (17) for determining whether or not the jitter value (J) exceeds the allowable jitter value. When the first jitter value (J) of the target path (23) defined by the first arrangement information and the first wiring information exceeds the allowable jitter value, the determination unit (17) The second arrangement information and the second wiring information calculated before the one wiring information are determined as elements of the target path (23).
本発明の回路設計支援方法は、信号を伝搬させる設計対象である対象パス(23)と、信号の周期(T)と、信号の許容ジッタ値とをユーザ入力に基づいて設定するステップと、対象パス(23)に供給される電源電圧(V)を周期(T)毎に平均化した平均電源電圧(VAk)と、平均電源電圧(VAk)の最大値(VAmax)及び最小値(VAmin)とを算出するステップと、対象パス(23)の要素として配置される駆動能力の異なる複数のセル種(CELLi)の各々の論理段数(ni)の組合せである配置情報に基づいて、電源電圧(V)が変動しても対象パス(23)の遅延の変動が小さい対象パス(23)の要素を決定するステップとを具備する。
対象パス(23)の要素を決定するステップは、第1配置情報を設定するステップと、第1配置情報で規定される対象パス(23)に対して、最大値(VAmax)が供給されたときの対象パス(23)の第1遅延と、最小値(VAmin)が供給されたときの対象パス(23)の第2遅延との差が最小となるときの、第1配置情報に含まれる複数のセル種(CELLi)の各々の後段の最適配線長(li)の組合せである第1配線情報を算出するステップと、第1配置情報と第1配線情報とで規定される対象パス(23)に対して、平均電源電圧(VAk)に基づいて第1ジッタ値(J)を算出するステップと、第1ジッタ値(J)が許容ジッタ値以下であることを判定するステップと、第1配置情報よりも駆動能力の低い第2配置情報を設定するステップと、第2配置情報で規定される対象パス(23)に対して、最大値(VAmax)が供給されたときの対象パス(23)の第3遅延と、最小値(VAmin)が供給されたときの対象パス(23)の第4遅延との差が最小となるときの、第2配置情報に含まれる複数のセル種(CELLi)の各々の後段の最適配線長(li)の組合せである第2配線情報を算出するステップと、第2配置情報と第2配線情報とで規定される対象パス(23)に対して、平均電源電圧(VAk)に基づいて第2ジッタ値(J)を算出するステップと、第2ジッタ値(J)が許容ジッタ値を超えたか否かを判定するステップと、第2ジッタ値(J)が許容ジッタ値を越えている場合、第1配置情報と第1配線情報とを対象パス(23)の要素として決定するステップを備える。
The circuit design support method of the present invention includes a step of setting a target path (23) that is a design target for signal propagation, a signal period (T), and an allowable jitter value of the signal based on user input, The average power supply voltage (VA k ) obtained by averaging the power supply voltage (V) supplied to the path (23) every period (T), and the maximum value (VA max ) and the minimum value of the average power supply voltage (VA k ) ( VA min ) and arrangement information that is a combination of the number of logical stages (n i ) of each of a plurality of cell types (CELL i ) having different driving capabilities arranged as elements of the target path (23). And determining an element of the target path (23) in which the delay variation of the target path (23) is small even if the power supply voltage (V) varies.
In the step of determining the element of the target path (23), the maximum value (VA max ) is supplied to the step of setting the first arrangement information and the target path (23) defined by the first arrangement information. Included in the first arrangement information when the difference between the first delay of the target path (23) at the time and the second delay of the target path (23) when the minimum value (VA min ) is supplied is minimum A step of calculating first wiring information that is a combination of the optimum wiring length (l i ) at the subsequent stage of each of the plurality of cell types (CELL i ), and an object defined by the first arrangement information and the first wiring information A step of calculating a first jitter value (J) for the path (23) based on the average power supply voltage (VA k ), and a step of determining that the first jitter value (J) is less than or equal to an allowable jitter value. And a second arrangement having a lower driving capability than the first arrangement information A step of setting information, a third delay of the target path (23) when the maximum value (VA max ) is supplied to the target path (23) defined by the second arrangement information, and a minimum value ( VA min ) when the difference from the fourth delay of the target path (23) is minimized, the optimal wiring in the subsequent stage of each of the plurality of cell types (CELL i ) included in the second arrangement information The average power supply voltage (VA k ) is calculated for the target path (23) defined by the step of calculating the second wiring information that is a combination of the length (l i ) and the second arrangement information and the second wiring information. A step of calculating a second jitter value (J) based on the step, a step of determining whether or not the second jitter value (J) exceeds the allowable jitter value, and the second jitter value (J) exceeds the allowable jitter value. If the first path information and the first wiring information are the target path (2 The step of determining as an element of 3) is provided.
本発明の回路設計支援装置は、電源ノイズに起因して電圧が変動しても、ジッタ値が許容範囲内に収まる低消費電力回路の設計を支援することができる。 The circuit design support device of the present invention can support the design of a low power consumption circuit in which the jitter value is within an allowable range even when the voltage fluctuates due to power supply noise.
以下、添付図面を参照して本発明の実施の形態による回路設計支援装置を説明する。 Hereinafter, a circuit design support apparatus according to an embodiment of the present invention will be described with reference to the accompanying drawings.
(第1の実施の形態)
本発明の第1の実施の形態を説明する。まず、本発明の回路設計支援装置の適用箇所について図3A、図3Bを用いて説明する。たとえば、所望するシステムを半導体集積回路として設計する際には、図3Aに示すように、おおむねシステム設計が実施され、その出力としてRTL(Register Transfer Level)記述された回路情報(機能情報)が作られる(ステップS101)。このRTL記述された回路情報を基に機能・論理設計が実施され、ゲートレベルの論理回路、すなわちネットリストが生成される(ステップS102)。そして、このネットリストをもとに、マクロの配置や、その他の素子(機能ブロックなど)を配置、配線してレイアウト設計を実施する(ステップS103、S104、S105)。図3Aでは示していないが、レイアウトが完了した回路の各検証を行い、問題なければ、サインオフにいたって、GDS(Graphic Design Standard)を出力する(ステップS106)。そしてGDSをもとに半導体装置の製造用マスクを作成し、半導体装置の製造に利用する。
(First embodiment)
A first embodiment of the present invention will be described. First, application points of the circuit design support apparatus of the present invention will be described with reference to FIGS. 3A and 3B. For example, when designing a desired system as a semiconductor integrated circuit, as shown in FIG. 3A, the system design is generally implemented, and circuit information (functional information) described in RTL (Register Transfer Level) is generated as the output. (Step S101). Functional / logic design is performed based on the circuit information described in the RTL, and a gate-level logic circuit, that is, a net list is generated (step S102). Then, based on the net list, a layout is designed by arranging and wiring a macro and other elements (functional blocks, etc.) (steps S103, S104, and S105). Although not shown in FIG. 3A, each verification of the circuit whose layout has been completed is performed. If there is no problem, the sign-off is performed and a GDS (Graphic Design Standard) is output (step S106). Then, a mask for manufacturing the semiconductor device is created based on the GDS and used for manufacturing the semiconductor device.
この一般的な半導体装置の設計フローにおいて、本発明の回路設計支援装置は、図3Aに示す、マクロの配置が終わった段階でのレイアウト情報をもとに、回路設計支援を行う対象パスや回路に対して処理を実行する(ステップS110)。あるいは、本発明の回路設計支援装置は、上述の機能ブロックなどを配置、配線してほぼ終盤のレイアウト設計が終わった段階でのレイアウト情報をもとに、回路設計支援を行う対象パスや回路に対して処理を実行する(ステップS111)。ステップS111の場合、本発明の回路設計支援装置の出力結果に応じて、再度、回路ならびにレイアウトの修正を行うECO(Engineering Change Orders)が実行される(ステップS105)。
なお、本明細書では、この一般的な半導体装置の設計フローを実行するシステムを単に設計システムと称する。
In this general design flow of a semiconductor device, the circuit design support apparatus of the present invention provides a target path or circuit for providing circuit design support based on layout information at the stage of macro placement shown in FIG. 3A. The process is executed for (Step S110). Alternatively, the circuit design support apparatus according to the present invention may be configured to target paths and circuits for which circuit design support is performed based on layout information at the stage when the layout design at the end of the process is almost completed by arranging and wiring the above-described functional blocks. Then, the process is executed (step S111). In step S111, ECO (Engineering Change Orders) for correcting the circuit and the layout is executed again according to the output result of the circuit design support apparatus of the present invention (step S105).
In this specification, a system that executes this general design flow of a semiconductor device is simply referred to as a design system.
次に図3Bに、本発明の回路設計支援装置1の概要を示す。本発明の回路設計支援装置1は、少なくとも、内部回路に供給される電源の電圧波形情報と、対象パス(あるいは対象回路)と、対象パス(あるいは対象回路)の総配線長と、セルリストと、対象パス(あるいは対象回路)の動作周波数とを含む入力情報が入力される。これらは、あらかじめ設計段階で既知の場合はすべて外部から入力し、図3Aの設計フローの各段階での情報を反映した情報として設計システムから得る場合は、設計システムから入力する。
図3Bにあっては、回路設計支援装置1のサブシステムは、レイアウト情報(たとえばDEF)からマクロの配置情報を入手し、この情報から電源ノイズ解析を行って上述の電圧波形情報を算出し(ステップS120)、回路設計支援装置1のメインシステムに入力する。また、回路設計支援装置1のサブシステムは、対象パスとレイアウト情報とに基づいて、対象パスの総配線長を算出する(ステップS121)。
Next, FIG. 3B shows an outline of the circuit
In FIG. 3B, the subsystem of the circuit
なお、電圧波形情報や対象パス(あるいは対象回路)の総配線長は、より詳細なレイアウトが実施された後に算出するほうがベターな場合は、図3AのステップS111のフェーズで回路設計支援装置1を利用するとよい。更に、必要に応じてステップS110とステップS111との2回とも実行することも可能である。
また、実施箇所はこれらにかぎられない。すなわち、設計者が所望の段階で設計システムに対して回路設計支援装置1の出力結果を反映するようにすればよい。
なお、図3Bでは、上述の回路設計支援装置1のサブシステムとメインシステムとをあわせたものが本発明の回路設計支援装置1としているが、メインシステムのみの構成でもよい。
If it is better to calculate the voltage waveform information and the total wiring length of the target path (or target circuit) after a more detailed layout is performed, the circuit
Moreover, the implementation location is not limited to these. In other words, the designer may reflect the output result of the circuit
In FIG. 3B, the circuit
本発明の回路設計支援装置1は、ジッタ低減設計を行って(ステップS130)、少なくとも対象パス(対象回路)の指定された論理段数niと配線長liとを出力し、前述の設計システムにフィードバックを行う。対象パスではなく、対象回路として指定した場合は、対象回路に含まれる1つまたは複数のパスに対して同様の処理を行う。すなわち設計システムは、本発明の回路設計支援装置1の出力した論理段数niと配線長liに従ってレイアウトを実行する。その処理のインターフェースについては、設計システムにあわせ適宜行えばよい。
The circuit
本実施の形態では、以上記したように、本発明の回路設計支援装置1は、少なくとも、内部回路に供給される電源の電圧波形情報・対象パス(あるいは対象回路)・対象パス(あるいは対象回路)の総配線長・セルリスト・対象パス(あるいは対象回路)の動作周波数を含む入力情報を基に、ジッタを考慮した回路となるように、対象パス(対象回路)に対して、少なくとも対象パス(対象回路)の指定された論理段数niと配線長liとを設計システムに出力する。このような本発明の回路設計支援装置(メインシステム)1は、図4に示されるような構成をとる。
In the present embodiment, as described above, the circuit
図4は、本発明の回路設計支援装置(メインシステム)1の構成例を示したブロック図である。図4を参照すると、回路設計支援装置1は、ライブラリ部10と、条件設定部11と、電圧算出部12と、セル条件設定部13と、セル設定部14と、配線長算出部15と、ジッタ値算出部16と、判定部17と、消費電力算出部18と、出力部19とを具備する。
FIG. 4 is a block diagram showing a configuration example of the circuit design support apparatus (main system) 1 of the present invention. Referring to FIG. 4, the circuit
ライブラリ部10は、セル種と、当該セル種を駆動する電源電圧の範囲と、電源電圧の範囲に対応したステージ遅延の関数とを関連付けてライブラリとして格納する。ライブラリ部10は、ライブラリを予め格納していてもよいし、ユーザ入力に基づいて生成してもよい。図5は、ライブラリ部10が格納するライブラリの例である。図5を参照すると、セル種CELLiと、セル種CELLiを駆動する電源電圧の範囲と、電源電圧の範囲に対応したステージ遅延の関数とが関連づけられている。ステージ遅延の関数について説明すると、ステージ遅延は、所定の機能を実現する回路を表すセルに関するセル遅延と、当該セルと後段のセルとを接続する配線に関する配線遅延とに基づいた遅延であって、セル種CELLi(i=1〜m)と、セル種CELLiを駆動する電源電圧vhと、セル種CELLiの後段の配線長liとに基づいて決まる遅延である。従って、セル種CELLi及び電源電圧vhを定めると、ステージ遅延は配線長liを変数とする関数として表せる。
The
ライブラリ部10がライブラリを生成する場合について説明する。ライブラリ部10は、ユーザ入力に基づいて、複数のセル種(CELL1、CELL2、・・・、CELLm)と、各セル種CELLiを駆動する電源電圧の範囲(最小電圧値vminから最大電圧値vmax)を取得する。尚、複数のセル種(CELL1、CELL2、・・・、CELLm)は、セルリスト(詳細は後述する)として取得してもよい。更に、最小電圧値vmin及び最大電圧値vmaxは、電圧波形情報(詳細は後述する)に基づいてライブラリ部10が設定してもよい。ライブラリ部10は、ステージ遅延の関数を算出するにあたって、各セル種CELLiを駆動する電源電圧として、最小電圧値vminから最大電圧値vmaxの範囲に含まれる電圧v1、v2、・・・の離散値を用いる。ライブラリ部10は、任意のセル種CELLiが駆動する電源電圧を電圧v1としたときのステージ遅延を、配線長li毎にSPICE(Simulation Program with Integrated Circuit Emphasis)で算出する。そして、ライブラリ部10は配線長li毎に算出されたステージ遅延を、配線長liを変数とする2次関数でフィッティングする。ライブラリ部10は、セル種CELLiを駆動する電源電圧が電圧v1であるステージ遅延の関数を式(1)のように算出する。
Dstage=ai(v1)×li 2+bi(v1)×li+ci(v1)・・・(1)
A case where the
D stage = a i (v 1 ) × l i 2 + b i (v 1 ) × l i + c i (v 1 ) (1)
図6は、式(1)のステージ遅延の関数を図示したものである。前述したように、セル種CELLiを駆動する電源電圧は電圧v1である。ライブラリ部10は、セル種CELLiと、電源電圧Vの範囲(vmin≦V≦(v1+v2)/2)と、ステージ遅延の関数である式(1)とを関連付けて格納する。
FIG. 6 illustrates the stage delay function of equation (1). As described above, the power supply voltage for driving the cell type CELL i is the voltage v 1 . The
ライブラリ部10は、同様に電圧v2のセル種CELLiのステージ遅延の関数を式(2)のように算出する。
Dstage=ai(v2)×li 2+bi(v2)×li+ci(v2)・・・(2)
ライブラリ部10は、セル種CELLiと、電源電圧Vの範囲((v1+v2)/2<V≦(v2+v3)/2)と、ステージ遅延の関数である式(2)とを関連付けて格納する。更に、ライブラリ部10は、任意の電圧vhのセル種CELLiのステージ遅延の関数を式(3)のように算出する。
Dstage=ai(vh)×li 2+bi(vh)×li+ci(vh)・・・(3)
ライブラリ部10は、セル種CELLiと、電源電圧Vの範囲((vh−1+vh)/2<V≦(vh+vh+1)/2)と、ステージ遅延の関数である式(3)とを関連付けて格納する。
Similarly, the
D stage = a i (v 2 ) × l i 2 + b i (v 2 ) × l i + c i (v 2 ) (2)
The
D stage = a i (v h ) × l i 2 + b i (v h ) × l i + c i (v h ) (3)
The
ライブラリ部10は、セル種CELLiと、セル種CELLiを駆動する電源電圧Vの範囲と、算出したステージ遅延の関数とを関連付けて図5に示すようなライブラリとして格納する。ライブラリ部10は、他のセル種に対しても同様に関連付けを行い、全てのセル種を含むライブラリを生成する。尚、ライブラリ部10は、ステージ遅延の関数を保存しているとしたが、ai(vh)、bi(vh)、ci(vh)などの係数を保存するものであってもよい。
The
ここで、パス遅延について説明する。図7は、ステージ遅延とパス遅延との関係を示す図である。図6に示すように、ステージ遅延Dstageは配線長liを変数とする関数で表すことができるため、配線長liを決定しステージ遅延の関数に代入すると所望のステージ遅延Dstageを算出することができる。ステージ遅延Dstageに対して、同じセル種CELLiの論理段数niを乗じると、当該セル種CELLiに関するパス遅延Dpathが算出できる。図7に示すように、例えば、対象パスが同一のセル種CELLiであって、論理段数がni段である場合、パス遅延Dpathは、ステージ遅延Dstageに論理段数niを乗じることで算出することができる。 Here, the path delay will be described. FIG. 7 is a diagram illustrating the relationship between stage delay and path delay. As shown in FIG. 6, since the stage delay D stage can be expressed by a function having the wiring length l i as a variable, the desired stage delay D stage is calculated by determining the wiring length l i and substituting it into the stage delay function. can do. When the stage delay D stage is multiplied by the number of logical stages n i of the same cell type CELL i , the path delay D path for the cell type CELL i can be calculated. As shown in FIG. 7, for example, target path are the same cell type CELL i, if the number of logic stages is n i stages, a path delay D path is multiplying the number of logic stages n i in stage delay D Stage Can be calculated.
図4に戻り、条件設定部11は、ユーザ入力に基づいて、クロック信号を伝搬させる設計対象である対象パスと、クロック信号の周波数(動作周波数)と、クロック信号の周期と、クロック信号の許容ジッタ値とを取得し、パス情報として設定する。また、条件設定部11は、対象パスの総配線長Ltotalを回路設計支援装置1のサブシステムから取得する。図8は、ジッタ値を低減させる対象パス23を示す図である。条件設定部11は、PLL(Phase Locked Loop)などのクロックソース20から、アナログ回路などの回路21にクロック信号を伝搬させる対象パス23を設定する。図9は、クロック信号を示す図である。図9では、クロック信号の周期がTで示されている。条件設定部11は、ユーザ入力に基づいて、クロック周波数(fclk=1/T)、及び、クロック信号の周期Tを設定する。図10は、クロック信号のジッタを示す図である。条件設定部11は、ユーザ入力に基づいて、ジッタの許容値である許容ジッタ値を設定する。本発明で扱うジッタ値は、Cycle‐to‐Cycleジッタ値の最大と、周期ジッタ値との何れでもよい。Cycle‐to‐Cycleジッタ値は、ある時刻t1で立ち上がるクロック信号の周期T1と、その次に立ち上がるクロック信号の周期T2との差分で表されるジッタ値であって、最大とは所定の期間内でのCycle‐to‐Cycleジッタ値の最大値を表す。周期ジッタ値は、所定の期間内での全てのクロック信号の周期Tkのうちで最大値と最小値の差で表されるジッタ値である。
Returning to FIG. 4, the
電圧算出部12は、電圧波形情報を回路設計支援装置1のサブシステムから取得する。図11は、電圧波形情報示す図である。また、電圧算出部12は、ユーザ入力に基づいて、クロック信号の周期Tを取得する。電圧算出部12は、電圧波形情報を参照して、対象パス23に供給されるノイズを含む所定の期間の電源電圧Vを、クロック信号の周期T毎に平均化した平均電源電圧VAk(k=1、2、・・・、q)を算出する。また、電圧算出部12は、所定の期間の平均電源電圧VAkのうちで、最大値VAmaxと最小値VAminとを算出する。図11を参照すると、電圧算出部12は、任意の周期Tk(k=1、2、・・・、q)の立ち上がり時刻tkから、周期Tk+1の立ち上がり時刻tk+1までの電源電圧Vを平均化した平均電源電圧VAkを算出する。
時刻tkは、式(4)のように表せる。
tk=T×k・・・(4)
時刻tkから、時刻tk+1までの平均電源電圧VAkは、式(5)で表すことができる。
Time t k can be expressed as shown in Equation (4).
t k = T × k (4)
Average supply voltage VA k from time t k, to time t k + 1 can be expressed by Equation (5).
セル条件設定部13は、ユーザ入力に基づいて、対象パス23の要素として配置される駆動能力の異なる複数のセル種CELLi(i=1〜m)をリスト化したセルリスト(CELL_LIST={CELL1、CELL2、CELL3、・・・、CELLm})を取得する。また、セル条件設定部13は、ユーザ入力に基づいて、セルリストに含まれる各セル種CELLiの後段に接続する配線長の最大値(最大配線長Li)と、各セル種CELLiの最大の論理段数(最大論理段数Ni)とを設定する。
The cell
セル設定部14は、対象パス23の要素として配置される駆動能力の異なる各セル種CELLiの論理段数niの組合せである配置情報を、対象パス23の駆動能力が減少していくように順番に設定する。詳細には、セル設定部14は、セル条件設定部13からセルリスト、各セル種CELLiの最大配線長Li、各セル種CELLiの最大論理段数Niを取得する。セル設定部14は、セルリスト及び各セル種CELLiの最大論理段数Niに基づいて配置情報を設定する。例えば、各セル種CELLiの駆動能力の大小関係を、CELL1>CELL2>CELL3>・・・>CELLmとし、CELL1〜CELLmのそれぞれの最大論理段数N1〜Nmが5段であるとした場合、セル設定部14は各セル種CELLiの論理段数niを、n1=5、n2=0、n3=0、・・・、nm=0とした配置情報を設定する。初期の設定では、セル設定部14は駆動能力が最も高くなる各セル種CELLiの論理段数niに設定する。また、セル設定部14は、後述する判定部17から各セル種CELLiの論理段数niの組合せ(配置情報)を変更する変更指示を受け取ると、駆動能力が前回の設定よりも低くなるように、各セル種CELLiの論理段数niの組合せを変更する。特に、セル設定部14は、前回の設定の駆動能力の次に大きい駆動能力となるように変更する。例えば、前述の続きでは、セル設定部14は各セル種CELLiの論理段数niを、n1=4、n2=1、n3=0、・・・、nm=0と設定する。このようにセル設定部14は、駆動能力の高いセルの論理段数を減少させ、駆動能力の低いセルの論理段数を増加するように変更する。図12は、セル設定部14が各セル種CELLiの論理段数niの組合せを変更していく処理を示す図である。図13は、図12に対応した対象パス23を示す図である。図13を参照すると、セル設定部14は、1回目(最初)の処理ではCELL1を5段に設定する。セル設定部14は、判定部17から変更指示を受け取ると、CELL1を4段に減らし、CELL2を1段に増加する。更に、セル設定部14は、判定部17から変更指示を受け取ると、CELL1を3段に減らし、CELL2を2段に増加する。このように、セル設定部14は、高駆動能力のセルの段数を順番に減少するように動作する。
The
配線長算出部15と、ジッタ値算出部16と、判定部17とは、各セル種CELLiの論理段数niの組合せである配置情報に基づいて、電源電圧Vが変動しても対象パス23の遅延の変動が小さい対象パス23の要素を決定する。
The wiring
配線長算出部15は、対象パス23に含まれる各セル種CELLiに供給される電源電圧Vが変動しても、パス遅延の変動が小さい各セル種CELLiの後段の最適配線長liを算出する。言い換えると、配線長算出部15は、配置情報で規定される対象パス23に対して、最大値VAmaxが供給されたときの対象パス23の遅延と、最小値VAminが供給されたときの対象パス23の遅延との差が最小となるような、各セル種CELLiの後段の最適配線長liの組合せである配線情報を算出する。尚、配線長算出部15は、対象パス23の要素を決定する一連の処理の中で、駆動能力が高い配置情報から低い配置情報の順に処理を行なう。
The wiring
まず、配線長算出部15は、配置情報で規定される対象パス23に対して、各セル種CELLiの後段の配線長liとして取り得る全ての組み合わせを算出する。詳細には、配線長算出部15は、条件設定部11から総配線長Ltotalを取得する。更に、配線長算出部15は、セル設定部14から配置情報と、各セル種CELLiの最大配線長Liとを取得する。配線長算出部15は、式(6)と、式(7)とで表される条件式に基づいて、各セル種CELLiの後段の配線長liとして取り得る全ての組み合わせを線形計画法に基づいて算出する。
式(6)は、対象パス23の総配線長Ltotalが、各セル種CELLiの論理段数niと、各セル種CELLiの配線長liとの総和に等しいことを表している。式(7)は、対象パス23に含まれる各セル種CELLiの配線長liが、最大配線長Li以下であることを示している。
First, the wiring
Equation (6), total route length L total of
具体例として、配線長算出部15が、セル設定部14からセルの種類としてCELL1、CELL2と、CELL1の論理段数n1と、CELL2の論理段数n2と、CELL1の最大配線長L1と、CELL2の最大配線長L2とを取得する場合を説明する。図14は、線形計画法によって算出されたCELL1が取り得る配線長l1と、CELL2とが取り得る配線長l2との全ての組み合わせを実行可能領域として示す図である。配線長算出部15は、実行可能領域に含まれるCELL1の配線長l1及びCELL2の配線長l2の全ての組合せを算出する。
As a specific example, the wiring
次に、配線長算出部15は、算出された各セル種CELLiの後段の配線長liの全ての組合せのうちで、駆動電圧として供給され得る最大電圧が供給されたときのパス遅延と、供給され得る最小電圧が供給されたときのパス遅延との差が最小となるような、各セル種CELLiの後段の最適配線長liの組合せである配線情報を算出する。詳細には、配線長算出部15は、電圧算出部12から平均電源電圧VAkの最大値VAmaxと、最小値VAminとを取得する。配線長算出部15は、ライブラリ部10を参照して、各セル種CELLiと、最大値VAmaxとに基づいて、該当する複数のステージ遅延の関数を取得する。配線長算出部15は、複数のステージ遅延の関数と、各セル種CELLiの後段の配線長liとして取り得る組み合わせと、各セル種CELLiの論理段数niとに基づいて、パス遅延を算出する。このときのパス遅延は式(8)で表される。
ジッタ値算出部16は、配置情報と配線情報とで規定される対象パス23に対して、平均電源電圧VAk(k=1、2、・・・、q−1)に基づいてジッタ値Jを算出する。言い換えると、ジッタ値算出部16は、各セル種CELLiと、各セル種CELLiの論理段数niと、各セル種CELLiの後段の最適配線長liと、平均電源電圧VAkとに基づいて、対象パス23のジッタ値Jを算出し、判定部17に提供する。算出するジッタ値Jは、条件設定部11で設定された許容ジッタ値と同じであり、Cycle‐to‐Cycleジッタ値の最大と周期ジッタ値との何れでもよい。尚、ジッタ値算出部16は、対象パス23の要素を決定する一連の処理の中で、駆動能力が高い配置情報の順に処理を行なう。
The jitter
ジッタ値算出部16がCycle‐to‐Cycleジッタ値の最大を算出する場合を説明する。ジッタ値算出部16は、ある時刻tkで立ち上がるクロック信号の周期Tkと、その直後のクロック信号の周期Tk+1との差分で表されるジッタ値Jkのうちで、最大ジッタ値J(maxJk)を算出する。言い換えると、ジッタ値算出部16は、ある時刻tkで立ち上がるクロック信号の周期Tkのパス遅延と、その直後のクロック信号の周期Tk+1のパス遅延の差分で表されるジッタ値Jkのうちで、最大ジッタ値J(maxJk)を算出する。ジッタ値算出部16は、式(10)に基づいてCycle‐to‐Cycleジッタ値を算出する。
詳細には、ジッタ値算出部16は、配線長算出部15から各セル種CELLiと、各セル種CELLiの論理段数niと、各セル種CELLiの後段の最適配線長liとを取得する。また、ジッタ値算出部16は、電圧算出部12から平均電源電圧VAkを取得する。ジッタ値算出部16は、各セル種CELLiと、平均電源電圧VAkとに基づいて、複数のステージ遅延の関数を取得する。ジッタ値算出部16は、複数のステージ遅延の関数と、各セル種CELLiの後段の配線長liとして取り得る組み合わせと、各セル種CELLiの論理段数niとに基づいて、パス遅延を算出する。同様に、ジッタ値算出部16は、各セル種CELLiと、平均電源電圧VAk+1とに基づいて、複数のステージ遅延の関数を取得して、パス遅延を算出する。ジッタ値算出部16は、平均電源電圧VAkのときのパス遅延と、平均電源電圧VAk+1ときのパス遅延の差分に基づいて、ジッタ値Jkを算出する。そして、ジッタ値算出部16は、所定の期間内の平均電源電圧VAk基づいた全てのCycle‐to‐Cycleジッタ値Jkを算出し、最大ジッタ値J(maxJk)を算出する。
Specifically, the jitter
一方、ジッタ値算出部16が周期ジッタ値を算出する場合を説明する。ジッタ値算出部16は、所定の期間内でのクロック信号の全ての周期Tkを算出し、周期Tkの最大値maxTkと最小値minTkの差で表されるジッタ値Jを算出する。図16は、周期ジッタ値の算出対象となる対象パス23を示す図である。入力クロック信号は、パス遅延Dpath分遅れて出力クロック信号として出力される。図17は、入力クロック信号と、出力クロック信号とに基づいて、ジッタ値Jを算出することを示す図である。ジッタ値算出部16は、出力クロック信号の周期T1〜T4のそれぞれを算出し、最大の周期である最大値maxTkと最小の周期である最小値minTkとの差分からジッタ値Jを算出する。詳細には、ジッタ値算出部16は、式(11)に基づいて周期Tk(k=1、2、・・・、q)を算出する。
J=maxTk−minTk ・・・(12)
On the other hand, a case where the jitter
J = maxT k −minT k (12)
判定部17は、駆動能力が高い配置情報の順に、ジッタ値Jが許容ジッタ値を超えているか否かを判定する。判定部17は、配置情報と配線情報とで規定される対象パス23のジッタ値Jが許容ジッタ値を越えている場合、当該配置情報と当該配線情報よりも前に算出されている、配置情報と配線情報とを対象パス23の要素として決定する。詳細には、判定部17は、ジッタ値算出部16のジッタ値Jと、条件設定部11の許容ジッタ値とを取得する。判定部17は、ジッタ値算出部16から受け取る判定対象となるジッタ値Jが、許容ジッタ値を超えているか否かを判定する。判定部17は、判定対象のジッタ値Jが許容ジッタ値以下である場合、セル設定部14に各セル種CELLiの論理段数niの組合せを変更する変更指示を出力する。一方、判定部17は、判定対象のジッタ値Jが許容ジッタ値を越えている場合、前回の判定対象であったジッタ値Jを最適なジッタ値Jとして決定する。本発明では、ジッタ値算出部16で算出されるジッタ値Jが徐々に大きくなるように、セル設定部14は対象パス23に含まれる各セル種CELLiを駆動能力の高いものから低いものへと順番に変更している。その結果、判定部17は判定対象のジッタ値Jが許容ジッタ値を超えていると判定したとき、前回の判定対象であったジッタ値Jを最適なジッタ値Jとして決定することができる。図18は、判定部17の判定回数と、判定対象のジッタ値Jとの関係を示した図である。判定対象のジッタ値Jは四角マークで示されている。図18を参照すると、判定対象のジッタ値Jは判定回数が増える毎に増加することが示されている。図18の例では、判定部17は4回目の判定時に判定対象のジッタ値Jが許容ジッタ値以上であると判定し、3回目の判定対象であったジッタ値Jを最適値として決定する。
The
消費電力算出部18は、判定部17から最適なジッタ値を取得して、そのときの消費電力値Pを算出する。図18では、消費電力値Pは三角マークで示されている。図18を参照すると、本発明の回路設計支援装置1は、電源電圧が変動しても許容ジッタ値を満たし、且つ、出来るだけ消費電力の少ない回路を設計できることが示されている。
The power
出力部19は、判定部17からジッタ値J(最適なジッタ値Jを含む算出した全てのジッタ値)と判定結果とを取得し、消費電力算出部18から消費電力値Pを取得する。出力部19は、ジッタ値J、判定結果、及び、消費電力値Pをユーザが認識できるように出力する。また、出力部19は配線長算出部15から配置情報と配線情報とを取得し、図3Aの設計システムにフィードバックを行う。
The
本発明の実施の形態による回路設計支援装置1は、コンピュータを用いて実現可能である。図19は、回路設計支援装置1の実施の形態における、ハードウエア構成例を示すブロック図である。図19を参照すると、本発明の回路設計支援装置1は、CPU(Central Processing Unit)101と、記憶装置102と、入力装置103と、出力装置104と、各装置を接続するバス105とを備えるコンピュータシステムで構成される。
The circuit
CPU101は、記憶装置102に格納されている本発明の回路設計支援装置1に係る演算処理及び制御処理を行う。記憶装置102は、ハードディスクやメモリなど、情報の記録を行う装置である。記憶装置102は、CD−ROMやDVD等のコンピュータ読み取り可能な記憶媒体から読み取られたプログラム、ネットワーク(図示略)を介してダウンロードされたプログラム、入力装置103から入力された信号やプログラム、及びCPU101の処理結果を格納する。入力装置103は、マウス、キーボード、マイクロフォンなど、ユーザがコマンド及び信号を入力することが出来る装置である。出力装置104は、ディスプレイ、スピーカなど、ユーザに出力結果を認識させる装置である。尚、本発明はハードウエア構成例と示したものに限定されず、各部はハードウエアとソフトウエアとを単独又は組み合わせて実現することが出来る。
The
図20は、本発明の回路設計支援装置1の第1の実施の形態による処理動作を示したフローチャートである。図20を参照して、本発明の第1の実施の形態による処理動作を説明する。
FIG. 20 is a flowchart showing the processing operation according to the first embodiment of the circuit
ステップS01:
ライブラリ部10は、セル種と、当該セル種を駆動する電源電圧の範囲と、電源電圧の範囲に対応したステージ遅延の関数とを関連付けたライブラリを生成する。詳細には、ライブラリ部10は、任意のセル種CELLiが駆動する電源電圧を電圧vhとしたときのステージ遅延を、配線長li毎にSPICEで算出する。そして、ライブラリ部10は配線長li毎に算出されたステージ遅延を、配線長liを変数とする2次関数でフィッティングする。ライブラリ部10は、セル種CELLiを駆動する電源電圧が電圧vhであるステージ遅延の関数を前述の式(3)のように算出する。ライブラリ部10は、セル種CELLiと、電源電圧Vの範囲((vh−1+vh)/2<V≦(vh+vh+1)/2)と、ステージ遅延の関数である式(3)とを関連付けて格納する(図5参照)。ライブラリ部10は、他のセル種に対しても同様に関連付けを行い、全てのセル種を含むライブラリを生成する。尚、ライブラリ部10は、ライブラリを予め格納していてもよい。
Step S01:
The
ステップS02:
条件設定部11は、ユーザ入力に基づいて、クロック信号を伝搬させる設計対象である対象パス23をパス情報として設定する。また、条件設定部11は、対象パスの総配線長Ltotalを回路設計支援装置1のサブシステムから取得する。
Step S02:
The
ステップS03:
条件設定部11は、ユーザ入力に基づいて、対象パス23のクロック信号の周波数と、クロック信号の周期と、クロック信号の許容ジッタ値とを取得し、パス情報として設定する。前述したように、ジッタ値は、Cycle‐to‐Cycleジッタ値の最大と、周期ジッタ値との何れでもよい。
Step S03:
Based on the user input, the
ステップS04:
電圧算出部12は、電圧波形情報を回路設計支援装置1のサブシステムから取得する。また、電圧算出部12は、ユーザ入力に基づいて、クロック信号の周期Tを取得する。電圧算出部12は、電圧波形情報を参照して、対象パス23に供給されるノイズを含む所定の期間の電源電圧Vを、クロック信号の周期T毎に平均化した平均電源電圧VAk(k=1、2、・・・、q)を算出する。また、電圧算出部12は、所定の期間の平均電源電圧VAkのうちで、最大値VAmaxと最小値VAminとを算出する。
Step S04:
The
ステップS05:
セル条件設定部13は、ユーザ入力に基づいて、対象パス23の要素として配置される駆動能力の異なる複数のセル種CELLi(i=1〜m)をリスト化したセルリスト(CELL_LIST={CELL1、CELL2、CELL3、・・・、CELLm})を取得する。また、セル条件設定部13は、ユーザ入力に基づいて、セルリストに含まれる各セル種CELLiの後段に接続する配線長の最大値(最大配線長Li)と、各セル種CELLiの最大の論理段数(最大論理段数Ni)とを設定する。
Step S05:
The cell
ステップS06:
セル設定部14は、対象パス23の要素として配置される駆動能力の異なる各セル種CELLiの論理段数niの組合せである配置情報を設定する。詳細には、セル設定部14は、セル条件設定部13からセルリスト、各セル種CELLiの最大配線長Li、各セル種CELLiの最大論理段数Niを取得する。セル設定部14は、セルリスト及び各セル種CELLiの最大論理段数Niに基づいて配置情報を設定する。例えば、各セル種CELLiの駆動能力の大小関係を、CELL1>CELL2>CELL3>・・・>CELLmとし、CELL1〜CELLmのそれぞれの最大論理段数N1〜Nmが5段であるとした場合、セル設定部14は各セル種CELLiの論理段数niを、n1=5、n2=0、n3=0、・・・、nm=0とした配置情報を設定する。初期の設定では、セル設定部14は駆動能力が最も高くなる各セル種CELLiの論理段数niに設定する。
Step S06:
ステップS07:
配線長算出部15は、対象パス23に含まれる各セル種CELLiに供給される電源電圧Vが変動しても、パス遅延の変動が小さい各セル種CELLiの後段の最適配線長liを算出する。まず、配線長算出部15は、配置情報で規定される対象パス23に対して、各セル種CELLiの後段の配線長liとして取り得る全ての組み合わせを算出する。詳細には、配線長算出部15は、条件設定部11から総配線長Ltotalを取得する。更に、配線長算出部15は、セル設定部14から配置情報と、各セル種CELLiの最大配線長Liとを取得する。配線長算出部15は、前述の式(6)と式(7)とで表される条件式に基づいて、各セル種CELLiの後段の配線長liとして取り得る全ての組み合わせを線形計画法に基づいて算出する。
Step S07:
The wiring
次に、配線長算出部15は、電圧算出部12から平均電源電圧VAkの最大値VAmaxと、最小値VAminとを取得する。配線長算出部15は、ライブラリ部10を参照して、各セル種CELLiと、最大値VAmax又は最小値VAminに基づいて、該当する複数のステージ遅延の関数を取得する。配線長算出部15は、複数のステージ遅延の関数と、各セル種CELLiの後段の配線長liとして取り得る組み合わせと、各セル種CELLiの論理段数niとに基づいて、パス遅延を算出する。このときのパス遅延は前述の式(8)で表される。そして、配線長算出部15は、算出された各セル種CELLiの後段の配線長liの全ての組合せのうちで、最大値VAmaxのときのパス遅延と、最小値VAminのときのパス遅延との差が最小となるような、各セル種の後段の最適配線長liの組合せを算出する。各セル種CELLiの後段の最適配線長liは、式(9)のfsenseの絶対値が最小となるときの配線長liである。
Next, the wiring
ステップS08
ジッタ値算出部16は、配置情報と配線情報とで規定される対象パス23に対して、平均電源電圧VAk(k=1、2、・・・、q−1)に基づいてジッタ値Jを算出する。言い換えると、ジッタ値算出部16は、各セル種CELLiと、各セル種CELLiの論理段数niと、各セル種CELLiの後段の最適配線長liと、平均電源電圧VAkとに基づいて、対象パス23のジッタ値Jを算出し、判定部17に提供する。算出するジッタ値Jは、ステップS03の条件設定部11で設定された許容ジッタ値と同じであり、Cycle‐to−Cycleジッタ値の最大と周期ジッタ値との何れでもよい。
Step S08
The jitter
ステップS09:
判定部17は、ジッタ値算出部16のジッタ値Jと、条件設定部11の許容ジッタ値とを取得する。判定部17は、ジッタ値算出部16から受け取る判定対象となるジッタ値が、許容ジッタ値を超えているか否かを判定する。判定部17は、判定対象のジッタ値が許容ジッタ値以下である場合、セル設定部14に各セル種CELLiの論理段数niの組合せを変更する変更指示を出力する(ステップS06へ進む)。セル設定部14は、判定部17から各セル種の論理段数niを変更する変更指示を受け取ると、駆動能力が前回の設定よりも低くなるように、各セル種の論理段数niを変更する。例えば、前述の続きでは、セル設定部14は各セル種CELLiの論理段数niを、n1=4、n2=1、n3=0、・・・、nm=0と設定する。
Step S09:
The
一方、判定部17は、判定対象のジッタ値Jが許容ジッタ値を越えている場合、前回の判定対象であったジッタ値Jを最適なジッタ値Jとして決定する(ステップS10へ進む)。本発明では、ジッタ値算出部16で算出されるジッタ値Jが徐々に大きくなるように、セル設定部14は対象パス23に含まれる各セル種を駆動能力の高いものから低いものへと順番に変更している。その結果、判定部17は判定対象のジッタ値Jが許容ジッタ値を超えていると判定したとき、前回の判定対象であったジッタ値Jを最適なジッタ値として決定することができる。そして、判定部17は、最適なジッタ値のときの配置情報と配線情報とを対象パス23の要素として決定する。
On the other hand, when the determination target jitter value J exceeds the allowable jitter value, the
ステップS10:
消費電力算出部18は、判定部17からジッタ値の最適値を取得して、そのときの消費電力値Pを算出する。出力部19は、判定部17からジッタ値と判定結果とを取得し、消費電力算出部18から消費電力値Pを取得する。出力部19は、ジッタ値、判定結果、及び、消費電力値Pをユーザが認識できるように出力する。また、出力部19は配線長算出部15から配置情報と配線情報とを取得し、図3Aの設計システムにフィードバックを行う。
Step S10:
The power
以上のように、本発明の第1の実施の形態による回路設計支援装置1は、電源電圧が変動しても許容ジッタ値を満たし、且つ、消費電力の少ない回路を設計できる効果を奏している。特に、本発明は、ジッタ値に対してオーバースペックの対象パスを設計するのではなく、許容ジッタ値を満たすなかで出来るだけ消費電力の少ない回路を短時間で設計できる効果を奏している。
As described above, the circuit
尚、セル設定部14は、対象パス23の要素として配置される駆動能力の異なる各セル種CELLiの論理段数niの組合せである配置情報を、対象パス23の駆動能力が減少していくように順番に設定しているが、駆動能力が増加していくように順番に設定してもよい。その場合、配線長算出部15、ジッタ値算出部16、及び判定部17は、駆動能力が低い配置情報から高い配置情報の順に一連の処理を行なう。特に、判定部17は、配置情報と配線情報とで規定される対象パス23のジッタ値Jが許容ジッタ値以下の場合に、当該配置情報と当該配線情報とを対象パス23の要素として決定することができる。
Note that the
(第2の実施の形態)
本発明の第2の実施の形態を説明する。図21は、本発明の第2の実施の形態による回路設計支援装置1aの構成例を示したブロック図である。図21を参照すると、回路設計支援装置1aは、ライブラリ部10と、条件設定部11aと、電圧算出部12と、セル条件設定部13と、セル設定部14と、配線長算出部15aと、ジッタ値算出部16と、判定部17と、消費電力算出部18と、出力部19とを具備する。第2の実施の形態は、条件設定部11aと、配線長算出部15aとの構成が第1の実施の形態と異なる。その他の構成は第1の実施の形態と同様であるため同じ符号を付して説明を省略する。
(Second Embodiment)
A second embodiment of the present invention will be described. FIG. 21 is a block diagram showing a configuration example of a circuit design support apparatus 1a according to the second embodiment of the present invention. Referring to FIG. 21, the circuit design support apparatus 1a includes a
条件設定部11aは、第1の実施の形態の条件設定部11と同様に、ユーザ入力に基づいて、クロック信号を伝搬させる設計対象である対象パス23と、クロック信号の周波数と、クロック信号の周期と、クロック信号の許容ジッタ値とを取得し、パス情報として設定する。更に、条件設定部11aは、ユーザ入力に基づいて、クロックソース20から回路21にクロック信号を伝搬させる対象パス23のクロックレイテンシ許容値(Dpath_LIMIT)を取得し、パス情報として設定する。
Similar to the
配線長算出部15aは、対象パス23に含まれる各セル種CELLiに供給される電源電圧Vが変動しても、パス遅延の変動が小さい各セル種CELLiの後段の最適配線長liを算出する。配線長算出部15aは、特にクロックレイテンシ許容値を含めて、最適配線長liを算出する。まず、配線長算出部15aは、配置情報で規定される対象パス23に対して、クロックレイテンシ許容値を条件として含めた、各セル種CELLiの後段の配線長liとして取り得る全ての組み合わせを算出する。詳細には、配線長算出部15aは、条件設定部11aから総配線長Ltotalとクロックレイテンシ許容値とを取得する。更に、配線長算出部15aは、セル設定部14から配置情報と、各セル種CELLiの最大配線長Liとを取得する。配線長算出部15aは、式(13)と、式(14)と、式(15)とで表される条件式に基づいて、各セル種CELLiの後段の配線長liとして取り得る全ての組み合わせを2次制約計画問題(Quadratic Constraint Programming)に基づいて算出する。すなわちここでは、配線長の二次関数のDpathが制約条件に追加されたため、線形計画ではなく二次制約計画問題となる。
Dpath(VAmin,n1,n2,・・・,nm,l1,l2,・・・,lm)≦Dpath_LIMIT ・・・(15)
式(13)は、第1の実施の形態と式(6)と同様であり、式(14)は式(7)と同様である。式(15)は、パス遅延が、クロックレイテンシ許容値以下であることを表している。電源電圧Vが小さいときにパス遅延が大きくなるため、最小値VAminを用いてクロックレイテンシ許容値を設定している。
The wiring
D path (VA min , n 1 , n 2 ,..., N m , l 1 , l 2 ,..., L m ) ≦ D path _LIMIT (15)
Formula (13) is the same as Formula (6) in the first embodiment, and Formula (14) is the same as Formula (7). Expression (15) represents that the path delay is equal to or less than the clock latency allowable value. Since the path delay increases when the power supply voltage V is small, the clock latency allowable value is set using the minimum value VA min .
具体例として、配線長算出部15aが、セル設定部14からセルの種類としてCELL1、CELL2と、CELL1の論理段数n1と、CELL2の論理段数n2と、CELL1の最大配線長L1と、CELL2の最大配線長L2とを取得する場合を説明する。配線長算出部15aは、ライブラリ部10を参照して、CELL1又はCELL2と、最小値VAminとに基づいて、2つのステージ遅延の関数を取得する。図22A〜図22Cは、二次制約計画問題によって算出されたCELL1が取り得る配線長l1と、CELL2とが取り得る配線長l2との全ての組み合わせを実行可能領域として示す図である。図22Aは、クロックレイテンシ許容値を含む全ての条件を満たす実行可能領域がないことを示している。この場合、配線長算出部15aは、各セル種CELLiの後段の配線長liとして取り得る組み合わせがないとする。図22Bは、実行可能領域がある場合、即ち、CELL1が取り得る1つの配線長l1と、CELL2とが取り得る1つの配線長l2とがある場合を示している。図22Cも実行可能領域がある場合を示しており、配線長算出部15aは、実行可能領域に含まれるCELL1の配線長l1及びCELL2の配線長l2の全ての組合せを算出する。
As a specific example, the cell
次に、配線長算出部15aは、算出された各セル種CELLiの後段の配線長liの全ての組合せのうちで、駆動電圧として供給され得る最大電圧が供給されたときのパス遅延と、供給され得る最小電圧が供給されたときのパス遅延との差が最小となるような、各セル種CELLiの後段の最適配線長liの組合せである配線情報を算出する。ここでの処理は、第1の実施の形態の配線長算出部15と同様である。
Next, the wiring
図23は、本発明の第2の実施の形態による回路設計支援装置1aの処理動作を示したフローチャートである。ステップS11〜ステップS15は、第1の実施の形態のステップS01〜ステップS05と同様である。 FIG. 23 is a flowchart showing the processing operation of the circuit design support apparatus 1a according to the second embodiment of the present invention. Steps S11 to S15 are the same as steps S01 to S05 in the first embodiment.
ステップS16:
条件設定部11aは、ユーザ入力に基づいて、クロックソース20から回路21にクロック信号を伝搬させる対象パス23のクロックレイテンシ許容値(Dpath_LIMIT)を取得し、パス情報として設定する。
Step S16:
The
ステップS17:
セル設定部14は、対象パス23の要素として配置される駆動能力の異なる各セル種CELLiの論理段数niの組合せである配置情報を設定する。詳細には、セル設定部14は、セル条件設定部13からセルリスト、各セル種CELLiの最大配線長Li、各セル種CELLiの最大論理段数Niを取得する。セル設定部14は、セルリスト及び各セル種CELLiの最大論理段数Niに基づいて配置情報を設定する。
Step S17:
ステップS18:
配線長算出部15aは、対象パス23に含まれる各セル種CELLiに供給される電源電圧Vが変動しても、パス遅延の変動が小さい各セル種CELLiの後段の最適配線長liを算出する。配線長算出部15aは、特にクロックレイテンシ許容値を含めて、最適配線長liを算出する。まず、配線長算出部15aは、配置情報で規定される対象パス23に対して、クロックレイテンシ許容値を条件として含めた、各セル種CELLiの後段の配線長liとして取り得る全ての組み合わせを算出する。詳細には、配線長算出部15aは、条件設定部11aから総配線長Ltotalとクロックレイテンシ許容値とを取得する。更に、配線長算出部15aは、セル設定部14から配置情報と、各セル種CELLiの最大配線長Liとを取得する。配線長算出部15aは、前述の式(13)と式(14)と式(15)とで表される条件式に基づいて、各セル種CELLiの後段の配線長liとして取り得る全ての組み合わせを二次制約計画問題に基づいて算出する。
Step S18:
The wiring
次に、配線長算出部15aは、算出された各セル種CELLiの後段の配線長liの全ての組合せのうちで、駆動電圧として供給され得る最大電圧が供給されたときのパス遅延と、供給され得る最小電圧が供給されたときのパス遅延との差が最小となるような、各セル種CELLiの後段の最適配線長liの組合せである配線情報を算出する。ここでの処理は、第1の実施の形態の配線長算出部15と同様である。
Next, the wiring
ステップS19〜ステップ21は、第1の実施の形態のステップS08〜ステップS10と同様である。 Steps S19 to S21 are the same as steps S08 to S10 of the first embodiment.
以上のように、本発明の第2の実施の形態による回路設計支援装置1aは、第1の実施の形態と同様に、電源電圧が変動しても許容ジッタ値を満たし、且つ、消費電力の少ない回路を設計できる効果を奏している。特に、回路設計支援装置1aは、パス遅延が最大となる最小値VAminのときのパス遅延を制約として追加しているため、クロックレイテンシ許容値を満たす回路を設計することができる効果を奏している。 As described above, the circuit design support apparatus 1a according to the second embodiment of the present invention satisfies the allowable jitter value even when the power supply voltage fluctuates, and has the power consumption as in the first embodiment. It has the effect of designing fewer circuits. In particular, the circuit design support device 1a adds a path delay at the minimum value VA min that maximizes the path delay as a constraint, and thus has an effect of designing a circuit that satisfies the clock latency tolerance. Yes.
本発明は、回路設計全般に適用が可能であるが、以上説明したように、特に半導体集積回路の設計に有用である。たとえば、本発明の回路設計支援装置は、アナログ回路に分配するクロック回路設計、高速I/F(interface)回路(DDR:Double Data Rate)に分配するクロック回路設計、FF(FlipFlop)間などのデータラインに分配するクロック回路(クロックツリー)設計などに好適である。
また、このように本発明はクロック信号のみを対象としているものではなく、一般信号(すなわち一般回路)にあっても適用可能である。
The present invention can be applied to general circuit design, but as described above, it is particularly useful for designing a semiconductor integrated circuit. For example, the circuit design support apparatus according to the present invention includes a clock circuit design distributed to an analog circuit, a clock circuit design distributed to a high-speed I / F (interface) circuit (DDR: Double Data Rate), and data between FFs (FlipFlops). It is suitable for designing a clock circuit (clock tree) distributed to lines.
Further, as described above, the present invention is not intended only for the clock signal, but can be applied to a general signal (that is, a general circuit).
1、1a :回路設計支援装置
10 :ライブラリ部
11、11a:条件設定部
12 :電圧算出部
13 :セル条件設定部
14 :セル設定部
15、15a:配線長算出部
16 :ジッタ値算出部
17 :判定部
18 :消費電力算出部
19 :出力部
20 :クロックソース
21 :回路
23 :対象パス
102 :記憶装置
103 :入力装置
104 :出力装置
105 :バス
CELLi:セル種
J :ジッタ値
Li :最大配線長
Ltotal:総配線長
Ni :最大論理段数
T :周期
DESCRIPTION OF
Claims (11)
前記対象パスに供給される電源電圧を前記周期毎に平均化した平均電源電圧と、前記平均電源電圧の最大値及び最小値とを算出する電圧算出部と、
前記対象パスの要素として配置される駆動能力の異なる複数のセル種の各々の論理段数の組合せである配置情報を、前記対象パスの駆動能力が減少していくように順番に設定するセル設定部と、
駆動能力が高い前記配置情報の順に、前記配置情報で規定される前記対象パスに対して、前記最大値が供給されたときの前記対象パスの第1遅延と、前記最小値が供給されたときの前記対象パスの第2遅延との差が最小となるときの、前記複数のセル種の各々の後段の最適配線長の組合せである配線情報を算出する配線長算出部と、
駆動能力が高い前記配置情報の順に、前記配置情報と前記配線情報とで規定される前記対象パスに対して、前記平均電源電圧に基づいてジッタ値を算出するジッタ値算出部と、
駆動能力が高い前記配置情報の順に、前記ジッタ値が前記許容ジッタ値を超えているか否かを判定する判定部と
を具備し、
前記判定部は、第1配置情報と第1配線情報とで規定される前記対象パスの第1ジッタ値が前記許容ジッタ値を越えている場合、前記第1配置情報と前記第1配線情報よりも前に算出されている、第2配置情報と第2配線情報とを前記対象パスの要素として決定する
回路設計支援装置。 A condition setting unit that sets a target path that is a design target for propagating a signal, a period of the signal, and an allowable jitter value of the signal based on a user input;
An average power supply voltage obtained by averaging the power supply voltage supplied to the target path for each period, and a voltage calculation unit that calculates a maximum value and a minimum value of the average power supply voltage;
A cell setting unit that sequentially sets arrangement information, which is a combination of the number of logical stages of each of a plurality of cell types having different driving capacities arranged as elements of the target path so that the driving capacity of the target path decreases. When,
The first delay of the target path when the maximum value is supplied and the minimum value are supplied to the target path specified by the arrangement information in the order of the arrangement information having the highest driving capability. A wiring length calculation unit that calculates wiring information that is a combination of subsequent optimal wiring lengths of each of the plurality of cell types when a difference from the second delay of the target path is minimized;
A jitter value calculating unit that calculates a jitter value based on the average power supply voltage for the target path defined by the arrangement information and the wiring information in the order of the arrangement information having a high driving capability;
A determination unit for determining whether or not the jitter value exceeds the allowable jitter value in order of the arrangement information having a high driving capability;
When the first jitter value of the target path defined by the first arrangement information and the first wiring information exceeds the allowable jitter value, the determination unit uses the first arrangement information and the first wiring information. A circuit design support device that determines the second placement information and the second wiring information, which have been calculated before, as elements of the target path.
前記判定部は、前記第1ジッタ値が前記許容ジッタ値以下の場合、前記セル設定部に前記複数のセル種の各々の論理段数の組合せを変更する変更指示を出力し、
前記セル設定部は、前記変更指示に基づいて、駆動能力が前記第1配置情報よりも低い第3配置情報に設定する
回路設計支援装置。 The circuit design support apparatus according to claim 1,
When the first jitter value is less than or equal to the allowable jitter value, the determination unit outputs a change instruction to change the combination of the number of logical stages of each of the plurality of cell types to the cell setting unit,
The circuit setting support device, wherein the cell setting unit sets, based on the change instruction, third arrangement information whose driving capability is lower than the first arrangement information.
前記対象パスの要素として配置される駆動能力の異なる前記複数のセル種をリスト化したセルリストと、前記セルリストに含まれる前記複数のセル種の各々の最大論理段数と、前記複数のセル種の各々の後段に接続する最大配線長とをユーザ入力に基づいて設定するセル条件設定部
を更に具備し、
前記条件設定部は、前記対象パスの総配線長を算出し、
前記セル設定部は、前記セルリスト及び前記最大論理段数に基づいて、前記配置情報を前記対象パスの駆動能力が減少していくように順番に設定し、
前記配線長算出部は、前記配置情報で規定される前記対象パスに対して、前記複数のセル種の各々の後段の配線長として取り得る全ての組合せを、前記配置情報と、前記総配線長と、前記最大配線長とを条件とした線形計画法で算出し、前記全ての組合せのうちから、前記第1遅延と前記第2遅延との差が最小となるときの前記配線情報を算出する
回路設計支援装置。 The circuit design support apparatus according to claim 1 or 2,
A cell list in which the plurality of cell types having different driving capabilities arranged as elements of the target path are listed, the maximum number of logical stages of each of the plurality of cell types included in the cell list, and the plurality of cell types Further comprising a cell condition setting unit for setting a maximum wiring length connected to each subsequent stage based on a user input,
The condition setting unit calculates a total wiring length of the target path,
The cell setting unit, based on the cell list and the maximum number of logical stages, sets the arrangement information in order so that the drive capability of the target path decreases,
The wiring length calculation unit includes all the combinations that can be taken as the wiring length of each subsequent stage of the plurality of cell types with respect to the target path defined by the arrangement information, and the total wiring length. And the maximum wiring length as a condition, and the wiring information when the difference between the first delay and the second delay is minimum is calculated from all the combinations. Circuit design support device.
前記条件設定部は、前記信号のレイテンシ許容値をユーザ入力に基づいて設定し、
前記配線長算出部は、前記配置情報で規定される前記対象パスに対して、前記複数のセル種の各々の後段の配線長として取り得る全ての組合せを、前記配置情報と、前記総配線長と、前記最大配線長と、前記レイテンシ許容値を条件とした二次制約計画問題で算出する
回路設計支援装置。 The circuit design support device according to claim 3,
The condition setting unit sets the allowable latency value of the signal based on a user input,
The wiring length calculation unit includes all the combinations that can be taken as the wiring length of each subsequent stage of the plurality of cell types with respect to the target path defined by the arrangement information, and the total wiring length. And a circuit design support apparatus that calculates a quadratic constraint planning problem on the condition of the maximum wiring length and the latency tolerance.
前記対象パスに供給される電源電圧を前記周期毎に平均化した平均電源電圧と、前記平均電源電圧の最大値及び最小値とを算出する電圧算出部と、
前記対象パスの要素として配置される駆動能力の異なる複数のセル種の各々の論理段数の組合せである配置情報を、前記対象パスの駆動能力が増加していくように順番に設定するセル設定部と、
駆動能力が低い前記配置情報の順に、前記配置情報で規定される前記対象パスに対して、前記最大値が供給されたときの前記対象パスの第1遅延と、前記最小値が供給されたときの前記対象パスの第2遅延との差が最小となるときの、前記複数のセル種の各々の後段の最適配線長の組合せである配線情報を算出する配線長算出部と、
駆動能力が低い前記配置情報の順に、前記配置情報と前記配線情報とで規定される前記対象パスに対して、前記平均電源電圧に基づいてジッタ値を算出するジッタ値算出部と、
駆動能力が低い前記配置情報の順に、前記ジッタ値が前記許容ジッタ値超えているか否かを判定する判定部と
を具備し、
前記判定部は、第1配置情報と第1配線情報とで規定される前記対象パスの第1ジッタ値が前記許容ジッタ値以下の場合、前記第1配置情報と前記第1配線情報とを前記対象パスの要素として決定する
回路設計支援装置。 A condition setting unit that sets a target path that is a design target for propagating a signal, a period of the signal, and an allowable jitter value of the signal based on a user input;
An average power supply voltage obtained by averaging the power supply voltage supplied to the target path for each period, and a voltage calculation unit that calculates a maximum value and a minimum value of the average power supply voltage;
A cell setting unit that sequentially sets arrangement information that is a combination of the number of logical stages of each of a plurality of cell types having different driving capabilities arranged as elements of the target path so that the driving capability of the target path increases. When,
The first delay of the target path when the maximum value is supplied and the minimum value are supplied to the target path specified by the arrangement information in the order of the arrangement information having the low driving capability. A wiring length calculation unit that calculates wiring information that is a combination of subsequent optimal wiring lengths of each of the plurality of cell types when a difference from the second delay of the target path is minimized;
A jitter value calculation unit that calculates a jitter value based on the average power supply voltage for the target path defined by the arrangement information and the wiring information in order of the arrangement information having a low driving capability;
A determination unit that determines whether or not the jitter value exceeds the allowable jitter value in the order of the arrangement information having a low driving capability;
When the first jitter value of the target path defined by the first arrangement information and the first wiring information is equal to or less than the allowable jitter value, the determination unit determines the first arrangement information and the first wiring information as the first arrangement information and the first wiring information. Circuit design support device that is determined as an element of the target path.
前記対象パスに供給される電源電圧を前記周期毎に平均化した平均電源電圧と、前記平均電源電圧の最大値及び最小値とを算出するステップと、
前記対象パスの要素として配置される駆動能力の異なる複数のセル種の各々の論理段数の組合せである配置情報に基づいて、前記電源電圧が変動しても前記対象パスの遅延の変動が小さい前記対象パスの要素を決定するステップと
を具備し、
前記対象パスの要素を決定するステップは、
第1配置情報を設定するステップと、
前記第1配置情報で規定される前記対象パスに対して、前記最大値が供給されたときの前記対象パスの第1遅延と、前記最小値が供給されたときの前記対象パスの第2遅延との差が最小となるときの、前記第1配置情報に含まれる複数のセル種の各々の後段の最適配線長の組合せである第1配線情報を算出するステップと、
前記第1配置情報と前記第1配線情報とで規定される前記対象パスに対して、前記平均電源電圧に基づいて第1ジッタ値を算出するステップと、
前記第1ジッタ値が前記許容ジッタ値以下であることを判定するステップと、
前記第1配置情報よりも駆動能力の低い第2配置情報を設定するステップと、
前記第2配置情報で規定される前記対象パスに対して、前記最大値が供給されたときの前記対象パスの第3遅延と、前記最小値が供給されたときの前記対象パスの第4遅延との差が最小となるときの、前記第2配置情報に含まれる複数のセル種の各々の後段の最適配線長の組合せである第2配線情報を算出するステップと、
前記第2配置情報と前記第2配線情報とで規定される前記対象パスに対して、前記平均電源電圧に基づいて第2ジッタ値を算出するステップと、
前記第2ジッタ値が前記許容ジッタ値を超えたか否かを判定するステップと、
前記第2ジッタ値が前記許容ジッタ値を越えている場合、前記第1配置情報と前記第1配線情報とを前記対象パスの要素として決定するステップ
を備える
回路設計支援方法。 Setting a target path that is a design target for propagating a signal, a period of the signal, and an allowable jitter value of the signal based on a user input;
Calculating an average power supply voltage obtained by averaging the power supply voltage supplied to the target path for each period, and a maximum value and a minimum value of the average power supply voltage;
Based on arrangement information that is a combination of the number of logical stages of each of a plurality of cell types having different driving capabilities arranged as elements of the target path, even if the power supply voltage fluctuates, variation in delay of the target path is small Determining an element of the target path,
Determining an element of the target path comprises:
Setting first arrangement information;
A first delay of the target path when the maximum value is supplied and a second delay of the target path when the minimum value is supplied for the target path specified by the first arrangement information. Calculating the first wiring information that is a combination of the optimal wiring lengths of the subsequent stages of each of the plurality of cell types included in the first arrangement information when the difference between
Calculating a first jitter value based on the average power supply voltage for the target path defined by the first arrangement information and the first wiring information;
Determining that the first jitter value is less than or equal to the allowable jitter value;
Setting second arrangement information having a driving capability lower than that of the first arrangement information;
A third delay of the target path when the maximum value is supplied and a fourth delay of the target path when the minimum value is supplied for the target path specified by the second arrangement information. Calculating second wiring information that is a combination of the optimal wiring lengths of the subsequent stages of each of the plurality of cell types included in the second arrangement information when the difference between
Calculating a second jitter value based on the average power supply voltage for the target path defined by the second arrangement information and the second wiring information;
Determining whether the second jitter value exceeds the allowable jitter value;
A circuit design support method, comprising: determining the first arrangement information and the first wiring information as elements of the target path when the second jitter value exceeds the allowable jitter value.
前記対象パスの要素を決定するステップは、
前記第2ジッタ値が前記許容ジッタ値以下の場合、前記複数のセル種の各々の論理段数の組合せを変更する変更指示を出力するステップと、
前記変更指示に基づいて、駆動能力が前記第1配置情報よりも低い第3配置情報に設定するステップと
を更に備える
回路設計支援方法。 The circuit design support method according to claim 6,
Determining an element of the target path comprises:
When the second jitter value is less than or equal to the allowable jitter value, outputting a change instruction to change the combination of the number of logical stages of each of the plurality of cell types;
A circuit design support method, further comprising: setting, based on the change instruction, third arrangement information whose driving capability is lower than the first arrangement information.
前記対象パスの総配線長を算出するステップと、
前記対象パスの要素として配置される駆動能力の異なる前記複数のセル種の各々をリスト化したセルリストと、前記セルリストに含まれる前記複数のセル種の各々の最大論理段数と、前記複数のセル種の各々の後段に接続する最大配線長とをユーザ入力に基づいて設定するステップと
を更に具備し、
前記第1配置情報を設定するステップは、
前記セルリスト及び前記最大論理段数に基づいて前記第1配置情報に設定するステップを含み、
前記第1配線情報を算出するステップは、
前記第1配置情報で規定される前記対象パスに対して、前記第1配置情報に含まれる複数のセル種の各々の後段の配線長として取り得る全ての組合せを、前記第1配置情報と、前記総配線長と、前記最大配線長とを条件とした線形計画法で算出し、前記全ての組合せのうちから、前記第1遅延と前記第2遅延との差が最小となるときの前記第1配線情報を算出するステップ
を含み、
前記第2配置情報を設定するステップは、
前記セルリスト及び前記最大論理段数に基づいて前記第2配置情報に設定するステップを含み、
前記第2配線情報を算出するステップは、
前記第2配置情報で規定される前記対象パスに対して、前記第2配置情報に含まれる複数のセル種の各々の後段の配線長として取り得る全ての組合せを、前記第2配置情報と、前記総配線長と、前記最大配線長とを条件とした線形計画法で算出し、前記全ての組合せのうちから、前記第3遅延と前記第4遅延との差が最小となるときの前記第2配線情報を算出するステップ
を含む
回路設計支援方法。 A circuit design support method according to claim 6 or 7,
Calculating a total wiring length of the target path;
A cell list in which each of the plurality of cell types having different driving capabilities arranged as an element of the target path is listed; a maximum number of logical stages of each of the plurality of cell types included in the cell list; Further comprising a step of setting a maximum wiring length to be connected to each subsequent stage of the cell type based on a user input,
The step of setting the first arrangement information includes:
Setting the first arrangement information based on the cell list and the maximum number of logical stages,
The step of calculating the first wiring information includes:
With respect to the target path defined by the first arrangement information, all combinations that can be taken as the wiring length of each subsequent stage of the plurality of cell types included in the first arrangement information, and the first arrangement information, Calculated by a linear programming method on condition of the total wiring length and the maximum wiring length, and the first delay and the second delay when the difference between the first delay and the second delay is minimum among all the combinations. 1 calculating the wiring information,
The step of setting the second arrangement information includes:
Setting the second arrangement information based on the cell list and the maximum number of logical stages,
The step of calculating the second wiring information includes:
With respect to the target path defined by the second arrangement information, all combinations that can be taken as the wiring length of each subsequent stage of the plurality of cell types included in the second arrangement information, and the second arrangement information, Calculated by a linear programming method on the condition of the total wiring length and the maximum wiring length, and the difference between the third delay and the fourth delay is minimized among all the combinations. 2. A circuit design support method including a step of calculating wiring information.
前記信号のレイテンシ許容値をユーザ入力に基づいて設定するステップ
を更に具備し、
前記第1配線情報を算出するステップは、
前記第1配置情報で規定される前記対象パスに対して、前記第1配置情報に含まれる複数のセル種の各々の後段の配線長として取り得る全ての組合せを、前記配置情報と、前記総配線長と、前記最大配線長と、前記レイテンシ許容値を条件とした二次制約計画問題で算出するステップ
を含み、
前記第2配線情報を算出するステップは、
前記第2配置情報で規定される前記対象パスに対して、前記第2配置情報に含まれる複数のセル種の各々の後段の配線長として取り得る全ての組合せを、前記配置情報と、前記総配線長と、前記最大配線長と、前記レイテンシ許容値を条件とした線形計画法で算出するステップ
を含む
回路設計支援方法。 A circuit design support method according to claim 8,
Further comprising setting a latency tolerance of the signal based on user input;
The step of calculating the first wiring information includes:
For the target path defined by the first arrangement information, all combinations that can be taken as the wiring length of the subsequent stage of each of the plurality of cell types included in the first arrangement information are included in the arrangement information and the total Calculating a secondary constraint planning problem on condition that the wiring length, the maximum wiring length, and the latency tolerance value are included,
The step of calculating the second wiring information includes:
For the target path defined by the second arrangement information, all combinations that can be taken as the wiring length of each subsequent stage of the plurality of cell types included in the second arrangement information are included in the arrangement information and the total A circuit design support method including a step of calculating by a linear programming method using a wiring length, the maximum wiring length, and the latency tolerance as a condition.
前記対象パスに供給される電源電圧を前記周期毎に平均化した平均電源電圧と、前記平均電源電圧の最大値及び最小値とを算出するステップと、
前記対象パスの要素として配置される駆動能力の異なる複数のセル種の各々の論理段数の組合せである配置情報に基づいて、前記電源電圧が変動しても前記対象パスの遅延の変動が小さい前記対象パスの要素を決定するステップと
を具備し、
前記対象パスの要素を決定するステップは、
第1配置情報を設定するステップと、
前記第1配置情報で規定される前記対象パスに対して、前記最大値が供給されたときの前記対象パスの第1遅延と、前記最小値が供給されたときの前記対象パスの第2遅延との差が最小となるときの、前記第1配置情報に含まれる複数のセル種の各々の後段の最適配線長の組合せである第1配線情報を算出するステップと、
前記第1配置情報と前記第1配線情報とで規定される前記対象パスに対して、前記平均電源電圧に基づいて第1ジッタ値を算出するステップと、
前記第1ジッタ値が前記許容ジッタ値を超えていることを判定するステップと、
前記第1配置情報よりも駆動能力の高い第2配置情報を設定するステップと、
前記第2配置情報で規定される前記対象パスに対して、前記最大値が供給されたときの前記対象パスの第3遅延と、前記最小値が供給されたときの前記対象パスの第4遅延との差が最小となるときの、前記第2配置情報に含まれる複数のセル種の各々の後段の最適配線長の組合せである第2配線情報を算出するステップと、
前記第2配置情報と前記第2配線情報とで規定される前記対象パスに対して、前記平均電源電圧に基づいて第2ジッタ値を算出するステップと、
前記第2ジッタ値が前記許容ジッタ値を超えているか否かを判定するステップと、
前記第2ジッタ値が前記許容ジッタ値以下の場合、前記第2配置情報と前記第2配線情報とを前記対象パスの要素として決定するステップ
を備える
回路設計支援方法。 Setting a target path that is a design target for propagating a signal, a period of the signal, and an allowable jitter value of the signal based on a user input;
Calculating an average power supply voltage obtained by averaging the power supply voltage supplied to the target path for each period, and a maximum value and a minimum value of the average power supply voltage;
Based on arrangement information that is a combination of the number of logical stages of each of a plurality of cell types having different driving capabilities arranged as elements of the target path, even if the power supply voltage fluctuates, variation in delay of the target path is small Determining an element of the target path,
Determining an element of the target path comprises:
Setting first arrangement information;
A first delay of the target path when the maximum value is supplied and a second delay of the target path when the minimum value is supplied for the target path specified by the first arrangement information. Calculating the first wiring information that is a combination of the optimal wiring lengths of the subsequent stages of each of the plurality of cell types included in the first arrangement information when the difference between
Calculating a first jitter value based on the average power supply voltage for the target path defined by the first arrangement information and the first wiring information;
Determining that the first jitter value exceeds the allowable jitter value;
Setting second arrangement information having higher driving ability than the first arrangement information;
A third delay of the target path when the maximum value is supplied and a fourth delay of the target path when the minimum value is supplied for the target path specified by the second arrangement information. Calculating second wiring information that is a combination of the optimal wiring lengths of the subsequent stages of each of the plurality of cell types included in the second arrangement information when the difference between
Calculating a second jitter value based on the average power supply voltage for the target path defined by the second arrangement information and the second wiring information;
Determining whether the second jitter value exceeds the allowable jitter value;
A circuit design support method comprising: determining the second arrangement information and the second wiring information as elements of the target path when the second jitter value is equal to or less than the allowable jitter value.
回路設計支援プログラム。 A circuit design support program for causing a computer to execute the circuit design support method according to any one of claims 6 to 10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011280539A JP2013131070A (en) | 2011-12-21 | 2011-12-21 | Apparatus, method, and program for supporting circuit design |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011280539A JP2013131070A (en) | 2011-12-21 | 2011-12-21 | Apparatus, method, and program for supporting circuit design |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013131070A true JP2013131070A (en) | 2013-07-04 |
Family
ID=48908563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011280539A Pending JP2013131070A (en) | 2011-12-21 | 2011-12-21 | Apparatus, method, and program for supporting circuit design |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013131070A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010508973A (en) * | 2006-11-08 | 2010-03-25 | ライトラブ イメージング, インコーポレイテッド | Photo-acoustic imaging device and method |
-
2011
- 2011-12-21 JP JP2011280539A patent/JP2013131070A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010508973A (en) * | 2006-11-08 | 2010-03-25 | ライトラブ イメージング, インコーポレイテッド | Photo-acoustic imaging device and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6721924B2 (en) | Noise and power optimization in high performance circuits | |
US8856709B2 (en) | Systems and methods for correlated parameters in statistical static timing analysis | |
US20210103693A1 (en) | Dynamic frequency boosting in integrated circuits | |
US8839167B1 (en) | Reducing runtime and memory requirements of static timing analysis | |
US20070136705A1 (en) | Timing analysis method and device | |
CN115017846B (en) | Interface-based time sequence repairing method, device and medium | |
US11681842B2 (en) | Latency offset in pre-clock tree synthesis modeling | |
US8181130B1 (en) | Method for jitter reduction by shifting current consumption | |
JP2005352787A (en) | Method and apparatus for timing analysis | |
US20090271747A1 (en) | Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit | |
US9495497B1 (en) | Dynamic voltage frequency scaling | |
US7168057B2 (en) | Targeted optimization of buffer-tree logic | |
JP2013131070A (en) | Apparatus, method, and program for supporting circuit design | |
Cong et al. | Logic synthesis for better than worst-case designs | |
JP5304088B2 (en) | Analysis method and analysis apparatus for analyzing delay time distribution | |
Wu et al. | Two approaches for timing-driven placement by Lagrangian relaxation | |
JPWO2008133116A1 (en) | Circuit design apparatus, circuit design method, and circuit design program | |
US8745558B1 (en) | Deployment of transmission gate logic cells in application specific integrated circuits | |
JP2016122299A (en) | State machine division program, information processor and state machine division method | |
Dong et al. | PGR: Period and glitch reduction via clock skew scheduling, delay padding and GlitchLess | |
JP2012014585A (en) | Semiconductor design device | |
Rajaram et al. | Analytical bound for unwanted clock skew due to wire width variation | |
US9684742B1 (en) | Method and apparatus for performing timing analysis on calibrated paths | |
JP5909073B2 (en) | Layout apparatus and layout method | |
CN112257379A (en) | Method for correcting circuit clock delay |