JP3641063B2 - Macro library generator - Google Patents
Macro library generator Download PDFInfo
- Publication number
- JP3641063B2 JP3641063B2 JP09137796A JP9137796A JP3641063B2 JP 3641063 B2 JP3641063 B2 JP 3641063B2 JP 09137796 A JP09137796 A JP 09137796A JP 9137796 A JP9137796 A JP 9137796A JP 3641063 B2 JP3641063 B2 JP 3641063B2
- Authority
- JP
- Japan
- Prior art keywords
- macro
- terminal
- library
- cell
- wiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は半導体装置のレイアウト設計やデザインルールチェックを行う際に用いられるマクロライブラリの生成装置に関する。
【0002】
近年、半導体装置の高集積化が進められるとともに、開発期間の短縮化が進められている。これに伴い、所定の機能を持つ論理素子に対応して予め用意されたセルを用いて作成される大規模なマクロ回路の開発が要求されている。そこで半導体装置のレイアウト設計においてマクロを使用するために、マクロライブラリの生成においても迅速に対応できることが必要である。
【0003】
【従来の技術及び発明が解決しようとする課題】
マクロを作成するためには、マクロ内で使用されるセルの種類の情報、マクロ端子の情報、マクロ内のネット情報等で定義された論理記述言語により記述された記述データ(以下、「論理記述言語」ともいう。)が作成される。この論理記述言語に基づいて、マクロにおけるセルのレイアウトが行われ、マクロ端子とセルの端子とを接続する配線及びセルの端子間を接続する配線が行われ、マクロが作成される。このように作成されたマクロはライブラリとしてファイルに登録され、半導体装置のレイアウト設計に使用される。マクロライブラリはマクロ名、マクロの占有する面積を示す枠情報、マクロの端子情報で定義される。マクロの端子情報には、該マクロ端子がどのような機能を持つ端子かを示す端子属性や、論理シミュレーションを行うために必要な入力負荷容量及び出力駆動能力がある。
【0004】
従来、マクロライブラリの生成はマクロ設計者の手作業で行われている。そのため、特に、端子属性の設定は、マクロ端子に複数のセルの端子が接続される場合には手間を要するとともに、ミスが発生し易かった。また、マクロの入力負荷容量や出力駆動能力はマクロ設計者による大まかな見積もり値であったため、これらの値の精度が劣っていた。
【0005】
本発明は上記問題点を解決するためになされたものであって、その目的は、マクロライブラリを容易に生成できるとともに、人為的なミスがなく、信頼性の高いマクロライブラリを生成することにある。
【0006】
【課題を解決するための手段】
上記の目的を達成するため、請求項1の発明は、マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定されるマクロ端子の特性と、マクロ端子に繋がるすべてのセル端子の属性に基づいて設定されるマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置とを備える。
【0007】
請求項2の発明の物理ライブラリ作成装置は、前記物理ライブラリ生成装置は、更に、前記物理ライブラリを構成するマクロ端子の位置及びマクロ端子に繋がる配線の配線層に関する情報を前記図形データに基づいて抽出する
請求項3の発明のライブラリ合成装置は、マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定される第1のマクロ端子の特性と、前記記述データに基づいて前記セルライブラリから読み出される、各マクロ端子に繋がるすべてのセル端子の特性が反映された第2のマクロ端子の特性と、マクロ端子に繋がるすべてのセル端子の属性に基づいて設定されるマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置とを備える。
【0008】
請求項4の発明のライブラリ合成装置は、マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定されるマクロ端子の特性と、前記記述データに基づいて前記セルライブラリから読み出され、各マクロ端子に繋がるすべてのセル端子の属性が反映されたマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置とを備える。
【0009】
(作用)
本発明では、マクロ端子の特性は、マクロ端子に繋がるすべてのセルの特性と、マクロレイアウトで作成したマクロ端子とセル端子とを接続する配線の配線容量を算出することによって、詳細にかつ短時間で算出することができる。また、マクロ端子の属性は、マクロ端子に繋がるすべてのセル端子の端子属性から容易に抽出できる。
【0010】
【発明の実施の形態】
以下、本発明の実施の一形態を図面に従って説明する。
図1は半導体装置(LSI)の設計システム10を示す。同システム10は、論理データファイル1、セルライブラリファイル2、マクロレイアウト装置11、図形データファイル3、本形態におけるマクロライブラリ生成装置12、チップレイアウト装置16及びデザインルールチェック装置17を備える。
【0011】
セルライブラリファイル2には、所定の機能を持つ種々の論理素子に対応するセルのデータが格納されている。論理素子には、例えば、図2に示すインバータ22,23、NAND回路24以外に、AND回路、OR回路、NOR回路、XOR(排他的論理和)回路等がある。セルライブラリファイル2には、図3に示すように前記インバータ22,23に対応するセル32,33やNAND回路24に対応するセル34のデータが格納されている。各セルのデータはセル名のデータ、セルの端子情報、及び同セルを構成するトランジスタのパターンデータ、セル内のネットを構成する配線パターンのデータ等からなる。セル端子情報は、各セル端子の位置情報(数値座標データ又はグリッド座標データ)、各セル端子の端子種類(通常端子、クロック端子等)の情報、入力負荷容量の情報及び出力駆動能力の情報を含む。
【0012】
論理記述ファイル1には、マクロ設計者によって作成されたマクロの論理記述言語が格納されている。論理記述言語は、マクロ名の情報、マクロ内で使用されるセルの種類の情報、マクロ端子の情報、マクロ端子及びセル端子を接続するためのネット情報で定義される。マクロ端子情報は各マクロ端子の端子名の情報(文字テキスト情報)、及びマクロ端子の端子種類(入力端子、出力端子、又は入出力端子)の情報を含む。
【0013】
図2は論理記述ファイル1に格納された一例の論理記述言語で表現されたマクロ21を示す。マクロ21には論理素子としてのインバータ22,23及びNAND回路24が使用され、マクロ端子としての入力端子A1及び出力端子X1が設けられている。また、マクロ21は入力端子A1とインバータ22,23の入力端子を接続するネットN1と、インバータ22の出力端子とNAND回路24の一方の入力端子とを接続するネットN2と、インバータ23の出力端子とNAND回路24の他方の入力端子とを接続するネットN3と、NAND回路24の出力端子と出力端子X1とを接続するネットN4とを備えている。以下、説明の便宜上、論理記述ファイル1には図2に示すマクロ21の論理記述言語が格納されているものとする。
【0014】
マクロレイアウト装置11はマイクロプロセッサからなり、所定のプログラムデータに基づいて動作する。
マクロレイアウト装置11は、論理記述ファイル1からマクロ21の論理記述言語を読み出し、その論理記述言語で使用されている種々の論理素子に対応するセルのパターンデータをセルライブラリファイル2から読み出し、その読み出したデータに基づいて種々のセルのパターンレイアウトを行う。従って、セルライブラリファイル2からインバータ22,23に対応するセル32,33のデータが読み込まれ、図3に示すようにセル32,33のパターンがレイアウトされる。同様にして、セルライブラリファイル2からNAND回路24に対応するセル34のデータが読み込まれ、図3に示すようにセル34のパターンがレイアウトされる。
【0015】
また、マクロレイアウト装置11は、マクロ21の論理記述言語におけるマクロ端子情報に基づいて各マクロ端子の位置を決定するとともに、その決定した位置に端子名のテキストパターン(文字テキスト)情報を付加する。従って、入力端子A1及び出力端子X1の端子情報に基づいて図3に示すように、入力端子A1及び出力端子X1の位置が「・」で示す位置に決定されるとともに、決定した各端子の位置にテキストパターン情報「A1」,「X1」が付加される。
【0016】
また、マクロレイアウト装置11はマクロ21の論理記述言語におけるネット情報に基づいてレイアウトした種々のセルの端子間を接続するネットの配線パターン、及びマクロ端子とセル端子とを接続するネットの配線パターンをレイアウトする。配線パターン同士を接続するためのビアパターンもレイアウトする。従って、図3に示すように、ネットN1の情報に基づいて入力端子A1とセル32の入力端子32Aとセル33の入力端子33Aとを接続する配線パターンL1,L2,L3がレイアウトされる。ネットN2の情報に基づいて、セル32の出力端子32Bとセル34の入力端子34Aとを接続する配線パターンL4,L5,L6,L7,L8がレイアウトされる。さらに、ネットN3の情報に基づいて、セル33の出力端子33Bとセル34の入力端子34Bとを接続する配線パターンL9,L10,L11,L12,L13がレイアウトされる。また、ネットN4の情報に基づいて、出力端子X1とセル34の出力端子34Cとを接続する配線パターンL14がレイアウトされる。なお、配線パターン同士を接続するためのビアパターンもレイアウトされるが、図示していない。
【0017】
また、図3に示すように、配線パターンL1には配線層のパターン情報「5」が付加され、配線パターンL14には配線層のパターン情報「10」が付加される。配線層のパターン情報「5」,「10」はそれぞれ金属配線層の第1層及び第2層を示す。
【0018】
セル配置及び配線が完了すると、マクロレイアウト装置11は、レイアウトしたすべてのセル及びすべての配線パターンを含み、マクロ端子上を通過する多角形状の枠のパターン情報を作成する。枠のパターン情報は、枠の複数の頂点の位置情報(数値座標データ又はグリッド座標データ)からなる。各頂点の位置は、複数の頂点のうち任意の1つの頂点を原点とした場合の座標で表される。従って、図3においては、セル32〜34及び配線パターンL1〜L14を含み、入力端子A1上及び出力端子X1上を通過する長方形状の枠31が生成され、4つの頂点31a,31b,31c,31dの位置情報によってパターン情報が作成される。
【0019】
そして、マクロレイアウト装置11は図3に示すパターンレイアウト結果の図形データを図形データファイル3に格納する。
マクロライブラリ生成装置12は、物理ライブラリ生成装置13、物理ライブラリファイル4、配線容量抽出装置14、ネット容量リスト5、マクロライブラリ合成装置15及びマクロライブラリファイル6を備える。
【0020】
図4は本形態におけるマクロライブラリファイル6の構造を示し、1つのマクロに関して記憶領域41,42が設けられている。また、マクロにおける各マクロ端子に関して記憶領域43,431,432,433,434,435,436が設けられている。すなわち、記憶領域41にはマクロ名の情報が格納され、記憶領域42にはマクロの枠のパターン情報が記憶される。記憶領域43にはマクロの端子名の情報(テキストパターン情報)が格納され、記憶領域431にはマクロ端子の座標のデータが格納され、記憶領域432には配線層のパターン情報が格納される。記憶領域433にはマクロ端子の入力負荷容量のデータが格納され、記憶領域434にはマクロ端子の出力駆動能力のデータが格納される。さらに、記憶領域435にはマクロ端子が入力端子、出力端子、又は入出力端子のいずれかであるこを示す端子種類1のデータが格納され、記憶領域436にはマクロ端子がどのような機能を持つ端子かを示す端子種類2のデータが格納される。
【0021】
なお、本形態における物理ライブラリファイル4はマクロライブラリファイル6における記憶領域433〜436を省略した構造である。
物理ライブラリ生成装置13はマイクロプロセッサからなり、所定のプログラムデータに基づいて動作し、図6に示す物理ライブラリの生成処理を行う。すなわち、物理ライブラリ生成装置13は図形データファイル3に格納されているマクロの図形データからマクロの枠のパターンやマクロ端子の座標と配線層を抽出し、その抽出したデータを物理ライブラリファイル4に格納する。
【0022】
まず、ステップ51において、図4に示す記憶領域41にマクロ名の情報を格納するとともに、図形データからマクロの枠31のパターン情報を読み出し、その各頂点の座標を記憶領域42に格納する。
【0023】
ステップ52において、図形データからマクロ端子のテキストパターン情報と、端子のテキストパターン情報が記述されているマクロ端子の座標データと、配線層のパターン情報とを読み出し、マクロ端子のテキストパターン情報を記憶領域43に格納し、マクロ端子の座標データを記憶領域431に格納し、配線層のパターン情報を記憶領域432に格納する。
【0024】
ステップ53において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子が有れば、ステップ52に戻ってステップ52の処理が繰り返し実行する。ステップ52の処理はすべてのマクロ端子テキストに対して行う。
【0025】
配線容量抽出装置14もマイクロプロセッサからなり、所定のプログラムデータに基づいて動作し、図7に示す配線容量の抽出処理を行う。すわなち、配線容量抽出装置14は図形データファイル3に格納されているマクロの図形データからマクロ端子に接続されるすべてのセルの端子までの配線の容量を抽出し、その抽出した配線容量をネット容量リスト5に格納する。
【0026】
まず、ステップ61において、図形データからすべてのマクロ端子テキストパターン情報と、すべての配線パターンデータと、すべてのビアパターンデータとを読み出し、メモリ上に用意した第1テーブル(図示略)に格納する。従って、図3においては、端子テキストパターンA1,X1の情報と、配線パターンL1〜L14の情報と、ビアパターンとが読み出される。
【0027】
ステップ62において、メモリ上に第2テーブル(図示略)を用意して第1テーブルのマクロ端子テキストパターン情報のうち、1つの端子テキストパターン情報を第2テーブルに登録する。
【0028】
ステップ63において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子があれば、ステップ64に進む。ステップ64では第2テーブルに登録した端子テキストパターンA1に繋がる配線パターンやビアパターンを第1テーブルから探索し、その探索したパターンを第2テーブルに登録する。図3において、端子テキストパターンA1に繋がる配線パターンL1が探索され、配線パターンL1の情報が第2テーブルに登録される。
【0029】
ステップ65において、第2テーブルに新しく登録した配線パターンに繋がる配線パターンやビアパターンを第1テーブルから探索し、その探索したパターンを第2テーブルに登録する。
【0030】
ステップ66において、新規に登録される配線パターンやビアパターンが有るかどうかを判定する。新規に登録される配線パターンやビアパターンが有れば、ステップ65に戻ってステップ65の処理を繰り返し実行する。図3においては、配線パターンL1に繋がる配線パターンL2,L3が探索される。
【0031】
ステップ67において、第2テーブルに登録された配線パターンやビアパターンの面積に単位配線容量を乗ずることにより、1ネットの配線容量を算出する。算出した容量値を第2テーブルに登録したマクロ端子名と共に図5に示すネット容量リスト5に出力する。
【0032】
以後、ステップ62〜67の処理を第1テーブルに格納されたマクロ端子のテキストパターン情報がなくなるまで行う。
マクロライブラリ合成装置15はマイクロプロセッサからなり、所定のプログラムデータに基づいて動作し、図8に示すマクロ端子の特性算出の処理を行う。すなわち、マクロライブラリ合成装置15は論理記述ファイル1に格納されているマクロの論理記述言語に基づいて、マクロ端子に繋がるすべてのセル端子(図3参照)の入力負荷容量の情報をセルライブラリ2から読み込み、それらを合計することにより、マクロ端子の入力負荷容量を算出する。また、マクロライブラリ合成装置15はマクロ端子に繋がるすべてのセル端子の出力駆動能力の情報をセルライブラリ2から読み込み、それらセル端子の出力駆動能力のうち最も小さいものをマクロ端子の出力駆動能力として決定する。
【0033】
また、マクロライブラリ合成装置15は所定のプログラムデータに基づいて動作し、図9に示すマクロ端子の属性認識の処理を行う。すなわち、マクロライブラリ合成装置15は論理記述ファイル1に格納されているマクロの論理記述言語に記述された端子種類を読み込み、マクロ端子の端子種類1を決定する。また、マクロライブラリ合成装置15は論理記述ファイル1に格納されているマクロの論理記述言語に基づいて、マクロ端子に繋がるすべてのセル端子(図3参照)の端子種類の情報をセルライブラリ2から読み込み、マクロ端子の端子種類2を決定する。この際、複数のセル端子の端子種類が異なる場合には、端子種類の性格上からマクロ端子の端子種類2を選択する。
【0034】
さらに、マクロライブラリ合成装置15は所定のプログラムデータに基づいて動作し、図10に示すライブラリ合成処理を行う。すなわち、マクロライブラリ合成装置15は物理ライブラリファイル4に、上記したマクロ端子に繋がるすべてのセルの入力負荷容量の情報とネット容量リスト5に格納された配線容量の情報とを合成したマクロ端子の入力負荷容量の情報と、マクロ端子の出力駆動能力の情報と、端子種類1,2の情報とを合成することにより、マクロライブラリファイル6を生成する。
【0035】
次に、マクロライブラリ合成装置15が行うマクロ端子の特性算出の処理を図8に従って説明する。
まず、ステップ71において、論理記述ファイル1に格納されているマクロの論理記述言語の中から未処理のマクロ端子を探索し、その探索したマクロ端子をメモリ上に用意したテーブル(図示略)に格納する。なお、このテーブルにはマクロ端子に関して入力負荷容量の情報及び出力駆動能力の情報を設定できる記憶領域が設けられる。従って、図3においては、マクロ端子A1(入力端子)の情報がテーブルに格納される。
【0036】
ステップ72において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子があれば、ステップ73に進む。ステップ73ではテーブルに登録したマクロ端子A1についての配線容量の情報をネット容量リスト5から探索し、マクロ端子A1についての配線容量の情報「100」をテーブルの入力負荷容量の記憶領域に設定する。
【0037】
次に、ステップ74において、マクロ端子A1に繋がるすべてのセル端子を、論理記述ファイル1の論理記述言語に記述されたネットに基づいて探索し、探索した各セル端子の入力負荷容量の情報をセルライブラリファイル2から読み込み、その入力負荷容量を前記テーブルの入力負荷容量の記憶領域に既に設定されている値に加算して設定する。図3においてはセル端子32Aの入力負荷容量とセル端子33Aの入力負荷容量との合計と、前記配線容量「100」とを加えた値が入力負荷容量の記憶領域に設定される。
【0038】
ステップ75では、マクロ端子A1に繋がるセル端子を、論理記述ファイル1の論理記述言語に記述されたネットに基づいて探索し、探索した各セル端子の出力駆動能力の情報をセルライブラリファイル2から読み込み、その出力駆動能力の情報をテーブルの出力駆動能力の記憶領域に設定する。この際、テーブルの出力駆動能力の記憶領域に既に設定されている値と新たに読み込んだ出力駆動能力のうち、小さい方の値を設定する。また、この出力駆動能力の値は、LSIのテクノロジによってはすべてのセル端子の出力駆動能力の平均値を採用してもよい。なお、図3においては、マクロ端子A1は入力端子であり、マクロ端子A1に繋がるセル端子32A,33Aは入力端子であるため、出力駆動能力は「0」となる。
【0039】
以後、ステップ71〜75の処理をマクロの論理記述言語に記述されているすべてのマクロ端子について行う。
次に、マクロライブラリ合成装置15が行うマクロ端子の属性認識の処理を図9に従って説明する。
【0040】
まず、ステップ81において、論理記述ファイル1に格納されているマクロの論理記述言語の中から未処理のマクロ端子を探索し、その探索したマクロ端子をメモリ上に用意したテーブル(図示略)に格納する。なお、このテーブルにはマクロ端子に関して端子種類1,2の情報を設定できる記憶領域が設けられる。従って、図3においてはマクロ端子A1(入力端子)の情報がテーブルに格納される。
【0041】
ステップ82において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子があれば、ステップ83に進む。ステップ83ではテーブルに登録したマクロ端子A1について論理記述言語に記述されたマクロ端子の端子種類(入力端子、出力端子、又は入出力端子)の情報を読み込み、テーブルの端子種類1の記憶領域に設定する。従って、マクロ端子A1の端子種類1の記憶領域には入力端子の情報が設定される。
【0042】
次に、ステップ84において、マクロ端子A1に繋がるすべてのセル端子を、論理記述ファイル1の論理記述言語に記述されたネットに基づいて探索し、探索したすべてのセル端子の端子種類(通常端子、クロック端子等)の情報をテーブルに記憶する。
【0043】
ステップ85では、テーブルに記憶したすべてのセル端子の端子種類はすべて同じかどうかを判定し、すべて同じであれば、ステップ86に進む。ステップ86ではステップ81で格納したマクロ端子A1について端子種類2の記憶領域に前記ステップ84で記憶した端子種類の情報を設定する。
【0044】
ステップ85ですべてのセル端子の端子種類が同じでない、すなわち、複数の端子種類が存在すると判定すると、ステップ87に進む。ステップ87では、セル端子の端子種類に通常端子とクロック端子とが存在している時には、クロック端子を端子種類として選択するように、条件の厳しい端子種類を選択してステップ81で格納したマクロ端子A1について端子種類2の記憶領域に端子種類の情報を設定する。
【0045】
以後、ステップ81〜87の処理をマクロの論理記述言語に記述されているすべてのマクロ端子について行う。
次に、マクロライブラリ合成装置15が行うライブラリ合成の処理を図10に従って説明する。
【0046】
まず、ステップ91において、物理ライブラリファイル4からマクロ名の情報及び枠のパターン情報を読み込んでメモリ上に用意したテーブル(図示略)に格納する。また、物理ライブラリファイル4から1つのマクロ端子に関するマクロ端子情報の項目を順番に読み込んでテーブルに格納する。なお、このテーブルにはマクロ端子に関して入力負荷容量の情報、出力駆動能力の情報、端子種類1,2の情報を設定できる記憶領域が設けられる。
【0047】
次に、ステップ92において、未処理のマクロ端子が有るかどうかを判定し、未処理のマクロ端子があれば、ステップ93に進む。ステップ93では図8に示す特性算出処理で得た入力負荷容量の情報をテーブルに設定する。
【0048】
ステップ94では、図8に示す特性算出処理で得た出力駆動能力の情報をテーブルに設定する。
ステップ95において、図9に示すマクロ端子の属性認識の処理で得た端子種類1,2の情報をテーブルに設定する。ステップ91〜95の処理を物理ライブラリファイル4に格納されているすべてのマクロ端子について行い、テーブルに設定されたすべての情報をマクロライブラリファイル6に出力することによってマクロライブラリが生成される。
【0049】
チップレイアウト装置16は、マクロライブラリファイル6のデータと、セルライブラリファイル2のデータと、半導体回路の論理記述データに基づいてチップレイアウトを行う。
【0050】
デザインルールチェック装置17は、マクロライブラリファイル6のデータに基づいてチップレイアウト装置16によるレイアウト結果の検証を行う。
さて、本実施の形態は、以下の効果がある。
【0051】
(1)マクロ端子の特性を、マクロ端子に繋がるすべてのセルの特性と、マクロレイアウトで作成したマクロ端子とセル端子とを接続する配線の配線容量を算出することによって、マクロ端子の入力負荷容量、出力駆動能力を詳細にかつ短時間で算出することができる。
【0052】
(2)また、マクロ端子の属性を、マクロ端子に繋がるすべてのセル端子の端子属性から抽出するようにしているので、マクロ端子の端子種類を容易に選択することができる。その結果、マクロライブラリを容易に生成できるとともに、人為的なミスがなく、信頼性の高いマクロライブラリを生成することができる。
【0053】
【発明の効果】
以上詳述したように、本発明は、マクロライブラリを容易に生成できるとともに、人為的なミスがなく、信頼性の高いマクロライブラリを生成することができる。
【図面の簡単な説明】
【図1】LSI設計システムを示す概略図
【図2】一例のマクロの論理構造を示す説明図
【図3】一例のマクロのパターン構造を示す説明図
【図4】一例のマクロライブラリファイルを示す説明図
【図5】一例のネット容量リストを示す説明図
【図6】物理ライブラリの生成処理を示すフロー図
【図7】配線容量の抽出処理を示すフロー図
【図8】マクロ端子の特性算出処理を示すフロー図
【図9】マクロ端子の属性認識処理を示すフロー図
【図10】ライブラリ合成処理を示すフロー図
【符号の説明】
2 セルライブラリ
13 物理ライブラリ生成装置
14 配線容量抽出装置
15 ライブラリ合成装置
21 マクロ
32,33,34 セル
A1 マクロ端子(入力端子)
X1 マクロ端子(出力端子)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an apparatus for generating a macro library used for layout design and design rule check of a semiconductor device.
[0002]
In recent years, semiconductor devices have been highly integrated, and the development period has been shortened. Accordingly, development of a large-scale macro circuit created using cells prepared in advance corresponding to logic elements having a predetermined function is required. Therefore, in order to use a macro in the layout design of a semiconductor device, it is necessary to be able to quickly cope with the generation of a macro library.
[0003]
[Prior art and problems to be solved by the invention]
In order to create a macro, a logical description language defined by cell type information, macro pin information, net information in the macro, etc.Description data described by (hereinafter also referred to as “logical description language”)Is created. Based on this logic description language, the layout of the cells in the macro is performed, the wiring connecting the macro terminals and the cell terminals and the wiring connecting the cell terminals are performed, and the macro is created. The macro created in this way is registered in the file as a library and used for the layout design of the semiconductor device. The macro library is defined by a macro name, frame information indicating the area occupied by the macro, and macro terminal information. The macro terminal information includes a terminal attribute indicating what function the macro terminal has, an input load capacity and an output drive capability necessary for performing a logic simulation.
[0004]
Conventionally, the generation of a macro library is performed manually by a macro designer. For this reason, in particular, setting the terminal attribute is time-consuming and error-prone when a plurality of cell terminals are connected to the macro terminal. In addition, the macro input load capacity and output drive capability were roughly estimated values by the macro designer, so the accuracy of these values was inferior.
[0005]
The present invention has been made to solve the above-described problems, and an object of the present invention is to easily generate a macro library and to generate a highly reliable macro library without human error. .
[0006]
[Means for Solving the Problems]
In order to achieve the above object, the invention of claim 1MaCell used in blackWhenNet in macroWhenDefined inAnd macroLogical description languageMore descriptive dataFor macros designed using cell library cells defined in cell terminal characteristics and attributes, the macro terminal characteristics and attributesIncludingA macro library generation device that generates a defined library,In the description dataCell basedofThe layoutBy runningThe wiring that connects the macro terminals and cell terminals is laid outA layout device for generating graphic data;About the macro terminal and the wiring connected to the macro terminalAs information composed of dataPhysical libraryGenerated based on the graphic dataPhysical libraryGenerationDevice and the wiring connected to the macro terminal based on the graphic data.wiringA wiring capacity extraction device for extracting the capacity;The physical library; andWiring capacityas well asBased on the characteristics of all cell terminals connected to the macro terminalSetMacro terminal characteristicsWhen,Based on the attributes of all cell terminals connected to the macro terminalSetMacro terminal attributesWhenTheGenerate a library by synthesisA library synthesizing apparatus.
[0007]
The physical library creation device of the invention of
The library synthesizing device of the invention of claim 3Designed using cells in the cell library defined by the characteristics and attributes of the cell terminals based on the description data described in the macro's logical description language, defined by the cells used in the macro and the nets in the macro. A macro library generation device that generates a library defined for a macro that includes characteristics and attributes of a macro terminal, and executes a layout of the cell based on the description data, whereby a macro terminal and a cell terminal A layout device for generating graphic data in which wirings for connecting terminals are laid out, and a physical library as information configured to include data on macro terminals and wirings connected to the macro terminals based on the graphic data Generation capacity and wiring capacity of wiring connected to the macro terminal based on the graphic data A wiring capacitance extracting device for extracting, with the physical library, the characteristic of the first macro terminal that is set based on the characteristics of all the cell terminal connected to the wiring capacitance and the macro terminal,SaidDescriptive dataOn the basis of theRead from the cell library,Characteristics of all cell terminals connected to each macro terminalAnd a library synthesizing device that generates a library by synthesizing the characteristics of the second macro terminal reflecting the above and the attributes of the macro terminals set based on the attributes of all the cell terminals connected to the macro terminal.
[0008]
The library synthesizing device of the invention of claim 4Designed using cells in the cell library defined by the characteristics and attributes of the cell terminals based on the description data described in the macro's logical description language, defined by the cells used in the macro and the nets in the macro. A macro library generation device that generates a library defined for a macro that includes characteristics and attributes of a macro terminal, and executes a layout of the cell based on the description data, whereby a macro terminal and a cell terminal A layout device for generating graphic data in which wirings for connecting terminals are laid out, and a physical library as information configured to include data on macro terminals and wirings connected to the macro terminals based on the graphic data Generation capacity and wiring capacity of wiring connected to the macro terminal based on the graphic data A wiring capacitance extracting device for extracting, with the physical library, the characteristics of the macro terminal is set based on the characteristics of all the cell terminal connected to the wiring capacitance and the macro terminal,SaidDescriptive dataOn the basis of theRead from the cell library,Attributes of all cell terminals connected to each macro terminalWas reflectedMacro terminalAnd a library synthesizing device for generating a library by synthesizing these attributes.
[0009]
(Function)
In the present invention, the characteristics of the macro terminal are calculated in detail and in a short time by calculating the characteristics of all the cells connected to the macro terminal and the wiring capacity of the wiring connecting the macro terminal and the cell terminal created in the macro layout. Can be calculated. Further, the attributes of the macro terminal can be easily extracted from the terminal attributes of all the cell terminals connected to the macro terminal.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 shows a
[0011]
The
[0012]
The
[0013]
FIG. 2 shows a
[0014]
The
The
[0015]
The
[0016]
Further, the
[0017]
Also, as shown in FIG. 3, the wiring layer pattern information “5” is added to the wiring pattern L1, and the wiring layer pattern information “10” is added to the wiring pattern L14. The wiring layer pattern information “5” and “10” indicate the first and second layers of the metal wiring layer, respectively.
[0018]
When the cell arrangement and the wiring are completed, the
[0019]
Then, the
The macro library generation device 12 includes a physical
[0020]
FIG. 4 shows the structure of the
[0021]
The
The physical
[0022]
First, in step 51, the macro name information is stored in the
[0023]
In
[0024]
In
[0025]
The wiring
[0026]
First, in
[0027]
In
[0028]
In
[0029]
In
[0030]
In
[0031]
In
[0032]
Thereafter, the processing of
The macro
[0033]
The macro
[0034]
Further, the macro
[0035]
Next, the process of calculating the characteristics of the macro terminal performed by the macro
First, in
[0036]
In
[0037]
Next, in step 74, all cell terminals connected to the macro terminal A1 are searched based on the net described in the logic description language of the
[0038]
In step 75, the cell terminal connected to the macro terminal A1 is searched based on the net described in the logic description language of the
[0039]
Thereafter, the processes in
Next, macro terminal attribute recognition processing performed by the macro
[0040]
First, in
[0041]
In
[0042]
Next, in
[0043]
In
[0044]
If it is determined in
[0045]
Thereafter, the processing in
Next, library synthesis processing performed by the macro
[0046]
First, in
[0047]
Next, in
[0048]
In
In
[0049]
The
[0050]
The design
Now, this embodiment has the following effects.
[0051]
(1) By calculating the characteristics of the macro terminal, the characteristics of all cells connected to the macro terminal, and the wiring capacity of the wiring connecting the macro terminal and the cell terminal created in the macro layout, the input load capacity of the macro terminal The output drive capability can be calculated in detail and in a short time.
[0052]
(2) Since the attributes of the macro terminal are extracted from the terminal attributes of all the cell terminals connected to the macro terminal, the terminal type of the macro terminal can be easily selected. As a result, a macro library can be easily generated, and a highly reliable macro library can be generated without human error.
[0053]
【The invention's effect】
As described above in detail, the present invention can easily generate a macro library, and can generate a highly reliable macro library without human error.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing an LSI design system.
FIG. 2 is an explanatory diagram showing a logical structure of an example macro
FIG. 3 is an explanatory diagram showing an example macro pattern structure;
FIG. 4 is an explanatory diagram showing an example macro library file.
FIG. 5 is an explanatory diagram showing an example of a net capacity list;
FIG. 6 is a flowchart showing physical library generation processing;
FIG. 7 is a flowchart showing a wiring capacity extraction process;
FIG. 8 is a flowchart showing processing for calculating characteristics of a macro terminal.
FIG. 9 is a flowchart showing macro terminal attribute recognition processing;
FIG. 10 is a flowchart showing library synthesis processing.
[Explanation of symbols]
2 cell library
13 Physical library generator
14 Wiring capacity extraction device
15 Library synthesizer
21 Macro
32, 33, 34 cells
A1 Macro terminal (input terminal)
X1 Macro terminal (output terminal)
Claims (4)
前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、
マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、
前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、
前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定されるマクロ端子の特性と、マクロ端子に繋がるすべてのセル端子の属性に基づいて設定されるマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置と
を備えるマクロライブラリ生成装置。 Macro is defined by the nets within cells and macros for use in, based on the more the described description data in logical description language macros, using a cell of defined cell library in characteristics and attributes of a cell terminal for macro designed Te, a macro library generation device for generating libraries defined include properties and attributes of the macro terminal,
By executing the layout of cells based on the description data, and the layout unit for generating graphic data lines are laid for connecting the macro terminals and cell terminals,
A physical library generating device for generating a physical library as information configured to include data on a macro terminal and wiring connected to the macro terminal based on the graphic data ;
A wiring capacity extraction device that extracts the wiring capacity of the wiring connected to the macro terminal based on the graphic data;
Macro terminal characteristics set based on the physical library, the characteristics of all the cell terminals connected to the wiring capacity and the macro terminal, and the macro terminals set based on the attributes of all the cell terminals connected to the macro terminal macro library generation apparatus and a library synthesizer for generating a library by synthesizing the attributes.
前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、
マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、
前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、
前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定される第1のマクロ端子の特性と、前記記述データに基づいて前記セルライブラリから読み出される、各マクロ端子に繋がるすべてのセル端子の特性が反映された第2のマクロ端子の特性と、マクロ端子に繋がるすべてのセル端子の属性に基づいて設定されるマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置と
を備えるマクロライブラリ生成装置。 Designed using cells in the cell library defined by the characteristics and attributes of the cell terminals based on the description data described in the macro's logical description language, defined by the cells used in the macro and the nets in the macro. A macro library generating device for generating a library defined including the characteristics and attributes of the macro terminal for the generated macro,
A layout device for generating graphic data in which wiring for connecting a macro terminal and a cell terminal is laid out by executing a cell layout based on the description data;
A physical library generating device for generating a physical library as information configured to include data on a macro terminal and wiring connected to the macro terminal based on the graphic data;
A wiring capacity extraction device that extracts the wiring capacity of the wiring connected to the macro terminal based on the graphic data;
Each macro terminal read from the cell library based on the physical library, the characteristics of the first macro terminal set based on the characteristics of all the cell terminals connected to the wiring capacity and the macro terminal, and the description data A library is created by combining the characteristics of the second macro terminal, which reflects the characteristics of all the cell terminals connected to, and the attributes of the macro terminals set based on the attributes of all the cell terminals connected to the macro terminal A library synthesizer
A macro library generation device comprising:
前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、
マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、
前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、
前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定されるマクロ端子の特性と、前記記述データに基づいて前記セルライブラリから読み出され、各マクロ端子に繋がるすべてのセル端子の属性が反映されたマクロ端子の属性とを合成することによりライブラリを生成するライブラリ合成装置と
を備えるマクロライブラリ生成装置。 Designed using cells in the cell library defined by the characteristics and attributes of the cell terminals based on the description data described in the macro's logical description language, defined by the cells used in the macro and the nets in the macro. A macro library generating device for generating a library defined including the characteristics and attributes of the macro terminal for the generated macro,
A layout device for generating graphic data in which wiring for connecting a macro terminal and a cell terminal is laid out by executing a cell layout based on the description data;
A physical library generating device for generating a physical library as information configured to include data on a macro terminal and wiring connected to the macro terminal based on the graphic data;
A wiring capacity extraction device that extracts the wiring capacity of the wiring connected to the macro terminal based on the graphic data;
Read from the cell library based on the physical library, the characteristics of the macro terminals set based on the characteristics of all the cell terminals connected to the wiring capacity and the macro terminal, and the description data , and connect to each macro terminal A library synthesizer that generates a library by synthesizing the attributes of the macro terminals that reflect the attributes of all the cell terminals ;
A macro library generation device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09137796A JP3641063B2 (en) | 1996-04-12 | 1996-04-12 | Macro library generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09137796A JP3641063B2 (en) | 1996-04-12 | 1996-04-12 | Macro library generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09282345A JPH09282345A (en) | 1997-10-31 |
JP3641063B2 true JP3641063B2 (en) | 2005-04-20 |
Family
ID=14024689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09137796A Expired - Lifetime JP3641063B2 (en) | 1996-04-12 | 1996-04-12 | Macro library generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3641063B2 (en) |
-
1996
- 1996-04-12 JP JP09137796A patent/JP3641063B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH09282345A (en) | 1997-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6026228A (en) | Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus | |
US7480878B2 (en) | Method and system for layout versus schematic validation of integrated circuit designs | |
JP3022315B2 (en) | Circuit extraction method | |
US5541850A (en) | Method and apparatus for forming an integrated circuit including a memory structure | |
US6026220A (en) | Method and apparatus for incremntally optimizing a circuit design | |
JPH03156572A (en) | System and method for comparing and verifying logic circuit | |
US8631363B2 (en) | Method and mechanism for identifying and tracking shape connectivity | |
CN112949233A (en) | Automatic development method and device of FPGA chip and electronic equipment | |
CN113255258A (en) | Logic synthesis method and device, electronic equipment and storage medium | |
JPH06274568A (en) | Expansion method for hierarchical graphic data | |
JP2000277617A (en) | Asic design method and equipment thereof | |
JP3641063B2 (en) | Macro library generator | |
US7461359B1 (en) | Method and mechanism for determining shape connectivity | |
US11734489B2 (en) | Circuit layout verification | |
CN113760751B (en) | Method for generating test case, electronic device and storage medium | |
CN114139487A (en) | Layout visualization development tool and packaging and using method | |
US6912473B2 (en) | Method for verifying cross-sections | |
JPH09289253A (en) | Layout input apparatus and method and layout verifying apparatus and method | |
US11106851B1 (en) | Serialization in electronic design automation flows | |
Robertson et al. | Timing verification of dynamically reconfigurable logic for the Xilinx Virtex FPGA series | |
JPH1167923A (en) | Semiconductor integrated circuit, wiring routing method thereof and recording medium recording the method | |
WO2014106040A1 (en) | Pattern-based power-and-ground (pg) routing and via creation | |
US10970452B2 (en) | System for designing semiconductor circuit and operating method of the same | |
JP2872216B1 (en) | Macro design method | |
CN113688587B (en) | Method and device for generating circuit layout, computer equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20040819 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20040831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050120 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090128 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090128 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110128 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110128 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120128 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120128 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130128 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140128 Year of fee payment: 9 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |