(57)【特許請求の範囲】
【請求項１】
複数の回路要素と外部に接続される複数のブロックピンとを有して所定の機能を有する複数のブロックを、チップに埋め込んだＬＳＩの製造方法において、
前記複数のブロックは、レイアウト設計段階でフレーム近傍のブロックピンの位置が固定されているハードブロックと、該レイアウト設計段階でフレーム近傍のブロックピンの位置が変更可能なソフトブロックとを有し、
前記製造方法は、
前記複数のブロックをチップ上に配置する工程と、
前記ソフトブロック内の第１のブロックピンを、前記ソフトブロックのフレーム近傍であって、第１の隣接するブロック内の第１の対応ブロックピンに対向する位置に移動する工程と、
前記ソフトブロック内の第１のブロックピンと同電位の第２のブロックピンを、前記ソフトブロックのフレーム近傍であって、第２の隣接するブロック内の第２の対応ブロックピンに対向する位置に生成する工程と、
前記複数のブロックの間の領域において、前記第１のブロックピンとそれに対向する前記第１の対応ブロックピンとの間及び前記第２のブロックピンとそれに対向する前記第２の対応ブロックピンとの間を接続するブロック間信号配線を配線する工程とを有することを特徴とするＬＳＩの製造方法。
【請求項２】
請求項１において、前記ソフトブロック内のブロックピンの移動または生成する工程の後で、前記ソフトブロック内の回路要素と前記ブロックピン間を接続するブロック内の信号配線を配線する工程を有することを特徴とするＬＳＩの製造方法。
【請求項３】
複数の回路要素と外部に接続される複数のブロックピンとを有して所定の機能を有する複数のブロックを、チップに埋め込むレイアウト用のプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記複数のブロックは、レイアウト設計段階でフレーム近傍のブロックピンの位置が固定されているハードブロックと、該レイアウト設計段階でフレーム近傍のブロックピンの位置が変更可能なソフトブロックとを有し、
前記複数のブロックをチップ上に配置した後に、前記レイアウト用のプログラムは、
前記ソフトブロック内の第１のブロックピンを、前記ソフトブロックのフレーム近傍であって、第１の隣接するブロック内の第１の対応ブロックピンに対向する位置に移動する手順と、
前記ソフトブロック内の第１のブロックピンと同電位の第２のブロックピンを、前記ソフトブロックのフレーム近傍であって、第２の隣接するブロック内の第２の対応ブロックピンに対向する位置に生成する手順と、
前記複数のブロックの間の領域において、前記第１のブロックピンとそれに対向する前記第１の対応ブロックピンとの間及び前記第２のブロックピンとそれに対向する前記第２の対応ブロックピンとの間を接続するブロック間信号配線を配線する手順とを、
前記コンピュータに実行させることを特徴とするレイアウト用プログラムを記録した記録媒体。
【請求項４】
請求項３において、前記レイアウト用プログラムは、前記コンピュータに、前記ソフトブロック内のブロックピンの移動または生成する手順の後で、前記ソフトブロック内の回路要素と前記ブロックピン間を接続するブロック内の信号配線を配線する手順を実行させることを特徴とするレイアウト用プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、チップ内に複数のブロックを埋め込むＬＳＩのレイアウト設計の方法に関し、更に、ブロック間の領域に配置されるブロックのブロックピン間を接続するトップレベルの信号配線を効率的に配置することができるＬＳＩの製造方法およびＬＳＩのレイアウト用プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来から行われていたＡＳＩＣ（Application Specific Integrated Circuit ）における、チップ上の回路要素及びそれらを接続する信号配線のレイアウト設計方法は、フラットレイアウト設計方法と階層レイアウト設計方法の２つのレイアウト設計方法に分類される。
【０００３】
フラットレイアウト設計方法は、チップレベルで個々のゲートの配置とゲート間の配線を行うものであり、近年の大規模なＬＳＩに対しては、設計期間が増大する傾向にあり、レイアウト設計方法としては不利である。一方、階層レイアウト設計方法では、チップを複数のブロックに分割し、各ブロックには、既に設計済のブロックや、サードパーティにより設計され提供されるブロックを利用し、レイアウト工程では、主にそれらのブロックの配置とブロック間の配線を行う。従って、フラットレイアウト設計方法に比較して、設計期間を短縮できる。また、設計変更が必要になった場合、対応するブロックのみを再度レイアウトするだけでよく、かかる点でも設計期間を短縮することができる。従って、階層レイアウト設計方法が、システムＬＳＩなどの大規模集積回路装置の設計の主流となっている。
【０００４】
かかる階層レイアウト設計方法には、ボトムアップ階層レイアウト設計方法と、トップダウン階層レイアウト設計方法とに分類される。ボトムアップ階層レイアウト設計方法は、基本的にブロックの設計が先に行われ、全てのブロックの設計が終了した後に、複数のブロックの配置を含むフロアプランニングを行い、その後、ブロック間の領域のトップレベルにおける電源幹線の配線、電源引き込み配線の配線、およびブロックのブロックピン間を接続する信号配線の配線を行う。上記した通り、各ブロックの設計は、ＬＳＩの設計を行うベンダー内で予め完了している場合や、サードパーティによって予め完了している場合等がある。従って、複数のブロックの配置を行う段階では、既にブロックの外部端子であるブロックピンの位置は固定されている。
【０００５】
図１は、ボトムアップ階層レイアウト設計方法の問題点を示す図である。予め設計が完了しているブロックは、そのフレーム（外枠）形状、内部の配線のレイアウト及びブロックピンの位置を変更することができない。かかるブロックは、ハードブロックと称される。図１には、ハードブロックＡとＢとが隣接して、それぞれのブロックピン１０と１２とがブロック間の領域内に配置されるトップレベル（ブロック外の領域におけるブロック間配線レベル）の信号配線１４により接続された例が示される。この図から理解される通り、それぞれのハードブロックのブロックピンの位置は、最適化されていないため、それらを接続するトップレベルの信号配線１４は、無駄な配線チャネルを必要とする。また、トップレベルの信号配線１４は最短化されず、信号の遅延を伴う。
【０００６】
かかるボトムアップ階層レイアウト設計方法の欠点を補う方法として、トップダウン階層レイアウト設計方法が提案されている。この手法では、ブロックとして、そのブロックサイズ、ブロックのフレーム形状（アスペクト比）、内部配線、ブロックピンの位置などが未決定であり、回路要素の接続情報であるネットリストのデータが決定しているソフトブロックを利用する。
【０００７】
トップダウン階層レイアウト設計方法は、基本的には、ハードブロックの配置と共に、ソフトブロックの配置、サイズ、フレーム形状、ブロックピンの決定と共に、ブロック間の領域におけるトップレベルの電源幹線の配線を最初に行い、トップレベルの配線が最短になるようにし、その後、トップレベルの信号配線の配置やソフトブロック内のレイアウトなどを行う。ソフトブロックを利用することにより、チップ上のレイアウト段階で、使用されるハードブロックとソフトブロックの組み合わせに応じて、ソフトブロックのサイズ、フレーム形状、ブロックピンなどを最適化することができる。
【０００８】
図２は、トップダウン階層レイアウト設計方法によるレイアウト例を示す図である。図１に比較して、ソフトブロックＡのブロックピン１６の位置がハードブロックＢのブロックピン１２に対向する位置に配置されるため、それらを接続するトップレベルの信号配線１４は最短の長さとなり信号遅延が少なく、しかも、縦方向の信号配線層しか利用する必要がなく、無駄な配線チャネルを必要としない。
【０００９】
【発明が解決しようとする課題】
図３は、トップダウン階層レイアウト設計方法の問題点を示す図である。図３には、ソフトブロックＢに対して、２つのハードブロックＡ，Ｃが隣接する例が示される。ソフトブロックＢのブロックピン１６は、隣接するハードブロックＡのブロックピン１０に対向する位置に配置され、それらの間を接続するトップレベルの信号配線１４は、図２と同様に最適化される。しかしながら、ソフトブロックＢのブロックピン１６は、ハードブロックＣのブロックピン１２に対しては最適化された位置に配置されていないので、両ブロックピン１６，１２間を接続するトップレベルの信号配線１８は、最短化されずに信号遅延が発生し、無駄な配線チャネルを必要とする。
【００１０】
この様に、従来のソフトブロックを利用したトップダウン階層レイアウト設計方法において、より多くのブロックを利用する大規模集積回路装置においては、上記の通り未だ解決すべき課題が存在する。
【００１１】
そこで、本発明の目的は、ブロック間を接続するトップレベルの信号配線を最適化することができるレイアウトの方法及びそのレイアウトプログラムを記録した記録媒体を提供することにある。
【００１２】
更に、本発明の目的は、ソフトブロックのブロックピンの配置の決定によりフレキシビリティを持たせて、最適なブロックピンの配置を可能にすることができるレイアウトの方法及びそのレイアウトプログラムを記録した記録媒体を提供することにある。
【００１３】
更に、本発明の目的は、ソフトブロックのブロックピンの数と配置の自由度を増したレイアウト方法によるＬＳＩの製造方法及びそのレイアウト方法を実行するレイアウトツールプログラムを記録した記録媒体を提供することにある。
【００１４】
【課題を解決するための手段】
上記の目的を達成する為に、本発明は、ソフトブロックを利用するトップダウン階層レイアウト設計方法において、ソフトブロック内のブロックピン（ソフトピンと称する）の配置の決定に加えて、既存のブロックピンと同電位の第２のブロックピンの生成を行うことができるようにし、更にブロックピンの位置を、それが接続される先のブロックピンに対向する位置に移動することができるようにすることで、従来のトップダウン階層レイアウト設計方法での前述の問題点を解決する。そのために、本発明のレイアウトツールプログラムには、ソフトピンの移動と発生の機能が追加され、如何なるブロックの組み合わせであっても、ブロック間の領域でのトップレベルの信号配線を最適化し、遅延時間が少なく、無駄な配線チャネルの使用をなくす。
【００１５】
上記の目的を達成するために、本発明は、複数の回路要素と外部に接続される複数のブロックピンとを有して所定の機能を有する複数のブロックを、チップに埋め込んだＬＳＩの製造方法において、
前記複数のブロックは、レイアウト設計段階でフレーム近傍のブロックピンの位置が固定されているハードブロックと、該レイアウト設計段階でフレーム近傍のブロックピンの位置が変更可能なソフトブロックとを有し、
前記製造方法は、
前記複数のブロックをチップ上に配置する工程と、
前記ソフトブロック内の第１のブロックピンを、前記ソフトブロックのフレーム近傍であって、第１の隣接するブロック内の第１の対応ブロックピンに対向する位置に移動する工程と、
前記複数のブロックの間の領域において、前記第１のブロックピンとそれに対向する前記第１の対応ブロックピンとの間を接続するブロック間信号配線を配線する工程とを有することを特徴とする。
【００１６】
上記の発明によれば、ソフトブロックのブロックピンの位置を、隣接するブロックのブロックピンに対向する位置に置くことができ、それらのブロックピンを接続するブロック間の領域のブロック間信号配線を効率的にすることができる。
【００１７】
上記の目的を達成するために、本発明は、複数の回路要素と外部に接続される複数のブロックピンとを有して所定の機能を有する複数のブロックを、チップに埋め込んだＬＳＩの製造方法において、
前記複数のブロックは、レイアウト設計段階でフレーム近傍のブロックピンの位置が固定されているハードブロックと、該レイアウト設計段階でフレーム近傍のブロックピンの位置が変更可能なソフトブロックとを有し、
前記製造方法は、
前記複数のブロックをチップ上に配置する工程と、
前記ソフトブロック内の第１のブロックピンと同電位の第２のブロックピンを、前記ソフトブロックのフレーム近傍であって、第１の隣接するブロック内の第１の対応ブロックピンに対向する位置に生成する工程と、
前記複数のブロックの間の領域において、前記第２のブロックピンとそれに対向する前記第１の対応ブロックピンとの間を接続するブロック間信号配線を配置する工程とを有することを特徴とする。
【００１８】
上記の発明によれば、ソフトブロックのブロックピンの位置を、隣接する複数のブロックのブロックピンに対向する位置に置くことができるので、より大規模化した集積回路装置において、ブロック間の領域のトップレベルの信号配線を効率的に行うことができる。
【００１９】
更に、上記の目的を達成するために、本発明は、上記したＬＳＩの製造方法の各工程をコンピュータに実行させるレイアウトツールを記録した記録媒体を提供する。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲がその実施の形態に限定されるものではない。
【００２１】
図４は、本発明の実施の形態例によるレイアウトツールを利用した場合のレイアウト例である。図３と同様に、ソフトブロックＢに対して、２つのハードブロックＡ，Ｃが隣接する例が示される。本実施の形態例のレイアウトツールを利用することにより、ソフトブロックＢのブロックピン１６は、隣接するハードブロックＡのブロックピン１０に対向する位置に配置された第１のブロックピン１６−１と、それと同電位であって、隣接するハードブロックＣのブロックピン１２に対向する位置に配置された第２のブロックピン１６−２とを有する。即ち、ソフトブロックＢのブロックピンは、重複して生成され、それぞれのブロックピン１６−１，１６−２が、それぞれ隣接するブロックの対応ブロックピン１０，１２に対向する位置に整列して配置される。そして、それらの間を接続するトップレベルの信号配線１４、１８は、最短化されて信号遅延が少なく、また、単一の縦方向の配線層のみで形成可能であり無駄な配線チャネルを必要としない。ソフトブロックＢのフレーム上もしくはその近傍に配置されるこれらのブロックピン１６−１，１６−２は、ソフトブロックＢ内の領域において、図示しない配線により接続され、同電位となる。従って、ブロック間の領域におけるトップレベルの信号配線の量を最小化することができ、チップ全体のレイアウト面積を縮小化することができる。
【００２２】
ソフトブロックＢ内には、複数の論理ゲートやフリップフロップ等の回路要素が配置され、それらの入力端子や出力端子とブロックピンとの間の接続関係が、ネットリストのデータの形で提供される。従って、ソフトブロックＢのサイズ、アスペクト比（縦横の長さの比）、ブロックピンの個数と位置が決定されると、レイアウトツールにより提供される自動レイアウトツール（後に説明するオート・プレース・アンド・ラウト）により、予め設計されたネットリストに従って内部の接続配線が形成される。
【００２３】
図５は、ＬＳＩの製造工程を示すフローチャート図である。まず、論理設計工程において、予め提供されている論理ライブラリＤ１内のセルやブロック、サードパーティから提供されるハードブロックＤ２等を組み合わせて、チップ内の論理回路の設計が行われる（Ｓ１）。ここで、論理ライブラリ内のセルは、アンドゲート、オアゲートやフリップフロップ等の汎用性の高い比較的小規模な回路要素からなる論理回路である。また、論理ライブラリ内のブロックは、例えば、メモリやＡＬＵ等のセルよりもさらに大規模な論理マクロであり、ハードブロックとソフトブロックとを有する。ハードブロックは、論理ライブラリ内のブロックと同程度或いはそれより大規模な論理マクロであり、通常は、内部の信号配線や回路要素のレイアウトは固定され、ブロックピンも固定されている。
【００２４】
論理設計の工程により、チップ内に複数のブロックが埋められ、また、複数のセルが配置される。かかる論理設計により、チップ内の論理回路のネットリストＤ３が生成される。
【００２５】
かかるネットリストに対して、論理シミュレーションが行われる（Ｓ２）。論理シミュレーション工程では、仮レイアウトによる遅延時間が計算され、その遅延時間をもとに、所定の入力データパターンに対して期待される出力データパターンが得られるか否かのテストが行われる。この論理シミュレーションをパスすることにより、次のレイアウト設計の工程に進む。
【００２６】
レイアウト設計の工程では、論理設計により生成されたネットリストＤ３をもとに、チップ上に複数のブロックとセルをレイアウトし、更に、それらを接続するトップレベルの信号配線、それらに電源を供給するトップレベルの電源配線等を生成する（Ｓ３）。この段階で、詳細なチップ上のパターンレイアウトが行われ、レイアウト設計により生成されたＬＳＩに対するバリデーションが行われ（Ｓ４）、それをパスすると、具体的なウエハプロセス工程によって、実際のＬＳＩチップが形成される（Ｓ５）。
【００２７】
本実施の形態例のレイアウトツールは、上記のレイアウト設計の工程Ｓ３にて使用される。
【００２８】
図６は、ＬＳＩ設計システムの概略構成図である。図５のフローチャートでの論理設計Ｓ１，論理シミュレーションＳ２，レイアウト設計Ｓ３，シミュレーションＳ４等は、通常のエンジニアリング・ワークステーションと、それらの設計ツールプログラムから構成されるＬＳＩ設計システムにより、実行される。従って、ＬＳＩ設計システムは、図６に示される通り、ＣＰＵ２０，ＲＡＭ２２，キーボードやマウス等の入力装置２１と外部モニタ装置２４に接続されるインターフェース２３等が、バス２８により接続される。そして、ハードディスクや磁気テープ等の記録媒体内に、ライブラリデータ２５、論理設計ツール２６、レイアウトツール２７等が格納される。本実施の形態例にかかるレイアウトツール２７は、後にフローチャートやデザイン画面等により説明する機能を有するプログラムである。
【００２９】
図７は、本実施の形態例におけるレイアウト設計のフローチャート図である。図６に示されたＬＳＩ設計システムにおいて、レイアウトツール２７を利用することにより、チップ上のレイアウト設計が行われる。より具体的には、モニタ装置２４によって、後述するコントロール画面に加えて、デザイン画面が提供され、オペレータは、それらの画面のＧＵＩを介して、チップ上のレイアウト設計を行う。以下の例では、ケイデンス社のレイアウトツールである「プレビュー」（商品名）を例にして説明する。
【００３０】
図８〜図１５は、図７の各工程に対応するデザイン画面の例を示す図である。これらのデザイン画面を参照しながら、図７のフローチャートに示したレイアウト設計の各工程を説明する。
【００３１】
図８は、チップサイズの決定を行う工程Ｓ１０におけるデザイン画面例を示す図である。図８において、デザイン画面３０内には、左側に利用可能なブロックＡ，Ｂ，Ｃ，Ｄが表示され、右側に利用可能なセルがマトリクス状に表示される。そして、それらの間の中央部にチップ３４が表示される。図示されないコントロール画面には、レイアウト設計に必要な各種の機能ツールが示される。
【００３２】
図８のデザイン画面を参照しながら、オペレータは、最初にチップ３４のサイズを決定する。チップ３４のサイズは、通常の画像作成ツールと同様に、マウスによりチップ３４のフレームをドラッグすることにより、任意の大きさに設定することができる。もちろん、すでに論理設計により生成されたネットリスト内のブロックやセルを全て収納するための最低限のサイズ等が、予め与えられ、それよりも小さいサイズに設定することはできない。
【００３３】
画面の両側に示された複数のブロックＡ〜Ｄとセル３２は、適宜マウスによってチップ３４上にドラッグすることにより、選択され、チップ３４上にレイアウトされることができる。図８に示されたデザイン画面内には、ハードブロックＡ，ＣとソフトブロックＢ、Ｄとが示される。ハードブロックＡ、Ｃは、斜線で示されるが、それらのブロックピン１０，１２の位置は固定されている。また、ソフトブロックＢ、Ｄのブロックピンの位置は未定であり、従って、例えばブロックの中央部に仮想的に配置される。
【００３４】
図９は、チップ上のブロックのレイアウトを行う工程Ｓ１１におけるデザイン画面例を示す図である。図９の例では、チップ３４上に、マウスによるドラッグにより選択されたハードブロックＡ，ＣとソフトブロックＢが配置され、更に、複数のセルを配置するゲート領域３６が配置される。ゲート領域３６は、領域のサイズを設定した後に、レイアウトツールの一つの機能である「クリエート・ロウ」を実行することにより、そのゲート領域３６内にゲート列が図示される通り形成される。このゲート列内に、基本ゲート列が配置され、それらの基本ゲートを使用することにより、選択されたセルが形成される。かかる手法は、通常のゲートアレイを利用した方法と同じである。
【００３５】
図９の状態では、各ブロックとセルの選択が行われ、各ブロックとセルを配置するゲート領域３６のレイアウトが行われる。また、ソフトブロックＢのアスペクト比とサイズも設定される。更に、図示されないが、各ブロック間の領域におけるトップレベルの電源幹線の配置も行われる。トップレベルの電源幹線の配置を行うことにより、ブロック間の領域にどの程度の配線チャネルを配置すべきが判断され、その判断に従って、ブロックのレイアウトが決定する。
【００３６】
既に論理設計工程において、ネットリストが形成されているので、チップ３４内にブロックＡ，Ｂ，Ｃを配置した段階で、それらのブロックピン間の接続関係は決まっている。従って、図示しないコントロール画面から所定の機能を指定することにより、それらの接続関係をデザイン画面３０上に表示することができる。即ち、図中のハードブロックＡのブロックピン１０とソフトブロックＢのブロックピン１６との間の破線と、ハードブロックＣのブロックピン１２とソフトブロックＢのブロックピン１６との間の破線とが、それらの接続関係を示す。
【００３７】
図１０，１１は、ソフトブロック内のブロックピンであるソフトピンの配置工程Ｓ１２におけるデザイン画面例を示す図である。従来のレイアウトツールには、ソフトピンを、それが接続される別のブロックピンの位置に応じて、最適な位置に配置するためのソフトピンの自動配置機能が備えられている。更に、本実施の形態例では、ソフトピンの位置を移動させる機能と、同じ電位の別のソフトピンを生成する機能とを有する。ここでは、本実施の形態例にかかる新規な機能である、ソフトピンの移動と生成により、ソフトブロックＢ内のブロックピンの最適な配置を行う。
【００３８】
図１０に示される通り、ソフトブロックＢ内のソフトピン１６は、ソフトピンの移動機能を利用して、ハードブロックＡのブロックピン１０に対向するフレーム近傍の位置１６−１に移動される。更に、図１１に示される通り、ソフトブロックＢのフレーム近傍（フレーム上或いはそれの近傍）であって、ハードブロックＣのブロックピン１２に対向する位置に、同電位の別のソフトピン１６−２が生成される。その結果、両ソフトピン１６−１，１６−２は、ソフトブロックＢの上辺と底辺との位置であって、隣接するハードブロックＡ，Ｂのそれぞれのブロックピン１０，１２に対向する位置に配置される。これらのブロックピン間を接続するブロック間領域のトップレベルの信号配線は、破線で示される通り、最短距離となる。これらのソフトピンの移動機能と生成機能については、後で詳述する。
【００３９】
図１２は、セルアレイとなるゲート領域３６内のセルの自動配置工程Ｓ１３におけるデザイン画面例を示す図である。セルの自動配置の機能は、前述の「プレビュー」では、「セル・オート・プレイサ」と称される機能であり、使用されるセルが選択されると、ネットリストに従って最適なセルの配列が、ゲート領域３６内で、図中斜線で示される様に行われる。かかる機能は、ゲートアレイ上にセルを配置する機能である。アレイ上に配置されたセルは、ゲートアレイ間のチャネル領域に形成される信号配線により、それぞれ接続される。
【００４０】
図１３は、ブロック内の配線が行われる工程Ｓ１４におけるデザイン画面例を示す図である。ブロック内の配線は、ボトムレベルの配線であり、図１２の様にブロックの配置、ソフトブロックの形状の設定とソフトブロックの配置が終了すると、実質的にはトップレベルの配線は確定的となる。従って、本実施の形態例のトップダウン階層レイアウト設計方法において、ボトムレベルの配線を行うことができる。
【００４１】
前述の「プレビュー」では、「オート・プレース・アンド・ラウト」と称される機能により、ソフトブロックＢ内の配線の配置が、そのソフトブロックのネットリストに従って自動で行われる。ここで注意すべきことは、工程Ｓ１２にて新たなソフトピンの生成を行った場合は、ソフトブロックＢのネットリストに、新たに生成したソフトピン１６−２を既存のソフトピン１６−１と接続すべきとの記述が加えられていることである。かかる記述が加えられることにより、「オート・プレース・アンド・ラウト」を実行することにより、ソフトブロックＢ内の回路要素間及びソフトピン間の接続配線が生成される。その結果、ソフトブロックＢは、図中斜線で示される通り、もはやその形状、ブロックピン、内部配線が固定的になりハードブロックとなる。
【００４２】
図１４は、電源引き込み配線を配置する工程Ｓ１５におけるデザイン画面例を示す図である。工程Ｓ１１において、ブロック間の領域（トップレベル）に電源幹線４０が形成されている。そして、工程Ｓ１５では、その電源幹線４０とそれぞれのブロックＡ，Ｂ，Ｃの電源引き込みピンとの間の電源引き込み配線４２が生成される。電源幹線４０は、通常、ブロックＡ，Ｂ，Ｃ等の周囲を取り巻く様に、メッシュ状に形成される。従って、これらの電源幹線４０とブロックの電源引き込みピンとは、最短の電源引き込み配線４２により接続される。また、ゲート領域３６内のセルに対しては、例えばゲートアレイに沿って配置される図示しない電源配線により、セルを構成する各ゲートにそれぞれ電源が供給される。
【００４３】
図１５は、ブロック間の領域（トップレベル）のブロックピン間を接続する信号配線を配置する工程Ｓ１６におけるデザイン画面の例を示す図である。かかる工程では、前述の「プレビュー」の「オート・ラウト」と称される機能を利用することにより、ブロック間の領域におけるブロックピン同士を接続するトップレベルの信号配線が、ネットリストに従って、生成される。上記のブロックＡのブロックピン１０と隣接するブロックＢのブロックピン１６−１との間、及びブロックＢのブロックピン１６−２と隣接するブロックＣのブロックピン１２との間の信号配線は、前述の通り最短距離のものとなる。また、図示される例に示される通り、ブロックＡのブロックピン４４とブロックＣのブロックピン４６とは、ブロック間の領域の配線チャネル領域を利用して、信号配線４８により接続される。
【００４４】
本実施の形態例のトップダウン階層レイアウト設計方法では、図７に示したボトムレベルのブロック内配線の生成工程Ｓ１４は、工程Ｓ１５，Ｓ１６の後に実行されても良い。
【００４５】
以上のレイアウト工程により、チップ上の複数のブロックと複数のセル及びそれらを接続するトップレベルの信号配線、電源配線が形成される。このようにして生成されたレイアウト構造に従って、図５のフローチャートに示した通り、再度シミュレーションが行われ、レイアウトがＬＳＩの正常な機能を提供するか否かのチェックが行われる。
【００４６】
ソフトピンの移動と生成
図１６は、レイアウトツールにおけるコントロール画面のＧＵＩの例を示す図である。図１６には、メインコントロール画面５０と、その一部のサブコントロール画面５２，５４が示される。メインコントロール画面５０内には、前述したレイアウトツールの各種の機能である、クリエート・ロウ、セルオートプレース、オート・プレース・アンド・ラウト、オート・ラウトなどがリストされる。更に、本実施の形態例では、ソフトピン配置（１）と（２）がリストされる。レイアウト設計を行うオペレータは、このメインコントロール画面５０において、所望の機能をクリックすることにより、その機能の実行をさせ、或いはその機能に対応するサブコントロール画面に移ることができる。
【００４７】
図１６には、ソフトピン配置（１）に対応するサブコントロール画面５２と、ソフトピン配置（２）に対応するサブコントロール画面５４とが示される。ソフトピン配置（１）の機能は、ソフトブロックのソフトピンを、接続される他のブロックピンとの関係から、最適な位置に配置する機能（ソフトピンの自動配置機能）と、ソフトピンをマニュアルで配置する機能とを有する。従来のソフトピンの自動配置機能では、図３に示した如き配置となり、トップレベルの信号配線１８が無駄な配線チャネルを利用してしまい、必要以上に長くなる問題がある。また、ソフトピンのマニュアル配置は、一つ一つのソフトピンの配置を、マウスによる選択とドラッグにより行う必要があり、多くの工数を要する。
【００４８】
一方、本実施の形態例によるソフトピン配置（２）に対応するサブコントロール画面５４には、ソフトピンが接続される先の参照オブジェクトの指定の領域５４Ａと、ソフトピンの移動か生成かを指定する領域５４Ｂと、ソフトピンの移動或いは生成の位置として辺を指定する領域５４Ｃとが設けられる。それぞれのボタンをクリックすることにより、オペレータが各指定を行うことができる。
【００４９】
図１７は、ソフトピンの配置工程Ｓ１２における、コントロール画面及びそれぞれの工程の関係を示すフローチャート図である。図１７には、サブコントロール画面について、図１６に示した画面５２，５４についてのみ示される。メインコントロール画面５０内の他の機能に対するサブコントロール画面についてのフローチャートは省略した。
【００５０】
まず、メインコントロール画面５２において、ソフトピン配置（１）か（２）かが選択される（Ｓ２０，Ｓ２１）。ソフトピン配置（１）は、上記の通りソフトピンの自動配置の機能であり、ソフトピン配置（２）は、ソフトピンの移動または生成の機能である。ソフトピン配置（１）の自動配置機能を選択すると、サブコントロール画面５２に変更され（Ｓ２２）、その画面においてソフトピンの自動配置機能を選択すると、ソフトピンを自動的に最適な位置に配置する（Ｓ２３）。この自動配置は、ネットリストに基づいて所定のアルゴリズムに従って行われるので、オペレータはソフトピンをどこの領域に配置するかについて、任意に設定することができない。
【００５１】
また、メインコントロール画面５０内で、ソフトピン配置（２）のソフトピンの移動と生成を選択すると、サブコントロール画面５４に変更される（Ｓ２４）。ソフトピンの移動と生成のサブコントロール画面５４において、ソフトピンの移動の機能が選択されると、レイアウトツールにより後述するアルゴリズムに従ってソフトピンの移動が自動で行われる（Ｓ２５）。また、ソフトピンの生成の機能が選択されると、レイアウトツールにより後述するアルゴリズムに従ってソフトピンの新たな生成が自動で行われる（Ｓ２６）。
【００５２】
図１８は、ソフトブロック内のブロックピンであるソフトピンの移動機能のフローチャート図である。また、図１９は、ソフトブロック内のソフトピンの生成機能のフローチャート図である。本実施の形態例におけるレイアウトツールは、図１８及び図１９のフローチャートに示されたアルゴリズムに従う、ソフトブロックのソフトピンに対する移動機能と生成機能を有する。
【００５３】
図２０〜図２２は、ソフトブロックのソフトピンの移動と生成を説明するための図である。これらの図を参照しながら、図１８，図１９に示した移動と生成の機能について説明する。
【００５４】
最初にソフトブロックのソフトピンの移動について説明すると、サブコントロール画面５４の状態で、デザイン画面は、図９に示される状態である。より詳細にいえば、図２０に示される通り、ソフトブロックＢの上下に隣接してハードブロックＡ，Ｃが配置され、ネットリストに従って、ハードブロックＡ，Ｃのブロックピン１０，１２と、ソフトブロックＢのソフトピン１６との間の論理的な接続が、破線により示される。オペレータは、この論理的な接続を示す破線に従って、移動すべきソフトピンと移動すべきフレーム近傍の位置を指定する。
【００５５】
オペレータは、サブコントロール画面５４内で、ソフトピンの移動を選択する。そして、デザイン画面内において、ソフトブロック内の移動すべきソフトピンを選択する（Ｓ３０）。これはマウス等の入力装置により移動対象のソフトピンを選択することができる。更に、図１６のサブコントロール画面５４に示される通り、選択されたソフトピンを配置するソフトブロックのフレーム近傍の位置が指定される。即ち、図２０の例では、上辺が指定される。更に、ソフトピンが接続される先が参照ブロックか参照チップ辺かの指定が、サブコントロール画面５４内で行われる。即ち、ソフトピン１６が接続される先が、隣接するブロックのブロックピンかあるいは隣接するチップの辺の接続ピンかの設定が行われる。これらの設定に従って、レイアウトツールの自動移動機能が実行される。
【００５６】
図１８のフローチャートにおいて、工程Ｓ３３からＳ３９が、選択されたソフトピン全てに対して繰り返される。まず、ネットリストＤ３から、選択されたソフトピンと接続する参照ブロックに属する参照ブロックピンが検出される（Ｓ３４）。図２０の例では、ハードブロックＡのブロックピン１０が検出される。そして、ここでの例では、選択されたソフトピンの移動先のフレーム近傍の位置が、上辺であるので、工程Ｓ３８，Ｓ３９が実行される。即ち、レイアウトツールは、選択されたソフトピン１６の移動後のＹ座標を、指定されたソフトブロックＢの上辺のＹ座標に設定する（Ｓ３８）。そして、選択されたソフトピン１６の移動後のＸ座標を、参照ブロックピン１０のＸ座標と等しい値に設定する（Ｓ３９）。ソフトピンの移動先のフレームの位置が右辺または左辺である場合は、工程Ｓ３６，３７に示される通り、移動後のＸ座標とＹ座標を設定する。
【００５７】
上記の自動移動機能を実行することにより、図２１に示される通り、ソフトピン１６の移動後の位置は、隣接するハードブロックＡのブロックピン１０に対向する位置１６−１となる。かかるピン１６−１の位置は、ハードブロックＡのブロックピン１０のＸ座標と同じＸ座標を有する。従って、後に行われるトップレベルの信号配線においては、図２１中実線で示される通り、最短の配線６０により、ブロックピン１０と１６−１とが接続される。
【００５８】
図２１の状態では、ソフトブロックＢのソフトピンは、隣接するハードブロックＡのブロックピン１０に適合する位置に配置されただけであり、隣接する別のハードブロックＣのブロックピン１２には適合していない。そこで、サブコントロール画面５４にて、新たなソフトピンの生成機能が選択される。ソフトピンの生成機能は、図１９のフローチャートに従って実行される。
【００５９】
まず、新たに生成すべきソフトピンと同電位になる参照ソフトピンが、デザイン画面内で選択される（Ｓ４０）。ここの例では、４個のソフトピン１６−１が選択される。そして、選択された参照ソフトピン１６−１と同電位の新たに生成されるソフトピンを配置する辺が、サブコントロール画面５４にて行われる（Ｓ４１）。ここでは、ソフトブロックＢの底辺が選択される。また、新たに生成されるソフトピンが接続される先が、参照ブロックかチップ辺かの指定がサブコントロール画面５４にて行われる（Ｓ４２）。ここでは、ハードブロックＣが選択される。
【００６０】
そこで、レイアウトツールは選択されたソフトピン１６−１全てについて、図１９の工程Ｓ４３〜Ｓ５０のアルゴリズムに従う自動生成機能を実行して、図２２に示される様な新たなソフトピン１６−２を生成する。この新たなソフトピン１６−２の位置は、ソフトブロックＢの底辺上であり、隣接するハードブロックＣのブロックピン１２に対向する位置となる。
【００６１】
工程Ｓ４３〜Ｓ５０に示されたソフトピンの自動生成機能では、まず、選択された参照ソフトピン１６−１と接続され、それと同電位のソフトピンを内部的に発生する（Ｓ４４）。次に、選択された参照ソフトピン１６−１と接続し、指定された参照ブロックＣに属する接続先のブロックピン１２を、ネットリストＤ３に従って検出する（Ｓ４５）。生成されるソフトピンの位置が、上辺または底辺の場合は、工程Ｓ４９，Ｓ５０によって、新たに生成されるソフトピン１６−２の位置が設定される。ここでは、底辺が設定されているので、生成されるソフトピン１６ー２のＹ座標が、指定された底辺のＹ座標に設定され（Ｓ４９）、更に、生成されるソフトピン１６−２のＸ座標が、検出された参照ピンであるハードブロックＣのブロックピン１２のＸ座標と同じ値に設定される（Ｓ５０）。
【００６２】
その結果、図２２に示される通り、ソフトブロックＢ内にソフトブロック１６−１に接続され、それと同電位のソフトピン１６−２が、隣接するハードブロックＣのブロックピン１２に対向する位置に新たに生成される。その結果、後に実行されるトップレベルの信号配線の配置工程により、両ピン１６−２と１２とを最短で接続する信号配線６２が生成される。指定された辺が、右辺または左辺の場合は、工程Ｓ４７，Ｓ４８に示される通り、新たに生成されるソフトピンの位置が設定される。
【００６３】
以上の様にして新たに生成されたソフトピン１６−２は、ソフトブロックＢ内のネットリストに追加される。そして、この新たに生成したソフトピン１６−２は、参照ソフトピン１６−１と接続されるべき旨の記述が、ネットリストに追加される。この記述が、図２２におけるソフトピン１６−１と１６−２とを接続する破線に対応する。
【００６４】
図２３は、トップレベルの信号配線とボトムレベルの信号配線の生成工程を説明する図である。既に説明した通り、図７のフローチャートのボトムレベルの信号配線である、ソフトブロック内の信号配線の配置工程Ｓ１４において、ソフトブロックＢ内の回路要素７０〜７３間を接続する信号配線の配置と共に、ソフトピン１６−１と１６−２間を接続する信号配線７６も同時にソフトブロックＢ内に配置される。そして、更にブロック間の領域におけるトップレベルの信号配線の配置工程Ｓ１６において、ブロックＡ，Ｂのブロックピン１０、１６−１間、及びブロックＢ、Ｃのブロックピン１２、１６−２間とが、最短の信号配線６０、６２により接続される。この信号配線６０，６２は、いずれもＹ方向に延びる短い配線であり、無駄な配線チャネルを必要とせず、しかも信号の伝搬遅延は最小に抑えられる。Ｙ方向に延びる信号配線６０，６２は、Ｙ方向の配線チャネルを提供する単一の信号配線層において、提供され、Ｘ方向の配線チャネルを提供する別の信号配線層のチャネルを必要としない。無駄な配線チャネルを必要としないので、チップ全体のサイズを小さくすることができ、そのことにより、更にブロック間の信号の伝搬遅延時間を少なくすることができる。図２３中、ブロックピン１６−３，１６−４は、回路要素７０〜７３の入力信号が供給される。
【００６５】
上記の実施の形態例では、ソフトピンの移動機能を実行した後に発生機能を実行したが、逆の順番であっても同様にトップレベルの信号配線を最適化することができる。
【００６６】
全体の設計がボトムアップ方式であっても、内部に一部ソフトブロックを有する場合は、ブロックのレイアウトの後にソフトブロック内のブロックピンの再配置が行われる場合があり、かかる工程で、本発明を適用することができる。また、上記の用語、ブロックは、マクロと称されることもあり、ブロックピンは、マクロ端子と称されることもある。しかしながら、それらの用語は、本発明において同様の意味で使用されていることは、当業者には容易に理解される。
【００６７】
また、上記の実施の形態例では、複数のブロックと共にセルアレイ領域も併存する大規模チップを例にして説明した。しかしながら、セルアレイ領域が存在せず、複数のブロックのみで構成される場合でも、本発明が適用できることは自明である。
【００６８】
【発明の効果】
以上説明した通り、本発明によれば、ソフトブロックを利用するトップダウン階層レイアウト設計方法において、ソフトブロック内のブロックピンを、隣接するブロックのブロックピンに対向する位置に自動的に移動する機能と、更に、隣接するブロックのブロックピンに対向する位置に既に存在するソフトピンに接続されてそれと同電位の新たなソフトピンを生成する機能とを有する。従って、かかる機能を利用することで、ブロック間の領域におけるブロックピンを接続するトップレベルの信号配線を、最短距離であって無駄な配線チャネルを必要とせずに生成することができる。
【図面の簡単な説明】
【図１】ボトムアップ階層レイアウト設計方法の問題点を示す図である。
【図２】トップダウン階層レイアウト設計方法によるレイアウト例を示す図である。
【図３】トップダウン階層レイアウト設計方法の問題点を示す図である。
【図４】本発明の実施の形態例によるレイアウトツールを利用した場合のレイアウト例である。
【図５】ＬＳＩの製造工程を示すフローチャート図である。
【図６】ＬＳＩ設計システムの概略構成図である。
【図７】本実施の形態例におけるレイアウト設計のフローチャート図である。
【図８】図７の工程Ｓ１０に対応するデザイン画面の例を示す図である。
【図９】図７の工程Ｓ１１に対応するデザイン画面の例を示す図である。
【図１０】図７の工程Ｓ１２に対応するデザイン画面の例を示す図である。
【図１１】図７の工程Ｓ１２に対応するデザイン画面の例を示す図である。
【図１２】図７の工程Ｓ１３に対応するデザイン画面の例を示す図である。
【図１３】図７の工程Ｓ１４に対応するデザイン画面の例を示す図である。
【図１４】図７の工程Ｓ１５に対応するデザイン画面の例を示す図である。
【図１５】図７の工程Ｓ１６に対応するデザイン画面の例を示す図である。
【図１６】レイアウトツールにおけるコントロール画面のＧＵＩの例を示す図である。
【図１７】ソフトピンの配置工程Ｓ１２における、コントロール画面及びそれぞれの工程の関係を示すフローチャート図である。
【図１８】ソフトブロック内のブロックピンであるソフトピンの移動機能のフローチャート図である。
【図１９】ソフトブロック内のブロックピンであるソフトピンの生成機能のフローチャート図である。
【図２０】ソフトブロックのソフトピンの移動と生成を説明するための図である。
【図２１】ソフトブロックのソフトピンの移動と生成を説明するための図である。
【図２２】ソフトブロックのソフトピンの移動と生成を説明するための図である。
【図２３】トップレベルの信号配線とボトムレベルの信号配線の生成工程を説明する図である。
【符号の説明】
Ａ，Ｂ，Ｃ、Ｄ    ブロック
１０，１２        ブロックピン
１６              ソフトピン、ブロックピン
３２              セル群
３４              チップ
３６              ゲート領域
４０              トップレベル電源幹線
４４，４６        ブロックピン
４８，６０，６２  トップレベル信号配線
【図１】
0004090118.tif 000002
【図２】
0004090118.tif 000003
【図３】
0004090118.tif 000004
【図４】
0004090118.tif 000005
【図５】
0004090118.tif 000006
【図６】
0004090118.tif 000007
【図７】
0004090118.tif 000008
【図８】
0004090118.tif 000009
【図９】
0004090118.tif 000010
【図１０】
0004090118.tif 000011
【図１１】
0004090118.tif 000012
【図１２】
0004090118.tif 000013
【図１３】
0004090118.tif 000014
【図１４】
0004090118.tif 000015
【図１５】
0004090118.tif 000016
【図１６】
0004090118.tif 000017
【図１７】
0004090118.tif 000018
【図１８】
0004090118.tif 000019
【図１９】
0004090118.tif 000020
【図２０】
0004090118.tif 000021
【図２１】
0004090118.tif 000022
【図２２】
0004090118.tif 000023
【図２３】
0004090118.tif 000024