(57)【要約】【課題】対象回路内のセルごとに当該セルの遅延時間を適正化することが可能な遅延時間の補正係数および出力スルーの補正係数を当該対象回路の遅延時間の算出前に用意して遅延時間の見積もり精度の向上化を図ること。【解決手段】設計支援装置は、駆動能力の値と、集中定数容量の値と、集中定数容量の一部の値である入力容量の値と、を回路モデルに設定し、当該回路モデルをシミュレータに与え、当該シミュレータの模擬により得られた当該回路モデルの第２の遅延時間および第２の出力スルーをシミュレータから取得し、駆動能力の値および集中定数容量の値に基づく回路モデルの第１の遅延時間と第２の遅延時間との相対的な評価値を算出して遅延時間の補正係数とし、駆動能力の値および集中定数容量の値に基づく回路モデルの第１の出力スルーと第２の出力スルーとの相対的な評価値を算出して出力スルーの補正係数とする。【選択図】図３
2010287186.tif 000002
【特許請求の範囲】
【請求項１】
回路モデルを模擬するシミュレータにアクセス可能なプロセッサを、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の遅延時間を入力する回路モデル情報入力手段、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の遅延時間を前記シミュレータから取得する取得手段、
前記回路モデル情報入力手段により入力された第１の遅延時間と前記取得手段により取得された第２の遅延時間との相対的な評価値を算出する評価値算出手段、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納手段、
として機能させることを特徴とする設計支援プログラム。
【請求項２】
前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの遅延時間とを入力する対象セル情報入力手段、
前記格納手段により記憶装置へ格納された遅延時間の補正係数の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する遅延時間の補正係数を検索する検索手段、
前記対象セル情報入力手段により入力された前記対象セルの遅延時間と前記検索手段により検索された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後遅延時間を出力する出力手段、
として機能させることを特徴とする請求項１に記載の設計支援プログラム。
【請求項３】
前記プロセッサを、
所定のしきい値に基づいて前記対象セルの遅延時間を補正するか否かを判断する判断手段として機能させ、
前記評価値算出手段は、
前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値を算出し、
前記判断手段は、
前記評価値算出手段により算出された前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値が前記所定のしきい値以上であるか否かに基づいて、前記対象セルの遅延時間を補正するか否かを判断し、
前記補正後時間算出手段は、
前記判断手段により前記対象セルの遅延時間を補正すると判断された場合、前記検索手段により検索された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出することを特徴とする請求項２に記載の設計支援プログラム。
【請求項４】
回路モデルを模擬するシミュレータにアクセス可能なプロセッサを、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の出力スルーを入力する回路モデル情報入力手段、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の出力スルーを前記シミュレータから取得する取得手段、
前記回路モデル情報入力手段により入力された第１の出力スルーと前記取得手段により取得された第２の出力スルーとの相対的な評価値を算出する評価値算出手段、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、出力スルーの補正係数として記憶装置へ格納する格納手段、
として機能させることを特徴とする設計支援プログラム。
【請求項５】
前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの出力スルーとを入力する対象セル情報入力手段、
前記格納手段により記憶装置へ格納された出力スルーの補正係数の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する出力スルーの補正係数を検索する検索手段、
前記対象セル情報入力手段により入力された前記対象セルの出力スルーと前記検索手段により検索された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後出力スルーを出力する出力手段、
として機能させることを特徴とする請求項４に記載の設計支援プログラム。
【請求項６】
前記プロセッサを、
所定のしきい値に基づいて前記対象セルの出力スルーを補正するか否かを判断する判断手段として機能させ、
前記評価値算出手段は、
前記対象セルの遅延時間と前記補正後出力スルーとの相対的な評価値を算出し、
前記判断手段は、
前記評価値算出手段により算出された前記対象セルの出力スルーと前記補正後遅延時間との相対的な評価値が前記所定のしきい値以上であるか否かに基づいて、前記対象セルの出力スルーを補正するか否かを判断し、
前記補正後時間算出手段は、
前記判断手段により前記対象セルの出力スルーを補正すると判断された場合、前記検索手段により検索された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出することを特徴とする請求項５に記載の設計支援プログラム。
【請求項７】
回路モデルを模擬するシミュレータにアクセス可能な設計支援装置であって、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の遅延時間を入力する回路モデル情報入力手段と、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段と、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の遅延時間を前記シミュレータから取得する取得手段と、
前記回路モデル情報入力手段により入力された第１の遅延時間と前記取得手段により取得された第２の遅延時間との相対的な評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納手段と、
を備えることを特徴とする設計支援装置。
【請求項８】
回路モデルを模擬するシミュレータにアクセス可能なコンピュータが、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の遅延時間を入力する回路モデル情報入力工程、
前記回路モデル情報入力工程により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定工程、
前記設定工程により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の遅延時間を前記シミュレータから取得する取得工程、
前記回路モデル情報入力工程により入力された第１の遅延時間と前記取得工程により取得された第２の遅延時間との相対的な評価値を算出する評価値算出工程、
前記評価値算出工程により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納工程、
を実行することを特徴とする設計支援方法。
【請求項９】
回路モデルを模擬するシミュレータにアクセス可能な設計支援装置であって、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の出力スルーを入力する回路モデル情報入力手段と、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段と、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の出力スルーを前記シミュレータから取得する取得手段と、
前記回路モデル情報入力手段により入力された第１の出力スルーと前記取得手段により取得された第２の出力スルーとの相対的な評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、出力スルーの補正係数として記憶装置へ格納する格納手段と、
を備えることを特徴とする設計支援装置。
【請求項１０】
回路モデルを模擬するシミュレータにアクセス可能なプロセッサが、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の出力スルーを入力する回路モデル情報入力工程、
前記回路モデル情報入力工程により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定工程、
前記設定工程により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の出力スルーを前記シミュレータから取得する取得工程、
前記回路モデル情報入力工程により入力された第１の出力スルーと前記取得工程により取得された第２の出力スルーとの相対的な評価値を算出する評価値算出工程、
前記評価値算出工程により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、出力スルーの補正係数として記憶装置へ格納する格納工程、
を実行することを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計対象回路の遅延時間を計算する設計支援プログラム、設計支援装置、および設計支援方法に関する。
【背景技術】
【０００２】
従来より、設計対象回路内のパスの遅延時間が、パスを構成するセルの遅延時間に基づいて計算されることが知られている。さらに、プロセス（Ｐ：Ｐｒｏｃｅｓｓ）、温度（Ｔ：Ｔｅｍｐｅｒａｔｕｒｅ）、電源電圧（Ｖ：Ｖｏｌｔ）の条件（以下、「ＰＴＶ条件」）に基づいてセルの遅延時間が算出されることが知られている。
【０００３】
セルの遅延時間を算出する技術では、セルと当該セルの出力先セルを接続するための配線に対応する抵抗と容量とを単一の配線容量の値に置換する。そして、配線容量の値および出力先セルの入力容量が一意的に負荷容量（集中定数容量の値）に置換された回路モデルを用いてＳＰＩＣＥなどのアナログ回路をシミュレーションするシミュレータによりシミュレーションする技術が知られている。さらに、セルへ入力される入力波形の立ち上がり（または立ち上がり）に要する時間（以下、「入力スルー」）やセルが出力する出力波形の立ち上がりまたは立ち上がり）に要する時間（以下、「出力スルー」）をセルの遅延時間に含めてシミュレーションする技術（以下、「第１の従来技術」）が知られている（たとえば、下記特許文献１〜２参照。）。
【０００４】
また、遅延時間の精度を向上させるために、レイアウト設計後のレイアウトデータから配線抵抗および配線容量を抽出し、抽出結果によりシミュレーションする技術（以下、「第２の従来技術」）が知られている（たとえば、下記特許文献３参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−１９８７２０号公報
【特許文献２】特開２０００−２７６５０１号公報
【特許文献３】特開平９−２５７８８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来ではセルの出力波形は線形であったが、近年では出力波形に段差が生じるなど出力波形が非線形となる現象がみられるようになってきた。出力波形が非線形となる現象は、プロセスの微細化や低電圧化などに起因している。たとえば、下記（１）〜（３）に示すような原因が挙げられる。
【０００７】
（１）  プロセスの微細化によりトランジスタを形成するゲート酸化膜が薄くなりリーク電流が増加している。これにより、出力先セルのリーク電流や寄生容量に起因してセルの出力波形にオーバーシュート（またはアンダーシュート）が発生する。さらに、出力先セルのゲートサイズに基づいて出力波形のリンギングの周期や振幅が変化する。
（２）  低電圧化に伴い出力波形でのリンギングの振幅の割合が増加する。
（３）  駆動能力の低いセルタイプや駆動能力が低下するＰＴＶ条件では、トランジスタのスイッチング速度が低下し、最大限にリンギングが振幅しない。
【０００８】
第１の従来技術では、集中定数容量の値のみでシミュレーションされるため、設計対象回路内の複数のセルが、それぞれ出力先セルのゲートサイズが異なる場合であってもすべて同一の遅延時間となる。したがって、設計対象回路内のセルごとに遅延時間を算出することができない問題点があった。よって、出力波形が非線形になるか否かを反映してシミュレーションをおこなうことができず、遅延時間を見積もる精度が低い問題点あった。
【０００９】
そして、第２の従来技術では、タイミング検証を実施せずにレイアウトを設計し、レイアウト設計後に配線容量などの特性をレイアウトデータから抽出してタイミングを検証するため、再度、レイアウトを設計する必要があった。このため、レイアウトを再設計する都度、特性を抽出するため、設計に手間がかかり、タイミングが収束せず、セルの遅延時間を見積もるのが困難であるいう問題点があった。
【課題を解決するための手段】
【００１０】
本発明の一観点によれば、回路モデルを模擬するシミュレータにアクセス可能な設計支援装置であって、前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の遅延時間を入力する回路モデル情報入力手段と、前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段と、前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の遅延時間を前記シミュレータから取得する取得手段と、前記回路モデル情報入力手段により入力された第１の遅延時間と前記取得手段により取得された第２の遅延時間との相対的な評価値を算出する評価値算出手段と、前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納手段と、を備える設計支援装置が提供される。
【発明の効果】
【００１１】
開示の本設計支援プログラム、設計支援装置、および設計支援方法によれば、設計対象回路内のセルの遅延時間を補正することが可能な補正係数を、遅延時間の見積もり前に用意することでセルの遅延時間を容易に適正化できるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例を示す説明図である。
【図２−１】非線形な出力波形の一例を示す説明図である。
【図２−２】出力先セルのゲートサイズによるリンギングの変化の一例を示す説明図である。
【図２−３】電圧時に応じてリンギングの比率が大きくなる一例を示す説明図である。
【図２−４】駆動能力による出力波形の影響の一例を示す説明図である。
【図３】実施の形態１の一例を示す説明図である。
【図４】集中定数容量の値と入力容量の値の一例を示す説明図である。
【図５】実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。
【図６】設計支援装置の機能的構成を示すブロック図である。
【図７−１】第１の遅延時間と第２の遅延時間と遅延時間の補正係数の一例を示す説明図である。
【図７−２】第１の出力スルーと第２の出力スルーと出力スルーの補正係数の一例を示す説明図である。
【図８】実施の形態１にかかる設計支援装置の設計支援処理手順の一例を示すフローチャート（その１）である。
【図９】実施の形態１にかかる設計支援装置の設計支援処理手順の一例を示すフローチャート（その２）である。
【図１０】実施の形態１にかかる設計支援装置の設計支援処理手順の一例を示すフローチャート（その３）である。
【図１１】実施の形態２の一例を示す説明図である。
【図１２】実施の形態２にかかる設計支援装置の設計支援処理手順の一例を示すフローチャート（その１）である。
【図１３】実施の形態２にかかる設計支援装置の設計支援処理手順の一例を示すフローチャート（その２）である。
【図１４】実施の形態３の一例を示す説明図である。
【図１５】セルに関する情報の一例を示す説明図である。
【図１６】設計対象回路の回路情報の一例を示す説明図である。
【図１７−１】ＰＴＶ条件の一例を示す説明図である。
【図１７−２】ＰＴＶ条件以外の制約条件の一例を示す説明図である。
【図１８−１】遅延時間のテーブルの一例を示す説明図である。
【図１８−２】出力スルーのテーブルの一例を示す説明図である。
【図１９】遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルの一例を示す説明図である。
【図２０】テーブル１９０１の一例を示す説明図である。
【図２１】基準値の一例を示す説明図である。
【図２２】補正後遅延時間の一例を示す説明図である。
【図２３】実施の形態３にかかる設計支援装置の設計支援処理手順の一例を示すフローチャートである。
【図２４】図２３で示した補正処理（ステップＳ２３０８）の詳細な処理手順を示すフローチャート（その１）である。
【図２５】図２３で示した補正処理（ステップＳ２３０８）の詳細な処理手順を示すフローチャート（その２）である。
【図２６】実施の形態４の一例を示す説明図である。
【図２７】実施の形態５の一例を示す説明図である。
【図２８】補正後出力スルーの一例を示す説明図である。
【図２９】実施の形態５にかかる設計支援装置の設計支援処理手順の一例を示すフローチャート（その１）である。
【図３０】実施の形態５にかかる設計支援装置の設計支援処理手順の一例を示すフローチャート（その２）である。
【図３１】図３０に示した補正処理（ステップＳ２９１３）の詳細な処理手順を示すフローチャート（その１）である。
【図３２】図３０に示した補正処理（ステップＳ２９１３）の詳細な処理手順を示すフローチャート（その２）である。
【図３３】図３０で示した算出処理（ステップＳ２９１４）の詳細な処理手順を示すフローチャートである。
【図３４】実施の形態６の一例を示す説明図である。
【図３５】実施の形態７の一例を示す説明図である。
【図３６】実施の形態８の一例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、本発明による設計支援プログラム、設計支援装置、および設計支援方法の好適な実施の形態を詳細に説明する。
【００１４】
図１は、本発明の一実施例を示す説明図である。本開示技術では、まず、任意の駆動能力の値と、任意の集中定数容量の値と、集中定数容量の値の一部である任意の入力容量の値と、当該駆動能力の値と当該集中定数容量の値に基づく第１の遅延時間が入力される。つぎに、入力された任意の駆動能力の値と、任意の集中定数容量の値と、入力容量の値と、を回路モデルへ設定する。そして、設定された回路モデルを、アナログ回路をシミュレーションするシミュレータへ与える。つぎに、シミュレータによりシミュレーションされた当該回路モデルの第２の遅延時間と、第１の遅延時間との時間差を遅延時間の補正係数として算出する。そして、算出された遅延時間の補正係数を、駆動能力の値と、集中定数容量の値と、入力容量の値とに関連付けて記憶装置に記憶する。
【００１５】
そして、設計対象回路の回路情報を記憶装置から読み込み、設計対象回路の中から、任意のセルを対象セルに選択する。つぎに、対象セルの駆動能力の値と、対象セルに接続されている配線の配線容量および対象セルの出力先であるセルの入力容量に基づいて、記憶装置から遅延時間の補正係数を取得して、対象セルの遅延時間を補正する。
【００１６】
これにより、遅延時間を適正化可能な遅延時間の補正係数を自動で算出することができる。したがって、利用者が、設計対象回路の内のセルの遅延時間を、遅延時間の補正係数を用いて補正することで、当該セルの駆動能力およびセルの出力先であるセルに応じてセルの遅延時間を適正化することができる。そして、遅延時間の見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を検証することができ、検証精度を向上させることができる。つぎに、図２にて非線形波形の出力波形の一例を示す。
【００１７】
図２−１は、非線形な出力波形の一例を示す説明図である。グラフ２００は、縦軸を電圧［Ｖ］、横軸を時間［ｐｓｅｃ］として、セルに入力波形を入力した場合の出力波形１と出力波形２を示している。ここでのセルは、バッファである。グラフ２００では、入力波形が電圧の立ち上がり波形の場合の出力波形を示している。入力波形は、０［Ｖ］から０．８［Ｖ］までの立ち上がり変化である。
【００１８】
そして、出力波形１では、入力波形と同様に０［Ｖ］から０．８［Ｖ］まで線形に立ち上がっている。しかしながら、出力波形２では、０［Ｖ］から０．８［Ｖ］まで段階的に立ち上がり、線形に立ち上がっていない。したがって、出力波形２が、非線形な出力波形である。つぎに、図２−２にて上述した出力先セルのゲートサイズの影響を示す。
【００１９】
図２−２は、出力先セルのゲートサイズによるリンギングの変化の一例を示す説明図である。グラフ２０１とグラフ２０２は、バッファの出力波形である。グラフ２０１の波形を出力するバッファとグラフ２０２の波形を出力するバッファは同一バッファである。そして、グラフ２０１の波形を出力するバッファの出力先セルのゲートサイズを示すチャネル幅Ｗを１とした場合、グラフ２０２の波形を出力するバッファの出力先セルのチャネル幅Ｗは１０倍である。グラフ２０１の出力波形と比較してグラフ２０２の出力波形では、波形の歪み（リンギング）が大きい。チャネル幅Ｗによりゲートの入力容量が変化するため、同一バッファであっても出力先セルの入力容量によりバッファの出力波形が異なる。つぎに、図２−３にて、電圧に応じてリンギングの比率が大きくなる一例を示す。
【００２０】
図２−３は、電圧時に応じてリンギングの比率が大きくなる一例を示す説明図である。グラフ２０３では、入力波形が０Ｖから１．２Ｖの場合の出力波形５と、入力波形が０Ｖから１．０Ｖの場合の出力波形６と、入力波形が０Ｖから０．８Ｖの場合の出力波形７と、を示している。ここでのセルは、すべてバッファである。出力波形５と、出力波形６と、出力波形７とでは、リンギングが同様に発生しているため、出力波形７は出力波形５および出力波形６と比較してリンギングの割合が多くなっている。したがって、入力電圧が低い場合、リンギングによる影響が大きい。つぎに、セルの駆動能力が低下する場合の一例を示す。
【００２１】
図２−４は、駆動能力による出力波形の影響の一例を示す説明図である。グラフ２０４の出力波形８を出力するバッファは、グラフ２０５の出力波形９を出力するバッファよりも駆動能力が高いバッファである。出力波形８では、リンギングが振幅しているが、出力波形９では、リンギングが振幅せずに、非線形な波形になっている。駆動能力は、ＰＴＶ条件によっても低下することがある。したがって、同一バッファであってもＰＴＶ条件によっては出力波形９のように出力波形が非線形となる。
【００２２】
したがって、設計対象回路内の任意のセルの出力先セルの入力容量の値と、任意のセルの駆動能力の値と、ＰＴＶ条件とによっては、当該任意のセルの出力波形が非線形となる。本開示技術では、設計対象回路の遅延時間を算出するに先だって、設計対象回路内のセルごとに遅延時間および出力スルーを補正可能な補正係数を用意することで、該セルの遅延時間および出力スルーを適正化することができる。出力波形が非線形となる原因である入力容量の値と、駆動能力の値と、ＰＴＶ条件とを、補整係数を算出するための回路モデルに設定することで、出力波形が非線形となる検証を実施することができる。
【００２３】
まず、実施の形態１〜２では、遅延時間の補正係数および出力スルーの補正係数を算出する例を示す。つぎに、実施の形態３〜８では、算出された遅延時間の補正係数および出力スルーの補正係数を用いて、設計対象回路内のセルの遅延時間または出力スルーを補正して適正化する例を示す。
【００２４】
（実施の形態１）
実施の形態１では、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルが自動で作成される例を示す。まず、図３にて実施の形態１の一例を示す。
【００２５】
図３は、実施の形態１の一例を示す説明図である。実施の形態１では、任意の入力スルーの値と、任意の駆動能力の値と、任意の集中定数容量の値と、を回路モデル１に設定し、アナログ回路をシミュレーションするシミュレータ（以下、「シミュレータ」と省略する）に与える。そして、当該シミュレータのシミュレーションにより得られた回路モデル１の第１の遅延時間および第１の出力スルーを取得する。第１の遅延時間とは、たとえば、Ｐ０の波形の電圧が５０％の箇所からＰ２の波形の電圧が５０％の箇所までの時間である。そして、第１の出力スルーとは、たとえば、Ｐ１の波形の電圧が２０％の箇所からＰ１の波形の電圧が８０％の箇所までの時間である。
【００２６】
さらに、当該入力スルーの値と、当該駆動能力の値と、当該集中定数容量の値と、当該集中定数容量の値の一部である入力容量の値と、を回路モデル２に設定してシミュレータに与える。そして、当該シミュレータのシミュレーションにより得られた回路モデル２の第２の遅延時間および第２の出力スルーを取得する。第２の遅延時間とは、Ｐ０の波形の電圧が５０％の箇所からＰ２の波形の電圧が５０％の箇所までの時間である。そして、第２の出力スルーとは、Ｐ２の波形の電圧が２０％の箇所からＰ２の波形の電圧が８０％の箇所までの時間である。
【００２７】
そして、第１の遅延時間と第２の遅延時間との相対的な評価値を遅延時間の補正係数とし、入力スルーの値と、駆動能力の値と、集中定数容量の値と、入力容量の値と関連付けてテーブルし、ライブラリの一部として記憶装置へ格納する。さらに、第１の出力スルーおよび第２の出力スルーとの相対的な評価値を出力スルーの補正係数とし、入力スルーの値と、駆動能力の値と、集中定数容量の値と、入力容量の値と関連付けてテーブルし、ライブラリの一部として記憶装置へ格納する。なお、回路モデル１は、従来の技術であるため説明を省略し、回路モデル１を用いて得られる第１の遅延時間および第１の出力スルーはあらかじめ記憶装置に記憶されているとする。
【００２８】
ここで、回路モデル２の詳細について説明する。回路モデル２では、バッファの駆動能力の値と、入力スルーと、負荷容量を示す集中定数容量の値と、集中定数容量の値の一部である入力容量の値が設定可能である。さらに、入力波形、ＰＴＶ条件が設定可能である。実施の形態１ではバッファを利用しているが、その他の機能のセルであってもよい。
【００２９】
駆動能力の値と、入力スルーと、負荷容量を示す集中定数容量と、集中定数容量の一部である入力容量と、ＰＴＶ条件と、の回路モデル２へ設定される値の一例を下記に示す。
・駆動能力の値：１，２，４，８，１６，３２
・入力波形：立ち下がり、立ち上がり
・ＰＴＶ条件：ＴＹＰＩＣＡＬ条件（以下、「ＴＹＰ条件」）、ＦＡＳＴ条件、ＳＬＯＷ条件
・入力スルー［ｐｓｅｃ］：０．６，６，６０，６００
・集中定数容量の値［ｆＦ］：８，１６，３２，６４，１２８
・入力容量の値［ｆＦ］：２，４，８，１６，３２
【００３０】
駆動能力の値は６条件であり、入力波形は２条件であり、ＰＴＶ条件は３条件であり、入力スルーは４条件であり、集中定数容量の値は５条件であり、入力容量の値は５条件である。そして、それぞれの組合せに対して第２の遅延時間が算出されるため、合計は３６００条件である。
【００３１】
ここで、駆動能力の値に関して具体的に説明する。回路モデル２では、バッファが記述されている。駆動能力の値を回路モデル２に設定するとは、当該バッファのモデルが変更されている。同一ライブラリ内には、複数のバッファが用意されている。そして、複数のバッファ内で最も駆動能力の弱いバッファを１としたときに、当該バッファの駆動能力が何倍であるかによって各バッファの駆動能力の値が決定される。たとえば、回路モデル２に該回路モデル２内に定義されている駆動能力の値へ２が設定されるとは、回路モデル２へ最も弱い駆動能力のバッファと比較して２倍の駆動能力であるバッファが設定される。なお、回路モデル２では、バッファを例に挙げているが、バッファに限らずその他の機能のセルであってもよい。
【００３２】
入力容量の値とは、出力先セルの入力容量の値を示している。ＰＴＶ条件の具体例については、後述する。図４にて集中定数容量の値と入力容量の値との相関関係を示す。
【００３３】
図４は、集中定数容量の値と入力容量の値の一例を示す説明図である。テーブル４００は、入力容量４０１と、集中定数容量４０２と、配線容量４０３とを含む構成である。入力容量４０１では、集中定数容量の一部である入力容量の値を有し、集中定数容量４０２では、集中定数容量の値を有し、配線容量４０３では、集中定数容量の一部である配線容量の値を有している。たとえば、入力容量４０１が２、かつ集中定数容量４０２が１６の場合、配線容量４０３は、１４である。そして、集中定数容量の値および入力容量の値に基づいてテーブル４００から配線容量の値が読み出され、回路モデル２へ設定される。なお、図４にて示されている入力容量４０１および集中定数容量４０２の値は、一例であり、これに限らず。
【００３４】
（設計支援装置のハードウェア構成）
図５は、実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。図５において、設計支援装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３と、磁気ディスクドライブ５０４と、磁気ディスク５０５と、光ディスクドライブ５０６と、光ディスク５０７と、ディスプレイ５０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）５０９と、キーボード５１０と、マウス５１１と、スキャナ５１２と、プリンタ５１３と、を備えている。また、各構成部はバス５００によってそれぞれ接続されている。
【００３５】
ここで、ＣＰＵ５０１は、設計支援装置の全体の制御を司る。ＲＯＭ５０２は、設計支援プログラムやアナログ回路をシミュレーション可能なシミュレータを記憶している。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。磁気ディスクドライブ５０４は、ＣＰＵ５０１の制御にしたがって磁気ディスク５０５に対するデータのリード／ライトを制御する。磁気ディスク５０５は、磁気ディスクドライブ５０４の制御で書き込まれたデータを記憶する。
【００３６】
光ディスクドライブ５０６は、ＣＰＵ５０１の制御にしたがって光ディスク５０７に対するデータのリード／ライトを制御する。光ディスク５０７は、光ディスクドライブ５０６の制御で書き込まれたデータを記憶したり、光ディスク５０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３７】
ディスプレイ５０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ５０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３８】
Ｉ／Ｆ５０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク５１４に接続され、このネットワーク５１４を介して他の装置に接続される。そして、Ｉ／Ｆ５０９は、ネットワーク５１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ５０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３９】
キーボード５１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス５１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００４０】
スキャナ５１２は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ５１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ５１３は、画像データや文書データを印刷する。プリンタ５１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００４１】
（設計支援装置の機能的構成）
つぎに、図６は、設計支援装置の機能的構成を示すブロック図である。設計支援装置６００は、回路モデル情報入力部６０１と、設定部６０２と、取得部６０３と、評価値算出部６０４と、格納部６０５と、抽出部６０６と、補正式算出部６０７と、対象セル情報入力部６０８と、検索部６０９と、補正後時間算出部６１０と、判断部６１１と、補正係数算出部６１２と、変換部６１３と、出力部６１４と、を含む構成である。各機能（回路モデル情報入力部６０１〜出力部６１４）は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されたプログラムをＣＰＵ５０１に実行させることにより、または、Ｉ／Ｆ５０９により、その機能を実現する。
【００４２】
まず、回路モデル情報入力部６０１は、回路モデルに定義されている駆動能力の値と、集中定数容量の値と、当該集中定数容量の一部である入力容量の値とを入力し、当該駆動能力の値および当該集中定数容量の値に基づく回路モデルの第１の遅延時間を入力する機能を有する。具体的には、たとえば、利用者が、駆動能力の値と、集中定数容量の値と、当該集中定数容量の一部である入力容量の値とを入力する。さらに、利用者が、駆動能力の値と集中定数容量の値とに基づく第１の遅延時間および第１の出力スルーを入力する。
【００４３】
具体的には、たとえば、利用者（設計者、検証者、またはライブラリの作成者）が、上述した駆動能力の値から任意の駆動能力の値と、上述したから任意の集中定数容量の値と、上述した入力容量の値から任意の入力容量の値を入力する。さらに、立ち上がりまたは立ち下がりのいずれか一方の入力波形の情報と、上述したＰＴＶ条件から任意のＰＴＶ条件と、上述した入力スルーから任意の入力スルーを入力する。そして、ＣＰＵ５０１が、入力された駆動能力の値と、集中定数容量の値と、入力波形の情報と、ＰＴＶ条件と、入力スルーとを受け付ける。
【００４４】
または、具体的には、たとえば、利用者が、複数の駆動能力の値と、複数の集中定数容量の値と、複数の入力容量の値と、複数の入力波形の情報と、複数のＰＴＶ条件と、複数の入力スルーとを入力する。そして、たとえば、ＣＰＵ５０１が、複数の駆動能力の値と、複数の集中定数容量の値と、複数の入力容量の値と、複数の入力波形の情報と、複数のＰＴＶ条件と、複数の入力スルーとを受け付ける。さらに、ＣＰＵ５０１が、任意の駆動能力と、任意の集中定数容量の値と、任意の入力容量の値と、任意の入力波形の情報と、任意のＰＴＶ条件と、任意の入力スルーを順次選択する。
【００４５】
さらに、第１の遅延時間は、従来技術であるためライブラリとして記憶装置に記憶されているとしてＣＰＵ５０１が、記憶装置から入力された条件に基づいて第１の遅延時間を読み出すとしてもよい。
【００４６】
つぎに、設定部６０２は、回路モデル情報入力部６０１により入力された駆動能力の値と、集中定数容量の値と、入力容量の値とを、回路モデルに設定する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、駆動能力の値と、集中定数容量の値と、入力容量の値と、入力波形の情報と、ＰＴＶ条件と、入力スルーの入力を受け付けると、回路モデル２へ入力されたそれぞれを設定する。なお、設定された回路モデル２は、ＲＡＭ５０３、磁気ディスク５０５などの記憶装置に記憶される。
【００４７】
つぎに、取得部６０３は、設定部６０２により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータのシミュレーションにより得られた前記回路モデルの第２の遅延時間を前記シミュレータから取得する機能を有する。さらに、取得部６０３は、設定部６０２により値が設定された回路モデルをシミュレータへ与えることにより、当該シミュレータのシミュレーションにより得られた前記回路モデルの第２の出力スルーをシミュレータから取得する機能を有する。
【００４８】
具体的には、たとえば、ＣＰＵ５０１が、シミュレータにアクセスして、回路モデル２を当該シミュレータのシミュレーションすることで得られた回路モデル２の第２の遅延時間および第２の出力スルーを取得する。または、たとえば、ＣＰＵ５０１が、シミュレータにより記憶装置に格納された回路モデル２の第２の遅延時間および第２の出力スルーを記憶装置にアクセスして読み出す。
【００４９】
つぎに、評価値算出部６０４は、回路モデル情報入力部６０１により入力された第１の遅延時間と取得部６０３により取得された第２の遅延時間との相対的な評価値を算出する機能を有する。さらに、評価値算出部６０４は、回路モデル情報入力部６０１により入力された第１の出力スルーと取得部６０３により取得された第２の出力スルーとの相対的な評価値を算出する機能を有する。
【００５０】
具体的には、たとえば、ＣＰＵ５０１が、第１の遅延時間と第２の遅延時間との比率を算出し、評価値とする。下記式１にて遅延時間の時間差を示す。
【００５１】
遅延時間の評価値＝第２の遅延時間／第１の遅延時間
・・・（１）
具体的には、たとえば、ＣＰＵ５０１が、第１の出力スルーと第２の出力スルーとの比率を算出し、評価値とする。下記式２にて出力スルーの評価値を示す。
【００５２】
出力スルーの評価値＝第２の出力スルー／第１の出力スルー
・・・（２）
【００５３】
図７−１にて第１の遅延時間と第２の遅延時間との比率により算出された時間を示し、図７−２にて第１の出力スルーと第２の出力スルーとの比率により算出された時間を示す。
【００５４】
図７−１は、第１の遅延時間と第２の遅延時間と遅延時間の補正係数の一例を示す説明図である。テーブル７００では、第１の遅延時間を示し、テーブル７０１では、第２の遅延時間を示し、テーブル７０２では、遅延時間の補正係数を示している。テーブル７００およびテーブル７０１では、各条件が、駆動能力の値が８で、入力波形が立ち上がりで、ＰＴＶ条件が３条件で、入力スルーが４条件で、集中定数容量が全条件である。テーブル７０１では、さらに入力容量の値が１６ｆＦである。たとえば、ＰＴＶ条件がＢＥＳＴ条件で、入力スルーが０．６ｐｓｅｃで、集中定数容量が８である場合、第１の遅延時間は４８であり、第２の遅延時間が４９である。したがって、遅延時間の評価値は、上記式（１）より４９／４８で、よって１．０２である。そして、ここで算出される遅延時間の評価値が、遅延時間の補正係数である。つぎに、図７−２にて第１の出力スルーと第２の出力スルーとの比率により算出された時間を示す。
【００５５】
図７−２は、第１の出力スルーと第２の出力スルーと出力スルーの補正係数の一例を示す説明図である。テーブル７０３では、第１の出力スルーを示し、テーブル７０４では、第２の出力スルーを示し、テーブル７０５では、出力スルーの補正係数を示している。テーブル７０３およびテーブル７０４では、各条件が、駆動能力の値が８で、入力波形が立ち上がりで、ＰＴＶ条件が３条件で、入力スルーが４条件で、集中定数容量が全条件である。テーブル７０４では、さらに入力容量の値が１６ｆＦである。たとえば、ＰＴＶ条件がＢＥＳＴ条件で、入力スルーが０．６で、集中定数容量が８である場合、第１の出力スルーは５４であり、第２の出力スルーが７６である。したがって、遅延時間の評価値は、上記式（１）より７６／５４で、よって１．４２である。そして、ここで算出される出力スルーの評価値が、出力スルーの補正係数である。つぎに、第１の遅延時間から第２の遅延時間との時間差を評価値とする例について説明する。
【００５６】
具体的には、たとえば、ＣＰＵ５０１が、第１の遅延時間から第２の遅延時間を減算し、減算結果の絶対値を遅延時間の評価値とする。そして、第１の出力スルーから第２の出力スルーを減算し、減算結果の絶対値を出力スルーの評価値とする。本実施の形態では具体的な例について省略する。
【００５７】
つぎに、具体的には、たとえば、ＣＰＵ５０１が、テーブル７００で示された第１の遅延時間とテーブル７０１で示された第２の遅延時間をそれぞれ線形近似して傾きをテーブル化する。そして、テーブル化された値から遅延時間の評価値を算出し、遅延時間の評価値を遅延時間の補正係数として遅延時間の補正係数のテーブル（以下、「遅延時間の補正テーブル」と称する。）を作成する。そして、出力スルーの補正係数のテーブル（以下、「出力スルーの補正テーブル」と称する。）も同様に算出することができる。これにより、容易にテーブルを作成することができる。
【００５８】
または、具体的には、たとえば、ＣＰＵ５０１が、テーブル７００で示された第１の遅延時間とテーブル７０１で示された第２の遅延時間をそれぞれ多項式により近似して近似線を算出する。つぎに、近似線の２０％から５０％までの波形から傾きを算出してテーブル化する。そして、テーブル化された値から遅延時間の評価値を算出し、遅延時間の評価値を遅延時間の補正係数として遅延時間の補正テーブルを作成する。そして、出力スルーの補正テーブルも同様に算出することができる。
【００５９】
または、具体的には、たとえば、ＣＰＵ５０１が、テーブル７００で示された第１の遅延時間とテーブル７０１で示された第２の遅延時間をそれぞれ指数近似して近似線を算出する。つぎに、近似線の２０％から５０％までの波形から傾きを算出してテーブル化する。そして、テーブル化された値から遅延時間の時間差を算出し、遅延時間の補正テーブルを作成する。そして、出力スルーの補正テーブルも同様に算出することができる。
【００６０】
つぎに、格納部６０５は、評価値算出部６０４により算出された時間差を、駆動能力の値と、集中定数容量の値と、入力容量の値に関連付けて遅延時間の補正係数として記憶装置へ記憶する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、遅延時間の補正係数を各条件と関連付けてライブラリとしてＲＡＭ５０３、磁気ディスク５０５などの記憶装置へ記憶する。これにより、遅延時間を適正化可能な遅延時間の補正係数および出力スルーの補正係数を自動で算出することができる。したがって、利用者が、設計対象回路の内のセルの遅延時間を、遅延時間の補正係数を用いて補正し、当該セルの出力スルーを出力スルーの補正係数を用いて補正することができる。よって当該セルの駆動能力およびセルの出力先であるセルに応じてセルの遅延時間を適正化することができる。
【００６１】
（実施の形態１にかかる設計支援装置の設計支援処理手順）
図８〜図１０は、実施の形態１にかかる設計支援装置の設計支援処理手順の一例を示すフローチャートである。まず、図８では、立ち上がり入力波形が未処理か否かを判断し（ステップＳ８０１）、未処理であると判断された場合（ステップＳ８０１：Ｙｅｓ）、つぎに、入力波形を立ち上がり波形に設定する（ステップＳ８０２）。
【００６２】
一方、立ち上がり入力波形が未処理でないと判断された場合（ステップＳ８０１：Ｎｏ）、立ち下がり入力波形が未処理か否かを判断する（ステップＳ８０３）。そして、立ち下がり入力波形が未処理であると判断された場合（ステップＳ８０３：Ｙｅｓ）、入力波形を立ち下がり波形に設定する（ステップＳ８０４）。ステップＳ８０２またはステップＳ８０４のつぎに、回路モデル情報入力部６０１により、ＰＴＶ条件を入力し（ステップＳ８０５）、回路モデル情報入力部６０１により、駆動能力の値を入力し（ステップＳ８０６）、回路モデル情報入力部６０１により、入力スルーの値を入力する（ステップＳ８０７）。つぎに、回路モデル情報入力部６０１により、集中定数容量の値を入力し（ステップＳ８０８）、回路モデル情報入力部６０１により、入力容量の値を入力する（ステップＳ８０９）。
【００６３】
ステップＳ８０９のつぎに、図９に移って、未選択のＰＴＶ条件があるか否かを判断する（ステップＳ８１０）。未選択のＰＴＶ条件があると判断された場合（ステップＳ８１０：Ｙｅｓ）、未選択のＰＴＶ条件から１つのＰＴＶ条件を選択する（ステップＳ８１１）。一方、未選択のＰＴＶ条件がないと判断された場合（ステップＳ８１０：Ｎｏ）、ステップＳ８０３へ戻る。
【００６４】
ステップＳ８１１に戻って、ステップＳ８１１のつぎに、未選択の駆動能力の値があるか否かを判断する（ステップＳ８１２）。そして、未選択の駆動能力の値があると判断された場合（ステップＳ８１２：Ｙｅｓ）、未選択の駆動能力の値から１つの駆動能力の値を選択する（ステップＳ８１３）。一方、未選択の駆動能力の値がないと判断された場合（ステップＳ８１２：Ｎｏ）、ステップＳ８１０へ戻る。
【００６５】
ステップＳ８１３へ戻って、ステップＳ８１３のつぎに、未選択の入力スルーの値があるか否かを判断する（ステップＳ８１４）。そして、未選択の入力スルーの値があると判断された場合（ステップＳ８１４：Ｙｅｓ）、未選択の入力スルーの値から１つの入力スルーの値を選択する（ステップＳ８１５）。一方、未選択の入力スルーの値がないと判断された場合（ステップＳ８１４：Ｎｏ）、ステップＳ８１２へ戻る。
【００６６】
ステップＳ８１５へ戻って、ステップＳ８１５のつぎに、未選択の集中定数容量の値があるか否かを判断する（ステップＳ８１６）。そして、未選択の集中定数容量の値があると判断された場合（ステップＳ８１６：Ｙｅｓ）、未選択の集中定数容量の値から１つの集中定数容量の値を選択する（ステップＳ８１７）。一方、未選択の集中定数容量の値がないと判断された場合（ステップＳ８１６：Ｎｏ）、ステップＳ８１４へ戻る。
【００６７】
ステップＳ８１７へ戻って、ステップＳ８１７のつぎに、未選択の入力容量の値があるか否かを判断する（ステップＳ８１８）。そして、未選択の入力容量の値があると判断された場合（ステップＳ８１８：Ｙｅｓ）、未選択の入力容量の値から１つの入力容量の値を選択する（ステップＳ８１９）。一方、未選択の入力容量の値がないと判断された場合（ステップＳ８１８：Ｎｏ）、ステップＳ８１６へ戻る。
【００６８】
ステップＳ８１９へ戻って、ステップＳ８１９のつぎに、設定部６０２により、各条件を回路モデルへ設定し（ステップＳ８２０）、シミュレータを実行する（ステップＳ８２１）。
【００６９】
ステップＳ８２１のつぎに、図１０に移って、取得部６０３により、第２の遅延時間および第２の出力スルーを取得し（ステップＳ８２２）、回路モデル情報入力部６０１により、各条件に基づく第１の遅延時間と第１の出力スルーを入力する（ステップＳ８２３）。なお、ＰＴＶ条件と、入力波形と、駆動能力の値と、集中定数容量の値とに基づく遅延時間と出力スルーが記憶装置に記憶されている場合、記憶装置から各条件に基づいて第１の遅延時間と第１の出力スルーを取得してもよい。
【００７０】
つづいて、第１の遅延時間と第２の遅延時間との比率を算出し（ステップＳ８２４）、各条件と関連付け、テーブル化して保存する（ステップＳ８２５）。そして、第１の出力スルーと第２の出力スルーとの比率を算出し（ステップＳ８２６）、各条件と関連付け、テーブル化して保存し（ステップＳ８２７）、ステップＳ８１８へ戻る。一方、図８のステップＳ８０３において、立ち上がり入力波形が未処理でないと判断された場合（ステップＳ８０３：Ｎｏ）、一連の処理を終了する。本設計支援処理手順では、遅延時間の補正係数と遅延時間の出力スルーを同時に算出しているが、それぞれを別々に算出してもよい。
【００７１】
（実施の形態２）
実施の形態２では、実施の形態１により作成された遅延時間の補正係数のテーブルから遅延時間の補正式を自動で作成し、出力スルーの補正テーブルから出力スルーの補正式が自動で作成される例を示す。これにより、補正式を容易に作成することができ、補正式により遅延時間を補正することで、補正テーブルと比較して補正する処理時間を高速化することができる。なお、実施の形態１にて説明した構成と同一構成については同一符号を付して説明を省略する。図１１にて実施の形態２の一例を示す。
【００７２】
図１１は、実施の形態２の一例を示す説明図である。ここでは、遅延時間の補正式について説明する。実施の形態１において算出された遅延時間の補正係数のテーブルから駆動能力の値と、ＰＴＶ条件と、入力波形と、入力容量の値と、入力スルーごとに補正係数を線形近似して遅延時間の補正式が算出される。たとえば、グラフ１１００〜グラフ１１０２は、縦軸が補正係数であり横軸が集中定数容量の値Ｃｔｏｔａｌである。グラフ１１００では、テーブル７０２からＦＡＳＴ条件、入力スルーが０．６である場合の遅延時間の補正係数が線形近似されて算出された補正式を示している。つぎに、グラフ１１０１では、テーブル７０２からＳＬＯＷ条件、入力スルーが０．６である場合の遅延時間の補正係数が線形近似されて算出された補正式を示している。そして、グラフ１１０２では、テーブル７０２からＴＹＰ条件、入力スルーが０．６［ｐｓｅｃ］である場合の遅延時間の補正係数が線形近似されて算出された補正式を示している。Ｒ２は、遅延時間の補整係数と遅延時間の補正式との類似度を示している。Ｒ２が１であれば同一である。
【００７３】
実施の形態２では、設計支援装置の抽出部６０６と、補正式算出部６０７と、格納部６０５と、の機能により遅延時間の補正式および出力スルーの補正式を算出することができるため、抽出部６０６と、補正式算出部６０７と、格納部６０５と、の機能のみを説明する。
【００７４】
まず、抽出部６０６は、格納部６０５により格納された遅延時間の補正係数の中から回路モデル情報入力部６０１により入力された駆動能力の値と入力容量の値とに対応する遅延時間の補正係数を抽出する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、駆動能力の値と、入力容量の値と、入力波形と、ＰＴＶ条件と、入力スルーに基づいてテーブル７０２から遅延時間の補正係数を抽出する。
【００７５】
また、抽出部６０６は、格納部６０５により格納された出力スルーの補正係数の中から回路モデル情報入力部６０１により入力された駆動能力の値と入力容量の値とに対応する出力スルーの補正係数を抽出する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、駆動能力の値と、入力容量の値と、入力波形と、ＰＴＶ条件と、入力スルーに基づいてテーブル７０２から出力スルーの補正係数を抽出する。
【００７６】
つぎに、補正式算出部６０７は、抽出部６０６により抽出された遅延時間の補正係数を線形近似して補正式を算出する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、抽出された遅延時間の補正係数を線形近似して遅延時間の補正式を算出する。たとえば、算出された補正式では、集中定数容量の値Ｃｔｏｔａｌを代入することで遅延時間の補正係数を得ることができる。
【００７７】
また、補正式算出部６０７は、抽出部６０６により抽出された出力スルーの補正係数を線形近似して補正式を算出する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、抽出された出力スルーの補正係数を線形近似して出力スルーの補正式を算出する。たとえば、算出された補正式では、集中定数容量の値Ｃｔｏｔａｌを代入することで出力スルーの補正係数を得ることができる。
【００７８】
つぎに、格納部６０５は、補正式算出部６０７により算出された遅延時間の補正式を記憶装置へ格納する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、遅延時間の補正式を、駆動能力の値と、入力容量の値と、入力波形と、ＰＴＶ条件と、入力スルーと関連付けてライブラリとしてＲＡＭ５０３、磁気ディスク５０５などの記憶装置へ記憶する。
【００７９】
また、格納部６０５は、補正式算出部６０７により算出された出力スルーの補正式を記憶装置へ格納する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、出力スルーの補正式を、駆動能力の値と、入力容量の値と、入力波形と、ＰＴＶ条件と、入力スルーと関連付けてライブラリとしてＲＡＭ５０３、磁気ディスク５０５などの記憶装置へ記憶する。
【００８０】
これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、利用者が、遅延時間の補正式を用いて設計対象回路内のセルの遅延時間を補正することで容易にセルの遅延時間を適正化することができる。さらに、利用者が、出力スルーの補正式を用いて設計対象回路内のセルの出力スルーを補正することで容易にセルの出力スルーを適正化することができる。したがって、セルの遅延時間および出力スルーの見積もり精度を向上させることができ、検証精度を向上させることができる。
【００８１】
（実施の形態２にかかる設計支援装置の設計支援処理手順）
図１２および図１３は、実施の形態２にかかる設計支援装置の設計支援処理手順の一例を示すフローチャートである。図１２では、遅延時間の補正式および出力スルーの補正式を算出する手順のみを示し、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルはあらかじめ記憶装置に記憶されているとして説明する。そして、入力容量の値が任意の入力容量の値である場合の設計支援処理手順について説明する。まず、遅延時間の補正係数のテーブルを取得する（ステップＳ１２０１）。たとえば、テーブル７０２が取得される。つぎに、出力スルーの補正係数のテーブルを取得する（ステップＳ１２０２）。たとえば、テーブル７０５が取得される。
【００８２】
つぎに、取得した遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルから未選択な駆動能力の値があるか否かを判断する（ステップＳ１２０３）。そして、未選択な駆動能力の値があると判断された場合（ステップＳ１２０３：Ｙｅｓ）、未選択な駆動能力の値から１つの駆動能力の値を選択する（ステップＳ１２０４）。
【００８３】
ステップＳ１２０４につづいて、取得した遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルから未選択なＰＴＶ条件があるか否かを判断する（ステップＳ１２０５）。未選択なＰＴＶ条件があると判断された場合（ステップＳ１２０５：Ｙｅｓ）、未選択なＰＴＶ条件から１つのＰＴＶ条件を選択する（ステップＳ１２０６）。一方、未選択なＰＴＶ条件がないと判断された場合（ステップＳ１２０５：Ｎｏ）、ステップＳ１２０３へ戻る。
【００８４】
ステップＳ１２０６に戻って、ステップＳ１２０６のつぎに、取得した遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルから未選択な入力波形があるか否かを判断する（ステップＳ１２０７）。そして、未選択な入力波形があると判断された場合（ステップＳ１２０７：Ｙｅｓ）、未選択な入力波形から１つの入力波形を選択する（ステップＳ１２０８）。一方、未選択な入力波形がないと判断された場合（ステップＳ１２０７：Ｎｏ）、ステップＳ１２０５へ戻る。
【００８５】
ステップＳ１２０８に戻って、ステップＳ１２０８のつぎに、取得した遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルから未選択な入力スルーがあるか否かを判断する（ステップＳ１２０９）。そして、未選択な入力スルーがあると判断された場合（ステップＳ１２０９：Ｙｅｓ）、未選択な入力スルーから１つの入力スルーを選択する（ステップＳ１２１０）。一方、未選択な入力スルーがないと判断された場合（ステップＳ１２０９：Ｎｏ）、ステップＳ１２０７へ戻る。
【００８６】
図１３のステップＳ１２１０に戻って、ステップＳ１２１０のつぎに、選択された各条件に基づいて遅延時間の補正係数を抽出し（ステップＳ１２１１）、遅延時間の補正係数を線形近似して補正式を算出する（ステップＳ１２１２）。つぎに、各条件と関連付けて遅延時間の補正式を記憶装置へ格納する（ステップＳ１２１３）。つづいて、選択された各条件に基づいて出力スルーの補正係数を抽出し（ステップＳ１２１４）、出力スルーの補正係数を線形近似して補正式を算出する（ステップＳ１２１５）。そして、各条件と関連付けて出力スルーの補正式を記憶装置へ格納し（ステップＳ１２１６）、ステップＳ１２０９へ戻る。
【００８７】
一方、図１２のステップＳ１２０３において、未選択な駆動能力の値がないと判断された場合（ステップＳ１２０３：Ｎｏ）、一連の処理を終了する。
【００８８】
（実施の形態３）
つぎに、実施の形態３について説明する。実施の形態３では、実施の形態１の機能により作成された遅延時間の補正係数のテーブルに基づいて設計対象回路内の任意のセルの遅延時間を補正する例を示す。なお、実施の形態１および２にて説明した構成と同一構成については同一符号を付して説明を省略する。まず、図１４にて実施の形態３の一例を示す。
【００８９】
図１４は、実施の形態３の一例を示す説明図である。まず、設計対象回路を記憶装置から読み出し、設計対象回路内の任意のセルを対象セルとする。つぎに、対象セルの機能と、対象セルの駆動能力の値と、対象セルの出力先セルの入力容量と、が特定される。そして、機能と駆動能力の値ごとに記憶装置に記憶されている遅延時間を、対象セルの機能と、駆動能力の値に基づいて読み出す。
【００９０】
さらに、遅延時間の補正テーブルから対象セルの駆動能力の値と、出力先セルの入力容量の値に基づいて遅延時間の補正係数を読み出す。そして、遅延時間の補正係数と補正前遅延時間に基づいて評価値を算出する。そして、評価値に基づいて補正するか否かを判断し、補正すると判断された場合、遅延時間の補正係数と補正前遅延時間とにより補正後遅延時間を算出する。
【００９１】
まず、セル１では、遅延時間の補正係数のテーブル内の遅延時間の補正係数とセル１の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正係数のテーブル内から検索された遅延時間の補正係数によりセル１の遅延時間を補正すると判断されている。
【００９２】
そして、セル２では、遅延時間の補正係数とセル２の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル２の遅延時間は補正する必要がないと判断される。これにより、適切な遅延時間の補正係数および出力スルーの補正係数に基づいて対象セルの遅延時間および対象セルの出力スルーを補正することができる。つぎに、図１５にて設計対象回路内で示されるセルについて説明する。
【００９３】
（セルに関する情報）
図１５は、セルに関する情報の一例を示す説明図である。テーブル１５００では、機能１５０１と、セル名１５０２と、駆動能力１５０３と、入力容量１５０４とを含むセルに関する情報の一例を示している。たとえば、機能１５０１がＢＵＦＦＥＲの場合を例に挙げると、セル名１５０２には、ＢＵＦＦＥＲ１と、ＢＵＦＦＥＲ２と、ＢＵＦＦＥＲ４と、ＢＵＦＦＥＲ８と、ＢＵＦＦＥＲ１６と、ＢＵＦＦＥＲ３２がある。機能１５０１が同一であってもそれぞれ駆動能力１５０３と入力容量１５０４が異なる。なお、テーブル１５００は、ＣＰＵ５０１が、アクセス可能な記憶装置にライブラリの一部として記憶されている。つぎに、図１６にて設計対象回路について説明する。
【００９４】
（設計対象回路）
図１６は、設計対象回路の回路情報の一例を示す説明図である。設計対象回路の回路情報１６００は、パスＰを含む構成である。パスＰは、ＩＯＢＵＦ１と、ＢＵＦ１〜５と、ＩＯＢＵＦ２を含む構成である。ＩＯＢＵＦ１は、ＢＵＦＦＥＲ８である。つぎに、ＢＵＦ１〜ＢＵＦ５は、ＢＵＦＦＥＲ２である。そして、ＩＯＢＵＦ２は、ＢＵＦＦＥＲ３２である。
【００９５】
そして、配線容量がｃｌｉｎｅとして示されている。ＩＯＢＵＦ１を例に挙げると、配線容量は、９０［ｆＦ］である。そして、ＩＯＢＵＦ１の出力先セルの入力容量の値Ｃｔｒについて説明する。まず、ＩＯＢＵＦ１の出力先セルは、ＢＵＦ１であり、ＢＵＦ１は、ＢＵＦＦＥＲ２である。テーブル１５００内のセル名１５０２からＢＵＦＦＥＲ２の入力容量１５０４を引く。したがって、ＩＯＢＵＦ１の出力先セルの入力容量の値は、１０［ｆＦ］である。
【００９６】
さらにパスＰは、Ｐａｔｈ−１〜Ｐａｔｈ−４により構成されている。したがって、パスＰの遅延時間はＰａｔｈ−１〜Ｐａｔｈ−４のそれぞれの遅延時間を加算することで算出される。そして、Ｐａｔｈ−１の遅延時間は、ＩＯＢＵＦ１の遅延時間および出力スルーと、ｃｌｉｎｅと、出力先セルであるＢＵＦ１の入力容量の値と、後述する外部入力スルーにより算出することができる。
【００９７】
実施の形態３では、ＩＯＢＵＦ１を例に挙げると、集中定数容量を、ｃｌｉｎｅ１とＢＵＦ１の入力容量の値との負荷容量の合計値として説明する。そして、ＢＵＦ１に関する集中定数容量は、ｃｌｉｎｅ１〜ｃｌｉｎｅ５に基づく配線容量と、ＢＵＦ２〜ＢＵＦ５のそれぞれの入力容量に基づく出力先セルの入力容量との合計値である。ＢＵＦ２に関する集中定数容量は、ｃｌｉｎｅ６とＩＯＢＵＦ２の入力容量との合計値である。そして、ＩＯＢＵＦ２に関する入力容量は、０である。ただし、Ｐａｔｈ−４の遅延時間を算出するには、ＢＵＦ５の負荷容量として後述する外部負荷容量を用いる。
【００９８】
なお、回路情報１６００は、ＣＰＵ５０１がアクセス可能な記憶装置に記憶されている。つぎに、図１７−１〜図１７−２を用いて制約条件について説明する。
【００９９】
（制約条件）
図１７−１は、ＰＴＶ条件の一例を示す説明図である。ＰＴＶとは、Ｐｒｏｃｅｓｓ（プロセス）と、Ｔｅｍｐｅｒａｔｕｒｅ（温度）と、Ｖｏｌｔａｇｅ（電圧）を示している。ＰＴＶ条件テーブル１７００では、ＰＴＶ条件１７０１と、Ｐｒｏｃｅｓｓと、Ｔｅｍｐｅｒａｔｕｒｅと、Ｖｏｌｔａｇｅとを含む構成である。ＰＴＶ条件１７０１は、ＴＹＰ条件（各セルの動作が通常の速度である条件）と、ＦＡＳＴ条件（各セルの動作が最も速くなる条件）と、ＳＬＯＷ条件（各セルの動作が最も遅くなる条件）とを有している。なお、ＰＴＶ条件１７０１はＴＹＰ条件、ＦＡＳＴ条件、ＳＬＯＷ条件に限らず、ＰＴＶ条件テーブル１７００内の数値は一例である。
【０１００】
まず、ＴＹＰ条件は、ＰｒｏｃｅｓｓがＴＹＰ条件（標準条件）であり、Ｔｅｍｐｅｒａｔｕｒｅが２５℃（常温）であり、かつＶｏｌｔａｇｅが１．２Ｖである。つぎに、ＦＡＳＴ条件は、ＰｒｏｃｅｓｓがＦＡＳＴ条件（速い条件）であり、Ｔｅｍｐｅｒａｔｕｒｅが−４０℃（低温）であり、かつＶｏｌｔａｇｅが１．３Ｖである。そして、ＳＬＯＷ条件は、ＰｒｏｃｅｓｓがＳＬＯＷ条件（遅い条件）であり、Ｔｅｍｐｅｒａｔｕｒｅが１２０℃（高温）であり、かつＶｏｌｔａｇｅが１．１Ｖである。なお、ＰＴＶ条件テーブル１７００は、ＣＰＵ５０１がアクセス可能な記憶装置に記憶されている。
【０１０１】
図１７−２は、ＰＴＶ条件以外の制約条件の一例を示す説明図である。テーブル１７０２は、外部入力スルーの情報と、外部負荷容量の値と、動作周波数情報とを有している。外部入力スルーは、遅延時間を算出する対象のセルが入力端子に接続されている場合、当該対象セルの入力スルーとして用いられる。回路情報１６００では、ＩＯＢＵＦ１が入力端子に接続されている。つぎに、外部負荷容量の値は、遅延時間を算出する対象のセルが出力端子に接続されている場合、当該対象セルに関する集中定数容量として用いられる。回路情報１６００では、ＩＯＢＵＦ２が出力端子に接続されている。そして、動作周波数情報が２ＧＨｚと、１ＧＨｚと、１００ＭＨｚ、１０ＭＨｚである。実施の形態３では、セルの遅延時間の補正をおこなうために１ＧＨｚが選択される。
【０１０２】
（遅延時間のテーブルおよび出力スルーのテーブル）
図１８−１は、遅延時間のテーブルの一例を示す説明図である。テーブル１８００は、遅延時間のテーブルである。テーブル１８００では、セル名ごとにＴＹＰ条件と、ＦＡＳＴ条件と、ＳＬＯＷ条件での遅延時間および出力スルーを有している。
【０１０３】
まず、遅延時間のテーブルは、入力スルーおよび集中定数容量Ｃｔｏｔａｌと遅延時間との依存関係を示すテーブルである。ＴＹＰ条件およびＢＵＦＦＥＲ８の遅延時間テーブルを例に挙げると、入力スルーが１．００［ｐｓｅｃ］であり、かつ集中定数容量Ｃｔｏｔａｌが１．００［ｆＦ］の場合、遅延時間は６０．００［ｐｓｅｃ］である。そして、入力スルーが１００．００であり、かつ集中定数容量Ｃｔｏｔａｌが１００．００［ｆＦ］の場合、遅延時間は１９５．００［ｐｓｅｃ］である。集中定数容量Ｃｔｏｔａｌが大きくなると遅延時間が大きくなり、さらに、入力スルーが大きくなると遅延時間が大きくなる。なお、遅延時間のテーブルは、ＣＰＵ５０１がアクセス可能な記憶装置にライブラリの一部として記憶されている。つぎに、図１８−２にて出力スルーのテーブルの一例を示す。
【０１０４】
図１８−２は、出力スルーのテーブルの一例を示す説明図である。テーブル１８０１は、出力スルーのテーブルである。テーブル１８０１では、入力スルーおよび集中定数容量Ｃｔｏｔａｌと出力スルーとの依存関係を示している。ＢＵＦＦＥＲ８の遅延テーブルを例に挙げると、入力スルーが１．００［ｐｓｅｃ］であり、かつ集中定数容量Ｃｔｏｔａｌが１．０［ｆＦ］の場合、出力スルーは１０［ｐｓｅｃ］である。
【０１０５】
そして、入力スルーが１００．００［ｐｓｅｃ］であり、かつ集中定数容量Ｃｔｏｔａｌが１００の場合、出力スルーは１２０．００［ｐｓｅｃ］である。集中定数容量Ｃｔｏｔａｌが大きくなると出力スルーが大きくなり、さらに、入力スルーが大きくなると出力スルーが大きくなる。なお、出力スルーのテーブルは、ＣＰＵ５０１がアクセス可能な記憶装置にライブラリの一部として記憶されている。
【０１０６】
（遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブル）
図１９は、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルの一例を示す説明図である。テーブル１９００は、ＰＴＶ条件および駆動能力の値ごとに遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルを有している。たとえば、テーブル１９００内のＴＹＰ条件では、駆動能力の値に対応するテーブルが含まれている。テーブル１９０１は、テーブル１９００内のＴＹＰ条件、かつ駆動能力の値が８の場合のテーブルである。なお、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブルは、ＣＰＵ５０１がアクセス可能な記憶装置にライブラリの一部として記憶されている。
【０１０７】
図２０は、テーブル１９０１の一例を示す説明図である。ＴＹＰ条件では、遅延時間の補正係数テーブル２００１と出力スルーの補正係数テーブル２００２を有している。遅延時間の補正係数のテーブル２００１の場合、出力先セルの入力容量と、入力スルーと、集中定数容量とに基づいて遅延時間の補正係数が格納されている。そして、出力スルーの補正係数のテーブル２００２の場合、遅延時間の補正係数テーブルと同様に、出力先セルの入力容量と、入力スルーと、集中定数容量とに基づいて出力スルーの補正係数が格納されている。
【０１０８】
（基準値）
図２１は、基準値の一例を示す説明図である。テーブル２１００は、動作周波数２１０１と、基準値２１０２を含む構成である。ここで、基準値とは、所定のしきい値を示している。そして、設計支援装置では、評価値が基準値以上であるか否かに基づいて補正するか否かが決定される。
【０１０９】
つぎに、テーブル２１０３は、動作周波数２１０４と、判断項目２１０５と、基準値２１０６を含む構成である。判断項目２１０５には、補正不要と、補正式のいずれか一方が記述されている。補正不要の基準値２１０６は、補正するか否かを判断するための基準値である。補正式の基準値２１０６は、補正式により補正するか否かを判断するための基準値である。
【０１１０】
そして、テーブル２１０７は、動作周波数２１０８と、判断項目２１０９と、基準値２１１０を含む構成である。判断項目２１０９には、補正不要と、補正式と、テーブルとのいずれか一方が記述されている。判断項目２１０９が補正不要の基準値２１１０は、補正するか否かを判断するための基準値である。判断項目２１０９が補正式の基準値２１１０は、補正式により補正するか否かを判断するための基準値である。判断項目２１０９がテーブルの基準値２１１０は、テーブルにより補正するか、不定値の伝播を示す値に変換するかを判断するための基準値である。実施の形態３〜６では、基準値としてテーブル２１００を用いる。実施の形態７では、基準値としてテーブル２１０３を用いる。実施の形態８では、基準値としてテーブル２１０７を用いる。なお、テーブル２１００と、テーブル２１０３と、テーブル２１０７は、たとえば、実施の形態１により遅延時間の補正係数が算出された後に利用者により作成され、ＣＰＵ５０１がアクセス可能な記憶装置に記憶される。
【０１１１】
つぎに、実施の形態３では、設計支援装置６００の対象セル情報入力部６０８と、検索部６０９と、評価値算出部６０４と、補正後時間算出部６１０と、出力部６１４と、の機能について具体的に説明する。
【０１１２】
まず、対象セル情報入力部６０８は、設計対象回路の回路情報内の任意の対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値と対象セルの遅延時間とを入力する機能を有する。具体的には、たとえば、利用者が、回路情報１６００からＩＯＢＵＦ１を対象セルに選択する。そして、利用者が、対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値と対象セルの遅延時間とを入力し、ＣＰＵ５０１が、入力を受け付ける。さらに、利用者が、ＰＴＶ条件を入力し、ＣＰＵ５０１が入力を受け付ける。
【０１１３】
または、たとえば、ＣＰＵ５０１が、回路情報１６００からＩＯＢＵＦ１を対象セルに選択し、対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値とをテーブル１５００から検索し、対象セルの遅延時間を、テーブル１８００から検索する。さらに、たとえば、ＣＰＵ５０１が、テーブル１７００からＰＴＶ条件１７０１内の任意の条件を選択する。ＩＯＢＵＦ１は、ＢＵＦＦＥＲ８であるため、駆動能力の値は８が入力される。そして、ＩＯＢＵＦ１の出力先セルの入力容量の値は１０が入力される。さらに、たとえば、実施の形態３では、ＴＹＰ条件にて説明する。そして、テーブル１８００内のＢＵＦＦＥＲ８からＴＹＰ条件の遅延時間のテーブルが対象セルの遅延時間として入力される。
【０１１４】
つぎに、検索部６０９は、格納部６０５により記憶装置へ格納された遅延時間の補正係数の中から、対象セル情報入力部６０８により入力された対象セルの駆動能力の値および出力先セルの入力容量の値に対応する遅延時間の補正係数を検索する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、ＰＴＶ条件と、対象セルの駆動能力の値と、出力先セルの入力容量の値に基づいてテーブル１９００から遅延時間の補正係数が選択される。
【０１１５】
たとえば、実施の形態３では、ＰＴＶ条件がＴＹＰ条件であるため、テーブル１９００からＴＹＰ条件のテーブルがすべて検索される。つぎに、ＩＯＢＵＦ１の駆動能力の値が８であるため、テーブル１９０１が検索される。そして、テーブル１９０１の遅延時間の補正係数のテーブルから出力先セルの入力容量が１０の場合の遅延時間の補正係数を検索する。なお、検索された遅延時間の補正係数は、一旦、ＲＡＭ５０３、磁気ディスク５０５などの記憶装置へ記憶される。
【０１１６】
つぎに、補正後時間算出部６１０は、対象セル情報入力部６０８により入力された対象セルの遅延時間と検索部６０９により検索された遅延時間の補正係数に基づいて、対象セルの補正後遅延時間を算出する。
【０１１７】
具体的には、たとえば、ＣＰＵ５０１が、入力された対象セルの遅延時間から任意の遅延時間と、検索された遅延時間の補正係数から当該対象セルの遅延時間に対応する遅延時間の補正係数とを選択する。そして、遅延時間の補正係数が比率である場合、選択された対象セルの遅延時間と選択された遅延時間の補正係数とを乗算し、補正後遅延時間とする。または、遅延時間の補正係数が時間差である場合、選択された対象セルの遅延時間に選択された遅延時間の補正係数を加算し、補正後遅延時間とする。
【０１１８】
たとえば、対象セルの遅延時間から任意の遅延時間を選択する例について説明する。対象セルの負荷容量の合計値は、ｃｌｉｎｅと出力先セルの入力容量の値とを加算することで算出される。ＩＯＢＵＦ１を例に挙げると、具体的には、ＣＰＵ５０１が、ＩＯＢＵＦ１のｃｌｉｎｅである９０［ｆＦ］と出力先セルの入力要領である１０［ｆＦ］を取得し、加算してＩＯＢＵＦ１の負荷容量の合計値である１００［ｆＦ］を算出する。そして、ＣＰＵ５０１が、ＩＯＢＵＦ１の負荷容量の合計値を集中定数容量の値とし、入力された対象セルの遅延時間から１００［ｆＦ］の場合の遅延時間を選択する。ここで、選択された対象セルの遅延時間は、１８０と、１９０と、１９５［ｐｓｅｃ］である。
【０１１９】
つぎに、具体的には、たとえば、ＣＰＵ５０１が、選択された対象セルの遅延時間から入力スルーの条件が最も悪い条件である１００［ｐｓｅｃ］の場合の遅延時間を選択する。したがって、ここで、選択された対象セルの遅延時間は、１９５［ｐｓｅｃ］である。そして、ＣＰＵ５０１が、検索部６０９により検索された遅延時間の補正係数から当該集中定数容量の値が１００［ｆＦ］であり、入力スルーが１００［ｐｓｅｃ］である場合の遅延時間の補正係数を選択する。ここで、選択された遅延時間の補正係数は、１．５５である。
【０１２０】
つぎに、具体的には、たとえば、ＣＰＵ５０１が、選択された対象セルの遅延時間と選択された遅延時間の補正係数を乗算することで補正後遅延時間を算出することができる。ここで、算出された補正後遅延時間は、３０２．２５［ｐｓｅｃ］である。なお、補正後遅延時間は、ＲＡＭ５０３、磁気ディスク５０５などの記憶装置へ記憶される。
【０１２１】
つぎに、評価値算出部６０４は、対象セルの遅延時間と補正後遅延時間との相対的な評価値を算出する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、算出された補正後遅延時間の値と対象セルの遅延時間との時間差を算出する。ここでは、３０２．２５［ｐｓｅｃ］から１９５［ｐｓｅｃ］が減算されて１０７．２５［ｐｓｅｃ］が算出される。
【０１２２】
つぎに、具体的には、たとえば、ＣＰＵ５０１が、算出した時間差が、上述した動作周波数の１周期の時間内に占める割合を算出する。実施の形態３では、動作周波数を１ＧＨｚとする。そして、１ＧＨｚの１周期内の時間は、１０００［ｐｓｅｃ］である。そして、算出された時間差である１０７．２５／１０００が算出され、さらに割合が算出されるために１００が掛けられる。したがって、ここで、算出される割合は、１０．７３［％］である。
【０１２３】
つぎに、判断部６１１は、評価値算出部６０４により算出された対象セルの遅延時間と補正後遅延時間との相対的な評価値が所定のしきい値以上であるか否かに基づいて、対象セルの遅延時間を補正するか否かを判断する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、テーブル２１００から動作周波数２１０１に基づいて基準値２１０２を取得する。ここで、基準値は、１である。なお、基準値が、所定のしきい値である。そして、具体的には、たとえば、ＣＰＵ５０１が、算出された割合が基準値以上の場合、対象セルの遅延時間を補正すると判断し、算出された割合が基準値未満の場合、対象セルの遅延時間を補正しないと判断する。ここでは、算出された割合は１０．７３［％］であり、基準値が１であるため、対象セルの遅延時間を補正すると判断される。
【０１２４】
つぎに、補正後時間算出部６１０は、対象セル情報入力部６０８により入力された対象セルの遅延時間と検索部６０９により検索された遅延時間の補正係数に基づいて、対象セルの補正後遅延時間を算出する。具体的には、たとえば、ＣＰＵ５０１が、遅延時間の補正係数が比率の場合、入力されたすべての対象セルの遅延時間に検索された遅延時間の補正係数を乗算することで対象セルの補正後遅延時間を算出する。または、たとえば、ＣＰＵ５０１が、遅延時間の補正係数が時間差の場合、入力されたすべての対象セルの遅延時間に検索された遅延時間の補正係数を加算することで対象セルの補正後遅延時間を算出する。図２２にて補正後遅延時間の一例を示す。
【０１２５】
図２２は、補正後遅延時間の一例を示す説明図である。図２２では、ＩＯＢＵＦ１の補正後遅延時間を示している。補正後遅延時間は、対象セルの遅延時間と検索部６０９により検索された遅延時間の補正係数とを乗算することで算出される。
【０１２６】
つぎに、出力部６１４は、補正後時間算出部６１０により算出された対象セルの補正後遅延時間を出力する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、対象セルの遅延時間をＰＴＶ条件と関連付けて出力する。出力形式としては、たとえば、ディスプレイ５０８への表示、プリンタ５１３への印刷出力、Ｉ／Ｆ５０９による外部装置への送信がある。また、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶することとしてもよい。
【０１２７】
これにより、設計対象回路内のセルの遅延時間が、補正されて適正化される。したがって、設計対象回路内の遅延時間の見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を出力するセルを検証することができ、検証精度を向上させることができる。
【０１２８】
さらに、遅延時間の補正が必要なセルを自動で特定し、当該セルの遅延時間を補正して適正化することができる。したがって、セルの遅延時間の見積もり精度を向上させることができ、検証精度を向上させることができる。
【０１２９】
（実施の形態３にかかる設計支援装置の設計支援処理手順）
図２３は、実施の形態３にかかる設計支援装置の設計支援処理手順の一例を示すフローチャートである。まず、設計対象回路を取得し（ステップＳ２３０１）、設計対象回路内からパスを抽出する（ステップＳ２３０２）。そして、未選択のパスがあるか否かを判断する（ステップＳ２３０３）。
【０１３０】
未選択のパスがあると判断された場合（ステップＳ２３０３：Ｙｅｓ）、未選択のパスから１つのパスを選択し（ステップＳ２３０４）、パスを構成するセルを抽出する（ステップＳ２３０５）。そして、未選択のセルがあるか否かを判断する（ステップＳ２３０６）。つぎに、未選択のセルがあると判断された場合（ステップＳ２３０６：Ｙｅｓ）、未選択のセルから１つのセルを対象セルに選択し（ステップＳ２３０７）、補正処理を実行し（ステップＳ２３０８）、ステップＳ２３０６へ戻る。
【０１３１】
一方、ステップＳ２３０６において、未選択のセルがないと判断された場合（ステップＳ２３０６：Ｎｏ）、ステップＳ２３０３へ戻る。
【０１３２】
一方、ステップＳ２３０３において、未選択のパスがないと判断された場合（ステップＳ２３０３：Ｎｏ）、一連の処理を終了する。
【０１３３】
つぎに、図２４および図２５は、図２３で示した補正処理（ステップＳ２３０８）の詳細な処理手順を示すフローチャートである。まず、対象セル情報入力部６０８により、ＰＴＶ条件を入力し（ステップＳ２４０１）、つぎに、対象セル情報入力部６０８により、対象セルの駆動能力の値を入力する（ステップＳ２４０２）。そして、対象セルの出力先セルの入力容量の値を入力し（ステップＳ２４０３）、対象セル情報入力部６０８により、対象セルの配線容量を入力し（ステップＳ２４０４）、動作周波数情報を入力する（ステップＳ２４０５）。そして、遅延時間のテーブルからＰＴＶ条件に基づいて対象セルの遅延時間を検索する（ステップＳ２４０６）。
【０１３４】
つぎに、遅延時間の補正係数のテーブルからＰＴＶ条件および駆動能力の値に基づいて遅延時間の補正係数を検索し（ステップＳ２４０７）、出力先セルの入力容量と配線容量とで負荷容量の合計値を算出する（ステップＳ２４０８）。ここで、負荷容量の合計値とは、集中定数容量Ｃｔｏｔａｌである。つぎに、図２５に移って、対象セルの遅延時間から負荷容量の合計値と入力スルーのワースト条件に基づいて遅延時間を選択する（ステップＳ２４０９）。ここで、入力スルーのワースト条件とは、最も入力スルーが大きい値である。したがって、複数の対象セルの遅延時間から１つの遅延時間を選択することである。
【０１３５】
つぎに、検索部６０９により、選択された遅延時間と対応する遅延時間の補正係数を検索し（ステップＳ２４１０）、補正後時間算出部６１０により、遅延時間と遅延時間の補正係数に基づき補正後遅延時間を算出する（ステップＳ２４１１）。そして、補正係数算出部６１２により、遅延補正差＝補正後遅延時間−遅延時間、を実行し（ステップＳ２４１２）、補正係数算出部６１２により、動作周波数の１周期の時間内の遅延補正差の割合を算出する（ステップＳ１４１３）。
【０１３６】
そして、動作周波数に基づいて基準値を選択し（ステップＳ２４１４）、Ｘ＝基準値とする（ステップＳ２４１５）。ここで、基準値が所定のしきい値であり、テーブル２１００から選択される。つぎに、判断部６１１により、遅延補正差の割合＞Ｘであるか否かを判断する（ステップＳ２４１６）。遅延補正差の割合＞Ｘであると判断された場合（ステップＳ２４１６：Ｙｅｓ）、補正後時間算出部６１０により、対象セルの各遅延時間と対応する遅延時間の補正係数とを乗算する（ステップＳ２４１７）。なお、ここでは、遅延時間の補正係数が、実施の形態１で示した第１の遅延時間と第２の遅延時間との比率である。そして、補正後遅延時間を出力し（ステップＳ２４１８）、ステップＳ２３０６へ戻る。一方、ステップＳ２４１６において、遅延補正差の割合＞Ｘでないと判断された場合（ステップＳ２４１６：Ｎｏ）、ステップＳ２３０６へ移行する。
【０１３７】
なお、実施の形態３では、遅延時間の補正係数により対象セルの遅延時間のみを補正しているが、対象セルの出力スルーのみを補正してもよい。設計支援装置は、対象セルの遅延時間が対象セルの出力スルーに代わり、遅延時間の補正係数が出力スルーの補正係数に代わって実施の形態３で示した各機能が実施されることで、対象セルの出力スルーを補正することができる。したがって、対象セルの出力スルーのみを補正する具体的な処理の説明を省略する。
【０１３８】
（実施の形態４）
実施の形態４では、設計対象回路の回路情報から任意の対象セルの遅延時間を、遅延時間の補正式により補正する例を示す。実施の形態２にて作成された遅延時間の補正式に基づいて設計対象回路内の任意のセルの遅延時間を補正する例を示す。なお、実施の形態１〜３にて説明した構成と同一構成については同一符号を付して説明を省略する。まず、図２６にて実施の形態４の一例を示す。
【０１３９】
図２６は、実施の形態４の一例を示す説明図である。まず、設計対象回路を記憶装置から読み出し、設計対象回路内の任意のセルを対象セルとする。つぎに、対象セルの機能と、対象セルの駆動能力の値と、対象セルの出力先セルの入力容量と、が特定される。そして、対象セルの機能と駆動能力の値ごとに記憶装置に記憶されている遅延時間を、対象セルの機能と、駆動能力の値に基づいて読み出す。
【０１４０】
さらに、遅延時間の補正テーブルから対象セルの駆動能力の値と、出力先セルの入力容量の値に基づいて遅延時間の補正係数を読み出す。そして、遅延時間の補正係数と対象セルの遅延時間に基づいて評価値を算出し、評価値に基づいて補正するか否かを判断する。そして、補正すると判断された場合、遅延時間の補正係数と対象セルの遅延時間とにより補正後遅延時間を算出する。
【０１４１】
まず、セル１では、遅延時間の補正式とセル１の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正式により算出された遅延時間の補正係数に基づいてセル１の遅延時間を補正すると判断されている。
【０１４２】
そして、セル２では、遅延時間の補正式とセル２の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル２の遅延時間は補正する必要がないと判断される。これにより、適切な遅延時間の補正係数および出力スルーの補正係数に基づいて対象セルの遅延時間および対象セルの出力スルーを補正することができる。
【０１４３】
実施の形態４では、実施の形態３と検索部６０９と補正係数算出部６１２と判断部６１１のみが異なるため、補正係数算出部６１２のみを具体的に説明し、その他の機能については説明を省略する。
【０１４４】
まず、検索部６０９は、格納部６０５により記憶装置へ格納された遅延時間の補正式の中から、対象セル情報入力部６０８により入力された対象セルの駆動能力の値および出力先セルの入力容量の値に対応する遅延時間の補正式を検索する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、記憶装置へアクセスして、対象セルの駆動能力の値および出力先セルの入力容量の値に基づいて遅延時間の補正式を検索する。
【０１４５】
補正係数算出部６１２は、検索部６０９により検索された遅延時間の補正式から遅延時間の補正係数を算出する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、取得した補正式へ複数の集中定数容量の値を代入して遅延時間の補正係数を算出する。または、任意の集中定数容量の値を代入して遅延時間の補正係数を算出する。
【０１４６】
そして、補正後時間算出部６１０は、対象セル情報入力部６０８により入力された前記対象セルの遅延時間と補正係数算出部６１２により算出された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出する。補正後時間算出部６１０の具体的な機能は、実施の形態３で説明した機能と同一であるため詳細な説明を省略する。さらに、評価値算出部６０４の具体的な機能は、実施の形態３で説明した機能と同一であるため詳細な説明を省略する。したがって、評価値算出部６０４が相対的な評価値として実施の形態３で説明した割合と同様の割合を算出する。
【０１４７】
つぎに、判断部６１１は、対象セルの遅延時間と補正後遅延時間との相対的な評価値が補正式に関するしきい値以上であるか否かにより、補正式により補正するか否かを判断する。具体的には、たとば、ＣＰＵ５０１が、テーブル２１００から動作周波数に基づいて基準値２１０２を選択する。そして、算出された割合が、当該基準値より大きいか否かを判断する。算出された割合が当該基準値以上と判断された場合、対象セルの遅延時間を補正すると判断し、算出された割合が当該基準値未満と判断された場合、対象セルの遅延時間を補正しないと判断する。
【０１４８】
これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、遅延時間の補正式を用いて遅延時間を容易に補正することができ、セルの遅延時間を適正化することができる。そして、出力スルーの補正式を用いて出力スルーを容易に補正することができ、セルの出力スルーを適正化することができる。したがって、セルの遅延時間の見積もり精度を向上させることができる。
【０１４９】
さらに、補正が必要なセルを自動で特定し、どの集中定数容量の値であっても設計対象回路内のセルを容易に補正することができる。したがって、遅延時間または出力スルーが適正でないセルのみを補正することで、セルの遅延時間および出力スルーの見積もり精度を向上させることができる。
【０１５０】
なお、実施の形態４では、実施の形態３と比較して補正式から補正係数を算出する機能のみが大きく異なり、その他の機能に関しては差が少ないので、実施の形態４にかかる設計支援装置の設計支援処理手順の説明を省略する。
【０１５１】
（実施の形態５）
実施の形態５では、設計対象回路の回路情報から任意の対象セルの遅延時間を、遅延時間の補正係数により補正し、当該対象セルの出力スルーを、出力スルーの補正係数により補正する例を示す。なお、実施の形態１〜４にて説明した構成と同一構成については同一符号を付して説明を省略する。まず、図２７にて実施の形態４の一例を示す。
【０１５２】
図２７は、実施の形態５の一例を示す説明図である。設計対象回路から任意のセルを対象セルに選択し、対象セルの遅延時間と遅延時間の補正係数から評価値を算出する。そして、評価値に基づいて、対象セルの遅延時間を補正するか否かを判断する。そして、対象セルの遅延時間を補正すると判断された場合、対象セルの遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出する。さらに、対象セルの出力スルーと出力スルーの補正係数に基づいて補正後出力スルーを算出する。
【０１５３】
まず、セル１では、遅延時間の補正係数のテーブル内の遅延時間の補正係数とセル１の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正係数によってセル１の遅延時間を補正し、出力スルーの補正係数のテーブル内の出力スルーの補正係数によりセル１の出力スルーを補正すると判断されている。
【０１５４】
そして、セル２では、遅延時間の補正係数のテーブル内の遅延時間の補正係数とセル２の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル２の遅延時間およびセル２の出力スルーは補正する必要がないと判断される。
【０１５５】
実施の形態５では、実施の形態３で説明した対象セルの遅延時間を補正する機能と同時に対象セルの出力スルーを補正する。
【０１５６】
まず、対象セル情報入力部６０８は、設計対象回路の回路情報内の任意の対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値と対象セルの遅延時間と対象セルの出力スルーを入力する機能を有する。対象セルの駆動能力の値と対象セルの出力先セルの入力容量の値と対象セルの遅延時間が入力される具体的な機能は、実施の形態３で説明した機能と同一である。
【０１５７】
よって、ここでは、対象セルの出力スルーが入力される具体的な機能について説明する。具体的には、たとえば、利用者が、テーブル１８００内のＢＵＦＦＥＲ８からＴＹＰ条件の遅延時間のテーブルが対象セルの遅延時間として入力する。または、具体的には、たとえば、ＣＰＵ５０１が、テーブル１８００内のＢＵＦＦＥＲ８からＴＹＰ条件の出力スルーのテーブルを対象セルの遅延時間として選択する。
【０１５８】
まず、検索部６０９は、格納部６０５により記憶装置へ格納された遅延時間の補正係数の中から、対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する遅延時間の補正係数を検索する。さらに、格納部６０５により記憶装置へ格納された出力スルーの補正係数の中から、対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する出力スルーの補正係数を検索する。
【０１５９】
たとえば、対象セルが、回路情報１６００内のＩＯＢＵＦ１の場合、検索された遅延時間の補正係数は、実施の形態３で検索された遅延時間の補正係数と同一である。よって、ここでは、出力スルーの補正係数が検索される具体的な機能について説明する。具体的には、たとえば、ＣＰＵ５０１が、ＰＴＶ条件と、対象セルの駆動能力の値と、出力先セルの入力容量の値に基づいてテーブル１９００から出力スルーの補正係数が選択される。
【０１６０】
たとえば、実施の形態５では、実施の形態３と同様にＰＴＶ条件がＴＹＰ条件であるため、テーブル１９００からＴＹＰ条件のテーブルがすべて検索される。つぎに、ＩＯＢＵＦ１の駆動能力の値が８であるため、テーブル１９０１が検索される。そして、テーブル１９０１の出力スルーの補正係数のテーブルから出力先セルの入力容量の値が１０の場合の出力スルーの補正係数を検索する。なお、検索された出力スルーの補正係数は、一旦、ＲＡＭ５０３、磁気ディスク５０５などの記憶装置へ記憶される。
【０１６１】
実施の形態５では、遅延時間の補正係数により補正後遅延時間が算出され、対象セルの遅延時間と補正後遅延時間とにより評価値が算出される。そして、当該評価値に基づいて対象セルの遅延時間および出力スルーを補正するか否かが判断される例を示している。したがって、評価値算出手段および判断部６１１は実施の形態３で説明した機能と同一機能であるため説明を省略する。
【０１６２】
しかしながら、実施の形態５の例に限らず、設計対象回路内のセルの出力スルーが出力スルーの補正係数により補正され、対象セルの補正後出力スルーと対象セルの出力スルーとの相対的な評価値を算出する。そして、当該評価値に基づいて対象セルの出力スルーおよび対象セルの時間を補正するか否かが判断されてもよい。ここで、評価値算出部６０４と、判断部６１１との機能を説明する。
【０１６３】
評価値算出部６０４は、対象セル情報入力部６０８により入力された対象セルの出力スルーと、検索部６０９により検索された出力スルーの補整係数との相対的な評価値を算出する。
【０１６４】
そして、判断部６１１は、評価値算出部６０４により算出された評価値が、所定の基準値以上であるか否かに基づいて、対象セルの遅延時間および対象セルの出力スルーを補正するか否かが判断される。
【０１６５】
または、たとえば、遅延時間の補正係数により補正後遅延時間が算出され、対象セルの遅延時間と補正後遅延時間とにより遅延時間の評価値が算出される。さらに、出力スルーの補正係数により補正後出力スルーが算出されて評価値が算出され、対象セルの出力スルーと補正後遅延時間とにより出力スルーの評価値が算出される。そして、遅延時間の評価値と出力スルーの評価に基づいて補正するか否かが判断されてもよい。
【０１６６】
つぎに、補正後時間算出部６１０は、判断部６１１により対象セルの遅延時間および対象セルの出力スルーを補正すると判断された場合、対象セルの遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出する。さらに、対象セルの出力スルーと出力スルーの補正係数に基づいて補正後出力スルーを算出する。対象セルの遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出する例は、実施の形態３と同一であるため説明を省略する。図２８にて補正後出力スルーを示す。
【０１６７】
図２８は、補正後出力スルーの一例を示す説明図である。図２８の出力スルーの補正係数は、実施の形態１で説明した比率である。したがって、補正後出力スルーは、対象セルの出力スルーと出力スルーの補正係数とを乗算することで算出される。
【０１６８】
（実施の形態５にかかる設計支援装置の設計支援処理手順）
図２９および図３０は、実施の形態５にかかる設計支援装置の設計支援処理手順の一例を示すフローチャートである。本フローチャートでは、設計対象回路内の任意のパスの遅延時間を算出する。まず、図２９では、設計対象回路を取得し（ステップＳ２９０１）、対象セル情報入力部６０８により、ＰＴＶ条件を入力し（ステップＳ２９０２）、未選択のＰＴＶ条件があるか否かを判断する（ステップＳ２９０３）。
【０１６９】
そして、未選択のＰＴＶ条件があると判断された場合（ステップＳ２９０３：Ｙｅｓ）、未選択のＰＴＶ条件から１つのＰＴＶ条件を選択する（ステップＳ２９０４）。そして、設計対象回路内からパスを抽出し（ステップＳ２９０５）、未選択のパスがあるか否かを判断する（ステップＳ２９０６）。そして、未選択のパスがあると判断された場合（ステップＳ２９０６：Ｙｅｓ）、未選択のパスから１つのパスを選択する（ステップＳ２９０７）。一方、未選択のパスがないと判断された場合（ステップＳ２９０６：Ｎｏ）、ステップＳ２９０３へ戻る。
【０１７０】
ステップＳ２９０７に戻って、ステップＳ２９０７のつぎに、パスを構成するセルを抽出する（ステップＳ２９０８）。つづいて、図３０に移って、パスを構成するセルごとにパスを分割し（ステップＳ２９０９）、未選択の分割パスがあるか否かを判断する（ステップＳ２９１０）。そして、未選択の分割パスがあると判断された場合（ステップＳ２９１０：Ｙｅｓ）、未選択の分割パスから１つの分割パスを選択し（ステップＳ２９１１）、分割パス上のセルを対象セルに選択する（ステップＳ２９１２）。つづいて、補正処理を実行し（ステップＳ２９１３）、算出処理を実行し（ステップＳ２９１４）、ステップＳ２９１０へ戻る。
【０１７１】
一方、未選択の分割パスがないと判断された場合（ステップＳ２９１０：Ｎｏ）、分割パスの遅延時間をすべて加算し（ステップＳ２９１５）、パスの遅延時間として出力し（ステップＳ２９１６）、ステップＳ２９０６へ戻る。
【０１７２】
一方、図２９のステップＳ２９０３において、未選択のＰＴＶ条件がないと判断された場合（ステップＳ２９０３：Ｎｏ）、一連の処理を終了する。
【０１７３】
つぎに、図３１および図３２は、図３０に示した補正処理（ステップＳ２９１３）の詳細な処理手順を示すフローチャートである。まず、図３１にて、対象セル情報入力部６０８により、対象セルの駆動能力の値を入力し（ステップＳ３１０１）、対象セル情報入力部６０８により、対象セルの出力先セルの入力容量を入力する（ステップＳ３１０２）。そして、対象セル情報入力部６０８により、対象セルの配線容量を入力し（ステップＳ３１０３）、出力先セルの入力容量と配線容量とで負荷容量の合計値を算出する（ステップＳ３１０４）。ここで、負荷容量の合計値は、集中定数容量Ｃｔｏｔａｌである。
【０１７４】
そして、検索部６０９により、ＰＴＶ条件および駆動能力の値に基づいて遅延時間の補正係数を検索し（ステップＳ３１０５）、ＰＴＶ条件および駆動能力の値に基づいて出力スルーの補正係数を検索する（ステップＳ３１０６）。検索部６０９により、ＰＴＶ条件に基づいて対象セルの遅延時間を検索し（ステップＳ３１０７）、ＰＴＶ条件に基づいて対象セルの出力スルーを検索する（ステップＳ３１０８）。なお、利用者が対象セルの遅延時間および対象セルの出力スルーを入力し、設計支援装置が入力を受け付けてもよい。
【０１７５】
ステップＳ３１０８のつぎに、図３２に移って、対象セルの遅延時間から負荷容量の合計値と入力スルーのワースト条件に基づいて遅延時間を選択する（ステップＳ３１０９）。つぎに、検索部６０９により、選択された遅延時間に対応する遅延時間の補正係数を検索する（ステップＳ３１１０）。そして、補正後時間算出部６１０により、遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出し（ステップＳ３１１１）、補正係数算出部６１２により、遅延補正差＝補正後遅延時間−遅延時間、を実行する（ステップＳ３１１２）。
【０１７６】
つづいて、動作周波数の１周期時間内の遅延補正差の割合を算出する（ステップＳ３１１３）。動作周波数に基づいて基準値を選択し（ステップＳ３１１４）、Ｙ＝基準値とする（ステップＳ３１１５）。ここで、基準値は、所定のしきい値であり、テーブル２１００から選択される。つぎに、判断部６１１により、遅延補正差の割合＞Ｙであるか否かを判断する（ステップＳ３１１６）。遅延補正差の割合＞Ｙであると判断された場合（ステップＳ３１１６：Ｙｅｓ）、対象セルの各遅延時間と対応する遅延時間の補正係数とを乗算する（ステップＳ３１１７）。
【０１７７】
つづいて、対象セルの各出力スルーと対応する出力スルーの補正係数とを乗算する（ステップＳ３１１８）。そして、出力部６１４により、補正後遅延時間および補正後出力スルーを出力し（ステップＳ３１１９）、ステップＳ２９１４へ戻る。一方、ステップＳ３１１６において、遅延補正差の割合＞Ｙでないと判断された場合（ステップＳ３１１６：Ｎｏ）、ステップＳ２９１４へ移行する。
【０１７８】
つぎに、図３３は、図３０で示した算出処理（ステップＳ２９１４）の詳細な処理手順を示すフローチャートである。まず、対象セルが入力バッファであるか否かを判断し（ステップＳ３３０１）、入力バッファであると判断された場合（ステップＳ３３０１：Ｙｅｓ）、外部入力スルーを取得する（ステップＳ３３０２）。ここでは、外部入力スルーは、上述したテーブル１７０２から取得される。
【０１７９】
一方、入力バッファでないと判断された場合（ステップＳ３３０１：Ｎｏ）、対象セルが出力バッファであるか否かを判断する（ステップＳ３３０３）。そして、対象セルが出力バッファであると判断された場合（ステップＳ３３０３：Ｙｅｓ）、外部負荷容量の値を取得する（ステップＳ３３０４）。ここでは、外部負荷容量の値は、上述したテーブル１７０２から取得される。
【０１８０】
一方、対象セルが出力バッファでないと判断された場合（ステップＳ３３０３：Ｎｏ）、設計対象回路から対象セルの出力元セルを特定する（ステップＳ３３０５）。そして、出力元セルの出力スルーを検索し、出力元セルの出力スルーを対象セルの入力スルーとする（ステップＳ３３０６）。ここで検索される出力元セルの出力スルーは、補正されていれば、補正後出力スルーである。そして、対象セルの入力スルーと、対象セルの補正後遅延時間と、対象セルの補正後出力スルーと、対象セルの負荷容量の合計値と、に基づいて分割パスの遅延時間を算出し（ステップＳ３３０７）、分割パスの遅延時間を保存し（ステップＳ３３０８）、ステップＳ２９１０へ移行する。
【０１８１】
（実施の形態６）
つぎに、実施の形態６について説明する。実施の形態６は、設計対象回路内の任意の対象セルの遅延時間を、遅延時間の補正式から遅延時間の補正係数を算出して当該遅延時間の補正係数に基づいて補正する。さらに、当該対象セルの出力スルーを、出力スルーの補正式から出力スルーの補正係数を算出して当該出力スルーの補正係数に基づいて補正する。なお、実施の形態１〜５にて説明した構成と同一構成については同一符号を付して説明を省略する。まず、図３４にて実施の形態６の一例を示す。
【０１８２】
図３４は、実施の形態６の一例を示す説明図である。まず、設計対象回路内から任意のセルが対象セルに選択される。そして、遅延時間の補正式から補正係数が算出され、当該遅延時間の補正係数と、対象セルの遅延時間とに基づいて評価値が算出される。つぎに、評価値に基づいて対象セルの遅延時間および対象セルの出力スルーを補正するか否かが判断される。
【０１８３】
そして、補正すると判断されると、遅延時間の補正式により遅延時間の補正係数が算出され、出力スルーの補正式により出力スルーの補正係数が算出される。そして、算出された遅延時間の補正係数と対象セルの遅延時間に基づいて補正後遅延時間が算出され、算出された出力スルーの補正係数と対象セルの出力スルーに基づいて補正後出力スルーが算出される。
【０１８４】
まず、セル１では、遅延時間の補正式とセル１の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正式により算出された遅延時間の補正係数に基づいてセル１の遅延時間を補正し、出力スルーの補正式により算出された出力スルーの補正係数に基づいてセル１の出力スルーを補正すると判断されている。
【０１８５】
そして、セル２では、遅延時間の補正式とセル２の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル２の遅延時間およびセル２の出力スルーは補正する必要がないと判断される。これにより、適切な遅延時間の補正係数および出力スルーの補正係数に基づいて対象セルの遅延時間および対象セルの出力スルーを補正することができる。
【０１８６】
まず、対象セル情報入力部６０８は、実施の形態５と同一機能であるため詳細な説明を省略する。
【０１８７】
つぎに、検索部６０９は、格納部６０５により記憶装置へ格納された遅延時間の補正式の中から、対象セル情報入力手段により入力された対象セルの駆動能力の値および出力先セルの入力容量の値に対応する遅延時間の補正式を検索する。さらに、格納部６０５により記憶装置へ格納された出力スルーの補正式の中から、対象セル情報入力手段により入力された対象セルの駆動能力の値および出力先セルの入力容量の値に対応する出力スルーの補正係数を検索する。なお、実施の形態６の検索部６０９が遅延時間の補正式を検索する機能は、実施の形態４で示した機能と同一であるため詳細な説明を省略する。さらに、出力スルーの補正式を検索する機能は、検索の対象が異なるのみであるため、詳細な説明を省略する。
【０１８８】
つぎに、評価値算出部６０４および判断部６１１は、実施の形態４で示した機能と同一機能であるため詳細な説明を省略する。
【０１８９】
そして、補正係数算出部６１２は、判断部６１１により対象セルの遅延時間および対象セルの出力スルーを補正すると判断された場合、遅延時間の補正式から対象セルの遅延時間に対応する遅延時間の補正係数を算出し、出力スルーの補正式から対象セルの出力スルーに対応する出力スルーの補正係数を算出する。なお、補正係数算出部６１２の具体的な処理については、実施の形態４で示した機能と同一であるため、説明を省略する。
【０１９０】
つぎに、補正後時間算出部６１０は、判断部６１１により対象セルの遅延時間および対象セルの出力スルーを補正すると判断された場合、補正係数算出部６１２により算出された遅延時間の補正係数と対象セルの遅延時間に基づいて補正後遅延時間を算出する。
【０１９１】
さらに、補正係数算出部６１２により算出された出力スルーの補正係数と対象セルの出力スルーに基づいて補正後出力スルーを算出する。対象セルの遅延時間と遅延時間の補正係数に基づいて補正後遅延時間を算出する例は、実施の形態３で説明した例と同一であるため説明を省略する。
【０１９２】
（実施の形態７）
つぎに、実施の形態７について説明する。なお、実施の形態１〜６にて説明した構成と同一構成については同一符号を付して説明を省略する。図３５を用いて実施の形態７の一例を示す。
【０１９３】
図３５は、実施の形態７の一例を示す説明図である。実施の形態７では、設計対象回路の回路情報から任意のセルを対象セルに選択する。そして、対象セルの遅延時間と遅延時間の補正係数に基づいて評価値が算出され、評価値に基づいて対象セルの遅延時間および対象セルの出力スルーを補正するか否かが判断される。
【０１９４】
そして、補正すると判断された場合、評価値に基づいて対象セルの遅延時間を、記憶装置に記憶されている遅延時間の補正係数により補正するか、遅延時間の補正式から算出される遅延時間の補正係数により補正するかが判断される。さらに、評価値に基づいて対象セルの出力スルーを、記憶装置に記憶されている出力スルーの補正係数により補正するか、出力スルーの補正式から算出される出力スルーの補正係数により補正するかが判断される。
【０１９５】
まず、セル１では、遅延時間の補正係数とセル１の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正係数のテーブル内から検索された遅延時間の補正係数によりセル１の遅延時間を補正すると判断されている。さらに、評価値に基づいて出力スルーの補正係数のテーブル内から検索された出力スルーの補正係数によりセル１の出力スルーを補正すると判断されている。
【０１９６】
つぎに、セル２では、遅延時間の補正係数とセル２の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正式により算出された遅延時間の補正係数に基づいてセル２の遅延時間を補正すると判断されている。さらに、評価値に基づいて出力スルーの補正式により算出された出力スルーの補正係数に基づいてセル２の出力スルーを補正すると判断されている。
【０１９７】
そして、セル３では、遅延時間の補正係数とセル３の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル３の遅延時間およびセル３の出力スルーは補正する必要がないと判断される。これにより、適切な遅延時間の補正係数および出力スルーの補正係数に基づいて対象セルの遅延時間および対象セルの出力スルーを補正することができる。
【０１９８】
実施の形態７では、対象セル情報入力部６０８と、検索部６０９と、補正後時間算出部６１０と、補正係数算出部６１２と、出力部６１４と、評価値算出部６０４との機能が実施の形態５または実施の形態６で説明した機能と同一であるため説明を省略する。実施の形態７では、判断部６１１についてのみ説明する。
【０１９９】
判断部６１１は、評価値算出部６０４により算出された評価値が、所定のしきい値以上であるか否かにより、対象セルの遅延時間と対象セルの出力スルーを補正するか否かを判断する。さらに、判断部６１１は、対象セルの遅延時間と対象セルの出力スルーを補正すると判断された場合、当該評価値が、補正式に関するしきい値以上であるか否かにより補正式により補正するか否かを判断する。実施の形態３で説明したように、評価値算出部６０４により算出された評価値は、割合である。したがって、具体的な説明には、評価値を割合と称する。
【０２００】
具体的には、たとえば、ＣＰＵ５０１が、記憶装置にアクセスしてテーブル２１０３から動作周波数情報に基づいて判断項目が補正不要の場合の基準値を読み出す。そして、割合が、基準値以上であるか否かを判断する。つぎに、割合が基準値以上であると判断された場合、補正すると判断され、割合が基準値未満の場合、補正しないと判断される。実施の形態３で説明したように、対象セルがＩＯＢＵＦ１の場合、割合が１０．７３［％］である。したがって、補正すると判断される。
【０２０１】
さらに、具体的には、たとえば、ＣＰＵ５０１が、記憶装置にアクセスしてテーブル２１０３から動作周波数２１０４に基づいて判断項目２１０５が補正式の場合の基準値を読み出す。ここで、テーブル２１０３内の判断項目２１０５が補正式の場合の基準値が、補正式に関するしきい値である。そして、割合が、基準値以上であるか否かを判断する。つぎに、割合が基準値以上であると判断された場合、補正式により補正すると判断され、割合が基準値未満の場合、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブル内の補正係数により補正すると判断される。
【０２０２】
実施の形態３で説明したように、対象セルがＩＯＢＵＦ１の場合、割合が１０．７３［％］である。したがって、遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブル内の補正係数により補正すると判断される。
【０２０３】
そして、判断部６１１により補正式により補正すると判断された場合、補正係数算出部６１２と、補正後時間算出部６１０との機能により対象セルの遅延時間および出力スルーが補正される。
【０２０４】
一方、判断部６１１により遅延時間の補正係数のテーブルおよび出力スルーの補正係数のテーブル内の補正係数により補正すると判断された場合、補正後時間算出部６１０との機能により対象セルの遅延時間および出力スルーが補正される。
【０２０５】
またこれにより、補正が必要なセルを自動で特定し、どの集中定数容量の値であっても設計対象回路内のセルを容易に補正することができる。したがって、出力スルーが適正なセルを補正せずに出力スルーが適正でないセルを補正することで、セルの出力スルーの見積もり精度を向上させることができる。なお、実施の形態７については、設計支援処理手順の詳細な説明を省略する。
【０２０６】
（実施の形態８）
つぎに、実施の形態８について説明する。なお、実施の形態１〜７にて説明した構成と同一構成については同一符号を付して説明を省略する。図３６を用いて実施の形態７の一例を示す。
【０２０７】
図３６は、実施の形態８の一例を示す説明図である。まず、設計対象回路の回路情報から任意のセルを対象セルに選択する。そして、対象セルの遅延時間と遅延時間の補正係数に基づいて評価値が算出され、評価値に基づいて対象セルの遅延時間および対象セルの出力スルーを補正するか否かが判断される。
【０２０８】
そして、補正すると判断された場合、評価値に基づいて対象セルの遅延時間を、記憶装置に記憶されている遅延時間の補正係数により補正するか、遅延時間の補正式から算出される遅延時間の補正係数により補正するかが判断される。さらに、評価値に基づいて対象セルの出力スルーを、記憶装置に記憶されている出力スルーの補正係数により補正するか、出力スルーの補正式から算出される出力スルーの補正係数により補正するかが判断される。
【０２０９】
まず、セル１では、遅延時間の補正係数とセル１の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正係数のテーブル内から検索された遅延時間の補正係数によりセル１の遅延時間を補正すると判断されている。さらに、評価値に基づいて出力スルーの補正係数のテーブル内から検索された出力スルーの補正係数によりセル１の出力スルーを補正すると判断されている。
【０２１０】
つぎに、セル２では、遅延時間の補正係数とセル２の遅延時間から評価値が算出される。そして、当該評価値に基づいて遅延時間の補正式により算出された遅延時間の補正係数に基づいてセル２の遅延時間を補正すると判断されている。さらに、評価値に基づいて出力スルーの補正式により算出された出力スルーの補正係数に基づいてセル２の出力スルーを補正すると判断されている。
【０２１１】
そして、セル３では、遅延時間の補正係数とセル３の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル３は、不定値を伝播する波形を出力すると判断されている。したがって、セル３の遅延時間および出力スルーは、不定値が伝播される値に変換される。
【０２１２】
そして、セル４では、遅延時間の補正係数とセル４の遅延時間から評価値が算出される。そして、当該評価値に基づいてセル４の遅延時間およびセル４の出力スルーを補正する必要がないと判断される。
【０２１３】
実施の形態８では、実施の形態７で説明した判断部６１１の機能に、さらに評価値に基づいて対象セルが不定値を伝播する波形を出力するか否かを判断する機能が加わる。
【０２１４】
判断部６１１は、さらに、評価値算出部６０４により算出された評価値が、不定値伝播に関するしきい値以上であるか否かに基づいて、対象セルの遅延時間を補正するか否かを判断する。さらに、判断部６１１は、評価値算出部６０４により算出された評価値が、不定値伝播に関するしきい値以上であるか否かに基づいて、対象セルの出力スルーを補正するか否かを判断する。
【０２１５】
具体的には、たとえば、ＣＰＵ５０１が、テーブル２１０７から動作周波数２１０８に基づいて判断項目２１０９がテーブルの場合の基準値２１１０を読み出す。ここで、テーブル２１０７内の判断項目２１０９がテーブルの場合の基準値２１１０が、不定値伝播に関するしきい値である。そして、たとえば、ＣＰＵ５０１が、割合が基準値以上であるか否かを判断する。そして、基準値以上であると判断された場合、対象セルが不定値を出力すると判断され、対象セルが補正できないと判断される。一方、基準値未満であると判断された場合、遅延時間の補正係数のテーブル内の補正係数により対象セルの遅延時間を補正し、出力スルーの補正係数のテーブル内の補正係数により対象セルの出力スルーを補正すると判断される。なお、実施の形態３で説明したように、対象セルがＩＯＢＵＦ１の場合、割合が１０．７３［％］である。したがって、遅延時間の補正係数のテーブル内の補正係数により対象セルの遅延時間を補正し、出力スルーの補正係数のテーブル内の補正係数により対象セルの出力スルーを補正すると判断される。
【０２１６】
変換部６１３は、判断部６１１により対象セルが、対象セルが不定値を出力すると判断され、対象セルが補正できないと判断された場合、対象セルの遅延時間へ不定値が伝播される値に変換する機能を有する。さらに、対象セルの出力スルーへ不定値が伝播される値に変換する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、対象セルの遅延時間および出力スルーの値を、遅延時間および出力スルーとして設定可能な最大の値に変換する。
【０２１７】
つぎに、出力部６１４は、変換部６１３により変換された対象セルの遅延時間を出力する機能を有する。さらに、出力部６１４は、変換部６１３により変換された対象セルの出力スルーを出力する機能を有する。具体的には、たとえば、ＣＰＵ５０１が、変換された対象セルの遅延時間および対象セルの出力スルーをＰＴＶ条件と関連付けて出力する。出力形式としては、たとえば、ディスプレイ５０８への表示、プリンタ５１３への印刷出力、Ｉ／Ｆ５０９による外部装置への送信がある。また、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶することとしてもよい。
【０２１８】
これにより、不定値を出力するセルを自動で特定し、セルの遅延時間および出力スルーを不定値の伝播を検証可能な値に自動で変換する。さらに、不定値を出力しないセルを自動で特定し、セルの遅延時間および出力スルーを補正することができ、セルの遅延時間および出力スルーを適正化することができる。したがって、セルの遅延時間および出力スルーの見積もり精度を向上させることができる。さらに、不定値を出力するセルがあるか否かを、検証前に特定することができる。なお、実施の形態８では、実施の形態８にかかる設計支援装置の設計支援処理手順の説明を省略する。
【０２１９】
以上説明したように、検証支援プログラム、および検証支援装置によれば、駆動能力の値および集中定数容量の値に基づく回路モデルの第１の遅延時間と駆動能力の値と集中定数容量の値と入力容量の値とに基づく回路モデルの第２の遅延時間との相対的な評価値を算出して、遅延時間の補正係数とする。
【０２２０】
これにより、遅延時間を適正化可能な遅延時間の補正係数を自動で算出することができる。したがって、利用者が、設計対象回路内のセルの遅延時間を、遅延時間の補正係数を用いて補正することで、当該セルの駆動能力およびセルの出力先であるセルに応じてセルの遅延時間を適正化することができる。そして、遅延時間の見積もり精度を向上させることができる。
【０２２１】
また、設計対象回路内のセルの遅延時間を、遅延時間の補正係数により補正して当該セルの補正後遅延時間を自動で算出する。これにより、設計対象回路内のセルごとに当該セルの遅延時間が、補正されて適正化される。したがって、セルの遅延時間の見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を検証することができ、検証精度を向上させることができる。
【０２２２】
また、設計対象回路内のセルの遅延時間を遅延時間の補正係数により補正するか否かを判断し、補正すると判断された場合、当該セルの遅延時間を補正する。これにより、補正が必要なセルを自動で特定し、当該セルの遅延時間を補正して適正化することができる。したがって、セルの遅延時間の見積もり精度を向上させることができ、検証の精度を向上させることができる。
【０２２３】
また、駆動能力の値と入力容量との値ごとに遅延時間の補正係数を、線形近似することで補正式を算出する。これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、利用者が、遅延時間の補正式を用いて設計対象回路内のセルの遅延時間を補正することで当該セルの遅延時間を容易に適正化することができる。したがって、セルの遅延時間の見積もり精度を向上させることができ、検証精度を向上させることができる。
【０２２４】
また、遅延時間の補正係数を、線形近似することで算出された遅延時間の補正式に集中定数容量の値を与えることで、設計対象回路のセルの遅延時間に対応する遅延時間の補正係数を容易に算出することができる。これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、補正式を用いて補正することで容易に自動で補正することができる。したがって、セルの遅延時間を適正化することができ、セルの遅延時間の見積もり精度を向上させることができる。
【０２２５】
また、遅延時間の補正式に基づいて算出された遅延時間の補正係数により設計対象回路内のセルの遅延時間を補正するか否かを判断し、補正すると判断された場合、当該セルの遅延時間を補正する。これにより、補正が必要なセルを自動で特定し、どの集中定数容量の値であっても設計対象回路内のセルを容易に補正することができる。したがって、遅延時間が適正なセルを補正せずに遅延時間が適正でないセルを補正することで、セルの遅延時間の見積もり精度を向上させることができる。
【０２２６】
また、設計対象回路内のセルが不定値を伝播させるか否かを判断し、不定値を伝播させないと判断された場合、当該セルの遅延時間を補正し、不定値を伝播させると判断された場合、当該セルの遅延時間を不定値が伝播することを検証可能な値に変換する。
【０２２７】
これにより、不定値を出力するセルを自動で特定し、セルの遅延時間を不定値の伝播を検証可能な値に自動で変換し、不定値を出力しないセルを自動で特定し、補正することができる。したがって、セルの遅延時間を適正化することができ、かつセルの遅延時間の見積もり精度を向上させることができる。さらに、不定値を出力するセルがあるか否かを、検証前に特定することができる。
【０２２８】
以上説明したように、検証支援プログラム、および検証支援装置によれば、駆動能力の値および集中定数容量の値に基づく回路モデルの第１の出力スルーと駆動能力の値と集中定数容量の値と入力容量の値とに基づく回路モデルの第２の出力スルーとの相対的な評価値を算出して、出力スルーの補正係数とする。
【０２２９】
これにより、出力スルーを適正化可能な出力スルーの補正係数を自動で算出することができる。したがって、利用者が、設計対象回路内のセルの出力スルーを、出力スルーの補正係数を用いて補正することで、当該セルの駆動能力およびセルの出力先であるセルに応じてセルの出力スルーを適正化することができる。そして、出力スルーの見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を検証することができ、検証精度を向上させることができる。
【０２３０】
また、設計対象回路内のセルの出力スルーを、出力スルーの補正係数により補正して当該セルの補正後出力スルーを自動で算出する。これにより、設計対象回路内のセルごとに当該セルの出力スルーが、補正されて適正化される。したがって、セルの出力スルーの見積もり精度を向上させることができる。さらに、利用者が非線形な出力波形を検証することができ、検証精度を向上させることができる。
【０２３１】
また、設計対象回路内のセルの出力スルーを出力スルーの補正係数により補正するか否かを判断し、補正すると判断された場合、当該セルの出力スルーを補正する。これにより、補正が必要なセルを自動で特定し、当該セルの出力スルーを補正して適正化することができる。したがって、セルの出力スルーの見積もり精度を向上させることができ、検証の精度を向上させることができる。さらに、出力スルーが適正であるセルが、補正されない。
【０２３２】
また、駆動能力の値と入力容量との値ごとに遅延時間の補正係数を、線形近似することで補正式を算出する。これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、利用者が、出力スルーの補正式を用いて設計対象回路内のセルの出力スルーを補正することで当該セルの出力スルーを容易に適正化することができる。したがって、セルの出力スルーの見積もり精度を向上させることができ、検証精度を向上させることができる。
【０２３３】
また、出力スルーの補正係数を、線形近似することで算出された出力スルーの補正式に集中定数容量の値を与えることで、設計対象回路のセルの出力スルーに対応する出力スルーの補正係数を容易に算出することができる。これにより、設計対象回路内のセルに関する集中定数容量の値がどのような値であっても、出力スルー補正式を用いて補正することで容易にセルの出力スルーを適正化することができる。したがって、セルの出力スルーの見積もり精度を向上させることができ、検証精度を向上させることができる。
【０２３４】
また、出力スルーの補正式に基づいて算出された出力スルーの補正係数により設計対象回路内のセルの出力スルーを補正するか否かを判断し、補正すると判断された場合、当該セルの出力スルーを補正する。これにより、補正が必要なセルを自動で特定し、どの集中定数容量の値であっても設計対象回路内のセルを容易に補正することができる。したがって、出力スルーが適正なセルを補正せずに出力スルーが適正でないセルを補正することで、セルの出力スルーの見積もり精度を向上させることができる。
【０２３５】
また、設計対象回路内のセルが不定値を伝播させるか否かを判断し、不定値を伝播させないと判断された場合、当該セルの出力スルーを補正し、不定値を伝播させると判断された場合、当該セルの出力スルーを不定値の伝播が検証可能な値に変換する。
【０２３６】
これにより、不定値を出力するセルを自動で特定し、セルの出力スルーを不定値の伝播を検証可能な値に自動で変換し、不定値を出力しないセルを自動で特定し、補正することができる。したがって、セルの出力スルーを適正化することができ、かつセルの出力スルーの見積もり精度を向上させることができる。さらに、不定値を出力するセルがあるか否かを、検証前に特定することができる。
【０２３７】
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２３８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２３９】
（付記１）回路モデルを模擬するシミュレータにアクセス可能なプロセッサを、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の遅延時間を入力する回路モデル情報入力手段、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の遅延時間を前記シミュレータから取得する取得手段、
前記回路モデル情報入力手段により入力された第１の遅延時間と前記取得手段により取得された第２の遅延時間との相対的な評価値を算出する評価値算出手段、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納手段、
として機能させることを特徴とする設計支援プログラム。
【０２４０】
（付記２）前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの遅延時間とを入力する対象セル情報入力手段、
前記格納手段により記憶装置へ格納された遅延時間の補正係数の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する遅延時間の補正係数を検索する検索手段、
前記対象セル情報入力手段により入力された前記対象セルの遅延時間と前記検索手段により検索された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後遅延時間を出力する出力手段、
として機能させることを特徴とする付記１に記載の設計支援プログラム。
【０２４１】
（付記３）前記プロセッサを、
所定のしきい値に基づいて前記対象セルの遅延時間を補正するか否かを判断する判断手段として機能させ、
前記評価値算出手段は、
前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値を算出し、
前記判断手段は、
前記評価値算出手段により算出された前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値が前記所定のしきい値以上であるか否かに基づいて、前記対象セルの遅延時間を補正するか否かを判断し、
前記補正後時間算出手段は、
前記判断手段により前記対象セルの遅延時間を補正すると判断された場合、前記検索手段により検索された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出することを特徴とする付記２に記載の設計支援プログラム。
【０２４２】
（付記４）前記プロセッサを、
前記格納手段により格納された遅延時間の補正係数の中から前記駆動能力の値と前記入力容量の値とに対応する遅延時間の補正係数を抽出する抽出手段、
前記抽出手段により抽出された遅延時間の補正係数を線形近似して遅延時間の補正式を算出する補正式算出手段、として機能させ、
前記格納手段は、
前記補正式算出手段により算出された遅延時間の補正式を前記記憶装置へ格納することを特徴とする付記１に記載の設計支援プログラム。
【０２４３】
（付記５）前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの遅延時間と前記出力先セルの入力容量の値を含む集中定数容量の値を入力する前記対象セル情報入力手段、
前記格納手段により記憶装置へ格納された遅延時間の補正式の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する遅延時間の補正式を検索する検索手段は、
前記検索手段により検索された遅延時間の補正式に前記対象セル情報入力手段により入力された前記集中定数容量の値を与えて遅延時間の補正係数を算出する補正係数算出手段、
前記対象セル情報入力手段により入力された前記対象セルの遅延時間と前記補正係数算出手段により算出された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後遅延時間を出力する出力手段、
として機能させることを特徴とする付記４に記載の設計支援プログラム。
【０２４４】
（付記６）前記プロセッサを、
前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値が補正式に関するしきい値以上であるか否かにより、前記補正式により補正するか否かを判断する判断手段、
前記補正係数算出手段は、
前記判断手段により補正式により補正すると判断された場合、前記遅延時間の補正式へ前記集中定数容量の値を与えて遅延時間の補正係数を算出し、
前記補正後時間算出手段は、
前記対象セルの遅延時間と前記補正係数算出手段により算出された遅延時間の補正係数に基づいて、前記対象セルの補正後遅延時間を算出することを特徴とする付記５に記載の設計支援プログラム。
【０２４５】
（付記７）前記プロセッサを、
前記対象セルの遅延時間へ不定値が伝播される値に変換する変換手段として機能させ、
前記判断手段は、
前記対象セルの遅延時間と前記補正後遅延時間との相対的な評価値が不定値伝播に関するしきい値以上であるか否かに基づいて、前記対象セルの遅延時間を補正するか否かを判断し、
前記変換手段は、
前記判断手段により前記対象セルの遅延時間を補正できないと判断された場合、前記対象セルの遅延時間を前記対象セルの遅延時間へ不定値が伝播される値に変換し、
前記出力手段は、
前記変換手段により変換された変換結果を出力することを特徴とする付記２，３，５，６のいずれか１つに記載の設計支援プログラム。
【０２４６】
（付記８）回路モデルを模擬するシミュレータにアクセス可能なプロセッサを、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の出力スルーを入力する回路モデル情報入力手段、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の出力スルーを前記シミュレータから取得する取得手段、
前記回路モデル情報入力手段により入力された第１の出力スルーと前記取得手段により取得された第２の出力スルーとの相対的な評価値を算出する評価値算出手段、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、出力スルーの補正係数として記憶装置へ格納する格納手段、
として機能させることを特徴とする設計支援プログラム。
【０２４７】
（付記９）前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの出力スルーとを入力する対象セル情報入力手段、
前記格納手段により記憶装置へ格納された出力スルーの補正係数の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する出力スルーの補正係数を検索する検索手段、
前記対象セル情報入力手段により入力された前記対象セルの出力スルーと前記検索手段により検索された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後出力スルーを出力する出力手段、
として機能させることを特徴とする付記８に記載の設計支援プログラム。
【０２４８】
（付記１０）前記プロセッサを、
所定のしきい値に基づいて前記対象セルの出力スルーを補正するか否かを判断する判断手段として機能させ、
前記評価値算出手段は、
前記対象セルの遅延時間と前記補正後出力スルーとの相対的な評価値を算出し、
前記判断手段は、
前記評価値算出手段により算出された前記対象セルの出力スルーと前記補正後遅延時間との相対的な評価値が前記所定のしきい値以上であるか否かに基づいて、前記対象セルの出力スルーを補正するか否かを判断し、
前記補正後時間算出手段は、
前記判断手段により前記対象セルの出力スルーを補正すると判断された場合、前記検索手段により検索された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出することを特徴とする付記９に記載の設計支援プログラム。
【０２４９】
（付記１１）前記プロセッサを、
前記格納手段により格納された出力スルーの補正係数の中から前記駆動能力の値と前記入力容量の値とに対応する出力スルーの補正係数を抽出する抽出手段、
前記抽出手段により抽出された出力スルーの補正係数を線形近似して出力スルーの補正式を算出する補正式算出手段、として機能させ、
前記格納手段は、
前記補正式算出手段により算出された出力スルーの補正式を前記記憶装置へ格納することを特徴とする付記８に記載の設計支援プログラム。
【０２５０】
（付記１２）前記プロセッサを、
設計対象回路の回路情報内の任意の対象セルの駆動能力の値と前記対象セルの出力先セルの入力容量の値と前記対象セルの出力スルーと前記出力先セルの入力容量の値を含む集中定数容量の値を入力する前記対象セル情報入力手段、
前記格納手段により記憶装置へ格納された出力スルーの補正式の中から、前記対象セル情報入力手段により入力された前記対象セルの駆動能力の値および前記出力先セルの入力容量の値に対応する出力スルーの補正式を検索する検索手段は、
前記検索手段により検索された出力スルーの補正式に前記対象セル情報入力手段により入力された前記集中定数容量の値を与えて出力スルーの補正係数を算出する補正係数算出手段、
前記対象セル情報入力手段により入力された前記対象セルの出力スルーと前記補正係数算出手段により算出された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出する補正後時間算出手段、
前記補正後時間算出手段により算出された前記対象セルの補正後出力スルーを出力する出力手段、
として機能させることを特徴とする付記１１に記載の設計支援プログラム。
【０２５１】
（付記１３）前記プロセッサを、
前記対象セルの出力スルーと前記補正後出力スルーとの相対的な評価値が補正式に関するしきい値以上であるか否かにより、前記出力スルーの補正式により補正するか否かを判断する判断手段、
前記補正係数算出手段は、
前記判断手段により前記出力スルーの補正式により補正すると判断された場合、前記出力スルーの補正式へ前記集中定数容量の値を与えて出力スルーの補正係数を算出し、
前記補正後時間算出手段は、
前記対象セルの出力スルーと前記補正係数算出手段により算出された出力スルーの補正係数に基づいて、前記対象セルの補正後出力スルーを算出することを特徴とする付記１２に記載の設計支援プログラム。
【０２５２】
（付記１４）前記プロセッサを、
前記対象セルの出力スルーへ不定値が伝播される値に変換する変換手段として機能させ、
前記判断手段は、
前記対象セルの出力スルーと前記補正後出力スルーとの相対的な評価値が不定値伝播に関するしきい値以上であるか否かに基づいて、前記対象セルの出力スルーを補正するか否かを判断し、
前記変換手段は、
前記判断手段により前記対象セルの出力スルーを補正できないと判断された場合、前記対象セルの出力スルーを前記対象セルの出力スルーへ不定値が伝播される値に変換し、
前記出力手段は、
前記変換手段により変換された変換結果を出力することを特徴とする付記９、１０、１２、１３のいずれか１つに記載の設計支援プログラム。
【０２５３】
（付記１５）回路モデルを模擬するシミュレータにアクセス可能な設計支援装置であって、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の遅延時間を入力する回路モデル情報入力手段と、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段と、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の遅延時間を前記シミュレータから取得する取得手段と、
前記回路モデル情報入力手段により入力された第１の遅延時間と前記取得手段により取得された第２の遅延時間との相対的な評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納手段と、
を備えることを特徴とする設計支援装置。
【０２５４】
（付記１６）回路モデルを模擬するシミュレータにアクセス可能なコンピュータが、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の遅延時間を入力する回路モデル情報入力工程、
前記回路モデル情報入力工程により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定工程、
前記設定工程により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の遅延時間を前記シミュレータから取得する取得工程、
前記回路モデル情報入力工程により入力された第１の遅延時間と前記取得工程により取得された第２の遅延時間との相対的な評価値を算出する評価値算出工程、
前記評価値算出工程により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、遅延時間の補正係数として記憶装置へ格納する格納工程、
を実行することを特徴とする設計支援方法。
【０２５５】
（付記１７）回路モデルを模擬するシミュレータにアクセス可能な設計支援装置であって、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の出力スルーを入力する回路モデル情報入力手段と、
前記回路モデル情報入力手段により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定手段と、
前記設定手段により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の出力スルーを前記シミュレータから取得する取得手段と、
前記回路モデル情報入力手段により入力された第１の出力スルーと前記取得手段により取得された第２の出力スルーとの相対的な評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、出力スルーの補正係数として記憶装置へ格納する格納手段と、
を備えることを特徴とする設計支援装置。
【０２５６】
（付記１８）回路モデルを模擬するシミュレータにアクセス可能なプロセッサが、
前記回路モデルに定義されている駆動能力の値と集中定数容量の値と前記集中定数容量の一部である入力容量の値とを入力するとともに、前記駆動能力の値および前記集中定数容量の値に基づく前記回路モデルの第１の出力スルーを入力する回路モデル情報入力工程、
前記回路モデル情報入力工程により入力された駆動能力の値と、前記集中定数容量の値と、前記入力容量の値とを、前記回路モデルに設定する設定工程、
前記設定工程により値が設定された回路モデルを前記シミュレータへ与えることにより、当該シミュレータの模擬により得られた前記回路モデルの第２の出力スルーを前記シミュレータから取得する取得工程、
前記回路モデル情報入力工程により入力された第１の出力スルーと前記取得工程により取得された第２の出力スルーとの相対的な評価値を算出する評価値算出工程、
前記評価値算出工程により算出された相対的な評価値を、前記駆動能力の値と前記集中定数容量の値と前記入力容量の値に関連付けて、出力スルーの補正係数として記憶装置へ格納する格納工程、
を実行することを特徴とする設計支援方法。
【符号の説明】
【０２５７】
６０１  回路モデル情報入力部
６０２  設定部
６０３  取得部
６０４  評価値算出部
６０５  格納部
６０８  対象セル情報入力部
６０９  検索部
６１１  判断部
６１０  補正後時間算出部
６１４  出力部
１６００  回路情報
回路モデル１  回路モデル
【図１】
2010287186.tif 000003
【図２−１】
2010287186.tif 000004
【図２−２】
2010287186.tif 000005
【図２−３】
2010287186.tif 000006
【図２−４】
2010287186.tif 000007
【図３】
2010287186.tif 000008
【図４】
2010287186.tif 000009
【図５】
2010287186.tif 000010
【図６】
2010287186.tif 000011
【図７−１】
2010287186.tif 000012
【図７−２】
2010287186.tif 000013
【図８】
2010287186.tif 000014
【図９】
2010287186.tif 000015
【図１０】
2010287186.tif 000016
【図１１】
2010287186.tif 000017
【図１２】
2010287186.tif 000018
【図１３】
2010287186.tif 000019
【図１４】
2010287186.tif 000020
【図１５】
2010287186.tif 000021
【図１６】
2010287186.tif 000022
【図１７−１】
2010287186.tif 000023
【図１７−２】
2010287186.tif 000024
【図１８−１】
2010287186.tif 000025
【図１８−２】
2010287186.tif 000026
【図１９】
2010287186.tif 000027
【図２０】
2010287186.tif 000028
【図２１】
2010287186.tif 000029
【図２２】
2010287186.tif 000030
【図２３】
2010287186.tif 000031
【図２４】
2010287186.tif 000032
【図２５】
2010287186.tif 000033
【図２６】
2010287186.tif 000034
【図２７】
2010287186.tif 000035
【図２８】
2010287186.tif 000036
【図２９】
2010287186.tif 000037
【図３０】
2010287186.tif 000038
【図３１】
2010287186.tif 000039
【図３２】
2010287186.tif 000040
【図３３】
2010287186.tif 000041
【図３４】
2010287186.tif 000042
【図３５】
2010287186.tif 000043
【図３６】
2010287186.tif 000044