(57)【特許請求の範囲】
【請求項１】
マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、
前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、
マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、
前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、
前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定されるマクロ端子の特性と、マクロ端子に繋がるすべてのセル端子の属性に基づいて設定されるマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置と
を備えるマクロライブラリ生成装置。
【請求項２】
前記物理ライブラリ生成装置は、更に、前記物理ライブラリを構成するマクロ端子の位置及びマクロ端子に繋がる配線の配線層に関する情報を前記図形データに基づいて抽出する請求項１に記載のマクロライブラリ生成装置。
【請求項３】
マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、
前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、
マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、
前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、
前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定される第１のマクロ端子の特性と、前記記述データに基づいて前記セルライブラリから読み出される、各マクロ端子に繋がるすべてのセル端子の特性が反映された第２のマクロ端子の特性と、マクロ端子に繋がるすべてのセル端子の属性に基づいて設定されるマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置と
を備えるマクロライブラリ生成装置。
【請求項４】
マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、
前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、
マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、
前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、
前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定されるマクロ端子の特性と、前記記述データに基づいて前記セルライブラリから読み出され、各マクロ端子に繋がるすべてのセル端子の属性が反映されたマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置と
を備えるマクロライブラリ生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体装置のレイアウト設計やデザインルールチェックを行う際に用いられるマクロライブラリの生成装置に関する。
【０００２】
近年、半導体装置の高集積化が進められるとともに、開発期間の短縮化が進められている。これに伴い、所定の機能を持つ論理素子に対応して予め用意されたセルを用いて作成される大規模なマクロ回路の開発が要求されている。そこで半導体装置のレイアウト設計においてマクロを使用するために、マクロライブラリの生成においても迅速に対応できることが必要である。
【０００３】
【従来の技術及び発明が解決しようとする課題】
マクロを作成するためには、マクロ内で使用されるセルの種類の情報、マクロ端子の情報、マクロ内のネット情報等で定義された論理記述言語により記述された記述データ（以下、「論理記述言語」ともいう。）が作成される。この論理記述言語に基づいて、マクロにおけるセルのレイアウトが行われ、マクロ端子とセルの端子とを接続する配線及びセルの端子間を接続する配線が行われ、マクロが作成される。このように作成されたマクロはライブラリとしてファイルに登録され、半導体装置のレイアウト設計に使用される。マクロライブラリはマクロ名、マクロの占有する面積を示す枠情報、マクロの端子情報で定義される。マクロの端子情報には、該マクロ端子がどのような機能を持つ端子かを示す端子属性や、論理シミュレーションを行うために必要な入力負荷容量及び出力駆動能力がある。
【０００４】
従来、マクロライブラリの生成はマクロ設計者の手作業で行われている。そのため、特に、端子属性の設定は、マクロ端子に複数のセルの端子が接続される場合には手間を要するとともに、ミスが発生し易かった。また、マクロの入力負荷容量や出力駆動能力はマクロ設計者による大まかな見積もり値であったため、これらの値の精度が劣っていた。
【０００５】
本発明は上記問題点を解決するためになされたものであって、その目的は、マクロライブラリを容易に生成できるとともに、人為的なミスがなく、信頼性の高いマクロライブラリを生成することにある。
【０００６】
【課題を解決するための手段】
上記の目的を達成するため、請求項１の発明は、マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定されるマクロ端子の特性と、マクロ端子に繋がるすべてのセル端子の属性に基づいて設定されるマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置とを備える。
【０００７】
請求項２の発明の物理ライブラリ作成装置は、前記物理ライブラリ生成装置は、更に、前記物理ライブラリを構成するマクロ端子の位置及びマクロ端子に繋がる配線の配線層に関する情報を前記図形データに基づいて抽出する
請求項３の発明のライブラリ合成装置は、マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定される第１のマクロ端子の特性と、前記記述データに基づいて前記セルライブラリから読み出される、各マクロ端子に繋がるすべてのセル端子の特性が反映された第２のマクロ端子の特性と、マクロ端子に繋がるすべてのセル端子の属性に基づいて設定されるマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置とを備える。
【０００８】
請求項４の発明のライブラリ合成装置は、マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定されるマクロ端子の特性と、前記記述データに基づいて前記セルライブラリから読み出され、各マクロ端子に繋がるすべてのセル端子の属性が反映されたマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置とを備える。
【０００９】
（作用）
本発明では、マクロ端子の特性は、マクロ端子に繋がるすべてのセルの特性と、マクロレイアウトで作成したマクロ端子とセル端子とを接続する配線の配線容量を算出することによって、詳細にかつ短時間で算出することができる。また、マクロ端子の属性は、マクロ端子に繋がるすべてのセル端子の端子属性から容易に抽出できる。
【００１０】
【発明の実施の形態】
以下、本発明の実施の一形態を図面に従って説明する。
図１は半導体装置（ＬＳＩ）の設計システム１０を示す。同システム１０は、論理データファイル１、セルライブラリファイル２、マクロレイアウト装置１１、図形データファイル３、本形態におけるマクロライブラリ生成装置１２、チップレイアウト装置１６及びデザインルールチェック装置１７を備える。
【００１１】
セルライブラリファイル２には、所定の機能を持つ種々の論理素子に対応するセルのデータが格納されている。論理素子には、例えば、図２に示すインバータ２２，２３、ＮＡＮＤ回路２４以外に、ＡＮＤ回路、ＯＲ回路、ＮＯＲ回路、ＸＯＲ（排他的論理和）回路等がある。セルライブラリファイル２には、図３に示すように前記インバータ２２，２３に対応するセル３２，３３やＮＡＮＤ回路２４に対応するセル３４のデータが格納されている。各セルのデータはセル名のデータ、セルの端子情報、及び同セルを構成するトランジスタのパターンデータ、セル内のネットを構成する配線パターンのデータ等からなる。セル端子情報は、各セル端子の位置情報（数値座標データ又はグリッド座標データ）、各セル端子の端子種類（通常端子、クロック端子等）の情報、入力負荷容量の情報及び出力駆動能力の情報を含む。
【００１２】
論理記述ファイル１には、マクロ設計者によって作成されたマクロの論理記述言語が格納されている。論理記述言語は、マクロ名の情報、マクロ内で使用されるセルの種類の情報、マクロ端子の情報、マクロ端子及びセル端子を接続するためのネット情報で定義される。マクロ端子情報は各マクロ端子の端子名の情報（文字テキスト情報）、及びマクロ端子の端子種類（入力端子、出力端子、又は入出力端子）の情報を含む。
【００１３】
図２は論理記述ファイル１に格納された一例の論理記述言語で表現されたマクロ２１を示す。マクロ２１には論理素子としてのインバータ２２，２３及びＮＡＮＤ回路２４が使用され、マクロ端子としての入力端子Ａ１及び出力端子Ｘ１が設けられている。また、マクロ２１は入力端子Ａ１とインバータ２２，２３の入力端子を接続するネットＮ１と、インバータ２２の出力端子とＮＡＮＤ回路２４の一方の入力端子とを接続するネットＮ２と、インバータ２３の出力端子とＮＡＮＤ回路２４の他方の入力端子とを接続するネットＮ３と、ＮＡＮＤ回路２４の出力端子と出力端子Ｘ１とを接続するネットＮ４とを備えている。以下、説明の便宜上、論理記述ファイル１には図２に示すマクロ２１の論理記述言語が格納されているものとする。
【００１４】
マクロレイアウト装置１１はマイクロプロセッサからなり、所定のプログラムデータに基づいて動作する。
マクロレイアウト装置１１は、論理記述ファイル１からマクロ２１の論理記述言語を読み出し、その論理記述言語で使用されている種々の論理素子に対応するセルのパターンデータをセルライブラリファイル２から読み出し、その読み出したデータに基づいて種々のセルのパターンレイアウトを行う。従って、セルライブラリファイル２からインバータ２２，２３に対応するセル３２，３３のデータが読み込まれ、図３に示すようにセル３２，３３のパターンがレイアウトされる。同様にして、セルライブラリファイル２からＮＡＮＤ回路２４に対応するセル３４のデータが読み込まれ、図３に示すようにセル３４のパターンがレイアウトされる。
【００１５】
また、マクロレイアウト装置１１は、マクロ２１の論理記述言語におけるマクロ端子情報に基づいて各マクロ端子の位置を決定するとともに、その決定した位置に端子名のテキストパターン（文字テキスト）情報を付加する。従って、入力端子Ａ１及び出力端子Ｘ１の端子情報に基づいて図３に示すように、入力端子Ａ１及び出力端子Ｘ１の位置が「・」で示す位置に決定されるとともに、決定した各端子の位置にテキストパターン情報「Ａ１」，「Ｘ１」が付加される。
【００１６】
また、マクロレイアウト装置１１はマクロ２１の論理記述言語におけるネット情報に基づいてレイアウトした種々のセルの端子間を接続するネットの配線パターン、及びマクロ端子とセル端子とを接続するネットの配線パターンをレイアウトする。配線パターン同士を接続するためのビアパターンもレイアウトする。従って、図３に示すように、ネットＮ１の情報に基づいて入力端子Ａ１とセル３２の入力端子３２Ａとセル３３の入力端子３３Ａとを接続する配線パターンＬ１，Ｌ２，Ｌ３がレイアウトされる。ネットＮ２の情報に基づいて、セル３２の出力端子３２Ｂとセル３４の入力端子３４Ａとを接続する配線パターンＬ４，Ｌ５，Ｌ６，Ｌ７，Ｌ８がレイアウトされる。さらに、ネットＮ３の情報に基づいて、セル３３の出力端子３３Ｂとセル３４の入力端子３４Ｂとを接続する配線パターンＬ９，Ｌ１０，Ｌ１１，Ｌ１２，Ｌ１３がレイアウトされる。また、ネットＮ４の情報に基づいて、出力端子Ｘ１とセル３４の出力端子３４Ｃとを接続する配線パターンＬ１４がレイアウトされる。なお、配線パターン同士を接続するためのビアパターンもレイアウトされるが、図示していない。
【００１７】
また、図３に示すように、配線パターンＬ１には配線層のパターン情報「５」が付加され、配線パターンＬ１４には配線層のパターン情報「１０」が付加される。配線層のパターン情報「５」，「１０」はそれぞれ金属配線層の第１層及び第２層を示す。
【００１８】
セル配置及び配線が完了すると、マクロレイアウト装置１１は、レイアウトしたすべてのセル及びすべての配線パターンを含み、マクロ端子上を通過する多角形状の枠のパターン情報を作成する。枠のパターン情報は、枠の複数の頂点の位置情報（数値座標データ又はグリッド座標データ）からなる。各頂点の位置は、複数の頂点のうち任意の１つの頂点を原点とした場合の座標で表される。従って、図３においては、セル３２〜３４及び配線パターンＬ１〜Ｌ１４を含み、入力端子Ａ１上及び出力端子Ｘ１上を通過する長方形状の枠３１が生成され、４つの頂点３１ａ，３１ｂ，３１ｃ，３１ｄの位置情報によってパターン情報が作成される。
【００１９】
そして、マクロレイアウト装置１１は図３に示すパターンレイアウト結果の図形データを図形データファイル３に格納する。
マクロライブラリ生成装置１２は、物理ライブラリ生成装置１３、物理ライブラリファイル４、配線容量抽出装置１４、ネット容量リスト５、マクロライブラリ合成装置１５及びマクロライブラリファイル６を備える。
【００２０】
図４は本形態におけるマクロライブラリファイル６の構造を示し、１つのマクロに関して記憶領域４１，４２が設けられている。また、マクロにおける各マクロ端子に関して記憶領域４３，４３１，４３２，４３３，４３４，４３５，４３６が設けられている。すなわち、記憶領域４１にはマクロ名の情報が格納され、記憶領域４２にはマクロの枠のパターン情報が記憶される。記憶領域４３にはマクロの端子名の情報（テキストパターン情報）が格納され、記憶領域４３１にはマクロ端子の座標のデータが格納され、記憶領域４３２には配線層のパターン情報が格納される。記憶領域４３３にはマクロ端子の入力負荷容量のデータが格納され、記憶領域４３４にはマクロ端子の出力駆動能力のデータが格納される。さらに、記憶領域４３５にはマクロ端子が入力端子、出力端子、又は入出力端子のいずれかであるこを示す端子種類１のデータが格納され、記憶領域４３６にはマクロ端子がどのような機能を持つ端子かを示す端子種類２のデータが格納される。
【００２１】
なお、本形態における物理ライブラリファイル４はマクロライブラリファイル６における記憶領域４３３〜４３６を省略した構造である。
物理ライブラリ生成装置１３はマイクロプロセッサからなり、所定のプログラムデータに基づいて動作し、図６に示す物理ライブラリの生成処理を行う。すなわち、物理ライブラリ生成装置１３は図形データファイル３に格納されているマクロの図形データからマクロの枠のパターンやマクロ端子の座標と配線層を抽出し、その抽出したデータを物理ライブラリファイル４に格納する。
【００２２】
まず、ステップ５１において、図４に示す記憶領域４１にマクロ名の情報を格納するとともに、図形データからマクロの枠３１のパターン情報を読み出し、その各頂点の座標を記憶領域４２に格納する。
【００２３】
ステップ５２において、図形データからマクロ端子のテキストパターン情報と、端子のテキストパターン情報が記述されているマクロ端子の座標データと、配線層のパターン情報とを読み出し、マクロ端子のテキストパターン情報を記憶領域４３に格納し、マクロ端子の座標データを記憶領域４３１に格納し、配線層のパターン情報を記憶領域４３２に格納する。
【００２４】
ステップ５３において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子が有れば、ステップ５２に戻ってステップ５２の処理が繰り返し実行する。ステップ５２の処理はすべてのマクロ端子テキストに対して行う。
【００２５】
配線容量抽出装置１４もマイクロプロセッサからなり、所定のプログラムデータに基づいて動作し、図７に示す配線容量の抽出処理を行う。すわなち、配線容量抽出装置１４は図形データファイル３に格納されているマクロの図形データからマクロ端子に接続されるすべてのセルの端子までの配線の容量を抽出し、その抽出した配線容量をネット容量リスト５に格納する。
【００２６】
まず、ステップ６１において、図形データからすべてのマクロ端子テキストパターン情報と、すべての配線パターンデータと、すべてのビアパターンデータとを読み出し、メモリ上に用意した第１テーブル（図示略）に格納する。従って、図３においては、端子テキストパターンＡ１，Ｘ１の情報と、配線パターンＬ１〜Ｌ１４の情報と、ビアパターンとが読み出される。
【００２７】
ステップ６２において、メモリ上に第２テーブル（図示略）を用意して第１テーブルのマクロ端子テキストパターン情報のうち、１つの端子テキストパターン情報を第２テーブルに登録する。
【００２８】
ステップ６３において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子があれば、ステップ６４に進む。ステップ６４では第２テーブルに登録した端子テキストパターンＡ１に繋がる配線パターンやビアパターンを第１テーブルから探索し、その探索したパターンを第２テーブルに登録する。図３において、端子テキストパターンＡ１に繋がる配線パターンＬ１が探索され、配線パターンＬ１の情報が第２テーブルに登録される。
【００２９】
ステップ６５において、第２テーブルに新しく登録した配線パターンに繋がる配線パターンやビアパターンを第１テーブルから探索し、その探索したパターンを第２テーブルに登録する。
【００３０】
ステップ６６において、新規に登録される配線パターンやビアパターンが有るかどうかを判定する。新規に登録される配線パターンやビアパターンが有れば、ステップ６５に戻ってステップ６５の処理を繰り返し実行する。図３においては、配線パターンＬ１に繋がる配線パターンＬ２，Ｌ３が探索される。
【００３１】
ステップ６７において、第２テーブルに登録された配線パターンやビアパターンの面積に単位配線容量を乗ずることにより、１ネットの配線容量を算出する。算出した容量値を第２テーブルに登録したマクロ端子名と共に図５に示すネット容量リスト５に出力する。
【００３２】
以後、ステップ６２〜６７の処理を第１テーブルに格納されたマクロ端子のテキストパターン情報がなくなるまで行う。
マクロライブラリ合成装置１５はマイクロプロセッサからなり、所定のプログラムデータに基づいて動作し、図８に示すマクロ端子の特性算出の処理を行う。すなわち、マクロライブラリ合成装置１５は論理記述ファイル１に格納されているマクロの論理記述言語に基づいて、マクロ端子に繋がるすべてのセル端子（図３参照）の入力負荷容量の情報をセルライブラリ２から読み込み、それらを合計することにより、マクロ端子の入力負荷容量を算出する。また、マクロライブラリ合成装置１５はマクロ端子に繋がるすべてのセル端子の出力駆動能力の情報をセルライブラリ２から読み込み、それらセル端子の出力駆動能力のうち最も小さいものをマクロ端子の出力駆動能力として決定する。
【００３３】
また、マクロライブラリ合成装置１５は所定のプログラムデータに基づいて動作し、図９に示すマクロ端子の属性認識の処理を行う。すなわち、マクロライブラリ合成装置１５は論理記述ファイル１に格納されているマクロの論理記述言語に記述された端子種類を読み込み、マクロ端子の端子種類１を決定する。また、マクロライブラリ合成装置１５は論理記述ファイル１に格納されているマクロの論理記述言語に基づいて、マクロ端子に繋がるすべてのセル端子（図３参照）の端子種類の情報をセルライブラリ２から読み込み、マクロ端子の端子種類２を決定する。この際、複数のセル端子の端子種類が異なる場合には、端子種類の性格上からマクロ端子の端子種類２を選択する。
【００３４】
さらに、マクロライブラリ合成装置１５は所定のプログラムデータに基づいて動作し、図１０に示すライブラリ合成処理を行う。すなわち、マクロライブラリ合成装置１５は物理ライブラリファイル４に、上記したマクロ端子に繋がるすべてのセルの入力負荷容量の情報とネット容量リスト５に格納された配線容量の情報とを合成したマクロ端子の入力負荷容量の情報と、マクロ端子の出力駆動能力の情報と、端子種類１，２の情報とを合成することにより、マクロライブラリファイル６を生成する。
【００３５】
次に、マクロライブラリ合成装置１５が行うマクロ端子の特性算出の処理を図８に従って説明する。
まず、ステップ７１において、論理記述ファイル１に格納されているマクロの論理記述言語の中から未処理のマクロ端子を探索し、その探索したマクロ端子をメモリ上に用意したテーブル（図示略）に格納する。なお、このテーブルにはマクロ端子に関して入力負荷容量の情報及び出力駆動能力の情報を設定できる記憶領域が設けられる。従って、図３においては、マクロ端子Ａ１（入力端子）の情報がテーブルに格納される。
【００３６】
ステップ７２において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子があれば、ステップ７３に進む。ステップ７３ではテーブルに登録したマクロ端子Ａ１についての配線容量の情報をネット容量リスト５から探索し、マクロ端子Ａ１についての配線容量の情報「１００」をテーブルの入力負荷容量の記憶領域に設定する。
【００３７】
次に、ステップ７４において、マクロ端子Ａ１に繋がるすべてのセル端子を、論理記述ファイル１の論理記述言語に記述されたネットに基づいて探索し、探索した各セル端子の入力負荷容量の情報をセルライブラリファイル２から読み込み、その入力負荷容量を前記テーブルの入力負荷容量の記憶領域に既に設定されている値に加算して設定する。図３においてはセル端子３２Ａの入力負荷容量とセル端子３３Ａの入力負荷容量との合計と、前記配線容量「１００」とを加えた値が入力負荷容量の記憶領域に設定される。
【００３８】
ステップ７５では、マクロ端子Ａ１に繋がるセル端子を、論理記述ファイル１の論理記述言語に記述されたネットに基づいて探索し、探索した各セル端子の出力駆動能力の情報をセルライブラリファイル２から読み込み、その出力駆動能力の情報をテーブルの出力駆動能力の記憶領域に設定する。この際、テーブルの出力駆動能力の記憶領域に既に設定されている値と新たに読み込んだ出力駆動能力のうち、小さい方の値を設定する。また、この出力駆動能力の値は、ＬＳＩのテクノロジによってはすべてのセル端子の出力駆動能力の平均値を採用してもよい。なお、図３においては、マクロ端子Ａ１は入力端子であり、マクロ端子Ａ１に繋がるセル端子３２Ａ，３３Ａは入力端子であるため、出力駆動能力は「０」となる。
【００３９】
以後、ステップ７１〜７５の処理をマクロの論理記述言語に記述されているすべてのマクロ端子について行う。
次に、マクロライブラリ合成装置１５が行うマクロ端子の属性認識の処理を図９に従って説明する。
【００４０】
まず、ステップ８１において、論理記述ファイル１に格納されているマクロの論理記述言語の中から未処理のマクロ端子を探索し、その探索したマクロ端子をメモリ上に用意したテーブル（図示略）に格納する。なお、このテーブルにはマクロ端子に関して端子種類１，２の情報を設定できる記憶領域が設けられる。従って、図３においてはマクロ端子Ａ１（入力端子）の情報がテーブルに格納される。
【００４１】
ステップ８２において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子があれば、ステップ８３に進む。ステップ８３ではテーブルに登録したマクロ端子Ａ１について論理記述言語に記述されたマクロ端子の端子種類（入力端子、出力端子、又は入出力端子）の情報を読み込み、テーブルの端子種類１の記憶領域に設定する。従って、マクロ端子Ａ１の端子種類１の記憶領域には入力端子の情報が設定される。
【００４２】
次に、ステップ８４において、マクロ端子Ａ１に繋がるすべてのセル端子を、論理記述ファイル１の論理記述言語に記述されたネットに基づいて探索し、探索したすべてのセル端子の端子種類（通常端子、クロック端子等）の情報をテーブルに記憶する。
【００４３】
ステップ８５では、テーブルに記憶したすべてのセル端子の端子種類はすべて同じかどうかを判定し、すべて同じであれば、ステップ８６に進む。ステップ８６ではステップ８１で格納したマクロ端子Ａ１について端子種類２の記憶領域に前記ステップ８４で記憶した端子種類の情報を設定する。
【００４４】
ステップ８５ですべてのセル端子の端子種類が同じでない、すなわち、複数の端子種類が存在すると判定すると、ステップ８７に進む。ステップ８７では、セル端子の端子種類に通常端子とクロック端子とが存在している時には、クロック端子を端子種類として選択するように、条件の厳しい端子種類を選択してステップ８１で格納したマクロ端子Ａ１について端子種類２の記憶領域に端子種類の情報を設定する。
【００４５】
以後、ステップ８１〜８７の処理をマクロの論理記述言語に記述されているすべてのマクロ端子について行う。
次に、マクロライブラリ合成装置１５が行うライブラリ合成の処理を図１０に従って説明する。
【００４６】
まず、ステップ９１において、物理ライブラリファイル４からマクロ名の情報及び枠のパターン情報を読み込んでメモリ上に用意したテーブル（図示略）に格納する。また、物理ライブラリファイル４から１つのマクロ端子に関するマクロ端子情報の項目を順番に読み込んでテーブルに格納する。なお、このテーブルにはマクロ端子に関して入力負荷容量の情報、出力駆動能力の情報、端子種類１，２の情報を設定できる記憶領域が設けられる。
【００４７】
次に、ステップ９２において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子があれば、ステップ９３に進む。ステップ９３では図８に示す特性算出処理で得た入力負荷容量の情報をテーブルに設定する。
【００４８】
ステップ９４では、図８に示す特性算出処理で得た出力駆動能力の情報をテーブルに設定する。
ステップ９５において、図９に示すマクロ端子の属性認識の処理で得た端子種類１，２の情報をテーブルに設定する。ステップ９１〜９５の処理を物理ライブラリファイル４に格納されているすべてのマクロ端子について行い、テーブルに設定されたすべての情報をマクロライブラリファイル６に出力することによってマクロライブラリが生成される。
【００４９】
チップレイアウト装置１６は、マクロライブラリファイル６のデータと、セルライブラリファイル２のデータと、半導体回路の論理記述データに基づいてチップレイアウトを行う。
【００５０】
デザインルールチェック装置１７は、マクロライブラリファイル６のデータに基づいてチップレイアウト装置１６によるレイアウト結果の検証を行う。
さて、本実施の形態は、以下の効果がある。
【００５１】
（１）マクロ端子の特性を、マクロ端子に繋がるすべてのセルの特性と、マクロレイアウトで作成したマクロ端子とセル端子とを接続する配線の配線容量を算出することによって、マクロ端子の入力負荷容量、出力駆動能力を詳細にかつ短時間で算出することができる。
【００５２】
（２）また、マクロ端子の属性を、マクロ端子に繋がるすべてのセル端子の端子属性から抽出するようにしているので、マクロ端子の端子種類を容易に選択することができる。その結果、マクロライブラリを容易に生成できるとともに、人為的なミスがなく、信頼性の高いマクロライブラリを生成することができる。
【００５３】
【発明の効果】
以上詳述したように、本発明は、マクロライブラリを容易に生成できるとともに、人為的なミスがなく、信頼性の高いマクロライブラリを生成することができる。
【図面の簡単な説明】
【図１】ＬＳＩ設計システムを示す概略図
【図２】一例のマクロの論理構造を示す説明図
【図３】一例のマクロのパターン構造を示す説明図
【図４】一例のマクロライブラリファイルを示す説明図
【図５】一例のネット容量リストを示す説明図
【図６】物理ライブラリの生成処理を示すフロー図
【図７】配線容量の抽出処理を示すフロー図
【図８】マクロ端子の特性算出処理を示すフロー図
【図９】マクロ端子の属性認識処理を示すフロー図
【図１０】ライブラリ合成処理を示すフロー図
【符号の説明】
２  セルライブラリ
１３  物理ライブラリ生成装置
１４  配線容量抽出装置
１５  ライブラリ合成装置
２１  マクロ
３２，３３，３４  セル
Ａ１  マクロ端子（入力端子）
Ｘ１  マクロ端子（出力端子）
【図１】
0003641063.tif 000002
【図２】
0003641063.tif 000003
【図３】
0003641063.tif 000004
【図４】
0003641063.tif 000005
【図５】
0003641063.tif 000006
【図６】
0003641063.tif 000007
【図７】
0003641063.tif 000008
【図８】
0003641063.tif 000009
【図９】
0003641063.tif 000010
【図１０】
0003641063.tif 000011