(57)【要約】【課題】チップの面積増大を抑制し、また、チップレイアウト時のタイミング収束のために繰り返しレイアウトする回数と設計工数を削減する。【解決手段】相対的な位置が決まっている複数の相対配置位置決定済セル（４３）（４４）を示す相対配置位置決定済セル情報（３１）と、相対的な位置を示す相対位置情報（３２）と、複数の相対配置位置決定済セル（４３）（４４）に対応して配置位置が決まっている配線（４５）を示す配置位置決定済配線情報（３３）（３４）とを有するソフトマクロ（１４）を構成する。そして、ネットリスト（１１）に基づいて、ＩＣチップにおける配置位置と配線とを決定するときに、相対配置位置決定済セル（４３）（４４）と配線（４５）のレイアウトを変更しないソフトマクロ（１４）を構成する。【選択図】図６
2009134439.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）ネットリストとソフトマクロを読み出すステップと、前記ソフトマクロは、複数の相対配置位置決定済セルの相対的な位置を示す相対位置情報と、前記複数の相対配置位置決定済セルに対応して配置される配置位置決定済配線の位置を示す配線情報とを有し、
（ｂ）前記相対位置情報に基づいて、ＩＣチップにおける前記複数の相対配置位置決定済セルの座標を決定するステップと、
（ｃ）前記座標と前記配線情報とに基づいて、前記ＩＣチップにおける前記配置位置決定済配線の配線経路を決定するステップと、
（ｄ）前記ＩＣチップに配置される位置が決まっていない配置位置未決定セルを抽出し、前記ネットリストに基づいて、前記ＩＣチップにおける前記配置位置未決定セルの配置位置を決定するステップと
を具備する
半導体集積回路のレイアウト方法。
【請求項２】
請求項１に記載の半導体集積回路のレイアウト方法において、さらに、
（ｅ）前記ソフトマクロから、配線禁止領域情報を抽出するステップを具備し、
前記（ｄ）ステップは、
前記配線禁止領域情報に示される領域を迂回して、前記ＩＣチップにおける前記配置位置未決定セルの配置位置と配線とを決定するステップを含む
半導体集積回路のレイアウト方法。
【請求項３】
請求項１または２に記載の半導体集積回路のレイアウト方法において、さらに、
（ｆ）前記ソフトマクロから、シールド配線情報を抽出するステップを具備し、
前記（ｃ）ステップは、
前記シールド配線情報に基づいて、前記配置位置決定済配線が他のネットに影響を与えることを抑制するシールド配線を決定するステップを含む
半導体集積回路のレイアウト方法。
【請求項４】
請求項１から３の何れか１項に記載の半導体集積回路のレイアウト方法において、さらに、
（ｇ）前記ソフトマクロから、デカップリング容量情報を抽出するステップと、
（ｈ）前記デカップリング容量情報に基づいて、前記配置位置決定済配線のデカップリング容量の位置を決定するステップ
を具備する
半導体集積回路のレイアウト方法。
【請求項５】
請求項１から４の何れか１項に記載の半導体集積回路のレイアウト方法において、
前記複数の相対配置位置決定済セルは、マクロセルとＩ／Ｏセルとを含み、
前記（ｂ）ステップは、
前記相対位置情報に基づいて、前記ＩＣチップにおける前記マクロセルと前記Ｉ／Ｏセルの座標を決定するステップを含み、
前記（ｃ）ステップは、
前記座標と前記配線情報とに基づいて、前記ＩＣチップにおける前記マクロセルと前記Ｉ／Ｏセルを結ぶ配線の配線経路を決定するステップを含む
半導体集積回路のレイアウト方法。
【請求項６】
請求項１から５の何れか１項に記載の半導体集積回路のレイアウト方法において、
前記複数の相対配置位置決定済セルは、Ｉ／Ｏマクロを含み、
前記（ｂ）ステップは、
前記相対位置情報に基づいて、前記ＩＣチップにおける前記Ｉ／Ｏマクロの座標を決定するステップを含み、
前記（ｃ）ステップは、
前記座標と前記配線情報とに基づいて、前記ＩＣチップにおける前記Ｉ／Ｏマクロに接続する配線の配線経路を決定するステップを含む
半導体集積回路のレイアウト方法。
【請求項７】
（ａ）マクロの回路情報を示すマクロネットリストと前記マクロの動作タイミングを示すタイミング情報とを読み出すステップと、
（ｂ）前記マクロネットリストと前記タイミング情報とに基づいて、マクロレイアウトを決定するステップと、
（ｃ）前記マクロレイアウトと前記タイミング情報とに基づいて、前記マクロの信号伝播遅延時間が大きいパスをクリティカルパスとして特定し、前記クリティカルパスを構成する複数の機能セルを抽出するステップと、
（ｄ）前記クリティカルパスを構成する複数の機能セルを相対配置位置決定済セルとしたときに、前記相対配置位置決定済セルの相対的な位置を示す相対位置情報と、前記相対配置位置決定済セルに対応して配置される配線を示す配線情報とを生成するステップと、
（ｅ）前記相対位置情報と前記配線情報とを含むソフトマクロライブラリを生成するステップと
を具備する
ライブラリの作成方法。
【請求項８】
請求項７に記載のライブラリ作成方法において、
前記（ｄ）ステップは、
前記相対配置位置決定済セルの間に配置される配線以外の配線が配置されることを禁止する領域を示す配線禁止領域情報を生成するステップを含み、
前記（ｅ）ステップは、
前記配線禁止領域情報を含むソフトマクロライブラリを生成するステップを含む
ライブラリの作成方法。
【請求項９】
請求項７または８に記載のライブラリの作成方法において、さらに、
前記（ｄ）ステップは、
前記相対配置位置決定済セルに対応して配置される配線が他のネットに影響を与えることを抑制するシールド配線を示すシールド配線情報を生成するステップを含み、
前記（ｅ）ステップは、
前記シールド配線情報を含むソフトマクロライブラリを生成するステップを含む
ライブラリの作成方法。
【請求項１０】
請求項７から９の何れか１項に記載のライブラリの作成方法において、さらに、
前記（ｄ）ステップは、
前記相対配置位置決定済セルが他の機能セルへ与える影響と、前記相対配置位置決定済セルが他の機能セルから受ける影響とを減らすための容量を示すデカップリング容量情報を生成するステップを含み、
前記（ｅ）ステップは、
前記デカップリング容量情報を含むソフトマクロライブラリを生成するステップを含む
ライブラリの作成方法。
【請求項１１】
半導体集積回路の自動レイアウトに用いられるソフトマクロのデータ構造であって、
相対的な配置位置があらかじめ決められている相対配置位置決定済セルを特定する配置位置決定済セル情報と、
前記相対配置位置決定済セルについて相対的な配置位置を示すセル配置位置相対座標情報と、
前記相対配置位置決定済セルに対応して、あらかじめ配線の相対的な位置が決められている配線位置決定済ネットを特定する配線位置決定済ネット情報と、
前記配線位置決定済ネットの相対的な配線位置を示す配線位置相対座標情報と
を含み、
コンピュータの自動レイアウトプログラムが、前記ソフトマクロを含む半導体集積回路の自動配置配線を行う際、前記ソフトマクロのデータ構造を用いて、前記相対配置位置決定済セルを前記配置位置決定済セル情報に従って配置できるようにし、前記配線位置決定済ネットを前記配線位置相対座標情報に従って配線できるようにしたことを特徴とする
ソフトマクロのデータ構造。
【請求項１２】
前記ソフトマクロのデータ構造が、さらに、
その領域内において前記配線位置決定済ネット以外の配線を禁止する配線禁止領域情報を含み、
前記自動レイアウトプログラムが、前記配線位置決定済ネット以外の配線について、前記配線禁止領域を避けて配線することができるようにしたことを特徴とする請求項１１に記載の
ソフトマクロのデータ構造。
【請求項１３】
前記ソフトマクロのデータ構造が、さらに、前記配線位置決定済ネットをシールドするシールド配線情報を含み、
前記自動レイアウトプログラムが、シールド配線情報を用いて、前記配線位置決定済ネットをシールドするようにレイアウトすることができるようにしたことを特徴とする請求項１１または１２に記載の
ソフトマクロのデータ構造。
【請求項１４】
請求項１１から１３の何れか１項に記載のソフトマクロのデータ構造において、さらに、
前記相対配置位置決定済セルが他の機能セルへ与える影響、または／及び、前記相対配置位置決定済セルが、他の機能セルから受ける影響を減らすための容量を示すデカップリング容量情報を含む
ソフトマクロのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特にソフトマクロを用いた半導体集積回路のレイアウト設計方法、そのソフトマクロのデータ構造、及びソフトマクロライブラリの作成方法に関する。
【背景技術】
【０００２】
半導体集積回路の一部の機能をマクロ（機能モジュール）として構成し、そのマクロを用いて半導体集積回路を設計する技術が知られている。半導体集積回路の設計に用いられるマクロには、ハードマクロとソフトマクロとがある。
【０００３】
ハードマクロは、マクロを構成する複数のプリミティブセルと、その複数のプリミティブセルの配置・配線が決まっている。チップレイアウトの際には、ハードマクロの外形情報と入出力に関する情報とが与えられる。レイアウトツールは、チップレイアウトの際に、そのハードマクロの内部の構成を、ブラックボックスとして扱うことができる。
【０００４】
ソフトマクロは、マクロを構成する複数のプリミティブセルの接続関係が決まっている。ソフトマクロにおける複数のプリミティブセルは、未配置、未配線である。チップレイアウトを行うときに、ソフトマクロとネットリストが提供される。レイアウトツールは、チップレイアウトの際にマクロ内のプリミティブセルの配置・配線を決定する。
【０００５】
ハードマクロを、チップにレイアウトする場合、そのマクロが占める領域には当該マクロに属さない他のプリミティブセルを配置することができない。又、当該マクロに属さない他の配線も、ハードマクロが占める領域を通過することができない。このため、チップとしての配線性の低下、チップの面積が大きくなってしまう場合がある。
【０００６】
ソフトマクロを、チップにレイアウトする場合、チップレイアウト毎にマクロを構成するプリミティブセルの配置配線を行なう必要がある。
【０００７】
図１は、ソフトマクロによる一般的なチップレイアウト処理動作を示すフローチャートである。チップレイアウト処理は、レイアウトツール上により、ソフトマクロのライブラリであるソフトマクロライブラリ１１０とチップネットリスト１１１とチップタイミング情報１１２を元に、配置処理（Ｓ１１）、配線処理（Ｓ１２）を行い、配置配線結果からマクロ内のクリティカルパスのタイミング検証し、ＯＫであれば（Ｓ１３〜Ｓ１４）チップレイアウト情報１１３を出力する（Ｓ１５）。
【０００８】
検証の際、クリティカルパスのタイミング検証がＮＧであれば（Ｓ１３〜Ｓ１４）、配置処理（Ｓ１１）、あるいは配線処理（Ｓ１２）に戻り、タイミング検証がＯＫになるまで繰り返す（Ｓ１１〜Ｓ１４）。
【０００９】
また、ハードマクロとソフトマクロとを用いて半導体集積回路のレイアウトを決定する技術が知られている（例えば、特許文献１参照。）。図２は、特許文献１（ＷＯ２０００／４９６５３）に記載の技術を示す概要構成図である。ＩＰモジュール１０１は、ハードマクロ部１０２と、ソフトマクロ部１０３とを含んでいる。ハードマクロ部１０２の内部の回路については、タイミングが保証されている。ソフトマクロ部１０３は、ハードマクロ部１０２とＩＰモジュール１０１の外部端子との間に構成されている。ソフトマクロ部１０３は、マクロ外の回路の負荷やチップの性能を考慮して最適化を施すことにより、ＩＰモジュール１０１内の全てをハードマクロ化した場合に比べ、ＩＰモジュール１０１の面積の増加を防ぐことができる。図３は、特許文献１に記載の技術のＩＰモジュールデータを示す図である。図３の（ａ）は、ハードマクロ部１０２を示すリストであり、図３の（ｂ）は、ソフトマクロ部１０３を示すデータである。
【００１０】
【特許文献１】国際公開番号  ＷＯ２０００／４９６５３号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ソフトマクロによる一般的なチップレイアウト処理では、タイミングがクリティカルな場合、配置処理（図１のＳ１１）、あるいは配線処理（図１のＳ１２）が１回では終了しない場合が多い。その場合、設計者は、マクロ内のクリティカルパスのタイミング収束のために手動で配置、配線を繰り返しレイアウトする必要が生じ、その結果、設計工数が増大する問題がある。
【００１２】
特許文献１に記載の技術は、マクロ内部のタイミングが保証されているハードマクロ部１０２と、ハードマクロ部１０２よりも設計の自由度があるソフトマクロ部１０３とを備えることで、半導体集積回路のレイアウトを決定する場合における設計工数の増大を防いでいる。
【００１３】
チップ上に配置されたハードマクロ部１０２は、そのチップの一定の領域を占有する。そして、ハードマクロ部１０２に含まれていないプリミティブセルなどは、ハードマクロ部１０２が占有している領域に重ならないように配置される。また、ハードマクロ部１０２を構成するプリミティブセルは、ハードマクロ部１０２の内部でのレイアウトが決定している。そのために、チップレイアウトの際に配置位置の最適化対象とすることができない。そのため、ＩＰモジュール１０１のチップ内での占有面積は、ハードマクロ部１０２が占有する面積に依存し、一定以上縮小することができない。
【００１４】
また、ハードマクロ部１０２の外部のネットは、ハードマクロ部１０２を迂回して配置される。そのため、チップレベルの配線性が低下する場合がある。また、ハードマクロ部１０２を迂回することによる配線遅延の増加、及び配線混雑が発生する場合がある。
【課題を解決するための手段】
【００１５】
以下に、［発明を実施するための最良の形態］で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１６】
上記課題を解決するために、
［ａ］チップネットリスト（１１）とソフトマクロ（１４）を読み出すステップと、前記ソフトマクロ（１４）は、複数の相対配置位置決定済セル（４３）（４４）の相対的な位置を示す相対位置情報（３２）と、前記複数の相対配置位置決定済セル（４３）（４４）に対応して配置される配置位置決定済配線（４５）の位置を示す配線情報（３３）（３４）とを有し、
［ｂ］前記相対位置情報（３２）に基づいて、ＩＣチップにおける前記複数の相対配置位置決定済セル（４３）（４４）の座標を決定するステップと、
［ｃ］前記座標と前記配線情報（３３）（３４）とに基づいて、前記ＩＣチップにおける前記配置位置決定済配線の配線経路（４５）を決定するステップと、
［ｄ］前記ＩＣチップに配置される位置が決まっていない配置位置未決定セル（４６）（４７）を抽出し、前記ネットリスト（１１）に基づいて、前記ＩＣチップにおける前記配置位置未決定セルの配置位置を決定するステップとを具備する方法で半導体集積回路のレイアウトを決定する。
【００１７】
また、上記の課題を解決するために、半導体集積回路の自動レイアウトに、下記のようなデータ構造を有するソフトマクロを用いる。そのソフトマクロのデータ構造は、相対的な配置位置があらかじめ決められている相対配置位置決定済セル（４３）（４４）を特定する配置位置決定済セル情報（３２）と、前記相対配置位置決定済セル（４３）（４４）について相対的な配置位置を示すセル配置位置相対座標情報（３２）と、前記相対配置位置決定済セル（４３）（４４）に対応して、あらかじめ配線の相対的な位置が決められている配線位置決定済ネット（４５）を特定する配線位置決定済ネット情報（３３）と、前記配線位置決定済ネット（４５）の相対的な配線位置を示す配線位置相対座標情報（３４）とを含んでいることが好ましい。
そして、前記ソフトマクロのデータ構造は、前記ソフトマクロを含む半導体集積回路の自動配置配線を行う際に、コンピュータの自動レイアウトプログラムが、前記相対配置位置決定済セル（４３）（４４）を前記配置位置決定済セル情報に従って配置できるようにし、また、前記配線位置決定済ネット（４５）を前記配線位置相対座標情報（３４）に従って配線できるようなデータ構造であることが好ましい。
【００１８】
ソフトマクロ（１４）の相対配置位置決定済領域４２は、タイミングがクリティカルな回路部分であり、相対配置位置決定済領域４２に含まれるセルやセル間の配線はチップのレイアウト前に相対的な位置が指定されている。相対配置位置決定済領域４２のレイアウトは、チップのレイアウト時に変更されることはなく、ソフトマクロ（１４）に含まれる相対位置情報に従ってレイアウトされる。
【発明の効果】
【００１９】
本発明は、ソフトマクロで構成される回路の内部で、タイミング制約が厳しい回路部分の配置配線だけを予め用意しておき、タイミング制約が厳しくない回路部分についてはネットリストだけを用意している。
【００２０】
これによって、チップの面積増大を抑制し、また、チップレイアウト時のタイミング収束のために繰り返しレイアウトする回数と設計工数を削減することが可能である。
【発明を実施するための最良の形態】
【００２１】
［第１実施形態］
以下に、図面を参照して、本発明を実施するための形態について説明を行う。本実施形態において、設計対象の半導体集積回路のレイアウトは、設計支援ツールを搭載したコンピュータを用いて決定する。そのコンピュータは、内部に格納されたコンピュータプログラムに示される手順に従って動作することで、設計支援ツールとして機能する。
【００２２】
図４は、本実施形態の半導体設計支援システム１０の構成を例示するブロックである。半導体設計支援システム１０は、情報処理装置１と、入力装置２と、出力装置３とを含んでいる。情報処理装置１は、プログラムに示される手順に従って、情報処理を高速に行う装置（コンピュータ）である。情報処理装置１は、入力、記憶、演算、制御および出力の５つの基本機能を備えている。入力装置２は、情報処理装置１にデータを入力するマンマシンインターフェースである。入力装置２の代表としては、例えば、キーボード、マウス、ペンタブレット、タッチパネルなどが例示される。出力装置３は、情報処理装置１の処理結果を外部に出力するマンマシンインターフェースである。出力装置３の代表として、ディスプレイやプリンタなどが例示される。
【００２３】
情報処理装置１は、ＣＰＵ４と、メモリ５と、大容量記憶装置６を備え、それらはバス７を介して接続されている。ＣＰＵ４は、中央演算処理装置とも呼ばれ、情報処理装置１に備えられた各種装置の制御やデータの処理を行う。ＣＰＵ４は、入力装置２などを介して供給されるデータを解釈して演算し、その演算結果を出力装置３などに出力する。
【００２４】
メモリ５は、ＤＲＡＭやＳＲＡＭなどに代表される半導体記憶装置である。メモリ５は、ＣＰＵ４の命令に応答してデータの書き込みを行う。また、メモリ５は、ＣＰＵ４の命令に応答してデータの読み出しを行う。なお、本実施形態のメモリ５は、ＲＡＭに限定されることは無い。例えば、ＥＥＰＲＯＭやフラッシュメモリなどであってもよい。
【００２５】
大容量記憶装置６は、ＨＤＤなどに代表される記憶装置である。大容量記憶装置６は、外部から供給される電源が遮断した場合であっても、情報を保持しつつける機能を備えている。なお、本実施形態の大容量記憶装置６は、ＨＤＤに限定されることは無い。例えば、ＥＥＰＲＯＭやフラッシュメモリなどであってもよい。
【００２６】
大容量記憶装置６は、半導体設計支援プログラム８と、ライブラリ作成プログラム９と、チップネットリスト１１と、チップタイミング情報１２と、チップレイアウト情報１３と、マクロライブラリ１４と、マクロネットリスト２１と、マクロタイミング情報２２と、マクロレイアウト情報２３と、クリティカルパス情報２４を保持している。
【００２７】
半導体設計支援プログラム８は、設計対象の半導体集積回路のレイアウトを行う手順を示している。半導体設計支援プログラム８は、ＣＰＵ４に読み込まれる。本実施形態においては、ＣＰＵ４が半導体設計支援プログラム８に示される手順で演算やデータ処理を実行することで、情報処理装置１は、半導体設計支援システム１０として機能する。
【００２８】
ライブラリ作成プログラム９は、本実施形態のマクロライブラリ１４を生成する手順を示している。ライブラリ作成プログラム９は、ＣＰＵ４に読み込まれる。本実施形態においては、ＣＰＵ４がライブラリ作成プログラム９に示される手順で演算やデータ処理を実行することで、情報処理装置１は、ライブラリ作成装置として機能する。
【００２９】
チップネットリスト１１は、設計対象の半導体集積回路における回路の接続情報を含んでいる。チップタイミング情報１２は、設計対象の半導体集積回路における回路の動作タイミング情報を含んでいる。チップレイアウト情報１３は、半導体設計支援プログラム８に示される手順に従って情報処理装置１が動作したときに、その情報処理装置１から出力される。
マクロライブラリ１４は、チップレイアウトを決定するときに参照される。マクロライブラリ１４は、タイミングがクリティカルな回路部分のセル（以下、相対配置位置決定済セルと呼ぶ。）の配置と、その相対配置位置決定済セル間の配線（以下、配線位置決定済ネットと呼ぶ）の位置を指定するレイアウト情報を含んでいる。また、マクロライブラリ１４における、タイミングがクリティカルな回路部分以外の回路を構成するセル（以下、配置位置未決定セルと呼ぶ）のレイアウトはこの段階では指定されていない。同様に、タイミングがクリティカルな回路部分以外のネット（以下、配線位置未決定ネットと呼ぶ）のレイアウトはこの段階では指定されていない。
【００３０】
マクロネットリスト２１は、本実施形態のマクロライブラリ１４を作成するときに用いられる。マクロネットリスト２１は、半導体集積回路の一部の機能の回路情報を含んでいる。マクロタイミング情報２２は、本実施形態のマクロライブラリ１４を作成するときに用いられる。マクロタイミング情報２２は、半導体集積回路の一部の機能の動作タイミング情報を含んでいる。マクロレイアウト情報２３は、本実施形態のマクロライブラリ１４を作成するときに生成される。マクロレイアウト情報２３は、タイミングがクリティカルな回路部分のセルの配置と、そのセル間の配線とを固定したレイアウトを示している。クリティカルパス情報２４は、本実施形態のマクロライブラリ１４を作成するときに生成される。クリティカルパス情報２４は、マクロライブラリ１４の内部のパスに関連する情報を含んでいる。
【００３１】
図５は、第１実施形態のマクロライブラリ１４のデータ構造を例示するブロック図である。図５を参照すると、マクロライブラリ１４は、配置位置決定済セル情報３１と、配線位置決定済ネット情報３３と、配置位置未決定セル情報３５と、配線位置未決定ネット情報３６とを含んでいる。本実施形態において、マクロライブラリ１４は、ソフトマクロライブラリとして提供される。
【００３２】
配置位置決定済セル情報３１は、相対配置位置決定済セルに関する情報を含んでいる。また、配置位置決定済セル情報３１は、セル配置位置相対座標情報３２を含んでいる。セル配置位置相対座標情報３２は、複数の相対配置位置決定済セルの相対的な位置関係に関する情報を含んでいる。配線位置決定済ネット情報３３は、配線位置決定済ネットに関する情報を含んでいる。また、配線位置決定済ネット情報３３は、配線位置相対座標情報３４を含んでいる。配線位置相対座標情報３４は、配線位置決定済ネットの相対的な位置関係に関する情報を含んでいる。配置位置未決定セル情報３５は、配置位置未決定セルに関する情報を含んでいる。配線位置未決定ネット情報３６は、配線位置未決定ネットに関する情報を含んでいる。
【００３３】
図６は、第１実施形態のマクロライブラリ１４が示すマクロセル４１の構成を例示するブロック図である。マクロセル４１は、相対配置位置決定済領域４２を含んでいる。相対配置位置決定済領域４２は、機能ブロック４３と、プリミティブセル４４とを備え、それらは配線４５を介して接続されている。また、マクロセル４１は、配置位置が決定していない機能ブロック４６と配置位置が決定していないプリミティブセル４７とを備えている。さらに、マクロセル４１は、配線位置未決定ネット４８を含んでいる。また、第１実施形態におけるマクロセル４１は、Ｉ／Ｏセル４９を含み、そのＩ／Ｏセル４９を介してデータの送受信を行っている。
【００３４】
相対配置位置決定済領域４２は、チップに配置する位置を可変的にすることができる。相対配置位置決定済領域４２に含まれる機能ブロック４３、プリミティブセル４４および配線４５は、相対配置位置決定済領域４２の内部において、固定的に配置位置が決定している。換言すると、相対配置位置決定済領域４２に含まれる機能ブロック４３、プリミティブセル４４および配線４５は、チップレイアウトを行う場合における相対的な位置が決定している。
【００３５】
配置位置が決定していないプリミティブセル４７は、チップレイアウト時にマクロセル４１における配置位置が決定する。配線位置未決定ネット４８は、チップレイアウト時に、マクロセル４１における配置位置が決定する。
【００３６】
図７は、本実施形態において、マクロセル４１の構成を示すマクロライブラリ１４を生成する動作を例示するフローチャートである。ステップＳ１０１において、マクロネットリスト(回路接続情報)２１とマクロタイミング情報２２とをレイアウト工程(ツール)に入力する。レイアウトツールは、マクロネットリスト２１に基づいて、マクロを構成するセルを配置配線し、その結果をマクロレイアウト情報２３として出力する。
【００３７】
ステップＳ１０２において、マクロタイミング情報２２とマクロレイアウト情報２３をクリティカルパス抽出工程(ツール)に入力する。クリティカルパスツールは、マクロタイミング情報２２に従ってタイミングがクリティカルなパスに含まれるセルと、そのセル間のネットを抽出する。クリティカルパスツールは、抽出した結果をクリティカルパス情報２４として出力する。
【００３８】
ステップＳ１０３において、マクロレイアウト情報２３とクリティカルパス情報２４とを配置配線情報抽出工程(ツール)に入力する。配置配線情報抽出ツールは、クリティカルパス中のセル情報とネット情報とに基づいて、機能ブロック４３、プリミティブセル４４、および配線４５とを含む相対配置位置決定済領域４２の構成を特定する。配置配線情報抽出ツールは、相対配置位置決定済領域４２と、配置位置が決定していないプリミティブセル４７と配線位置未決定ネット４８とを有するマクロセル４１を示すマクロライブラリ１４を生成して大容量記憶装置６に格納する。
【００３９】
このとき、相対配置位置決定済領域４２を構成するセルの相対的な配置位置を示すセル配置位置相対座標情報３２と、相対配置位置決定済領域４２を構成するネット配線の相対的な位置を示す配線位置相対座標情報３４を算出し、マクロライブラリ１４に格納する。ここで、マクロライブラリ１４の形式としては、例えばＤＥＦ形式のファイルを採用することができる。
【００４０】
図８は、本実施形態のマクロライブラリ１４を用いてチップレイアウトを実行する場合の動作を例示するフローチャートである。以下に述べる動作は、ＣＰＵ４が半導体設計支援プログラム８を読み込み、その半導体設計支援プログラム８に示される手順に従って動作することで実行される。
【００４１】
ステップＳ２０１において、マクロライブラリ１４と、チップネットリスト１１と、チップタイミング情報１２とをレイアウト工程(ツール)に入力する。レイアウトツールは、マクロライブラリ１４の配置位置決定済セル情報３１とセル配置位置相対座標情報３２とに基づいて、相対配置位置決定済セルである機能ブロック４３、プリミティブセル４４の配置位置を決定する。図９は、ステップＳ２０１における処理が実行されたあとのレイアウト状態を例示する平面図である。機能ブロック４３やプリミティブセル４４は、互いの相対的な位置が決定している。
【００４２】
ステップＳ２０２において、レイアウトツールは、マクロライブラリ１４の配線位置決定済ネット情報３３と配線位置相対座標情報３４とに基づいて、配線位置決定済ネットである配線４５が配線される位置を決定する。図１０は、ステップＳ２０２における処理が実行されたあとのレイアウト状態を例示する平面図である。配線４５は、機能ブロック４３やプリミティブセル４４の位置に基づいて配線されている。また、機能ブロック４３、プリミティブセル４４および配線４５の配置が決定したことに応答して、相対配置位置決定済領域４２のレイアウトが決定する。
【００４３】
ステップＳ２０３において、マクロライブラリ１４の配置位置未決定セル情報３５および配線位置未決定ネット情報３６と、チップネットリスト１１と、チップタイミング情報１２とに基づいて、配置位置未決定セルである、配置位置が決定していない機能ブロック４６、配置位置が決定していないプリミティブセル４７の配置を決定する。また、配線位置未決定ネット４８を配線する位置を決定する。ステップＳ２０４において、マクロセル４１の外部のセルおよびネットのレイアウトを同時的に行ない、チップレイアウト情報１３を出力して、チップのレイアウトを完了する。図１１は、ステップＳ２０４の処理が完了した後のマクロセル４１の構成を例示する平面図である。相対配置位置決定済領域４２の配置を決定した後、未配置だった配置位置が決定していない機能ブロック４６の位置を決定しレイアウト完了機能ブロック５１とし、また、配置位置が決定していないプリミティブセル４７の位置を決定してレイアウト完了プリミティブセル５２とする。そして、レイアウト完了プリミティブセル５２、レイアウト完了配線５３、および、配線位置が決まっていかなかった配線位置未決定ネット４８をレイアウト完了配線５３として配線してレイアウトを完了する。
【００４４】
マクロライブラリ１４におけるタイミングがクリティカルな回路部分である相対配置位置決定済領域４２は、チップのレイアウト前にあらかじめ配置配線が固定している。相対配置位置決定済領域４２のレイアウトは、チップのレイアウト時に変更されることがない。
【００４５】
同一のチップに複数個のマクロセル４１を搭載する場合や、異なるチップにこのマクロセル４１を搭載する場合であっても、その相対配置位置決定済領域４２の配置配線は変更されることがない。
【００４６】
また、配置位置が決定していない機能ブロック４６や配置位置が決定していないプリミティブセル４７については、チップのレイアウト時に、マクロセル４１の外部のセルとレイアウトと同時期に配置される。このとき、配置位置が決定していない機能ブロック４６や配置位置が決定していないプリミティブセル４７は、マクロセル４１の領域を考慮せずにチップとして最適な位置に配置できる。したがって、マクロセル４１を構成するセルを、全て相対配置位置決定済セルとした場合に比べ、チップサイズを縮小することができる。
【００４７】
また、配線位置未決定ネット４８や、マクロセル４１外部のネットも、マクロセル４１の領域を考慮せずに配線することができる。したがって、配線性の低下と配線遅延の増加や、配線混雑を緩和することができ、且つ、タイミング収束のために繰り返しレイアウトする回数と設計工数を削減することができる。
【００４８】
［第２実施形態］
以下に、図面を参照して、本発明の第２実施形態について説明を行う。図１２は、第２実施形態のマクロセル４１の構成を例示する平面図である。以下の実施形態においては、本実施形態の構成・動作に対する理解を容易にするために、上述の実施形態と重複する部分に関する説明を省略する。
【００４９】
図１２を参照すると、第２実施形態におけるマクロセル４１は、配線禁止領域５４を含んでいる。配線禁止領域５４は、相対配置位置決定済領域４２の機能ブロック４３、プリミティブセル４４および配線４５の周辺に備えられ、他のネットの配線が配置されないように構成されている。
【００５０】
図１３は、第２実施形態のマクロセル４１に対応したマクロライブラリ１４のデータ構造を例示するブロック図である。図１３に示されているように、第２実施形態のマクロライブラリ１４は、配線位置決定済ネット情報３３内に、配線禁止領域情報３７を有している。第２実施形態のマクロセル４１は、配線済みのタイミングが保証されたネットに対して、他のネットの配線からの影響を防ぎ、確実にタイミングを保証することと、チップレイアウト時のタイミング収束のために繰り返しレイアウトする回数と設計工数を削減する効果が得られる。
【００５１】
［第３実施形態］
以下に、図面を参照して、本発明の第３実施形態について説明を行う。図１４は、第３実施形態のマクロセル４１の構成を例示する平面図である。以下の実施形態においては、本実施形態の構成・動作に対する理解を容易にするために、上述の実施形態と重複する部分に関する説明を省略する。図１４を参照すると、第３実施形態におけるマクロセル４１は、シールド配線５５を含んでいる。シールド配線５５は、相対配置位置決定済領域４２の配線４５が、他のネットの配線に与える影響を抑制している。
【００５２】
図１５は、第３実施形態のマクロセル４１に対応するマクロライブラリ１４のデータ構造を例示するブロック図である。図１５に示されているように、第３実施形態のマクロライブラリ１４は、配線位置決定済ネット情報３３内にシールド配線情報３８を有している。これにより、配線済みネットによる他のネットの配線に影響が無くなり、チップレイアウト時のタイミング収束のために繰り返しレイアウトする回数と設計工数を削減する効果が得られる。
【００５３】
［第４実施形態］
以下に、図面を参照して、本発明の第４実施形態について説明を行う。図１６は、第４実施形態のマクロセル４１の構成を例示する平面図である。以下の実施形態においては、本実施形態の構成・動作に対する理解を容易にするために、上述の実施形態と重複する部分に関する説明を省略する。
【００５４】
図１６を参照すると、第４実施形態におけるマクロセル４１は、電源配線５６とグランド配線５７との間に配置されたデカップリング容量５８を含んでいる。デカップリング容量５８は、相対配置位置決定済領域４２の機能ブロック４３、プリミティブセル４４の動作周波数に応じて構成されている。デカップリング容量５８は、相対配置位置決定済領域４２の周辺に配置されるセルから受ける影響を低減すると共に、相対配置位置決定済領域４２が周辺に配置されるセルへ与える影響を低減している。
【００５５】
図１７は、第４実施形態のマクロセル４１に対応したマクロライブラリ１４のデータ構造を例示するブロック図である。図１７に示されているように、第４実施形態のマクロライブラリ１４は、配置位置決定済セル情報３１内にデカップリング容量情報３９を有している。これにより、相対配置位置決定済セルによる他の配置セルからの電源ノイズの影響を低減できることと相対配置位置決定済セルが動作中に発する電源ノイズを低減でき、実動作時の電源ノイズによる誤動作を防止できる効果が得られる。
【００５６】
［第５実施形態］
以下に、図面を参照して、本発明の第５実施形態について説明を行う。図１８は、第５実施形態のマクロセル４１の構成を例示する平面図である。以下の実施形態においては、本実施形態の構成・動作に対する理解を容易にするために、上述の実施形態と重複する部分に関する説明を省略する。図１８を参照すると、第５実施形態のマクロセル４１は、配置する位置が決まっているＩ／Ｏセル４９を含む相対配置位置決定済領域４２を備えている。配置する位置が決まっているＩ／Ｏセル４９と、機能ブロック４３との間には、配線４５が配置されている。
【００５７】
［第６実施形態］
以下に、図面を参照して、本発明の第６実施形態について説明を行う。図１９は、第６実施形態のマクロセル４１の構成を例示する平面図である。以下の実施形態においては、本実施形態の構成・動作に対する理解を容易にするために、上述の実施形態と重複する部分に関する説明を省略する。図１９を参照すると、第６実施形態のマクロセル４１において、相対配置位置決定済領域４２は、配置する位置が決まっているＩ／Ｏセル４９を含む機能ブロック４３を備えている。その機能ブロック４３の間には、配線４５が配置されている。
【００５８】
第５、第６実施形態に示されているように、相対配置位置決定済領域４２を構成する機能ブロック４３、プリミティブセル４４は、プリミティブセルだけではなく、Ｉ／Ｏセル、ＲＡＭなどのあらゆる種類のセルを対象とすることができる。なお、上述の実施形態において、相対配置位置決定済領域４２に対応する領域に対して、配線を禁止する配線禁止情報を有するマクロライブラリ１４を構成しても良い。
【００５９】
マクロライブラリ１４に基づいてチップレイアウトを行う際に、相対配置位置決定済領域４２のタイミングは保証されている。マクロライブラリ１４は、相対配置位置決定済領域４２以外の回路部分のセルやネットには、配置配線位置の制約を持たせていない。したがって、チップレイアウトの際に、ハードマクロの場合に比べて、ソフトマクロ外のセルと該当ソフトマクロ内セルを、ソフトマクロの領域に制限されることなく、それぞれ最適な位置に配置でき、チップ面積の増大を防ぐことができる。また、ソフトマクロ外のネットがソフトマクロ内部の領域を使用して配線できるため、ソフトマクロ外のネットがソフトマクロの領域を迂回することによる配線性の低下と配線遅延の増加や、配線混雑を防ぐことができる。特にハードマクロは、機能的にまとまった機能モジュール単位毎に設けられるが、本発明のソフトマクロによれば、その機能モジュールの中でも、タイミングがクリティカルな部分のみの配置を固定し、タイミングがクリティカルでない部分は自由に配置することができるので自由度が大きい。
【００６０】
さらに、近年、配線ピッチが狭くなってきており、これにより信号間のクロストークの影響を無視できなくなってきている。従来技術では、マクロ内のタイミングがクリティカルなネットを予め配線し、ハードマクロ化しておくことで、そのネットのタイミングを保証している。しかし、予め配線をしておいた当該マクロ中のタイミングがクリティカルなネットに対して、チップレイアウト時に、マクロ外のネット配線が近隣を通過することにより、この近隣を通過したマクロ外のネット信号からのクロストークによって、当該マクロ内のタイミングがクリティカルなネットのタイミングが変動するという問題点がある。
【００６１】
さらに、チップレイアウトの際に、当該マクロ内のタイミングがクリティカルなネットがクロストークの影響で変動するため、タイミング収束のために繰り返しレイアウト設計が発生するという問題点がある。
【００６２】
本発明のソフトマクロは、タイミングがクリティカルな回路部分のみ、セルの配置とセル間の配線を固定したレイアウトの物理情報と、配置配線済みのネットは配線禁止情報を有しており、該当ソフトマクロ外のネットの近接配線が発生せずクロストークの影響を排除でき、当該ソフトマクロ内のタイミングがクリティカルなネットのタイミングは保証される。
【００６３】
さらに、チップレイアウトの際に、タイミングがクリティカルなネットのタイミングが保証されるため、タイミング収束のレイアウト設計が容易になることによって設計工数が削減でき、またチップサイズ増大を防ぐ事ができる。
【図面の簡単な説明】
【００６４】
【図１】図１は、ソフトマクロによる一般的なチップレイアウト処理動作を示すフローチャートである。
【図２】図２は、従来の技術を示す概要構成図である。
【図３】図３は、従来の技術のＩＰモジュールデータを示す図である。
【図４】図４は、半導体設計支援システムの構成を例示するブロックである。
【図５】図５は、第１実施形態のマクロライブラリ１４のデータ構造を例示するブロック図である。
【図６】図６は、第１実施形態のマクロライブラリ１４が示すマクロセル４１の構成を例示するブロック図である。
【図７】図７は、マクロセル４１の構成を示すマクロライブラリ１４を生成する動作を例示するフローチャートである。
【図８】図８は、マクロライブラリ１４を用いてチップレイアウトを実行する場合の動作を例示するフローチャートである。
【図９】図９は、レイアウト状態を例示する平面図である。
【図１０】図１０は、レイアウト状態を例示する平面図である。
【図１１】図１１は、レイアウト状態を例示する平面図である。
【図１２】図１２は、第２実施形態のマクロセル４１の構成を例示する平面図である。
【図１３】図１３は、第２実施形態のマクロセル４１に対応したマクロライブラリ１４のデータ構造を例示するブロック図である。
【図１４】図１４は、第３実施形態のマクロセル４１の構成を例示する平面図である。
【図１５】図１５は、第３実施形態のマクロセル４１に対応するマクロライブラリ１４のデータ構造を例示するブロック図である。
【図１６】図１６は、第４実施形態のマクロセル４１の構成を例示する平面図である。
【図１７】図１７は、第４実施形態のマクロセル４１に対応したマクロライブラリ１４のデータ構造を例示するブロック図である。
【図１８】図１８は、第５実施形態のマクロセル４１の構成を例示する平面図である。
【図１９】図１９は、第６実施形態のマクロセル４１の構成を例示する平面図である。
【符号の説明】
【００６５】
１…情報処理装置
２…入力装置
３…出力装置
４…ＣＰＵ
５…メモリ
６…大容量記憶装置
７…バス
８…半導体設計支援プログラム
９…ライブラリ作成プログラム
１０…半導体設計支援システム
１１…チップネットリスト
１２…チップタイミング情報
１３…チップレイアウト情報
１４…マクロライブラリ
２１…マクロネットリスト
２２…マクロタイミング情報
２３…マクロレイアウト情報
２４…クリティカルパス情報
３１…配置位置決定済セル情報
３２…セル配置位置相対座標情報
３３…配線位置決定済ネット情報
３４…配線位置相対座標情報
３５…配置位置未決定セル情報
３６…配線位置未決定ネット情報
３７…配線禁止領域情報
３８…シールド配線情報
３９…デカップリング容量情報
４１…マクロセル
４２…相対配置位置決定済領域
４３…機能ブロック
４４…プリミティブセル
４５…配線
４６…配置位置が決定していない機能ブロック
４７…配置位置が決定していないプリミティブセル
４８…配線位置未決定ネット
４９…Ｉ／Ｏセル
５１…レイアウト完了機能ブロック
５２…レイアウト完了プリミティブセル
５３…レイアウト完了配線
５４…配線禁止領域
５５…シールド配線
５６…電源配線
５７…グランド配線
５８…デカップリング容量
１０１…ＩＰモジュール
１０２…ハードマクロ部
１０３…ソフトマクロ部
１１０…ソフトマクロライブラリ
１１１…チップネットリスト
１１２…チップタイミング情報
１１３…チップレイアウト情報
【図１】
2009134439.tif 000003
【図２】
2009134439.tif 000004
【図３】
2009134439.tif 000005
【図４】
2009134439.tif 000006
【図５】
2009134439.tif 000007
【図６】
2009134439.tif 000008
【図７】
2009134439.tif 000009
【図８】
2009134439.tif 000010
【図９】
2009134439.tif 000011
【図１０】
2009134439.tif 000012
【図１１】
2009134439.tif 000013
【図１２】
2009134439.tif 000014
【図１３】
2009134439.tif 000015
【図１４】
2009134439.tif 000016
【図１５】
2009134439.tif 000017
【図１６】
2009134439.tif 000018
【図１７】
2009134439.tif 000019
【図１８】
2009134439.tif 000020
【図１９】
2009134439.tif 000021