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 PDFInfo
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
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,
図17は、特許文献1に記載された従来のセル配置装置の構成を示している。図17に示すように、従来のセル配置装置は、入力手段901、パーティショニングベースの配置処理手段902、抽出手段903、レジスティブネットワーク方式の配置処理手段904を備えている。
FIG. 17 shows a configuration of a conventional cell placement device described in
パーティショニングベースの配置処理手段902は、半導体チップを分割した領域に各セルを振分けて各セルの暫定配置を決める。抽出手段903は、ネットの数が一定値を越えた配線が混雑している領域、信号伝達の遅延が大きいネットの領域等を抽出する。レジスティブネットワーク方式の配置処理手段904は、該暫定配置から各セルに仮想のネットが張られているとみなして、ネットをバネと考えて反発力を発生させ、セルをその領域から追い出すことでセルの配置を決める。
The partitioning-based
なお、予めセルの配置結果がある場合には、入力手段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.
特許文献1に記載の従来技術は、LSIの開発設計において、局所的な配線の混雑を発生させず、タイミング収束のイタレーションの少ない配置結果を得ることを目的とした技術である。この従来技術は、LSIのセルを配置する際に、パーティショニングベースとレジスティブネットワークの配置方式を組合せることで、パーティショニングベースの欠点とレジスティブネットワークの欠点の各々を補う特徴を有する。パーティショニングベースの欠点である、チップを分割する初期段階では、セルの最終的な配置結果を予想することが困難であり、処理を進めたとき配線性が良くなるか悪くなるかを判定しにくい欠点を補い、また、レジスティブネットワークの欠点である、ネットを2つのセル間のバネとして近似しているため配線長が見積もりにくい欠点を補う。
The prior art described in
本発明者は、特許文献1に記載された従来技術を検討し、この従来技術は、局所的な配線混雑領域の発生によりタイミング収束のイタレーションが増加する問題があることを見出した。
The present inventor examined the conventional technique described in
その理由は、昨今の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.
(実施の形態の概要)
実施の形態の説明に先立って、図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
配線リソース算出部1は、入力されたネットリストに基づいて、半導体集積回路の第1の領域に配線可能な配線リソースを算出する。セル配置部2は、ネットリストに含まれる複数のセルを当該セルのサイズに基づいて第1の領域に配置する。ネット接続コスト算出部3は、ネットリストに含まれるセルの接続情報に基づいて、第1の領域に配置した複数のセルの接続度合いを示すネット接続コストを算出する。仮想拡張領域付与部4は、第1の領域においてネット接続コストに対し配線リソースが不足している場合、当該第1の領域に配置したセルに仮想的にサイズを膨らませる仮想拡張領域を付与する。セル再配置部5は、付与した仮想拡張領域を加えたセルのサイズに基づいて、当該セルを含む複数のセルを第1の領域に再配置する。
The wiring
このように、実施の形態では、半導体集積回路の配置領域(第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
記録媒体21は、本実施の形態に係る半導体集積回路のレイアウト設計方法を実行するレイアウト設計プログラムを格納している。サーバ20は、インターネットなどのネットワーク30を介してエンジニアリングワークステーション等のコンピュータ装置10に接続される。記録媒体21に格納されているレイアウト設計プログラムは、ネットワーク30を介してコンピュータ装置10にダウンロードされる。ダウンロードされたレイアウト設計プログラムは、コンピュータ装置10のローカルなハードディスク或はメモリなどにストアされて実行処理を行う構成になっている。
The
コンピュータ装置10は、ワークステーションやパーソナルコンピュータ等の情報処理装置である。図3に示すように、コンピュータ装置10は、CPU12、メインメモリ13、ハードディスク14等を内蔵した本体部11、本体部11からの指示により画面表示を行う表示装置15、このコンピュータ装置10にユーザの指示や文字情報を入力するためのキーボード16、および表示装置15の画面上における任意の位置を指定し、その位置に表示されていたアイコン等に応じた指示を入力するマウス17から構成される。
The
CPU12及びメインメモリ13は、プログラムを実行し各部を制御する制御部の一例であり、ハードディスク14は、プログラム等を記憶する記憶部の一例である。制御部と記憶部は、一つの装置でもよいし、複数の装置であってもよい。例えば、複数の制御装置や複数の記憶装置に分散されていてもよい。また、表示装置15は、ユーザに対し種々の出力を行う出力装置の一例であり、キーボード16、マウス17は、ユーザが種々の入力操作を行う入力装置の一例である。
The
ハードディスク14には、例えば、サーバ20からダウンロードされたレイアウト設計プログラム18と、レイアウト設計処理等に必要なその他の各種データ19が格納される。レイアウト設計プログラム18は、図5に後述するレイアウト設計方法の処理を実行するためのプログラムである。各種データ19は、図4に後述する各格納部に格納されるデータである。
The
コンピュータ装置10が、レイアウト設計プログラム18および各種データ19をメインメモリ13にロードし、CPU12はメインメモリ13にロードされたレイアウト設計プログラム18を実行することで、本実施形態に係るレイアウト設計方法の各処理が実施されて、レイアウト設計装置(図4に後述する機能構成)が実現される。
The
なお、コンピュータ装置10の基本動作は、ハードディスク14に格納された基本プログラムであるオペレーティングシステム(OS)を介して実行される。
The basic operation of the
図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
図4に示すように、レイアウト設計装置100の格納部102は、配置前ネットリスト格納部201、配置情報格納部202、ネット接続コスト格納部203、配線リソース格納部204、Halo格納部205、配置後ネットリスト格納部206を備えている。また、レイアウト設計装置100の処理部101は、セル配置処理部110、ネット接続コスト算出処理部120、配線リソース算出処理部130、Halo処理部140、概略配線処理部150を備えている。
As illustrated in FIG. 4, the
配置前ネットリスト格納部201は、予め設計されたネットリストを格納する。このネットリストは、マクロ配置済みでセル配置前のネットリストであり、マクロの構成、接続関係及び配置位置、セルの構成、接続関係等が定義されている。特に、ネットリストは、セルの入力端子と出力端子ごとに接続関係が記載されている。配置前ネットリスト格納部201に格納されたネットリストは、処理部101の入力情報であり、処理部101は入力されるネットリストに基づいてセル配置を行う。
The pre-placement
配置情報格納部202は、処理部101のセル配置処理部110が、セルの配置処理に必要な情報を格納する。例えば、配置情報格納部202は、配置領域を分割した分割領域の情報、分割領域したセル群の情報、分割領域に割付けた(配置した)セル群の情報等を格納する。
The arrangement
ネット接続コスト格納部203は、処理部101のネット接続コスト算出処理部120が算出したネット接続コストを格納する。ネット接続コスト格納部203は、ネットリストに含まれる全てのセルのネット接続コストや、分割領域ごとに割付けられているセル群のネット接続コストを格納する。
The net connection
配線リソース格納部204は、処理部101の配線リソース算出処理部130が算出した配線リソースを格納する。配線リソース格納部204は、分割領域ごとの配線リソースを格納する。
The wiring
Halo格納部205は、処理部101のHalo処理部140に付与されたセルのHalo(仮想拡張領域)に関する情報(Halo情報)を格納する。Halo情報は、Haloのサイズを含み、付与されたセルと関連付けて格納されている。
The
配置後ネットリスト格納部206は、処理部101の処理結果(出力情報)のネットリストを格納する。このネットリストは、セル配置済みのネットリストであり、マクロの構成、接続関係及び配置位置、セルの構成、接続関係及び配置位置等が定義されている。配置後ネットリスト格納部206のネットリストは、本実施の形態によるセル配置により、局所的な配線混雑の発生が抑止されたネットリストである。
The post-placement net
セル配置処理部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
配置領域分割処理部111は、半導体集積回路の配置領域をカットラインにより複数の分割領域に分割する。セル群分割処理部112は、分割された各分割領域にセル群を分割する(振り分ける)。特に、セル群分割処理部112は、セルにHaloが付与された場合、Haloを含めたサイズを用いて、セル群を分割する。セル群割付け処理部113は、分割されたセル群を各分割領域に割付ける(配置する)。
The arrangement area
配置領域分割判定部114は、配置領域の分割処理の繰り返しを終了(配置終了)するか否か判定する。具体的には、配置領域分割判定部114は、分割領域ごとのセル数が所定数より小さいか否か判定する。
The arrangement area
配線混雑領域確認処理部115は、セル配置後、局所的な配線混雑領域の有無を確認する。重なりほぐし処理部116は、セルの配置が重なっている(配置領域が重複している)場合、重なりが無くなるよう(ほぐすよう)にセルの配置を変更する。特に、重なりほぐし処理部116は、セルにHaloが付与された場合、Haloを含めたサイズを用いて、セルの重なりをほぐす。
The wiring congestion area
ネット接続コスト算出処理部120(図1のネット接続コスト算出部3に相当)は、セルの接続関係に基づいてセルのネット接続コストを算出する。ネット接続コスト算出処理部120は、セル用ネット接続コスト算出処理部121、セル群用ネット接続コスト算出処理部122を備えている。セル用ネット接続コスト算出処理部121は、ネットリストに含まれる全セルのネット接続コストを算出する。セル群用ネット接続コスト算出処理部122は、分割領域ごとに割付けられているセル群のネット接続コストを算出する。
The net connection cost calculation processing unit 120 (corresponding to the net connection
配線リソース算出処理部130(図1の配線リソース算出部1に相当)は、配線トラック数に基づいて、分割領域ごとの配線リソースを算出する。
The wiring resource calculation processing unit 130 (corresponding to the wiring
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付与判定部141は、分割されたセル群の各セルにHaloの付与が必要か否か判定する。具体的には、Halo付与判定部141は、ネット接続コストに対し配線リソースが不足しているか否か判定する。Halo付与処理部142は、ネット接続コストに対し配線リソースが不足している場合、セルにHaloを付与する。Halo削除処理部143は、セルに付与されているHaloを削除する。Halo再付与処理部144は、セル配置後、局所的配線混雑領域が発生している場合、セルにHaloを再付与する。
The halo
概略配線処理部150は、セルの配置後、局所的配線混雑を確認するため、概略配線を行う。
The schematic
図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
次いで、レイアウト設計装置100は、min−cut法等で配置領域を分割し(ステップS2)、分割した配置領域の配線リソースを、配線トラックに基づき算出する(ステップS3)。
Next, the
次いで、レイアウト設計装置100は、min−cut法により、カットラインを横切る配線本数が最小になり、かつ、セル面積の偏りがないようにセル群を分割し(振り分け)、分割した配置領域に割付け(ステップS4、S5)、セルにサイズを仮想的に膨らませるための仮想的なセルサイズ情報(以下、Haloとも言う)が付与されている場合、Haloを削除する(ステップS6)。
Next, the
次いで、レイアウト設計装置100は、ステップS1で算出したネット接続コストに基づき、領域のセル群のネット接続コストを算出し(ステップS7)、ステップS7で算出したネット接続コストに対し、ステップS3で算出した配線トラックが不足している場合、セルを仮想的に膨らませるHaloを付与し、ステップS4のセル群の分割に戻る(ステップS8、S9)。この場合、Haloを付与したセルのサイズで、セル群の分割、割付けを行う(ステップS4〜S7)。
Next, the
次いで、レイアウト設計装置100は、配線トラックが足りている場合、分割領域に属するセル数がmin−cut法の目標関数である十分少ないセル数であるか判定し、セル数が多い場合、ステップS2に戻る(ステップS10)。この場合、配置領域をさらに分割し、分割領域にセル群の分割、割付けを行う(ステップS2〜S8)。
Next, when there are enough wiring tracks, the
レイアウト設計装置100は、min−cut法により、全てのセルの配置が完了した時点で、概略配線を実行し、局所的な配線混雑領域がないか確認する(ステップS11、S12)。
The
レイアウト設計装置100は、局所的な配線混雑が存在する場合には、その領域に含まれるセルに、セルを仮想的に膨らませるHaloを付与し、セルの重なりをほぐし、ステップS11に戻る(ステップS13、S14)。また、レイアウト設計装置100は、局所的な配線混雑領域がない場合、処理を完了する(ステップS12)。
When there is local wiring congestion, the
これによりセル配置が完了し、その後、配線が行われ、さらに、遅延時間の計算及びタイミング解析が行われる。本実施の形態のセル配置により、局所的な配線混雑が生じないため、タイミング解析からレイアウト設計(セル配置)へのイタレーションの発生を抑えられる。 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
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
このため、上記(式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
同様に、図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
この(式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
次いで、配置領域分割処理部111は、半導体集積回路の配置領域をカットラインにより分割する(ステップS2)。配置領域の分割には、一般的な配置技術であるmin−cut法などを用いることでよい。配置領域分割処理部111は、配置前ネットリスト格納部201に格納されたセル配置前の半導体集積回路のネットリストを参照してセルを配置する配置領域を特定し、例えば、この配置領域を均等に2分割し、2分割した分割領域の情報を配置情報格納部202に格納する。
Next, the arrangement area
図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
図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
配線リソースは、配線の混雑度を判断するための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
そうすると、配線リソースを算出する算出式の一例は、次の(式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
セル群分割処理部112は、配置情報格納部202に格納された分割領域を参照して、ネットリストに含まれるセル群を2つの分割領域に振り分ける。セル群割付け処理部113は、振り分けた2つのセル群を各分割領域に割付け、割り付けたセル群と分割領域の情報を配置情報格納部202に格納する。
The cell group
図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
図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
図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
図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
付与する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
図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
次いで、セル配置後のネットリストにおいて配線の混雑箇所を確認する。なお、ステップ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
次いで、配線混雑領域確認処理部115は、局所的な配線混雑領域がないことを確認し、混雑領域が存在しない場合には処理を完了する(ステップS12)。配線混雑領域の検出については、一般的な技術を利用することでよく、例えば、概略配線結果の配線グラフで、点と枝のコストが一定値以上の箇所を配線混雑部と判断する。配線混雑領域確認処理部115は、配置後ネットリスト格納部206の概略配線後のネットリストを参照し、局所的な配線混雑領域を検出する。なお、本実施の形態では、ステップS1からステップS9により、各セルのネット接続コストを考慮した分割領域へのセル割付けをしているため、極端な局所的配線混雑領域は発生しない。
Next, the wiring congestion area
ステップ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
セルに付与する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
セルの重なりをほぐした後、ステップ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
特許文献3では、本実施の形態の持つ配置アルゴリズムの中で配線性を考慮して個別にセルサイズを変更する機能を持たないため、一律にサイズを膨らませて配置することで配線混雑の発生していない箇所でサイズを膨らませることによる面積増加が発生し、最適面積でレイアウトを完了することができない。
In
特許文献3が配置前に駆動能力に関係なく同機能のセルのサイズを同じサイズに膨らませている、つまり、配置・配線性に基づいたセルのサイズ変更ではないのに対し、本実施の形態では、配置アルゴリズムの中で配線性を考慮して個別にセルサイズを変更する。本実施の形態では、配置アルゴリズムの中で配線性を考慮して個別にセルサイズを変更することにより、配線混雑の発生する箇所のみセルのサイズを膨らませ、面積増を抑え、かつ、配線のできる配置結果を得ることを可能とする。
(実施の形態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
図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
次いで、レイアウト設計装置100は、半導体集積回路の配置領域全体の配線リソースを、配線トラックに基づき算出する(ステップS31)。
Next, the
次いで、レイアウト設計装置100は、半導体集積回路の配置領域全体にセル面積の偏りがないようにセル群を配置し(ステップS51)、セルにHaloが付与されている場合、Haloを削除する(ステップS6)。
Next, the
次いで、レイアウト設計装置100は、ステップS1で算出したネット接続コストに基づき、配置領域のセル群のネット接続コストを算出し(ステップS7)、ステップS7で算出したネット接続コストに対し、ステップS31で算出した配線トラックが不足している場合、セルを仮想的に膨らませるHaloを付与し、ステップS51のセル群の配置に戻る(ステップS8、S9)。この場合、Haloを付与したセルのサイズで、セル群の配置を行う(ステップS51〜S8)。
Next, the
次いで、レイアウト設計装置100は、配線トラックが足りている場合、概略配線を実行し、局所的な配線混雑領域がないか確認する(ステップS11、S12)。
Next, when the wiring track is sufficient, the
レイアウト設計装置100は、局所的な配線混雑が存在する場合には、その領域に含まれるセルに、セルを仮想的に膨らませるHaloを付与し、セルの重なりをほぐし、ステップS11に戻る(ステップS13、S14)。また、レイアウト設計装置100は、局所的な配線混雑領域がない場合、処理を完了する(ステップS12)。
When there is local wiring congestion, the
以上のように本実施の形態では、配置領域を分割することなく、半導体集積回路全面の配置領域に対し、配線混雑が発生すると判断したセルに仮想的にサイズを膨らませる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
Claims (20)
前記ネットリストに含まれる複数のセルを当該セルのサイズに基づいて前記第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に記載の半導体集積回路のレイアウト設計方法。 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に記載の半導体集積回路のレイアウト設計方法。 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に記載の半導体集積回路のレイアウト設計方法。 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.
請求項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.
請求項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に記載の半導体集積回路のレイアウト設計方法。 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に記載の半導体集積回路のレイアウト設計方法。 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に記載の半導体集積回路のレイアウト設計方法。 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の領域に再配置するセル再配置部と、
を備える半導体集積回路のレイアウト設計装置。 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.
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)
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 |
-
2012
- 2012-10-29 JP JP2012237604A patent/JP2014089499A/en active Pending
Cited By (1)
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 |