改訂版EDA用語辞典とは・著者一覧

 SSTAはstatistical static timing analysisの略で,統計的なバラつきを考慮できるようにSTA(static timing analysis)を拡張したタイミング検証の手法である。動作タイミングの平均値とバラつきを解析する。STAでは「簡易的だったOCV(on chip variation)を高精度に取り扱える」,「チップの特性歩留まりを計算できる」,という特徴がある。

微細化でバラつき解析が重要に

 半導体製造プロセスの微細化に伴い,バラつき解析の重要性が増している。バラつき(確率分布)は,平均(mean)と標準偏差(σ)で表される。標準偏差の3倍を「3σ」と呼び,バラつき量が3σであっても,動作するように設計することが一般的である(必然ではなく,他の目標値で設計されることもある)。

 バラつきの分布形状に関しては,正規分布近似が使われることが多い。その場合,3σで動作する確率は99.865%となる。つまり,正規分布近似が成立する系であれば,バラつき量が3σであっても動作するように設計すると,バラつきに関しては,99.865%の確率で良品が取れることを意味している。

 逆に言えば,0.135%(=100%-99.865%)の確率でバラつきの問題で動作しない。チップが動作しない原因には,異物による製造不良など他の要因も存在するため,バラつきの問題に起因した良品の収率を,特性歩留まりと呼ぶ。

 正規分布近似が成立しない系では,3σのバラつきをカバーするように設計したとしても,特性歩留まりが99.865%となるわけではない。このため,具体的な特性歩留まりを目標値として設計する場合もある。

相関の強さで結果が異なる

 バラつきを含めた解析では,相関を適切に考慮することが重要になる。相関の強さで,解析結果が異なるからである。例えば,回路Aが平均値100ps,標準偏差20ps,回路Bが平均値200ps,標準偏差30psの正規分布バラつきを持つ場合,回路A+回路Bの遅延バラつきを考えてみる(図1)。結果は回路Aと回路Bの遅延の相関によって異なる。

【図1 相関によるバラつきの違い】二つのセルからなるパスの遅延のバラつきは,セル間の相関によって変わる。出典はルネサス テクノロジ。
【図1 相関によるバラつきの違い】二つのセルからなるパスの遅延のバラつきは,セル間の相関によって変わる。出典はルネサス テクノロジ。 (画像のクリックで拡大)

 一般に相関は,-1~1の範囲で値を取る,相関係数で表す。1に近いほど正の相関が強く,-1に近いほど負の相関が強い。0のときは互いに無相関(ランダム)である。

 回路A+回路Bの平均遅延は両者の平均遅延の和となる。バラつきは,相関が1の場合50ps(標準偏差の和),相関が0の場合は36ps(標準偏差の2乗和の平方根)となり,相関により値が異なる。3σのバラつきをカバーするのは,相関が1の場合は450ps(=300ps+3×50ps)で,相関が0の場合は408ps(=300ps+3×36ps)となり,やはり異なる。

 なおSTAでは,回路Aの3σカバーである遅延(160ps)と回路Bの3σカバーである遅延(290ps)の単純な加算で得た値(450ps)で,タイミングを検証する。STAでは相関を正しく考慮できないため,悲観的にタイミングを見積もる傾向にある。

 相関係数が0のランダム・バラつきの場合,その傾向が顕著になる。プロセスの微細化に伴い,OCVに代表されるランダム・バラつきが増大しており,悲観的な解析をしがちなSTAではタイミング収束が困難となり,統計的な相関を考慮したSSTAが登場してきた。

代表的なアルゴリズムは二つ

 SSTA用のライブラリには,STAのライブラリ情報に加えて,バラつきに関連した情報が含まれる。後者は,SPICEパラメータ(例えば,ゲート長L,ゲート幅W,しきい電圧Vth,酸化膜厚Toxなど)が中央値(nominal)から一定量バラついた場合に,ライブラリ(遅延,スルー,ピン容量など)に発生する変動量として定義されている。

 この情報を用いてSSTAは,バラつきを考慮したタイミング検証を実行する。主な解析手法は,センシティビティ手法とサンプリング手法の二つである(図2)。センシティビティ手法では,与えられたプロセス・パラメータのバラつきを,遅延のバラつきへ線形変換する。得られた遅延のバラつきを統計学的に加算し,回路全体のバラつきを計算する。

【図2 SSTAのアルゴリズム】センシティビティを使う手法とサンプリングを行う手法がある。出典はルネサス テクノロジ。
【図2 SSTAのアルゴリズム】センシティビティを使う手法とサンプリングを行う手法がある。出典はルネサス テクノロジ。 (画像のクリックで拡大)

 一方サンプリング手法では,与えられたプロセス・パラメータがバラついた状態を複数個作る。作った各バラつきを1試行として,STAを実行する。STAの実行結果群から,回路全体のバラつきを推定する。

 どちらの手法でもタイミング検証結果として,平均値,標準偏差,目標とする特性歩留まりとなるタイミングがレポートされる。

SSTAに固有のMax/Min演算

 回路中に無相関なクリチカル・パスが複数存在する場合を考える(図3)。このとき,各パス単位で特性歩留まりが保障されただけでは,チップ全体の特性歩留まりは保障されない。チップ全体の歩留まりが保障されるには,全部のパス(つまり複数存在するクリチカル・パスのうち,バラついた結果として最も遅いパス)が動作することが必要である。このように複数のパスについて最も遅い(最も速い)パスの分布を求める演算をMax演算(Min演算)と呼ぶ。パス単位での検証しか行わないSTAには存在しない概念である。

【図3 回路中に無相関なクリチカル・パスが複数存在したときの分布】分布の形状は,最も遅いパスで決まる。例えば,この図でパス個別には,パス遅延=2000ps,バラつき=72.9ps(@3s)だったとする。このとき,チップの動作周期は,2000+72.9=2072.9psとはならない。バラついた結果,遅い方が遅延を決めるためである。正しい遅延を求めるのに必要なのがMax演算。出典はルネサス テクノロジ。
【図3 回路中に無相関なクリチカル・パスが複数存在したときの分布】分布の形状は,最も遅いパスで決まる。例えば,この図でパス個別には,パス遅延=2000ps,バラつき=72.9ps(@3s)だったとする。このとき,チップの動作周期は,2000+72.9=2072.9psとはならない。バラついた結果,遅い方が遅延を決めるためである。正しい遅延を求めるのに必要なのがMax演算。出典はルネサス テクノロジ。 (画像のクリックで拡大)

 一般にMax演算を行うと,その元となる各パスの分布に比べて,平均値が増大し,標準偏差が減少する。また元の分布が正規分布でも, Max演算後の分布は正規分布にならないことが知られている。