JP4783712B2 - Layout design method, layout design program, and layout design apparatus - Google Patents

Layout design method, layout design program, and layout design apparatus Download PDF

Info

Publication number
JP4783712B2
JP4783712B2 JP2006294501A JP2006294501A JP4783712B2 JP 4783712 B2 JP4783712 B2 JP 4783712B2 JP 2006294501 A JP2006294501 A JP 2006294501A JP 2006294501 A JP2006294501 A JP 2006294501A JP 4783712 B2 JP4783712 B2 JP 4783712B2
Authority
JP
Japan
Prior art keywords
layout
timing error
timing
block
hlb
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.)
Expired - Fee Related
Application number
JP2006294501A
Other languages
Japanese (ja)
Other versions
JP2008112299A (en
Inventor
学彦 上味
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2006294501A priority Critical patent/JP4783712B2/en
Publication of JP2008112299A publication Critical patent/JP2008112299A/en
Application granted granted Critical
Publication of JP4783712B2 publication Critical patent/JP4783712B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、レイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置に関する。   The present invention relates to a layout design method, a layout design program, and a layout design apparatus.

一般に、大規模集積回路(LSI:Large Scale Integration)は、その開発期間を短縮するために、階層レイアウト設計という手法を用いて開発される。この手法は、論理回路全体をネットリストの論理モジュールごとに階層化し、各階層レイアウトブロック(HLB:Hierarchy Layout Block)の処理を平行して行うことによって、TAT(Turn Around Time)の短縮化を図っている。   In general, a large scale integration (LSI) is developed using a technique called hierarchical layout design in order to shorten the development period. In this method, the entire logic circuit is hierarchized for each logic module of the netlist, and processing of each hierarchical layout block (HLB) is performed in parallel, thereby shortening TAT (Turn Around Time). ing.

従来、次のような論理回路のブロック分割方法が公知である。この方法は、既にブロック分割されている論理回路のブロック分割方法において、互いに異なるブロックに所属するセルであって、これらのセル間のタイミング制約による最大許容遅延時間が所定値より短い組み合わせを抽出するステップと、これら抽出されたセルが所属するそれぞれのブロックの大きさを推定することにより、これらのブロック間に亙ってセルを接続するための配線長を求めるステップと、求められた配線長による遅延時間がこれらセル間のタイミング制約による最大許容遅延時間を超えた場合に、新たにブロックを生成して、これらのセルを新たに生成したブロックに移動させるステップとを包含する(例えば、下記特許文献1参照。)。   Conventionally, the following logic circuit block division method is known. This method is a block division method for a logic circuit that has already been divided into blocks, and extracts cells that belong to different blocks and that have a maximum allowable delay time shorter than a predetermined value due to timing constraints between these cells. By calculating the length of each block to which these extracted cells belong, and by calculating the wiring length for connecting cells across these blocks, and by the determined wiring length When the delay time exceeds the maximum allowable delay time due to the timing constraint between these cells, a new block is generated and these cells are moved to the newly generated block (for example, the following patents) Reference 1).

特開平6−204337号公報(請求項1)JP-A-6-204337 (Claim 1)

しかしながら、従来の方法では、レイアウト前にHLBに分割するため、配置位置や配線性を考慮したブロックに分割するのが困難であり、タイミングエラーが起こりやすい。また、HLBに切り出した後にトップおよび各HLBの配置・配線を行うため、HLB端子を最適な位置に生成するのが困難である。従って、静的タイミング解析(STA:Static Timing Analysis)を実施したときに、タイミングエラーが多発したり、配線の収束が厳しくてHLBのサイズを見直す必要が生じたりする。そのため、TATを十分に短縮することができないという問題点がある。   However, in the conventional method, since it is divided into HLB before layout, it is difficult to divide into blocks in consideration of the arrangement position and wiring property, and timing errors are likely to occur. In addition, since the top and each HLB are arranged and wired after being cut out to the HLB, it is difficult to generate the HLB terminal at an optimal position. Therefore, when a static timing analysis (STA) is performed, a timing error frequently occurs or the convergence of wiring is severe and it is necessary to review the size of the HLB. Therefore, there is a problem that TAT cannot be shortened sufficiently.

この発明は、上述した従来技術による問題点を解消するため、HLB端子の位置に起因するタイミングエラー、HLBのサイズや配置位置に起因するタイミングエラー、および配線性の悪化などを防止し、それによって、TATを十分に短縮することができるレイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置を提供することを目的とする。   In order to eliminate the above-described problems caused by the conventional technology, the present invention prevents timing errors caused by the position of the HLB terminal, timing errors caused by the size and arrangement position of the HLB, and deterioration of wiring properties, thereby. An object of the present invention is to provide a layout design method, a layout design program, and a layout design apparatus capable of sufficiently shortening TAT.

上述した課題を解決し、目的を達成するため、本発明者は、従来の階層レイアウト設計の各工程について詳細な検討を行った。その結果、従来の階層レイアウト設計法では、レイアウトの開始から最初のSTAを実施するまでの期間と、最初のSTAを実施してからレイアウトの完了までの期間を比較すると、後者の占める割合が多いことが判明した。その要因は、レイアウトを行う前に階層化するため、最初のSTAの実施時にタイミングエラーが多発することが挙げられる。また、最初のSTAを実施するまでは、フラットの物理設計データで開発を進めても、階層化したデータで開発を進めても、差がないことが判明した。   In order to solve the above-described problems and achieve the object, the present inventor has made a detailed study on each process of the conventional hierarchical layout design. As a result, in the conventional hierarchical layout design method, when the period from the start of layout to the execution of the first STA is compared with the period from the execution of the first STA to the completion of the layout, the latter occupies a large proportion. It has been found. The factor is that hierarchies are performed before layout is performed, so that timing errors frequently occur when the first STA is performed. In addition, until the first STA was implemented, it was found that there was no difference between development with flat physical design data and development with hierarchical data.

本発明は、このような知見に基づきなされたものであり、以下の特徴を有する。まず、フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行い、タイミングエラーが発生したパス(以下、タイミングエラーパスとする)を抽出する。次いで、抽出されたタイミングエラーパスを含む領域をHLBに分割し、HLBごとにタイミング制約を分割する。次いで、分割されたタイミング制約に基づいて、HLBごとにレイアウトを行い、レイアウト済みのHLBのデータを結合してフラットの物理設計データを生成する。   The present invention has been made based on such findings and has the following characteristics. First, a placement / wiring process and a timing analysis process are performed based on flat physical design data, and a path where a timing error has occurred (hereinafter referred to as a timing error path) is extracted. Next, the region including the extracted timing error path is divided into HLBs, and the timing constraints are divided for each HLB. Next, layout is performed for each HLB based on the divided timing constraints, and flat physical design data is generated by combining the HLB data that has already been laid out.

この発明によれば、フラットの物理設計データに基づいて、レイアウトを開始し、配置・配線処理後にHLBに分割するので、実配線に沿ったHLB端子を生成できる。従って、HLB端子位置に起因するタイミングエラーを防止できる。また、HLBのサイズや位置に起因するタイミングエラーや、配線性の悪化を防止できる。さらに、HLB分割後、レイアウト設計が完了するまでは、各HLBのレイアウトを平行して処理できるので、タイミング収束までの時間が短縮され、開発期間を短くできる。   According to the present invention, since the layout is started based on the flat physical design data and divided into the HLB after the placement / wiring process, the HLB terminals along the actual wiring can be generated. Therefore, a timing error due to the HLB terminal position can be prevented. In addition, it is possible to prevent timing errors due to the size and position of the HLB and deterioration of wiring properties. Furthermore, since the layout of each HLB can be processed in parallel until the layout design is completed after the HLB division, the time until timing convergence is shortened and the development period can be shortened.

本発明にかかるレイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置によれば、HLB端子の位置に起因するタイミングエラー、HLBのサイズや配置位置に起因するタイミングエラー、および配線性の悪化などを防止できる。従って、TATを十分に短縮することができるという効果を奏する。   According to the layout design method, the layout design program, and the layout design apparatus according to the present invention, it is possible to prevent a timing error caused by the position of the HLB terminal, a timing error caused by the size and arrangement position of the HLB, and deterioration of the wiring property. . Therefore, the TAT can be sufficiently shortened.

以下に添付図面を参照して、この発明にかかるレイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置の好適な実施の形態を詳細に説明する。   Exemplary embodiments of a layout design method, a layout design program, and a layout design apparatus according to the present invention will be explained below in detail with reference to the accompanying drawings.

(レイアウト設計装置のハードウェア構成)
まず、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
(Hardware configuration of layout design device)
First, the hardware configuration of the layout design apparatus according to the embodiment of the present invention will be described. FIG. 1 is a block diagram showing a hardware configuration of a layout design apparatus according to an embodiment of the present invention.

図1において、レイアウト設計装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部は、バス100によってそれぞれ接続されている。   In FIG. 1, the layout design apparatus is an example of a CPU 101, ROM 102, RAM 103, HDD (hard disk drive) 104, HD (hard disk) 105, FDD (flexible disk drive) 106, and a removable recording medium. FD (flexible disk) 107, display 108, I / F (interface) 109, keyboard 110, mouse 111, scanner 112, and printer 113. Each component is connected by a bus 100.

ここで、CPU101は、レイアウト設計装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御に従ってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。   Here, the CPU 101 controls the entire layout design apparatus. The ROM 102 stores a program such as a boot program. The RAM 103 is used as a work area for the CPU 101. The HDD 104 controls reading / writing of data with respect to the HD 105 according to the control of the CPU 101. The HD 105 stores data written under the control of the HDD 104.

FDD106は、CPU101の制御に従ってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータをレイアウト設計装置に読み取らせたりする。   The FDD 106 controls reading / writing of data with respect to the FD 107 according to the control of the CPU 101. The FD 107 stores data written under the control of the FDD 106, or causes the layout design apparatus to read data stored in the FD 107.

また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   In addition to the FD 107, the removable recording medium may be a CD-ROM (CD-R, CD-RW), MO, DVD (Digital Versatile Disk), memory card, or the like. The display 108 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. As this display 108, for example, a CRT, a TFT liquid crystal display, a plasma display, or the like can be adopted.

I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、例えばモデムやLANアダプタなどを採用することができる。   The I / F 109 is connected to a network 114 such as the Internet through a communication line, and is connected to other devices via the network 114. The I / F 109 controls an internal interface with the network 114 and controls data input / output from an external device. For example, a modem or a LAN adapter can be employed as the I / F 109.

キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。   The keyboard 110 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data. Moreover, a touch panel type input pad or a numeric keypad may be used. The mouse 111 performs cursor movement, range selection, window movement, size change, and the like. A trackball or a joystick may be used as long as they have the same function as a pointing device.

スキャナ112は、画像を光学的に読み取り、レイアウト設計装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。   The scanner 112 optically reads an image and takes in the image data into the layout design apparatus. The scanner 112 may have an OCR function. The printer 113 prints image data and document data. As the printer 113, for example, a laser printer or an ink jet printer can be employed.

(レイアウト設計装置の機能的構成)
次に、この発明の実施の形態にかかるレイアウト設計装置の機能的構成について説明する。図2は、この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。図2に示すように、レイアウト設計装置は、フラットレイアウト部1、タイミングエラーパス抽出部2、ブロック分割部3、タイミング制約分割部4、ブロックレイアウト部5および結合部6を備えている。
(Functional configuration of layout design device)
Next, a functional configuration of the layout design apparatus according to the embodiment of the present invention will be described. FIG. 2 is a block diagram showing a functional configuration of the layout design apparatus according to the embodiment of the present invention. As shown in FIG. 2, the layout design apparatus includes a flat layout unit 1, a timing error path extraction unit 2, a block division unit 3, a timing constraint division unit 4, a block layout unit 5, and a combination unit 6.

フラットレイアウト部1は、フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行う。タイミングエラーパス抽出部2は、フラットレイアウト部1の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出する。ブロック分割部3は、タイミングエラーパス抽出部2により抽出されたタイミングエラーパスを含む領域をHLBに分割する。   The flat layout unit 1 performs placement / wiring processing and timing analysis processing based on flat physical design data. The timing error path extraction unit 2 extracts a path in which a timing error has occurred by the static timing analysis processing of the flat layout unit 1. The block division unit 3 divides the region including the timing error path extracted by the timing error path extraction unit 2 into HLBs.

タイミング制約分割部4は、ブロック分割部3により分割されたHLBごとにタイミング制約を分割する。ブロックレイアウト部5は、タイミング制約分割部4により分割されたタイミング制約に基づいて、ブロック分割部3により分割されたHLBごとにレイアウトを行う。結合部6は、ブロックレイアウト部5によりレイアウトが済んだHLBのデータを結合してフラットの物理設計データを生成する。   The timing constraint dividing unit 4 divides the timing constraint for each HLB divided by the block dividing unit 3. The block layout unit 5 performs a layout for each HLB divided by the block dividing unit 3 based on the timing constraints divided by the timing constraint dividing unit 4. The combining unit 6 combines the HLB data that has been laid out by the block layout unit 5 to generate flat physical design data.

上述したフラットレイアウト部1、タイミングエラーパス抽出部2、ブロック分割部3、タイミング制約分割部4、ブロックレイアウト部5および結合部6は、具体的には、例えば、図1に示したROM102、RAM103、HD105などの記録媒体に記録された制御プログラムを、レイアウトデータやライブラリデータを用いて、CPU101が実行することによって、またはI/F109によって、その機能を実現する。   Specifically, the flat layout unit 1, the timing error path extraction unit 2, the block division unit 3, the timing constraint division unit 4, the block layout unit 5, and the combination unit 6 described above are, for example, the ROM 102 and the RAM 103 illustrated in FIG. 1. The control program recorded on a recording medium such as the HD 105 is executed by the CPU 101 using layout data or library data, or the function is realized by the I / F 109.

ここで、レイアウトデータは、LSI論理設計データ、LSI物理設計データ、STA制約データ、LSIタイミング解析結果(STAデータ)およびタイミングエラーパスリストを含む。LSI論理設計データは、すべての機能モジュールを含むチップトップのネットリストである。LSI物理設計データは、チップ内の物理配置データであり、フラットでレイアウト後の物理情報である。   Here, the layout data includes LSI logic design data, LSI physical design data, STA constraint data, LSI timing analysis results (STA data), and a timing error path list. The LSI logic design data is a chip top netlist including all functional modules. The LSI physical design data is physical arrangement data in the chip, and is flat and physical information after layout.

STA制約データは、STAを考慮した配置処理時に参照されるデータである。STA制約データには、回路のクロック情報、マルチパスおよびフォルスパス等が記述されている。LSIタイミング解析結果は、実配線STA処理の結果を示すSTAデータであり、パスの遅延、スラックおよびエラーのリストを含む。タイミングエラーパスリストは、LSIタイミング解析結果とLSI物理設計データに基づいて、STA解析プログラムにより出力されるエラーパス情報である。   The STA constraint data is data that is referred to at the time of placement processing considering STA. The STA constraint data describes circuit clock information, multipath, false path, and the like. The LSI timing analysis result is STA data indicating the result of the actual wiring STA process, and includes a list of path delay, slack, and error. The timing error path list is error path information output by the STA analysis program based on the LSI timing analysis result and the LSI physical design data.

ライブラリデータは、セルタイミングライブラリおよび物理セルライブラリを含む。セルタイミングライブラリは、ユニットセルおよびマクロセルのタイミングライブラリである。物理セルライブラリは、ユニットセルおよびマクロセルの面積ライブラリである。   The library data includes a cell timing library and a physical cell library. The cell timing library is a unit cell and macro cell timing library. The physical cell library is an area library of unit cells and macro cells.

制御プログラムは、STA解析プログラム、HLB分割プログラム、HLB結合プログラムおよびネットリスト生成プログラムを含む。STA解析プログラムは、LSIタイミング解析結果とLSI物理設計データに基づいて、エラーパス情報、配置座標およびスラックを出力するプログラムである。HLB分割プログラムは、エラーパス情報およびHLBサイズに基づいて、分割箇所の決定と分割を行うプログラムである。   The control program includes an STA analysis program, an HLB division program, an HLB combination program, and a net list generation program. The STA analysis program is a program that outputs error path information, arrangement coordinates, and slack based on the LSI timing analysis result and the LSI physical design data. The HLB division program is a program that determines and divides a division location based on the error path information and the HLB size.

HLB結合プログラムは、各HLBのデータを結合し、フラットデータを生成するプログラムである。ネットリスト生成プログラムは、バッファの追加や削除、またはセルスワップ等により更新された各HLBのデータとフラットのネットリストに基づいて、レイアウト後のネットリストを生成するプログラムである。   The HLB combining program is a program that combines flat HLB data and generates flat data. The netlist generation program is a program for generating a netlist after layout based on each HLB data and flat netlist updated by addition or deletion of buffers or cell swap.

(レイアウト設計処理手順)
次に、この発明の実施の形態にかかるレイアウト設計装置の処理手順について説明する。図3は、この発明の実施の形態にかかるレイアウト設計装置の処理手順を示すフローチャートである。図3に示すように、まず、フラットレイアウト部1により、フラットの物理設計データを用いてレイアウト設計を開始し、配置・配線処理を行った後、実配線STAを実施する(ステップS1)。このSTAの実施により、タイミングエラーパスリストが得られる。
(Layout design process)
Next, a processing procedure of the layout design apparatus according to the embodiment of the present invention will be described. FIG. 3 is a flowchart showing a processing procedure of the layout design apparatus according to the embodiment of the present invention. As shown in FIG. 3, first, the flat layout unit 1 starts layout design using flat physical design data, and after performing placement and wiring processing, actual wiring STA is performed (step S1). By performing this STA, a timing error path list is obtained.

次いで、タイミングエラーパス抽出部2により、タイミングエラーパスリストに基づいて、タイミングエラーの発生箇所を調べ、該リストに挙げられた始点および終点のパスを解析する(ステップS2)。この解析によって、タイミングエラーパスが抽出される。次いで、ブロック分割部3により、エラー発生箇所を分割し、HLBとして切り出す(ステップS3)。これによって、タイミングエラーパス抽出部2により抽出されたタイミングエラーパスを含む領域がHLBとして切り出される。   Next, the timing error path extraction unit 2 examines the location where the timing error has occurred based on the timing error path list, and analyzes the start point and end point paths listed in the list (step S2). By this analysis, a timing error path is extracted. Next, the block dividing unit 3 divides the location where the error occurred and cuts it out as an HLB (step S3). As a result, the region including the timing error path extracted by the timing error path extraction unit 2 is cut out as an HLB.

続いて、ブロック分割部3により、ステップS3で切り出されたHLBに含まれるセル数を調べ、ゲート数に換算する(ステップS4)。そして、HLBに含まれるゲート数が例えば1Mゲートよりも小さいか否かを判断する(ステップS5)。なお、ゲート数の基準は、1Mゲートに限らない。1Mゲートよりも大きい場合(ステップS5:No)には、ブロック分割部3により、当該HLBを均等に2分割し(ステップS6)、ステップS4に戻る。その際、エラー発生箇所を調べて、HLBのサイズを見直す。   Subsequently, the block dividing unit 3 examines the number of cells included in the HLB extracted in step S3 and converts it to the number of gates (step S4). Then, it is determined whether or not the number of gates included in the HLB is smaller than, for example, 1M gate (step S5). The reference for the number of gates is not limited to 1M gate. When it is larger than 1M gate (step S5: No), the block dividing unit 3 equally divides the HLB into two (step S6) and returns to step S4. At that time, the location where the error has occurred is examined and the size of the HLB is reviewed.

そして、2分割されたそれぞれのHLBについて、セル数からゲート数への換算(ステップS4)、およびゲート数が例えば1Mゲートよりも小さいか否かの判断(ステップS5)を行う。タイミングエラーパスを含むすべてのHLBのゲート数が例えば1Mゲートよりも小さくなったら(ステップS5:Yes)、ブロック分割部3により、決定したサイズでHLBを切り出す(ステップS7)。その際、複数のHLBに跨がるパスについては、タイミングエラーの有無にかかわらず、HLB同士の境界にHLB端子を生成し、そのHLB端子でパスを分割する。   Then, for each HLB divided into two, conversion from the number of cells to the number of gates (step S4) and determination of whether or not the number of gates is smaller than, for example, 1M gates are performed (step S5). When the number of gates of all HLBs including the timing error path becomes smaller than, for example, 1M gates (step S5: Yes), the block dividing unit 3 cuts out HLBs with the determined size (step S7). At this time, for a path extending over a plurality of HLBs, regardless of the presence or absence of a timing error, an HLB terminal is generated at the boundary between the HLBs, and the path is divided at the HLB terminal.

次いで、タイミング制約分割部4により、ブロック分割部3により分割されたHLBごとにタイミング制約を分割する(ステップS8)。複数のHLBに跨がるタイミングエラーパスについては、それぞれのHLBにスラック値を分割する。その際、例えば、タイミングエラーパスのスラック値を、当該パスの、各HLB内での配線長の比率に基づいて、分割してもよい。   Next, the timing constraint dividing unit 4 divides the timing constraint for each HLB divided by the block dividing unit 3 (step S8). For timing error paths that straddle multiple HLBs, the slack value is divided into the respective HLBs. At this time, for example, the slack value of the timing error path may be divided based on the ratio of the wiring length in each HLB of the path.

次いで、ブロックレイアウト部5により、タイミング制約分割部4により分割されたタイミング制約に基づいて、HLBごとにレイアウトを行う(ステップS9)。各HLBのレイアウトは、平行して行われる。次いで、各HLBが、HLBごとに分割されたSTAのタイミング制約を満たすか否かを判断する(ステップS10)。タイミング制約を満たさないHLBがある場合(ステップS10:No)には、当該HLBについて、タイミング制約を満たすようにタイミングECO、すなわちタイミング調整のための回路変更を繰り返す(ステップS11)。   Next, the block layout unit 5 performs layout for each HLB based on the timing constraint divided by the timing constraint dividing unit 4 (step S9). The layout of each HLB is performed in parallel. Next, it is determined whether or not each HLB satisfies the timing constraint of the STA divided for each HLB (step S10). If there is an HLB that does not satisfy the timing constraint (step S10: No), the timing ECO, that is, a circuit change for timing adjustment is repeated so as to satisfy the timing constraint for the HLB (step S11).

すべてのHLBがタイミング制約を満たせば(ステップS10:Yes)、結合部6により、レイアウトの済んだ個々のHLBデータを結合してフラットの物理設計データとする(ステップS12)。そして、新たに得られたフラットの物理設計データを用いて実配線STAを実施する。その結果は、当然のことながら、タイミングエラーなしとなる。この物理設計データを用いて、レイアウト開始時の論理設計データを更新し、終了する。次に、具体例を示しながら、レイアウト設計処理の各工程について詳細に説明する。   If all the HLBs satisfy the timing constraints (step S10: Yes), the combining unit 6 combines the individual HLB data having been laid out into flat physical design data (step S12). Then, the actual wiring STA is performed using the newly obtained flat physical design data. The result is of course no timing error. Using this physical design data, the logical design data at the start of the layout is updated, and the process ends. Next, each step of the layout design process will be described in detail with a specific example.

図4は、タイミングエラーパスリストの一例を示す図表である。前記ステップS1において実配線STAを実施した結果、例えば図4に示すタイミングエラーパスリスト11が得られたとする。図5に、前記ステップS2において図4に示すタイミングエラーパスリストに基づいて抽出されたタイミングエラーパスの一例を示す。図5において、符号12は、チップ枠であり、符号13は、A点およびB点をそれぞれ始点および終点とするタイミングエラーパスである。   FIG. 4 is a chart showing an example of the timing error path list. Assume that the timing error path list 11 shown in FIG. 4, for example, is obtained as a result of the actual wiring STA in step S1. FIG. 5 shows an example of the timing error path extracted in step S2 based on the timing error path list shown in FIG. In FIG. 5, reference numeral 12 denotes a chip frame, and reference numeral 13 denotes a timing error path having a start point and an end point at points A and B, respectively.

以後、このように始点および終点が特定されたタイミングエラーパスを、始点および終点を用いてタイミングエラーパスABと表記する。図5において、符号14、15、16および17は、それぞれ、タイミングエラーパスCD、タイミングエラーパスEF、タイミングエラーパスGHおよびタイミングエラーパスIJである。   Hereinafter, the timing error path in which the start point and the end point are specified in this way is referred to as a timing error path AB using the start point and the end point. In FIG. 5, reference numerals 14, 15, 16 and 17 denote a timing error path CD, a timing error path EF, a timing error path GH and a timing error path IJ, respectively.

図6は、前記ステップS3においてHLBを切り出す際の分割領域の決定方法を説明する模式図である。図6に示すように、まず、タイミングエラーパスAB13の領域21を第1HLB31とする。続いて、タイミングエラーパスCD14の領域22がタイミングエラーパスAB13と重なるので、タイミングエラーパスCD14の領域22を第1HLB31とする。続いて、タイミングエラーパスEF15の領域23がタイミングエラーパスCD14と重なるので、タイミングエラーパスEF15の領域23を第1HLB31とする。   FIG. 6 is a schematic diagram for explaining a method of determining a divided region when cutting out an HLB in step S3. As shown in FIG. 6, first, the region 21 of the timing error path AB13 is set as a first HLB 31. Subsequently, since the area 22 of the timing error path CD14 overlaps with the timing error path AB13, the area 22 of the timing error path CD14 is set as the first HLB 31. Subsequently, since the area 23 of the timing error path EF15 overlaps the timing error path CD14, the area 23 of the timing error path EF15 is set as the first HLB 31.

一方、タイミングエラーパスGH16の領域24は、第1HLB31と重ならないので、タイミングエラーパスGH16の領域24を第2HLB32とする。続いて、タイミングエラーパスIJ17の領域25がタイミングエラーパスGH16と重なるので、タイミングエラーパスIJ17の領域25を第2HLB32とする。このようにして、2つのHLB31,32ができる。   On the other hand, since the area 24 of the timing error path GH16 does not overlap the first HLB 31, the area 24 of the timing error path GH16 is set as the second HLB 32. Subsequently, since the area 25 of the timing error path IJ17 overlaps the timing error path GH16, the area 25 of the timing error path IJ17 is set as the second HLB 32. In this way, two HLBs 31 and 32 are formed.

図7は、前記ステップS4〜S7においてHLBを切り出す際の分割領域の決定方法を説明する模式図である。図7に示すように、まず、第1HLB31および第2HLB32のそれぞれについて、セル数をゲート数に換算し(ステップS4)、そのゲート数が例えば1Mゲートよりも小さいか否かを判断する(ステップS5)。ここでは、第1HLB31のゲート数が1Mゲート以上であり、第2HLB32ゲート数が1Mゲートよりも小さいとする。従って、第2HLB32については、この領域に決定である。   FIG. 7 is a schematic diagram for explaining a method of determining a divided region when cutting out an HLB in steps S4 to S7. As shown in FIG. 7, first, for each of the first HLB 31 and the second HLB 32, the number of cells is converted into the number of gates (step S4), and it is determined whether or not the number of gates is smaller than, for example, 1M gate (step S5). ). Here, it is assumed that the number of gates of the first HLB 31 is 1 M or more and the number of second HLB 32 gates is smaller than the 1 M gate. Therefore, the second HLB 32 is determined in this area.

第1HLB31については、タイミングエラーパスからHLBのサイズを変更できるか否かを調べ、第1HLB31のサイズを変更する。ここでは、第1HLB31を均等に2分割し(ステップS6)、その一方を第1HLB33とし、他方を第3HLB34とする。そして、第1HLB33および第3HLB34のそれぞれについて、セル数をゲート数に換算し(ステップS4)、そのゲート数が例えば1Mゲートよりも小さいか否かを判断する(ステップS5)。   For the first HLB 31, it is checked whether or not the size of the HLB can be changed from the timing error path, and the size of the first HLB 31 is changed. Here, the first HLB 31 is equally divided into two (step S6), one of which is the first HLB 33 and the other is the third HLB 34. Then, for each of the first HLB 33 and the third HLB 34, the number of cells is converted into the number of gates (step S4), and it is determined whether or not the number of gates is smaller than, for example, 1M gate (step S5).

ここでは、第1HLB33および第3HLB34のいずれもゲート数が1Mゲートよりも小さいとする。従って、第1HLB33および第3HLB34の領域(サイズ)が決定される(ステップS7)。第1HLB33または第3HLB34のゲート数が1Mゲート以上である場合には、ゲート数が例えば1Mゲートよりも小さくなるまで、HLBの分割を繰り返す。このようにHLBを分割した結果、図6に示すタイミングエラーパスCD14は、第1HLB33と第3HLB34に跨がることになる。   Here, it is assumed that the number of gates of both the first HLB 33 and the third HLB 34 is smaller than the 1M gate. Accordingly, the areas (sizes) of the first HLB 33 and the third HLB 34 are determined (step S7). When the number of gates of the first HLB 33 or the third HLB 34 is 1M or more, the division of the HLB is repeated until the number of gates becomes smaller than, for example, 1M gates. As a result of dividing the HLB in this way, the timing error path CD14 shown in FIG. 6 straddles the first HLB 33 and the third HLB 34.

そこで、第1HLB33と第3HLB34の境界部分にHLB端子35を生成する。そして、タイミングエラーパスCD14を、始点CからHLB端子35を終点KとするタイミングエラーパスCK18と、HLB端子35を始点Lとし、終点DとするタイミングエラーパスLD19に分割する。また、第1HLB33と第3HLB34に跨がる、タイミングエラーのないパス(図7に点線で示されている)についても、同様に、HLB端子36を生成し、パスを分割する。   Therefore, the HLB terminal 35 is generated at the boundary portion between the first HLB 33 and the third HLB 34. Then, the timing error path CD14 is divided into a timing error path CK18 having the HLB terminal 35 as the end point K from the start point C, and a timing error path LD19 having the HLB terminal 35 as the start point L and the end point D. Similarly, for the path without the timing error (indicated by the dotted line in FIG. 7) straddling the first HLB 33 and the third HLB 34, the HLB terminal 36 is generated and the path is divided.

図8、図9および図10は、それぞれ、図4に示すタイミングエラーパスリストを第1HLB、第2HLBおよび第3HLBに分割したリストを示す図表である。図8に示すように、第1HLB33のタイミングエラーパスリスト41には、図4に示すタイミングエラーパスリスト11においてNo.1で示されるタイミングエラーパスABと、No.2で示されるタイミングエラーパスCDのうちのCKの部分が含まれている。図9に示すように、第2HLB32のタイミングエラーパスリスト42には、図4に示すタイミングエラーパスリスト11においてNo.4で示されるタイミングエラーパスGHとNo.5で示されるタイミングエラーパスIJが含まれている。   8, FIG. 9, and FIG. 10 are tables showing lists obtained by dividing the timing error path list shown in FIG. 4 into the first HLB, the second HLB, and the third HLB, respectively. As shown in FIG. 8, the timing error path list 41 of the first HLB 33 includes No. 1 in the timing error path list 11 shown in FIG. 1 and the timing error path AB shown in FIG. CK of the timing error path CD indicated by 2 is included. As shown in FIG. 9, the timing error path list 42 of the second HLB 32 includes No. 1 in the timing error path list 11 shown in FIG. 4. The timing error paths GH and No. 4 shown in FIG. A timing error path IJ indicated by 5 is included.

図10に示すように、第3HLB34のタイミングエラーパスリスト43には、図4に示すタイミングエラーパスリスト11においてNo.2で示されるタイミングエラーパスCDのうちのLDの部分と、No.3で示されるタイミングエラーパスEFが含まれている。ここでは、例えば、タイミングエラーパスCKとタイミングエラーパスLDの配線長の比率に基づいて、タイミングエラーパスCDのスラック値−1000は、タイミングエラーパスCKのスラック値−400と、タイミングエラーパスLDのスラック値−600に分割されている。   As shown in FIG. 10, the timing error path list 43 of the third HLB 34 has a No. in the timing error path list 11 shown in FIG. No. 2 in the timing error path CD shown in FIG. A timing error path EF indicated by 3 is included. Here, for example, based on the ratio of the wiring lengths of the timing error path CK and the timing error path LD, the slack value −1000 of the timing error path CD is equal to the slack value −400 of the timing error path CK and the timing error path LD. The slack value is divided into -600.

図11および図12は、前記ステップS7でHLBを切り出す際の分割領域の決定方法を説明する模式図である。図11に示すように、実際にHLBに分割する際には、論理セル53が分断されないように、HLB51,52の縦方向については、電源配線(ストリップ)部分54、すなわち一般的には容量セル配置部55を境とし、横方向については、ロウ56を境として分割する。また、図12に示すように、HLB51,52の境にメモリ等のマクロ57がある場合には、いずれか一方のHLB(図示例では、HLB52)がマクロ57を吸収し、マクロ57の縁をHLB51,52の境とする。   FIG. 11 and FIG. 12 are schematic diagrams for explaining a method for determining a divided area when the HLB is cut out in step S7. As shown in FIG. 11, when the HLB is actually divided into HLBs, in order to prevent the logic cells 53 from being divided, the power supply wiring (strip) portions 54, that is, generally capacity cells are provided in the vertical direction of the HLBs 51 and 52. The horizontal direction is divided with the row 56 as a boundary. As shown in FIG. 12, when there is a macro 57 such as a memory at the boundary between the HLBs 51 and 52, one of the HLBs (HLB 52 in the illustrated example) absorbs the macro 57 and The boundary between the HLBs 51 and 52.

図13は、前記ステップS7でHLBを切り出す処理の詳細を示すフローチャートである。図13に示すように、上述したHLBを切り出す際の分割領域の決定方法に従って決定された分割領域を特定する分割箇所データ62に基づいて、フラットの物理設計データ61を第1HLBの物理設計データ63、第2HLBの物理設計データ64および第nHLBの物理設計データ65に分割する。その際、配線が跨がる箇所にHLB端子を生成する(ステップS21)。ここで、nは、2以上の整数である。   FIG. 13 is a flowchart showing details of the processing for cutting out the HLB in step S7. As shown in FIG. 13, the flat physical design data 61 is converted into the first HLB physical design data 63 based on the divided portion data 62 that specifies the divided regions determined according to the method of determining the divided regions when the HLB is cut out. The second HLB physical design data 64 and the nth HLB physical design data 65 are divided. At that time, an HLB terminal is generated at a location where the wiring straddles (step S21). Here, n is an integer of 2 or more.

図14は、前記ステップS8でHLBごとにタイミング制約を分割する処理の詳細を示すフローチャートである。図14に示すように、まず、分割箇所データ62に基づいて、最初の実配線STAにより得られたタイミングエラーパスリスト11の固有名がいずれのHLBに属するかを調べる(ステップS31)。次いで、1パス内で複数のHLBに跨がるか否かを判断する(ステップS32)。跨がる場合(ステップS32:Yes)には、ネットの境目、すなわちHLBの境界で当該パスを分割し、分割後の各パスの長さに応じて遅延値を分割し(ステップS33)、ステップS34へ進む。   FIG. 14 is a flowchart showing details of the process of dividing the timing constraint for each HLB in step S8. As shown in FIG. 14, first, based on the divided portion data 62, it is checked which HLB the unique name of the timing error path list 11 obtained by the first actual wiring STA belongs to (step S31). Next, it is determined whether or not a plurality of HLBs are straddled within one pass (step S32). In the case of straddling (step S32: Yes), the path is divided at the boundary of the net, that is, the HLB boundary, and the delay value is divided according to the length of each divided path (step S33). Proceed to S34.

一方、パスが複数のHLBに跨がらない場合(ステップS32:No)には、そのままステップS34へ進む。ステップS34では、タイミングエラーパスリスト11のタイミング制約をHLBごとに分割し、HLBごとのタイミング制約として、第1HLBのタイミングエラーパスリスト66、第2HLBのタイミングエラーパスリスト67および第nHLBのタイミングエラーパスリスト68を得る。   On the other hand, when the path does not straddle a plurality of HLBs (step S32: No), the process proceeds to step S34 as it is. In step S34, the timing constraint of the timing error path list 11 is divided for each HLB, and as the timing constraint for each HLB, the first HLB timing error path list 66, the second HLB timing error path list 67, and the nHLB timing error path. Listing 68 is obtained.

図15は、前記ステップS9〜S11の各HLBでのレイアウト処理の詳細を示すフローチャートである。図15に示すように、まず、HLBごとに分割された物理設計データ63(64,65)に基づいて、階層なしの論理設計データ(ネットリスト)を生成する(ステップS41)。次いで、この論理設計データ(ネットリスト)、並びにHLBごとにそれぞれ分割された物理設計データ63(64,65)およびタイミングエラーパスリスト66(67,68)によるタイミング制約に基づいて、HLBごとにタイミング調整を行い(ステップS42)、HLBごとにタイミングを満足する物理設計データ69(70,71)を得る。   FIG. 15 is a flowchart showing details of layout processing in each HLB in steps S9 to S11. As shown in FIG. 15, first, logical design data without a hierarchy (net list) is generated based on physical design data 63 (64, 65) divided for each HLB (step S41). Next, based on the logical design data (net list) and the timing constraints based on the physical design data 63 (64, 65) and the timing error path list 66 (67, 68) divided for each HLB, the timing is determined for each HLB. Adjustment is performed (step S42), and physical design data 69 (70, 71) satisfying the timing is obtained for each HLB.

図16は、前記ステップS12で各HLBデータを結合する処理の詳細を示すフローチャートである。図16に示すように、まず、各HLBのタイミングを満足する物理設計データ69,70,71を結合し、フラットのデータを生成し(ステップS51)、フラットの物理設計データ72を得る。そして、この新たに得たフラットの物理設計データ72と分割前の論理設計データ73とを比較し、その差分を分割前の論理設計データ73に適用して新たに論理設計データを生成し(ステップS52)、最終的な論理設計データ74を得る。   FIG. 16 is a flowchart showing details of the process of combining the HLB data in step S12. As shown in FIG. 16, first, physical design data 69, 70 and 71 satisfying the timing of each HLB are combined to generate flat data (step S51), and flat physical design data 72 is obtained. Then, the newly obtained flat physical design data 72 and the logical design data 73 before the division are compared, and the difference is applied to the logical design data 73 before the division to generate new logical design data (step) S52), final logic design data 74 is obtained.

以上説明したように、実施の形態によれば、フラットの物理設計データに基づいて、レイアウトを開始し、配置・配線処理後にHLBに分割するので、実配線に沿ったHLB端子を生成できる。従って、HLB端子位置に起因するタイミングエラーを防止できる。また、HLBのサイズや位置に起因するタイミングエラーや、配線性の悪化を防止できる。さらに、HLB分割後、レイアウト設計が完了するまでは、各HLBのレイアウトを平行して処理できるので、タイミング収束までの時間が短縮され、開発期間を短くできる。従って、TATを十分に短縮することができるという効果を奏する。   As described above, according to the embodiment, the layout is started on the basis of the flat physical design data, and is divided into HLB after the placement / wiring process, so that the HLB terminals along the actual wiring can be generated. Therefore, a timing error due to the HLB terminal position can be prevented. In addition, it is possible to prevent timing errors due to the size and position of the HLB and deterioration of wiring properties. Furthermore, since the layout of each HLB can be processed in parallel until the layout design is completed after the HLB division, the time until timing convergence is shortened and the development period can be shortened. Therefore, the TAT can be sufficiently shortened.

なお、本実施の形態で説明したレイアウト設計方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。   The layout design method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The program may be a transmission medium that can be distributed via a network such as the Internet.

(付記1)フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行うフラットレイアウト工程と、前記フラットレイアウト工程の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出するタイミングエラーパス抽出工程と、前記タイミングエラーパス抽出工程により抽出されたタイミングエラーパスを含む領域を階層レイアウトブロックに分割するブロック分割工程と、前記ブロック分割工程により分割された階層レイアウトブロックごとにタイミング制約を分割するタイミング制約分割工程と、前記タイミング制約分割工程により分割されたタイミング制約に基づいて、前記ブロック分割工程により分割された階層レイアウトブロックごとにレイアウトを行うブロックレイアウト工程と、前記ブロックレイアウト工程によりレイアウトが済んだ階層レイアウトブロックのデータを結合してフラットの物理設計データを生成する結合工程と、を含むことを特徴とするレイアウト設計方法。 (Additional remark 1) Timing error which extracts the path | route which a timing error generate | occur | produced by the flat layout process which performs arrangement | positioning / wiring process and timing analysis process based on the flat physical design data, and the static timing analysis process of the said flat layout process Dividing timing constraints for each of the hierarchical layout blocks divided by the path extracting step, the block dividing step for dividing the region including the timing error path extracted by the timing error path extracting step into hierarchical layout blocks, and the block dividing step And a block layout step for performing layout for each hierarchical layout block divided by the block division step based on the timing constraints divided by the timing constraint division step, Layout design method characterized by comprising a coupling step of generating physical design data flat by combining the data of the hierarchical layout blocks having undergone the layout by locking the layout step.

(付記2)前記ブロック分割工程では、階層レイアウトブロックに含まれるセル数をゲート数に換算し、該ゲート数が所定数よりも小さくなるように階層レイアウトブロックの分割を行うことを特徴とする付記1に記載のレイアウト設計方法。 (Supplementary note 2) In the block division step, the number of cells included in the hierarchical layout block is converted into the number of gates, and the hierarchical layout block is divided so that the number of gates is smaller than a predetermined number. 2. The layout design method according to 1.

(付記3)前記タイミング制約分割工程では、複数の階層レイアウトブロックに跨がるタイミングエラーパスを、当該タイミングエラーパスの始点から階層レイアウトブロックの境界までのパスと、該境界から当該タイミングエラーパスの終点までのパスに分割し、それぞれのパスの長さに基づいて、当該タイミングエラーパスの遅延値を分割することを特徴とする付記1または2に記載のレイアウト設計方法。 (Supplementary Note 3) In the timing constraint dividing step, a timing error path extending over a plurality of hierarchical layout blocks is divided into a path from the start point of the timing error path to the boundary of the hierarchical layout block, and the timing error path from the boundary to the timing error path. 3. The layout design method according to appendix 1 or 2, wherein a delay value of the timing error path is divided based on a length of each path by dividing the path up to an end point.

(付記4)前記タイミング制約分割工程では、タイミングエラーパスが跨がる階層レイアウトブロックの境界に端子を生成することを特徴とする付記3に記載のレイアウト設計方法。 (Supplementary note 4) The layout design method according to supplementary note 3, wherein in the timing constraint dividing step, a terminal is generated at a boundary of a hierarchical layout block over which a timing error path extends.

(付記5)前記ブロック分割工程では、縦方向については電源配線部分を境界とし、横方向についてはロウを境界として、階層レイアウトブロックの分割を行うことを特徴とする付記1〜4のいずれか一つに記載のレイアウト設計方法。 (Supplementary Note 5) In the block division step, the hierarchical layout block is divided with the power supply wiring portion as a boundary in the vertical direction and the row as a boundary in the horizontal direction. Layout design method described in one.

(付記6)前記ブロック分割工程では、前記電源配線部分または前記ロウに跨がって配置されたマクロの縁を境界として、階層レイアウトブロックの分割を行うことを特徴とする付記5に記載のレイアウト設計方法。 (Supplementary note 6) The layout according to supplementary note 5, wherein, in the block dividing step, a hierarchical layout block is divided using a macro edge arranged over the power supply wiring portion or the row as a boundary. Design method.

(付記7)付記1〜6のいずれか一つに記載のレイアウト設計方法をコンピュータに実行させることを特徴とするレイアウト設計プログラム。 (Additional remark 7) The layout design program characterized by making a computer perform the layout design method as described in any one of additional marks 1-6.

(付記8)フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行うフラットレイアウト手段と、前記フラットレイアウト手段の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出するタイミングエラーパス抽出手段と、前記タイミングエラーパス抽出手段により抽出されたタイミングエラーパスを含む領域を階層レイアウトブロックに分割するブロック分割手段と、前記ブロック分割手段により分割された階層レイアウトブロックごとにタイミング制約を分割するタイミング制約分割手段と、前記タイミング制約分割手段により分割されたタイミング制約に基づいて、前記ブロック分割手段により分割された階層レイアウトブロックごとにレイアウトを行うブロックレイアウト手段と、前記ブロックレイアウト手段によりレイアウトが済んだ階層レイアウトブロックのデータを結合してフラットの物理設計データを生成する結合手段と、を備えることを特徴とするレイアウト設計装置。 (Supplementary note 8) Flat layout means for performing placement / wiring processing and timing analysis processing based on flat physical design data, and timing error for extracting a path in which a timing error has occurred due to static timing analysis processing of the flat layout means A path extracting unit; a block dividing unit that divides an area including the timing error path extracted by the timing error path extracting unit into hierarchical layout blocks; and a timing constraint is divided for each hierarchical layout block divided by the block dividing unit. Timing constraint dividing means, block layout means for performing layout for each hierarchical layout block divided by the block dividing means based on the timing constraints divided by the timing constraint dividing means, Layout designing apparatus, characterized in that it comprises a coupling means for generating physical design data flat by combining the data of the hierarchical layout blocks having undergone the layout by locking the layout section.

(付記9)前記ブロック分割手段は、階層レイアウトブロックに含まれるセル数をゲート数に換算し、該ゲート数が所定数よりも小さくなるように階層レイアウトブロックの分割を行うことを特徴とする付記8に記載のレイアウト設計装置。 (Supplementary note 9) The block division means converts the number of cells included in the hierarchical layout block into the number of gates, and divides the hierarchical layout block so that the number of gates is smaller than a predetermined number. 9. The layout design apparatus according to 8.

(付記10)前記タイミング制約分割手段は、複数の階層レイアウトブロックに跨がるタイミングエラーパスを、当該タイミングエラーパスの始点から階層レイアウトブロックの境界までのパスと、該境界から当該タイミングエラーパスの終点までのパスに分割し、それぞれのパスの長さに基づいて、当該タイミングエラーパスの遅延値を分割することを特徴とする付記8または9に記載のレイアウト設計装置。 (Additional remark 10) The timing constraint dividing means includes a timing error path straddling a plurality of hierarchical layout blocks, a path from the start point of the timing error path to a boundary of the hierarchical layout block, and the timing error path from the boundary to the timing error path. The layout design apparatus according to appendix 8 or 9, wherein the layout design apparatus divides the path to the end point and divides the delay value of the timing error path based on the length of each path.

(付記11)前記タイミング制約分割手段は、タイミングエラーパスが跨がる階層レイアウトブロックの境界に端子を生成することを特徴とする付記10に記載のレイアウト設計装置。 (Supplementary note 11) The layout design apparatus according to supplementary note 10, wherein the timing constraint dividing unit generates a terminal at a boundary of a hierarchical layout block over which a timing error path extends.

(付記12)前記ブロック分割手段は、縦方向については電源配線部分を境界とし、横方向についてはロウを境界として、階層レイアウトブロックの分割を行うことを特徴とする付記8〜11のいずれか一つに記載のレイアウト設計装置。 (Supplementary note 12) Any one of Supplementary notes 8 to 11, wherein the block dividing means divides a hierarchical layout block with a power supply wiring portion as a boundary in the vertical direction and a row as a boundary in the horizontal direction. Layout design device described in one.

(付記13)前記ブロック分割手段は、前記電源配線部分または前記ロウに跨がって配置されたマクロの縁を境界として、階層レイアウトブロックの分割を行うことを特徴とする付記12に記載のレイアウト設計装置。 (Supplementary note 13) The layout according to Supplementary note 12, wherein the block dividing means divides a hierarchical layout block with a border of a macro arranged over the power supply wiring portion or the row as a boundary. Design equipment.

以上のように、本発明にかかるレイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置は、LSIのレイアウト設計に有用であり、特に、階層レイアウト設計法によりLSIの設計を行うのに適している。   As described above, the layout design method, layout design program, and layout design apparatus according to the present invention are useful for LSI layout design, and are particularly suitable for designing LSIs by the hierarchical layout design method.

この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the layout design apparatus concerning embodiment of this invention. この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of the layout design apparatus concerning embodiment of this invention. この発明の実施の形態にかかるレイアウト設計装置の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the layout design apparatus concerning embodiment of this invention. タイミングエラーパスリストの一例を示す図表である。It is a chart which shows an example of a timing error path list. タイミングエラーパスの一例を示す模式図である。It is a schematic diagram which shows an example of a timing error path. 分割領域の決定方法を説明する模式図である。It is a schematic diagram explaining the determination method of a division area. 分割領域の決定方法を説明する模式図である。It is a schematic diagram explaining the determination method of a division area. 第1HLBのタイミングエラーパスリストの一例を示す図表である。It is a graph which shows an example of the timing error path list | wrist of 1st HLB. 第2HLBのタイミングエラーパスリストの一例を示す図表である。It is a graph which shows an example of the timing error path list | wrist of 2nd HLB. 第3HLBのタイミングエラーパスリストの一例を示す図表である。It is a chart which shows an example of the timing error path list | wrist of 3rd HLB. HLBを切り出す際の分割領域の決定方法を説明する模式図である。It is a schematic diagram explaining the determination method of the division area at the time of cutting out HLB. HLBを切り出す際の分割領域の決定方法を説明する模式図である。It is a schematic diagram explaining the determination method of the division area at the time of cutting out HLB. HLBを切り出す処理を示すフローチャートである。It is a flowchart which shows the process which cuts out HLB. タイミング制約を分割する処理を示すフローチャートである。It is a flowchart which shows the process which divides | segments a timing constraint. HLBのレイアウト処理を示すフローチャートである。It is a flowchart which shows the layout process of HLB. HLBデータの結合処理を示すフローチャートである。It is a flowchart which shows the combining process of HLB data.

符号の説明Explanation of symbols

1 フラットレイアウト部
2 タイミングエラーパス抽出部
3 ブロック分割部
4 タイミング制約分割部
5 ブロックレイアウト部
6 結合部
13,14,15,16,17,18,19 タイミングエラーパス
21,22,23,24,25 タイミングエラーパスを含む領域
31,32,33,34,51,52 HLB
35,36 HLB端子
54 電源配線部分
56 ロウ
57 マクロ
61,72 フラットの物理設計データ
DESCRIPTION OF SYMBOLS 1 Flat layout part 2 Timing error path extraction part 3 Block division part 4 Timing constraint division part 5 Block layout part 6 Connection part 13, 14, 15, 16, 17, 18, 19 Timing error path 21, 22, 23, 24, 25 Area including timing error path 31, 32, 33, 34, 51, 52 HLB
35, 36 HLB terminal 54 Power supply wiring part 56 Low 57 Macro 61, 72 Flat physical design data

Claims (5)

コンピュータが、
フラットの物理設計データに基づいて、配置・配線処理と静的タイミング解析処理を行うフラットレイアウト工程と、
前記フラットレイアウト工程の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出するタイミングエラーパス抽出工程と、
前記フラットレイアウト工程の配置・配線処理によって得られたレイアウトデータから、前記タイミングエラーパス抽出工程により抽出されたタイミングエラーパスを含む階層レイアウトブロックを抽出するブロック分割工程と、
前記ブロック分割工程によって抽出された階層レイアウトブロックごとに、前記タイミングエラーパスを分割するタイミング制約分割工程と、
前記タイミング制約分割工程による前記タイミングエラーパスの分割後の階層レイアウトブロックごとにレイアウトを行うブロックレイアウト工程と、
前記ブロックレイアウト工程によりレイアウトが済んだ階層レイアウトブロックのデータを前記レイアウトデータに結合し、結合後のレイアウトデータにより前記物理設計データを更新する工程と、
実行することを特徴とするレイアウト設計方法。
Computer
Based on the flat physical design data, a flat layout process that performs placement / wiring processing and static timing analysis processing,
A timing error path extraction step for extracting a path in which a timing error has occurred by the static timing analysis processing of the flat layout step;
Wherein the obtained layout data by placement and routing processing flat layout step, a block dividing step of extracting including hierarchical layout blocks the timing error path extracted by the timing error path extraction step,
For each hierarchical layout blocks thus extracted to the block dividing step, and the timing constraints dividing step of dividing the timing error path,
A block layout step of laying out each hierarchical layout block after the division of the timing error paths that due to the timing constraints dividing step,
Combining hierarchical layout block data that has been laid out in the block layout step with the layout data, and updating the physical design data with the combined layout data ;
The layout design method characterized by performing .
前記ブロック分割工程では、階層レイアウトブロックに含まれるセル数をゲート数に換算し、該ゲート数が所定数よりも小さくなるように前記タイミングエラーパスを含む階層レイアウトブロックを抽出することを特徴とする請求項1に記載のレイアウト設計方法。 In the block dividing step, the number of cells included in the hierarchical layout block is converted into the number of gates, and the hierarchical layout block including the timing error path is extracted so that the number of gates is smaller than a predetermined number. The layout design method according to claim 1. 前記タイミング制約分割工程では、複数の階層レイアウトブロックに跨がるタイミングエラーパスを、当該タイミングエラーパスの始点から階層レイアウトブロック境界までのパスと、該境界から当該タイミングエラーパスの終点までのパスに分割し、それぞれのパスの長さに基づいて、当該タイミングエラーパスの遅延値を分割することを特徴とする請求項1または2に記載のレイアウト設計方法。 In the timing constraint dividing step, a timing error path straddling a plurality of hierarchical layout blocks is divided into a path from the start point of the timing error path to a hierarchical layout block boundary and a path from the boundary to the end point of the timing error path. The layout design method according to claim 1, wherein the layout design method divides the delay value of the timing error path based on the length of each path. 請求項1〜3のいずれか一つに記載のレイアウト設計方法を前記コンピュータに実行させることを特徴とするレイアウト設計プログラム。 Layout design program characterized by executing the layout design method according to any one of claims 1 to 3 to the computer. フラットの物理設計データに基づいて、配置・配線処理と静的タイミング解析処理を行うフラットレイアウト手段と、
前記フラットレイアウト手段の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出するタイミングエラーパス抽出手段と、
前記フラットレイアウト手段の配置・配線処理によって得られたレイアウトデータから、前記タイミングエラーパス抽出手段により抽出されたタイミングエラーパスを含む階層レイアウトブロックを抽出するブロック分割手段と、
前記ブロック分割手段によって抽出された階層レイアウトブロックごとに、前記タイミングエラーパスを分割するタイミング制約分割手段と、
前記タイミング制約分割手段による前記タイミングエラーパスの分割後の階層レイアウトブロックごとにレイアウトを行うブロックレイアウト手段と、
前記ブロックレイアウト手段によりレイアウトが済んだ階層レイアウトブロックのデータを前記レイアウトデータに結合し、結合後のレイアウトデータにより前記物理設計データを生成する結合手段と、
を備えることを特徴とするレイアウト設計装置。
Flat layout means for performing placement and wiring processing and static timing analysis processing based on flat physical design data;
A timing error path extracting means for extracting a path where a timing error has occurred by the static timing analysis processing of the flat layout means;
Wherein the obtained layout data by placement and routing processing flat layout section, a block dividing means for extracting including hierarchical layout blocks the timing error path extracted by the timing error path extraction means,
For each hierarchical layout blocks thus extracted to the block dividing unit, and timing constraints dividing means for dividing the timing error path,
A block layout device for performing layout for each hierarchy layout block after the division of the timing error paths that due to the timing constraints dividing means,
Combining means for combining hierarchical layout block data that has been laid out by the block layout means with the layout data, and generating the physical design data from the combined layout data ;
A layout design apparatus comprising:
JP2006294501A 2006-10-30 2006-10-30 Layout design method, layout design program, and layout design apparatus Expired - Fee Related JP4783712B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006294501A JP4783712B2 (en) 2006-10-30 2006-10-30 Layout design method, layout design program, and layout design apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006294501A JP4783712B2 (en) 2006-10-30 2006-10-30 Layout design method, layout design program, and layout design apparatus

Publications (2)

Publication Number Publication Date
JP2008112299A JP2008112299A (en) 2008-05-15
JP4783712B2 true JP4783712B2 (en) 2011-09-28

Family

ID=39444781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006294501A Expired - Fee Related JP4783712B2 (en) 2006-10-30 2006-10-30 Layout design method, layout design program, and layout design apparatus

Country Status (1)

Country Link
JP (1) JP4783712B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012174226A (en) 2011-02-24 2012-09-10 Renesas Electronics Corp Layout design method of semiconductor integrated circuit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09330339A (en) * 1996-06-11 1997-12-22 Mitsubishi Electric Corp Automatic description dividing device

Also Published As

Publication number Publication date
JP2008112299A (en) 2008-05-15

Similar Documents

Publication Publication Date Title
JP2006318978A (en) Pattern design method
US20090293033A1 (en) System and method for layout design of integrated circuit
US7367005B2 (en) Method and apparatus for designing a layout, and computer product
Moffitt et al. Constraint-driven floorplan repair
US20070136711A1 (en) Layout design apparatus, layout design method, and computer product
JP4783712B2 (en) Layout design method, layout design program, and layout design apparatus
JP2007264993A (en) Verification support apparatus, verification support method, verification support program and recording medium
JP5167740B2 (en) Design support program, design support apparatus, and design support method
KR101117397B1 (en) Lsi test apparatus, lsi test method, and recording medium having lsi test program
JP4471794B2 (en) Timing analysis apparatus, timing analysis method, timing analysis program, and recording medium
US20100299645A1 (en) Design support computer product, apparatus, and method
JP5136371B2 (en) Design support method
JP5251639B2 (en) Design verification equipment for semiconductor devices
JP5299198B2 (en) Design support program, design support apparatus, and design support method
JP4231837B2 (en) Clock tree generation device, clock tree generation method, clock tree generation program, and recording medium
US7315997B2 (en) Method and apparatus for supporting designing of LSI, and computer product
JP2008004024A (en) Layout design program, recording medium for recording the program, layout design apparatus, and layout design method
US20080005714A1 (en) Logic diagram display method, program, and apparatus
JP4275639B2 (en) Layout design apparatus and layout design program
JP5245861B2 (en) Semiconductor integrated circuit design apparatus, design method therefor, program, and recording medium
JP4511996B2 (en) Power verification apparatus, power verification method, power verification program, and recording medium
JP4968294B2 (en) Layout design apparatus, layout design program, and recording medium
JP2009169505A (en) Self library verification program, recording medium recording program, self library verification device, and self library verification method
JP2013084211A (en) Automatic-laying wiring program for semiconductor device, automatic-laying wiring device, and automatic-laying wiring method
JP2008040678A (en) Layout apparatus and layout method

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110705

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110711

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees