図1
統計的静的遅延解析。遅延ばらつきを統計量として解析するSTA手法である。例えば,図1の回路でのタイミング制約を考える。従来のSTA手法だと,遅延の最大値(max),最小値(min)をとるので
となる。これまではこの方法で十分だったが,最近になってばらつきが増大するにつれ,遅延のmax,minをとるだけだと過剰なマージンが必要になり,タイミング制約の厳しい回路の設計が困難になってきた。
これに対してSSTAでは,各素子の遅延ばらつきを統計量として扱い,タイミング計算を回路グラフ上での統計計算として行う。
結果としてパス遅延値やタイミング(slack)が,ある分布(分布関数)を持った統計量として得られる(図2)。このタイミング分布に対してタイミング制約を課すことが考えられる。また,最終的にすべてのslackのJPDF(同時密度関数)を求めることによりパラメトリック・イールドを計算することができる。
SSTAによってタイミング制約が緩和されると期待される要因は,各素子のランダムばらつきを確率変数とみなして統計的に扱うことによってパス遅延のコーナーが緩和されると考えられることにある。
実際,遅延値がN(3,1)に従うセルが3段直列に接続している場合(図3),以下のようになる。
↓
従来STAのパスの3σコーナー = 9 ± 3×3
統計計算によるパス(~N(9,3))の3σ = 9 ± 3√3
距離依存ばらつき(空間相関)やパス遅延相関などの相関については別途,特別な扱いが必要になることがある。回路グラフの扱い方の違いにより,SSTAアルゴリズムはパス・ベースト・アルゴリズム(Path-based)とブロック・ベースト・アルゴリズム(Block-based)の2つに分けられる。いずれのアルゴリズムでも,遅延の基本的演算は確率変数のSUM演算,MAX演算,MIN演算である。
SSTAの解析フローはおよそ3つのステップから構成される。
- ライブラリ作成
通常のセル遅延ライブラリを「キャラクタライズ」するのに加え,指定されたばらつきを変数とする遅延ばらつきモデルの係数を算出し,遅延ばらつきライブラリを作成する。 配線RC(抵抗・容量)の抽出も,配線の形状ばらつきを考慮して行われる。 - 統計的遅延計算
セル遅延,遅延ばらつき情報に配線情報や環境条件を加え,ばらつきを考慮したステージの遅延計算を行う。 - 統計的タイミング解析
統計的遅延計算結果からばらつき量を考慮して統計的にパス遅延計算,タイミング解析を行う。空間相関などの相関も考慮される。この部分を特にSSTA(狭義)と呼ぶこともある。また最適化,リペアのためにクリティカリティ(criticality),センシティビティ(sensitivity)などの情報も算出される。