JP2014089499A - Layout designing method of semiconductor integrated circuit, layout design program, and layout design device - Google Patents

Layout designing method of semiconductor integrated circuit, layout design program, and layout design device Download PDF

Info

Publication number
JP2014089499A
JP2014089499A JP2012237604A JP2012237604A JP2014089499A JP 2014089499 A JP2014089499 A JP 2014089499A JP 2012237604 A JP2012237604 A JP 2012237604A JP 2012237604 A JP2012237604 A JP 2012237604A JP 2014089499 A JP2014089499 A JP 2014089499A
Authority
JP
Japan
Prior art keywords
wiring
cell
area
integrated circuit
semiconductor integrated
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
JP2012237604A
Other languages
Japanese (ja)
Inventor
Hideyuki Okabe
秀之 岡部
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 Electronics Corp
Original Assignee
Renesas Electronics 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 Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2012237604A priority Critical patent/JP2014089499A/en
Publication of JP2014089499A publication Critical patent/JP2014089499A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To suppress iteration in layout design of a semiconductor integrated circuit to improve a design efficiency.SOLUTION: A layout design device comprises: a wiring resource calculation part 1 calculating a wiring possible wiring resource in a first area of a semiconductor integrated circuit; a cell arrangement part 2 arranging a plurality of cells on the first area on the basis of the size of the cell; a network connection cost calculation part 3 calculating a network connection cost of the plurality of cells arranged on the first area on the basis of connection information of the cells; a virtual extension area provision part 4 providing a virtual extension area for virtually increasing a size to the cells arranged on the first area, when on the first area the wiring resource is insufficient for the network connection cost; and a cell rearrangement part 5 rearranging the plurality of cells including the cell on the first area, on the basis of the size of the cells increased by the provided virtual extension area.

Description

本発明は、半導体集積回路のレイアウト設計方法、レイアウト設計プログラム及びレイアウト設計装置に関し、例えば、ネットリストに基づいてセルを配置する半導体集積回路のレイアウト設計方法、レイアウト設計プログラム及びレイアウト設計装置に好適に利用できるものである。   The present invention relates to a layout design method, a layout design program, and a layout design apparatus for a semiconductor integrated circuit. For example, the present invention is suitable for a layout design method, a layout design program, and a layout design apparatus for a semiconductor integrated circuit in which cells are arranged based on a netlist. It can be used.

近年、半導体集積回路(LSI:Large Scale Integration)の大規模化が進み、さらに、高い周波数による動作など高性能化も要求されている。このため、半導体集積回路の設計の難易度が高くなり、設計期間がますます長くなる傾向にあることから、設計効率の向上が強く望まれている。   In recent years, large scale integration of a semiconductor integrated circuit (LSI: Large Scale Integration) has progressed, and further high performance such as operation at a high frequency has been demanded. For this reason, the degree of difficulty in designing a semiconductor integrated circuit becomes higher and the design period tends to become longer, so that improvement in design efficiency is strongly desired.

LSIの設計では、回路設計工程において、マクロやセルの機能や接続関係が設計される。その後、レイアウト設計工程において、マクロ配置、セル配置及び配線を含む配置配線が行われ、さらに、遅延時間を計算しタイミング解析が行われる。LSIのセル配置に関する技術として、例えば、特許文献1〜3が知られている。   In LSI design, macro and cell functions and connection relationships are designed in the circuit design process. Thereafter, in the layout design process, placement and routing including macro placement, cell placement and wiring is performed, and further, delay time is calculated and timing analysis is performed. For example, Patent Documents 1 to 3 are known as techniques related to LSI cell arrangement.

図17は、特許文献1に記載された従来のセル配置装置の構成を示している。図17に示すように、従来のセル配置装置は、入力手段901、パーティショニングベースの配置処理手段902、抽出手段903、レジスティブネットワーク方式の配置処理手段904を備えている。   FIG. 17 shows a configuration of a conventional cell placement device described in Patent Document 1. As shown in FIG. 17, the conventional cell arrangement apparatus includes an input unit 901, a partitioning-based arrangement processing unit 902, an extraction unit 903, and a resistive network type arrangement processing unit 904.

パーティショニングベースの配置処理手段902は、半導体チップを分割した領域に各セルを振分けて各セルの暫定配置を決める。抽出手段903は、ネットの数が一定値を越えた配線が混雑している領域、信号伝達の遅延が大きいネットの領域等を抽出する。レジスティブネットワーク方式の配置処理手段904は、該暫定配置から各セルに仮想のネットが張られているとみなして、ネットをバネと考えて反発力を発生させ、セルをその領域から追い出すことでセルの配置を決める。   The partitioning-based arrangement processing unit 902 assigns each cell to an area where the semiconductor chip is divided and determines a temporary arrangement of each cell. The extraction unit 903 extracts a region where the number of nets exceeding a certain value is congested, a region of a net having a large signal transmission delay, and the like. Resistive network type arrangement processing means 904 regards each cell as a virtual net from the provisional arrangement, considers the net as a spring, generates a repulsive force, and drives the cell out of that area. Determine cell placement.

なお、予めセルの配置結果がある場合には、入力手段901がセルの配置結果を入力し、該入力した配置結果における各セルの位置から各セルに仮想のネットが張られているとみなして、レジスティブネットワーク方式の配置処理手段904で配置結果を改善する。   If there is a cell arrangement result in advance, the input means 901 inputs the cell arrangement result, and it is assumed that a virtual net is extended to each cell from the position of each cell in the inputted arrangement result. The arrangement result is improved by the arrangement processing means 904 of the resistive network type.

特開2002−083004号公報JP 2002-083004 A 特開平11−312185号公報Japanese Patent Laid-Open No. 11-312185 特開2003−282711号公報JP 2003-282711 A

特許文献1に記載の従来技術は、LSIの開発設計において、局所的な配線の混雑を発生させず、タイミング収束のイタレーションの少ない配置結果を得ることを目的とした技術である。この従来技術は、LSIのセルを配置する際に、パーティショニングベースとレジスティブネットワークの配置方式を組合せることで、パーティショニングベースの欠点とレジスティブネットワークの欠点の各々を補う特徴を有する。パーティショニングベースの欠点である、チップを分割する初期段階では、セルの最終的な配置結果を予想することが困難であり、処理を進めたとき配線性が良くなるか悪くなるかを判定しにくい欠点を補い、また、レジスティブネットワークの欠点である、ネットを2つのセル間のバネとして近似しているため配線長が見積もりにくい欠点を補う。   The prior art described in Patent Document 1 is a technique aimed at obtaining an arrangement result with little iteration of timing convergence without causing local wiring congestion in LSI development and design. This prior art has a feature of compensating for each of the disadvantages of the partitioning base and the resistive network by combining the partitioning base and the resistive network arrangement method when the LSI cells are arranged. In the initial stage of chip division, which is a drawback of partitioning base, it is difficult to predict the final placement result of the cell, and it is difficult to determine whether the wiring performance improves or worsens when processing is advanced. It compensates for the drawbacks, and also compensates for the disadvantage of the resistive network, since the net is approximated as a spring between two cells, and the wiring length is difficult to estimate.

本発明者は、特許文献1に記載された従来技術を検討し、この従来技術は、局所的な配線混雑領域の発生によりタイミング収束のイタレーションが増加する問題があることを見出した。   The present inventor examined the conventional technique described in Patent Document 1, and found that this conventional technique has a problem that the iteration of timing convergence increases due to the occurrence of a local wiring congestion area.

その理由は、昨今のLSIは、数千万ゲートの論理を搭載し、かつ、各セルの論理接続が複雑であることから、従来技術のようにパーティショニングベース方式により全セルを領域に均一に暫定配置した場合、各領域のセル面積が均一となるようにセルが配置されるため、論理接続が複雑なセルが多く存在する領域では、局所的な配線混雑領域や、それに伴う配線迂回の発生する可能性が増加するためである。   The reason is that modern LSIs are equipped with tens of millions of gates of logic, and the logical connection of each cell is complicated. In the case of provisional placement, the cells are placed so that the cell area of each region is uniform. Therefore, in regions where there are many cells with complicated logical connections, local wiring congestion areas and associated wiring detours occur. This is because the possibility of doing so increases.

具体的には、2千万ゲートの論理を搭載するLSIでは、配線混雑領域がLSI全体で10%程度発生し、特に、昨今のLSIでは、各セルの論理接続が複雑であるため、局所的な配線混雑領域が発生することになる。そうすると、従来技術のパーティショニングベース方式による全セルを領域に均一に配置した暫定配置で局所的な配線混雑領域が集中した場合、レジスティブネットワーク方式によるセルの移動距離が大きくなり、更には、タイミングを収束させるためのリピータ(バッファ)が所望の位置に配置できず、また、同様にタイミングを収束させるためにセルをサイズアップした際に、セルを所望の位置に配置することができない。したがって、タイミングが収束できず、タイミング収束のイタレーションが増加する。   Specifically, in an LSI having 20 million gate logic, a wiring congested area occurs about 10% in the entire LSI, and in particular, in recent LSIs, the logical connection of each cell is complicated, so that the local area is localized. As a result, a congested wiring area is generated. Then, if the local wiring congestion area is concentrated in the provisional placement in which all the cells based on the partitioning base method of the prior art are uniformly arranged in the area, the cell moving distance by the resistive network method becomes large, and further, the timing The repeater (buffer) for converging the signal cannot be arranged at a desired position, and the cell cannot be arranged at the desired position when the size of the cell is increased in order to converge the timing. Therefore, the timing cannot be converged and the timing convergence iteration is increased.

以上のように、従来技術では、半導体集積回路のレイアウト設計において、イタレーションが発生し、設計効率が悪化するという問題がある。   As described above, the prior art has a problem in that it causes iteration in the layout design of the semiconductor integrated circuit, and the design efficiency deteriorates.

その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   Other problems and novel features will become apparent from the description of the specification and the accompanying drawings.

一実施の形態によれば、半導体集積回路のレイアウト設計装置は、配線リソース算出部、セル配置部、ネット接続コスト算出部、仮想拡張領域付与部、セル再配置部を備えている。配線リソース算出部は、入力されたネットリストに基づいて、半導体集積回路の第1の領域に配線可能な配線リソースを算出する。セル配置部は、ネットリストに含まれる複数のセルを当該セルのサイズに基づいて第1の領域に配置する。ネット接続コスト算出部は、ネットリストに含まれるセルの接続情報に基づいて、第1の領域に配置した複数のセルの接続度合いを示すネット接続コストを算出する。仮想拡張領域付与部は、第1の領域においてネット接続コストに対し配線リソースが不足している場合、当該第1の領域に配置したセルに仮想的にサイズを膨らませる仮想拡張領域を付与する。セル再配置部は、付与した仮想拡張領域を加えたセルのサイズに基づいて、当該セルを含む複数のセルを第1の領域に再配置する。   According to one embodiment, a layout design apparatus for a semiconductor integrated circuit includes a wiring resource calculation unit, a cell placement unit, a net connection cost calculation unit, a virtual extension region assignment unit, and a cell rearrangement unit. The wiring resource calculation unit calculates a wiring resource that can be wired to the first region of the semiconductor integrated circuit based on the input netlist. The cell arrangement unit arranges a plurality of cells included in the net list in the first area based on the size of the cell. The net connection cost calculation unit calculates a net connection cost indicating a degree of connection of a plurality of cells arranged in the first area based on connection information of cells included in the net list. When the wiring resource is insufficient with respect to the net connection cost in the first area, the virtual extension area providing unit assigns a virtual extension area that virtually expands the size of the cell arranged in the first area. The cell rearrangement unit rearranges a plurality of cells including the cell in the first area based on the size of the cell to which the added virtual extension area is added.

前記一実施の形態によれば、半導体集積回路のレイアウト設計におけるイタレーションを抑止し、設計効率を向上することができる。   According to the embodiment, it is possible to suppress the iteration in the layout design of the semiconductor integrated circuit and improve the design efficiency.

実施の形態に係る半導体集積回路のレイアウト設計装置の主要な特徴を示す構成図である。It is a block diagram which shows the main characteristics of the layout design apparatus of the semiconductor integrated circuit which concerns on embodiment. 実施の形態1に係る半導体集積回路のレイアウト設計装置を実現するためのシステム構成を示す構成図である。1 is a configuration diagram showing a system configuration for realizing a layout design apparatus for a semiconductor integrated circuit according to a first embodiment; 実施の形態1に係る半導体集積回路のレイアウト設計装置を実現するためのコンピュータシステムのハードウェア構成を示す構成図である。1 is a configuration diagram illustrating a hardware configuration of a computer system for realizing a layout design apparatus for a semiconductor integrated circuit according to a first embodiment; 実施の形態1に係る半導体集積回路のレイアウト設計装置の機能構成を示すブロック図である。1 is a block diagram illustrating a functional configuration of a semiconductor integrated circuit layout design apparatus according to a first embodiment; 実施の形態1に係る半導体集積回路のレイアウト設計方法を示すフローチャートである。5 is a flowchart showing a layout design method for a semiconductor integrated circuit according to the first embodiment. 実施の形態1に係る半導体集積回路のレイアウト設計方法のネット接続コスト算出動作を説明するための説明図である。6 is an explanatory diagram for explaining a net connection cost calculating operation of the semiconductor integrated circuit layout design method according to the first embodiment; FIG. 実施の形態1に係る半導体集積回路のレイアウト設計方法の配置領域分割動作を説明するための説明図である。FIG. 6 is an explanatory diagram for explaining an arrangement region dividing operation of the semiconductor integrated circuit layout design method according to the first embodiment; 実施の形態1に係る半導体集積回路のレイアウト設計方法の配線リソース算出動作を説明するための説明図である。FIG. 6 is an explanatory diagram for explaining a wiring resource calculation operation of the semiconductor integrated circuit layout design method according to the first embodiment; 実施の形態1に係る半導体集積回路のレイアウト設計方法のセル群分割動作を説明するための説明図である。6 is an explanatory diagram for explaining a cell group division operation of the semiconductor integrated circuit layout design method according to the first embodiment; FIG. 実施の形態1に係る半導体集積回路のレイアウト設計方法のHalo削除動作を説明するための説明図である。6 is an explanatory diagram for explaining a halo deletion operation of the layout design method for a semiconductor integrated circuit according to the first embodiment; FIG. 実施の形態1に係る半導体集積回路のレイアウト設計方法のセル群ネット接続コスト算出動作を説明するための説明図である。6 is an explanatory diagram for explaining a cell group net connection cost calculating operation of the layout design method for the semiconductor integrated circuit according to the first embodiment; FIG. 実施の形態1に係る半導体集積回路のレイアウト設計方法の配線リソース判定動作を説明するための説明図である。6 is an explanatory diagram for explaining a wiring resource determination operation of the layout design method of the semiconductor integrated circuit according to the first embodiment; FIG. 実施の形態1に係る半導体集積回路のレイアウト設計方法のHalo付与動作を説明するための説明図である。6 is an explanatory diagram for explaining a halo giving operation of the layout design method for a semiconductor integrated circuit according to the first embodiment; FIG. 実施の形態1に係る半導体集積回路のレイアウト設計方法の配置領域分割動作を説明するための説明図である。FIG. 6 is an explanatory diagram for explaining an arrangement region dividing operation of the semiconductor integrated circuit layout design method according to the first embodiment; 実施の形態2に係る半導体集積回路のレイアウト設計装置の機能構成を示すブロック図である。6 is a block diagram showing a functional configuration of a layout design apparatus for a semiconductor integrated circuit according to a second embodiment. FIG. 実施の形態2に係る半導体集積回路のレイアウト設計方法を示すフローチャートである。6 is a flowchart illustrating a layout design method for a semiconductor integrated circuit according to a second embodiment. 従来のセル配置装置の構成を示す構成図である。It is a block diagram which shows the structure of the conventional cell arrangement | positioning apparatus.

(実施の形態の概要)
実施の形態の説明に先立って、図1を用いて、実施の形態の主要な特徴についてその概要を説明する。
(Outline of the embodiment)
Prior to the description of the embodiment, the outline of the main features of the embodiment will be described with reference to FIG.

図1に示すように、実施の形態に係る半導体集積回路のレイアウト設計装置は、配線リソース算出部1、セル配置部2、ネット接続コスト算出部3、仮想拡張領域付与部4、セル再配置部5を備えている。   As shown in FIG. 1, a layout design apparatus for a semiconductor integrated circuit according to an embodiment includes a wiring resource calculation unit 1, a cell placement unit 2, a net connection cost calculation unit 3, a virtual extension region assignment unit 4, and a cell rearrangement unit 5 is provided.

配線リソース算出部1は、入力されたネットリストに基づいて、半導体集積回路の第1の領域に配線可能な配線リソースを算出する。セル配置部2は、ネットリストに含まれる複数のセルを当該セルのサイズに基づいて第1の領域に配置する。ネット接続コスト算出部3は、ネットリストに含まれるセルの接続情報に基づいて、第1の領域に配置した複数のセルの接続度合いを示すネット接続コストを算出する。仮想拡張領域付与部4は、第1の領域においてネット接続コストに対し配線リソースが不足している場合、当該第1の領域に配置したセルに仮想的にサイズを膨らませる仮想拡張領域を付与する。セル再配置部5は、付与した仮想拡張領域を加えたセルのサイズに基づいて、当該セルを含む複数のセルを第1の領域に再配置する。   The wiring resource calculation unit 1 calculates a wiring resource that can be wired to the first region of the semiconductor integrated circuit based on the input netlist. The cell placement unit 2 places a plurality of cells included in the netlist in the first region based on the size of the cell. The net connection cost calculation unit 3 calculates a net connection cost indicating the connection degree of a plurality of cells arranged in the first area based on connection information of cells included in the net list. When the wiring resource is insufficient for the net connection cost in the first area, the virtual extension area providing unit 4 assigns a virtual extension area that virtually expands the size of the cell arranged in the first area. . The cell rearrangement unit 5 rearranges a plurality of cells including the cell in the first area based on the size of the cell to which the added virtual extension area is added.

このように、実施の形態では、半導体集積回路の配置領域(第1の領域)の配線リソースと、配置領域に配置したセルのネット接続コストを算出し、このネット接続コストに対し配線リソースが不足している場合、仮想拡張領域を付与したセルのサイズに基づいてセルを再配置する。   As described above, in the embodiment, the wiring resources in the placement area (first area) of the semiconductor integrated circuit and the net connection cost of the cell placed in the placement area are calculated, and the wiring resources are insufficient for the net connection cost. If so, the cells are rearranged based on the size of the cell to which the virtual extension area is assigned.

セルのネット接続コストと配線リソースを用いることで、配線前の工程において配線混雑の可能性を判定することができる。レイアウト設計において、配線リソースの不足に応じて仮想拡張領域を付与したセルを再配置するため、配線の混雑が発生する領域に配線領域を確保することができ、セル配置後の配線によって配線の混雑が発生することを抑止できる。このため、配線の混雑によるイタレーションを抑止し、設計効率を向上することができる。   By using the net connection cost of the cell and the wiring resource, it is possible to determine the possibility of wiring congestion in the process before wiring. In layout design, cells with virtual extension areas are rearranged in response to a shortage of wiring resources, so wiring areas can be secured in areas where wiring congestion occurs, and wiring congestion is caused by wiring after cell placement. Can be prevented. For this reason, it is possible to suppress the iteration due to the congestion of wiring and improve the design efficiency.

(実施の形態1)
以下、図面を参照して実施の形態1について説明する。図2は、本実施の形態に係る半導体集積回路のレイアウト設計装置を実現するためのシステム構成を示し、図3は、そのシステムに含まれるコンピュータ装置のハードウェア構成を示している。
(Embodiment 1)
The first embodiment will be described below with reference to the drawings. FIG. 2 shows a system configuration for realizing a layout design apparatus for a semiconductor integrated circuit according to the present embodiment, and FIG. 3 shows a hardware configuration of a computer device included in the system.

図2に示すように、本実施の形態に係る半導体集積回路のレイアウト設計システムは、コンピュータ装置10とサーバ20を備えている。コンピュータ装置10とサーバ20とはネットワーク30を介して接続されており、サーバ20は記録媒体21を備えている。   As shown in FIG. 2, the semiconductor integrated circuit layout design system according to the present embodiment includes a computer device 10 and a server 20. The computer apparatus 10 and the server 20 are connected via a network 30, and the server 20 includes a recording medium 21.

記録媒体21は、本実施の形態に係る半導体集積回路のレイアウト設計方法を実行するレイアウト設計プログラムを格納している。サーバ20は、インターネットなどのネットワーク30を介してエンジニアリングワークステーション等のコンピュータ装置10に接続される。記録媒体21に格納されているレイアウト設計プログラムは、ネットワーク30を介してコンピュータ装置10にダウンロードされる。ダウンロードされたレイアウト設計プログラムは、コンピュータ装置10のローカルなハードディスク或はメモリなどにストアされて実行処理を行う構成になっている。   The recording medium 21 stores a layout design program for executing the layout design method for the semiconductor integrated circuit according to the present embodiment. The server 20 is connected to a computer apparatus 10 such as an engineering workstation via a network 30 such as the Internet. The layout design program stored in the recording medium 21 is downloaded to the computer apparatus 10 via the network 30. The downloaded layout design program is stored in a local hard disk or a memory of the computer device 10 and is executed.

コンピュータ装置10は、ワークステーションやパーソナルコンピュータ等の情報処理装置である。図3に示すように、コンピュータ装置10は、CPU12、メインメモリ13、ハードディスク14等を内蔵した本体部11、本体部11からの指示により画面表示を行う表示装置15、このコンピュータ装置10にユーザの指示や文字情報を入力するためのキーボード16、および表示装置15の画面上における任意の位置を指定し、その位置に表示されていたアイコン等に応じた指示を入力するマウス17から構成される。   The computer device 10 is an information processing device such as a workstation or a personal computer. As shown in FIG. 3, the computer device 10 includes a CPU 12, a main memory 13, a hard disk 14, and the like, a display unit 15 that displays a screen in accordance with an instruction from the main unit 11, and a user's A keyboard 16 for inputting instructions and character information, and a mouse 17 for designating an arbitrary position on the screen of the display device 15 and inputting an instruction corresponding to an icon or the like displayed at the position.

CPU12及びメインメモリ13は、プログラムを実行し各部を制御する制御部の一例であり、ハードディスク14は、プログラム等を記憶する記憶部の一例である。制御部と記憶部は、一つの装置でもよいし、複数の装置であってもよい。例えば、複数の制御装置や複数の記憶装置に分散されていてもよい。また、表示装置15は、ユーザに対し種々の出力を行う出力装置の一例であり、キーボード16、マウス17は、ユーザが種々の入力操作を行う入力装置の一例である。   The CPU 12 and the main memory 13 are examples of a control unit that executes a program and controls each unit, and the hard disk 14 is an example of a storage unit that stores a program and the like. The control unit and the storage unit may be a single device or a plurality of devices. For example, it may be distributed to a plurality of control devices or a plurality of storage devices. The display device 15 is an example of an output device that performs various outputs to the user, and the keyboard 16 and the mouse 17 are examples of an input device that allows the user to perform various input operations.

ハードディスク14には、例えば、サーバ20からダウンロードされたレイアウト設計プログラム18と、レイアウト設計処理等に必要なその他の各種データ19が格納される。レイアウト設計プログラム18は、図5に後述するレイアウト設計方法の処理を実行するためのプログラムである。各種データ19は、図4に後述する各格納部に格納されるデータである。   The hard disk 14 stores, for example, a layout design program 18 downloaded from the server 20 and other various data 19 necessary for layout design processing and the like. The layout design program 18 is a program for executing processing of a layout design method described later in FIG. The various data 19 is data stored in each storage unit described later with reference to FIG.

コンピュータ装置10が、レイアウト設計プログラム18および各種データ19をメインメモリ13にロードし、CPU12はメインメモリ13にロードされたレイアウト設計プログラム18を実行することで、本実施形態に係るレイアウト設計方法の各処理が実施されて、レイアウト設計装置(図4に後述する機能構成)が実現される。   The computer device 10 loads the layout design program 18 and various data 19 into the main memory 13, and the CPU 12 executes the layout design program 18 loaded into the main memory 13, whereby each of the layout design methods according to the present embodiment. The processing is performed to realize a layout design apparatus (functional configuration described later in FIG. 4).

なお、コンピュータ装置10の基本動作は、ハードディスク14に格納された基本プログラムであるオペレーティングシステム(OS)を介して実行される。   The basic operation of the computer device 10 is executed via an operating system (OS) that is a basic program stored in the hard disk 14.

図4は、本実施の形態に係る半導体集積回路のレイアウト設計装置の構成を示している。レイアウト設計装置100は、コンピュータ装置10上でレイアウト設計プログラムが実行されて実現される処理部101と、コンピュータ装置10のハードディスク14等に相当する各種データの格納部102を備えている。なお、各処理部及び各格納部は、1つのコンピュータ装置10により実現してもよいし、複数のコンピュータ装置10により実現してもよい。   FIG. 4 shows a configuration of a semiconductor integrated circuit layout design apparatus according to the present embodiment. The layout design device 100 includes a processing unit 101 that is realized by executing a layout design program on the computer device 10 and a storage unit 102 for various data corresponding to the hard disk 14 and the like of the computer device 10. Note that each processing unit and each storage unit may be realized by one computer device 10 or a plurality of computer devices 10.

図4に示すように、レイアウト設計装置100の格納部102は、配置前ネットリスト格納部201、配置情報格納部202、ネット接続コスト格納部203、配線リソース格納部204、Halo格納部205、配置後ネットリスト格納部206を備えている。また、レイアウト設計装置100の処理部101は、セル配置処理部110、ネット接続コスト算出処理部120、配線リソース算出処理部130、Halo処理部140、概略配線処理部150を備えている。   As illustrated in FIG. 4, the storage unit 102 of the layout design apparatus 100 includes a pre-placement netlist storage unit 201, a placement information storage unit 202, a net connection cost storage unit 203, a wiring resource storage unit 204, a Halo storage unit 205, a placement. A rear net list storage unit 206 is provided. The processing unit 101 of the layout design apparatus 100 includes a cell placement processing unit 110, a net connection cost calculation processing unit 120, a wiring resource calculation processing unit 130, a Halo processing unit 140, and a schematic wiring processing unit 150.

配置前ネットリスト格納部201は、予め設計されたネットリストを格納する。このネットリストは、マクロ配置済みでセル配置前のネットリストであり、マクロの構成、接続関係及び配置位置、セルの構成、接続関係等が定義されている。特に、ネットリストは、セルの入力端子と出力端子ごとに接続関係が記載されている。配置前ネットリスト格納部201に格納されたネットリストは、処理部101の入力情報であり、処理部101は入力されるネットリストに基づいてセル配置を行う。   The pre-placement netlist storage unit 201 stores a pre-designed netlist. This netlist is a netlist that has been macro-arranged and has not been cell-arranged, and defines the macro configuration, connection relationship and arrangement position, cell configuration, connection relationship, and the like. In particular, the netlist describes connection relationships for each input terminal and output terminal of a cell. The netlist stored in the pre-placement netlist storage unit 201 is input information of the processing unit 101, and the processing unit 101 performs cell placement based on the input netlist.

配置情報格納部202は、処理部101のセル配置処理部110が、セルの配置処理に必要な情報を格納する。例えば、配置情報格納部202は、配置領域を分割した分割領域の情報、分割領域したセル群の情報、分割領域に割付けた(配置した)セル群の情報等を格納する。   The arrangement information storage unit 202 stores information necessary for the cell arrangement processing by the cell arrangement processing unit 110 of the processing unit 101. For example, the arrangement information storage unit 202 stores information on divided areas obtained by dividing the arrangement area, information on cell groups obtained by dividing the area, information on cell groups allocated (arranged) to the divided areas, and the like.

ネット接続コスト格納部203は、処理部101のネット接続コスト算出処理部120が算出したネット接続コストを格納する。ネット接続コスト格納部203は、ネットリストに含まれる全てのセルのネット接続コストや、分割領域ごとに割付けられているセル群のネット接続コストを格納する。   The net connection cost storage unit 203 stores the net connection cost calculated by the net connection cost calculation processing unit 120 of the processing unit 101. The net connection cost storage unit 203 stores the net connection cost of all the cells included in the net list and the net connection cost of the cell group allocated for each divided area.

配線リソース格納部204は、処理部101の配線リソース算出処理部130が算出した配線リソースを格納する。配線リソース格納部204は、分割領域ごとの配線リソースを格納する。   The wiring resource storage unit 204 stores the wiring resource calculated by the wiring resource calculation processing unit 130 of the processing unit 101. The wiring resource storage unit 204 stores wiring resources for each divided area.

Halo格納部205は、処理部101のHalo処理部140に付与されたセルのHalo(仮想拡張領域)に関する情報(Halo情報)を格納する。Halo情報は、Haloのサイズを含み、付与されたセルと関連付けて格納されている。   The Halo storage unit 205 stores information (Halo information) related to the Halo (virtual extension area) of the cell assigned to the Halo processing unit 140 of the processing unit 101. The Halo information includes the size of Halo and is stored in association with the assigned cell.

配置後ネットリスト格納部206は、処理部101の処理結果(出力情報)のネットリストを格納する。このネットリストは、セル配置済みのネットリストであり、マクロの構成、接続関係及び配置位置、セルの構成、接続関係及び配置位置等が定義されている。配置後ネットリスト格納部206のネットリストは、本実施の形態によるセル配置により、局所的な配線混雑の発生が抑止されたネットリストである。   The post-placement net list storage unit 206 stores a net list of processing results (output information) of the processing unit 101. This net list is a net list in which cells are arranged, and defines a macro configuration, connection relationship and arrangement position, cell configuration, connection relationship and arrangement position, and the like. The net list in the post-placement net list storage unit 206 is a net list in which local wiring congestion is suppressed by the cell placement according to the present embodiment.

セル配置処理部110(図1のセル配置部2及びセル再配置部5に相当)は、半導体集積回路の配置領域の分割とセルの割付けを行い、これを繰り返すことで分割領域にセルに配置する。また、セル配置処理部110は、セルにHaloが付与された場合、配置領域の分割とセルの割付けを再度行う。セル配置処理部110は、配置領域分割処理部111、セル群分割処理部112、セル群割付け処理部113、配置領域分割判定部114、配線混雑領域確認処理部115、重なりほぐし処理部116を備えている。   The cell placement processing unit 110 (corresponding to the cell placement unit 2 and the cell rearrangement unit 5 in FIG. 1) divides the placement area of the semiconductor integrated circuit and assigns the cells, and repeats this to place the cells in the divided areas. To do. In addition, when the cell is assigned a halo, the cell arrangement processing unit 110 performs division of the arrangement area and cell allocation again. The cell arrangement processing unit 110 includes an arrangement area division processing unit 111, a cell group division processing unit 112, a cell group allocation processing unit 113, an arrangement region division determination unit 114, a wiring congestion area confirmation processing unit 115, and an overlap loosening processing unit 116. ing.

配置領域分割処理部111は、半導体集積回路の配置領域をカットラインにより複数の分割領域に分割する。セル群分割処理部112は、分割された各分割領域にセル群を分割する(振り分ける)。特に、セル群分割処理部112は、セルにHaloが付与された場合、Haloを含めたサイズを用いて、セル群を分割する。セル群割付け処理部113は、分割されたセル群を各分割領域に割付ける(配置する)。   The arrangement area division processing unit 111 divides the arrangement area of the semiconductor integrated circuit into a plurality of division areas using cut lines. The cell group division processing unit 112 divides (assigns) the cell group into the divided areas. In particular, the cell group division processing unit 112 divides the cell group using the size including the halo when the halo is given to the cell. The cell group assignment processing unit 113 assigns (places) the divided cell group to each divided region.

配置領域分割判定部114は、配置領域の分割処理の繰り返しを終了(配置終了)するか否か判定する。具体的には、配置領域分割判定部114は、分割領域ごとのセル数が所定数より小さいか否か判定する。   The arrangement area division determination unit 114 determines whether or not to end the arrangement area division process (end arrangement). Specifically, the arrangement region division determination unit 114 determines whether or not the number of cells for each divided region is smaller than a predetermined number.

配線混雑領域確認処理部115は、セル配置後、局所的な配線混雑領域の有無を確認する。重なりほぐし処理部116は、セルの配置が重なっている(配置領域が重複している)場合、重なりが無くなるよう(ほぐすよう)にセルの配置を変更する。特に、重なりほぐし処理部116は、セルにHaloが付与された場合、Haloを含めたサイズを用いて、セルの重なりをほぐす。   The wiring congestion area confirmation processing unit 115 confirms the presence or absence of a local wiring congestion area after cell placement. When the cell arrangements overlap (arrangement areas overlap), the overlap unraveling processing unit 116 changes the cell arrangements so that there is no overlap (disentanglement). In particular, when the halo is assigned to the cell, the overlap unraveling processing unit 116 uses the size including the halo to loosen the overlap of the cells.

ネット接続コスト算出処理部120(図1のネット接続コスト算出部3に相当)は、セルの接続関係に基づいてセルのネット接続コストを算出する。ネット接続コスト算出処理部120は、セル用ネット接続コスト算出処理部121、セル群用ネット接続コスト算出処理部122を備えている。セル用ネット接続コスト算出処理部121は、ネットリストに含まれる全セルのネット接続コストを算出する。セル群用ネット接続コスト算出処理部122は、分割領域ごとに割付けられているセル群のネット接続コストを算出する。   The net connection cost calculation processing unit 120 (corresponding to the net connection cost calculation unit 3 in FIG. 1) calculates the net connection cost of the cell based on the cell connection relationship. The net connection cost calculation processing unit 120 includes a cell net connection cost calculation processing unit 121 and a cell group net connection cost calculation processing unit 122. The cell net connection cost calculation processing unit 121 calculates net connection costs of all cells included in the net list. The cell group net connection cost calculation processing unit 122 calculates the net connection cost of the cell group allocated to each divided region.

配線リソース算出処理部130(図1の配線リソース算出部1に相当)は、配線トラック数に基づいて、分割領域ごとの配線リソースを算出する。   The wiring resource calculation processing unit 130 (corresponding to the wiring resource calculation unit 1 in FIG. 1) calculates a wiring resource for each divided region based on the number of wiring tracks.

Halo処理部140(図1の仮想拡張領域付与部4に相当)は、セルに対しHaloの付与/削除を行う。Halo処理部140は、Halo付与判定部141、Halo付与処理部142、Halo削除処理部143、Halo再付与処理部144を備えている。   The halo processing unit 140 (corresponding to the virtual extension area adding unit 4 in FIG. 1) assigns / deletes the halo to the cell. The Halo processing unit 140 includes a Halo grant determination unit 141, a Halo grant processing unit 142, a Halo deletion processing unit 143, and a Halo reassignment processing unit 144.

Halo付与判定部141は、分割されたセル群の各セルにHaloの付与が必要か否か判定する。具体的には、Halo付与判定部141は、ネット接続コストに対し配線リソースが不足しているか否か判定する。Halo付与処理部142は、ネット接続コストに対し配線リソースが不足している場合、セルにHaloを付与する。Halo削除処理部143は、セルに付与されているHaloを削除する。Halo再付与処理部144は、セル配置後、局所的配線混雑領域が発生している場合、セルにHaloを再付与する。   The halo assignment determination unit 141 determines whether halo assignment is necessary for each cell of the divided cell group. Specifically, the Halo grant determination unit 141 determines whether or not the wiring resource is insufficient with respect to the net connection cost. The halo grant processing unit 142 grants the halo to the cell when the wiring resource is insufficient for the net connection cost. The halo deletion processing unit 143 deletes the halo assigned to the cell. The halo reassignment processing unit 144 reassigns the halo to the cell when a local wiring congestion area occurs after the cell placement.

概略配線処理部150は、セルの配置後、局所的配線混雑を確認するため、概略配線を行う。   The schematic wiring processing unit 150 performs schematic wiring in order to confirm local wiring congestion after the cells are arranged.

図5のフローチャートは、本実施の形態に係る半導体集積回路のレイアウト設計方法を示している。半導体集積回路のレイアウト設計において、マクロ配置が行われ、マクロ配置後のネットリストが生成された後、以下の処理が実行される。   The flowchart of FIG. 5 shows the layout design method of the semiconductor integrated circuit according to the present embodiment. In the layout design of a semiconductor integrated circuit, macro placement is performed, and after the net list after the macro placement is generated, the following processing is executed.

まず、レイアウト設計装置100は、半導体集積回路のネットリストに含まれる全てのセルごとに、入力端子数、出力端子数、および、出力端子に接続されるセル数に応じてネット接続コストを算出する(ステップS1)。   First, the layout design apparatus 100 calculates a net connection cost for every cell included in the net list of the semiconductor integrated circuit according to the number of input terminals, the number of output terminals, and the number of cells connected to the output terminals. (Step S1).

次いで、レイアウト設計装置100は、min−cut法等で配置領域を分割し(ステップS2)、分割した配置領域の配線リソースを、配線トラックに基づき算出する(ステップS3)。   Next, the layout design apparatus 100 divides the placement area by the min-cut method or the like (step S2), and calculates the wiring resources of the divided placement area based on the wiring track (step S3).

次いで、レイアウト設計装置100は、min−cut法により、カットラインを横切る配線本数が最小になり、かつ、セル面積の偏りがないようにセル群を分割し(振り分け)、分割した配置領域に割付け(ステップS4、S5)、セルにサイズを仮想的に膨らませるための仮想的なセルサイズ情報(以下、Haloとも言う)が付与されている場合、Haloを削除する(ステップS6)。   Next, the layout design apparatus 100 divides (assigns) the cell group so that the number of wires crossing the cut line is minimized and the cell area is not biased by the min-cut method, and allocates the divided arrangement area. (Steps S4 and S5) When virtual cell size information (hereinafter also referred to as Halo) for virtually expanding the size of the cell is given, Halo is deleted (step S6).

次いで、レイアウト設計装置100は、ステップS1で算出したネット接続コストに基づき、領域のセル群のネット接続コストを算出し(ステップS7)、ステップS7で算出したネット接続コストに対し、ステップS3で算出した配線トラックが不足している場合、セルを仮想的に膨らませるHaloを付与し、ステップS4のセル群の分割に戻る(ステップS8、S9)。この場合、Haloを付与したセルのサイズで、セル群の分割、割付けを行う(ステップS4〜S7)。   Next, the layout design apparatus 100 calculates the net connection cost of the cell group in the region based on the net connection cost calculated in step S1 (step S7), and calculates the net connection cost calculated in step S7 in step S3. If the number of wiring tracks thus obtained is insufficient, a halo for virtually inflating the cell is assigned, and the process returns to the division of the cell group in step S4 (steps S8 and S9). In this case, the cell group is divided and allocated with the size of the cell to which Halo is assigned (steps S4 to S7).

次いで、レイアウト設計装置100は、配線トラックが足りている場合、分割領域に属するセル数がmin−cut法の目標関数である十分少ないセル数であるか判定し、セル数が多い場合、ステップS2に戻る(ステップS10)。この場合、配置領域をさらに分割し、分割領域にセル群の分割、割付けを行う(ステップS2〜S8)。   Next, when there are enough wiring tracks, the layout design apparatus 100 determines whether the number of cells belonging to the divided region is a sufficiently small number of cells that is a target function of the min-cut method. If the number of cells is large, step S2 Return to (step S10). In this case, the arrangement area is further divided, and cell groups are divided and assigned to the divided areas (steps S2 to S8).

レイアウト設計装置100は、min−cut法により、全てのセルの配置が完了した時点で、概略配線を実行し、局所的な配線混雑領域がないか確認する(ステップS11、S12)。   The layout design apparatus 100 executes schematic wiring when all the cells have been arranged by the min-cut method, and checks whether there is a local wiring congestion area (steps S11 and S12).

レイアウト設計装置100は、局所的な配線混雑が存在する場合には、その領域に含まれるセルに、セルを仮想的に膨らませるHaloを付与し、セルの重なりをほぐし、ステップS11に戻る(ステップS13、S14)。また、レイアウト設計装置100は、局所的な配線混雑領域がない場合、処理を完了する(ステップS12)。   When there is local wiring congestion, the layout design apparatus 100 assigns Halo that virtually expands the cells to the cells included in the area, loosens the overlapping of the cells, and returns to step S11 (step S11). S13, S14). The layout design apparatus 100 completes the process when there is no local wiring congestion area (step S12).

これによりセル配置が完了し、その後、配線が行われ、さらに、遅延時間の計算及びタイミング解析が行われる。本実施の形態のセル配置により、局所的な配線混雑が生じないため、タイミング解析からレイアウト設計(セル配置)へのイタレーションの発生を抑えられる。   As a result, cell placement is completed, wiring is performed, and delay time calculation and timing analysis are performed. The cell arrangement according to the present embodiment does not cause local wiring congestion, so that iterating from timing analysis to layout design (cell arrangement) can be suppressed.

以下、図6から図13を用いて、図5のレイアウト設計方法の処理フローを具体的に説明する。まず、セル用ネット接続コスト算出処理部121は、半導体集積回路のネットリストに含まれる全セルに対し、入力端子数、出力端子数、および、出力端子に接続されるセル数に応じてネット接続コストを算出する(ステップS1)。セル用ネット接続コスト算出処理部121は、配置前ネットリスト格納部201に格納されたセル配置前の半導体集積回路のネットリストを参照し、このネットリストに含まれる全セルのネット接続コストを算出して、算出したネット接続コストをネット接続コスト格納部203に格納する。ネット接続コストは、他のセルとの接続度合いを示し、配線の混雑度を判断するための1つの指標であり、少なくともセルの入力端子及び出力端子に接続される配線に基づいている。さらに、ネット接続コストは、例えば、以下の(式1)により算出される。
ネット接続コスト=ネットの接続されている入力端子数+Σ(各出力端子×各出力端子に接続されるセル数) ・・・(式1)
Hereinafter, the processing flow of the layout design method of FIG. 5 will be described in detail with reference to FIGS. First, the cell net connection cost calculation processing unit 121 connects to all cells included in the net list of the semiconductor integrated circuit according to the number of input terminals, the number of output terminals, and the number of cells connected to the output terminals. Cost is calculated (step S1). The cell net connection cost calculation processing unit 121 refers to the net list of the semiconductor integrated circuit before the cell placement stored in the pre-placement net list storage unit 201 and calculates the net connection cost of all the cells included in the net list. Then, the calculated net connection cost is stored in the net connection cost storage unit 203. The net connection cost indicates the degree of connection with other cells and is one index for determining the degree of congestion of the wiring, and is based on wiring connected to at least the input terminal and output terminal of the cell. Furthermore, the net connection cost is calculated by, for example, the following (Formula 1).
Net connection cost = number of input terminals connected to the net + Σ (each output terminal × number of cells connected to each output terminal) (Equation 1)

(式1)によりセルに接続される全ての入出力配線の数をネット接続コストとすることができる。図6は、ステップS1において、ネットリストに含まれるセルに設定するネット接続コストの一例を示している。なお、セルとは、図6のように1つのフリップフロップやゲート回路などから構成されるプリミティブセル(基本セル:最小単位の機能セル)である。   The number of all input / output wirings connected to the cell can be set as the net connection cost by (Expression 1). FIG. 6 shows an example of the net connection cost set in the cell included in the net list in step S1. Note that a cell is a primitive cell (basic cell: a functional cell of a minimum unit) composed of one flip-flop, a gate circuit, or the like as shown in FIG.

図6の例では、図6(a)のセル301と図6(d)のセル304は、共に入力端子が一つ、出力端子が一つで、同じ入力、出力端子数を持つセルである。ここで、入力端子については、セル301、セル304共にネットが接続されており、ネットの接続されている入力端子数は一つと同じである。一方、出力端子については、セル301の出力端子に接続されるセルは一つであるが、セル304の出力端子に接続されるセルは三つとセル301に比べ二つ多い。   In the example of FIG. 6, the cell 301 in FIG. 6A and the cell 304 in FIG. 6D both have one input terminal and one output terminal, and have the same number of inputs and output terminals. . Here, with regard to the input terminals, both the cell 301 and the cell 304 are connected to the net, and the number of input terminals connected to the net is the same as one. On the other hand, as for the output terminal, one cell is connected to the output terminal of the cell 301, but there are three cells connected to the output terminal of the cell 304 and two more than the cell 301.

このため、上記(式1)のネット接続コストの算出式を用いると、図6(a)のセル301のネット接続コスト=1+1×1=2となり、図6(d)のセル304のネット接続コスト=1+1×3=4となる。   For this reason, using the formula for calculating the net connection cost in (Equation 1), the net connection cost of the cell 301 in FIG. 6A = 1 + 1 × 1 = 2, and the net connection in the cell 304 in FIG. 6D. Cost = 1 + 1 × 3 = 4.

同様に、図6(b)のセル302は、入力端子数=3、出力端子数=1、出力端子に接続されるセル数=1であるため、ネット接続コスト=3+1×1=4となる。図6(c)のセル303は、入力端子数=1、出力端子数=3、出力端子に接続されるセル数=1であるため、ネット接続コスト=1+3×1=4となる。図6(e)のセル305は、入力端子数=3、出力端子数=3、出力端子に接続されるセル数=3であるため、ネット接続コスト=3+1×3+1×3+1×3=12となる。   Similarly, the cell 302 in FIG. 6B has the number of input terminals = 3, the number of output terminals = 1, and the number of cells connected to the output terminals = 1, so that the net connection cost = 3 + 1 × 1 = 4. . In the cell 303 in FIG. 6C, the number of input terminals = 1, the number of output terminals = 3, and the number of cells connected to the output terminals = 1, so that the net connection cost = 1 + 3 × 1 = 4. The cell 305 in FIG. 6E has the number of input terminals = 3, the number of output terminals = 3, and the number of cells connected to the output terminals = 3, so that the net connection cost = 3 + 1 × 3 + 1 × 3 + 1 × 3 = 12. Become.

この(式1)により算出した値をネット接続コストとして以降の処理を行ってもよいし、別の値に変換(変更)してもよい。図6の例では、(式1)により算出したネット接続コストを、特定の範囲を決め、その範囲内のネット接続コストを同一のネット接続コストとして扱う。ネット接続コストを所定の範囲に丸めることにより、処理を簡略化することができ、また、配線リソースと比較するためのパラメータ調整を行うことができる。   The subsequent processing may be performed using the value calculated by (Equation 1) as the network connection cost, or may be converted (changed) to another value. In the example of FIG. 6, a specific range is determined for the net connection cost calculated by (Equation 1), and the net connection cost within the range is treated as the same net connection cost. By rounding the net connection cost to a predetermined range, processing can be simplified, and parameter adjustment for comparison with wiring resources can be performed.

例えば、ネット接続コストが1から3の範囲を1、4から5の範囲を2、6から8の範囲を3、9から10の範囲を4、11から12の範囲を5とする。これにより、図6に示すように、ネット接続コスト算出の例で算出したセル301=2、セル302=4、セル303=4、セル304=4、セル305=12の各ネット接続コストを、前記のネット接続コストの範囲に基づき、セル301=1、セル302、セル303、セル304=2、セル305=5と各々のネット接続コストを設定する。   For example, the range where the net connection cost is 1 to 3 is 1, the range 4 to 5 is 2, the range 6 to 8 is 3, the range 9 to 10 is 4, and the range 11 to 12 is 5. Accordingly, as shown in FIG. 6, the net connection costs of cell 301 = 2, cell 302 = 4, cell 303 = 4, cell 304 = 4, and cell 305 = 12, calculated in the example of net connection cost calculation, Based on the range of the net connection cost, the cell 301 = 1, the cell 302, the cell 303, the cell 304 = 2, and the cell 305 = 5 are set for the respective net connection costs.

次いで、配置領域分割処理部111は、半導体集積回路の配置領域をカットラインにより分割する(ステップS2)。配置領域の分割には、一般的な配置技術であるmin−cut法などを用いることでよい。配置領域分割処理部111は、配置前ネットリスト格納部201に格納されたセル配置前の半導体集積回路のネットリストを参照してセルを配置する配置領域を特定し、例えば、この配置領域を均等に2分割し、2分割した分割領域の情報を配置情報格納部202に格納する。   Next, the arrangement area division processing unit 111 divides the arrangement area of the semiconductor integrated circuit by the cut line (step S2). The division of the arrangement area may be performed using a general arrangement technique such as a min-cut method. The arrangement area division processing unit 111 specifies an arrangement area in which cells are arranged by referring to the net list of the semiconductor integrated circuit before the cell arrangement stored in the pre-placement net list storage unit 201, and, for example, the arrangement area is equalized. The information is divided into two, and the information of the divided area divided into two is stored in the arrangement information storage unit 202.

図7は、ステップS2において、半導体集積回路の配置領域を分割した分割領域の一例を示している。図7の例は、配置領域A1をカットラインC1で分割した例である。すなわち、配置領域A1を、カットラインC1により、それぞれの面積が1/2となるように、分割領域B1と分割領域B2に分割する。なお、この例では、分割領域B2に、ある機能を持つマクロM1が既に配置されている。なお、マクロとは、所定の機能を実現するように、複数の回路から構成された回路ブロックである。   FIG. 7 shows an example of a divided area obtained by dividing the arrangement area of the semiconductor integrated circuit in step S2. The example of FIG. 7 is an example in which the arrangement area A1 is divided by the cut line C1. That is, the arrangement region A1 is divided into the divided region B1 and the divided region B2 by the cut line C1 so that the respective areas are halved. In this example, a macro M1 having a certain function is already arranged in the divided area B2. A macro is a circuit block composed of a plurality of circuits so as to realize a predetermined function.

次いで、配線リソース算出処理部130は、ステップS2で分割した各分割領域に存在する配線トラック数を元に配線リソースを算出する(ステップS3)。配線リソース算出処理部130は、配置情報格納部202に格納された分割領域を参照して、この分割領域の配線リソースを算出し、算出した配線リソースを配線リソース格納部204に格納する。   Next, the wiring resource calculation processing unit 130 calculates a wiring resource based on the number of wiring tracks existing in each divided region divided in step S2 (step S3). The wiring resource calculation processing unit 130 refers to the divided area stored in the arrangement information storage unit 202, calculates the wiring resource of this divided area, and stores the calculated wiring resource in the wiring resource storage unit 204.

図8は、ステップS3において、配線リソースを算出するために用いる、分割領域の配線トラックの一例を示している。図8の例は、図7のステップS2で分割した分割領域B2に存在する配線トラックの例である。図8(a)は分割領域B2のメタル1層で水平方向(X方向:横方向)に配線トラックL1が延在することを示し、図8(b)は分割領域B2のメタル2層で垂直方向(Y方向:縦方向)に配線トラックL2が延在することを示し、図8(c)は分割領域B2のメタル3層で水平方向に配線トラックL3が延在することを示し、図8(d)は分割領域B2のメタル4層で垂直方向に配線トラックL4が延在することを示している。なお、図8(d)のメタル4層の配線トラックL4は、他の図8(a)、図8(b)、図8(c)の層の配線トラックL1、L2、L3に対して倍の間隔で配線トラックが延在している。つまり、図8(a)、図8(b)、図8(c)の領域に対する配線トラックL1、L2、L3の配線トラック密度を1とした場合、図8(d)の配線トラックL4の配線トラック密度は半分の0.5となる。   FIG. 8 shows an example of the wiring track of the divided area used for calculating the wiring resource in step S3. The example of FIG. 8 is an example of the wiring track existing in the divided area B2 divided in step S2 of FIG. FIG. 8A shows that the wiring track L1 extends in the horizontal direction (X direction: lateral direction) in the metal 1 layer in the divided region B2, and FIG. 8B shows the vertical direction in the metal 2 layer in the divided region B2. 8 shows that the wiring track L2 extends in the direction (Y direction: vertical direction), and FIG. 8C shows that the wiring track L3 extends in the horizontal direction in the metal 3 layer of the divided region B2. (D) shows that the wiring track L4 extends vertically in the metal 4 layer of the divided region B2. Note that the wiring track L4 of the metal 4 layer in FIG. 8D is doubled with respect to the wiring tracks L1, L2, and L3 of the other layers in FIGS. 8A, 8B, and 8C. Wiring tracks extend at intervals of. That is, when the wiring track density of the wiring tracks L1, L2, and L3 for the regions of FIGS. 8A, 8B, and 8C is 1, the wiring of the wiring track L4 in FIG. The track density is half, which is 0.5.

配線リソースは、配線の混雑度を判断するための1つの指標であり、少なくとも分割領域において配線のために使用可能な有効配線トラック数に基づいている。ここで、一般に配線を行う場合、隣接するメタル層の水平方向と垂直方向の2方向の配線トラックに沿って配線が敷設されてセル間が接続される。このため、1つの入力端子または出力端子の配線には、隣接するメタル層の水平方向の配線トラックと垂直方向の配線トラックが必要となる。したがって、配線リソースは、隣接する2つのメタル層の配線トラック数の平均(1/2)を合計した値となる。図8の分割領域B2の配線リソースは、図8(a)と図8(b)のペア、図8(b)と図8(c)のペア、図8(c)と図8(d)のペアに基づき、(1層のトラック数+2層のトラック数)/2+(2層のトラック数+3層のトラック数)/2+(3層のトラック数+4層のトラック数)/2が、全体の配線リソースとなる。これにより、精度よく配線リソースの過不足を判断することができる。なお、全てのメタル層の配線トラックを単純に合計した値を配線リソースとして、簡易に配線リソースを求めてもよい。   The wiring resource is one index for determining the degree of congestion of the wiring, and is based on the number of effective wiring tracks that can be used for wiring at least in the divided area. Here, in general, when wiring is performed, wiring is laid along two horizontal wiring tracks in the horizontal direction and the vertical direction of adjacent metal layers to connect the cells. For this reason, the wiring of one input terminal or output terminal requires a wiring track in the horizontal direction and a wiring track in the vertical direction of adjacent metal layers. Accordingly, the wiring resource is a value obtained by adding up the average (1/2) of the number of wiring tracks of two adjacent metal layers. The wiring resources of the divided region B2 in FIG. 8 are the pairs in FIGS. 8A and 8B, the pairs in FIGS. 8B and 8C, and FIGS. 8C and 8D. (Track number of 1 layer + number of tracks of 2 layers) / 2 + (number of tracks of 2 layers + number of tracks of 3 layers) / 2 + (number of tracks of 3 layers + number of tracks of 4 layers) / 2 It becomes a wiring resource. Thereby, it is possible to accurately determine the excess or deficiency of the wiring resources. Note that a wiring resource may be easily obtained by using a value obtained by simply summing the wiring tracks of all the metal layers as a wiring resource.

このとき、電源配線等により、既に配線トラックが使われている場合には、そのトラックは使用済みとしカウントしない。更に、当該領域にマクロ等が配置されている場合、そのマクロで使用されるトラックは使用済みとしカウントしない。これにより、確実に使用可能な有効配線トラック数を用いて、配線リソースを算出できる。   At this time, if a wiring track is already used due to power supply wiring or the like, the track is regarded as being used and is not counted. Further, when a macro or the like is arranged in the area, tracks used in the macro are regarded as used and are not counted. As a result, the wiring resource can be calculated using the number of effective wiring tracks that can be reliably used.

図8ではマクロM1が配置され、かつ、メタル1層とメタル2層をマクロM1で使用済みであり、図8(a)のメタル1層の有効配線トラックと図8(b)のメタル2層の有効配線トラックは、マクロM1で使用済みのトラックを除いたものとなる。   In FIG. 8, the macro M1 is disposed, and the metal 1 layer and the metal 2 layer are already used in the macro M1, and the effective wiring track of the metal 1 layer in FIG. 8A and the metal 2 layer in FIG. The effective wiring track is obtained by excluding tracks used in the macro M1.

そうすると、配線リソースを算出する算出式の一例は、次の(式2)、(式3)となる。
配線リソース=Σ(((n層の有効配線トラック)+(n+1層の有効配線トラック))/2) ・・・(式2)
有効配線トラック=n層の配線トラック−n層の使用済みのトラック ・・・(式3)
Then, an example of a calculation formula for calculating the wiring resource is the following (Formula 2) and (Formula 3).
Wiring resource = Σ (((n layer effective wiring track) + (n + 1 layer effective wiring track)) / 2) (Expression 2)
Effective wiring track = n layer wiring track−n layer used track (Equation 3)

次いで、セル群分割処理部112、ステップS2で分割した各配置領域のカットラインを横切る配線の本数が最小になるようにセル群を分割し(振り分け)(ステップS4)、セル群割付け処理部113は、分割したセル群を分割領域に割付ける(ステップS5)。セル群の分割と分割領域へのセル群の割付けは、一般的な配置技術であるmin−cut法などを用いることでよく、更に、当該手法の目標である、セル面積の合計が一定の範囲内に収まることを条件とし、セルがどちらかの領域に偏らないようにする。   Next, the cell group division processing unit 112 divides the cell group so as to minimize the number of wires crossing the cut lines of the respective arrangement areas divided in step S2 (distribution) (step S4), and the cell group allocation processing unit 113. Assigns the divided cell groups to the divided regions (step S5). The division of the cell group and the allocation of the cell group to the divided area may be performed by using a general arrangement technique such as a min-cut method, and further, the target of the method is a range where the total cell area is constant. The cell should not be biased to either area, as long as it is within the range.

セル群分割処理部112は、配置情報格納部202に格納された分割領域を参照して、ネットリストに含まれるセル群を2つの分割領域に振り分ける。セル群割付け処理部113は、振り分けた2つのセル群を各分割領域に割付け、割り付けたセル群と分割領域の情報を配置情報格納部202に格納する。   The cell group division processing unit 112 refers to the divided areas stored in the arrangement information storage unit 202 and distributes the cell group included in the net list into two divided areas. The cell group allocation processing unit 113 allocates the allocated two cell groups to each divided region, and stores the allocated cell group and divided region information in the arrangement information storage unit 202.

図9は、ステップS4において、分割したセル群を分割領域に割り付ける一例を示している。特に、図9では、図7ステップS2で分割した各分割領域B1、B2のカットラインC1を横切る配線の本数D1が最小になるようにセルをセル群E1とセル群E2のセルの集まりに分割し、分割領域B1とB2に分割したセル群E1、E2を割付けている。   FIG. 9 shows an example of assigning divided cell groups to divided regions in step S4. In particular, in FIG. 9, the cells are divided into a group of cells of the cell group E1 and the cell group E2 so that the number of wirings D1 crossing the cut lines C1 of the divided areas B1 and B2 divided in step S2 of FIG. The cell groups E1 and E2 divided into the divided areas B1 and B2 are assigned.

次いで、Halo削除処理部143は、各セルに対してセルにサイズを仮想的に膨らませるためのHaloが付与されている場合、Haloを削除する(ステップS6)。ステップS9がまだ実行されていない場合にはHaloが付与されていないため、ステップS9が実行されてHaloが付与された後、ステップS6でHaloが削除される。Halo削除処理部143は、Halo格納部205を参照し、各セルに付与されているHaloをHalo格納部205から削除する。   Next, the halo deletion processing unit 143 deletes the halo when the halo for virtually expanding the size of the cell is assigned to each cell (step S6). If Step S9 has not been executed yet, since Halo has not been assigned, Halo is deleted in Step S6 after Step S9 has been executed and Halo has been assigned. The halo deletion processing unit 143 refers to the halo storage unit 205 and deletes the halo assigned to each cell from the halo storage unit 205.

図10は、ステップS6においてHaloを削除する一例を示している。図10の例では、セルH1にHalo H2が付与されていたため、Halo H2を削除し、セルのサイズを元のセルH1のサイズとする。すなわち、セルH1に付与されているHalo H2を削除することで、セルの仮想的な膨らませを削除する。このように、各セルに付与されているHaloを削除しておくことで、後続のセルへのHalo付与処理においてHaloを付与する対象となるセル以外のセルにHaloが付与されないようにする。   FIG. 10 shows an example of deleting Halo in step S6. In the example of FIG. 10, since Halo H2 is assigned to the cell H1, Halo H2 is deleted, and the size of the cell is set to the size of the original cell H1. That is, by deleting Halo H2 assigned to the cell H1, the virtual expansion of the cell is deleted. In this way, by deleting the halo assigned to each cell, the halo is prevented from being assigned to cells other than the cell to which the halo is to be assigned in the halo grant process for subsequent cells.

次いで、セル群用ネット接続コスト算出処理部122は、ステップS1の各セルのネット接続コストを参照して、ステップS4で分割したセル群のネット接続コストを算出する(ステップS7)。セル群用ネット接続コスト算出処理部122は、ネット接続コスト格納部203に格納されたネット接続コストを参照し、配置情報格納部202に格納された分割されたセル群の情報を参照し、各セル群のネット接続コストを算出し、算出したネット接続コストをネット接続コスト格納部203に格納する。   Next, the cell group net connection cost calculation processing unit 122 refers to the net connection cost of each cell in step S1, and calculates the net connection cost of the cell group divided in step S4 (step S7). The cell group net connection cost calculation processing unit 122 refers to the net connection cost stored in the net connection cost storage unit 203, refers to the information of the divided cell groups stored in the arrangement information storage unit 202, and The net connection cost of the cell group is calculated, and the calculated net connection cost is stored in the net connection cost storage unit 203.

図11は、ステップS7において各セル群のネット接続コストを算出する一例を示している。図11の例は、図7のステップS2で分割された分割領域B1、B2に対し、図9のステップS4,S5で分割及び割付けを行ったセル群の例である。各セルのネット接続コストはステップS1で算出しており、図11は、ネット接続コストごとにセル群を分類した状態を示している。   FIG. 11 shows an example of calculating the net connection cost of each cell group in step S7. The example of FIG. 11 is an example of a cell group obtained by dividing and allocating the divided areas B1 and B2 divided at step S2 of FIG. 7 at steps S4 and S5 of FIG. The net connection cost of each cell is calculated in step S1, and FIG. 11 shows a state in which cell groups are classified for each net connection cost.

セル群C11は、図9で分割領域B1に割付けられたセル群E1に含まれ、セル群C21は、図9で分割領域B2に割付けられたセル群E2に含まれ、共に、図6(a)、つまり、入力、出力端子数がともに1つで、出力に接続されるセル数が1つであり、ネット接続コストが1のセル群である。   The cell group C11 is included in the cell group E1 assigned to the divided area B1 in FIG. 9, and the cell group C21 is included in the cell group E2 assigned to the divided area B2 in FIG. In other words, the cell group has one input and one output terminal, one cell connected to the output, and one net connection cost.

セル群C12は、図9で分割領域B1に割付けられたセル群E1に含まれ、セル群C22は、図9で分割領域B2に割付けられたセル群E2に含まれ、共に、図6(b)、つまり、入力端子数が3つ、出力端子数が1つで接続されるセル数が1つであり、ネット接続コストが2のセル群である。   The cell group C12 is included in the cell group E1 assigned to the divided area B1 in FIG. 9, and the cell group C22 is included in the cell group E2 assigned to the divided area B2 in FIG. That is, a cell group having three input terminals, one output terminal and one connected cell, and a net connection cost of two.

セル群C13は、図9で分割領域B1に割付けられたセル群E1に含まれ、セル群C23は、図9で分割領域B2に割付けられたセル群E2に含まれ、共に、図6(e)、つまり、入力端子数が3つ、出力端子数が3つで、各出力端子に接続されるセル数が3ずつであり、ネット接続コストが5のセル群である。   The cell group C13 is included in the cell group E1 assigned to the divided area B1 in FIG. 9, and the cell group C23 is included in the cell group E2 assigned to the divided area B2 in FIG. In other words, the cell group has three input terminals, three output terminals, three cells connected to each output terminal, and a net connection cost of five.

図9で分割領域B1に割付けられたセル群C11〜C13では、セル群C11にネット接続コストが1のセルが4つ、セル群C12にネット接続コストが2のセルが3つ、セル群C13にネット接続コストが5のセルが2つある。このため、分割領域B1のセル群のネット接続コストは、「Σ(ネット接続コスト×セル数)」により、1×4+2×3+5×2=20となる。   In the cell groups C11 to C13 assigned to the divided region B1 in FIG. 9, the cell group C11 has four cells with a net connection cost of 1, the cell group C12 has three cells with a net connection cost of 2, and the cell group C13. There are two cells with a net connection cost of 5. For this reason, the net connection cost of the cell group in the divided region B1 is 1 × 4 + 2 × 3 + 5 × 2 = 20 by “Σ (net connection cost × number of cells)”.

同様に、図9で分割領域B2に割付けられたセル群C21〜C23では、セル群C21にネット接続コストが1のセルが3つ、セル群C22にネット接続コストが2のセルが2つ、セル群C23にネット接続コストが5のセルが3つあるため、分割領域B2のセル群のネット接続コストは、1×3+2×2+5×3=22となる。   Similarly, in the cell groups C21 to C23 assigned to the divided region B2 in FIG. 9, the cell group C21 has three cells with a net connection cost of 1, the cell group C22 has two cells with a net connection cost of 2, Since the cell group C23 has three cells with a net connection cost of 5, the net connection cost of the cell group in the divided region B2 is 1 × 3 + 2 × 2 + 5 × 3 = 22.

次いで、Halo付与判定部141は、ステップS7で求めた分割したセル群のネット接続コストに対し、ステップS3で求めた各分割領域に存在する配線リソースが足りているかを判定する(ステップS8)。Halo付与判定部141は、ネット接続コスト格納部203に格納されている分割したセル群のネット接続コストを参照し、配線リソース格納部204に格納されている分割領域の配線リソースを参照し、分割領域ごとに、ネット接続コストと配線リソースを比較する。   Next, the halo assignment determination unit 141 determines whether the wiring resources existing in each divided region obtained in step S3 are sufficient for the net connection cost of the divided cell group obtained in step S7 (step S8). The halo grant determining unit 141 refers to the net connection cost of the divided cell group stored in the net connection cost storage unit 203, refers to the wiring resource of the divided area stored in the wiring resource storage unit 204, and Compare network connection costs and wiring resources for each area.

図12は、ステップS8において判定する、分割領域ごとのセル群と配線リソース(配線トラック)の一例を示している。図12の例では、図7と同様に、カットラインC1により配置領域が分割領域B1と分割領域B2に分割され、かつ、分割領域B2には機能を持つマクロM1が配置されている。このため、ステップS3で求めた配線リソースは、分割領域B1の配線リソースT1に比べて分割領域B2の配線リソースT2の方が少ない。一方、図11のステップS7で求めた分割したセル群のネット接続コストは、セル群E1は20、セル群E2は22と、セル群E2の方が大きい。   FIG. 12 shows an example of a cell group and a wiring resource (wiring track) for each divided region determined in step S8. In the example of FIG. 12, as in FIG. 7, the arrangement area is divided into the division area B1 and the division area B2 by the cut line C1, and the macro M1 having a function is arranged in the division area B2. For this reason, the wiring resource obtained in step S3 is smaller in the wiring resource T2 in the divided region B2 than in the wiring resource T1 in the divided region B1. On the other hand, the cell connection cost of the divided cell group obtained in step S7 of FIG. 11 is 20 for the cell group E1, 22 for the cell group E2, and is higher for the cell group E2.

ここで、"ネット接続コスト/配線リソース"により配線リソース充足率を求め、配線リソース充足率が1を超える場合、各分割領域の配線リソースが不足していると判断する。なお、配線リソース充足率の下限の判定基準は、使用するプロセスや使用する配線層により可変である。このように、ステップS7で求めた分割したセル群のネット接続コストに対し、ステップS3で求めた各分割領域の配線リソースが足りているかを判断する。   Here, the wiring resource sufficiency is obtained from “net connection cost / wiring resource”, and when the wiring resource sufficiency exceeds 1, it is determined that the wiring resources of each divided region are insufficient. Note that the criterion for determining the lower limit of the wiring resource sufficiency is variable depending on the process used and the wiring layer used. In this way, it is determined whether the wiring resources of each divided area obtained in step S3 are sufficient for the net connection cost of the divided cell group obtained in step S7.

なお、配線リソース充足率の代わりに、ネット接続コストと配線リソースを単純に比較し、簡易に配線リソースの過不足を判断してもよい。ネット接続コストよりも配線リソースが大きい場合、配線リソースは足りていると判断し、ネット接続コストよりも配線リソースが小さい場合、配線リソースは不足していると判断する。   Note that instead of the wiring resource sufficiency rate, the net connection cost and the wiring resource may be simply compared to determine whether the wiring resource is excessive or insufficient. If the wiring resource is larger than the net connection cost, it is determined that the wiring resource is sufficient, and if the wiring resource is smaller than the net connection cost, it is determined that the wiring resource is insufficient.

ステップS8において分割領域で配線リソースが不足していると判断された場合、Halo付与処理部142は、配線リソースが不足していると判断された分割領域に割付けたセル群にサイズを仮想的に膨らませるためのHaloを付与する(ステップS9)。Halo付与処理部142は、配線リソースの不足量に応じて分割領域のセル群にHaloを付与し、付与したHaloの情報をHalo格納部205に格納する。図13は、ステップS9においてHaloを付与する一例を示している。図13の例では、セルH1に対し、仮想的にサイズを膨らませるためのHalo H2を付与している。   If it is determined in step S8 that the wiring resource is insufficient in the divided area, the halo grant processing unit 142 virtually assigns the size to the cell group allocated to the divided area determined to be insufficient in the wiring resource. A halo for inflating is applied (step S9). The halo assignment processing unit 142 assigns halos to the cell group in the divided area according to the shortage amount of the wiring resources, and stores the assigned halo information in the halo storage unit 205. FIG. 13 shows an example of adding Halo in step S9. In the example of FIG. 13, Halo H2 for virtually expanding the size is given to the cell H1.

付与するHaloのサイズは、ステップS7で求めた各セルのネット接続コストに準じて(応じて)付与し、ネット接続コストの高いセルには付与するHaloサイズを大きくする。これにより、コストが大きく配線がより必要なセルに対して、配線の領域を確保できる。また、ステップS8で求めた配線リソース充足率が高いほど、配線リソースが不足しているため、セルに付与するHaloサイズは、配線リソース充足率に比例して大きくする。これにより、配線リソースがより必要なセルに対して、配線の領域を確保することができる。   The size of Halo to be assigned is given in accordance with (according to) the net connection cost of each cell obtained in step S7, and the Halo size to be given to a cell having a high net connection cost is increased. As a result, a wiring area can be secured for a cell that is costly and requires more wiring. Moreover, since the wiring resource is insufficient as the wiring resource satisfaction rate obtained in step S8 is higher, the Halo size assigned to the cell is increased in proportion to the wiring resource satisfaction rate. As a result, a wiring area can be secured for a cell that requires more wiring resources.

ここで、付与するHaloの水平方向(X方向)と垂直方向(Y方向)の拡大比率については、使用するプロセスや使用する配線層により可変であり、例えば、水平方向の配線トラックが垂直方向の配線トラックに比べて多い場合には、垂直方向の配線トラックが不足するため、Haloは水平方向の拡大比率を多くする。これにより、水平方向・垂直方向の配線トラック数に応じて、必要な配線の領域を確保することができる。   Here, the enlargement ratio of the horizontal direction (X direction) and the vertical direction (Y direction) of the halo to be applied is variable depending on the process used and the wiring layer used. For example, the horizontal wiring track is in the vertical direction. When the number of wiring tracks is larger than that of wiring tracks, the number of vertical wiring tracks is insufficient, so Halo increases the horizontal expansion ratio. As a result, a necessary wiring area can be secured according to the number of wiring tracks in the horizontal and vertical directions.

ステップS9でHaloを付与した後、ステップS4以降の処理が繰り返される。すなわち、Haloを付与したサイズに基づいて、セル群の分割及び割付けが行われる。Haloを付与したセル群について、Haloを付与したサイズである仮想的なセルサイズのHalo H2をセルのサイズとして扱うことで、元のサイズであるセルH1と比べて領域を広げ、配線リソースの確保を可能とする。   After adding Halo in step S9, the processes in and after step S4 are repeated. That is, the cell group is divided and allocated based on the size to which Halo is assigned. For a cell group to which Halo has been assigned, the Halo H2 having a virtual cell size that is the size to which Halo has been assigned is handled as the cell size, thereby expanding the area compared to the original size of the cell H1 and securing wiring resources. Is possible.

ステップS8において分割領域で配線リソースが足りていると判断された場合、配置領域分割判定部114は、ステップS4で分割したセル群が十分少ないセル数となっているかを判断し(ステップS10)、更に分割が必要な場合には、ステップS2のカットラインによる配置領域分割に戻り、ステップS2以降の処理が繰り返される。すなわち、さらに配置領域を分割し、分割領域にセルが割付けられる。セルの分割が十分であるかの判定は、一般的な配置技術であるmin−cut法などの手法に基づくことでよい。   When it is determined in step S8 that the wiring resources are sufficient in the divided area, the arrangement area division determination unit 114 determines whether the cell group divided in step S4 has a sufficiently small number of cells (step S10). If further division is necessary, the process returns to the arrangement area division by the cut line in step S2, and the processes in and after step S2 are repeated. That is, the arrangement area is further divided, and cells are assigned to the divided areas. The determination of whether the cell division is sufficient may be based on a technique such as a min-cut method that is a general arrangement technique.

図14(a)は、2回目のカットラインによる分割の例を示し、図14(b)は、最終のカットラインによる分割の例を示している。図14(a)のように、2回目の分割では、縦方向のカットラインC1により分割された2つの分割領域を、横方向のカットラインC2によりそれぞれ2つに分割し、4つの分割領域とする。図14(a)では、分割領域のセル数が所定値よりも多いため、さらに分割を繰り返す。   FIG. 14A shows an example of division by the second cut line, and FIG. 14B shows an example of division by the final cut line. As shown in FIG. 14A, in the second division, the two divided regions divided by the vertical cut line C1 are divided into two by the horizontal cut line C2, respectively. To do. In FIG. 14A, since the number of cells in the divided area is larger than the predetermined value, the division is further repeated.

図14(b)のように、最終の分割では、縦方向のカットラインC1、C3、C4により分割され、横方向のカットラインC2、C5、C6により分割され、16個の分割領域となる。図14(b)では、分割領域のセル数が所定値よりも小さいため、分割が不要となり、セルの配置が終了する。   As shown in FIG. 14B, in the final division, the division is performed by the cut lines C1, C3, and C4 in the vertical direction, and is divided by the cut lines C2, C5, and C6 in the horizontal direction to form 16 divided regions. In FIG. 14B, since the number of cells in the divided area is smaller than a predetermined value, division is not necessary and the arrangement of the cells ends.

例えば、配置領域分割判定部114は、配置情報格納部202を参照し、各分割領域に割付けられているセルが1よりも大きい場合、ステップS2以降の処理を繰り返して、さらに領域を分割し、各分割領域に割付けられているセルが1の場合、分割領域へのセルの配置が完了しているため、領域の分割処理を終了する。例えば、配置領域分割判定部114は、分割領域のセルが1になった場合、セルの配置情報に基づいて、配置後のネットリストを生成し、配置後ネットリスト格納部206に格納する。   For example, the arrangement area division determination unit 114 refers to the arrangement information storage unit 202, and when the cell assigned to each division area is larger than 1, the process after step S2 is repeated to further divide the area, When the number of cells assigned to each divided area is 1, since the arrangement of the cells in the divided areas is completed, the area dividing process is terminated. For example, when the number of cells in the divided area becomes 1, the arrangement area division determination unit 114 generates a netlist after arrangement based on the cell arrangement information and stores it in the netlist storage unit 206 after arrangement.

次いで、セル配置後のネットリストにおいて配線の混雑箇所を確認する。なお、ステップS1〜ステップS10の処理により、配線の混雑は抑えられているため、ステップS11〜ステップS14を実行せずに処理を終了してもよい。ステップS1〜ステップS10に加えて、ステップS11〜ステップS14を実行することで、さらに配線の混雑を抑えることができる。   Next, the congested part of the wiring is confirmed in the net list after the cell placement. In addition, since the congestion of wiring is suppressed by the process of step S1-step S10, you may complete | finish a process, without performing step S11-step S14. By executing Steps S11 to S14 in addition to Steps S1 to S10, congestion of the wiring can be further suppressed.

ステップS10において、分割したセル群が十分少ないセル数であると判断された場合、概略配線処理部150は、ステップS1からステップS10によるセルの配置結果に対して概略配線を実施する(ステップS11)。概略配線については、一般的な概略配線技術を使用することでよい。例えば、概略配線処理部150は、配置後ネットリスト格納部206を参照し、配置後のセル間に対し概略配線を行い、概略配線後のネットリストを配置後ネットリスト格納部206に格納する。   If it is determined in step S10 that the divided cell group has a sufficiently small number of cells, the schematic routing processing unit 150 performs schematic routing on the cell placement results in steps S1 to S10 (step S11). . For the schematic wiring, a general schematic wiring technique may be used. For example, the schematic routing processing unit 150 refers to the post-placement netlist storage unit 206, performs schematic routing between the cells after placement, and stores the netlist after the rough routing in the post-placement netlist storage unit 206.

次いで、配線混雑領域確認処理部115は、局所的な配線混雑領域がないことを確認し、混雑領域が存在しない場合には処理を完了する(ステップS12)。配線混雑領域の検出については、一般的な技術を利用することでよく、例えば、概略配線結果の配線グラフで、点と枝のコストが一定値以上の箇所を配線混雑部と判断する。配線混雑領域確認処理部115は、配置後ネットリスト格納部206の概略配線後のネットリストを参照し、局所的な配線混雑領域を検出する。なお、本実施の形態では、ステップS1からステップS9により、各セルのネット接続コストを考慮した分割領域へのセル割付けをしているため、極端な局所的配線混雑領域は発生しない。   Next, the wiring congestion area confirmation processing unit 115 confirms that there is no local wiring congestion area, and completes the processing if there is no congestion area (step S12). For the detection of the wiring congestion area, a general technique may be used. For example, a point where the cost of points and branches is a certain value or more is determined as a wiring congestion portion in the wiring graph of the schematic wiring result. The wiring congestion area confirmation processing unit 115 refers to the net list after rough wiring in the post-placement net list storage unit 206 and detects a local wiring congestion area. In this embodiment, since cells are allocated to the divided areas in consideration of the net connection cost of each cell in steps S1 to S9, an extreme local wiring congestion area does not occur.

ステップS12において、局所的な配線混雑領域があると判定された場合、Halo再付与処理部144は、局所的に配線が混雑していると判断された領域内に位置するセルに対して、サイズを仮想的に膨らませるためのHaloを再付与する(ステップS13)。Halo再付与処理部144は、配線の混雑度に応じてセルにHaloを付与し、付与したHaloの情報をHalo格納部205に格納する。   If it is determined in step S12 that there is a local wiring congestion area, the halo reassignment processing unit 144 determines the size of the cell located in the area where the wiring is determined to be locally congested. The halo for virtually inflating is reassigned (step S13). The halo reassignment processing unit 144 assigns halos to the cells according to the degree of wiring congestion, and stores the assigned halo information in the halo storage unit 205.

セルに付与するHaloのサイズは、ステップS9でセルに付与したHaloより大きいサイズとし、混雑領域のレベルによって決定し、配線混雑レベルの高い領域のセルへは、配線混雑レベルの低い領域のセルより大きいHaloを付与する。ここで、ステップS12の局所配線混雑領域で、水平方向で配線が混雑している場合には垂直方向にHaloを付与し、垂直方向で配線が混雑している場合には水平方向にHaloを付与し、水平方向、垂直方向共に配線が混雑している場合には垂直方向と水平方向の両方にHaloを付与する。これにより、以前のステップS9でセルに付与したHaloより大きいサイズのHaloを付与することで、次のステップであるステップS14のセルの重なりほぐしにより、ステップS12で局所配線混雑領域と判断された領域の配線リソースを確保することができる。   The size of the halo assigned to the cell is larger than the halo assigned to the cell in step S9, and is determined according to the level of the congestion area. A cell in the area with a high wiring congestion level is compared with a cell in an area with a low wiring congestion level. Giving a large Halo. Here, in the local wiring congestion area in step S12, if the wiring is congested in the horizontal direction, halo is given in the vertical direction, and if the wiring is congested in the vertical direction, halo is given in the horizontal direction. However, when the wiring is congested in both the horizontal direction and the vertical direction, halo is given to both the vertical direction and the horizontal direction. Thus, by assigning a halo of a size larger than the halo assigned to the cell in the previous step S9, the area determined as the local wiring congestion area in step S12 by unraveling the overlapping cells in the next step, step S14 Wiring resources can be secured.

次いで、重なりほぐし処理部116は、ステップS13でセルにHaloを再付与したことによるセルの重なりをほぐす(ステップS14)。重なりほぐし処理部116は、Halo格納部205を参照し、Haloを付与したサイズに基づいて、セルの重なりがほぐされ、その後のネットリストを配置後ネットリスト格納部206に格納する。セルの重なりほぐしは、一般的な配置技術に搭載されている機能を使用することでよい。この際、ステップS13により、配線の混雑領域のレベルに応じて、セルにHaloを再付与しているため、セルの重なりをほぐすことで、配線混雑領域の配線リソースを確保できる。   Next, the overlap unraveling processing unit 116 unravels the overlap of cells due to the re-assignment of Halo to the cells in step S13 (step S14). The overlap unraveling processing unit 116 refers to the halo storage unit 205, and based on the size to which the halo has been assigned, the overlapping of cells is loosened, and the subsequent netlist is stored in the post-placement netlist storage unit 206. The cell overlap can be removed by using a function installed in a general arrangement technique. At this time, since the halo is reassigned to the cells according to the level of the wiring congestion area in step S13, wiring resources in the wiring congestion area can be secured by loosening the overlapping of the cells.

セルの重なりをほぐした後、ステップS11の概略配線にもどり、ステップS12で局所的な配線混雑領域が存在する場合は、再度ステップS13でセルにHaloを付与して処理を繰返す。ステップS12で局所的な配線混雑領域が存在しない場合、処理を終了する。   After loosening the cell overlap, the process returns to the schematic wiring in step S11. If a local wiring congestion area exists in step S12, the process is repeated by adding Halo to the cell again in step S13. If a local wiring congestion area does not exist in step S12, the process ends.

近年、半導体集積回路のレイアウト設計において、半導体集積回路の回路規模の増加と論理接続の複雑化に伴い、回路素子と配線の混雑領域が発生し、一方で半導体集積回路の高周波数化によりタイミングを収束させるために回路素子と配線がさらに混雑化する傾向になっている。これにより、混雑緩和やタイミング収束のため、配置配線とタイミング解析を繰り返すイタレーションが増加している。このイタレーションの増加により、半導体集積回路の設計効率が悪化している。   In recent years, in the layout design of semiconductor integrated circuits, as the circuit scale of the semiconductor integrated circuit increases and the logic connection becomes more complicated, a congested area of circuit elements and wiring has been generated. In order to converge, circuit elements and wiring tend to become more congested. As a result, iterations that repeat placement and routing and timing analysis are increasing for congestion reduction and timing convergence. Due to the increase in the iteration, the design efficiency of the semiconductor integrated circuit is deteriorated.

このため、本実施の形態では、半導体集積回路のレイアウト設計において、局所的な配線の混雑領域を発生させることなくタイミングを収束できる配置結果を求めることを可能にする。   For this reason, in the present embodiment, it is possible to obtain an arrangement result that can converge the timing without generating a local wiring congestion region in the layout design of the semiconductor integrated circuit.

すなわち、上記のように本実施の形態では、ネット接続コストに対する配線リソースの不足に応じてセルにHaloを付与し、Haloを含めてセルを再配置するようにした。これにより、セルの配置を決める過程で、配線の混雑に応じた配置の疎密を作り、配線混雑の発生する領域を疎にして配線混雑を抑止し、疎にした配置領域にタイミングを収束させるためのリピータを配置することを可能とするため、局所的な配線混雑領域の発生を抑え、タイミングを収束させる効果がある。したがって、配線の混雑によりイタレーションを抑止し、設計効率を向上することができる。   That is, in the present embodiment as described above, a halo is assigned to a cell according to a shortage of wiring resources with respect to the net connection cost, and the cell is rearranged including the halo. As a result, in the process of deciding the cell arrangement, the arrangement density is made according to the congestion of the wiring, the area where the wiring congestion occurs is made sparse, the wiring congestion is suppressed, and the timing is converged to the sparse arrangement area. Therefore, it is possible to suppress the occurrence of local wiring congestion areas and converge timing. Therefore, it is possible to suppress the iteration due to the congestion of wiring and improve the design efficiency.

なお、従来のレイアウト設計方法として、セルを配置した後に概略配線を実行して配線混雑領域を改善する方法がある。この方法では、全てのセルを配置することから、局所的な配線混雑領域が集中した場合に、タイミング収束のイタレーションが増加する問題が発生する。これに対し、本実施の形態では、セルの配置処理中に、配線混雑を防ぐようにセルを配置するため、セル配置後のイタレーションを抑止することができる。   As a conventional layout design method, there is a method of improving a wiring congestion area by executing schematic wiring after arranging cells. In this method, since all the cells are arranged, there is a problem that the iteration of timing convergence increases when local wiring congestion areas are concentrated. On the other hand, in the present embodiment, since cells are arranged so as to prevent wiring congestion during the cell arrangement processing, it is possible to suppress iteration after cell arrangement.

また、従来のレイアウト設計方法として、ネットリストを構成するモジュール間の接続と各セルの接続から特定した配線混雑が予想される箇所のセルのサイズを膨らませた後に配置する方法もある。この方法では、配置領域と配置領域に存在する配線トラックを考慮することなく、ネットリストの構成に基づきセルのサイズを膨らませた後に全てのセルを配置することから、実際の配置領域と配線トラックを考えた場合、無駄なセルの膨らませによる面積増加や、セルの膨らませの不足により局所的な配線混雑領域が集中した場合、タイミング収束のイタレーションが増加する問題が発生する。これに対し、本実施の形態では、ネット接続コストに対する配線リソースの不足に応じてセルのHaloを付与するため、適切にHaloを付与し、効果的にイタレーションを抑止することができる。   In addition, as a conventional layout design method, there is a method in which a cell size at a location where wiring congestion specified from connection between modules constituting a netlist and connection of each cell is expected is expanded and then placed. In this method, since all the cells are arranged after expanding the cell size based on the configuration of the netlist without considering the arrangement area and the wiring track existing in the arrangement area, the actual arrangement area and the wiring track are changed. When considered, if local wiring congestion areas are concentrated due to an increase in area due to useless expansion of cells or insufficient expansion of cells, there is a problem that the iteration of timing convergence increases. On the other hand, in the present embodiment, since the cell halo is assigned according to the shortage of the wiring resources with respect to the net connection cost, the halo is appropriately assigned, and the iteration can be effectively suppressed.

また、上記特許文献2は、概略配線、詳細配線、レイアウト検証の各工程の実行後に、配線ができない箇所に位置するセルのサイズを膨らませることにより配線リソースを確保するものである。特許文献2では、本実施の形態の持つ配置アルゴリズムの中で配線性を考慮して個別にセルサイズを変更する機能を持たないため、概略配線以降にセルのサイズを膨らませても局所配線混雑部に対し適切な状態で配線リソースを追加確保できず、レイアウトを収束させることができない。   Further, Patent Document 2 secures a wiring resource by increasing the size of a cell located at a location where wiring cannot be performed after each process of rough wiring, detailed wiring, and layout verification. In Patent Document 2, since there is no function of individually changing the cell size in consideration of the wiring property in the placement algorithm of the present embodiment, even if the cell size is expanded after the rough wiring, the local wiring congestion part However, additional wiring resources cannot be secured in an appropriate state, and the layout cannot be converged.

特許文献2が概略配線、詳細配線、レイアウト検証の各工程の実行後に、配線ができない箇所に位置するセルのサイズを膨らませているのに対し、本実施の形態では、配置アルゴリズムの中で配線性を考慮して個別にセルサイズを変更する。本実施の形態では、配置アルゴリズムの中で配線性を考慮して個別にセルサイズを変更することにより、配置結果そのものに局所配線混雑の領域を発生させないことを可能とする   In Patent Document 2, the size of a cell located at a place where wiring cannot be performed is expanded after execution of each process of rough wiring, detailed wiring, and layout verification. Change the cell size individually considering the above. In the present embodiment, by changing the cell size individually in consideration of the wiring property in the placement algorithm, it is possible to prevent a local wiring congestion area from occurring in the placement result itself.

また、上記特許文献3は、論理が同じセルは、駆動能力によらず同サイズにしておくことで低駆動セルについては配線領域の確保を可能にしている。また、セル内の配線禁止領域を取る、または、セルの左右に配線領域を付与しておくことで、配線リソースを確保することも記載されている。   In Patent Document 3, cells having the same logic have the same size regardless of the driving capability, so that a wiring region can be secured for a low driving cell. It also describes securing wiring resources by taking a wiring prohibited area in a cell or by providing wiring areas on the left and right sides of a cell.

特許文献3では、本実施の形態の持つ配置アルゴリズムの中で配線性を考慮して個別にセルサイズを変更する機能を持たないため、一律にサイズを膨らませて配置することで配線混雑の発生していない箇所でサイズを膨らませることによる面積増加が発生し、最適面積でレイアウトを完了することができない。   In Patent Document 3, since there is no function of individually changing the cell size in consideration of the wiring property in the placement algorithm of the present embodiment, wiring congestion occurs due to the uniform expansion of the size. The area is increased by increasing the size of the unexposed area, and the layout cannot be completed with the optimum area.

特許文献3が配置前に駆動能力に関係なく同機能のセルのサイズを同じサイズに膨らませている、つまり、配置・配線性に基づいたセルのサイズ変更ではないのに対し、本実施の形態では、配置アルゴリズムの中で配線性を考慮して個別にセルサイズを変更する。本実施の形態では、配置アルゴリズムの中で配線性を考慮して個別にセルサイズを変更することにより、配線混雑の発生する箇所のみセルのサイズを膨らませ、面積増を抑え、かつ、配線のできる配置結果を得ることを可能とする。   Patent document 3 expands the size of the cell having the same function to the same size regardless of the driving capability before the placement, that is, the cell size is not changed based on the placement / wiring property. In the placement algorithm, the cell size is individually changed in consideration of the wiring property. In this embodiment, by individually changing the cell size in consideration of the wiring property in the placement algorithm, the cell size is expanded only at the location where the wiring congestion occurs, the area increase is suppressed, and the wiring can be performed. It is possible to obtain an arrangement result.

(実施の形態2)
以下、図面を参照して実施の形態2について説明する。実施の形態1では、半導体集積回路の配置領域を分割しセルの配置を行ったのに対し、本実施の形態では、半導体集積回路の配置領域を分割せずにセルの配置を行う。その他については、実施の形態1と同様であるため、説明を適宜省略する。
(Embodiment 2)
The second embodiment will be described below with reference to the drawings. In the first embodiment, the arrangement region of the semiconductor integrated circuit is divided and the cells are arranged. In the present embodiment, the cell arrangement is performed without dividing the arrangement region of the semiconductor integrated circuit. Others are the same as those in the first embodiment, and thus description thereof will be omitted as appropriate.

図15は、本実施の形態に係る半導体集積回路のレイアウト設計装置の構成を示している。図15のレイアウト設計装置100は、実施の形態1の図4と比べて、セル配置処理部110が、配置領域分割処理部111、セル群分割処理部112、配置領域分割判定部114を有していない。その他の構成は、図4と同様である。本実施の形態では、セル群割付け処理部113は、半導体集積回路の配置領域(チップ全体の配置領域)に、ネットリストの全てのセルを配置する。セル群用ネット接続コスト算出処理部122は、半導体集積回路の配置領域に配置されたセル群のネット接続コストを算出する。配線リソース算出処理部130は、半導体集積回路の配置領域の配線リソースを算出する。   FIG. 15 shows a configuration of a semiconductor integrated circuit layout design apparatus according to the present embodiment. In the layout design apparatus 100 of FIG. 15, the cell arrangement processing unit 110 includes an arrangement region division processing unit 111, a cell group division processing unit 112, and an arrangement region division determination unit 114, compared to FIG. 4 of the first embodiment. Not. Other configurations are the same as those in FIG. In the present embodiment, the cell group allocation processing unit 113 arranges all the cells of the netlist in the arrangement area of the semiconductor integrated circuit (the arrangement area of the entire chip). The cell group net connection cost calculation processing unit 122 calculates the net connection cost of the cell group arranged in the arrangement region of the semiconductor integrated circuit. The wiring resource calculation processing unit 130 calculates a wiring resource in the arrangement area of the semiconductor integrated circuit.

図16は、本実施の形態に係る半導体集積回路のレイアウト設計方法を示している。基本的に、図16のフローチャートは、図5のフローチャートから領域分割の処理を除外した処理となる。   FIG. 16 shows a layout design method for a semiconductor integrated circuit according to the present embodiment. Basically, the flowchart of FIG. 16 is a process that excludes the area division process from the flowchart of FIG. 5.

図16と図5との違いは、図5のカットラインによる配置領域分割(ステップS2)、セル群の分割(ステップS4)、セル群が十分少ないセル数となっているかの判断(ステップS10)のステップを削除した点、分割領域の配線リソース算出(ステップS3)を分割領域ではなく、配置領域全体を対象とする配置領域の配線リソース算出(ステップS31)に変更した点、および、分割領域へのセル群割付け(ステップS5)を、配置領域へのセル群の配置(ステップS51)に変更した点である。   Differences between FIG. 16 and FIG. 5 are the arrangement area division (step S2), cell group division (step S4), and determination of whether the cell group has a sufficiently small number of cells (step S10). To the point where the step is deleted, the wiring resource calculation (step S3) of the divided area is changed to the wiring resource calculation (step S31) of the entire arrangement area instead of the divided area, and to the divided area. The cell group allocation (step S5) is changed to the cell group arrangement (step S51) in the arrangement area.

すなわち、図16に示すように、レイアウト設計装置100は、半導体集積回路のネットリストに含まれる全てのセルごとに、入力端子数、出力端子数、および、出力端子に接続されるセル数に応じてネット接続コストを算出する(ステップS1)。   That is, as shown in FIG. 16, the layout design apparatus 100 corresponds to the number of input terminals, the number of output terminals, and the number of cells connected to the output terminals for every cell included in the netlist of the semiconductor integrated circuit. Then, the network connection cost is calculated (step S1).

次いで、レイアウト設計装置100は、半導体集積回路の配置領域全体の配線リソースを、配線トラックに基づき算出する(ステップS31)。   Next, the layout design apparatus 100 calculates wiring resources for the entire arrangement region of the semiconductor integrated circuit based on the wiring tracks (step S31).

次いで、レイアウト設計装置100は、半導体集積回路の配置領域全体にセル面積の偏りがないようにセル群を配置し(ステップS51)、セルにHaloが付与されている場合、Haloを削除する(ステップS6)。   Next, the layout design apparatus 100 arranges the cell group so that there is no deviation in the cell area in the entire arrangement region of the semiconductor integrated circuit (step S51), and if the cell is assigned Halo, the Halo is deleted (step S51). S6).

次いで、レイアウト設計装置100は、ステップS1で算出したネット接続コストに基づき、配置領域のセル群のネット接続コストを算出し(ステップS7)、ステップS7で算出したネット接続コストに対し、ステップS31で算出した配線トラックが不足している場合、セルを仮想的に膨らませるHaloを付与し、ステップS51のセル群の配置に戻る(ステップS8、S9)。この場合、Haloを付与したセルのサイズで、セル群の配置を行う(ステップS51〜S8)。   Next, the layout design apparatus 100 calculates the net connection cost of the cell group in the arrangement area based on the net connection cost calculated in step S1 (step S7), and in step S31 against the net connection cost calculated in step S7. If the calculated wiring track is insufficient, a halo for virtually inflating the cell is assigned, and the process returns to the arrangement of the cell group in step S51 (steps S8 and S9). In this case, the cell group is arranged with the size of the cell to which the halo has been assigned (steps S51 to S8).

次いで、レイアウト設計装置100は、配線トラックが足りている場合、概略配線を実行し、局所的な配線混雑領域がないか確認する(ステップS11、S12)。   Next, when the wiring track is sufficient, the layout design apparatus 100 performs schematic wiring and checks whether there is a local wiring congestion area (steps S11 and S12).

レイアウト設計装置100は、局所的な配線混雑が存在する場合には、その領域に含まれるセルに、セルを仮想的に膨らませるHaloを付与し、セルの重なりをほぐし、ステップS11に戻る(ステップS13、S14)。また、レイアウト設計装置100は、局所的な配線混雑領域がない場合、処理を完了する(ステップS12)。   When there is local wiring congestion, the layout design apparatus 100 assigns Halo that virtually expands the cells to the cells included in the area, loosens the overlapping of the cells, and returns to step S11 (step S11). S13, S14). The layout design apparatus 100 completes the process when there is no local wiring congestion area (step S12).

以上のように本実施の形態では、配置領域を分割することなく、半導体集積回路全面の配置領域に対し、配線混雑が発生すると判断したセルに仮想的にサイズを膨らませるHaloを付与し、配置領域にセルを再度割り当てる。これにより、実施の形態1と同様に、セルの配置を決める過程で、各セルの論理接続を考慮し、配線混雑の発生する領域の配置を疎にすることで配線領域を確保することで、局所的な配線混雑領域の発生を抑え、タイミングを収束させることが可能となる。   As described above, in the present embodiment, without dividing the placement area, the placement area on the entire surface of the semiconductor integrated circuit is provided with a halo that virtually expands the size of the cell that is determined to be congested with the wiring. Reassign cells to the region. Thus, as in the first embodiment, in the process of determining the placement of the cells, considering the logical connection of each cell, by securing the wiring area by sparsely arranging the areas where the wiring congestion occurs, Generation of local wiring congestion areas can be suppressed and timing can be converged.

(実施の形態3)
本実施の形態は、実施の形態1に対し、半導体集積回路を階層ブロックに分割して、セルを配置する例である。本実施の形態のシステム構成は実施の形態1と同じであり、説明は省略する。半導体集積回路の回路規模が大きくなると、一般的に階層レイアウト設計法により、半導体集積回路を複数の階層ブロックに分割してレイアウトを実施する。
(Embodiment 3)
The present embodiment is an example in which cells are arranged by dividing a semiconductor integrated circuit into hierarchical blocks, compared to the first embodiment. The system configuration of the present embodiment is the same as that of the first embodiment, and a description thereof will be omitted. When the circuit scale of a semiconductor integrated circuit increases, the layout is generally performed by dividing the semiconductor integrated circuit into a plurality of hierarchical blocks by a hierarchical layout design method.

この階層レイアウト設計を行なう際、図5のセルへのネット接続コスト算出処理(ステップS1)の後に、階層ブロックの分割を実施し、各分割されたブロックに対して図5のカットラインによる配置領域分割処理(ステップS2)以降の処理を実施することにより、階層ブロック内の配置を実施し、全ての階層ブロックの配置を終えたら、通常の階層レイアウト設計法に戻る。   When performing this hierarchical layout design, after the net connection cost calculation processing (step S1) to the cell of FIG. 5, the hierarchical block is divided, and the arrangement area by the cut line of FIG. 5 is applied to each divided block. By executing the processing after the division processing (step S2), the arrangement in the hierarchical block is executed, and after the arrangement of all the hierarchical blocks is completed, the normal hierarchical layout design method is returned.

階層ブロック内にセルを配置する際に、配線の混雑する領域の配置を疎にして配線リソースを確保することで配線混雑を抑止し、配置が疎である領域にタイミング収束のためのセル移動とリピータを配置することで、階層レイアウト手法を適用した大規模LSIのレイアウトにおいて、局所的な配線混雑領域の発生を抑え、タイミングを収束させることができる。   When placing cells in a hierarchical block, the wiring congestion is suppressed by sparsely arranging the areas where the wiring is congested and securing the wiring resources, and the cell movement for timing convergence is performed in the area where the arrangement is sparse. By arranging repeaters, local wiring congestion areas can be suppressed and timing can be converged in a large-scale LSI layout to which a hierarchical layout method is applied.

(実施の形態4)
本実施の形態は、実施の形態1に対し、セル群をグループ化して配置する例である。本実施の形態のシステム構成は実施の形態1と同じであり、説明は省略する。半導体集積回路を構成する機能単位にセル群をグループ化し、一箇所に固めて配置する、所謂、グループ配置が一般的に実施される。
(Embodiment 4)
The present embodiment is an example in which cell groups are grouped and arranged with respect to the first embodiment. The system configuration of the present embodiment is the same as that of the first embodiment, and a description thereof will be omitted. A so-called group arrangement is generally performed in which cell groups are grouped into functional units constituting a semiconductor integrated circuit and arranged in one place.

このグルーピングを行なう際、図5のセルへのネット接続コスト算出処理(ステップS1)の後に、グループ配置を実施し、図5のセル群の分割処理(ステップS4)と、分割領域へのセル群割付け処理(ステップS5)の処理で、配置されたグループを考慮する。   When this grouping is performed, group placement is performed after the net connection cost calculation processing (step S1) to the cell in FIG. 5, and the cell group division processing (step S4) in FIG. In the allocation process (step S5), the arranged groups are considered.

半導体集積回路を構成する機能単位にセル群をグループ化して配置するグループ配置に本実施の形態を適用し、グルーピングを行なう際に、配線の混雑する領域の配置を疎にして配線リソースを確保することで配線混雑を抑止し、配置が疎である領域にタイミング収束のためのセル移動とリピータを配置することで、半導体集積回路を構成する機能単位にセル群をグループ化して配置するグループ配置において、局所的な配線混雑領域の発生を抑え、タイミングを収束させることができる。   The present embodiment is applied to a group arrangement in which cell groups are grouped and arranged in functional units constituting a semiconductor integrated circuit, and wiring resources are secured by sparse arrangement of wiring congested areas when performing grouping. In a group arrangement in which cell groups are grouped and arranged in functional units constituting a semiconductor integrated circuit by arranging cell movement and repeaters for timing convergence in an area where arrangement is sparse by suppressing wiring congestion The occurrence of local wiring congestion areas can be suppressed and the timing can be converged.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で 種々変更可能であることはいうまでもない。   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.

1 配線リソース算出部
2 セル配置部
3 ネット接続コスト算出部
4 仮想拡張領域付与部
5 セル再配置部
10 コンピュータ装置
11 本体部
13 メインメモリ
14 ハードディスク
15 表示装置
16 キーボード
17 マウス
18 レイアウト設計プログラム
19 各種データ
20 サーバ
21 記録媒体
30 ネットワーク
100 レイアウト設計装置
101 処理部
102 格納部
110 セル配置処理部
111 配置領域分割処理部
112 セル群分割処理部
113 セル群割付け処理部
114 配置領域分割判定部
115 配線混雑領域確認処理部
116 重なりほぐし処理部
120 ネット接続コスト算出処理部
121 セル用ネット接続コスト算出処理部
122 セル群用ネット接続コスト算出処理部
130 配線リソース算出処理部
140 Halo処理部
141 Halo付与判定部
142 Halo付与処理部
143 Halo削除処理部
144 Halo再付与処理部
150 概略配線処理部
201 配置前ネットリスト格納部
202 配置情報格納部
203 ネット接続コスト格納部
204 配線リソース格納部
205 Halo格納部
206 配置後ネットリスト格納部
DESCRIPTION OF SYMBOLS 1 Wiring resource calculation part 2 Cell arrangement | positioning part 3 Net connection cost calculation part 4 Virtual expansion area provision part 5 Cell rearrangement part 10 Computer apparatus 11 Main body part 13 Main memory 14 Hard disk 15 Display apparatus 16 Keyboard 17 Mouse 18 Layout design program 19 Various Data 20 Server 21 Recording medium 30 Network 100 Layout design device 101 Processing unit 102 Storage unit 110 Cell arrangement processing unit 111 Arrangement area division processing unit 112 Cell group division processing unit 113 Cell group allocation processing unit 114 Arrangement area division determination unit 115 Wiring congestion Area confirmation processing unit 116 Overlapping and unraveling processing unit 120 Net connection cost calculation processing unit 121 Cell net connection cost calculation processing unit 122 Cell group net connection cost calculation processing unit 130 Wiring resource calculation processing unit 140 Halo processing unit 1 DESCRIPTION OF SYMBOLS 1 Halo grant determination part 142 Halo grant process part 143 Halo deletion process part 144 Halo re-assignment process part 150 General wiring process part 201 Net-list storage part 202 before arrangement | positioning Information storage part 203 Net connection cost storage part 204 Wiring resource storage part 205 Halo storage unit 206 Netlist storage unit after placement

Claims (20)

入力されたネットリストに基づいて、半導体集積回路の第1の領域に配線可能な配線リソースを算出し、
前記ネットリストに含まれる複数のセルを当該セルのサイズに基づいて前記第1の領域に配置し、
前記ネットリストに含まれるセルの接続情報に基づいて、前記第1の領域に配置した複数のセルの接続度合いを示すネット接続コストを算出し、
前記第1の領域において前記ネット接続コストに対し前記配線リソースが不足している場合、当該第1の領域に配置したセルに仮想的にサイズを膨らませる仮想拡張領域を付与し、
前記付与した仮想拡張領域を加えたセルのサイズに基づいて、当該セルを含む複数のセルを前記第1の領域に再配置する、
半導体集積回路のレイアウト設計方法。
Based on the input netlist, a wiring resource that can be wired to the first region of the semiconductor integrated circuit is calculated,
A plurality of cells included in the netlist are arranged in the first area based on the size of the cells,
Based on cell connection information included in the net list, a net connection cost indicating a degree of connection of a plurality of cells arranged in the first region is calculated,
When the wiring resource is insufficient for the net connection cost in the first area, a virtual extension area that virtually expands the size of the cell arranged in the first area is given,
Relocating a plurality of cells including the cell in the first area based on the size of the cell including the assigned virtual extension area;
A method for designing a layout of a semiconductor integrated circuit.
前記第1の領域は、前記半導体集積回路全体の配置領域である、
請求項1に記載の半導体集積回路のレイアウト設計方法。
The first region is an arrangement region of the entire semiconductor integrated circuit.
The layout design method for a semiconductor integrated circuit according to claim 1.
前記第1の領域は、前記半導体集積回路全体の配置領域を分割した分割領域である、
請求項1に記載の半導体集積回路のレイアウト設計方法。
The first region is a divided region obtained by dividing the arrangement region of the entire semiconductor integrated circuit.
The layout design method for a semiconductor integrated circuit according to claim 1.
前記半導体集積回路を複数の階層ブロックに分割し、
前記第1の領域は、前記分割した階層ブロックの領域である、
請求項1に記載の半導体集積回路のレイアウト設計方法。
Dividing the semiconductor integrated circuit into a plurality of hierarchical blocks;
The first area is an area of the divided hierarchical block.
The layout design method for a semiconductor integrated circuit according to claim 1.
前記ネットリストに含まれる複数のセルを機能に基づいてグループ化し、
前記第1の領域への配置では、前記セルのグループに基づいて配置する、
請求項1に記載の半導体集積回路のレイアウト設計方法。
Grouping multiple cells included in the netlist based on function,
In the placement in the first region, the placement is based on the group of cells.
The layout design method for a semiconductor integrated circuit according to claim 1.
前記ネット接続コストは、セルの入力端子及び出力端子に接続される配線に基づいた値である、
請求項1に記載の半導体集積回路のレイアウト設計方法。
The net connection cost is a value based on wiring connected to the input terminal and output terminal of the cell,
The layout design method for a semiconductor integrated circuit according to claim 1.
前記ネット接続コストは、前記入力端子の端子数と、前記出力端子の端子数と前記出力端子に接続されるセル数との乗算結果と、を合計した値である、
請求項6に記載の半導体集積回路のレイアウト設計方法。
The net connection cost is a value obtained by summing the number of terminals of the input terminal, the result of multiplication of the number of terminals of the output terminal and the number of cells connected to the output terminal,
The layout design method for a semiconductor integrated circuit according to claim 6.
前記ネット接続コストは、前記合計した値を所定の範囲の値に変換した値である、
請求項7に記載の半導体集積回路のレイアウト設計方法。
The net connection cost is a value obtained by converting the total value into a value in a predetermined range.
The layout design method for a semiconductor integrated circuit according to claim 7.
前記配線リソースは、前記第1の領域における配線で使用可能な有効配線トラック数に基づいた値である、
請求項1に記載の半導体集積回路のレイアウト設計方法。
The wiring resource is a value based on the number of effective wiring tracks that can be used for wiring in the first region.
The layout design method for a semiconductor integrated circuit according to claim 1.
前記配線リソースは、隣接する2つの配線層の前記有効配線トラック数の平均値を合計した値である、
請求項9に記載の半導体集積回路のレイアウト設計方法。
The wiring resource is a value obtained by totaling the average values of the effective wiring tracks of two adjacent wiring layers.
The layout design method for a semiconductor integrated circuit according to claim 9.
前記有効配線トラック数は、前記第1の領域の全配線トラック数から、前記セルの配置前に前記第1の領域に配置された回路ブロックにより使用されている配線トラック数を差し引いた値である、
請求項9に記載の半導体集積回路のレイアウト設計方法。
The number of effective wiring tracks is a value obtained by subtracting the number of wiring tracks used by the circuit block arranged in the first area before the arrangement of the cells from the total number of wiring tracks in the first area. ,
The layout design method for a semiconductor integrated circuit according to claim 9.
前記第1の領域における前記ネット接続コストと前記配線リソースを比較し、前記ネット接続コストが前記配線リソースよりも大きい場合、前記配線リソースが不足していると判断する、
請求項1に記載の半導体集積回路のレイアウト設計方法。
The net connection cost in the first region is compared with the wiring resource, and when the net connection cost is larger than the wiring resource, it is determined that the wiring resource is insufficient.
The layout design method for a semiconductor integrated circuit according to claim 1.
前記第1の領域における前記配線リソースに対する前記ネット接続コストの割合である配線リソース充足率に応じて、前記配線リソースの不足を判断する、
請求項1に記載の半導体集積回路のレイアウト設計方法。
Determining a shortage of the wiring resource according to a wiring resource sufficiency ratio that is a ratio of the net connection cost to the wiring resource in the first region;
The layout design method for a semiconductor integrated circuit according to claim 1.
前記付与する仮想拡張領域は、前記第1の領域における前記配線リソースに対する前記ネット接続コストの割合である配線リソース充足率に応じたサイズである、
請求項1に記載の半導体集積回路のレイアウト設計方法。
The virtual extension area to be given is a size according to a wiring resource sufficiency ratio that is a ratio of the net connection cost to the wiring resource in the first area.
The layout design method for a semiconductor integrated circuit according to claim 1.
前記付与する仮想拡張領域は、垂直方向の配線トラック数と水平方向の配線トラック数に応じたサイズである、
請求項1に記載の半導体集積回路のレイアウト設計方法。
The virtual extension area to be given has a size according to the number of wiring tracks in the vertical direction and the number of wiring tracks in the horizontal direction.
The layout design method for a semiconductor integrated circuit according to claim 1.
前記セルの配置または再配置後、概略配線を行い、
前記概略配線の結果、配線混雑領域が存在する場合、前記配線混雑領域に配置したセルに前記仮想拡張領域を再付与し、
前記再付与した仮想拡張領域を加えたセルのサイズに基づいて、前記セルの配置を変更する、
請求項1に記載の半導体集積回路のレイアウト設計方法。
After placing or rearranging the cells, perform schematic wiring,
As a result of the rough wiring, if there is a wiring congestion area, the virtual extension area is reassigned to the cells arranged in the wiring congestion area,
Changing the arrangement of the cells based on the size of the cell plus the re-assigned virtual extension region,
The layout design method for a semiconductor integrated circuit according to claim 1.
前記セルの配置の変更では、 前記再付与した仮想拡張領域を加えたセルと他のセルとの重なりをほぐす、
請求項16に記載の半導体集積回路のレイアウト設計方法。
In the change of the cell arrangement, the cell added with the re-assigned virtual extension region and the other cells are unwrapped.
The layout design method for a semiconductor integrated circuit according to claim 16.
前記再付与する仮想拡張領域は、配線混雑のレベルに応じたサイズである、
請求項16に記載の半導体集積回路のレイアウト設計方法。
The virtual extension area to be reassigned is a size according to the level of wiring congestion.
The layout design method for a semiconductor integrated circuit according to claim 16.
コンピュータに半導体集積回路のレイアウト設計処理を実行させる半導体集積回路のレイアウト設計プログラムであって、前記レイアウト設計処理は、
入力されたネットリストに基づいて、半導体集積回路の第1の領域に配線可能な配線リソースを算出し、
前記ネットリストに含まれる複数のセルを当該セルのサイズに基づいて前記第1の領域に配置し、
前記ネットリストに含まれるセルの接続情報に基づいて、前記第1の領域に配置した複数のセルの接続度合いを示すネット接続コストを算出し、
前記第1の領域において前記ネット接続コストに対し前記配線リソースが不足している場合、当該第1の領域に配置したセルに仮想的にサイズを膨らませる仮想拡張領域を付与し、
前記付与した仮想拡張領域を加えたセルのサイズに基づいて、当該セルを含む複数のセルを前記第1の領域に再配置する、
半導体集積回路のレイアウト設計プログラム。
A layout design program for a semiconductor integrated circuit that causes a computer to execute a layout design process for a semiconductor integrated circuit, wherein the layout design process includes:
Based on the input netlist, a wiring resource that can be wired to the first region of the semiconductor integrated circuit is calculated,
A plurality of cells included in the netlist are arranged in the first area based on the size of the cells,
Based on cell connection information included in the net list, a net connection cost indicating a degree of connection of a plurality of cells arranged in the first region is calculated,
When the wiring resource is insufficient for the net connection cost in the first area, a virtual extension area that virtually expands the size of the cell arranged in the first area is given,
Relocating a plurality of cells including the cell in the first area based on the size of the cell including the assigned virtual extension area;
A semiconductor integrated circuit layout design program.
入力されたネットリストに基づいて、半導体集積回路の第1の領域に配線可能な配線リソースを算出する配線リソース算出部と、
前記ネットリストに含まれる複数のセルを当該セルのサイズに基づいて前記第1の領域に配置するセル配置部と、
前記ネットリストに含まれるセルの接続情報に基づいて、前記第1の領域に配置した複数のセルの接続度合いを示すネット接続コストを算出するネット接続コスト算出部と、
前記第1の領域において前記ネット接続コストに対し前記配線リソースが不足している場合、当該第1の領域に配置したセルに仮想的にサイズを膨らませる仮想拡張領域を付与する仮想拡張領域付与部と、
前記付与した仮想拡張領域を加えたセルのサイズに基づいて、当該セルを含む複数のセルを前記第1の領域に再配置するセル再配置部と、
を備える半導体集積回路のレイアウト設計装置。
A wiring resource calculation unit that calculates a wiring resource that can be wired to the first region of the semiconductor integrated circuit based on the input netlist;
A cell placement unit for placing a plurality of cells included in the netlist in the first region based on a size of the cell;
A net connection cost calculation unit that calculates a net connection cost indicating a degree of connection of a plurality of cells arranged in the first region based on connection information of cells included in the net list;
When the wiring resource is insufficient with respect to the net connection cost in the first area, a virtual extension area giving unit that gives a virtual extension area that virtually expands the size of the cell arranged in the first area When,
A cell rearrangement unit that rearranges a plurality of cells including the cell in the first area based on the size of the cell to which the assigned virtual extension area is added;
A semiconductor integrated circuit layout design apparatus.
JP2012237604A 2012-10-29 2012-10-29 Layout designing method of semiconductor integrated circuit, layout design program, and layout design device Pending JP2014089499A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012237604A JP2014089499A (en) 2012-10-29 2012-10-29 Layout designing method of semiconductor integrated circuit, layout design program, and layout design device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012237604A JP2014089499A (en) 2012-10-29 2012-10-29 Layout designing method of semiconductor integrated circuit, layout design program, and layout design device

Publications (1)

Publication Number Publication Date
JP2014089499A true JP2014089499A (en) 2014-05-15

Family

ID=50791374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012237604A Pending JP2014089499A (en) 2012-10-29 2012-10-29 Layout designing method of semiconductor integrated circuit, layout design program, and layout design device

Country Status (1)

Country Link
JP (1) JP2014089499A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416983B2 (en) 2015-08-24 2022-08-16 Koninklijke Philips N.V. Server-client architecture in digital pathology

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416983B2 (en) 2015-08-24 2022-08-16 Koninklijke Philips N.V. Server-client architecture in digital pathology

Similar Documents

Publication Publication Date Title
US6480991B1 (en) Timing-driven global placement based on geometry-aware timing budgets
JP4719265B2 (en) System and method for probabilistic interconnect structure design
Sarkar et al. Routability-driven repeater block planning for interconnect-centric floorplanning
US6557145B2 (en) Method for design optimization using logical and physical information
Zhou et al. Optimal river routing with crosstalk constraints
US7624366B2 (en) Clock aware placement
US7676780B2 (en) Techniques for super fast buffer insertion
CN101206686A (en) Latch placement for high performance and low power circuits
WO2006136845A2 (en) Integrated circuit routing and compaction
Darav et al. Eh? Placer: A high-performance modern technology-driven placer
US8365120B2 (en) Resolving global coupling timing and slew violations for buffer-dominated designs
US8370786B1 (en) Methods and software for placement improvement based on global routing
US6958545B2 (en) Method for reducing wiring congestion in a VLSI chip design
Zhang et al. Simultaneous shield and buffer insertion for crosstalk noise reduction in global routing
Lee et al. Post-routing redundant via insertion and line end extension with via density consideration
Zhang et al. Minidelay: Multi-strategy timing-aware layer assignment for advanced technology nodes
US8032855B1 (en) Method and apparatus for performing incremental placement on a structured application specific integrated circuit
Tabrizi et al. A fast force-directed simulated annealing for 3D IC partitioning
JP2014089499A (en) Layout designing method of semiconductor integrated circuit, layout design program, and layout design device
US8966428B2 (en) Fixed-outline floorplanning approach for mixed-size modules
Adya et al. On whitespace and stability in physical synthesis
Sarkar et al. Repeater block planning under simultaneous delay and transition time constraints
Fang et al. Stitch-aware routing for multiple e-beam lithography
Chen et al. A buffer planning algorithm based on dead space redistribution
Moiseev et al. Power-delay optimization in vlsi microprocessors by wire spacing