(57)【要約】【課題】タイミングドリブン配置された順序セルのタイミングを維持しながら消費電力の低減化を図ること。【解決手段】まず、初期情報を取得する（Ｓ１８０１）。つぎに、順序セルがタイミングドリブン配置されたセル配置可能領域に、所定数のＲＯＷ領域候補を設定する（Ｓ１８０２）。そして、ランキング処理を実行して（Ｓ１８０３）、ＲＯＷ領域候補ｒｉの優先順位を付ける。このあと、実際にチップに使用するＲＯＷ領域の必要個数Ｎを算出する（Ｓ１８０３）。ＲＯＷ領域候補の中からＲＯＷ領域を決定する（Ｓ１８０５）。そして、順序セルの整列化処理を実行する（Ｓ１８０６）。【選択図】図１８
2010262572.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
クロックバッファごとにクロックが分配される順序セルが所定方向に配置可能な複数個の順序セル配置領域候補を、前記順序セルが配置されたセル配置可能領域に設定する設定手段、
前記設定手段によって設定された順序セル配置領域候補ごとに前記順序セルの重なりを示す重複度を算出する重複度算出手段、
前記セル配置可能領域内での前記全順序セルのサイズと前記順序セル配置領域のサイズとに基づいて、前記セル配置可能領域内での前記順序セル配置領域候補の必要個数を算出する必要個数算出手段、
前記順序セル配置領域候補の中から、前記重複度算出手段によって算出された重複度の高い順に前記必要個数算出手段によって算出された必要個数分の順序セル配置領域を決定する決定手段、
前記順序セルが属する順序セル配置領域を前記決定手段によって決定された必要個数分の各順序セル配置領域の中から特定する特定手段、
前記特定手段によって特定された順序セル配置領域に当該順序セル配置領域に属する順序セルが包含されるように再配置する再配置手段、
として機能させることを特徴とする設計支援プログラム。
【請求項２】
前記特定手段は、
どの順序セル配置領域とも重複しない順序セルと前記必要個数分の順序セル配置領域との距離に基づいて、前記必要個数分の順序セル配置領域の中から、前記重複しない順序セルが属する順序セル配置領域を特定することを特徴とする請求項１に記載の設計支援プログラム。
【請求項３】
前記コンピュータを、
前記順序セル群のクロック系統が複数系統であるか否かを検出する検出手段として機能させ、
前記再配置手段は、
前記検出手段によって複数系統であると検出された場合、同一系統の順序セルのクロック端子が前記所定方向に整列するように、前記同一系統の順序セルを再配置することを特徴とする請求項１または２に記載の設計支援プログラム。
【請求項４】
前記コンピュータを、
再配置手段によって再配置された結果、クロックツリーが生成された場合、隣接しあう順序セル配置領域に割当てられたクロックバッファどうしを接続することにより、前記隣接しあう順序セル配置領域の順序セルどうしをつなぐクロック信号線の配線長を算出する配線長算出手段、
前記配線長算出手段によって算出された配線長と前記順序セル配置領域の最長クロック配線長とに基づいて、前記隣接しあう順序セル配置領域のうち後段側の順序セル配置領域上の順序セルに接続されているクロックバッファを削除するか否かを判断する判断手段、
前記判断手段によって前記クロックバッファを削除すると判断された場合、当該クロックバッファを削除して、前記隣接しあう順序セル配置領域内の順序セルどうしをつなぐクロック信号線を生成する再配線手段、
として機能させることを特徴とする請求項１〜３のいずれか一つに記載の設計支援プログラム。
【請求項５】
前記コンピュータを、
前記再配置手段によって再配置された結果、クロックツリーが生成された場合、隣接しあう順序セル配置領域内の順序セルの個数と前記順序セル配置領域での前記順序セルの最大配置可能個数とに基づいて、前記隣接しあう順序セル配置領域のうち後段側の順序セル配置領域上の順序セルに接続されているクロックバッファを削除するか否かを判断する判断手段、
前記判断手段によって前記クロックバッファを削除すると判断された場合、当該クロックバッファを削除して、前記隣接しあう順序セル配置領域内の順序セルどうしをつなぐクロック信号線を生成する再配線手段、
として機能させることを特徴とする請求項１〜４のいずれか一つに記載の設計支援プログラム。
【請求項６】
クロックバッファごとにクロックが分配される順序セルが所定方向に配置可能な複数個の順序セル配置領域候補を、前記順序セルが配置されたセル配置可能領域に設定する設定手段と、
前記設定手段によって設定された順序セル配置領域候補ごとに前記順序セルの重なりを示す重複度を算出する重複度算出手段と、
前記セル配置可能領域内での前記全順序セルのサイズと前記順序セル配置領域のサイズとに基づいて、前記セル配置可能領域内での前記順序セル配置領域候補の必要個数を算出する必要個数算出手段と、
前記順序セル配置領域候補の中から、前記重複度算出手段によって算出された重複度の高い順に前記必要個数算出手段によって算出された必要個数分の順序セル配置領域を決定する決定手段と、
前記順序セルが属する順序セル配置領域を前記決定手段によって決定された必要個数分の各順序セル配置領域の中から特定する特定手段と、
前記特定手段によって特定された順序セル配置領域に当該順序セル配置領域に属する順序セルが包含されるように再配置する再配置手段と、
を備えることを特徴とする設計支援装置。
【請求項７】
コンピュータが、
クロックバッファごとにクロックが分配される順序セルが所定方向に配置可能な複数個の順序セル配置領域候補を、前記順序セルが配置されたセル配置可能領域に設定する設定工程と、
前記設定工程によって設定された順序セル配置領域候補ごとに前記順序セルの重なりを示す重複度を算出する重複度算出工程と、
前記セル配置可能領域内での前記全順序セルのサイズと前記順序セル配置領域のサイズとに基づいて、前記セル配置可能領域内での前記順序セル配置領域候補の必要個数を算出する必要個数算出工程と、
前記順序セル配置領域候補の中から、前記重複度算出工程によって算出された重複度の高い順に前記必要個数算出工程によって算出された必要個数分の順序セル配置領域を決定する決定工程と、
前記順序セルが属する順序セル配置領域を前記決定工程によって決定された必要個数分の各順序セル配置領域の中から特定する特定工程と、
前記特定工程によって特定された順序セル配置領域に当該順序セル配置領域に属する順序セルが包含されるように再配置する再配置工程と、
を実行することを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示技術は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  ｉｎｔｅｇｒａｔｉｏｎ）の設計を支援する設計支援装置、設計支援方法、および設計支援プログラムに関する。
【背景技術】
【０００２】
従来から、フリップフロップ（以下、「ＦＦ」）などの順序セルの配置については、タイミングを考慮して配置するタイミングドリブン配置が行われている。タイミングドリブン配置では、クロック系統は理想的に遅延を０として扱うため、ＦＦ−ＦＦ間のデータ系統のみを考慮した配置となっている。
【０００３】
従来の配置配線ツールでは、クロック系統を考慮せずＦＦ−ＦＦ間のデータ系統を優先したタイミングドリブン配置を行うため、ＦＦが散らばって配置されてしまい、ＦＦへのクロック信号線が長くなってしまっている。また、タイミングドリブン配置されたＦＦをＲＯＷ領域に縦列配置する技術が開示されている（たとえば、下記特許文献１，２を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１−１９６１３７号公報
【特許文献２】特開２０００−２４３８４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、クロック信号線の配線長が長くなると配線による容量が増加するため、配線スイッチング電力が増加するという問題がある。また、配線容量の増加による信号なまりや遅延を抑えるためにクロックバッファのサイズを大きくしたり、配線分割用のクロックバッファ数を増やしたりする必要がある。したがって、さらに消費電力が増加してしまうという問題がある。
【０００６】
特定のＲＯＷ領域にＦＦを集中して配置しすぎると、データ系統のタイミングドリブン配置が崩れてしまうため、タイミングが悪化するという問題がある。また、その修正のために、通常のタイミングドリブン配置より多くのセルが追加されてしまう。したがって、消費電力の増加を招いてしまうという問題がある。
【０００７】
本開示技術は、上述した従来技術による問題点を解消するため、タイミングを維持しながらクロック信号線の短縮化を図るとともにクロックバッファ削減による消費電力の低減化を図ることができる設計支援装置、設計支援方法、および設計支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本開示技術は、クロックバッファごとにクロックが分配される順序セルが所定方向に配置可能な複数個の順序セル配置領域候補を、前記順序セルが配置されたセル配置可能領域に設定し、設定された順序セル配置領域候補ごとに前記順序セルの重なりを示す重複度を算出し、前記セル配置可能領域内での前記全順序セルのサイズと前記順序セル配置領域のサイズとに基づいて、前記セル配置可能領域内での前記順序セル配置領域候補の必要個数を算出し、前記順序セル配置領域候補の中から、算出された重複度の高い順に、算出された必要個数分の順序セル配置領域を決定し、前記順序セルが属する順序セル配置領域を、決定された必要個数分の各順序セル配置領域の中から特定し、特定された順序セル配置領域に当該順序セル配置領域に属する順序セルが包含されるように再配置することを要件とする。
【発明の効果】
【０００９】
本設計支援装置、設計支援方法、および設計支援プログラムによれば、タイミングを維持しながら消費電力の低減化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】順序セルのタイミングドリブン配置後におけるクロックツリーと順序セルの配置改善後におけるクロックツリーを示す説明図である。
【図２】実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。
【図３】設計支援装置の機能的構成を示すブロック図である。
【図４】タイミングドリブン配置後のセル配置可能領域を示す説明図である。
【図５】ＲＯＷ領域候補を示す説明図である。
【図６】順序セルの重複状態を示す説明図である。
【図７】ＲＯＷ領域候補削除後のセル配置可能領域を示す説明図である。
【図８】タイミングマージンテーブルを示す説明図である。
【図９】再配置部による順序セルの再配置を示す説明図である。
【図１０】クロック系統別のクロック信号線の配線接続を示す説明図である。
【図１１】順序セルごとのクロック系統を示す説明図である。
【図１２】異なるクロック系統間で順序セルを左右反転させた再配置状態を示す説明図である。
【図１３】異なるクロック系統間で順序セルをＸ軸方向に平行移動させた再配置状態を示す説明図である。
【図１４】クロックツリーの生成例を示す説明図である。
【図１５】隣接しあう順序セル配置領域の順序セルを接続するクロック信号線の配線状態を示す説明図である。
【図１６】順序セルの個数比較例を示す説明図である。
【図１７】再配線部による再配線後のクロックツリーを示す説明図である。
【図１８】本実施の形態にかかる設計支援装置による設計支援処理手順を示すフローチャートである。
【図１９】図１８に示したランキング処理（ステップＳ１８０３）の詳細な処理手順を示すフローチャートである。
【図２０】図１８に示した整列化処理（ステップＳ１８０６）の詳細な処理手順を示すフローチャートである。
【図２１】クロックツリー生成後における再配置処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本開示技術にかかる設計支援装置、設計支援方法、および設計支援プログラムの好適な実施の形態を詳細に説明する。
【００１２】
本開示技術では、ＲＯＷ領域の個数の最適化とクロック信号線の短縮化とをおこなうことで、タイミングドリブン配置されたＦＦやラッチなどの順序セルのタイミングを維持しながら消費電力の低減化を実現する。
【００１３】
図１は、順序セルのタイミングドリブン配置後におけるクロックツリーと順序セルの配置改善後におけるクロックツリーを示す説明図である。（Ａ）は、セル配置可能領域１００において、順序セル（図１中、ＦＦ１〜ＦＦ１８）のタイミングドリブン配置後におけるクロックツリーＣＴ１を示している。また、（Ｂ）は、セル配置可能領域１００において、順序セルの配置改善後におけるクロックツリーＣＴ２を示している。
【００１４】
（Ｂ）では、ＦＦ１〜ＦＦ１８は、複数（５個）のＲＯＷ領域Ｒ１〜Ｒ３，Ｒ５，Ｒ６上に配置されている。ＲＯＷ領域Ｒ１〜Ｒ３，Ｒ５，Ｒ６は、一般にはスタンダードセルの配置領域をいうが、本実施の形態では、順序セル専用のＲＯＷ領域とし、他のセルは配置できないものとする。ただし、整列化処理後は他のセルも配置できる。
【００１５】
（設計支援装置のハードウェア構成）
図２は、実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。図２において、設計支援装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００１６】
ここで、ＣＰＵ２０１は、設計支援装置の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００１７】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００１８】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００１９】
Ｉ／Ｆ２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２０】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２１】
スキャナ２１２は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２２】
（設計支援装置の機能的構成）
つぎに、設計支援装置の機能的構成について説明する。図３は、設計支援装置の機能的構成を示すブロック図である。設計支援装置３００は、設定部３０１と、重複度算出部３０２と、必要個数算出部３０３と、決定部３０４と、特定部３０５と、再配置部３０６と、検出部３０７と、配線長算出部３０８と、判断部３０９と、再配線部３１０と、を含む構成である。各機能（設定部３０１〜再配線部３１０）は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。
【００２３】
設定部３０１は、クロックバッファごとにクロックが分配される順序セルが所定方向に配置可能な複数個の順序セル配置領域候補を、順序セルが配置されたセル配置可能領域１００に設定する機能を有する。ここで、セル配置可能領域１００とは、順序セルや他のセル（クロックバッファなど）を配置できる領域（コアエリア）である。
【００２４】
図４は、タイミングドリブン配置後のセル配置可能領域１００を示す説明図である。図４では、タイミングドリブン配置されたＦＦ１〜ＦＦ１８はセル配置可能領域１００に分散配置されている。この状態でクロックツリーを生成すると、図１（Ａ）に示した状態となる。また、順序セル配置領域候補とは、セル配置可能領域１００に設定されるＲＯＷ領域候補である。
【００２５】
図５は、ＲＯＷ領域候補を示す説明図である。図５では、説明上、図４に示したタイミングドリブン配置されたＦＦ１〜ＦＦ１８を省略している。ＲＯＷ領域候補ｒｉ（ｉは番号）は、セル配置可能領域１００に６本形成されている。セル配置可能領域１００の隣接する２辺をそれぞれＸ軸、Ｙ軸とする。
【００２６】
ＲＯＷ領域候補ｒｉの幅をｄ、高さをｈとした場合、ＲＯＷ領域候補ｒｉの幅方向はＸ軸方向、高さ方向はＹ軸方向とする。幅ｄは、デザインで使用しているＦＦサイズの最大幅とし、高さｈは、１つのクロックバッファでクロックを供給できるＦＦの最大数を縦に積んだ高さとする。また、Ｘ軸方向に隣接するＲＯＷ領域候補ｒｉの間隔は、幅ｄとする。本実施の形態では、初期状態として、セル配置可能領域１００に配置可能な最大数（図５では６個）のＲＯＷ領域候補ｒ１〜ｒ６を設定している。
【００２７】
図３において、重複度算出部３０２は、順序セル配置領域候補ごとに順序セルの重なりを示す重複度を算出する機能を有する。具体的には、たとえば、ＲＯＷ領域候補ｒｉごとに順序セルの重なりを示す重複度として、順序セルの重複個数や重複面積を算出する。ここで、重複とは、ＲＯＷ領域候補ｒｉに順序セルが包含されている状態や順序セルがＲＯＷ領域候補ｒｉの境界にまたがって順序セルの一部がＲＯＷ領域候補ｒｉ内にある状態をいう。
【００２８】
図６は、順序セルの重複状態を示す説明図である。図６において、ＲＯＷ領域候補ｒ１はＦＦ６と重複している。ＲＯＷ領域候補ｒ２は、ＦＦ２，ＦＦ５，ＦＦ８〜ＦＦ１０と重複している。ＲＯＷ領域候補ｒ３は、ＦＦ３，ＦＦ４と重複している。ＲＯＷ領域候補ｒ４は、ＦＦ１８と重複している。ＲＯＷ領域候補ｒ５は、ＦＦ７，ＦＦ１４，ＦＦ１５，ＦＦ１７と重複している。ＲＯＷ領域候補ｒ６は、ＦＦ１１〜ＦＦ１３と重複している。なお、ＦＦ１，ＦＦ１６はどのＲＯＷ領域候補ｒ１〜ｒ６とも重複していない。
【００２９】
したがって、ＲＯＷ領域候補ｒｉの重複度Ｇｉを重複個数で定義した場合、ＲＯＷ領域候補ｒ１の重複度Ｇ１はＧ１＝１である。ＲＯＷ領域候補ｒ２の重複度Ｇ２はＧ２＝５である。ＲＯＷ領域候補ｒ３の重複度Ｇ３はＧ３＝２である。ＲＯＷ領域候補ｒ４の重複度Ｇ４はＧ４＝１である。ＲＯＷ領域候補ｒ５の重複度Ｇ５はＧ５＝４である。ＲＯＷ領域候補ｒ６の重複度Ｇ６はＧ６＝３である。
【００３０】
図３において、必要個数算出部３０３は、セル配置可能領域１００内での全順序セルのサイズと順序セル配置領域候補のサイズとに基づいて、セル配置可能領域１００内での順序セル配置領域候補の必要個数を算出する機能を有する。具体的には、たとえば、セルＦＦ１〜ＦＦ１８の総面積と、ＲＯＷ領域候補ｒｉの１個当たりの面積（ｄ×ｈ）を用いて必要個数を算出する。たとえば、ＲＯＷ領域候補ｒｉの必要個数Ｎは下記式（１）により算出する。
【００３１】
Ｎ＝（Ｓｆ／Ｒ／Ｓｒ）＋１・・・（１）
【００３２】
ここで、Ｓｆはセル配置可能領域１００に配置された全順序セル（ＦＦ１〜ＦＦ１８）の総面積、Ｒは設計対象回路での目標ＲＯＷ領域使用率、Ｓｒは１個あたりのＲＯＷ領域候補の面積である。目標ＲＯＷ領域使用率Ｒは、０≦Ｒ≦１の値であり、初期設定されているものとする。
【００３３】
図３において、決定部３０４は、順序セル配置領域候補の中から、重複度算出部３０２によって算出された重複度の高い順に必要個数算出部３０３によって算出された必要個数分の順序セル配置領域を決定する機能を有する。具体的には、たとえば、ＲＯＷ領域候補ｒｉに重複度Ｇｉに応じた優先順位を付ける。
【００３４】
たとえば、図６に示した例において、重複度Ｇｉ（重複個数）の高い順に順位を付ける。図６では、順位をカッコ数字で表記している。ＲＯＷ領域候補ｒ１の重複度Ｇ１とＲＯＷ領域候補ｒ４の重複度Ｇ４はともにＧ１＝Ｇ４＝１であるが、同じ場合は、重複面積で優先順位を付ける。この場合は、ＲＯＷ領域候補ｒ１とＦＦ６との重複面積が、ＲＯＷ領域候補ｒ４とＦＦ１８との重複面積よりも大きいため、ＲＯＷ領域候補ｒ１が５位、ＲＯＷ領域候補ｒ４が６位（最下位）となる。
【００３５】
そして、決定部３０４は、必要個数算出部３０３によって算出された必要個数Ｎにより、採用するＲＯＷ領域を決定する。すなわち、上位１位から必要個数に該当する順位までのＲＯＷ領域候補ｒｉをＲＯＷ領域Ｒｉとして残す。そして、それ以降の順位のＲＯＷ領域候補ｒｉをセル配置可能領域１００から削除する。たとえば、必要個数Ｎ＝５とした場合、１位から５位までのＲＯＷ領域候補ｒ１〜ｒ３，ｒ５，ｒ６が選ばれることとなる。したがって、６位以降のＲＯＷ領域候補ｒ４をセル配置可能領域１００から削除する。
【００３６】
図７は、ＲＯＷ領域候補ｒｉ削除後のセル配置可能領域１００を示す説明図である。図７では、ＲＯＷ領域候補ｒ４が最下位のため削除される。したがって、ＦＦ１８が残余のどのＲＯＷ領域Ｒ１〜Ｒ３，Ｒ５，Ｒ６にも重複しない状態となる。
【００３７】
図３において、特定部３０５は、順序セルが属する順序セル配置領域を必要個数Ｎ分の各順序セル配置領域の中から特定する機能を有する。具体的には、たとえば、各順序セル（ＦＦ１〜ＦＦ１８）とＲＯＷ領域Ｒ１〜Ｒ３，Ｒ５，Ｒ６との重複関係により、どの順序セルがどのＲＯＷ領域Ｒｉに属しているかを特定する。たとえば、図７の例では、ＦＦ６はＲＯＷ領域Ｒ１と重複しているので、ＦＦ６はＲＯＷ領域Ｒ１に属していることとなる。
【００３８】
また、どのＲＯＷ領域Ｒ１〜Ｒ３，Ｒ５，Ｒ６にも重複していないＦＦ１、ＦＦ１６，ＦＦ１８については、最も近いＲＯＷ領域Ｒｉを探索し、探索ＲＯＷ領域Ｒｉに属することとする。
【００３９】
再配置部３０６は、特定部３０５によって特定された順序セル配置領域に当該順序セル配置領域に属する順序セルが包含されるように再配置する機能を有する。具体的には、たとえば、タイミングマージンを参照して、移動対象となる順序セルを決める。そして、移動対象の順序セルから順次、当該順序セルが属するＲＯＷ領域Ｒｉに移動させる。
【００４０】
図８は、タイミングマージンテーブル８００を示す説明図である。タイミングマージンテーブル８００は、ＦＦごとのタイミングマージンを記憶するテーブルである。タイミングマージンテーブル８００は、ＦＦ名項目とタイミングマージン項目を有し、ＦＦごとにＦＦ名およびタイミングマージン（の値）をレコード化している。ＦＦ名とは、ＦＦを一意に特定する識別情報（たとえば、インスタンス名）である。
【００４１】
図９は、再配置部３０６による順序セルの再配置を示す説明図である。図９中、（Ａ）は順序セルの移動状態を示しており、（Ｂ）は移動完了後の状態を示している。図９（Ａ）の矢印は順序セルの移動方向を示している。実際は、タイミングマージンの値が小さい順序セルから順次移動対象として選択される。
【００４２】
移動対象の順序セルは、まず、Ｘ軸方向に移動して、当該順序セルが属するＲＯＷ領域Ｒｉに包含されるようにする。他の順序セルと重複した場合は、Ｙ軸方向に移動して重ならないようにする。このような移動処理をおこなうことで、ＲＯＷ領域Ｒ１〜Ｒ３，Ｒ５，Ｒ６において順序セルがＹ軸方向に縦列配置されることとなる。
【００４３】
したがって、再配置部３０６による再配置後の状態でクロックツリーを生成すると、図１（Ｂ）に示した状態になる。したがって、図１（Ａ）と比較するとクロック信号線の配線長が短縮化されているため、配線スイッチング電力の低減化を図ることができる。また、重複度に応じてＲＯＷ領域候補ｒ１〜ｒ６の絞込みを行ったため、タイミングドリブン配置によるタイミングを維持することができる。
【００４４】
また、順序セルのクロック系統が複数存在する場合がある。このような場合は、クロック系統ごとにクロックツリーが異なるため、互いに抵触しないように配線することとなる。このような場合は、クロック信号線を最短距離で配線することができず冗長となり、配線スイッチング電力が増加することとなる。
【００４５】
図１０は、クロック系統別のクロック信号線の配線接続を示す説明図である。図１０（Ａ）は、クロック系統が１系統であるときのクロック信号線の配線接続を示している。（Ｂ）は、クロック系統が２系統であるときのクロック信号線の配線接続を示している。順序セルのクロックピンの位置は固定であるため、（Ａ）のように隣接する順序セルは向きを換えて配置することで、クロックピンＣＰの位置がＹ軸方向に揃う。したがって、クロック信号線Ｌが一直線で配線することができる。
【００４６】
一方、（Ｂ）では、ＦＦ１８，ＦＦ１５が同一クロック系統であり、ＦＦ１４，ＦＦ１７が同一クロック系統である。このように、複数のクロック系統でクロックピンが一直線に並んでいる場合、クロック系統１のクロック信号線Ｌ１とクロック系統２のクロック信号線Ｌ２のように、異なるクロック系統で抵触しないよう迂回配線しなければならない。
【００４７】
このような場合、本実施の形態では、検出部３０７と再配置部３０６により最適化を図る。すなわち、クロック系統ごとに順序セルを認識し、クロック系統単位で順序セルの位置を調整することで、クロック信号線を最短距離で配線できるようにする。以下、検出部３０７と再配置部３０６について説明する。
【００４８】
検出部３０７は、順序セル群のクロック系統が複数系統であるか否かを検出する機能を有する。各順序セルのクロック系統は、設計対象回路の設計情報（ネットリスト）を参照することで検出される。そして、順序セルごとにクロック系統を特定する。図１１は、順序セルごとのクロック系統を示す説明図である。
【００４９】
また、再配置部３０６は、検出部３０７によって複数系統であると検出された場合、同一系統の順序セルのクロック端子が所定方向に整列するように、同一系統の順序セルを再配置する。たとえば、２系統である場合、異なるクロック系統間で順序セルを左右（Ｘ方向）反転させる。
【００５０】
図１２は、異なるクロック系統間で順序セルを左右反転させた再配置状態を示す説明図（その１）である。図１２では、ＦＦ１４，ＦＦ１７がクロック系統１でＦＦ１８，ＦＦ１５がクロック系統２である。したがって、一方のクロック系統１のＦＦ１４，ＦＦ１７は固定しておき、他方のクロック系統２のＦＦ１８，ＦＦ１５をフリップする。
【００５１】
これにより、ＦＦ１４，ＦＦ１７のクロックピンＣＰの配列と、ＦＦ１８，ＦＦ１５のクロックピンＣＰの配列が抵触しない。したがって、クロック系統１のクロック信号線Ｌ１とクロック系統２のクロック信号線Ｌ２とが互いに抵触せずかつともに直線状に配線することができる。
【００５２】
図１３は、異なるクロック系統間で順序セルをＸ軸方向に平行移動させた再配置状態を示す説明図（その２）である。図１３では、３系統の例を示している。ＲＯＷ領域Ｒ５では、クロック系統が３系統であるため、図１２に示したフリップではなく、Ｘ軸方向の平行移動により３つのクロック系統別にクロック信号線Ｌ１〜Ｌ３を直線状に配線可能にする。
【００５３】
したがって、複数のクロック系統が存在する場合であっても、クロック系統別にクロック信号線を最短距離で配線することができ、配線スイッチング電力の低減化を図ることができる。また、順序セルをＲＯＷ領域Ｒｉ上で縦列配置しているため、フリップや平行移動といった単純な操作によりクロック信号線の短縮化を実現することができる。
【００５４】
また、クロックツリー生成の際、クロックバッファはＲＯＷ領域ごとに挿入されるが、ＲＯＷ領域に属する順序セルの数が少ない場合、クロックバッファの個数が相対的に多くなるため、消費電力が高くなる。
【００５５】
図１４は、クロックツリーの生成例を示す説明図である。図１４では、同一クロック系統の順序セルとしてＦＦ１〜ＦＦ８がＲＯＷ領域Ｒ１〜Ｒ３，Ｒ５，Ｒ６に配置されているものとする。ＲＯＷ領域Ｒ１〜Ｒ３，Ｒ５，Ｒ６には、それぞれクロックバッファＢ１〜Ｂ３，Ｂ５，Ｂ６が挿入され、それぞれ対応するＲＯＷ領域Ｒ１〜Ｒ３，Ｒ５，Ｒ６内の順序セルＦＦ１〜ＦＦ８にクロックを供給している。
【００５６】
このように、ＲＯＷ領域Ｒｉに配置された順序セルの数が少ない場合は、クロックバッファＢ１〜Ｂ３，Ｂ５，Ｂ６が過剰となり、消費電力の増大につながるため、本実施の形態では、配線長算出部３０８、判断部３０９および再配線部３１０により、クロック信号線の再配線を実行する。
【００５７】
図３において、配線長算出部３０８は、再配置部３０６によって再配置された結果、クロックツリーが生成された場合、隣接しあう順序セル配置領域に割当てられたクロックバッファどうしをクロック信号線で接続することにより、隣接しあう順序セル配置領域の順序セルどうしをつなぐクロック信号線の配線長を算出する機能を有する。
【００５８】
ここで、隣接しあう順序セル配置領域とは、Ｘ軸方向に隣接しあうＲＯＷ領域Ｒｉ，Ｒｊである。図１４を参照すると、Ｘ軸方向に隣接するＲＯＷ領域Ｒｉ，Ｒｊとは、（Ｒ１，Ｒ２）、（Ｒ２，Ｒ３）、（Ｒ５，Ｒ６）である。
【００５９】
図１５は、隣接しあう順序セル配置領域の順序セルを接続するクロック信号線の配線状態を示す説明図である。図１５では、クロックバッファを省略している。隣接しあうＲＯＷ領域（Ｒ５，Ｒ６）を例に挙げると、隣接しあうＲＯＷ領域（Ｒ５，Ｒ６）を接続するクロック信号線は、Ｌ５，Ｌ５６，Ｌ６となる。
【００６０】
したがって、隣接しあう順序セル配置領域の順序セルどうしをつなぐクロック信号線の配線長をＬＥａｂとすると、ＬＥａｂ＝Ｌ５＋Ｌ５６＋Ｌ６となる。
【００６１】
また、図３において、判断部３０９は、隣接しあう順序セル配置領域のうち後段側の順序セル配置領域上の順序セルに接続されているクロックバッファを削除するか否かを判断する機能を有する。具体的には、配線長算出部３０８によって算出された配線長と順序セル配置領域の最長クロック配線長とに基づいて判断する（以下、「配線長による判断」）。
【００６２】
順序セル配線領域の最長クロック配線長とは、ＲＯＷ領域内で配線できるクロック信号線の最長配線長である。たとえば、図１５において、ＲＯＷ領域Ｒｉのサイズは幅ｄで高さｈ（ｈ＞ｄ）であるため、ＲＯＷ領域Ｒｉのクロック信号線の最長配線長ＬＥｍａｘは、ＬＥｍａｘ＝ｈとなる。
【００６３】
そして、判断部３０９では、ＬＥｍａｘとＬＥａｂとを比較する。ＬＥｍａｘがＬＥａｂ以上である場合、隣接しあう順序セル配置領域のうち後段側の順序セル配置領域上の順序セルに接続されているクロックバッファを削除する。具体的には、たとえば、後段側のＲＯＷ領域Ｒ６のクロックバッファＢ６（図１４を参照）を削除する。ＬＥｍａｘがＬＥａｂ以上でない場合、後段側のＲＯＷ領域Ｒ６のクロックバッファＢ６（図１４を参照）を削除せず残しておく。
【００６４】
また、判断部３０９は、隣接しあう順序セル配置領域内の順序セルの個数と順序セル配置領域での順序セルの最大配置可能個数とに基づいて判断する（以下、「順序セル個数による判断」）。
【００６５】
図１６は、順序セルの個数比較例を示す説明図である。順序セル配置領域での順序セルの最大配置可能個数（Ｃｍａｘとする）とは、ＲＯＷ領域ＲｉでのＹ軸方向へのＦＦの積み上げ数である。図１６の例では６個である。隣接しあうＲＯＷ領域（Ｒ５，Ｒ６）の順序セルの個数（Ｃａｂとする）は、３個（ＦＦ６〜ＦＦ８）である。
【００６６】
そして、判断部３０９では、ＣｍａｘとＣａｂとを比較する。ＣｍａｘがＣａｂ以上である場合、隣接しあう順序セル配置領域のうち後段側の順序セル配置領域上の順序セルに接続されているクロックバッファを削除する。具体的には、たとえば、後段側のＲＯＷ領域Ｒ６のクロックバッファＢ６（図１４を参照）を削除する。ＣｍａｘがＣａｂ以上でない場合、後段側のＲＯＷ領域Ｒ６のクロックバッファＢ６（図１４を参照）を削除せず残しておく。
【００６７】
なお、判断部３０９では、クロックバッファの削除について、配線長による判断のみで判断してもよく、順序セル個数による判断のみで判断してもよい。また、配線長による判断および順序セル個数による判断の両判断で削除すると判断された場合に、クロックバッファを削除することとしてもよい。
【００６８】
また、図３において、再配線部３１０は、判断部３０９によってクロックバッファを削除すると判断された場合、当該クロックバッファを削除して、隣接しあう順序セル配置領域内の順序セルどうしをつなぐクロック信号線を生成する機能を有する。具体的には、たとえば、図１４の例において、隣接しあうＲＯＷ領域（Ｒ５，Ｒ６）でクロックバッファＢ６を削除すると判断された場合、後段のＲＯＷ領域Ｒ６のＦＦ６およびＦＦ７が前段のＲＯＷ領域Ｒ５のクロックバッファＢ５からクロックの供給を受けるようにクロック信号線を配線する。
【００６９】
図１７は、再配線部３１０による再配線後のクロックツリーを示す説明図である。図１７のクロックツリーＣＴ４は、再配線前のクロックツリーＣＴ３（図１４）と比較すると、クロックバッファＢ６が削除されている。したがって、ＲＯＷ領域Ｒ６のＦＦ６，ＦＦ７は、ＲＯＷ領域Ｒ５のＦＦ８とともに、クロックバッファＢ５からクロックの供給を受けることとなる。
【００７０】
なお、本実施の形態では、クロックツリーの生成は外部機能としたため、図３では不図示としたが、本実施の形態の設計支援装置内でクロックツリーを生成することとしてもよい。
【００７１】
（設計支援処理手順）
図１８は、本実施の形態にかかる設計支援装置による設計支援処理手順を示すフローチャートである。まず、初期情報を取得する（ステップＳ１８０１）。具体的には、たとえば、セル配置可能領域１００に設定するＲＯＷ領域候補ｒｉの設定数、設定間隔、ＲＯＷ領域候補ｒｉのサイズ情報（幅ｄ、高さｈ）を読み込む。つぎに、順序セルがタイミングドリブン配置されたセル配置可能領域１００に、所定数のＲＯＷ領域候補ｒｉを設定する（ステップＳ１８０２）。
【００７２】
そして、ランキング処理を実行して（ステップＳ１８０３）、ＲＯＷ領域候補ｒｉの優先順位を付ける。このあと、必要個数算出部３０３により、実際にチップに使用するＲＯＷ領域Ｒｉの必要個数Ｎを算出する（ステップＳ１８０４）。決定部３０４により、ＲＯＷ領域候補ｒｉの中からＲＯＷ領域Ｒｉを決定する（ステップＳ１８０５）。
【００７３】
そして、順序セルの整列化処理を実行する（ステップＳ１８０６）。順序セルをＲＯＷ領域Ｒｉに整列化させたあと、順序セル群は複数のクロック系統であるか否かを判断する（ステップＳ１８０７）。単一のクロック系統である場合（ステップＳ１８０７：Ｎｏ）、一連の処理を終了する。単一のクロック系統である場合は、各ＲＯＷ領域Ｒｉに配置されている順序セルのクロックピンは高さ方向に整列しているため、クロック信号線が一直線に配線できる。このため、ステップＳ１８０８を実行せずに終了する。
【００７４】
一方、複数のクロック系統である場合（ステップＳ１８０７：Ｙｅｓ）、クロック系統が混在しているにもかかわらず、各ＲＯＷ領域Ｒｉに配置されている順序セルのクロックピンが高さ方向に整列している。したがって、各ＲＯＷ領域Ｒｉにおいてクロック系統ごとに順序セルのクロックピンを高さ方向に整列化する（ステップＳ１８０８）。これにより、クロック系統ごとに、各ＲＯＷ領域Ｒｉに配置されている順序セルのクロックピンは高さ方向に整列しているため、クロック信号線が一直線に配線できる。
【００７５】
図１９は、図１８に示したランキング処理（ステップＳ１８０３）の詳細な処理手順を示すフローチャートである。ランキング処理では、重複度算出部３０２により重複個数を重複度としてＲＯＷ領域候補ｒｉをランク付けする。
【００７６】
具体的には、まず、未選択のＲＯＷ領域候補ｒｉがあるか否かを判断し（ステップＳ１９０１）、未選択のＲＯＷ領域候補ｒｉがある場合（ステップＳ１９０１：Ｙｅｓ）、未選択のＲＯＷ領域候補ｒｉを１つ選択する（ステップＳ１９０２）。つぎに、選択ＲＯＷ領域候補ｒｉと重複する順序セルの個数（重複個数）を算出して（ステップＳ１９０３）、ステップＳ１９０１に戻る。
【００７７】
ステップＳ１９０１において、未選択のＲＯＷ領域候補ｒｉがない場合（ステップＳ１９０１：Ｎｏ）、ステップＳ１９０４に移行する。ステップＳ１９０１〜Ｓ１９０３により全ＲＯＷ領域候補ｒｉの重複度を算出することができる。
【００７８】
つぎに、ステップＳ１９０４において、順序セルの重複個数の多い順にソートしてＲＯＷ領域候補のランク付けをする（ステップＳ１９０４）。このあと、順序セルの重複個数が同数であるＲＯＷ領域候補ｒｉがあるか否かを判断する（ステップＳ１９０５）。すなわち、同順位のＲＯＷ領域候補ｒｉがあるか否かを判断する。
【００７９】
重複個数が同数であるＲＯＷ領域候補ｒｉがある場合（ステップＳ１９０５：Ｙｅｓ）、重複個数では優劣がつかないため、順序セルの重複面積を同順位のＲＯＷ領域候補ごとに算出する（ステップＳ１９０６）。そして、同順位のＲＯＷ領域候補ｒｉを重複面積の大きい順にソートしてランク付けし（ステップＳ１９０７）、ステップＳ１９０５に戻る。ステップＳ１９０５において、重複個数が同数であるＲＯＷ領域候補ｒｉがない場合（ステップＳ１９０５：Ｎｏ）、ステップＳ１８０４に移行する。
【００８０】
図１９では、重複個数でランク付けしてから同順位がある場合に重複面積で優劣を決めて同順位がなくなるようにランク付けしているが、重複面積でランク付けしてから同順位がある場合に重複個数で優劣を決めて同順位がなくなるようにランク付けしてもよい。
【００８１】
図２０は、図１８に示した整列化処理（ステップＳ１８０６）の詳細な処理手順を示すフローチャートである。整列化処理では、ＲＯＷ領域Ｒｉに属する順序セルをＲＯＷ領域Ｒｉに包含するように移動させ、また、どのＲＯＷ領域Ｒｉにも属さない順序セルについては、所属するＲＯＷ領域Ｒｉを見つけて包含するように移動させる。
【００８２】
まず、未選択の順序セルがあるか否かを判断し（ステップＳ２００１）、未選択の順序セルがある場合（ステップＳ２００１：Ｙｅｓ）、未選択の順序セルを１つ選択する（ステップＳ２００２）。そして、選択順序セルがＲＯＷ領域Ｒｉに包含されているか否かを判断する（ステップＳ２００３）。
【００８３】
包含されている場合（ステップＳ２００３：Ｙｅｓ）、ステップＳ２００１に戻り、つぎの順序セルを選択する。一方、包含されていない場合（ステップＳ２００３：Ｎｏ）、一部包含しているか否かを判断する（ステップＳ２００４）。一部包含している場合（ステップＳ２００４：Ｙｅｓ）、選択順序セル全体が包含されるように移動させる（ステップＳ２００５）。そして、ステップＳ２００１に戻り、つぎの順序セルを選択する。
【００８４】
一方、一部包含していない場合（ステップＳ２００４：Ｎｏ）、選択順序セルはいずれのＲＯＷ領域Ｒｉにも属していないため、最近傍のＲＯＷ領域Ｒｉを探索する（ステップＳ２００６）。そして、探索ＲＯＷ領域Ｒｉに包含されるように選択順序セルを移動させる（ステップＳ２００７）。そして、ステップＳ２００１に戻り、つぎの順序セルを選択する。ステップＳ２００１において、未選択の順序セルがない場合（ステップＳ２００１：Ｎｏ）、ステップＳ１８０７に移行する。
【００８５】
このように、順序セルをＲＯＷ領域Ｒｉに包含されるように移動することにより、タイミングドリブン配置からの配置ずれを最小限に抑えつつ、クロック信号線の短縮化を図ることができる。特に、削除されたＲＯＷ領域候補ｒｉに重複していた順序セルは、ＲＯＷ領域Ｒｉに属していない。したがって、最近傍のＲＯＷ領域Ｒｉに移動させることで、可能な限りタイミングドリブン配置からの配置ずれを最小限に抑えつつ、クロック信号線の短縮化を図ることができる。
【００８６】
つぎに、クロックツリー生成後における再配置処理手順について説明する。クロックツリー生成後における再配置処理は、配線長算出部３０８、判断部３０９、および再配線部３１０により実行する。
【００８７】
図２１は、クロックツリー生成後における再配置処理手順を示すフローチャートである。まず、未選択のＲＯＷ領域Ｒｉがあるか否かを判断し（ステップＳ２１０１）、未選択のＲＯＷ領域Ｒｉがある場合（ステップＳ２１０１：Ｙｅｓ）、未選択のＲＯＷ領域Ｒｉを１つ選択する（ステップＳ２１０２）。
【００８８】
つぎに、未選択の隣接ＲＯＷ領域（たとえば、後段側）Ｒｊがあるか否かを判断する（ステップＳ２１０３）。ない場合（ステップＳ２１０３：Ｎｏ）、ステップＳ２１０１に戻る。一方、ある場合（ステップＳ２１０３：Ｙｅｓ）、未選択の隣接ＲＯＷ領域Ｒｊを１つ選択する（ステップＳ２１０４）。そして、両隣接ＲＯＷ領域Ｒｉ，Ｒｊをまたがった場合の配線長ＬＥａｂを配線長算出部３０８により算出する（ステップＳ２１０５）。
【００８９】
このあと、ＬＥｍａｘ≧ＬＥａｂであるか否かを判断する（ステップＳ２１０６）。ＬＥｍａｘ≧ＬＥａｂでない場合（ステップＳ２１０６：Ｎｏ）、ステップＳ２１０３に戻る。一方、ＬＥｍａｘ≧ＬＥａｂである場合（ステップＳ２１０６：Ｙｅｓ）、Ｃｍａｘ≧Ｃａｂであるか否かを判断する（ステップＳ２１０７）。
【００９０】
Ｃｍａｘ≧Ｃａｂでない場合（ステップＳ２１０７：Ｎｏ）、ステップＳ２１０３に戻る。一方、Ｃｍａｘ≧Ｃａｂである場合（ステップＳ２１０７：Ｙｅｓ）、再配線部３１０により、隣接ＲＯＷ領域ＲｊのクロックバッファＢｊを削除する（ステップＳ２１０８）。そして、選択ＲＯＷ領域Ｒｉ，Ｒｊにまたがるようにクロック信号線を配線する（ステップＳ２１０９）。
【００９１】
すなわち、選択ＲＯＷ領域ＲｉのクロックバッファＢｉから、選択ＲＯＷ領域Ｒｉの順序セルおよび隣接ＲＯＷ領域Ｒｊの順序セルを接続するクロック信号線を配線する。そのあと、ステップＳ２１０１に戻る。ステップＳ２１０１において、未選択のＲＯＷ領域がない場合（ステップＳ２１０１：Ｎｏ）、一連の処理を終了する。これにより、過剰なクロックバッファＢｊを削除することができ、消費電力の低減化を図ることができる。
【００９２】
このように、本実施の形態によれば、１つのクロックバッファでクロックを供給できる順序セルを縦列配置するＲＯＷ領域Ｒｉの必要個数を、順序セルの総面積およびＲＯＷ面積から決めて調整する。これにより、個数制限された各ＲＯＷ領域Ｒｉに順序セルを集約することができる。したがって、タイミングドリブン配置を考慮した順序セルの集約を実現できクロック信号線の短縮化を図ることができる。また、ＲＯＷ領域Ｒｉの必要個数を最適な個数に調整できるため、クロックバッファＢｉの個数も削減でき、消費電力の低減化を図ることができる。
【００９３】
また、ＲＯＷ領域Ｒｉに採用されなかったＲＯＷ領域候補ｒｉに属する順序セルは、どのＲＯＷ領域Ｒｉにも属さないが、近接するＲＯＷ領域Ｒｉに包含するように移動させることで、可能な限りタイミングドリブン配置を考慮した再配置を実現することができる。
【００９４】
また、クロック系統別に順序セルのクロックピンを整列化することで、クロック系統別のクロック信号線の短縮化を図ることができる。
【００９５】
また、ＲＯＷ領域Ｒｉ，Ｒｊ間の配線長に応じて後段側の隣接ＲＯＷ領域Ｒｊのクロックバッファを削除し、ＲＯＷ領域ＲｉのクロックバッファＢｉからＲＯＷ領域Ｒｉ，Ｒｊの順序セルにクロックを供給する。したがって、タイミングを維持したまま、過剰配置されたクロックバッファによる電力消費を削減し、消費電力の低減化を図ることができる。
【００９６】
以上のことから、本実施の形態によれば、ＲＯＷ領域Ｒｉの個数を調整することにより、順序セルのタイミングを維持しながら消費電力の低減化を図ることができるという効果を奏する。また、クロックバッファ削減により低消費電力化を図ることができる。
【００９７】
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【００９８】
３００  設計支援装置
３０１  設定部
３０２  重複度算出部
３０３  必要個数算出部
３０４  決定部
３０５  特定部
３０６  再配置部
３０７  検出部
３０８  配線長算出部
３０９  判断部
３１０  再配線部
８００  タイミングマージンテーブル
【図１】
2010262572.tif 000003
【図２】
2010262572.tif 000004
【図３】
2010262572.tif 000005
【図４】
2010262572.tif 000006
【図５】
2010262572.tif 000007
【図６】
2010262572.tif 000008
【図７】
2010262572.tif 000009
【図８】
2010262572.tif 000010
【図９】
2010262572.tif 000011
【図１０】
2010262572.tif 000012
【図１１】
2010262572.tif 000013
【図１２】
2010262572.tif 000014
【図１３】
2010262572.tif 000015
【図１４】
2010262572.tif 000016
【図１５】
2010262572.tif 000017
【図１６】
2010262572.tif 000018
【図１７】
2010262572.tif 000019
【図１８】
2010262572.tif 000020
【図１９】
2010262572.tif 000021
【図２０】
2010262572.tif 000022
【図２１】
2010262572.tif 000023