JP2009237727A - Method for designing semiconductor integrated circuit - Google Patents
Method for designing semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2009237727A JP2009237727A JP2008080732A JP2008080732A JP2009237727A JP 2009237727 A JP2009237727 A JP 2009237727A JP 2008080732 A JP2008080732 A JP 2008080732A JP 2008080732 A JP2008080732 A JP 2008080732A JP 2009237727 A JP2009237727 A JP 2009237727A
- Authority
- JP
- Japan
- Prior art keywords
- variation
- value
- timing
- slack
- cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本願の開示は、一般に計算機利用設計に関し、詳しくは計算機を用いた半導体集積回路の設計方法に関する。 The present disclosure generally relates to computer-aided design, and more particularly to a method for designing a semiconductor integrated circuit using a computer.
半導体集積回路の設計工程においては、まずRTL(Register Transfer Level)等のハードウェア記述言語により回路を記述し、そのRTL等の回路記述に基づいて論理合成し、更に論理合成により生成されたネットリストに基づいてレイアウト設計を行なう。このレイアウト設計の後に、各ゲートのタイミングのバラツキを考慮したタイミング検証を行なうことにより、最終的な動作検証が行なわれる。このレイアウト後のタイミング検証によりタイミング違反が検出されると、レイアウトを変更することによりタイミング違反の解消を図る。またレイアウト変更してもタイミング違反が解消されない場合には、論理合成を再度実行してネットリストを変更する。しかし論理合成段階ではゲートのタイミングのバラツキを考慮していないので、論理合成を再度実行してネットリストを変更しても、レイアウト設計後のタイミング検証で再度タイミング違反が発生してしまう可能性が十分にある。このような理由により、設計工程が収束しにくいという問題があった。 In the design process of a semiconductor integrated circuit, a circuit is first described by a hardware description language such as RTL (Register Transfer Level), logical synthesis is performed based on the circuit description such as RTL, and a netlist generated by the logical synthesis. Layout design based on the above. After this layout design, a final operation verification is performed by performing a timing verification taking into account the timing variation of each gate. When a timing violation is detected by the timing verification after the layout, the timing violation is solved by changing the layout. If the timing violation is not resolved even after changing the layout, the logic synthesis is executed again to change the netlist. However, in the logic synthesis stage, gate timing variation is not taken into account, so even if the logic synthesis is executed again and the netlist is changed, timing violation after the layout design may occur again. There is enough. For these reasons, there has been a problem that the design process is difficult to converge.
図1は、従来の設計工程の概略を示すフローチャートである。図1のステップS1で、RTL記述をゲートにマッピングすることにより論理合成を行なう。即ち、RTL記述から、論理合成ツールを用いることにより、論理ゲート回路を示すネットリストを自動的に生成する。この際、面積や消費電力などの設計制約条件を満たすように回路の自動生成が実行される。 FIG. 1 is a flowchart showing an outline of a conventional design process. In step S1 of FIG. 1, logic synthesis is performed by mapping the RTL description to the gate. That is, a net list indicating a logic gate circuit is automatically generated from the RTL description by using a logic synthesis tool. At this time, automatic circuit generation is performed so as to satisfy design constraint conditions such as area and power consumption.
ステップS2で、タイミング解析によるタイミング最適化を実行する。ステップS1で生成された回路の各論理ゲートはそれぞれ固有の遅延値を有する。ステップS2では、各論理ゲートの遅延値を加算していくことにより論理ゲート回路の遅延値を求める。この遅延値に基づいて、各フリップフロップ入力端でのセットアップ時間やホールド時間などの要求されるタイミング条件が満たされているか否かを確認する。確認した結果、タイミング条件が満たされていない箇所については、回路の組み替えや論理ゲート素子の入れ替え等を実行する。これにより、タイミングが最適化されたネットリストが生成される。 In step S2, timing optimization by timing analysis is executed. Each logic gate of the circuit generated in step S1 has a unique delay value. In step S2, the delay value of the logic gate circuit is obtained by adding the delay value of each logic gate. Based on this delay value, it is confirmed whether required timing conditions such as setup time and hold time at each flip-flop input terminal are satisfied. As a result of the confirmation, reconfiguration of the circuit, replacement of the logic gate element, and the like are executed for a portion where the timing condition is not satisfied. As a result, a netlist with optimized timing is generated.
以上のステップS1及びS2が論理合成工程に相当する。この論理合成工程の後に物理合成工程が実行される。 The above steps S1 and S2 correspond to a logic synthesis process. After this logic synthesis step, a physical synthesis step is executed.
この物理合成工程におけるステップS3で、論理合成工程により生成されたネットリストに基づいてレイアウト設計(プレース&ルート:配置&配線)を行なうとともに、レイアウトを考慮したタイミング最適化を実行する。レイアウト設計においては、論理ゲート回路のネットリストに従ってチップ上にセル(論理ゲート)を自動的に配置するとともに、セル間を結合する配線を引く。タイミング最適化においては、配線の抵抗R、インダクタL、及び容量Cに基づいてタイミング検証を行い、タイミング違反部分のレイアウトを変更することで、タイミングが最適化されたレイアウトを生成する。 In step S3 in this physical synthesis process, layout design (place & route: arrangement & wiring) is performed based on the net list generated in the logic synthesis process, and timing optimization considering layout is executed. In layout design, cells (logic gates) are automatically arranged on a chip according to a net list of logic gate circuits, and wirings that connect the cells are drawn. In timing optimization, timing verification is performed based on the wiring resistance R, inductor L, and capacitance C, and the layout of the timing violation portion is changed to generate a layout with optimized timing.
以上のステップS3の物理合成工程の後にサインオフ検証工程が実行される。サインオフ(Sign-off)検証とは、レイアウト設計終了後に行なう検証であり、半導体集積回路が所望の機能やタイミング仕様を満足しているか否かの最終的な確認作業である。 The sign-off verification process is executed after the physical synthesis process in step S3. The sign-off verification is verification performed after the layout design is completed, and is a final confirmation of whether or not the semiconductor integrated circuit satisfies a desired function or timing specification.
このサインオフ検証工程におけるステップS4で、バラツキを考慮したタイミング検証が実行される。即ち、各論理ゲートの遅延のバラツキ及び配線RLC値のバラツキを規定したライブラリに基づいてタイミングを計算することにより、バラツキの存在する条件の下で所望のタイミング条件が満たされるか否かを検証する。このタイミング検証の結果、タイミング違反が検出されると、ステップS3に戻りレイアウトを変更する。また図1には示されていないが、前述のように、レイアウト変更してもタイミング違反が解消されない場合には、論理合成を再度実行してネットリストを変更する処理が行なわれる。 In step S4 in the sign-off verification process, timing verification considering variation is executed. That is, by calculating the timing based on the library that defines the delay variation of each logic gate and the variation of the wiring RLC value, it is verified whether or not a desired timing condition is satisfied under the condition where the variation exists. . If a timing violation is detected as a result of the timing verification, the process returns to step S3 to change the layout. Although not shown in FIG. 1, as described above, if the timing violation is not eliminated even if the layout is changed, the logic synthesis is executed again to change the netlist.
図1に示す設計工程では、論理合成工程の段階(S1,S2)において全くバラツキが考慮されていないために、その後のバラツキを考慮したタイミング検証(S4)における収束が悪いという問題がある。即ち、S4でのタイミング違反検出に応じたS3でのレイアウト変更が繰り返し何度も実行されたり、更にはS4でのタイミング違反検出に応じた論理合成の再度実行が繰り返し何度も実行されたりする場合がある。
以上を鑑みると、論理合成工程においてバラツキを考慮した半導体集積回路の設計方法が望まれる。 In view of the above, a method for designing a semiconductor integrated circuit in consideration of variations in the logic synthesis process is desired.
半導体集積回路の設計方法は、セルの遅延時間のバラツキを示す数値であるバラツキ値をセルの種類毎に規定し、回路記述から論理合成によりネットリストを生成し、該ネットリストにおける着目フリップフロップの入力端に至る複数のパス毎に、パスを構成するセルの該バラツキ値を合計してバラツキ合計を算出し、該複数のパスの該バラツキ合計のうちで最大のものを最大バラツキ合計として選択し、該複数のパスのタイミングスラックのうちで最悪のものをワーストタイミングスラックとして、該ワーストタイミングスラックが所定のスラック値よりも悪くならない範囲で該最大バラツキ合計を減少させるように該ネットリストのセルを入れ替える各段階を含む。 In a semiconductor integrated circuit design method, a variation value, which is a numerical value indicating variation in delay time of a cell, is defined for each cell type, a net list is generated by logic synthesis from a circuit description, and a flip-flop of a target flip-flop in the net list is generated. For each of a plurality of paths reaching the input end, the variation values of the cells constituting the path are summed to calculate a variation sum, and the largest of the variation sums of the plurality of paths is selected as the maximum variation sum. The worst timing slack of the plurality of paths is defined as the worst timing slack, and the netlist cell is set so as to reduce the maximum variation total within a range in which the worst timing slack does not deteriorate below a predetermined slack value. Includes each stage to be replaced.
少なくとも1つの実施例によれば、複数のパスのバラツキ合計のうちで最大のものを最大バラツキ合計として、ワーストタイミングスラックが所定のスラック値よりも悪くならない範囲で最大バラツキ合計を減少させる。これにより、論理合成工程においてバラツキを考慮したタイミング最適化処理を実現することができる。 According to at least one embodiment, the maximum sum of variations among a plurality of paths is regarded as the maximum variation sum, and the maximum variation sum is reduced within a range in which the worst timing slack does not become worse than a predetermined slack value. As a result, it is possible to realize timing optimization processing in consideration of variations in the logic synthesis process.
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
図2は、論理合成工程においてバラツキを考慮した半導体集積回路の設計方法を示すフローチャートである。図2のフローチャートに示す処理は、後ほど説明するようにコンピュータにより実行される。 FIG. 2 is a flowchart showing a method for designing a semiconductor integrated circuit in consideration of variations in the logic synthesis process. The processing shown in the flowchart of FIG. 2 is executed by a computer as will be described later.
図2のステップS1で、RTL記述をゲートにマッピングすることにより論理合成を行なう。即ち、RTL記述から、論理合成ツールを用いることにより、論理ゲート回路を示すネットリストを自動的に生成する。この際、面積や消費電力などの設計制約条件を満たすように回路の自動生成が実行される。 In step S1 of FIG. 2, logic synthesis is performed by mapping the RTL description to the gate. That is, a net list indicating a logic gate circuit is automatically generated from the RTL description by using a logic synthesis tool. At this time, automatic circuit generation is performed so as to satisfy design constraint conditions such as area and power consumption.
ステップS2で、全フリップフロップ(FF)の最大バラツキ合計を算出する。この最大バラツキ合計は、セルの遅延時間のバラツキを示す数値であるバラツキ値をセルの種類毎に規定したセル種毎バラツキデータベース10を参照して計算される。
In step S2, the maximum total variation of all flip-flops (FF) is calculated. The total maximum variation is calculated with reference to the cell
図3は、最大バラツキ合計の算出について説明するための図である。図3には、論理合成により生成されたネットリストに対応する回路が示される。図3の回路は、フリップフロップ11乃至16、NAND回路20乃至23、及びインバータ24及び25が含まれる。NAND回路やインバータである各ゲート素子の下に示される「NAND3」や「INV3」等の記述は、それぞれ対応するゲート素子の種類を示す。
FIG. 3 is a diagram for explaining the calculation of the maximum variation total. FIG. 3 shows a circuit corresponding to a net list generated by logic synthesis. The circuit in FIG. 3 includes flip-
図4は、セル種毎バラツキデータベース10におけるNAND回路についてのセル種毎バラツキデータ31を示す図である。セル種毎バラツキデータ31には、3つの種類のNAND回路NAND1、NAND2、及びNAND3について、相対的なバラツキ値が示される。これらの相対バラツキ値は、値が大きいほど当該ゲートにおける遅延時間のバラツキが大きいことを示す。相対バラツキ値同士の比率は、遅延時間のバラツキの比率であってよい。例えば、相対バラツキ値が4であるNAND1の遅延時間のバラツキは±2nsであり、相対バラツキ値が5であるNAND2の遅延時間のバラツキは±2.5nsであってよい。このように相対バラツキ値は、基準となる遅延時間のバラツキを1としたときに、当該ゲート素子の遅延時間のバラツキを相対的に示した値である。例えば、遅延時間のバラツキが最小の素子がある種のインバータであり、このインバータの遅延時間のバラツキDを基準として使用するとする。この場合、あるゲート素子の相対バラツキ値は、そのゲート素子の遅延時間のバラツキをDで割った値であってよい。
FIG. 4 is a diagram illustrating the cell
セル種毎バラツキデータ31には更に、3つの種類のNAND回路について、相対的な遅延時間である相対遅延値が示される。これらの相対遅延値は、値が大きいほど当該ゲートにおける遅延時間が大きいことを示す。相対遅延値同士の比率は、遅延時間の比率であってよい。例えば、相対遅延値が4であるNAND1の遅延時間は±2nsであり、相対遅延値が3であるNAND2の遅延時間は±1.5nsであってよい。このように相対遅延値は、基準となる時間を1としたときに、当該ゲート素子の遅延時間を相対的に示した値である。例えば、遅延時間が最小の素子がある種のインバータであり、このインバータの遅延時間Dを基準として使用するとする。この場合、あるゲート素子の相対遅延値は、そのゲート素子の遅延時間をDで割った値であってよい。また例えば、基準となる時間をクロックの1サイクルとすれば、相対遅延値は遅延時間をクロックサイクル数で計った値となる。
The cell
図5は、セル種毎バラツキデータベース10におけるインバータについてのセル種毎バラツキデータ32を示す図である。セル種毎バラツキデータ32には、3つの種類のインバータINV1、INV2、及びINV3について、相対バラツキ値及び相対遅延値が示される。相対バラツキ値及び相対遅延値の意味はNAND回路の場合と同様である。
FIG. 5 is a diagram showing the cell
図3において、各ゲート素子の内部に示される数値は、図4又は図5に示される相対バラツキ値である。即ち例えばNAND回路21は、種類がNAND3であるので、図4から相対バラツキ値が10であることが分かる。この値10がNAND回路21の回路シンボル内に記されている。
In FIG. 3, the numerical value shown inside each gate element is the relative variation value shown in FIG. 4 or FIG. That is, for example, since the type of the
図2のステップS2における最大バラツキ合計の算出においては、ネットリストにおける着目フリップフロップの入力端に至る複数のパス毎に、パスを構成するセルのバラツキ値を合計してバラツキ合計を算出し、複数のパスのバラツキ合計のうちで最大のものを最大バラツキ合計として選択する。フリップフロップ11を着目フリップフロップとすると、その入力端に至るパスは5つある。即ち、フリップフロップ12の出力からフリップフロップ11の入力に至る第1のパス、フリップフロップ13の出力からフリップフロップ11の入力に至る第2のパス、フリップフロップ14の出力からフリップフロップ11の入力に至る第3のパス、フリップフロップ15の出力からフリップフロップ11の入力に至る第4のパス、フリップフロップ16の出力からフリップフロップ11の入力に至る第5のパスである。これらの5つのパスの各々についてパスを構成するセルのバラツキ値を合計すると、第1のパスについては32、第2のパスについては42、第3のパスについても42、第4のパスについては20、第5のパスについても20となる。これらの5つのパスのバラツキ合計32、42、42、20、及び20のうちで最大の値42を最大バラツキ合計として選択する。同様にして、ネットリストに関係する全てのフリップフロップについて最大バラツキ合計を求める。
In the calculation of the maximum variation total in step S2 of FIG. 2, for each of a plurality of paths reaching the input terminal of the target flip-flop in the netlist, the variation value of the cells constituting the path is totaled to calculate the total variation. The largest one of the total variations of the paths is selected as the maximum variation total. If the flip-
次に図2のステップS3で、タイミング解析によるタイミング最適化を実行する。ステップS1で生成された回路の各論理ゲートはそれぞれ固有の遅延値を有する。ステップS2では、各論理ゲートの遅延値を加算していくことにより論理ゲート回路の遅延値を求める。この遅延値に基づいて、各フリップフロップ入力端でのセットアップ時間やホールド時間などの要求されるタイミング条件が満たされているか否かを確認する。確認した結果、タイミング条件が満たされていない箇所については、回路の組み替えや論理ゲート素子の入れ替え等を実行する。これにより、タイミングが最適化されたネットリストが生成される。 Next, in step S3 of FIG. 2, timing optimization by timing analysis is executed. Each logic gate of the circuit generated in step S1 has a unique delay value. In step S2, the delay value of the logic gate circuit is obtained by adding the delay value of each logic gate. Based on this delay value, it is confirmed whether required timing conditions such as setup time and hold time at each flip-flop input terminal are satisfied. As a result of the confirmation, reconfiguration of the circuit, replacement of the logic gate element, and the like are executed for a portion where the timing condition is not satisfied. As a result, a netlist with optimized timing is generated.
ステップS4で、最大バラツキ合計を改善するバラツキ最適化処理を実行する。具体的には、着目フリップフロップについて、上記の複数のパスのタイミングスラックのうちで最悪のものをワーストタイミングスラックとする。そして、ワーストタイミングスラックが所定のスラック値よりも悪くならない範囲で最大バラツキ合計を減少させるようにネットリストのセルを入れ替える。 In step S4, a variation optimization process for improving the maximum variation total is executed. Specifically, for the flip-flop of interest, the worst timing slack of the plurality of paths is the worst timing slack. Then, the netlist cells are switched so that the maximum variation total is reduced within a range in which the worst timing slack does not become worse than a predetermined slack value.
図6は、ワーストタイミングスラックについて説明するための図である。図6には図3と同一の回路が示され、図3と同一の構成要素は同一の番号で参照し、その説明は省略する。図6において、NAND回路やインバータである各ゲート素子の上に示される数値は、図4又は図5に示される相対遅延値である。即ち例えばNAND回路21は、種類がNAND3であるので、図4から相対遅延値が2であることが分かる。この値2がNAND回路21の回路シンボルの上に記されている。
FIG. 6 is a diagram for explaining the worst timing slack. 6 shows the same circuit as FIG. 3, and the same components as those of FIG. 3 are referred to by the same numerals, and a description thereof will be omitted. In FIG. 6, the numerical value shown on each gate element which is a NAND circuit or an inverter is a relative delay value shown in FIG. 4 or FIG. That is, for example, since the
前述した第1乃至第5のパスのそれぞれについて、相対遅延値の合計値は6、8、8、4、及び4である。あるパスのタイミングスラックとは、そのパスの終点における信号の実際の到達時間と要求到達時間との差である。即ち、タイミングスラックとは、そのパスの終点に信号が到達する時間とタイミング要件を満たすために当該信号が当該終点に到達すべき最も遅い時間との差分である。例えば、フリップフロップ12乃至16が同一のタイミング(時間T=0とする)で信号を出力し、フリップフロップ11の入力端で信号が到達しているべき要求到達時間はT=13であるとする。このT=13は、相対遅延値と同一の単位で時間を表現した数値である。即ち、例えば基準となる遅延時間がDである場合、信号出力タイミングの時間(T=0)から要求到達時間までの時間間隔をDで割ると13になるということである。この場合、フリップフロップ12の出力からフリップフロップ11の入力に至る第1のパスのタイミングスラックは7(=13−6)である。同様にして、フリップフロップ13の出力からフリップフロップ11の入力に至る第2のパスのタイミングスラックは5(=13−8)である。またフリップフロップ14の出力からフリップフロップ11の入力に至る第3のパスのタイミングスラックは5(=13−8)である。フリップフロップ15の出力からフリップフロップ11の入力に至る第4のパスのタイミングスラックは9(=13−4)である。更に、フリップフロップ16の出力からフリップフロップ11の入力に至る第5のパスのタイミングスラックは9(=13−4)である。
For each of the first to fifth paths described above, the total value of the relative delay values is 6, 8, 8, 4, and 4. The timing slack of a certain path is the difference between the actual arrival time of the signal at the end point of the path and the required arrival time. That is, the timing slack is the difference between the time at which a signal reaches the end point of the path and the latest time at which the signal should reach the end point in order to satisfy the timing requirements. For example, it is assumed that the flip-
前述のように図2のステップS4のバラツキ最適化処理では、上記の複数のパスのタイミングスラックのうちで最悪のものをワーストタイミングスラックとする。5つのパスのタイミングスラックは、7、5、5、9、及び9である。タイミングスラックは値が小さいほどタイミングに余裕が無いことを意味するので、5つのタイミングスラックのうちで最悪のタイミングスラックは5となる。ステップS4のバラツキ最適化処理では、このワーストタイミングスラックが所定のスラック値よりも悪くならない範囲で最大バラツキ合計を減少させるようにネットリストのセルを入れ替える。例えば、ワーストタイミングスラックが0よりも小さくならない範囲でネットリストのセルを入れ替える。ワーストタイミングスラックが0以上であれば、要求されるタイミング要件を満たしているが、ワーストタイミングスラックが負になると、要求されるタイミング要件が満たされない。従って、ワーストタイミングスラックが0よりも小さくならない範囲でネットリストのセルを入れ替えるということは、要求されるタイミング要件が満たされる範囲で最大バラツキ合計を減少させることを意味する。また例えば、余裕を見て、ワーストタイミングスラックが1よりも小さくならない範囲でネットリストのセルを入れ替えるようにしてもよい。ネットリストのセルの入れ替えについては後ほど詳細に説明する。 As described above, in the variation optimization process in step S4 of FIG. 2, the worst timing slack of the plurality of paths is set to the worst timing slack. The timing slack of the five paths is 7, 5, 5, 9, and 9. The smaller the value of the timing slack, the less timing there is. Therefore, the worst timing slack among the five timing slacks is 5. In the variation optimization process in step S4, the netlist cells are switched so that the maximum variation total is reduced within a range in which the worst timing slack does not become worse than a predetermined slack value. For example, the netlist cells are switched within a range in which the worst timing slack does not become smaller than zero. If the worst timing slack is 0 or more, the required timing requirement is satisfied. However, if the worst timing slack becomes negative, the required timing requirement is not satisfied. Therefore, replacing the netlist cells within a range in which the worst timing slack does not become smaller than 0 means that the maximum variation sum is reduced within a range in which the required timing requirement is satisfied. Further, for example, the net list cells may be switched within a range in which the worst timing slack does not become smaller than 1 with a margin. The replacement of netlist cells will be described in detail later.
図2において以上説明したステップS1乃至S4が論理合成工程に相当する。この論理合成工程の後に物理合成工程が実行される。 Steps S1 to S4 described above in FIG. 2 correspond to the logic synthesis step. After this logic synthesis step, a physical synthesis step is executed.
この物理合成工程におけるステップS5で、論理合成工程により生成されたネットリストに基づいてレイアウト設計(プレース&ルート:配置&配線)を行なうとともに、レイアウトを考慮したタイミング最適化を実行する。レイアウト設計においては、論理ゲート回路のネットリストに従ってチップ上にセル(論理ゲート)を自動的に配置するとともに、セル間を結合する配線を引く。タイミング最適化においては、配線の抵抗R、インダクタL、及び容量Cに基づいてタイミング検証を行い、タイミング違反部分のレイアウトを変更することで、タイミングが最適化されたレイアウトを生成する。 In step S5 in this physical synthesis process, layout design (place & route: arrangement & wiring) is performed based on the net list generated in the logic synthesis process, and timing optimization considering layout is executed. In layout design, cells (logic gates) are automatically arranged on a chip according to a net list of logic gate circuits, and wirings that connect the cells are drawn. In timing optimization, timing verification is performed based on the wiring resistance R, inductor L, and capacitance C, and the layout of the timing violation portion is changed to generate a layout with optimized timing.
以上のステップS5の物理合成工程の後にサインオフ検証工程が実行される。このサインオフ検証工程におけるステップS6で、バラツキを考慮したタイミング検証が実行される。即ち、各論理ゲートの遅延のバラツキ及び配線RLC値のバラツキを規定したライブラリに基づいてタイミングを計算することにより、バラツキの存在する条件の下で所望のタイミング条件が満たされるか否かを検証する。このタイミング検証の結果、タイミング違反が検出されると、ステップS5に戻りレイアウトを変更する。また図2には示されていないが、レイアウト変更してもタイミング違反が解消されない場合には、論理合成を再度実行してネットリストを変更する処理を行なってよい。 The sign-off verification process is executed after the physical synthesis process in step S5. In step S6 in the sign-off verification process, timing verification considering variation is executed. That is, by calculating the timing based on the library that defines the delay variation of each logic gate and the variation of the wiring RLC value, it is verified whether or not a desired timing condition is satisfied under the condition where the variation exists. . If a timing violation is detected as a result of the timing verification, the process returns to step S5 to change the layout. Although not shown in FIG. 2, if the timing violation is not eliminated by changing the layout, logic synthesis may be executed again to change the netlist.
以下に、ワーストタイミングスラックが所定のスラック値よりも悪くならない範囲で最大バラツキ合計を減少させるようにネットリストのセルを入れ替える処理について説明する。この処理では、フリップフロップの入力端から複数のパスを上流に向かいトレースしていくことにより順次見つかったセルを入れ替えるようにしてよい。 The following describes a process of replacing netlist cells so that the maximum variation sum is reduced within a range in which the worst timing slack does not become worse than a predetermined slack value. In this process, the cells sequentially found may be replaced by tracing a plurality of paths upstream from the input end of the flip-flop.
図6の回路を例にとると、フリップフロップ11の入力端からパスを上流に向かいトレースしていくと、まず最初にNAND回路23が見つかる。従って、このNAND回路23がセル入れ替え処理の対象となる。NAND回路23の種類はNAND3であり、図4を参照すると、NAND3よりも相対バラツキ値が小さなNAND回路としてNAND1及びNAND2が利用できることが分かる。この場合、NAND1の方が相対バラツキ値が小さいので、まずNAND回路23をNAND1に入れ替えることを検討する。この際、着目セルをバラツキ値がより小さな別の種類のセルに入れ替えた場合のワーストタイミングスラックを算出し、算出されたワーストタイミングスラックが所定のスラック値よりも悪いか否かを判断する。
Taking the circuit of FIG. 6 as an example, when tracing the path upstream from the input end of the flip-
図7は、セルの入れ替えを説明するための図である。図7において、図6と同一の構成要素は同一の番号で参照し、その説明は省略する。 FIG. 7 is a diagram for explaining replacement of cells. In FIG. 7, the same elements as those of FIG. 6 are referred to by the same numerals, and a description thereof will be omitted.
図7に示す回路は、図6に示す回路と比較して、種類がNAND3であるNAND回路23が、種類がNAND1であるNAND回路23Aに入れ替えられていることが異なる。NAND回路23の相対バラツキ値が10で相対遅延値が2であるのに対して、NAND回路23Aの相対バラツキ値は4で相対遅延値が4である。このセル入れ替えにより、最大バラツキ合計が42から36に減少(向上)し、ワーストタイミングスラックが5から3(=13−10)に減少(悪化)している。即ち、着目セルをバラツキ値がより小さな別の種類のセルに入れ替えた場合のワーストタイミングスラックは3である。所定のスラック値を0とすれば、このワーストタイミングスラックは所定のスラック値よりも良好である(大きい)。従って、種類がNAND3であるNAND回路23を種類がNAND1であるNAND回路23Aに入れ替える処理は、ワーストタイミングスラックが所定のスラック値よりも悪くならない範囲で最大バラツキ合計を減少させる。従って、この入れ替え処理を有効な処理として実行し、ネットリストを変更する。
The circuit shown in FIG. 7 differs from the circuit shown in FIG. 6 in that the
その後更に、フリップフロップ11の入力端からパスを上流に向かいトレースしていくと、例えば次にNAND回路22が見つかる。従って、このNAND回路22がセル入れ替え処理の対象となる。なお上流に行くにつれて複数のパスに分岐する場合には、複数のパスの各々を順番にチェックすればよい。なおこの際、最大バラツキ合計に対応するパスを記憶しておき、このパス上にないセルは入れ替えの対象から外すように処理を構成してもよい。
Thereafter, when the path is traced upstream from the input end of the flip-
NAND回路22の種類はNAND3であり、図4を参照すると、NAND3よりも相対バラツキ値が小さなNAND回路としてNAND1及びNAND2が利用できることが分かる。この場合、NAND1の方が相対バラツキ値が小さいので、まずNAND回路22をNAND1に入れ替えることを検討する。
The type of
図8は、セルの入れ替えを説明するための図である。図8において、図7と同一の構成要素は同一の番号で参照し、その説明は省略する。 FIG. 8 is a diagram for explaining replacement of cells. In FIG. 8, the same components as those of FIG. 7 are referred to by the same numerals, and a description thereof will be omitted.
図8に示す回路は、図7に示す回路と比較して、種類がNAND3であるNAND回路22が、種類がNAND1であるNAND回路22Aに入れ替えられていることが異なる。このセル入れ替えにより、最大バラツキ合計は36のままであり、ワーストタイミングスラックも3のままである。従って、種類がNAND3であるNAND回路22を種類がNAND1であるNAND回路22Aに入れ替える処理は、ワーストタイミングスラックが所定のスラック値(この例では0)よりも悪くならない範囲の処理である。従って、この入れ替え処理を有効な処理として実行し、ネットリストを変更する。なお、このセル入れ替え処理では、ワーストタイミングスラックが所定のスラック値よりも悪くならない範囲ではあるが、最大バラツキ合計36が減少していない。このような場合には、ネットリストを変更しないような手順としてもよい。
The circuit shown in FIG. 8 differs from the circuit shown in FIG. 7 in that the
その後更に、フリップフロップ11の入力端からパスを上流に向かいトレースしていくと、例えば次にインバータ25が見つかる。従って、このインバータ25がセル入れ替え処理の対象となる。
Thereafter, when the path is traced upstream from the input terminal of the flip-
インバータ25の種類はINV3であり、図5を参照すると、INV3よりも相対バラツキ値が小さなインバータとしてINV1及びINV2が利用できることが分かる。この場合、INV1の方が相対バラツキ値が小さいので、まずインバータ25をINV1に入れ替えることを検討する。
The type of the
図9は、セルの入れ替えを説明するための図である。図9において、図8と同一の構成要素は同一の番号で参照し、その説明は省略する。 FIG. 9 is a diagram for explaining replacement of cells. 9, the same components as those of FIG. 8 are referred to by the same numerals, and a description thereof will be omitted.
図9に示す回路は、図8に示す回路と比較して、種類がINV3であるインバータ25が、種類がINV1であるインバータ25Aに入れ替えられていることが異なる。このセル入れ替えにより、最大バラツキ合計は36から32になり、ワーストタイミングスラックは3から1(=13−12)になる。従って、種類がINV3であるインバータ25を種類がINV1であるインバータ25Aに入れ替える処理は、ワーストタイミングスラックが所定のスラック値(この例では0)よりも悪くならない範囲の処理で最大バラツキ合計を減少させる。従って、この入れ替え処理を有効な処理として実行し、ネットリストを変更する。
The circuit shown in FIG. 9 is different from the circuit shown in FIG. 8 in that an
その後更に、フリップフロップ11の入力端からパスを上流に向かいトレースしていくと、例えば次にインバータ24が見つかる。従って、このインバータ24がセル入れ替え処理の対象となる。
Thereafter, when the path is traced further upstream from the input end of the flip-
インバータ24の種類はINV3であり、図5を参照すると、INV3よりも相対バラツキ値が小さなインバータとしてINV1及びINV2が利用できることが分かる。この場合、INV1の方が相対バラツキ値が小さいので、まずインバータ24をINV1に入れ替えることを検討する。
The type of the
図10は、セルの入れ替えを説明するための図である。図10において、図9と同一の構成要素は同一の番号で参照し、その説明は省略する。 FIG. 10 is a diagram for explaining the replacement of cells. 10, the same components as those of FIG. 9 are referred to by the same numerals, and a description thereof will be omitted.
図10に示す回路は、図9に示す回路と比較して、種類がINV3であるインバータ24が、種類がINV1であるインバータ24Aに入れ替えられていることが異なる。このセル入れ替えにより、最大バラツキ合計は32から28になり、ワーストタイミングスラックは1から−1(=13−14)になる。従って、種類がINV3であるインバータ24を種類がINV1であるインバータ24Aに入れ替える処理は、ワーストタイミングスラックが所定のスラック値(この例では0)よりも悪くなる処理である。従って、この入れ替え処理は無効な処理であり、ネットリストの変更はしない。
The circuit shown in FIG. 10 is different from the circuit shown in FIG. 9 in that the
再び図5を参照し、INV3よりも相対バラツキ値が小さなインバータとして利用できるINV1及びINV2のうち、INV1が利用できないことが分かったので、次にINV2が利用できるか否かを検討する。 Referring to FIG. 5 again, since it has been found that INV1 cannot be used among INV1 and INV2 that can be used as inverters having a relative variation value smaller than INV3, whether INV2 can be used next is examined.
図11は、セルの入れ替えを説明するための図である。図11において、図9と同一の構成要素は同一の番号で参照し、その説明は省略する。 FIG. 11 is a diagram for explaining replacement of cells. In FIG. 11, the same components as those of FIG. 9 are referred to by the same numerals, and a description thereof will be omitted.
図11に示す回路は、図9に示す回路と比較して、種類がINV3であるインバータ24が、種類がINV2であるインバータ24Bに入れ替えられていることが異なる。このセル入れ替えにより、最大バラツキ合計は32から29になり、ワーストタイミングスラックは1から0(=13−13)になる。従って、種類がINV3であるインバータ24を種類がINV2であるインバータ24Bに入れ替える処理は、ワーストタイミングスラックが所定のスラック値(この例では0)よりも悪くならない範囲の処理で最大バラツキ合計を減少させる。従って、この入れ替え処理を有効な処理として実行し、ネットリストを変更する。
The circuit shown in FIG. 11 differs from the circuit shown in FIG. 9 in that the
以上のようにして、フリップフロップの入力端から複数のパスを上流に向かいトレースしていくことにより順次見つかったセルを入れ替え対象として検討する。入れ替えにより、ワーストタイミングスラックが所定のスラック値よりも悪くならない範囲で最大バラツキ合計を減少させるようにネットリストを変更する。例えば、入れ替え対象のセルがなくなるか又は更なる有効な入れ替え処理が不可能となるまで処理を繰り返して、最大バラツキ合計を減少させてよい。また或いは、最大バラツキ合計が所定の値以下になった時点で処理を終了させるようにしてもよい。 As described above, cells sequentially found by tracing a plurality of paths upstream from the input end of the flip-flop are considered as replacement targets. By exchanging, the net list is changed so that the maximum variation total is reduced within a range in which the worst timing slack does not become worse than a predetermined slack value. For example, the process may be repeated until there is no cell to be replaced or no further effective replacement process is possible, and the maximum variation total may be reduced. Alternatively, the processing may be terminated when the maximum variation total becomes a predetermined value or less.
以下に、図1に示す半導体集積回路の設計方法と図2に示す半導体集積回路の設計手法との相違点について説明する。図12は、設計対象の回路の一例を示す図である。図12に示す回路は、フリップフロップ41及び42並びに40個のインバータ43−1乃至43−40を含む。フリップフロップ41の出力端から出力される信号が、直列接続された40段のインバータ43−1乃至43−40を伝搬して、フリップフロップ42の入力端に到達する。
The difference between the semiconductor integrated circuit design method shown in FIG. 1 and the semiconductor integrated circuit design method shown in FIG. 2 will be described below. FIG. 12 is a diagram illustrating an example of a circuit to be designed. The circuit shown in FIG. 12 includes flip-
図13は、フリップフロップ42のデータ取り込みタイミングについて説明するための図である。図13(a)において、フリップフロップ41の出力端から時間T=0でデータ信号dataを出力し、フリップフロップ42の入力端において時間T=10でクロック信号clkの立ち上がりエッジに同期してデータ信号を取り込む。図13(a)において、データ信号dataの欄に示す斜線でハッチされたバー51の長さは、フリップフロップ41の出力端からフリップフロップ42の入力端までのデータ信号dataの伝搬時間(遅延時間)を示したものである。即ち、T=0でフリップフロップ41の出力端から出力されたデータは、T=5でフリップフロップ42の入力端に到達する。データ信号dataの欄に示すハッチ無しのバー52は、フリップフロップ42の入力端においてデータ信号dataが有効である時間を示す。また矢印53は、フリップフロップ42のセットアップタイムを示す。従って、例えば矢印の長さを2.5とすると、フリップフロップ42の入力端でデータ信号が到達しているべき要求到達時間はT=7.5である。データ信号dataは、要求到達時間T=7.5の前にフリップフロップ42の入力端に到達しているので、要求タイミングは満たされている。
FIG. 13 is a diagram for explaining the data capture timing of the flip-
図1の半導体集積回路の設計方法における論理合成工程は、バラツキは考慮することなく、要求タイミングが満たされることのみを考慮している。従って、図13(a)に示すようなタイミング関係が満たされれば、論理合成工程は終了する。しかしその後、サインオフ工程でバラツキを考慮したタイミング検証を実行すると、例えば図13(b)のようなタイミング違反が検出される。図13(b)では、バー54がデータ信号dataの到達時間のバラツキを示している。バー54の右端が矢印53の左端よりも時間的に後に位置しているので、最悪の条件では、要求タイミングが満たされないことになる。このようなタイミング違反を収束させるためにレイアウト変更或いは更に論理合成のやり直しが必要になり、設計処理の収束が悪い。
The logic synthesis step in the semiconductor integrated circuit design method of FIG. 1 considers only that the required timing is satisfied without considering variations. Therefore, when the timing relationship as shown in FIG. 13A is satisfied, the logic synthesis process is completed. However, after that, when timing verification is performed in consideration of variations in the sign-off process, for example, a timing violation as shown in FIG. 13B is detected. In FIG. 13B, the
図14は、図2の半導体集積回路の設計工程によるタイミング最適化を説明するための図である。図14において、図13と同一の部分は同一の番号で参照し、その説明は省略する。図14(a)は、図13(b)と同様の図であり、斜線でハッチされたバー51の長さは、フリップフロップ41の出力端からフリップフロップ42の入力端までのデータ信号dataの伝搬時間(遅延時間)を示したものである。またハッチ無しのバー52は、フリップフロップ42の入力端においてデータ信号dataが有効である時間を示す。また矢印53は、フリップフロップ42のセットアップタイムを示す。データ信号dataの到達時間のバラツキを示しているバー54の右端が、矢印53の左端よりも時間的に後に位置しているので、最悪の条件では、要求タイミングが満たされないことになる。
FIG. 14 is a diagram for explaining timing optimization by the design process of the semiconductor integrated circuit of FIG. 14, the same parts as those in FIG. 13 are referred to by the same numerals, and a description thereof will be omitted. FIG. 14A is a diagram similar to FIG. 13B, and the length of the
図2の半導体集積回路の設計方法における論理合成工程は、バラツキを考慮してタイミング最適化を行なっている。従って、図14(a)に示すような違法なタイミング関係を、論理合成工程において、図14(b)に示すようなタイミング関係に修正することができる。即ち、図12に示す回路において、最大バラツキ合計が減少するようにセル(インバータ)の入れ替えを行なう。この際、ワーストタイミングスラックが所定のスラック値よりも悪くならない範囲でセルの入れ替えが実行される。図14(b)では、斜線でハッチされたバー61の長さは、セル入れ替えにより増大したデータ信号dataの伝搬時間(遅延時間)を示す。ハッチ無しのバー62は、フリップフロップ42の入力端においてデータ信号dataが有効である時間を示す。ワーストタイミングスラックが所定のスラック値(例えば0)よりも悪くならない範囲でセルの入れ替えを実行するので、要求到達時間T=7.5の前にデータ信号dataがフリップフロップ42の入力端に到達していることが保証される。
The logic synthesis step in the semiconductor integrated circuit design method of FIG. 2 performs timing optimization in consideration of variations. Therefore, the illegal timing relationship as shown in FIG. 14A can be corrected to the timing relationship as shown in FIG. 14B in the logic synthesis step. That is, in the circuit shown in FIG. 12, the cells (inverters) are replaced so that the maximum total variation is reduced. At this time, cell replacement is performed within a range in which the worst timing slack does not become worse than a predetermined slack value. In FIG. 14B, the length of the
また図14(b)では、バー64がデータ信号dataの到達時間のバラツキを示している。セルの入れ替え処理により、図14(a)のバー54の幅に比較して図14(b)のバー64の幅は減少している。即ち、最大バラツキ合計が減少している。この結果、バー64の右端が矢印53の左端よりも時間的に前に位置しているので、最悪の条件でも、要求タイミングが満たされることになる。このように論理合成工程においてバラツキを考慮してタイミング最適化を実行するので、その後のサインオフ工程でのバラツキを考慮したタイミング検証において、タイミング違反の収束性が向上する。
In FIG. 14B, the
図15は、本発明による半導体集積回路の設計方法を実行する装置の構成を示す図である。 FIG. 15 is a diagram showing a configuration of an apparatus for executing a semiconductor integrated circuit design method according to the present invention.
図15に示されるように、半導体集積回路の設計方法を実行する装置は、例えばパーソナルコンピュータやエンジニアリングワークステーション等のコンピュータにより実現される。図15の装置は、コンピュータ510と、コンピュータ510に接続されるディスプレイ装置520、通信装置523、及び入力装置よりなる。入力装置は、例えばキーボード521及びマウス522を含む。コンピュータ510は、CPU511、RAM512、ROM513、ハードディスク等の二次記憶装置514、可換媒体記憶装置515、及びインターフェース516を含む。
As shown in FIG. 15, the apparatus for executing the semiconductor integrated circuit design method is realized by a computer such as a personal computer or an engineering workstation. 15 includes a
キーボード521及びマウス522は、ユーザとのインターフェースを提供するものであり、コンピュータ510を操作するための各種コマンドや要求されたデータに対するユーザ応答等が入力される。ディスプレイ装置520は、コンピュータ510で処理された結果等を表示すると共に、コンピュータ510を操作する際にユーザとの対話を可能にするために様々なデータ表示を行う。通信装置523は、遠隔地との通信を行なうためのものであり、例えばモデムやネットワークインターフェース等よりなる。
The keyboard 521 and the
半導体集積回路の設計方法は、コンピュータ510が実行可能なコンピュータプログラムとして提供される。このコンピュータプログラムは、可換媒体記憶装置515に装着可能な記憶媒体Mに記憶されており、記憶媒体Mから可換媒体記憶装置515を介して、RAM512或いは二次記憶装置514にロードされる。或いは、このコンピュータプログラムは、遠隔地にある記憶媒体(図示せず)に記憶されており、この記憶媒体から通信装置523及びインターフェース516を介して、RAM512或いは二次記憶装置514にロードされる。
A method for designing a semiconductor integrated circuit is provided as a computer program executable by the
キーボード521及び/又はマウス522を介してユーザからプログラム実行指示があると、CPU511は、記憶媒体M、遠隔地記憶媒体、或いは二次記憶装置514からプログラムをRAM512にロードする。CPU511は、RAM512の空き記憶空間をワークエリアとして使用して、RAM512にロードされたプログラムを実行し、適宜ユーザと対話しながら処理を進める。なおROM513は、コンピュータ510の基本動作を制御するための制御プログラムが格納されている。
When there is a program execution instruction from the user via the keyboard 521 and / or the
上記コンピュータプログラムを実行することにより、コンピュータ510が、上記各実施例で説明されたように半導体集積回路の設計方法を実行する。
By executing the computer program, the
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。 As mentioned above, although this invention was demonstrated based on the Example, this invention is not limited to the said Example, A various deformation | transformation is possible within the range as described in a claim.
10 セル種毎バラツキデータベース
11〜16 フリップフロップ
20〜23 NAND回路
24、25 インバータ
31 セル種毎バラツキデータ
32 セル種毎バラツキデータ
510 コンピュータ
511 CPU
512 RAM
513 ROM
514 二次記憶装置
515 可換媒体記憶装置
516 インターフェース
520 ディスプレイ装置
521 キーボード
522 マウス
523 通信装置
10 Cell
512 RAM
513 ROM
514 Secondary storage device 515 Exchangeable
Claims (5)
回路記述から論理合成によりネットリストを生成し、
該ネットリストにおける着目フリップフロップの入力端に至る複数のパス毎に、パスを構成するセルの該バラツキ値を合計してバラツキ合計を算出し、該複数のパスの該バラツキ合計のうちで最大のものを最大バラツキ合計として選択し、
該複数のパスのタイミングスラックのうちで最悪のものをワーストタイミングスラックとして、該ワーストタイミングスラックが所定のスラック値よりも悪くならない範囲で該最大バラツキ合計を減少させるように該ネットリストのセルを入れ替える
各段階を含む半導体集積回路の設計方法。 A variation value, which is a numerical value indicating variation in the delay time of the cell, is defined for each cell type,
A net list is generated from the circuit description by logic synthesis,
For each of a plurality of paths leading to the input terminal of the target flip-flop in the netlist, the variation value of the cells constituting the path is summed to calculate a variation sum, and the largest of the variation sums of the plurality of paths is calculated. Select the thing as the maximum variation total,
The worst timing slack of the plurality of paths is set as the worst timing slack, and the cells of the netlist are switched so that the maximum variation total is reduced within a range in which the worst timing slack does not become worse than a predetermined slack value. A method of designing a semiconductor integrated circuit including each stage.
該レイアウト設計により生成されたレイアウトの回路に対してバラツキを考慮したタイミング検証を実行する
各段階を更に含む請求項1記載の半導体集積回路の設計方法。 A layout design based on the netlist with the cells replaced,
2. The method of designing a semiconductor integrated circuit according to claim 1, further comprising each step of performing timing verification in consideration of variations with respect to a circuit having a layout generated by the layout design.
着目セルを該バラツキ値がより小さな別の種類のセルに入れ替えた場合の該ワーストタイミングスラックを算出し、
該算出されたワーストタイミングスラックが該所定のスラック値よりも悪いか否かを判断する
各段階を含む請求項1記載の半導体集積回路の設計方法。 The step of replacing the cells is as follows:
Calculating the worst timing slack when the target cell is replaced with another type of cell having a smaller variation value;
2. The method for designing a semiconductor integrated circuit according to claim 1, further comprising: determining whether the calculated worst timing slack is worse than the predetermined slack value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008080732A JP4973561B2 (en) | 2008-03-26 | 2008-03-26 | A method for designing a semiconductor integrated circuit. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008080732A JP4973561B2 (en) | 2008-03-26 | 2008-03-26 | A method for designing a semiconductor integrated circuit. |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009237727A true JP2009237727A (en) | 2009-10-15 |
JP4973561B2 JP4973561B2 (en) | 2012-07-11 |
Family
ID=41251623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008080732A Expired - Fee Related JP4973561B2 (en) | 2008-03-26 | 2008-03-26 | A method for designing a semiconductor integrated circuit. |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4973561B2 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08221456A (en) * | 1995-02-17 | 1996-08-30 | Hitachi Ltd | Timing verification method and system therefor |
JP2000082092A (en) * | 1998-06-29 | 2000-03-21 | Matsushita Electric Ind Co Ltd | Design method for integrated circuit |
JP2000183171A (en) * | 1998-12-14 | 2000-06-30 | Hitachi Ltd | Method of designing logic integrated circuit, and logic circuit |
JP2005092885A (en) * | 2003-09-19 | 2005-04-07 | Internatl Business Mach Corp <Ibm> | System and method for statistical timing analysis of digital circuits |
JP2007173509A (en) * | 2005-12-22 | 2007-07-05 | Renesas Technology Corp | Semiconductor integrated circuit device and method for design thereof |
JP2007280222A (en) * | 2006-04-10 | 2007-10-25 | Toshiba Corp | Design system of semiconductor integrated circuit |
JP2009075822A (en) * | 2007-09-20 | 2009-04-09 | Toshiba Corp | Semiconductor circuit design apparatus |
-
2008
- 2008-03-26 JP JP2008080732A patent/JP4973561B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08221456A (en) * | 1995-02-17 | 1996-08-30 | Hitachi Ltd | Timing verification method and system therefor |
JP2000082092A (en) * | 1998-06-29 | 2000-03-21 | Matsushita Electric Ind Co Ltd | Design method for integrated circuit |
JP2000183171A (en) * | 1998-12-14 | 2000-06-30 | Hitachi Ltd | Method of designing logic integrated circuit, and logic circuit |
JP2005092885A (en) * | 2003-09-19 | 2005-04-07 | Internatl Business Mach Corp <Ibm> | System and method for statistical timing analysis of digital circuits |
JP2007173509A (en) * | 2005-12-22 | 2007-07-05 | Renesas Technology Corp | Semiconductor integrated circuit device and method for design thereof |
JP2007280222A (en) * | 2006-04-10 | 2007-10-25 | Toshiba Corp | Design system of semiconductor integrated circuit |
JP2009075822A (en) * | 2007-09-20 | 2009-04-09 | Toshiba Corp | Semiconductor circuit design apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP4973561B2 (en) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9251300B2 (en) | Methods and tools for designing integrated circuits with auto-pipelining capabilities | |
JP5410523B2 (en) | Method and apparatus for close placement of ordered cells | |
US10031986B1 (en) | System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique | |
JP2007183932A (en) | Timing analysis method and device | |
US8266566B2 (en) | Stability-dependent spare cell insertion | |
JP2004502259A (en) | Method and system for checking tiered metal terminations, surroundings, and exposure | |
US11651131B2 (en) | Glitch source identification and ranking | |
US11681842B2 (en) | Latency offset in pre-clock tree synthesis modeling | |
US7882483B2 (en) | Method for checking constraints equivalence of an integrated circuit design | |
Papa et al. | RUMBLE: an incremental, timing-driven, physical-synthesis optimization algorithm | |
US9047434B2 (en) | Clustering for processing of circuit design data | |
US11574101B2 (en) | Techniques for providing optimizations based on categories of slack in timing paths | |
JP5444985B2 (en) | Information processing device | |
US11042678B2 (en) | Clock gate latency modeling based on analytical frameworks | |
US10540464B1 (en) | Critical path aware voltage drop analysis of an integrated circuit | |
JP4973561B2 (en) | A method for designing a semiconductor integrated circuit. | |
Wu et al. | Two approaches for timing-driven placement by Lagrangian relaxation | |
US20140130000A1 (en) | Structural rule analysis with tcl scripts in synthesis or sta tools and integrated circuit design tools | |
JP5262435B2 (en) | Circuit design apparatus and circuit design method | |
US8689161B2 (en) | Methods for designing integrated circuits employing pre-determined timing-realizable clock-insertion delays and integrated circuit design tools | |
Pasricha et al. | Capps: A framework for power–performance tradeoffs in bus-matrix-based on-chip communication architecture synthesis | |
CN113536726A (en) | Vector generation for maximum instantaneous peak power | |
US11087059B2 (en) | Clock domain crossing verification of integrated circuit design using parameter inference | |
JP5929367B2 (en) | Semiconductor design apparatus and semiconductor design method | |
Kumar et al. | Methodology for Timing Closure in VLSI Physical Design containing high clock to Q Memory Delay |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120313 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120326 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150420 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |