スタティック・タイミング・アナライザ(static timing analyzer)は,論理回路のタイミングを検証するためのツール。対象の回路が所望のクロック周波数で動作するかなど,タイミング仕様を満足するかどうかを調べるために使う。論理シミュレータのように検証パターンを使って回路を疑似動作させることがないので,スタティック(静的な)という言葉が最初に付いている。

論理合成を背景に急速に普及

 従来,スタティック・タイミング・アナライザは,論理シミュレータを補助するツールという位置付けだった。レベル・センシティブ・ラッチを含む回路や,複雑なクロック系の回路にはうまく適用できないなどの制約があるためだ。

 しかし,最近は状況が変わってきた。論理合成ツールが普及することで,こうした回路が減少した。さらに,論理合成ツール自体がスタティック・タイミング・アナライザを内蔵しており,ユーザーがこのツールに慣れてきた。さらに半導体製造技術が微細化し,タイミング問題が顕在化した。こうしたことなどを背景に,スタティック・タイミング・アナライザは急速に普及しつつある。

 例えば近い将来,スタティック・タイミング・アナライザとサイクル・ベース・シミュレータを組み合わせて,ASICのサイン・オフ(最終設計確認)が行われるとみられる。従来はサイン・オフ用のツールといえば,論理シミュレータだった。

ゲート・レベル論理回路などが対象

 スタティック・タイミング・アナライザの検証対象となるのは,ゲート・レベルの論理回路とトランジスタ・レベルの論理回路が多い。それぞれ,ANDゲートやORゲートなどで構成したネットリスト,トランジスタで構成したネットリストが,このツールへの入力となる。

 ゲート・レベルの回路を対象にした解析は,レイアウト設計前とレイアウト設計後の両方で行なう。レイアウト設計前には,予測配線長を基準に,レイアウト設計後ではバックアノテーションした実配線長を基準に解析する。一方,トランジスタ・レベルの解析は,レイアウト後に実行することが一般的である。

 スタティック・タイミング・アナライザによる解析は以下のように進む。まずネットリストが入力されると,各素子(論理ゲートまたはトランジスタ)の遅延時間情報と配線遅延時間情報をもとに,対象回路に相当するグラフ(注:グラフ理論のグラフ。棒グラフとか折れ線グラフではない)を作る。そして,このグラフから最大遅延時間のパスや最小遅延時間のパスなどを抽出して,所望のタイミング仕様に合致しているかどうかを調べる。

 グラフからパスを抽出することは,論理シミュレータでタイミング違反を見つける場合に比べて非常に高速である。最大(最小)遅延パスの抽出時間は,グラフのエッジ(素子と配線に対応)数とノード数に比例するため,回路が大規模化しても処理時間が爆発的に増大することはない。

意味のないパスも見つけてしまう

 ただし,スタティック・タイミング・アナライザは論理値を考慮した解析は行なわないため,実際のLSIでは活性化されないパス(これをフォールス・パスと呼ぶ)を抽出してしまうことがある。たとえば,ANDゲートの1つの入力が論理値“0”になっている場合,他の入力値が変化しても後段にはそれが伝わらない。ユーザーはフォールス・パスの問題に関しては,注意が必要である。フォールス・パスを取り除くために,論理シミュレータと連携させる機構を備えた製品もある。


(99. 9. 6更新)

このEDA用語辞典は,日経エレクトロニクス,1996年10月14日号,no.673に掲載した「EDAツール辞典(NEC著)」を改訂・増補したものです。