(57)【要約】【課題】ＬＳＩ論理デバイスの設計に際し、設計対象となる論理デバイスのタイミングおよび配線混雑度を考慮に入れた最適なレイアウトを得る大規模回路のレイアウト方法を提供する。【解決手段】大規模集積回路における論理回路や配線等をレイアウトする際、論理回路の配置情報や配線情報等の接続関係を表すネットリストとタイミング制約を読み込み（Ｓ１，Ｓ２）、このネットリストから各論理回路の出力Ｆａｎｏｕｔ数が高ＦａｎｏｕｔとなっているＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを抽出し（Ｓ３）、読み込んだネットリストおよびタイミング制約の情報をもとに、タイミングドリブンレイアウト手法で論理回路を配置し（Ｓ６）、この論理回路の配置を考慮して、前記抽出されたＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔに対して負荷分散を行って（Ｓ７）、各論理回路の出力に対してクロックツリーを張る（Ｓ８）ことにより、負荷分散された最適なレイアウトを得る。【選択図】　　　　図１
2004062694.tif 000002
【特許請求の範囲】
【請求項１】
大規模集積回路における論理回路や配線等をレイアウトする際、論理回路の配置情報や配線情報等の接続関係を表すネットリストとタイミング制約を読み込み、このネットリストから各論理回路の出力Ｆａｎｏｕｔ数が高ＦａｎｏｕｔとなっているＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを抽出し、読み込んだネットリストおよびタイミング制約の情報をもとに、タイミングドリブンレイアウト手法で論理回路を配置し、この論理回路の配置を考慮して、前記抽出されたＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔに対して負荷分散を行った後、各論理回路の出力に対してクロックツリーを張ることにより、負荷分散された最適なレイアウトを得ることを特徴とする大規模回路のレイアウト方法。
【請求項２】
請求項１に記載の大規模回路のレイアウト方法において、バッファおよびインバータを論理回路と認識しないようにして、前記Ｈｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを抽出し、論理合成時に行われた負荷分散によるバッファツリーおよびインバータツリーを削除して、Ｈｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔとしてから論理回路を配置するようにしたことを特徴とする大規模回路のレイアウト方法。
【請求項３】
コンピュータに、請求項１または２に記載の大規模回路のレイアウト方法を実施させるためのプログラム。
【請求項４】
請求項３に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、大規模回路のレイアウト方法、プログラムおよび記録媒体に関し、具体的には、ＬＳＩ（大規模半導体集積回路）論理デバイスの設計に際し、設計対象となる論理デバイスのタイミングおよび配線混雑度を考慮に入れた最適なレイアウトを得る技術に関し、マルチプレクサがツリー状になっているような、セレクタが密集しているエンコーダやデコーダを用いる論理デバイスのレイアウト設計に応用して好適である。
【０００２】
【従来の技術】
近年、高性能化および小型化がはかられている電子機器に使われる目的で、ＬＳＩ（大規模半導体集積回路）はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｃ　ＩＣ）に代表されるようにますます高集積化、高機能化の一途をたどっている。
従って、このＬＳＩの回路パターンも、ますます高集積化、複雑化してきており、設計したＬＳＩ回路が正常に動作するか否かの確認作業も一層重要なものとなってきている。
【０００３】
ＬＳＩ等を開発する場合、アーキテクチャ設計をもとに、ＨＤＬ（Ｈａｒｄｗａｒｅ　Ｄｅｓｃｒｉｐｔｉｏｎ　Ｌａｎｇｕａｇｅ）を用いて機能設計を行い、目標とするゲート回路の性能を設計制約条件として与えて、設計条件を満足するゲート回路を自動合成する。合成した回路に対して、タイミング解析を行い、要求しているタイミングを満たしているかを確認する。
【０００４】
この合成した回路に、テスト容易化設計を行って、テストパターンの自動合成を行い、ゲート回路のネットリストに従って、実際にチップを製造するために必要なマスクを作成するために、セルの自動配置・配線のレイアウト設計を行う。
これらの設計には、ＨＤＬ仕様に基づいた汎用のシミュレータが使われる。
【０００５】
このＬＳＩ等の設計では、Ｆａｎｏｕｔ数の多い箇所に対しては、論理合成の段階で負荷分散のためバッファリングして、レイアウト設定へ進んでいた。
また、負荷が大きくタイミングの厳しい箇所に対しても、論理合成段階で高ドライブセルをマッピングして、レイアウト設計へ進んでいた。
【０００６】
特開２０００−２３１５８３号公報の「論理合成方法及び装置」では、従来フロアプランを考慮した論理合成を行う際に、遅延調整のため論理セルを高ドライブセルに置き替えずに、仮フロアプランの情報からＦａｎｏｕｔ数を考慮して調整用バッファを自動挿入することにより、遅延改善を行っている。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術や特開２０００−２３１５８３号公報の技術では、自動配置・配線後に確実にタイミング収束している保証はなく、また、論理合成時にＦａｎｏｕｔ調整用のバッファを挿入するため、レイアウト時に配線効率が悪くなる可能性がある。
【０００８】
本発明は、上述した実情を考慮してなされたものであって、レイアウト設計時にＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔに対して再度負荷分散処理をやり直すことによって、論理合成設計時に行われていたタイミング、配線混雑度を考慮に入れた最適なレイアウト結果を得ることができる大規模回路のレイアウト方法、大規模回路のレイアウト方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項１の大規模回路のレイアウト装置は、大規模集積回路における論理回路や配線等をレイアウトする際、論理回路の配置情報や配線情報等の接続関係を表すネットリストとタイミング制約を読み込み、このネットリストから各論理回路の出力Ｆａｎｏｕｔ数が高ＦａｎｏｕｔとなっているＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを抽出し、読み込んだネットリストおよびタイミング制約の情報をもとに、タイミングドリブンレイアウト手法で論理回路を配置し、この論理回路の配置を考慮して、前記抽出されたＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔに対して負荷分散を行った後、各論理回路の出力に対してクロックツリーを張ることにより、負荷分散された最適なレイアウトを得ることを特徴とする。
【００１０】
また、本発明の請求項２は、請求項１に記載の大規模回路のレイアウト方法において、バッファおよびインバータを論理回路と認識しないようにして、前記Ｈｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを抽出し、論理合成時に行われた負荷分散によるバッファツリーおよびインバータツリーを削除して、Ｈｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔとしてから論理回路を配置するようにしたことを特徴とする。
【００１１】
また、本発明の請求項３のプログラムは、コンピュータに、請求項１または２に記載の大規模回路のレイアウト方法を実施させるためのプログラムである。
また、本発明の請求項４の記録媒体は、請求項３に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１２】
以上のような構成により、Ｈｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを論理合成設計時に処理するのではなく、レイアウト設計時に行うことによって、論理合成設計時にＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを負荷分散処理してしまっている箇所に対しても、レイアウト設計時に再度負荷分散処理をやりなおすことができ、また、論理合成設計時に行われた不要な負荷分散用のバッファやインバータを削除することができるので、タイミングや配線混雑度を考慮に入れた最適なレイアウト結果を得ることができる。
【００１３】
【発明の実施の形態】
以下、図面を参照して本発明の大規模回路のレイアウト方法の一実施形態を説明する。
図３は、本発明の大規模回路のレイアウト方法を実施するためのコンピュータの構成を示すブロック図である。即ち、図３のコンピュータは、入力装置１、表示装置２、ＣＰＵ（中央演算処理ユニット）３、メモリ４、記憶装置５をシステムバス６で接続している。
【００１４】
入力装置１は、キーボード、マウスまたはタッチパネル等により構成され、シミュレータへの入力・編集や実行を対話的に行うのに使用される。
表示装置２は、ディスプレイ装置や液晶ディスプレイ装置等により構成され、シミュレータからの表示や入力装置１から入力された情報、実行経過や実行結果などを表示するのに使用される。
ＣＰＵ３は、シミュレータ等のプログラムを動作させる。
メモリ４は、プログラム自身を保持し、またそのプログラムがＣＰＵ３によって実行されるときに一時的に作成される情報等を保持する。
記憶装置５は、シミュレータ等のプログラムやこのプログラムが実行時に入出力する情報や処理結果等を保持する。
【００１５】
本実施形態では、ＨＤＬで書かれたアーキテクチャに依存しないＬＳＩ論理回路に対する機能記述を市販のシミュレータによって論理合成して得られる配置情報や配線情報等の接続関係を表すネットリストおよび設計者によって用意されたクロックとその周波数を定義するタイミング制約を記憶装置５へ記憶しておき、これらをもとにシミュレータを用いてタイミングドリブンレイアウト手法により、セルの自動配置・配線のレイアウト設計を行うものとする。
尚、シミュレータのＰＬＩ（Ｐｒｏｇｒａｍｍｉｎｇ　Ｌａｎｇｕａｇｅ　Ｉｎｔｅｒｆａｃｅ）にあるアクセス関数などを利用して、シミュレータへの各種の指示を行うものとする。
【００１６】
図１は、本発明の大規模回路のレイアウト方法の処理手順を示すフローチャートである。
まず、設計者が作成したＬＳＩ論理回路の配置情報や配線情報等の接続関係を表すネットリストを記憶装置５から読み込む（ステップＳ１）。
次いで、タイミング制約を記憶装置５から読みこむ（ステップＳ２）。
このタイミング制約は、クロックとその周波数を定義しているものとする（図２参照）。
【００１７】
読みこんだネットリストを解析し、各セルの出力Ｆａｎｏｕｔ数が抽出閾値以上のＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを抽出する（ステップＳ３）。
このとき、論理合成時に、既に配線負荷分散されたバッファおよびインバータをセルとは認識しない。また、抽出閾値であるＦａｎｏｕｔ数は、ライブラリのドライブ能力もしくはユーザ定義を基準として決定する。
【００１８】
次に、論理合成時に配線負荷分散され、バッファもしくはインバータのツリーになっている箇所を検索する（ステップＳ４）。
このツリーは、論理合成時に配線負荷モデルを使用して、仮想的な配置・配線情報をもとに配線負荷分散されているため最適なものではない。
【００１９】
実際にセル配置を行う前に上記で検索されたツリーのバッファおよびインバータを論理の変更は行わないようにして削除し、それらをＨｉｇｈ　Ｆａｎｏｕｔ
Ｎｅｔとする（ステップＳ５）。
【００２０】
読み込んだネットリストおよびタイミング制約の情報をもとに、通常のタイミングドリブンレイアウト手法によってセル配置を行う（ステップＳ６）。
ステップＳ３およびＳ５で抽出したＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔに対し、ステップＳ６で処理したセルの配置を考慮して、ＣＴＳ（Ｃｌｏｃｋ　Ｔｒｅｅ　Ｓｙｎｔｈｅｓｉｓ）処理により配線負荷分散を行う（ステップＳ７）。
【００２１】
クロックツリー合成により、フリップフロップのクロックに対してクロックツリーを張る（ステップＳ８）。
この時点で、先に読み込んだタイミング制約をもとに、タイミング解析を行ない、その結果、セットアップまたはホールドが収束できていない箇所があるかを調べる（ステップＳ９）。
セットアップ、ホールドが収束できていない箇所がある場合（ステップＳ９のＮｏ）、ステップＳ６へ戻って、配置および配線負荷分散を見直す。
収束していれば（ステップＳ９のＹｅｓ）、処理を終了する。
【００２２】
これにより、タイミング、配線混雑度を考慮に入れた最適なレイアウト結果を得ることができる。
【００２３】
さらに、本発明は上記の実施形態のみに限定されたものではない。上述した実施形態の大規模回路のレイアウト方法を実施するプログラムコードを予めＣＤ−ＲＯＭの記録媒体に書き込んでおき、このＣＤ−ＲＯＭをＣＤ−ＲＯＭドライブのような媒体読取装置を搭載したコンピュータに装着して、プログラムをメモリあるいは記憶装置に格納し、コンピュータのＣＰＵがメモリまたは記憶装置に格納されたプログラムを読出して実行することによっても、本発明の目的が達成されることは言うまでもない。
また、上述のプログラムコードがＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）に記憶されている場合には、コンピュータのＣＰＵがこのＲＯＭからプログラムを読出して実行することによって、本発明の目的が達成される。
【００２４】
この場合、記録媒体から読出されたプログラム自体が上述した実施形態を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
【００２５】
尚、記録媒体としては半導体媒体（例えば、ＲＯＭ、不揮発性メモリカード等）、光媒体（例えば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ−Ｒ等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク等）のいずれであってもよい。
【００２６】
また、ロードしたプログラムを実行することにより上述した実施形態が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態が実現される場合も含まれる。
【００２７】
また、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、インターネット等の通信網で接続されたユーザのコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【００２８】
【発明の効果】
以上説明したように本発明によれば、Ｈｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを論理合成設計時に処理するのではなく、レイアウト設計時に行うことによって、論理合成設計時にＨｉｇｈ　Ｆａｎｏｕｔ　Ｎｅｔを負荷分散処理してしまっている箇所に対しても、レイアウト設計時に再度負荷分散処理をやりなおすことができ、また、論理合成設計時に行われた不要な負荷分散用のバッファやインバータを削除することができるので、タイミングや配線混雑度を考慮に入れた最適なレイアウト結果を得ることができる。
【図面の簡単な説明】
【図１】本発明の大規模回路のレイアウト方法の処理手順を示すフローチャートである。
【図２】タイミング制約の記述例である。
【図３】本発明の大規模回路のレイアウト方法を実施するためのコンピュータの構成を示すブロック図である。
【符号の説明】
１…入力装置、２…表示装置、３…ＣＰＵ、４…メモリ、５…記憶装置、６…システムバス。
【図１】
2004062694.tif 000003
【図２】
2004062694.tif 000004
【図３】
2004062694.tif 000005