JP2009163490A - Timing adjustment method of integrated circuit and computer program - Google Patents

Timing adjustment method of integrated circuit and computer program Download PDF

Info

Publication number
JP2009163490A
JP2009163490A JP2008000340A JP2008000340A JP2009163490A JP 2009163490 A JP2009163490 A JP 2009163490A JP 2008000340 A JP2008000340 A JP 2008000340A JP 2008000340 A JP2008000340 A JP 2008000340A JP 2009163490 A JP2009163490 A JP 2009163490A
Authority
JP
Japan
Prior art keywords
path
cell
timing
error
sensitivity
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
Application number
JP2008000340A
Other languages
Japanese (ja)
Inventor
Atsushi Kimata
淳 木全
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 JP2008000340A priority Critical patent/JP2009163490A/en
Publication of JP2009163490A publication Critical patent/JP2009163490A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a timing adjustment method, capable of correcting timing error in consideration of influence on all paths in an integrated circuit, and a computer program therefor. <P>SOLUTION: The timing adjustment method includes correcting timing error in each path of the integrated circuit by inserting a buffer cell to each cell constituting the path. At that time, sensitivity information showing the degree of influence on a slack that is a tolerance for a timing regulation for each path is provided for each cell. The timing error is corrected using the sensitivity information. According to this, the timing error can be corrected with consideration of the influence on a path free from timing error (MET path). Consequently, induction of a path with timing error (error path) can be prevented. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、集積回路のタイミング調整に関する。特に、集積回路の各パスにおけるタイミングエラーを、パスを構成するセル(遅延素子、以下、セルと表記する。)へのバッファセルの挿入により修正するタイミングECO処理に関する。   The present invention relates to timing adjustment of integrated circuits. In particular, the present invention relates to timing ECO processing for correcting a timing error in each path of an integrated circuit by inserting a buffer cell into a cell (a delay element, hereinafter referred to as a cell) constituting the path.

集積回路のレイアウトでは、信号のタイミングが考慮される。レイアウトツールは静的タイミング解析(Static Timing Analysis、以下、STAと表記する。)において回路遅延を修正、改善する。信号の静的なタイミングには、セットアップタイムとホールドタイムとがあり、その両方のタイミング規定が満たされる必要がある。STAの結果、タイミング規定が満たされているか否かが判断される。タイミング規定が満たされていない場合は、タイミングEngineering Change Order(以下、タイミングECOと表記する。)においてタイミングエラーが修正される。   In integrated circuit layout, signal timing is taken into account. The layout tool corrects and improves circuit delay in static timing analysis (hereinafter referred to as STA). There are a setup time and a hold time in the static timing of a signal, and both timing specifications need to be satisfied. As a result of the STA, it is determined whether or not the timing regulation is satisfied. If the timing rule is not satisfied, the timing error is corrected in the timing Engineering Change Order (hereinafter referred to as “timing ECO”).

図1は、セットアップタイムとホールドタイムとを説明する図である。図1(a)に示されるように、一般に集積回路は、フリップフロップFF1、FF2の間に何段かの回路セルを備えるパスに分解される。回路セルとしては一般的に、バッファ、インバータ、論理ゲートなどが挙げられる。図1(a)に示されるパスにおいて、フリップフロップFF2はフリップフロップFF1の出力Qから出力されるデータDataを、バッファセルを介して入力Dから取り込む。フリップフロップFF2によるデータDataの取り込みは、クロックCLKの立ち上がりエッジに応答して行われる。   FIG. 1 is a diagram for explaining the setup time and the hold time. As shown in FIG. 1A, generally, an integrated circuit is decomposed into a path including several stages of circuit cells between flip-flops FF1 and FF2. Generally, a circuit cell includes a buffer, an inverter, a logic gate, and the like. In the path shown in FIG. 1A, the flip-flop FF2 takes in the data Data output from the output Q of the flip-flop FF1 from the input D through the buffer cell. The data Data is fetched by the flip-flop FF2 in response to the rising edge of the clock CLK.

図1(b)は、フリップフロップFF2によるデータDataの取り込みのタイミングチャートを示す。データDataの確定時とクロックCLKの立ち上がりエッジとの間がセットアップタイムSTである。クロックCLKの立ち上がりエッジとデータDataの終了時との間がホールドタイムHTである。このセットアップタイムSTとホールドタイムHTとが、それぞれフリップフロップFF2の特性から決まる規定値以上であることが必要とされる。   FIG. 1B shows a timing chart of fetching data Data by the flip-flop FF2. The setup time ST is between the time when the data Data is determined and the rising edge of the clock CLK. The hold time HT is between the rising edge of the clock CLK and the end of the data Data. It is necessary that the setup time ST and the hold time HT be equal to or more than a predetermined value determined from the characteristics of the flip-flop FF2.

例えば、図1(c)のようにデータDataに対してクロックCLKが遅延すると、クロックCLKの立ち上がりエッジからデータDataの終了までが短くなる。ホールドタイムHTが規定値に満たないような場合はホールドエラーとなる。   For example, when the clock CLK is delayed with respect to the data Data as shown in FIG. 1C, the time from the rising edge of the clock CLK to the end of the data Data is shortened. If the hold time HT is less than the specified value, a hold error occurs.

その場合は、タイミングECOにおいて例えば図1(d)に示されるようにFF1の出力QとFF2の入力Dとの間に遅延バッファセルB1が挿入される。遅延バッファセルB1の挿入によりデータDataのタイミングを遅らせてクロックCLKのタイミングと合わせることで、ホールドタイムHTを確保するのである。   In that case, the delay buffer cell B1 is inserted between the output Q of the FF1 and the input D of the FF2, as shown in FIG. The hold time HT is ensured by delaying the timing of the data Data by the insertion of the delay buffer cell B1 and matching it with the timing of the clock CLK.

しかし、セットアップタイムSTも余裕がないような場合、遅延バッファセルB1の挿入により、図1(e)に示されるようにセットアップタイムSTが短くなる。その結果、セットアップタイムSTが規定値に満たなくなりセットアップエラーが発生することも起こりうる。   However, when the setup time ST has no margin, the setup time ST is shortened as shown in FIG. 1 (e) by inserting the delay buffer cell B1. As a result, the setup time ST may not reach the specified value and a setup error may occur.

特許文献1には、このタイミングECOに関連する技術が開示されている。   Patent Document 1 discloses a technique related to the timing ECO.

特開2003−162556号公報JP 2003-162556 A

一方、集積回路の設計で考慮される信号の遅延要因については、近年の集積回路プロセスの微細化により、製造バラツキ等の統計的要因の影響が大きくなってきている。そこで、STAにおいて回路遅延を統計的に扱う技術が提案されている。例えば、特許文献2、3である。   On the other hand, the signal delay factor considered in the design of the integrated circuit is greatly influenced by statistical factors such as manufacturing variations due to the recent miniaturization of the integrated circuit process. Therefore, a technique for statistically handling circuit delay in STA has been proposed. For example, Patent Documents 2 and 3.

特開2006−268479号公報JP 2006-268479 A 特開2004−252831号公報JP 2004-252831 A

タイミングECOでは、上述の通りホールドエラーを修正するための遅延バッファセルの挿入により、新たなセットアップエラーが発生することがある。上記の特許文献1に開示された背景技術では、セットアップタイムのマージンを参照しながら、複数のタイミング制約でタイミングエラーが発生しないようにデータパスに遅延バッファセルを挿入してホールドエラーの修正を行う。   At timing ECO, a new setup error may occur due to the insertion of a delay buffer cell for correcting a hold error as described above. In the background art disclosed in Patent Document 1 described above, a hold error is corrected by inserting a delay buffer cell in a data path so that a timing error does not occur due to a plurality of timing constraints while referring to a setup time margin. .

しかし、例えばパスを構成するセルのうち駆動能力の大きいセルの前後に遅延バッファセルが挿入された場合は、遅延が予想より大きくなることがある。そうすると、あるパスのホールドエラーを修正した結果、別のパスでセットアップエラーを誘発してしまうことがある。あるパスのタイミングエラーを修正した影響で、タイミングエラーのないパス(以下、METパスと表記する。)がタイミングエラーのあるパス(以下、エラーパスと表記する。)になってしまい問題である。   However, for example, when delay buffer cells are inserted before and after a cell having a large driving ability among cells constituting a path, the delay may be larger than expected. Then, as a result of correcting a hold error in one path, a setup error may be induced in another path. Due to the effect of correcting a timing error of a certain path, a path without a timing error (hereinafter referred to as a MET path) becomes a path with a timing error (hereinafter referred to as an error path).

また、特許文献2、3にも回路遅延を統計的に扱うことで上記の問題に対処する手段については開示されていない。   Also, Patent Documents 2 and 3 do not disclose means for dealing with the above problem by statistically handling circuit delays.

本発明は上記の課題に鑑み提案されたものである。本発明は、集積回路において、全てのパスへの影響を考慮してタイミングエラーを修正することが可能なタイミング調整方法、及びそのコンピュータプログラムを提供することを目的とする。   The present invention has been proposed in view of the above problems. An object of the present invention is to provide a timing adjustment method capable of correcting a timing error in consideration of the influence on all paths in an integrated circuit, and a computer program therefor.

本発明にかかるタイミング調整方法は、集積回路の各パスにおけるタイミングエラーを、パスを構成するセルへのバッファセルの挿入により修正するものである。上述された課題を解決し目的を達成するべく、本発明にかかるタイミング調整方法では、パスごとにタイミング規定に対する余裕であるスラックへの影響度を示す感度情報が各セルについて備えられる。この感度情報を用いてタイミングエラーが修正されることを特徴とする。   The timing adjustment method according to the present invention corrects a timing error in each path of an integrated circuit by inserting a buffer cell into a cell constituting the path. In order to solve the above-described problems and achieve the object, in the timing adjustment method according to the present invention, sensitivity information indicating the degree of influence on slack, which is a margin for the timing specification, is provided for each cell for each path. A timing error is corrected using this sensitivity information.

また、本発明にかかるコンピュータプログラムは、集積回路という物理的または技術的な対象において、その信号のタイミングという物理的性質または技術的性質に基づく情報処理に関するものであり、自然法則を利用した技術的思想の創作に属するものである。
本発明にかかるコンピュータプログラムは、上記のタイミング調整方法が備える工程をコンピュータに実行させることを特徴とする。
The computer program according to the present invention relates to information processing based on a physical property or a technical property such as signal timing in a physical or technical object called an integrated circuit, and is a technical program using a natural law. It belongs to the creation of thought.
The computer program concerning this invention makes a computer perform the process with which said timing adjustment method is provided.

これにより、METパスへの影響を考慮したタイミングエラーの修正が可能となる。したがって、エラーパスの誘発を防ぐことができる。パスごとにスラックへの影響度である感度情報が各セルについて備えられるため、どの位置に遅延バッファセルを挿入すべきかを特定することができる。また、感度情報からエラーパスの集中しているセルがわかるため、挿入される遅延バッファセル数を少なくしてタイミングエラーを修正することができる。   Thereby, it is possible to correct the timing error in consideration of the influence on the MET path. Therefore, error path induction can be prevented. Sensitivity information, which is the degree of influence on slack, is provided for each cell for each path, so it is possible to specify at which position the delay buffer cell should be inserted. Further, since the cells where error paths are concentrated can be known from the sensitivity information, the timing error can be corrected by reducing the number of inserted delay buffer cells.

本発明にかかる集積回路のタイミング調整方法、及びそのコンピュータプログラムによれば、集積回路において、全てのパスへの影響を考慮してタイミングエラーを修正することが可能となる。   According to the integrated circuit timing adjustment method and the computer program thereof according to the present invention, the timing error can be corrected in the integrated circuit in consideration of the influence on all paths.

図2を参照して、本発明にかかる集積回路のタイミング調整方法において、集積回路のパスごとに各セルについて備えられる感度情報の説明をする。図2(a)に示されるパスを例に説明する。図2(a)では、データDataのラインとして使用されるデータパスP1とクロックCLKのラインとして使用されるクロックパスP2とが示されている。それぞれのパスはいくつかのバッファセルを備えて構成されている。例えば、フリップフロップFF1とFF2との間のパスP1には、バッファセルB1〜B4が備えられている。   With reference to FIG. 2, sensitivity information provided for each cell in each path of the integrated circuit in the integrated circuit timing adjustment method according to the present invention will be described. An example will be described with reference to the path shown in FIG. FIG. 2A shows a data path P1 used as a line for data Data and a clock path P2 used as a line for clock CLK. Each path is configured with several buffer cells. For example, buffer cells B1 to B4 are provided in the path P1 between the flip-flops FF1 and FF2.

パスを構成するバッファセルB1〜B4などのセルはそれぞれ、例えば図2(b)に示されるような遅延分布を有している。図2(b)は製造バラツキや温度、電源電圧など種々の遅延の変動要因による遅延のバラツキを、統計的に遅延の確率分布として表したものである。ここで、μは平均値を、σは標準偏差を表す。   Each of the cells such as the buffer cells B1 to B4 constituting the path has a delay distribution as shown in FIG. 2B, for example. FIG. 2B is a statistical representation of the delay variation due to various delay variation factors such as manufacturing variation, temperature, and power supply voltage as a probability distribution of delay. Here, μ represents an average value, and σ represents a standard deviation.

データパスP1にタイミングエラーがある場合、タイミングECOにおけるタイミング修正では、例えば図2(c)に示されるようにバッファセルB2が遅延分布1を有するセルから遅延分布2を有するセルへと変更される。図2(c)の例においてm1、m2をmean値と、s1、s2をsigma値と呼ぶ。具体的には、例えば、m1、m2はそれぞれ遅延分布1、2の平均値μで与えられ、s1、s2はそれぞれ遅延分布1、2についてμ−3σ、すなわち平均値から標準偏差の3倍を引いた値で与えられる。   When there is a timing error in the data path P1, in the timing correction at the timing ECO, for example, the buffer cell B2 is changed from a cell having the delay distribution 1 to a cell having the delay distribution 2 as shown in FIG. . In the example of FIG. 2C, m1 and m2 are called mean values, and s1 and s2 are called sigma values. Specifically, for example, m1 and m2 are given by the average value μ of the delay distributions 1 and 2, respectively, and s1 and s2 are μ-3σ for the delay distributions 1 and 2, respectively, that is, 3 times the standard deviation from the average value. It is given as the subtracted value.

図2(d)は、データパスP1のタイミング規定に対する余裕であるスラック(この例ではホールドタイムマージン)の分布を示す。データパスP1のスラック(ホールドタイムマージン)分布は、データパスP1を構成するバッファセルB1〜B4の各セルが有する遅延分布から計算される。例えば、図2(c)のようにバッファセルB2について遅延分布1から遅延分布2へ変更されると、データパスP1のスラック(ホールドタイムマージン)は図2(d)のようにスラック分布1からスラック分布2へ変化する。図2(d)の例においてmp1、mp2をmean値と、sp1、sp2をsigma値と呼ぶ。具体的には、図2(c)と同様に例えば、mp1、mp2はそれぞれスラック分布1、2の平均値μで与えられ、sp1、sp2はそれぞれスラック分布1、2についてμ−3σ、すなわち平均値から標準偏差の3倍を引いた値で与えられる。   FIG. 2D shows a distribution of slack (a hold time margin in this example) that is a margin with respect to the timing specification of the data path P1. The slack (hold time margin) distribution of the data path P1 is calculated from the delay distribution of each cell of the buffer cells B1 to B4 constituting the data path P1. For example, when the buffer cell B2 is changed from the delay distribution 1 to the delay distribution 2 as shown in FIG. 2C, the slack (hold time margin) of the data path P1 is changed from the slack distribution 1 as shown in FIG. It changes to slack distribution 2. In the example of FIG. 2D, mp1 and mp2 are called mean values, and sp1 and sp2 are called sigma values. Specifically, as in FIG. 2C, for example, mp1 and mp2 are given by the average value μ of the slack distributions 1 and 2, respectively, and sp1 and sp2 are μ −3σ, that is, the average for the slack distributions 1 and 2, respectively. The value is given by subtracting 3 times the standard deviation from the value.

図2(c)、(d)に示されるように、バッファセルB2の遅延分布を変更することで、データパスP1のスラック(ホールドタイムマージン)が増加する。すなわち、遅延分布2を有するバッファセルをバッファセルB2のセルの前または後に挿入することで、データパスP1のスラック(ホールドタイムマージン)が改善され、タイミングエラーが修正されるのである。   As shown in FIGS. 2C and 2D, the slack (hold time margin) of the data path P1 is increased by changing the delay distribution of the buffer cell B2. That is, by inserting a buffer cell having the delay distribution 2 before or after the cell of the buffer cell B2, the slack (hold time margin) of the data path P1 is improved and the timing error is corrected.

感度情報とは、タイミングエラーの修正において、パスを構成するセルへのバッファセルの挿入によりパスのスラックが受ける影響度を示すものである。感度情報は、mean値感度とsigma値感度とを備える。例えば、図2(c)、(d)の例においては、バッファセルB2のセルのmean値感度SmB2は、mp2=mp1+SmB2(m2−m1)を満たす。バッファセルB2のセルのsigma値感度SsB2は、sp2=sp1+SsB2(s2−s1)を満たす。すなわち、mean値感度とは、パスを構成するセルの遅延分布におけるmean値を微小修正(例えば、1[ps])したときの対象パスのスラック分布におけるmean値の変化割合のことである。sigma値感度とは、パスを構成するセルの遅延分布におけるsigma値を微小修正(例えば、1[ps])したときの対象パスのスラック分布におけるsigma値の変化割合のことである。したがって、感度情報が備えるmean値感度、sigma値感度の値が大きいセルほど対象パスのスラックに与える影響が大きくなる。   Sensitivity information indicates the degree of influence that path slack is affected by the insertion of a buffer cell into a cell constituting a path in correcting a timing error. The sensitivity information includes a mean value sensitivity and a sigma value sensitivity. For example, in the examples of FIGS. 2C and 2D, the mean value sensitivity SmB2 of the buffer cell B2 satisfies mp2 = mp1 + SmB2 (m2−m1). The sigma value sensitivity SsB2 of the buffer cell B2 satisfies sp2 = sp1 + SsB2 (s2-s1). That is, the mean value sensitivity is a change rate of the mean value in the slack distribution of the target path when the mean value in the delay distribution of the cells constituting the path is slightly corrected (for example, 1 [ps]). The sigma value sensitivity is a change rate of the sigma value in the slack distribution of the target path when the sigma value in the delay distribution of the cells constituting the path is slightly corrected (for example, 1 [ps]). Accordingly, a cell having a larger value of the mean value sensitivity and sigma value sensitivity included in the sensitivity information has a greater influence on the slack of the target path.

図3は、本発明にかかる集積回路のタイミング調整方法によるタイミングECOを含んだ、集積回路のレイアウト処理全体のフロー図の一例である。集積回路のレイアウト処理では、例えばまず、レジスタ転送レベル(Register Transfer Level、RTL)のハードウェア記述言語(Hardware Description Language、HDL)による記述が論理合成される(S1)。次に、論理合成された回路のレイアウト、すなわち物理的な配置配線が行われる(S2)。レイアウトの終了後、もしくはレイアウトと並行してSTAが行われる(S3)。STAでは遅延計算が行われ、タイミング解析が実行される。また、感度情報F1が生成される。STAの結果、サインオフにおいてタイミング規定が満たされているか否かの判断がされる(S4)。タイミング規定が満たされていない場合(S4:NG)、タイミングECOに移行する。   FIG. 3 is an example of a flowchart of the entire integrated circuit layout process including the timing ECO by the integrated circuit timing adjustment method according to the present invention. In the layout processing of the integrated circuit, for example, first, a description in a hardware description language (HDL) of a register transfer level (RTL) is logically synthesized (S1). Next, a logic-synthesized circuit layout, that is, physical placement and routing is performed (S2). After the layout is completed or in parallel with the layout, STA is performed (S3). In STA, delay calculation is performed and timing analysis is performed. Also, sensitivity information F1 is generated. As a result of the STA, it is determined whether or not the timing rule is satisfied in sign-off (S4). When the timing regulation is not satisfied (S4: NG), the process proceeds to the timing ECO.

セットアップタイムは、データの確定が早いほど満足することができるが、論理回路をレイアウトした後では、データのタイミングを早めることは困難である。一方、ホールドタイムは、データの終了が遅いほど満足することができるが、論理回路をレイアウトした後でも、遅延バッファセルを挿入することにより、そのタイミングを遅らせることは容易にできる。したがって、レイアウトツールでは一般に、セットアップエラーが発生しないようにセルのレイアウトを行い、その後レイアウトされた集積回路に対してホールドエラーのチェックを行い、ホールドエラーが発生するパス(エラーパス)に遅延バッファセルを挿入してホールドエラーを修正する。そのため、タイミングECOでは、エラーパスを構成するセルへのバッファセルの挿入によりタイミングエラーが修正される(S5)。このタイミングECOにおけるタイミングエラーの修正では、感度情報F1が参照される。また、バッファセル挿入による回路修正情報F2が生成される。   The setup time can be satisfied as the data is determined earlier, but it is difficult to advance the data timing after the logic circuit is laid out. On the other hand, the hold time can be satisfied as the end of data is late, but even after the logic circuit is laid out, the delay can be easily delayed by inserting a delay buffer cell. Therefore, the layout tool generally lays out the cells so that setup errors do not occur, then checks the hold error for the laid-out integrated circuit, and delay buffer cells on the path where the hold error occurs (error path). To fix the hold error. Therefore, at the timing ECO, the timing error is corrected by inserting the buffer cell into the cells constituting the error path (S5). In correcting the timing error at the timing ECO, the sensitivity information F1 is referred to. In addition, circuit correction information F2 by the buffer cell insertion is generated.

タイミングECOにおけるタイミングエラーの修正が終わると、回路修正情報F2に基づき、再度レイアウトが行われる。   When the correction of the timing error at the timing ECO is completed, the layout is performed again based on the circuit correction information F2.

一方、サインオフにおいてタイミング規定が満たされている場合(S4:OK)、Verificationで、物理上の問題がないことの検証とテストシミュレーションによる問題がないことの検証とが行われる(S6)。   On the other hand, when the timing regulation is satisfied in sign-off (S4: OK), verification is performed to verify that there is no physical problem and that there is no problem by test simulation (S6).

図4を参照して、図3のタイミングECO(S5)の詳細な処理フローについて説明する。ここで、スラックとは前述の通り、タイミング規定に対する余裕、すなわち、マージンのことである。以下では、セットアップタイムマージンをセットアップスラック、ホールドタイムマージンをホールドスラックと表記する。   A detailed processing flow of the timing ECO (S5) in FIG. 3 will be described with reference to FIG. Here, as described above, slack is a margin with respect to the timing specification, that is, a margin. Hereinafter, the setup time margin is expressed as setup slack, and the hold time margin is expressed as hold slack.

タイミングECOではエラーパスの修正に先立って、必要なデータが入力される(S51〜S53)。S51のタイミングリストの入力では、図3のSTA(S3)の結果からエラーパスの読み込みが行われる。S52のスラック情報の入力では、STAの結果からセットアップスラックが読み込まれ、各セルの端子ごとにセットアップスラックが設定される。このとき、複数のパスが通るセルに対しては、最も条件の厳しいセットアップスラック、すなわち、最小のセットアップスラックが設定される。S53の感度情報の入力では、STAで生成された感度情報F1が読み込まれる。具体的には、各パスについて、パスを構成するセルの端子ごとにmean値感度、sigma値感度が設定される。   At timing ECO, necessary data is input prior to error path correction (S51 to S53). In the timing list input in S51, an error path is read from the result of STA (S3) in FIG. In the input of slack information in S52, the setup slack is read from the STA result, and the setup slack is set for each terminal of each cell. At this time, the setup slack having the strictest condition, that is, the minimum setup slack is set for a cell through which a plurality of paths pass. In the input of sensitivity information in S53, sensitivity information F1 generated by STA is read. Specifically, for each path, a mean value sensitivity and a sigma value sensitivity are set for each terminal of the cells constituting the path.

必要なデータの入力が終わると、エラーパスの修正に移行する。エラーパスの修正ではまず、S51で読み込まれたエラーパスのうちタイミングエラー修正の対象となるエラーパスについて、タイミングエラーのないMETパスに影響するセルが、バッファセルを挿入する候補となるセルから除外される(S501)。METパスに影響を与えるセルの特定は、感度情報F1からMETパスに対するmean値感度の値を参照して行われる。   When the necessary data has been entered, the process proceeds to error path correction. In the error path correction, of the error paths read in S51, for the error path that is the target of timing error correction, the cells that affect the MET path without the timing error are excluded from the cells that are candidates for inserting buffer cells. (S501). The cell that affects the MET path is identified with reference to the value of the mean value sensitivity for the MET path from the sensitivity information F1.

METパスに影響するセルが除外された後、残ったセルについて、感度情報F1からエラーパスに対するmean値感度の値を参照して、その値の高いセルが検索される(S502)。   After the cells that affect the MET path are excluded, with respect to the remaining cells, the value of the mean value sensitivity to the error path is referred to from the sensitivity information F1, and a cell having a higher value is searched (S502).

S502の検索がされた結果、エラーパスに対するmean値感度の値が高かったセルについて、今度は感度情報F1からエラーパスに対するsigma値感度の値を参照して、その値の高いセルが検索される(S503)。   As a result of the search in S502, for the cell having a high mean value sensitivity value for the error path, a cell having a high value is searched by referring to the sigma value sensitivity value for the error path from the sensitivity information F1. (S503).

S503の検索がされた結果、エラーパスに対するsigma値感度の値が高かったセルが、バッファセルを挿入する位置(セル)として特定される。S52で設定されたセットアップスラックの値を超えないような遅延バッファセルが、特定されたセルの前または後に挿入される(S504)。   As a result of the search in S503, a cell having a high sigma value sensitivity for the error path is specified as a position (cell) at which the buffer cell is inserted. A delay buffer cell that does not exceed the setup slack value set in S52 is inserted before or after the specified cell (S504).

S504のバッファセル挿入の後、ホールドスラック及びセットアップスラックの再計算が行われる(S505、506)。スラックの再計算の結果、セットアップタイムとホールドタイムとが規定を満たしているか否かが判断される(S507、S508)。遅延バッファセルの挿入により、セットアップタイムが規定値に満たなくなりセットアップエラーが発生している場合(S507:No)、その遅延バッファセルでは駆動能力が高過ぎて、遅延が大きくなり過ぎるということになる。そのため、挿入したバッファセルが削除され(S509)、駆動能力が1ランク下のバッファセルが挿入され(S510)、スラックの再計算(S505、506)に戻る。   After the insertion of the buffer cell in S504, hold slack and setup slack are recalculated (S505, 506). As a result of the recalculation of slack, it is determined whether or not the setup time and hold time satisfy the regulations (S507, S508). If the setup time does not reach the specified value due to the insertion of the delay buffer cell and a setup error occurs (S507: No), the delay buffer cell has too high driving capability and the delay becomes too large. . Therefore, the inserted buffer cell is deleted (S509), a buffer cell whose driving capability is one rank lower is inserted (S510), and the process returns to slack recalculation (S505, 506).

セットアップタイムが規定を満たし(S507:Yes)、ホールドエラーが発生している場合(S508:No)、依然として遅延量が不足しているということになる。そのため、セットアップスラックにまだ余裕があるか否かが判断される(S511)。セットアップスラックに余裕がある場合(S511:Yes)、さらに遅延させることが可能ということになる。したがって、先程のS504と同じ位置(セル)に同じ遅延バッファセルがさらに挿入され(S512)、スラックの再計算(S505、506)に戻る。   If the setup time satisfies the regulation (S507: Yes) and a hold error has occurred (S508: No), the delay amount is still insufficient. Therefore, it is determined whether the setup slack still has room (S511). If there is room in the setup slack (S511: Yes), it means that further delay is possible. Therefore, the same delay buffer cell is further inserted at the same position (cell) as the previous S504 (S512), and the process returns to the slack recalculation (S505, 506).

セットアップスラックに余裕がない場合(S511:No)、先程のS504と同じ位置(セル)への更なる遅延バッファセルの挿入はできないということになる。したがって、1ランク下のsigma値感度の高いセル、すなわち2番目にsigma値感度の高いセルが検索され(S513)、そのセルの前または後に遅延バッファセルが挿入され(S514)、スラックの再計算(S505、506)に戻る。   If there is no allowance for setup slack (S511: No), it means that no further delay buffer cell can be inserted at the same position (cell) as the previous S504. Therefore, the cell having the highest sigma value sensitivity one rank below, that is, the cell having the second highest sigma value sensitivity is searched (S513), and the delay buffer cell is inserted before or after the cell (S514), and slack recalculation is performed. Return to (S505, 506).

ホールドタイムも規定を満たす場合(S508:Yes)、タイミングエラー修正の対象とされたエラーパスについて、タイミングエラーが修正されたということになる。したがって、バッファセル挿入による回路修正情報F2が生成される。このように、タイミングエラー修正の対象となる次のエラーパスがなくなるまで、図4のエラーパス修正ループが繰り返される。   If the hold time also satisfies the regulation (S508: Yes), it means that the timing error has been corrected for the error path targeted for timing error correction. Therefore, circuit correction information F2 by the buffer cell insertion is generated. In this way, the error path correction loop of FIG. 4 is repeated until there is no next error path that is the target of timing error correction.

図5〜図7を参照して、タイミングECOの具体的な処理について説明する。図5はタイミングECO処理の対象となる回路の一例を示す。図5の回路に含まれるパスFF1‐FF3、パスFF2‐FF3、パスFF5‐FF4の3つのパスを例に説明する。ここで、例えば、パスFF1‐FF3とは、フリップフロップFF1からセルA、C、D、E、F、Gを経てフリップフロップFF3に至るパスのことである。説明のため、各パスが有するスラックをホールドスラック、セットアップスラックの順に、パスFF1‐FF3は−50[ps]、50[ps]、パスFF2‐FF3は−100[ps]、150[ps]、パスFF5‐FF4は50[ps]、50[ps]であるとする。ここで、マイナスの値は、スラックがその分だけ不足して規定値に満たないタイミングエラーが発生しているということを意味する。すなわち、パスFF1‐FF3とパスFF2‐FF3とはエラーパスであり、パスFF5‐FF4はMETパスである。なお、各スラックの値は、図4のS51、S52で入力されるものである。   A specific process of the timing ECO will be described with reference to FIGS. FIG. 5 shows an example of a circuit to be subjected to timing ECO processing. An explanation will be given by taking three paths FF1-FF3, FF2-FF3, and FF5-FF4 included in the circuit of FIG. 5 as an example. Here, for example, the paths FF1-FF3 are paths from the flip-flop FF1 through the cells A, C, D, E, F, G to the flip-flop FF3. For the sake of explanation, the slack included in each path is in the order of hold slack and setup slack, the path FF1-FF3 is -50 [ps], 50 [ps], the path FF2-FF3 is -100 [ps], 150 [ps], Assume that the paths FF5 to FF4 are 50 [ps] and 50 [ps]. Here, a negative value means that a timing error that is less than the specified value has occurred due to a lack of slack. That is, the path FF1-FF3 and the path FF2-FF3 are error paths, and the path FF5-FF4 is a MET path. Each slack value is input in S51 and S52 of FIG.

図6は、感度情報F1の一例を示す。「StartPoint」、「EndPoint」はそれぞれパスの始点、終点を表す。「Instance」の列にはパスを構成するセルが端子ごとに示される。「Incr」は各セルの遅延を表す。例えば、「/INSTANCE_name1/A 3.0」は、セルINSTANCE_name1の端子Aまでの配線遅延が3.0であることを意味し、「/INSTANCE_name1/X 6.0」は、セルINSTANCE_name1自体の遅延が6.0であることを意味する。「Path」は各セルの遅延「Incr」が加算された値を表す。四角で囲われた「mean sensitivity」、「sigma sensitivity」はそれぞれ、パスに対する各セルのmean値感度、sigma値感度を表す。「slack」はパスのホールドスラックの値である。すなわち、この「slack」がマイナスの値であるパスはエラーパスである。図4のS53では、図6に示されるように、各パスについて、パスを構成するセルの端子ごとにmean値感度、sigma値感度が設定されることになる。   FIG. 6 shows an example of the sensitivity information F1. “StartPoint” and “EndPoint” represent the start point and end point of the path, respectively. In the “Instance” column, the cells constituting the path are shown for each terminal. “Incr” represents the delay of each cell. For example, “/ INSTANCE_name1 / A 3.0” means that the wiring delay to terminal A of cell INSTANCE_name1 is 3.0, and “/ INSTANCE_name1 / X 6.0” means that the delay of cell INSTANCE_name1 itself is 6.0. To do. “Path” represents a value obtained by adding the delay “Incr” of each cell. “Mean sensitivity” and “sigma sensitivity” enclosed by squares represent the mean value sensitivity and sigma value sensitivity of each cell with respect to the path, respectively. “Slack” is a hold slack value of the path. That is, a path in which “slack” is a negative value is an error path. In S53 of FIG. 4, as shown in FIG. 6, the mean value sensitivity and the sigma value sensitivity are set for each terminal of the cells constituting the path, as shown in FIG.

図7は感度情報テーブルの一例を示す。感度情報テーブルは、図6の感度情報F1に基づいて生成される。前述したように感度情報F1は、各パスについて、パスを構成するセルの端子ごとにmean値感度、sigma値感度を設定するものである。感度情報テーブルは、各パス個別の感度情報F1を、集積回路に含まれる全てのセルの端子ごとに、エラーパスに対するmean値感度、エラーパスに対するsigma値感度、METパスに対するmean値感度としてまとめたものである。ここで説明される具体例においては、感度情報F1の参照は、この感度情報テーブルにより行われる。   FIG. 7 shows an example of the sensitivity information table. The sensitivity information table is generated based on the sensitivity information F1 in FIG. As described above, the sensitivity information F1 sets, for each path, the mean value sensitivity and the sigma value sensitivity for each terminal of the cells constituting the path. The sensitivity information table summarizes sensitivity information F1 for each path as a mean value sensitivity for an error path, a sigma value sensitivity for an error path, and a mean value sensitivity for a MET path for each cell terminal included in the integrated circuit. Is. In the specific example described here, the sensitivity information F1 is referred to by this sensitivity information table.

図7に示される感度情報テーブルにおいて、インスタンスセルの欄はセル名と端子名とからなる。ここで、図7のセル名と図5のセル名とは対応している。Globalslackの欄には、図4のS52で設定されるセットアップスラックの値が入る。エラーパスのmean値、エラーパスのsigma値、METパスのmean値の各感度の欄には、感度情報F1に基づいて設定される値が入る。複数のパスが通るセルに対しては、各パスの感度のうち0を除いた最小の値が入る。感度の値が0であるということは、パスに対して全く影響を与えないということを意味するため、考慮に入れる必要がないからである。例えば、セルCを例に説明すると、セルCの出力端子C.outは、前述した図5のパスFF1‐FF3、パスFF2‐FF3、パスFF5‐FF4の3つのパスのうち、パスFF1‐FF3とパスFF2‐FF3とが通る。ともにエラーパスであるため、パスFF1‐FF3、パスFF2‐FF3のそれぞれが通るセルCの入力端子C.in1、C.in2のエラーパスのmean値感度から、それぞれのmean値感度は1.01と1.02であることがわかる。よって、パスFF1‐FF3とパスFF2‐FF3の両パスが通るセルCの出力端子C.outには、パスFF1‐FF3、パスFF2‐FF3のそれぞれのmean値感度1.01と1.02のうちの最小の値である1.01が入るのである。   In the sensitivity information table shown in FIG. 7, the instance cell column includes a cell name and a terminal name. Here, the cell names in FIG. 7 correspond to the cell names in FIG. In the Globalslack column, the setup slack value set in S52 of FIG. 4 is entered. Values set based on the sensitivity information F1 are entered in the sensitivity fields of the error path mean value, error path sigma value, and MET path mean value. For a cell through which a plurality of paths pass, the minimum value excluding 0 of the sensitivity of each path is entered. This is because a sensitivity value of 0 means that there is no influence on the path, and it is not necessary to take it into consideration. For example, taking the cell C as an example, the output terminal C. Out passes through the path FF1-FF3 and the path FF2-FF3 among the three paths FF1-FF3, FF2-FF3, and FF5-FF4 in FIG. Since both are error paths, the input terminals C.C. of the cell C through which each of the paths FF1-FF3 and FF2-FF3 passes. in1, C.I. From the mean value sensitivity of the error path of in2, it can be seen that the respective mean value sensitivities are 1.01 and 1.02. Therefore, the output terminal C.C of the cell C through which both the paths FF1-FF3 and FF2-FF3 pass. The out value is 1.01 which is the minimum value of the mean value sensitivities 1.01 and 1.02 of the paths FF1-FF3 and FF2-FF3.

図5のエラーパスFF1‐FF3がタイミングエラー修正の対象であるとき、パスFF1‐FF3を構成するセルA、C、D、E、F、Gがバッファセルを挿入する位置(セル)の候補となる。タイミングエラーのないMETパスFF5‐FF4に影響するセルが、バッファセルを挿入する候補となるセルA、C、D、E、F、Gから除外される(図4のS501)。図7の感度情報テーブルからMETパスのmean値感度の値が参照される。セルA、C、D、E、F、Gのうち、セルE、FはMETパスFF5‐FF4に影響することがわかる(枠1)。したがって、セルE、Fがバッファセルを挿入する位置(セル)の候補から除外される。   When the error paths FF1 to FF3 in FIG. 5 are targets of timing error correction, the cells A, C, D, E, F, and G that constitute the paths FF1 to FF3 Become. Cells that affect the MET paths FF5-FF4 having no timing error are excluded from the cells A, C, D, E, F, and G that are candidates for inserting buffer cells (S501 in FIG. 4). The mean value sensitivity value of the MET path is referenced from the sensitivity information table of FIG. Of the cells A, C, D, E, F, and G, it can be seen that the cells E and F affect the MET paths FF5-FF4 (frame 1). Therefore, the cells E and F are excluded from candidates for the position (cell) where the buffer cell is inserted.

METパスFF5‐FF4に影響するセルE、Fが除外された後、残ったセルA、C、D、Gについて、図7の感度情報テーブルからエラーパスのmean値感度の値が参照されて、その値の高いセルが検索される(図4のS502)。ここで、例えばセルCのように端子によって値が異なる場合は、前述の通り0を除いた最小の値がセルの値となる。セルA、C、D、Gについて、エラーパスのmean値感度の値は1.01で同じである(枠2)。そのため、この具体例では、セルA、C、D、Gがそのまま全て選択される。   After the cells E and F affecting the MET paths FF5 to FF4 are excluded, for the remaining cells A, C, D, and G, the mean value sensitivity value of the error path is referred from the sensitivity information table of FIG. A cell having a high value is searched (S502 in FIG. 4). Here, for example, when the value differs depending on the terminal as in the cell C, the minimum value excluding 0 is the cell value as described above. For cells A, C, D, and G, the mean value sensitivity value of the error path is 1.01, which is the same (frame 2). Therefore, in this specific example, cells A, C, D, and G are all selected as they are.

エラーパスのmean値感度の値の高いセルが検索された結果、エラーパスのmean値感度の値が高かったセルA、C、D、Gについて、今度は図7の感度情報テーブルからエラーパスのsigma値感度の値が参照されて、その値の高いセルが検索される(図4のS503)。セルA、C、D、Gのうち、セルDのエラーパスのsigma値感度の値が最も高いことがわかる(枠3)。   As a result of searching for a cell having a high mean value sensitivity value of the error path, for the cells A, C, D, and G having a high mean value sensitivity value of the error path, this time, from the sensitivity information table of FIG. With reference to the value of the sigma value sensitivity, a cell having a high value is searched (S503 in FIG. 4). It can be seen that among the cells A, C, D, and G, the value of the sigma value sensitivity of the error path of the cell D is the highest (frame 3).

エラーパスのsigma値感度の値の高いセルが検索された結果、エラーパスのsigma値感度の値が高かったセルDが、バッファセルを挿入する位置(セル)として特定される。したがって、セルDのGlobalslackの値50[ps]を超えないような遅延バッファセルがセルDの前または後に挿入される(図4のS504)。   As a result of searching for a cell having a high sigma value sensitivity of the error path, a cell D having a high value of the sigma value sensitivity of the error path is specified as a position (cell) where the buffer cell is inserted. Therefore, a delay buffer cell that does not exceed the Globalslack value 50 [ps] of the cell D is inserted before or after the cell D (S504 in FIG. 4).

このように、タイミングエラーを修正するために遅延バッファセルが挿入される位置(セル)の検索において、METパスのmean値感度の値が参照される。複数のパスが通るセルについては、各パスの感度のうち0を除いた最小の値が参照される。したがって、METパスに少しでも影響を与えるセルを特定し、バッファセルを挿入する位置(セル)の候補から除外することができる。よって、METパスへの影響を考慮したタイミングエラーの修正ができ、エラーパスの誘発を防ぐことができる。   Thus, in the search for the position (cell) where the delay buffer cell is inserted in order to correct the timing error, the value of the mean value sensitivity of the MET path is referred to. For a cell through which a plurality of paths pass, the minimum value excluding 0 of the sensitivity of each path is referred to. Therefore, it is possible to identify a cell that slightly affects the MET path and exclude it from candidates for the position (cell) to insert the buffer cell. Therefore, the timing error can be corrected in consideration of the influence on the MET path, and the induction of the error path can be prevented.

エラーパスのmean値感度の値が参照されて、その値の高いセルが検索される。複数のパスが通るセルについては、各パスの感度のうち0を除いた最小の値が参照される。これにより、エラーパスの集中するセルを特定することができる。したがって、一度に複数のエラーパスを修正することが可能になる。少ない挿入バッファセル数でのタイミングエラーの修正を期待することができる。   With reference to the value of the mean value sensitivity of the error path, a cell having a high value is searched. For a cell through which a plurality of paths pass, the minimum value excluding 0 of the sensitivity of each path is referred to. As a result, it is possible to identify cells where error paths are concentrated. Therefore, a plurality of error paths can be corrected at a time. Timing error correction with a small number of inserted buffer cells can be expected.

エラーパスのsigma値感度の値が参照されて、その値の高いセルが検索される。複数のパスが通るセルについては、各パスの感度のうち0を除いた最小の値が参照される。これにより、最低限のタイミングエラー改善の保証の下、バッファセルを挿入する位置(セル)として、タイミングエラー改善に与える影響が最も大きい、すなわち、バッファセルの挿入に最も適した位置(セル)を特定することができる。   With reference to the value of the sigma value sensitivity of the error path, a cell having a high value is searched. For a cell through which a plurality of paths pass, the minimum value excluding 0 of the sensitivity of each path is referred to. As a result, under the guarantee of the minimum timing error improvement, as the position (cell) for inserting the buffer cell, the position (cell) having the greatest influence on the timing error improvement, that is, the most suitable position for inserting the buffer cell (cell) is selected. Can be identified.

バッファセルを挿入する位置(セル)のGlobalslackの値を超えないような遅延バッファセルが挿入される。前述の通り、複数のパスが通るセルについては、Globalslackの値は、最も条件の厳しい最小のセットアップスラックの値とされる。そのため、遅延バッファセルの挿入によるセットアップエラーの発生を防止することができる。   A delay buffer cell that does not exceed the value of Globalslack at the position (cell) where the buffer cell is inserted is inserted. As described above, for a cell through which a plurality of paths pass, the value of Globalslack is the minimum setup slack value that is the most severe. Therefore, it is possible to prevent the setup error due to the insertion of the delay buffer cell.

ここで、特許請求の範囲との対応は以下の通りである。
感度情報F1は、感度情報の一例である。
静的タイミング解析STAは、感度情報を各セルについて備える工程の一例である。
タイミングECOは、感度情報を用いてタイミングエラーを修正する工程の一例である。
METパスに影響するセルを除外する工程S501は、METパスに影響を与えるセルを除外する工程の一例である。
mean値感度の高いセルを検索する工程S502は、エラーパスの集中するセルを特定する工程の一例である。
sigma値感度の高いセルを検索する工程S503は、バッファセルを挿入する位置(セル)を特定する工程の一例である。
Here, the correspondence with the claims is as follows.
The sensitivity information F1 is an example of sensitivity information.
The static timing analysis STA is an example of a process including sensitivity information for each cell.
Timing ECO is an example of a process for correcting a timing error using sensitivity information.
Step S501 for excluding cells that affect the MET path is an example of a process for excluding cells that affect the MET path.
Step S502 for searching for a cell having a high mean value sensitivity is an example of a step for specifying a cell where error paths are concentrated.
The step S503 for searching for a cell with high sigma value sensitivity is an example of a step of specifying a position (cell) for inserting a buffer cell.

以上、詳細に説明したように、本発明によれば、集積回路の各パスにおけるタイミングエラーを、パスを構成するセルへのバッファセルの挿入により修正する。その際、パスごとにタイミング規定に対する余裕であるスラックへの影響度を示す感度情報が各セルについて備えられる。この感度情報を用いてタイミングエラーが修正される。   As described above in detail, according to the present invention, the timing error in each path of the integrated circuit is corrected by inserting a buffer cell into a cell constituting the path. At this time, sensitivity information indicating the degree of influence on slack, which is a margin for timing regulation, is provided for each cell for each path. The timing error is corrected using this sensitivity information.

これにより、METパスへの影響を考慮したタイミングエラーの修正が可能となるため、エラーパスの誘発を防ぐことができる。パスごとにスラックへの影響度である感度情報が各セルについて備えられるため、どの位置(セル)に遅延バッファセルを挿入すべきかを特定することができる。また、感度情報からエラーパスの集中しているセルがわかるため、挿入される遅延バッファセル数を抑えたタイミングエラーの修正ができる。本発明にかかる集積回路のタイミング調整方法、及びそのコンピュータプログラムによれば、集積回路において、全てのパスへの影響を考慮してタイミングエラーを修正することが可能となる。   As a result, the timing error can be corrected in consideration of the influence on the MET path, and the induction of the error path can be prevented. Sensitivity information, which is the degree of influence on slack, is provided for each cell for each path, so it is possible to specify at which position (cell) the delay buffer cell should be inserted. In addition, since the cells with concentrated error paths can be found from the sensitivity information, it is possible to correct timing errors while suppressing the number of inserted delay buffer cells. According to the integrated circuit timing adjustment method and the computer program thereof according to the present invention, the timing error can be corrected in the integrated circuit in consideration of the influence on all paths.

なお、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、図4に示されるタイミングECO処理のフローにおいて、S502、S503では、mean値感度、sigma値感度の高いセルが検索されるが、これに限られるものではない。セットアップスラックに余裕がない場合は、最低限のエラー修正ができるように、mean値感度、sigma値感度の低いセルを検索するようにしてもよい。ケースに応じて処理を切り替えることも当然に考えられる。また、S507の判断がNoの場合、挿入したバッファセルが削除され(S509)、駆動能力が1ランク下のバッファセルが挿入される(S510)。しかし、これに限られるものではない。S507の判断がNoの場合、1ランク下のsigma値感度の高いセルに遅延バッファセルが挿入されるようにしてもよい。
Note that the present invention is not limited to the above-described embodiment, and it goes without saying that various improvements and modifications can be made without departing from the spirit of the present invention.
For example, in the flow of the timing ECO process shown in FIG. 4, cells having high mean value sensitivity and sigma value sensitivity are searched in S502 and S503, but the present invention is not limited to this. If the setup slack has no margin, a cell with low mean value sensitivity and low sigma value sensitivity may be searched so that the minimum error correction can be performed. Of course, it is conceivable to switch the processing according to the case. If the determination in S507 is No, the inserted buffer cell is deleted (S509), and a buffer cell whose driving capability is one rank lower is inserted (S510). However, it is not limited to this. When the determination in S507 is No, a delay buffer cell may be inserted into a cell having a high sigma value sensitivity one rank below.

セットアップタイムとホールドタイムとを説明する図である。It is a figure explaining setup time and hold time. 本発明に関連して感度情報を説明するための図である。It is a figure for demonstrating sensitivity information in relation to this invention. 本発明にかかる集積回路のレイアウト処理全体のフロー図の一例である。It is an example of the flowchart of the whole layout process of the integrated circuit concerning this invention. 本発明にかかるタイミングECO処理のフロー図の一例である。It is an example of the flowchart of the timing ECO process concerning this invention. 本発明にかかるタイミングECO処理の対象となる回路の一例である。It is an example of the circuit used as the object of the timing ECO process concerning this invention. 本発明にかかる感度情報F1の一例である。It is an example of the sensitivity information F1 concerning this invention. 本発明にかかる感度情報テーブルの一例である。It is an example of the sensitivity information table concerning this invention.

符号の説明Explanation of symbols

A〜J セル
B1〜B4 バッファセル
CLK クロック
Data データ
F1 感度情報
F2 回路修正情報
FF1〜FF5 フリップフロップ
HT ホールドタイム
P1、P2 パス
ST セットアップタイム
A to J cells B1 to B4 buffer cells CLK clock data data F1 sensitivity information F2 circuit correction information FF1 to FF5 flip-flop HT hold time P1, P2 path ST setup time

Claims (6)

集積回路の各パスにおけるタイミングエラーを、前記パスを構成するセルへのバッファセルの挿入により修正するタイミング調整方法であって、
前記パスごとにタイミング規定に対する余裕であるスラックへの影響度を示す感度情報を各セルについて備える工程と、
前記感度情報を用いて前記タイミングエラーを修正する工程とを備えることを特徴とするタイミング調整方法。
A timing adjustment method for correcting a timing error in each path of an integrated circuit by inserting a buffer cell into a cell constituting the path,
Providing each cell with sensitivity information indicating the degree of influence on slack that is a margin for the timing regulation for each path;
And a step of correcting the timing error using the sensitivity information.
前記修正する工程は前記バッファセルを挿入する位置の検索において、
タイミングエラーのないパスであるMETパスに影響を与えるセルを除外する工程と、
タイミングエラーのあるパスであるエラーパスの集中するセルを特定する工程と、
前記バッファセルを挿入する位置を特定する工程とを備えることを特徴とする請求項1に記載のタイミング調整方法。
In the search for the position where the buffer cell is inserted, the correcting step includes:
Excluding cells that affect the MET path, which is a path without timing errors;
A step of identifying cells where error paths that are timing errors are concentrated, and
The timing adjustment method according to claim 1, further comprising a step of specifying a position where the buffer cell is inserted.
前記感度情報はmean値感度とsigma値感度とを備え、
前記METパスに影響を与えるセルを除外する工程において、前記METパスに対する前記mean値感度の値を参照して、前記METパスに影響を与えるセルを特定することを特徴とする請求項2に記載のタイミング調整方法。
The sensitivity information includes a mean value sensitivity and a sigma value sensitivity,
3. The step of excluding cells that affect the MET path refers to a value of the mean value sensitivity for the MET path, and identifies a cell that affects the MET path. Timing adjustment method.
前記感度情報はmean値感度とsigma値感度とを備え、
前記エラーパスの集中するセルを特定する工程において、前記エラーパスに対する前記mean値感度の値を参照して、前記エラーパスの集中するセルを特定することを特徴とする請求項2または3に記載のタイミング調整方法。
The sensitivity information includes a mean value sensitivity and a sigma value sensitivity,
4. The cell according to claim 2, wherein, in the step of identifying the cell where the error path is concentrated, the cell where the error path is concentrated is identified by referring to the mean value sensitivity value for the error path. Timing adjustment method.
前記感度情報はmean値感度とsigma値感度とを備え、
前記バッファセルを挿入する位置を特定する工程において、前記エラーパスに対する前記sigma値感度の値を参照して、前記バッファセルを挿入する位置を特定することを特徴とする請求項2乃至4の少なくとも何れか1項に記載のタイミング調整方法。
The sensitivity information includes a mean value sensitivity and a sigma value sensitivity,
The step of specifying the position where the buffer cell is inserted specifies the position where the buffer cell is inserted with reference to the value of the sigma value sensitivity with respect to the error path. The timing adjustment method according to any one of the above.
集積回路の各パスにおけるタイミングエラーを、前記パスを構成するセルへのバッファセルの挿入により修正してタイミング調整を行うコンピュータプログラムであって、
請求項1乃至5の少なくとも何れか1項に記載のタイミング調整方法が備える工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
A computer program for adjusting timing by correcting a timing error in each path of an integrated circuit by inserting a buffer cell into a cell constituting the path,
A computer program that causes a computer to execute the steps of the timing adjustment method according to claim 1.
JP2008000340A 2008-01-07 2008-01-07 Timing adjustment method of integrated circuit and computer program Pending JP2009163490A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008000340A JP2009163490A (en) 2008-01-07 2008-01-07 Timing adjustment method of integrated circuit and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008000340A JP2009163490A (en) 2008-01-07 2008-01-07 Timing adjustment method of integrated circuit and computer program

Publications (1)

Publication Number Publication Date
JP2009163490A true JP2009163490A (en) 2009-07-23

Family

ID=40966043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008000340A Pending JP2009163490A (en) 2008-01-07 2008-01-07 Timing adjustment method of integrated circuit and computer program

Country Status (1)

Country Link
JP (1) JP2009163490A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014501968A (en) * 2010-11-18 2014-01-23 シノプシス, インコーポレイテッド Method and apparatus for correcting design requirement violations in multiple multi-corner multi-mode scenarios
US10192015B2 (en) 2015-06-15 2019-01-29 Samsung Electronics Co., Ltd. Method of estimating a yield of an integrated circuit and method of optimizing a design for an integrated circuit
CN113589152A (en) * 2020-04-30 2021-11-02 中芯国际集成电路制造(上海)有限公司 Test circuit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014501968A (en) * 2010-11-18 2014-01-23 シノプシス, インコーポレイテッド Method and apparatus for correcting design requirement violations in multiple multi-corner multi-mode scenarios
US10192015B2 (en) 2015-06-15 2019-01-29 Samsung Electronics Co., Ltd. Method of estimating a yield of an integrated circuit and method of optimizing a design for an integrated circuit
CN113589152A (en) * 2020-04-30 2021-11-02 中芯国际集成电路制造(上海)有限公司 Test circuit
CN113589152B (en) * 2020-04-30 2024-02-27 中芯国际集成电路制造(上海)有限公司 Test circuit

Similar Documents

Publication Publication Date Title
US8453085B2 (en) Method for estimating the latency time of a clock tree in an ASIC design
US8281275B2 (en) Reducing leakage power in integrated circuit designs
US9053281B2 (en) Dual-structure clock tree synthesis (CTS)
JP4629607B2 (en) Timing verification method and timing verification apparatus for semiconductor integrated circuit
US20120137263A1 (en) Timing closure in chip design
JP5883676B2 (en) LSI design method
JP2010146047A (en) Buffer circuit insertion method, buffer circuit insertion device, and buffer circuit insertion program
US20070136705A1 (en) Timing analysis method and device
CN110134979B (en) Chip design method for optimizing circuit performance according to PVT operation condition change
US7917882B2 (en) Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof
US8255851B1 (en) Method and system for timing design
WO2018188081A1 (en) Pessimism reduction in static timing analysis
US20140289690A1 (en) On-chip-variation (ocv) and timing-criticality aware clock tree synthesis (cts)
JP2006154951A (en) Method and device for verification
JP2009163490A (en) Timing adjustment method of integrated circuit and computer program
JP4918934B2 (en) Semiconductor integrated circuit delay analysis apparatus, delay analysis method, and program thereof
US8271922B2 (en) System and method for clock optimization to achieve timing signoff in an electronic circuit and electronic design automation tool incorporating the same
JP4969416B2 (en) Operation timing verification apparatus and program
US7331027B2 (en) Method for swapping circuits in a metal-only engineering change
JP2010073136A (en) Convergence method and convergence device for hold time error, and convergence program
US8453090B2 (en) System and method for optimizing logic timing
Han et al. Buffer insertion to remove hold violations at multiple process corners
JP5321135B2 (en) Timing verification method and timing verification apparatus
JP2008152329A (en) Circuit analysis method, circuit analysis program, and circuit simulation device
US7509603B2 (en) Semiconductor integrated circuit and design method thereof