(57)【要約】【課題】異なる電源電圧で動作する複数の回路が混在する半導体集積回路の動作シミュレーションや、多様な電源電圧における半導体集積回路の動作シミュレーションを行うことができる回路動作シミュレーションシステムを提供する。【解決手段】このシステムは、複数種類の論理ブロックの遅延時間を電源電圧の関数として求めるための複数の係数を含むライブラリと、回路構成情報と電源電圧情報とを入力するための入力手段と、回路の接続データを作成する接続データ作成手段２００と、回路の接続データ及び電源電圧情報とライブラリに含まれている複数の係数とを用いて、遅延時間を電源電圧の関数として表す遅延時間関数に基づいて、回路を構成する複数の論理ブロックの遅延時間を算出する遅延時間算出手段２０１と、遅延時間に基づいて回路の動作シミュレーションを行う動作シミュレーション手段２０２とを具備する。【選択図】  図２
2004362192.tif 000002
【特許請求の範囲】
【請求項１】
回路の動作に関するシミュレーションを行うシステムであって、
複数種類の論理ブロックの遅延時間を少なくとも電源電圧の関数として求めるために用いられる複数の係数を含むライブラリを記録するための記録手段と、
前記回路の構成に関する回路構成情報と、前記回路に供給される電源電圧に関する電源電圧情報とを入力するために用いられる入力手段と、
前記入力手段を用いて入力された回路構成情報に基づいて、前記回路の接続データを作成する接続データ作成手段と、
前記回路の接続データ及び電源電圧情報と前記ライブラリに含まれている複数の係数とを用いて、遅延時間を少なくとも電源電圧の関数として表す遅延時間関数に基づいて、前記回路を構成する複数の論理ブロックの遅延時間を算出する遅延時間算出手段と、
前記遅延時間算出手段によって算出された遅延時間に基づいて、前記回路の動作シミュレーションを行う動作シミュレーション手段と、
を具備する回路動作シミュレーションシステム。
【請求項２】
複数の異なる電源電圧でそれぞれ動作する複数の回路ブロックが前記回路に含まれている場合に、前記遅延時間算出手段が、各回路ブロックを構成する複数の論理ブロックの遅延時間をそれぞれの回路ブロックの電源電圧に応じて算出する、請求項１記載の回路動作シミュレーションシステム。
【請求項３】
回路の動作に関するシミュレーションを行うシステムであって、
複数種類の論理ブロックの遅延時間を少なくとも電源電圧に対応して格納する遅延時間テーブルを含むライブラリを記録するための記録手段と、
前記回路の構成に関する回路構成情報と、前記回路に供給される電源電圧に関する電源電圧情報とを入力するために用いられる入力手段と、
前記入力手段を用いて入力された回路構成情報に基づいて、前記回路の接続データを作成する接続データ作成手段と、
前記回路の接続データ及び電源電圧情報を用いて、前記回路を構成する複数の論理ブロックの遅延時間を前記ライブラリに含まれている遅延時間テーブルから読み出し、必要に応じて補間を行う遅延時間読出し手段と、
前記遅延時間読出し手段によって読み出された遅延時間に基づいて、前記回路の動作シミュレーションを行う動作シミュレーション手段と、
を具備する回路動作シミュレーションシステム。
【請求項４】
複数の異なる電源電圧でそれぞれ動作する複数の回路ブロックが前記回路に含まれている場合に、前記遅延時間読出し手段が、各回路ブロックを構成する複数の論理ブロックの遅延時間をそれぞれの回路ブロックの電源電圧に応じて遅延時間テーブルから読み出す、請求項３記載の回路動作シミュレーションシステム。
【請求項５】
前記動作シミュレーション手段が、前記回路に含まれている論理回路のタイミング解析を行い、又は、前記回路に含まれているリングオシレータの発振周波数を求める、請求項１〜４のいずれか１項記載の回路動作シミュレーションシステム。
【請求項６】
複数種類の論理ブロックの遅延時間を少なくとも電源電圧の関数として求めるために用いられる複数の係数を含むライブラリを用いて回路の動作に関するシミュレーションを行う方法であって、
前記回路の構成に関する回路構成情報と、前記回路に供給される電源電圧に関する電源電圧情報とを入力するステップと、
入力された回路構成情報に基づいて、前記回路の接続データを作成するステップと、
前記回路の接続データ及び電源電圧情報と前記ライブラリに含まれている複数の係数とを用いて、遅延時間を少なくとも電源電圧の関数として表す遅延時間関数に基づいて、前記回路を構成する複数の論理ブロックの遅延時間を算出するステップと、
算出された遅延時間に基づいて、前記回路の動作シミュレーションを行うステップと、
を具備する回路動作シミュレーション方法。
【請求項７】
複数種類の論理ブロックの遅延時間を少なくとも電源電圧に対応して格納する遅延時間テーブルを含むライブラリを用いて回路の動作に関するシミュレーションを行う方法であって、
前記回路の構成に関する回路構成情報と、前記回路に供給される電源電圧に関する電源電圧情報とを入力するステップと、
入力された回路構成情報に基づいて、前記回路の接続データを作成するステップと、
前記回路の接続データ及び電源電圧情報を用いて、前記回路を構成する複数の論理ブロックの遅延時間を前記ライブラリに含まれている遅延時間テーブルから読み出し、必要に応じて補間を行うステップと、
読み出された遅延時間に基づいて、前記回路の動作シミュレーションを行うステップと、
を具備する回路動作シミュレーション方法。
【請求項８】
回路の動作に関するシミュレーションを行うシステムにおいて用いられるライブラリであって、
複数種類の論理ブロックの動作に関する情報と、
前記複数種類の論理ブロックの遅延時間を少なくとも電源電圧の関数として求めるために用いられる複数の係数と、
を具備するライブラリ。
【請求項９】
前記関数が、変数として、電源電圧の他に、負荷容量、及び、入力信号の立上がり時間を含む関数であり、
前記複数の係数が、電源電圧に関する項の係数の他に、負荷容量に関する項の係数、及び、入力信号の立上がり時間に関する項の係数を有する、請求項８記載のライブラリ。
【請求項１０】
回路の動作に関するシミュレーションを行うシステムにおいて用いられるライブラリであって、
複数種類の論理ブロックの動作に関する情報と、
前記複数種類の論理ブロックの遅延時間を少なくとも電源電圧に対応して格納する遅延時間テーブルと、
を具備するライブラリ。
【請求項１１】
前記遅延時間テーブルが、引数として、電源電圧の他に、負荷容量、及び、入力信号の立上がり時間が用いられるテーブルである、請求項１０記載のライブラリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＣやＬＳＩを含む半導体集積回路等の設計において使用される回路動作シミュレーションシステム及び回路動作シミュレーション方法に関し、特に、異なる電源電圧で動作する複数の回路が混在する半導体集積回路の設計において使用するのに適した回路動作シミュレーションシステム及び方法に関する。さらに、本発明は、そのような回路動作シミュレーションシステム及び方法において用いられるライブラリに関する。
【０００２】
【従来の技術】
近年、各種の電子機器の高速動作や低消費電力を実現するために、これらの電子機器において使用されるＩＣやＬＳＩ等の半導体集積回路の高集積化や低電圧化が進んでいる。また、携帯電話等のバッテリ駆動機器は益々増加しており、半導体集積回路のさらなる低消費電力化が急務である。しかし、全ての回路の動作電圧を一律に低電圧化することは、デバイス固有の特性を考慮すると、極めて困難である。
【０００３】
従って、１つのシステムにおいて、異なる電源電圧で動作する複数の半導体集積回路が混在して使用される場合がある。また、１つの半導体集積回路において、異なる電源電圧で動作する複数の回路が混在する場合もある。さらに、回路の処理能力に応じて、柔軟に電源電圧を変更する技術も重要になると考えられる。
【０００４】
しかしながら、従来の半導体集積回路用のシミュレーションシステムは、５Ｖ、３．３Ｖ、あるいは１．８Ｖ等の単一電源で半導体集積回路全体が動作することを前提としているため、電源電圧毎に複数のライブラリが個別に用意されており、異なる電源電圧で動作する複数の回路が混在する半導体集積回路の回路動作シミュレーションを行うには適していなかった。また、用意されているライブラリの種類も限られており、任意の電源電圧における回路動作のシミュレーションを行うことはできなかった。
【０００５】
関連する技術として、下記の特許文献１には、複数の電源電圧が混在した回路の論理設計において、電源電圧の設定や変更を容易にかつ誤りなく行うと共に、論理動作の情報を重複して持つことなく論理シミュレーションを行う論理設計支援装置が開示されている。
【０００６】
この論理設計支援装置においては、遅延抽出部が、階層展開部によって作成された設計回路の階層展開データと電源電圧データと電源電圧毎に用意された複数の遅延情報ライブラリとを用いて、階層展開後の遅延データを作成し、論理シミュレータ部が、この遅延データと階層展開データと各電源電圧に共通の論理動作ライブラリとを用いて、論理シミュレーションを行う。
【０００７】
しかしながら、この論理設計支援装置によれば、遅延情報ライブラリが用意されている電源電圧における論理シミュレーションしか行うことができないので、回路の処理能力に応じて柔軟に電源電圧を変更することはできない。
【０００８】
【特許文献１】
特開平９−１４７００５号公報  （第１頁、第１図）
【０００９】
【発明が解決しようとする課題】
そこで、上記の点に鑑み、本発明は、異なる電源電圧で動作する複数の回路が混在する半導体集積回路の動作シミュレーションや、多様な電源電圧における半導体集積回路の動作シミュレーションを行うことができる回路動作シミュレーションシステム及び方法を提供することを目的とする。さらに、本発明は、そのような回路動作シミュレーションシステム及び方法において用いられるライブラリを提供することを目的とする。
【００１０】
【課題を解決するための手段】
以上の課題を解決するため、本発明の第１の観点に係る回路動作シミュレーションシステムは、複数種類の論理ブロックの遅延時間を少なくとも電源電圧の関数として求めるために用いられる複数の係数を含むライブラリを記録するための記録手段と、回路の構成に関する回路構成情報と、回路に供給される電源電圧に関する電源電圧情報とを入力するために用いられる入力手段と、入力手段を用いて入力された回路構成情報に基づいて、回路の接続データを作成する接続データ作成手段と、回路の接続データ及び電源電圧情報とライブラリに含まれている複数の係数とを用いて、遅延時間を少なくとも電源電圧の関数として表す遅延時間関数に基づいて、回路を構成する複数の論理ブロックの遅延時間を算出する遅延時間算出手段と、遅延時間算出手段によって算出された遅延時間に基づいて、回路の動作シミュレーションを行う動作シミュレーション手段とを具備する。
【００１１】
ここで、複数の異なる電源電圧でそれぞれ動作する複数の回路ブロックが回路に含まれている場合には、遅延時間算出手段が、各回路ブロックを構成する複数の論理ブロックの遅延時間をそれぞれの回路ブロックの電源電圧に応じて算出するようにしても良い。
【００１２】
また、本発明の第２の観点に係る回路動作シミュレーションシステムは、複数種類の論理ブロックの遅延時間を少なくとも電源電圧に対応して格納する遅延時間テーブルを含むライブラリを記録するための記録手段と、回路の構成に関する回路構成情報と、回路に供給される電源電圧に関する電源電圧情報とを入力するために用いられる入力手段と、入力手段を用いて入力された回路構成情報に基づいて、回路の接続データを作成する接続データ作成手段と、回路の接続データ及び電源電圧情報を用いて、回路を構成する複数の論理ブロックの遅延時間をライブラリに含まれている遅延時間テーブルから読み出し、必要に応じて補間を行う遅延時間読出し手段と、遅延時間読出し手段によって読み出された遅延時間に基づいて、回路の動作シミュレーションを行う動作シミュレーション手段とを具備する。
【００１３】
ここで、複数の異なる電源電圧でそれぞれ動作する複数の回路ブロックが回路に含まれている場合には、遅延時間読出し手段が、各回路ブロックを構成する複数の論理ブロックの遅延時間をそれぞれの回路ブロックの電源電圧に応じて遅延時間テーブルから読み出すようにしても良い。
【００１４】
以上において、動作シミュレーション手段が、回路に含まれている論理回路のタイミング解析を行い、又は、回路に含まれているリングオシレータの発振周波数を求めるようにしても良い。
【００１５】
本発明の第１の観点に係る回路動作シミュレーション方法は、複数種類の論理ブロックの遅延時間を少なくとも電源電圧の関数として求めるために用いられる複数の係数を含むライブラリを用いて回路の動作に関するシミュレーションを行う方法であって、回路の構成に関する回路構成情報と、回路に供給される電源電圧に関する電源電圧情報とを入力するステップと、入力された回路構成情報に基づいて、回路の接続データを作成するステップと、回路の接続データ及び電源電圧情報とライブラリに含まれている複数の係数とを用いて、遅延時間を少なくとも電源電圧の関数として表す遅延時間関数に基づいて、回路を構成する複数の論理ブロックの遅延時間を算出するステップと、算出された遅延時間に基づいて、回路の動作シミュレーションを行うステップとを具備する。
【００１６】
また、本発明の第２の観点に係る回路動作シミュレーション方法は、複数種類の論理ブロックの遅延時間を少なくとも電源電圧に対応して格納する遅延時間テーブルを含むライブラリを用いて回路の動作に関するシミュレーションを行う方法であって、回路の構成に関する回路構成情報と、回路に供給される電源電圧に関する電源電圧情報とを入力するステップと、入力された回路構成情報に基づいて、回路の接続データを作成するステップと、回路の接続データ及び電源電圧情報を用いて、回路を構成する複数の論理ブロックの遅延時間をライブラリに含まれている遅延時間テーブルから読み出し、必要に応じて補間を行うステップと、読み出された遅延時間に基づいて、回路の動作シミュレーションを行うステップとを具備する。
【００１７】
本発明の第１の観点に係るライブラリは、回路の動作に関するシミュレーションを行うシステムにおいて用いられるライブラリであって、複数種類の論理ブロックの動作に関する情報と、複数種類の論理ブロックの遅延時間を少なくとも電源電圧の関数として求めるために用いられる複数の係数とを具備する。
【００１８】
ここで、関数が、変数として、電源電圧の他に、負荷容量、及び、入力信号の立上がり時間を含む関数であり、複数の係数が、電源電圧に関する項の係数の他に、負荷容量に関する項の係数、及び、入力信号の立上がり時間に関する項の係数を有するようにしても良い。
【００１９】
また、本発明の第２の観点に係るライブラリは、回路の動作に関するシミュレーションを行うシステムにおいて用いられるライブラリであって、複数種類の論理ブロックの動作に関する情報と、複数種類の論理ブロックの遅延時間を少なくとも電源電圧に対応して格納する遅延時間テーブルとを具備する。
【００２０】
ここで、遅延時間テーブルが、引数として、電源電圧の他に、負荷容量、及び、入力信号の立上がり時間が用いられるテーブルであっても良い。
【００２１】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態について説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図１は、本発明の第１の実施形態に係る回路動作シミュレーションシステムの構成を示すブロック図である。図１に示すように、この回路動作シミュレーションシステムは、ユーザが使用するＥＷＳ（エンジニアリングワークステーション）等のユーザ端末１と、回路動作シミュレーションを行うコンピュータ２と、回路動作シミュレーションにおいて使用されるライブラリや入力されたデータ等を記録するファイルサーバ３とによって構成される。
【００２２】
ユーザ端末１とコンピュータ２とファイルサーバ３とは、ネットワークＮ１を介して相互に接続されている。ユーザ端末１は、回路図を作成するための設計情報を入力し、また、シミュレーション結果を出力するために用いられる。１台のコンピュータに対して複数のユーザ端末を設けることにより、同時に複数のユーザが１台のコンピュータを使用してシミュレーションを行うことができる。しかしながら、シミュレーションの対象となる半導体集積回路の回路規模があまり大きくない場合には、各ユーザ端末にシミュレーション機能を持たせることにより、各ユーザ端末においてシミュレーションを行うこともできる。
【００２３】
ユーザ端末１から入力される設計情報には、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ＩＣ：特定用途向けＩＣ）等の半導体集積回路の構成に関する回路構成情報と、この半導体集積回路に供給される電源電圧に関する電源電圧情報とが含まれている。半導体集積回路内に、異なる電源電圧で動作する複数の回路ブロックが混在する場合には、回路ブロック毎に電源電圧情報が入力される。
【００２４】
ファイルサーバ３に記録されているライブラリには、論理ブロックと呼ばれる基本的な機能を有する論理素子の動作に関する情報や、論理ブロックの遅延時間を少なくとも電源電圧の関数として求めるために用いられる複数の係数が含まれている。論理ブロックとしては、例えば、ＮＡＮＤ回路、ＮＯＲ回路、フリップフロップ、インバータ等の基本的な論理素子の他に、ＳＳＩ（ｓｍａｌｌ  ｓｃａｌｅ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：小規模集積回路）及びＭＳＩ（ｍｅｄｉｕｍ  ｓｃａｌｅ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：中規模集積回路）レベルの機能素子が該当する。
【００２５】
本実施形態においては、これらの論理ブロックの遅延時間が、電源電圧の関数として求められるようになっているので、異なる電源電圧で動作する複数の回路ブロックが混在する場合でも、１つのライブラリで対応することが可能である。また、多様な電源電圧における半導体集積回路の回路動作シミュレーションを行うことも可能である。
【００２６】
図２は、本発明の第１の実施形態に係る回路動作シミュレーションシステムに含まれているコンピュータの構成を示すブロック図である。図２に示すように、コンピュータ２は、中央演算装置（以下、ＣＰＵという）２０と、メモリ２１と、記録媒体としてのハードディスク２２と、ハードディスク制御部２３と、ネットワークインタフェース２４とを含んでいる。これらは、バスラインＢＬ１を介して相互に接続されている。
【００２７】
ここで、ハードディスク２２には、ＣＰＵ２０に動作を行わせるためのソフトウェア（プログラム）が記録されている。また、プログラムを記録する記録媒体としては、内蔵のハードディスク２２以外に、外付けハードディスク、フレキシブルディスク、ＭＯ、ＭＴ、ＲＡＭ、ＣＤ−ＲＯＭ、又は、ＤＶＤ−ＲＯＭ等を用いることもできる。
【００２８】
次に、ＣＰＵ２０とソフトウェアとによって構成される機能ブロック２００〜２０２について説明する。
接続データ作成部２００は、入力された回路構成情報に基づいて、回路図や接続データ（ネットリスト）を作成し、作成された回路図や接続データを、入力された電源電圧情報と共に、メモリ２１に一旦記憶する。
【００２９】
遅延時間算出部２０１は、メモリ２１に記憶されている接続データ及び電源電圧情報と、ライブラリに含まれている複数の係数とを用いて、遅延時間を少なくとも電源電圧の関数として表す遅延時間関数に基づいて、半導体集積回路を構成する複数の論理ブロックの遅延時間を算出する。ここで、複数の異なる電源電圧でそれぞれ動作する複数の回路ブロックが半導体集積回路に含まれている場合には、遅延時間算出部２０１は、各回路ブロックを構成する複数の論理ブロックの遅延時間を、それぞれの回路ブロックの電源電圧に応じて算出する。
【００３０】
動作シミュレーション部２０２は、メモリ２１に記憶されている接続データと、遅延時間算出部２０１において算出された遅延時間とに基づいて、半導体集積回路の動作シミュレーションを行い、シミュレーション結果を、ネットワークインタフェース２４を介してユーザ端末１に出力する。
【００３１】
次に、図１〜図３を参照しながら、本実施形態に係る回路動作シミュレーションシステムの動作について説明する。図３は、本実施形態に係る回路動作シミュレーションシステムの動作を示すフローチャートである。
【００３２】
まず、ステップＳ１１において、ユーザが、ユーザ端末１を用いて、半導体集積回路の設計情報を入力する。設計情報には、回路構成情報と電源電圧情報とが含まれている。異なる電源電圧で動作する複数の回路ブロックが混在する場合には、ユーザは、回路ブロック毎に電源電圧情報を入力する。
【００３３】
次に、ステップＳ１２において、コンピュータ２の接続データ作成部２００が、入力された設計情報に基づいて回路図や接続データ（ネットリスト）を作成し、これらを電源電圧情報と共にメモリ２１に記憶させる。
【００３４】
ステップＳ１３において、遅延時間算出部２０１が、メモリ２１に記憶されている半導体集積回路の接続データ及び電源電圧情報と、ライブラリに含まれている複数の係数とを用いて、遅延時間を電源電圧の関数として表す遅延時間関数に基づいて、半導体集積回路を構成する複数の論理ブロックの遅延時間を算出する。その後、遅延時間算出部２０１は、これらの論理ブロックの遅延時間を動作シミュレーション部２０２に出力する。なお、遅延時間を算出する方法については、後で詳しく説明する。
【００３５】
ステップＳ１４において、動作シミュレーション部２０２は、メモリ２１に記憶されている接続データと、遅延時間算出部２０１において算出された各論理ブロックの遅延時間とに基づいて、回路の動作シミュレーションを行う。シミュレーションの内容としては、論理回路のタイミング解析を行ったり、リングオシレータの発振周波数を求めたりすることができる。
【００３６】
ステップＳ１５において、動作シミュレーション部２０２は、シミュレーション結果をユーザ端末１に出力する。ステップＳ１６において、ユーザは、シミュレーション結果に基づいて、電源電圧の設定を変更するか否かについて判断する。電源電圧の設定を変更する場合には、ステップＳ１７に移行し、電源電圧の設定を変更しない場合には、回路動作シミュレーションを終了する。
【００３７】
電源電圧の設定を変更する場合には、ステップＳ１７において、ユーザが、新たな電源電圧情報を入力する。その後、ステップＳ１３に移行して、遅延時間算出部２０１が、新たな電源電圧情報を用いて、遅延時間を電源電圧の関数として表す遅延時間関数に基づいて、半導体集積回路を構成する複数の論理ブロックの遅延時間を算出する。その後、ステップＳ１４〜Ｓ１７をもう一度繰り返す。
【００３８】
ここで、遅延時間を算出する方法について説明する。本実施形態においては、複数種類の論理ブロックの遅延時間を少なくとも電源電圧の関数として求めるために用いられる複数の係数をライブラリに用意して、各論理ブロックの遅延時間を算出している。
【００３９】
図４は、本実施形態に係る回路動作シミュレーションシステムのライブラリに含まれている複数の係数を示す図である。このライブラリには、電源電圧Ｖｓを変数とするＮ次の遅延時間関数における複数の係数が、論理ブロック毎に格納されている。例えば、図４に示すように、論理ブロックＡについては、関数の次数として「２」が格納され、Ｖｓ０項の係数として「１．６１３×１０−６」が格納され、Ｖｓ１項の係数として「−１．５９７×１０−６」が格納され、Ｖｓ２項の係数として「０．４３３×１０−６」が格納されている。
【００４０】
遅延時間算出部２０１は、ライブラリに含まれているこれらの係数を用いて生成される次式（１）に基づいて、電源電圧Ｖｓ［Ｖ］における遅延時間Ｔｄ［μｓ］を算出する。
Ｔｄ＝０．４３３Ｖｓ２−１．５９７Ｖｓ＋１．６１３  ・・・（１）
例えば、論理ブロックＡに印加される電源電圧が１．３［Ｖ］である場合には、遅延時間算出部２０１は、（１）式のＶｓに１．３を代入することにより、論理ブロックＡの遅延時間Ｔｄとして０．２６９［μｓ］を算出する。
【００４１】
本実施形態においては、遅延時間を求めるために２次関数を用いたが、要求される精度に応じて、１次関数、又は、３次以上の高次の関数を用いても良い。なお、すべての論理ブロックについて同じ次数の関数を用いる場合には、ライブラリに次数を含める必要はない。また、変数として、電源電圧の他に、論理ブロックの負荷容量や、入力信号の立上がり時間を用いるようにしても良い。その場合には、電源電圧に関する項の係数の他に、負荷容量に関する項の係数、及び、入力信号の立上がり時間に関する項の係数が、ライブラリに格納される。
【００４２】
以上においては、電源電圧の関数として遅延時間を求める例について説明したが、リングオシレータの動作シミュレーションを行う場合には、図５に示すように、電源電圧Ｖｓの関数として発振周波数ｆを直接求めるようにしても良い。あるいは、電源電圧を変化させながら発振周波数を測定することにより、リングオシレータを構成するインバータの遅延時間を求めておき、その値をライブラリに格納するようにしても良い。
【００４３】
次に、本発明の第２の実施形態について説明する。第２の実施形態においては、複数種類の論理ブロックの遅延時間を求めるために、上記のような関数ではなく、遅延時間テーブルが用いられる。遅延時間テーブルは、複数種類の論理ブロックの遅延時間を、少なくとも電源電圧に対応して格納する。
【００４４】
図６は、本発明の第２の実施形態に係る回路動作シミュレーションシステムに含まれているコンピュータの構成を示すブロック図である。図６に示すように、コンピュータ２は、中央演算装置（以下、ＣＰＵという）３０と、メモリ２１と、記録媒体としてのハードディスク３２と、ハードディスク制御部２３と、ネットワークインタフェース２４とを含んでいる。これらは、バスラインＢＬ１を介して相互に接続されている。
【００４５】
ここで、ハードディスク３２には、ＣＰＵ３０に動作を行わせるためのソフトウェア（プログラム）が記録される。次に、ＣＰＵ３０とソフトウェアとによって構成される機能ブロック３００〜３０２について説明する。
接続データ作成部３００は、入力された回路構成情報に基づいて、回路図や接続データ（ネットリスト）を作成し、作成された回路図や接続データを、入力された電源電圧情報と共に、メモリ２１に一旦記憶する。
【００４６】
遅延時間読出し部３０１は、メモリ２１に記憶されている接続データ及び電源電圧情報を用いて、半導体集積回路を構成する複数の論理ブロックの遅延時間を遅延時間テーブルから読み出し、必要に応じて補間を行う。ここで、複数の異なる電源電圧でそれぞれ動作する複数の回路ブロックが半導体集積回路に含まれている場合には、遅延時間読出し部３０１は、各回路ブロックを構成する複数の論理ブロックの遅延時間を、それぞれの回路ブロックの電源電圧に応じて遅延時間テーブルから読み出す。
【００４７】
動作シミュレーション部３０２は、メモリ２１に記憶されている接続データと、遅延時間読出し部３０１において読み出された遅延時間とを用いて、半導体集積回路の動作シミュレーションを行い、シミュレーション結果を、ネットワークインタフェース２４を介してユーザ端末１に出力する。
【００４８】
次に、図１及び図６〜図７を参照しながら、本実施形態に係る回路動作シミュレーションシステムの動作について説明する。図７は、本実施形態に係る回路動作シミュレーションシステムの動作を示すフローチャートである。
【００４９】
まず、ステップＳ１１において、ユーザが、ユーザ端末１を用いて、半導体集積回路の設計情報を入力する。ステップＳ２２において、コンピュータ２の接続データ作成部３００が、入力された設計情報に基づいて回路図や接続データ（ネットリスト）を作成し、これらを電源電圧情報と共にメモリ２１に記憶する。
【００５０】
ステップＳ２３において、遅延時間読出し部３０１が、メモリ２１に記憶されている接続データ及び電源電圧情報を用いて、半導体集積回路を構成する複数の論理ブロックの遅延時間を遅延時間テーブルから読み出し、必要に応じて補間を行う。さらに、遅延時間読出し部３０１は、これらの論理ブロックの遅延時間を表す情報を動作シミュレーション部２０２に出力する。なお、遅延時間テーブルから遅延時間を読み出す方法については、後で詳しく説明する。
【００５１】
ステップＳ２４において、動作シミュレーション部３０２は、メモリ２１に記憶されている接続データと、遅延時間読出し部３０１において読み出された各論理ブロックの遅延時間とに基づいて、回路動作シミュレーションを行う。回路動作シミュレーションの内容としては、論理回路のタイミング解析を行ったり、リングオシレータの発振周波数を求めたりすることができる。
【００５２】
ステップＳ２５において、動作シミュレーション部３０２は、シミュレーション結果をユーザ端末１に出力する。ステップＳ１６において、ユーザが、シミュレーション結果に基づいて、電源電圧の設定を変更するか否かについて判断する。電源電圧の設定を変更する場合には、ステップＳ１７に移行し、電源電圧の設定を変更しない場合には、回路動作シミュレーションを終了する。
【００５３】
ここで、遅延時間テーブルから遅延時間を読み出す方法について説明する。本実施形態においては、複数種類の論理ブロックの遅延時間を少なくとも電源電圧に対応して格納する遅延時間テーブルをライブラリに用意して、各論理ブロックの遅延時間を遅延時間テーブルから読み出している。
【００５４】
図８は、本実施形態に係る回路動作シミュレーションシステムのライブラリに含まれている遅延時間テーブルの例を示す図である。この遅延時間テーブルには、離散的な電源電圧の値に対応して遅延時間の値が格納されている。例えば、図８に示すように、ある論理ブロックの遅延時間テーブルには、電源電圧１．２０［Ｖ］に対応して遅延時間０．３２１［μｓ］が格納され、電源電圧１．５０［Ｖ］に対応して遅延時間０．１９３［μｓ］が格納され、電源電圧１．８０［Ｖ］に対応して遅延時間０．１４３［μｓ］が格納されている。
【００５５】
遅延時間読出し部３０１は、その論理ブロックに供給される電源電圧の値に対応する遅延時間の値を遅延時間テーブルから読み出す。遅延時間テーブルに所望の電源電圧の値が存在しない場合には、遅延時間読出し部３０１は、所望の電源電圧の前後の値に対応する遅延時間の値を遅延時間テーブルから読み出し、補間を行うことにより、所望の電源電圧の値に対応する遅延時間の値を求める。
【００５６】
ここでは、電源電圧の値に対応して遅延時間の値が格納された１次元のテーブルについて説明したが、さらに高い精度が要求される場合には、２次元又は３次元以上のテーブルを用いても良い。図９に、論理ブロックの遅延時間を求めるための３次元テーブルの例を示す。この遅延時間テーブルにおいては、ある論理ブロックについて、電源電圧Ｖｓと、負荷容量Ｃｓと、入力信号の立上がり時間Ｔｒとに対応して、立上がりエッジの遅延時間Ｔｐｄ（Ｖｓ，Ｃｓ，Ｔｒ）が格納されている。
【００５７】
ここで、論理ブロックの負荷容量Ｃｓは、次段に接続される論理ブロックの数（ファンアウト数）や配線長によって決定される。なお、半導体集積回路のレイアウトが決定されていない段階においては、配線長は未定であるので、予想配線長に基づいて負荷容量を決定するようにしても良い。
【００５８】
図１０に、ある論理ブロックにおける入力波形と出力波形の例を示す。一般に、入力信号の立上がり時間Ｔｒが大きくなれば、立上がりエッジの遅延時間Ｔｐｄも大きくなるので、その影響を考慮することにより、さらに正確なシミュレーションが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るシミュレーションシステムを示すブロック図。
【図２】本発明の第１の実施形態におけるコンピュータの構成を示すブロック図。
【図３】本発明の第１の実施形態に係るシミュレーションシステムのフローチャート。
【図４】本発明の第１の実施形態におけるライブラリに含まれる複数の係数を示す図。
【図５】電源電圧の関数としてリングオシレータの発振周波数を示す図。
【図６】本発明の第２の実施形態におけるコンピュータの構成を示すブロック図。
【図７】本発明の第２の実施形態に係るシミュレーションシステムのフローチャート。
【図８】本発明の第２の実施形態における遅延時間テーブルの例を示す図。
【図９】論理ブロックの遅延時間を求めるための３次元テーブルの例を示す図。
【図１０】ある論理ブロックにおける入力波形と出力波形の例を示す図。
【符号の説明】
１  ユーザ端末、  ２  コンピュータ、  ３  ファイルサーバ、  ２０、３０中央演算装置（ＣＰＵ）、  ２１  メモリ、  ２２、３２  ハードディスク、２３  ハードディスク制御部、  ２４  ネットワークインタフェース、  ２００、３００  接続データ作成部、  ２０１  遅延時間算出部、  ３０１  遅延時間読出し部、  ２０２、３０２  動作シミュレーション部
【図１】
2004362192.tif 000003
【図２】
2004362192.tif 000004
【図３】
2004362192.tif 000005
【図４】
2004362192.tif 000006
【図５】
2004362192.tif 000007
【図６】
2004362192.tif 000008
【図７】
2004362192.tif 000009
【図８】
2004362192.tif 000010
【図９】
2004362192.tif 000011
【図１０】
2004362192.tif 000012