(57)【要約】      （修正有）【課題】電源電圧の変動を考慮した回路解析をより正確かつ短時間に行なうことができる回路モデルを生成する。【解決手段】入出力回路内のプレ・バッファ部に与えられる電源電圧の変動量に対する出力信号の遅延変動の割合を示す遅延変動情報を生成する生成手段と、遅延変動情報を入出力回路についての回路モデルであるＩＢＩＳデータに記憶する記憶処理手段と、を備える。【選択図】図１２
2014135033.tif 000002
【特許請求の範囲】
【請求項１】
入出力回路内に直列に接続された複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報を生成する生成手段と、
生成した前記遅延変動情報を、前記入出力回路についての回路モデルであるＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データに記憶する記憶処理手段と、
を備える回路モデル生成装置。
【請求項２】
前記生成手段は、集積回路の出力端に接続され、前記集積回路からの入力信号を前記集積回路の接続先の装置に出力する前記入出力回路の出力端を微小容量のコンデンサを介して接地した情報生成用回路モデルを使用して、前記情報生成用回路モデルに一定の電源電圧を与えた状態で入力信号を入力したときの出力信号と、前記情報生成用回路モデルに与えた電源電圧に変動を与えた状態で入力信号を入力したときの出力信号と、の差分から前記遅延変動情報を生成する、
ことを特徴とする請求項１に記載の回路モデル生成装置。
【請求項３】
前記生成手段は、前記入出力回路に入力信号が与えられてから出力信号が出力されるまでの遅延期間を複数の期間に分割した前記期間毎に、前記情報生成用回路モデルに一定の電源電圧を与えた状態で入力信号を入力したときの出力信号と、前記情報生成用回路モデルに与えた電源電圧に所定の変動を与えた状態で入力信号を入力したときの出力信号と、の差分から前記プレ・バッファ部に与えられる電源電圧の変動量に対する出力信号の遅延変動の割合を計算して前記遅延変動情報を生成する、
ことを特徴とする請求項２に記載の回路モデル生成装置。
【請求項４】
入出力回路内に直列に接続された複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報を生成し、
生成した前記遅延変動情報を、前記入出力回路についての回路モデルであるＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データに記憶する、
処理を行なう回路モデル生成方法。
【請求項５】
入出力回路内に直列に接続された複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報を生成し、
生成した前記遅延変動情報を、前記入出力回路についての回路モデルであるＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データに記憶する、
処理を情報処理装置に実行させるためのプログラム。
【請求項６】
集積回路が有する出力端それぞれに接続され、前記集積回路からの入力信号を前記集積回路の接続先の装置に出力する入出力回路の入出力応答を解析する回路解析装置において、
複数のバッファ回路が直列に接続された前記入出力回路において、前記複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報と、出力信号の立ち上がりまたは立ち下がり特性を表す特性情報と、を含むＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データを記憶する記憶手段と、
前記ＩＢＩＳデータに含まれる遅延変動情報を使用して、前記入出力回路に与える電源電圧の変動量に対応する出力信号の遅延量を算出する算出手段と、
前記算出した遅延量に応じて、前記ＩＢＩＳデータに含まれる前記特性情報における出力信号の立ち上がりまたは立ち下がりのタイミングを調整する調整手段と、
を備える回路解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路モデルを生成する回路モデル生成装置および回路モデル生成方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）回路内部で発生する電源ノイズに起因するさまざまな問題が知られている。電源ノイズとは、ＬＳＩ回路内部に含まれるコア回路やＩ／Ｏ回路などが同時に動作することで発生する電源電圧変動のことである。ＬＳＩ回路内部で発生した電源ノイズは、そのＬＳＩ回路内部だけでなくＬＳＩ回路を搭載しているＰＣＢ（Ｐｒｉｎｔｅｄ  Ｃｉｒｃｕｉｔ  Ｂｏａｒｄ；プリント基板）にも伝播する。そして、電源ノイズがＬＳＩ回路間の伝送信号に入り込むことで、伝送信号の波形品質劣化による論理回路の論理誤認や伝送信号の遅延変動によるタイミングマージン不足を引き起こす。
【０００３】
従来、電源ノイズのうち、複数のＩ／Ｏ回路が同時に動作することによる電流変化とＰＫＧ（Ｐａｃｋａｇｅ）の電源・グランド配線の寄生インダクタンスなどにより発生するＳＳＯ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｓｗｉｔｃｈｉｎｇ  Ｏｕｔｐｕｔ；同時スイッチング出力）ノイズを解析するためには、Ｉ／Ｏ回路をモデル化したＴｒａｎｓｉｓｔｏｒ  Ｌｅｖｅｌ  Ｎｅｔｌｉｓｔを使用する必要があった。しかし、近年、ＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）モデルを使用してＳＳＯノイズ解析を行うことができるようになった。そのため、ＳＳＯノイズやＳＳＯノイズが信号波形に与える影響を算出することができるようになった。
【０００４】
上記技術に関連して、電源配線による電圧降下を算出し素子種別毎の電圧降下を考慮することにより信頼性の高い遅延計算やタイミング検証を行う半導体集積回路の遅延計算装置が知られている。この遅延計算装置は、電圧の代表条件における素子種別毎の遅延情報から設計対象回路の代表遅延値を算出し、電源配線における電圧降下を考慮した素子毎の電源電圧を算出する。また、この遅延計算装置は、素子毎の電源電圧と動作電圧に依存した遅延変動係数情報とを用いて素子毎の遅延変動係数を算出し、代表遅延値と素子毎の遅延変動係数とを用いて素子毎の遅延値を算出する。そして、これら算出した回路遅延値情報を元に、遅延計算装置はタイミング検証を行う。
【０００５】
また、電圧変動を考慮した精度の良い遅延シミュレーションを回路規模の大きなものに対しても高速に行う半導体集積回路のシミュレーション装置が知られている。このシミュレーション装置は、あらかじめ回路要素毎に複数の電源電圧に対して詳細なデバイスシミュレーションを行い遅延情報をライブラリとして作成しておく。一方、シミュレーション装置は、電源配線、グランド配線の電圧変動情報を作成する。そして、シミュレーション装置は、各回路要素が接続している場所の電圧値に応じてライブラリの中から適切な遅延情報選択して遅延シミュレーションを行う。
【０００６】
また、目的とする電源電圧の下でのセルの遅延時間を高精度に計算できる遅延時間計算方法が知られている。この遅延時間計算方法では、代表セルの遅延時間を電源電圧の近似関数ｋ１と、目的セルに電源電圧Ｖ１を供給した場合の遅延時間Ｔ１を示す点Ｐ１（Ｖ１，Ｔ１）および目的セルに電源電圧Ｖ２を供給した場合の遅延時間Ｔ２を示す点Ｐ２（Ｖ２，Ｔ２）とを使用する。具体的には、これら点Ｐ１およびＰ２に基づいて、目的セルの遅延時間を電源電圧の関数として表現した補間関数ｋ２を算出する。そして、この補間関数ｋ２を用いて目的セルの任意の電源電圧の下での遅延時間を求める。
【０００７】
また、波形シミュレーション装置に組み込んで使用することのできるＩＢＩＳ補正ツールであって、ある特定の電源電圧Ｖ０用のＩＢＩＳデータを、従来よりも高い精度で、所望の電源電圧Ｖ１用のＩＢＩＳデータに補正するＩＢＩＳ補正ツールが知られている。この補正ツールは、データ入力部にて電源電圧Ｖ０用のＩＢＩＳデータをｘ−ｙ座標の数値データとして読み込み、この数値データと電源電圧Ｖ１についてそのｘ−ｙ座標上での数値データとの相対比（補正係数）を補正係数算出部１２で求める。そして、補正ツールは、その補正係数に従って電源電圧Ｖ１用に補正することにより補正ＩＢＩＳデータを得る。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−１９５９６０号公報
【特許文献２】特開２０００−１９４７３２号公報
【特許文献３】特開２００１−２０９６７３号公報
【特許文献４】特開２００７−２１３２４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本回路モデル生成装置は、１つの側面では、電源電圧の変動を考慮した回路解析をより正確かつ短時間に行なうことができる回路モデルを生成する回路モデル生成装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本回路モデル生成装置の１つの観点によれば、本回路モデル生成装置は、以下の構成要素を備える。
生成手段は、入出力回路内に直列に接続された複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報を生成する。
【００１１】
記憶処理手段は、生成した前記遅延変動情報を、前記入出力回路についての回路モデルであるＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データに記憶する。
【発明の効果】
【００１２】
本回路モデル生成装置は、１つの態様では、電源電圧の変動を考慮した回路解析をより正確かつ短時間に行なうことができる回路モデルを生成する回路モデル生成装置を提供できる。
【図面の簡単な説明】
【００１３】
【図１】ＩＢＩＳ  ５．０の概要を説明する図である。
【図２】シミュレーション結果の出力波形２１１および電源波形２１２を示す全体図２１０と電源波形２１２を拡大した拡大図２２０とを示す図である。
【図３】ネットリストモデル１１０でモデル化したＩ／Ｏ回路にＤＱ信号２１１を入力した場合の出力波形と電源波形を示す図である。
【図４】ＩＢＩＳモデル１２０でモデル化したＩ／Ｏ回路にＤＱ信号２１１を入力した場合の出力波形と電源波形を示す図である。
【図５】シミュレーション対象のＩ／Ｏ回路を含む装置の構成例を説明する図である。
【図６】Ｉ／Ｏ回路５０１を説明する図である。
【図７】図６に示したＩ／Ｏ回路５０１のＩＢＩＳモデル７００の概要を説明する図である。
【図８】図６に示したＩ／Ｏ回路５０１のＩＢＩＳモデル７００についてのＩＢＩＳデータ８００の構成例を説明する図である。
【図９】ＩＢＩＳデータ８００の［ＭＯＤＥＬ  ＳＴＡＴＥＭＥＮＴ］に含まれる［遅延変動係数］の具体的な構成例を示す図である。
【図１０】［遅延変動係数］の生成に使用する回路モデル１０００の一例を示す図である。
【図１１】［遅延変動係数］で使用する分割領域を説明する図である。
【図１２】Ｒｉｓｅ波形について、Ｉ／Ｏ回路５０１に与える電源電圧ＶＤＥと、Ｉ／Ｏ回路５０１への入力信号のＡ端での波形と、その入力信号に対する出力信号のＥＢ端での波形と、を示す図である。
【図１３】分割領域１の遅延変動量のテーブル１３１０の一例を示す図である。
【図１４】ＩＢＩＳデータ８００を生成する処理を示すフローチャートである。
【図１５】ＩＢＩＳデータ８００を使用して、Ｉ／Ｏ回路５０１について、電源電圧ＶＤＥが変動する場合の出力信号の遅延変動量を算出する処理を説明する図である。
【図１６】図５に示したＩ／Ｏ回路５０１を含む装置の動作についてのシミュレーション処理を示すフローチャートである。
【図１７】分割領域１における電源電圧ＶＤＥの変動量ΔＶの算出例を示す図である。
【図１８】本実施例に係る回路解析装置１００の構成例を示す図である。
【発明を実施するための形態】
【００１４】
≪発明者による考察≫
図１は、ＩＢＩＳ  ５．０の概要を説明する図である。図１では、ネットリストを使用したＩ／Ｏ回路のモデル１１０、以下では、「ネットリストモデル１１０」という、と、ＩＢＩＳ  ５．０を使用したモデル１２０、以下では、「ＩＢＩＳモデル１２０」という、の一例を示している。
【００１５】
ネットリストモデル１１０を用いることにより、Ｉ／Ｏ回路は、正確にモデル化される。そこで、図１には、Ｉ／Ｏ回路の等価回路を示している。図１に示すように、Ｉ／Ｏ回路には、複数のバッファを含むバッファ部１１１と出力部１１２とが含まれる。以下では、バッファ部１１１に含まれるバッファのうち、最も出力側のバッファを「ファイナル・バッファ１１３」といい、ファイナル・バッファ１１３以外のバッファを「プレ・バッファ１１４」という。
【００１６】
ＩＢＩＳモデル１２０を、ネットリストモデル１１０と対比すると次のようになる。なお、以下の説明では、ＩＢＩＳデータに含まれるデータを［］付けで表記する。
ネットリストモデル１１０の出力部１１２は、［Ｐｏｗｅｒ  Ｃｌａｍｐ］および［ＧＮＤ  Ｃｌａｍｐ］などを使用してモデル化されている。［Ｐｏｗｅｒ  Ｃｌａｍｐ］および［ＧＮＤ  Ｃｌａｍｐ］は、出力部１１２に含まれるダイオードの特性がＩＶテーブルで記載された情報である。
【００１７】
また、ファイナル・バッファ１１３は、［Ｐｕｌｌ  ｕｐ］、［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］、および［ＩＳＳＯ  ＰＵ］と、［Ｐｕｌｌ  ｄｏｗｎ］、［Ｆａｌｌｉｎｇ  Ｗａｖｅｆｏｒｍ］、および［ＩＳＳＯ  ＰＤ］と、［Ｍｏｄｅｌ］に含まれるＣ＿ｃｏｍｐなどを使用してモデル化されている。［Ｐｕｌｌ  ｕｐ］は、ファイナル・バッファ１１３に含まれるＨｉｇｈ側のトランジスタのＩＶ特性をテーブル化したデータであり、［Ｐｕｌｌ  ｄｏｗｎ］は、ファイナル・バッファ１１３に含まれるＬｏｗ側のトランジスタのＩＶ特性をテーブル化したデータである。［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］は、ファイナル・バッファ１１３の立ち上がりＶＴ特性をテーブル化したデータであり、［Ｆａｌｌｉｎｇ  Ｗａｖｅｆｏｒｍ］は、ファイナル・バッファ１１３の立ち下がりＶＴ特性をテーブル化したデータである。［ＩＳＳＯ  ＰＵ］は、ファイナル・バッファ１１３に含まれるＨｉｇｈ側のトランジスタにおける実効電流についてのＩＶ特性をテーブル化したデータである。また、［ＩＳＳＯ  ＰＤ］は、ファイナル・バッファ１１３に含まれるＬｏｗ側のトランジスタにおける実効電流についてのＩＶ特性をテーブル化したデータである。
【００１８】
また、Ｉ／Ｏ回路全体の駆動電流１１５は、［Ｃｏｍｐｏｓｉｔｅ  Ｃｕｒｒｅｎｔ］を使用してモデル化されている。この［Ｃｏｍｐｏｓｉｔｅ  Ｃｕｒｒｅｎｔ］は、駆動電流のＩＴ特性をテーブル化したデータである。
【００１９】
しかし、ＩＢＩＳモデル１２０では、ネットリストモデル１１０におけるプレ・バッファ１１４に対応する部分がモデル化されていない。そのため次のような問題がある。
【００２０】
図２−図４に、ネットリストモデル１１０およびＩＢＩＳモデル１２０でモデル化したＩ／Ｏ回路それぞれにＤＱ信号を入力した場合の出力波形と電源波形とについてのシミュレーション結果の一例を示す。
【００２１】
図２は、シミュレーション結果の出力波形２１１および電源波形２１２を示す全体図２１０と電源波形２１２を拡大した拡大図２２０とを示している。拡大図２２０には、ネットリストモデル１１０による電源波形２１３と、ＩＢＩＳモデル１２０による電源波形２１４と、を示している。拡大図２２０に示されるように、ＩＢＩＳモデル１２０による電源波形２１４は、ネットリストモデル１１０による電源波形２１３とほとんど同じように、ＳＳＯノイズの影響を考慮した電源波形２１２を表現できている。
【００２２】
ここで、図３は、ネットリストモデル１１０でモデル化したＩ／Ｏ回路にＤＱ信号２１１を入力した場合の出力波形と電源波形を示している。図３には、ＳＳＯノイズなしの場合の出力波形３１１および電源波形３２１と、ＳＳＯノイズがある場合の出力波形３１２および電源波形３２２と、を示している。この場合、ＳＳＯノイズの影響による出力波形３１２の遅延変動量、ここでは出力波形３１２がＶｃまで立ち上がる時間の遅延変動量は３６ｐｓとなっている。
【００２３】
一方、図４は、ＩＢＩＳモデル１２０でモデル化したＩ／Ｏ回路にＤＱ信号２１１を入力した場合の出力波形と電源波形を示している。図４には、ＳＳＯノイズなしの場合の出力波形４１１および電源波形４２１と、図３と同じ条件のＳＳＯノイズがある場合の出力波形４１２および電源波形４２２と、を示している。この場合、ＳＳＯノイズの影響による出力波形４１２の遅延変動量、図３と同様に出力波形４１２がＶｃまで立ち上がる時間の遅延変動量は１５ｐｓとなる。このように、ＩＢＩＳモデル１２０を使用したシミュレーションでは、ＳＳＯノイズによる出力波形４１２の遅延変動への影響が小さく見えてしまう。
【００２４】
そのため、ＳＳＯノイズを考慮してＩ／Ｏ回路のタイミング解析を行うためには、相変わらずネットリストモデル１１０を使用する必要がある。この場合、ＳＳＯノイズをより詳細に解析するには、Ｉ／Ｏ回路に入出力される全ての信号と電源構造をモデル化する必要がある。そのため、モデル化しなければならない回路の規模が大きくなり、シミュレーション時間が非常に長くなってしまう。なお、タイミング解析には、特定のＬＳＩチップ等の出力端子に接続する１または２以上のＩ／Ｏ回路から出力される出力信号が特定の装置に伝搬されるタイミングを解析することを含む。
【００２５】
以上のように、ＩＢＩＳモデル１２０ではプレ・バッファ１１４がモデル化されていないため、プレ・バッファ１１４での信号の遅延変動を考慮した出力波形を得ることができていない。そのため、ＩＢＩＳモデル１２０を使用してＩ／Ｏ回路のシミュレーションを行なう場合、ＳＳＯノイズがＩ／Ｏ回路の遅延変動に与える影響を過小評価してしまう。このように、ＩＢＩＳモデル１２０では、ＳＳＯノイズによる電源変動を考慮した回路解析を正確に解析することが難しいという問題がある。
【００２６】
以下、本発明の実施形態の一例について、図５〜図１８に基づいて説明する。なお、以下に説明する実施形態はあくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本実施形態は、その趣旨を逸脱しない範囲で、各実施例を組み合わせるなど種々変形して実施することができる。また、図１４および図１６にフローチャートの形式で示した処理手順は、処理の順番を限定する趣旨ではない。したがって、可能な場合には、処理の順番を入れ替えても良いのは当然である。
【００２７】
≪実施例≫
図５は、本実施例に係るシミュレーション対象のＩ／Ｏ回路を含む装置の構成例を説明する図である。
【００２８】
図５に示すＩ／Ｏユニット５００には、複数のＩ／Ｏ回路が含まれる。以下では、このＩ／Ｏユニット５００に含まれるいずれか１つのＩ／Ｏ回路を「Ｉ／Ｏ回路５０１」という。
【００２９】
Ｉ／Ｏユニット５００は、特定の機能を実現する論理を含むコアロジック５１１などを含むＬＳＩチップ５１０に含まれる。Ｉ／Ｏユニット５００に含まれるＩ／Ｏ回路５０１それぞれの入力端子は、コアロジック５１１の出力端子それぞれと接続している。また、Ｉ／Ｏユニット５００に含まれるＩ／Ｏ回路５０１それぞれの出力端子は、ＬＳＩチップ５１０を搭載しているＰＫＧ５２０、ＰＫＧ５２０を搭載しているＰＣＢ５３０を介して、ＰＣＢ５３０に搭載されているデバイス５４０のＩ／Ｏユニット５４１と接続している。そして、Ｉ／Ｏユニット５００は、コアロジック５１１から入力される信号をデバイス５４０のＩ／Ｏユニット５４１に出力する。
【００３０】
なお、図５では、本実施例に係るシミュレーション対象となるＩ／Ｏ回路５０１を使用する装置構成の一例について示したが、本実施例に係るシミュレーション対象となるＩ／Ｏ回路５０１を使用する装置構成を図５に示した構成に限定する趣旨でないのは当然である。
【００３１】
図６は、Ｉ／Ｏ回路５０１を説明する図である。図６には、一例として、Ｉ／Ｏ回路５０１の等価回路を示している。図６に示すように、Ｉ／Ｏ回路５０１には、複数のバッファを含むバッファ部５０２と出力部５０３とが含まれる。以下の説明では、バッファ部５０２に含まれるバッファのうち、最も出力側のバッファを「ファイナル・バッファ５０４」といい、ファイナル・バッファ５０４以外のバッファを「プレ・バッファ５０５」という。
【００３２】
図７は、図６に示したＩ／Ｏ回路５０１のＩＢＩＳモデル７００の概要を説明する図である。
Ｉ／Ｏ回路５０１の出力部５０３は、［Ｐｏｗｅｒ  Ｃｌａｍｐ］および［ＧＮＤ  Ｃｌａｍｐ］などを使用してモデル化することができる。また、ファイナル・バッファ５０４は、［Ｐｕｌｌ  ｕｐ］、［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］、および［ＩＳＳＯ  ＰＵ］と、［Ｐｕｌｌ  ｄｏｗｎ］、［Ｆａｌｌｉｎｇ  Ｗａｖｅｆｏｒｍ］、および［ＩＳＳＯ  ＰＤ］と、［Ｍｏｄｅｌ］に含まれるＣ＿ｃｏｍｐなどを使用してモデル化することができる。また、Ｉ／Ｏ回路全体の駆動電流５０６は、［Ｃｏｍｐｏｓｉｔｅ  Ｃｕｒｒｅｎｔ］を使用してモデル化することができる。
【００３３】
なお、［Ｐｏｗｅｒ  Ｃｌａｍｐ］、［ＧＮＤ  Ｃｌａｍｐ］、［Ｐｕｌｌ  ｕｐ］、［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］、［ＩＳＳＯ  ＰＵ］、［Ｐｕｌｌ  ｄｏｗｎ］、［Ｆａｌｌｉｎｇ  Ｗａｖｅｆｏｒｍ］、［ＩＳＳＯ  ＰＤ］、［Ｍｏｄｅｌ］に含まれるＣ＿ｃｏｍｐ、［Ｃｏｍｐｏｓｉｔｅ  Ｃｕｒｒｅｎｔ］は、ＩＢＩＳ  ５．０以降の規格にしたがって作成されるデータである。したがって、これらのデータについての具体的な説明は省略する。
【００３４】
本実施例では、さらに、Ｉ／Ｏ回路５０１のプレ・バッファ５０５の電源電圧変動に対する遅延変動率のＶＴ特性をテーブル化した［遅延変動係数］を使用して、プレ・バッファ５０５をモデル化することができる。
【００３５】
図８は、図６に示したＩ／Ｏ回路５０１のＩＢＩＳモデル７００についてのＩＢＩＳデータ８００の構成例を説明する図である。
ＩＢＩＳデータ８００には、［ＦＩＬＥ  ＨＥＡＤＥＲ］、［ＣＯＭＰＯＮＥＮＴ  ＤＥＳＣＲＩＰＴＩＯＮ］および［ＭＯＤＥＬ  ＳＴＡＴＥＭＥＮＴ］が含まれる。これらの情報はＩＢＩＳ  ５．０以降の規格にしたがって作成されるデータである。ただし、本実施例に係る［ＭＯＤＥＬ  ＳＴＡＴＥＭＥＮＴ］には、［遅延変動係数］が含まれる。この［遅延変動係数］について図９を用いて説明する。
【００３６】
図９は、ＩＢＩＳデータ８００の［ＭＯＤＥＬ  ＳＴＡＴＥＭＥＮＴ］に含まれる［遅延変動係数］の具体的な構成例を示す図である。
［遅延変動係数］には、ｔｙｐ、ｍａｘおよびｍｉｎのぞれぞれの場合について、電源電圧ＶＤＥの変動量ΔＶに対する、Ｉ／Ｏ回路５０１の出力信号の立ち上がり波形、以下「Ｒｉｓｅ波形」という、の遅延変動係数と、Ｆａｌｌ波形の遅延変動係数と、が定義されている。そして、Ｒｉｓｅ波形では、Ｒｉｓｅ波形における後述のＩＯ遅延領域を複数の時間領域に分割した分割領域１、分割領域２、・・・、分割領域Ｎ毎に、電源電圧ＶＤＥの変動量に対する遅延変動係数が定義されている。Ｎは２以上の整数とする。同様に、Ｉ／Ｏ回路５０１の出力信号の立ち下がり波形、以下「Ｆａｌｌ波形」という、では、Ｆａｌｌ波形におけるＩＯ遅延領域を複数の時間領域に分割した分割領域１、分割領域２、・・・、分割領域Ｎ毎に、電源電圧ＶＤＥの変動量に対する遅延変動係数が定義されている。なお、図９では、Ｒｉｓｅ波形における領域１の遅延変動係数について例示し、Ｒｉｓｅ波形における他の領域およびＦａｌｌ波形における各領域の遅延変動係数については省略している。
【００３７】
［遅延変動係数］の生成処理について、図１０−図１３を用いて説明する。
図１０は、［遅延変動係数］の生成に使用する回路モデル１０００の一例を示す図である。
【００３８】
回路モデル１０００には、Ｉ／Ｏ回路５０１をネットリストでモデル化したネットリストモデルと、Ｉ／Ｏ回路５０１に入力信号を与える入力信号源１０１０と、Ｉ／Ｏ回路５０１に与える電源電圧を制御する電圧源１０２０と、微小容量のコンデンサ１０３０と、を含む。例えば、コンデンサ１０３０には、１（ｆＦ）程度の容量のコンデンサを使用することできる。
【００３９】
入力信号源１０１０は、一端がグランドに接続され他端がＩ／Ｏ回路５０１の入力端子、以下では「Ａ端」という、に接続されている。また、電圧源１０２０は、一端が電源電圧ＶＤＥに接続され他端がＩ／Ｏ回路５０１に接続されている。また、コンデンサ１０３０は、一端がＩ／Ｏ回路５０１の出力端子、以下では「ＥＢ端」という、に接続され他端がグランドに接続されている。
【００４０】
図１０に示した回路モデル１０００は、Ｉ／Ｏ回路５０１のＥＢ端が微小容量のコンデンサ１０３０と接続されているので、Ｉ／Ｏ回路５０１のファイナル・バッファ５０４における電源電圧変動による出力信号の遅延変動を無視することができる。したがって、この回路モデル１０００を使用することにより、Ｉ／Ｏ回路５０１に含まれるプレ・バッファ５０５における電源電圧変動による遅延変動を含む出力信号を得ることができる。
【００４１】
図１１は、［遅延変動係数］で使用する分割領域を説明する図である。図１１は、Ｒｉｓｅ波形およびＦａｌｌ波形それぞれについて、Ｉ／Ｏ回路５０１に与える電源電圧ＶＤＥと、Ｉ／Ｏ回路５０１への入力信号のＡ端での波形と、その入力信号に対する出力信号のＥＢ端での波形と、を示している。
【００４２】
本実施例では、図１０に示した回路モデル１０００のＡ端に入力信号が入力されてから、その出力信号がＥＢ端に出力されるまでの遅延時間を「ＩＯ遅延領域」と定義する。そして、ＩＯ遅延領域を一定の期間で分割した領域を「分割領域」と定義する。
【００４３】
したがって、例えば、図１１に示すＲｉｓｅ波形１１１０では、入力信号１１１１の立ち上がり時間ｔ０から出力信号１１１２の立ち上がり時間ｔｎまでが「ＩＯ遅延領域」となる。そして、ＩＯ遅延領域をＮ等分した期間ｔ０−ｔ１、ｔ１−ｔ２、・・・、およびｔ（ｎ−１）−ｔｎが、それぞれ分割領域１、分割領域２、・・・および分割領域Ｎとなる。
【００４４】
同様に、図１１に示すＦａｌｌ波形１１２０では、入力信号１１２１の立ち下がり時間ｔ０から出力信号１１２２の立ち下がり時間ｔｎまでが「ＩＯ遅延領域」となる。そして、ＩＯ遅延領域をＮ等分した期間ｔ０−ｔ１、ｔ１−ｔ２、・・・、およびｔ（ｎ−１）−ｔｎが、それぞれ分割領域１、分割領域２、・・・および分割領域Ｎとなる。
【００４５】
図１２−図１３は、電源電圧ＶＤＥの変動に対する出力信号の遅延変動量の算出例を示す図である。
図１２は、Ｒｉｓｅ波形について、Ｉ／Ｏ回路５０１に与える電源電圧ＶＤＥと、Ｉ／Ｏ回路５０１への入力信号のＡ端での波形と、その入力信号に対する出力信号のＥＢ端での波形と、を示している。
【００４６】
（１）まず、Ｒｉｓｅ波形における分割領域１での電源電圧変動に対する出力信号の遅延変動量を算出するにあたり、回路モデル１０００を使用して、電源電圧ＶＤＥが一定、例えば、１．５Ｖの場合における入力信号１１１１に対する出力信号１１１２を算出する。グラフ１２１０は、このとき得られるグラフの一例である。
【００４７】
（２）次に、回路モデル１０００を使用して、分割領域１において電源電圧ＶＤＥが所定値だけ変動、例えば、１．５Ｖから１．４Ｖに低下した場合における入力信号１１１１に対する出力信号１２１１を算出する。グラフ１２２０は、このとき得られるグラフの一例である。
【００４８】
（３）出力信号１１１２における立ち上がり時間ｔｎと出力信号１２１１における立ち上がり時間ｔｎ’との差分（＝ｔｎ’−ｔｎ）から、分割領域１で所定値の電源電圧変動が生じた場合における出力信号の遅延変動量を算出する。
【００４９】
（４）同様に、分割領域１における電源電圧ＶＤＥの変動量が、例えば、−１Ｖ〜＋１Ｖまで０．０２Ｖ毎に変動した場合それぞれについて、上記（２）−（３）の処理を行なって出力信号の遅延変動量を算出する。すると、図１３に例示する分割領域１の遅延変動量のテーブル１３１０を得ることができる。
【００５０】
（５）分割領域１の遅延変動量のテーブル１３１０に含まれる遅延変動量それぞれについて遅延変動係数を算出して、図１３に例示する分割領域１の遅延変動係数のテーブル１３２０を算出することができる。なお、テーブル１３２０に例示する分割領域１の遅延変動係数は、分割領域の時間間隔を３００（ｐｓ）として遅延変動係数を算出した例である。遅延変動係数は、次式で求めることができる。
（遅延変動係数）＝（遅延変動量（ｐｓ））／（分割領域の時間間隔（ｐｓ））
・・・（１）
【００５１】
（６）上記（２）−（５）の処理を、分割領域２、分割領域３、・・・、分割領域Ｎについて実施することにより、Ｒｉｓｅ波形における全ての分割領域における遅延変動係数を算出することができる。
【００５２】
（７）さらに、上記（１）−（６）の処理を、Ｆａｌｌ波形における分割領域１、分割領域２、・・・、分割領域Ｎについて実施することにより、Ｆａｌｌ波形における全ての分割領域における遅延変動係数を算出することができる。
【００５３】
図１３は、分割領域１における遅延変動量のテーブル１３１０と、分割領域１における遅延変動係数のテーブル１３２０と、の一例を示す図である。
分割領域１における遅延変動量のテーブル１３１０は、分割領域１における電源電圧ＶＤＥの変動量に対する出力信号の遅延変動量が含まれるテーブルである。また、分割領域１における遅延変動係数のテーブル１３２０は、分割領域１における電源電圧ＶＤＥの変動量に対する出力信号の遅延変動の割合を示す遅延変動係数が含まれるテーブルである。
【００５４】
図１４は、本実施例に係るＩＢＩＳデータ８００を生成する処理を示すフローチャートである。
回路解析装置１００の使用者が、入力手段を使用して、回路モデル情報を入力する。この回路モデル情報には、例えば、図１０に示した回路モデル１０００のネットリスト、ＩＯ遅延領域における時間刻み幅、電源電圧ＶＤＥの最大・最小変動量、電源電圧ＶＤＥの変動刻み幅、およびＩ／Ｏ回路５０１のＩＢＩＳデータなどを含むことができる。回路モデル情報が入力されると、回路解析装置１００は、入力された回路モデル情報を取得して以下の処理を行なう（ステップＳ１４０１）。
【００５５】
なお、図１４では、ＩＯ遅延領域における時間刻み幅、すなわち、１つの分割領域の時間間隔が３００（ｐｓ）、電源電圧ＶＤＥの最大変動量が１（Ｖ）、電源電圧ＶＤＥの最小変動量が−１（Ｖ）、電源電圧ＶＤＥの変動刻み幅が０．０２（Ｖ）の場合について説明する。ただし、これらの値は適宜変更することができるものであり、これらの値に限定する趣旨でないのは当然である。
【００５６】
以下では、まず、Ｒｉｓｅ波形についての遅延変動係数を算出する。
ステップＳ１４０２において、回路解析装置１００は、ステップＳ１４０１で取得したネットリストを使用して、一定の電源電圧ＶＤＥ＝１．５（Ｖ）を供給したＩ／Ｏ回路５０１に入力した所定の入力信号に対する出力信号を算出する（ステップＳ１４０２）。所定の入力信号には、図１１に示した入力信号１１１１または入力信号１１２１を使用することができる。例えば、Ｒｉｓｅ波形についての遅延変動係数を算出する場合には、図１２に例示した入力信号１１１１を使用して出力信号１１１２を算出することができる。
【００５７】
そして、回路解析装置１００は、ステップＳ１４０２で得られた波形のＩＯ遅延領域、すなわち、入力信号の立ち上がり時間ｔ０から、その入力信号に対する出力信号の立ち上がり時間ｔｎまで、を３００（ｐｓ）で分割して分割領域を生成する（ステップＳ１４０３）。以下の説明では、説明を簡単にするために、ＩＯ遅延領域を３００（ｐｓ）で分割すると、Ｎ個の分割領域が生成されるものとする。
【００５８】
分割領域の番号ｉを１、電源電圧ＶＤＥの変動量ΔＶを−１（Ｖ）に初期化すると（ステップＳ１４０４、Ｓ１４０５）、回路解析装置１００は、処理をステップＳ１４０６に移行する。そして、回路解析装置１００は、ステップＳ１４０１で取得したネットリストを使用して、Ｉ／Ｏ回路５０１に供給されている電源電圧ＶＤＥ＝１．５（Ｖ）が分割領域ｉの間だけΔＶ変動する場合について、所定の入力信号に対する出力信号を算出する（ステップＳ１４０６）。所定の入力信号には、図１２に示した入力信号１１１１または入力信号１１２１を使用することができる。例えば、Ｒｉｓｅ波形についての遅延変動係数を算出する場合には、図１２に例示した入力信号１１１１を使用して図１２に例示した出力信号１２１１を算出することができる。
【００５９】
さらに、回路解析装置１００は、ステップＳ１４０６で算出した出力信号の立ち上がり時間ｔｎ’と、ステップＳ１４０２で算出した出力信号の立ち上がり時間ｔｎと、の差から出力信号の遅延変動量ｄｔ（ｎｓ）を算出する（ステップＳ１４０７）。
【００６０】
遅延変動量ｄｔを算出すると、回路解析装置１００は、電源電圧ＶＤＥの変動量ΔＶに０．０２（Ｖ）を加算した値をΔＶに設定する（ステップＳ１４０８）。電源電圧ＶＤＥの変動量ΔＶが１．０以下の場合（ステップＳ１４０９  ＮＯ）、回路解析装置１００は、処理をステップＳ１４０６に移行する。この場合、回路解析装置１００は、ステップＳ１４０６−Ｓ１４０９の処理を繰り返して、図１３に例示した分割領域ｉの遅延変動量のテーブルを作成する。
【００６１】
また、電源電圧ＶＤＥの変動量ΔＶが１．０より大きい場合（ステップＳ１４０９  ＹＥＳ）、回路解析装置１００は、分割領域の番号ｉを１だけインクリメントする（ステップＳ１４１０）。そして、回路解析装置１００は、処理をステップＳ１４１１に移行する。
【００６２】
分割領域の番号ｉが、ステップＳ１４０３で生成した分割領域の数Ｎ以下の場合（ステップＳ１４１１  ＮＯ）、回路解析装置１００は、処理をステップＳ１４０５に移行する。この場合、回路解析装置１００は、ステップＳ１４０５−Ｓ１４１１の処理を繰り返して、分割領域１、分割領域２、・・・、分割領域Ｎそれぞれについて電源電圧ＶＤＥの変動量に対する遅延変動量のテーブルを作成する。
【００６３】
分割領域の番号ｉがＮを超えると（ステップＳ１４１１  ＹＥＳ）、回路解析装置１００は、ステップＳ１４１２に移行する。この場合、回路解析装置１００は、ステップＳ１４０５−Ｓ１４１１で算出した分割領域１、・・・、分割領域Ｎそれぞれについて電源電圧ＶＤＥの変動量に対する遅延変動量のテーブルから、分割領域１、・・・、分割領域Ｎそれぞれについて電源電圧ＶＤＥの変動量に対する遅延変動係数を算出する（ステップＳ１４１２）。そして、回路解析装置１００は、図１３に例示したように、分割領域１、・・・、分割領域Ｎそれぞれについての遅延変動係数のテーブルを作成する（ステップＳ１４１２）。
【００６４】
Ｒｉｓｅ波形についての遅延変動係数の算出が終了すると（ステップＳ１４１３  ＮＯ）、回路解析装置１００は、処理をステップＳ１４０２に移行する。そして、回路解析装置１００は、ステップＳ１４０２−Ｓ１４１３の処理を実行してＦａｌｌ波形についての遅延変動係数を算出する。Ｒｉｓｅ波形についての遅延変動係数とＦａｌｌ波形についての遅延変動係数を算出すると（ステップＳ１４１３  ＹＥＳ）、回路解析装置１００は、処理をステップＳ１４１４に移行する。そして、回路解析装置１００は、ステップＳ１４０１で取得したＩＢＩＳデータの［ＭＯＤＥＬ  ＳＴＡＴＥＭＥＮＴ］の中に［遅延変動係数］として、ステップＳ１４１２で作成した分割領域１、・・・、分割領域Ｎそれぞれについての遅延変動係数のテーブルを挿入した本実施例に係るＩＢＩＳデータ８００を生成する（ステップＳ１４１４）。そして、回路解析装置１００は、本実施例に係るＩＢＩＳデータ８００を生成する処理を終了する（ステップＳ１４１５）。
【００６５】
以上のように、ｔｙｐ、ｍａｘおよびｍｉｎのそれぞれの場合について図１４に示した処理を実行することにより、図９に例示した［遅延変動係数］を含むＩＢＩＳデータを生成することができる。
【００６６】
図１５は、本実施例に係るＩＢＩＳデータ８００を使用して、Ｉ／Ｏ回路５０１について、電源電圧ＶＤＥが変動する場合の出力信号の遅延変動量を算出する処理を説明する図である。
【００６７】
図１５の例では、電源電圧ＶＤＥ１５０１が分割領域１、分割領域２、分割領域３、分割領域４、分割領域５において、それぞれ０（Ｖ）、−０．０２（Ｖ）、−０．０６（Ｖ）、−０．０７（Ｖ）、−０．０８（Ｖ）と変動している。各分割領域における電源電圧ＶＤＥの変動量には、その分割領域における電源電圧ＶＤＥの変動量の平均値を使用することができる。平均値の算出方法については、図１６のステップＳ１６０７で後述する。
【００６８】
図１５の分割領域１では、電源電圧ＶＤＥの変動量は０（Ｖ）となっている。この場合、遅延変動係数は、ＩＢＩＳデータ８００の［遅延変動係数］のＲｉｓｅ波形における領域１のテーブル９００から０である。この場合、遅延変動量ｄｔは０（ｐｓ）である。また、分割領域２では、電源電圧ＶＤＥの変動量は−０．０２（Ｖ）となっている。この場合、遅延変動係数は、ＩＢＩＳデータ８００の［遅延変動係数］のＲｉｓｅ波形における領域１のテーブル９００から０．０１である。したがって、遅延変動量ｄｔは、式（２）を使用して３（ｐｓ）と求められる。
（遅延変動量ｄｔ（ｐｓ））＝（分割領域の時間間隔（ｐｓ））×遅延変動係数
・・・  （２）
【００６９】
この遅延変動量ｄｔは、ＩＢＩＳデータ８００から読み出した［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］に反映する。具体的には、遅延変動量ｄｔだけ［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］の立ち上がり時間を遅らせるように［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］のＶＴテーブルを変更する。
【００７０】
また、分割領域３では、電源電圧ＶＤＥの変動量は−０．０６（Ｖ）となっている。この場合、遅延変動係数は、ＩＢＩＳデータ８００の［遅延変動係数］のＲｉｓｅ波形における領域１のテーブル９００から０．０５である。したがって、遅延変動量ｄｔは、式（２）を使用して１５（ｐｓ）と求められる。この遅延変動量ｄｔも、ＩＢＩＳデータ８００から読み出した［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］に反映する。
【００７１】
以上のようにして、電源電圧ＶＤＥの変動量に対応する出力信号の遅延変動量が、出力信号１５０３の立ち上がり時間ｔに反映されていく。その結果、出力信号の立ち上がり時間ｔｎは、ｔｎ’’に修正される。
【００７２】
図１６は、図５に示したＩ／Ｏ回路５０１を含むＬＳＩチップ５１０の動作についてのシミュレーション処理を示すフローチャートである。
回路解析装置１００の使用者が、入力手段を使用して、所定の文法にしたがって記載されたスパイス・カード（Ｓｐｉｃｅ  Ｃａｒｄ）を入力すると、回路解析装置１００は、入力されたスパイス・カードから解析対象の回路情報などを取得する（ステップＳ１６０１）。このスパイス・カードには、本シミュレーションが終了するまでの時間である解析時間Ｔ、図５に示したＬＳＩチップ５１０、以下「対象装置」という、についての構成情報、およびＩＢＩＳデータ８００等のライブラリの格納場所などが含まれる。スパイス・カードは、ＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）の記述にしたがって記載することができる。
【００７３】
ステップＳ１６０１で対象装置の回路情報を取得すると、回路解析装置１００は、取得した対象装置の回路情報にしたがって、対象装置についての回路方程式を生成する（ステップＳ１６０２）。すると、回路解析装置１００は、時間ｔを０に初期化し、各分割領域の終了時間を表すｔｉに分割領域１の終了時間ｔ１を設定する（ステップＳ１６０３）。そして、回路解析装置１００は、ステップＳ１６０２で生成した回路方程式から時間ｔにおける対象装置の各ノードの電流・電圧を算出する（ステップＳ１６０４）。
時間ｔ＝０における対象装置の各ノードの電流・電圧を算出すると、回路解析装置１００は、時間ｔにΔｔだけ加算した値を時間ｔに設定する（ステップＳ１６０５）。
【００７４】
時間ｔが時間ｔｉ以下の場合（ステップＳ１６０６  ＮＯ）、回路解析装置１００は、処理をステップＳ１６０４に移行して、ステップＳ１６０４−Ｓ１６０６の処理を繰り返す。そして、時間ｔが時間ｔｉを超えると（ステップＳ１６０６  ＹＥＳ）、回路解析装置１００は、ステップＳ１６０４で算出したノード電圧のうち、Ｉ／Ｏ回路５０１に与える電源電圧ＶＤＥの分割領域１における変動量の平均値を算出する（ステップＳ１６０７）。
【００７５】
例えば、Ｉ／Ｏ回路５０１に与える電源電圧ＶＤＥの時間ｔ（≠０）における変動量ΔＶは、時間ｔ＝０のときにステップＳ１６０４で算出した電源電圧ＶＤＥと、時間ｔのときにステップＳ１６０４で算出した電源電圧ＶＤＥと、の差から求めることができる。したがって、Ｉ／Ｏ回路５０１に与える電源電圧ＶＤＥの分割領域１における変動量ΔＶの平均値は、図１７に例示するように、分割領域１の開始時間ｔ０における電源電圧の変動量ΔＶ０と分割領域１の終了時間ｔ１における電源電圧の変動量ΔＶ１の和を２で除算することで得られる。
【００７６】
電源電圧ＶＤＥの変動量の平均値を算出すると、回路解析装置１００は、処理をステップＳ１６０８に移行する。そして、回路解析装置１００は、ステップＳ１６０７で算出した電源電圧ＶＤＥの変動量の平均値に対応する遅延変動係数を、スパイス・カードで指定されたＩＢＩＳデータ８００から読み出した［遅延変動係数］に含まれる分割領域１のテーブルから取得する（ステップＳ１６０８）。そして、回路解析装置１００は、ステップＳ１６０８で取得した遅延変動係数と、分割領域１の時間間隔、例えば、３００（ｐｓ）と、から式（２）を使用して遅延変動量ｄｔ（ｐｓ）を算出する（ステップＳ１６０９）。
【００７７】
遅延変動量ｄｔを算出すると、回路解析装置１００は、遅延変動量ｄｔをＩＢＩＳデータ８００から読み出した［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］または［Ｆａｌｌｉｎｇ  Ｗａｖｅｆｏｒｍ］に反映する（ステップＳ１６１０）。
【００７８】
例えば、ステップＳ１６０９で算出した遅延変動量ｄｔが４００（ｐｓ）であったとする。また、ＩＢＩＳデータ８００から読み出した［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］のＶＴテーブルが以下のようであったとする。
【００７９】
（１）遅延変動量ｄｔ反映前の［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］のＶＴテーブル
Ｔｉｍｅ            Ｖ（ｔｙｐ）        Ｖ（ｍｉｎ）        Ｖ（ｍａｘ）
０．００００ｎｓ  ２５．２１００ｍＶ  １５．２２００ｍＶ  ４３．５７００ｍＶ
０．２０００ｎｓ    ２．３３２５ｍＶ  −８．５０９０ｍＶ  ２３．４１５０ｍＶ
０．４０００ｎｓ    ０．１４８４Ｖ    １５．９３７５ｍＶ    ０．３９４４Ｖ
０．６０００ｎｓ    ０．７７９９Ｖ      ０．２６７３Ｖ      １．３４００Ｖ
０．８０００ｎｓ    １．２９６０Ｖ      ０．６０４２Ｖ      １．９４９０Ｖ
・・・              ・・・              ・・・              ・・・
【００８０】
この場合、ステップＳ１６１０において、回路解析装置１００は、次のように、遅延変動量ｄｔ＝４００（ｐｓ）（＝０．４０００（ｎｓ））だけ上記ＶＴテーブルに含まれる電圧値を遅延方向にシフトさせる。
【００８１】
（２）遅延変動量ｄｔ反映後の［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］のＶＴテーブル
Ｔｉｍｅ        Ｖ（ｔｙｐ）        Ｖ（ｍｉｎ）        Ｖ（ｍａｘ）
０．００００ｎｓ  ２５．２１００ｍＶ  １５．２２００ｍＶ  ４３．５７００ｍＶ
０．２０００ｎｓ  ２５．２１００ｍＶ  １５．２２００ｍＶ  ４３．５７００ｍＶ
０．４０００ｎｓ  ２５．２１００ｍＶ  １５．２２００ｍＶ  ４３．５７００ｍＶ
０．６０００ｎｓ    ２．３３２５ｍＶ  −８．５０９０ｍＶ  ２３．４１５０ｍＶ
０．８０００ｎｓ    ０．１４８４Ｖ    １５．９３７５ｍＶ    ０．３９４４Ｖ
１．００００ｎｓ    ０．７７９９Ｖ      ０．２６７３Ｖ      １．３４００Ｖ
１．２０００ｎｓ    １．２９６０Ｖ      ０．６０４２Ｖ      １．９４９０Ｖ
・・・              ・・・              ・・・              ・・・
【００８２】
ステップＳ１６１１において、計算していない分割領域がある場合（ステップＳ１６１１  ＮＯ）、回路解析装置１００は、時間ｔｉに次の分割領域の終了時間、例えば、次の分割領域が分割領域２であった場合は時間ｔ２を設定する（ステップＳ１６１２）。そして、回路解析装置１００は、処理をステップＳ１６０４に移行して、ステップＳ１６０４−Ｓ１６１１の処理を繰り返す。
【００８３】
一方、全ての分割領域について計算した場合（ステップＳ１６１１  ＹＥＳ）、回路解析装置１００は、Δｔ毎に時間Ｔになるまで、ステップＳ１６０２で生成した回路方程式から時間ｔにおける対象装置の各ノードの電流・電圧を算出する（ステップＳ１６１３）。そして、回路解析装置１００は、以上の処理で算出した対象装置の各ノードの電流・電圧の時間変化を決められたフォーマットで出力装置などに出力して処理を終了する（ステップＳ１６１４）。
【００８４】
図１８は、本実施例に係る回路解析装置１００の構成例を示す図である。
図１８に示す回路解析装置１００は、ＣＰＵ１８０１と、メモリ１８０２と、入力装置１８０３と、出力装置１８０４と、外部記憶装置１８０５と、媒体駆動装置１８０６と、ネットワーク接続装置１８０８と、を備える。そして、これらの装置がバスに接続されて相互にデータの受け渡しが行える構成となっている。
【００８５】
ＣＰＵ１８０１は、周辺機器や各種ソフトウェアを実行する他に本実施例に係る回路解析、例えば、図１４や図１６に示した処理を実現するプログラムを実行する演算装置である。メモリ１８０２は、プログラムを実行するために使用される揮発性の記憶装置である。メモリ１８０２には、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを使用することができる。
【００８６】
入力装置１８０３は、外部からのデータ入力手段である。入力装置１８０３には、例えば、キーボードやマウスなどを使用することができる。出力装置１８０４は、データ等を表示装置等に出力する装置である。なお、出力装置１８０４には、表示装置を含むこともできる。
【００８７】
外部記憶装置１８０５は、回路解析装置１００が動作するために必要なプログラムやデータの他に本実施例に係る回路解析を実現するプログラムを記憶する不揮発性の記憶装置である。外部記憶装置１８０５には、例えば、磁気ディスク記憶装置などを使用することができる。媒体駆動装置１８０６は、メモリ１８０２や外部記憶装置１８０５のデータを可搬記憶媒体１８０７、例えば、フロッピイディスクやＭＯディスク、ＣＤ−ＲやＤＶＤ−Ｒなどに出力し、または可搬記憶媒体１８０７からプログラムやデータ等を読み出す装置である。ネットワーク接続装置１８０８は、ネットワーク１８０９に接続する装置である。
【００８８】
なお、図１８に示した構成は、回路解析装置１００の構成の一例である。したがって、必要に応じて、図１８に示した構成要素のいずれかを省略してもよいし、図１８に示していない構成要素を追加してもよい。また、メモリ１８０２、外部記憶装置１８０５および可搬記憶媒体１８０７などの情報処理装置に読取り可能な記憶媒体には、非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な媒体を使用することができる。
【００８９】
以上の説明では、ＩＢＩＳデータ８００の生成処理と、ＩＢＩＳデータ８００を使用したシミュレーション処理と、を行なう回路解析装置１００がについて例示した。しかし、ＩＢＩＳデータ８００の生成処理と、ＩＢＩＳデータ８００を使用したシミュレーション処理と、を同じ装置で行なうことに限定する趣旨ではない。例えば、回路解析装置１００は、ＩＢＩＳデータ８００の生成処理だけを行なってもよいし、ＩＢＩＳデータ８００を使用したシミュレーション処理だけを行なってもよい。回路解析装置１００が、ＩＢＩＳデータ８００の生成処理だけを行なう場合、回路モデル生成装置ということもできる。
【００９０】
以上に述べたように、回路解析装置１００は、プレ・バッファ５０５における電源電圧の変動量に対するＩ／Ｏ回路５０１の出力信号の遅延変動の割合を示す［遅延変動係数］を含むＩＢＩＳデータ８００を生成する。これにより、回路解析装置１００は、次のような処理を行なうことができる。
【００９１】
すなわち、回路解析装置１００は、ＩＢＩＳデータ８００を使用してＩ／Ｏ回路５０１の入出力応答を計算する。このとき、回路解析装置１００は、［遅延変動係数］を使用して、プレ・バッファ５０５に与えられる電源電圧の変動量Δに応じた出力信号の遅延変動量を算出する。そして、回路解析装置１００は、算出した遅延変動量に応じて、［Ｒｉｓｉｎｇ  Ｗａｖｅｆｏｒｍ］または［Ｆａｌｌｉｎｇ  Ｗａｖｅｆｏｒｍ］の立ち上がりまたは立ち下がり開始のタイミングを調整する。これにより、回路解析装置１００は、ＩＢＩＳデータ８００を使用して、従来は考慮されていなかったプレ・バッファ５０５での電源電圧変動による出力信号の遅延を考慮したＩ／Ｏ回路５０１の入出力応答を計算することができる。
【００９２】
その結果、例えば、回路解析装置１００は、図５に例示したＬＳＩチップ５１０を動作させたときに生じるＳＳＯノイズによる電源電圧の変動が、Ｉ／Ｏユニット５００に含まれるＩ／Ｏ回路５０１の出力信号に与える影響を、ＩＢＩＳデータを使用して正確に計算することができる。したがって、回路解析装置１００は、ＬＳＩチップ５１０を動作させたときにＩ／Ｏユニット５００から出力される出力信号のタイミング解析を、ＩＢＩＳデータを使用して正確に行なうことができる。
【００９３】
また、回路解析装置１００は、ＩＢＩＳデータ８００を使用して、入出力応答を計算することができるので、ネットリスト等を使用した場合と比較して大幅に計算時間を短縮できる。したがって、回路解析装置１００は、ＬＳＩチップ５１０を動作させたときにＩ／Ｏユニット５００から出力される出力信号のタイミング解析を、ＩＢＩＳデータを使用してより短時間に行なうことができる。
【００９４】
以上のように、回路解析装置１００は、電源電圧の変動を考慮した回路解析をより正確かつ短時間に行なうことができる回路モデルを表すＩＢＩＳデータ８００を生成することができる。
【００９５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
入出力回路内に直列に接続された複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報を生成する生成手段と、
生成した前記遅延変動情報を、前記入出力回路についての回路モデルであるＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データに記憶する記憶処理手段と、
を備える回路モデル生成装置。
（付記２）
前記生成手段は、集積回路の出力端に接続され、前記集積回路からの入力信号を前記集積回路の接続先の装置に出力する前記入出力回路の出力端を微小容量のコンデンサを介して接地した情報生成用回路モデルを使用して、前記情報生成用回路モデルに一定の電源電圧を与えた状態で入力信号を入力したときの出力信号と、前記情報生成用回路モデルに与えた電源電圧に変動を与えた状態で入力信号を入力したときの出力信号と、の差分から前記遅延変動情報を生成する、
ことを特徴とする付記１に記載の回路モデル生成装置。
（付記３）
前記生成手段は、前記入出力回路に入力信号が与えられてから出力信号が出力されるまでの遅延期間を複数の期間に分割した前記期間毎に、前記情報生成用回路モデルに一定の電源電圧を与えた状態で入力信号を入力したときの出力信号と、前記情報生成用回路モデルに与えた電源電圧に所定の変動を与えた状態で入力信号を入力したときの出力信号と、の差分から前記プレ・バッファ部に与えられる電源電圧の変動量に対する出力信号の遅延変動の割合を計算して前記遅延変動情報を生成する、
ことを特徴とする付記２に記載の回路モデル生成装置。
（付記４）
前記遅延変動情報は、前記入出力回路に入力信号が与えられてから出力信号が出力されるまでの遅延期間を複数の期間に分割した前記期間毎に、前記期間に前記プレ・バッファ部に与えられる電源電圧に変動があった場合の電源電圧の変動量に対する出力信号の遅延変動の割合を示す、
ことを特徴とする付記１に記載の回路モデル生成装置。
（付記５）
入出力回路内に直列に接続された複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報を生成し、
生成した前記遅延変動情報を、前記入出力回路についての回路モデルであるＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データに記憶する、
処理を行なう回路モデル生成方法。
（付記６）
入出力回路内に直列に接続された複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報を生成し、
生成した前記遅延変動情報を、前記入出力回路についての回路モデルであるＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データに記憶する、
処理を情報処理装置に実行させるためのプログラム。
（付記７）
集積回路が有する出力端それぞれに接続され、前記集積回路からの入力信号を前記集積回路の接続先の装置に出力する入出力回路の入出力応答を解析する回路解析装置において、
複数のバッファ回路が直列に接続された前記入出力回路において、前記複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報と、出力信号の立ち上がりまたは立ち下がり特性を表す特性情報と、を含むＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データを記憶する記憶手段と、
前記ＩＢＩＳデータに含まれる遅延変動情報を使用して、前記入出力回路に与える電源電圧の変動量に対応する出力信号の遅延量を算出する算出手段と、
前記算出した遅延量に応じて、前記ＩＢＩＳデータに含まれる前記特性情報における出力信号の立ち上がりまたは立ち下がりのタイミングを調整する調整手段と、
を備える回路解析装置。
（付記８）
前記遅延変動情報は、前記入出力回路に入力信号が与えられてから出力信号が出力されるまでの遅延期間を複数の期間に分割した前記期間毎に、前記期間に前記プレ・バッファ部に与えられる電源電圧に変動があった場合の電源電圧の変動量に対する出力信号の遅延変動の割合を示す、
ことを特徴とする付記７に記載の回路解析装置。
（付記９）
前記算出手段は、前記期間毎に、前記期間における電源電圧の変動量の平均値に対する出力信号の遅延量を前記遅延変動情報から算出する、
ことを特徴とする付記８に記載の回路解析装置。
（付記１０）
前記調整手段は、前記期間毎に算出した遅延量の総和だけ、前記特性情報に含まれる出力信号の立ち上がり時間または立ち下がり開始時間を遅らせる、
ことを特徴とする付記７に記載の回路解析装置。
（付記１１）
集積回路が有する出力端それぞれに接続され、前記集積回路からの入力信号を前記集積回路の接続先の装置に出力する入出力回路の入出力応答を解析する回路解析方法において、
複数のバッファ回路が直列に接続された前記入出力回路において、前記複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報と、出力信号の立ち上がりまたは立ち下がり特性を表す特性情報と、を含むＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データを記憶する記憶手段から前記ＩＢＩＳデータを読出し、
前記ＩＢＩＳデータに含まれる遅延変動情報を使用して、前記入出力回路に与える電源電圧の変動量に対応する出力信号の遅延量を算出し、
前記算出した遅延量に応じて、前記ＩＢＩＳデータに含まれる前記特性情報における出力信号の立ち上がりまたは立ち下がりのタイミングを調整する、
処理を行なう回路解析方法。
（付記１２）
集積回路が有する出力端それぞれに接続され、前記集積回路からの入力信号を前記集積回路の接続先の装置に出力する入出力回路の入出力応答を解析するためのプログラムにおいて、
複数のバッファ回路が直列に接続された前記入出力回路において、前記複数のバッファ回路のうち前記入出力回路の出力端と接続する出力段のバッファ回路以外のバッファ回路を含むプレ・バッファ部に与えられる電源電圧の変動量に対する前記入出力回路の出力信号の遅延変動の割合を示す遅延変動情報と、出力信号の立ち上がりまたは立ち下がり特性を表す特性情報と、を含むＩＢＩＳ（Ｉ／Ｏ  Ｂｕｆｆｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）データを記憶する記憶手段から前記ＩＢＩＳデータを読出し、
前記ＩＢＩＳデータに含まれる遅延変動情報を使用して、前記入出力回路に与える電源電圧の変動量に対応する出力信号の遅延量を算出し、
前記算出した遅延量に応じて、前記ＩＢＩＳデータに含まれる前記特性情報における出力信号の立ち上がりまたは立ち下がりのタイミングを調整する、
処理を情報処理装置に実行させるためのプログラム。
【符号の説明】
【００９６】
１００      回路解析装置
５００      Ｉ／Ｏユニット
５０１      Ｉ／Ｏ回路
８００      ＩＢＩＳデータ
９００      ［遅延変動係数］
【図１】
2014135033.tif 000003
【図５】
2014135033.tif 000004
【図６】
2014135033.tif 000005
【図７】
2014135033.tif 000006
【図８】
2014135033.tif 000007
【図９】
2014135033.tif 000008
【図１０】
2014135033.tif 000009
【図１１】
2014135033.tif 000010
【図１２】
2014135033.tif 000011
【図１３】
2014135033.tif 000012
【図１４】
2014135033.tif 000013
【図１５】
2014135033.tif 000014
【図１６】
2014135033.tif 000015
【図１７】
2014135033.tif 000016
【図１８】
2014135033.tif 000017
【図２】
2014135033.tif 000018
【図３】
2014135033.tif 000019
【図４】
2014135033.tif 000020