JP3641063B2 - Macro library generator - Google Patents

Macro library generator Download PDF

Info

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
Application number
JP09137796A
Other languages
Japanese (ja)
Other versions
JPH09282345A (en
Inventor
和行 上利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP09137796A priority Critical patent/JP3641063B2/en
Publication of JPH09282345A publication Critical patent/JPH09282345A/en
Application granted granted Critical
Publication of JP3641063B2 publication Critical patent/JP3641063B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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 claim 2 is the physical library.GenerationThe deviceFurther, the physical library is configuredPosition of macro terminal and wiring layer of wiring connected to macro terminalInformation aboutTheBased on the graphic dataExtract
  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 design system 10 for a semiconductor device (LSI). The system 10 includes a logical data file 1, a cell library file 2, a macro layout device 11, a graphic data file 3, a macro library generation device 12, a chip layout device 16 and a design rule check device 17 in this embodiment.
[0011]
The cell library file 2 stores cell data corresponding to various logic elements having a predetermined function. Examples of the logic element include an AND circuit, an OR circuit, a NOR circuit, an XOR (exclusive OR) circuit and the like in addition to the inverters 22 and 23 and the NAND circuit 24 shown in FIG. As shown in FIG. 3, the cell library file 2 stores data of cells 32 and 33 corresponding to the inverters 22 and 23 and data of a cell 34 corresponding to the NAND circuit 24. The data of each cell includes cell name data, cell terminal information, transistor pattern data constituting the cell, wiring pattern data constituting a net in the cell, and the like. Cell terminal information includes position information (numerical coordinate data or grid coordinate data) of each cell terminal, terminal type information (normal terminal, clock terminal, etc.), input load capacity information, and output drive capacity information. Including.
[0012]
The logic description file 1 stores a macro logic description language created by a macro designer. The logical description language is defined by macro name information, cell type information used in the macro, macro terminal information, and net information for connecting the macro terminal and the cell terminal. The macro terminal information includes information on the name of each macro terminal (character text information) and information on the terminal type of the macro terminal (input terminal, output terminal, or input / output terminal).
[0013]
FIG. 2 shows a macro 21 expressed in an example logical description language stored in the logical description file 1. In the macro 21, inverters 22 and 23 and a NAND circuit 24 as logic elements are used, and an input terminal A1 and an output terminal X1 as macro terminals are provided. The macro 21 includes a net N1 that connects the input terminal A1 and the input terminals of the inverters 22 and 23, a net N2 that connects the output terminal of the inverter 22 and one input terminal of the NAND circuit 24, and an output terminal of the inverter 23. And a net N3 for connecting the other input terminal of the NAND circuit 24 and a net N4 for connecting the output terminal of the NAND circuit 24 and the output terminal X1. Hereinafter, for convenience of explanation, it is assumed that the logical description file 1 stores the logical description language of the macro 21 shown in FIG.
[0014]
The macro layout device 11 includes a microprocessor and operates based on predetermined program data.
The macro layout device 11 reads the logic description language of the macro 21 from the logic description file 1, reads cell pattern data corresponding to various logic elements used in the logic description language from the cell library file 2, and reads the read data. Based on the obtained data, various cell pattern layouts are performed. Therefore, the data of the cells 32 and 33 corresponding to the inverters 22 and 23 are read from the cell library file 2, and the pattern of the cells 32 and 33 is laid out as shown in FIG. Similarly, the data of the cell 34 corresponding to the NAND circuit 24 is read from the cell library file 2, and the pattern of the cell 34 is laid out as shown in FIG.
[0015]
The macro layout apparatus 11 determines the position of each macro terminal based on the macro terminal information in the logic description language of the macro 21 and adds terminal name text pattern (character text) information to the determined position. Accordingly, as shown in FIG. 3, the positions of the input terminal A1 and the output terminal X1 are determined to be positions indicated by “·” based on the terminal information of the input terminal A1 and the output terminal X1, and the determined positions of the respective terminals. Are added with text pattern information “A1” and “X1”.
[0016]
Further, the macro layout apparatus 11 has a net wiring pattern for connecting terminals of various cells laid out based on net information in the logic description language of the macro 21, and a net wiring pattern for connecting the macro terminal and the cell terminal. Layout. A via pattern for connecting the wiring patterns is also laid out. Therefore, as shown in FIG. 3, wiring patterns L1, L2, and L3 that connect the input terminal A1, the input terminal 32A of the cell 32, and the input terminal 33A of the cell 33 are laid out based on the information of the net N1. Based on the information of the net N2, wiring patterns L4, L5, L6, L7, and L8 that connect the output terminal 32B of the cell 32 and the input terminal 34A of the cell 34 are laid out. Further, wiring patterns L9, L10, L11, L12, and L13 that connect the output terminal 33B of the cell 33 and the input terminal 34B of the cell 34 are laid out based on the information of the net N3. Further, the wiring pattern L14 that connects the output terminal X1 and the output terminal 34C of the cell 34 is laid out based on the information of the net N4. A via pattern for connecting the wiring patterns is also laid out, but not shown.
[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 macro layout device 11 includes all the laid out cells and all the wiring patterns, and creates pattern information of a polygonal frame passing on the macro terminal. The frame pattern information includes position information (numerical coordinate data or grid coordinate data) of a plurality of vertices of the frame. The position of each vertex is represented by coordinates when an arbitrary vertex is used as the origin among a plurality of vertices. Accordingly, in FIG. 3, a rectangular frame 31 including the cells 32 to 34 and the wiring patterns L1 to L14 and passing on the input terminal A1 and the output terminal X1 is generated, and four apexes 31a, 31b, 31c, Pattern information is created based on the position information 31d.
[0019]
Then, the macro layout apparatus 11 stores the graphic data of the pattern layout result shown in FIG.
The macro library generation device 12 includes a physical library generation device 13, a physical library file 4, a wiring capacity extraction device 14, a net capacity list 5, a macro library synthesis device 15, and a macro library file 6.
[0020]
FIG. 4 shows the structure of the macro library file 6 in this embodiment, and storage areas 41 and 42 are provided for one macro. In addition, storage areas 43, 431, 432, 433, 434, 435, and 436 are provided for each macro terminal in the macro. That is, the storage area 41 stores macro name information, and the storage area 42 stores macro frame pattern information. The storage area 43 stores macro terminal name information (text pattern information), the storage area 431 stores macro terminal coordinate data, and the storage area 432 stores wiring layer pattern information. The storage area 433 stores the input load capacity data of the macro terminal, and the storage area 434 stores the output drive capacity data of the macro terminal. Further, the storage area 435 stores data of terminal type 1 indicating that the macro terminal is either an input terminal, an output terminal, or an input / output terminal, and the storage area 436 has what function the macro terminal has. Data of terminal type 2 indicating the terminal is stored.
[0021]
The physical library file 4 in this embodiment has a structure in which the storage areas 433 to 436 in the macro library file 6 are omitted.
The physical library generation device 13 includes a microprocessor, operates based on predetermined program data, and performs a physical library generation process shown in FIG. That is, the physical library generation device 13 extracts macro frame patterns, macro terminal coordinates, and wiring layers from the macro graphic data stored in the graphic data file 3, and stores the extracted data in the physical library file 4. To do.
[0022]
First, in step 51, the macro name information is stored in the storage area 41 shown in FIG. 4, the pattern information of the macro frame 31 is read from the graphic data, and the coordinates of each vertex are stored in the storage area 42.
[0023]
In step 52, the macro terminal text pattern information, the macro terminal coordinate data describing the terminal text pattern information, and the wiring layer pattern information are read from the graphic data, and the macro terminal text pattern information is stored in the storage area. 43, the macro terminal coordinate data is stored in the storage area 431, and the wiring layer pattern information is stored in the storage area 432.
[0024]
In step 53, it is determined whether there is an unprocessed macro terminal. If there is an unprocessed macro terminal, the process returns to step 52 and the process of step 52 is repeatedly executed. Step 52 is performed for all macro terminal texts.
[0025]
The wiring capacity extraction device 14 is also composed of a microprocessor, operates based on predetermined program data, and performs the wiring capacity extraction processing shown in FIG. That is, the wiring capacity extracting device 14 extracts the wiring capacity from the macro graphic data stored in the graphic data file 3 to the terminals of all the cells connected to the macro terminal, and uses the extracted wiring capacity. Store in the net capacity list 5.
[0026]
First, in step 61, all macro terminal text pattern information, all wiring pattern data, and all via pattern data are read from the graphic data and stored in a first table (not shown) prepared on the memory. Therefore, in FIG. 3, the information of the terminal text patterns A1 and X1, the information of the wiring patterns L1 to L14, and the via pattern are read out.
[0027]
In step 62, a second table (not shown) is prepared on the memory, and one terminal text pattern information among the macro terminal text pattern information of the first table is registered in the second table.
[0028]
In step 63, it is determined whether or not there is an unprocessed macro terminal. If there is an unprocessed macro terminal, the process proceeds to step 64. In step 64, a wiring pattern or a via pattern connected to the terminal text pattern A1 registered in the second table is searched from the first table, and the searched pattern is registered in the second table. In FIG. 3, the wiring pattern L1 connected to the terminal text pattern A1 is searched, and information on the wiring pattern L1 is registered in the second table.
[0029]
In step 65, a wiring pattern or a via pattern connected to the wiring pattern newly registered in the second table is searched from the first table, and the searched pattern is registered in the second table.
[0030]
In step 66, it is determined whether there is a newly registered wiring pattern or via pattern. If there is a newly registered wiring pattern or via pattern, the process returns to step 65 and the process of step 65 is repeatedly executed. In FIG. 3, the wiring patterns L2 and L3 connected to the wiring pattern L1 are searched.
[0031]
In step 67, the wiring capacity of one net is calculated by multiplying the area of the wiring pattern or via pattern registered in the second table by the unit wiring capacity. The calculated capacity value is output to the net capacity list 5 shown in FIG. 5 together with the macro terminal name registered in the second table.
[0032]
Thereafter, the processing of steps 62 to 67 is performed until the text pattern information of the macro terminal stored in the first table is exhausted.
The macro library synthesizing device 15 is composed of a microprocessor, operates based on predetermined program data, and performs the process of calculating the characteristics of the macro terminal shown in FIG. That is, the macro library synthesizing device 15 obtains information on input load capacities of all cell terminals (see FIG. 3) connected to the macro terminal from the cell library 2 based on the macro logic description language stored in the logic description file 1. The input load capacity of the macro terminal is calculated by reading and summing them. Further, the macro library synthesis device 15 reads the information of the output drive capability of all the cell terminals connected to the macro terminal from the cell library 2, and determines the smallest one of the output drive capabilities of these cell terminals as the output drive capability of the macro terminal. To do.
[0033]
The macro library synthesizing device 15 operates based on predetermined program data, and performs the macro terminal attribute recognition process shown in FIG. That is, the macro library synthesis apparatus 15 reads the terminal type described in the macro logic description language stored in the logic description file 1 and determines the terminal type 1 of the macro terminal. Further, the macro library synthesis device 15 reads from the cell library 2 the terminal type information of all the cell terminals (see FIG. 3) connected to the macro terminal based on the macro logic description language stored in the logic description file 1. The terminal type 2 of the macro terminal is determined. At this time, if the terminal types of the plurality of cell terminals are different, the terminal type 2 of the macro terminal is selected from the nature of the terminal type.
[0034]
Further, the macro library synthesizing device 15 operates based on predetermined program data, and performs the library synthesizing process shown in FIG. That is, the macro library synthesizing apparatus 15 inputs the macro terminal into the physical library file 4 by synthesizing the input load capacity information of all the cells connected to the macro terminal and the wiring capacity information stored in the net capacity list 5. The macro library file 6 is generated by combining the load capacity information, the macro terminal output drive capability information, and the terminal type 1 and 2 information.
[0035]
Next, the process of calculating the characteristics of the macro terminal performed by the macro library synthesis apparatus 15 will be described with reference to FIG.
First, in step 71, an unprocessed macro terminal is searched from the macro logic description language stored in the logic description file 1, and the searched macro terminal is stored in a table (not shown) prepared on the memory. To do. This table is provided with a storage area in which information on the input load capacity and information on the output drive capability can be set for the macro terminal. Therefore, in FIG. 3, the information of the macro terminal A1 (input terminal) is stored in the table.
[0036]
In step 72, it is determined whether or not there is an unprocessed macro terminal. If there is an unprocessed macro terminal, the process proceeds to step 73. In step 73, the wiring capacity information for the macro terminal A1 registered in the table is searched from the net capacity list 5, and the wiring capacity information “100” for the macro terminal A1 is set in the input load capacity storage area of the table.
[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 logic description file 1, and information on the input load capacity of each searched cell terminal is obtained as a cell. It is read from the library file 2 and its input load capacity is set by adding to the value already set in the storage area of the input load capacity of the table. In FIG. 3, a value obtained by adding the sum of the input load capacity of the cell terminal 32A and the input load capacity of the cell terminal 33A and the wiring capacity “100” is set in the storage area of the input load capacity.
[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 logic description file 1, and the information of the output drive capability of each searched cell terminal is read from the cell library file 2. The information of the output drive capability is set in the output drive capability storage area of the table. At this time, the smaller value is set between the value already set in the storage area of the output drive capability of the table and the newly read output drive capability. The output drive capability value may be an average value of the output drive capability of all the cell terminals depending on the LSI technology. In FIG. 3, since the macro terminal A1 is an input terminal and the cell terminals 32A and 33A connected to the macro terminal A1 are input terminals, the output drive capability is “0”.
[0039]
Thereafter, the processes in steps 71 to 75 are performed for all the macro terminals described in the macro logic description language.
Next, macro terminal attribute recognition processing performed by the macro library synthesis apparatus 15 will be described with reference to FIG.
[0040]
First, in step 81, an unprocessed macro terminal is searched from the macro logic description language stored in the logic description file 1, and the searched macro terminal is stored in a table (not shown) prepared on the memory. To do. This table is provided with a storage area in which information of terminal types 1 and 2 can be set for the macro terminal. Therefore, in FIG. 3, the information of the macro terminal A1 (input terminal) is stored in the table.
[0041]
In step 82, it is determined whether or not there is an unprocessed macro terminal. If there is an unprocessed macro terminal, the process proceeds to step 83. In step 83, information on the terminal type (input terminal, output terminal, or input / output terminal) of the macro terminal described in the logic description language for the macro terminal A1 registered in the table is read and set in the storage area of terminal type 1 in the table. To do. Therefore, information of the input terminal is set in the storage area of the terminal type 1 of the macro terminal A1.
[0042]
Next, in step 84, all cell terminals connected to the macro terminal A1 are searched based on the net described in the logic description language of the logic description file 1, and the terminal types (normal terminals, (Clock terminal etc.) information is stored in a table.
[0043]
In step 85, it is determined whether or not all cell terminals stored in the table have the same terminal type. In step 86, the terminal type information stored in step 84 is set in the storage area of terminal type 2 for the macro terminal A1 stored in step 81.
[0044]
If it is determined in step 85 that the terminal types of all the cell terminals are not the same, that is, there are a plurality of terminal types, the process proceeds to step 87. In step 87, when there are a normal terminal and a clock terminal as the terminal type of the cell terminal, the macro terminal stored in step 81 is selected by selecting a terminal type with severe conditions so that the clock terminal is selected as the terminal type. The terminal type information is set in the storage area of terminal type 2 for A1.
[0045]
Thereafter, the processing in steps 81 to 87 is performed for all macro terminals described in the macro logic description language.
Next, library synthesis processing performed by the macro library synthesis apparatus 15 will be described with reference to FIG.
[0046]
First, in step 91, macro name information and frame pattern information are read from the physical library file 4 and stored in a table (not shown) prepared on the memory. Also, macro terminal information items relating to one macro terminal are sequentially read from the physical library file 4 and stored in the table. This table is provided with a storage area in which information on input load capacity, information on output drive capability, and information on terminal types 1 and 2 can be set for the macro terminal.
[0047]
Next, in step 92, it is determined whether there is an unprocessed macro terminal. If there is an unprocessed macro terminal, the process proceeds to step 93. In step 93, information on the input load capacity obtained by the characteristic calculation process shown in FIG. 8 is set in the table.
[0048]
In step 94, the information of the output drive capability obtained by the characteristic calculation process shown in FIG. 8 is set in the table.
In step 95, information of terminal types 1 and 2 obtained by the macro terminal attribute recognition processing shown in FIG. 9 is set in a table. The processes in steps 91 to 95 are performed for all the macro terminals stored in the physical library file 4, and all information set in the table is output to the macro library file 6 to generate a macro library.
[0049]
The chip layout device 16 performs chip layout based on the data of the macro library file 6, the data of the cell library file 2, and the logic description data of the semiconductor circuit.
[0050]
The design rule check device 17 verifies the layout result by the chip layout device 16 based on the data of the macro library file 6.
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に記載のマクロライブラリ生成装置。The macro library generation device according to claim 1, wherein the physical library generation device further extracts information on a position of a macro terminal constituting the physical library and a wiring layer of a wiring connected to the macro terminal based on the graphic data . マクロで使用するセルとマクロ内のネットとで定義されており、マクロの論理記述言語により記述された記述データに基づき、セル端子の特性及び属性で定義されたセルライブラリのセルを使用して設計されたマクロについて、マクロ端子の特性及び属性を含んで定義されたライブラリを生成するマクロライブラリ生成装置であって、
前記記述データに基づいてセルのレイアウトを実行することにより、マクロ端子とセル端子とを接続する配線がレイアウトされた図形データを生成するレイアウト装置と、
マクロ端子及びマクロ端子に繋がる配線についてのデータを含んで構成される情報としての物理ライブラリを前記図形データに基づいて生成する物理ライブラリ生成装置と、
前記図形データに基づいてマクロ端子に繋がる配線の配線容量を抽出する配線容量抽出装置と、
前記物理ライブラリと、前記配線容量及びマクロ端子に繋がるすべてのセル端子の特性に基づいて設定される第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:
JP09137796A 1996-04-12 1996-04-12 Macro library generator Expired - Lifetime JP3641063B2 (en)

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)

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