(57)【要約】【課題】ＬＳＩのレイアウト設計において、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）を増加させることなくタイミング収束を実現する。【解決手段】ＬＳＩのレイアウト設計方法は、レイアウト対象の集積回路のネットリストに基づいて、前記集積回路をクロックドメインに分けることでクロックドメイン回路集合体に区分する工程と、前記クロックドメイン回路集合体の各々に対するタイミング制約を作成する工程と、所定の基準に基づいて前記クロックドメイン回路集合体間の配置順序を決定する工程と、前記クロックドメイン回路集合体を前記配置順序に従って配置し配線することにより前記集積回路のレイアウトを作成する工程とを備える。レイアウト設計後のタイミング収束のＴＡＴを短縮することが可能となる。【選択図】図１
2012174226.tif 000002
【特許請求の範囲】
【請求項１】
レイアウト対象の集積回路のネットリストに基づいて、前記集積回路をクロックドメインに分けることでクロックドメイン回路集合体に区分する工程と、
前記クロックドメイン回路集合体の各々に対するタイミング制約を作成する工程と、
所定の基準に基づいて前記クロックドメイン回路集合体間の配置順序を決定する工程と、
前記クロックドメイン回路集合体を前記配置順序に従って配置し配線することにより前記集積回路のレイアウトを作成する工程
とを具備する半導体集積回路のレイアウト設計方法。
【請求項２】
前記区分する工程は、
前記ネットリストをクロック起点より前方探索する工程と、
クロック乗せ換え先フリップフロップを含むクロック乗せ換え先フリップフロップまでの回路をドライバー側のクロックドメイン回路集合体に割付ける工程と、
前記クロック乗せ換え先フリップフロップを更にレシーバー側のクロックドメイン回路集合体に割付ける工程
とを具備する請求項１に記載のレイアウト設計方法。
【請求項３】
前記タイミング制約には、クロック定義、フォルスパス及びマルチサイクルパスが含まれる
請求項１または２に記載のレイアウト設計方法。
【請求項４】
前記配置順序を決定する工程において、動作周波数の高いクロックドメイン回路集合体より順に配置順序が決定される
請求項１から３のいずれかに記載のレイアウト設計方法。
【請求項５】
前記配置順序を決定する工程において、前記配置順序を入力装置から入力されたデータによって変更可能である
請求項１から４のいずれかに記載のレイアウト設計方法。
【請求項６】
更に、前記レイアウトを作成する工程の後に、ＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）とタイミングＥＣＯ（Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｈａｎｇｅ  Ｏｒｄｅｒ）を行う工程を具備し、
前記ＳＴＡ及び前記タイミングＥＣＯは、入力装置からの入力によって選択されたクロックドメイン回路集合体のみを対象に実施される  
請求項１から５のいずれかに記載のレイアウト設計方法。
【請求項７】
前記レイアウトを作成する工程において、ドライバー側クロックドメイン回路集合体を配置し配線する際に、前記集積回路内のクロック乗せ換え回路を予め記憶した配置アルゴリズムによって接続する
請求項１から６のいずれかに記載のレイアウト設計方法。
【請求項８】
前記レイアウトを作成する工程において、レシーバー側クロックドメイン回路集合体を、前記集積回路内の配置済みのクロック乗せ換え回路の近くに予め記憶した配置アルゴリズムによって接続する
請求項１から７のいずれかに記載のレイアウト設計方法。
【請求項９】
更に、前記レイアウトを作成する工程は、
前記クロックドメイン回路集合体を、前記配置順序に従って順次に配置し、前回までのクロックドメイン回路集合体に今回のクロックドメイン回路集合体を結合してｆｉｘｅｄ（固定）属性を設定する工程
を具備する請求項１から8のいずれかに記載のレイアウト設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路（特にＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）のレイアウト設計の分野に関し、特にタイミング収束のためのレイアウト設計に関する。
【背景技術】
【０００２】
ＬＳＩのレイアウト設計の技術分野において、ＬＳＩの回路規模の増加と高速化に伴い、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）を増加させることなくタイミングを収束できるレイアウト設計方法の要求（必要性）が高まってきている。
【０００３】
特許文献１（特に図３、第２ページ参照）には、ＬＳＩの開発設計において、階層レイアウト設計法によりＴＡＴを十分に短縮することを目的とした技術が記載されている。この技術では、ＬＳＩのネットリストを階層に分割する際に、ＬＳＩ全体のフラット配置配線の結果からＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）によりタイミングエラーパスを抽出する前処理が行われる。その後、タイミングエラーパスを含む領域が階層レイアウトブロック（ＨＬＢ：Ｈｉｅｒａｒｃｈｙ  Ｌａｙｏｕｔ  Ｂｌｏｃｋ）に分割され、ＨＬＢごとに階層レイアウトが行われる。
【０００４】
図１２Ａ及び図１２Ｂは、特許文献１の処理手順を示すフローチャートである。ＬＳＩ全体のフラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行う（ステップＳ１）。タイミングエラーが発生したパスを抽出する（ステップＳ２）。抽出されたパスを含む領域を階層レイアウトブロック（ＨＬＢ）に分割する（ステップＳ３〜Ｓ７）。ＨＬＢごとにタイミング制約を分割する（ステップＳ８）。分割されたタイミング制約に基づいて、ＨＬＢごとにレイアウトを行う（ステップＳ９〜Ｓ１１）。レイアウト済みのＨＬＢのデータを結合してフラットの物理設計データを生成する（ステップＳ１２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１１２２９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に例示される従来の技術においては、タイミング収束のイタレーションが増え、レイアウト設計のＴＡＴが増加するという問題がある。その理由は、以下の通りである。昨今のＬＳＩは、数千万ゲートの論理を搭載し、クロック系統が数十系統で構成され、かつ、１つのクロックが複数の論理モジュールに跨っている。そのため特許文献１のように階層レイアウトを行う前処理として全てのクロックとそれに接続する全ての回路、つまり、ＬＳＩの全てをフラットにより配置配線した場合、回路の接続強度に基づき全ての回路が配置される。その結果、局所的な配置混雑やそれに伴う配線混雑、更には配線迂回の発生する可能性が増加する。具体的には、２千万ゲートの論理でクロック系統が５系統相当のＬＳＩでは、局所的な配置配線の混雑がチップの１０％程度発生し、これに伴い配線迂回が発生することになる。
【０００７】
このため、フラットによる初期配置配線（従来技術の階層レイアウトを行う前処理）でタイミングエラーと配線混雑が多数発生した場合、ＨＬＢ分割後のＨＬＢのレイアウト（つまり、階層レイアウト）の際に、タイミング収束のためのセルのサイズアップやリピータを挿入する領域がＨＬＢ内で不足する。その結果、ＨＬＢ内でのタイミング収束ができず、ステップ１に戻り、フロアプランの見直しから行う必要が生じる。
【０００８】
また、ＨＬＢに分割するためには、タイミングバジェット、及び、ＨＬＢ間のクロック遅延の各ＨＬＢへの分配が必要である。各ＨＬＢのタイミングバジェット及びＨＬＢ間のクロック遅延の各ＨＬＢへの分配の仕方によってはタイミングが厳しいＨＬＢが存在し、更にタイミング収束のイタレーションが増加することになる。
【０００９】
レイアウト設計後のタイミング収束のＴＡＴを短縮することが望まれる。
【課題を解決するための手段】
【００１０】
本発明の一側面における半導体集積回路のレイアウト設計方法は、ＬＳＩのネットリストをクロック起点より前方探索し、各クロックに接続される回路を抽出し、クロックドメインごとにレイアウト対象回路の集合体を作成する工程と、クロック乗せ換え先フリップフロップを含むクロック乗せ換え先フリップフロップまでの回路をドライバー側クロックドメイン回路集合体に割付け、乗せ換え先フリップフロップを更にレシーバー側のクロックドメイン回路集合体に割付ける工程と、作成したクロックドメイン回路集合体に対応するタイミング制約を作成する工程と、クロックドメイン回路集合体の配置配線順を決定する工程と、ロックドメイン回路集合体を配置配線し、ＳＴＡとタイミングＥＣＯ（Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｈａｎｇｅ  Ｏｒｄｅｒ）を行う工程と、クロックドメイン回路集合体の配置配線結果を前回の結果に結合し、ｆｉｘｅｄ（固定）属性を設定する工程と、全てのクロックドメイン回路集合体の配置配線を完了したかを判定する工程を有する。
【００１１】
本発明の他の側面における半導体集積回路のレイアウト設計方法は、レイアウト対象の集積回路のネットリストに基づいて、前記集積回路をクロックドメインに分けることでクロックドメイン回路集合体に区分する工程と、前記クロックドメイン回路集合体の各々に対するタイミング制約を作成する工程と、所定の基準に基づいて前記クロックドメイン回路集合体間の配置順序を決定する工程と、前記クロックドメイン回路集合体を前記配置順序に従って配置し配線することにより前記集積回路のレイアウトを作成する工程とを備える。
【発明の効果】
【００１２】
本発明により、レイアウト対象の回路がクロックドメインごとに分けられる。そして例えばタイミングの厳しいクロックドメイン回路集合体から順に配置配線することで、タイミングの厳しいパスのタイミング収束を領域に余裕のある状態で優先的に行うことができる。その結果、レイアウト設計後のタイミング収束のＴＡＴを短縮することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の処理手順を示すフローチャートである。
【図２】図２は、ＬＳＩに含まれる全ての回路の構成例のネットリストＮ１である。
【図３】図３は、図２のＬＳＩのネットリストＮ１より、クロックＡのクロックドメイン回路集合体のネットリストＮ２を作成した例である。
【図４】図４は、図２のＬＳＩのネットリストＮ１より、クロックＢのクロックドメイン回路集合体のネットリストＮ３を作成した例である。
【図５】図５は、図２のＬＳＩのネットリストＮ１より、クロックＣのクロックドメイン回路集合体のネットリストＮ４を作成した例である。
【図６】図６は、ＬＳＩのタイミング制約より、クロック定義、タイミング制約を抽出し、クロックごとのタイミング制約を生成した例である。
【図７】図７は、ＬＳＩのタイミング制約より、クロックドメイン回路集合体の配置配線順を決定した例である。
【図８】図８は、５００ＭＨｚと最も周波数の高いクロックＡのクロックドメイン回路集合体を配置配線した例である。
【図９】図９は、２００ＭＨｚとクロックＡの次に周波数の高いクロックＢのクロックドメイン回路集合体を配置配線した例である。
【図１０】図１０は、最後のクロックドメイン回路集合体であるクロックＣの配置配線結果の例である。
【図１１】図１１は、本発明の処理が実行されるシステム構成図である。
【図１２Ａ】図１２Ａは、従来技術の処理手順を示すフローチャートである。
【図１２Ｂ】図１２Ｂは、従来技術の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して、本発明の実施形態を説明する。
［第１実施形態］
図１１は、本発明の第１実施形態におけるシステム構成図である。本システムは、コンピュータ装置１０とサーバ１４と記録媒体１５とネットワーク１６とで構成される。記録媒体１５は、実行プログラムを格納しサーバ１４に保持されている。サーバ１４は、インターネットなどのネットワーク１６を介してエンジニアリングワークステーション等のコンピュータ装置１０に接続される。記録媒体１５に格納されている実行プログラムは、ネットワーク１６を介してコンピュータ装置１０にダウンロードされる。ダウンロードされたプログラムは、コンピュータ装置１０のローカルなハードディスク或はメモリなどにストアされて実行処理を行う構成になっている。
【００１５】
図１は、本発明の処理手順を示すフローチャートである。
ＬＳＩのネットリストを各クロックの起点より前方探索して各クロックに接続される回路を抽出し、クロックドメインごとのレイアウト対象回路の集合体（以降、クロックドメイン回路集合体と称す）を作成する（ステップＳ１０１）。クロック乗せ換え先フリップフロップを含むクロック乗せ換え先フリップフロップまでの回路をドライバー側クロックドメイン回路集合体に割付ける。そして乗せ換え先フリップフロップを更にレシーバー側のクロックドメイン回路集合体にも割付ける（ステップＳ１０２）。クロックドメインごとにタイミング制約を作成する（ステップＳ１０３）。
【００１６】
クロックドメイン回路集合体の配置配線順を決定する（ステップＳ１０４）。クロックドメイン回路集合体を配置配線した後（ステップＳ１０５）、静的タイミング解析（ＳＴＡ：Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）を実行し（ステップＳ１０６）、タイミング制約を満たしているか判断する（ステップＳ１０７）。ステップＳ１０７にてタイミング制約を満たしていなければ（Ｎｏ）、タイミングＥＣＯ、つまり、タイミング調整のための回路変更によりタイミングを収束させ（ステップＳ１０８）、ステップＳ１０６に戻る。
【００１７】
ステップＳ１０７にてタイミング制約を満たしていれば（Ｙｅｓ）、今回のクロックドメイン回路集合体の配置配線の結果を前回の配置配線結果に結合し、座標が変更されないようｆｉｘｅｄ（固定）属性を設定する（ステップＳ１０９）。全てのクロックドメイン回路集合体の配置配線を終えた時点で処理を完了する（ステップＳ１０１０）。
【００１８】
図２から図１０を用いて、図１の処理フローを具体的に説明する。
レイアウト対象の半導体集積回路（ＬＳＩ）のネットリストＮ１が予め記録媒体に格納される。このネットリストＮ１に基づいて、集積回路をクロックドメインに分けることで複数のクロックドメイン回路集合体に区分する。具体的には、ネットリストＮ１を各クロックＡ〜Ｃの起点より前方探索し、各クロックＡ〜Ｃに接続されるフリップフロップＬ２、Ｌ４、Ｌ８、Ｌ１０、Ｌ１１、Ｌ１５、Ｌ１７、Ｌ１９と、回路Ｌ１、Ｌ３、Ｌ５、Ｌ６、Ｌ７、Ｌ９、Ｌ１２、Ｌ１３、Ｌ１４、Ｌ１６、Ｌ１８、Ｌ２０を抽出し、クロックＡ〜Ｃのクロックドメイン回路集合体のネットリストＮ２〜Ｎ４を作成する（ステップＳ１０１）。
【００１９】
次いで、クロック乗せ換え部のクロック乗せ換え先フリップフロップＬ１１をドライバー側、つまり、クロック乗せ換え元のクロックＡのクロックドメイン回路集合体に割付ける（ステップＳ１０２）。
【００２０】
ここで、クロック乗せ換えフリップフロップＬ１１は、前記ステップＳ１０１により、レシーバー側、つまり、クロック乗せ換え先のクロックＢのクロックドメイン回路集合体にも割付けられることになる。これにより、クロック乗せ換え先フリップフロップＬ１１までの回路を含むドライバー側のクロックＡのクロックドメイン回路集合体と、クロック乗せ換え先フリップフロップＬ１１を含むレシーバー側のクロックＢのクロックドメイン回路集合体が作成される。
【００２１】
図２は、ＬＳＩに含まれる全ての回路を示している。Ｎ１は回路の全体のネットリストである。Ｌ１〜Ｌ６の回路はクロックＡ（５００ＭＨｚ）に接続されるフリップフロップＬ２、Ｌ４と回路Ｌ１、Ｌ３、Ｌ５、Ｌ６である。Ｌ７〜Ｌ１３はクロックＢ（２００ＭＨｚ）に接続されるフリップフロップＬ８、Ｌ１０、Ｌ１１と回路Ｌ７、Ｌ９、Ｌ１２、Ｌ１３である。Ｌ１４〜Ｌ２０はクロックＣ（６０ＭＨｚ）に接続されるフリップフロップＬ１５、Ｌ１７、Ｌ１９と回路Ｌ１４、Ｌ１６、Ｌ１８、Ｌ２０である。ここで、フリップフロップＬ１１はクロックＡから、クロックＢにクロック乗せ換えのあるフリップフロップである。
【００２２】
図３は、図２のＬＳＩのネットリストＮ１より、クロックＡのクロックドメイン回路集合体のネットリストＮ２を作成した例である。Ｌ１〜Ｌ６はクロックＡに接続されるフリップフロップＬ２、Ｌ４と回路Ｌ１、Ｌ３、Ｌ５、Ｌ６である。フリップフロップＬ１１はクロックＡからクロックＢにクロックが乗せ換えられるフリップフロップであり、ドライバー側であるクロックＡの回路集合体に含める。
【００２３】
図４は、図２のＬＳＩのネットリストＮ１より、クロックＢのクロックドメイン回路集合体のネットリストＮ３を作成した例である。Ｌ７〜Ｌ１３はクロックＢに接続されるフリップフロップＬ８、Ｌ１０、Ｌ１１と回路Ｌ７、Ｌ９、Ｌ１２、Ｌ１３である。フリップフロップＬ１１はクロックＡからクロックＢにクロックが乗せ換えられるフリップフロップであり、ドライバー側クロックＡの回路集合体に含めると共に、レシーバー側であるクロックＢの回路集合体にも含める。
【００２４】
図５は、図２のＬＳＩのネットリストＮ１より、クロックＣのクロックドメイン回路集合体のネットリストＮ４を作成した例である。Ｌ１４〜Ｌ２０の回路はクロックＣに接続されるフリップフロップＬ１５、Ｌ１７、Ｌ１９と回路Ｌ１４，Ｌ１６、Ｌ１８、Ｌ２０である。
【００２５】
次いで、ＬＳＩのタイミング制約から、各クロックドメイン回路集合体のクロック名に対応するクロック定義、フォルスパス、マルチサイクルパス等の全てのタイミング制約を抽出することで、クロックドメイン回路集合体ごとのタイミング制約を作成する（ステップＳ１０３）。
【００２６】
図６は、ＬＳＩのタイミング制約より、クロックＡ、クロックＢ、クロックＣに関連するクロック定義、フォルスパス、マルチサイクルパス等のタイミング制約を抽出し、クロックＡ〜Ｃごとのタイミング制約と生成した例である。ＬＳＩ全体のタイミング制約から、クロックＡ〜Ｃの各々に関する制約を抽出することによって、個々のクロックのタイミング制約を生成する。これにより、各クロックドメイン回路集合体に対応するタイミング制約が得られる。
【００２７】
次いで、ＬＳＩのタイミング制約を基に、所定の基準に基づいて、クロックドメイン回路集合体の配置配線順を決定する（ステップＳ１０４）。特に、周波数の高いクロックより順に配置配線順を決定することがＴＡＴを短縮するために効果的である。
【００２８】
図７は、ＬＳＩのタイミング制約より、クロックドメイン回路集合体の配置配線順を決定した例である。動作周波数が５００ＭＨｚの一番高いクロックＡが最初の配置配線対象に決定される。次いで動作周波数が２００ＭＨｚのクロックＢ、動作周波数が６０ＭＨｚのクロックＣと配置配線の順を決定する。なお、決定された順序は入力装置からの手動の入力操作により任意に入れ替えることを可能とする。
【００２９】
次いで、ステップＳ１０４で決定したクロックドメイン回路集合体の配置配線順に従い、ステップＳ１０２で作成したクロックドメイン回路集合体のネットリストＮ２〜Ｎ４に対応する回路のレイアウトを行う。まず、対象のクロックドメイン回路集合体を配置配線する。配置配線するクロックドメイン回路集合体の順序は、入力装置からの入力操作によって適宜、変更することができる。次に、配置配線されたクロックドメイン回路集合体に対してＳＴＡを行い（ステップＳ１０６）、タイミング違反がないかを判定する（ステップＳ１０７）。タイミング違反のある場合（Ｎｏ）、タイミングＥＣＯによりタイミング違反を修正する（ステップＳ１０８）。
【００３０】
ここで、ステップ１０２でクロックＡのクロックドメイン回路集合体にクロック乗せ換え先フリップフロップＬ１１までの回路を含めている。そのため、一般的な技術による配置アルゴリズムを予め記録媒体１５に格納しておき、そのアルゴリズムによって配置を行うと、クロック乗せ換え先フリップフロップＬ１１は、クロック乗せ換え先フリップフロップＬ１１をドライブするフリップフロップＬ４と回路Ｌ６の近くに配置される。また、以降のクロック乗せ換えのフリップフロップＬ１１が属するクロックドメイン回路集合体の配置配線を行う際、クロックＡのクロックドメイン回路集合体が既配置となっているため、フリップフロップＬ１１にドライブされる回路Ｌ１２は、一般的な配置技術により、フリップフロップＬ１１の近くに配置される。
【００３１】
ここで、クロック乗せ換え先フリップフロップＬ１１を含むクロックＢのクロックドメイン回路集合体を先に配置配線する場合は、一般的な配置技術により当該フリップフロップＬ１１はタイミングを満たす適切な位置に配置される。クロック乗せ換え元のクロックＡのクロックドメイン回路集合体を配置配線する際は、クロック乗せ換え先フリップフロップＬ１１が既配置となっているため、フリップフロップＬ１１をドライブするフリップフロップＬ４と回路Ｌ６は、一般的な配置技術により、フリップフロップＬ１１の近くに配置される。なお、配置配線、ＳＴＡ、タイミングＥＣＯは一般の技術を利用することでよい（ステップＳ１０５、ステップＳ１０８）。
【００３２】
図８は、５００ＭＨｚと最も周波数の高いクロックＡのクロックドメイン回路集合体を配置配線した例である。Ｃ１はＬＳＩチップ、Ｌ８０１はクロックＡに接続される回路、Ｗ８０１は配線、Ｌ８０３はクロック乗せ換え回路を示す。このように、周波数の高いクロックＡに接続される回路Ｌ８０１は、チップの領域を自由に使い配置配線することができ、タイミングの収束を容易にすることができる。ここで、クロック乗せ換え回路Ｌ８０３は、ドライバー側の回路Ｌ８０２との接続関係により、一般的な配置ツールを使用することで、ドライバー側の回路Ｌ８０２の近くに配置されることになる。
【００３３】
なお、配置配線でタイミング収束を行うために追加した回路がある場合には、ステップ１０１で作成したクロックドメイン回路集合体のネットリストＮ２に追加された回路を追加する。これにより、ＳＴＡを行う際、各クロックドメイン回路集合体のネットリストＮ２〜Ｎ４を用いることで、ＳＴＡの対象とするクロックドメイン回路集合体を特定する。
【００３４】
次いで、ステップＳ１０７の判定でタイミングを満たしている場合（Ｙｅｓ）、タイミングが収束したクロックドメイン回路集合体の配置配線結果を、以前のクロックドメイン回路集合体の配置配線結果に結合する。結合後、次のクロックドメイン回路集合体の配置配線で配置と配線が変更されないようにＦｉｘｅｄ属性を設定する（ステップＳ１０９）。
【００３５】
次いで、未配置配線のクロックドメイン回路集合体がある場合には、ステップＳ１０５に戻る。未配置配線のクロックドメイン回路集合体がなくなるまで、ステップＳ１０５以降の処理を繰り返し、未配置配線のクロックドメイン回路集合体が無くなった時点で処理を完了する（ステップＳ１０１０）。
【００３６】
図９は、２００ＭＨｚとクロックＡの次に周波数の高いクロックＢのクロックドメイン回路集合体を配置配線した例である。Ｃ２はＬＳＩチップ、Ｌ９０１はクロックＡに接続される既配置の回路を示す。Ｗ９０１はクロックＡに接続される既配置の回路の配線を示す。Ｌ９０４はクロックＢに接続される回路、Ｗ９０２はクロックＢに接続される回路の配線を示す。ここで、クロック乗せ換え回路Ｌ９０３は、前記のクロックＡのクロックドメイン回路集合体の配置配線の際に、既配置となっており、Ｌ９０３クロック乗せ換え回路のレシーバー側回路Ｌ９０５は、一般的な配置ツールにより、クロック乗せ換えセルＬ９０３の近くに配置されることになる。
【００３７】
このように、クロックＢのクロックドメイン回路集合体の配置配線を行う前に、前回のクロックＡのクロックドメイン回路集合体の配置配線結果を結合することで、クロックＡのクロックドメイン回路集合体の既配置配線結果を考慮したクロックＢのクロックドメイン回路集合体の配置配線を行うことができる。
【００３８】
図１０は、最後のクロックドメイン回路集合体であるクロックＣの配置配線結果の例であり、Ｃ３はＬＳＩチップを示し、図９と同様に、既配置配線の回路以外の領域にクロックＣに接続されるクロックドメイン回路集合体が配置配線される。
【００３９】
以上に説明した第１実施形態におけるレイアウト設計方法により、以下の効果が得られる。作成したクロックドメイン回路集合体の内、タイミングの厳しいクロックドメイン回路集合体から順に配置配線することで、タイミングの厳しいパスのタイミング収束を領域に余裕のある状態で優先的に行うことができる。タイミングの厳しいパス上の回路をタイミングを満たす自由な位置に配置配線できるため、レイアウト設計のタイミング収束のＴＡＴを短縮することが可能となる。
【００４０】
尚、全てのクロックドメイン回路集合体の配置配線が完了した後、ＬＳＩチップＣ３のＳＴＡを実施した結果、クロストーク等によるタイミング違反が生じた場合においても、クロックＡ〜Ｃのクロックドメイン回路集合体のタイミングはフィックスしており、回路配置及び配線の微調整によりＬＳＩチップＣ３全体のタイミング違反を修正することが可能となる。
【００４１】
［第２実施形態］
本発明を実施するためのシステム構成は第１実施形態と同じであり、説明は省略する。第１実施形態においては、ＬＳＩのタイミング制約を基に、周波数の高いクロックより順に、クロックドメイン回路集合体の配置配線順を決定した（ステップＳ１０４）。第２実施形態では、この配置配線の順序に関して、複数のクロックドメイン回路集合体を同順序とし、同時に配置配線の対象とする。この同順序のクロックドメイン回路集合体は、外部からの入力によって指定することができる。
【００４２】
関連のある複数のクロックドメイン回路集合体をまとめて配置配線することで、クロックドメイン回路集合体間の接続関係を考慮した配置配線を行い、関連するクロックドメインの回路のタイミングの収束を容易にすることができる。更に、ある程度以上低速なクロックドメイン回路集合体はタイミング収束が容易であると考えられるため、それらをまとめて配置配線することで、配置配線の回数を減らし、レイアウト設計のＴＡＴを削減することができる。
【符号の説明】
【００４３】
Ａ、Ｂ、Ｃ  クロック
Ｎ１、Ｎ２、Ｎ３、Ｎ４  ネットリスト
Ｌ１、Ｌ３、Ｌ５、Ｌ６、Ｌ７、Ｌ９、Ｌ１２、Ｌ１３、Ｌ１４、Ｌ１６、Ｌ１８、Ｌ２０  回路
Ｌ２、Ｌ４、Ｌ８、Ｌ１０、Ｌ１１、Ｌ１５、Ｌ１７、Ｌ１９  フリップフロップ
Ｃ１、Ｃ２、Ｃ３  ＬＳＩチップ
Ｌ８０１、Ｌ８０２，Ｌ８０３、Ｌ９０１、Ｌ９０３、Ｌ９０４、Ｌ９０５  回路
Ｗ８０１、Ｗ９０１、Ｗ９０２  配線
１０  コンピュータ装置
１４  サーバ
１５  記録媒体
１６  ネットワーク
【図１】
2012174226.tif 000003
【図２】
2012174226.tif 000004
【図３】
2012174226.tif 000005
【図４】
2012174226.tif 000006
【図５】
2012174226.tif 000007
【図６】
2012174226.tif 000008
【図７】
2012174226.tif 000009
【図８】
2012174226.tif 000010
【図９】
2012174226.tif 000011
【図１０】
2012174226.tif 000012
【図１１】
2012174226.tif 000013
【図１２Ａ】
2012174226.tif 000014
【図１２Ｂ】
2012174226.tif 000015