以下に添付図面を参照して、本発明による設計支援プログラム、設計支援装置、および設計支援方法の好適な実施の形態を詳細に説明する。
図1は、本発明の一実施例を示す説明図である。本開示技術では、まず、任意の駆動能力の値と、任意の集中定数容量の値と、集中定数容量の値の一部である任意の入力容量の値と、当該駆動能力の値と当該集中定数容量の値に基づく第1の遅延時間が入力される。つぎに、入力された任意の駆動能力の値と、任意の集中定数容量の値と、入力容量の値と、を回路モデルへ設定する。そして、設定された回路モデルを、アナログ回路をシミュレーションするシミュレータへ与える。つぎに、シミュレータによりシミュレーションされた当該回路モデルの第2の遅延時間と、第1の遅延時間との時間差を遅延時間の補正係数として算出する。そして、算出された遅延時間の補正係数を、駆動能力の値と、集中定数容量の値と、入力容量の値とに関連付けて記憶装置に記憶する。
そして、設計対象回路の回路情報を記憶装置から読み込み、設計対象回路の中から、任意のセルを対象セルに選択する。つぎに、対象セルの駆動能力の値と、対象セルに接続されている配線の配線容量および対象セルの出力先であるセルの入力容量に基づいて、記憶装置から遅延時間の補正係数を取得して、対象セルの遅延時間を補正する。
これにより、遅延時間を適正化可能な遅延時間の補正係数を自動で算出することができる。したがって、利用者が、設計対象回路の内のセルの遅延時間を、遅延時間の補正係数を用いて補正することで、当該セルの駆動能力およびセルの出力先であるセルに応じてセルの遅延時間を適正化することができる。そして、遅延時間の見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を検証することができ、検証精度を向上させることができる。つぎに、図2にて非線形波形の出力波形の一例を示す。
図2−1は、非線形な出力波形の一例を示す説明図である。グラフ200は、縦軸を電圧[V]、横軸を時間[psec]として、セルに入力波形を入力した場合の出力波形1と出力波形2を示している。ここでのセルは、バッファである。グラフ200では、入力波形が電圧の立ち上がり波形の場合の出力波形を示している。入力波形は、0[V]から0.8[V]までの立ち上がり変化である。
そして、出力波形1では、入力波形と同様に0[V]から0.8[V]まで線形に立ち上がっている。しかしながら、出力波形2では、0[V]から0.8[V]まで段階的に立ち上がり、線形に立ち上がっていない。したがって、出力波形2が、非線形な出力波形である。つぎに、図2−2にて上述した出力先セルのゲートサイズの影響を示す。
図2−2は、出力先セルのゲートサイズによるリンギングの変化の一例を示す説明図である。グラフ201とグラフ202は、バッファの出力波形である。グラフ201の波形を出力するバッファとグラフ202の波形を出力するバッファは同一バッファである。そして、グラフ201の波形を出力するバッファの出力先セルのゲートサイズを示すチャネル幅Wを1とした場合、グラフ202の波形を出力するバッファの出力先セルのチャネル幅Wは10倍である。グラフ201の出力波形と比較してグラフ202の出力波形では、波形の歪み(リンギング)が大きい。チャネル幅Wによりゲートの入力容量が変化するため、同一バッファであっても出力先セルの入力容量によりバッファの出力波形が異なる。つぎに、図2−3にて、電圧に応じてリンギングの比率が大きくなる一例を示す。
図2−3は、電圧時に応じてリンギングの比率が大きくなる一例を示す説明図である。グラフ203では、入力波形が0Vから1.2Vの場合の出力波形5と、入力波形が0Vから1.0Vの場合の出力波形6と、入力波形が0Vから0.8Vの場合の出力波形7と、を示している。ここでのセルは、すべてバッファである。出力波形5と、出力波形6と、出力波形7とでは、リンギングが同様に発生しているため、出力波形7は出力波形5および出力波形6と比較してリンギングの割合が多くなっている。したがって、入力電圧が低い場合、リンギングによる影響が大きい。つぎに、セルの駆動能力が低下する場合の一例を示す。
図2−4は、駆動能力による出力波形の影響の一例を示す説明図である。グラフ204の出力波形8を出力するバッファは、グラフ205の出力波形9を出力するバッファよりも駆動能力が高いバッファである。出力波形8では、リンギングが振幅しているが、出力波形9では、リンギングが振幅せずに、非線形な波形になっている。駆動能力は、PTV条件によっても低下することがある。したがって、同一バッファであってもPTV条件によっては出力波形9のように出力波形が非線形となる。
したがって、設計対象回路内の任意のセルの出力先セルの入力容量の値と、任意のセルの駆動能力の値と、PTV条件とによっては、当該任意のセルの出力波形が非線形となる。本開示技術では、設計対象回路の遅延時間を算出するに先だって、設計対象回路内のセルごとに遅延時間および出力スルーを補正可能な補正係数を用意することで、該セルの遅延時間および出力スルーを適正化することができる。出力波形が非線形となる原因である入力容量の値と、駆動能力の値と、PTV条件とを、補整係数を算出するための回路モデルに設定することで、出力波形が非線形となる検証を実施することができる。
まず、実施の形態1〜2では、遅延時間の補正係数および出力スルーの補正係数を算出する例を示す。つぎに、実施の形態3〜8では、算出された遅延時間の補正係数および出力スルーの補正係数を用いて、設計対象回路内のセルの遅延時間または出力スルーを補正して適正化する例を示す。
(実施の形態1)
実施の形態1では、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルが自動で作成される例を示す。まず、図3にて実施の形態1の一例を示す。
図3は、実施の形態1の一例を示す説明図である。実施の形態1では、任意の入力スルーの値と、任意の駆動能力の値と、任意の集中定数容量の値と、を回路モデル1に設定し、アナログ回路をシミュレーションするシミュレータ(以下、「シミュレータ」と省略する)に与える。そして、当該シミュレータのシミュレーションにより得られた回路モデル1の第1の遅延時間および第1の出力スルーを取得する。第1の遅延時間とは、たとえば、P0の波形の電圧が50%の箇所からP2の波形の電圧が50%の箇所までの時間である。そして、第1の出力スルーとは、たとえば、P1の波形の電圧が20%の箇所からP1の波形の電圧が80%の箇所までの時間である。
さらに、当該入力スルーの値と、当該駆動能力の値と、当該集中定数容量の値と、当該集中定数容量の値の一部である入力容量の値と、を回路モデル2に設定してシミュレータに与える。そして、当該シミュレータのシミュレーションにより得られた回路モデル2の第2の遅延時間および第2の出力スルーを取得する。第2の遅延時間とは、P0の波形の電圧が50%の箇所からP2の波形の電圧が50%の箇所までの時間である。そして、第2の出力スルーとは、P2の波形の電圧が20%の箇所からP2の波形の電圧が80%の箇所までの時間である。
そして、第1の遅延時間と第2の遅延時間との相対的な評価値を遅延時間の補正係数とし、入力スルーの値と、駆動能力の値と、集中定数容量の値と、入力容量の値と関連付けてテーブルし、ライブラリの一部として記憶装置へ格納する。さらに、第1の出力スルーおよび第2の出力スルーとの相対的な評価値を出力スルーの補正係数とし、入力スルーの値と、駆動能力の値と、集中定数容量の値と、入力容量の値と関連付けてテーブルし、ライブラリの一部として記憶装置へ格納する。なお、回路モデル1は、従来の技術であるため説明を省略し、回路モデル1を用いて得られる第1の遅延時間および第1の出力スルーはあらかじめ記憶装置に記憶されているとする。
ここで、回路モデル2の詳細について説明する。回路モデル2では、バッファの駆動能力の値と、入力スルーと、負荷容量を示す集中定数容量の値と、集中定数容量の値の一部である入力容量の値が設定可能である。さらに、入力波形、PTV条件が設定可能である。実施の形態1ではバッファを利用しているが、その他の機能のセルであってもよい。
駆動能力の値と、入力スルーと、負荷容量を示す集中定数容量と、集中定数容量の一部である入力容量と、PTV条件と、の回路モデル2へ設定される値の一例を下記に示す。
・駆動能力の値:1,2,4,8,16,32
・入力波形:立ち下がり、立ち上がり
・PTV条件:TYPICAL条件(以下、「TYP条件」)、FAST条件、SLOW条件
・入力スルー[psec]:0.6,6,60,600
・集中定数容量の値[fF]:8,16,32,64,128
・入力容量の値[fF]:2,4,8,16,32
駆動能力の値は6条件であり、入力波形は2条件であり、PTV条件は3条件であり、入力スルーは4条件であり、集中定数容量の値は5条件であり、入力容量の値は5条件である。そして、それぞれの組合せに対して第2の遅延時間が算出されるため、合計は3600条件である。
ここで、駆動能力の値に関して具体的に説明する。回路モデル2では、バッファが記述されている。駆動能力の値を回路モデル2に設定するとは、当該バッファのモデルが変更されている。同一ライブラリ内には、複数のバッファが用意されている。そして、複数のバッファ内で最も駆動能力の弱いバッファを1としたときに、当該バッファの駆動能力が何倍であるかによって各バッファの駆動能力の値が決定される。たとえば、回路モデル2に該回路モデル2内に定義されている駆動能力の値へ2が設定されるとは、回路モデル2へ最も弱い駆動能力のバッファと比較して2倍の駆動能力であるバッファが設定される。なお、回路モデル2では、バッファを例に挙げているが、バッファに限らずその他の機能のセルであってもよい。
入力容量の値とは、出力先セルの入力容量の値を示している。PTV条件の具体例については、後述する。図4にて集中定数容量の値と入力容量の値との相関関係を示す。
図4は、集中定数容量の値と入力容量の値の一例を示す説明図である。テーブル400は、入力容量401と、集中定数容量402と、配線容量403とを含む構成である。入力容量401では、集中定数容量の一部である入力容量の値を有し、集中定数容量402では、集中定数容量の値を有し、配線容量403では、集中定数容量の一部である配線容量の値を有している。たとえば、入力容量401が2、かつ集中定数容量402が16の場合、配線容量403は、14である。そして、集中定数容量の値および入力容量の値に基づいてテーブル400から配線容量の値が読み出され、回路モデル2へ設定される。なお、図4にて示されている入力容量401および集中定数容量402の値は、一例であり、これに限らず。
(設計支援装置のハードウェア構成)
図5は、実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。図5において、設計支援装置は、CPU(Central Processing Unit)501と、ROM(Read‐Only Memory)502と、RAM(Random Access Memory)503と、磁気ディスクドライブ504と、磁気ディスク505と、光ディスクドライブ506と、光ディスク507と、ディスプレイ508と、I/F(Interface)509と、キーボード510と、マウス511と、スキャナ512と、プリンタ513と、を備えている。また、各構成部はバス500によってそれぞれ接続されている。
ここで、CPU501は、設計支援装置の全体の制御を司る。ROM502は、設計支援プログラムやアナログ回路をシミュレーション可能なシミュレータを記憶している。RAM503は、CPU501のワークエリアとして使用される。磁気ディスクドライブ504は、CPU501の制御にしたがって磁気ディスク505に対するデータのリード/ライトを制御する。磁気ディスク505は、磁気ディスクドライブ504の制御で書き込まれたデータを記憶する。
光ディスクドライブ506は、CPU501の制御にしたがって光ディスク507に対するデータのリード/ライトを制御する。光ディスク507は、光ディスクドライブ506の制御で書き込まれたデータを記憶したり、光ディスク507に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ508は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ508は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F509は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク514に接続され、このネットワーク514を介して他の装置に接続される。そして、I/F509は、ネットワーク514と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F509には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード510は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス511は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ512は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ512は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ513は、画像データや文書データを印刷する。プリンタ513には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(設計支援装置の機能的構成)
つぎに、図6は、設計支援装置の機能的構成を示すブロック図である。設計支援装置600は、回路モデル情報入力部601と、設定部602と、取得部603と、評価値算出部604と、格納部605と、抽出部606と、補正式算出部607と、対象セル情報入力部608と、検索部609と、補正後時間算出部610と、判断部611と、補正係数算出部612と、変換部613と、出力部614と、を含む構成である。各機能(回路モデル情報入力部601〜出力部614)は、具体的には、たとえば、図5に示したROM502、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶されたプログラムをCPU501に実行させることにより、または、I/F509により、その機能を実現する。
まず、回路モデル情報入力部601は、回路モデルに定義されている駆動能力の値と、集中定数容量の値と、当該集中定数容量の一部である入力容量の値とを入力し、当該駆動能力の値および当該集中定数容量の値に基づく回路モデルの第1の遅延時間を入力する機能を有する。具体的には、たとえば、利用者が、駆動能力の値と、集中定数容量の値と、当該集中定数容量の一部である入力容量の値とを入力する。さらに、利用者が、駆動能力の値と集中定数容量の値とに基づく第1の遅延時間および第1の出力スルーを入力する。
具体的には、たとえば、利用者(設計者、検証者、またはライブラリの作成者)が、上述した駆動能力の値から任意の駆動能力の値と、上述したから任意の集中定数容量の値と、上述した入力容量の値から任意の入力容量の値を入力する。さらに、立ち上がりまたは立ち下がりのいずれか一方の入力波形の情報と、上述したPTV条件から任意のPTV条件と、上述した入力スルーから任意の入力スルーを入力する。そして、CPU501が、入力された駆動能力の値と、集中定数容量の値と、入力波形の情報と、PTV条件と、入力スルーとを受け付ける。
または、具体的には、たとえば、利用者が、複数の駆動能力の値と、複数の集中定数容量の値と、複数の入力容量の値と、複数の入力波形の情報と、複数のPTV条件と、複数の入力スルーとを入力する。そして、たとえば、CPU501が、複数の駆動能力の値と、複数の集中定数容量の値と、複数の入力容量の値と、複数の入力波形の情報と、複数のPTV条件と、複数の入力スルーとを受け付ける。さらに、CPU501が、任意の駆動能力と、任意の集中定数容量の値と、任意の入力容量の値と、任意の入力波形の情報と、任意のPTV条件と、任意の入力スルーを順次選択する。
さらに、第1の遅延時間は、従来技術であるためライブラリとして記憶装置に記憶されているとしてCPU501が、記憶装置から入力された条件に基づいて第1の遅延時間を読み出すとしてもよい。
つぎに、設定部602は、回路モデル情報入力部601により入力された駆動能力の値と、集中定数容量の値と、入力容量の値とを、回路モデルに設定する機能を有する。具体的には、たとえば、CPU501が、駆動能力の値と、集中定数容量の値と、入力容量の値と、入力波形の情報と、PTV条件と、入力スルーの入力を受け付けると、回路モデル2へ入力されたそれぞれを設定する。なお、設定された回路モデル2は、RAM503、磁気ディスク505などの記憶装置に記憶される。
つぎに、取得部603は、設定部602により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータのシミュレーションにより得られた前記回路モデルの第2の遅延時間を前記シミュレータから取得する機能を有する。さらに、取得部603は、設定部602により値が設定された回路モデルをシミュレータへ与えることにより、当該シミュレータのシミュレーションにより得られた前記回路モデルの第2の出力スルーをシミュレータから取得する機能を有する。
具体的には、たとえば、CPU501が、シミュレータにアクセスして、回路モデル2を当該シミュレータのシミュレーションすることで得られた回路モデル2の第2の遅延時間および第2の出力スルーを取得する。または、たとえば、CPU501が、シミュレータにより記憶装置に格納された回路モデル2の第2の遅延時間および第2の出力スルーを記憶装置にアクセスして読み出す。
つぎに、評価値算出部604は、回路モデル情報入力部601により入力された第1の遅延時間と取得部603により取得された第2の遅延時間との相対的な評価値を算出する機能を有する。さらに、評価値算出部604は、回路モデル情報入力部601により入力された第1の出力スルーと取得部603により取得された第2の出力スルーとの相対的な評価値を算出する機能を有する。
具体的には、たとえば、CPU501が、第1の遅延時間と第2の遅延時間との比率を算出し、評価値とする。下記式1にて遅延時間の時間差を示す。
遅延時間の評価値=第2の遅延時間/第1の遅延時間
・・・(1)
具体的には、たとえば、CPU501が、第1の出力スルーと第2の出力スルーとの比率を算出し、評価値とする。下記式2にて出力スルーの評価値を示す。
出力スルーの評価値=第2の出力スルー/第1の出力スルー
・・・(2)
図7−1にて第1の遅延時間と第2の遅延時間との比率により算出された時間を示し、図7−2にて第1の出力スルーと第2の出力スルーとの比率により算出された時間を示す。
図7−1は、第1の遅延時間と第2の遅延時間と遅延時間の補正係数の一例を示す説明図である。テーブル700では、第1の遅延時間を示し、テーブル701では、第2の遅延時間を示し、テーブル702では、遅延時間の補正係数を示している。テーブル700およびテーブル701では、各条件が、駆動能力の値が8で、入力波形が立ち上がりで、PTV条件が3条件で、入力スルーが4条件で、集中定数容量が全条件である。テーブル701では、さらに入力容量の値が16fFである。たとえば、PTV条件がBEST条件で、入力スルーが0.6psecで、集中定数容量が8である場合、第1の遅延時間は48であり、第2の遅延時間が49である。したがって、遅延時間の評価値は、上記式(1)より49/48で、よって1.02である。そして、ここで算出される遅延時間の評価値が、遅延時間の補正係数である。つぎに、図7−2にて第1の出力スルーと第2の出力スルーとの比率により算出された時間を示す。
図7−2は、第1の出力スルーと第2の出力スルーと出力スルーの補正係数の一例を示す説明図である。テーブル703では、第1の出力スルーを示し、テーブル704では、第2の出力スルーを示し、テーブル705では、出力スルーの補正係数を示している。テーブル703およびテーブル704では、各条件が、駆動能力の値が8で、入力波形が立ち上がりで、PTV条件が3条件で、入力スルーが4条件で、集中定数容量が全条件である。テーブル704では、さらに入力容量の値が16fFである。たとえば、PTV条件がBEST条件で、入力スルーが0.6で、集中定数容量が8である場合、第1の出力スルーは54であり、第2の出力スルーが76である。したがって、遅延時間の評価値は、上記式(1)より76/54で、よって1.42である。そして、ここで算出される出力スルーの評価値が、出力スルーの補正係数である。つぎに、第1の遅延時間から第2の遅延時間との時間差を評価値とする例について説明する。
具体的には、たとえば、CPU501が、第1の遅延時間から第2の遅延時間を減算し、減算結果の絶対値を遅延時間の評価値とする。そして、第1の出力スルーから第2の出力スルーを減算し、減算結果の絶対値を出力スルーの評価値とする。本実施の形態では具体的な例について省略する。
つぎに、具体的には、たとえば、CPU501が、テーブル700で示された第1の遅延時間とテーブル701で示された第2の遅延時間をそれぞれ線形近似して傾きをテーブル化する。そして、テーブル化された値から遅延時間の評価値を算出し、遅延時間の評価値を遅延時間の補正係数として遅延時間の補正係数のテーブル(以下、「遅延時間の補正テーブル」と称する。)を作成する。そして、出力スルーの補正係数のテーブル(以下、「出力スルーの補正テーブル」と称する。)も同様に算出することができる。これにより、容易にテーブルを作成することができる。
または、具体的には、たとえば、CPU501が、テーブル700で示された第1の遅延時間とテーブル701で示された第2の遅延時間をそれぞれ多項式により近似して近似線を算出する。つぎに、近似線の20%から50%までの波形から傾きを算出してテーブル化する。そして、テーブル化された値から遅延時間の評価値を算出し、遅延時間の評価値を遅延時間の補正係数として遅延時間の補正テーブルを作成する。そして、出力スルーの補正テーブルも同様に算出することができる。
または、具体的には、たとえば、CPU501が、テーブル700で示された第1の遅延時間とテーブル701で示された第2の遅延時間をそれぞれ指数近似して近似線を算出する。つぎに、近似線の20%から50%までの波形から傾きを算出してテーブル化する。そして、テーブル化された値から遅延時間の時間差を算出し、遅延時間の補正テーブルを作成する。そして、出力スルーの補正テーブルも同様に算出することができる。
つぎに、格納部605は、評価値算出部604により算出された時間差を、駆動能力の値と、集中定数容量の値と、入力容量の値に関連付けて遅延時間の補正係数として記憶装置へ記憶する機能を有する。具体的には、たとえば、CPU501が、遅延時間の補正係数を各条件と関連付けてライブラリとしてRAM503、磁気ディスク505などの記憶装置へ記憶する。これにより、遅延時間を適正化可能な遅延時間の補正係数および出力スルーの補正係数を自動で算出することができる。したがって、利用者が、設計対象回路の内のセルの遅延時間を、遅延時間の補正係数を用いて補正し、当該セルの出力スルーを出力スルーの補正係数を用いて補正することができる。よって当該セルの駆動能力およびセルの出力先であるセルに応じてセルの遅延時間を適正化することができる。
(実施の形態1にかかる設計支援装置の設計支援処理手順)
図8〜図10は、実施の形態1にかかる設計支援装置の設計支援処理手順の一例を示すフローチャートである。まず、図8では、立ち上がり入力波形が未処理か否かを判断し(ステップS801)、未処理であると判断された場合(ステップS801:Yes)、つぎに、入力波形を立ち上がり波形に設定する(ステップS802)。
一方、立ち上がり入力波形が未処理でないと判断された場合(ステップS801:No)、立ち下がり入力波形が未処理か否かを判断する(ステップS803)。そして、立ち下がり入力波形が未処理であると判断された場合(ステップS803:Yes)、入力波形を立ち下がり波形に設定する(ステップS804)。ステップS802またはステップS804のつぎに、回路モデル情報入力部601により、PTV条件を入力し(ステップS805)、回路モデル情報入力部601により、駆動能力の値を入力し(ステップS806)、回路モデル情報入力部601により、入力スルーの値を入力する(ステップS807)。つぎに、回路モデル情報入力部601により、集中定数容量の値を入力し(ステップS808)、回路モデル情報入力部601により、入力容量の値を入力する(ステップS809)。
ステップS809のつぎに、図9に移って、未選択のPTV条件があるか否かを判断する(ステップS810)。未選択のPTV条件があると判断された場合(ステップS810:Yes)、未選択のPTV条件から1つのPTV条件を選択する(ステップS811)。一方、未選択のPTV条件がないと判断された場合(ステップS810:No)、ステップS803へ戻る。
ステップS811に戻って、ステップS811のつぎに、未選択の駆動能力の値があるか否かを判断する(ステップS812)。そして、未選択の駆動能力の値があると判断された場合(ステップS812:Yes)、未選択の駆動能力の値から1つの駆動能力の値を選択する(ステップS813)。一方、未選択の駆動能力の値がないと判断された場合(ステップS812:No)、ステップS810へ戻る。
ステップS813へ戻って、ステップS813のつぎに、未選択の入力スルーの値があるか否かを判断する(ステップS814)。そして、未選択の入力スルーの値があると判断された場合(ステップS814:Yes)、未選択の入力スルーの値から1つの入力スルーの値を選択する(ステップS815)。一方、未選択の入力スルーの値がないと判断された場合(ステップS814:No)、ステップS812へ戻る。
ステップS815へ戻って、ステップS815のつぎに、未選択の集中定数容量の値があるか否かを判断する(ステップS816)。そして、未選択の集中定数容量の値があると判断された場合(ステップS816:Yes)、未選択の集中定数容量の値から1つの集中定数容量の値を選択する(ステップS817)。一方、未選択の集中定数容量の値がないと判断された場合(ステップS816:No)、ステップS814へ戻る。
ステップS817へ戻って、ステップS817のつぎに、未選択の入力容量の値があるか否かを判断する(ステップS818)。そして、未選択の入力容量の値があると判断された場合(ステップS818:Yes)、未選択の入力容量の値から1つの入力容量の値を選択する(ステップS819)。一方、未選択の入力容量の値がないと判断された場合(ステップS818:No)、ステップS816へ戻る。
ステップS819へ戻って、ステップS819のつぎに、設定部602により、各条件を回路モデルへ設定し(ステップS820)、シミュレータを実行する(ステップS821)。
ステップS821のつぎに、図10に移って、取得部603により、第2の遅延時間および第2の出力スルーを取得し(ステップS822)、回路モデル情報入力部601により、各条件に基づく第1の遅延時間と第1の出力スルーを入力する(ステップS823)。なお、PTV条件と、入力波形と、駆動能力の値と、集中定数容量の値とに基づく遅延時間と出力スルーが記憶装置に記憶されている場合、記憶装置から各条件に基づいて第1の遅延時間と第1の出力スルーを取得してもよい。
つづいて、第1の遅延時間と第2の遅延時間との比率を算出し(ステップS824)、各条件と関連付け、テーブル化して保存する(ステップS825)。そして、第1の出力スルーと第2の出力スルーとの比率を算出し(ステップS826)、各条件と関連付け、テーブル化して保存し(ステップS827)、ステップS818へ戻る。一方、図8のステップS803において、立ち上がり入力波形が未処理でないと判断された場合(ステップS803:No)、一連の処理を終了する。本設計支援処理手順では、遅延時間の補正係数と遅延時間の出力スルーを同時に算出しているが、それぞれを別々に算出してもよい。
(実施の形態2)
実施の形態2では、実施の形態1により作成された遅延時間の補正係数のテーブルから遅延時間の補正式を自動で作成し、出力スルーの補正テーブルから出力スルーの補正式が自動で作成される例を示す。これにより、補正式を容易に作成することができ、補正式により遅延時間を補正することで、補正テーブルと比較して補正する処理時間を高速化することができる。なお、実施の形態1にて説明した構成と同一構成については同一符号を付して説明を省略する。図11にて実施の形態2の一例を示す。
図11は、実施の形態2の一例を示す説明図である。ここでは、遅延時間の補正式について説明する。実施の形態1において算出された遅延時間の補正係数のテーブルから駆動能力の値と、PTV条件と、入力波形と、入力容量の値と、入力スルーごとに補正係数を線形近似して遅延時間の補正式が算出される。たとえば、グラフ1100〜グラフ1102は、縦軸が補正係数であり横軸が集中定数容量の値Ctotalである。グラフ1100では、テーブル702からFAST条件、入力スルーが0.6である場合の遅延時間の補正係数が線形近似されて算出された補正式を示している。つぎに、グラフ1101では、テーブル702からSLOW条件、入力スルーが0.6である場合の遅延時間の補正係数が線形近似されて算出された補正式を示している。そして、グラフ1102では、テーブル702からTYP条件、入力スルーが0.6[psec]である場合の遅延時間の補正係数が線形近似されて算出された補正式を示している。R2は、遅延時間の補整係数と遅延時間の補正式との類似度を示している。R2が1であれば同一である。
実施の形態2では、設計支援装置の抽出部606と、補正式算出部607と、格納部605と、の機能により遅延時間の補正式および出力スルーの補正式を算出することができるため、抽出部606と、補正式算出部607と、格納部605と、の機能のみを説明する。
まず、抽出部606は、格納部605により格納された遅延時間の補正係数の中から回路モデル情報入力部601により入力された駆動能力の値と入力容量の値とに対応する遅延時間の補正係数を抽出する機能を有する。具体的には、たとえば、CPU501が、駆動能力の値と、入力容量の値と、入力波形と、PTV条件と、入力スルーに基づいてテーブル702から遅延時間の補正係数を抽出する。
また、抽出部606は、格納部605により格納された出力スルーの補正係数の中から回路モデル情報入力部601により入力された駆動能力の値と入力容量の値とに対応する出力スルーの補正係数を抽出する機能を有する。具体的には、たとえば、CPU501が、駆動能力の値と、入力容量の値と、入力波形と、PTV条件と、入力スルーに基づいてテーブル702から出力スルーの補正係数を抽出する。
つぎに、補正式算出部607は、抽出部606により抽出された遅延時間の補正係数を線形近似して補正式を算出する機能を有する。具体的には、たとえば、CPU501が、抽出された遅延時間の補正係数を線形近似して遅延時間の補正式を算出する。たとえば、算出された補正式では、集中定数容量の値Ctotalを代入することで遅延時間の補正係数を得ることができる。
また、補正式算出部607は、抽出部606により抽出された出力スルーの補正係数を線形近似して補正式を算出する機能を有する。具体的には、たとえば、CPU501が、抽出された出力スルーの補正係数を線形近似して出力スルーの補正式を算出する。たとえば、算出された補正式では、集中定数容量の値Ctotalを代入することで出力スルーの補正係数を得ることができる。
つぎに、格納部605は、補正式算出部607により算出された遅延時間の補正式を記憶装置へ格納する機能を有する。具体的には、たとえば、CPU501が、遅延時間の補正式を、駆動能力の値と、入力容量の値と、入力波形と、PTV条件と、入力スルーと関連付けてライブラリとしてRAM503、磁気ディスク505などの記憶装置へ記憶する。
また、格納部605は、補正式算出部607により算出された出力スルーの補正式を記憶装置へ格納する機能を有する。具体的には、たとえば、CPU501が、出力スルーの補正式を、駆動能力の値と、入力容量の値と、入力波形と、PTV条件と、入力スルーと関連付けてライブラリとしてRAM503、磁気ディスク505などの記憶装置へ記憶する。
これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、利用者が、遅延時間の補正式を用いて設計対象回路内のセルの遅延時間を補正することで容易にセルの遅延時間を適正化することができる。さらに、利用者が、出力スルーの補正式を用いて設計対象回路内のセルの出力スルーを補正することで容易にセルの出力スルーを適正化することができる。したがって、セルの遅延時間および出力スルーの見積もり精度を向上させることができ、検証精度を向上させることができる。
(実施の形態2にかかる設計支援装置の設計支援処理手順)
図12および図13は、実施の形態2にかかる設計支援装置の設計支援処理手順の一例を示すフローチャートである。図12では、遅延時間の補正式および出力スルーの補正式を算出する手順のみを示し、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルはあらかじめ記憶装置に記憶されているとして説明する。そして、入力容量の値が任意の入力容量の値である場合の設計支援処理手順について説明する。まず、遅延時間の補正係数のテーブルを取得する(ステップS1201)。たとえば、テーブル702が取得される。つぎに、出力スルーの補正係数のテーブルを取得する(ステップS1202)。たとえば、テーブル705が取得される。
つぎに、取得した遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルから未選択な駆動能力の値があるか否かを判断する(ステップS1203)。そして、未選択な駆動能力の値があると判断された場合(ステップS1203:Yes)、未選択な駆動能力の値から1つの駆動能力の値を選択する(ステップS1204)。
ステップS1204につづいて、取得した遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルから未選択なPTV条件があるか否かを判断する(ステップS1205)。未選択なPTV条件があると判断された場合(ステップS1205:Yes)、未選択なPTV条件から1つのPTV条件を選択する(ステップS1206)。一方、未選択なPTV条件がないと判断された場合(ステップS1205:No)、ステップS1203へ戻る。
ステップS1206に戻って、ステップS1206のつぎに、取得した遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルから未選択な入力波形があるか否かを判断する(ステップS1207)。そして、未選択な入力波形があると判断された場合(ステップS1207:Yes)、未選択な入力波形から1つの入力波形を選択する(ステップS1208)。一方、未選択な入力波形がないと判断された場合(ステップS1207:No)、ステップS1205へ戻る。
ステップS1208に戻って、ステップS1208のつぎに、取得した遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルから未選択な入力スルーがあるか否かを判断する(ステップS1209)。そして、未選択な入力スルーがあると判断された場合(ステップS1209:Yes)、未選択な入力スルーから1つの入力スルーを選択する(ステップS1210)。一方、未選択な入力スルーがないと判断された場合(ステップS1209:No)、ステップS1207へ戻る。
図13のステップS1210に戻って、ステップS1210のつぎに、選択された各条件に基づいて遅延時間の補正係数を抽出し(ステップS1211)、遅延時間の補正係数を線形近似して補正式を算出する(ステップS1212)。つぎに、各条件と関連付けて遅延時間の補正式を記憶装置へ格納する(ステップS1213)。つづいて、選択された各条件に基づいて出力スルーの補正係数を抽出し(ステップS1214)、出力スルーの補正係数を線形近似して補正式を算出する(ステップS1215)。そして、各条件と関連付けて出力スルーの補正式を記憶装置へ格納し(ステップS1216)、ステップS1209へ戻る。
一方、図12のステップS1203において、未選択な駆動能力の値がないと判断された場合(ステップS1203:No)、一連の処理を終了する。
(実施の形態3)
つぎに、実施の形態3について説明する。実施の形態3では、実施の形態1の機能により作成された遅延時間の補正係数のテーブルに基づいて設計対象回路内の任意のセルの遅延時間を補正する例を示す。なお、実施の形態1および2にて説明した構成と同一構成については同一符号を付して説明を省略する。まず、図14にて実施の形態3の一例を示す。
図14は、実施の形態3の一例を示す説明図である。まず、設計対象回路を記憶装置から読み出し、設計対象回路内の任意のセルを対象セルとする。つぎに、対象セルの機能と、対象セルの駆動能力の値と、対象セルの出力先セルの入力容量と、が特定される。そして、機能と駆動能力の値ごとに記憶装置に記憶されている遅延時間を、対象セルの機能と、駆動能力の値に基づいて読み出す。
さらに、遅延時間の補正テーブルから対象セルの駆動能力の値と、出力先セルの入力容量の値に基づいて遅延時間の補正係数を読み出す。そして、遅延時間の補正係数と補正前遅延時間に基づいて評価値を算出する。そして、評価値に基づいて補正するか否かを判断し、補正すると判断された場合、遅延時間の補正係数と補正前遅延時間とにより補正後遅延時間を算出する。
まず、セル1では、遅延時間の補正係数のテーブル内の遅延時間の補正係数とセル1の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正係数のテーブル内から検索された遅延時間の補正係数によりセル1の遅延時間を補正すると判断されている。
そして、セル2では、遅延時間の補正係数とセル2の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル2の遅延時間は補正する必要がないと判断される。これにより、適切な遅延時間の補正係数および出力スルーの補正係数に基づいて対象セルの遅延時間および対象セルの出力スルーを補正することができる。つぎに、図15にて設計対象回路内で示されるセルについて説明する。
(セルに関する情報)
図15は、セルに関する情報の一例を示す説明図である。テーブル1500では、機能1501と、セル名1502と、駆動能力1503と、入力容量1504とを含むセルに関する情報の一例を示している。たとえば、機能1501がBUFFERの場合を例に挙げると、セル名1502には、BUFFER1と、BUFFER2と、BUFFER4と、BUFFER8と、BUFFER16と、BUFFER32がある。機能1501が同一であってもそれぞれ駆動能力1503と入力容量1504が異なる。なお、テーブル1500は、CPU501が、アクセス可能な記憶装置にライブラリの一部として記憶されている。つぎに、図16にて設計対象回路について説明する。
(設計対象回路)
図16は、設計対象回路の回路情報の一例を示す説明図である。設計対象回路の回路情報1600は、パスPを含む構成である。パスPは、IOBUF1と、BUF1〜5と、IOBUF2を含む構成である。IOBUF1は、BUFFER8である。つぎに、BUF1〜BUF5は、BUFFER2である。そして、IOBUF2は、BUFFER32である。
そして、配線容量がclineとして示されている。IOBUF1を例に挙げると、配線容量は、90[fF]である。そして、IOBUF1の出力先セルの入力容量の値Ctrについて説明する。まず、IOBUF1の出力先セルは、BUF1であり、BUF1は、BUFFER2である。テーブル1500内のセル名1502からBUFFER2の入力容量1504を引く。したがって、IOBUF1の出力先セルの入力容量の値は、10[fF]である。
さらにパスPは、Path−1〜Path−4により構成されている。したがって、パスPの遅延時間はPath−1〜Path−4のそれぞれの遅延時間を加算することで算出される。そして、Path−1の遅延時間は、IOBUF1の遅延時間および出力スルーと、clineと、出力先セルであるBUF1の入力容量の値と、後述する外部入力スルーにより算出することができる。
実施の形態3では、IOBUF1を例に挙げると、集中定数容量を、cline1とBUF1の入力容量の値との負荷容量の合計値として説明する。そして、BUF1に関する集中定数容量は、cline1〜cline5に基づく配線容量と、BUF2〜BUF5のそれぞれの入力容量に基づく出力先セルの入力容量との合計値である。BUF2に関する集中定数容量は、cline6とIOBUF2の入力容量との合計値である。そして、IOBUF2に関する入力容量は、0である。ただし、Path−4の遅延時間を算出するには、BUF5の負荷容量として後述する外部負荷容量を用いる。
なお、回路情報1600は、CPU501がアクセス可能な記憶装置に記憶されている。つぎに、図17−1〜図17−2を用いて制約条件について説明する。
(制約条件)
図17−1は、PTV条件の一例を示す説明図である。PTVとは、Process(プロセス)と、Temperature(温度)と、Voltage(電圧)を示している。PTV条件テーブル1700では、PTV条件1701と、Processと、Temperatureと、Voltageとを含む構成である。PTV条件1701は、TYP条件(各セルの動作が通常の速度である条件)と、FAST条件(各セルの動作が最も速くなる条件)と、SLOW条件(各セルの動作が最も遅くなる条件)とを有している。なお、PTV条件1701はTYP条件、FAST条件、SLOW条件に限らず、PTV条件テーブル1700内の数値は一例である。
まず、TYP条件は、ProcessがTYP条件(標準条件)であり、Temperatureが25℃(常温)であり、かつVoltageが1.2Vである。つぎに、FAST条件は、ProcessがFAST条件(速い条件)であり、Temperatureが−40℃(低温)であり、かつVoltageが1.3Vである。そして、SLOW条件は、ProcessがSLOW条件(遅い条件)であり、Temperatureが120℃(高温)であり、かつVoltageが1.1Vである。なお、PTV条件テーブル1700は、CPU501がアクセス可能な記憶装置に記憶されている。
図17−2は、PTV条件以外の制約条件の一例を示す説明図である。テーブル1702は、外部入力スルーの情報と、外部負荷容量の値と、動作周波数情報とを有している。外部入力スルーは、遅延時間を算出する対象のセルが入力端子に接続されている場合、当該対象セルの入力スルーとして用いられる。回路情報1600では、IOBUF1が入力端子に接続されている。つぎに、外部負荷容量の値は、遅延時間を算出する対象のセルが出力端子に接続されている場合、当該対象セルに関する集中定数容量として用いられる。回路情報1600では、IOBUF2が出力端子に接続されている。そして、動作周波数情報が2GHzと、1GHzと、100MHz、10MHzである。実施の形態3では、セルの遅延時間の補正をおこなうために1GHzが選択される。
(遅延時間のテーブルおよび出力スルーのテーブル)
図18−1は、遅延時間のテーブルの一例を示す説明図である。テーブル1800は、遅延時間のテーブルである。テーブル1800では、セル名ごとにTYP条件と、FAST条件と、SLOW条件での遅延時間および出力スルーを有している。
まず、遅延時間のテーブルは、入力スルーおよび集中定数容量Ctotalと遅延時間との依存関係を示すテーブルである。TYP条件およびBUFFER8の遅延時間テーブルを例に挙げると、入力スルーが1.00[psec]であり、かつ集中定数容量Ctotalが1.00[fF]の場合、遅延時間は60.00[psec]である。そして、入力スルーが100.00であり、かつ集中定数容量Ctotalが100.00[fF]の場合、遅延時間は195.00[psec]である。集中定数容量Ctotalが大きくなると遅延時間が大きくなり、さらに、入力スルーが大きくなると遅延時間が大きくなる。なお、遅延時間のテーブルは、CPU501がアクセス可能な記憶装置にライブラリの一部として記憶されている。つぎに、図18−2にて出力スルーのテーブルの一例を示す。
図18−2は、出力スルーのテーブルの一例を示す説明図である。テーブル1801は、出力スルーのテーブルである。テーブル1801では、入力スルーおよび集中定数容量Ctotalと出力スルーとの依存関係を示している。BUFFER8の遅延テーブルを例に挙げると、入力スルーが1.00[psec]であり、かつ集中定数容量Ctotalが1.0[fF]の場合、出力スルーは10[psec]である。
そして、入力スルーが100.00[psec]であり、かつ集中定数容量Ctotalが100の場合、出力スルーは120.00[psec]である。集中定数容量Ctotalが大きくなると出力スルーが大きくなり、さらに、入力スルーが大きくなると出力スルーが大きくなる。なお、出力スルーのテーブルは、CPU501がアクセス可能な記憶装置にライブラリの一部として記憶されている。
(遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブル)
図19は、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルの一例を示す説明図である。テーブル1900は、PTV条件および駆動能力の値ごとに遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルを有している。たとえば、テーブル1900内のTYP条件では、駆動能力の値に対応するテーブルが含まれている。テーブル1901は、テーブル1900内のTYP条件、かつ駆動能力の値が8の場合のテーブルである。なお、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルは、CPU501がアクセス可能な記憶装置にライブラリの一部として記憶されている。
図20は、テーブル1901の一例を示す説明図である。TYP条件では、遅延時間の補正係数テーブル2001と出力スルーの補正係数テーブル2002を有している。遅延時間の補正係数のテーブル2001の場合、出力先セルの入力容量と、入力スルーと、集中定数容量とに基づいて遅延時間の補正係数が格納されている。そして、出力スルーの補正係数のテーブル2002の場合、遅延時間の補正係数テーブルと同様に、出力先セルの入力容量と、入力スルーと、集中定数容量とに基づいて出力スルーの補正係数が格納されている。
(基準値)
図21は、基準値の一例を示す説明図である。テーブル2100は、動作周波数2101と、基準値2102を含む構成である。ここで、基準値とは、所定のしきい値を示している。そして、設計支援装置では、評価値が基準値以上であるか否かに基づいて補正するか否かが決定される。
つぎに、テーブル2103は、動作周波数2104と、判断項目2105と、基準値2106を含む構成である。判断項目2105には、補正不要と、補正式のいずれか一方が記述されている。補正不要の基準値2106は、補正するか否かを判断するための基準値である。補正式の基準値2106は、補正式により補正するか否かを判断するための基準値である。
そして、テーブル2107は、動作周波数2108と、判断項目2109と、基準値2110を含む構成である。判断項目2109には、補正不要と、補正式と、テーブルとのいずれか一方が記述されている。判断項目2109が補正不要の基準値2110は、補正するか否かを判断するための基準値である。判断項目2109が補正式の基準値2110は、補正式により補正するか否かを判断するための基準値である。判断項目2109がテーブルの基準値2110は、テーブルにより補正するか、不定値の伝播を示す値に変換するかを判断するための基準値である。実施の形態3〜6では、基準値としてテーブル2100を用いる。実施の形態7では、基準値としてテーブル2103を用いる。実施の形態8では、基準値としてテーブル2107を用いる。なお、テーブル2100と、テーブル2103と、テーブル2107は、たとえば、実施の形態1により遅延時間の補正係数が算出された後に利用者により作成され、CPU501がアクセス可能な記憶装置に記憶される。
つぎに、実施の形態3では、設計支援装置600の対象セル情報入力部608と、検索部609と、評価値算出部604と、補正後時間算出部610と、出力部614と、の機能について具体的に説明する。
まず、対象セル情報入力部608は、設計対象回路の回路情報内の任意の対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値と対象セルの遅延時間とを入力する機能を有する。具体的には、たとえば、利用者が、回路情報1600からIOBUF1を対象セルに選択する。そして、利用者が、対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値と対象セルの遅延時間とを入力し、CPU501が、入力を受け付ける。さらに、利用者が、PTV条件を入力し、CPU501が入力を受け付ける。
または、たとえば、CPU501が、回路情報1600からIOBUF1を対象セルに選択し、対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値とをテーブル1500から検索し、対象セルの遅延時間を、テーブル1800から検索する。さらに、たとえば、CPU501が、テーブル1700からPTV条件1701内の任意の条件を選択する。IOBUF1は、BUFFER8であるため、駆動能力の値は8が入力される。そして、IOBUF1の出力先セルの入力容量の値は10が入力される。さらに、たとえば、実施の形態3では、TYP条件にて説明する。そして、テーブル1800内のBUFFER8からTYP条件の遅延時間のテーブルが対象セルの遅延時間として入力される。
つぎに、検索部609は、格納部605により記憶装置へ格納された遅延時間の補正係数の中から、対象セル情報入力部608により入力された対象セルの駆動能力の値および出力先セルの入力容量の値に対応する遅延時間の補正係数を検索する機能を有する。具体的には、たとえば、CPU501が、PTV条件と、対象セルの駆動能力の値と、出力先セルの入力容量の値に基づいてテーブル1900から遅延時間の補正係数が選択される。
たとえば、実施の形態3では、PTV条件がTYP条件であるため、テーブル1900からTYP条件のテーブルがすべて検索される。つぎに、IOBUF1の駆動能力の値が8であるため、テーブル1901が検索される。そして、テーブル1901の遅延時間の補正係数のテーブルから出力先セルの入力容量が10の場合の遅延時間の補正係数を検索する。なお、検索された遅延時間の補正係数は、一旦、RAM503、磁気ディスク505などの記憶装置へ記憶される。
つぎに、補正後時間算出部610は、対象セル情報入力部608により入力された対象セルの遅延時間と検索部609により検索された遅延時間の補正係数に基づいて、対象セルの補正後遅延時間を算出する。
具体的には、たとえば、CPU501が、入力された対象セルの遅延時間から任意の遅延時間と、検索された遅延時間の補正係数から当該対象セルの遅延時間に対応する遅延時間の補正係数とを選択する。そして、遅延時間の補正係数が比率である場合、選択された対象セルの遅延時間と選択された遅延時間の補正係数とを乗算し、補正後遅延時間とする。または、遅延時間の補正係数が時間差である場合、選択された対象セルの遅延時間に選択された遅延時間の補正係数を加算し、補正後遅延時間とする。
たとえば、対象セルの遅延時間から任意の遅延時間を選択する例について説明する。対象セルの負荷容量の合計値は、clineと出力先セルの入力容量の値とを加算することで算出される。IOBUF1を例に挙げると、具体的には、CPU501が、IOBUF1のclineである90[fF]と出力先セルの入力要領である10[fF]を取得し、加算してIOBUF1の負荷容量の合計値である100[fF]を算出する。そして、CPU501が、IOBUF1の負荷容量の合計値を集中定数容量の値とし、入力された対象セルの遅延時間から100[fF]の場合の遅延時間を選択する。ここで、選択された対象セルの遅延時間は、180と、190と、195[psec]である。
つぎに、具体的には、たとえば、CPU501が、選択された対象セルの遅延時間から入力スルーの条件が最も悪い条件である100[psec]の場合の遅延時間を選択する。したがって、ここで、選択された対象セルの遅延時間は、195[psec]である。そして、CPU501が、検索部609により検索された遅延時間の補正係数から当該集中定数容量の値が100[fF]であり、入力スルーが100[psec]である場合の遅延時間の補正係数を選択する。ここで、選択された遅延時間の補正係数は、1.55である。
つぎに、具体的には、たとえば、CPU501が、選択された対象セルの遅延時間と選択された遅延時間の補正係数を乗算することで補正後遅延時間を算出することができる。ここで、算出された補正後遅延時間は、302.25[psec]である。なお、補正後遅延時間は、RAM503、磁気ディスク505などの記憶装置へ記憶される。
つぎに、評価値算出部604は、対象セルの遅延時間と補正後遅延時間との相対的な評価値を算出する機能を有する。具体的には、たとえば、CPU501が、算出された補正後遅延時間の値と対象セルの遅延時間との時間差を算出する。ここでは、302.25[psec]から195[psec]が減算されて107.25[psec]が算出される。
つぎに、具体的には、たとえば、CPU501が、算出した時間差が、上述した動作周波数の1周期の時間内に占める割合を算出する。実施の形態3では、動作周波数を1GHzとする。そして、1GHzの1周期内の時間は、1000[psec]である。そして、算出された時間差である107.25/1000が算出され、さらに割合が算出されるために100が掛けられる。したがって、ここで、算出される割合は、10.73[%]である。
つぎに、判断部611は、評価値算出部604により算出された対象セルの遅延時間と補正後遅延時間との相対的な評価値が所定のしきい値以上であるか否かに基づいて、対象セルの遅延時間を補正するか否かを判断する機能を有する。具体的には、たとえば、CPU501が、テーブル2100から動作周波数2101に基づいて基準値2102を取得する。ここで、基準値は、1である。なお、基準値が、所定のしきい値である。そして、具体的には、たとえば、CPU501が、算出された割合が基準値以上の場合、対象セルの遅延時間を補正すると判断し、算出された割合が基準値未満の場合、対象セルの遅延時間を補正しないと判断する。ここでは、算出された割合は10.73[%]であり、基準値が1であるため、対象セルの遅延時間を補正すると判断される。
つぎに、補正後時間算出部610は、対象セル情報入力部608により入力された対象セルの遅延時間と検索部609により検索された遅延時間の補正係数に基づいて、対象セルの補正後遅延時間を算出する。具体的には、たとえば、CPU501が、遅延時間の補正係数が比率の場合、入力されたすべての対象セルの遅延時間に検索された遅延時間の補正係数を乗算することで対象セルの補正後遅延時間を算出する。または、たとえば、CPU501が、遅延時間の補正係数が時間差の場合、入力されたすべての対象セルの遅延時間に検索された遅延時間の補正係数を加算することで対象セルの補正後遅延時間を算出する。図22にて補正後遅延時間の一例を示す。
図22は、補正後遅延時間の一例を示す説明図である。図22では、IOBUF1の補正後遅延時間を示している。補正後遅延時間は、対象セルの遅延時間と検索部609により検索された遅延時間の補正係数とを乗算することで算出される。
つぎに、出力部614は、補正後時間算出部610により算出された対象セルの補正後遅延時間を出力する機能を有する。具体的には、たとえば、CPU501が、対象セルの遅延時間をPTV条件と関連付けて出力する。出力形式としては、たとえば、ディスプレイ508への表示、プリンタ513への印刷出力、I/F509による外部装置への送信がある。また、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶することとしてもよい。
これにより、設計対象回路内のセルの遅延時間が、補正されて適正化される。したがって、設計対象回路内の遅延時間の見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を出力するセルを検証することができ、検証精度を向上させることができる。
さらに、遅延時間の補正が必要なセルを自動で特定し、当該セルの遅延時間を補正して適正化することができる。したがって、セルの遅延時間の見積もり精度を向上させることができ、検証精度を向上させることができる。
(実施の形態3にかかる設計支援装置の設計支援処理手順)
図23は、実施の形態3にかかる設計支援装置の設計支援処理手順の一例を示すフローチャートである。まず、設計対象回路を取得し(ステップS2301)、設計対象回路内からパスを抽出する(ステップS2302)。そして、未選択のパスがあるか否かを判断する(ステップS2303)。
未選択のパスがあると判断された場合(ステップS2303:Yes)、未選択のパスから1つのパスを選択し(ステップS2304)、パスを構成するセルを抽出する(ステップS2305)。そして、未選択のセルがあるか否かを判断する(ステップS2306)。つぎに、未選択のセルがあると判断された場合(ステップS2306:Yes)、未選択のセルから1つのセルを対象セルに選択し(ステップS2307)、補正処理を実行し(ステップS2308)、ステップS2306へ戻る。
一方、ステップS2306において、未選択のセルがないと判断された場合(ステップS2306:No)、ステップS2303へ戻る。
一方、ステップS2303において、未選択のパスがないと判断された場合(ステップS2303:No)、一連の処理を終了する。
つぎに、図24および図25は、図23で示した補正処理(ステップS2308)の詳細な処理手順を示すフローチャートである。まず、対象セル情報入力部608により、PTV条件を入力し(ステップS2401)、つぎに、対象セル情報入力部608により、対象セルの駆動能力の値を入力する(ステップS2402)。そして、対象セルの出力先セルの入力容量の値を入力し(ステップS2403)、対象セル情報入力部608により、対象セルの配線容量を入力し(ステップS2404)、動作周波数情報を入力する(ステップS2405)。そして、遅延時間のテーブルからPTV条件に基づいて対象セルの遅延時間を検索する(ステップS2406)。
つぎに、遅延時間の補正係数のテーブルからPTV条件および駆動能力の値に基づいて遅延時間の補正係数を検索し(ステップS2407)、出力先セルの入力容量と配線容量とで負荷容量の合計値を算出する(ステップS2408)。ここで、負荷容量の合計値とは、集中定数容量Ctotalである。つぎに、図25に移って、対象セルの遅延時間から負荷容量の合計値と入力スルーのワースト条件に基づいて遅延時間を選択する(ステップS2409)。ここで、入力スルーのワースト条件とは、最も入力スルーが大きい値である。したがって、複数の対象セルの遅延時間から1つの遅延時間を選択することである。
つぎに、検索部609により、選択された遅延時間と対応する遅延時間の補正係数を検索し(ステップS2410)、補正後時間算出部610により、遅延時間と遅延時間の補正係数に基づき補正後遅延時間を算出する(ステップS2411)。そして、補正係数算出部612により、遅延補正差=補正後遅延時間−遅延時間、を実行し(ステップS2412)、補正係数算出部612により、動作周波数の1周期の時間内の遅延補正差の割合を算出する(ステップS1413)。
そして、動作周波数に基づいて基準値を選択し(ステップS2414)、X=基準値とする(ステップS2415)。ここで、基準値が所定のしきい値であり、テーブル2100から選択される。つぎに、判断部611により、遅延補正差の割合>Xであるか否かを判断する(ステップS2416)。遅延補正差の割合>Xであると判断された場合(ステップS2416:Yes)、補正後時間算出部610により、対象セルの各遅延時間と対応する遅延時間の補正係数とを乗算する(ステップS2417)。なお、ここでは、遅延時間の補正係数が、実施の形態1で示した第1の遅延時間と第2の遅延時間との比率である。そして、補正後遅延時間を出力し(ステップS2418)、ステップS2306へ戻る。一方、ステップS2416において、遅延補正差の割合>Xでないと判断された場合(ステップS2416:No)、ステップS2306へ移行する。
なお、実施の形態3では、遅延時間の補正係数により対象セルの遅延時間のみを補正しているが、対象セルの出力スルーのみを補正してもよい。設計支援装置は、対象セルの遅延時間が対象セルの出力スルーに代わり、遅延時間の補正係数が出力スルーの補正係数に代わって実施の形態3で示した各機能が実施されることで、対象セルの出力スルーを補正することができる。したがって、対象セルの出力スルーのみを補正する具体的な処理の説明を省略する。
(実施の形態4)
実施の形態4では、設計対象回路の回路情報から任意の対象セルの遅延時間を、遅延時間の補正式により補正する例を示す。実施の形態2にて作成された遅延時間の補正式に基づいて設計対象回路内の任意のセルの遅延時間を補正する例を示す。なお、実施の形態1〜3にて説明した構成と同一構成については同一符号を付して説明を省略する。まず、図26にて実施の形態4の一例を示す。
図26は、実施の形態4の一例を示す説明図である。まず、設計対象回路を記憶装置から読み出し、設計対象回路内の任意のセルを対象セルとする。つぎに、対象セルの機能と、対象セルの駆動能力の値と、対象セルの出力先セルの入力容量と、が特定される。そして、対象セルの機能と駆動能力の値ごとに記憶装置に記憶されている遅延時間を、対象セルの機能と、駆動能力の値に基づいて読み出す。
さらに、遅延時間の補正テーブルから対象セルの駆動能力の値と、出力先セルの入力容量の値に基づいて遅延時間の補正係数を読み出す。そして、遅延時間の補正係数と対象セルの遅延時間に基づいて評価値を算出し、評価値に基づいて補正するか否かを判断する。そして、補正すると判断された場合、遅延時間の補正係数と対象セルの遅延時間とにより補正後遅延時間を算出する。
まず、セル1では、遅延時間の補正式とセル1の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正式により算出された遅延時間の補正係数に基づいてセル1の遅延時間を補正すると判断されている。
そして、セル2では、遅延時間の補正式とセル2の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル2の遅延時間は補正する必要がないと判断される。これにより、適切な遅延時間の補正係数および出力スルーの補正係数に基づいて対象セルの遅延時間および対象セルの出力スルーを補正することができる。
実施の形態4では、実施の形態3と検索部609と補正係数算出部612と判断部611のみが異なるため、補正係数算出部612のみを具体的に説明し、その他の機能については説明を省略する。
まず、検索部609は、格納部605により記憶装置へ格納された遅延時間の補正式の中から、対象セル情報入力部608により入力された対象セルの駆動能力の値および出力先セルの入力容量の値に対応する遅延時間の補正式を検索する機能を有する。具体的には、たとえば、CPU501が、記憶装置へアクセスして、対象セルの駆動能力の値および出力先セルの入力容量の値に基づいて遅延時間の補正式を検索する。
補正係数算出部612は、検索部609により検索された遅延時間の補正式から遅延時間の補正係数を算出する機能を有する。具体的には、たとえば、CPU501が、取得した補正式へ複数の集中定数容量の値を代入して遅延時間の補正係数を算出する。または、任意の集中定数容量の値を代入して遅延時間の補正係数を算出する。
そして、補正後時間算出部610は、対象セル情報入力部608により入力された前記対象セルの遅延時間と補正係数算出部612により算出された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出する。補正後時間算出部610の具体的な機能は、実施の形態3で説明した機能と同一であるため詳細な説明を省略する。さらに、評価値算出部604の具体的な機能は、実施の形態3で説明した機能と同一であるため詳細な説明を省略する。したがって、評価値算出部604が相対的な評価値として実施の形態3で説明した割合と同様の割合を算出する。
つぎに、判断部611は、対象セルの遅延時間と補正後遅延時間との相対的な評価値が補正式に関するしきい値以上であるか否かにより、補正式により補正するか否かを判断する。具体的には、たとば、CPU501が、テーブル2100から動作周波数に基づいて基準値2102を選択する。そして、算出された割合が、当該基準値より大きいか否かを判断する。算出された割合が当該基準値以上と判断された場合、対象セルの遅延時間を補正すると判断し、算出された割合が当該基準値未満と判断された場合、対象セルの遅延時間を補正しないと判断する。
これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、遅延時間の補正式を用いて遅延時間を容易に補正することができ、セルの遅延時間を適正化することができる。そして、出力スルーの補正式を用いて出力スルーを容易に補正することができ、セルの出力スルーを適正化することができる。したがって、セルの遅延時間の見積もり精度を向上させることができる。
さらに、補正が必要なセルを自動で特定し、どの集中定数容量の値であっても設計対象回路内のセルを容易に補正することができる。したがって、遅延時間または出力スルーが適正でないセルのみを補正することで、セルの遅延時間および出力スルーの見積もり精度を向上させることができる。
なお、実施の形態4では、実施の形態3と比較して補正式から補正係数を算出する機能のみが大きく異なり、その他の機能に関しては差が少ないので、実施の形態4にかかる設計支援装置の設計支援処理手順の説明を省略する。
(実施の形態5)
実施の形態5では、設計対象回路の回路情報から任意の対象セルの遅延時間を、遅延時間の補正係数により補正し、当該対象セルの出力スルーを、出力スルーの補正係数により補正する例を示す。なお、実施の形態1〜4にて説明した構成と同一構成については同一符号を付して説明を省略する。まず、図27にて実施の形態4の一例を示す。
図27は、実施の形態5の一例を示す説明図である。設計対象回路から任意のセルを対象セルに選択し、対象セルの遅延時間と遅延時間の補正係数から評価値を算出する。そして、評価値に基づいて、対象セルの遅延時間を補正するか否かを判断する。そして、対象セルの遅延時間を補正すると判断された場合、対象セルの遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出する。さらに、対象セルの出力スルーと出力スルーの補正係数に基づいて補正後出力スルーを算出する。
まず、セル1では、遅延時間の補正係数のテーブル内の遅延時間の補正係数とセル1の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正係数によってセル1の遅延時間を補正し、出力スルーの補正係数のテーブル内の出力スルーの補正係数によりセル1の出力スルーを補正すると判断されている。
そして、セル2では、遅延時間の補正係数のテーブル内の遅延時間の補正係数とセル2の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル2の遅延時間およびセル2の出力スルーは補正する必要がないと判断される。
実施の形態5では、実施の形態3で説明した対象セルの遅延時間を補正する機能と同時に対象セルの出力スルーを補正する。
まず、対象セル情報入力部608は、設計対象回路の回路情報内の任意の対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値と対象セルの遅延時間と対象セルの出力スルーを入力する機能を有する。対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値と対象セルの遅延時間が入力される具体的な機能は、実施の形態3で説明した機能と同一である。
よって、ここでは、対象セルの出力スルーが入力される具体的な機能について説明する。具体的には、たとえば、利用者が、テーブル1800内のBUFFER8からTYP条件の遅延時間のテーブルが対象セルの遅延時間として入力する。または、具体的には、たとえば、CPU501が、テーブル1800内のBUFFER8からTYP条件の出力スルーのテーブルを対象セルの遅延時間として選択する。
まず、検索部609は、格納部605により記憶装置へ格納された遅延時間の補正係数の中から、対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する遅延時間の補正係数を検索する。さらに、格納部605により記憶装置へ格納された出力スルーの補正係数の中から、対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する出力スルーの補正係数を検索する。
たとえば、対象セルが、回路情報1600内のIOBUF1の場合、検索された遅延時間の補正係数は、実施の形態3で検索された遅延時間の補正係数と同一である。よって、ここでは、出力スルーの補正係数が検索される具体的な機能について説明する。具体的には、たとえば、CPU501が、PTV条件と、対象セルの駆動能力の値と、出力先セルの入力容量の値に基づいてテーブル1900から出力スルーの補正係数が選択される。
たとえば、実施の形態5では、実施の形態3と同様にPTV条件がTYP条件であるため、テーブル1900からTYP条件のテーブルがすべて検索される。つぎに、IOBUF1の駆動能力の値が8であるため、テーブル1901が検索される。そして、テーブル1901の出力スルーの補正係数のテーブルから出力先セルの入力容量の値が10の場合の出力スルーの補正係数を検索する。なお、検索された出力スルーの補正係数は、一旦、RAM503、磁気ディスク505などの記憶装置へ記憶される。
実施の形態5では、遅延時間の補正係数により補正後遅延時間が算出され、対象セルの遅延時間と補正後遅延時間とにより評価値が算出される。そして、当該評価値に基づいて対象セルの遅延時間および出力スルーを補正するか否かが判断される例を示している。したがって、評価値算出手段および判断部611は実施の形態3で説明した機能と同一機能であるため説明を省略する。
しかしながら、実施の形態5の例に限らず、設計対象回路内のセルの出力スルーが出力スルーの補正係数により補正され、対象セルの補正後出力スルーと対象セルの出力スルーとの相対的な評価値を算出する。そして、当該評価値に基づいて対象セルの出力スルーおよび対象セルの時間を補正するか否かが判断されてもよい。ここで、評価値算出部604と、判断部611との機能を説明する。
評価値算出部604は、対象セル情報入力部608により入力された対象セルの出力スルーと、検索部609により検索された出力スルーの補整係数との相対的な評価値を算出する。
そして、判断部611は、評価値算出部604により算出された評価値が、所定の基準値以上であるか否かに基づいて、対象セルの遅延時間および対象セルの出力スルーを補正するか否かが判断される。
または、たとえば、遅延時間の補正係数により補正後遅延時間が算出され、対象セルの遅延時間と補正後遅延時間とにより遅延時間の評価値が算出される。さらに、出力スルーの補正係数により補正後出力スルーが算出されて評価値が算出され、対象セルの出力スルーと補正後遅延時間とにより出力スルーの評価値が算出される。そして、遅延時間の評価値と出力スルーの評価に基づいて補正するか否かが判断されてもよい。
つぎに、補正後時間算出部610は、判断部611により対象セルの遅延時間および対象セルの出力スルーを補正すると判断された場合、対象セルの遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出する。さらに、対象セルの出力スルーと出力スルーの補正係数に基づいて補正後出力スルーを算出する。対象セルの遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出する例は、実施の形態3と同一であるため説明を省略する。図28にて補正後出力スルーを示す。
図28は、補正後出力スルーの一例を示す説明図である。図28の出力スルーの補正係数は、実施の形態1で説明した比率である。したがって、補正後出力スルーは、対象セルの出力スルーと出力スルーの補正係数とを乗算することで算出される。
(実施の形態5にかかる設計支援装置の設計支援処理手順)
図29および図30は、実施の形態5にかかる設計支援装置の設計支援処理手順の一例を示すフローチャートである。本フローチャートでは、設計対象回路内の任意のパスの遅延時間を算出する。まず、図29では、設計対象回路を取得し(ステップS2901)、対象セル情報入力部608により、PTV条件を入力し(ステップS2902)、未選択のPTV条件があるか否かを判断する(ステップS2903)。
そして、未選択のPTV条件があると判断された場合(ステップS2903:Yes)、未選択のPTV条件から1つのPTV条件を選択する(ステップS2904)。そして、設計対象回路内からパスを抽出し(ステップS2905)、未選択のパスがあるか否かを判断する(ステップS2906)。そして、未選択のパスがあると判断された場合(ステップS2906:Yes)、未選択のパスから1つのパスを選択する(ステップS2907)。一方、未選択のパスがないと判断された場合(ステップS2906:No)、ステップS2903へ戻る。
ステップS2907に戻って、ステップS2907のつぎに、パスを構成するセルを抽出する(ステップS2908)。つづいて、図30に移って、パスを構成するセルごとにパスを分割し(ステップS2909)、未選択の分割パスがあるか否かを判断する(ステップS2910)。そして、未選択の分割パスがあると判断された場合(ステップS2910:Yes)、未選択の分割パスから1つの分割パスを選択し(ステップS2911)、分割パス上のセルを対象セルに選択する(ステップS2912)。つづいて、補正処理を実行し(ステップS2913)、算出処理を実行し(ステップS2914)、ステップS2910へ戻る。
一方、未選択の分割パスがないと判断された場合(ステップS2910:No)、分割パスの遅延時間をすべて加算し(ステップS2915)、パスの遅延時間として出力し(ステップS2916)、ステップS2906へ戻る。
一方、図29のステップS2903において、未選択のPTV条件がないと判断された場合(ステップS2903:No)、一連の処理を終了する。
つぎに、図31および図32は、図30に示した補正処理(ステップS2913)の詳細な処理手順を示すフローチャートである。まず、図31にて、対象セル情報入力部608により、対象セルの駆動能力の値を入力し(ステップS3101)、対象セル情報入力部608により、対象セルの出力先セルの入力容量を入力する(ステップS3102)。そして、対象セル情報入力部608により、対象セルの配線容量を入力し(ステップS3103)、出力先セルの入力容量と配線容量とで負荷容量の合計値を算出する(ステップS3104)。ここで、負荷容量の合計値は、集中定数容量Ctotalである。
そして、検索部609により、PTV条件および駆動能力の値に基づいて遅延時間の補正係数を検索し(ステップS3105)、PTV条件および駆動能力の値に基づいて出力スルーの補正係数を検索する(ステップS3106)。検索部609により、PTV条件に基づいて対象セルの遅延時間を検索し(ステップS3107)、PTV条件に基づいて対象セルの出力スルーを検索する(ステップS3108)。なお、利用者が対象セルの遅延時間および対象セルの出力スルーを入力し、設計支援装置が入力を受け付けてもよい。
ステップS3108のつぎに、図32に移って、対象セルの遅延時間から負荷容量の合計値と入力スルーのワースト条件に基づいて遅延時間を選択する(ステップS3109)。つぎに、検索部609により、選択された遅延時間に対応する遅延時間の補正係数を検索する(ステップS3110)。そして、補正後時間算出部610により、遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出し(ステップS3111)、補正係数算出部612により、遅延補正差=補正後遅延時間−遅延時間、を実行する(ステップS3112)。
つづいて、動作周波数の1周期時間内の遅延補正差の割合を算出する(ステップS3113)。動作周波数に基づいて基準値を選択し(ステップS3114)、Y=基準値とする(ステップS3115)。ここで、基準値は、所定のしきい値であり、テーブル2100から選択される。つぎに、判断部611により、遅延補正差の割合>Yであるか否かを判断する(ステップS3116)。遅延補正差の割合>Yであると判断された場合(ステップS3116:Yes)、対象セルの各遅延時間と対応する遅延時間の補正係数とを乗算する(ステップS3117)。
つづいて、対象セルの各出力スルーと対応する出力スルーの補正係数とを乗算する(ステップS3118)。そして、出力部614により、補正後遅延時間および補正後出力スルーを出力し(ステップS3119)、ステップS2914へ戻る。一方、ステップS3116において、遅延補正差の割合>Yでないと判断された場合(ステップS3116:No)、ステップS2914へ移行する。
つぎに、図33は、図30で示した算出処理(ステップS2914)の詳細な処理手順を示すフローチャートである。まず、対象セルが入力バッファであるか否かを判断し(ステップS3301)、入力バッファであると判断された場合(ステップS3301:Yes)、外部入力スルーを取得する(ステップS3302)。ここでは、外部入力スルーは、上述したテーブル1702から取得される。
一方、入力バッファでないと判断された場合(ステップS3301:No)、対象セルが出力バッファであるか否かを判断する(ステップS3303)。そして、対象セルが出力バッファであると判断された場合(ステップS3303:Yes)、外部負荷容量の値を取得する(ステップS3304)。ここでは、外部負荷容量の値は、上述したテーブル1702から取得される。
一方、対象セルが出力バッファでないと判断された場合(ステップS3303:No)、設計対象回路から対象セルの出力元セルを特定する(ステップS3305)。そして、出力元セルの出力スルーを検索し、出力元セルの出力スルーを対象セルの入力スルーとする(ステップS3306)。ここで検索される出力元セルの出力スルーは、補正されていれば、補正後出力スルーである。そして、対象セルの入力スルーと、対象セルの補正後遅延時間と、対象セルの補正後出力スルーと、対象セルの負荷容量の合計値と、に基づいて分割パスの遅延時間を算出し(ステップS3307)、分割パスの遅延時間を保存し(ステップS3308)、ステップS2910へ移行する。
(実施の形態6)
つぎに、実施の形態6について説明する。実施の形態6は、設計対象回路内の任意の対象セルの遅延時間を、遅延時間の補正式から遅延時間の補正係数を算出して当該遅延時間の補正係数に基づいて補正する。さらに、当該対象セルの出力スルーを、出力スルーの補正式から出力スルーの補正係数を算出して当該出力スルーの補正係数に基づいて補正する。なお、実施の形態1〜5にて説明した構成と同一構成については同一符号を付して説明を省略する。まず、図34にて実施の形態6の一例を示す。
図34は、実施の形態6の一例を示す説明図である。まず、設計対象回路内から任意のセルが対象セルに選択される。そして、遅延時間の補正式から補正係数が算出され、当該遅延時間の補正係数と、対象セルの遅延時間とに基づいて評価値が算出される。つぎに、評価値に基づいて対象セルの遅延時間および対象セルの出力スルーを補正するか否かが判断される。
そして、補正すると判断されると、遅延時間の補正式により遅延時間の補正係数が算出され、出力スルーの補正式により出力スルーの補正係数が算出される。そして、算出された遅延時間の補正係数と対象セルの遅延時間に基づいて補正後遅延時間が算出され、算出された出力スルーの補正係数と対象セルの出力スルーに基づいて補正後出力スルーが算出される。
まず、セル1では、遅延時間の補正式とセル1の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正式により算出された遅延時間の補正係数に基づいてセル1の遅延時間を補正し、出力スルーの補正式により算出された出力スルーの補正係数に基づいてセル1の出力スルーを補正すると判断されている。
そして、セル2では、遅延時間の補正式とセル2の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル2の遅延時間およびセル2の出力スルーは補正する必要がないと判断される。これにより、適切な遅延時間の補正係数および出力スルーの補正係数に基づいて対象セルの遅延時間および対象セルの出力スルーを補正することができる。
まず、対象セル情報入力部608は、実施の形態5と同一機能であるため詳細な説明を省略する。
つぎに、検索部609は、格納部605により記憶装置へ格納された遅延時間の補正式の中から、対象セル情報入力手段により入力された対象セルの駆動能力の値および出力先セルの入力容量の値に対応する遅延時間の補正式を検索する。さらに、格納部605により記憶装置へ格納された出力スルーの補正式の中から、対象セル情報入力手段により入力された対象セルの駆動能力の値および出力先セルの入力容量の値に対応する出力スルーの補正係数を検索する。なお、実施の形態6の検索部609が遅延時間の補正式を検索する機能は、実施の形態4で示した機能と同一であるため詳細な説明を省略する。さらに、出力スルーの補正式を検索する機能は、検索の対象が異なるのみであるため、詳細な説明を省略する。
つぎに、評価値算出部604および判断部611は、実施の形態4で示した機能と同一機能であるため詳細な説明を省略する。
そして、補正係数算出部612は、判断部611により対象セルの遅延時間および対象セルの出力スルーを補正すると判断された場合、遅延時間の補正式から対象セルの遅延時間に対応する遅延時間の補正係数を算出し、出力スルーの補正式から対象セルの出力スルーに対応する出力スルーの補正係数を算出する。なお、補正係数算出部612の具体的な処理については、実施の形態4で示した機能と同一であるため、説明を省略する。
つぎに、補正後時間算出部610は、判断部611により対象セルの遅延時間および対象セルの出力スルーを補正すると判断された場合、補正係数算出部612により算出された遅延時間の補正係数と対象セルの遅延時間に基づいて補正後遅延時間を算出する。
さらに、補正係数算出部612により算出された出力スルーの補正係数と対象セルの出力スルーに基づいて補正後出力スルーを算出する。対象セルの遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出する例は、実施の形態3で説明した例と同一であるため説明を省略する。
(実施の形態7)
つぎに、実施の形態7について説明する。なお、実施の形態1〜6にて説明した構成と同一構成については同一符号を付して説明を省略する。図35を用いて実施の形態7の一例を示す。
図35は、実施の形態7の一例を示す説明図である。実施の形態7では、設計対象回路の回路情報から任意のセルを対象セルに選択する。そして、対象セルの遅延時間と遅延時間の補正係数に基づいて評価値が算出され、評価値に基づいて対象セルの遅延時間および対象セルの出力スルーを補正するか否かが判断される。
そして、補正すると判断された場合、評価値に基づいて対象セルの遅延時間を、記憶装置に記憶されている遅延時間の補正係数により補正するか、遅延時間の補正式から算出される遅延時間の補正係数により補正するかが判断される。さらに、評価値に基づいて対象セルの出力スルーを、記憶装置に記憶されている出力スルーの補正係数により補正するか、出力スルーの補正式から算出される出力スルーの補正係数により補正するかが判断される。
まず、セル1では、遅延時間の補正係数とセル1の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正係数のテーブル内から検索された遅延時間の補正係数によりセル1の遅延時間を補正すると判断されている。さらに、評価値に基づいて出力スルーの補正係数のテーブル内から検索された出力スルーの補正係数によりセル1の出力スルーを補正すると判断されている。
つぎに、セル2では、遅延時間の補正係数とセル2の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正式により算出された遅延時間の補正係数に基づいてセル2の遅延時間を補正すると判断されている。さらに、評価値に基づいて出力スルーの補正式により算出された出力スルーの補正係数に基づいてセル2の出力スルーを補正すると判断されている。
そして、セル3では、遅延時間の補正係数とセル3の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル3の遅延時間およびセル3の出力スルーは補正する必要がないと判断される。これにより、適切な遅延時間の補正係数および出力スルーの補正係数に基づいて対象セルの遅延時間および対象セルの出力スルーを補正することができる。
実施の形態7では、対象セル情報入力部608と、検索部609と、補正後時間算出部610と、補正係数算出部612と、出力部614と、評価値算出部604との機能が実施の形態5または実施の形態6で説明した機能と同一であるため説明を省略する。実施の形態7では、判断部611についてのみ説明する。
判断部611は、評価値算出部604により算出された評価値が、所定のしきい値以上であるか否かにより、対象セルの遅延時間と対象セルの出力スルーを補正するか否かを判断する。さらに、判断部611は、対象セルの遅延時間と対象セルの出力スルーを補正すると判断された場合、当該評価値が、補正式に関するしきい値以上であるか否かにより補正式により補正するか否かを判断する。実施の形態3で説明したように、評価値算出部604により算出された評価値は、割合である。したがって、具体的な説明には、評価値を割合と称する。
具体的には、たとえば、CPU501が、記憶装置にアクセスしてテーブル2103から動作周波数情報に基づいて判断項目が補正不要の場合の基準値を読み出す。そして、割合が、基準値以上であるか否かを判断する。つぎに、割合が基準値以上であると判断された場合、補正すると判断され、割合が基準値未満の場合、補正しないと判断される。実施の形態3で説明したように、対象セルがIOBUF1の場合、割合が10.73[%]である。したがって、補正すると判断される。
さらに、具体的には、たとえば、CPU501が、記憶装置にアクセスしてテーブル2103から動作周波数2104に基づいて判断項目2105が補正式の場合の基準値を読み出す。ここで、テーブル2103内の判断項目2105が補正式の場合の基準値が、補正式に関するしきい値である。そして、割合が、基準値以上であるか否かを判断する。つぎに、割合が基準値以上であると判断された場合、補正式により補正すると判断され、割合が基準値未満の場合、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブル内の補正係数により補正すると判断される。
実施の形態3で説明したように、対象セルがIOBUF1の場合、割合が10.73[%]である。したがって、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブル内の補正係数により補正すると判断される。
そして、判断部611により補正式により補正すると判断された場合、補正係数算出部612と、補正後時間算出部610との機能により対象セルの遅延時間および出力スルーが補正される。
一方、判断部611により遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブル内の補正係数により補正すると判断された場合、補正後時間算出部610との機能により対象セルの遅延時間および出力スルーが補正される。
またこれにより、補正が必要なセルを自動で特定し、どの集中定数容量の値であっても設計対象回路内のセルを容易に補正することができる。したがって、出力スルーが適正なセルを補正せずに出力スルーが適正でないセルを補正することで、セルの出力スルーの見積もり精度を向上させることができる。なお、実施の形態7については、設計支援処理手順の詳細な説明を省略する。
(実施の形態8)
つぎに、実施の形態8について説明する。なお、実施の形態1〜7にて説明した構成と同一構成については同一符号を付して説明を省略する。図36を用いて実施の形態7の一例を示す。
図36は、実施の形態8の一例を示す説明図である。まず、設計対象回路の回路情報から任意のセルを対象セルに選択する。そして、対象セルの遅延時間と遅延時間の補正係数に基づいて評価値が算出され、評価値に基づいて対象セルの遅延時間および対象セルの出力スルーを補正するか否かが判断される。
そして、補正すると判断された場合、評価値に基づいて対象セルの遅延時間を、記憶装置に記憶されている遅延時間の補正係数により補正するか、遅延時間の補正式から算出される遅延時間の補正係数により補正するかが判断される。さらに、評価値に基づいて対象セルの出力スルーを、記憶装置に記憶されている出力スルーの補正係数により補正するか、出力スルーの補正式から算出される出力スルーの補正係数により補正するかが判断される。
まず、セル1では、遅延時間の補正係数とセル1の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正係数のテーブル内から検索された遅延時間の補正係数によりセル1の遅延時間を補正すると判断されている。さらに、評価値に基づいて出力スルーの補正係数のテーブル内から検索された出力スルーの補正係数によりセル1の出力スルーを補正すると判断されている。
つぎに、セル2では、遅延時間の補正係数とセル2の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正式により算出された遅延時間の補正係数に基づいてセル2の遅延時間を補正すると判断されている。さらに、評価値に基づいて出力スルーの補正式により算出された出力スルーの補正係数に基づいてセル2の出力スルーを補正すると判断されている。
そして、セル3では、遅延時間の補正係数とセル3の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル3は、不定値を伝播する波形を出力すると判断されている。したがって、セル3の遅延時間および出力スルーは、不定値が伝播される値に変換される。
そして、セル4では、遅延時間の補正係数とセル4の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル4の遅延時間およびセル4の出力スルーを補正する必要がないと判断される。
実施の形態8では、実施の形態7で説明した判断部611の機能に、さらに評価値に基づいて対象セルが不定値を伝播する波形を出力するか否かを判断する機能が加わる。
判断部611は、さらに、評価値算出部604により算出された評価値が、不定値伝播に関するしきい値以上であるか否かに基づいて、対象セルの遅延時間を補正するか否かを判断する。さらに、判断部611は、評価値算出部604により算出された評価値が、不定値伝播に関するしきい値以上であるか否かに基づいて、対象セルの出力スルーを補正するか否かを判断する。
具体的には、たとえば、CPU501が、テーブル2107から動作周波数2108に基づいて判断項目2109がテーブルの場合の基準値2110を読み出す。ここで、テーブル2107内の判断項目2109がテーブルの場合の基準値2110が、不定値伝播に関するしきい値である。そして、たとえば、CPU501が、割合が基準値以上であるか否かを判断する。そして、基準値以上であると判断された場合、対象セルが不定値を出力すると判断され、対象セルが補正できないと判断される。一方、基準値未満であると判断された場合、遅延時間の補正係数のテーブル内の補正係数により対象セルの遅延時間を補正し、出力スルーの補正係数のテーブル内の補正係数により対象セルの出力スルーを補正すると判断される。なお、実施の形態3で説明したように、対象セルがIOBUF1の場合、割合が10.73[%]である。したがって、遅延時間の補正係数のテーブル内の補正係数により対象セルの遅延時間を補正し、出力スルーの補正係数のテーブル内の補正係数により対象セルの出力スルーを補正すると判断される。
変換部613は、判断部611により対象セルが、対象セルが不定値を出力すると判断され、対象セルが補正できないと判断された場合、対象セルの遅延時間へ不定値が伝播される値に変換する機能を有する。さらに、対象セルの出力スルーへ不定値が伝播される値に変換する機能を有する。具体的には、たとえば、CPU501が、対象セルの遅延時間および出力スルーの値を、遅延時間および出力スルーとして設定可能な最大の値に変換する。
つぎに、出力部614は、変換部613により変換された対象セルの遅延時間を出力する機能を有する。さらに、出力部614は、変換部613により変換された対象セルの出力スルーを出力する機能を有する。具体的には、たとえば、CPU501が、変換された対象セルの遅延時間および対象セルの出力スルーをPTV条件と関連付けて出力する。出力形式としては、たとえば、ディスプレイ508への表示、プリンタ513への印刷出力、I/F509による外部装置への送信がある。また、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶することとしてもよい。
これにより、不定値を出力するセルを自動で特定し、セルの遅延時間および出力スルーを不定値の伝播を検証可能な値に自動で変換する。さらに、不定値を出力しないセルを自動で特定し、セルの遅延時間および出力スルーを補正することができ、セルの遅延時間および出力スルーを適正化することができる。したがって、セルの遅延時間および出力スルーの見積もり精度を向上させることができる。さらに、不定値を出力するセルがあるか否かを、検証前に特定することができる。なお、実施の形態8では、実施の形態8にかかる設計支援装置の設計支援処理手順の説明を省略する。
以上説明したように、検証支援プログラム、および検証支援装置によれば、駆動能力の値および集中定数容量の値に基づく回路モデルの第1の遅延時間と駆動能力の値と集中定数容量の値と入力容量の値とに基づく回路モデルの第2の遅延時間との相対的な評価値を算出して、遅延時間の補正係数とする。
これにより、遅延時間を適正化可能な遅延時間の補正係数を自動で算出することができる。したがって、利用者が、設計対象回路内のセルの遅延時間を、遅延時間の補正係数を用いて補正することで、当該セルの駆動能力およびセルの出力先であるセルに応じてセルの遅延時間を適正化することができる。そして、遅延時間の見積もり精度を向上させることができる。
また、設計対象回路内のセルの遅延時間を、遅延時間の補正係数により補正して当該セルの補正後遅延時間を自動で算出する。これにより、設計対象回路内のセルごとに当該セルの遅延時間が、補正されて適正化される。したがって、セルの遅延時間の見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を検証することができ、検証精度を向上させることができる。
また、設計対象回路内のセルの遅延時間を遅延時間の補正係数により補正するか否かを判断し、補正すると判断された場合、当該セルの遅延時間を補正する。これにより、補正が必要なセルを自動で特定し、当該セルの遅延時間を補正して適正化することができる。したがって、セルの遅延時間の見積もり精度を向上させることができ、検証の精度を向上させることができる。
また、駆動能力の値と入力容量との値ごとに遅延時間の補正係数を、線形近似することで補正式を算出する。これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、利用者が、遅延時間の補正式を用いて設計対象回路内のセルの遅延時間を補正することで当該セルの遅延時間を容易に適正化することができる。したがって、セルの遅延時間の見積もり精度を向上させることができ、検証精度を向上させることができる。
また、遅延時間の補正係数を、線形近似することで算出された遅延時間の補正式に集中定数容量の値を与えることで、設計対象回路のセルの遅延時間に対応する遅延時間の補正係数を容易に算出することができる。これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、補正式を用いて補正することで容易に自動で補正することができる。したがって、セルの遅延時間を適正化することができ、セルの遅延時間の見積もり精度を向上させることができる。
また、遅延時間の補正式に基づいて算出された遅延時間の補正係数により設計対象回路内のセルの遅延時間を補正するか否かを判断し、補正すると判断された場合、当該セルの遅延時間を補正する。これにより、補正が必要なセルを自動で特定し、どの集中定数容量の値であっても設計対象回路内のセルを容易に補正することができる。したがって、遅延時間が適正なセルを補正せずに遅延時間が適正でないセルを補正することで、セルの遅延時間の見積もり精度を向上させることができる。
また、設計対象回路内のセルが不定値を伝播させるか否かを判断し、不定値を伝播させないと判断された場合、当該セルの遅延時間を補正し、不定値を伝播させると判断された場合、当該セルの遅延時間を不定値が伝播することを検証可能な値に変換する。
これにより、不定値を出力するセルを自動で特定し、セルの遅延時間を不定値の伝播を検証可能な値に自動で変換し、不定値を出力しないセルを自動で特定し、補正することができる。したがって、セルの遅延時間を適正化することができ、かつセルの遅延時間の見積もり精度を向上させることができる。さらに、不定値を出力するセルがあるか否かを、検証前に特定することができる。
以上説明したように、検証支援プログラム、および検証支援装置によれば、駆動能力の値および集中定数容量の値に基づく回路モデルの第1の出力スルーと駆動能力の値と集中定数容量の値と入力容量の値とに基づく回路モデルの第2の出力スルーとの相対的な評価値を算出して、出力スルーの補正係数とする。
これにより、出力スルーを適正化可能な出力スルーの補正係数を自動で算出することができる。したがって、利用者が、設計対象回路内のセルの出力スルーを、出力スルーの補正係数を用いて補正することで、当該セルの駆動能力およびセルの出力先であるセルに応じてセルの出力スルーを適正化することができる。そして、出力スルーの見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を検証することができ、検証精度を向上させることができる。
また、設計対象回路内のセルの出力スルーを、出力スルーの補正係数により補正して当該セルの補正後出力スルーを自動で算出する。これにより、設計対象回路内のセルごとに当該セルの出力スルーが、補正されて適正化される。したがって、セルの出力スルーの見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を検証することができ、検証精度を向上させることができる。
また、設計対象回路内のセルの出力スルーを出力スルーの補正係数により補正するか否かを判断し、補正すると判断された場合、当該セルの出力スルーを補正する。これにより、補正が必要なセルを自動で特定し、当該セルの出力スルーを補正して適正化することができる。したがって、セルの出力スルーの見積もり精度を向上させることができ、検証の精度を向上させることができる。さらに、出力スルーが適正であるセルが、補正されない。
また、駆動能力の値と入力容量との値ごとに遅延時間の補正係数を、線形近似することで補正式を算出する。これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、利用者が、出力スルーの補正式を用いて設計対象回路内のセルの出力スルーを補正することで当該セルの出力スルーを容易に適正化することができる。したがって、セルの出力スルーの見積もり精度を向上させることができ、検証精度を向上させることができる。
また、出力スルーの補正係数を、線形近似することで算出された出力スルーの補正式に集中定数容量の値を与えることで、設計対象回路のセルの出力スルーに対応する出力スルーの補正係数を容易に算出することができる。これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、出力スルー補正式を用いて補正することで容易にセルの出力スルーを適正化することができる。したがって、セルの出力スルーの見積もり精度を向上させることができ、検証精度を向上させることができる。
また、出力スルーの補正式に基づいて算出された出力スルーの補正係数により設計対象回路内のセルの出力スルーを補正するか否かを判断し、補正すると判断された場合、当該セルの出力スルーを補正する。これにより、補正が必要なセルを自動で特定し、どの集中定数容量の値であっても設計対象回路内のセルを容易に補正することができる。したがって、出力スルーが適正なセルを補正せずに出力スルーが適正でないセルを補正することで、セルの出力スルーの見積もり精度を向上させることができる。
また、設計対象回路内のセルが不定値を伝播させるか否かを判断し、不定値を伝播させないと判断された場合、当該セルの出力スルーを補正し、不定値を伝播させると判断された場合、当該セルの出力スルーを不定値の伝播が検証可能な値に変換する。
これにより、不定値を出力するセルを自動で特定し、セルの出力スルーを不定値の伝播を検証可能な値に自動で変換し、不定値を出力しないセルを自動で特定し、補正することができる。したがって、セルの出力スルーを適正化することができ、かつセルの出力スルーの見積もり精度を向上させることができる。さらに、不定値を出力するセルがあるか否かを、検証前に特定することができる。
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)回路モデルを模擬するシミュレータにアクセス可能なプロセッサを、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第1の遅延時間を入力する回路モデル情報入力手段、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第2の遅延時間を前記シミュレータから取得する取得手段、
前記回路モデル情報入力手段により入力された第1の遅延時間と前記取得手段により取得された第2の遅延時間との相対的な評価値を算出する評価値算出手段、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納手段、
として機能させることを特徴とする設計支援プログラム。
(付記2)前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの遅延時間とを入力する対象セル情報入力手段、
前記格納手段により記憶装置へ格納された遅延時間の補正係数の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する遅延時間の補正係数を検索する検索手段、
前記対象セル情報入力手段により入力された前記対象セルの遅延時間と前記検索手段により検索された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後遅延時間を出力する出力手段、
として機能させることを特徴とする付記1に記載の設計支援プログラム。
(付記3)前記プロセッサを、
所定のしきい値に基づいて前記対象セルの遅延時間を補正するか否かを判断する判断手段として機能させ、
前記評価値算出手段は、
前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値を算出し、
前記判断手段は、
前記評価値算出手段により算出された前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値が前記所定のしきい値以上であるか否かに基づいて、前記対象セルの遅延時間を補正するか否かを判断し、
前記補正後時間算出手段は、
前記判断手段により前記対象セルの遅延時間を補正すると判断された場合、前記検索手段により検索された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出することを特徴とする付記2に記載の設計支援プログラム。
(付記4)前記プロセッサを、
前記格納手段により格納された遅延時間の補正係数の中から前記駆動能力の値と前記入力容量の値とに対応する遅延時間の補正係数を抽出する抽出手段、
前記抽出手段により抽出された遅延時間の補正係数を線形近似して遅延時間の補正式を算出する補正式算出手段、として機能させ、
前記格納手段は、
前記補正式算出手段により算出された遅延時間の補正式を前記記憶装置へ格納することを特徴とする付記1に記載の設計支援プログラム。
(付記5)前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの遅延時間と前記出力先セルの入力容量の値を含む集中定数容量の値を入力する前記対象セル情報入力手段、
前記格納手段により記憶装置へ格納された遅延時間の補正式の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する遅延時間の補正式を検索する検索手段は、
前記検索手段により検索された遅延時間の補正式に前記対象セル情報入力手段により入力された前記集中定数容量の値を与えて遅延時間の補正係数を算出する補正係数算出手段、
前記対象セル情報入力手段により入力された前記対象セルの遅延時間と前記補正係数算出手段により算出された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後遅延時間を出力する出力手段、
として機能させることを特徴とする付記4に記載の設計支援プログラム。
(付記6)前記プロセッサを、
前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値が補正式に関するしきい値以上であるか否かにより、前記補正式により補正するか否かを判断する判断手段、
前記補正係数算出手段は、
前記判断手段により補正式により補正すると判断された場合、前記遅延時間の補正式へ前記集中定数容量の値を与えて遅延時間の補正係数を算出し、
前記補正後時間算出手段は、
前記対象セルの遅延時間と前記補正係数算出手段により算出された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出することを特徴とする付記5に記載の設計支援プログラム。
(付記7)前記プロセッサを、
前記対象セルの遅延時間へ不定値が伝播される値に変換する変換手段として機能させ、
前記判断手段は、
前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値が不定値伝播に関するしきい値以上であるか否かに基づいて、前記対象セルの遅延時間を補正するか否かを判断し、
前記変換手段は、
前記判断手段により前記対象セルの遅延時間を補正できないと判断された場合、前記対象セルの遅延時間を前記対象セルの遅延時間へ不定値が伝播される値に変換し、
前記出力手段は、
前記変換手段により変換された変換結果を出力することを特徴とする付記2,3,5,6のいずれか1つに記載の設計支援プログラム。
(付記8)回路モデルを模擬するシミュレータにアクセス可能なプロセッサを、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第1の出力スルーを入力する回路モデル情報入力手段、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第2の出力スルーを前記シミュレータから取得する取得手段、
前記回路モデル情報入力手段により入力された第1の出力スルーと前記取得手段により取得された第2の出力スルーとの相対的な評価値を算出する評価値算出手段、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、出力スルーの補正係数として記憶装置へ格納する格納手段、
として機能させることを特徴とする設計支援プログラム。
(付記9)前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの出力スルーとを入力する対象セル情報入力手段、
前記格納手段により記憶装置へ格納された出力スルーの補正係数の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する出力スルーの補正係数を検索する検索手段、
前記対象セル情報入力手段により入力された前記対象セルの出力スルーと前記検索手段により検索された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後出力スルーを出力する出力手段、
として機能させることを特徴とする付記8に記載の設計支援プログラム。
(付記10)前記プロセッサを、
所定のしきい値に基づいて前記対象セルの出力スルーを補正するか否かを判断する判断手段として機能させ、
前記評価値算出手段は、
前記対象セルの遅延時間と前記補正後出力スルーとの相対的な評価値を算出し、
前記判断手段は、
前記評価値算出手段により算出された前記対象セルの出力スルーと前記補正後遅延時間との相対的な評価値が前記所定のしきい値以上であるか否かに基づいて、前記対象セルの出力スルーを補正するか否かを判断し、
前記補正後時間算出手段は、
前記判断手段により前記対象セルの出力スルーを補正すると判断された場合、前記検索手段により検索された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出することを特徴とする付記9に記載の設計支援プログラム。
(付記11)前記プロセッサを、
前記格納手段により格納された出力スルーの補正係数の中から前記駆動能力の値と前記入力容量の値とに対応する出力スルーの補正係数を抽出する抽出手段、
前記抽出手段により抽出された出力スルーの補正係数を線形近似して出力スルーの補正式を算出する補正式算出手段、として機能させ、
前記格納手段は、
前記補正式算出手段により算出された出力スルーの補正式を前記記憶装置へ格納することを特徴とする付記8に記載の設計支援プログラム。
(付記12)前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの出力スルーと前記出力先セルの入力容量の値を含む集中定数容量の値を入力する前記対象セル情報入力手段、
前記格納手段により記憶装置へ格納された出力スルーの補正式の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する出力スルーの補正式を検索する検索手段は、
前記検索手段により検索された出力スルーの補正式に前記対象セル情報入力手段により入力された前記集中定数容量の値を与えて出力スルーの補正係数を算出する補正係数算出手段、
前記対象セル情報入力手段により入力された前記対象セルの出力スルーと前記補正係数算出手段により算出された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後出力スルーを出力する出力手段、
として機能させることを特徴とする付記11に記載の設計支援プログラム。
(付記13)前記プロセッサを、
前記対象セルの出力スルーと前記補正後出力スルーとの相対的な評価値が補正式に関するしきい値以上であるか否かにより、前記出力スルーの補正式により補正するか否かを判断する判断手段、
前記補正係数算出手段は、
前記判断手段により前記出力スルーの補正式により補正すると判断された場合、前記出力スルーの補正式へ前記集中定数容量の値を与えて出力スルーの補正係数を算出し、
前記補正後時間算出手段は、
前記対象セルの出力スルーと前記補正係数算出手段により算出された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出することを特徴とする付記12に記載の設計支援プログラム。
(付記14)前記プロセッサを、
前記対象セルの出力スルーへ不定値が伝播される値に変換する変換手段として機能させ、
前記判断手段は、
前記対象セルの出力スルーと前記補正後出力スルーとの相対的な評価値が不定値伝播に関するしきい値以上であるか否かに基づいて、前記対象セルの出力スルーを補正するか否かを判断し、
前記変換手段は、
前記判断手段により前記対象セルの出力スルーを補正できないと判断された場合、前記対象セルの出力スルーを前記対象セルの出力スルーへ不定値が伝播される値に変換し、
前記出力手段は、
前記変換手段により変換された変換結果を出力することを特徴とする付記9、10、12、13のいずれか1つに記載の設計支援プログラム。
(付記15)回路モデルを模擬するシミュレータにアクセス可能な設計支援装置であって、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第1の遅延時間を入力する回路モデル情報入力手段と、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段と、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第2の遅延時間を前記シミュレータから取得する取得手段と、
前記回路モデル情報入力手段により入力された第1の遅延時間と前記取得手段により取得された第2の遅延時間との相対的な評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納手段と、
を備えることを特徴とする設計支援装置。
(付記16)回路モデルを模擬するシミュレータにアクセス可能なコンピュータが、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第1の遅延時間を入力する回路モデル情報入力工程、
前記回路モデル情報入力工程により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定工程、
前記設定工程により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第2の遅延時間を前記シミュレータから取得する取得工程、
前記回路モデル情報入力工程により入力された第1の遅延時間と前記取得工程により取得された第2の遅延時間との相対的な評価値を算出する評価値算出工程、
前記評価値算出工程により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納工程、
を実行することを特徴とする設計支援方法。
(付記17)回路モデルを模擬するシミュレータにアクセス可能な設計支援装置であって、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第1の出力スルーを入力する回路モデル情報入力手段と、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段と、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第2の出力スルーを前記シミュレータから取得する取得手段と、
前記回路モデル情報入力手段により入力された第1の出力スルーと前記取得手段により取得された第2の出力スルーとの相対的な評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、出力スルーの補正係数として記憶装置へ格納する格納手段と、
を備えることを特徴とする設計支援装置。
(付記18)回路モデルを模擬するシミュレータにアクセス可能なプロセッサが、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第1の出力スルーを入力する回路モデル情報入力工程、
前記回路モデル情報入力工程により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定工程、
前記設定工程により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第2の出力スルーを前記シミュレータから取得する取得工程、
前記回路モデル情報入力工程により入力された第1の出力スルーと前記取得工程により取得された第2の出力スルーとの相対的な評価値を算出する評価値算出工程、
前記評価値算出工程により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、出力スルーの補正係数として記憶装置へ格納する格納工程、
を実行することを特徴とする設計支援方法。