JP2006338090A - Method and device for designing semiconductor integrated circuit - Google Patents

Method and device for designing semiconductor integrated circuit Download PDF

Info

Publication number
JP2006338090A
JP2006338090A JP2005158745A JP2005158745A JP2006338090A JP 2006338090 A JP2006338090 A JP 2006338090A JP 2005158745 A JP2005158745 A JP 2005158745A JP 2005158745 A JP2005158745 A JP 2005158745A JP 2006338090 A JP2006338090 A JP 2006338090A
Authority
JP
Japan
Prior art keywords
data
block
design
integrated circuit
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005158745A
Other languages
Japanese (ja)
Inventor
Hiroki Tsurusaki
宏亀 鶴崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2005158745A priority Critical patent/JP2006338090A/en
Publication of JP2006338090A publication Critical patent/JP2006338090A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method and device for designing a semiconductor integrated circuit, capable of shortening the design period or facilitating the design. <P>SOLUTION: When the whole chip is divided to a top and a plurality of blocks, and placement and routing of the plurality of blocks are performed (S102 and S104), a block ILM including extracted data belonging to those except the own block and related to signal input and output to the own block (logic data, physical data and RC data) is used. The placement and routing of the blocks using the block ILM is performed in two steps. In one step (S102), for example, a block ILM including RC data based on temporary placement is used, and in the other step (S104), a block ILM including RC data based on actual placement and routing (S102 and S104) is used. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、半導体集積回路の設計方法および設計装置に関し、特にマイクロコンピュータなどを代表とする大規模な半導体集積回路のレイアウト設計方法および設計装置に適用して有効な技術に関するものである。   The present invention relates to a semiconductor integrated circuit design method and design apparatus, and more particularly to a technique effectively applied to a large-scale semiconductor integrated circuit layout design method and design apparatus represented by a microcomputer.

例えば、半導体集積回路のレイアウト設計手法として、階層化設計と呼ばれる手法やタイミングバジェットと呼ばれる手法が広く用いられている。階層化設計手法とは、大規模の半導体集積回路を、例えば、それぞれ自動レイアウトツールで取り扱える程度の回路規模を備えた下位階層(複数のブロック)と、これらのブロックを統合する上位階層(トップ)とに切り分けて設計を行う手法である。タイミングバジェットとは、このような階層化設計において、例えばトップの制約と環境等から各ブロック毎の制約ファイル(タイミング条件など)を自動的に生成する手法である。したがって、各ブロックは、この生成された制約ファイルに基づいて、それぞれ並行して設計を行うことが可能になる。なお、タイミングバジェットの処理を行うことを、通常、バジェッティングと呼ぶ。   For example, a technique called hierarchical design and a technique called timing budget are widely used as layout design techniques for semiconductor integrated circuits. Hierarchical design method means a large-scale semiconductor integrated circuit, for example, a lower hierarchy (multiple blocks) with a circuit scale that can be handled by an automatic layout tool, and an upper hierarchy (top) that integrates these blocks. It is a technique to design by dividing into and. The timing budget is a method for automatically generating a constraint file (timing condition or the like) for each block from the top constraint and environment in such a hierarchical design. Therefore, each block can be designed in parallel based on the generated constraint file. Note that timing budget processing is generally called budgeting.

ところで、前記のような半導体集積回路の設計方法について、本発明者が検討した結果、以下のようなことが明らかとなった。   By the way, as a result of the study of the present inventor on the design method of the semiconductor integrated circuit as described above, the following has been clarified.

まず、前述した階層化設計およびタイミングバジェットを用いた際の詳細な設計方法について説明する。図13は、本発明の前提として検討した半導体集積回路の設計方法において、そのレイアウト設計フローの一例を示すフロー図である。   First, a detailed design method using the hierarchical design and timing budget described above will be described. FIG. 13 is a flowchart showing an example of the layout design flow in the semiconductor integrated circuit design method studied as a premise of the present invention.

図13に示す設計フローでは、まず、トップレベルのフロアプラン(FP)データに対してパーティションの作成やバジェッティングが行われる(S1201)。すなわち、階層化設計によって、トップのデータと複数のブロックのデータとに切り分けられる。そして、この際に、フルチップでの制約ファイル(フルチップSDC)を用いて、フルチップでの静的タイミング解析(STA:Static Timing Analysis)と共にバジェッティングが行われる。これによって、各ブロック毎の制約ファイル(バジェット後SDC)が生成される。更に、IPO(Inplace Optimization)などと呼ばれる、タイミングを考慮した論理最適化処理なども行われる。   In the design flow shown in FIG. 13, first, partition creation and budgeting are performed on top-level floor plan (FP) data (S1201). That is, it is divided into top data and a plurality of blocks of data by hierarchical design. At this time, budgeting is performed together with a static timing analysis (STA) on a full chip using a full chip constraint file (full chip SDC). As a result, a constraint file (post-budget SDC) for each block is generated. Further, logic optimization processing considering timing, such as IPO (Inplace Optimization), is performed.

なお、前述した制約ファイルとしては、例えば、タイミング制約を表現する際の標準フォーマットであるSDC(Synopsys Design Constraint)と呼ばれるものが広く知られている。したがって、便宜上、図面および以降の説明においては、制約ファイルのことをSDCと呼ぶ場合がある。   As the above-described constraint file, for example, a so-called SDC (Synopsys Design Constraint) which is a standard format for expressing timing constraints is widely known. Therefore, for convenience, in the drawings and the following description, the constraint file may be referred to as SDC.

次に、トップの配置配線(P&R:Place and Route)や、前述したバジェット後SDCを満たすように各ブロックの配置配線が行われる(S1202)。その後、この配置配線後のトップのデータおよびブロックのデータを組み合わせて、各セルやパスなどの高精度な実負荷データを抽出し、この実負荷データを使用して、再度、フルチップでのSTAと共にバジェッティングが行われる(S1203)。これによって、再度、制約ファイル(再バジェット後SDC)を生成し、これに基づいて、再度、ブロックおよびトップの高精度な配置配線(いわば微調整)が行われる(S1204)。このような処理を経てチップのレイアウトが完成する(S1205)。   Next, the placement and routing of each block is performed so as to satisfy the top placement and routing (P & R) and post-budget SDC (S1202). After that, the top data and block data after placement and routing are combined to extract high-accuracy actual load data such as each cell and path, and this actual load data is used again together with the STA on the full chip. Budgeting is performed (S1203). As a result, a constraint file (post-re-budget SDC) is generated again, and based on this, highly accurate placement and routing (so-called fine adjustment) of the block and the top is performed again (S1204). Through such processing, the chip layout is completed (S1205).

なお、ブロックの配置配線では、例えばトップからブロックを見た場合の当該ブロックのタイミングモデルとして、トップレベルとの入出力部分のみに特化することで情報量を軽減したタイミングモデルを生成することが可能である。このようなタイミングモデルとしては、例えば、入出力部分の論理データ(ネットリスト)と論理データに基づくRCデータを備えたILM(Interface Logic Model)と呼ばれるものが知られている。   In addition, in block placement and routing, for example, when the block is viewed from the top, a timing model that reduces the amount of information can be generated by specializing only in the input / output portion with the top level. Is possible. As such a timing model, for example, an ILM (Interface Logic Model) having RC data based on logical data (net list) of input / output portions and logical data is known.

しかしながら、このような設計フローについて本発明者が検討した結果、例えば次のような問題点が明らかとなった。   However, as a result of examination of the design flow by the present inventor, for example, the following problems have been clarified.

(1)前述したようなバジェッティングでは、フルチップでのSTAが必要なため、設計ツールの負荷が大きくなり、解析時間が長くなってしまう。場合によっては、日単位の解析時間を要することもある。図14は、図13の設計フローにおいて、そのバジェッティングの問題点を説明するための回路例である。   (1) Budgeting as described above requires a full-chip STA, which increases the load on the design tool and increases the analysis time. In some cases, daily analysis time may be required. FIG. 14 is a circuit example for explaining the problem of budgeting in the design flow of FIG.

図14においては、例えば、トップTPに、それぞれクロック信号clk1,clk2を発生するクロック発生回路CPG1,CPG2と、フリップフロップFF1とが設けられ、ブロックBLKに、フリップフロップFF2が設けられている。FF1は、clk1またはclk2が入力され、FF2は、BLKのクロック入力端子CINを介してclk1またはclk2が入力される。また、FF1の出力信号は、BLKの信号入力端子DINを介してFF2に入力される。   In FIG. 14, for example, clock generation circuits CPG1 and CPG2 for generating clock signals clk1 and clk2 and a flip-flop FF1 are provided on the top TP, and a flip-flop FF2 is provided on the block BLK. Clk1 or clk2 is input to FF1, and clk1 or clk2 is input to FF2 via the clock input terminal CIN of BLK. The output signal of FF1 is input to FF2 via the BLK signal input terminal DIN.

このような構成に対してバジェッティングを行う場合、SDCとして例えばX1,X2,Y,Zの値を求める必要がある。X1,X2は、それぞれCPG1,CPG2が発生したclk1,clk2がCINに到達するまでに要する遅延時間である。また、Y,Zは、それぞれCPG1,CPG2がclk1,clk2を発生してから、FF1によってDINに信号が入力されるまでに要する遅延時間である。そして、このような値を求めるためには、TPとBLKを含むフルチップ状態でのSTAが必須となる。   When budgeting is performed for such a configuration, for example, values of X1, X2, Y, and Z need to be obtained as SDC. X1 and X2 are delay times required for clk1 and clk2 generated by CPG1 and CPG2 to reach CIN, respectively. Y and Z are delay times required from when CPG1 and CPG2 generate clk1 and clk2 to when a signal is input to DIN by FF1. In order to obtain such a value, STA in a full chip state including TP and BLK is essential.

(2)前述したようなバジェッティングを行う際、ブロック境界のタイミングが複雑化し、制約数の増大を招く場合がある。そして、これによって、設計ツールの負荷が大きくなり、解析時間が長くなってしまう恐れがある。図15は、図13の設計フローにおいて、そのバジェッティングの他の問題点を説明するための回路例である。   (2) When performing budgeting as described above, the timing of block boundaries may become complicated, leading to an increase in the number of constraints. This increases the load on the design tool and may increase the analysis time. FIG. 15 is a circuit example for explaining another problem of the budgeting in the design flow of FIG.

図15においては、例えば、トップTPに、それぞれクロック信号clk1,clk2を発生するクロック発生回路CPG1,CPG2と、フリップフロップFF1,FF2とが設けられ、ブロックBLKに、フリップフロップFF3が設けられている。FF1,FF2は、clk1またはclk2が入力され、FF3は、BLKのクロック入力端子CINを介してclk1またはclk2が入力される。FF1からの信号出力は、BLKの信号入力端子DINを介してFF3に入力される。ここで、この信号転送には、ユーザ設定のタイミング制約として最大遅延が設定されているものとする。   In FIG. 15, for example, clock generation circuits CPG1 and CPG2 for generating clock signals clk1 and clk2 and flip-flops FF1 and FF2 are provided on the top TP, and a flip-flop FF3 is provided on the block BLK. . Clk1 or clk2 is input to FF1 and FF2, and clk1 or clk2 is input to FF3 via the clock input terminal CIN of BLK. The signal output from the FF1 is input to the FF3 via the BLK signal input terminal DIN. Here, it is assumed that a maximum delay is set for the signal transfer as a user-set timing constraint.

一方、FF2からの信号出力は、DINを介してFF3に入力される。ここで、この信号転送には、ユーザ設定のタイミング制約としてマルチサイクルパスが設定されているものとする。このように、特に複数のクロック信号を含み、更に最大遅延やマルチサイクルパスの制約がなされている場合などでは、それをバジェッティングによってDINの制約条件に変換する際に多くの制約条件が発生することになる。図15では、例えば8種類の制約条件が発生している。また、場合によっては、本来必要となる制約条件を十分に発生できないこともある。更には、このような複雑化によってソフトウエア上の不具合が発生することもある。   On the other hand, the signal output from FF2 is input to FF3 via DIN. Here, in this signal transfer, it is assumed that a multi-cycle path is set as a user-set timing constraint. In this way, especially when a plurality of clock signals are included and the maximum delay or multi-cycle path is restricted, many restrictions occur when converting it into a DIN restriction by budgeting. become. In FIG. 15, for example, eight types of constraint conditions are generated. In some cases, the originally necessary constraint conditions may not be sufficiently generated. Further, such complications may cause software problems.

(3)バジェッティングに伴うイタレーションによって、設計期間の増大を招く恐れがある。図16は、図13の設計フローにおいて、そのバジェッティングの更に他の問題点を説明するための図である。イタレーションとは、図16に示すように、フルチップSDCを用いてバジェッティングを行った後、それによって生成されたSDCをチェックし、タイミング違反があった場合の原因を究明して、フィードバックを行う一連の作業のことを言う。   (3) There is a possibility that the design period may be increased due to the iteration accompanying the budgeting. FIG. 16 is a diagram for explaining still another problem of the budgeting in the design flow of FIG. As shown in FIG. 16, the iteration is a series in which after performing budgeting using a full-chip SDC, the SDC generated thereby is checked, the cause of the timing violation is investigated, and feedback is performed. Say the work.

タイミング違反としては、例えば、フルチップSDCに問題がある場合や、バジェッティングの処理自体に問題がある場合や、タイミングの最適化が不十分である場合や、真のタイミング違反である場合などが挙げられる。したがって、これらの切り分けを行って、原因に応じた対策を講じる必要がある。これらの確認は設計者などによって行われ、通常、非常に時間と手間を要する作業となる。また、これに要する時間は、設計者の能力に依存することにもなる。そして、タイミング違反の原因およびその対策内容によっては、例えば、図13のS1205からS1202の間で度々設計戻りが発生することもある。   Examples of the timing violation include a case where there is a problem with the full-chip SDC, a case where there is a problem with the budgeting process itself, a case where timing optimization is insufficient, and a case where there is a true timing violation. . Therefore, it is necessary to take these measures and take measures according to the cause. These confirmations are made by a designer or the like, and are usually time-consuming and labor-intensive work. Also, the time required for this depends on the ability of the designer. Depending on the cause of the timing violation and the countermeasure content, for example, a design return often occurs between S1205 and S1202 in FIG.

(4)配置配線後の解析および最適化が困難となる場合がある。図17は、図13の設計フローにおいて、そのバジェッティングの更に他の問題点を説明するための回路例である。図17においては、例えば、トップTPに、クロック信号clk1を発生するクロック発生回路CPG1と、フリップフロップFF1とが設けられ、ブロックBLKに、フリップフロップFF2が設けられている。FF1は、clk1が入力され、FF2は、BLKのクロック入力端子CINを介してclk1が入力される。FF1からの信号出力は、BLKの信号入力端子DINを介してFF2に入力される。   (4) Analysis and optimization after placement and routing may be difficult. FIG. 17 is a circuit example for explaining still another problem of the budgeting in the design flow of FIG. In FIG. 17, for example, a clock generation circuit CPG1 that generates a clock signal clk1 and a flip-flop FF1 are provided in the top TP, and a flip-flop FF2 is provided in the block BLK. Clk1 is input to FF1, and clk1 is input to FF2 via the clock input terminal CIN of BLK. The signal output from the FF1 is input to the FF2 via the BLK signal input terminal DIN.

このような構成において、例えばバジェッティングによって生成したタイミング制約を用いてブロックBLKの設計を行う際、タイミング制約によってCINやDINからFF2までの遅延時間を考慮することは可能である。しかしながら、例えばクロック信号clk1のジッタやスキューなどに伴う遅延時間のばらつきを十分に考慮することは困難となっている。   In such a configuration, for example, when designing a block BLK using a timing constraint generated by budgeting, it is possible to consider the delay time from CIN or DIN to FF2 due to the timing constraint. However, it is difficult to sufficiently take into account variations in delay time due to, for example, jitter and skew of the clock signal clk1.

すなわち、このようなばらつきの解析および最適化は、例えば、OCV(On Chip Variation)と呼ばれる処理や、CRPR(Clock Reconvergent Pessimism Removal)と呼ばれる処理によっておこなわれる。このような処理を用いると、例えば、電圧/温度等の変動を考慮して遅延時間のばらつき計算され、このばらつきを補償するため、例えば信号パスにセルが挿入されるといったことが行われる。また、クロック信号のばらつきを正確に計算するために、例えば、図17のFF1とFF2で共通して用いられるクロックパスを解析する処理なども行われる。   That is, the analysis and optimization of such variations are performed by, for example, a process called OCV (On Chip Variation) or a process called CRPR (Clock Regenerative Pessimism Removal). When such a process is used, for example, a variation in delay time is calculated in consideration of a variation in voltage / temperature, and a cell is inserted in a signal path, for example, in order to compensate for this variation. Further, in order to accurately calculate the variation of the clock signal, for example, a process of analyzing a clock path used in common by FF1 and FF2 in FIG. 17 is performed.

したがって、例えば図17のFF1とFF2の間の信号転送のばらつきを、前述した処理によって解析および最適化するためには、TPとBLKを含めた回路(すなわちフルチップ)での処理が結果的に必要となる。なお、このフルチップでの処理結果を、例えばDINでのタイミング制約に反映させて、BLKの設計を行うような手法も考えられるが、実際上、正確なばらつきをタイミング制約に反映させることは極めて困難である。このように、制約ファイルでは、設計に必要な情報を十分に表現できない場合があり、後に設計戻りが発生する要因になり得る。   Therefore, for example, in order to analyze and optimize the variation in signal transfer between FF1 and FF2 in FIG. 17 by the above-described processing, processing in a circuit including TP and BLK (ie, a full chip) is eventually required. It becomes. In addition, although it is conceivable to design the BLK by reflecting the processing result of this full chip in, for example, the timing constraint in DIN, it is extremely difficult to reflect the exact variation in the timing constraint in practice. It is. As described above, in the constraint file, information necessary for the design may not be expressed sufficiently, which may cause a design return later.

また、前述した(1)〜(4)以外にも、例えば、ブロックの設計を行う際に、ブロック外の物理的情報がまったく見えなくなるため、レイアウト時に考慮すべきシグナルインティグリティ、DFM(Design for Manufacturing)、チップばらつきに対する考慮が不十分となることもある。以上で述べたようなことは、バジェッティングの設計手法を用いる限り解決できない問題である。そして、これらの問題によって、設計が複雑化し、また、設計期間が増大している。   In addition to the above (1) to (4), for example, when designing a block, physical information outside the block cannot be seen at all. Therefore, signal integrity, DFM (Design) to be considered at the time of layout. for manufacturing) and chip variation may be insufficiently considered. What has been described above is a problem that cannot be solved as long as the budgeting design method is used. These problems complicate the design and increase the design period.

そこで、本発明の目的は、設計期間の短縮を実現する半導体集積回路の設計方法および設計装置を提供することにある。また、本発明の他の目的は、設計の容易化を実現する半導体集積回路の設計方法および設計装置を提供することにある。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a semiconductor integrated circuit design method and design apparatus that can shorten the design period. Another object of the present invention is to provide a semiconductor integrated circuit design method and design apparatus that can facilitate design.

本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.

本発明の半導体集積回路の設計方法は、レイアウト設計ツールなどのコンピュータを用いて、チップ全体の設計データを複数のブロックの設計データに分割してレイアウト設計を行うものとなっている。そして、この各ブロックの配置配線を行う際に、各ブロックの境界条件として、自身のブロック以外の設計データの中からこの自身のブロックへの信号入出力に関連する設計データを抽出したインタフェースモデルを用いるものとなっている。これによって、従来技術で用いられていたバジェッティングが不要となり、このバジェッティングに伴う設計期間の遅延や、レイアウト設計の複雑化などを抑制することが可能となる。   The semiconductor integrated circuit design method of the present invention performs layout design by dividing the design data of the entire chip into design data of a plurality of blocks using a computer such as a layout design tool. Then, when performing the placement and routing of each block, an interface model that extracts design data related to signal input / output to this block from design data other than its own block as the boundary condition of each block. It is intended to be used. Thereby, the budgeting used in the prior art becomes unnecessary, and it becomes possible to suppress delays in the design period associated with this budgeting and the complexity of the layout design.

ここで、このインタフェースモデルの設計データには、ネットリストなどの論理データに加えて、セルの配置配線または仮の配置配線を行った後の物理データと、この物理データから抽出したRCデータとを持たせることが望ましい。これによって、各ブロックの配置配線を行う際に、高精度にタイミングを考慮することが可能となり、設計期間の短縮が実現できる。また、各ブロックの配置配線に伴い各ブロックの境界部を最適化する際に、前述したような設計データを備えたインタフェースモデルを用いることで、最適化が容易となり、最適化の効率が大きく向上する。   Here, in addition to logical data such as a net list, the interface model design data includes physical data after cell placement and routing or provisional placement and routing, and RC data extracted from the physical data. It is desirable to have it. This makes it possible to consider the timing with high accuracy when performing the placement and routing of each block, thereby realizing a reduction in design period. In addition, when optimizing the boundary of each block with the placement and routing of each block, using the interface model with the design data as described above facilitates optimization and greatly improves the efficiency of optimization. To do.

また、本発明の半導体集積回路の設計方法は、コンピュータを用いて、チップ全体の設計データをトップの設計データと複数のブロックの設計データとに分割してレイアウト設計を行うものであり、更に、前述したようなインタフェースモデルを用いた各ブロックの配置配線を2段階で行うものとなっている。すなわち、最初の段階の配置配線では、トップおよび各ブロック内のセル配置が行われ、次の段階の配置配線では、一旦セル配置が行われた状態から高精度なRCデータなどを抽出し、このRCデータなどに基づいてセル配置の微調整が行われる。   The semiconductor integrated circuit design method of the present invention is to perform layout design by dividing the design data of the entire chip into top design data and a plurality of blocks of design data using a computer. The arrangement and wiring of each block using the interface model as described above is performed in two stages. That is, in the first stage placement and routing, cell placement in the top and each block is performed, and in the next stage placement and routing, high-accuracy RC data is extracted from the state where the cell placement is once performed. Fine adjustment of the cell arrangement is performed based on RC data or the like.

ここで、この2段階の配置配線に伴い、インタフェースモデルも2段階を備える。最初の段階のインタフェースモデル(第1インタフェースモデル)では、論理データに加えて、セルの仮の配置配線後の物理データおよびこれから得られるRCデータを備えることが望ましい。すなわち、最初の段階の配置配線以前に、予めセルの仮の配置配線を行っておき、この状態から第1インタフェースモデルの物理データおよびRCデータを生成することが望ましい。これによって、早い段階から高精度なタイミングを考慮したレイアウト設計が可能となり、設計期間の短縮が実現できる。   Here, the interface model has two stages along with the two stages of placement and routing. In the first stage interface model (first interface model), in addition to logical data, it is desirable to provide physical data after provisional placement and routing of cells and RC data obtained therefrom. That is, it is desirable to perform temporary placement and routing of cells in advance before placement and routing in the first stage, and generate physical data and RC data of the first interface model from this state. As a result, it is possible to design a layout in consideration of highly accurate timing from an early stage, thereby realizing a reduction in design period.

また、次の段階のインタフェースモデル(第3インタフェースモデル)では、論理データに加えて、最初の段階の配置配線から得られたRCデータを持たせる。そして、このインタフェースモデルを用いて各ブロックの配置配線の微調整を行うことで、レイアウトの完成に向けた、各ブロック内のセル配置の微調整および最適化などを容易かつ的確に行うことが可能になる。   Further, in the interface model at the next stage (third interface model), in addition to the logical data, RC data obtained from the placement and routing at the first stage is provided. And by finely adjusting the placement and routing of each block using this interface model, it is possible to easily and accurately perform fine adjustment and optimization of the cell placement in each block for the completion of the layout. become.

なお、トップの配置配線を行う際も、前述した各ブロックの配置配線と同様に、トップ以外の設計データの中からトップへの信号入出力に関連する設計データを抽出したインタフェースモデル(第2インタフェースモデル)を用いることが望ましい。そして、この第2インタフェースモデルも、第1インタフェースモデルなどを同様に、論理データと物理データとRCデータとを持たせるとよい。これによって、トップの境界部における最適化が容易または効率的となり、設計期間の短縮が実現可能となる。   In addition, when performing top placement and routing, an interface model (second interface) in which design data related to signal input / output to the top is extracted from design data other than the top, similarly to the placement and routing of each block described above. Model). And this 2nd interface model is good to give logical data, physical data, and RC data similarly to the 1st interface model. As a result, optimization at the top boundary becomes easy or efficient, and the design period can be shortened.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、半導体集積回路の設計期間の短縮または設計の容易化が実現可能となる。   If the effects obtained by typical ones of the inventions disclosed in the present application are briefly described, the design period of the semiconductor integrated circuit can be shortened or the design can be facilitated.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

図1は、本発明の一実施の形態による半導体集積回路の設計方法において、そのレイアウト設計フローの一例を示すフロー図である。図1のレイアウト設計フローの主要な特徴は、各ブロックの境界条件としてバジェッティングのSDCを用いずに、その代わりにインタフェースモデルであるブロック用ILMを生成し、このブロック用ILMを境界条件として用いることで各ブロックの配置配線を行うことにある。以降、図1のレイアウト設計フローを簡単に説明し、その後、このレイアウト設計フロー内の各詳細な処理内容について説明する。   FIG. 1 is a flowchart showing an example of a layout design flow in a method for designing a semiconductor integrated circuit according to an embodiment of the present invention. The main feature of the layout design flow of FIG. 1 is that instead of using budgeting SDC as a boundary condition for each block, an ILM for a block that is an interface model is generated, and this ILM for a block is used as a boundary condition. The placement and wiring of each block is performed. Hereinafter, the layout design flow of FIG. 1 will be briefly described, and then detailed processing contents in the layout design flow will be described.

図1に示すレイアウト設計フローでは、まず、チップ全体のデータとなるトップレベルのフロアプラン(FP)データから、トップおよび複数のブロックの切り出しを行い、各ブロック毎に対応する初期のブロック用ILMを生成する(S101)。次いで、この切り出したトップのデータと複数のブロックのデータに対する配置配線を行う。ここで、この複数のブロックの配置配線を行う際には、各ブロックのデータと共に、各ブロック毎に対応するブロック用ILMが用いられる(S102)。これらの配置配線の終了後、一旦トップとブロックを統合して実負荷データを抽出し、この実負荷データを含めた再調整用のブロック用ILMを生成する(S103)。そして、この再調整用のブロック用ILMを用いて、トップおよびブロックに対していわば微調整となる配置配線を行い(S104)、これによってチップのレイアウトが完成する(S105)。   In the layout design flow shown in FIG. 1, first, a top and a plurality of blocks are cut out from top-level floor plan (FP) data that is data of the entire chip, and an initial block ILM corresponding to each block is obtained. Generate (S101). Next, placement and routing are performed on the cut-out top data and data of a plurality of blocks. Here, when performing placement and routing of the plurality of blocks, the block ILM corresponding to each block is used together with the data of each block (S102). After completion of these placement and routing, the top and the block are once integrated to extract the actual load data, and a readjustment block ILM including the actual load data is generated (S103). Then, using the ILM for the block for readjustment, placement and wiring that is so fine adjustment is performed on the top and the block (S104), thereby completing the layout of the chip (S105).

次に、図1のレイアウト設計フローの詳細な処理内容の一例について説明する。まず、S101やS103で作成されるブロック用ILMとは、例えば次のようなものとなっている。   Next, an example of detailed processing contents of the layout design flow of FIG. 1 will be described. First, the block ILM created in S101 and S103 is, for example, as follows.

図2は、図1のレイアウト設計フローにおいて、ブロック用ILMの論理データの一例を説明するための回路図である。図2においては、例えば、トップTPに、それぞれクロック信号clk1,clk2を発生するクロック発生回路CPG1,CPG2と、フリップフロップFF1,FF3とが設けられ、ブロックBLK1に、フリップフロップFF2が設けられている。FF1,FF3は、clk1またはclk2が入力され、FF2は、BLK1のクロック入力端子CIN1を介してclk1またはclk2が入力される。また、FF3の出力信号は、組み合わせ論理を介してFF1に入力され、更にFF1の出力信号は、BLK1の信号入力端子DIN1とその前後の組み合わせ論理を介してFF2に入力される。なお、図2のように、TPには、通常、クロック系の回路を代表とする各ブロックで共通使用される回路が割り当てられる。   FIG. 2 is a circuit diagram for explaining an example of logic data of the block ILM in the layout design flow of FIG. In FIG. 2, for example, clock generation circuits CPG1 and CPG2 for generating clock signals clk1 and clk2 and flip-flops FF1 and FF3 are provided on the top TP, and a flip-flop FF2 is provided on the block BLK1. . Clk1 or clk2 is input to FF1 and FF3, and clk1 or clk2 is input to FF2 via the clock input terminal CIN1 of BLK1. The output signal of FF3 is input to FF1 via combinational logic, and the output signal of FF1 is further input to FF2 via signal input terminal DIN1 of BLK1 and the combinational logic before and after that. As shown in FIG. 2, a circuit commonly used in each block represented by a clock circuit is normally assigned to the TP.

このような構成において、S101やS103の処理では、BLK1に対応するブロック用ILMとして、図2のようにBLK1以外(この例ではトップTP内)の一部の回路となるB_ILM1を抽出する。図2のB_ILM1は、TPの回路内で、BLK1の入力端子CIN1およびDIN1のタイミングに直接関連している回路、すなわちTPの回路の中から、BLK1への入出力部分を抽出した回路である。これは、図13で前述したILMのモデルと同様のものであるが、図13ではトップからブロックを見た場合に必要な回路を抽出するのに対し、ここではブロックからそのブロック以外(ここではトップ)を見た場合に必要な回路を抽出することになる。   In such a configuration, in the processing of S101 and S103, B_ILM1, which is a partial circuit other than BLK1 (in this example, in the top TP) as shown in FIG. 2, is extracted as the ILM for the block corresponding to BLK1. B_ILM1 in FIG. 2 is a circuit in which an input / output portion to BLK1 is extracted from a circuit directly related to the timing of the input terminals CIN1 and DIN1 of BLK1, that is, a circuit of TP, in the circuit of TP. This is the same as the ILM model described above with reference to FIG. 13, but in FIG. 13, the circuit required when the block is viewed from the top is extracted, whereas here, the block other than that block (here, When looking at the top), the necessary circuits will be extracted.

図2の例では、B_ILM1として、CIN1に接続されているクロックパス(すなわち、CPG1およびCPG2までのクロックパス)と、DIN1に接続されている信号パス(すなわち、FF1までの信号パス)と、FF1のクロックパスとが抽出されている。このようなパスの抽出は、例えばネットリストデータなどを辿ることで容易に実現できる。また、B_ILM1は、図2のような論理データ(ネットリストデータ)に加えて、図3で述べるような物理データやRCデータを備える。ただし、B_ILM1のデータ量としては、入出力部分に関連した部分のみのデータであるため、少ないデータ量で足りることになる。   In the example of FIG. 2, as B_ILM1, a clock path connected to CIN1 (ie, a clock path to CPG1 and CPG2), a signal path connected to DIN1 (ie, a signal path to FF1), and FF1 The clock path is extracted. Such path extraction can be easily realized by following net list data, for example. Further, B_ILM1 includes physical data and RC data as described in FIG. 3 in addition to logical data (net list data) as shown in FIG. However, since the data amount of B_ILM1 is only the data related to the input / output portion, a small data amount is sufficient.

図3は、図1のレイアウト設計フローにおいて、ブロック用ILMが備える物理データの一例を説明するためのレイアウト概略図である。例えば、図3の左図に示すように、チップ全体の物理データとして、トップTPおよび2つのブロックBLK1,BLK2の物理データ(フロアプランデータ、セル配置データ)が存在する場合を想定する。このようなチップにおいて、例えば、BLK2の配置配線を行う際は、図3の右図に示すようなセルの配置情報を含む物理データやこの物理データから抽出したRCデータ(実負荷データ)を備えたブロック用ILM(B_ILM2)が用いられる。   FIG. 3 is a layout schematic diagram for explaining an example of physical data included in the block ILM in the layout design flow of FIG. For example, as shown in the left diagram of FIG. 3, it is assumed that there is physical data (floor plan data, cell arrangement data) of the top TP and the two blocks BLK1 and BLK2 as physical data of the entire chip. In such a chip, for example, when performing placement and routing of BLK2, physical data including cell placement information as shown in the right diagram of FIG. 3 and RC data (actual load data) extracted from this physical data are provided. The block ILM (B_ILM2) is used.

なお、図3に示すB_ILM2は、図2と同様に、トップTPの領域の一部となっているが、図5で後述するように、TP以外の領域(例えばBLK1の領域)の一部として存在する場合もある。また、このようなB_ILM2を用いて、実際上のBLK2の配置配線を行う際は、フルチップのフロアプランデータから、BLK2およびB_ILM2の論理データに対応しない箇所の物理データを削除し、それに対応するフロアプランデータ上の物理的位置に配置・配線禁止を配置した状態で行う。   Note that B_ILM2 shown in FIG. 3 is a part of the top TP region as in FIG. 2, but as described later in FIG. 5, as a part of the region other than TP (for example, the region of BLK1). May be present. Also, when performing actual placement and routing of BLK2 using such B_ILM2, physical data at locations not corresponding to the logical data of BLK2 and B_ILM2 is deleted from the floor plan data of the full chip, and the corresponding floor This is done with placement and wiring prohibitions placed at physical locations on the plan data.

以上のように、ブロック用ILMは、ブロック以外のデータの中から当該ブロックへの信号入出力に関連する部分のデータを抽出したインタフェースモデルとなっている。また、このインタフェースモデルの具体的な中身は、論理データ、物理データおよびRCデータの全て又は一部で構成されている。そして、図1のS102およびS104では、このようなブロック用ILMを用いて配置配線が行われる。   As described above, the block ILM is an interface model in which data of a portion related to signal input / output to / from the block is extracted from data other than the block. The specific contents of the interface model are composed of all or part of logical data, physical data, and RC data. In S102 and S104 of FIG. 1, placement and routing are performed using such a block ILM.

この配置配線では、バジェッティングによるSDCではなく、フルチップでのSDCに基づき、自動処理で、各ブロック内にセルが配置され、各セルおよび各セル間の配線が行われる。すなわち、図1での最初のデータとなるトップレベルのフロアプランデータでは、例えば図3において、各ブロックの枠組みと、ハードモジュール(予め固定的にレイアウトが定まっているモジュール)HMの配置などが定まっている。ブロックの配置配線では、そのブロックの枠組みの中で、各回路要素となる多数のセルCLがSDCによるタイミング条件を満たすように配置および配線される。   In this arrangement and wiring, cells are arranged in each block by automatic processing based on full-chip SDC, not SDC by budgeting, and wiring between each cell and each cell is performed. That is, in the top-level floor plan data that is the first data in FIG. 1, for example, in FIG. 3, the framework of each block and the arrangement of hardware modules (modules whose layout is fixed in advance) HM are determined. ing. In block placement and routing, within the framework of the block, a large number of cells CL that are circuit elements are placed and routed so as to satisfy the timing conditions of SDC.

図4は、図1のレイアウト設計フローにおいて、ブロック用ILMの論理データの他の一例を説明するための回路図である。図4に示す回路例は、例えば、トップTPと2つのブロックBLK1,BLK2によって構成されている。TPには、それぞれクロック信号clk1,clk2を発生するクロック発生回路CPG1,CPG2と、フリップフロップFF2,FF3とが設けられる。また、ブロックBLK1には、フリップフロップFF4が設けられ、ブロックBLK2には、フリップフロップFF1が設けられる。   FIG. 4 is a circuit diagram for explaining another example of the logic data of the block ILM in the layout design flow of FIG. The circuit example illustrated in FIG. 4 includes, for example, a top TP and two blocks BLK1 and BLK2. The TP is provided with clock generation circuits CPG1 and CPG2 that generate clock signals clk1 and clk2, respectively, and flip-flops FF2 and FF3. The block BLK1 is provided with a flip-flop FF4, and the block BLK2 is provided with a flip-flop FF1.

FF2,FF3には、clk1またはclk2が入力され、FF1およびFF4には、それぞれBLK2のクロック入力端子CIN2およびBLK1のクロック入力端子CIN1を介してclk1またはclk2が入力される。また、FF1の出力信号は、BLK2の信号出力端子DO2とその前後の組み合わせ論理を介してFF2に入力され、更にFF2の出力信号は、組み合わせ論理を介してFF3に入力される。そして、FF3の出力信号は、BLK1の信号入力端子DIN1とその前後の組み合わせ論理を介してFF4に入力される。   Clk1 or clk2 is input to FF2 and FF3, and clk1 or clk2 is input to FF1 and FF4 via the clock input terminal CIN2 of BLK2 and the clock input terminal CIN1 of BLK1, respectively. The output signal of FF1 is input to FF2 via the signal output terminal DO2 of BLK2 and the combinational logic before and after that, and the output signal of FF2 is further input to FF3 via the combinational logic. The output signal of FF3 is input to FF4 via the signal input terminal DIN1 of BLK1 and the combinational logic before and after that.

このような構成においては、S101での処理に際し、各ブロックBLK1,BLK2毎にそれぞれ対応するブロック用ILMが抽出される。すなわち、BLK1以外の回路の中からBLK1のブロック用ILM(B_ILM1)が抽出され、BLK2以外の回路の中からBLK2のブロック用ILM(B_ILM2)が抽出される。B_ILM1には、CIN1に接続されているクロックパス(すなわち、CPG1およびCPG2までのクロックパス)と、DIN1に接続されている信号パス(すなわち、FF3までの信号パス)と、FF3のクロックパスとが含まれる。B_ILM2には、CIN2に接続されているクロックパス(すなわち、CPG1およびCPG2までのクロックパス)と、DO2に接続されている信号パス(すなわち、FF2までの信号パス)と、FF2のクロックパスとが含まれる。   In such a configuration, the corresponding block ILM is extracted for each of the blocks BLK1 and BLK2 during the processing in S101. That is, the block ILM (B_ILM1) for BLK1 is extracted from circuits other than BLK1, and the block ILM (B_ILM2) for BLK2 is extracted from circuits other than BLK2. B_ILM1 includes a clock path connected to CIN1 (ie, a clock path to CPG1 and CPG2), a signal path connected to DIN1 (ie, a signal path to FF3), and a clock path of FF3. included. B_ILM2 includes a clock path connected to CIN2 (ie, a clock path to CPG1 and CPG2), a signal path connected to DO2 (ie, a signal path to FF2), and a clock path of FF2. included.

なお、クロックパスを抽出する範囲は、求める設計精度などに応じて定めるとよい。すなわち、例えばクロックの分岐点があり一方の枝からクロック信号が入力されるような場合で、仮に他方の枝の負荷がその一方の枝のクロック信号のタイミングに影響する場合には、他方の枝からも必要な分だけクロックパスを抽出するようにしてもよい。そして、S102において、このような各ブロックBLK1,BLK2毎にそれぞれ対応するブロック用ILM(B_ILM1,B_ILM2)を用いて、ブロックBLK1とBLK2の配置配線がそれぞれ並行して行われる。   The range for extracting the clock path may be determined according to the required design accuracy. That is, for example, when there is a clock branch point and a clock signal is input from one branch, if the load on the other branch affects the timing of the clock signal on the other branch, the other branch Alternatively, clock paths may be extracted as much as necessary. In S102, the blocks BLK1 and BLK2 are arranged and wired in parallel using the block ILMs (B_ILM1, B_ILM2) corresponding to the respective blocks BLK1, BLK2, respectively.

図5は、図1のレイアウト設計フローにおいて、ブロック用ILMの論理データの更に他の一例を説明するための回路図である。図5に示す回路例は、例えば、トップTPと2つのブロックBLK1,BLK2によって構成されている。TPには、それぞれクロック信号clk1,clk2を発生するクロック発生回路CPG1,CPG2が設けられる。また、ブロックBLK1には、フリップフロップFF2が設けられ、ブロックBLK2には、フリップフロップFF1が設けられる。   FIG. 5 is a circuit diagram for explaining still another example of the logic data of the block ILM in the layout design flow of FIG. The circuit example shown in FIG. 5 includes, for example, a top TP and two blocks BLK1 and BLK2. The TP is provided with clock generation circuits CPG1 and CPG2 for generating clock signals clk1 and clk2, respectively. The block BLK1 is provided with a flip-flop FF2, and the block BLK2 is provided with a flip-flop FF1.

FF1およびFF2には、それぞれBLK2のクロック入力端子CIN2およびBLK1のクロック入力端子CIN1を介してclk1またはclk2が入力される。また、FF1の出力信号は、組み合わせ論理を介してBLK2の信号出力端子DO2に伝送され、更に、DO2から組み合わせ論理を介してBLK1の信号入力端子DIN1に伝送される。そして、このDIN1に伝送された信号が、組み合わせ論理を介してFF2に入力される。   Clk1 or clk2 is input to FF1 and FF2 via clock input terminal CIN2 of BLK2 and clock input terminal CIN1 of BLK1, respectively. The output signal of FF1 is transmitted to the signal output terminal DO2 of BLK2 through combinational logic, and further transmitted from DO2 to the signal input terminal DIN1 of BLK1 through combinational logic. The signal transmitted to DIN1 is input to FF2 through combinational logic.

このような構成においては、例えば、BLK1のブロック用ILM(B_ILM1)内に、TP内の回路と、BLK2内の回路が含まれることになる。すなわち、図5のB_ILM1には、CIN1に接続されているクロックパス(すなわち、TP内のCPG1およびCPG2までのクロックパス)と、DIN1に接続されている信号パス(すなわち、BLK2内のFF1までの信号パス)とが含まれる。なお、図示はしないが、B_ILM1の場合と同様に、BLK2のブロック用ILMには、BLK1内の回路が含まれることになる。   In such a configuration, for example, the circuit in TP and the circuit in BLK2 are included in the block ILM (B_ILM1) of BLK1. That is, B_ILM1 in FIG. 5 includes a clock path connected to CIN1 (ie, a clock path to CPG1 and CPG2 in TP) and a signal path connected to DIN1 (ie, to FF1 in BLK2). Signal path). Although not shown, the block ILM for BLK2 includes a circuit in BLK1, as in the case of B_ILM1.

図6は、図1のレイアウト設計フローにおいて、初期および再調整用のブロック用ILMが備えるデータの一例を示す概略図であり、(a)は物理データ、(b)は論理データを示すものである。これまでの説明で述べたように、ブロック用ILMは論理データ、物理データおよびRCデータを備えるものとなっている。すなわち、図6に示すように、例えば、ブロックBLK2を例とすると、そのブロック用ILM(B_ILM2)の物理データは、図6(a)のようになり、B_ILM2の論理データは、図6(b)のようになる。そして、B_ILM2内の各信号パスおよび各クロックパスの物理データに基づいて、RC(抵抗成分および容量成分)データが抽出される。   FIG. 6 is a schematic diagram showing an example of data included in the initial and readjustment block ILM in the layout design flow of FIG. 1, wherein (a) shows physical data and (b) shows logical data. is there. As described above, the block ILM includes logical data, physical data, and RC data. That is, as shown in FIG. 6, for example, when the block BLK2 is taken as an example, the physical data of the block ILM (B_ILM2) is as shown in FIG. 6A, and the logical data of B_ILM2 is shown in FIG. )become that way. Then, RC (resistance component and capacitance component) data is extracted based on the physical data of each signal path and each clock path in B_ILM2.

ここで、図1のレイアウト設計フローにおいては、2種類のブロック用ILMが示されている。その内、初期のブロック用ILMは、例えば、図1のS101の段階で、予め階層化されないフルフラットの状態からパーティション作成、セルの仮の配置配線ならびに仮のIPOなどを行い、この仮の配置配線の状態から抽出することが望ましい。この場合、初期のブロック用ILMは、論理データと、仮の配置配線データとしての物理データと、この物理データから抽出したRCデータを備えることになる。また、場合によっては、セルの未配置状態から抽出することも可能である。ただし、この場合だと、例えば、論理データと、物理データとしてのフロアプランデータと、論理データに基づくRCデータを備えることになるが、前者に比べて設計効率や設計精度が劣ることが懸念される。   Here, in the layout design flow of FIG. 1, two types of block ILMs are shown. Among them, the initial block ILM performs partition creation, temporary placement and routing of cells, provisional IPO, etc. from a full flat state that is not hierarchized in advance in step S101 in FIG. It is desirable to extract from the state of wiring. In this case, the initial block ILM includes logical data, physical data as temporary placement and routing data, and RC data extracted from the physical data. In some cases, it is also possible to extract from the unarranged state of the cells. However, in this case, for example, logical data, floor plan data as physical data, and RC data based on logical data are provided, but there is a concern that design efficiency and design accuracy may be inferior to the former. The

一方、再調整用のブロック用ILMは、図1のS102の処理で一旦トップおよびブロック内のセルの配置配線が完了した状態から抽出される。したがって、再調整用のブロック用ILMは、論理データと、配置配線結果を反映した物理データと、この物理データから得られるRCデータを備えることになる。ただし、図9で後述するが、図1のS104におけるブロックの配置配線の微調整処理では、再調整用のブロック用ILMのセル配置を変更するような処理は行わないので、再調整用のブロック用ILMに物理データは必ずしも必要ではない。   On the other hand, the ILM for the block for readjustment is extracted from the state where the placement and wiring of the cells in the top and the block are completed in the process of S102 of FIG. Accordingly, the readjustment block ILM includes logical data, physical data reflecting the placement and routing result, and RC data obtained from the physical data. However, as will be described later with reference to FIG. 9, in the fine adjustment process of the block arrangement and wiring in S104 of FIG. 1, the process for changing the cell arrangement of the ILM for readjustment block is not performed. Physical data is not necessarily required for the ILM.

図7は、図1のレイアウト設計フローにおいて、初期のブロック用ILMを用いたタイミング最適化の処理の一例を示す説明図である。このタイミング最適化の処理は、例えば図1のS102におけるトップおよびブロックの配置配線の一環として行われる。S102の段階では、トップとブロックの配置配線がそれぞれ並行して行われる。ここで、図7に示すように、例えばブロックBLK2の配置配線において、BLK2とトップTP間の信号パスA1を最適化する際に、TPの論理の最適化を許すケースと許さないケースとが考えられる。   FIG. 7 is an explanatory diagram showing an example of timing optimization processing using the initial block ILM in the layout design flow of FIG. This timing optimization processing is performed as part of the placement and routing of the top and block in S102 of FIG. 1, for example. In step S102, the placement and wiring of the top and the block are performed in parallel. Here, as shown in FIG. 7, when optimizing the signal path A1 between BLK2 and the top TP in, for example, the placement and routing of the block BLK2, there are cases where optimization of TP logic is allowed and cases where it is not allowed. It is done.

許すケースでは、BLK2と、TPに含まれるブロック用ILM(B_ILM2)の信号パスを含めて最適化が行われる。図7のように、トップの一部がブロック用ILMとなっている前提で、この許すケースは、例えばトップの配置配線が並行して実行中の場合や、トップの論理が変更可能な場合である。一方、許さないケースは、例えば、トップの配置配線が完了し、トップの論理を変更したくない場合である。すなわち、例えば、トップの配置配線後にブロックの配置配線を行うようなレイアウト設計フローを用いるような場合が挙げられる。また、図9で後述するが、図1のS104の段階でブロックの最適化を行う際も、この場合に該当する。   In the permitted case, optimization is performed including the signal path of BLK2 and the block ILM (B_ILM2) included in TP. As shown in FIG. 7, on the assumption that a part of the top is a block ILM, this allowed case is, for example, when the top placement and routing is being executed in parallel or when the top logic can be changed. is there. On the other hand, a case where it is not permitted is, for example, a case where the top placement and routing is completed and the top logic is not desired to be changed. That is, for example, there is a case where a layout design flow in which block placement and routing is performed after top placement and routing is used. Further, as will be described later with reference to FIG. 9, this is also the case when performing block optimization at the stage of S104 in FIG.

このように、ブロック用ILMを用いてタイミングの最適化を行うことで、バジェッティングの場合のようにブロックの境界パスを分割することなく最適化が行えるため、処理能力および時間的効率が格段に向上する。また、ブロック用ILMには、物理データが備わっているため、セル配置を含めてトップとブロックの境界面を効率的に最適化することが可能となる。   In this way, by optimizing the timing using the block ILM, optimization can be performed without dividing the block boundary path as in the case of budgeting, so the processing capability and temporal efficiency are greatly improved. To do. In addition, since the block ILM has physical data, the boundary surface between the top and the block including the cell arrangement can be efficiently optimized.

なお、TPの論理の最適化を許すケースでは、実際には、前述したブロックBLK2の最適化に伴うB_ILM2の論理変更は反映されず、この部分の実データは、TPの配置配線によって定まることになる。すなわち、ブロックの配置配線に伴い最適化したTP内のブロック用ILMのデータは、実際にはTPの配置配線で定めた当該ブロック用ILMのデータに置き換えられることになる。なお、これによって、最適化の程度が若干低下することが予想される。ただし、置き換え前後のいずれのデータも、原則的に最大遅延を抑えるように配置配線されたものであるため、さほど差異は生じず、実使用上は許容範囲に収まると考えられる。また、仮に最適化を若干再調整する必要性が生じたとしても時間を要する処理にはならない。   In the case where the optimization of the logic of TP is allowed, the logical change of B_ILM2 accompanying the optimization of the block BLK2 described above is not actually reflected, and the actual data of this part is determined by the placement and wiring of the TP. Become. In other words, the block ILM data in the TP optimized in accordance with the block arrangement and wiring is actually replaced with the data for the block ILM determined by the TP arrangement and wiring. This is expected to reduce the degree of optimization slightly. However, since all the data before and after replacement are arranged and routed so as to suppress the maximum delay in principle, there is not much difference, and it is considered that they are within an allowable range in actual use. Further, even if it becomes necessary to readjust the optimization slightly, the process does not require time.

図8は、図1のレイアウト設計フローにおいて、初期のブロック用ILMを用いたタイミング最適化の処理の他の一例を示す説明図である。最適化の過程で、例えば、ブロック境界にピンを追加した方がタイミング収束性がよいケースがある。すなわち、例えば図8に示すように、端子DIN1にピンを追加して端子DIN11,DIN12とすることで、クリティカルパスの負荷が低減できるような場合である。この場合は、ブロックにて追加したピンをトップに対してアップデートし、このアップデートを反映してトップの配置配線を行う必要がある。なお、ブロック境界のピン情報を変更しない(ピンを固定)という設定で最適化することも可能である。   FIG. 8 is an explanatory diagram showing another example of the timing optimization process using the initial block ILM in the layout design flow of FIG. In the optimization process, for example, there are cases where timing convergence is better when pins are added to block boundaries. That is, for example, as shown in FIG. 8, a critical path load can be reduced by adding a pin to the terminal DIN1 to form the terminals DIN11 and DIN12. In this case, it is necessary to update the pin added in the block with respect to the top, and to perform the placement and wiring of the top reflecting this update. It is also possible to optimize by setting that the pin information at the block boundary is not changed (pin is fixed).

図9は、図1のレイアウト設計フローにおいて、再調整用のブロック用ILMを用いたタイミング最適化の処理の一例を説明するための図である。このタイミング最適化の処理は、図1のS104におけるブロックの配置配線の一環として行われる。したがって、このS104におけるブロックの配置配線の段階では、再調整用のブロック用ILMに関するセル配置はトップの配置配線によって確定しているため、再調整用のブロック用ILMの領域を最適化によって変更することは望ましくない。   FIG. 9 is a diagram for explaining an example of timing optimization processing using the readjustment block ILM in the layout design flow of FIG. This timing optimization process is performed as part of the block placement and routing in S104 of FIG. Therefore, at the stage of block placement / wiring in S104, since the cell placement relating to the readjustment block ILM is determined by the top placement / wiring, the area of the readjustment block ILM is changed by optimization. That is not desirable.

このようなことから、再調整用のブロック用ILMは、ブロック内の最適化処理に伴ってディレイ計算などを行う際に必要となる論理データと、その論理データの配置配線結果から得られるRCデータとを備えていればよく、必ずしも物理データを備える必要はない。また、物理データを備えている場合であっても、参照するのみとする。図9のタイミング最適化処理の例では、ブロック境界の信号パスA1の最適化処理を行う際に、再調整用のブロック用ILM(B_ILM2)の変更は許可せずに参照するのみとして、ブロックBLK2内の信号パスA2のみで最適化処理を行っている。   For this reason, the ILM for readjustment block uses the logical data necessary for performing delay calculation or the like in accordance with the optimization process in the block, and the RC data obtained from the result of arrangement and wiring of the logical data. It is not always necessary to provide physical data. Also, even if physical data is provided, it is only referred to. In the example of the timing optimization process of FIG. 9, when the optimization process of the signal path A1 at the block boundary is performed, the block ILM (B_ILM2) for readjustment is not allowed to be changed, but is only referred to, and the block BLK2 The optimization process is performed only in the signal path A2.

図10は、図1のレイアウト設計フローにおいて、トップに対する最適化処理の一例を説明するための図である。トップの最適化は、図1のS102やS104におけるトップの配置配線の一環として行われる。この際に、トップとブロックの境界部におけるトップの最適化を行うため、従来技術と同様のILMを用いる。ただし、従来技術のILMは論理データとRCデータしか備えていないが、ここでは更に、ILMに対して例えば図10に示すような物理データを持たせる。例えば、S102の段階で使用するILMの物理データは、図6で述べた初期のブロック用ILMと同様に、仮の配置配線データとすることができる。   FIG. 10 is a diagram for explaining an example of optimization processing for the top in the layout design flow of FIG. The optimization of the top is performed as part of the placement and wiring of the top in S102 and S104 of FIG. At this time, in order to optimize the top at the boundary between the top and the block, the ILM similar to the conventional technique is used. However, although the ILM of the prior art includes only logical data and RC data, the ILM further includes physical data as shown in FIG. 10, for example. For example, the physical data of the ILM used in the stage of S102 can be temporary placement and routing data, like the initial block ILM described with reference to FIG.

このように、トップ用のILMに対してもブロック用ILMと同様に物理データを持たせることで、例えば、ブロック境界のピン変更や、ブロック上空で信号配線を通過させるといった最適化処理を容易に行うことが可能になる。ただし、このような境界変更や、ブロック上空通過の最適化を行った場合には、ブロックデータの切り出しやブロック用ILMの作成を再度実施する必要がある。しかしながら、その後のレイアウト設計が容易となるため、全体的に見て設計期間の短縮が可能と考えられる。   In this way, by providing physical data to the top ILM as well as the ILM for the block, for example, optimization processing such as changing the pin of the block boundary or passing the signal wiring over the block is facilitated. It becomes possible to do. However, when such boundary change or optimization of over-block passage is performed, it is necessary to re-execute block data extraction and block ILM creation. However, since subsequent layout design becomes easy, it is considered possible to shorten the design period as a whole.

つぎに、以上で述べたような処理を行う設計装置の一例について説明する。   Next, an example of a design apparatus that performs the processing as described above will be described.

図11は、本発明の一実施の形態による半導体集積回路の設計装置において、その構成の一例を示す概略図である。図11に示す設計装置は、コンピュータによるプログラム処理によって実現され、図1における配置配線前のS101の処理を行う装置となっている。その構成は、例えば、ハードディスクなどの記憶媒体によって実現される入力部IND1および出力部OUD1と、CPUやメモリ等によって実現される階層レイアウト用データ分割処理部PRO1などを含んでいる。   FIG. 11 is a schematic diagram showing an example of the configuration of a semiconductor integrated circuit design apparatus according to an embodiment of the present invention. The design apparatus shown in FIG. 11 is realized by program processing by a computer, and is an apparatus that performs the processing of S101 before placement and routing in FIG. The configuration includes, for example, an input unit IND1 and an output unit OUD1 realized by a storage medium such as a hard disk, a hierarchical layout data division processing unit PRO1 realized by a CPU, a memory, and the like.

IND1には、例えばフルチップのネットリストデータと、フルチップのフロアプランデータと、フルチップのSDCと、セルの遅延時間等のタイミング情報を含む論理ライブラリと、セルの形状に関する情報を含む物理ライブラリなどが記憶されている。このような情報を用いてPRO1では、例えば次のような処理が行われる。   IND1 stores, for example, a full-chip netlist data, a full-chip floorplan data, a full-chip SDC, a logical library including timing information such as cell delay time, a physical library including information related to cell shape, and the like. Has been. For example, the following processing is performed in PRO1 using such information.

まず、前述したような入力部IND1のデータを読み込み(S1101)、フルチップSDCに基づいてフルチップでのセルの配置配線を行う(S1102)。なお、S1102での配置配線は、いわゆる仮の配置配線となる。また、既に仮の配置配線が行われているデータを用いる場合は、ここでの処理は必要ない。次に、仮の配置配線が行われたフルチップのデータに対して、必要ならばSTAおよびタイミング改善処理を行う(S1103)。S1103は、仮の最適化処理(IPO)となる。このように、予め仮の最適化処理を行っておいた方が、後のレイアウト設計を高精度で行えることになる。   First, the data of the input unit IND1 as described above is read (S1101), and the cells are arranged and wired on the full chip based on the full chip SDC (S1102). Note that the placement and routing in S1102 is a so-called temporary placement and routing. Further, when using data that has already been provisionally placed and routed, the processing here is not necessary. Next, if necessary, STA and timing improvement processing are performed on the data of the full chip on which temporary placement and routing has been performed (S1103). S1103 is a provisional optimization process (IPO). As described above, if the preliminary optimization process is performed in advance, the subsequent layout design can be performed with high accuracy.

次いで、このような仮の配置配線に基づくフルチップのデータから配線負荷等のRCデータを抽出する(S1104)。その後、フルチップのタイミングパスを、トップと、ブロックと、トップに対応するILMと、ブロック用ILMとに切り分ける(S1105)。なお、各ILMは、タイミングパスを解析することで容易に抽出することが可能である。続いて、切り分けられたタイミングパスに対応して、ネットリストおよび物理データの切り分けを行う(S1106)。そして、以上のような処理によって得られてデータを出力部OUD1に格納する(S1107)。   Next, RC data such as wiring load is extracted from full-chip data based on such temporary placement and routing (S1104). Thereafter, the full-chip timing path is divided into a top, a block, an ILM corresponding to the top, and a block ILM (S1105). Each ILM can be easily extracted by analyzing the timing path. Subsequently, the net list and the physical data are separated corresponding to the separated timing paths (S1106). Then, the data obtained by the above processing is stored in the output unit OUD1 (S1107).

OUD1には、例えば、トップ用のネットリストと、トップおよびそのILMに関するフロアプランデータおよびセルの配置情報(すなわち物理データ)と、トップ用のILMのデータと、ブロック用のネットリストと、ブロックおよびブロック用ILMに関する物理データと、ブロック用ILMのデータなどが格納される。ここで、このトップ用のILMのデータおよびブロック用ILMのデータの中には、前述した別に記憶されている物理データを除くネットリストデータとRCデータとが含まれている。   The OUD 1 includes, for example, a top netlist, floor plan data and cell arrangement information (that is, physical data) regarding the top and its ILM, top ILM data, a block netlist, a block and Stores physical data related to the block ILM, block ILM data, and the like. Here, the data for the top ILM and the data for the block ILM include netlist data and RC data excluding the physical data separately stored as described above.

図12は、本発明の一実施の形態による半導体集積回路の設計装置において、その構成の他の一例を示す概略図である。図12に示す設計装置も、図11と同様に、コンピュータによるプログラム処理によって実現され、図1における配置配線後のS103の処理を行う装置となっている。その構成は、例えば、ハードディスクなどの記憶媒体によって実現される入力部IND2および出力部OUD2と、CPUやメモリ等によって実現される階層レイアウト用データ分割処理部PRO2などを含んでいる。   FIG. 12 is a schematic diagram showing another example of the configuration of a semiconductor integrated circuit design apparatus according to an embodiment of the present invention. Similarly to FIG. 11, the design apparatus shown in FIG. 12 is realized by a program process by a computer, and is an apparatus that performs the process of S103 after the placement and routing in FIG. The configuration includes, for example, an input unit IND2 and an output unit OUD2 realized by a storage medium such as a hard disk, a hierarchical layout data division processing unit PRO2 realized by a CPU, a memory, and the like.

IND2には、例えばトップ用およびブロック用のそれぞれに対応する、ネットリストデータ、実負荷データ(RCデータ)および図1のS102による配置配線データが格納され、加えて、フルチップSDC、論理ライブラリおよび物理ライブラリなどが格納されている。このような情報を用いてPRO2では、例えば次のような処理が行われる。   IND2 stores, for example, netlist data, actual load data (RC data), and placement and routing data according to S102 in FIG. 1 corresponding to each of the top and block, in addition to the full-chip SDC, logical library, and physical Contains libraries and so on. For example, the following processing is performed in PRO2 using such information.

まず、前述したような入力部IND2のデータを読み込み(S1201)、トップのデータとブロックのデータを統合したフルチップの作成処理を行う(S1202)。次に、このようなフルチップのデータを、再び、トップと、ブロックと、トップに対応するILMと、ブロック用ILMにそれぞれ対応したタイミングパスに切り分ける(S1203)。続いて、切り分けられたタイミングパスに対応して、ネットリスト、物理データおよび実負荷データの切り分けを行う(S1204)。そして、以上のような処理によって得られたデータを出力部OUD2に格納する(S1205)。   First, the data in the input unit IND2 as described above is read (S1201), and a full chip creation process is performed by integrating the top data and the block data (S1202). Next, such full-chip data is again divided into timing paths corresponding to the top, the block, the ILM corresponding to the top, and the ILM for block (S1203). Subsequently, the net list, the physical data, and the actual load data are separated corresponding to the separated timing paths (S1204). Then, the data obtained by the above processing is stored in the output unit OUD2 (S1205).

OUD2には、例えば、トップ用のネットリストと、トップおよびそのILMに関するフロアプランデータおよびセルの配置情報(すなわち物理データ)と、トップ用のILMのデータと、ブロック用のネットリストと、ブロックおよびブロック用ILMに関する物理データと、ブロック用ILMのデータなどが格納される。ここで、このトップ用のILMのデータおよびブロック用ILMのデータの中には、前述した別に記憶されている物理データを除くネットリストデータとRCデータとが含まれている。   The OUD 2 includes, for example, a top netlist, floor plan data and cell arrangement information (that is, physical data) regarding the top and its ILM, top ILM data, a block netlist, a block and Stores physical data related to the block ILM, block ILM data, and the like. Here, the data for the top ILM and the data for the block ILM include netlist data and RC data excluding the physical data separately stored as described above.

以上のように、図1のようなレイアウト設計フローおよび図11,図12のような設計装置を用いることで、バジェッティングが不要となり、例えば次のような効果を得ることが可能になる。   As described above, by using the layout design flow as shown in FIG. 1 and the design apparatus as shown in FIGS. 11 and 12, budgeting becomes unnecessary, and the following effects can be obtained, for example.

(1)図14で述べたような、バジェッティングに伴うフルチップでのSTAが不要となるため、設計ツールの負荷が小さくなり、また、設計ツールの処理時間を短くすることが可能になる。すなわち、図1のレイアウト設計フローにおいては、S101などでブロック用ILMを作成する際に、フルチップSTAの処理の一部であるパスの抽出は行われる。但し、バジェッティングで必要とされるような莫大な処理、すなわち、ブロックの各端子におけるSDCを生成するために抽出したパスの遅延時間をフルチップレベルで算出するような処理は不要となる。   (1) Since a full-chip STA associated with budgeting as described in FIG. 14 is not required, the load on the design tool is reduced, and the processing time of the design tool can be shortened. That is, in the layout design flow of FIG. 1, when a block ILM is created in S101 or the like, a path that is a part of the processing of the full chip STA is extracted. However, the enormous processing required for budgeting, that is, the processing for calculating the delay time of the path extracted to generate the SDC at each terminal of the block at the full chip level becomes unnecessary.

(2)図15で述べたような、バジェッティングに伴うブロック境界のタイミング制約が不要となるため、設計ツールの負担を低減することが可能になる。また、このような複雑なタイミング制約を発生させないことで、レイアウト設計を単純化(容易化)し、ソフトウエア上の不具合などに伴う設計期間の遅延を抑制することが可能になる。   (2) As described with reference to FIG. 15, the block boundary timing constraint associated with budgeting is not required, and the burden on the design tool can be reduced. Further, by not generating such a complicated timing constraint, it is possible to simplify (simplify) the layout design and suppress a delay in the design period due to a software defect or the like.

(3)図16で述べたような、バジェッティングに伴うイタレーションを無くすことができ、設計期間の短縮が実現可能となる。すなわち、バジェッティングのようにトップとブロックとを境界として明確に分離せず、仮想的に境界をなくした状態でレイアウト設計を行うため、バジェッティングで頻繁に発生するトップとブロックの境界部でのタイミング違反が生じなくなる。また、このように仮想的に境界をなくすことで、レイアウト設計が単純化(容易化)されるため、実際上の境界部付近でタイミング違反が発生した場合でも、原因究明および対策共に容易かつ短時間で行うことが可能となる。   (3) Iterating accompanying budgeting as described in FIG. 16 can be eliminated, and the design period can be shortened. In other words, the layout design is performed in a state where the top and block are not clearly separated as in the case of budgeting, and the boundary is virtually eliminated, so timing violations at the boundary between the top and block that frequently occur in budgeting Will not occur. In addition, since the layout design is simplified (simplified) by virtually eliminating the boundary in this way, even when a timing violation occurs in the vicinity of the actual boundary, both the cause investigation and countermeasures can be easily and quickly performed. It can be done in time.

(4)図17で述べたような、配置配線後の解析および最適化を容易に行うことが可能になる。すなわち、ブロックの境界より先の状態が、タイミング制約の数値としてではなく、実際の論理データ等がブロック用ILMとして存在するため、解析および最適化を容易に行うことが可能になる。   (4) Analysis and optimization after placement and routing as described with reference to FIG. 17 can be easily performed. That is, since the actual logical data or the like exists as the block ILM instead of the numerical value of the timing constraint, the state beyond the block boundary can be easily analyzed and optimized.

また、前述した(1)〜(4)以外にも、例えば、ブロックの設計を行う際に、関連するブロック外の物理データがブロック用ILMによって参照できるため、レイアウト時に考慮すべきシグナルインティグリティ、DFM、チップばらつきなどに対して十分に考慮することが可能になる。以上のようなことから、半導体集積回路のレイアウト設計を行う際に、設計期間の短縮、または設計の容易化が実現可能となる。具体的には、例えば、図1のようなブロック用ILMによる手法を用いることで、図13のようなバジェッティングによる手法に比べてレイアウト設計期間を1/3程度に低減できる見込みがある。   In addition to the above (1) to (4), for example, when designing a block, physical data outside the related block can be referred to by the block ILM, so that signal integrity to be considered at the time of layout is required. , DFM, chip variation, etc. can be fully considered. As described above, when designing the layout of a semiconductor integrated circuit, the design period can be shortened or the design can be facilitated. Specifically, for example, by using the block ILM method as shown in FIG. 1, it is expected that the layout design period can be reduced to about 1/3 compared to the budgeting method as shown in FIG.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

例えば、これまでの説明においては、通常のレイアウト設計の慣例に従いトップとブロックという概念を用いて説明を行ったが、ブロックのみで構成されるようなチップに対して本発明を適用することも可能である。   For example, in the description so far, the description has been made using the concept of top and block according to the usual layout design practice, but the present invention can also be applied to a chip composed of only blocks. It is.

本発明による半導体集積回路の設計方法および設計装置は、特に、システムLSIやマイクロコンピュータなどを代表とする大規模なLSIに対するレイアウト設計方法およびその設計ツールに適用して有益な技術であり、これに限らず、LSI全般に対するレイアウト設計方法およびその設計ツールとして広く適用可能である。   The method and apparatus for designing a semiconductor integrated circuit according to the present invention is a technology that is particularly useful when applied to a layout design method and design tool for a large-scale LSI represented by a system LSI or a microcomputer. However, the present invention can be widely applied as a layout design method and design tool for LSI in general.

本発明の一実施の形態による半導体集積回路の設計方法において、そのレイアウト設計フローの一例を示すフロー図である。FIG. 10 is a flowchart showing an example of the layout design flow in the method of designing a semiconductor integrated circuit according to the embodiment of the present invention. 図1のレイアウト設計フローにおいて、ブロック用ILMの論理データの一例を説明するための回路図である。FIG. 2 is a circuit diagram for explaining an example of logic data of a block ILM in the layout design flow of FIG. 1. 図1のレイアウト設計フローにおいて、ブロック用ILMが備える物理データの一例を説明するためのレイアウト概略図である。FIG. 3 is a layout schematic diagram for explaining an example of physical data included in a block ILM in the layout design flow of FIG. 1. 図1のレイアウト設計フローにおいて、ブロック用ILMの論理データの他の一例を説明するための回路図である。FIG. 8 is a circuit diagram for explaining another example of logic data of the block ILM in the layout design flow of FIG. 1. 図1のレイアウト設計フローにおいて、ブロック用ILMの論理データの更に他の一例を説明するための回路図である。FIG. 10 is a circuit diagram for explaining still another example of the logic data of the block ILM in the layout design flow of FIG. 1. 図1のレイアウト設計フローにおいて、初期および再調整用のブロック用ILMが備えるデータの一例を示す概略図であり、(a)は物理データ、(b)は論理データを示すものである。FIG. 2 is a schematic diagram illustrating an example of data included in an initial and readjustment block ILM in the layout design flow of FIG. 1, in which (a) shows physical data and (b) shows logical data. 図1のレイアウト設計フローにおいて、初期のブロック用ILMを用いたタイミング最適化の処理の一例を示す説明図である。FIG. 2 is an explanatory diagram showing an example of timing optimization processing using an initial block ILM in the layout design flow of FIG. 1. 図1のレイアウト設計フローにおいて、初期のブロック用ILMを用いたタイミング最適化の処理の他の一例を示す説明図である。FIG. 10 is an explanatory diagram showing another example of timing optimization processing using an initial block ILM in the layout design flow of FIG. 1. 図1のレイアウト設計フローにおいて、再調整用のブロック用ILMを用いたタイミング最適化の処理の一例を説明するための図である。FIG. 2 is a diagram for describing an example of timing optimization processing using a readjustment block ILM in the layout design flow of FIG. 1. 図1のレイアウト設計フローにおいて、トップに対する最適化処理の一例を説明するための図である。FIG. 2 is a diagram for explaining an example of optimization processing for a top in the layout design flow of FIG. 1. 本発明の一実施の形態による半導体集積回路の設計装置において、その構成の一例を示す概略図である。1 is a schematic diagram showing an example of the configuration of a semiconductor integrated circuit design apparatus according to an embodiment of the present invention; 本発明の一実施の形態による半導体集積回路の設計装置において、その構成の他の一例を示す概略図である。FIG. 10 is a schematic diagram showing another example of the configuration of a semiconductor integrated circuit design apparatus according to an embodiment of the present invention; 本発明の前提として検討した半導体集積回路の設計方法において、そのレイアウト設計フローの一例を示すフロー図である。FIG. 10 is a flowchart showing an example of a layout design flow in a semiconductor integrated circuit design method studied as a premise of the present invention. 図13の設計フローにおいて、そのバジェッティングの問題点を説明するための回路例である。It is a circuit example for demonstrating the problem of the budgeting in the design flow of FIG. 図13の設計フローにおいて、そのバジェッティングの他の問題点を説明するための回路例である。14 is a circuit example for explaining another problem of the budgeting in the design flow of FIG. 図13の設計フローにおいて、そのバジェッティングの更に他の問題点を説明するための図である。It is a figure for demonstrating the further another problem of the budgeting in the design flow of FIG. 図13の設計フローにおいて、そのバジェッティングの更に他の問題点を説明するための回路例である。14 is a circuit example for explaining still another problem of the budgeting in the design flow of FIG.

符号の説明Explanation of symbols

CPG1,CPG2 クロック発生回路
clk1,clk2 クロック信号
FF1〜FF4 フリップフロップ
TP トップ
BLK,BLK1,BLK2 ブロック
B_ILM1,B_ILM2 ブロック用ILM
DIN,DIN1,DIN11,DIN12 信号入力端子
CIN,CIN1,CIN2 クロック入力端子
DO2 信号出力端子
A1,A2 信号パス
HM ハードモジュール
CL セル
IND1,IND2 入力部
OUD1,OUD2 出力部
PRO1,PRO2 階層レイアウト用データ分割処理部
CPG1, CPG2 clock generation circuit clk1, clk2 clock signal FF1-FF4 flip-flop TP top BLK, BLK1, BLK2 block ILM for B_ILM1, B_ILM2 block
DIN, DIN1, DIN11, DIN12 Signal input terminal CIN, CIN1, CIN2 Clock input terminal DO2 Signal output terminal A1, A2 Signal path HM Hard module CL Cell IND1, IND2 Input section OUD1, OUD2 Output section PRO1, PRO2 Data division for hierarchical layout Processing part

Claims (11)

コンピュータを用い、チップ全体の設計データを複数のブロックの設計データに分割してレイアウト設計を行う半導体集積回路の設計方法であって、
前記複数のブロックのそれぞれに対して、自身のブロック以外の設計データの中から前記自身のブロックへの信号入出力に関連する設計データをインタフェースモデルとして抽出することで、前記複数のブロックにそれぞれ対応した複数のインタフェースモデルを生成する処理と、
前記それぞれのブロックに対する境界部の条件として前記生成したインタフェースモデルを用いることで、前記複数のブロックの配置配線を行う処理とを有することを特徴とする半導体集積回路の設計方法。
A method for designing a semiconductor integrated circuit that uses a computer to divide the design data of the entire chip into design data of a plurality of blocks and perform layout design,
For each of the plurality of blocks, design data related to signal input / output to the own block is extracted as an interface model from design data other than the own block, thereby corresponding to each of the plurality of blocks. Processing to generate a plurality of interface models,
A method for designing a semiconductor integrated circuit, comprising: processing to place and route the plurality of blocks by using the generated interface model as a boundary condition for each block.
請求項1記載の半導体集積回路の設計方法において、
前記インタフェースモデルの設計データは、
ネットリストのデータとなる論理データと、
セルの配置情報を含む物理データと、
前記物理データによって得られるRCデータとを有することを特徴とする半導体集積回路の設計方法。
The method for designing a semiconductor integrated circuit according to claim 1,
The design data of the interface model is
Logical data that is the netlist data,
Physical data including cell placement information;
A method for designing a semiconductor integrated circuit, comprising: RC data obtained from the physical data.
請求項1記載の半導体集積回路の設計方法において、
前記配置配線を行う処理の中には、最適化の処理が含まれることを特徴とする半導体集積回路の設計方法。
The method for designing a semiconductor integrated circuit according to claim 1,
The method for designing a semiconductor integrated circuit, wherein the process of performing the placement and routing includes an optimization process.
コンピュータを用い、チップ全体の設計データをトップの設計データと複数のブロックの設計データとに分割してレイアウト設計を行う半導体集積回路の設計方法であって、
前記複数のブロックのそれぞれに対して、自身のブロック以外の設計データの中から前記自身のブロックへの信号入出力に関連する設計データをインタフェースモデルとして抽出することで、前記複数のブロックにそれぞれ対応した複数の第1インタフェースモデルを生成する第1処理と、
前記トップに対して、前記トップ以外の設計データの中から前記トップへの信号入出力に関連する設計データを第2インタフェースモデルとして生成する第2処理と、
前記それぞれのブロックに対する境界部の条件として前記生成した第1インタフェースモデルを用いることで、前記複数のブロックの配置配線を行う第3処理と、
前記トップに対する境界部の条件として前記生成した第2インタフェースモデルを用いることで、前記トップの配置配線を行う第4処理と、
前記複数のブロックおよび前記トップの配置配線後の設計データを用い、前記配置配線後の複数のブロックのそれぞれに対して、自身のブロック以外の設計データの中から前記自身のブロックへの信号入出力に関連する設計データをインタフェースモデルとして抽出することで、前記配置配線後の複数のブロックにそれぞれ対応した複数の第3インタフェースモデルを生成する第5処理と、
前記配置配線後のそれぞれのブロックに対する境界部の条件として前記生成した第3インタフェースモデルを用いることで、前記複数のブロックの配置配線の微調整を行う第6処理とを有することを特徴とする半導体集積回路の設計方法。
A design method of a semiconductor integrated circuit that uses a computer to divide the design data of the entire chip into top design data and design data of a plurality of blocks and perform layout design,
For each of the plurality of blocks, design data related to signal input / output to the own block is extracted as an interface model from design data other than the own block, thereby corresponding to each of the plurality of blocks. A first process for generating a plurality of first interface models,
A second process for generating, as a second interface model, design data related to signal input / output to the top from among the design data other than the top for the top;
Using the generated first interface model as a boundary condition for each block, a third process for performing placement and routing of the plurality of blocks;
Using the generated second interface model as a boundary condition for the top, a fourth process for performing placement and routing of the top;
Using the design data after the placement and routing of the plurality of blocks and the top, for each of the plurality of blocks after placement and routing, signal input / output from the design data other than the own block to the own block A fifth process of generating a plurality of third interface models respectively corresponding to the plurality of blocks after the placement and routing by extracting design data related to
And a sixth process for finely adjusting the placement and routing of the plurality of blocks by using the generated third interface model as a boundary condition for each block after the placement and routing. Integrated circuit design method.
請求項4記載の半導体集積回路の設計方法において、
前記第1処理に際し、前記トップおよび前記複数のブロックに対してセルの仮の配置配線が行われ、
前記第1インタフェースモデルの設計データは、
ネットリストのデータとなる論理データと、
前記仮の配置配線後の情報である物理データと、
前記物理データによって得られるRCデータとを有することを特徴とする半導体集積回路の設計方法。
The method of designing a semiconductor integrated circuit according to claim 4,
In the first process, temporary placement and routing of cells is performed on the top and the plurality of blocks,
The design data of the first interface model is
Logical data that is the netlist data,
Physical data which is information after the provisional placement and routing;
A method for designing a semiconductor integrated circuit, comprising: RC data obtained from the physical data.
請求項4記載の半導体集積回路の設計方法において、
前記第1処理に際し、前記トップおよび前記複数のブロックに対してセルの仮の配置配線が行われ、
前記第2インタフェースモデルの設計データには、前記仮の配置配線後の情報である物理データが含まれることを特徴とする半導体集積回路の設計方法。
The method of designing a semiconductor integrated circuit according to claim 4,
In the first process, temporary placement and routing of cells is performed on the top and the plurality of blocks,
A design method of a semiconductor integrated circuit, wherein the design data of the second interface model includes physical data which is information after the temporary placement and routing.
請求項4記載の半導体集積回路の設計方法において、
前記第3インタフェースモデルの設計データは、
ネットリストのデータとなる論理データと、
前記第3処理および前記第4処理における前記配置配線の結果を反映したRCデータとを有することを特徴とする半導体集積回路の設計方法。
The method of designing a semiconductor integrated circuit according to claim 4,
The design data of the third interface model is
Logical data that is the netlist data,
RC design data reflecting the result of the placement and routing in the third process and the fourth process.
請求項4記載の半導体集積回路の設計方法において、
前記第3処理には、最適化の処理が含まれ、
前記第3処理で前記複数のブロックのそれぞれの境界部を最適化する際には、前記複数のブロックと前記複数の第1インタフェースモデルの両方に対して最適化が行われることを特徴とする半導体集積回路の設計方法。
The method of designing a semiconductor integrated circuit according to claim 4,
The third process includes an optimization process,
The semiconductor is characterized in that, when the boundary portions of the plurality of blocks are optimized in the third process, the optimization is performed on both the plurality of blocks and the plurality of first interface models. Integrated circuit design method.
請求項4記載の半導体集積回路の設計方法において、
前記第6処理には、最適化の処理が含まれ、
前記第6処理で前記複数のブロックのそれぞれの境界部を最適化する際には、前記複数の第3インタフェースモデルを参照して、前記複数のブロックに対して最適化が行われることを特徴とする半導体集積回路の設計方法。
The method of designing a semiconductor integrated circuit according to claim 4,
The sixth process includes an optimization process,
When the boundary portions of the plurality of blocks are optimized in the sixth process, the plurality of blocks are optimized with reference to the plurality of third interface models. A method for designing a semiconductor integrated circuit.
コンピュータを用い、チップ全体の設計データを複数のブロックの設計データに分割してレイアウト設計を行う半導体集積回路の設計装置であって、
前記コンピュータは、
前記複数のブロックのそれぞれに対して、自身のブロック以外の設計データの中から前記自身のブロックへの信号入出力に関連する設計データをインタフェースモデルとして自動的に抽出することで、前記複数のブロックにそれぞれ対応した複数のインタフェースモデルを自動で生成する処理と、
前記それぞれのブロックに対する境界部の条件として前記生成したインタフェースモデルを用い、予め設定した前記チップ全体のタイミング制約に基づいて、前記複数のブロックの配置配線を自動的に行う処理とを有することを特徴とする半導体集積回路の設計装置。
A semiconductor integrated circuit design apparatus that performs layout design by dividing design data of a whole chip into design data of a plurality of blocks using a computer,
The computer
For each of the plurality of blocks, the design data related to signal input / output to the block itself is automatically extracted from the design data other than the block itself as an interface model. Automatically generating multiple interface models corresponding to each of the
Using the generated interface model as a boundary condition for each block, and automatically performing placement and routing of the plurality of blocks based on preset timing constraints for the entire chip. A semiconductor integrated circuit design device.
請求項10記載の半導体集積回路の設計装置において、
前記生成されるインタフェースモデルの設計データは、
ネットリストのデータとなる論理データと、
セルの配置情報を含む物理データと、
前記物理データによって得られるRCデータとを有することを特徴とする半導体集積回路の設計装置。
The apparatus for designing a semiconductor integrated circuit according to claim 10, wherein
The generated interface model design data is:
Logical data that is the netlist data,
Physical data including cell placement information;
A design apparatus for a semiconductor integrated circuit, comprising RC data obtained from the physical data.
JP2005158745A 2005-05-31 2005-05-31 Method and device for designing semiconductor integrated circuit Pending JP2006338090A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005158745A JP2006338090A (en) 2005-05-31 2005-05-31 Method and device for designing semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005158745A JP2006338090A (en) 2005-05-31 2005-05-31 Method and device for designing semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2006338090A true JP2006338090A (en) 2006-12-14

Family

ID=37558623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005158745A Pending JP2006338090A (en) 2005-05-31 2005-05-31 Method and device for designing semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2006338090A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210109A (en) * 2007-02-26 2008-09-11 Nec Corp Design method and design device for semiconductor integrated circuit
JP2010257164A (en) * 2009-04-24 2010-11-11 Renesas Electronics Corp Design method of semiconductor integrated circuit device, and program
CN109388826A (en) * 2017-08-09 2019-02-26 默升科技集团有限公司 The die interface of enabled 2.5D device level static timing analysis

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210109A (en) * 2007-02-26 2008-09-11 Nec Corp Design method and design device for semiconductor integrated circuit
JP2010257164A (en) * 2009-04-24 2010-11-11 Renesas Electronics Corp Design method of semiconductor integrated circuit device, and program
US8281269B2 (en) 2009-04-24 2012-10-02 Renesas Electronics Corporation Method of semiconductor integrated circuit device and program
CN109388826A (en) * 2017-08-09 2019-02-26 默升科技集团有限公司 The die interface of enabled 2.5D device level static timing analysis
CN109388826B (en) * 2017-08-09 2023-09-12 默升科技集团有限公司 Die interface enabling 2.5D device-level static timing analysis

Similar Documents

Publication Publication Date Title
US6845494B2 (en) Method for generating design constraints for modules in a hierarchical integrated circuit design system
US9141740B2 (en) Methods, systems, and articles of manufacture for implementing full-chip optimization with reduced physical design data
US5724250A (en) Method and apparatus for performing drive strength adjust optimization in a circuit design
US7243315B2 (en) Methods for producing structured application-specific integrated circuits that are equivalent to field-programmable gate arrays
US7434187B2 (en) Method and apparatus to estimate delay for logic circuit optimization
US8239805B2 (en) Method for designing integrated circuits employing a partitioned hierarchical design flow and an apparatus employing the method
US8341573B2 (en) Modeling approach for timing closure in hierarchical designs leveraging the separation of horizontal and vertical aspects of the design flow
JP2007183932A (en) Timing analysis method and device
JP2004502259A (en) Method and system for checking tiered metal terminations, surroundings, and exposure
US8719752B1 (en) Hierarchical crosstalk noise analysis model generation
US10928442B2 (en) Computer implemented methods and computing systems for designing integrated circuits by considering back-end-of-line
US8281269B2 (en) Method of semiconductor integrated circuit device and program
US10437946B1 (en) Using implemented core sources for simulation
JP4918934B2 (en) Semiconductor integrated circuit delay analysis apparatus, delay analysis method, and program thereof
US8332798B2 (en) Using synthesis to place macros
US7975249B2 (en) Operation timing verifying apparatus and program
JP2007004563A (en) Library creating device, library creation program and library creating method
JP2006338090A (en) Method and device for designing semiconductor integrated circuit
US7418675B2 (en) System and method for reducing the power consumption of clock systems
US8739093B1 (en) Timing characteristic generation and analysis in integrated circuit design
US8336013B2 (en) Determining an order for visiting circuit blocks in a circuit design for fixing design requirement violations
US20090241082A1 (en) Method and System for Generating an Accurate Physical Realization for an Integrated Circuit Having Incomplete Physical Constraints
JP3561661B2 (en) Semiconductor integrated circuit and method of designing semiconductor integrated circuit
US20230205969A1 (en) Techniques for modeling and verification of convergence for hierarchical domain crossings
JP3476390B2 (en) Delay optimization design method for semiconductor integrated circuits