JP2013182600A - Design method for semiconductor integrated circuit, design device for semiconductor integrated circuit, circuit design program, and computer readable recording medium - Google Patents
Design method for semiconductor integrated circuit, design device for semiconductor integrated circuit, circuit design program, and computer readable recording medium Download PDFInfo
- Publication number
- JP2013182600A JP2013182600A JP2012048260A JP2012048260A JP2013182600A JP 2013182600 A JP2013182600 A JP 2013182600A JP 2012048260 A JP2012048260 A JP 2012048260A JP 2012048260 A JP2012048260 A JP 2012048260A JP 2013182600 A JP2013182600 A JP 2013182600A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- semiconductor integrated
- integrated circuit
- violation
- timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】標準セルを用いて半導体集積回路を設計する半導体設計装置において、半導体集積回路における信号経路のタイミング違反を、適切な駆動能力と適切な占有領域を有する所望のセルを用いて解消することを可能とする。
【解決手段】半導体設計装置100において、回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うセル配置配線部112と、該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出するタイミング解析部113と、該違反経路に含まれる少なくとも1つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる1以上の追加標準セルを該置換対象セル毎に作成する追加セル作成部115とを備えた。
【選択図】図1In a semiconductor design apparatus for designing a semiconductor integrated circuit using a standard cell, a signal path timing violation in the semiconductor integrated circuit is solved by using a desired cell having an appropriate driving capability and an appropriate occupied area. Is possible.
In a semiconductor design apparatus 100, a cell placement / wiring unit 112 for placing the standard cells and wiring between the standard cells so as to constitute the semiconductor integrated circuit based on circuit design data, and the semiconductor integration Of the signal paths in the circuit, a timing analysis unit 113 that detects a violation path in which a timing violation has occurred, and at least one standard cell included in the violation path as a replacement target cell, the same logic as each replacement target cell And an additional cell creation unit 115 that creates one or more additional standard cells having different driving capabilities from the replacement target cell for each replacement target cell.
[Selection] Figure 1
Description
本発明は、半導体集積回路の設計方法、半導体集積回路の設計装置、回路設計プログラム、及びコンピュータ読み取り可能な記録媒体に関し、特に、半導体集積回路の設計の単位となる、基本的な論理演算を行う論理回路である種々の標準セル(スタンダードセル)を回路設計データに基づいて組み合わせて半導体集積回路を設計する半導体集積回路の設計方法および設計装置、このような半導体集積回路の設計方法をコンピュータにより行うための回路設計プログラム、並びにこのような回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。 The present invention relates to a semiconductor integrated circuit design method, a semiconductor integrated circuit design apparatus, a circuit design program, and a computer-readable recording medium, and in particular, performs a basic logical operation as a unit for designing a semiconductor integrated circuit. A semiconductor integrated circuit design method and design apparatus for designing a semiconductor integrated circuit by combining various standard cells (standard cells) that are logic circuits based on circuit design data, and such a semiconductor integrated circuit design method is performed by a computer. The present invention relates to a circuit design program and a computer-readable recording medium on which such a circuit design program is recorded.
従来の各種設計ツールを用いた半導体集積回路の設計方法では、論理回路として、種々の基本的な論理演算機能を持つよう半導体領域及び配線などの配置(レイアウト)を予め設計した種々の標準セル(以下、単にセルともいう。)を用意し、用意された複数のセルの配置及びセル間の配線(セル配置配線)を、回路設計データが示す半導体集積回路が得られるようコンピュータにより自動的に行うことにより半導体集積回路を設計している。 In a conventional method of designing a semiconductor integrated circuit using various design tools, various standard cells (arrangements (layouts) of semiconductor regions and wirings that are designed in advance so as to have various basic logical operation functions as logic circuits) Hereinafter, it is also referred to simply as a cell), and the arrangement of the prepared cells and the wiring between the cells (cell arrangement wiring) are automatically performed by a computer so that a semiconductor integrated circuit indicated by the circuit design data can be obtained. Thus, a semiconductor integrated circuit is designed.
このような半導体集積回路の設計方法では、設計した半導体集積回路が正しく動作するには、同期した動作を行う前段および後段の順序回路間の信号経路(以下、信号パスとももいう。)がタイミング制約を満たしている必要があることから、セル配置配線により一旦設計した半導体集積回路に対してタイミング解析を行い、タイミング違反が生じている箇所が見つかったときは、タイミング違反が解消するようセルや配線の配置を修正するレイアウト改善を行っている。 In such a semiconductor integrated circuit design method, in order for the designed semiconductor integrated circuit to operate correctly, a signal path (hereinafter also referred to as a signal path) between the sequential circuit of the preceding stage and the subsequent stage that perform the synchronized operation is timing. Because it is necessary to satisfy the constraints, timing analysis is performed on the semiconductor integrated circuit once designed by cell placement and routing, and if a timing violation is found, the cell or The layout has been improved to correct the wiring layout.
図13は、このような従来の半導体集積回路の設計方法を説明する図であり、一般的な設計処理のフローを示している。 FIG. 13 is a diagram for explaining such a conventional method for designing a semiconductor integrated circuit, and shows a flow of a general design process.
なお、図13に示す各ステップの処理は、コンピュータ内にソフトウェアにより構築された各種設計ツールにより行われる。 Note that the processing of each step shown in FIG. 13 is performed by various design tools constructed by software in the computer.
まず、設計する半導体集積回路の演算機能を示す回路設計データを、論理回路を表す回路情報(ネットリスト)に変換する論理合成が論理合成ツールにより行われる(ステップS1)。 First, logic synthesis is performed by the logic synthesis tool to convert circuit design data indicating the arithmetic function of the semiconductor integrated circuit to be designed into circuit information (net list) representing the logic circuit (step S1).
つまり、この論理合成では、ハードウェア記述言語などで記述された回路設計データを、演算機能を実現する論理回路における構成要素(論理ゲートや電源など)の接続関係を示すネットリストに変換する処理が、論理合成ツールにより行われる。 In other words, in this logic synthesis, there is a process of converting circuit design data described in a hardware description language into a netlist indicating the connection relationship of components (logic gates, power supplies, etc.) in a logic circuit that realizes an arithmetic function. This is done by a logic synthesis tool.
ここで、ネットリストは、予め登録されたセルライブラリ(既存セルライブラリ)Lrcに標準セルとして格納されている組み合わせ回路や順序回路の接続関係を示す回路図に相等するデータである。なお、組み合わせ回路は、現在の入力のみで出力が決まる論理回路であり、例えば、ANDゲートやORゲートなど基本となる論理演算を行う論理ゲートである。また、順序回路は、入力信号と、内部に保持されている過去の内部状態とで出力が決まるものであり、例えば、フリップフロップである。 Here, the netlist is data equivalent to a circuit diagram showing the connection relationship of combinational circuits and sequential circuits stored as standard cells in a cell library (existing cell library) Lrc registered in advance. The combinational circuit is a logic circuit whose output is determined only by the current input, and is a logic gate that performs basic logic operations such as an AND gate and an OR gate, for example. The sequential circuit has an output determined by an input signal and a past internal state held therein, and is, for example, a flip-flop.
次いで、ネットリストに基づいてセル配置配線が配置配線ツールにより行われる(ステップS2)。 Next, cell placement and routing is performed by the placement and routing tool based on the net list (step S2).
このセル配置配線では、回路情報(ネットリスト)に従ってセルの配置及びセル間の配線が配置配線ツールにより行われる。つまり、既存セルライブラリLrcのセルを用いて、組み合わせ回路や順序回路などのセルの配置、及び配置したセル間の接続が、設計しようとする半導体集積回路を構成する半導体領域及び配線層などの構成要素のレイアウトが得られるよう行われる。 In this cell placement and routing, placement and routing of cells is performed by a placement and routing tool according to circuit information (net list). That is, using the cells of the existing cell library Lrc, the arrangement of cells such as combinational circuits and sequential circuits, and the connections between the arranged cells are the configurations of the semiconductor region and the wiring layer that constitute the semiconductor integrated circuit to be designed. This is done to get the layout of the element.
次いで、セル配置配線により得られたレイアウトを有する半導体集積回路に対するタイミング解析がタイミング解析ツールにより行われる(ステップS3)。 Next, timing analysis is performed on the semiconductor integrated circuit having the layout obtained by the cell arrangement and wiring by the timing analysis tool (step S3).
このタイミング解析では、半導体集積回路におけるセルの配置およびセル間の配線の配置を示すレイアウトデータから、既存セルライブラリLrcに格納されている各種セルの仕様情報(属性情報)に基づいて、実負荷データ(素子及び配線における寄生抵抗、寄生容量などの寄生成分)が求められ、この実負荷データを基に、タイミング解析ツールにより遅延情報が抽出され、半導体集積回路における各フリップフロップに信号が到達するタイミングの計算が行われる。 In this timing analysis, actual load data is determined based on the specification information (attribute information) of various cells stored in the existing cell library Lrc from layout data indicating the arrangement of cells and the arrangement of wiring between cells in the semiconductor integrated circuit. (Parasitic components such as parasitic resistance and parasitic capacitance in elements and wiring) are obtained, and based on this actual load data, delay information is extracted by the timing analysis tool, and the timing at which the signal reaches each flip-flop in the semiconductor integrated circuit Is calculated.
ここで、遅延時間は、前後段のフリップフロップ間の信号経路(パス)における遅延時間である。また、タイミング解析ツールは、タイミングの計算結果に基づいて、前後段のフリップフロップ間の遅延時間がタイミング制約を満たしているか否かを判定するタイミング検証を行い(ステップS4)、得られた半導体集積回路におけるセルおよび配線のレイアウトでタイミング制約が満たされている場合は、タイミング検証を終了し、タイミング違反が発生している場合は、既存セルライブラリLrcのセルを用いてタイミング改善ツールによりタイミング改善が行われる(ステップS5)。 Here, the delay time is a delay time in a signal path between the flip-flops at the front and rear stages. Further, the timing analysis tool performs timing verification to determine whether or not the delay time between the preceding and succeeding flip-flops satisfies the timing constraint based on the timing calculation result (step S4), and the obtained semiconductor integrated If the timing constraint is satisfied in the cell and wiring layout in the circuit, the timing verification is finished. If the timing violation occurs, the timing improvement tool can improve the timing using the cells of the existing cell library Lrc. Performed (step S5).
つまり、このタイミング改善では、タイミング違反が解消するようレイアウトを改善する配置配線の最適化が行われる。具体的には、配置配線の最適化としては、設計されたレイアウトにおけるセルを、遅延を最適にするために駆動能力の大きいセルに差し替えるセル置換、配線長が短くなるよう現在のセルを移動するセル移動、タイミング違反パスにおける遅延時間が最適になるようこのタイミング違反パスに新たにセルを挿入するセル挿入などが行われる。 In other words, in this timing improvement, the placement and routing are optimized to improve the layout so that the timing violation is eliminated. Specifically, for the optimization of the placement and routing, the cell in the designed layout is replaced with a cell having a large driving capability in order to optimize the delay, and the current cell is moved so as to shorten the wiring length. Cell movement and cell insertion for newly inserting a cell in the timing violation path are performed so that the delay time in the timing violation path is optimized.
そして、最適化によって変更されたレイアウトのデータに基づいて再びタイミング解析がタイミング解析ツールにより行われる。 Then, the timing analysis is performed again by the timing analysis tool based on the layout data changed by the optimization.
上記タイミング解析(ステップS3)、タイミング検証(ステップS4)、及びタイミング改善(ステップS5)は、セル配置配線、つまりセルの配置およびセル間の配線により得られた半導体集積回路におけるすべての信号パスのタイミング違反が収束するよう繰り返し行われる。このタイミング違反を解消しようとする繰り返しが半導体集積回路の設計期間の増大を招いている。 The timing analysis (step S3), the timing verification (step S4), and the timing improvement (step S5) are performed for all signal paths in a semiconductor integrated circuit obtained by cell placement and wiring, that is, cell placement and wiring between cells. Repeated so that timing violations converge. Repeating attempts to eliminate this timing violation causes an increase in the design period of the semiconductor integrated circuit.
図14および図15は、図13で説明した従来の半導体集積回路の設計方法におけるタイミング改善の具体的な一例を示す図である。 14 and 15 are diagrams showing a specific example of timing improvement in the conventional method of designing a semiconductor integrated circuit described in FIG.
例えば、図14に示すように、タイミング解析(ステップS3)の結果、フリップフロップFF1からフリップフロップFF2への信号パスDpxでセットアップタイミング違反が発生していたとする。このセットアップタイミング違反は、1つのフリップフロップFF1からその次段のフリップフロップFF2までの信号伝達が規定時間に間に合わないタイミング違反である。 For example, as shown in FIG. 14, it is assumed that a setup timing violation has occurred in the signal path Dpx from the flip-flop FF1 to the flip-flop FF2 as a result of the timing analysis (step S3). This setup timing violation is a timing violation in which signal transmission from one flip-flop FF1 to the next flip-flop FF2 is not in time for the specified time.
この場合、タイミング改善(ステップS5)では、フリップフロップFF1からフリップフロップFF2へデータが伝わる時間(データパス遅延時間)が小さくなるように、自動配置配線により設計したレイアウトを変更する処理が行われる。 In this case, in the timing improvement (step S5), processing for changing the layout designed by automatic placement and routing is performed so that the time (data path delay time) for transmitting data from the flip-flop FF1 to the flip-flop FF2 is reduced.
具体的には、レイアウトを変更する処理としては、タイミング制約が満たされるよう、信号パスDpxに用いられている標準セルである使用セルUax、Ubxを、既存セルライブラリLrcの既存セルA1〜A3、B1〜B3のうちで最も遅延時間の小さい同一機能のセルA1、B1に差し替える処理、セル間配線が短くなるようセルを近づける処理、あるいはクロックパスCpsの一部Wpxに、セルライブラリLrcに準備されている遅延セルCsxを挿入してクロック信号を遅らせる処理などが行われる。 Specifically, as the process of changing the layout, the used cells Uax and Ubx, which are standard cells used in the signal path Dpx, are changed from the existing cells A1 to A3 in the existing cell library Lrc so that the timing constraint is satisfied. The cell library Lrc is prepared for a process of replacing the cells A1 and B1 having the same delay time among B1 to B3 with the same function, a process of bringing the cells closer so as to shorten the inter-cell wiring, or a part Wpx of the clock path Cps. A process of delaying the clock signal by inserting the delay cell Csx is performed.
また、図15に示すように、フリップフロップFF3からフリップフロップFF4への信号パスDpyにおいてホールドタイミング違反が発生していたとする。このホールドタイミング違反は、1つのフリップフロップFF3からその次段のフリップフロップFF4までの信号伝達が規定時間より早すぎるタイミング違反である。 Further, as shown in FIG. 15, it is assumed that a hold timing violation has occurred in the signal path Dpy from the flip-flop FF3 to the flip-flop FF4. This hold timing violation is a timing violation in which signal transmission from one flip-flop FF3 to the next flip-flop FF4 is too early than a specified time.
この場合、タイミング改善(ステップS5)では、フリップフロップFF3からフリップフロップFF4へデータが伝わる時間(データパス遅延時間)が大きくなるように、セル配置配線により一旦設計したレイアウトを変更する処理が行われる。 In this case, in the timing improvement (step S5), a process for changing the layout once designed by the cell placement and routing is performed so that the time (data path delay time) for transmitting data from the flip-flop FF3 to the flip-flop FF4 is increased. .
具体的には、レイアウトを変更する処理としては、タイミング制約が満たされるよう、信号パスDpyに用いられている標準セルである使用セルUay、Ubyを、既存セルライブラリLrcの既存セルA1〜A3、B1〜B3のうちで最も遅延の大きい同一機能のセルA3およびB3に差し替える処理、セル間配線が長くなるよう配線を迂回させたり隣接するセルを遠ざけたりする処理、あるいは信号パスDpyの一部Wpyに、セルライブラリLrcに準備されている遅延セルCsyを挿入してデータ信号を遅らせる処理などが行われる。 Specifically, as the process of changing the layout, the used cells Uay and Uby, which are standard cells used in the signal path Dpy, are changed from the existing cells A1 to A3 in the existing cell library Lrc so that the timing constraint is satisfied. A process of replacing the cells A3 and B3 having the same delay with the longest delay among B1 to B3, a process of detouring the wiring so as to lengthen the inter-cell wiring, or moving away the adjacent cells, or a part Wpy of the signal path Dpy In addition, a process of delaying the data signal by inserting a delay cell Csy prepared in the cell library Lrc is performed.
このようにタイミング違反がある信号パスがタイミング制約を満たすようレイアウトの変更を行うと、予期せぬレイアウトの複雑化、例えば、セルの密集、多大な配線迂回、多大なセル挿入を招くことがあり、セルや配線の混雑度が上がり配線ショートを引き起こしたり、タイミング違反パスがタイミング制約を満たせないままの状態になってしまったりする。 If the layout is changed so that signal paths with timing violations meet the timing constraints, the layout may be unexpectedly complicated, for example, cell congestion, enormous wiring bypass, and enormous cell insertion. In other words, the congestion of cells and wiring increases, causing a wiring short circuit, or the timing violation path remains in a state where the timing constraint is not satisfied.
こうなると、半導体集積回路の設計をハードウェア記述言語まで戻ってやり直すといった、設計プロセスでの大きな設計後戻りが必要となり、設計期間の増大を招いてしまう。 In this case, a large design reversion in the design process, such as redesigning the semiconductor integrated circuit back to the hardware description language, is required, which increases the design period.
ところで、特許文献1及び2などには、標準セルを用いた半導体集積回路の設計方法として、設計期間を短縮する対策を施したものが開示されている。 By the way, Patent Documents 1 and 2 disclose a method for designing a semiconductor integrated circuit using standard cells in which a measure for reducing the design period is taken.
例えば、特許文献1には、半導体集積回路修正装置において、設計期間を短縮すべく、より多くの信号パスに共通するタイミング違反個所を修正する等、回路全体を見ての修正を最初に行うことでタイミング違反総数を効果的に削減し、以後のタイミング改善の対象となる信号パスの数を削減するものが開示されている。 For example, in Patent Document 1, in a semiconductor integrated circuit correction device, correction is performed by looking at the entire circuit, such as correcting timing violation points common to more signal paths in order to shorten the design period. In the above, there is disclosed an apparatus that effectively reduces the total number of timing violations and reduces the number of signal paths that are targets of timing improvement thereafter.
図16は、この特許文献1に開示の半導体集積回路修正装置を説明する図であり、図16(a)は、1組の前段及び後段のフリップフロップ(順序回路)の間の、複数のセルが配置されている信号パスを示し、図16(b)は、図16(a)に示す信号パスにおけるセルの1つを遅延時間の短いセルに置き換えた状態を示し、図16(c)は、1組の前段及び後段のフリップフロップの間に最小遅延値のセルのみが介在している信号パスを示している。 FIG. 16 is a diagram for explaining the semiconductor integrated circuit correction device disclosed in Patent Document 1. FIG. 16A shows a plurality of cells between a pair of front-stage and rear-stage flip-flops (sequential circuits). 16 (b) shows a state where one of the cells in the signal path shown in FIG. 16 (a) is replaced with a cell having a short delay time, and FIG. A signal path in which only a cell having a minimum delay value is interposed between a pair of front-stage and rear-stage flip-flops is shown.
この特許文献1に開示の半導体集積回路修正装置では、例えば、図16(a)に示すように、フリップフロップ20aおよび20bの間の信号パスPaがタイミング違反を起こしている場合、このタイミング違反を起こしている信号パスPa上の複数のセル21a、22、23a、24aのうちの、より多くの信号パスに共通するタイミング違反箇所となっているセル(ここでは、セル〔1〕22)を置換対象セルとし、このセル〔1〕22を、図16(b)に示す遅延値の小さい修正セル〔1〕22aに交換することによりセットアップタイミング違反を改善することができる。 In the semiconductor integrated circuit correction device disclosed in Patent Document 1, for example, as shown in FIG. 16A, when the signal path Pa between the flip-flops 20a and 20b causes a timing violation, the timing violation is detected. Replacing a cell (here, cell [1] 22) which is a timing violation location common to more signal paths among a plurality of cells 21a, 22, 23a and 24a on the signal path Pa that is awake By replacing the cell [1] 22 with a modified cell [1] 22a having a small delay value shown in FIG. 16B, the setup timing violation can be improved.
ところが、この特許文献1に開示の修正方法では、セットアップタイミング違反については、より多くの信号パスに共通するタイミング違反箇所となっているセル〔1〕22に、既存セルライブラリにおける最小遅延値のセルが用いられている場合や、図16(c)に示すようにタイミング違反を起こしているパス信号Paが、既存セルライブラリのセルのうちの、個々の論理機能を実現する最小遅延値のセル21a、22a、23a、24aのみで構成されている場合は、既存セルライブラリには、違反個所を修正するための、信号パスに使用されているセルの遅延値よりも遅延が小さい同じ機能のセルがなく、セル交換することができなくなる。 However, in the correction method disclosed in Patent Document 1, regarding the setup timing violation, the cell [1] 22 which is a timing violation portion common to more signal paths is added to the cell having the minimum delay value in the existing cell library. Is used, or as shown in FIG. 16C, the path signal Pa causing the timing violation is the cell 21a having the minimum delay value that realizes the individual logic function among the cells of the existing cell library. , 22a, 23a, and 24a, the existing cell library has a cell having the same function whose delay is smaller than the delay value of the cell used in the signal path for correcting the violation part. Without replacing the cell.
また、ホールドタイミング違反についても、セットアップタイミング違反の場合と同様であり、タイミング違反パスPaが、既存セルライブラリのセルのうちの最大遅延値のセルのみで構成されている場合は、既存セルライブラリには、最大遅延値のセルから違反個所を修正するための最大遅延値よりも遅延が大きいセルがなく、セル交換することができなくなる。 The hold timing violation is the same as the case of the setup timing violation. If the timing violation path Pa is composed only of the cells with the maximum delay value among the cells of the existing cell library, the existing cell library Since there is no cell having a delay larger than the maximum delay value for correcting the violation part from the cells having the maximum delay value, the cells cannot be exchanged.
このように特許文献1に開示の修正方法は、設計したレイアウトを有する半導体集積回路がタイミング制約を満たすようタイミング違反を改善する対策としては不十分なものである。 As described above, the correction method disclosed in Patent Document 1 is insufficient as a measure for improving the timing violation so that the semiconductor integrated circuit having the designed layout satisfies the timing constraint.
また、特許文献2には、半導体装置の設計方法において、設計期間を短縮すべく、既存セルライブラリには、同一機能を有する駆動能力の異なるセルとして、占有面積及び端子のレイアウトが同じセルを複数準備しておき、セルの置き換えを行った後の再度の配置配線を不要としたものが開示されている。 Further, in Patent Document 2, in the method of designing a semiconductor device, in order to shorten the design period, an existing cell library includes a plurality of cells having the same function and having the same occupation area and terminal layout as cells having different driving capabilities. A device that has been prepared and that does not require re-placement and wiring after cell replacement is disclosed.
例えば、図17は、既存セルライブラリの予め準備されているセルを説明する図であり、図17(a)から図17(c)はそれぞれ、駆動能力が異なる、占有領域及び端子の配置、形状が同じセルCef1a、Cef1b、Cef1cを示し、図17(d)は、図17(a)〜図17(c)に示すセルCef1a〜Cef1cより駆動能力が高く、かつ占有領域及び端子の配置が異なるセルCef1xを示している。 For example, FIG. 17 is a diagram for explaining cells prepared in advance in an existing cell library, and FIGS. 17A to 17C each have different driving capabilities, occupied areas and terminal arrangements and shapes. Shows the same cells Cef1a, Cef1b, and Cef1c, and FIG. 17D has higher driving ability than the cells Cef1a to Cef1c shown in FIG. 17A to FIG. A cell Cef1x is shown.
図18は、既存セルライブラリの予め準備されているセルとして、図17に示すセルとは機能が異なるセルを説明する図であり、図18(a)から図18(c)はそれぞれ、駆動能力が異なる、占有領域及び端子の配置や形状が同じセルCef2a、Cef2b、Cef2cを示し、図18(d)及び図18(e)は、図18(a)〜図18(c)に示すセルCef2a〜Cef2cより駆動能力が低く、かつ占有領域及び端子の配置あるいは形状が異なるセルCef2x及びCef2yを示している。 FIG. 18 is a diagram for explaining a cell having a function different from that of the cell shown in FIG. 17 as a cell prepared in advance in the existing cell library. FIGS. FIG. 18 (d) and FIG. 18 (e) show the cell Cef2a shown in FIGS. 18 (a) to 18 (c). FIG. 18 (d) and FIG. 18 (e) show the cells Cef2a, Cef2b, and Cef2c having the same occupation area and terminal arrangement and shape. The cells Cef2x and Cef2y, which have lower driving capability than the Cef2c, and have different occupation areas and terminal arrangements or shapes, are shown.
この特許文献2に開示の設計方法では、例えば、登録セルとして、図17(a)〜図17(c)に示すように、同一の演算機能(例えば、2段のCMOSインバータからなる第1のバッファ回路)、同一の回路占有領域(縦横レイアウト寸法)、同一の端子配置および同一の端子形状を有し、かつそれぞれの駆動能力が異なっている複数のセルCef1a、Cef1b、Cef1cを既存セルライブラリに準備しておく。 In the design method disclosed in Patent Document 2, for example, as a registered cell, as shown in FIGS. 17A to 17C, the same arithmetic function (for example, a first stage composed of a two-stage CMOS inverter is used. Buffer circuit), a plurality of cells Cef1a, Cef1b, and Cef1c having the same circuit occupation area (vertical and horizontal layout dimensions), the same terminal arrangement, the same terminal shape, and different drive capacities in the existing cell library Prepare.
そして、タイミング違反した箇所のセル、例えば、図17(a)に示す基準セルCef1aを図17(b)に示す、該基準セルとは駆動能力のみ異なるセルCef1bに差し替える。 Then, the cell at the timing violation, for example, the reference cell Cef1a shown in FIG. 17A is replaced with a cell Cef1b shown in FIG.
この場合、タイミング違反した箇所のセルCef1aと、これと置き換えるセルCef1bとは、駆動能力が異なるのみで、回路占有領域(縦横レイアウト寸法)、端子配置および端子形状が同一であるため、セルを置き換えた後に再度の配置配線を行う必要がなく、タイミング違反を改善する処理工程が簡略化されることとなる。 In this case, the cell Cef1a at the location where the timing is violated and the cell Cef1b to be replaced with the cell Cef1b only have different driving capabilities, and the circuit occupation area (vertical and horizontal layout dimensions), terminal arrangement and terminal shape are the same, so the cell is replaced. After that, there is no need to perform placement and routing again, and the processing process for improving the timing violation is simplified.
なお、図17(a)に示すセルCef1aとは回路構成が異なる図18(a)に示すセルCef2aが、タイミング違反した箇所のセルである場合も同様にタイミング違反を改善できる。 It should be noted that the timing violation can be similarly improved when the cell Cef2a shown in FIG. 18A, which has a circuit configuration different from that of the cell Cef1a shown in FIG.
つまり、例えば、登録セルとして、図18(a)〜図18(c)に示すように、同一の演算機能(例えば、上記第1のバッファ回路とは構成が異なる、2段のCMOSインバータからなる第2のバッファ回路)、回路占有領域(縦横レイアウト寸法)、端子配置および端子形状を有し、かつそれぞれの駆動能力が異なっている複数のセルCef2a、Cef2b、Cef2cを既存セルライブラリに格納しておく。 That is, for example, as a registered cell, as shown in FIG. 18A to FIG. 18C, it has the same arithmetic function (for example, a two-stage CMOS inverter having a different configuration from the first buffer circuit). A second buffer circuit), a plurality of cells Cef2a, Cef2b, and Cef2c having circuit occupying areas (vertical and horizontal layout dimensions), terminal arrangements and terminal shapes, and having different drive capacities are stored in an existing cell library. deep.
そして、タイミング違反したパスのセル、例えば、図18(a)に示す基準セルCef2aを図18(b)に示す、該基準セルCef2aとは駆動能力のみ異なるセルCef2bに差し替える。 Then, the cell of the path whose timing has been violated, for example, the reference cell Cef2a shown in FIG. 18A is replaced with a cell Cef2b shown in FIG. 18B, which differs from the reference cell Cef2a only in driving capability.
この場合、タイミング違反した箇所のセルCef2aと、これと置き換えるセルCef2bとは、駆動能力が異なるのみで、回路占有領域(縦横レイアウト寸法)、端子配置および端子形状が同一であるため、セルを置き換えた後に再度の配置配線を行う必要がなく、タイミング違反を改善する処理工程が簡略化されることとなる。 In this case, the cell Cef2a at the location where the timing is violated and the cell Cef2b to be replaced with the cell Cef2b only have different driving capabilities, and the circuit occupation area (vertical and horizontal layout dimensions), terminal arrangement, and terminal shape are the same. After that, there is no need to perform placement and routing again, and the processing process for improving the timing violation is simplified.
ところが、特許文献2に開示の方法は、既存セルライブラリに準備しておく同一機能のセルを、回路占有領域、端子配置および端子形状が同一のものとするという制約のため、図17(d)に示すような、回路占有領域、端子形状を変えた、より駆動能力の大きなセルCef1xを準備することができず、タイミング違反を改善するには不十分な場合がある。 However, in the method disclosed in Patent Document 2, cells having the same function prepared in the existing cell library have the same circuit occupation area, terminal arrangement, and terminal shape. A cell Cef1x having a larger driving capability with a changed circuit occupation area and terminal shape as shown in FIG. 6 cannot be prepared, which may be insufficient for improving timing violation.
更に図18(d)、図18(e)に示すような、基準セルCef2aとは回路占有領域のレイアウトを変更したセルCef2x、Cef2yを基準セルCef2aに代えて用いることで、回路占有領域を小さくすることができる場合であっても、この特許文献2に開示の設計方法では、基本セルと置き換える代替セルを、基本セルと回路占有領域のレイアウトが同じものとするという制約があるため、セルの置き換えによりセル面積は変化せず、このため、セルをその駆動能力が小さいものに置き換えても、面積縮小のメリットを得ることができない。 Furthermore, as shown in FIGS. 18D and 18E, the reference cell Cef2a is replaced with the reference cell Cef2a by using cells Cef2x and Cef2y in which the layout of the circuit occupation region is changed, thereby reducing the circuit occupation region. Even if it is possible, the design method disclosed in Patent Document 2 has a restriction that the layout of the basic cell and the circuit occupation area is the same for the alternative cell to be replaced with the basic cell. The cell area does not change by the replacement, and therefore, even if the cell is replaced with one having a small driving capability, the advantage of area reduction cannot be obtained.
以上説明したように、図13で説明した従来の半導体集積回路の設計方法では、タイミング解析の結果、タイミング違反パスがある場合、タイミング違反パスのセルと既存セルライブラリのセルとの置き換え、セル間配線を変更するためのセルの移動、あるいはクロックパスあるいはデータパスへのセル挿入によるクロック信号あるいはデータ信号の遅延など行ってタイミング違反の改善を行うが、このようなタイミング改善の処理を行うと、予期せぬセルの密集、多大な配線迂回、あるいは多数のセル挿入箇所が生ずることがあり、配置セル及び配線の混雑度が上がり配線ショートを引き起こしたり、タイミング制約を満たせないままの状態になってしまったりする。その結果、ハードウェア記述言語まで戻ってレイアウトの設計を変更するなど、設計プロセスでの大きな設計後戻りが必要となり、設計期間の増大を招いてしまうという問題がある。 As described above, in the conventional method of designing a semiconductor integrated circuit described with reference to FIG. 13, if there is a timing violation path as a result of timing analysis, the cells in the timing violation path are replaced with the cells in the existing cell library. The timing violation is improved by moving the cell for changing the wiring, or delaying the clock signal or the data signal by inserting the cell into the clock path or the data path. Unexpected cell crowding, enormous wiring detours, or many cell insertion points may occur, the degree of congestion of placement cells and wiring increases, wiring shorts occur, and timing constraints are not satisfied I'm sorry. As a result, there is a problem that a large design retrofit is required in the design process, such as returning to the hardware description language and changing the layout design, leading to an increase in the design period.
また、特許文献1に開示の半導体集積回路の設計方法では、セットアップタイミング違反については、違反個所のセルより遅延が小さいセルが既存セルライブラリにない場合、また、ホールドタイミング違反については、違反個所のセルより遅延が大きいセルが既存セルライブラリにない場合、セルの交換をすることができない。 Further, in the design method of the semiconductor integrated circuit disclosed in Patent Document 1, regarding the setup timing violation, when there is no cell having a smaller delay than the cell at the violation location in the existing cell library, and for the hold timing violation, the violation location If there is no cell in the existing cell library that has a larger delay than the cell, the cell cannot be exchanged.
このように特許文献1に開示の方法は、設計したレイアウトを有する半導体集積回路がタイミング制約を満たすようタイミング違反を改善する対策としては不十分な場合があるという問題がある。 As described above, the method disclosed in Patent Document 1 has a problem that it may be insufficient as a measure for improving the timing violation so that the semiconductor integrated circuit having the designed layout satisfies the timing constraint.
さらに、特許文献2に開示の半導体集積回路の設計方法は、信号パスに使用されているセルと置き換えるセルには、使用されているセルと回路占有領域のレイアウトが同じものを用いるものであるので、セルの置き換えによりセル面積は変化せず、例えば、信号パスのセルをそれより駆動能力の小さいセルに置き換えても面積縮小のメリットを得ることができないという問題がある。 Furthermore, the semiconductor integrated circuit design method disclosed in Patent Document 2 uses a cell having the same layout as the used cell and the circuit occupying region as the cell to be replaced with the cell used in the signal path. The cell area does not change due to the replacement of the cell. For example, there is a problem that the merit of area reduction cannot be obtained even if the cell of the signal path is replaced with a cell having a smaller driving capability.
本発明は、上記のような問題点を解決するためになされたものであり、標準セルを用いて半導体集積回路を設計する際、信号経路におけるタイミング違反を、適切な駆動能力と適切な占有領域を有する所望のセルを用いて解消することが可能となり、これにより、セルの占有面積が不必要に大きくなるのを回避しつつタイミング違反を簡単に解消することができ、その結果、半導体集積回路の設計期間をより一層短縮することができる半導体集積回路の設計方法及び設計装置、並びにこのような半導体集積回路の設計方法をコンピュータにより行うための回路設計プログラムおよびこのような回路設計プログラムを格納したコンピュータ読み取り可能な記録媒体を得ることを目的とする。 The present invention has been made to solve the above-described problems. When designing a semiconductor integrated circuit using a standard cell, a timing violation in a signal path is detected with an appropriate driving capability and an appropriate occupied area. This makes it possible to eliminate the timing violation while avoiding an unnecessarily large area occupied by the cell. As a result, the semiconductor integrated circuit A semiconductor integrated circuit design method and design apparatus capable of further shortening the design period of the semiconductor integrated circuit, a circuit design program for performing such a semiconductor integrated circuit design method by a computer, and such a circuit design program are stored. An object is to obtain a computer-readable recording medium.
本発明に係る半導体集積回路の設計方法は、回路設計の単位として複数種類の標準セルを予め格納した記憶装置を準備し、該記憶装置に含まれる標準セルを情報処理装置により組み合わせて半導体集積回路を設計する方法であって、回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うステップと、該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出するステップと、該違反経路に含まれる少なくとも1つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる1以上の追加標準セルを該置換対象セル毎に作成するステップと、該置換対象セルを、該違反経路が該タイミング違反を解消した経路となるよう該追加標準セルで置き換えるステップとを含むものであり、そのことにより上記目的が達成される。 A semiconductor integrated circuit design method according to the present invention provides a storage device in which a plurality of types of standard cells are stored in advance as a unit of circuit design, and combines the standard cells included in the storage device with an information processing device. A step of arranging the standard cells and wiring between the standard cells so as to constitute the semiconductor integrated circuit based on circuit design data, and among signal paths in the semiconductor integrated circuit Detecting a violation path in which a timing violation has occurred, using at least one standard cell included in the violation path as a replacement target cell, performing an operation of the same logic as each replacement target cell, and the replacement target Creating one or more additional standard cells, each having a driving capability different from that of each cell, for each replacement target cell; Is intended to include a step of replacing with the additional standard cells so that the path to eliminate the ring violations, the objects can be achieved.
本発明は、上記半導体集積回路の設計方法において、前記半導体集積回路における信号経路は、その始点および終点となる論理回路をそれぞれ第1および第2の順序回路とし、該第1の順序回路から該第2の順序回路に信号を伝達する論理回路を1以上の組み合わせ回路により構成したものであることが好ましい。 According to the present invention, in the above-described semiconductor integrated circuit design method, the signal path in the semiconductor integrated circuit has first and second logic circuits as the first and second logic circuits, respectively. It is preferable that the logic circuit for transmitting a signal to the second sequential circuit is configured by one or more combinational circuits.
本発明は、上記半導体集積回路の設計方法において、前記違反経路を検出するステップでは、該違反経路におけるタイミング違反が、前記第1の順序回路から前記第2の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反であるか、該第1の順序回路から該第2の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反であるかを判定することが好ましい。 In the method of designing a semiconductor integrated circuit according to the present invention, in the step of detecting the violation path, a timing violation in the violation path is caused by a signal transmission from the first sequential circuit to the second sequential circuit for a specified time. It is preferable to determine whether it is a setup timing violation that is not in time, or whether a signal transmission from the first sequential circuit to the second sequential circuit is a hold timing violation that is too early than a specified time.
本発明は、上記半導体集積回路の設計方法において、前記違反経路を検出するステップでは、該違反経路におけるタイミング違反が、前記セットアップタイミング違反であるか前記ホールドタイミング違反であるかを判定するとともに、判定したタイミング違反の程度を、該信号伝達に要する時間と前記規定時間との時間差として検出することが好ましい。 In the design method of the semiconductor integrated circuit according to the present invention, in the step of detecting the violation path, it is determined whether a timing violation in the violation path is the setup timing violation or the hold timing violation. It is preferable to detect the degree of timing violation as a time difference between the time required for signal transmission and the specified time.
本発明は、上記半導体集積回路の設計方法において、前記違反経路として、前記第1の順序回路から前記第2の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反が生じている違反経路が検出されたとき、前記追加標準セルを作成するステップでは、該違反経路における置換対象セル毎に、該置換対象セルの駆動能力より高い駆動能力を有する追加標準セルを1つ以上作成することが好ましい。 According to the present invention, in the above-described semiconductor integrated circuit design method, as the violation path, a violation path in which a signal transmission from the first sequential circuit to the second sequential circuit is not in time for a specified time has occurred. Is detected, the step of creating the additional standard cell may create one or more additional standard cells having a driving capability higher than that of the replacement target cell for each replacement target cell in the violation path. preferable.
本発明は、上記半導体集積回路の設計方法において、前記置換対象セルを前記追加標準セルで置き換えるステップでは、該置換対象セルを、該置換対象セル毎に複数作成した追加標準セルのうちで遅延時間が最小の追加標準セルに置き換えることが好ましい。 According to the present invention, in the method of designing a semiconductor integrated circuit, in the step of replacing the replacement target cell with the additional standard cell, a delay time is selected from the plurality of additional standard cells created for each replacement target cell. Is preferably replaced with the smallest additional standard cell.
本発明は、上記半導体集積回路の設計方法において、前記違反経路として、前記第1の順序回路から前記第2の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反が生じている違反経路が検出されたとき、前記追加標準セルを作成するステップでは、該違反経路における置換対象セル毎に、該置換対象セルの駆動能力より低い駆動能力を有する追加標準セルを1つ以上作成することが好ましい。 According to the present invention, in the above-described semiconductor integrated circuit design method, as the violation path, a violation path in which a signal transmission from the first sequential circuit to the second sequential circuit is too early is a hold timing violation. Is detected, the step of creating the additional standard cell may create one or more additional standard cells having a driving capability lower than that of the replacement target cell for each replacement target cell in the violation path. preferable.
本発明は、上記半導体集積回路の設計方法において、前記置換対象セルを前記追加標準セルで置き換えるステップでは、該置換対象セルを、該置換対象セル毎に複数作成した追加標準セルのうちで遅延時間が最大の追加標準セルに置き換えることが好ましい。 According to the present invention, in the method of designing a semiconductor integrated circuit, in the step of replacing the replacement target cell with the additional standard cell, a delay time is selected from the plurality of additional standard cells created for each replacement target cell. Is preferably replaced with the largest additional standard cell.
本発明は、上記半導体集積回路の設計方法において、前記順序回路はフリップフロップ回路であることが好ましい。 According to the present invention, in the method for designing a semiconductor integrated circuit, the sequential circuit is preferably a flip-flop circuit.
本発明は、上記半導体集積回路の設計方法において、前記追加標準セルを生成するステップは、生成した追加標準セルからなる新規セルライブラリを、前記記憶装置内に作成されている前記既定標準セルからなる既存セルライブラリに加えて前記記憶装置内に作成するステップを含むことが好ましい。 According to the present invention, in the method for designing a semiconductor integrated circuit, the step of generating the additional standard cell includes a new cell library including the generated additional standard cell, the default standard cell being created in the storage device. It is preferable to include the step of creating in the storage device in addition to the existing cell library.
本発明は、上記半導体集積回路の設計方法において、前記記憶装置は、1つの半導体集積回路を設計する際に作成された新規セルライブラリを、次回の半導体集積回路の設計で流用可能となるよう保存する構成となっており、前記置換対象セルを前記追加標準セルで置き換えるステップでは、前記記憶装置に保存されている、前記既存セルライブラリおよび以前の半導体集積回路の設計で作成した新規セルライブラリに含まれる、既存標準セルおよび追加標準セルのうちから選択した標準セルで、前記置換対象セルを置き換えることが好ましい。 According to the present invention, in the semiconductor integrated circuit design method, the storage device stores the new cell library created when designing one semiconductor integrated circuit so that it can be used in the next semiconductor integrated circuit design. In the step of replacing the replacement target cell with the additional standard cell, the replacement cell is included in the existing cell library and the new cell library created in the previous design of the semiconductor integrated circuit, which are stored in the storage device. Preferably, the replacement target cell is replaced with a standard cell selected from existing standard cells and additional standard cells.
本発明は、上記半導体集積回路の設計方法において、前記追加標準セルを作成するステップでは、該追加標準セルとして、該置換対象セルとは駆動能力が異なるとともに、該置換対象セルとはその占有面積が異なる1以上の追加標準セルを該置換対象セル毎に作成することが好ましい。 According to the present invention, in the method of designing a semiconductor integrated circuit, in the step of creating the additional standard cell, the additional standard cell has a driving capability different from that of the replacement target cell and is occupied by the replacement target cell. It is preferable to create one or more additional standard cells having different values for each replacement target cell.
本発明は、上記半導体集積回路の設計方法において、前記違反経路を検出するステップでは、前記標準セルの配置及び該標準セル間の配線を行って得られた半導体集積回路における信号経路が、タイミング違反が生じている違反経路であるか否かの判定を、該半導体集積回路におけるすべての信号経路で行うことが好ましい。 According to the present invention, in the semiconductor integrated circuit design method, in the step of detecting the violation path, the signal path in the semiconductor integrated circuit obtained by performing the placement of the standard cells and the wiring between the standard cells is a timing violation. It is preferable to determine whether or not the violation path has occurred in all signal paths in the semiconductor integrated circuit.
本発明は、上記半導体集積回路の設計方法において、前記追加標準セルを作成するステップは、前記違反経路におけるすべての種類の標準セルに対応する、その構成部材の配置を示す配置情報を抽出するステップと、該すべての種類の標準セルに対して、それぞれの配置情報に基づいて、それぞれの標準セルと同じ論理演算を行い、かつ駆動能力が該標準セルとは異なる1以上の追加標準セルの配置情報を作成するステップとを含むことが好ましい。 In the design method of the semiconductor integrated circuit according to the present invention, the step of creating the additional standard cell is a step of extracting arrangement information indicating arrangement of the constituent members corresponding to all types of standard cells in the violation path. The arrangement of one or more additional standard cells that perform the same logical operation as that of each standard cell and have a driving capability different from that of the standard cell for all types of standard cells based on the respective arrangement information Preferably creating information.
本発明に係る半導体集積回路の設計装置は、回路設計の単位として複数種類の標準セルを予め格納した記憶装置を有し、該記憶装置に含まれる標準セルを組み合わせて半導体集積回路を設計する半導体集積回路の設計装置であって、回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うセル配置配線部と、該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出する違反経路検出部と、該違反経路に含まれる少なくとも1つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる1以上の追加標準セルを該置換対象セル毎に作成する追加セル作成部と、該置換対象セルを、該違反経路が該タイミング違反を解消した経路となるよう該追加標準セルで置き換えるセル置き換え部とを備えたものであり、そのことにより上記目的が達成される。 A semiconductor integrated circuit design apparatus according to the present invention includes a storage device that stores a plurality of types of standard cells in advance as a circuit design unit, and a semiconductor integrated circuit is designed by combining the standard cells included in the storage device. An apparatus for designing an integrated circuit, comprising: a cell placement / wiring unit for placing the standard cells and wiring between the standard cells so as to configure the semiconductor integrated circuit based on circuit design data; Of the signal paths, a violation path detection unit for detecting a violation path in which a timing violation has occurred, and at least one standard cell included in the violation path as a replacement target cell, the same logical operation as each replacement target cell And an additional cell creation unit that creates, for each replacement target cell, one or more additional standard cells having a driving capability different from that of the replacement target cell, and Violation path is one that includes a cell replacement section replacing in the additional standard cells so that the path to eliminate the timing violation, the objects can be achieved.
本発明に係る回路設計プログラムは、上述した本発明に係る半導体集積回路の設計方法における各ステップをコンピュータにより行うための回路設計プログラムであり、そのことにより上記目的が達成される。 The circuit design program according to the present invention is a circuit design program for performing each step in the above-described method for designing a semiconductor integrated circuit according to the present invention by a computer, thereby achieving the above object.
本発明に係るコンピュータ読み取り可能な記録媒体は、上述した本発明に係る回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体であり、そのことにより上記目的が達成される。 A computer-readable recording medium according to the present invention is a computer-readable recording medium in which the above-described circuit design program according to the present invention is recorded, whereby the above object is achieved.
次に作用について説明する。 Next, the operation will be described.
本発明においては、回路設計の単位として複数種類の標準セルを予め格納した記憶装置を準備し、該記憶装置に含まれる標準セルをコンピュータにより組み合わせて半導体集積回路を設計する方法において、回路設計データに基づいて標準セルの配置及び該標準セル間の配線を行って得られる半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出し、その後、違反経路に含まれる標準セルと置き換える追加セルとして、違反経路の標準セルと同じ論理の演算を行い、かつこの違反経路の標準セルとは駆動能力が異なる1以上の追加標準セルを作成するようにしたので、予め準備した標準セル以外の追加標準セルを用いて、タイミング違反が生じている違反経路のタイミング違反を取り除くことが可能となり、このように違反経路のタイミング改善に用いるセルの選択枝が広がることから、違反経路のタイミング改善をより容易に行うことができる。 In the present invention, in a method for preparing a semiconductor device in which a plurality of types of standard cells are stored in advance as a unit of circuit design and combining the standard cells included in the storage device with a computer, Of the signal path in the semiconductor integrated circuit obtained by arranging the standard cells and wiring between the standard cells based on the standard cell, and detecting a violation path in which the timing violation has occurred, and then, the standard cells included in the violation path As an additional cell to be replaced with, the same logical operation as the standard cell of the violation route is performed, and one or more additional standard cells having different driving ability from the standard cell of the violation route are created. Using an additional standard cell other than the cell, it is possible to remove the timing violation of the violation route where the timing violation has occurred. Since the choices of the cell to be used for timing improve this way violation path spreads, it is possible to perform timing improved violations path more easily.
また、この発明においては、違反経路を検出する際には、違反経路におけるタイミング違反が、第1の順序回路から第2の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反であるか、第1の順序回路から第2の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反であるかを判定するので、タイミング解析の結果からタイミング違反パスの改善に有効と判断される駆動能力を有するもののみを追加標準セルとして作成することが可能となり、このような追加標準セルを用いることで効果的にタイミング違反パスの改善を行うことができる。 According to the present invention, when detecting a violation path, is the timing violation in the violation path a setup timing violation in which signal transmission from the first sequential circuit to the second sequential circuit is not in time for the specified time? Since it is determined whether the signal transmission from the first sequential circuit to the second sequential circuit is a hold timing violation that is too early than the specified time, the driving that is determined to be effective in improving the timing violation path from the result of the timing analysis Only those having the capability can be created as additional standard cells. By using such additional standard cells, the timing violation path can be effectively improved.
また、この発明においては、違反経路を検出する際には、違反経路におけるタイミング違反が、上記セットアップタイミング違反であるか上記ホールドタイミング違反であるかを判定するとともに、判定したタイミング違反の程度を、信号伝達に要する時間と前記規定時間との時間差として検出するので、作成する追加セルの駆動能力の目標値を、タイミング違反の程度を考慮して設定し、追加セルの駆動能力を、該目標値を中心とする一定範囲内で駆動能力を段階的に変化させて設定することで、タイミング違反パスを改善するための追加セルとして、タイミング違反を解消可能なものが得られる一方で駆動能力が大きすぎたりあるいは小さすぎたりするといった弊害を回避することができる。 Further, in the present invention, when detecting the violation route, it is determined whether the timing violation in the violation route is the setup timing violation or the hold timing violation, and the degree of the determined timing violation is determined as follows: Since it is detected as a time difference between the time required for signal transmission and the specified time, the target value of the driving capacity of the additional cell to be created is set in consideration of the degree of timing violation, and the driving capacity of the additional cell is set to the target value. By setting the drive capacity in steps within a certain range centered on the, it is possible to obtain a cell that can eliminate the timing violation as an additional cell to improve the timing violation path, while the driving capacity is large. The adverse effect of being too small or too small can be avoided.
また、本発明においては、1つの半導体集積回路を設計する際に作成された新規セルライブラリを、次回の半導体集積回路の設計で流用可能となるよう記憶装置内に保存するようにしたので、半導体集積回路を開発する毎に新規セルライブラリが1つ、2つ、3つというように増え、より一層タイミング調整を行う際のセルの選択肢が増え、タイミング改善の容易性が上がり、タイミング改善を必要とするパスの効果的な削減により設計期間の短縮を図ることができる。 In the present invention, the new cell library created when designing one semiconductor integrated circuit is stored in the storage device so that it can be used in the next semiconductor integrated circuit design. Each time an integrated circuit is developed, the number of new cell libraries increases to 1, 2, 3, etc., and the number of cell options for further timing adjustment increases, making it easier to improve timing and improving timing. The design period can be shortened by effectively reducing the number of paths.
以上のように、本発明によれば、コンピュータなどの演算処理装置により、回路設計データに基づいて標準セルの配置及び該標準セル間の配線を行って半導体集積回路を設計する際、標準セルの配置及び該標準セル間の配線により得られる半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出し、その後、違反経路に含まれる標準セルと置き換える追加セルとして、違反経路の標準セルと同じ論理の演算を行い、かつこの違反経路の標準セルとは駆動能力が異なる1以上の追加標準セルを作成するようにしたので、標準セルを用いて半導体集積回路を設計する際、信号経路におけるタイミング違反を、適切な駆動能力と適切な占有領域を有する所望のセルを用いて解消することが可能となり、これにより、セルの占有面積が不必要に大きくなるのを回避しつつタイミング違反を簡単に解消することができる効果が得られる。 As described above, according to the present invention, when designing a semiconductor integrated circuit by performing an arrangement of standard cells and wiring between the standard cells based on circuit design data by an arithmetic processing unit such as a computer, Among the signal paths in the semiconductor integrated circuit obtained by arrangement and wiring between the standard cells, a violation path in which a timing violation has occurred is detected, and then the violation path is used as an additional cell to be replaced with the standard cell included in the violation path. Since one or more additional standard cells that perform the same logic operation as the standard cell and have a different driving capability from the standard cell of this violation path are created, when designing a semiconductor integrated circuit using the standard cell, , Timing violations in the signal path can be eliminated using the desired cell with the appropriate drive capability and the appropriate occupation area, Effect which can be occupied area of Le to easily eliminate timing violations while avoiding becoming unnecessarily large is obtained.
その結果、半導体集積回路の設計期間をより一層短縮することができる半導体集積回路の設計手法及び設計装置、並びにこのような半導体集積回路の設計方法をコンピュータにより行うための回路設計プログラムおよびこのような回路設計プログラムを格納したコンピュータ読み取り可能な記録媒体を実現することができる。 As a result, a semiconductor integrated circuit design method and design apparatus capable of further shortening the design period of the semiconductor integrated circuit, a circuit design program for performing such a semiconductor integrated circuit design method by a computer, and the like A computer-readable recording medium storing a circuit design program can be realized.
以下、本発明の実施形態について図面を参照しながら説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(実施形態1)
図1は、本発明の実施形態1による半導体集積回路の設計装置を説明する図である。
(Embodiment 1)
FIG. 1 is a diagram for explaining a semiconductor integrated circuit design apparatus according to Embodiment 1 of the present invention.
この実施形態1による半導体集積回路の設計装置(以下、半導体設計装置ともいう。)100は、種々の演算処理を行うプロセッサ(CPU)110、演算処理に用いるデータおよび演算処理の結果得られるデータを格納する、RAM、ハードディスクなどからなる記憶装置120、並びに入力装置及び出力装置(図示せず)を有するコンピュータシステムにより実現されている。 A semiconductor integrated circuit design apparatus (hereinafter also referred to as a semiconductor design apparatus) 100 according to Embodiment 1 includes a processor (CPU) 110 that performs various arithmetic processes, data used for arithmetic processes, and data obtained as a result of the arithmetic processes. It is realized by a computer system having a storage device 120 including a RAM, a hard disk, and the like, and an input device and an output device (not shown).
この半導体設計装置100は、記憶装置120に、回路設計の単位となる機能が異なる種々の単位回路(標準セル)の回路情報およびこの単位回路の属性情報をセル情報として格納し、プロセッサ110により、この記憶装置120にセル情報が格納されている標準セルを回路設計データに基づいて組み合わせて半導体集積回路を設計するものである。なお、以下、標準セルを単にセルともいう。 The semiconductor design device 100 stores circuit information of various unit circuits (standard cells) having different functions as a unit of circuit design and attribute information of the unit circuits as cell information in the storage device 120. A semiconductor integrated circuit is designed by combining standard cells in which cell information is stored in the storage device 120 based on circuit design data. Hereinafter, the standard cell is also simply referred to as a cell.
すなわち、この半導体設計装置100は、ハードウェア記述言語などで記述された回路設計データを、この回路設計データが示す論理回路の回路情報(つまり論理回路における構成要素(論理ゲートや電源など)の接続関係を示すネットリスト)に変換する論理合成部111と、このネットリストに基づいて、半導体集積回路が構成されるようセルの配置及びセル間の配線を行う配置配線部112とを有している。 That is, the semiconductor design apparatus 100 connects circuit design data described in a hardware description language or the like to circuit information of a logic circuit indicated by the circuit design data (that is, connection of components (such as logic gates and power supplies) in the logic circuit). A logic synthesis unit 111 that converts the data into a netlist indicating a relationship, and a placement and routing unit 112 that performs cell placement and wiring between cells based on the netlist so that a semiconductor integrated circuit is configured. .
また、半導体設計装置100は、半導体集積回路における信号経路(以下、信号パスともいう。)のうち、タイミング制約を満たしていない違反経路(タイミング違反パス)を検出するタイミング解析部(違反経路検出部)113と、タイミング違反パスに使用されているすべての種類のセルを抽出する使用セル抽出部114と、抽出したセルと同じ論理演算を行い、かつ駆動能力が、抽出したセルとは異なる1以上の追加標準セル(以下、追加セルという。)を生成する追加セル生成部115と、タイミング違反パスに使用されているセルを、このタイミング違反パスがタイミング制約を満たすパスとなるよう該追加セルで置き換えるタイミング改善部116とを備えている。 The semiconductor design apparatus 100 also detects a violation path (timing violation path) that does not satisfy the timing constraint among signal paths (hereinafter also referred to as signal paths) in the semiconductor integrated circuit (violation path detection section). ) 113, a used cell extracting unit 114 that extracts all types of cells used in the timing violation path, and the same logical operation as that of the extracted cell, and one or more different in driving ability from the extracted cell The additional cell generation unit 115 that generates the additional standard cell (hereinafter referred to as an additional cell) and the cell used for the timing violation path in the additional cell so that the timing violation path becomes a path satisfying the timing constraint. A replacement timing improvement unit 116 is provided.
なお、以下の説明では、記載の簡略化のため、セルの配置及びセル間の配線をセル配置配線ともいい、さらに、信号パスに使用されているセルを使用セルともいう。 In the following description, for simplification of description, cell arrangement and wiring between cells are also referred to as cell arrangement wiring, and further, a cell used for a signal path is also referred to as a used cell.
ここで、タイミング解析部113は、セル配置配線により得られた配置情報(レイアウトデータ)に基づいて、記憶装置120に格納されているセル情報を参照して、半導体集積回路における各信号パスの実負荷データ(寄生抵抗および寄生容量)を求める実負荷抽出部113aと、求めた実負荷データと、記憶装置120に格納されているセル情報とから信号パスでの遅延時間を求め、信号パスがタイミング制約を満たしているか否かの検証を半導体集積回路におけるすべての信号パスに対して行うタイミング検証部113bとを有している。 Here, the timing analysis unit 113 refers to the cell information stored in the storage device 120 based on the arrangement information (layout data) obtained by the cell arrangement and wiring, and executes the actual signal path in the semiconductor integrated circuit. The delay time in the signal path is obtained from the actual load extraction unit 113a for obtaining the load data (parasitic resistance and parasitic capacitance), the obtained actual load data, and the cell information stored in the storage device 120, and the signal path is timed. And a timing verification unit 113b that performs verification on all signal paths in the semiconductor integrated circuit to verify whether or not the constraint is satisfied.
記憶装置120は、論理合成部111で生成したネットリストを格納するネットリスト格納部122と、配置配線部112でセル配置配線により得られた、半導体集積回路のレイアウトを示すレイアウトデータを格納するレイアウトデータ格納部123と、レイアウトデータに基づいて実負荷抽出部113bで抽出した実負荷データを格納する実負荷データ格納部124とを有している。また、記憶装置120は、予め登録セルとして、決められた論理演算機能を有する標準セルの回路情報およびその属性情報をセル情報として格納している既存セルライブラリ121と、追加セル作成部115で作成した追加セルの回路情報およびその属性情報を追加セルのセル情報として格納する新規セルライブラリ125とを有している。 The storage device 120 includes a net list storage unit 122 that stores the net list generated by the logic synthesis unit 111, and a layout that stores layout data indicating the layout of the semiconductor integrated circuit obtained by cell placement and routing in the placement and routing unit 112. The data storage unit 123 and the actual load data storage unit 124 that stores the actual load data extracted by the actual load extraction unit 113b based on the layout data. The storage device 120 is created by the existing cell library 121 that stores circuit information and attribute information of a standard cell having a predetermined logical operation function as cell information as a registered cell, and an additional cell creation unit 115. And a new cell library 125 for storing circuit information and attribute information of the added cells as cell information of the added cells.
さらに、上記プロセッサ110は、該プロセッサ110を構成する各部111〜116を制御するとともに、各部と記憶装置120との間でのデータの受け渡しを行う制御部130を有している。 Furthermore, the processor 110 includes a control unit 130 that controls the units 111 to 116 that constitute the processor 110 and that exchanges data between the units and the storage device 120.
ここで、各処理を実行する各部111〜116は、プロセッサ110内にソフトウェアによりツールとして構築したものである。また、新規セルライブラリ125は、既存セルライブラリ121に対して単に追加したセルライブラリであり、コンピュータシステム上で動く汎用の設計支援システムのタイミング解析部及びタイミング改善部でも利用可能なものである。 Here, each part 111-116 which performs each process is constructed | assembled as a tool with the software in the processor 110. FIG. The new cell library 125 is a cell library that is simply added to the existing cell library 121, and can also be used in the timing analysis unit and the timing improvement unit of a general-purpose design support system that runs on a computer system.
ここで、各部の処理を実行するツールを構築するためのプログラムは、回路設計プログラムであって、ROM、RAM、あるいはハードディスクなどのコンピュータ読み取り可能な記録媒体に格納したものであり、プロセッサ110がこの記録媒体からこの回路設計プログラムを読み出すことによりプロセッサ内に前記各処理を実行する各部111〜116がツールとして構築される。 Here, a program for constructing a tool for executing the processing of each unit is a circuit design program, which is stored in a computer-readable recording medium such as a ROM, a RAM, or a hard disk. By reading out the circuit design program from the recording medium, the units 111 to 116 for executing the processes are constructed as tools in the processor.
図2は、セルライブラリに格納されるセル情報について、インバータセルを例に挙げて具体的に説明する図である。 FIG. 2 is a diagram for specifically explaining cell information stored in the cell library, taking an inverter cell as an example.
図2に示すセル情報Ce1、Ce1a、Ce1bは、駆動能力が異なる3つのインバータセルX1、X1a、X1bに関する情報であり、それぞれ、(セル名)、(論理記号)、(回路図)、(レイアウト)、及び(属性)などを示すデータを含んでいる。 Cell information Ce1, Ce1a, and Ce1b shown in FIG. 2 are information related to three inverter cells X1, X1a, and X1b having different driving capabilities, and (cell name), (logic symbol), (circuit diagram), and (layout), respectively. ) And (attribute).
例えば、セル情報Ce1は、セル名〔セルX1〕データNx1、論理記号データSx1、回路図データCx1、レイアウトデータLx1、セル属性データPx1などを含んでいる。同様に、セル情報Ce1aは、セル名〔セルX1a〕データNx1a、論理記号データSx1a、回路図データCx1a、レイアウトデータLx1a、属性データPx1aなどを含んでおり、セル情報Ce1bは、セル名〔セルX1b〕データNx1b、論理記号データSx1b、回路図データCx1b、レイアウトデータLx1b、属性データPx1bなどを含んでいる。 For example, the cell information Ce1 includes cell name [cell X1] data Nx1, logic symbol data Sx1, circuit diagram data Cx1, layout data Lx1, cell attribute data Px1, and the like. Similarly, the cell information Ce1a includes cell name [cell X1a] data Nx1a, logical symbol data Sx1a, circuit diagram data Cx1a, layout data Lx1a, attribute data Px1a, and the like. ] Data Nx1b, logic symbol data Sx1b, circuit diagram data Cx1b, layout data Lx1b, attribute data Px1b, and the like.
ここで、レイアウトデータは、インバータを構成するCMOS回路における拡散領域、ゲート電極、配線、コンタクトホールの配置パターンを示す情報である。 Here, the layout data is information indicating an arrangement pattern of diffusion regions, gate electrodes, wirings, and contact holes in the CMOS circuit constituting the inverter.
つまり、図2では、PMOSトランジスタMP1およびNMOSトランジスタMN1からなるCMOSインバータ回路のレイアウト構成例が示されている。PMOSトランジスタMP1およびNMOSトランジスタMN1のゲートは入力端子INとなり、PMOSトランジスタMP1およびNMOSトランジスタMN1のドレインは出力端子OUTとなる。セルX1は基準となるセルレイアウトLx1を有しており、セルX1aおよびX1bは、それぞれセルX1のセルレイアウトに対してゲート幅(W)を変更することで駆動能力(遅延時間)を変更したセルレイアウトを有している。 That is, FIG. 2 shows a layout configuration example of a CMOS inverter circuit including the PMOS transistor MP1 and the NMOS transistor MN1. The gates of the PMOS transistor MP1 and the NMOS transistor MN1 serve as the input terminal IN, and the drains of the PMOS transistor MP1 and the NMOS transistor MN1 serve as the output terminal OUT. The cell X1 has a reference cell layout Lx1, and the cells X1a and X1b each have a driving capability (delay time) changed by changing the gate width (W) with respect to the cell layout of the cell X1. Has a layout.
ここでは、これらの3つのセルはいずれも、回路占有領域(縦横レイアウト寸法)は同じであり、第1メタル配線層M1で形成される入力端子INおよび出力端子OUTの配置および形状も同じとなっている。セルX1aでは、セルX1に比べてPMOSトランジスタMP1を構成するP型半導体領域DFPの寸法と、NMOSトランジスタMN1を構成するN型半導体領域DFNの寸法が小さくなっている。セルX1bでは、セルX1に比べてPMOSトランジスタMP1を構成するP型半導体領域DFPの寸法と、NMOSトランジスタMN1を構成するN型半導体領域DFNの寸法が大きくなっている。なお、図2中、POは、トランジスタのゲートを構成するポリシリコン層であり、CTはコンタクト層である。さらに、属性データPx1、Px1a、Px1bは、それぞれのインバータセルCe1、Ce1a、Ce1bにおける遅延時間、駆動能力、入力端子や出力端子の寄生抵抗、寄生容量などを示す情報を含んでいる。 Here, all these three cells have the same circuit occupation area (vertical and horizontal layout dimensions), and the arrangement and shape of the input terminal IN and the output terminal OUT formed by the first metal wiring layer M1 are also the same. ing. In the cell X1a, the size of the P-type semiconductor region DFP constituting the PMOS transistor MP1 and the size of the N-type semiconductor region DFN constituting the NMOS transistor MN1 are smaller than those of the cell X1. In the cell X1b, the size of the P-type semiconductor region DFP constituting the PMOS transistor MP1 and the size of the N-type semiconductor region DFN constituting the NMOS transistor MN1 are larger than those of the cell X1. In FIG. 2, PO is a polysilicon layer constituting the gate of the transistor, and CT is a contact layer. Further, the attribute data Px1, Px1a, Px1b includes information indicating the delay time, driving capability, parasitic resistance of the input terminal and output terminal, parasitic capacitance, etc. in each of the inverter cells Ce1, Ce1a, Ce1b.
次に動作について説明する。 Next, the operation will be described.
図3は、本実施形態1による半導体集積回路の設計方法を説明する図であり、上記設計装置により行われる設計処理のフローを示している。 FIG. 3 is a diagram for explaining a method of designing a semiconductor integrated circuit according to the first embodiment, and shows a flow of design processing performed by the design apparatus.
まず、論理合成(ステップS1)及び配置配線(ステップS2)が、従来の半導体集積回路の設計方法と同様に、既存セルライブラリ121を使用して行われる。 First, logic synthesis (step S1) and placement and routing (step S2) are performed using the existing cell library 121, as in the conventional method of designing a semiconductor integrated circuit.
つまり、論理合成(ステップS1)では、ハードウェア記述言語(HDL)などで記述された回路設計データをネットリストに変換する処理が、論理合成部111により行われる。ここで、ネットリストは、ハードウェア記述言語(HDL)などで記述された回路機能を実現する論理回路であって、既存セルライブラリ121に格納されているセルである組み合わせ回路や順序回路を接続して得られる論理回路を示す回路情報である。 That is, in the logic synthesis (step S1), the logic synthesis unit 111 performs a process of converting circuit design data described in a hardware description language (HDL) or the like into a netlist. Here, the netlist is a logic circuit that realizes a circuit function described in a hardware description language (HDL) or the like, and connects a combinational circuit or a sequential circuit that is a cell stored in the existing cell library 121. Circuit information indicating the logic circuit obtained in this way.
続く配置配線(ステップS2)では、ネットリストにより示された接続関係に従って、既存セルライブラリ121のセルを用いたセル配置配線が配置配線部112により行われる。つまり、既存セルライブラリ121に格納されているセル情報に基づいて、組み合わせ回路や順序回路などのセルの配置、及び配置したセル間の配線が行われ、設計対象である半導体集積回路におけるセルおよび配線のレイアウトが決定され、このレイアウトを示すレイアウトデータがレイアウトデータ格納部123に格納される。 In the subsequent placement and routing (step S2), the placement and routing unit 112 performs cell placement and routing using cells of the existing cell library 121 according to the connection relationship indicated by the netlist. That is, based on cell information stored in the existing cell library 121, cells such as combinational circuits and sequential circuits are arranged, and wiring between the arranged cells is performed. The layout data indicating the layout is stored in the layout data storage unit 123.
この配置配線後の一回目のタイミング解析では、タイミング解析部113が、既存セルライブラリ121のセル情報のみを用いて、セルおよび配線のレイアウトが決定された半導体集積回路(論理回路)における各信号パスに対するタイミング解析を行う。 In the first timing analysis after this placement and routing, each signal path in the semiconductor integrated circuit (logic circuit) in which the timing analysis unit 113 uses only the cell information of the existing cell library 121 to determine the layout of the cells and wirings. Perform timing analysis for.
つまり、タイミング解析部113が既存セルライブラリ121のみを使用して、前段および後段の順序回路(フリップフロップ)間における信号パス上の個々の種類のセルの属性情報である遅延情報を抽出し(ステップS3)、この信号パスがタイミング制約を満たしているか、つまりこの信号パスの始点となる前段フリップフロップからこの信号パスの終点となる後段フリップフロップとの間での信号遅延時間が、タイミング制約を満たすものであるか否かを判定する(ステップS4)。 In other words, the timing analysis unit 113 uses only the existing cell library 121 to extract delay information that is attribute information of individual types of cells on the signal path between the preceding and succeeding sequential circuits (flip-flops) (steps). S3) Whether the signal path satisfies the timing constraint, that is, the signal delay time between the preceding flip-flop that is the starting point of the signal path and the succeeding flip-flop that is the ending point of the signal path satisfies the timing constraint. It is determined whether it is a thing (step S4).
より具体的には、このタイミング解析では、実負荷抽出部113aが、半導体集積回路におけるセルの配置およびセル間の配線の配置を示すレイアウトデータに基づいて、既存セルライブラリ121にセル情報として格納されている各種セルの仕様情報を参照して、実負荷データ(素子及び配線における寄生抵抗、寄生容量などの寄生成分)を求め、タイミング検証部113bが、この実負荷データを基に各信号パスにおける遅延情報を抽出し、各フリップフロップに信号が到達するタイミングの計算を行う。 More specifically, in this timing analysis, the actual load extraction unit 113a is stored as cell information in the existing cell library 121 based on layout data indicating the arrangement of cells and the arrangement of wiring between cells in the semiconductor integrated circuit. The actual load data (parasitic components such as parasitic resistance and parasitic capacitance in the elements and wiring) is obtained by referring to the specification information of the various cells, and the timing verification unit 113b uses the actual load data for each signal path. The delay information is extracted, and the timing at which the signal reaches each flip-flop is calculated.
その結果、タイミング違反が発生していない場合は、タイミング検証を終了し、一方、タイミング違反が発生していた場合、使用セル抽出部114がタイミング違反パス上の使用セルに関するセル情報を抽出する(ステップS11)。 As a result, when the timing violation has not occurred, the timing verification is finished. On the other hand, when the timing violation has occurred, the used cell extraction unit 114 extracts the cell information related to the used cell on the timing violation path ( Step S11).
例えば、図5あるいは図6に示すように、半導体集積回路における信号パスDpxあるいはDpyがタイミング違反を起こしていると、使用セル抽出部114は、1つのフリップフロップ(前段フリップフロップ)FF1から次段のフリップフロップ(後段フリップフロップ)FF2までの信号パスDpx上にある全てのセル(使用セル)に関するセル情報を既存セルライブラリ121から抽出する。 For example, as shown in FIG. 5 or FIG. 6, when the signal path Dpx or Dpy in the semiconductor integrated circuit causes a timing violation, the used cell extraction unit 114 starts from one flip-flop (previous flip-flop) FF1 to the next stage. Cell information relating to all cells (used cells) on the signal path Dpx to the first flip-flop (second-stage flip-flop) FF2 is extracted from the existing cell library 121.
次に、追加セル作成部115が、上記使用セルとは駆動能力の異なる追加セルを新たに作成する処理を行う(ステップS12)。 Next, the additional cell creation unit 115 performs a process of creating a new additional cell having a driving capability different from that of the used cell (step S12).
この駆動能力の異なる追加セルを新たに作成する処理では、作成された追加セルを示す回路情報およびその属性情報が追加セルのセル情報として新規セルライブラリ125に格納される。 In the process of newly creating an additional cell having a different driving capability, circuit information indicating the created additional cell and its attribute information are stored in the new cell library 125 as cell information of the additional cell.
具体的には、前工程(ステップS11)でセル情報が抽出された使用セルについて、機能が同じで、駆動能力の小さな追加セル、あるいは機能が同じで駆動能力の大きな追加セルなど、図5あるいは図6に示すように伝播遅延時間が使用セルとは異なる追加セルを多数新たに作成し、その回路情報および属性情報を追加セルのセル情報として新規セルライブラリ125に格納する。 Specifically, for the used cell from which the cell information is extracted in the previous step (step S11), an additional cell having the same function and a small driving capability, or an additional cell having the same function and a large driving capability, etc. As shown in FIG. 6, a large number of additional cells having propagation delay times different from the used cells are newly created, and circuit information and attribute information thereof are stored in the new cell library 125 as cell information of the additional cells.
このような使用セルとは駆動能力の異なる追加セルの作成は、タイミング違反パス上で使用されている全ての種類の使用セルについて行う。 Such additional cells having different driving capabilities from the used cells are created for all types of used cells used on the timing violation path.
次のタイミング改善(ステップS5)では、各タイミング違反パスにおけるタイミングの最適化が行われる。 In the next timing improvement (step S5), the timing in each timing violation path is optimized.
具体的には、タイミング改善部116は、既存セルライブラリのセルとは駆動能力の異なる追加セルのセル情報が格納されている新規セルライブラリ125を使用して、タイミング違反パス上の使用セルを、このタイミング違反パスがタイミング制約を満たすものとなるように、機能が同じで遅延時間の異なる追加セルと置き換えるセル置換処理や、使用セル間に配置された配線のレイアウトを変更する配線変更処理などを行う。これにより、セルの配置、およびセル間の配線の最適化が行われ、信号パスでの遅延時間が最適なものになる。 Specifically, the timing improvement unit 116 uses the new cell library 125 in which cell information of an additional cell having a different driving capability from the cells of the existing cell library is used, and uses the cells on the timing violation path, Cell replacement processing that replaces additional cells with the same function and different delay time, or wiring change processing that changes the layout of wiring placed between used cells, so that this timing violation path satisfies timing constraints Do. Thereby, the arrangement of the cells and the wiring between the cells are optimized, and the delay time in the signal path is optimized.
次いで、再びタイミング解析処理(ステップS3)が行われる。このとき、タイミング解析部103は、既存セルライブラリ121と新たに加わった新規セルライブラリ125の両方を使用して、各信号パスの遅延情報を抽出し、各信号パスがタイミング制約を満たしているか判定する。各信号パスがタイミング制約を満たしていれば、設計の対象とした半導体集積回路の設計は完了し、この設計装置100は次の設計段階に進む。 Next, the timing analysis process (step S3) is performed again. At this time, the timing analysis unit 103 uses both the existing cell library 121 and the newly added new cell library 125 to extract delay information of each signal path, and determines whether each signal path satisfies the timing constraint. To do. If each signal path satisfies the timing constraint, the design of the semiconductor integrated circuit to be designed is completed, and the design apparatus 100 proceeds to the next design stage.
一方、タイミング制約を満たしていない信号パスがある場合は、タイミング違反パス上の使用セルのセル情報を抽出し(ステップS11)、セル情報を抽出した使用セルと同一機能であって異なる駆動能力を有する追加セルを新たに作成してそのセル情報を新規セルライブラリに追加し(ステップS12)、作成した追加セルを用いてタイミング改善処理を行い(ステップS5)、その後、再びタイミング解析処理(ステップS3)を行う。 On the other hand, if there is a signal path that does not satisfy the timing constraint, cell information of the used cell on the timing violation path is extracted (step S11), and the same function as the used cell from which the cell information is extracted has a different driving capability. The newly added cell is newly created and the cell information is added to the new cell library (step S12), the timing improvement process is performed using the created additional cell (step S5), and then the timing analysis process (step S3) is performed again. )I do.
上述のように新規セルライブラリが加わることにより、タイミング調整を行う際のセルの選択肢が増え、予め登録されたセルライブラリだけでは改善しきれなかったタイミング違反を取り除くことできる。 By adding a new cell library as described above, the number of cell choices when performing timing adjustment is increased, and timing violations that cannot be improved only by a cell library registered in advance can be removed.
なお、上記使用セルとは駆動能力の異なる追加セルを新たに作成する処理(ステップS12)は、タイミング違反パスがある場合には、タイミング違反パス上の使用セルのセル情報を抽出した後、既存セルライブラリあるいはすでに作成した新規セルライブラリに格納されているセルのセル情報を用いて必ず行うようにしてもよいが、以下で図5および図6を用いて説明するように、タイミング違反パス上の使用セルを、既存セルライブラリあるいはすでに作成した新規セルライブラリにセル情報が格納されている既存セルと置き換えても、タイミング違反が解消されない場合のみ、上記使用セルとは駆動能力の異なる追加セルを新たに作成する処理(ステップS12)を行うようにしてもよい。 The process of newly creating an additional cell having a driving capability different from that of the used cell (step S12) is performed after extracting the cell information of the used cell on the timing violation path when there is a timing violation path. Although it may be performed by using cell information of a cell stored in the cell library or a new cell library that has already been created, as described below with reference to FIGS. 5 and 6, on the timing violation path, Even if the used cell is replaced with an existing cell whose cell information is stored in an existing cell library or a new cell library that has already been created, an additional cell with a different driving capability from the above used cell is added only if the timing violation is not resolved. You may make it perform the process (step S12) created.
また、タイミング違反パスがある場合に、既存セルライブラリあるいはすでに作成した新規セルライブラリにセル情報が格納されている既存セルに、上記タイミング違反パスの使用セルと置き換えるべき特性(駆動能力あるいはセル占有面積)を有するものがないときは、上記使用セルとは駆動能力の異なる追加セルを新たに作成する処理(ステップS12)を必ず行う。 In addition, when there is a timing violation path, the characteristics (driving capacity or cell occupied area) to be replaced with the cell used in the timing violation path in the existing cell library or the existing cell in which the cell information is already stored in the newly created cell library ), There is always a process of newly creating an additional cell having a driving capability different from that of the used cell (step S12).
以下、本実施形態1による設計装置で行うセル作成処理およびタイミング改善処理の一例について具体的に説明する。 Hereinafter, an example of cell creation processing and timing improvement processing performed by the design apparatus according to the first embodiment will be specifically described.
まず、セル作成処理の具体例について説明する。 First, a specific example of the cell creation process will be described.
図4は、既存セルライブラリ121にセル情報が格納されている既存セルとしてのNANDセルから、該NANDセルと同じ論理の演算を行い、かつ駆動能力の異なる追加セルを作成する処理を説明する図である。 FIG. 4 is a diagram for explaining a process of performing an operation with the same logic as the NAND cell and creating an additional cell having a different driving capability from the NAND cell as the existing cell whose cell information is stored in the existing cell library 121. It is.
例えば、使用セル抽出部114が、タイミング違反パスにおける使用セルの1つとして、既存セルライブラリ121にセル情報が格納されているNANDセルC1を抽出した場合、追加セル作成部115は、既存セルライブラリ121に格納されているこのNANDセルC1のセル情報(セル名データ(図示せず)、論理記号データSc1(図4(a))、回路図データCc1(図4(b))、レイアウトデータLc1(図4(c))、属性データ(図示せず)など)に基づいて、このNANDセルC1とは同じ論理の演算を行い、かつ駆動能力が異なる追加セルのセル情報を新たに作成し、この追加セルのセル情報を新規セルライブラリ125に格納する。 For example, when the used cell extraction unit 114 extracts the NAND cell C1 whose cell information is stored in the existing cell library 121 as one of the used cells in the timing violation path, the additional cell creation unit 115 Cell information (cell name data (not shown), logic symbol data Sc1 (FIG. 4 (a)), circuit diagram data Cc1 (FIG. 4 (b)), layout data Lc1 of the NAND cell C1 stored in 121. Based on (FIG. 4C), attribute data (not shown), etc., the same logic operation as this NAND cell C1 is performed, and cell information of an additional cell having a different driving capability is newly created. The cell information of this additional cell is stored in the new cell library 125.
図4(d)〜図4(f)はそれぞれ、例えば、既存セルC1とは駆動能力のみ異なる第1〜第3の追加セルを作成したときの、各追加セルのレイアウトLc1a、Lc1b、Lc1cを示している。 FIGS. 4D to 4F respectively show layouts Lc1a, Lc1b, and Lc1c of the additional cells when the first to third additional cells that differ only in driving capability from the existing cell C1, for example, are created. Show.
なお、図4(a)〜図4(f)中、MP1aおよびMP1bは、NANDセルC1を構成するPMOSトランジスタ、MN1aおよびMN1bは、NANDセルC1を構成するNMOSトランジスタであり、IN1およびIN2はこのNANDセルの入力端子、OUTはその出力端子であり、これらの端子は第1層メタル層M1により構成されている。また、DFPは、PMOSトランジスタMP1aおよびMP1bを構成するP型半導体領域、DFNは、NMOSトランジスタMN1aおよびMN1bを構成するN型半導体領域、POは、トランジスタのゲート電極を構成するポリシリコン層であり、CTはコンタクト層である。 4 (a) to 4 (f), MP1a and MP1b are PMOS transistors constituting the NAND cell C1, MN1a and MN1b are NMOS transistors constituting the NAND cell C1, and IN1 and IN2 are this An input terminal OUT of the NAND cell is an output terminal thereof, and these terminals are constituted by the first metal layer M1. Further, DFP is a P-type semiconductor region constituting the PMOS transistors MP1a and MP1b, DFN is an N-type semiconductor region constituting the NMOS transistors MN1a and MN1b, PO is a polysilicon layer constituting the gate electrode of the transistor, CT is a contact layer.
第1の追加セルのレイアウトLc1aでは、既存セルC1のレイアウトLc1に比べて、P型半導体領域PFNおよびN型半導体領域DFNのゲート幅W方向の寸法が小さくなっている。 In the layout Lc1a of the first additional cell, the dimension in the gate width W direction of the P-type semiconductor region PFN and the N-type semiconductor region DFN is smaller than the layout Lc1 of the existing cell C1.
また、第2の追加セルのレイアウトLc1bでは、既存セルC1のレイアウトLc1に比べて、N型半導体領域DFNのゲート幅W方向の寸法のみ小さくしており、第3の追加セルのレイアウトLc1cでは、既存セルC1のレイアウトLc1に比べて、P型半導体領域DFPのゲート幅W方向の寸法のみ小さくしており、第1〜第3の追加セルは、既存セルC1に対して駆動能力を変更したものとなっている。 Also, in the layout Lc1b of the second additional cell, only the dimension in the gate width W direction of the N-type semiconductor region DFN is smaller than the layout Lc1 of the existing cell C1, and in the layout Lc1c of the third additional cell, Compared to the layout Lc1 of the existing cell C1, only the dimension in the gate width W direction of the P-type semiconductor region DFP is made smaller, and the first to third additional cells have a driving capability changed from that of the existing cell C1. It has become.
上記追加セル作成部115は、このような追加セルのレイアウトLc1a〜Lc1cを既存セルC1のレイアウトLc1に基づいて作成する。 The additional cell creation unit 115 creates such additional cell layouts Lc1a to Lc1c based on the layout Lc1 of the existing cell C1.
そして、変更した追加セルのレイアウト情報に基づいて、既存セルの駆動能力や遅延時間などの属性情報を変更したものとして追加セルの属性情報を作成し、作成した追加セルのセル情報として、セル名データおよび回路図データとともに、レイアウトデータおよび属性情報を新規セルライブラリ125に格納する。 Then, based on the layout information of the changed additional cell, the attribute information of the additional cell is created as a change of the attribute information such as the driving capability and delay time of the existing cell, and the cell name is created as the cell information of the created additional cell. The layout data and attribute information are stored in the new cell library 125 together with the data and the circuit diagram data.
また、図4では、追加セルのレイアウトLc1a〜Lc1cとして、既存セルの占有面積(つまり縦横のサイズ)と追加セルの占有面積(つまり縦横のサイズ)とが同一であるものを示しているが、本発明では、追加セルのレイアウトLc1a〜Lc1cを、追加セルの占有面積が既存セルのものと同一になるよう作成しなければならないという制約はなく、追加セルのレイアウトは、追加セルの占有面積(つまり縦横のサイズ)をその駆動能力に応じたものとした、既存セルのものと異なるレイアウトでもよい。 Further, in FIG. 4, as the additional cell layouts Lc1a to Lc1c, the existing cell occupation area (that is, vertical and horizontal sizes) and the additional cell occupation area (that is, vertical and horizontal sizes) are the same. In the present invention, there is no restriction that the additional cell layouts Lc1a to Lc1c must be created so that the area occupied by the additional cells is the same as that of the existing cells. In other words, the layout may be different from that of the existing cell, in which the vertical and horizontal sizes) correspond to the driving ability.
次に、タイミング改善の具体例について説明する。 Next, a specific example of timing improvement will be described.
まず、セットアップタイミング違反およびその改善について説明する。 First, the setup timing violation and its improvement will be described.
タイミング解析の結果、図5に示すように、フリップフロップFF1からフリップフロップFF2への信号パスDpxにて、セットアップタイミング違反が発生していたとする。 As a result of the timing analysis, it is assumed that a setup timing violation has occurred in the signal path Dpx from the flip-flop FF1 to the flip-flop FF2, as shown in FIG.
セットアップタイミング違反は、後段のフリップフロップがクロック信号変化の前にデータを保持しなければならない時間を十分に確保できないため、フリップフロップが正しいデータをラッチすることができないエラーであり、図7は、セットアップタイミング違反の説明図である。 The setup timing violation is an error in which the flip-flop cannot latch the correct data because the subsequent flip-flop cannot secure enough time to hold the data before the clock signal changes, and FIG. It is explanatory drawing of a setup timing violation.
ここで、クロックCKの周期は例えば10nsとする。図5に示す前段フリップフロップFF1の出力QはクロックCKの立下りより1ns遅れて変化する。2つのフリップフロップの間での信号遅延は、これらの間のセルの遅延値を合計した値で、例えば8.5nsとする。ここで後段フリップフロップFF2のセットアップタイム(データDをラッチするためのクロックの立下りの前に必要となる、データDが変化しない期間)は1nsとする。この場合、図7(a)に示すように、クロックCKの立下り前、1ns以内にデータDが変化するとエラーとなる。例えば、フリップフロップF22の入力のデータDがクロックCKの立下りより0.5ns前のところで変化すると、セットアップタイミング違反が発生する。 Here, the cycle of the clock CK is 10 ns, for example. The output Q of the front-stage flip-flop FF1 shown in FIG. 5 changes with a delay of 1 ns from the falling edge of the clock CK. The signal delay between the two flip-flops is the sum of the delay values of the cells between them, for example 8.5 ns. Here, the setup time of the rear-stage flip-flop FF2 (a period during which the data D does not change, which is necessary before the falling of the clock for latching the data D) is 1 ns. In this case, as shown in FIG. 7A, an error occurs if the data D changes within 1 ns before the fall of the clock CK. For example, if the input data D of the flip-flop F22 changes 0.5 ns before the falling edge of the clock CK, a setup timing violation occurs.
そこで、これらの2つのフリップフロップ間での信号遅延時間を短縮することにより、セットアップタイミング違反を回避することができる。 Therefore, a setup timing violation can be avoided by shortening the signal delay time between these two flip-flops.
図7(b)は、図7(a)に示すセットアップタイミング違反を回避したことを説明する図である。信号遅延時間8.5nsを1ns短縮し、7.5nsにすることにより、セットアップタイムに対して0.5nsの余裕ができることがわかる。 FIG. 7B is a diagram for explaining that the setup timing violation shown in FIG. It can be seen that by reducing the signal delay time of 8.5 ns by 1 ns to 7.5 ns, a margin of 0.5 ns can be made with respect to the setup time.
従って、図3に示すタイミング改善(ステップS5)では、フリップフロップFF1からフリップフロップFF2へデータが伝わる時間が小さくなるように、先ず既存セルライブラリ121のセルを用いて、タイミング違反パスDpxにおける使用セルを最も遅延の小さいセルに差し替える。 Therefore, in the timing improvement shown in FIG. 3 (step S5), the cells used in the timing violation path Dpx are first used by using the cells of the existing cell library 121 so that the time for data transmission from the flip-flop FF1 to the flip-flop FF2 is reduced. Is replaced with the cell with the smallest delay.
具体的には、1回目のタイミング解析でタイミング違反パスが検出されたとき、図5に示すように、タイミング違反パスDpxにおける使用セル(遅延時間0.10ns)Uaxからセル(遅延時間0.09ns)A1への差し替え、およびタイミング違反パスDpxにおける使用セル(遅延時間0.14ns)Ubxからセル(遅延時間0.12ns)B1への差し替えを行う。なお、このセルに差し替えは、追加セルを作成する前に行う。 More specifically, when a timing violation path is detected in the first timing analysis, as shown in FIG. 5, from the used cell (delay time 0.10 ns) Uax in the timing violation path Dpx to the cell (delay time 0.09 ns). ) Replacement to A1 and replacement from the used cell (delay time 0.14 ns) Ubx to the cell (delay time 0.12 ns) B1 in the timing violation path Dpx. Note that this cell replacement is performed before an additional cell is created.
そして、2回目のタイミング解析で、この差し替えでも違反改善が成されないと判定されたときは、タイミング違反パスDpx上の使用セルを抽出し、セルUaxと同一機能で駆動能力が異なる、細分化された追加セルNA1〜NA5を新たに作成し、また、セルUbxと同一機能で駆動能力が異なる、細分化された追加セルNB1〜NB6を新たに作成して、それぞれのセル情報を新規セルライブラリ125に格納する。 If it is determined in the second timing analysis that the violation is not improved even by this replacement, the used cells on the timing violation path Dpx are extracted, and the same function as that of the cell Uax is used, and the driving capability is different. Additional cells NA1 to NA5 are newly created, subdivided additional cells NB1 to NB6 having the same function and different driving capability as the cell Ubx are newly created, and each cell information is stored in the new cell library 125. To store.
次いで、新規セルライブラリ125にセル情報が含まれる追加セルNA1〜NA5およびNB1〜NB6を用いて、タイミング違反パスDpxにおけるセルから最も遅延の小さいセルへの差し替えを行う。 Next, using the additional cells NA1 to NA5 and NB1 to NB6 whose cell information is included in the new cell library 125, the cells in the timing violation path Dpx are replaced with the cells with the smallest delay.
具体的には、セル(遅延時間0.09ns)A1からセル(遅延時間0.08ns)NA1への差し替え、およびセル(遅延時間0.12ns)B1から追加セル(遅延時間0.10ns)NB1への差し替えを行う。このように新規セルライブラリ125が加わることにより、タイミング調整を行う際の選択肢が増え、予め登録された既存セルライブラリ121だけでは改善しきれなかったタイミング違反を取り除くことできる。 Specifically, the cell (delay time 0.09 ns) A1 is replaced with the cell (delay time 0.08 ns) NA1, and the cell (delay time 0.12 ns) B1 is replaced with the additional cell (delay time 0.10 ns) NB1. Replace. By adding the new cell library 125 in this way, options for timing adjustment are increased, and timing violations that cannot be improved only by the existing cell library 121 registered in advance can be removed.
次に、ホールドタイミング違反およびその改善について簡単に説明する。 Next, the hold timing violation and its improvement will be briefly described.
タイミング解析の結果、図6に示すように、フリップフロップFF3からフリップフロップFF4への信号パスDpyにて、ホールドタイミング違反が発生していたとする。 As a result of the timing analysis, it is assumed that a hold timing violation has occurred in the signal path Dpy from the flip-flop FF3 to the flip-flop FF4 as shown in FIG.
ホールドタイミング違反は、クロック信号の変化後に、データを正しくラッチするために必要な時間を十分確保できないエラーであり、図8は、このエラーの説明図である。 The hold timing violation is an error in which sufficient time for correctly latching data after the change of the clock signal cannot be secured, and FIG. 8 is an explanatory diagram of this error.
ここで、クロックCKの周期は10nsとする。また、ホールドタイム(データDをラッチするためのクロックの立下りタイミング以降に必要となる、データDが変化しない期間)は1.5nsとする。この場合、クロックCKの立下りから1.5ns以内でデータDが変化するとホールドタイミング違反となる。例えば、図8(a)では、データDはクロックCKの立下りから0.5nsのところで変化しているので、ホールドタイミング違反が発生する。 Here, the cycle of the clock CK is 10 ns. In addition, the hold time (a period during which the data D does not change that is required after the falling timing of the clock for latching the data D) is 1.5 ns. In this case, if the data D changes within 1.5 ns from the falling edge of the clock CK, a hold timing violation occurs. For example, in FIG. 8A, since the data D changes at 0.5 ns from the falling edge of the clock CK, a hold timing violation occurs.
そこで、これらの2つのフリップフロップ間での信号遅延を大きくすることにより、ホールドタイミング違反を回避することができる。 Therefore, a hold timing violation can be avoided by increasing the signal delay between these two flip-flops.
図8(b)は、図8(a)に示すホールドタイミング違反を回避したことを説明する図である。信号遅延時間8.5nsを2ns遅くし、10.5nsにすることにより、ホールドタイムに対して1nsの余裕ができる。 FIG. 8B is a diagram for explaining that the hold timing violation shown in FIG. By delaying the signal delay time 8.5 ns by 2 ns and making it 10.5 ns, a margin of 1 ns can be made with respect to the hold time.
従って、図3に示すタイミング改善(ステップS5)では、フリップフロップFF3からフリップフロップFF4へデータが伝わる時間が大きくなるように、先ず既存セルライブラリ121のセルを用いて、タイミング違反パスDpyにおける使用セルから最も遅延の大きいセルに差し替える。 Therefore, in the timing improvement shown in FIG. 3 (step S5), the cells used in the timing violation path Dpy are first used by using the cells of the existing cell library 121 so that the time for data transmission from the flip-flop FF3 to the flip-flop FF4 is increased. To the cell with the longest delay.
具体的には、1回目のタイミング解析でタイミング違反パスが検出されたとき、タイミング違反パスDpyにおける使用セル(遅延時間:0.10nm)Uayからセル(遅延時間:0.13nm)A3への差し替え、およびタイミング違反パスDpyにおける使用セル(遅延時間:0.14nm)Ubyからセル(遅延時間:0.15nm)B3への差し替えを行う。 Specifically, when a timing violation path is detected in the first timing analysis, the used cell (delay time: 0.10 nm) Uay in the timing violation path Dpy is replaced with the cell (delay time: 0.13 nm) A3. In addition, the used cell (delay time: 0.14 nm) Uby in the timing violation path Dpy is replaced with the cell (delay time: 0.15 nm) B3.
そして、2回目のタイミング解析で、この差し替えでも違反改善が成されないと判定されたときは、タイミング違反パスDpy上の使用セルを抽出し、セルUayと同一機能で駆動能力が異なる、細分化された追加セルNA1〜NA5を新たに作成し、また、セルUbxと同一機能で駆動能力が異なる、細分化された追加セルNB1〜NB6を新たに作成して、それぞれのセル情報を新規セルライブラリ125に格納する。 If it is determined in the second timing analysis that the violation is not improved even by this replacement, the used cells on the timing violation path Dpy are extracted, and the same function as the cell Uay has the same function but the driving capability is subdivided. Additional cells NA1 to NA5 are newly created, subdivided additional cells NB1 to NB6 having the same function and different driving capability as the cell Ubx are newly created, and each cell information is stored in the new cell library 125. To store.
次いで、新規セルライブラリ125にセル情報が含まれる追加セルを用いて、タイミング違反パスDpyにおけるセルから最も遅延の大きいセルへの差し替えを行う。 Next, using the additional cell whose cell information is included in the new cell library 125, the cell in the timing violation path Dpy is replaced with the cell having the longest delay.
具体的にはセル(遅延時間:0.13nm)A3から追加セル(遅延時間:0.15nm)NA5への差し替え、およびセル(遅延時間:0.15nm)B3からセル(遅延時間:0.18nm)NB6への差し替えを行う。 Specifically, the cell (delay time: 0.13 nm) A3 is replaced with the additional cell (delay time: 0.15 nm) NA5, and the cell (delay time: 0.15 nm) B3 is replaced with the cell (delay time: 0.18 nm). ) Replace with NB6.
このように新規セルライブラリ125が加わることにより、タイミング調整を行う際の選択肢が増え、予め登録されたセルライブラリだけでは改善しきれなかったタイミング違反を取り除くことできる。 By adding the new cell library 125 in this way, the choices for timing adjustment increase, and timing violations that could not be improved only by the cell library registered in advance can be removed.
従って、本実施形態1では、タイミング改善の容易性が上がり、タイミング改善を必要とするパスが減ることで設計期間の短縮ができる。また、従来必要であった図14および図15に示すセル挿入を行わなくてよい場合があり、タイミング改善による半導体集積回路の面積増大を抑える効果もある。 Therefore, in the first embodiment, the ease of timing improvement is improved, and the design period can be shortened by reducing the number of paths that require timing improvement. Further, there is a case where the cell insertion shown in FIG. 14 and FIG.
このような本実施形態1による半導体集積回路の設計装置100では、回路設計データに基づいて、該半導体集積回路が構成されるよう標準セルの配置及び該標準セル間の配線を行う配置配線部112と、該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出するタイミング解析部113と、該違反経路に含まれる少なくとも1つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる1以上の追加標準セルを該置換対象セル毎に作成する追加セル作成部115とを備え、既存セルライブラリのセルを用いて配置配線を行って得られた半導体集積回路にタイミング違反パスが含まれている場合は、既存のセルライブラリのセルとは駆動能力の異なる同一機能の追加セルを新たに作成するので、予め準備した標準セル以外の追加標準セルを用いて、タイミング違反が生じている違反経路のタイミング違反を取り除くことが可能となり、このように違反経路のタイミング改善に用いるセルの選択枝が広がることから、タイミング違反パスでのタイミング改善をより容易なものとして、タイミング改善を必要とするパスの低減により半導体集積回路の設計期間を短縮することが可能となる。
(実施形態2)
図9は、本発明の実施形態2による半導体集積回路の設計装置を説明する図である。
In the semiconductor integrated circuit design apparatus 100 according to the first embodiment as described above, based on the circuit design data, the placement and routing unit 112 that places standard cells and performs wiring between the standard cells so as to constitute the semiconductor integrated circuit. A timing analysis unit 113 for detecting a violation path in which a timing violation occurs in the signal path in the semiconductor integrated circuit, and at least one standard cell included in the violation path as a replacement target cell, An additional cell creation unit 115 that performs one or more additional standard cells that perform the same logical operation as that of the target cell and that has a driving capability different from that of the replacement target cell; If a timing violation path is included in a semiconductor integrated circuit obtained by performing placement and routing using, what is a cell in an existing cell library? Since an additional cell of the same function with a different dynamic capability is newly created, it becomes possible to remove the timing violation of the violation route where the timing violation has occurred by using an additional standard cell other than the standard cell prepared in advance. Since there are more choices of cells used to improve the timing of violation paths, the timing improvement for timing violation paths can be made easier, and the design period of semiconductor integrated circuits can be shortened by reducing the number of paths that require timing improvements. It becomes possible.
(Embodiment 2)
FIG. 9 is a diagram for explaining a semiconductor integrated circuit design apparatus according to Embodiment 2 of the present invention.
この実施形態2による半導体集積回路の設計装置(以下、半導体設計装置という。)200は、実施形態1の半導体集積回路の設計装置100における追加セル作成部115に代えて、前記タイミング違反がセットアップタイミング違反である場合には、タイミング違反パスにおける使用セルより駆動能力の大きい追加セルを作成し、前記タイミング違反がホールドタイミング違反である場合には、タイミング違反パスにおける使用セルより駆動能力の小さい追加セルを作成する追加セル作成部215を備えたものである。 A semiconductor integrated circuit design apparatus (hereinafter referred to as a semiconductor design apparatus) 200 according to the second embodiment replaces the additional cell creation unit 115 in the semiconductor integrated circuit design apparatus 100 of the first embodiment with the timing violation being a setup timing. If it is a violation, an additional cell having a driving capability larger than that of the cell used in the timing violation path is created. If the timing violation is a hold timing violation, the additional cell having a driving capability smaller than that of the cell used in the timing violation path is created. Is provided with an additional cell creation unit 215 for creating
従って、本実施形態2に係る半導体設計装置200では、実施形態1のタイミング解析部113に代わるタイミング解析部213を備え、このタイミング解析部213は、実施形態1のタイミング解析部113と同一の実負荷抽出部113aおよびタイミング検証部113bを有し、タイミング解析の結果として、タイミング違反がセットアップタイミング違反であるかホールドタイミング違反であるかを、上記追加セル作成部215に通知する構成としている。 Therefore, the semiconductor design apparatus 200 according to the second embodiment includes a timing analysis unit 213 that replaces the timing analysis unit 113 according to the first embodiment, and the timing analysis unit 213 is the same as the timing analysis unit 113 according to the first embodiment. The load extraction unit 113a and the timing verification unit 113b are included, and the additional cell creation unit 215 is notified as to whether the timing violation is a setup timing violation or a hold timing violation as a result of the timing analysis.
この実施形態2の半導体設計装置200におけるその他の構成は、実施形態1の半導体設計装置100と同一である。 Other configurations of the semiconductor design apparatus 200 of the second embodiment are the same as those of the semiconductor design apparatus 100 of the first embodiment.
このような構成の実施形態2の半導体設計装置200では、実施形態1の効果に加えて、追加セルとして、タイミング解析の結果からタイミング違反パスの改善に有効と判断される駆動能力を有するもののみを作成することが可能となり、効果的にタイミング違反パスの改善を行うことができるという効果がある。 In the semiconductor design apparatus 200 according to the second embodiment having such a configuration, in addition to the effects of the first embodiment, only an additional cell having a driving capability that is determined to be effective in improving the timing violation path from the result of the timing analysis. The timing violation path can be effectively improved.
なお、上記実施形態2では、セットアップタイミング違反経路が検出されたとき、このタイミング違反パスの標準セルと同じ論理の演算を行う、この標準セルより駆動能力の高い追加セルを作成し、ホールドタイミング違反経路が検出されたとき、この違反経路の標準セルと同じ論理の演算を行う、この標準セルより駆動能力の低い追加セルを作成するものを示しているが、さらに、この実施形態2の構成において、セットアップタイミング違反経路の標準セルは、遅延時間が最小の追加セル(つまり、駆動能力が最大の追加セル)で置き換え、ホールドタイミング違反経路の標準セルは、遅延時間が最大の追加セル(つまり、駆動能力が最小の追加セル)で置き換えるようにしてもよい。
(実施形態3)
図10は、本発明の実施形態3による半導体集積回路の設計装置を説明するブロック図である。
In the second embodiment, when a setup timing violation path is detected, an additional cell having a higher driving capability than that of the standard cell is created to perform the same logical operation as that of the standard cell of the timing violation path. When a path is detected, an operation is performed in which the same logic as that of the standard cell of the violation path is generated, and an additional cell having a lower driving ability than the standard cell is shown. , The standard cell in the setup timing violation path is replaced with an additional cell with the smallest delay time (that is, the additional cell with the maximum driving capacity), and the standard cell in the hold timing violation path is replaced with an additional cell with the largest delay time (that is, An additional cell having the minimum driving capability may be replaced.
(Embodiment 3)
FIG. 10 is a block diagram illustrating a semiconductor integrated circuit design apparatus according to Embodiment 3 of the present invention.
この実施形態3による半導体集積回路の設計装置(以下、半導体設計装置という。)300は、実施形態2の半導体設計装置200におけるタイミング解析部213に代えて、タイミング違反がセットアップタイミング違反であるかホールドタイミング違反であるかを判定するとともに、それぞれのタイミング違反の程度を検出するよう構成したタイミング解析部313を備えたものである。 A semiconductor integrated circuit design apparatus (hereinafter referred to as a semiconductor design apparatus) 300 according to the third embodiment replaces the timing analysis unit 213 in the semiconductor design apparatus 200 according to the second embodiment and holds whether or not the timing violation is a setup timing violation. The timing analysis unit 313 is configured to determine whether or not it is a timing violation and to detect the degree of each timing violation.
つまり、この実施形態3の半導体設計装置300のタイミング解析部313では、実施形態1のタイミング解析部113におけるタイミング検証部113bに代えて、タイミング解析の際、セットアップタイミング違反あるいはホールドタイミング違反の程度を、タイミング違反パスにおける、タイミング検証により得られた信号伝達に要する時間と、このタイミング違反パスにおける、タイミング制約に基づいた本来の信号伝達に要する正規の時間(規定時間)との時間差を検出するタイミング検証部313bを有し、タイミング解析の結果として、タイミング違反がセットアップタイミング違反であるかホールドタイミング違反であるかとともに、それぞれのタイミング違反の程度を上記時間差として、上記追加セル作成部315に通知する構成としている。 That is, the timing analysis unit 313 of the semiconductor design apparatus 300 according to the third embodiment replaces the timing verification unit 113b in the timing analysis unit 113 according to the first embodiment with a setup timing violation or hold timing violation during the timing analysis. The timing for detecting the time difference between the signal transmission time obtained by the timing verification in the timing violation path and the normal time (specified time) required for the original signal transmission based on the timing constraint in the timing violation path The verification unit 313b has a timing analysis result, and notifies the additional cell creation unit 315 of the timing violation as the time difference and whether the timing violation is a setup timing violation or a hold timing violation. It has a configuration that.
また、この実施形態3の半導体設計装置300は、実施形態2の半導体設計装置200における追加セル作成部215に変えて、作成する追加セルの駆動能力を上記時間差に基づいて設定する追加セル作成部315を備えたものである。 In addition, the semiconductor design apparatus 300 according to the third embodiment is replaced with the additional cell creation section 215 in the semiconductor design apparatus 200 according to the second embodiment, and an additional cell creation section that sets the drive capability of the created additional cell based on the time difference. 315 is provided.
つまり、この追加セル作成部315は、前記タイミング違反がセットアップタイミング違反である場合には、タイミング違反パスにおける使用セルより駆動能力の大きい追加セルを作成し、前記タイミング違反がホールドタイミング違反である場合には、タイミング違反パスにおける使用セルより駆動能力の小さい追加セルを作成し、しかも、追加セルを作成する際に、タイミング違反の程度を考慮して、作成する追加セルの駆動能力の目標値として過不足なくタイミング違反を解消可能な程度の値を設定し、追加セルの駆動能力を、この目標値を中心とする一定範囲内で段階的に変化させて設定するよう構成したものである。 That is, when the timing violation is a setup timing violation, the additional cell creation unit 315 creates an additional cell having a driving capability larger than the used cell in the timing violation path, and the timing violation is a hold timing violation. In the timing violation path, an additional cell having a smaller driving capability than the cell used in the timing violation path is created, and when creating the additional cell, the target value of the driving capability of the additional cell to be created is taken into consideration. A value is set so that the timing violation can be resolved without excess or deficiency, and the drive capacity of the additional cell is set by changing stepwise within a certain range centered on the target value.
このような構成の本実施形態3の半導体設計装置300では、実施形態1の効果に加えて、作成する追加セルの駆動能力の目標値を、タイミング違反の程度を考慮して設定し、この目標値を中心とする一定範囲内で駆動能力を段階的に変換させて追加セルの駆動能力を設定するので、タイミング違反パスを改善するための追加セルとして、タイミング違反を解消可能なものが得られる一方で駆動能力が大きすぎたりあるいは小さすぎたりすることによる弊害が生ずるといった問題を回避できる。 In the semiconductor design apparatus 300 of the third embodiment having such a configuration, in addition to the effects of the first embodiment, the target value of the driving capability of the additional cell to be created is set in consideration of the timing violation, and this target Since the drive capacity of the additional cell is set by converting the drive capacity in steps within a certain range centered on the value, an additional cell that can eliminate the timing violation can be obtained as an additional cell for improving the timing violation path. On the other hand, it is possible to avoid a problem that a bad effect caused by the driving capability being too large or too small.
例えば、セットアップタイミング違反パスにおける使用セルに対して、この使用セルに比べて駆動能力が大きい追加セルを作成した場合、この追加セルの駆動能力が大きすぎる場合は、使用セルをこの追加セルに置き換えることによりセルの占有面積が不必要に大きくなるという弊害を招くが、本実施形態3のように、作成する追加セルの駆動能力の目標値を、タイミング違反の程度を考慮して設定し、この目標値を中心とする一定範囲内で駆動能力を段階的に変換させて追加セルの駆動能力を設定することで、セットアップタイミング違反を解消するための追加セルとして、占有面積が不必要に大きなものが作成されるのを回避できる。
(実施形態4)
図11は、本発明の実施形態4による半導体集積回路の設計装置を説明するブロック図である。
For example, when an additional cell having a larger driving capability than that of the used cell is created for the used cell in the setup timing violation path, the used cell is replaced with this additional cell if the driving capability of the additional cell is too large. This causes a harmful effect that the occupied area of the cell becomes unnecessarily large. However, as in the third embodiment, the target value of the driving capability of the additional cell to be created is set in consideration of the degree of timing violation. An additional cell that occupies an unnecessarily large area as an additional cell to eliminate the setup timing violation by setting the drive capacity of the additional cell by changing the drive capacity stepwise within a certain range centered on the target value Can be avoided.
(Embodiment 4)
FIG. 11 is a block diagram illustrating a semiconductor integrated circuit design apparatus according to Embodiment 4 of the present invention.
この実施形態4による半導体集積回路の設計装置(以下、半導体設計装置という。)400は、実施形態1の半導体設計装置100における記憶装置120および制御部130に代わる記憶装置420および制御部430を備え、この制御部430により、1つの半導体集積回路を設計する際に作成された新規セルライブラリが、次回の半導体集積回路の設計で流用可能となるよう記憶装置420に保存される構成としたものである。 A semiconductor integrated circuit design device (hereinafter referred to as a semiconductor design device) 400 according to the fourth embodiment includes a storage device 420 and a control unit 430 in place of the storage device 120 and the control unit 130 in the semiconductor design device 100 of the first embodiment. The control unit 430 stores the new cell library created when designing one semiconductor integrated circuit in the storage device 420 so that it can be used in the next semiconductor integrated circuit design. is there.
また、この実施形態4の半導体設計装置400では、タイミング改善部416は、タイミング違反パスにおける使用セルを、記憶装置420に含まれるすべてのセルライブラリ、例えば、3つの新規セルライブラリが記憶装置420に形成されている場合は、既存セルライブラリ121、新規セルライブラリ群425のすべての新規セルライブラリ〔I〕425a〜〔III〕425cのセルから選択したセルで置き換える構成となっている。 Further, in the semiconductor design device 400 of the fourth embodiment, the timing improvement unit 416 assigns the used cells in the timing violation path to all the cell libraries included in the storage device 420, for example, three new cell libraries in the storage device 420. If formed, the existing cell library 121 and the new cell library group 425 are replaced with cells selected from all the new cell libraries [I] 425a to [III] 425c.
このような構成の半導体設計装置400では、1つの半導体集積回路の設計の際、実施形態1の半導体設計装置100と同様に、論理合成(ステップS1)、配置配線(ステップS2)、タイミング解析(ステップS3およびS4)、およびタイミング違反パス上の使用セルの抽出(ステップS11)が行われる。 In the semiconductor design apparatus 400 having such a configuration, when designing one semiconductor integrated circuit, as in the semiconductor design apparatus 100 of the first embodiment, logic synthesis (step S1), placement and routing (step S2), timing analysis ( Steps S3 and S4) and extraction of used cells on the timing violation path (step S11) are performed.
続く追加セルの作成(ステップS12a)にて、タイミング違反パスの使用セルと置き換える追加セルの作成が行われ、作成された追加セルが新規セルライブラリ425aに格納される。その後、タイミング改善(ステップS5)では、新規セルライブラリ〔I〕425aおよび既存セルライブラリ121にセル情報が格納されている複数のセルから所定のセルを選択し、選択したセルで使用セルを置き換え、再度タイミング解析によりタイミング違反パスがあるか否かの判定を行う。このような追加セルの作成とその後のタイミング解析を繰り返し行って、タイミング違反のない半導体集積回路を設計する。 In the subsequent additional cell creation (step S12a), an additional cell that replaces the used cell of the timing violation path is created, and the created additional cell is stored in the new cell library 425a. Thereafter, in the timing improvement (step S5), a predetermined cell is selected from a plurality of cells whose cell information is stored in the new cell library [I] 425a and the existing cell library 121, and the used cell is replaced with the selected cell. It is determined again by timing analysis whether there is a timing violation path. Such additional cell creation and subsequent timing analysis are repeated to design a semiconductor integrated circuit free from timing violation.
このとき、本実施形態4の半導体設計装置400では、1つの半導体集積回路を設計する際に作成された新規セルライブラリ〔I〕は、次回の半導体集積回路の設計で流用可能となるよう記憶装置420に保存されたままとなる。 At this time, in the semiconductor design apparatus 400 according to the fourth embodiment, the new cell library [I] created when designing one semiconductor integrated circuit can be used in the next semiconductor integrated circuit design. It remains stored at 420.
従って、次の半導体集積回路の設計では、配置配線処理(ステップS3)後の最初のタイミング解析処理では、タイミング違反が発生していた場合、使用セル抽出部114がタイミング違反パス上の使用セルのセル情報を抽出する。セル情報を抽出した使用セルについて、追加セル作成部115が駆動能力の異なる追加セルを多数新たに作成し、記憶装置420では、今回作成された追加セルを含む2つめの新規セルライブラリ〔II〕425bが作成される。 Therefore, in the next design of the semiconductor integrated circuit, if a timing violation has occurred in the first timing analysis process after the placement and routing process (step S3), the used cell extraction unit 114 sets the used cell on the timing violation path. Extract cell information. With respect to the used cells from which the cell information has been extracted, the additional cell creation unit 115 newly creates a number of additional cells having different driving capabilities. In the storage device 420, a second new cell library [II] including the newly created additional cell is created. 425b is created.
次いで、タイミング改善部116が既存セルライブラリ121と以前に作成した1つ目の新規セルライブラリ425aと今回作成した2つ目の新規セルライブラリ425bを使用して、タイミング改善を行う。 Next, the timing improvement unit 116 improves the timing by using the existing cell library 121, the first new cell library 425a previously created and the second new cell library 425b created this time.
従って、さらにその次の半導体集積回路の設計では、配置配線処理(ステップS3)後の最初のタイミング解析処理では、既存セルライブラリ121、1つ目の半導体集積回路の設計で作成した新規セルライブラリ〔I〕425a、および2つ目の半導体集積回路の設計で作成した新規セルライブラリ〔II〕425bのセルのなかから、タイミング違反パスの使用セルと置き換えるセルを選択することができる。 Therefore, in the next design of the semiconductor integrated circuit, in the first timing analysis process after the placement and routing process (step S3), the existing cell library 121 and the new cell library created in the design of the first semiconductor integrated circuit [ I] 425a and the cell of the new cell library [II] 425b created in the design of the second semiconductor integrated circuit can select a cell to be replaced with a cell used for the timing violation path.
そして、3つ目の半導体集積回路の設計の際にも、既存セルライブラリ121と1つ目および2つ目の半導体集積回路の設計で作成した新規セルライブラリ〔I〕425aおよび〔II〕425bにも使用セルと置き換える適切なセルがない場合は、追加セルを作成して新規セルライブラリ〔III〕425cを作成する。 In designing the third semiconductor integrated circuit, the existing cell library 121 and the new cell libraries [I] 425a and [II] 425b created by designing the first and second semiconductor integrated circuits are also included. If there is no suitable cell to replace the used cell, an additional cell is created to create a new cell library [III] 425c.
このようにこの実施形態3の半導体設計装置400では、半導体集積回路を開発する毎に新規セルライブラリが1つ、2つ、3つというように増え、これにより更にタイミング調整を行う際の選択肢が増え、タイミング改善の容易性が大きく高まり、タイミング改善を必要とするパスの効果的な削減により設計期間をより一層短縮することができる。 As described above, in the semiconductor design apparatus 400 according to the third embodiment, each time a semiconductor integrated circuit is developed, the number of new cell libraries is increased to one, two, three, etc., so that there are options for further timing adjustment. The ease of timing improvement is greatly increased, and the design period can be further shortened by effectively reducing the number of paths that require timing improvement.
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。 As mentioned above, although this invention has been illustrated using preferable embodiment of this invention, this invention should not be limited and limited to this embodiment. It is understood that the scope of the present invention should be construed only by the claims. It is understood that those skilled in the art can implement an equivalent range based on the description of the present invention and the common general technical knowledge from the description of specific preferred embodiments of the present invention. Patents, patent applications, and documents cited herein should be incorporated by reference in their entirety, as if the contents themselves were specifically described herein. Understood.
本発明は、半導体集積回路の設計方法、半導体集積回路の設計装置、回路設計プログラム、及びコンピュータ読み取り可能な記録媒体の分野において、標準セルを用いて半導体集積回路を設計する際、信号経路におけるタイミング違反を、適切な駆動能力と適切な占有領域を有する所望のセルを用いて解消することができ、このため、セルの占有面積が不必要に大きくなるのを回避しつつタイミング違反を簡単に解消することができ、これにより半導体集積回路の設計期間をより一層短縮することができる半導体集積回路の設計方法及び設計装置、並びにこのような半導体集積回路の設計方法をコンピュータにより行うための回路設計プログラムおよびこのような回路設計プログラムを格納したコンピュータ読み取り可能な記録媒体を実現することができる。 The present invention relates to a timing in a signal path when designing a semiconductor integrated circuit using a standard cell in the fields of a semiconductor integrated circuit design method, a semiconductor integrated circuit design apparatus, a circuit design program, and a computer-readable recording medium. Violations can be resolved using a desired cell with the right drive capability and the right occupancy area, which makes it easy to eliminate timing violations while avoiding unnecessarily large cell occupancy areas Semiconductor integrated circuit design method and design apparatus capable of further shortening the design period of the semiconductor integrated circuit, and a circuit design program for performing such a semiconductor integrated circuit design method by a computer And a computer-readable recording medium storing such a circuit design program It is possible.
100、200、300、400 半導体設計装置
111 論理合成部
112 配置配線部
113 タイミング解析部(違反経路検出部)
113a、213a 実負荷抽出部
113b、213b、313b タイミング検証部
114 使用セル抽出部
115 追加セル作成部
116、416 タイミング改善部
120、420 記憶装置
121 既存セルライブラリ
122 ネットリスト格納部
123 レイアウトデータ格納部
124 実負荷データ格納部
125 新規セルライブラリ
130、430 制御部
425 新規セルライブラリ群
425a〜425c 新規セルライブラリ〔I〕〜〔III〕
A1〜A3、B1〜B3 セル
C1、Ce1、Ce1a、Ce1b セル情報
Cc1、Cx1、Cx1a、Cx1b 回路図データ
CK クロック
Dpx、Dpy タイミング違反パス
FF1〜FF4 フリップフロップ
Lc1、Lc1a、Lc1b、Lc1c レイアウト
Lx1、Lx1a、Lx1b レイアウトデータ
NA1〜NA5、NB1〜NB6 追加セル
Nx1、Nx1a、Nx1b セル名〔セルX1〕データ
Px1、Px1a、Px1b 属性データ
Q 出力
Sc1、Sx1、Sx1a、Sx1b 論理記号データ
Uax、Uay、Ubx、Uby 使用セル
100, 200, 300, 400 Semiconductor design device 111 Logic synthesis unit 112 Placement and wiring unit 113 Timing analysis unit (violation path detection unit)
113a, 213a Actual load extraction unit 113b, 213b, 313b Timing verification unit 114 Used cell extraction unit 115 Additional cell creation unit 116, 416 Timing improvement unit 120, 420 Storage device 121 Existing cell library 122 Netlist storage unit 123 Layout data storage unit 124 Actual load data storage unit 125 New cell library 130, 430 Control unit 425 New cell library group 425a to 425c New cell library [I] to [III]
A1 to A3, B1 to B3 Cell C1, Ce1, Ce1a, Ce1b Cell information Cc1, Cx1, Cx1a, Cx1b Circuit diagram data CK clock Dpx, Dpy Timing violation path FF1 to FF4 Flip-flops Lc1, Lc1a, Lc1b, Lc1c Layout Lx1a, Lx1b Layout data NA1 to NA5, NB1 to NB6 Additional cells Nx1, Nx1a, Nx1b Cell name [cell X1] data Px1, Px1a, Px1b Attribute data Q output Sc1, Sx1, Sx1a, Sx1b Logical symbol data Uax, Uab, Ux , Uby use cell
Claims (17)
回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うステップと、
該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出するステップと、
該違反経路に含まれる少なくとも1つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる1以上の追加標準セルを該置換対象セル毎に作成するステップと、
該置換対象セルを、該違反経路が該タイミング違反を解消した経路となるよう該追加標準セルで置き換えるステップと
を含む、
半導体集積回路の設計方法。 A method of designing a semiconductor integrated circuit by preparing a storage device storing a plurality of types of standard cells in advance as a unit of circuit design, and combining the standard cells included in the storage device with an information processing device,
Arranging the standard cells and wiring between the standard cells so as to constitute the semiconductor integrated circuit based on circuit design data; and
Detecting a violation path in which a timing violation occurs among signal paths in the semiconductor integrated circuit;
At least one standard cell included in the violation path is used as a replacement target cell, the same logical operation as each replacement target cell is performed, and one or more additional standard cells having different driving ability from the replacement target cell are replaced. Creating for each target cell;
Replacing the replacement target cell with the additional standard cell so that the violation route becomes a route in which the timing violation is resolved.
A method for designing a semiconductor integrated circuit.
前記半導体集積回路における信号経路は、その始点および終点となる論理回路をそれぞれ第1および第2の順序回路とし、該第1の順序回路から該第2の順序回路に信号を伝達する論理回路を1以上の組み合わせ回路により構成したものである、半導体集積回路の設計方法。 The method for designing a semiconductor integrated circuit according to claim 1,
The signal path in the semiconductor integrated circuit is a logic circuit for transmitting signals from the first sequential circuit to the second sequential circuit, with the logic circuits serving as the start and end points being first and second sequential circuits, respectively. A method for designing a semiconductor integrated circuit, comprising one or more combinational circuits.
前記違反経路を検出するステップでは、
該違反経路におけるタイミング違反が、前記第1の順序回路から前記第2の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反であるか、該第1の順序回路から該第2の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反であるかを判定する、半導体集積回路の設計方法。 The method of designing a semiconductor integrated circuit according to claim 2,
In the step of detecting the violation route,
The timing violation in the violation path is a setup timing violation in which signal transmission from the first sequential circuit to the second sequential circuit is not in time for a specified time, or the second order from the first sequential circuit. A method for designing a semiconductor integrated circuit, wherein it is determined whether a signal transmission to a circuit is a hold timing violation that is too early than a specified time.
前記違反経路を検出するステップでは、
該違反経路におけるタイミング違反が、前記セットアップタイミング違反であるか前記ホールドタイミング違反であるかを判定するとともに、判定したタイミング違反の程度を、該信号伝達に要する時間と前記規定時間との時間差として検出する、半導体集積回路の設計方法。 The method of designing a semiconductor integrated circuit according to claim 3,
In the step of detecting the violation route,
It is determined whether the timing violation in the violation path is the setup timing violation or the hold timing violation, and the degree of the determined timing violation is detected as a time difference between the time required for signal transmission and the specified time. A method for designing a semiconductor integrated circuit.
前記違反経路として、前記第1の順序回路から前記第2の順序回路までの信号伝達が規定時間に間に合わないセットアップタイミング違反が生じている違反経路が検出されたとき、
前記追加標準セルを作成するステップでは、
該違反経路における置換対象セル毎に、該置換対象セルの駆動能力より高い駆動能力を有する追加標準セルを1つ以上作成する、半導体集積回路の設計方法。 The method of designing a semiconductor integrated circuit according to claim 2,
When a violation path in which a setup timing violation occurs in which signal transmission from the first sequential circuit to the second sequential circuit is not in time for a specified time is detected as the violation path,
In the step of creating the additional standard cell,
A method for designing a semiconductor integrated circuit, wherein one or more additional standard cells having a driving capability higher than that of the replacement target cell are created for each replacement target cell in the violation path.
前記置換対象セルを前記追加標準セルで置き換えるステップでは、
該置換対象セルを、該置換対象セル毎に複数作成した追加標準セルのうちで遅延時間が最小の追加標準セルに置き換える、半導体集積回路の設計方法。 The method of designing a semiconductor integrated circuit according to claim 5,
In the step of replacing the replacement target cell with the additional standard cell,
A method for designing a semiconductor integrated circuit, wherein the replacement target cell is replaced with an additional standard cell having a minimum delay time among a plurality of additional standard cells created for each replacement target cell.
前記違反経路として、前記第1の順序回路から前記第2の順序回路までの信号伝達が規定時間より早すぎるホールドタイミング違反が生じている違反経路が検出されたとき、
前記追加標準セルを作成するステップでは、
該違反経路における置換対象セル毎に、該置換対象セルの駆動能力より低い駆動能力を有する追加標準セルを1つ以上作成する、半導体集積回路の設計方法。 The method of designing a semiconductor integrated circuit according to claim 2,
When a violation path in which a hold timing violation occurs in which signal transmission from the first sequential circuit to the second sequential circuit is earlier than a specified time is detected as the violation path,
In the step of creating the additional standard cell,
A method for designing a semiconductor integrated circuit, wherein at least one additional standard cell having a driving capability lower than that of the replacement target cell is created for each replacement target cell in the violation path.
前記置換対象セルを前記追加標準セルで置き換えるステップでは、
該置換対象セルを、該置換対象セル毎に複数作成した追加標準セルのうちで遅延時間が最大の追加標準セルに置き換える、半導体集積回路の設計方法。 The method for designing a semiconductor integrated circuit according to claim 7,
In the step of replacing the replacement target cell with the additional standard cell,
A method for designing a semiconductor integrated circuit, wherein the replacement target cell is replaced with an additional standard cell having the longest delay time among a plurality of additional standard cells created for each replacement target cell.
前記順序回路はフリップフロップ回路である、半導体集積回路の設計方法。 The method for designing a semiconductor integrated circuit according to any one of claims 2 to 8,
A method for designing a semiconductor integrated circuit, wherein the sequential circuit is a flip-flop circuit.
前記追加標準セルを生成するステップは、
生成した追加標準セルからなる新規セルライブラリを、前記記憶装置内に作成されている前記既定標準セルからなる既存セルライブラリに加えて前記記憶装置内に作成するステップを含む、半導体集積回路の設計方法。 The method for designing a semiconductor integrated circuit according to any one of claims 1 to 9,
The step of generating the additional standard cell includes:
A method for designing a semiconductor integrated circuit, comprising: creating a new cell library including the generated additional standard cells in the storage device in addition to the existing cell library including the predetermined standard cells generated in the storage device. .
前記記憶装置は、1つの半導体集積回路を設計する際に作成された新規セルライブラリを、次回の半導体集積回路の設計で流用可能となるよう保存する構成となっており、
前記置換対象セルを前記追加標準セルで置き換えるステップでは、
前記記憶装置に保存されている、前記既存セルライブラリおよび以前の半導体集積回路の設計で作成した新規セルライブラリに含まれる、既存標準セルおよび追加標準セルのうちから選択した標準セルで、前記置換対象セルを置き換える、半導体集積回路の設計方法。 The method of designing a semiconductor integrated circuit according to claim 10,
The storage device is configured to store a new cell library created when designing one semiconductor integrated circuit so that it can be used in the next semiconductor integrated circuit design,
In the step of replacing the replacement target cell with the additional standard cell,
The standard cell selected from the existing standard cell and the additional standard cell included in the existing cell library and the new cell library created in the design of the previous semiconductor integrated circuit, stored in the storage device, and the replacement target A method of designing a semiconductor integrated circuit that replaces cells.
前記追加標準セルを作成するステップでは、
該追加標準セルとして、該置換対象セルとは駆動能力が異なるとともに、該置換対象セルとはその占有面積が異なる1以上の追加標準セルを該置換対象セル毎に作成する、半導体集積回路の設計方法。 The method for designing a semiconductor integrated circuit according to any one of claims 1 to 11,
In the step of creating the additional standard cell,
Design of a semiconductor integrated circuit in which one or more additional standard cells having different driving capabilities from the replacement target cell and having an occupied area different from the replacement target cell are created for each replacement target cell as the additional standard cell Method.
前記違反経路を検出するステップでは、
前記標準セルの配置及び該標準セル間の配線を行って得られた半導体集積回路における信号経路が、タイミング違反が生じている違反経路であるか否かの判定を、該半導体集積回路におけるすべての信号経路で行う、半導体集積回路の設計方法。 The method of designing a semiconductor integrated circuit according to any one of claims 1 to 12,
In the step of detecting the violation route,
It is determined whether the signal path in the semiconductor integrated circuit obtained by arranging the standard cells and performing wiring between the standard cells is a violation path in which a timing violation has occurred. A method for designing a semiconductor integrated circuit, which is performed in a signal path.
前記追加標準セルを作成するステップは、
前記違反経路におけるすべての種類の標準セルに対応する、その構成部材の配置を示す配置情報を抽出するステップと、
該すべての種類の標準セルに対して、それぞれの配置情報に基づいて、それぞれの標準セルと同じ論理演算を行い、かつ駆動能力が該標準セルとは異なる1以上の追加標準セルの配置情報を作成するステップと
を含む、半導体集積回路の設計方法。 The method of designing a semiconductor integrated circuit according to any one of claims 1 to 13,
The step of creating the additional standard cell includes:
Extracting arrangement information corresponding to all types of standard cells in the violation path and indicating the arrangement of the constituent members;
For all the types of standard cells, based on the respective arrangement information, the same logical operation as that of each standard cell is performed, and the arrangement information of one or more additional standard cells having a driving capability different from that of the standard cell is obtained. A method for designing a semiconductor integrated circuit, comprising the steps of:
回路設計データに基づいて、該半導体集積回路が構成されるよう該標準セルの配置及び該標準セル間の配線を行うセル配置配線部と、
該半導体集積回路における信号経路のうちの、タイミング違反が生じている違反経路を検出する違反経路検出部と、
該違反経路に含まれる少なくとも1つの標準セルを置換対象セルとして、それぞれの置換対象セルと同じ論理の演算を行い、かつ該置換対象セルとは駆動能力が異なる1以上の追加標準セルを該置換対象セル毎に作成する追加セル作成部と、
該置換対象セルを、該違反経路が該タイミング違反を解消した経路となるよう該追加標準セルで置き換えるセル置き換え部と
を備えた、
半導体集積回路の設計装置。 A semiconductor integrated circuit design apparatus that has a storage device that stores a plurality of types of standard cells in advance as a unit of circuit design, and designs a semiconductor integrated circuit by combining the standard cells included in the storage device,
Based on circuit design data, a cell placement / wiring unit for placing the standard cells and wiring between the standard cells so as to constitute the semiconductor integrated circuit,
Of the signal paths in the semiconductor integrated circuit, a violation path detection unit for detecting a violation path in which a timing violation occurs;
At least one standard cell included in the violation path is used as a replacement target cell, the same logical operation as each replacement target cell is performed, and one or more additional standard cells having different driving ability from the replacement target cell are replaced. An additional cell creation section created for each target cell;
A cell replacement unit that replaces the replacement target cell with the additional standard cell so that the violation route becomes a route in which the timing violation is resolved,
Semiconductor integrated circuit design equipment.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012048260A JP2013182600A (en) | 2012-03-05 | 2012-03-05 | Design method for semiconductor integrated circuit, design device for semiconductor integrated circuit, circuit design program, and computer readable recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012048260A JP2013182600A (en) | 2012-03-05 | 2012-03-05 | Design method for semiconductor integrated circuit, design device for semiconductor integrated circuit, circuit design program, and computer readable recording medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2013182600A true JP2013182600A (en) | 2013-09-12 |
Family
ID=49273175
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012048260A Pending JP2013182600A (en) | 2012-03-05 | 2012-03-05 | Design method for semiconductor integrated circuit, design device for semiconductor integrated circuit, circuit design program, and computer readable recording medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2013182600A (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9989692B2 (en) | 2012-10-08 | 2018-06-05 | Corning Incorporated | Methods and apparatus for providing improved display components |
| CN110941936A (en) * | 2018-09-20 | 2020-03-31 | 台湾积体电路制造股份有限公司 | integrated circuit |
| DE102021115945A1 (en) | 2021-01-28 | 2022-07-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | METHOD AND SYSTEM FOR MAKING A SEMICONDUCTOR DEVICE |
| JP7136496B1 (en) | 2021-03-18 | 2022-09-13 | Necプラットフォームズ株式会社 | LAYOUT DEVICE, LAYOUT METHOD AND PROGRAM |
-
2012
- 2012-03-05 JP JP2012048260A patent/JP2013182600A/en active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9989692B2 (en) | 2012-10-08 | 2018-06-05 | Corning Incorporated | Methods and apparatus for providing improved display components |
| CN110941936A (en) * | 2018-09-20 | 2020-03-31 | 台湾积体电路制造股份有限公司 | integrated circuit |
| US12014131B2 (en) | 2018-09-20 | 2024-06-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit and method of forming same and a system |
| US12400067B2 (en) | 2018-09-20 | 2025-08-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit and method of forming same and a system |
| DE102021115945A1 (en) | 2021-01-28 | 2022-07-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | METHOD AND SYSTEM FOR MAKING A SEMICONDUCTOR DEVICE |
| US11803683B2 (en) | 2021-01-28 | 2023-10-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of and system for manufacturing semiconductor device |
| JP7136496B1 (en) | 2021-03-18 | 2022-09-13 | Necプラットフォームズ株式会社 | LAYOUT DEVICE, LAYOUT METHOD AND PROGRAM |
| JP2022143696A (en) * | 2021-03-18 | 2022-10-03 | Necプラットフォームズ株式会社 | Layout device, layout method and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8490042B2 (en) | Performing routing optimization during circuit design | |
| US7895551B2 (en) | Generation of standard cell library components with increased signal routing resources | |
| KR102514044B1 (en) | Integrated circuit and method for designing integrated circuit | |
| US6625787B1 (en) | Method and apparatus for timing management in a converted design | |
| US8806413B2 (en) | Gradient AOCV methodology enabling graph-based timing closure with AOCV timing models | |
| KR102434991B1 (en) | Integrated circit and method for designing integrated circuit | |
| US8726207B2 (en) | On-the-fly device characterization from layouts of circuits | |
| US9443053B2 (en) | System for and method of placing clock stations using variable drive-strength clock drivers built out of a smaller subset of base cells for hybrid tree-mesh clock distribution networks | |
| CN108170956A (en) | The sequential signing method and device of a kind of retention time | |
| CN104981805B (en) | Automatic Clock Tree wiring rule generation | |
| US6425115B1 (en) | Area efficient delay circuits | |
| US9305129B2 (en) | System for and method of tuning clock networks constructed using variable drive-strength clock inverters with variable drive-strength clock drivers built out of a smaller subset of base cells | |
| JP2013182600A (en) | Design method for semiconductor integrated circuit, design device for semiconductor integrated circuit, circuit design program, and computer readable recording medium | |
| CN114036884A (en) | Method and device for generating sequence library, and electronic device | |
| Han et al. | Optimal multi-row detailed placement for yield and model-hardware correlation improvements in sub-10nm VLSI | |
| WO2015075805A1 (en) | Source code division method and lsi implementation device | |
| Abazyan | Standard cell library enhancement for mixed multi-height cell design implementation | |
| US20060242613A1 (en) | Automatic floorplanning approach for semiconductor integrated circuit | |
| JP2011065319A (en) | Information processing apparatus | |
| Kuo et al. | Educational design kit for synopsys tools with a set of characterized standard cell library | |
| Chen et al. | Reconfigurable ECO cells for timing closure and IR drop minimization | |
| Posser et al. | Electromigration Inside Logic Cells | |
| JP2011107769A (en) | Layout device for semiconductor integrated circuit and clock gating method | |
| JP2005322694A (en) | Layout design method and manufacturing method of semiconductor integrated circuit | |
| JP4248925B2 (en) | Automatic floor plan determination method |