(57)【要約】【課題】タイミング問題による後戻り工数を削減し、チップの開発期間を短縮できる半導体集積回路のレイアウト方法およびレイアウトシステムを提供する。【解決手段】機能毎に分割された複数のブロックから構成される半導体集積回路のレイアウト設計において、ブロック間に接続される論理パス、その論理パスに接続されるブロック内の順序回路、およびその順序回路に接続されるクロックパスを含む境界回路を抽出し、境界回路の配置および配線の少なくともいずれかを固定する第１レイアウトを行い、各ブロックに形成される端子の位置を決定し、各ブロック内の回路の配置および配線を固定する第２レイアウトをブロック毎に独立して行う。この結果、異なるブロック間の配線のタイミングはレイアウト設計の初期段階で収束し、レイアウト設計の上流工程または論理設計までの後戻りを防止できる。【選択図】      図９
2004192227.tif 000002
【特許請求の範囲】
【請求項１】
機能毎に分割された複数のブロックから構成される半導体集積回路のレイアウト方法であって、
前記ブロック間に接続される論理パス、前記論理パスに接続される前記ブロック内の順序回路および前記順序回路に接続されるクロックパスを含む境界回路を抽出する境界回路抽出を行い、
前記境界回路の配置および配線の少なくともいずれかを固定する第１レイアウトを行い、
前記各ブロックに形成される端子の位置を決定するブロック端子配置を行い、
前記各ブロック内の回路の配置および配線を固定する第２レイアウトを、前記ブロック毎に独立して行うことを特徴とする半導体集積回路のレイアウト方法。
【請求項２】
請求項１の半導体集積回路のレイアウト方法において、
前記第１レイアウトは、前記境界回路についての予め決められた配置制約および第１タイミング制約を用いて行う第１タイミングドリブンレイアウトであり、
前記第２レイアウトは、前記ブロック毎に第２タイミング制約を用いて行う第２タイミングドリブンレイアウトであり、
前記第２タイミング制約は、前記論理パスおよび前記クロックパスにおける前記各ブロック内でのタイミング制約であることを特徴とする半導体集積回路のレイアウト方法。
【請求項３】
請求項２の半導体集積回路のレイアウト方法において、
前記第１タイミングドリブンレイアウト後に、前記境界回路内へのバッファの挿入、前記論理パスの駆動能力の変更、前記クロックパスの駆動能力の変更、クロックスキューの調整、前記論理パスの配線経路の修正、および前記クロックパスの配線経路の修正の少なくともいずれかによる第１タイミング調整と、前記第１タイミングドリブンレイアウトとを、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウト方法。
【請求項４】
請求項２の半導体集積回路のレイアウト方法において、
前記第２タイミングドリブンレイアウト後に、前記ブロック内へのバッファの挿入、前記ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、前記ブロック内順序回路に接続されるクロックパスの駆動能力の変更、クロックスキューの調整、前記ブロック内の論理パスの配線経路の修正、前記ブロック内のクロックパスの配線経路の修正、および前記ブロック内順序回路の配置位置の調整の少なくともいずれかによる第２タイミング調整と、前記第２タイミングドリブンレイアウトとを、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウト方法。
【請求項５】
請求項２の半導体集積回路のレイアウト方法において、
前記第２タイミングドリブンレイアウト後に、前記各ブロックをチップ上の予め決められた位置に配置するブロック結合を行い、
前記境界回路内へのバッファの挿入、前記論理パスの駆動能力の変更、前記クロックパスの駆動能力の変更、前記境界回路内でのクロックスキューの調整、前記論理パスの配線経路の修正、前記クロックパスの配線経路の修正、前記境界回路内の順序回路の配置位置の調整、前記ブロック内へのバッファの挿入、前記ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、前記ブロック内順序回路に接続されるクロックパスの駆動能力の変更、前記ブロック内の論理パスの配線経路の修正、および前記ブロック内のクロックパスの配線経路の修正の少なくともいずれかによる第３タイミング調整を、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウト方法。
【請求項６】
機能毎に分割された複数のブロックから構成される半導体集積回路のレイアウトシステムであって、
前記ブロック間に接続される論理パス、前記論理パスに接続される前記ブロック内の順序回路および前記順序回路に接続されるクロックパスを含む境界回路を抽出する境界回路抽出を行い、前記境界回路の配置および配線の少なくともいずれかを固定する第１レイアウトを行い、前記各ブロックに形成される端子の位置を決定するブロック端子配置を行い、前記各ブロック内の回路の配置および配線を固定する第２レイアウトを、前記ブロック毎に独立して行うプログラムを格納する記憶部と、
前記記憶部に格納された前記プログラムを実行する制御部とを備えていることを特徴とする半導体集積回路のレイアウトシステム。
【請求項７】
請求項６の半導体集積回路のレイアウトシステムにおいて、
前記第１レイアウトは、前記境界回路についての予め決められた配置制約および第１タイミング制約を用いて行う第１タイミングドリブンレイアウトであり、
前記第２レイアウトは、前記ブロック毎に第２タイミング制約を用いて行う第２タイミングドリブンレイアウトであり、
前記第２タイミング制約は、前記論理パスおよび前記クロックパスにおける前記各ブロック内でのタイミング制約であることを特徴とする半導体集積回路のレイアウトシステム。
【請求項８】
請求項７の半導体集積回路のレイアウトシステムにおいて、
前記制御部は、前記第１タイミングドリブンレイアウト後に、前記境界回路内へのバッファの挿入、前記論理パスの駆動能力の変更、前記クロックパスの駆動能力の変更、クロックスキューの調整、前記論理パスの配線経路の修正、および前記クロックパスの配線経路の修正の少なくともいずれかによる第１タイミング調整と、前記第１タイミングドリブンレイアウトとを、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウトシステム。
【請求項９】
請求項７の半導体集積回路のレイアウトシステムにおいて、
前記制御部は、前記第２タイミングドリブンレイアウト後に、前記ブロック内へのバッファの挿入、前記ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、前記ブロック内順序回路に接続されるクロックパスの駆動能力の変更、クロックスキューの調整、前記ブロック内の論理パスの配線経路の修正、前記ブロック内のクロックパスの配線経路の修正、および前記ブロック内順序回路の配置位置の調整の少なくともいずれかによる第２タイミング調整と、前記第２タイミングドリブンレイアウトとを、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウトシステム。
【請求項１０】
請求項７の半導体集積回路のレイアウトシステムにおいて、
前記制御部は、前記第２タイミングドリブンレイアウト後に、前記各ブロックをチップ上の予め決められた位置に配置するブロック結合を行い、前記境界回路内へのバッファの挿入、前記論理パスの駆動能力の変更、前記クロックパスの駆動能力の変更、前記境界回路内でのクロックスキューの調整、前記論理パスの配線経路の修正、前記クロックパスの配線経路の修正、前記境界回路内の順序回路の配置位置の調整、前記ブロック内へのバッファの挿入、前記ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、前記ブロック内順序回路に接続されるクロックパスの駆動能力の変更、前記ブロック内の論理パスの配線経路の修正、および前記ブロック内のクロックパスの配線経路の修正の少なくともいずれかによる第３タイミング調整を、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウトシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウト方法および半導体集積回路のレイアウトシステムに関する。
【０００２】
【従来の技術】
近年のプロセスの微細化に伴い、大規模、高速な半導体集積回路の開発が盛んになっている。これに伴い、半導体集積回路のチップ全体についてのタイミングドリブンレイアウトでは、対象とする回路規模が大きくなり、制約条件はさらに厳しくなる。そのため、レイアウト処理の収束時間は大幅に増加し、論理回路全体を一度にレイアウトすることは困難になってきている。そこで、大規模、高速な半導体集積回路のレイアウト設計においては、ブロック毎に設計を行う階層レイアウト設計が行われている。
【０００３】
従来の階層レイアウト設計では、まず階層分割されたブロック毎が個別にレイアウトされる。次に、個別にレイアウトされたブロックの端子がチップの最上位階層で接続されることで、異なるブロック間の配線が完了する。そして、チップ全体のレイアウトが完了する。
また、半導体集積回路のレイアウト設計の一方式では、まず半導体集積回路の入出力バッファを除く内部回路のみのレイアウトが行われる。次に、所望の遅延特性を保証する入出力バッファが選択される。そして、選択された入出力バッファを用いて、内部回路と入出力バッファ間の配置および配線が行われる（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開平８−２１３４６７号公報
【０００５】
【発明が解決しようとする課題】
従来の階層レイアウト設計においては、各ブロックのレイアウト設計が個別に行われた後、チップの最上位階層において異なるブロック間の配線が行われる。そのため、タイミング制約が各ブロックに適切に与えられていない場合には、レイアウト設計の収束は困難になる。具体的には、チップの最上位階層において各ブロックの端子を相互に接続した際に、所望のタイミング条件を満たすことができなくなる。
【０００６】
レイアウト設計が収束しない場合には、レイアウト設計の上流工程（例えば、フロアプラン）までの後戻りが発生する。最悪の場合には、論理設計までの後戻りが発生する。この結果、半導体集積回路チップの開発期間および開発コストが大幅に増大してしまう。
また、半導体集積回路の大規模化および高速化に伴い、設計開始からチップが完成するまでの開発期間は長期化している。しかしながら、製品開発期間の短縮という市場からの要求は、益々強くなってきている。
【０００７】
本発明の目的は、レイアウト設計におけるレイアウト処理時間を短縮することにある。また、本発明の別の目的は、半導体集積回路チップの開発期間を短縮することにある。
【０００８】
【課題を解決するための手段】
請求項１の半導体集積回路のレイアウト方法および請求項６の半導体集積回路のレイアウトシステムでは、まず境界回路が抽出される。境界回路は、機能毎に分割されたブロック間に接続される論理パス（いわゆるデータパス）、その論理パスに接続されるブロック内の順序回路およびその順序回路に接続されるクロックパスを含んでいる。次に、抽出された境界回路の配置および配線の少なくともいずれかを固定する第１レイアウトが行われる。その後、各ブロックに形成される端子の位置を決定するブロック端子配置が行われる。そして、各ブロック内の回路の配置および配線を固定する第２レイアウトが、ブロック毎に独立して行われる。すなわち、各ブロック内の回路のレイアウトが行われる前に、境界回路のレイアウトが行われる。
【０００９】
大規模な半導体集積回路において、境界回路は、論理回路全体に比べ非常に小規模である。このため、境界回路のレイアウト（第１レイアウト）は短時間で完了することができる。また、各ブロック内の回路のレイアウト（第２レイアウト）が行われる前に、境界回路のレイアウト（第１レイアウト）が行われることで、異なるブロック間の配線のタイミングをレイアウト設計の初期段階で収束させておくことができる。この結果、レイアウト設計の上流工程または論理設計までの後戻りを防止できる。従って、レイアウト設計におけるレイアウト処理時間を短縮することができる。換言すれば、半導体集積回路チップの開発期間を短縮でき、半導体集積回路チップの製造コストを削減できる。
【００１０】
請求項２の半導体集積回路のレイアウト方法および請求項７の半導体集積回路のレイアウトシステムでは、境界回路が抽出された後に、境界回路についての予め決められた配置制約および第１タイミング制約を用いて、抽出された境界回路の配置および配線を固定する第１タイミングドリブンレイアウトが、第１レイアウトとして行われる。次に、境界回路内の論理パスおよびクロックパスにおける各ブロック内での第２タイミング制約が生成される。そして、第２タイミング制約を用いて、各ブロック内の回路の配置および配線を固定する第２タイミングドリブンレイアウトが、第２レイアウトとしてブロック毎に独立して行われる。
【００１１】
タイミングドリブンレイアウト手法を用いて第１および第２レイアウトが行われる場合にも、異なるブロック間の配線のタイミングをレイアウト設計の初期段階で収束させておくことができる。この結果、レイアウト設計の上流工程または論理設計までの後戻りを防止できる。従って、レイアウト設計におけるレイアウト処理時間を短縮することができる。換言すれば、半導体集積回路チップの開発期間を短縮でき、半導体集積回路チップの製造コストを削減できる。
【００１２】
請求項３の半導体集積回路のレイアウト方法および請求項８の半導体集積回路のレイアウトシステムでは、境界回路が抽出された後に、所望のタイミング条件が満たされるまで、第１タイミングドリブンレイアウトと第１タイミング調整が繰り返し行われる。第１タイミング調整は、境界回路内へのバッファの挿入、境界回路内の論理パスの駆動能力の変更、境界回路内のクロックパスの駆動能力の変更、クロックスキューの調整、境界回路内の論理パスの配線経路の修正、および境界回路内のクロックパスの配線経路の修正の少なくともいずれかにより行われる。
【００１３】
境界回路について、第１タイミングドリブンレイアウトと第１タイミング調整が、所望のタイミング条件を満たすまで繰り返し行われることで、半導体集積回路チップの動作速度および動作マージンを向上させることができる。
請求項４の半導体集積回路のレイアウト方法および請求項９の半導体集積回路のレイアウトシステムでは、第２タイミング制約が生成された後に、所望のタイミング条件が満たされるまで、ブロック毎に独立して、第２タイミングドリブンレイアウトと第２タイミング調整が繰り返し行われる。第２タイミング調整は、ブロック内へのバッファの挿入、ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、ブロック内順序回路に接続されるクロックパスの駆動能力の変更、クロックスキューの調整、ブロック内の論理パスの配線経路の修正、ブロック内のクロックパスの配線経路の修正、およびブロック内順序回路の配置位置の調整の少なくともいずれかにより行われる。
【００１４】
各ブロックについて、第２タイミングドリブンレイアウトと第２タイミング調整が、所望のタイミング条件を満たすまで繰り返し行われることで、半導体集積回路チップの動作速度および動作マージンを向上させることができる。
請求項５の半導体集積回路のレイアウト方法および請求項１０の半導体集積回路のレイアウトシステムでは、第２タイミングドリブンレイアウトが行われた後に、各ブロックをチップ上の予め決められた位置に配置するブロック結合が行われる。次に、所望のタイミング条件が満たされるまで、第３タイミング調整が繰り返し行われる。第３タイミング調整は、境界回路内へのバッファの挿入、境界回路内の論理パスの駆動能力の変更、境界回路内のクロックパスの駆動能力の変更、境界回路内でのクロックスキューの調整、境界回路内の論理パスの配線経路の修正、境界回路内のクロックパスの配線経路の修正、境界回路内の順序回路の配置位置の調整、ブロック内へのバッファの挿入、ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、ブロック内順序回路に接続されるクロックパスの駆動能力の変更、ブロック内の論理パスの配線経路の修正、およびブロック内のクロックパスの配線経路の修正の少なくともいずれかにより行われる。
【００１５】
論理回路全体について、第３タイミング調整が、所望のタイミング条件を満たすまで繰り返し行われることで、半導体集積回路チップの動作速度および動作マージンを向上させることができる。
【００１６】
【発明の実施の形態】
以下、図面を用いて本発明の実施形態を説明する。
図１〜図９は、本発明の半導体集積回路のレイアウト方法および半導体集積回路のレイアウトシステムの第１の実施形態を示している。この実施形態は、請求項１〜請求項４および請求項６〜請求項９に対応している。
図１に示すように、本発明のレイアウトシステムＳＹＳは、レイアウト用プログラムを記録したＣＤ−ＲＯＭ２２またはフレキシブルディスク２４などの記録媒体と、ワークステーションＷＳとから構成されている。ワークステーションＷＳは、画面表示を行うディスプレイ１０と、キーを押して指示を行うキーボード１２と、ＣＰＵ１６（制御部）、ハードディスク１８（記憶部）および記録媒体ドライブ装置２０が内蔵された制御装置１４とを有している。記録媒体ドライブ装置２０には、ＣＤ−ＲＯＭ２２またはフレキシブルディスク２４が装着可能である。ワークステーションＷＳは、記録媒体ドライブ装置２０にＣＤ−ＲＯＭ２２またはフレキシブルディスク２４を装着後、キーボード１２を介して入力される指示により、ＣＤ−ＲＯＭ２２またはフレキシブルディスク２４に記録されたレイアウト用プログラムをハードディスク１８にダウンロードする。ワークステーションＷＳは、ＣＰＵ１６がレイアウト用プログラムを実行することにより、半導体集積回路のレイアウト処理が可能になる。すなわち、ワークステーションＷＳは、半導体集積回路を設計するレイアウトシステムＳＹＳとして機能する。
【００１７】
図２〜図８は、第１の実施形態におけるレイアウト処理の概要を示している。図２に示すように、半導体集積回路ＣＨＩＰは、機能毎に分割されたブロックＢＬＫ（ＢＬＫ１〜ＢＬＫ４）およびクロック生成回路ＣＰＧから構成される。ここで、クロック生成回路ＣＰＧは、内部回路の配置と配線および端子の位置が既に固定されたブロック（マクロブロック）である。また、ブロックＢＬＫおよびクロック生成回路ＣＰＧの半導体集積回路ＣＨＩＰ上での位置（レイアウト領域（図２破線枠））は、予めフロアプランが行われることにより決められている。なお、フロアプランは、レイアウトシステムＳＹＳにより行われても、人手により行われてもよい。
【００１８】
まず、レイアウトシステムＳＹＳは、レイアウト処理する半導体集積回路ＣＨＩＰ内の回路の接続関係を示すネットリストおよびフロアプラン情報から境界回路ＢＣを抽出する。境界回路ＢＣは、ブロックＢＬＫ間に接続される論理パス（いわゆるデータパス）、その論理パスに接続されるブロックＢＬＫ内の初段のフリップフロップ（順序回路）、およびそのフリップフロップに接続されるクロックパスを含む。
【００１９】
例えば、図３に示すように、境界回路ＢＣは、ブロックＢＬＫ１とブロックＢＬＫ２の間に接続される論理パスＬＰ、論理パスＬＰに接続されるブロックＢＬＫ１内のフリップフロップＦＦ１とブロックＢＬＫ２内のフリップフロップＦＦ２、およびフリップフロップＦＦ１とフリップフロップＦＦ２に接続されるクロックパスＣＰを含む。論理パスＬＰは、組合せ回路ＣＬ１および組合せ回路ＣＬ２を含む。また、クロックパスＣＰはクロックドライバＣＤ１およびクロックドライバＣＤ２を含む。
【００２０】
レイアウトシステムＳＹＳによる境界回路ＢＣの抽出は、例えば、クロック生成回路ＣＰＧを出発点として、ネットリストおよびフロアプラン情報を探索することにより行われる。ネットリストの探索は、例えば、セルの種類（組合せ回路セルまたは順序回路セル）、セルの端子の種類（データ端子またはクロック端子）、セルの端子の入出力属性（入力端子または出力端子）、およびセルが属するブロックＢＬＫを示すセルのブロック属性を用いて行われる。これにより、レイアウトシステムＳＹＳは境界回路ＢＣを容易に抽出できる。
【００２１】
次に、図４に示すように、レイアウトシステムＳＹＳは、抽出された論理パスＬＰおよびクロックパスＣＰを含む境界回路ＢＣ（図４網掛部）の配置および配線の少なくともいずれかを固定するために、第１タイミングドリブンレイアウトを行う。第１タイミングドリブンレイアウトは、予め決められた配置制約（セルのブロック属性）および第１タイミング制約を用いて行われる。第１タイミング制約は、例えば、半導体集積回路ＣＨＩＰの動作周波数、クロックの遅延時間の差（クロックスキュー）、およびフリップフロップ間の信号伝播の遅延時間である。なお、第１タイミング制約は、レイアウトシステムＳＹＳにより生成されても、人手により生成されてもよい。また、境界回路ＢＣの各セルは、ブロック属性に基づいて、フロアプランによって決められたブロックＢＬＫのレイアウト領域内に配置される。
【００２２】
次に、レイアウトシステムＳＹＳは、第１タイミングドリブンレイアウトにより得られた境界回路ＢＣのレイアウト結果に対して、第１タイミング調整を行う。第１タイミング調整は、以下の（１）〜（５）の少なくともいずれかにより行われる。なお、第１タイミング調整は、人手により行われてもよい。
（１）境界回路ＢＣ内へのバッファの挿入
（２）境界回路ＢＣ内の論理パスの駆動能力の変更
（３）境界回路ＢＣ内のクロックパスの駆動能力の変更、クロックスキューの調整
（４）境界回路ＢＣ内の論理パスの配線経路の修正
（５）境界回路ＢＣ内のクロックパスの配線経路の修正
なお、第１タイミングドリブンレイアウトを行う際に、クロックパスの遅延時間は０としてもよい。
【００２３】
この後、レイアウトシステムＳＹＳは、第１タイミングドリブンレイアウトおよび第１タイミング調整により得られた境界回路ＢＣのレイアウト結果が、所望のタイミング条件を満たすか否かを判定する。所望のタイミング条件が満たされない場合、レイアウトシステムＳＹＳは第１タイミングドリブンレイアウトと第１タイミング調整を再度行う。所望のタイミング条件が満たされる場合、境界回路ＢＣの配置および配線の少なくともいずれかが固定される（図４網掛部）。
【００２４】
次に、図５に示すように、レイアウトシステムＳＹＳは、境界回路ＢＣの配線経路と各ブロックＢＬＫのレイアウト領域の外郭ＯＬ１、ＯＬ２との交点に端子を配置する。例えば、ブロックＢＬＫ１のレイアウト領域の外郭ＯＬ１と論理パスＬＰの配線経路の交点に出力端子ＰＩＮ１０が配置される。ブロックＢＬＫ１のレイアウト領域の外郭ＯＬ１とクロックパスＣＰの配線経路の交点に入力端子ＰＩＮ１２が配置される。ブロックＢＬＫ２のレイアウト領域の外郭ＯＬ２と論理パスＬＰの配線経路の交点に入力端子ＰＩＮ２０が配置される。ブロックＢＬＫ２のレイアウト領域の外郭ＯＬ２とクロックパスＣＰの配線経路の交点に入力端子ＰＩＮ２２が配置される。
【００２５】
次に、図６に示すように、レイアウトシステムＳＹＳは、第１タイミングドリブンレイアウトおよび第１タイミング調整により得られた境界回路ＢＣのレイアウト結果から、ブロックＢＬＫ毎に第２タイミング制約を生成する。第２タイミング制約は、例えば、半導体集積回路ＣＨＩＰの動作周波数、クロックスキュー、フリップフロップ間の信号伝播の遅延時間、およびフリップフロップのデータ端子とブロックＢＬＫの端子との間の信号伝播の遅延時間である。例えば、フリップフロップＦＦ１から出力端子ＰＩＮ１０までの遅延時間ＤＥＬＡＹ１が、第２タイミング制約の１つとしてブロックＢＬＫ１に与えられる。出力端子ＰＩＮ１０からフリップフロップＦＦ２まで（出力端子ＰＩＮ１０−入力端子ＰＩＮ２０−組合せ回路ＣＬ２−フリップフロップＦＦ２）の遅延時間とクロックドライバＣＤ２の遅延時間との差が、第２タイミング制約の１つとして出力端子ＰＩＮ１０に与えられる。入力端子ＰＩＮ２０からフリップフロップＦＦ２までの遅延時間ＤＥＬＡＹ２が、第２タイミング制約の１つとしてブロックＢＬＫ２に与えられる。クロック生成回路ＣＰＧから入力端子ＰＩＮ２０まで（クロック生成回路ＣＰＧ−クロックドライバＣＤ１−フリップフロップＦＦ１−組合せ回路ＣＬ１−出力端子ＰＩＮ１０−入力端子ＰＩＮ２０）の遅延時間が、第２タイミング制約の１つとして入力端子ＰＩＮ２０に与えられる。なお、第２タイミング制約は、人手により生成されてもよい。
【００２６】
次に、図７に示すように、レイアウトシステムＳＹＳは、各ブロックＢＬＫ内の回路（図７破線枠）の配置および配線を固定するために、第２タイミングドリブンレイアウトをブロックＢＬＫ毎に独立して行う。第２タイミングドリブンレイアウトは、ブロックＢＬＫ毎の第２タイミング制約を用いて行われる。また、第２タイミングドリブンレイアウトにおいて、第１タイミングドリブンレイアウトにより配置および配線が行われた回路の配置および配線の少なくともいずれかは固定しておく（図７網掛部）。
【００２７】
例えば、図８に示すように、ブロックＢＬＫ１において、フリップフロップＦＦ１と、フリップフロップＦＦ１から出力端子ＰＩＮ１０までの論理パスＬＰ１と、入力端子ＰＩＮ１２からフリップフロップＦＦ１までのクロックパスＣＰ１との配置および配線の少なくともいずれかを固定した状態で、第２タイミングドリブンレイアウトが行われる。ブロックＢＬＫ２において、フリップフロップＦＦ２と、入力端子ＰＩＮ２０からフリップフロップＦＦ２までの論理パスＬＰ２と、入力端子ＰＩＮ２２からフリップフロップＦＦ２までのクロックパスＣＰ２との配置および配線の少なくともいずれかを固定した状態で、第２タイミングドリブンレイアウトが行われる。
【００２８】
次に、レイアウトシステムＳＹＳは、第２タイミングドリブンレイアウトにより得られた各ブロックＢＬＫ内の回路のレイアウト結果に対して、第２タイミング調整を行う。第２タイミング調整は、以下の（６）〜（１１）の少なくともいずれかにより行われる。なお、第２タイミング調整は、人手により行われてもよい。
【００２９】
（６）ブロックＢＬＫ内へのバッファの挿入
（７）ロックＢＬＫ内にあるフリップフロップ（順序回路）間の論理パスの駆動能力の変更
（８）ブロックＢＬＫ内にあるフリップフロップに接続されるクロックパスの駆動能力の変更、クロックスキューの調整
（９）ブロックＢＬＫ内の論理パスの配線経路の修正
（１０）ブロックＢＬＫ内のクロックパスの配線経路の修正
（１１）ブロックＢＬＫ内にあるフリップフロップ（順序回路）の配置位置の調整
この後、レイアウトシステムＳＹＳは、第２タイミングドリブンレイアウトおよび第２タイミング調整により得られた各ブロックＢＬＫ内の回路のレイアウト結果が、所望のタイミング条件を満たすか否かを判定する。少なくともいずれかのブロックＢＬＫが所望のタイミング条件を満たさない場合、レイアウトシステムＳＹＳは、そのブロックＢＬＫについて第２タイミングドリブンレイアウトと第２タイミング調整を再度行う。すべてのブロックＢＬＫが所望のタイミング条件を満たす場合、ブロックＢＬＫ内の回路の配置および配線が固定される（前述した図７破線枠）。すなわち、論理回路全体（半導体集積回路ＣＨＩＰ）のレイアウト処理は完了する。
【００３０】
図９は、第１の実施形態におけるレイアウト処理の動作を示している。レイアウト処理は、レイアウトシステムＳＹＳのＣＰＵ１６がレイアウト用プログラムを実行することで行われる。
ステップＳ００において、フロアプランが行われる。この後、処理はステップＳ１０に移行する。
【００３１】
ステップＳ１０において、レイアウト処理する半導体集積回路ＣＨＩＰのネットリストおよびフロアプラン情報から境界回路ＢＣが抽出される（前述した図２に対応）。境界回路ＢＣは、機能毎にレイアウト階層として分割されたブロックＢＬＫ間に接続される論理パス、その論理パスに接続されるブロックＢＬＫ内の初段の順序回路、およびその順序回路に接続されるクロックパスを含む（前述した図３に対応）。この後、処理はステップＳ２０に移行する。
【００３２】
ステップＳ２０において、ステップＳ１０により抽出された境界回路ＢＣの配置および配線の少なくともいずれかを固定するために第１タイミングドリブンレイアウトが行われる（前述した図４に対応）。第１タイミングドリブンレイアウトは、予め決められた配置制約および第１タイミング制約を用いて行われる。この後、処理はステップＳ３０に移行する。
【００３３】
ステップＳ３０において、ステップＳ２０により得られた境界回路ＢＣのレイアウト結果に対して、前述した第１タイミング調整（１）〜（５）の少なくともいずれかが行われる。この後、処理はステップＳ４０に移行する。
ステップＳ４０において、ステップＳ２０およびステップＳ３０により得られた境界回路ＢＣのレイアウト結果が所望のタイミング条件を満たすか否かが、判定される。所望のタイミング条件が満たされない場合、処理はステップＳ２０に移行する。また、必要に応じて、処理はステップＳ００に移行する。所望のタイミング条件が満たされる場合、処理はステップＳ５０に移行する。
【００３４】
ステップＳ５０において、ステップＳ２０およびステップＳ３０により得られた境界回路ＢＣの配線経路と各ブロックＢＬＫのレイアウト領域の外郭との交点に端子が配置される（前述した図５に対応）。この後、処理はステップＳ６０に移行する。
ステップＳ６０において、ステップＳ２０およびステップＳ３０により得られた境界回路ＢＣのレイアウト結果から、ブロックＢＬＫ毎に第２タイミング制約が生成される（前述した図６に対応）。この後、処理はステップＳ７０に移行する。
【００３５】
ステップＳ７０において、各ブロックＢＬＫ内の回路の配置および配線を固定するために、第２タイミングドリブンレイアウトがブロックＢＬＫ毎に独立して行われる（前述した図７に対応）。第２タイミングドリブンレイアウトは、ステップＳ６０により生成されたブロックＢＬＫ毎の第２タイミング制約を用いて行われる。また、第２タイミングドリブンレイアウトにおいて、ステップＳ２０およびステップＳ３０により配置および配線が行われた回路の配置および配線の少なくともいずれかは固定しておく（前述した図８に対応）。この後、処理はステップＳ８０に移行する。
【００３６】
ステップＳ８０において、ステップＳ７０により得られた各ブロックＢＬＫ内の回路のレイアウト結果に対して、前述した第２タイミング調整（６）〜（１１）の少なくともいずれかが行われる。この後、処理はステップＳ９０に移行する。
ステップＳ９０において、ステップＳ７０およびステップＳ８０により得られた各ブロックＢＬＫ内の回路のレイアウト結果が所望のタイミング条件を満たすか否かが判定される。少なくともいずれかのブロックＢＬＫが所望のタイミング条件を満たさない場合、処理はステップＳ７０に移行する。すべてのブロックＢＬＫが所望のタイミング条件を満たす場合、ブロックＢＬＫ内の回路の配置および配線が固定される。そして、論理回路全体（半導体集積回路ＣＨＩＰ）のレイアウト処理は完了する。
【００３７】
なお、ステップＳ９０の後に、ＣＰＵ１６により、各ブロックＢＬＫ内の回路のレイアウト結果が半導体集積回路ＣＨＩＰ上の予め決められた位置に配置され、配線の最適化やタイミング調整が行われてもよい。
以上、第１の実施形態では、次の効果が得られる。境界回路ＢＣのタイミングが収束した後に、各ブロックＢＬＫ内の回路のレイアウトが行われることで、各ブロックＢＬＫ内の回路のタイミングが収束した後にタイミングエラーは発生しない。これにより、フロアプランまたは論理設計までの後戻りによるレイアウト処理時間の増大が防止される。すなわち、半導体集積回路ＣＨＩＰの開発期間の短縮および製造コストの削減を実現できる。また、タイミングドリブンレイアウトとタイミング調整が、所望のタイミング条件を満たすまで繰り返し行われることで、半導体集積回路ＣＨＩＰの動作速度および動作マージンの向上を実現できる。
【００３８】
図１０は、本発明の半導体集積回路のレイアウト方法および半導体集積回路のレイアウトシステムの第２の実施形態を示している。この実施形態は、請求項１、請求項２、請求項５、請求項６、請求項７および請求項１０に対応している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明は省略する。図１０は、第２の実施形態におけるレイアウト処理の動作を示している。レイアウト処理は、レイアウトシステムＳＹＳのＣＰＵ１６がレイアウト用プログラムを実行することで行われる。
【００３９】
まず、第１の実施形態と同様に、ステップＳ１０、ステップＳ２０、ステップＳ５０、ステップＳ６０およびステップＳ７０が順次行われる。これにより、境界回路ＢＣのレイアウトおよび各ブロックＢＬＫ内の回路のレイアウトが行われる。この後、処理はステップＳ１００に移行する。
ステップＳ１００において、ステップＳ７０により得られた各ブロックＢＬＫ内の回路のレイアウト結果を、半導体集積回路ＣＨＩＰ上の予め決められた位置に配置するブロック結合が行われる。この後、処理はステップＳ１１０にする。
【００４０】
ステップＳ１１０において、ステップＳ１００により得られた論理回路全体のレイアウト結果に対して、第３タイミング調整が行われる。第３タイミング調整は、以下の（１）〜（１１）の少なくともいずれかにより行われる。
（１）境界回路ＢＣ内へのバッファの挿入
（２）境界回路ＢＣ内の論理パスの駆動能力の変更
（３）境界回路ＢＣ内のクロックパスの駆動能力の変更、クロックスキューの調整
（４）境界回路ＢＣ内の論理パスの配線経路の修正
（５）境界回路ＢＣ内のクロックパスの配線経路の修正
（６）境界回路ＢＣ内にあるフリップフロップ（順序回路）の配置位置の調整
（７）ブロックＢＬＫ内へのバッファの挿入
（８）ブロックＢＬＫ内にあるフリップフロップ（順序回路）間の論理パスの駆動能力の変更
（９）ブロックＢＬＫ内にあるフリップフロップに接続されるクロックパスの駆動能力の変更
（１０）ブロックＢＬＫ内の論理パスの配線経路の修正
（１１）ブロックＢＬＫ内のクロックパスの配線経路の修正
なお、第３タイミング調整は、人手により行われてもよい。この後、処理はステップＳ１２０に移行する。
【００４１】
ステップＳ１２０において、ステップＳ１１０により得られた論理回路全体のレイアウト結果が所望のタイミング条件を満たすか否かが、判定される。所望のタイミング条件が満たされない場合、ステップＳ１１０に移行する。所望のタイミング条件が満たされる場合、論理回路全体の配置および配線が固定される。すなわち、論理回路全体（半導体集積回路ＣＨＩＰ）のレイアウト処理は完了する。
【００４２】
この実施形態においても、前述した第１の実施形態と同様の効果を得ることができる。
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）  機能毎に分割された複数のブロックから構成される半導体集積回路のレイアウト方法であって、
前記ブロック間に接続される論理パス、前記論理パスに接続される前記ブロック内の順序回路および前記順序回路に接続されるクロックパスを含む境界回路を抽出する境界回路抽出を行い、
前記境界回路の配置および配線の少なくともいずれかを固定する第１レイアウトを行い、
前記各ブロックに形成される端子の位置を決定するブロック端子配置を行い、前記各ブロック内の回路の配置および配線を固定する第２レイアウトを、前記ブロック毎に独立して行うことを特徴とする半導体集積回路のレイアウト方法。
【００４３】
（付記２）  付記１の半導体集積回路のレイアウト方法において、
前記第１レイアウトは、前記境界回路についての予め決められた配置制約および第１タイミング制約を用いて行う第１タイミングドリブンレイアウトであり、前記第２レイアウトは、前記ブロック毎に第２タイミング制約を用いて行う第２タイミングドリブンレイアウトであり、
前記第２タイミング制約は、前記論理パスおよび前記クロックパスにおける前記各ブロック内でのタイミング制約であることを特徴とする半導体集積回路のレイアウト方法。
【００４４】
（付記３）  付記２の半導体集積回路のレイアウト方法において、
前記第１タイミングドリブンレイアウト後に、前記境界回路内へのバッファの挿入、前記論理パスの駆動能力の変更、前記クロックパスの駆動能力の変更、クロックスキューの調整、前記論理パスの配線経路の修正、および前記クロックパスの配線経路の修正の少なくともいずれかによる第１タイミング調整と、前記第１タイミングドリブンレイアウトとを、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウト方法。
【００４５】
（付記４）  付記２の半導体集積回路のレイアウト方法において、
前記第２タイミングドリブンレイアウト後に、前記ブロック内へのバッファの挿入、前記ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、前記ブロック内順序回路に接続されるクロックパスの駆動能力の変更、クロックスキューの調整、前記ブロック内の論理パスの配線経路の修正、前記ブロック内のクロックパスの配線経路の修正、および前記ブロック内順序回路の配置位置の調整の少なくともいずれかによる第２タイミング調整と、前記第２タイミングドリブンレイアウトとを、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウト方法。
【００４６】
（付記５）  付記２の半導体集積回路のレイアウト方法において、
前記第２タイミングドリブンレイアウト後に、前記各ブロックをチップ上の予め決められた位置に配置するブロック結合を行い、
前記境界回路内へのバッファの挿入、前記論理パスの駆動能力の変更、前記クロックパスの駆動能力の変更、前記境界回路内でのクロックスキューの調整、前記論理パスの配線経路の修正、前記クロックパスの配線経路の修正、前記境界回路内の順序回路の配置位置の調整、前記ブロック内へのバッファの挿入、前記ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、前記ブロック内順序回路に接続されるクロックパスの駆動能力の変更、前記ブロック内の論理パスの配線経路の修正、および前記ブロック内のクロックパスの配線経路の修正の少なくともいずれかによる第３タイミング調整を、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウト方法。
【００４７】
（付記６）  付記２の半導体集積回路のレイアウト方法において、
前記第２タイミング制約は、前記ブロック端子配置後に生成されることを特徴とする半導体集積回路のレイアウト方法。
（付記７）  付記１の半導体集積回路のレイアウト方法において、
前記順序回路は、前記論理パスに接続される前記ブロック内の初段の順序回路であることを特徴とする半導体集積回路のレイアウト方法。
【００４８】
（付記８）  付記１の半導体集積回路のレイアウト方法において、
前記境界回路抽出前に、前記各ブロックのチップ上の位置を決定するフロアプランを行うことを特徴とする半導体集積回路のレイアウト方法。
（付記９）  機能毎に分割された複数のブロックから構成される半導体集積回路のレイアウトシステムであって、
前記ブロック間に接続される論理パス、前記論理パスに接続される前記ブロック内の順序回路および前記順序回路に接続されるクロックパスを含む境界回路を抽出する境界回路抽出を行い、前記境界回路の配置および配線の少なくともいずれかを固定する第１レイアウトを行い、前記各ブロックに形成される端子の位置を決定するブロック端子配置を行い、前記各ブロック内の回路の配置および配線を固定する第２レイアウトを、前記ブロック毎に独立して行うプログラムを格納する記憶部と、
前記記憶部に格納された前記プログラムを実行する制御部とを備えていることを特徴とする半導体集積回路のレイアウトシステム。
【００４９】
（付記１０）  付記９の半導体集積回路のレイアウトシステムにおいて、
前記第１レイアウトは、前記境界回路についての予め決められた配置制約および第１タイミング制約を用いて行う第１タイミングドリブンレイアウトであり、前記第２レイアウトは、前記ブロック毎に第２タイミング制約を用いて行う第２タイミングドリブンレイアウトであり、
前記第２タイミング制約は、前記論理パスおよび前記クロックパスにおける前記各ブロック内でのタイミング制約であることを特徴とする半導体集積回路のレイアウトシステム。
【００５０】
（付記１１）  付記１０の半導体集積回路のレイアウトシステムにおいて、
前記制御部は、前記第１タイミングドリブンレイアウト後に、前記境界回路内へのバッファの挿入、前記論理パスの駆動能力の変更、前記クロックパスの駆動能力の変更、クロックスキューの調整、前記論理パスの配線経路の修正、および前記クロックパスの配線経路の修正の少なくともいずれかによる第１タイミング調整と、前記第１タイミングドリブンレイアウトとを、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウトシステム。
【００５１】
（付記１２）  付記１０の半導体集積回路のレイアウトシステムにおいて、
前記制御部は、前記第２タイミングドリブンレイアウト後に、前記ブロック内へのバッファの挿入、前記ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、前記ブロック内順序回路に接続されるクロックパスの駆動能力の変更、クロックスキューの調整、前記ブロック内の論理パスの配線経路の修正、前記ブロック内のクロックパスの配線経路の修正、および前記ブロック内順序回路の配置位置の調整の少なくともいずれかによる第２タイミング調整と、前記第２タイミングドリブンレイアウトとを、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウトシステム。
【００５２】
（付記１３）  付記１０の半導体集積回路のレイアウトシステムにおいて、
前記制御部は、前記第２タイミングドリブンレイアウト後に、前記各ブロックをチップ上の予め決められた位置に配置するブロック結合を行い、前記境界回路内へのバッファの挿入、前記論理パスの駆動能力の変更、前記クロックパスの駆動能力の変更、前記境界回路内でのクロックスキューの調整、前記論理パスの配線経路の修正、前記クロックパスの配線経路の修正、前記境界回路内の順序回路の配置位置の調整、前記ブロック内へのバッファの挿入、前記ブロック内にあるブロック内順序回路間の論理パスの駆動能力の変更、前記ブロック内順序回路に接続されるクロックパスの駆動能力の変更、前記ブロック内の論理パスの配線経路の修正、および前記ブロック内のクロックパスの配線経路の修正の少なくともいずれかによる第３タイミング調整を、所望のタイミング条件を満たすまで繰り返し行うことを特徴とする半導体集積回路のレイアウトシステム。
【００５３】
（付記１４）  付記１０の半導体集積回路のレイアウトシステムにおいて、
前記第２タイミング制約は、前記ブロック端子配置後に生成されることを特徴とする半導体集積回路のレイアウトシステム。
（付記１５）  付記９の半導体集積回路のレイアウトシステムにおいて、
前記順序回路は、前記論理パスに接続される前記ブロック内の初段の順序回路であることを特徴とする半導体集積回路のレイアウトシステム。
【００５４】
（付記１６）  付記９の半導体集積回路のレイアウトシステムにおいて、
前記制御部は、前記境界回路抽出前に、前記各ブロックのチップ上の位置を決定するフロアプランを行うことを特徴とする半導体集積回路のレイアウトシステム。
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【００５５】
【発明の効果】
請求項１および請求項２の半導体集積回路のレイアウト方法と請求項６および請求項７の半導体集積回路のレイアウトシステムとでは、各ブロック内の回路のレイアウトが行われる前に、境界回路のレイアウトが行われることで、異なるブロック間の配線のタイミングをレイアウト設計の初期段階で収束させておくことができる。この結果、レイアウト設計の上流工程または論理設計までの後戻りを防止できる。従って、レイアウト設計におけるレイアウト処理時間を短縮することができる。換言すれば、半導体集積回路チップの開発期間を短縮でき、半導体集積回路チップの製造コストを削減できる。
【００５６】
請求項３の半導体集積回路のレイアウト方法および請求項８の半導体集積回路のレイアウトシステムでは、境界回路について、第１タイミングドリブンレイアウトと第１タイミング調整が、所望のタイミング条件を満たすまで繰り返し行われることで、最適なフロアプランになることにより半導体集積回路チップの動作速度および動作マージンを向上させることができる。
【００５７】
請求項４の半導体集積回路のレイアウト方法および請求項９の半導体集積回路のレイアウトシステムでは、各ブロックについて、第２タイミングドリブンレイアウトと第２タイミング調整が、所望のタイミング条件を満たすまで繰り返し行われることで、半導体集積回路チップの動作速度および動作マージンを向上させることができる。
【００５８】
請求項５の半導体集積回路のレイアウト方法および請求項１０の半導体集積回路のレイアウトシステムでは、論理回路全体について、第３タイミング調整が、所望のタイミング条件を満たすまで繰り返し行われることで、半導体集積回路チップの動作速度および動作マージンを向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示すシステム構成図である。
【図２】第１の実施形態のレイアウト処理が行われる半導体集積回路の概略ブロック図である。
【図３】第１の実施形態のレイアウト処理における境界回路の抽出を示す説明図である。
【図４】第１の実施形態のレイアウト処理における第１タイミングドリブンレイアウトの説明図である。
【図５】第１の実施形態のレイアウト処理におけるブロック端子の配置を示す説明図である。
【図６】第１の実施形態のレイアウト処理における第２タイミング制約の生成を示す説明図である。
【図７】第１の実施形態のレイアウト処理における第２タイミングドリブンレイアウトの説明図である。
【図８】図７の第２タイミングドリブンレイアウトの詳細を示す説明図である。
【図９】第１の実施形態のレイアウト処理を示すフローチャートである。
【図１０】本発明の第２の実施形態を示すフローチャートである。
【符号の説明】
１０  ディスプレイ
１２  キーボード
１４  制御装置
１６  ＣＰＵ
１８  ハードディスク
２０  記録媒体ドライブ装置
２２  ＣＤ−ＲＯＭ
２４  フレキシブルディスク
ＢＣ  境界回路
ＢＬＫ１、ＢＬＫ２、ＢＬＫ３、ＢＬＫ４  ブロック
ＣＤ１、ＣＤ２    クロックドライバ
ＣＨＩＰ  半導体集積回路
ＣＬ１、ＣＬ２    組合せ回路
ＣＰ、ＣＰ１、ＣＰ２    クロックパス
ＣＰＧ    クロック生成回路
ＤＥＬＡＹ１、ＤＥＬＡＹ２  遅延時間
ＦＦ１、ＦＦ２    フリップフロップ
ＬＰ、ＬＰ１、ＬＰ２    論理パス
ＯＬ１、ＯＬ２    外郭
ＰＩＮ１０、ＰＩＮ１２、ＰＩＮ２０、ＰＩＮ２２    ブロック端子
ＳＹＳ    レイアウトシステム
ＷＳ  ワークステーション
【図１】
2004192227.tif 000003
【図２】
2004192227.tif 000004
【図３】
2004192227.tif 000005
【図４】
2004192227.tif 000006
【図５】
2004192227.tif 000007
【図６】
2004192227.tif 000008
【図７】
2004192227.tif 000009
【図８】
2004192227.tif 000010
【図９】
2004192227.tif 000011
【図１０】
2004192227.tif 000012