(57)【要約】【課題】ハードマクロのレイアウト設計時に空き領域を削減して、ハードマクロのサイズを小さくすること。【解決手段】半導体集積回路のハードマクロのレイアウト設計方法において、コンピュータが、中継用セルを配置する領域を規定するとともに該中継用セルが有する入出力端子に相当する箇所を配線禁止領域として含むレイアウトセルをハードマクロ上に配置する工程と、前記ハードマクロを構成する機能ブロックを配置する工程と、前記配線禁止領域を回避しつつ前記機能ブロックに対する配線を配置する工程と、を含む。【選択図】図１
2011165689.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のハードマクロのレイアウト設計装置において、
中継用セルを配置する領域を規定するとともに該中継用セルが有する入出力端子に相当する箇所を配線禁止領域として含むレイアウトセルをハードマクロ上に配置するレイアウトセル配置部と、
前記ハードマクロを構成する機能ブロックを配置する機能ブロック配置部と、
前記配線禁止領域を回避しつつ前記機能ブロックに対する配線を配置する配線配置部と、を備えていることを特徴とするレイアウト設計装置。
【請求項２】
前記中継用セルは、配線長の増大による信号の劣化を防ぐためのセルであることを特徴とする、請求項１に記載のレイアウトセル設計装置。
【請求項３】
前記レイアウトセルの長辺の長さは前記中継用セルの長辺の長さ以上であって、前記レイアウトセルの短辺の長さは前記中継用セルの短辺の長さ以上であることを特徴とする、請求項１又は２に記載のレイアウトセル設計装置。
【請求項４】
前記レイアウトセルの長辺及び短辺は、いずれも前記中継用セルの長辺の長さ以上であることを特徴とする、請求項１又は２に記載のレイアウトセル設計装置。
【請求項５】
半導体集積回路のハードマクロのレイアウト設計方法において、
コンピュータが、中継用セルを配置する領域を規定するとともに該中継用セルが有する入出力端子に相当する箇所を配線禁止領域として含むレイアウトセルをハードマクロ上に配置する工程と、
前記ハードマクロを構成する機能ブロックを配置する工程と、
前記配線禁止領域を回避しつつ前記機能ブロックに対する配線を配置する工程と、を含むことを特徴とするレイアウト設計方法。
【請求項６】
半導体集積回路のハードマクロのレイアウト設計をコンピュータに実行させるプログラムであって、
コンピュータが、中継用セルを配置する領域を規定するとともに該中継用セルが有する入出力端子に相当する箇所を配線禁止領域として含むレイアウトセルをハードマクロ上に配置する処理と、
前記ハードマクロを構成する機能ブロックを配置する処理と、
前記配線禁止領域を回避しつつ前記機能ブロックに対する配線を配置する処理と、をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト設計装置、レイアウト設計方法及びプログラムに関し、特に、機能ブロックの配置領域を含むハードマクロのレイアウト設計装置、レイアウト設計方法及びプログラムに関する。
【背景技術】
【０００２】
大規模化が進む半導体集積回路のレイアウト設計において、製造コストを抑えるために、十分な配線領域を確保しつつチップ面積を削減することが求められている。一般に、半導体集積回路において各種の機能を実現するために、多数のハードマクロをチップに配置してレイアウト設計を行う。配線領域を確保するためには、マクロ上に信号配線を通過させる必要がある。しかし、マクロ上の通過配線長が長くなれば信号の波形なまりが大きくなり、ノイズの影響を受け易くなるとともに、遅延時間が長くなるという問題が生じる。
【０００３】
この問題は、中継用バッファ等のセルないしブロック（以下「リピータ」という。）を一定の配線長毎に挿入することで、解消することができる。しかし、ハードマクロ上にセル等を配置することは禁止されるため、マクロ上に信号配線を通過させる場合には、リピータを挿入することができない。そこで、半導体集積回路のレイアウト設計において、ハードマクロ上の配線領域を確保するとともに、波形なまりを回避する技術が求められる。
【０００４】
特許文献１に、半導体集積回路の設計方法が記載されている。図１２は、特許文献１に記載された半導体集積回路の設計方法を適用したマクロを一例として示すレイアウト図である。
【０００５】
図１２を参照すると、特許文献１に記載された設計方法によると、マクロ１を記述しているライブラリの記述におけるマクロ１内部の配置配線を禁止する領域である配置禁止領域情報の定義部分を、マクロ１内部の実際のブロック等が存在する使用領域を明示的に配置配線禁止領域９０３として記述し、マクロ１内部の実際のブロック等が存在しない内部未使用領域３を配置配線禁止領域９０３の反対論理である配置配線可能領域として特に記述することなく暗示的に定義し、配置配線の設計段階で配置配線ツールにマクロ１の内部の未使用領域３をマクロ１に所属する実際のブロック等以外の新規ブロックの配置領域として認識させる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２８９６９３号公報（図１）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明者によってなされたものである。
【０００８】
特許文献１に記載された設計方法によると、マクロ１内にマクロ１の素子や配線が存在しない未使用領域３が含まれるため、マクロ１を設計する際にマクロサイズが大きくなる。図１２を参照して、その理由について説明する。
【０００９】
図１２を参照すると、特許文献１に記載された設計方法を適用したマクロ１は、長方形ａｂｃｄで示されている。マクロ１の内部には、長方形ｅｆｇｈで囲まれた未使用領域３が含まれる。未使用領域３は、マクロ１を構成する素子及び配線が存在しない領域であり、マクロ１を用いて半導体チップ全体のレイアウト設計を行う場合には、マクロ１上を通過する配線用のリピータを配置することができる。
【００１０】
しかし、特許文献１に記載された設計方法によると、素子及び配線が存在しない未使用領域３を確保する必要があるため、マクロ１のサイズを大きくとらざるを得ない。さらに、マクロ１のレイアウト設計を行う際、未使用領域３を迂回する配線等が発生するため、配線性が悪化し、マクロサイズが大きくなる。
【００１１】
マクロ１上を通過する配線が増えるにしたがって、リピータなどの配置領域として大きな未使用領域３を確保しなければなないため、マクロサイズに対する影響も大きくなる。したがって、近年のように搭載されるハードマクロの個数が増えた場合には、半導体チップ全体の面積も著しく増大することになる。
【００１２】
そこで、ハードマクロのレイアウト設計時に空き領域を削減して、ハードマクロのサイズを小さくすることが課題となる。本発明の目的は、かかる課題を解決するレイアウト設計装置、レイアウト設計方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明の第１の視点に係るレイアウト設計装置は、
半導体集積回路のハードマクロのレイアウト設計装置において、
中継用セルを配置する領域を規定するとともに該中継用セルが有する入出力端子に相当する箇所を配線禁止領域として含むレイアウトセルをハードマクロ上に配置するレイアウトセル配置部と、
前記ハードマクロを構成する機能ブロックを配置する機能ブロック配置部と、
前記配線禁止領域を回避しつつ前記機能ブロックに対する配線を配置する配線配置部と、を備えている。
【００１４】
本発明の第２の視点に係るレイアウト設計方法は、
半導体集積回路のハードマクロのレイアウト設計方法において、
コンピュータが、中継用セルを配置する領域を規定するとともに該中継用セルが有する入出力端子に相当する箇所を配線禁止領域として含むレイアウトセルをハードマクロ上に配置する工程と、
前記ハードマクロを構成する機能ブロックを配置する工程と、
前記配線禁止領域を回避しつつ前記機能ブロックに対する配線を配置する工程と、を含む。
【００１５】
本発明の第３の視点に係るプログラムは、
半導体集積回路のハードマクロのレイアウト設計をコンピュータに実行させるプログラムであって、
コンピュータが、中継用セルを配置する領域を規定するとともに該中継用セルが有する入出力端子に相当する箇所を配線禁止領域として含むレイアウトセルをハードマクロ上に配置する処理と、
前記ハードマクロを構成する機能ブロックを配置する処理と、
前記配線禁止領域を回避しつつ前記機能ブロックに対する配線を配置する処理と、をコンピュータに実行させる。
【発明の効果】
【００１６】
本発明に係るレイアウト設計装置、レイアウト設計方法及びプログラムによると、ハードマクロのレイアウト設計時に空き領域を削減して、ハードマクロのサイズを小さくすることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係るレイアウト設計方法を示すフロー図である。
【図２】本発明の第１の実施形態に係るレイアウト設計方法の各工程を実行するコンピュータシステムの構成を示すブロック図である。
【図３】本発明の第１の実施形態に係るレイアウト設計方法における仮ブロックとリピータを一例として示す図である。
【図４】本発明の第１の実施形態に係るレイアウト設計方法における仮ブロック配置後のレイアウトデータを一例として示す図である。
【図５】本発明の第１の実施形態に係るレイアウト設計方法における電源配線後のレイアウトデータを一例として示す図である。
【図６】本発明の第１の実施形態に係るレイアウト設計方法における機能ブロック配置後のレイアウトデータを一例として示す図である。
【図７】本発明の第１の実施形態に係るレイアウト設計方法における信号配線後のレイアウトデータを一例として示す図である。
【図８】本発明の第１の実施形態に係るレイアウト設計方法における配線禁止レイアウトデータを一例として示す図である。
【図９】本発明の第１の実施形態に係るレイアウト設計方法における配置配線禁止レイアウト情報を一例として示す図である。
【図１０】本発明の第１の実施形態に係るレイアウト設計方法における配置配線禁止マージデータを一例として示す図である。
【図１１】本発明の第２の実施形態に係るレイアウト設計方法における仮ブロックとリピータとを一例として示す図である。
【図１２】特許文献１に記載された半導体集積回路の設計方法を適用したマクロを一例として示すレイアウト図である。
【発明を実施するための形態】
【００１８】
本発明の第１の展開形態によると、上記第１の視点に係るレイアウト設計装置が提供される。
【００１９】
本発明の第２の展開形態によると、前記中継用セルは、配線長の増大による信号の劣化を防ぐためのセルである、レイアウトセル設計装置が提供される。
【００２０】
本発明の第３の展開形態によると、前記レイアウトセルの長辺の長さは前記中継用セルの長辺の長さ以上であって、前記レイアウトセルの短辺の長さは前記中継用セルの短辺の長さ以上である、レイアウトセル設計装置が提供される。
【００２１】
本発明の第４の展開形態によると、前記レイアウトセルの長辺及び短辺は、いずれも前記中継用セルの長辺の長さ以上である、レイアウトセル設計装置が提供される。
【００２２】
本発明の第５の展開形態によると、上記第２の視点に係るレイアウト設計方法が提供される。
【００２３】
本発明の第６の展開形態によると、上記第３の視点に係るプログラムが提供される。
【００２４】
本発明の第７の展開形態によると、上記プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【００２５】
本発明に係るレイアウト設計装置、レイアウト設計方法及びプログラムによると、ハードマクロのレイアウト設計時に、中継用セル（リピータ）の配置領域内において中継用セルの入力端子及び出力端子の接続領域以外の領域を配線領域とすることができ、空き領域を削減するとともに配線性を向上させることにより、ハードマクロのサイズを小さくすることができる。
【００２６】
（実施形態１）
本発明の第１の実施形態に係るレイアウト設計方法について、図面を参照して説明する。本実施形態の半導体集積回路（例えばハードマクロ）のレイアウト設計方法は、コンピュータシステムによって実現することができる。
【００２７】
図２は、本実施形態のレイアウト設計方法の各工程を実行するためのコンピュータシステムの構成を一例として示すブロック図である。
【００２８】
図２を参照すると、コンピュータシステムは、ネットワーク２３を介して接続された、１又は２以上のコンピュータ２０とサーバ２１とを備えている。
【００２９】
サーバ２１は、記録媒体２２を有している。記録媒体２２は、レイアウト設計方法の各工程（図１の工程Ｓ１〜Ｓ８）をコンピュータに実行させるプログラムＦ１を格納している。
【００３０】
コンピュータ２０は、エンジニアリングワークステーションなどのコンピュータであって、ネットワーク２３は、ＬＡＮ、インターネット等のネットワーク２３を介して、サーバ２１に接続されている。
【００３１】
記録媒体２２は、プログラムＦ１以外に、図１に示すネットリストＦ２、レイアウトデータＦ３〜Ｆ７、Ｆ１０、レイアウト情報Ｆ８、マージデータＦ９を保持している。これらのプログラムＦ１ないしデータＦ２〜Ｆ１０は、ネットワーク２３を介してコンピュータ２０にダウンロードされる。ダウンロードされたプログラムＦ１は、コンピュータ２０のローカルなハードディスクないしメモリに格納されて実行される。
【００３２】
本実施形態に係るレイアウト設計方法について、さらに、図２〜図１０を参照して説明する。
【００３３】
図２に示すコンピュータ２０は、サーバ２１の記録媒体２２からプログラムＦ１をダウンロードし、レイアウト設計を開始し、ステップＳ１に進む。プログラムＦ１は、本実施形態に係るレイアウト設計方法の各工程をコンピュータに実行させるプログラムである。
【００３４】
なお、以下で説明する各ステップはコンピュータ２０とプログラムＦ１との協働によって実施され、各ステップにおいて、入力ないし出力されるネットリスト、レイアウトデータ、レイアウト情報Ｆ２〜Ｆ１０は、コンピュータ２０とサーバ２１の記録媒体２２との間でやり取りされる。
【００３５】
チップ設計時にマクロ上を通過する配線長が長くなることによる信号の劣化を防止するための中継用セル（リピータ）を配置する場所を確保するためのレイアウトセル（以下「仮ブロック」という）を、ハードマクロ内に配置したレイアウトデータ（仮ブロック配置後のレイアウトデータ）Ｆ３を生成する（ステップＳ１）。仮ブロックの配置は、例えば、チップ設計時にマクロ上を通過する配線長が長くなることによる信号の劣化を防止するために必要とされる中継用のリピータの個数によって当該配線を等分割にしたときの分割位置として、決定することができる。
【００３６】
図３は、仮ブロック２８とリピータ２７とを一例として示す。図３において、仮ブロック２８とリピータ２７とを並べて、サイズを比較できるようにしている。仮ブロック２８は、リピータ２７のサイズと同一又はそれより大きいサイズを有する。また、仮ブロック２８において、リピータ２７の入力端子４１及び出力端子４２に相当する位置をリピータ端子用配線格子３０と定義し、これらの入出力端子４１、４２との接続配線以外を配線する格子を配線格子２９として定義する。当該ハードマクロのレイアウト設計を実施する際、リピータ端子用配線格子３０は配線禁止領域であり、配線格子２９は配線可能領域である。
【００３７】
また、ここでは、仮ブロック２８は、電源用の接続端子の情報は有していないものとする。さらに、図３において、仮ブロック２８は、リピータ２７と同一のサイズとしているが仮ブロック２８のサイズは、リピータ２７のサイズ以上であればよい。
【００３８】
図４は、仮ブロック配置後のレイアウトデータＦ３を一例として示す図である。図４を参照すると、ハードマクロ３５の中心付近に、図３に示した仮ブロック２８が１つ配置されている。
【００３９】
次に、当該ハードマクロの電源配線を配置し、レイアウトデータＦ４を生成する（ステップＳ２）。
【００４０】
図５は、電源配線配置後のレイアウトデータＦ４を一例として示す図である。図５を参照すると、ステップＳ２で生成されたレイアウトデータＦ３に対し、電源配線を配置した結果が示されている。電源配線は、自動レイアウトで実施される。ハードマクロ３５に対して、一例として、４本の横方向の電源配線３８と、３本の縦方向の電源配線３９とが配置されている。しかし、仮ブロック２８は電源端子を有していないため、仮ブロック２８の領域には縦横のいずれの方向についても電源配線は配置されていない。
【００４１】
次に、当該ハードマクロを構成する機能ブロックを配置し、レイアウトデータＦ５を生成する（ステップＳ３）。
【００４２】
図６は、機能ブロック配置後のレイアウトデータＦ５を一例として示す図である。図６を参照すると、ステップＳ２で生成された電源配線配置後のレイアウトデータＦ４に対し、一例として、３個の機能ブロック４０が、仮ブロック２８と重ならないように自動レイアウトで配置された結果が示されている。
【００４３】
次に、ネットリストＦ２を入力として、ステップＳ３で配置された機能ブロック間の信号配線を配置し、レイアウトデータＦ６を生成する（ステップＳ４）。
【００４４】
図７は、信号配線配置後のレイアウトデータＦ６を一例として示す図である。図７を参照すると、ステップＳ３で生成したレイアウトデータＦ５に対し、３個の機能ブロック４０のブロック間の信号配線を自動レイアウトで配置した結果が示されている。このとき、機能ブロック４０間の信号配線３７は、仮ブロック２８上を通過する際、配線格子２９に沿って配線し、リピータ端子用配線格子３０には配線されない。
【００４５】
次に、ステップＳ４で生成されたレイアウトデータＦ６に基づいて、仮ブロック２８に配線禁止情報格子３１を生成し、配線禁止レイアウトデータＦ７を生成する（ステップＳ５）。配線禁止情報格子３１は、仮ブロック２８上を通過する信号配線３７と配線格子２９とが重なった位置に生成する。
【００４６】
図８は、配線禁止レイアウトデータＦ７を一例として示す図である。図８は、ステップＳ４で生成されたレイアウトデータＦ６のうちの仮ブロック２８が配置された領域を拡大して示している。図８を参照すると、仮ブロック２８上において、信号配線３７と配線格子２９とが重なった箇所に配線禁止情報格子３１が生成されている。
【００４７】
次に、ハードマクロ３５の全領域から仮ブロック２８の領域を削除した配置配線禁止領域５０を、配置配線禁止レイアウト情報Ｆ８として生成する（ステップＳ６）。
【００４８】
図９は、配置配線禁止レイアウト情報Ｆ８を一例として示す図である。図９を参照すると、ハードマクロ３５から中央に配置された仮ブロック２８の領域を削除し、残りの領域が配置配線禁止領域５０として生成されている。
【００４９】
次に、ステップＳ５で生成された配線禁止レイアウトデータＦ７と、ステップＳ６で生成された配置配線禁止レイアウトデータＦ８とをマージして、配置配線禁止マージデータＦ９を生成する（ステップＳ７）。
【００５０】
図１０は、配置配線禁止マージデータＦ９を一例として示す図である。図１０を参照すると、配置配線禁止マージデータＦ９は、配線禁止レイアウトデータＦ７の配線禁止情報格子３１（図８）と、配置配線禁止レイアウト情報Ｆ８の配置配線禁止領域５０（図９）とをマージしたデータであり、ハードマクロ３５から中央の仮ブロック２８を削除した領域に図８の配線禁止情報格子３１が配置され、ハードマクロ３５から仮ブロック２８を削除した領域が配置配線禁止領域５０である。
【００５１】
最後に、ハードマクロのレイアウトデータＦ１０を作成して（ステップＳ８）、ハードマクロの設計を終了する。
【００５２】
本実施形態のレイアウト設計方法においては、ハードマクロのレイアウト設計時に、仮ブロック２８を配置した後に、ハードマクロを構成する機能ブロック４０の配置とブロック間配線を実施することから、仮ブロック２８が配線禁止としているリピータ２７の入力端子及び出力端子領域以外を配線領域とすることができる。したがって、本実施形態のレイアウト設計方法によると、特許文献１に記載された設計方法において生じた全く配線されない未使用領域を無くすることができ、さらに配線性が向上することにより、ハードマクロのサイズを小さくすることができる。
【００５３】
（実施形態２）
本発明の第２の実施形態に係るレイアウト設計方法について、図面を参照して説明する。本実施形態のレイアウト設計方法と第１の実施形態のレイアウト設計方法との相違点は、本実施形態では、第１の実施形態における仮ブロック２８の各辺の長さを少なくともリピータの長辺以上とする点にある。
【００５４】
図１１は、本実施形態に係るレイアウト設計方法における仮ブロックとリピータとを一例として示す図である。図１１は、仮ブロック５１とリピータ２７とのサイズを比較して示すための図である。図１１は、仮ブロック５１と、向きを変えたリピータ２７とが示されている。
【００５５】
図１１を参照すると、仮ブロック５１の各辺の長さは、リピータ２７の長辺の長さＡ以上である。
【００５６】
本実施形態によると、仮ブロック５１によって生成されたリピータ２７の配置領域の縦と横の大きさがリピータ２７の長辺以上であるため、当該ハードマクロを用いてチップレイアウト設計を行う際に、リピータ２７を９０度回転して配置した場合においても、リピータを配置することができる。
【００５７】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００５８】
２０  コンピュータ
２１  サーバ
２２  記録媒体
２３  ネットワーク
２７  リピータ
２８、５１  仮ブロック
２９  配線格子
３０  リピータ端子用配線格子
３１  配線禁止情報格子
３５  ハードマクロ
３７  信号配線
３８、３９  電源配線
４０  機能ブロック
４１  入力端子
４２  出力端子
５０、９０３  配置配線禁止領域
１、１１Ａ〜１４Ａ  マクロ
２、３、２Ａ、３Ａ、３Ｅ、３Ｆ  未使用領域
１１〜１４  配置禁止領域
Ｆ１  プログラム
Ｆ２  ネットリスト
Ｆ３〜Ｆ７、Ｆ１０  レイアウトデータ
Ｆ８  レイアウト情報
Ｆ９  マージデータ
【図１】
2011165689.tif 000003
【図２】
2011165689.tif 000004
【図３】
2011165689.tif 000005
【図４】
2011165689.tif 000006
【図５】
2011165689.tif 000007
【図６】
2011165689.tif 000008
【図７】
2011165689.tif 000009
【図８】
2011165689.tif 000010
【図９】
2011165689.tif 000011
【図１０】
2011165689.tif 000012
【図１１】
2011165689.tif 000013
【図１２】
2011165689.tif 000014