(57)【特許請求の範囲】
【請求項１】
半導体集積回路設計用セルライブラリの各セルのレイアウト設計におけるトランジスタサイズ設計方法において、トランジスタにより構成される複数の基本ロジック素子を駆動素子と負荷素子とに割り振り、割り振った各組合せ毎に駆動素子を入力側、負荷素子を出力側として接続された一対の回路のシミュレーション用データの入力を促す段階と、入力された一対の回路毎にトランジスタサイズをパラメタとして回路動作シミュレーションを実施し一対の回路毎の少なくとも動作速度を含む特性情報をトランジスタサイズをパラメタとして得る段階と、セルライブラリの各セル毎に、セルの回路データの入力を促す段階と、得られた一対の回路毎の特性情報とセルの回路データからトランジスタサイズの最適値を求める段階とを備えることを特徴とするトランジスタサイズ設計方法。
【請求項２】
請求項１に記載のトランジスタサイズ設計方法において、トランジスタサイズの最適値を求める段階が、セルライブラリの各セル毎に、セルの回路データよりトランジスタサイズの決められた既定素子を負荷素子、その既定素子の入力に接続される素子を駆動素子として割り振り、トランジスタサイズをパラメタとして得られた一対の回路毎の特性情報に対し前記割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める段階と、次にトランジスタサイズを決めた駆動素子を負荷素子とし、セルの回路データよりこの負荷素子の入力に接続されている素子を駆動素子として割り振り、前記一対の回路毎の特性情報に対し割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める段階と、さらにトランジスタサイズを決めた駆動素子を負荷素子としてこれを繰り返し、順次セルの全てのトランジスタサイズの最適値を求める段階とを備えるトランジスタサイズの最適値を求める段階であることを特徴とするトランジスタサイズ設計方法。
【請求項３】
請求項２に記載のトランジスタサイズ設計方法において、負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める段階が、決められた負荷素子のトランジスタサイズの条件下で、駆動素子のトランジスタサイズの変化に対し、動作速度の変化の割合が所定の値に略一致する動作速度を検索し、その動作速度を含む特性情報をもってその負荷素子と駆動素子の特性情報とし、その条件を満たす駆動素子のトランジスタのサイズをもって駆動素子のトランジスタのサイズとする段階であることを特徴とするトランジスタサイズ設計方法。
【請求項４】
セルライブラリのセルの回路データがトランジスタ回路データよりなる請求項１〜３いずれか１項に記載のトランジスタサイズ設計方法において、トランジスタ回路データの入力を促す段階と、入力されたトランジスタ回路データから分割素子の縮退を行う段階と、入力されたトランジスタ回路データから基本ロジックを組み上げる段階と、入力されたトランジスタ回路データから複合ロジックを組み上げる段階とを備えることを特徴とするトランジスタサイズ設計方法。
【請求項５】
入力された回路データからラッチ回路の帰還素子を認識する段階を備えることを特徴とする請求項１〜４いずれか１項に記載のトランジスタサイズ設計方法。
【請求項６】
クロックドインバータまたはトランスファゲート付きインバータの回路に高速化または面積縮小化の情報を付加する入力を促す段階と、高速化の情報の付加されたクロックドインバータをトランスファゲート付きインバータの回路に、または面積縮小化の情報の付加されたトランスファゲート付きインバータをクロックドインバータの回路に変換する段階とを備えることを特徴とする請求項１〜５いずれか１項に記載のトランジスタサイズ設計方法。
【請求項７】
半導体集積回路設計用セルライブラリの各セルのレイアウト設計におけるトランジスタサイズ設計装置において、トランジスタにより構成される複数の基本ロジック素子を駆動素子と負荷素子とに割り振り、割り振った各組合せ毎に駆動素子を入力側、負荷素子を出力側として接続された一対の回路のシミュレーション用データを入力するシミュレーション用データ入力手段と、入力された一対の回路毎にトランジスタサイズをパラメタとして回路動作シミュレーションを実施し一対の回路毎の少なくとも動作速度を含む特性情報をトランジスタサイズをパラメタとして得る特性予測手段と、セルライブラリの各セル毎に、セルの回路データを入力する回路データ入力手段と、得られた一対の回路毎の特性情報とセルの回路データからトランジスタサイズの最適値を求めるトランジスタサイズ最適化手段とを備えることを特徴とするトランジスタサイズ設計装置。
【請求項８】
請求項７に記載のトランジスタサイズ設計装置において、トランジスタサイズ最適化手段が、セルライブラリの各セル毎に、セルの回路データよりトランジスタサイズの決められた既定素子を負荷素子、その既定素子の入力に接続される素子を駆動素子として割り振り、トランジスタサイズをパラメタとして得られた一対の回路毎の特性情報に対し前記割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める工程と、次にトランジスタサイズを決めた駆動素子を負荷素子とし、セルの回路データよりこの負荷素子の入力に接続されている素子を駆動素子として割り振り、前記一対の回路毎の特性情報に対し割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める工程と、さらにトランジスタサイズを決めた駆動素子を負荷素子としてこれを繰り返し、順次セルの全てのトランジスタサイズの最適値を求める工程とを備えるトランジスタサイズ最適化手段であることを特徴とするトランジスタサイズ設計装置。
【請求項９】
請求項８に記載のトランジスタサイズ設計装置において、負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める工程が、決められた負荷素子のトランジスタサイズの条件下で、駆動素子のトランジスタサイズの変化に対し、動作速度の変化の割合が所定の値に略一致する動作速度を検索し、その動作速度を含む特性情報をもってその負荷素子と駆動素子の特性情報とし、その条件を満たす駆動素子のトランジスタのサイズをもって駆動素子のトランジスタのサイズとする工程であることを特徴とするトランジスタサイズ設計装置。
【請求項１０】
セルライブラリのセルの回路データがトランジスタ回路データよりなる請求項７〜９いずれか１項に記載のトランジスタサイズ設計装置において、トランジスタ回路データを入力する回路データ入力手段と、入力されたトランジスタ回路データから分割素子の縮退を行う分割素子縮退手段と、入力されたトランジスタ回路データから基本ロジックを組み上げる基本ロジック組み上げ手段と、入力されたトランジスタ回路データから複合ロジックを組み上げる複合ロジック組み上げ手段とを備えることを特徴とするトランジスタサイズ設計装置。
【請求項１１】
入力された回路データからラッチ回路の帰還素子を認識する帰還素子認識手段を備えることを特徴とする請求項７〜１０記載のトランジスタサイズ設計装置。
【請求項１２】
クロックドインバータまたはトランスファゲート付きインバータの回路に高速化または面積縮小化の情報を付加する入力をする速度情報入力手段と、高速化の情報の付加されたクロックドインバータをトランスファゲート付きインバータの回路に、または面積縮小化の情報の付加されたトランスファゲート付きインバータをクロックドインバータの回路に変換する速度変換手段とを備えることを特徴とする請求項７〜１１いずれか１項に記載のトランジスタサイズ設計装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の設計用セルライブラリの各セルのレイアウト設計でトランジスタサイズを最適で設計するトランジスタサイズ設計方法及びトランジスタサイズ設計装置に関するものである。
【０００２】
【従来の技術】
電子製品は常に新しい商品が市場から求められ、そのため新しい機能を持つ半導体集積回路が開発・設計されている。新しい機能を持つ半導体集積回路を用いた商品の開発、製造は商品の設計から完成まで膨大な期間を要し、このため新商品を適切な時期に市場に提供する事が年々困難になっている。就中半導体集積回路の設計、製造に膨大な期間を要する。このためこの設計を短縮する工夫として従来よりコンピュータによるセルライブラリ方式の設計手法が用いられ、広く採用されている。これは汎用性のあるロジック機能毎に回路（結線情報）や半導体集積回路のパターンをセルとしてデータ化し、対象とする全てのロジック機能の各々のセルデータをセルライブラリとして予め作成しておき、これを配置、配線する事で新商品に利用する半導体集積回路の回路やパターンの設計をするものである。これは新たに回路を設計する工程や、高密度のパターンを工夫する工程等を省ける利点があるが、さらに回路特性、回路動作の保証されたパターンを利用できることが大きな利点である。すなわち、半導体集積回路の設計は特に開発期間がかかることから、設計途中で、半導体集積回路の使用条件やウェハープロセスの製造条件から得られる製造パラメータ（プロセスパラメータ）を利用してコンピュータによるシミュレーションを実施し、製造する前に回路動作や特性をチェックすることで設計・製造のやり直しを防ぐことが一般に行われている。このシミュレーションは回路の各入力ノードの電圧を時間変化し、トランジスタ素子の電圧電流式（特性式）、などにより、各出力ノードや未知ノードの電圧変化、消費電力変化等をコンピュータにより算出するものである。しかし、これは半導体集積回路の規模が膨大になるにつれ、長時間を要し、またデータによっては実行が不可能な場合もある。このシミュレーションが不要であることが上記設計手法の大きな利点の一つである。
【０００３】
近年、多様な新商品の開発やさらなる商品の機能向上などから、セルライブラリ自体の新規設計や修正を行うことが、ますます増加の傾向にある。この場合は、特性保証のためコンピュータによるシミュレーションを各セル毎に一つ一つ実施しなければならない。図８にこの工程を示した。すなわち、セルライブラリの各セル毎にセルを構成する全ての素子の結線情報である全ての素子の回路データ（ｓ１）を用意し、トランジスタサイズ決定手段（ｓ２）で全ての素子の仮のサイズを決め、全てのトランジスタサイズ情報（ｓ３）を得る。次に、回路特性判断手段（ｓ４）で対象セルの回路データを用いてセルの全てのトランジスタに対し、シミュレーションし動作を確認する。動作が不具合であれば、再度トランジスタサイズ決定手段（ｓ２）でトランジスタサイズを設定し直し、トランジスタサイズ情報（ｓ３）を変更し、シミュレーション（ｓ４）を繰り返す。これを各セル毎に実施しなければならない。この結果、半導体集積回路（セルライブラリ）の設計時間が、しばしば膨大なものになってしまった。
【０００４】
【発明が解決しようとする課題】
本発明は以上のような問題点に着目してなされたもので、セルライブラリ用セル設計時に全ての素子の回路データでのシミュレーションが不要な、設計期間を大幅に短縮することができるトランジスタサイズ設計方法及びトランジスタサイズ設計装置を提供することを課題とする。
【０００５】
【課題を解決するための手段】
本発明はかかる課題を解決するものであり、請求項１の発明は、半導体集積回路設計用セルライブラリの各セルのレイアウト設計におけるトランジスタサイズ設計方法において、トランジスタにより構成される複数の基本ロジック素子を駆動素子と負荷素子とに割り振り、割り振った各組合せ毎に駆動素子を入力側、負荷素子を出力側として接続された一対の回路のシミュレーション用データの入力を促す段階と、入力された一対の回路毎にトランジスタサイズをパラメタとして回路動作シミュレーションを実施し一対の回路毎の少なくとも動作速度を含む特性情報をトランジスタサイズをパラメタとして得る段階と、セルライブラリの各セル毎に、セルの回路データの入力を促す段階と、得られた一対の回路毎の特性情報とセルの回路データからトランジスタサイズの最適値を求める段階とを備えることを特徴とするトランジスタサイズ設計方法としたものである。
【０００６】
すなわち本発明では、半導体集積回路設計用セルライブラリの各セルのレイアウト設計におけるトランジスタサイズ設計方法において、トランジスタにより構成される複数の基本ロジック素子を駆動素子と負荷素子とに割り振り、割り振った各組合せ毎に駆動素子を入力側、負荷素子を出力側として接続された一対の回路のシミュレーションを、一対の回路毎にトランジスタサイズをパラメタとして実施する。そして得られた一対の回路毎の少なくとも動作速度を含む特性情報を、セルライブラリの各セル毎に、得られた一対の回路毎の特性情報とセルの回路データからトランジスタサイズの最適値を求めるもので、２つの素子の回路にシミュレーションを実施した結果を用いたトランジスタサイズ設計方法であるので、セルの全ての素子の回路データでのシミュレーションが不要で、トランジスタサイズの最適なものを得ることが出来る。
【０００７】
本発明の請求項２の発明は、請求項１に記載のトランジスタサイズ設計方法において、トランジスタサイズの最適値を求める段階が、セルライブラリの各セル毎に、セルの回路データよりトランジスタサイズの決められた既定素子を負荷素子、その既定素子の入力に接続される素子を駆動素子として割り振り、トランジスタサイズをパラメタとして得られた一対の回路毎の特性情報に対し前記割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める段階と、次にトランジスタサイズを決めた駆動素子を負荷素子とし、セルの回路データよりこの負荷素子の入力に接続されている素子を駆動素子として割り振り、前記一対の回路毎の特性情報に対し割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める段階と、さらにトランジスタサイズを決めた駆動素子を負荷素子としてこれを繰り返し、順次セルの全てのトランジスタサイズの最適値を求める段階とを備えるトランジスタサイズの最適値を求める段階であることを特徴とするトランジスタサイズ設計方法としたものである。
【０００８】
すなわち本発明のトランジスタサイズ設計方法において、トランジスタサイズの最適値を求める段階は、まずセルライブラリの各セル毎に、セルの回路データよりトランジスタサイズの決められた既定素子を負荷素子、その既定素子の入力に接続される素子を駆動素子として割り振る。つぎにトランジスタサイズをパラメタとして得られた一対の回路毎の特性情報に対し、前記割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し、駆動素子のトランジスタのサイズを決める。次にトランジスタサイズを決めた駆動素子を負荷素子とし、セルの回路データよりこの負荷素子の入力に接続されている素子を駆動素子として割り振り、前記一対の回路毎の特性情報に対し割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める。以下、さらにトランジスタサイズを決めた駆動素子を負荷素子としてこれを繰り返し、順次セルの全てのトランジスタサイズの最適値を求める段階とを備えるトランジスタサイズの最適値を求める段階である。したがって、セルライブラリの全てのトランジスタサイズを、簡単な２つの素子をシミュレーションして得られた特性情報から決められ、全ての素子の回路データでのシミュレーションが不要で、高精度で短時間で最適のトランジスタサイズが得られるトランジスタサイズ設計方法である。
【０００９】
本発明の請求項３の発明は、請求項２に記載のトランジスタサイズ設計方法において、負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める段階が、決められた負荷素子のトランジスタサイズの条件下で、駆動素子のトランジスタサイズの変化に対し、動作速度の変化の割合が所定の値に略一致する動作速度を検索し、その動作速度を含む特性情報をもってその負荷素子と駆動素子の特性情報とし、その条件を満たす駆動素子のトランジスタのサイズをもって駆動素子のトランジスタのサイズとする段階であることを特徴とするトランジスタサイズ設計方法としたものである。
【００１０】
本発明の請求項４の発明は、セルライブラリのセルの回路データがトランジスタ回路データよりなる請求項１〜３いずれか１項に記載のトランジスタサイズ設計方法において、トランジスタ回路データの入力を促す段階と、入力されたトランジスタ回路データから分割素子の縮退を行う段階と、入力されたトランジスタ回路データから基本ロジックを組み上げる段階と、入力されたトランジスタ回路データから複合ロジックを組み上げる段階とを備えることを特徴とするトランジスタサイズ設計方法としたものである。
【００１１】
本発明の請求項５の発明は、入力された回路データからラッチ回路の帰還素子を認識する段階を備えることを特徴とする請求項１〜４いずれか１項に記載のトランジスタサイズ設計方法としたものである。
【００１２】
本発明の請求項６の発明は、クロックドインバータまたはトランスファゲート付きインバータの回路に高速化または面積縮小化の情報を付加する入力を促す段階と、高速化の情報の付加されたクロックドインバータをトランスファゲート付きインバータの回路に、または面積縮小化の情報の付加されたトランスファゲート付きインバータをクロックドインバータの回路に変換する段階とを備えることを特徴とする請求項１〜５いずれか１項に記載のトランジスタサイズ設計方法。としたものである。
【００１３】
本発明の請求項７の発明は、半導体集積回路設計用セルライブラリの各セルのレイアウト設計におけるトランジスタサイズ設計装置において、トランジスタにより構成される複数の基本ロジック素子を駆動素子と負荷素子とに割り振り、割り振った各組合せ毎に駆動素子を入力側、負荷素子を出力側として接続された一対の回路のシミュレーション用データを入力するシミュレーション用データ入力手段と、入力された一対の回路毎にトランジスタサイズをパラメタとして回路動作シミュレーションを実施し一対の回路毎の少なくとも動作速度を含む特性情報をトランジスタサイズをパラメタとして得る特性予測手段と、セルライブラリの各セル毎に、セルの回路データを入力する回路データ入力手段と、得られた一対の回路毎の特性情報とセルの回路データからトランジスタサイズの最適値を求めるトランジスタサイズ最適化手段とを備えることを特徴とするトランジスタサイズ設計装置としたものである。
【００１４】
本発明の請求項８の発明は、請求項７に記載のトランジスタサイズ設計装置において、トランジスタサイズ最適化手段が、セルライブラリの各セル毎に、セルの回路データよりトランジスタサイズの決められた既定素子を負荷素子、その既定素子の入力に接続される素子を駆動素子として割り振り、トランジスタサイズをパラメタとして得られた一対の回路毎の特性情報に対し前記割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める工程と、次にトランジスタサイズを決めた駆動素子を負荷素子とし、セルの回路データよりこの負荷素子の入力に接続されている素子を駆動素子として割り振り、前記一対の回路毎の特性情報に対し割り振った負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める工程と、さらにトランジスタサイズを決めた駆動素子を負荷素子としてこれを繰り返し、順次セルの全てのトランジスタサイズの最適値を求める工程とを備えるトランジスタサイズ最適化手段であることを特徴とするトランジスタサイズ設計装置としたものである。
【００１５】
本発明の請求項９の発明は、請求項８に記載のトランジスタサイズ設計装置において、負荷素子と駆動素子の特性情報が略一致する特性情報を検索し駆動素子のトランジスタのサイズを決める工程が、決められた負荷素子のトランジスタサイズの条件下で、駆動素子のトランジスタサイズの変化に対し、動作速度の変化の割合が所定の値に略一致する動作速度を検索し、その動作速度を含む特性情報をもってその負荷素子と駆動素子の特性情報とし、その条件を満たす駆動素子のトランジスタのサイズをもって駆動素子のトランジスタのサイズとする工程であることを特徴とするトランジスタサイズ設計装置としたものである。
【００１６】
本発明の請求項１０の発明は、セルライブラリのセルの回路データがトランジスタ回路データよりなる請求項７〜９いずれか１項に記載のトランジスタサイズ設計装置において、トランジスタ回路データを入力する回路データ入力手段と、入力されたトランジスタ回路データから分割素子の縮退を行う分割素子縮退手段と、入力されたトランジスタ回路データから基本ロジックを組み上げる基本ロジック組み上げ手段と、入力されたトランジスタ回路データから複合ロジックを組み上げる複合ロジック組み上げ手段とを備えることを特徴とするトランジスタサイズ設計装置としたものである。
【００１７】
本発明の請求項１１の発明は、入力された回路データからラッチ回路の帰還素子を認識する帰還素子認識手段を備えることを特徴とする請求項７〜１０記載のトランジスタサイズ設計装置としたものである。
【００１８】
本発明の請求項１２の発明は、クロックドインバータまたはトランスファゲート付きインバータの回路に高速化または面積縮小化の情報を付加する入力をする速度情報入力手段と、高速化の情報の付加されたクロックドインバータをトランスファゲート付きインバータの回路に、または面積縮小化の情報の付加されたトランスファゲート付きインバータをクロックドインバータの回路に変換する速度変換手段とを備えることを特徴とする請求項７〜１１いずれか１項に記載のトランジスタサイズ設計装置としたものである。
【００１９】
【発明の実施の形態】
本発明のトランジスタサイズ設計方法及びトランジスタサイズ設計装置を一実施形態に基づいて以下に詳細に説明する。本発明のトランジスタサイズ最適化方法及びトランジスタサイズ設計装置は、２つの基本ロジックゲートからなる各種回路を、ゲートを構成するトランジスタのサイズをパラメータとしてシミュレーションし、その特性をもとめ、リストにしておく。次にライブラリの各セル毎に、セルを構成する回路の素子を２つの基本ロジックゲートからなる駆動・負荷回路に分割し、この駆動・負荷回路が求める特性が、上記特性のリストから略一致する特性を検索し、上記特性のリストからその特性に対応したトランジスタサイズをもって、駆動・負荷回路を構成するトランジスタサイズを決定し、全ての素子の回路データでのシミュレーションを不必要とするトランジスタサイズ設計方法及びトランジスタサイズ設計装置である。また、以上の方法及び装置は通常単数もしくは複数のコンピュータを利用して実施、動作させる。
【００２０】
図１は本発明の一実施形態例のフローを示した図である。
まず、２つの基本ロジック素子よりなる基本回路の特性情報をシミュレーションにより求める。
シミュレーションに必要な半導体集積回路のシミュレーションパラメータ（ｓ６）を用意する。シミュレーションパラメータとしては、使用条件として温度や湿度などの対象となる半導体トランジスタの外部環境条件、また製造するときの条件から決まるウェハープロセスパラメータや動作の電源電圧などシミュレーションに必要なパラメータを用意する。シミュレーションプログラムとしては、例えば市販の「ＳＰＩＣＥ」（ＡＶＡＮＴ社製）などを利用できる。次に半導体トランジスタで構成できる基本ロジックゲート（ＩＮＶ，ＮＡＮＤ，ＮＯＲ，ＣｏｍｐｌｅｘＮＡＮＤ／ＮＯＲ，ＣＬＫＩＮＶ，ＴＦ等）をそれぞれ負荷素子ロジックタイプ、駆動素子ロジックタイプと割り振ったテーブルを用意する。図２のテーブル１は、この駆動素子と負荷素子を割り振りし、組み合わせた例である。さらに割り振った負荷素子ロジックタイプ、駆動素子ロジックタイプの組合せに対して、それぞれのトランジスタサイズの上限と下限、並びにサイズ変化のステップを記入したテーブルを用意（ｓ５）する。図３のテーブル２は、図２に示した組み合わせに対し、駆動素子、負荷素子のＰｃｈ（Ｐチャンネル）トランジスタ、Ｎｃｈ（Ｎチャンネル）トランジスタのサイズの範囲、サイズ変化のステップ量を表で表した例である。
【００２１】
次にこれらの用意されたシミュレーションパラメタ及びテーブル等のシミュレーション用データに対して、特性予測手段（ｓ７）でシミュレーションを実施する。すなわち、テーブル２の各一対の負荷素子ロジックタイプ、駆動素子ロジックタイプの回路（駆動素子ロジックタイプを入力側とし、負荷素子ロジックタイプを出力側とする）に対し、シミュレーションパラメタ（ｓ６）に従って、トランジスタサイズのテーブル２（図３）からサイズを変化し、各サイズに対してシミュレーションを実施する。
【００２２】
次に特性情報出力手段（ｓ８）により、これらのシミュレーションの結果から得られた動作速度、消費電力などの特性情報をテーブルに記載する。図４のテーブル３はこのテーブルの例である。
【００２３】
半導体集積回路の設計用セルライブラリのレイアウト設計するセルの回路データ１と特性情報のテーブルを用い、トランジスタサイズを決定する。
まずセルの回路データ（ｓ１）を用意する。回路データ（ｓ１）は論理回路データを対象とするが、トランジスタ回路でも良い。その場合は、論理回路データへ変換する。
【００２４】
次にトランジスタサイズ最適化手段（ｓ９）により、用意された回路データ（ｓ１）と得られた特性情報（ｓ８）からセルの設計に採用するトランジスタの最適なサイズを得る。その手段として、まずセルライブラリの回路データよりトランジスタサイズの決められた既定素子を負荷素子、その既定素子の入力に接続される素子を駆動素子として一対の回路を決める。既定素子としては、例えば最終出力素子などを選ぶことが出来る。この素子については、各トランジスタのサイズは既に決められている。次に特性情報の記載されている図４のテーブル３より前記の決められた特性情報と略一致する特性情報を検索し、該当するデータから駆動素子のトランジスタのサイズを決める。すなわち、負荷素子のトランジスタサイズが決まっているので、この負荷素子の必要とされる動作速度からこれを決め、テーブル３より駆動素子のサイズを検索し、決定する。また必要とされる動作速度を求める方法として、例えばこの一対の回路の動作速度を図４のテーブル３から、駆動素子のサイズと動作速度の関係から求めることも出来る。すなわち、テーブル３から、駆動素子のサイズの変化に対する動作速度の変化の割合（変化率）が、所定の値になる条件を満たす動作速度およびサイズを検索し、サイズを決定する。このサイズに対する速度の変化率で決める方法では、変化率の値は、例えば動作速度を優先し回路面積を最大効率にする場合は、０．５、消費電力を低くすること優先し回路面積を最大効率にする場合は、０．７とするなどして、特性と回路面積の最大効率に応じた変化率を設定し、サイズを決定することになる。
【００２５】
次に今度はトランジスタサイズを決めた駆動素子を負荷素子とし、セルライブラリの回路データよりこの負荷素子の入力に接続されている素子を駆動素子として一対の回路を決める。同様にして負荷素子のトランジスタサイズと特性情報より該当するデータを検索して駆動素子のトランジスタのサイズを決め、トランジスタサイズを決める。次に駆動素子を負荷素子としてこれを繰り返し、順次セルの全てのトランジスタサイズの最適値を求める。
なお、負荷素子が複数ある場合は、それぞれのトランジスタサイズの和をもとめ、最大の値となる素子のロジックをその負荷素子のロジックタイプとし、トランジスタサイズとしては、全てのトランジスタの和とする。なおこの場合、例えばトランジスタが縦積みになっているものは、サイズを縦積みの段数で割ってサイズとする等の換算をする。
【００２６】
次にトランジスタサイズ情報出力手段（ｓ１０）によりこれらの全てのトランジスタサイズを出力する。
以上の処理を全てのセルライブラリのセルに実行することにより全てのセルのトランジスタサイズが求められる。
【００２７】
回路データ（ｓ１）がトランジスタ回路の場合は、論理回路データへ変換する。これは次のような方法でおこなう。
図５は本発明のトランジスタ回路データから論理回路データへ変換する一実施例のフローチャートである。
まずトランジスタ回路データを用意する（ｓ５１）。
【００２８】
用意されたトランジスタ回路データから分割素子の縮退を行う（ｓ５２）。これは通常の縮退であって、例えば複数のトランジスタのゲート、ソース、ドレインがそれぞれ同じノードに接続されている場合は、それぞれのトランジスタサイズの和を算出し一つのトランジスタに置き換える。
【００２９】
用意されたトランジスタ回路データから基本ロジックを組み上げる（ｓ５３）。すなわち、ＩＮＶ、ＮＯＲ、ＮＡＮＤ等トランジスタ回路で組み立てられる基本論理を論理回路に変換する。これは通常の手法で良いが、図６に２ＮＯＲ回路での例を示す。図で、各トランジスタＴｒ１、Ｔｒ２はＰチャンネルトランジスタ（ＰｃｈＴｒ）、Ｔｒ３、Ｔｒ４はＮチャンネルトランジスタ（ＮｃｈＴｒ）である。トランジスタ回路データとしては、各トランジスタに対し、素子番号、ゲート、ソース、ドレインの接続されているノード、トランジスタのタイプ、等が記録されている。
【００３０】
この回路から論理を解読する方法として、まずＰｃｈＴｒのドレインとＮｃｈＴｒのドレインが接続されているノードを検索する。図ではノード２が相当し、これが出力端子Ｘである。次にノード２に接続されているＰｃｈＴｒを検索する（Ｔｒ２）。次にこの検索されたＴｒ２のソース（ノード１）へ接続されているＰｃｈＴｒを検索する（Ｔｒ１）。ノード１へは他のＴｒが接続されていないこと、また検索されたＴｒ１のソースが電源へ接続されていること、を確認しノード２に戻る。ノード２で検索をして他にＰｃｈＴｒは接続されていないことを確認し、ＰｃｈＴｒの検索はうち切る。次にノード２に接続されているＮｃｈＴｒを検索する（Ｔｒ３）。次にこの検索されたＴｒ３のソースが接地に接続されていることを確認し、ノード２にもどり、ノード２に接続されているＮｃｈＴｒを再び検索する（Ｔｒ４）。次に検索されたこのＴｒ４のソースが接地に接続されていることを確認し、ノード２に戻り、さらに検索し、接続されているＮｃｈＴｒは無いことを確認する。次にＴｒ１のゲートがＴｒ３ゲートに、Ｔｒ２のゲートがＴｒ４のゲートに接続され、それぞれ入力がＡ、Ｂであることを確認する。このようにしてこれらのトランジスタＴｒ１、Ｔｒ２、Ｔｒ３、Ｔｒ４が入力端子Ａ、Ｂ、出力端子Ｘの２ＮＯＲ（図２ｂに示した）であることを認識し、変換する。
【００３１】
入力されたトランジスタ回路データから複合ロジックを組み上げる（ｓ５４）。基本的には上記のように通常の方法で行うが、例えば特開２００１−１３４６３０号公報に開示された方法等を利用できる。
以上のようにしてトランジスタ回路データから論理回路データへ変換し、これを上記のような方法でトランジスタサイズを算出（ｓ５５）することが出来る。またこのようなトランジスタ回路データから論理回路データへ変換する手段を回路設計装置としても利用できる。
【００３２】
回路データに帰還素子のあるラッチ回路がある場合、これを認識することもできる。図７はこの回路の例である。回路データとして、素子番号、素子のタイプ、入力端子の接続ノード、出力端子の接続ノード等が与えられる。図でＩｎｖ１、Ｉｎｖ２はインバータ、Ｔｆ１、Ｔｆ２はトランスファゲートを示す。Ｔｆ１のＰｃｈＴｒのゲートにはクロックφが、ＮｃｈＴｒのゲートにはＮＯＴ（φ）が入力している。Ｔｆ２のゲートにはＴｆ１と逆相のクロックが入力している。この場合は、Ｔｆ２が帰還素子である。これを認識する方法は、まず回路データからトランスファー素子を検索し、その出力が他のトランスファー素子（Ｔｆ２）の入力に接続され（この例ではノード１）、かつ他のトランスファー素子（Ｔｆ２）のクロックが逆相であるトランスファー素子（Ｔｆ１）を検索する。次に両トランスファー素子の入出力の接続されている端子（ノード１）が複数の論理素子（Ｉｎｖ１、Ｉｎｖ２）を経由し、トランスファー素子の他端（ノード２）へ接続されているトランスファ素子（Ｔｆ２）を検索し、これを帰還素子と認識する。
【００３３】
帰還素子に、他の素子に比べ、特別な電気特性を与えるためにそのトランジスタサイズを指定して決める必要がある場合、以上のようにしてこの素子を認識し、構成するトランジスタサイズを、予め決められた値にしておき、他の素子のトランジスタサイズを決めることが出来る。この場合は、特殊な素子に対してのサイズを指定できる他に、サイズを決める素子の数を減らせるので、サイズを決定する工程の効率を上げることが出来る。またこのような帰還素子のあるラッチ回路を認識する手段を回路設計装置としても利用できる。
【００３４】
クロック素子については、高速化、低消費電力化に従って素子を変換し適切なトランジスタサイズを決めることができる。そのために、クロックドインバータまたはトランスファゲート付きインバータの回路に、高速化または面積縮小化の情報を付加する。高速化の情報が付加されている場合は、クロックドインバータをトランスファゲート付きインバータの回路に変換する。また、面積縮小化の情報が付加されている場合は、トランスファゲート付きインバータをクロックドインバータの回路に変換する。変換された回路データに対して上記トランジスタサイズ設計方法によりトランジスタサイズを決めることが出来るので、用途に応じてクロック素子のトランジスタサイズを決められ、さらに上記の方法で全てのトランジスタのサイズを決めることが出来る。またこのようなクロックドインバータとトランスファゲート付きインバータとを変換する手段を回路設計装置としても利用できる。
【００３５】
本発明では、トランジスタ最適手段を負荷素子のサイズを決めてから駆動素子のサイズを決める手法としている。しかしこれとは逆に、駆動素子のサイズを決めてから負荷素子のサイズを決めても良い。この場合の決め方の例を、以下に示す。
本発明と同様にまず、トランジスタサイズ最適化手段（ｓ９）により、用意された回路データ（ｓ１）と得られた特性情報（ｓ８）からセルの設計に採用するトランジスタの最適なサイズを得る。この手段として、まずセルライブラリの回路データよりトランジスタサイズの決められた既定素子を駆動素子、その既定素子の入力に接続される素子を負荷素子として一対の回路を決める。既定素子としては、例えば回路の最初の入力素子などを選ぶことが出来る。この素子については、各トランジスタのサイズは既に決められている。次に特性情報の記載されている図４のテーブル３より前記の決められた特性情報と略一致する特性情報を検索し、該当するデータから負荷素子のトランジスタのサイズを決める。すなわち、駆動素子のトランジスタサイズが決まっているので、この駆動素子の必要とされる動作速度からこれを決め、テーブル３より負荷素子のサイズを検索し、決定する。また必要とされる動作速度を求める方法としては本発明の方法と同様でよい。
【００３６】
次に今度はトランジスタサイズを決めた負荷素子を駆動素子とし、セルライブラリの回路データよりこの駆動素子の入力に接続されている素子を負荷素子として一対の回路を決める。同様にして駆動素子と特性情報より該当するデータを検索して負荷素子のトランジスタのサイズを決め、トランジスタサイズを決める。次に負荷素子を駆動素子としてこれを繰り返し、順次セルの全てのトランジスタサイズの最適値を求める。
【００３７】
【発明の効果】
本発明のトランジスタサイズ設計方法及びトランジスタサイズ設計装置は、以上のような構成、作用をもつので、セルライブラリ用セル設計時に全ての素子の回路データでのシミュレーションが不要な、設計期間を大幅に短縮することができるトランジスタサイズ設計方法及びトランジスタサイズ設計装置とすることができる。
【図面の簡単な説明】
【図１】本発明のトランジスタサイズ設計方法及びトランジスタサイズ設計装置の一実施例を示すフローチャート図である。
【図２】本発明のトランジスタサイズ設計方法及びトランジスタサイズ設計装置に係る基本ロジックゲートの組み合わせの一実施例を示す説明図である。
【図３】本発明のトランジスタサイズ設計方法及びトランジスタサイズ設計装置に係る基本ロジックゲートの組み合わせのシミュレーション条件の一実施例を示す説明図である。
【図４】本発明のトランジスタサイズ設計方法及びトランジスタサイズ設計装置に係る基本ロジックゲートの組み合わせのシミュレーション結果の一実施例を示す説明図である。
【図５】本発明のトランジスタサイズ設計方法及びトランジスタサイズ設計装置に係るトランジスタ回路データを論理回路データに変換する一実施例のフローチャートである。
【図６】本発明のトランジスタサイズ設計方法及びトランジスタサイズ設計装置に係るトランジスタ回路データを論理回路データに変換する一実施例の回路図である。
【図７】本発明のトランジスタサイズ設計方法及びトランジスタサイズ設計装置に係る帰還素子の接続された一実施例のラッチ回路図である。
【図８】従来のセルのトランジスタサイズ設計方法を示すフローチャートである。
【符号の説明】
ｓ１・・・・回路データ入力
ｓ２・・・・トランジスタサイズ決定手段
ｓ３・・・・トランジスタサイズ情報
ｓ４・・・・回路特性判断
ｓ５・・・・トランジスタサイズテーブル
ｓ６・・・・シミュレーションパラメータ
ｓ７・・・・特性予測手段
ｓ８・・・・特製情報出力手段
ｓ９・・・・トランジスタサイズ最適化手段
ｓ１０・・・・トランジスタサイズ情報出力手段
ｓ５１・・・・回路データ入力手段
ｓ５２・・・・分割素子の縮退手段
ｓ５３・・・・基本ロジック組み上げ手段
ｓ５４・・・・複合ロジック組み上げ手段
ｓ５５・・・・ゲートサイズ決定手段
【図１】
0004894106.tif 000002
【図２】
0004894106.tif 000003
【図３】
0004894106.tif 000004
【図４】
0004894106.tif 000005
【図５】
0004894106.tif 000006
【図６】
0004894106.tif 000007
【図７】
0004894106.tif 000008
【図８】
0004894106.tif 000009