JPH07262233A - アナログlsiにおける素子の形状決定方法及びその形状決定装置 - Google Patents
アナログlsiにおける素子の形状決定方法及びその形状決定装置Info
- Publication number
- JPH07262233A JPH07262233A JP6047480A JP4748094A JPH07262233A JP H07262233 A JPH07262233 A JP H07262233A JP 6047480 A JP6047480 A JP 6047480A JP 4748094 A JP4748094 A JP 4748094A JP H07262233 A JPH07262233 A JP H07262233A
- Authority
- JP
- Japan
- Prior art keywords
- shape
- elements
- determining
- group
- division
- 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.)
- Withdrawn
Links
Abstract
(57)【要約】
【目的】アナログの制約を満足した素子の形状を自動的
に決定する。 【構成】ネットリストの素子番号により記述された複数
種類の素子に対して、同一形状素子群の見極め処理31
にて、予め同一形状とするために設定された近接配置条
件を入力し、近接配置条件に該当する複数の素子がネッ
トリスト上にあるかどうかを判断する。そして、近接配
置条件に該当する複数の素子がある場合にはこれらの素
子番号を1つのグループとし各グループを中間データと
して記憶する。素子形状の決定処理33において、予め
素子番号に対してその素子を構成するために指定された
基本形状が定義された素子形状指定を入力し、前記中間
データとして記憶された各グループ内の素子番号が入力
した素子形状指定に指定された素子番号に該当するか否
かを判断し、該当する場合にはその基本形状をその素子
の特性を示すパラメータに対応して複数使用して素子の
形状を決定する。
に決定する。 【構成】ネットリストの素子番号により記述された複数
種類の素子に対して、同一形状素子群の見極め処理31
にて、予め同一形状とするために設定された近接配置条
件を入力し、近接配置条件に該当する複数の素子がネッ
トリスト上にあるかどうかを判断する。そして、近接配
置条件に該当する複数の素子がある場合にはこれらの素
子番号を1つのグループとし各グループを中間データと
して記憶する。素子形状の決定処理33において、予め
素子番号に対してその素子を構成するために指定された
基本形状が定義された素子形状指定を入力し、前記中間
データとして記憶された各グループ内の素子番号が入力
した素子形状指定に指定された素子番号に該当するか否
かを判断し、該当する場合にはその基本形状をその素子
の特性を示すパラメータに対応して複数使用して素子の
形状を決定する。
Description
【0001】
【産業上の利用分野】本発明はアナログLSIにおける
素子の形状決定方法及びその形状決定装置に係り、詳し
くはアナログLSIにおけるレイアウトの制約を満足
し、高集積化が可能な素子の自動形状決定に関するもの
である。
素子の形状決定方法及びその形状決定装置に係り、詳し
くはアナログLSIにおけるレイアウトの制約を満足
し、高集積化が可能な素子の自動形状決定に関するもの
である。
【0002】近年、バイポーラ・アナログICにおいて
は、大規模化・高集積化が進められる一方で、その開発
期間の短縮が要求されている。そのため、レイアウトに
おいても素子の形状決定の自動化を図り配置処理時間を
短縮することが望まれている。
は、大規模化・高集積化が進められる一方で、その開発
期間の短縮が要求されている。そのため、レイアウトに
おいても素子の形状決定の自動化を図り配置処理時間を
短縮することが望まれている。
【0003】
【従来の技術】従来、バイポーラ・アナログIC(Inte
grated Circuit)においては、大規模化・高集積化が進
められている。そのため、アナログICの回路設計にお
いてはCAD(Computer Aided Design )装置が用いら
れ、その設計時間の短縮が図られている。また、設計さ
れたアナログICが正常に動作するかを検証するための
検証プログラム(回路シミュレータ)が用いられ、計算
機による動作の検証が行われて検証時間が短縮されてい
る。
grated Circuit)においては、大規模化・高集積化が進
められている。そのため、アナログICの回路設計にお
いてはCAD(Computer Aided Design )装置が用いら
れ、その設計時間の短縮が図られている。また、設計さ
れたアナログICが正常に動作するかを検証するための
検証プログラム(回路シミュレータ)が用いられ、計算
機による動作の検証が行われて検証時間が短縮されてい
る。
【0004】
【発明が解決しようとする課題】ところで、アナログI
Cのレイアウトには、そのレイアウトに多くの制約があ
る。その制約は、例えばカレントミラーを構成する一対
のトランジスタは隣接して配置する必要がある。また、
例えば1つのトランジスタに対してそのトランジスタに
流れる10倍の電流を流すトランジスタを設計する場
合、単純にそのトランジスタの形状を10倍するだけで
は所望の電流が得られない。そのため、同一形状のトラ
ンジスタを10個隣接して形成して所望の電流を得る必
要がある。これらの制約によりマクロを構成する素子の
レイアウト及びマクロのレイアウト時における素子の形
状決定は熟練した設計者自身により行われている。
Cのレイアウトには、そのレイアウトに多くの制約があ
る。その制約は、例えばカレントミラーを構成する一対
のトランジスタは隣接して配置する必要がある。また、
例えば1つのトランジスタに対してそのトランジスタに
流れる10倍の電流を流すトランジスタを設計する場
合、単純にそのトランジスタの形状を10倍するだけで
は所望の電流が得られない。そのため、同一形状のトラ
ンジスタを10個隣接して形成して所望の電流を得る必
要がある。これらの制約によりマクロを構成する素子の
レイアウト及びマクロのレイアウト時における素子の形
状決定は熟練した設計者自身により行われている。
【0005】一方、レイアウトを自動化したものもある
が、そのレイアウトのための素子の形状は使用する素子
毎に予め設定しておかなければならないので、その設定
のために多くの時間がかかり、アナログICの開発期間
を短縮できないという問題があった。
が、そのレイアウトのための素子の形状は使用する素子
毎に予め設定しておかなければならないので、その設定
のために多くの時間がかかり、アナログICの開発期間
を短縮できないという問題があった。
【0006】本発明は上記問題点を解決するためになさ
れたものであって、その目的はアナログの制約を満足し
た素子の形状を自動的に決定することのできるアナログ
LSIにおける素子の形状決定方法及び形状決定装置を
提供することにある。
れたものであって、その目的はアナログの制約を満足し
た素子の形状を自動的に決定することのできるアナログ
LSIにおける素子の形状決定方法及び形状決定装置を
提供することにある。
【0007】
【課題を解決するための手段】本発明は上記目的を達成
するため、予め設定されたネットリストに素子番号によ
り記述された複数種類の素子の形状を決定するアナログ
LSIにおける素子の形状決定方法であって、予め同一
形状とするために設定された近接配置条件を入力し、該
近接配置条件に該当する複数の素子がネットリスト上に
あるかどうかを判断し、複数の素子がある場合にはこれ
らの素子番号を1つのグループとし各グループを中間デ
ータとして記憶し、予め素子番号に対してその素子を構
成するために指定された基本形状が定義された素子形状
指定を入力し、該素子形状指定にある素子番号が前記中
間データに格納された各グループ内の素子番号にあるか
否かを判断し、素子番号がある場合にはグループ内の各
素子の特性を示すパラメータを基本形状の特性を示すパ
ラメータで割る除算を行い、その除算の結果、商が整数
の場合にはその商を各素子を構成する基本形状の個数と
してその素子の形状を決定するようにした。
するため、予め設定されたネットリストに素子番号によ
り記述された複数種類の素子の形状を決定するアナログ
LSIにおける素子の形状決定方法であって、予め同一
形状とするために設定された近接配置条件を入力し、該
近接配置条件に該当する複数の素子がネットリスト上に
あるかどうかを判断し、複数の素子がある場合にはこれ
らの素子番号を1つのグループとし各グループを中間デ
ータとして記憶し、予め素子番号に対してその素子を構
成するために指定された基本形状が定義された素子形状
指定を入力し、該素子形状指定にある素子番号が前記中
間データに格納された各グループ内の素子番号にあるか
否かを判断し、素子番号がある場合にはグループ内の各
素子の特性を示すパラメータを基本形状の特性を示すパ
ラメータで割る除算を行い、その除算の結果、商が整数
の場合にはその商を各素子を構成する基本形状の個数と
してその素子の形状を決定するようにした。
【0008】また、除算の結果、割り切れない場合であ
って素子が抵抗の場合には、割った結果の余りを予め設
定された所定の数で割る除算を行い、除算の結果の商と
基本形状の抵抗値とで抵抗を形成した場合の抵抗値が素
子の特性を示すパラメータである抵抗値に対して予め設
定された誤差範囲の抵抗値となるまで除算を行い、その
誤差範囲の抵抗値となる除算の結果の商を各素子を構成
する基本形状の個数としてその素子の形状を決定するよ
うにした。
って素子が抵抗の場合には、割った結果の余りを予め設
定された所定の数で割る除算を行い、除算の結果の商と
基本形状の抵抗値とで抵抗を形成した場合の抵抗値が素
子の特性を示すパラメータである抵抗値に対して予め設
定された誤差範囲の抵抗値となるまで除算を行い、その
誤差範囲の抵抗値となる除算の結果の商を各素子を構成
する基本形状の個数としてその素子の形状を決定するよ
うにした。
【0009】更に、中間データとして記憶された各グル
ープ内の素子番号が素子形状指定に指定された素子番号
にない場合であって、素子番号の素子がトランジスタ又
は容量の場合は、同一形状とする各素子の特性を示すパ
ラメータの最大公約数を求め、その最大公約数の素子を
基準とし、各素子の特性に対応して使用する基準となる
素子の個数を求め、基準となる素子とその基準となる素
子の個数とにより該素子の形状を決定し、素子が抵抗の
場合は、そのうちの1つの抵抗値のサイズを基準サイズ
とし、その基準サイズにより各抵抗を自動生成した場合
の総面積を計算し、その総面積が最も小さくなるときの
基準サイズで各素子を形成する個数を計算し、基準サイ
ズと各素子を形成する個数とにより該素子の形状を決定
するようにした。
ープ内の素子番号が素子形状指定に指定された素子番号
にない場合であって、素子番号の素子がトランジスタ又
は容量の場合は、同一形状とする各素子の特性を示すパ
ラメータの最大公約数を求め、その最大公約数の素子を
基準とし、各素子の特性に対応して使用する基準となる
素子の個数を求め、基準となる素子とその基準となる素
子の個数とにより該素子の形状を決定し、素子が抵抗の
場合は、そのうちの1つの抵抗値のサイズを基準サイズ
とし、その基準サイズにより各抵抗を自動生成した場合
の総面積を計算し、その総面積が最も小さくなるときの
基準サイズで各素子を形成する個数を計算し、基準サイ
ズと各素子を形成する個数とにより該素子の形状を決定
するようにした。
【0010】
【作用】従って、本発明によれば、予め設定されたネッ
トリストに素子番号により記述された複数種類の素子に
対して、予め同一形状とするために設定された近接配置
条件を入力し、該近接配置条件に該当する複数の素子が
ネットリスト上にあるかどうかが判断される。そして近
接配置条件に該当する複数の素子がある場合にはこれら
の素子番号を1つのグループとし各グループを中間デー
タとして記憶する。
トリストに素子番号により記述された複数種類の素子に
対して、予め同一形状とするために設定された近接配置
条件を入力し、該近接配置条件に該当する複数の素子が
ネットリスト上にあるかどうかが判断される。そして近
接配置条件に該当する複数の素子がある場合にはこれら
の素子番号を1つのグループとし各グループを中間デー
タとして記憶する。
【0011】更に、予め素子番号に対してその素子を構
成するために指定された基本形状が定義された素子形状
指定を入力し、前記中間データとして記憶された各グル
ープ内の素子番号に入力した素子形状指定に指定された
素子番号があるか否かが判断される。そして、素子番号
がある場合にはグループ内の各素子の特性を示すパラメ
ータを基本形状の特性を示すパラメータで割る除算を行
い、その除算の結果、商が整数の場合にはその商を各素
子を構成する基本形状の個数としてその素子の形状が決
定される。
成するために指定された基本形状が定義された素子形状
指定を入力し、前記中間データとして記憶された各グル
ープ内の素子番号に入力した素子形状指定に指定された
素子番号があるか否かが判断される。そして、素子番号
がある場合にはグループ内の各素子の特性を示すパラメ
ータを基本形状の特性を示すパラメータで割る除算を行
い、その除算の結果、商が整数の場合にはその商を各素
子を構成する基本形状の個数としてその素子の形状が決
定される。
【0012】一方、除算の結果、商が整数でない場合で
あって該素子が抵抗の場合には、割った結果の余りを予
め設定された所定の数で割る除算を行う。そして、除算
の結果の商と基本形状の抵抗値とで抵抗を形成した場合
の抵抗値が素子の特性を示すパラメータである抵抗値に
対して予め設定された誤差範囲の抵抗値となるまで除算
が繰り返される。そして、その誤差範囲の抵抗値となる
除算の結果の商を各素子を構成する基本形状の個数とし
てその素子の形状が決定される。
あって該素子が抵抗の場合には、割った結果の余りを予
め設定された所定の数で割る除算を行う。そして、除算
の結果の商と基本形状の抵抗値とで抵抗を形成した場合
の抵抗値が素子の特性を示すパラメータである抵抗値に
対して予め設定された誤差範囲の抵抗値となるまで除算
が繰り返される。そして、その誤差範囲の抵抗値となる
除算の結果の商を各素子を構成する基本形状の個数とし
てその素子の形状が決定される。
【0013】また、中間データとして記憶された各グル
ープ内の素子番号が素子形状指定に指定された素子番号
にない場合であって、素子番号の素子がトランジスタ又
は容量の場合は、同一形状とする各素子の特性を示すパ
ラメータの最大公約数が求められる。そして、その最大
公約数の素子を基準とし、各素子の特性に対応して使用
する基準となる素子の個数を求められ、基準となる素子
とその基準となる素子の個数とにより該素子の形状が決
定される。一方、素子が抵抗の場合は、そのうちの1つ
の抵抗値のサイズを基準サイズとし、その基準サイズに
より各抵抗を自動生成した場合の総面積が計算される。
そして、その総面積が最も小さくなるときの基準サイズ
で各素子を形成する個数を計算され、その基準サイズと
各素子を形成する個数とにより該素子の形状が決定され
る。
ープ内の素子番号が素子形状指定に指定された素子番号
にない場合であって、素子番号の素子がトランジスタ又
は容量の場合は、同一形状とする各素子の特性を示すパ
ラメータの最大公約数が求められる。そして、その最大
公約数の素子を基準とし、各素子の特性に対応して使用
する基準となる素子の個数を求められ、基準となる素子
とその基準となる素子の個数とにより該素子の形状が決
定される。一方、素子が抵抗の場合は、そのうちの1つ
の抵抗値のサイズを基準サイズとし、その基準サイズに
より各抵抗を自動生成した場合の総面積が計算される。
そして、その総面積が最も小さくなるときの基準サイズ
で各素子を形成する個数を計算され、その基準サイズと
各素子を形成する個数とにより該素子の形状が決定され
る。
【0014】
【実施例】以下、本発明を具体化した一実施例を図1〜
図10に従って説明する。図2は本発明を適用したレイ
アウト装置のシステム構成を示す模式図である。形状決
定装置1はCAD(Computer Aided Design )装置から
なり、中央処理装置(以下、CPUという)2、メモリ
3、磁気ディスク装置4、CRT等のディスプレイ5、
キーボード(マウス等を含む)6、磁気テープ装置7を
備えている。
図10に従って説明する。図2は本発明を適用したレイ
アウト装置のシステム構成を示す模式図である。形状決
定装置1はCAD(Computer Aided Design )装置から
なり、中央処理装置(以下、CPUという)2、メモリ
3、磁気ディスク装置4、CRT等のディスプレイ5、
キーボード(マウス等を含む)6、磁気テープ装置7を
備えている。
【0015】CPU2はメモリ3に記憶された所定のプ
ログラムデータに基づいて動作するようになっている。
メモリ3にはCPU2が実行する前記プログラムデータ
とその実行に必要は各種データが予め記憶されるととも
に、当該プログラムデータに基づくCPU2の処理結果
等が一時格納されるようになっている。
ログラムデータに基づいて動作するようになっている。
メモリ3にはCPU2が実行する前記プログラムデータ
とその実行に必要は各種データが予め記憶されるととも
に、当該プログラムデータに基づくCPU2の処理結果
等が一時格納されるようになっている。
【0016】メモリ3には、図1に示す複数のファイル
11〜21が格納されている。ファイル11には、アナ
ログICの素子及びその素子間の接続(ネットリスト)
が格納されている。ネットリストは図示しない回路設計
のためのCAD装置等により予め設計された回路図から
生成されている。また、ネットリストはその動作に応じ
た複数の回路ブロックから構成され、各回路ブロックは
複数の素子又は複数の素子からなるマクロにより構成さ
れている。そして、ネットリストには各素子を示す素子
番号と、その素子の特性を示すパラメータ(例えばトラ
ンジスタではそのトランジスタに流す電流等)が同時に
記述されている。
11〜21が格納されている。ファイル11には、アナ
ログICの素子及びその素子間の接続(ネットリスト)
が格納されている。ネットリストは図示しない回路設計
のためのCAD装置等により予め設計された回路図から
生成されている。また、ネットリストはその動作に応じ
た複数の回路ブロックから構成され、各回路ブロックは
複数の素子又は複数の素子からなるマクロにより構成さ
れている。そして、ネットリストには各素子を示す素子
番号と、その素子の特性を示すパラメータ(例えばトラ
ンジスタではそのトランジスタに流す電流等)が同時に
記述されている。
【0017】ファイル12には、アナログICのレイア
ウトの制約である近接配置、同一形状にする素子を決定
する近接配置条件が格納されている。ファイル13に
は、形状決定するための素子が一旦格納されるための中
間データが格納されている。
ウトの制約である近接配置、同一形状にする素子を決定
する近接配置条件が格納されている。ファイル13に
は、形状決定するための素子が一旦格納されるための中
間データが格納されている。
【0018】ファイル14には、予め近接配置、同一形
状にする素子を指定するために複数の素子番号が定義さ
れた近接配置指定が格納されている。ファイル15に
は、予め複数の素子に対してその素子を構成するための
基準となる基本形状が定義された素子形状指定が格納さ
れている。ファイル16には、抵抗の形状を決定する際
において、複数の抵抗からその抵抗値を形成する場合に
その抵抗を構成する個数を算出する時、元の抵抗値と複
数の抵抗により構成する抵抗値との誤差を定義した許容
誤差が格納されている。ファイル17には、ファイル1
3の中間データに格納された素子の形状と対応するセル
名を定義した素子対応指定が格納されている。また、フ
ァイル17には、抵抗、容量(コンデンサ)の自動生成
を指定する定義が格納されている。ファイル18には、
素子を自動生成する時の条件を定義した素子自動生成パ
ラメータが格納されている。ファイル19には、抵抗の
形状を自動生成する時の抵抗幅が格納されている。ファ
イル20には、ファイル11に格納されたネットリスト
に存在する全素子の形状及び配置個数が決定された素子
形状情報が格納される。ファイル21には素子の形状を
決定することができなかった素子番号がエラー素子とし
て格納されるようになっている。
状にする素子を指定するために複数の素子番号が定義さ
れた近接配置指定が格納されている。ファイル15に
は、予め複数の素子に対してその素子を構成するための
基準となる基本形状が定義された素子形状指定が格納さ
れている。ファイル16には、抵抗の形状を決定する際
において、複数の抵抗からその抵抗値を形成する場合に
その抵抗を構成する個数を算出する時、元の抵抗値と複
数の抵抗により構成する抵抗値との誤差を定義した許容
誤差が格納されている。ファイル17には、ファイル1
3の中間データに格納された素子の形状と対応するセル
名を定義した素子対応指定が格納されている。また、フ
ァイル17には、抵抗、容量(コンデンサ)の自動生成
を指定する定義が格納されている。ファイル18には、
素子を自動生成する時の条件を定義した素子自動生成パ
ラメータが格納されている。ファイル19には、抵抗の
形状を自動生成する時の抵抗幅が格納されている。ファ
イル20には、ファイル11に格納されたネットリスト
に存在する全素子の形状及び配置個数が決定された素子
形状情報が格納される。ファイル21には素子の形状を
決定することができなかった素子番号がエラー素子とし
て格納されるようになっている。
【0019】各ファイル11〜19は磁気ディスク装置
4に格納され、その磁気ディスク装置4からメモリ3に
予め読み込まれて格納されている。一方、ファイル20
はメモリ3に一旦格納され、処理終了とともに磁気ディ
スク装置4に格納されるようになっている。
4に格納され、その磁気ディスク装置4からメモリ3に
予め読み込まれて格納されている。一方、ファイル20
はメモリ3に一旦格納され、処理終了とともに磁気ディ
スク装置4に格納されるようになっている。
【0020】CPU2は、キーボード6の操作により形
状決定処理が起動されると、メモリ3に記憶されたプロ
グラムデータに基づいて図1に示す素子の形状決定処理
を実行する。即ち、CPU2はプログラムデータに基づ
いて同一形状素子群の見極め処理31、同一形状素子群
の見極め追加処理32、素子形状の決定処理33及び素
子形状の最終決定処理34の各構成を実行するようにな
っている。
状決定処理が起動されると、メモリ3に記憶されたプロ
グラムデータに基づいて図1に示す素子の形状決定処理
を実行する。即ち、CPU2はプログラムデータに基づ
いて同一形状素子群の見極め処理31、同一形状素子群
の見極め追加処理32、素子形状の決定処理33及び素
子形状の最終決定処理34の各構成を実行するようにな
っている。
【0021】同一形状素子群の見極め手段としての同一
形状素子群の見極め処理31において、CPU2はファ
イル11に格納されたネットリストを読み出す。また、
CPU2はファイル12に格納された近接配置条件を読
み出す。そして、CPU2は読み出したネットリストに
記述されたネット(素子間の接続)の素子のうち、読み
出した近接配置条件に該当する素子をネットリストから
検索する。即ち、近接に配置する必要のある素子は同一
の電気的特性が必要であり、同一形状で形成する必要が
ある。そのため、ネットリストに該当する素子が存在す
る場合、CPU2はネットリストに記述されたその素子
を示す素子番号とファイル12に格納された素子のサイ
ズを中間データとしてファイル13に格納する。
形状素子群の見極め処理31において、CPU2はファ
イル11に格納されたネットリストを読み出す。また、
CPU2はファイル12に格納された近接配置条件を読
み出す。そして、CPU2は読み出したネットリストに
記述されたネット(素子間の接続)の素子のうち、読み
出した近接配置条件に該当する素子をネットリストから
検索する。即ち、近接に配置する必要のある素子は同一
の電気的特性が必要であり、同一形状で形成する必要が
ある。そのため、ネットリストに該当する素子が存在す
る場合、CPU2はネットリストに記述されたその素子
を示す素子番号とファイル12に格納された素子のサイ
ズを中間データとしてファイル13に格納する。
【0022】この近接配置条件は、例えば図3に示すよ
うに予め定義されている。例えば、エミッタ結合のよう
に2つのトランジスタのエミッタ端子が互いに接続され
ている場合がある。この両トランジスタの接続は、定義
「NPN1:E,NPN2:E 」の「 NPNトランジスタのエミッタ端
子同士が接続されている場合は近接配置を行う」に該当
する。従って、CPU2はこの近接配置条件に該当する
両トランジスタを1つのグループとし、その素子名を示
す素子番号とその素子の特性を示すパラメータとをファ
イル13の中間データに同一形状指定素子群として格納
する。
うに予め定義されている。例えば、エミッタ結合のよう
に2つのトランジスタのエミッタ端子が互いに接続され
ている場合がある。この両トランジスタの接続は、定義
「NPN1:E,NPN2:E 」の「 NPNトランジスタのエミッタ端
子同士が接続されている場合は近接配置を行う」に該当
する。従って、CPU2はこの近接配置条件に該当する
両トランジスタを1つのグループとし、その素子名を示
す素子番号とその素子の特性を示すパラメータとをファ
イル13の中間データに同一形状指定素子群として格納
する。
【0023】また、カレントミラーを構成する2つのト
ランジスタは、一方のトランジスタのベース端子とコレ
クタ端子とが互いに接続されるとともに、他方のトラン
ジスタののベース端子に接続されている。この両トラン
ジスタの接続は、定義「NPN1:C・B,NPN2:B」の「 NPNト
ランジスタのコレクタ,ベース端子と他の NPNトランジ
スタのベース端子が接続されている場合は近接配置を行
う」に該当する。従って、CPU2はカレントミラーを
構成する両トランジスタを別の1つのグループとし、両
トランジスタの素子番号をファイル13の中間データに
近接配置指定及び同一形状指定素子として格納する。そ
して、同一形状素子群の見極め処理31が終了すると、
CPU2は同一形状素子群の見極め追加処理32に移
る。
ランジスタは、一方のトランジスタのベース端子とコレ
クタ端子とが互いに接続されるとともに、他方のトラン
ジスタののベース端子に接続されている。この両トラン
ジスタの接続は、定義「NPN1:C・B,NPN2:B」の「 NPNト
ランジスタのコレクタ,ベース端子と他の NPNトランジ
スタのベース端子が接続されている場合は近接配置を行
う」に該当する。従って、CPU2はカレントミラーを
構成する両トランジスタを別の1つのグループとし、両
トランジスタの素子番号をファイル13の中間データに
近接配置指定及び同一形状指定素子として格納する。そ
して、同一形状素子群の見極め処理31が終了すると、
CPU2は同一形状素子群の見極め追加処理32に移
る。
【0024】次に、同一形状素子群の見極め追加手段と
しての同一形状素子群の見極め追加処理32において、
CPU2はファイル14に格納された近接配置指定に該
当する素子の抽出を行う。即ち、CPU2はファイル1
4に格納された近接配置指定を読み出す。この近接配置
指定は予め回路設計段階において複数の回路ブロック又
はマクロ内にそれぞれ存在する素子を近接配置し同一形
状とするように設定しておくものであって、予め設計者
によりその素子が指定されている。従って、その指定さ
れた素子は同一形状に形成され、離れて配置されるのを
防止されるようになっている。
しての同一形状素子群の見極め追加処理32において、
CPU2はファイル14に格納された近接配置指定に該
当する素子の抽出を行う。即ち、CPU2はファイル1
4に格納された近接配置指定を読み出す。この近接配置
指定は予め回路設計段階において複数の回路ブロック又
はマクロ内にそれぞれ存在する素子を近接配置し同一形
状とするように設定しておくものであって、予め設計者
によりその素子が指定されている。従って、その指定さ
れた素子は同一形状に形成され、離れて配置されるのを
防止されるようになっている。
【0025】この近接配置指定は、例えば図4に示すよ
うに予め定義されている。即ち、定義「S11,S20,S30 」
は、「ネットリスト上の素子番号S11,S20,S30 は同一形
状とし近接配置を行う」という指定を示している。尚、
素子番号「S11 」,「S20 」,「S30 」は、ネットリス
トに記載されているトランジスタ、抵抗、コンデンサ等
をその記載順に対応して付している番号であって、複数
(図4の定義の場合は3つ)の回路ブロックに分かれて
存在している素子を示している。
うに予め定義されている。即ち、定義「S11,S20,S30 」
は、「ネットリスト上の素子番号S11,S20,S30 は同一形
状とし近接配置を行う」という指定を示している。尚、
素子番号「S11 」,「S20 」,「S30 」は、ネットリス
トに記載されているトランジスタ、抵抗、コンデンサ等
をその記載順に対応して付している番号であって、複数
(図4の定義の場合は3つ)の回路ブロックに分かれて
存在している素子を示している。
【0026】そして、CPU2は読み出した近接配置指
定に該当する複数の素子からなる素子群をネットリスト
ファイル11に格納されているネットリストから検索す
る。そして、ネットリストに該当する素子群が存在する
場合、CPU2はその素子群を1つのグループとしてそ
れぞれの素子の素子番号とその素子の特性を示すパラメ
ータとをファイル13の中間データに格納する。そし
て、見極め追加処理32を終了すると、CPU2は素子
形状の決定処理33に移る。
定に該当する複数の素子からなる素子群をネットリスト
ファイル11に格納されているネットリストから検索す
る。そして、ネットリストに該当する素子群が存在する
場合、CPU2はその素子群を1つのグループとしてそ
れぞれの素子の素子番号とその素子の特性を示すパラメ
ータとをファイル13の中間データに格納する。そし
て、見極め追加処理32を終了すると、CPU2は素子
形状の決定処理33に移る。
【0027】素子形状の決定手段としての素子形状の決
定処理33において、CPU2はファイル15に格納さ
れた素子形状指定に基づいて予め形状を同一にする素子
群を中間データから検索する。
定処理33において、CPU2はファイル15に格納さ
れた素子形状指定に基づいて予め形状を同一にする素子
群を中間データから検索する。
【0028】この素子形状指定は、各回路ブロックにお
いて素子の形状・サイズを決定した場合、アナログIC
全体の特性からみると各回路ブロックに存在する素子に
対して形状・サイズが同一のもの(基準素子)を配置す
ると、その配置した後の形状に凹凸が少なくなり、配置
の効率が良くなる。
いて素子の形状・サイズを決定した場合、アナログIC
全体の特性からみると各回路ブロックに存在する素子に
対して形状・サイズが同一のもの(基準素子)を配置す
ると、その配置した後の形状に凹凸が少なくなり、配置
の効率が良くなる。
【0029】即ち、1つの回路ブロックにおけるトラン
ジスタに対して、他の回路ブロックにおいて2倍の電流
を流すトランジスタがあるとする。このとき、2倍の電
流を流すトランジスタに対しては、1つの回路ブロック
のトランジスタを2つ並べて配置するとその配置した後
の形状に凹凸が少なくなる。一方、基準となるトランジ
スタが1つの回路ブロックにおけるトランジスタの半分
に設定されている場合、1つの回路ブロックのトランジ
スタには基準となるトランジスタを2つ、他の回路ブロ
ックには基準となるトランジスタを4つ配置するとその
配置した後の形状に凹凸が少なくなり、配置の効率がよ
くなる。
ジスタに対して、他の回路ブロックにおいて2倍の電流
を流すトランジスタがあるとする。このとき、2倍の電
流を流すトランジスタに対しては、1つの回路ブロック
のトランジスタを2つ並べて配置するとその配置した後
の形状に凹凸が少なくなる。一方、基準となるトランジ
スタが1つの回路ブロックにおけるトランジスタの半分
に設定されている場合、1つの回路ブロックのトランジ
スタには基準となるトランジスタを2つ、他の回路ブロ
ックには基準となるトランジスタを4つ配置するとその
配置した後の形状に凹凸が少なくなり、配置の効率がよ
くなる。
【0030】また、1つの回路ブロックにおける抵抗の
値が例えば10KΩであって、他の回路ブロックにおい
てその抵抗の値が例えば5KΩとなる場合がある。この
場合、アナログIC全体からみると両回路ブロックに含
まれる抵抗は同じ大きさの抵抗を複数並べて配置した方
がその配置効率が良い。即ち、10KΩの抵抗は5KΩ
の抵抗の大きさで2つ直列に接続すると、両抵抗を配置
した後の形状の凹凸が少なくなり、配置の効率がよくな
る。
値が例えば10KΩであって、他の回路ブロックにおい
てその抵抗の値が例えば5KΩとなる場合がある。この
場合、アナログIC全体からみると両回路ブロックに含
まれる抵抗は同じ大きさの抵抗を複数並べて配置した方
がその配置効率が良い。即ち、10KΩの抵抗は5KΩ
の抵抗の大きさで2つ直列に接続すると、両抵抗を配置
した後の形状の凹凸が少なくなり、配置の効率がよくな
る。
【0031】そして、この素子形状指定は、図5に示す
ように定義されている。定義「S11:×2 」は、「S11 及
びS11 と同一形状とする素子は×2 の素子(BIP)を用い
る。」を意味している。即ち、素子番号「S11 」及び
「S11 」と同一形状とする素子はバイポーラトランジス
タであって、その特性のために2倍のサイズのバイポー
ラトランジスタを基本形状とし、その基本形状を複数個
並べて配置して「S11 」及び「S11 」と同一形状とする
素子を構成する定義を示している。
ように定義されている。定義「S11:×2 」は、「S11 及
びS11 と同一形状とする素子は×2 の素子(BIP)を用い
る。」を意味している。即ち、素子番号「S11 」及び
「S11 」と同一形状とする素子はバイポーラトランジス
タであって、その特性のために2倍のサイズのバイポー
ラトランジスタを基本形状とし、その基本形状を複数個
並べて配置して「S11 」及び「S11 」と同一形状とする
素子を構成する定義を示している。
【0032】そして、素子形状指定に記述された素子及
びその素子と同一形状とする他の素子が中間データに存
在する場合、CPU2は各素子の特性を示すパラメータ
を中間データから読み出す。そして、CPU2はその素
子がトランジスタ又はコンデンサの場合、その素子の特
性を示すパラメータを予め設定された基本形状のパラメ
ータで割り、基準となる素子が幾つ必要となるかを演算
する。
びその素子と同一形状とする他の素子が中間データに存
在する場合、CPU2は各素子の特性を示すパラメータ
を中間データから読み出す。そして、CPU2はその素
子がトランジスタ又はコンデンサの場合、その素子の特
性を示すパラメータを予め設定された基本形状のパラメ
ータで割り、基準となる素子が幾つ必要となるかを演算
する。
【0033】例えば、図5の素子形状指定の内、定義
「S11:×2 」の素子番号「S11 」は、図4に示す近接配
置指定の内、定義「S11,S20,S30 」の素子番号「S11 」
に対応する。従って、素子番号「S20 」,「S30 」は
「S11 」と同一形状とする素子に該当する。そして、素
子番号「S11 」,「S20 」,「S30 」の特性を示すパラ
メータをそれぞれ「40」,「40」,「60」とし、基本形
状の特性を示すパラメータを「20」とする。すると、各
素子を構成する基本形状の個数は「40」,「40」,「6
0」を「20」で割った値、即ち「2」,「2」,「3」
となる。
「S11:×2 」の素子番号「S11 」は、図4に示す近接配
置指定の内、定義「S11,S20,S30 」の素子番号「S11 」
に対応する。従って、素子番号「S20 」,「S30 」は
「S11 」と同一形状とする素子に該当する。そして、素
子番号「S11 」,「S20 」,「S30 」の特性を示すパラ
メータをそれぞれ「40」,「40」,「60」とし、基本形
状の特性を示すパラメータを「20」とする。すると、各
素子を構成する基本形状の個数は「40」,「40」,「6
0」を「20」で割った値、即ち「2」,「2」,「3」
となる。
【0034】そして、CPU2は中間データ上のグルー
プ化された素子群(トランジスタ等)に対して配置する
基本形状の数をそれぞれ付加して中間データを更新す
る。このとき、基準となる素子サイズに対してネットリ
スト上の素子のサイズが整数で割り切れなかった場合が
ある。例えば素子の特性を示すパラメータが「50」であ
って基本形状のパラメータが「20」の場合は「2.5 」と
なり整数とならない。この場合にはその素子に対してそ
の基本形状を使用することができない。従って、CPU
2は、その割り切れなかったネットリスト上の素子の素
子番号を含むグループをエラーとしてファイル21に格
納する。
プ化された素子群(トランジスタ等)に対して配置する
基本形状の数をそれぞれ付加して中間データを更新す
る。このとき、基準となる素子サイズに対してネットリ
スト上の素子のサイズが整数で割り切れなかった場合が
ある。例えば素子の特性を示すパラメータが「50」であ
って基本形状のパラメータが「20」の場合は「2.5 」と
なり整数とならない。この場合にはその素子に対してそ
の基本形状を使用することができない。従って、CPU
2は、その割り切れなかったネットリスト上の素子の素
子番号を含むグループをエラーとしてファイル21に格
納する。
【0035】一方、素子形状指定に記載された素子が抵
抗の場合、CPU2はその素子の抵抗値を上記したトラ
ンジスタ等と同様に基本形状の抵抗値で割る。そして、
整数で割り切れた場合、CPU2はネットリスト上の素
子群(抵抗)に対して配置する基本形状の数をそれぞれ
付加して中間データを更新する。
抗の場合、CPU2はその素子の抵抗値を上記したトラ
ンジスタ等と同様に基本形状の抵抗値で割る。そして、
整数で割り切れた場合、CPU2はネットリスト上の素
子群(抵抗)に対して配置する基本形状の数をそれぞれ
付加して中間データを更新する。
【0036】このとき、整数で割り切れなかった場合、
CPU2はネットリスト上の素子のサイズを基準サイズ
で割った残りを1/2,1/3等で割る。即ち、抵抗の
場合、同一の抵抗値の抵抗を複数並列に接続すると、そ
の抵抗値を並列に接続した数で割った値にすることがで
きる。例えば、35KΩの抵抗を必要とし、基準となる
素子サイズが10KΩであるとする。このとき、35K
Ωを10KΩで割ると、商は3で余りは5となる。即
ち、10KΩの抵抗を3個直列に接続すれば30KΩの
抵抗値を得ることができ、必要とする抵抗値に対して5
KΩ不足する。
CPU2はネットリスト上の素子のサイズを基準サイズ
で割った残りを1/2,1/3等で割る。即ち、抵抗の
場合、同一の抵抗値の抵抗を複数並列に接続すると、そ
の抵抗値を並列に接続した数で割った値にすることがで
きる。例えば、35KΩの抵抗を必要とし、基準となる
素子サイズが10KΩであるとする。このとき、35K
Ωを10KΩで割ると、商は3で余りは5となる。即
ち、10KΩの抵抗を3個直列に接続すれば30KΩの
抵抗値を得ることができ、必要とする抵抗値に対して5
KΩ不足する。
【0037】次に、CPU2は余りの5KΩを1/2で
割る。すると、その値は10KΩとなり、基準サイズの
10KΩの抵抗を2つ並列に接続すれば5KΩを得るこ
とができる。従って、35KΩの抵抗は10KΩの抵抗
を5つ使用し、そのうち3つの抵抗を直列に接続し、そ
の3つの抵抗に更に並列接続した2つの抵抗を直列に接
続すれば得られる。即ち、複数の基準サイズの抵抗を直
列及び並列に接続することにより任意の抵抗値を得るこ
とができることになる。
割る。すると、その値は10KΩとなり、基準サイズの
10KΩの抵抗を2つ並列に接続すれば5KΩを得るこ
とができる。従って、35KΩの抵抗は10KΩの抵抗
を5つ使用し、そのうち3つの抵抗を直列に接続し、そ
の3つの抵抗に更に並列接続した2つの抵抗を直列に接
続すれば得られる。即ち、複数の基準サイズの抵抗を直
列及び並列に接続することにより任意の抵抗値を得るこ
とができることになる。
【0038】しかし、あまりに多くの抵抗を直列及び並
列に接続すると、その抵抗の占める面積が増大してアナ
ログICの面積が増大する。従って、ある程度の誤差範
囲に入った段階でその抵抗値とするようにして面積の増
大を防いでいる。この誤差範囲をファイル16に格納さ
れた許容誤差によって定義している。そして、定義「R
=99%」は「抵抗の構成個数算出時の精度は99%と
する」を意味している。即ち、CPU2は直列及び並列
に接続する抵抗の抵抗値を合計した値がネットリスト上
の設計された抵抗値の99%以上になったところで演算
を終了し、そのときの基本形状となる抵抗の数をネット
リスト上の素子群(抵抗)に対してそれぞれ付加して中
間データを更新する。
列に接続すると、その抵抗の占める面積が増大してアナ
ログICの面積が増大する。従って、ある程度の誤差範
囲に入った段階でその抵抗値とするようにして面積の増
大を防いでいる。この誤差範囲をファイル16に格納さ
れた許容誤差によって定義している。そして、定義「R
=99%」は「抵抗の構成個数算出時の精度は99%と
する」を意味している。即ち、CPU2は直列及び並列
に接続する抵抗の抵抗値を合計した値がネットリスト上
の設計された抵抗値の99%以上になったところで演算
を終了し、そのときの基本形状となる抵抗の数をネット
リスト上の素子群(抵抗)に対してそれぞれ付加して中
間データを更新する。
【0039】図6に、以上の処理によりファイル13に
格納される中間データの定義を示す。定義「S11(×4),
S20(×4), S30(×6): NPN:×2 」は、「S11 」,「S20
」,「S30 」はNPNトランジスタであって、「×2
」に定義された基本形状のトランジスタをそれぞれ2
個、2個、3個用いて配置する。
格納される中間データの定義を示す。定義「S11(×4),
S20(×4), S30(×6): NPN:×2 」は、「S11 」,「S20
」,「S30 」はNPNトランジスタであって、「×2
」に定義された基本形状のトランジスタをそれぞれ2
個、2個、3個用いて配置する。
【0040】また、「S22(W=40),S21(W=60):PMOS: 」
は、「S22 」,「S21 」はPチャネルMOSトランジス
タであって、その形状は未定である。この素子番号「S2
2 」,「S21 」は、ファイル15の素子形状指定により
指定されていない素子であるので、その形状は素子形状
の決定処理33で決定されない。
は、「S22 」,「S21 」はPチャネルMOSトランジス
タであって、その形状は未定である。この素子番号「S2
2 」,「S21 」は、ファイル15の素子形状指定により
指定されていない素子であるので、その形状は素子形状
の決定処理33で決定されない。
【0041】更に、「S41(3K),S42(1K),S43(100):R:1K
」は、「S41 」,「S42 」,「S43」は抵抗であって、
そのサイズは1KΩの抵抗のサイズを複数使用すること
により配置する。そして、素子形状の決定処理33が終
了すると、CPU2は素子形状の最終決定処理34に移
る。
」は、「S41 」,「S42 」,「S43」は抵抗であって、
そのサイズは1KΩの抵抗のサイズを複数使用すること
により配置する。そして、素子形状の決定処理33が終
了すると、CPU2は素子形状の最終決定処理34に移
る。
【0042】次に、素子形状の最終決定手段としての素
子形状の最終決定処理34において、ネットリスト、中
間データと、ファイル17に格納された素子対応指定、
ファイル18に格納された素子自動生成パラメータ及び
ファイル19に格納された抵抗幅とに基づいてCPU2
は素子の形状を最終的に決定する。即ち、CPU2はフ
ァイル11のネットリストに記述された素子の素子番号
をファイル13の中間データに格納された素子、即ち近
接配置条件、近接配置指定、素子形状指定により指定さ
れた素子番号と比較する。そして、ネットリスト上の素
子番号が指定された素子番号、即ち中間データにない場
合、CPU2はその存在しない素子の特性を示すパラメ
ータをネットリストより読み出し、その素子番号と読み
出したパラメータとを素子形状情報としてファイル20
に格納する。
子形状の最終決定処理34において、ネットリスト、中
間データと、ファイル17に格納された素子対応指定、
ファイル18に格納された素子自動生成パラメータ及び
ファイル19に格納された抵抗幅とに基づいてCPU2
は素子の形状を最終的に決定する。即ち、CPU2はフ
ァイル11のネットリストに記述された素子の素子番号
をファイル13の中間データに格納された素子、即ち近
接配置条件、近接配置指定、素子形状指定により指定さ
れた素子番号と比較する。そして、ネットリスト上の素
子番号が指定された素子番号、即ち中間データにない場
合、CPU2はその存在しない素子の特性を示すパラメ
ータをネットリストより読み出し、その素子番号と読み
出したパラメータとを素子形状情報としてファイル20
に格納する。
【0043】ネットリスト上の素子番号が指定された素
子番号、即ち中間データにあってその形状が記載されて
いる場合、ファイル17に格納された素子対応指定に基
づいてCPU2はその素子番号と形状とにより素子番号
と使用個数及び使用するセル名を素子形状情報としてフ
ァイル20に格納する。例えば、図6に示す定義「S11
(×4), S20(×4), S30(×6): NPN:×2 」が該当する。
そして、CPU2は定義「NPN:×2 」に対応して図8に
示す2倍のサイズの基本形状を示すセル名の定義「NPN
(×2):NPN2 」を読み出す。そして、CPU2は定義「S
11(2),S20(2),S30(3):NPN:NPN2 」を素子形状情報とし
てファイル20に格納する。尚、定義のカッコ内の数字
は基本形状を使用する個数を示している。
子番号、即ち中間データにあってその形状が記載されて
いる場合、ファイル17に格納された素子対応指定に基
づいてCPU2はその素子番号と形状とにより素子番号
と使用個数及び使用するセル名を素子形状情報としてフ
ァイル20に格納する。例えば、図6に示す定義「S11
(×4), S20(×4), S30(×6): NPN:×2 」が該当する。
そして、CPU2は定義「NPN:×2 」に対応して図8に
示す2倍のサイズの基本形状を示すセル名の定義「NPN
(×2):NPN2 」を読み出す。そして、CPU2は定義「S
11(2),S20(2),S30(3):NPN:NPN2 」を素子形状情報とし
てファイル20に格納する。尚、定義のカッコ内の数字
は基本形状を使用する個数を示している。
【0044】更に、ネットリスト上の素子番号が指定さ
れた素子番号、即ち中間データにあってその形状が記載
されていない場合、CPU2はその素子の特性を示すパ
ラメータに基づいて形状を決定する。このとき、当該す
る素子がMOSトランジスタ、BIPトランジスタ及び
容量の場合、CPU2はその定義に記載された素子全て
に対してその特性を示すパラメータの最大公約数を計算
し、その最大公約数となるサイズを演算する。
れた素子番号、即ち中間データにあってその形状が記載
されていない場合、CPU2はその素子の特性を示すパ
ラメータに基づいて形状を決定する。このとき、当該す
る素子がMOSトランジスタ、BIPトランジスタ及び
容量の場合、CPU2はその定義に記載された素子全て
に対してその特性を示すパラメータの最大公約数を計算
し、その最大公約数となるサイズを演算する。
【0045】即ち、素子に対してそのサイズが例えば
「20」,「20」,「30」である場合、そのサイズの最大
公約数は「10」となる。そして、各素子をサイズ「10」
を基準とし、その基準を「2個」,「2個」,「3個」
使用して配置を行なえばよい。従って、CPU2はその
素子に対する個数をファイル20に素子形状情報として
その素子番号とともに格納する。このとき、最大公約数
が整数とならない場合、CPU2は定義された全ての素
子番号をエラー素子としてファイル21に格納する。
「20」,「20」,「30」である場合、そのサイズの最大
公約数は「10」となる。そして、各素子をサイズ「10」
を基準とし、その基準を「2個」,「2個」,「3個」
使用して配置を行なえばよい。従って、CPU2はその
素子に対する個数をファイル20に素子形状情報として
その素子番号とともに格納する。このとき、最大公約数
が整数とならない場合、CPU2は定義された全ての素
子番号をエラー素子としてファイル21に格納する。
【0046】例えばPチャネルMOSトランジスタの場
合、中間データの定義「S22(W=40),S21(W=60):PMOS: 」
はそのサイズが未定である。従って、CPU2はその素
子に対応する最大公約数を計算する。この定義の場合、
最大公約数は「W=20」となり、素子「S22 」はこの「W=
20」の基準となる素子を2個、素子「S21 」はこの「W=
20」の基準素子を3個使用してその形状が決定されるこ
とになる。そして、CPU2はこの基準となる「W=20」
に対応してファイル17に格納されたセル名を指定する
素子対応指定の定義「PMOS(W=20):PMOS 」を読み出す。
そして、セル名を追加した定義「S22(W=40),S21(W=60):
PMOS:PMOS20 」を素子形状情報としてファイル20に格
納する。従って、「S22 」、「S21 」に対してはセル名
「PMOS20」のサイズを基準としてその形状を決定する。
合、中間データの定義「S22(W=40),S21(W=60):PMOS: 」
はそのサイズが未定である。従って、CPU2はその素
子に対応する最大公約数を計算する。この定義の場合、
最大公約数は「W=20」となり、素子「S22 」はこの「W=
20」の基準となる素子を2個、素子「S21 」はこの「W=
20」の基準素子を3個使用してその形状が決定されるこ
とになる。そして、CPU2はこの基準となる「W=20」
に対応してファイル17に格納されたセル名を指定する
素子対応指定の定義「PMOS(W=20):PMOS 」を読み出す。
そして、セル名を追加した定義「S22(W=40),S21(W=60):
PMOS:PMOS20 」を素子形状情報としてファイル20に格
納する。従って、「S22 」、「S21 」に対してはセル名
「PMOS20」のサイズを基準としてその形状を決定する。
【0047】また、容量(コンデンサ)に対しては、そ
の値により形状を自動に生成することができる。そし
て、CPU2はトランジスタの場合と同様に容量の最大
公約数を計算し、その最大公約数となる形状を自動に生
成し、各容量の形状をその自動に生成した形状に基づい
て決定する。そして、その容量に使用する個数をその素
子番号とともに素子形状情報としてファイル20に格納
する。
の値により形状を自動に生成することができる。そし
て、CPU2はトランジスタの場合と同様に容量の最大
公約数を計算し、その最大公約数となる形状を自動に生
成し、各容量の形状をその自動に生成した形状に基づい
て決定する。そして、その容量に使用する個数をその素
子番号とともに素子形状情報としてファイル20に格納
する。
【0048】一方、当該する素子が抵抗の場合、形成す
る抵抗の幅を指定することにより形状を自動に生成する
ことができる。この抵抗の幅は予め設定され、ファイル
19に格納されている。CPU2は基準となる抵抗の値
に対して他の抵抗がいくつ必要となるかを計算する。そ
して、CPU2は必要となる個数とその形状に基づいて
計算した全ての抵抗が占める面積を求め、その面積が最
も小さくなるように基準となる抵抗の形状と使用個数を
計算する。
る抵抗の幅を指定することにより形状を自動に生成する
ことができる。この抵抗の幅は予め設定され、ファイル
19に格納されている。CPU2は基準となる抵抗の値
に対して他の抵抗がいくつ必要となるかを計算する。そ
して、CPU2は必要となる個数とその形状に基づいて
計算した全ての抵抗が占める面積を求め、その面積が最
も小さくなるように基準となる抵抗の形状と使用個数を
計算する。
【0049】即ち、10KΩと30KΩの抵抗がある場
合、10KΩの抵抗を基準とした場合、30KΩの抵抗
は10KΩの抵抗を3個直列に接続して得られるので、
その基準となる抵抗が4個必要となる。一方、30KΩ
の抵抗を基準とした場合、10KΩの抵抗は30KΩの
抵抗を3個並列に接続するとその値が得られるので、こ
の場合も必要となる抵抗の数は4個となる。この場合、
必要となる個数が同じなので、30KΩの抵抗による面
積と10KΩの抵抗による面積とを比較し、その面積が
小さくなる方の抵抗値を基準とする。
合、10KΩの抵抗を基準とした場合、30KΩの抵抗
は10KΩの抵抗を3個直列に接続して得られるので、
その基準となる抵抗が4個必要となる。一方、30KΩ
の抵抗を基準とした場合、10KΩの抵抗は30KΩの
抵抗を3個並列に接続するとその値が得られるので、こ
の場合も必要となる抵抗の数は4個となる。この場合、
必要となる個数が同じなので、30KΩの抵抗による面
積と10KΩの抵抗による面積とを比較し、その面積が
小さくなる方の抵抗値を基準とする。
【0050】そして、CPU2は中間データに格納され
た抵抗の定義をファイル19の抵抗幅で自動生成するよ
うに定義し、その基準となる抵抗値とともに素子形状情
報としてファイル20に格納する。
た抵抗の定義をファイル19の抵抗幅で自動生成するよ
うに定義し、その基準となる抵抗値とともに素子形状情
報としてファイル20に格納する。
【0051】この場合、中間データの定義「S41(3K),S4
2(1K),S43(100):R:1K 」は、ファイル19に格納された
抵抗幅「W=5 」とファイル17に格納された抵抗の自動
生成の定義「R:? 」とにより、定義「S41(3K),S42(1K),
S43(100):R:W=5:1K:? 」となる。CPU2は、この定義
を抵抗の素子形状情報としてファイル20に格納する。
2(1K),S43(100):R:1K 」は、ファイル19に格納された
抵抗幅「W=5 」とファイル17に格納された抵抗の自動
生成の定義「R:? 」とにより、定義「S41(3K),S42(1K),
S43(100):R:W=5:1K:? 」となる。CPU2は、この定義
を抵抗の素子形状情報としてファイル20に格納する。
【0052】そして、素子形状の最終決定処理34にお
いて、ファイル20のネットリストに記述された全ての
素子に対して素子形状の決定を終了すると、CPU2は
素子形状決定処理を終了する。
いて、ファイル20のネットリストに記述された全ての
素子に対して素子形状の決定を終了すると、CPU2は
素子形状決定処理を終了する。
【0053】このように、本実施例では、予め設定され
たネットリストの素子番号により記述された複数種類の
素子に対して、同一形状素子群の見極め処理31におい
て、予め設定された近接配置条件に基づいて同一形状と
する素子がネットリスト上の素子番号に含まれるか否か
を判断する。当該する複数の素子が含まれる場合、これ
らの素子番号を1つのグループとし、各グループを中間
データとして記憶する。また、同一形状素子群の見極め
追加処理32において、予め設定された近接配置指定に
基づいて同一形状とする複数の素子の抽出を行なう。そ
して、抽出した複数の素子を1つのグループとしてそれ
ぞれの素子番号とその素子の特性を示すパラメータとを
中間データに格納するようにした。
たネットリストの素子番号により記述された複数種類の
素子に対して、同一形状素子群の見極め処理31におい
て、予め設定された近接配置条件に基づいて同一形状と
する素子がネットリスト上の素子番号に含まれるか否か
を判断する。当該する複数の素子が含まれる場合、これ
らの素子番号を1つのグループとし、各グループを中間
データとして記憶する。また、同一形状素子群の見極め
追加処理32において、予め設定された近接配置指定に
基づいて同一形状とする複数の素子の抽出を行なう。そ
して、抽出した複数の素子を1つのグループとしてそれ
ぞれの素子番号とその素子の特性を示すパラメータとを
中間データに格納するようにした。
【0054】そして、素子形状の決定処理33により、
CPU2は予め素子番号に対してそし素子を構成するた
めに指定された基本形状が定義された素子形状指定を入
力する。CPU2は、その素子形状指定にある素子番号
が中間データに格納された素子番号にあるか否かを判断
する。そして、素子番号を含んだグループがある場合、
CPU2はそのグループ内の各素子の特性を示すパラメ
ータを素子形状指定に定義された基本形状の特性を示す
パラメータで割る除算を行なう。その除算の結果、割り
切れた場合にはその除算の商を各素子を構成する基本形
状の個数とし、その素子の形状を決定するようにした。
CPU2は予め素子番号に対してそし素子を構成するた
めに指定された基本形状が定義された素子形状指定を入
力する。CPU2は、その素子形状指定にある素子番号
が中間データに格納された素子番号にあるか否かを判断
する。そして、素子番号を含んだグループがある場合、
CPU2はそのグループ内の各素子の特性を示すパラメ
ータを素子形状指定に定義された基本形状の特性を示す
パラメータで割る除算を行なう。その除算の結果、割り
切れた場合にはその除算の商を各素子を構成する基本形
状の個数とし、その素子の形状を決定するようにした。
【0055】また、素子形状の決定処理33において、
除算の結果が割り切れない場合であってその素子が抵抗
の場合には割った余りを予め設定された所定の数で割る
除算を行なう。その除算は、除算の結果の商と基本形状
のパラメータとでその素子の抵抗を形成した場合の抵抗
値が素子の特性を示すパラメータである抵抗値に対して
予め設定された誤差範囲の抵抗値となるまで除算され
る。そして、誤差範囲となるまでの商をそれぞれの素子
を構成する基本形状の個数とし、その素子の形状を決定
するようにした。
除算の結果が割り切れない場合であってその素子が抵抗
の場合には割った余りを予め設定された所定の数で割る
除算を行なう。その除算は、除算の結果の商と基本形状
のパラメータとでその素子の抵抗を形成した場合の抵抗
値が素子の特性を示すパラメータである抵抗値に対して
予め設定された誤差範囲の抵抗値となるまで除算され
る。そして、誤差範囲となるまでの商をそれぞれの素子
を構成する基本形状の個数とし、その素子の形状を決定
するようにした。
【0056】更に、素子形状の最終決定処理34におい
て、中間データに記憶された各グループないの素子番号
が素子形状指定に指定された素子番号にない場合であっ
てその素子がトランジスタ又はコンデンサの場合には同
一形状とする各素子の特性を示すパラメータの最大公約
数を求め、その最大公約数の素子を基準とする。そし
て、各素子の特性に対して基準となる素子の個数を求
め、その基準となる素子とその個数とにより各素子の形
状を決定する。一方、素子が抵抗の場合には、各抵抗を
それぞれ基準サイズとし、その基準サイズにより各抵抗
の形状を自動生成した場合の総面積を求める。そして、
その総面積が最も小さくなるときの基準サイズで各素子
を形成する個数を計算し、基準サイズと各素子を構成す
る個数とにより素子の形状を決定するようにした。
て、中間データに記憶された各グループないの素子番号
が素子形状指定に指定された素子番号にない場合であっ
てその素子がトランジスタ又はコンデンサの場合には同
一形状とする各素子の特性を示すパラメータの最大公約
数を求め、その最大公約数の素子を基準とする。そし
て、各素子の特性に対して基準となる素子の個数を求
め、その基準となる素子とその個数とにより各素子の形
状を決定する。一方、素子が抵抗の場合には、各抵抗を
それぞれ基準サイズとし、その基準サイズにより各抵抗
の形状を自動生成した場合の総面積を求める。そして、
その総面積が最も小さくなるときの基準サイズで各素子
を形成する個数を計算し、基準サイズと各素子を構成す
る個数とにより素子の形状を決定するようにした。
【0057】その結果、ファイル11のネットリストに
記載されたマクロ内の素子の形状を自動に決定すること
ができ、この決定した素子の形状を用いて素子のレイア
ウトを自動に行うことができる。また、素子の近接配置
条件と素子配置条件とに基づいて素子の配置を行うの
で、アナログの制約を満足した素子配置を行うことがで
きる。
記載されたマクロ内の素子の形状を自動に決定すること
ができ、この決定した素子の形状を用いて素子のレイア
ウトを自動に行うことができる。また、素子の近接配置
条件と素子配置条件とに基づいて素子の配置を行うの
で、アナログの制約を満足した素子配置を行うことがで
きる。
【0058】尚、本発明は前記実施例の他、以下の態様
で実施するようにしてもよい。 (1)上記実施例では、ファイル15に格納された近接
配置指定に基づいて同一形状素子群の見極め追加処理3
2において第2のグループ合成処理を行うようにした
が、近接配置指定をせずに同一形状素子群の見極め追加
処理32の処理をなくして実施するようにしてもよい。
で実施するようにしてもよい。 (1)上記実施例では、ファイル15に格納された近接
配置指定に基づいて同一形状素子群の見極め追加処理3
2において第2のグループ合成処理を行うようにした
が、近接配置指定をせずに同一形状素子群の見極め追加
処理32の処理をなくして実施するようにしてもよい。
【0059】(2)上記実施例の回路設計を行うCAD
装置に組み込んで実施してもよい。図2のレイアウト装
置の構成にグラフィック・ディスプレイを追加すること
により、CAD装置の構成と同様になりCAD装置への
組み込みは容易となる。
装置に組み込んで実施してもよい。図2のレイアウト装
置の構成にグラフィック・ディスプレイを追加すること
により、CAD装置の構成と同様になりCAD装置への
組み込みは容易となる。
【0060】また、素子配置を行なう装置に組み込んで
実施してもよい。ファイル20の素子形状情報のフォー
マットをその素子配置を行なう装置に入力するフォーマ
ットと同一にすれば、効率よく素子配置を行なうことが
できる。
実施してもよい。ファイル20の素子形状情報のフォー
マットをその素子配置を行なう装置に入力するフォーマ
ットと同一にすれば、効率よく素子配置を行なうことが
できる。
【0061】更に、形状決定装置1に磁気ディスク装置
4、磁気テープ装置7の他、種々の記憶装置、例えば光
磁気ディスク装置、CD−ROM装置等を接続して、プ
ログラムデータや各ファイル11〜21を記憶するよう
にしてもよい。
4、磁気テープ装置7の他、種々の記憶装置、例えば光
磁気ディスク装置、CD−ROM装置等を接続して、プ
ログラムデータや各ファイル11〜21を記憶するよう
にしてもよい。
【0062】(3)上記実施例において、各ファイル1
1〜19をメモリ3に読み込むことなく実施する。ま
た、ファイル20,21をメモリ3に設定することなく
直接磁気ディスク装置4等に書き込むようにしてもよ
い。この構成により、メモリ3を小さくすることができ
る。
1〜19をメモリ3に読み込むことなく実施する。ま
た、ファイル20,21をメモリ3に設定することなく
直接磁気ディスク装置4等に書き込むようにしてもよ
い。この構成により、メモリ3を小さくすることができ
る。
【0063】
【発明の効果】以上詳述したように、本発明によれば、
アナログの制約を満足した素子の形状を自動的に決定す
ることができる優れた効果がある。
アナログの制約を満足した素子の形状を自動的に決定す
ることができる優れた効果がある。
【図1】本発明の一実施例の形状決定装置の処理フロー
図である。
図である。
【図2】一実施例の形状決定装置の構成を示す模式図で
ある。
ある。
【図3】近接配置の回路条件の一例を示す図である。
【図4】近接配置指定の一例を示す図である。
【図5】素子形状指定の一例を示す図である。
【図6】中間データの一例を示す図である。
【図7】許容誤差の一例を示す図である。
【図8】素子対応指定の一例を示す図である。
【図9】素子自動生成パラメータの一例を示す図であ
る。
る。
【図10】素子形状情報の一例を示す図である。
2 CPU 11 ファイル(ネットリスト) 20 ファイル(素子形状情報) 31 同一形状素子群の見極め手段 33 素子形状の決定手段 34 素子形状の最終決定手段
Claims (6)
- 【請求項1】 予め設定されたネットリストに素子番号
により記述された複数種類の素子の形状を決定するアナ
ログLSIにおける素子の形状決定方法であって、 予め同一形状とするために設定された近接配置条件を入
力し、該近接配置条件に該当する複数の素子がネットリ
スト上にあるかどうかを判断し、複数の素子がある場合
にはこれらの素子番号を1つのグループとし各グループ
を中間データとして記憶し、 予め素子番号に対してその素子を構成するために指定さ
れた基本形状が定義された素子形状指定を入力し、 該素子形状指定にある素子番号が前記中間データに格納
された各グループ内の素子番号にあるか否かを判断し、 素子番号がある場合にはグループ内の各素子の特性を示
すパラメータを基本形状の特性を示すパラメータでそれ
ぞれを割る除算を行い、 その除算の結果、商が整数の場合にはその商を各素子を
構成する基本形状の個数としてその素子の形状を決定す
るようにしたアナログLSIにおける素子の形状決定方
法。 - 【請求項2】 請求項1に記載のアナログLSIにおけ
る素子の形状決定方法において、 前記除算の結果、割り切れない場合であって該素子が抵
抗の場合には、割った結果の余りを予め設定された所定
の数で割る除算を行い、 除算の結果の商と基本形状の抵抗値とで抵抗を形成した
場合の抵抗値が素子の特性を示すパラメータである抵抗
値に対して予め設定された誤差範囲の抵抗値となるまで
除算を行い、 その誤差範囲の抵抗値となる除算の結果の商を各素子を
構成する基本形状の個数としてその素子の形状を決定す
るようにしたアナログLSIにおける素子の形状決定方
法。 - 【請求項3】 請求項1又は2に記載のアナログLSI
における素子の形状決定方法において、 前記中間データとして記憶された各グループ内の素子番
号が素子形状指定に指定された素子番号にない場合であ
って、 該素子番号の素子がトランジスタ又は容量の場合は、同
一形状とする各素子の特性を示すパラメータの最大公約
数を求め、その最大公約数の素子を基準とし、 各素子の特性に対応して使用する基準となる素子の個数
を求め、基準となる素子とその基準となる素子の個数と
により該素子の形状を決定し、 該素子が抵抗の場合は、そのうちの1つの抵抗値のサイ
ズを基準サイズとし、その基準サイズにより各抵抗を自
動生成した場合の総面積を計算し、 その総面積が最も小さくなるときの基準サイズで各素子
を形成する個数を計算し、 基準サイズと各素子を形成する個数とにより該素子の形
状を決定するようにしたアナログLSIにおける素子の
形状決定方法。 - 【請求項4】 予め設定されたネットリストに素子番号
により記述された複数種類の素子の形状を決定するアナ
ログLSIにおける構成する素子の形状決定装置であっ
て、 予め同一形状とするために設定された近接配置条件を入
力し、該近接配置条件に該当する複数の素子がネットリ
スト上にあるかどうかを判断し、複数の素子がある場合
にはこれらの素子番号を1つのグループとし各グループ
を中間データとして記憶する同一形状素子群の見極め手
段(31)と、 予め素子番号に対してその素子を構成するために指定さ
れた基本形状が定義された素子形状指定を入力し、該素
子形状指定にある素子番号が前記中間データに格納され
た各グループ内の素子番号にあるか否かを判断し、素子
番号がある場合にはグループ内の各素子の特性を示すパ
ラメータを基本形状の特性を示すパラメータで割る除算
を行い、その除算の結果、商が整数の場合にはその商を
各素子を構成する基本形状の個数としてその素子の形状
を決定する素子形状の決定手段(33)とを備えたアナ
ログLSIにおける素子の形状決定装置。 - 【請求項5】 請求項4に記載のアナログLSIにおけ
る素子の形状決定装置において、 前記素子形状の決定手段(33)は、 前記除算の結果が割り切れない場合であって該素子が抵
抗の場合には、割った結果の余りを予め設定された所定
の数で割る除算を行い、除算の結果の商と基本形状の抵
抗値とで抵抗を形成した場合の抵抗値が素子の特性を示
すパラメータである抵抗値に対して予め設定された誤差
範囲の抵抗値となるまで除算を行い、その誤差範囲の抵
抗値となる除算の結果の商を各素子を構成する基本形状
の個数としてその素子の形状を決定するようにしたアナ
ログLSIにおける素子の形状決定装置。 - 【請求項6】 請求項4又は5に記載のアナログLSI
における素子の形状決定装置において、 前記中間データとして記憶された各グループ内の素子番
号が素子形状指定に指定された素子番号に該当しない場
合であって、 該素子番号の素子がトランジスタ又は容量の場合は、同
一形状とする各素子の特性を示すパラメータの最大公約
数を求め、その最大公約数の素子を基準とし、各素子の
特性に対応して使用する基準となる素子の個数を求め、
基準となる素子とその基準となる素子の個数とにより該
素子の形状を決定し、 該素子が抵抗の場合は、そのうちの1つの抵抗値のサイ
ズを基準サイズとし、その基準サイズにより各抵抗を自
動生成した場合の総面積を計算し、その総面積が最も小
さくなるときの基準サイズで各素子を形成する個数を計
算し、基準サイズと各素子を形成する個数とにより該素
子の形状を決定する素子形状の最終決定手段(34)を
備えたアナログLSIにおける素子の形状決定装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6047480A JPH07262233A (ja) | 1994-03-17 | 1994-03-17 | アナログlsiにおける素子の形状決定方法及びその形状決定装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6047480A JPH07262233A (ja) | 1994-03-17 | 1994-03-17 | アナログlsiにおける素子の形状決定方法及びその形状決定装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07262233A true JPH07262233A (ja) | 1995-10-13 |
Family
ID=12776304
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6047480A Withdrawn JPH07262233A (ja) | 1994-03-17 | 1994-03-17 | アナログlsiにおける素子の形状決定方法及びその形状決定装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07262233A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003085224A (ja) * | 2001-09-14 | 2003-03-20 | Mitsubishi Electric Corp | アナログセルレイアウト設計装置および方法 |
| US6727747B2 (en) | 2001-01-29 | 2004-04-27 | Sanyo Electric Co., Ltd. | Method for reusing resource for designing operational amplifier, layout generating apparatus, and layout generating program |
| US8769466B2 (en) | 2011-03-30 | 2014-07-01 | Fujitsu Limited | Implementation design support method and apparatus |
-
1994
- 1994-03-17 JP JP6047480A patent/JPH07262233A/ja not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6727747B2 (en) | 2001-01-29 | 2004-04-27 | Sanyo Electric Co., Ltd. | Method for reusing resource for designing operational amplifier, layout generating apparatus, and layout generating program |
| JP2003085224A (ja) * | 2001-09-14 | 2003-03-20 | Mitsubishi Electric Corp | アナログセルレイアウト設計装置および方法 |
| US8769466B2 (en) | 2011-03-30 | 2014-07-01 | Fujitsu Limited | Implementation design support method and apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2564344B2 (ja) | 半導体集積回路の設計方式 | |
| US8117576B2 (en) | Method for using an equivalence checker to reduce verification effort in a system having analog blocks | |
| JP5491333B2 (ja) | 集積回路の設計のためのデバイスミスマッチのモデリングおよびシミュレーティング | |
| US6438729B1 (en) | Connectivity-based approach for extracting layout parasitics | |
| US6675139B1 (en) | Floor plan-based power bus analysis and design tool for integrated circuits | |
| US6381563B1 (en) | System and method for simulating circuits using inline subcircuits | |
| JPH10171857A (ja) | 集積回路設計方法、集積回路設計のためのデータベース装置および集積回路設計支援装置 | |
| US6539528B2 (en) | Methods, systems, and computer program products for designing an integrated circuit that use an information repository having circuit block layout information | |
| US5278770A (en) | Method for generating input data for an electronic circuit simulator | |
| JP2001175702A (ja) | 回路設計方法 | |
| JP2005071370A (ja) | 回路設計のアクティビティファクタを決定するためのシステムおよび方法 | |
| JPH07262233A (ja) | アナログlsiにおける素子の形状決定方法及びその形状決定装置 | |
| TW200907727A (en) | Method for adapting schematics for different manufacturing processes and different operating specifications | |
| JP2004013821A (ja) | 半導体集積回路設計方法および設計装置 | |
| JPH07287051A (ja) | 論理シミュレータ用入力データ作成装置 | |
| JP2967174B2 (ja) | 設計装置 | |
| CN118551715B (zh) | 一种用于分析电路性能的电路处理方法、装置、电子设备 | |
| JP2830563B2 (ja) | 回路図作成装置 | |
| JPH05225285A (ja) | アナログ素子設計装置 | |
| JPH07244682A (ja) | アナログlsiにおけるレイアウト方法及びレイアウト装置 | |
| JPH11175580A (ja) | 集積回路設計装置 | |
| JPH0676014A (ja) | 回路シミュレーション装置 | |
| JPH0756982A (ja) | レイアウト方法及びレイアウタビリティ評価装置 | |
| JP2003006267A (ja) | シミュレーション用ネットリスト生成装置、シミュレーション装置及びシミュレーション方法 | |
| JPH03188568A (ja) | Cad/cam上の回路の検証システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20010605 |