(57)【要約】【課題】スラック値の余分なマージンを減らしてタイミング判定の精度を高めること。【解決手段】本発明にかかる回路設計方法は、半導体集積回路の静的タイミング検証を行う回路設計方法であって、１又は複数の環境変数のコーナー条件に基づき、当該環境変数を用いてスラック値を近似するためのスラック関数を算出し、環境変数のそれぞれがコーナー条件の中点である場合のスラック関数におけるスラック値であるスラックセンター値と、スラック値の変化方向に対するスラック関数の傾きと、環境変数の数とに基づいてタイミング判定を行う。【選択図】図１
2012160099.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の静的タイミング検証を行う回路設計方法であって、
１又は複数の環境変数のコーナー条件に基づき、当該環境変数を用いてスラック値を近似するためのスラック関数を算出し、
前記環境変数のそれぞれが前記コーナー条件の中点である場合の前記スラック関数におけるスラック値であるスラックセンター値と、スラック値の変化方向に対する前記スラック関数の傾きと、前記環境変数の数とに基づいてタイミング判定を行う
回路設計方法。
【請求項２】
前記タイミング判定において、前記スラックセンター値が前記スラック関数における各環境変数の感度係数と前記環境変数の数とにより求まる値より大きい場合に、前記コーナー条件でのタイミングが保証されると判定することを特徴とする請求項１に記載の回路設計方法。
【請求項３】
前記タイミング判定により、タイミング違反と判定した場合、前記スラックセンター値と、前記感度係数と、前記環境変数の数とを用いてスラック値の不足量を算出することを特徴とする請求項２に記載の回路設計方法。
【請求項４】
プロセスバラツキの許容度と、当該プロセスバラツキの確率変数とをさらに用いて前記タイミング判定を行うことを特徴とする請求項１乃至３のいずれか１項に記載の回路設計方法。
【請求項５】
前記スラック関数により定まるスラック値の超平面に対する法線ベクトルと、前記スラック値の変化方向とのなす角に基づいて前記タイミング判定を行うことを特徴とする請求項１乃至４のいずれか１項に記載の回路設計方法。
【請求項６】
半導体集積回路の静的タイミング検証を行う回路設計支援装置であって、
１又は複数の環境変数のコーナー条件に基づき、当該環境変数を用いてスラック値を近似するためのスラック関数を算出する算出部と、
前記環境変数のそれぞれが前記コーナー条件の中点である場合の前記スラック関数におけるスラック値であるスラックセンター値と、スラック値の変化方向に対する前記スラック関数の傾きと、前記環境変数の数とに基づいてタイミング判定を行う判定部と、
を備える回路設計支援装置。
【請求項７】
前記判定部は、前記タイミング判定において、前記スラックセンター値が前記スラック関数における各環境変数の感度係数と前記環境変数の数とにより求まる値より大きい場合に、前記コーナー条件でのタイミングが保証されると判定することを特徴とする請求項６に記載の回路設計支援装置。
【請求項８】
前記判定部によりタイミング違反と判定した場合、前記スラックセンター値と、前記感度係数と、前記環境変数の数とを用いてスラック値の不足量を算出する不足量算出部をさらに備えることを特徴とする請求項７に記載の回路設計支援装置。
【請求項９】
前記判定部は、プロセスバラツキの許容度と、当該プロセスバラツキの確率変数とをさらに用いて前記タイミング判定を行うことを特徴とする請求項６乃至８のいずれか１項に記載の回路設計支援装置。
【請求項１０】
前記判定部は、前記スラック関数により定まるスラック値の超平面に対する法線ベクトルと、前記スラック値の変化方向とのなす角に基づいて前記タイミング判定を行うことを特徴とする請求項６乃至９のいずれか１項に記載の回路設計支援装置。
【請求項１１】
半導体集積回路の静的タイミング検証処理をコンピュータに実行させる回路設計支援プログラムであって、
前記コンピュータに、
１又は複数の環境変数のコーナー条件に基づき、当該環境変数を用いてスラック値を近似するためのスラック関数を算出する算出処理と、
前記環境変数のそれぞれが前記コーナー条件の中点である場合の前記スラック関数におけるスラック値であるスラックセンター値と、スラック値の変化方向に対する前記スラック関数の傾きと、前記環境変数の数とに基づいてタイミング判定を行う判定処理と
を実行させる回路設計支援プログラム。
【請求項１２】
前記判定処理は、前記タイミング判定において、前記スラックセンター値が前記スラック関数における各環境変数の感度係数と前記環境変数の数とにより求まる値より大きい場合に、前記コーナー条件でのタイミングが保証されると判定することを特徴とする請求項１２に記載の回路設計支援プログラム。
【請求項１３】
前記コンピュータに、
前記タイミング判定により、タイミング違反と判定した場合、前記スラックセンター値と、前記感度係数と、前記環境変数の数とを用いてスラック値の不足量を算出する不足量算出処理をさらに実行させることを特徴とする請求項１２に記載の回路設計支援プログラム。
【請求項１４】
前記判定処理は、プロセスバラツキの許容度と、当該プロセスバラツキの確率変数とをさらに用いて前記タイミング判定を行うことを特徴とする請求項１１乃至１３のいずれか１項に記載の回路設計支援プログラム。
【請求項１５】
前記判定処理は、前記スラック関数により定まるスラック値の超平面に対する法線ベクトルと、前記スラック値の変化方向とのなす角に基づいて前記タイミング判定を行うことを特徴とする請求項１１乃至１４のいずれか１項に記載の回路設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計方法、回路設計支援装置及び回路設計支援プログラムに関し、特に、半導体集積回路におけるレイアウト後の静的タイミング解析を行う際の回路設計方法、回路設計支援装置及び回路設計支援プログラムに関する。
【背景技術】
【０００２】
近年の半導体集積回路の微細化に伴い、プロセス条件や動作環境の変動に起因して発生する半導体集積回路の遅延のばらつきが大きくなってきている。このような遅延のばらつきが発生した半導体集積回路の動作を保証するために、静的タイミング解析にて遅延のばらつきを検証することが行われている。
【０００３】
この静的タイミング解析では、このような遅延のばらつきをコーナーとして扱うことが一般的に行われている。すなわち、あるばらつき要因のばらつきを検証する場合、そのばらつき要因が最小値をとる場合と最大値をとる場合の２つのケースで静的タイミング解析を行うことにより、そのばらつき要因が最小値から最大値まで変動した場合の回路動作を保証することが行われている。
【０００４】
しかしながら、遅延のばらつきをコーナーとして扱う方法では、ばらつき要因数が多くなると、静的タイミング解析の実行時間が著しく増加するという問題がある。そこで、特許文献１には、タイミング解析の実行時間の増加を抑制しつつ、範囲で扱うばらつき要因（環境変数）を全ての範囲に渡って考慮することが可能な統計的タイミング解析装置に関する技術が開示されている。特許文献１にかかる技術を用いることで、静的タイミング解析におけるコーナー条件を統計的静的タイミング解析にて決定することができ、１回の統計的静的タイミング解析によって静的タイミング解析におけるコーナー条件を絞り込むことができる。このため、ばらつき要因が多数ある場合においても、タイミング解析の実行時間の増加を抑制しつつ、範囲で扱うばらつき要因を全ての範囲に渡って考慮することが可能となり、半導体集積回路の微細化が進展した場合においても、タイミング解析を精度よく行うことができる。
【０００５】
また、非特許文献１には、上述したような静的タイミング解析結果の判定方法として、スラック関数により定まる平面と原点との距離を用いることが開示されている。ここで、スラック関数とは、スラック値を算出するための環境変数による一次関数の近似式である。また、スラック値とは、負値であれば、タイミング違反が生じていることを示し、非負値であれば、タイミング違反が生じていないことを示す値である。そして、スラック値の絶対値は、タイミングの過不足の絶対値を表すものとする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２４５３３３号公報
【非特許文献】
【０００７】
【非特許文献１】K.R. Heloue, F.N.Naim, C.V.Kashyap, "Quantifying RobustnessMetrics in Parameterized Static TimingAnalysis", ICCAD2009.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に非特許文献１の技術を適用した場合、タイミング違反を生じていないと判定されるコーナー条件には、本来の境界条件よりも余分なマージンが発生し、判定の精度が不十分であるという問題点がある。そのため、静的タイミング解析結果の判定方法には、改善の余地がある。
【０００９】
ここで、上述した課題の発生を説明する。まず、図１０は、関連技術にかかるスラックを表す平面と原点からの距離の概念を説明するための図である。特に、図１０は、二つの環境変数として電源電圧ｖと温度ｔとを用いた場合の例である。ここで、電源電圧ｖのコーナー条件は、最大値ｖｍａｘ及び最小値ｖｍｉｎ、温度ｔのコーナー条件は、最大値ｔｍａｘ及び最小値ｔｍｉｎとする。また、温度ｔを表すｔ軸と、スラック値を表すＳ軸とを互いに直交する３次元の座標系により示す。
【００１０】
式（１）は、電源電圧ｖと温度ｔとの２つの環境変数に対するスラック値Ｓを算出するためのスラック関数を一次関数により近似したものである。
【数１】
2012160099.tif 000003
ここで、Ｓ０は、電源電圧ｖ及び温度ｔが共に０である場合のスラック値を示す。以下では、Ｓ０をスラックセンター値と呼ぶ。αは、電源電圧ｖにおける感度係数、βは、温度ｔにおける感度係数を示す。
【００１１】
上述した特許文献１により、コーナー条件を満たす式（１）のスラックセンター値Ｓ０、感度係数α及びβを求めることができる。すなわち、電源電圧ｖがｖｍａｘからｖｍｉｎの間、かつ、温度ｔがｔｍａｘからｔｍｉｎの間におけるスラック値Ｓの値が常にＳ＞０となるようなスラックセンター値Ｓ０、感度係数α及びβを算出する。
【００１２】
そして、特許文献１に非特許文献１の技術を適用した場合には、式（１）におけるＳ＝０の場合を電源電圧ｖ及び温度ｔに対する超平面として表現し、当該超平面と原点Ｏとの距離ｄが一定以上となるか否かにより、コーナー条件においてタイミングを満たすか否かを判定する。つまり、コーナー条件により定まる全てのスラック関数と原点Ｏとの距離ｄが常に原点とコーナー条件との距離以上であることを、タイミングを満たすの要件としている。ここで、説明の簡略化するため、環境変数を温度ｔの１つとした場合について説明する。また、温度ｔのコーナー条件を正規化している。
【００１３】
図１１は、関連技術により温度ｔのコーナー条件でタイミングを満たす場合のスラック関数の例を示す図である。図１１では、Ｓ＝ｆ（ｔ）とＳ＝ｆ'（ｔ）という異なるスラック関数が算出されたとする。そして、原点Ｏとコーナー条件ｔ＝１、−１との距離ｄは、"１"である。このとき、Ｓ＝ｆ（ｔ）とＳ＝ｆ'（ｔ）とは、いずれも原点Ｏを中心とした半径１の半円の接線となっている。つまり、原点Ｏから距離ｄ＝１以上離れており、温度ｔがｔｍａｘ及びｔｍｉｎの場合にＳ＞０である。そのため、Ｓ＝ｆ（ｔ）とＳ＝ｆ'（ｔ）とは、ｔｍａｘからｔｍｉｎの間で、常にＳ＞０が満たされていることを示し、タイミングを満たすことを示す。
【００１４】
しかしながら、コーナー条件内で常にＳ＞０を満たすには、上記の条件に限られない。図１２は、関連技術における課題の発生を説明するための図である。図１２では、スラック関数としてＳ＝ｆ（ｔ）とＳ＝ｆ''（ｔ）を示す。Ｓ＝ｆ（ｔ）は、ｔ＝０においてスラックセンター値Ｓ０であり、原点Ｏを中心とした半径１の半円の接線である。つまり、Ｓ＝ｆ（ｔ）は、原点Ｏから距離ｄ離れているため、タイミングを満たすことを示す。一方、Ｓ＝ｆ''（ｔ）は、ｔ＝０においてスラックセンター値Ｓ'０であり、原点Ｏを中心とした半径１の半円の内部を通過する。つまり、Ｓ＝ｆ''（ｔ）は、原点Ｏから距離ｄ未満、つまり、原点Ｏから距離ｄ'離れている。ここで、ｄ＞ｄ'＞０である。そのため、特許文献１に非特許文献１の技術を適用した場合には、Ｓ＝ｆ''（ｔ）は、タイミング違反と判定されてしまう。
【００１５】
ところが、Ｓ＝ｆ''（ｔ）は、温度ｔのコーナー条件内で常にＳ＞０を満たしている。そのため、実際は、Ｓ＝ｆ''（ｔ）についても温度ｔのコーナー条件においてタイミングを満たすスラック関数の近似式といえる。よって、特許文献１に非特許文献１の技術を適用した場合には、Ｓ＝ｆ（ｔ）からＳ＝ｆ''（ｔ）の間に存在するスラック関数については、本来、タイミングを満たすにも関わらず、タイミング違反と判定してしまう。つまり、スラック関数と原点との距離に基づく静的タイミングの判定方法である場合、タイミング判定の精度が低いといえる。そして、この場合、ｆ（ｔ）が最適な近似式となるため、ｆ''（ｔ）に比べてＳ０−Ｓ'０の余分なマージンが必要となってしまう。
【課題を解決するための手段】
【００１６】
本発明の第１の態様にかかる回路設計方法は、半導体集積回路の静的タイミング検証を行う回路設計方法であって、１又は複数の環境変数のコーナー条件に基づき、当該環境変数を用いてスラック値を近似するためのスラック関数を算出し、前記環境変数のそれぞれが前記コーナー条件の中点である場合の前記スラック関数におけるスラック値であるスラックセンター値と、スラック値の変化方向に対する前記スラック関数の傾きと、前記環境変数の数とに基づいてタイミング判定を行う。
【００１７】
本発明の第２の態様にかかる回路設計支援装置は、半導体集積回路の静的タイミング検証を行う回路設計支援装置であって、１又は複数の環境変数のコーナー条件に基づき、当該環境変数を用いてスラック値を近似するためのスラック関数を算出する算出部と、前記環境変数のそれぞれが前記コーナー条件の中点である場合の前記スラック関数におけるスラック値であるスラックセンター値と、スラック値の変化方向に対する前記スラック関数の傾きと、前記環境変数の数とに基づいてタイミング判定を行う判定部と、を備える。
【００１８】
本発明の第３の態様にかかる回路設計支援プログラムは、半導体集積回路の静的タイミング検証処理をコンピュータに実行させる回路設計支援プログラムであって、前記コンピュータに、１又は複数の環境変数のコーナー条件に基づき、当該環境変数を用いてスラック値を近似するためのスラック関数を算出する算出処理と、前記環境変数のそれぞれが前記コーナー条件の中点である場合の前記スラック関数におけるスラック値であるスラックセンター値と、スラック値の変化方向に対する前記スラック関数の傾きと、前記環境変数の数とに基づいてタイミング判定を行う判定処理とを実行させる。
【００１９】
上述した本発明の第１乃至第３の態様では、スラック値の変化方向（例えば、Ｓ軸）に対するスラック関数の傾きに基づきタイミング判定を行う。そのため、近似して求められたスラック関数と原点との最短距離が原点とコーナー条件との距離未満であっても、各コーナー条件におけるスラック値が正であることが保証される場合（例えば、図１２のＳ＝ｆ''（ｔ））をタイミング保証するものとして検出できる。そのため、特許文献１及び非特許文献１において本来は、タイミングが保証されているにもかかわらず、タイミング違反とされていた場合についても、適切にタイミング判定を行うことができる。
【発明の効果】
【００２０】
本発明により、余分なマージンを減らすことで、タイミング判定の精度を向上させるための回路設計方法、回路設計支援装置及び回路設計支援プログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】環境変数が１変数の場合におけるタイミング判定の原理を説明するための図である。
【図２】本発明の実施の形態１にかかるタイミング条件を満たすスラック値により定まる平面と法線ベクトル、そのＳ軸となす角の例を示す図である。
【図３】環境変数が２つの場合における環境変数のコーナー条件により定まる領域とタイミング条件を満たすスラック値との関係を説明するための図である。
【図４】環境変数が２つの場合におけるタイミング条件を満たすスラック値により定まる平面に対する制約を説明するための図である。
【図５】環境変数が複数の場合におけるタイミング判定の原理を説明するための図である。
【図６】本発明の実施の形態１にかかる回路設計支援装置の構成を示すブロック図である。
【図７】本発明の実施の形態１にかかる静的タイミング検証処理の流れを示すフローチャートである。
【図８】本発明の実施の形態１にかかる静的タイミング検証処理の流れを示すフローチャートである。
【図９】本発明の実施の形態２にかかるタイミング判定の原理を説明するための図である。
【図１０】関連技術にかかるスラックを表す平面と原点からの距離の概念を説明するための図である。
【図１１】関連技術によりコーナー条件がタイミングを満たす場合のスラック関数の例を示す図である。
【図１２】関連技術における課題の発生を説明するための図である。
【発明を実施するための形態】
【００２２】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００２３】
＜発明の実施の形態１＞
まず、本発明の原理について説明する。上述した特許文献１に非特許文献１の技術を適用した場合では、原点とスラック関数の距離のみに注目した。それに比べて、本発明では、スラック関数の傾きに注目して、マージンを削減するものである。
【００２４】
簡単のために、環境変数が１変数の場合について説明する。まず、環境変数ｔのコーナー条件を式（２）のように定義したものとする。
【数２】
2012160099.tif 000004
そして、環境変数ｔを以下の式（３）のように環境変数ｘへ変数変換して正規化する。
【数３】
2012160099.tif 000005
【００２５】
このとき、スラック関数Ｓ＝ｆ（ｘ）を以下の式（４）のように近似する。
【数４】
2012160099.tif 000006
ここで、ｆ（０）＝Ｓ０＞０、ｆ（−１）＝０とする。
【００２６】
図１は、環境変数が１変数の場合におけるタイミング判定の原理を説明するための図である。ここでは、上述したスラック関数Ｓ＝ｆ（ｘ）の法線ベクトルをｖとし、スラック値Ｓの変化方向であるＳ軸とのなす角をθとする。このとき、Ｓ＝ｆ（ｘ）とｘ軸のなす角（傾き）θ'=θである。
【００２７】
従って、スラックセンター値Ｓ０は、以下の式（５）を満たすこととなる。
【数５】
2012160099.tif 000007
【００２８】
そのため、タイミング検証を行う対象のコーナー条件に基づき算出されたスラック関数におけるスラックセンター値Ｓ０について、以下の式（６）が成立すれば、当該コーナー条件でのタイミングが満たされることがいえる。
【数６】
2012160099.tif 000008
ここで、式（４）においてｆ（１）＝０である場合でも、式（６）が成立すれば当該コーナー条件でのタイミングが満たされることは同様である。
【００２９】
続いて、一般的な場合として、環境変数が複数である場合について説明する。まず、環境変数とコーナー条件（変数の最小値、最大値）を以下の式（７）とする。
【数７】
2012160099.tif 000009
そして、環境変数ｘｉのコーナーが［−１，１］になるように、以下の式（８）のように環境変数ｚｉへ変数変換して正規化する。
【数８】
2012160099.tif 000010
以後、このｚｉについて考える。
【００３０】
このとき、スラック関数Ｓ＝ｆ（ｘｉ）を以下の式（９）のように一次関数で近似する。
【数９】
2012160099.tif 000011
これは、ｘ１、・・・、ｘｍ、Ｓの空間で平面Ｓとなる。
【００３１】
図２は、本発明の実施の形態１にかかるタイミング条件を満たすスラック値により定まる平面Ｓと法線ベクトルｖ、そのＳ軸となす角θの例を示す図である。尚、図２は、説明のため、正規化後の環境変数ｚｉ及びｚｊの２変数の場合を図示したものである。図２では、平面Ｓの法線ベクトルｖ（α１、・・・、αｍ、−１）とＳ軸のなす角をθとおき、Ｓ軸に平行な単位ベクトルｓとおくと、なす角θは以下の式（１０）のように表される。
【数１０】
2012160099.tif 000012
【００３２】
図３は、環境変数が２つの場合における環境変数のコーナー条件により定まる領域とタイミング条件を満たすスラック値との関係を説明するための図である。ここで、正規化後の環境変数（ｚｉ、ｚｊ）のコーナー値Ｃ１（１、１）、Ｃ２（１、−１）、Ｃ３（−１、１）、Ｃ４（−１、−１）における各スラック値Ｓは、Ｓ＞０を満たさなければならない。そのためには、Ｓ＝０のとき、スラックの近似平面ＳとＳ＝０平面が交わる線ＳＬが、原点Ｏからコーナー値への距離ｋより離れていなければいけない。すなわち、タイミング判定の境界条件は、線ＳＬが、ｚｉ軸及びｚｊ軸における２次元における原点Ｏから半径ｋの円の接線となる。ここで、線ＳＬと当該円との交点をＰとする。
【００３３】
ここで、複数の環境変数の間に相関がないときには、距離ｋは以下の式（１１）により表わすことができる。
【数１１】
2012160099.tif 000013
【００３４】
図４は、環境変数が２つの場合におけるタイミング条件を満たすスラック値により定まる平面に対する制約を説明するための図である。尚、図４は、図３の関係をｚｉ軸及びｚｊ軸と直交するＳ軸を用いて表現したものである。
【００３５】
図５は、環境変数が複数の場合におけるタイミング判定の原理を説明するための図である。図５は、図４における直線ＯＰについてＳ軸方向に切断した場合の図である。このことから、コーナー値でもある点Ｐにおいて、ｆ（ｘｉ）＝０となる場合のスラックセンター値は、以下の式（１２）で表すことができる。
【数１２】
2012160099.tif 000014
【００３６】
そのため、タイミング検証を行う対象のコーナー条件に基づき算出されたスラック関数におけるスラックセンター値Ｓ０について、以下の式（１３）が成立すれば、全てのコーナー値においてＳ＞０となり、当該コーナー条件でのタイミングが満たされることがいえる。
【数１３】
2012160099.tif 000015
【００３７】
つまり、全てのコーナー条件で静的タイミング解析をする必要がなく、式（１３）の条件を満たすか否かを判定するだけで、全てのコーナー条件でＳ＞０となり、タイミングが保証される。また、このとき、特許文献１に非特許文献１の技術を適用した場合に含まれるマージン（図１２のＳ０−Ｓ'０）は含まれない。
【００３８】
図６は、本発明の実施の形態１にかかる回路設計支援装置１０の構成を示すブロック図である。回路設計支援装置１０は、半導体集積回路の回路設計を支援するためのコンピュータシステムである。回路設計支援装置１０は、少なくとも、回路設計における静的タイミング検証を行うものである。回路設計支援装置１０は、ＣＰＵ（Central Processing Unit）１１と、ＲＡＭ（Random Access Memory）１２と、ＲＯＭ（Read Only Memory）１３と、入出力部１４と、ハードディスク１５とを備える。
【００３９】
ハードディスク１５は、不揮発性記憶装置である。ハードディスク１５は、回路設計支援プログラム１５１、環境変数１５２、ｓｐｉｃｅ  ｍｏｄｅｌ１５３、ネットリスト１５４、感度付遅延ライブラリ１５５、回路データ１５６及びレポート情報１５７を格納する。回路設計支援プログラム１５１は、本発明の実施の形態１にかかる静的タイミング検証を含む処理が実装されたコンピュータプログラムである。環境変数１５２は、検証対象となる複数の環境変数におけるコーナー条件を含む。ｓｐｉｃｅ  ｍｏｄｅｌ１５３は、ＳＰＩＣＥシミュレーションに用いられる各種モデルである。ネットリスト１５４は、セルの回路構成を示す。感度付遅延ライブラリ１５５は、キャラクタライズ処理により決定されるセルの遅延モデルであり、感度係数を含む。回路データ１５６は、Ｖｅｒｉｌｏｇ、ｓｐｅｆ及びタイミング制約等を含む。レポート情報１５７は、本発明の実施の形態１にかかる静的タイミング検証の結果により求められるスラック値の不足分を示す情報又は不足量である。
【００４０】
ＣＰＵ１１は、回路設計支援装置１０における各種処理、ＲＡＭ１２、ＲＯＭ１３、入出力部１４及びハードディスク１５へのアクセス等を制御する。入出力部１４は、入力装置（不図示）及び出力装置（不図示）とのデータの通信を行う。
【００４１】
回路設計支援装置１０は、ＣＰＵ１１が、ＲＡＭ１２、ＲＯＭ１３又はハードディスク１５に格納された回路設計支援プログラム１５１を読み込み、実行する。これにより、回路設計支援装置１０は、以下に説明する、本発明の実施の形態１にかかる算出部、判定部及び不足量算出部として機能し、静的タイミング検証を行うことができる。
【００４２】
ここで、算出部は、１又は複数（ｍ）の環境変数のコーナー条件に基づき、当該環境変数を用いてスラック値を近似するためのスラック関数Ｓを算出する。判定部は、前記環境変数のそれぞれが前記コーナー条件の中点である場合の前記スラック関数におけるスラック値であるスラックセンター値Ｓ０と、スラック値の変化方向（Ｓ軸）に対する前記スラック関数Ｓの傾きθと、前記環境変数の数ｍとに基づいてタイミング判定を行う。これにより、タイミング判定の精度を向上させることができる。
【００４３】
また、判定部は、前記タイミング判定において、前記スラックセンター値Ｓ０が前記スラック関数Ｓにおける各環境変数の感度係数α１、・・・、αｍと前記環境変数の数ｍとにより求まる値より大きい場合（例えば、式（１３））に、前記コーナー条件でのタイミングが保証されると判定する。これにより、１回の計算により全てのコーナー条件におけるタイミング検証を行うことができ、計算量及び検証時間を削減することができる。
【００４４】
さらに、不足量算出部は、前記タイミング判定により、タイミング違反と判定した場合、前記スラックセンター値Ｓ０と、前記感度係数α１、・・・、αｍと、前記環境変数の数ｍとを用いてスラック値の不足量を算出する。これにより、適切な不足量を容易に求めることができる。
【００４５】
または、判定部は、前記スラック関数Ｓにより定まるスラック値の超平面に対する法線ベクトルｖと、前記スラック値の変化方向（Ｓ軸）とのなす角θに基づいて前記タイミング判定を行うということもできる。
【００４６】
図７及び図８は、本発明の実施の形態１にかかる静的タイミング検証処理の流れを示すフローチャートである。尚、図７及び図８における温度コーナー条件２１、電圧コーナー条件２２、電圧コーナー条件２３、正規化温度コーナー条件２４、正規化電圧コーナー条件２５、正規化電圧コーナー条件２６、ｓｐｉｃｅ  ｍｏｄｅｌ２７、ネットリスト２８、感度付遅延ライブラリ２９、回路データ３０、回路データ３１及びスラック関数３２は、それぞれ、ＲＡＭ１２又はハードディスク１５内に確保された記憶領域に格納された各種データを示す。
【００４７】
まず、回路設計支援装置１０は、外部から環境変数の定義と、各環境変数についてのコーナー条件（最大値、最小値）の設定を受け付ける。例えば、環境変数を温度ｔと、２種類の電圧ｖ１及びｖ２との計３変数を用いるものとする。ここでは、温度ｔの最大値ｔｍａｘ、最小値ｔｍｉｎ、電圧ｖ１の最大値ｖ１ｍａｘ、最小値ｖ１ｍｉｎ、電圧ｖ２の最大値ｖ２ｍａｘ、最小値ｖ２ｍｉｎとする。
【００４８】
そして、回路設計支援装置１０は、受け付けた各コーナー条件を温度コーナー条件２１、電圧コーナー条件２２及び電圧コーナー条件２３としてハードディスク１５に格納する。ここで、温度コーナー条件２１、電圧コーナー条件２２及び電圧コーナー条件２３は、図６の環境変数１５２に対応するものとする。
【００４９】
尚、本発明の実施の形態１にかかる環境変数の種類及び数はこれに限定されず、少なくとも１以上の環境変数であればよい。そのため、環境変数の数をｍとした場合、各環境変数とそのコーナー条件を以下の式（１４）で表すものとする。
【数１４】
2012160099.tif 000016
【００５０】
ここで、回路設計支援装置１０は、環境変数の正規化を行う（Ｓ１１）。具体的には、回路設計支援装置１０は、ハードディスク１５から温度コーナー条件２１、電圧コーナー条件２２及び電圧コーナー条件２３を読み出し、以下の式（１５）により変数変換を行う。これにより、各環境変数のコーナー条件を［−１，１］にする。
【数１５】
2012160099.tif 000017
ここで、正規化後の環境変数をｚｉとする。
【００５１】
そして、回路設計支援装置１０は、変数変換により生成された正規化後の環境変数である正規化温度コーナー条件２４、正規化電圧コーナー条件２５、正規化電圧コーナー条件２６をハードディスク１５へ格納する。尚、正規化温度コーナー条件２４、正規化電圧コーナー条件２５、正規化電圧コーナー条件２６は、図６の環境変数１５２に追加されるか、ＲＡＭ１２内の記憶領域内に保持されても構わない。
【００５２】
続いて、回路設計支援装置１０は、正規化された環境変数を用いて、キャラクタライズにより感度付遅延ライブラリを算出する（Ｓ１２）。具体的には、回路設計支援装置１０は、ハードディスク１５から正規化された環境変数である正規化温度コーナー条件２４、正規化電圧コーナー条件２５、正規化電圧コーナー条件２６を読み出し、併せて、ｓｐｉｃｅ  ｍｏｄｅｌ２７及びネットリスト２８を読み出す。そして、回路設計支援装置１０は、キャラクタライズ処理により感度付遅延ライブラリを算出する。回路設計支援装置１０は、算出した感度付遅延ライブラリ２９をハードディスク１５へ格納する。ここで、ｓｐｉｃｅ  ｍｏｄｅｌ２７及びネットリスト２８は、図６のｓｐｉｃｅ  ｍｏｄｅｌ１５３及びネットリスト１５４に対応し、ハードディスク１５には予めこれらの値が格納済みであるものとする。また、感度付遅延ライブラリ２９は、図６の感度付遅延ライブラリ１５５に対応するものとする。尚、感度付遅延ライブラリのキャラクタライズ処理は、公知なものであるため詳細な説明を省略する。例えば、ＳＳＴＡ（Ｓｔａｔｉｓｔｉｃａｌ  Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）ツールを用いることができる。
【００５３】
そして、回路設計支援装置１０は、スラック関数を算出する（Ｓ１３）。具体的には、回路設計支援装置１０は、ハードディスク１５から正規化温度コーナー条件２４、正規化電圧コーナー条件２５、正規化電圧コーナー条件２６を読み出す。併せて、回路設計支援装置１０は、ハードディスク１５から感度付遅延ライブラリ２９、回路データ３０及び回路データ３１を読み出す。そして、回路設計支援装置１０は、上述した式（９）のように近似された一次関数としてスラック関数３２を算出する。その後、回路設計支援装置１０は、算出されたスラック関数３２をハードディスク１５へ格納する。尚、スラック関数３２は、ＲＡＭ１２に保持されても良い。尚、スラック関数の算出には、上述したＳＳＴＡツールの実行により出力されるパラメータの感度係数を用いることができる。
【００５４】
図８へ進み、回路設計支援装置１０は、スラックセンター値Ｓ０、感度係数αｉ、環境変数の数ｍを用いてタイミング判定を行う（Ｓ１４）。具体的には、回路設計支援装置１０は、ハードディスク１５又はＲＡＭ１２からスラック関数３２を読み出し、上述した式（１１）及び式（１３）の各項を算出し、式（１３）を満たすか否かを判定する。
【００５５】
尚、ステップＳ１４において、回路設計支援装置１０は、上述した式（１０）を用いて、なす角θを算出し、式（１３）を満たすか否かを判定してもよい。
【００５６】
また、タイミング違反でないと判定した場合（Ｓ１５でＮＯ）、静的タイミング検証処理を終了する。
【００５７】
タイミング違反であると判定した場合（Ｓ１５でＹＥＳ）、回路設計支援装置１０は、スラック値の不足分（不足量）を算出してレポート情報１５７として出力する（Ｓ１６）。具体的には、回路設計支援装置１０は、式（１６）を用いてスラック値の不足分を算出する。
【数１６】
2012160099.tif 000018
【００５８】
これにより、リペアが必要なスラック量を容易に求めることができる。その後、静的タイミング検証処理を終了する。また、スラック値の不足分に応じて適宜、回路の再設計を行う。
【００５９】
以上のことから、本発明の実施の形態１により、各々のコーナー条件（温度、電圧など）での静的タイミング解析が不要となり、１回の静的タイミング解析で全てのコーナー条件を保証することができる。また、その際のタイミング判定にスラック平面とＳ軸とのなす角を用いる。これにより、従来、タイミング判定に距離を用いていたことによる過剰なマージンを避けることができ、タイミング収束が容易になる。
【００６０】
また、なす角は、スラック関数の各環境変数の感度係数から容易に計算することができる。さらに、タイミング判定の際の計算結果からスラック値のリペア量を容易に求め、かつ、容易に知ることができる。
【００６１】
＜発明の実施の形態２＞
本発明の実施の形態２では、上述した実施の形態１に改良を加え、半導体集積回路の回路設計におけるプロセスバラツキを含めたタイミング検証に適用したものである。プロセスバラツキを含めたタイミング検証には、統計的静的タイミング解析（ＳＳＴＡ）の手法が用いられる。統計的静的タイミング解析では、プロセスバラツキを確率変数として扱う。そこで、以下では、確率変数が１変数である場合を例として説明する。尚、ここでは、環境変数は、式（７）及び式（８）により表現するものとする。
【００６２】
図９は、本発明の実施の形態２にかかるタイミング判定の原理を説明するための図である。このとき、スラック平面を表す一次関数を以下の式（１７）のように近似するものとする。
【数１７】
2012160099.tif 000019
ここで、βは感度係数、ｙはプロセスばらつきを表す平均ゼロ、かつ、標準偏差σの確率変数とする。この確率変数yに対する平均、標準偏差はそれぞれ、以下の式（１８）及び（１９）で表すことができる。
【数１８】
2012160099.tif 000020
【数１９】
2012160099.tif 000021
【００６３】
従って、プロセスばらつきに対する許容度ｎとし、ｎσのマージンをとる場合には、ｆ（ｚ）からｎβσを引いて以下の式（２０）を考えればよい。
【数２０】
2012160099.tif 000022
【００６４】
従って、コーナーでタイミングを満たす条件は、以下の式（２１）となる。
【数２１】
2012160099.tif 000023
【００６５】
すなわち、本発明の実施の形態２では、プロセスバラツキの許容度と、当該プロセスバラツキの確率変数とをさらに用いてタイミング判定を行うことを特徴とする。これにより、環境変数のコーナー条件の検証に加えて、製造プロセスバラツキの検証をさらに行うことができる。
【００６６】
＜その他の発明の実施の形態＞
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【００６７】
１０  回路設計支援装置
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１４  入出力部
１５  ハードディスク
１５１  回路設計支援プログラム
１５２  環境変数
１５３  ｓｐｉｃｅ  ｍｏｄｅｌ
１５４  ネットリスト
１５５  感度付遅延ライブラリ
１５６  回路データ
１５７  レポート情報
２１  温度コーナー条件
２２  電圧コーナー条件
２３  電圧コーナー条件
２４  正規化温度コーナー条件
２５  正規化電圧コーナー条件
２６  正規化電圧コーナー条件
２７  ｓｐｉｃｅ  ｍｏｄｅｌ
２８  ネットリスト
２９  感度付遅延ライブラリ
３０  回路データ
３１  回路データ
３２  スラック関数
ｖ  電源電圧
ｔ  温度
α  感度係数
β  感度係数
Ｓ  スラック値
Ｓ０  スラックセンター値
Ｓ'０  スラックセンター値
ｖｍａｘ  電源電圧ｖの最大値
ｖｍｉｎ  電源電圧ｖの最小値
ｔｍａｘ  温度ｔの最大値
ｔｍｉｎ  温度ｔの最小値
ｄ  距離
ｄ'  距離
ｎ  許容度
β  感度係数
ｙ  確率変数
σ  標準偏差
θ  なす角
θ'  角度
ｋ  距離
Ｃ１  コーナー値
Ｃ２  コーナー値
Ｃ３  コーナー値
Ｃ４  コーナー値
ＳＬ  線
Ｐ  交点
Ｏ  原点
【図１】
2012160099.tif 000024
【図２】
2012160099.tif 000025
【図３】
2012160099.tif 000026
【図４】
2012160099.tif 000027
【図５】
2012160099.tif 000028
【図６】
2012160099.tif 000029
【図７】
2012160099.tif 000030
【図８】
2012160099.tif 000031
【図９】
2012160099.tif 000032
【図１０】
2012160099.tif 000033
【図１１】
2012160099.tif 000034
【図１２】
2012160099.tif 000035