(57)【要約】【課題】複数の階層ブロックが互いに重なり合うことを許容しつつレイアウト設計を行う際に、設計期間の長期化を防ぐこと。【解決手段】複数の内部要素をそれぞれ含む複数の階層ブロックを、内部要素を割り当て可能な内部要素リソースが配置された実装領域に対してレイアウトする場合に、第１の階層ブロックと第２の階層ブロックとが重複領域において重なり合うとき、第１の階層ブロックの内部要素のうちの重複領域に含まれる第１の内部要素の個数と、第２の階層ブロックの内部要素のうちの重複領域に含まれる第２の内部要素の個数との合計が、重複領域に含まれる内部要素リソースの個数以下となるように、第１の階層ブロックおよび第２の階層ブロックを配置し、第１の内部要素の個数と第２の内部要素の個数との比に応じて、重複領域に含まれる内部要素リソースを、第１の階層ブロックと第２の階層ブロックに割り当てる。【選択図】図１
2013054567.tif 000002
【特許請求の範囲】
【請求項１】
複数の内部要素をそれぞれ含む複数の階層ブロックを、内部要素を割り当て可能な内部要素リソースが配置された実装領域に対して、互いに重なり合うことを許容しつつレイアウトするレイアウト方法であって、
第１の階層ブロックと第２の階層ブロックとが重複領域において重なり合う場合に、該第１の階層ブロックの内部要素のうちの該重複領域に含まれる第１の内部要素の個数と、該第２の階層ブロックの内部要素のうちの該重複領域に含まれる第２の内部要素の個数との合計が、該重複領域に含まれる内部要素リソースの個数以下となるように、該第１の階層ブロックおよび該第２の階層ブロックを配置する配置工程と、
前記第１の内部要素の個数と前記第２の内部要素の個数との比に応じて、前記重複領域に含まれる内部要素リソースを、前記第１の階層ブロックと前記第２の階層ブロックに割り当てる割り当て工程と、を含むことを特徴とするレイアウト方法。
【請求項２】
前記内部要素は、配置要素と配線要素を含み、
前記内部要素リソースは、前記配置要素を割り当て可能な配置リソースと、前記配線要素を割り当て可能な配線リソースを含むことを特徴とする、請求項１に記載のレイアウト方法。
【請求項３】
前記配置工程において、前記第１の階層ブロックの配置要素のうちの前記重複領域に含まれる第１の配置要素の個数と、前記第２の階層ブロックの配置要素のうちの前記重複領域に含まれる第２の配置要素の個数との合計が、前記重複領域に含まれる配置リソースの個数以下となるようにするとともに、前記第１の階層ブロックの配線要素のうちの前記重複領域に含まれる第１の配線要素の個数と、前記第２の階層ブロックの配線要素のうちの前記重複領域に含まれる第２の配線要素の個数との合計が、前記重複領域に含まれる配線リソースの個数以下となるように、前記第１の階層ブロックおよび前記第２の階層ブロックを配置することを特徴とする、請求項２に記載のレイアウト方法。
【請求項４】
前記割り当て工程において、前記第１の配置要素の個数と前記第２の配置要素の個数との比に応じて、前記重複領域に含まれる配置リソースを前記第１の階層ブロックと前記第２の階層ブロックに割り当てるとともに、前記第１の配線要素の個数と前記第２の配線要素の個数との比に応じて、前記重複領域に含まれる配線リソースを前記第１の階層ブロックと前記第２の階層ブロックに割り当てることを特徴とする、請求項３に記載のレイアウト方法。
【請求項５】
前記割り当て工程において、前記第１の階層ブロックに割り当てられた配置リソースと前記第２の階層ブロックに割り当てられた配置リソースとの比が、前記重複領域の各部において均一となるように、前記重複領域に含まれる配置リソースを前記第１の階層ブロックと前記第２の階層ブロックに割り当てることを特徴とする、請求項４に記載のレイアウト方法。
【請求項６】
前記割り当て工程において、前記第１の階層ブロックに割り当てられた配線リソースと前記第２の階層ブロックに割り当てられた配線リソースとの比が、前記重複領域の各部において均一となるように、前記重複領域に含まれる配線リソースを前記第１の階層ブロックと前記第２の階層ブロックに割り当てることを特徴とする、請求項４または５に記載のレイアウト方法。
【請求項７】
複数の内部要素をそれぞれ含む複数の階層ブロックを、内部要素を割り当て可能な内部要素リソースが配置された実装領域に対して、互いに重なり合うことを許容しつつレイアウトするレイアウト装置であって、
第１の階層ブロックと第２の階層ブロックとが重複領域において重なり合う場合に、該第１の階層ブロックの内部要素のうちの該重複領域に含まれる第１の内部要素の個数と、該第２の階層ブロックの内部要素のうちの該重複領域に含まれる第２の内部要素の個数との合計が、該重複領域に含まれる内部要素リソースの個数以下となるように、該第１の階層ブロックおよび該第２の階層ブロックを配置する配置部と、
前記第１の内部要素の個数と前記第２の内部要素の個数との比を算出する重なり情報抽出部と、
前記重複領域に含まれる内部要素リソースを、前記比に応じて前記第１の階層ブロックと前記第２の階層ブロックに割り当てるリソース分割部と、を備えることを特徴とするレイアウト装置。
【請求項８】
前記内部要素は、配置要素と配線要素を含み、
前記内部要素リソースは、前記配置要素を割り当て可能な配置リソースと、前記配線要素を割り当て可能な配線リソースを含むことを特徴とする、請求項７に記載のレイアウト装置。
【請求項９】
前記配置部は、前記第１の階層ブロックの配置要素のうちの前記重複領域に含まれる第１の配置要素の個数と、前記第２の階層ブロックの配置要素のうちの前記重複領域に含まれる第２の配置要素の個数との合計が、前記重複領域に含まれる配置リソースの個数以下となるようにするとともに、前記第１の階層ブロックの配線要素のうちの前記重複領域に含まれる第１の配線要素の個数と、前記第２の階層ブロックの配線要素のうちの前記重複領域に含まれる第２の配線要素の個数との合計が、前記重複領域に含まれる配線リソースの個数以下となるように、前記第１の階層ブロックおよび前記第２の階層ブロックを配置することを特徴とする、請求項８に記載のレイアウト装置。
【請求項１０】
前記重なり情報抽出部は、前記第１の配置要素の個数と前記第２の配置要素の個数との比を第１の比として算出するとともに、前記第１の配線要素の個数と前記第２の配線要素の個数との比を第２の比として算出し、
前記リソース分割部は、前記重複領域に含まれる配置リソースを、前記第１の比に応じて前記第１の階層ブロックと前記第２の階層ブロックに割り当てるとともに、前記重複領域に含まれる配線リソースを、前記第２の比に応じて前記第１の階層ブロックと前記第２の階層ブロックに割り当てることを特徴とする、請求項９に記載のレイアウト装置。
【請求項１１】
複数の内部要素をそれぞれ含む複数の階層ブロックを、内部要素を割り当て可能な内部要素リソースが配置された実装領域に対して、互いに重なり合うことを許容しつつレイアウトする処理をコンピュータに実行させるプログラムであって、
第１の階層ブロックと第２の階層ブロックとが重複領域において重なり合う場合に、該第１の階層ブロックの内部要素のうちの該重複領域に含まれる第１の内部要素の個数と、該第２の階層ブロックの内部要素のうちの該重複領域に含まれる第２の内部要素の個数との合計が、該重複領域に含まれる内部要素リソースの個数以下となるように、該第１の階層ブロックおよび該第２の階層ブロックを配置する処理と、
前記第１の内部要素の個数と前記第２の内部要素の個数との比に応じて、前記重複領域に含まれる内部要素リソースを、前記第１の階層ブロックと前記第２の階層ブロックに割り当てる割り当て処理と、をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト方法、レイアウト装置およびプログラムに関し、特に、機能毎に分割された複数の階層ブロックを有する半導体集積回路の階層レイアウト設計を行うレイアウト方法、レイアウト装置およびプログラムに関する。
【背景技術】
【０００２】
大規模な半導体集積回路のレイアウト設計において、回路全体を一括でレイアウト設計すると、一つの装置で取り扱う回路の量が膨大となり、設計期間が長くなるという問題がある。近年、この問題を解決する方法として、階層レイアウト設計を行うことが主流となっている。
【０００３】
一般的な階層レイアウト設計では、分割して扱う階層ブロックの配置領域が重複した場合に、階層ブロック内に含まれるインスタンスと配線から成る内部要素の物理的な重複を解消するために、少なくともいずれか一つの内部要素の位置を変更する必要がある。かかる変更によって、タイミング制約違反またはデザインルール違反が発生し、タイミング制約違反またはデザインルール違反を解決する工程分だけ設計期間が長くなる。したがって、設計期間全体を短縮する要求がある。
【０００４】
例えば、特許文献１に、効率良くフロアプランを設計するためのフロアプラン装置が記載されている。特許文献１に記載されたフロアプラン装置は、内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行なうフロアプラン装置であって、複数の配置対象ブロックのうちの少なくとも２つの配置対象ブロックが互いに重なり合って重複領域（コモンエリア）を形成するように、複数の配置対象ブロックを実装領域上に仮配置する仮配置部と、重複領域を形成する配置対象ブロックのうちの少なくとも１つの配置対象ブロックの内部要素を、重複領域を使用しながら配置変更することにより、配置対象ブロックを最適化する最適化部とを備えている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４２２１０４５号公報（図１、図２７）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は、本発明者によってなされたものである。
【０００７】
特許文献１に記載されたフロアプラン装置１に基づいて、階層レイアウト設計を行なうと、論理回路全体（半導体集積回路）のレイアウトに必要となる設計期間が長くなるという問題がある。
【０００８】
その理由は、次のとおりである。特許文献１に記載されたフロアプラン装置１による階層レイアウト設計において、コモンエリア内の内部要素の物理的な干渉を解決するためには、少なくとも一つの内部要素の位置を変更する必要がある。しかしながら、内部要素の位置変更に起因して設計制約違反が発生するための修正工程が必要となり、全体の設計期間が長くなってしまうからである。
【０００９】
内部要素が階層ブロック内のインスタンスである場合には、インスタンスの位置を変更することにより、インスタンスに接続される配線の配線長および負荷容量が変動する。ここで、設計制約は、セットアップタイミングおよびホールドタイミングを含むタイミング制約と、シグナルインテグリティを含むデザインルールから成り、配線長および負荷容量に依存している。したがって、位置変更前の設計制約に設計マージンが存在しない場合には、配線長および負荷容量の変動により、設計制約の違反が発生する。このとき、配線に対するインスタンスの追加、インスタンスの削減、インスタンスの移動とインスタンスの駆動能力変更等の修正を、設計制約違反が収束するまで継続的に実施しなければならなくなる。ゆえに、設計期間が長くなってしまう。
【００１０】
一方、内部要素が階層ブロック内の配線である場合には、配線の位置を変更することによりインスタンスに接続される配線の配線長および負荷容量が変動する。したがって、内部要素が階層ブロック内のインスタンスである場合と同様に、設計期間が長くなってしまう。
【００１１】
そこで、複数の階層ブロックが互いに重なり合うことを許容しつつレイアウト設計を行う際に、設計期間の長期化を防ぐことが課題となる。
【課題を解決するための手段】
【００１２】
本発明の第１の視点に係るレイアウト方法は、
複数の内部要素をそれぞれ含む複数の階層ブロックを、内部要素を割り当て可能な内部要素リソースが配置された実装領域に対して、互いに重なり合うことを許容しつつレイアウトするレイアウト方法であって、
第１の階層ブロックと第２の階層ブロックとが重複領域において重なり合う場合に、該第１の階層ブロックの内部要素のうちの該重複領域に含まれる第１の内部要素の個数と、該第２の階層ブロックの内部要素のうちの該重複領域に含まれる第２の内部要素の個数との合計が、該重複領域に含まれる内部要素リソースの個数以下となるように、該第１の階層ブロックおよび該第２の階層ブロックを配置する配置工程と、
前記第１の内部要素の個数と前記第２の内部要素の個数との比に応じて、前記重複領域に含まれる内部要素リソースを、前記第１の階層ブロックと前記第２の階層ブロックに割り当てる割り当て工程と、を含む。
【００１３】
本発明の第２の視点に係るレイアウト装置は、
複数の内部要素をそれぞれ含む複数の階層ブロックを、内部要素を割り当て可能な内部要素リソースが配置された実装領域に対して、互いに重なり合うことを許容しつつレイアウトするレイアウト装置であって、
第１の階層ブロックと第２の階層ブロックとが重複領域において重なり合う場合に、該第１の階層ブロックの内部要素のうちの該重複領域に含まれる第１の内部要素の個数と、該第２の階層ブロックの内部要素のうちの該重複領域に含まれる第２の内部要素の個数との合計が、該重複領域に含まれる内部要素リソースの個数以下となるように、該第１の階層ブロックおよび該第２の階層ブロックを配置する配置部と、
前記第１の内部要素の個数と前記第２の内部要素の個数との比を算出する重なり情報抽出部と、
前記重複領域に含まれる内部要素リソースを、前記比に応じて前記第１の階層ブロックと前記第２の階層ブロックに割り当てるリソース分割部と、を備える。
【００１４】
本発明の第３の視点に係るプログラムは、
複数の内部要素をそれぞれ含む複数の階層ブロックを、内部要素を割り当て可能な内部要素リソースが配置された実装領域に対して、互いに重なり合うことを許容しつつレイアウトする処理をコンピュータに実行させるプログラムであって、
第１の階層ブロックと第２の階層ブロックとが重複領域において重なり合う場合に、該第１の階層ブロックの内部要素のうちの該重複領域に含まれる第１の内部要素の個数と、該第２の階層ブロックの内部要素のうちの該重複領域に含まれる第２の内部要素の個数との合計が、該重複領域に含まれる内部要素リソースの個数以下となるように、該第１の階層ブロックおよび該第２の階層ブロックを配置する処理と、
前記第１の内部要素の個数と前記第２の内部要素の個数との比に応じて、前記重複領域に含まれる内部要素リソースを、前記第１の階層ブロックと前記第２の階層ブロックに割り当てる割り当て処理と、をコンピュータに実行させる。
【発明の効果】
【００１５】
本発明に係るレイアウト装置、レイアウト方法およびプログラムによると、複数の階層ブロックが互いに重なり合うことを許容しつつレイアウト設計を行う際に、設計期間の長期化を防ぐことが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明に係るレイアウト方法を一例として示すフローチャートである。
【図２】本発明に係るレイアウト装置の概略構成を一例として示すブロック図である。
【図３】実施形態に係るレイアウト装置の構成を一例として示すブロック図である。
【図４】実施形態に係るレイアウト装置による階層ブロックの領域を分割したことを示す模式図である。
【図５】実施形態に係るレイアウト装置による階層ブロックの分割領域ごとの配置数と配線数を示す模式図である。
【図６】実施形態に係るレイアウト装置によって複数の階層ブロックの位置を変更して、互いの一部の分割領域を重ねた重複領域を示す模式図である。
【図７】実施形態に係るレイアウト装置による階層ブロックＢＬＫ＿Ａと階層ブロックＢＬＫ＿Ｂの一部領域を重ねて配置し、重複領域ＯＶＥＲ＿ＡＲＥＡ＿０１を発生させた模式図である。
【図８】実施形態に係るレイアウト装置による任意の領域の内部要素リソースをＲＯＷとＴＲＡＣＫの集合体として表した模式図である。
【図９】実施形態に係るレイアウト装置の動作を一例として示すフローチャートである。
【発明を実施するための形態】
【００１７】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
図１を参照すると、本発明に係るレイアウト方法は、複数の内部要素をそれぞれ含む複数の階層ブロックを、内部要素を割り当て可能な内部要素リソースが配置された実装領域に対して、互いに重なり合うことを許容しつつレイアウトするレイアウト方法であって、第１の階層ブロックと第２の階層ブロックとが重複領域において重なり合う場合に、第１の階層ブロックの内部要素のうちの重複領域に含まれる第１の内部要素の個数と、第２の階層ブロックの内部要素のうちの重複領域に含まれる第２の内部要素の個数との合計が、重複領域に含まれる内部要素リソースの個数以下となるように、第１の階層ブロックおよび第２の階層ブロックを配置する配置工程（ステップＳ１１）と、第１の内部要素の個数と第２の内部要素の個数との比に応じて、重複領域に含まれる内部要素リソースを、第１の階層ブロックと第２の階層ブロックに割り当てる割り当て工程（ステップＳ１２）と、を含む。ここで、内部要素とは、半導体装置を論理的に構成する回路、配線等の要素をいい、内部要素リソースとは、半導体装置の実装基板上において、これらの回路、配線等を実装するための物理的なリソース（資源）をいう。
【００１９】
内部要素は配置要素と配線要素を含み、内部要素リソースは、配置要素を割り当て可能な配置リソースと、配線要素を割り当て可能な配線リソースを含んでいてもよい。このとき、配置工程（ステップＳ１１）において、第１の階層ブロックの配置要素のうちの重複領域に含まれる第１の配置要素の個数と、第２の階層ブロックの配置要素のうちの重複領域に含まれる第２の配置要素の個数との合計が、重複領域に含まれる配置リソースの個数以下となるようにするとともに、第１の階層ブロックの配線要素のうちの重複領域に含まれる第１の配線要素の個数と、第２の階層ブロックの配線要素のうちの重複領域に含まれる第２の配線要素の個数との合計が、重複領域に含まれる配線リソースの個数以下となるように、第１の階層ブロックおよび前記第２の階層ブロックを配置することが好ましい。また、割り当て工程（ステップＳ１２）において、第１の配置要素の個数と第２の配置要素の個数との比に応じて、重複領域に含まれる配置リソースを第１の階層ブロックと第２の階層ブロックに割り当てるとともに、第１の配線要素の個数と第２の配線要素の個数との比に応じて、重複領域に含まれる配線リソースを第１の階層ブロックと第２の階層ブロックに割り当てることが好ましい。
【００２０】
また、割り当て工程（ステップＳ１２）において、第１の階層ブロックに割り当てられた配置リソースと第２の階層ブロックに割り当てられた配置リソースとの比が、重複領域の各部において均一となるように、重複領域に含まれる配置リソースを第１の階層ブロックと第２の階層ブロックに割り当てることが好ましい。さらに、割り当て工程（ステップＳ１２）において、第１の階層ブロックに割り当てられた配線リソースと第２の階層ブロックに割り当てられた配線リソースとの比が、重複領域の各部において均一となるように、重複領域に含まれる配線リソースを第１の階層ブロックと第２の階層ブロックに割り当てることが好ましい。
【００２１】
図２を参照すると、本発明に係るレイアウト装置（１０）は、複数の内部要素をそれぞれ含む複数の階層ブロックを、内部要素を割り当て可能な内部要素リソースが配置された実装領域に対して、互いに重なり合うことを許容しつつレイアウトするレイアウト装置であって、第１の階層ブロックと第２の階層ブロックとが重複領域において重なり合う場合に、第１の階層ブロックの内部要素のうちの重複領域に含まれる第１の内部要素の個数と、第２の階層ブロックの内部要素のうちの重複領域に含まれる第２の内部要素の個数との合計が、重複領域に含まれる内部要素リソースの個数以下となるように、第１の階層ブロックおよび第２の階層ブロックを配置する配置部（１３）と、第１の内部要素の個数と前記第２の内部要素の個数との比を算出する重なり情報抽出部（１４）と、重複領域に含まれる内部要素リソースを、前記比に応じて第１の階層ブロックと第２の階層ブロックに割り当てるリソース分割部（１５）と、を備える。
【００２２】
また、図３を参照すると、レイアウト装置（９９）は、機能毎に分割された複数の階層ブロックから構成される半導体集積回路のレイアウト装置であって、少なくとも２つ以上の階層ブロックが互いに重なりあって重複領域を形成するように階層ブロックを配置する配置部（１３０）と、重複領域を領域の一部に含む階層ブロックの内部要素の配置配線混載率を算出して重なり情報として出力する重なり情報抽出部（１４０）と、前記重なり情報より重複領域の配置リソースと配線リソースを分割するリソース分割部（１５０）とを有し、配置部（１３０）は、複数の階層ブロックの互いの一部の分割領域を重ねて重複領域を発生させ、重複領域の内部要素リソースの総数と重複領域内の全内部要素数の総数を算出して内部要素リソースの総数が全内部要素数を上回るように重複領域の位置を調整し、重なり情報抽出部（１４０）は、重複領域を形成した際の分割領域内の内部要素数から抽出した内部要素混載率を重なり情報として出力し、リソース分割部（１５０）は、重複領域に対して重なり情報に記述されている内部要素混載率に従ってリソース分割するようにしてもよい。
【００２３】
本発明に係るレイアウト方法、レイアウト装置およびプログラムによると、内部要素の干渉を防ぎ、内部要素の位置変更に起因する設計制約違反を修正する期間の増加を抑制することができる。したがって、本発明に係るレイアウト装置、レイアウト方法およびプログラムによると、複数の階層ブロックが互いに重なり合うことを許容しつつレイアウト設計を行う際に、設計期間の長期化を防ぐことが可能となる。
【００２４】
（実施形態）
実施形態に係るレイアウト装置について、図面を参照して説明する。図３は、本実施形態に係るレイアウト装置９９の構成を一例として示すブロック図である。図３を参照すると、レイアウト装置９９は、データベース２、表示部３、表示制御部４、入力部５、フロアプラン部１００、配置配線部２００、および、重なり情報ファイル３００を備えている。
【００２５】
データベース２は、分割階層設計によって設計された配置対象物に関するデータ（配置対象物情報）やフロアプラン対象としている半導体集積回路のネットリスト等を保持する。ここで、配置対象物情報は、少なくとも、設計対象の半導体集積回路における配置対象物の寸法、形状、他の配置対象物等との接続関係に関する情報や、当該配置対象物の内部要素に関する情報（内部要素の数量、種類、寸法、接続関係等）を含む。
【００２６】
表示部３は、フロアプラン部１００および配置配線部２００による配置対象物の配置処理と配線処理にかかる情報やフロアプラン部１００によって出力された重なり情報ファイル３００の内容を表示する。
【００２７】
表示制御部４は、表示部３の表示内容を制御する。
【００２８】
入力部５は、レイアウト装置９９のユーザが、フロアプラン部１００と、配置配線部２００に対して条件を入力するためのものである。
【００２９】
フロアプラン部１００は、内部要素概略配置部１１０、内部要素概略配線部１２０、配置部１３０、重なり情報抽出部１４０、および、リソース分割部１５０を備えている。
【００３０】
内部要素概略配置部１１０は、階層ブロック毎に内部要素の概略配置を行い、タイミング制約とデザインルールで構成される設計制約を緩和した状態での配置を行う。設計完了時点で満たすべき設計制約に従うことなく配置を行うことで、内部要素概略配置部１１０によると、設計制約を満たすように配置する場合と比較して、非常に短い処理時間で配置を行うことができる。
【００３１】
内部要素概略配線部１２０は、階層ブロック毎に内部要素の概略配線を行い、タイミング制約とデザインルールで構成される設計制約を緩和した状態での配線をすることができ、設計完了時点で満たされているべき設計制約を満たさずに配線して良いために、設計制約を満たして配線する場合と比較して処理時間が非常に短い。
【００３２】
配置部１３０は、複数の階層ブロックの少なくとも２つ以上が互いに重なり合って重複領域を形成するように前記階層ブロックを実装領域上に配置する。このとき、配置部１３０は、重複領域内に含まれるすべての階層ブロックの配置数の合計値が重複領域の配置リソースの合計値を下回り、かつ、重複領域内に含まれるすべての階層ブロックの配線数の合計値が重複領域の配線リソースの合計値を下回るように重複領域を形成する。
【００３３】
配置リソースとは、任意の領域において最小単位のインスタンスが配置可能な予約領域であり、任意の領域内のあらゆる位置は、必ずいずれかの配置リソースを有しているので、前記領域は配置リソースの集合体として表現することができ、例えば、任意の領域が１００個の配置リソースの集合体である場合、当該領域には、最小単位のインスタンスが最大で１００個配置可能であることを表している。
【００３４】
また、配線リソースとは、任意の領域において最小単位の配線が配置可能な予約領域であり、任意の領域内のあらゆる位置は、必ずいずれかの配線リソースを有しているので、前記領域は、配線リソースの集合体として表現することができ、例えば、任意の領域が１００個の配線リソースの集合体である場合に当該領域には、最小単位の配線が最大で１００個配置可能であることを表している。
【００３５】
重なり情報抽出部１４０は、配置部１３０で発生させた重複領域を認識し、重なり情報を抽出し、重なり情報ファイル３００に出力する。
【００３６】
リソース分割部１５０は、重なり情報抽出部１４０で抽出した重なり情報ファイル３００を入力として、各階層ブロック内の重複領域の内部要素リソースを分割し、リソース分割された情報を、データベース２に保存する。
【００３７】
配置配線部２００は、内部要素配置部２１０および内部要素配線部２２０を備えている。
【００３８】
内部要素配置部２１０は、各階層ブロック内の内部要素の配置を、タイミング制約とデザインルールから成る設計制約を守るように実施する。内部要素配置部２１０は、リソース分割部１５０で分割されてデータベース２に保存された内部要素リソースの情報に従って、配置を実施する。
【００３９】
内部要素配線部２２０は、各階層ブロック内の内部要素の配線を、タイミング制約とデザインルールから成る設計制約を守るように実施する。内部要素配線部２２０は、リソース分割部１５０で分割されてデータベース２に保存された内部要素リソースの情報に従って、配線を実施する。
【００４０】
図８は、レイアウト装置９９による重なり情報ファイル３００のフォーマットを示す模式図であり、記載情報は図７の本発明のレイアウト装置９９による階層ブロックＢＬＫ＿Ａと階層ブロックＢＬＫ＿Ｂの一部領域を重ねて配置し、重複領域ＯＶＥＲ＿ＡＲＥＡ＿０１を発生させた模式図の重なり情報ファイル３００の一例である。
【００４１】
図８は、重複領域の名称と、重複領域の位置と、重複領域を領域の一部に含む階層ブロックの階層ブロック名と、重複領域内のすべての階層ブロックの内部要素の混載率とを含む。
【００４２】
重複領域の名称は、複数の重複領域を個々に区別できるようにユーザが入力部５を用いて任意に指定する。
【００４３】
重複領域の位置は、実装領域上の座標を用いて重複領域の頂点の座標で表し、重複領域の位置、重複領域を領域の一部に含む階層ブロックの階層ブロック名、重複領域内のすべての階層ブロックの内部要素の混載率を前記重複領域の位置に合わせてそれぞれ記載する。
【００４４】
重複領域を領域の一部に含む階層ブロックの階層ブロック名は、重複領域の名称毎に記載する。
【００４５】
内部要素混載率は、階層ブロック名とその階層ブロックの内部要素が、重複領域内のすべての内部要素に対して占める割合として配置と配線の混載率を個別に記載する。
【００４６】
図９は、レイアウト装置９９の動作を一例として示すフローチャートである。
【００４７】
内部要素概略配置部１１０は、対象の半導体集積回路が有するすべての階層ブロックの内部要素の概略配置を実施し、概略配置結果をデータベース２に保存する（ステップＳ１０１）。
【００４８】
内部要素概略配線部１２０は、対象の半導体集積回路が有するすべての階層ブロックの内部要素の概略配線を実施し、概略配線結果をデータベース２に保存する（ステップＳ１０２）。
【００４９】
配置部１３０は、階層ブロックの少なくとも２つ以上が互いに重なり合って配置されるよう、重複領域内に含まれるすべての階層ブロックの内部要素数の合計値が、前記重複領域の内部要素リソースの合計値を下回るように階層ブロックの配置を実施する（ステップＳ１０３）。配置時の内部要素数は、ステップＳ１０１およびＳ１０２によりデータベース２に保存された概略配置結果と概略配線結果を用いて決定され、概略配置と概略配線が実行された各階層ブロックのすべての領域を任意の大きさで分割（例えば、分割の大きさおよび分割数は、ユーザが入力部５より任意に設定）する。
【００５０】
重なり情報抽出部１４０は、ステップＳ１０３で生成された重複領域における重なり情報を抽出し、重なり情報ファイル３００に出力する（ステップＳ１０４）。
【００５１】
リソース分割部１５０は、ステップＳ１０４で出力された重なり情報ファイル３００を入力として、重複領域内の全内部要素リソースを抽出し、内部要素リソースを各階層ブロックの内部要素混載率に応じて分割することにより重複領域のリソース分割を行い、データベース２にリソース分割情報として保存する（ステップＳ１０５）。
【００５２】
内部要素配置部２１０は、対象の半導体集積回路が有するすべての階層ブロックの内部要素の配置をデータベース２に保存された重複領域のリソース分割結果を用いて実施する（ステップＳ１０６）。
【００５３】
内部要素配線部２２０は、対象の半導体集積回路が有するすべての階層ブロックの内部要素の配線をデータベース２に保存された重複領域のリソース分割結果を用いて実施する（ステップＳ１０７）。
【実施例】
【００５４】
上記実施形態に係るレイアウト装置９９の動作について、図面を参照しつつ、具体的な実施例に基づいて説明する。
【００５５】
図４（ａ）は、ステップＳ１０３において、階層ブロックＡの領域を５行５列の２５個の分割領域に分割した場合を示す。また、図４（ｂ）は、階層ブロックＢの領域を５行５列の２５個の分割領域に分割した場合を示す。ここでは、一例として、分割した個々の分割領域内の配置リソースを１０とし、配線リソースを１０とする。次に、分割した領域内の内部要素数を算出する。このとき、領域内の配置と配線の数を抽出すればよいため、物理的位置は必要とされない。
【００５６】
図５（ａ）は、ステップＳ１０３における、階層ブロックＡの分割領域ごとの配置数と配線数を表す。また、図５（ｂ）は、階層ブロックＢの分割領域ごとの配置数と配線数を表す。図５（ａ）において、例えば、分割領域内に「９／１」と表記されている場合には、分割領域には配置が９個、配線が１個存在していることを示している。次に、配置部１３０は、階層ブロックＡと階層ブロックＢの互いの一部の分割領域を重ねて、重複領域を発生させる。このとき、配置部１３０は重複領域の内部要素リソースの総数と重複領域内の全内部要素数の総数を算出し、内部要素リソースの総数が全内部要素数を上回るように重複領域の位置を調整する。
【００５７】
図６（ａ）は、ステップＳ１０３における、階層ブロックＡの領域および分割領域毎の内部要素数を表す。また、図６（ｂ）は、階層ブロックＢの領域および分割領域毎の内部要素数を表す。さらに、図６（ｃ）は、前記階層ブロックＡと前記階層ブロックＢの位置を変更して、互いの一部の分割領域を重ねて重複領域を発生させたことを表す。図６（ａ）〜図６（ｃ）の斜線部は、重複領域が発生する際に重複領域となる領域を示している。
【００５８】
図６（ｃ）は、階層ブロックＡと階層ブロックＢそれぞれの３×３＝９個の分割領域を重ねており、当該重複領域の内部要素の総リソース数は１０×９＝９０である。一方、当該重複領域内のすべての分割領域に含まれる内部要素を合計すると、配置の総数は８９個であり、配線の総数は８３個である。したがって、配置も配線も、内部要素の総リソース数よりも少ない。
【００５９】
図７は、ステップＳ１０３において、レイアウト装置９９により、階層ブロックＢＬＫ＿Ａと階層ブロックＢＬＫ＿Ｂの一部領域を重ねて配置し、重複領域ＯＶＥＲ＿ＡＲＥＡ＿０１を発生させた例を示す。
【００６０】
重複領域ＯＶＥＲ＿ＡＲＥＡ＿０１の位置は、各頂点の座標である（Ｘ１、Ｙ１）と（Ｘ２、Ｙ２）と（Ｘ３、Ｙ３）と（Ｘ４、Ｙ４）で一意に表現される。なお、重複領域が多角形等の複雑な形状となる場合であっても、すべての頂点の座標を用いて重複領域の位置を表現することができる。
【００６１】
重複領域を領域の一部に含む階層ブロックを、階層ブロックＢＬＫ＿ＡおよびＢＬＫ＿Ｂとする。
【００６２】
ステップＳ１０４において、内部要素混載率は、重なり情報抽出部１４０において重複領域を形成した際の分割領域内の内部要素数から抽出される。図４に与えられた数値について、具体的に混載率を計算すると、配置に関しては階層ブロックＢＬＫ＿Ａが７０／８９、階層ブロックＢＬＫ＿Ｂが１９／８９、配線に関しては階層ブロックＢＬＫ＿Ａが２７／８３、階層ブロックＢＬＫ＿Ｂが５６／８３となる。ここでは、説明の簡単化のために、重複領域ＯＶＥＲ＿ＡＲＥＡ＿０１において、配置に関しては階層ブロックＢＬＫ＿Ａが６０％、階層ブロックＢＬＫ＿Ｂが４０％、配線に関しては階層ブロックＢＬＫ＿Ａが４０％、階層ブロックＢＬＫ＿Ｂが６０％であると仮定する。
【００６３】
ステップＳ１０５において、重複領域ＯＶＥＲ＿ＡＲＥＡ＿０１のすべての内部要素リソースに対して、すべての配置リソースを、階層ブロックＢＬＫ＿Ａ用配置リソースが６０％、階層ブロックＢＬＫ＿Ｂ用配置リソースが４０％となるように分割する。次に、すべての配線リソースを、階層ブロックＢＬＫ＿Ａ用配線リソースが４０％、ＢＬＫ＿Ｂ用配線リソースが６０％となるように分割する。
【００６４】
図８は、ステップＳ１０５において、任意の重複領域の内部要素リソースに対して、配置領域をＲＯＷの集合体として表し、配線リソースをＴＲＡＣＫの集合体として表した例である。ステップＳ１０６において、内部要素配置部２１０が配置処理を行う際は、ＲＯＷ上にインスタンスを配置する。一方、ステップＳ１０７において、内部要素配線部２２０が配線処理を行う際には、ＴＲＡＣＫ上に配線を配置する。
【００６５】
配置リソースは、ＲＯＷ１〜ＲＯＷ１０の合計１０個のＲＯＷの集合体であり、１０個のＲＯＷのすべてにインスタンスが配置された時点ですべての配置リソースが使用されたことになる。一方、配線リソースはＴＲＡＣＫ１〜ＴＲＡＣＫ５の合計５個のＴＲＡＣＫの集合体であり、５個のＴＲＡＣＫのすべてに配線が配置された時点ですべての配線リソースが使用されたことになる。
【００６６】
ステップＳ１０５において、リソース分割部１５０は、重複領域に対して定義したＲＯＷとＴＲＡＣＫを、重なり情報ファイル３００に記述されている内部要素混載率に従って分割する。
【００６７】
例えば、重複領域ＯＶＥＲ＿ＡＲＥＡ＿０１において、階層ブロックＢＬＫ＿Ａの配置混載率が６０％、階層ブロックＢＬＫ＿Ｂの配置混載率が４０％、階層ブロックＢＬＫ＿Ｂの配線混載率が４０％、階層ブロックＢの配線混載率が６０％である場合には、リソース分割部１５０は、当該混載率に応じて、ＲＯＷ１、ＲＯＷ２、ＲＯＷ４、ＲＯＷ５、ＲＯＷ７およびＲＯＷ８を階層ブロックＢＬＫ＿Ａ用配置リソースとして割り当てる。次に、リソース分割部１５０は、ＲＯＷ３、ＲＯＷ６、ＲＯＷ９およびＲＯＷ１０を階層ブロックＢＬＫ＿Ｂ用配置リソースとして割り当てる。
【００６８】
リソース分割部１５０は、個々のＲＯＷを階層ブロックＢＬＫ＿Ａと階層ブロックＢＬＫ＿Ｂのいずれの配置リソースに割り当てるかを、総合的に混載率が守られていれば任意に決定してよい。しかしながら、配置リソースのみが割り振られ、配線リソースが割り振られていない場合には、割り振られた配置リソースは無駄となる。同様に、配線リソースのみが割り振られ、配置リソースが割り振られていない場合には、割り振られた配線リソースは無駄となる。そこで、リソース分割部１５０は、局所的な領域に一方の内部要素リソース（配線リソースまたは配置リソース）が偏らないように、可能な限り均一に割り振ることが好ましい。このように割り振ることで、重複領域において、一方の階層ブロックに対して配線リソースおよび配置リソースのうちの一方のみが割り振られて、リソースが無駄に消費されることを防ぐことができる。
【００６９】
また、配線リソースに関しても、配置リソースと同じ分割方法でＴＲＡＣＫ１とＴＲＡＣＫ２とＴＲＡＣＫ４を階層ブロックＢＬＫ＿Ａ用配線リソースとして割り当て、ＴＲＡＣＫ３とＴＲＡＣＫ５を階層ブロックＢＬＫ＿Ｂ用配線リソースとして割り当てる。
【００７０】
本実施形態のレイアウト装置９９は、階層ブロックの内部要素の配置と配線を実施する前に、重複領域の内部要素混載率に応じて内部要素リソースを排他的に分割する。このとき、内部要素の配置と配線を実施した後に重複領域において各階層ブロック内の互いの内部要素が干渉することがなく、干渉の解消を目的とした内部要素の位置の変更と位置の変更に伴う設計制約違反が発生しない。したがって、レイアウト装置９９によると、設計制約違反を修正する工程分の設計期間の増大が抑制でき、論理回路全体（半導体集積回路）のレイアウトに必要となる設計期間の増大を抑制することができる。
【００７１】
なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００７２】
２    データベース
３    表示部
４    表示制御部
５    入力部
１０、９９    レイアウト装置
１００    フロアプラン部
１１０    内部要素概略配置部
１２０    内部要素概略配線部
１３、１３０    配置部
１４、１４０    重なり情報抽出部
１５、１５０    リソース分割部
２００    配置配線部
２１０    内部要素配置部
２２０    内部要素配線部
３００    重なり情報ファイル
【図１】
2013054567.tif 000003
【図２】
2013054567.tif 000004
【図３】
2013054567.tif 000005
【図４】
2013054567.tif 000006
【図５】
2013054567.tif 000007
【図６】
2013054567.tif 000008
【図７】
2013054567.tif 000009
【図８】
2013054567.tif 000010
【図９】
2013054567.tif 000011