Synopsys
Ansys

スタティックタイミング解析 (STA)とは何ですか?

ルーベン・モリーナ

2020年3月17日 / 読了時間:6分

定義

スタティックタイミング解析 (STA) は、タイミング違反の可能性があるすべてのパスをチェックすることで、設計のタイミング性能を検証する手法です。STA では、設計をタイミングパスに分解し、各パスに沿った信号伝搬遅延を計算した上で、設計内部および入出力インターフェースにおけるタイミング制約の違反の有無を確認します。

タイミング解析を行うもう1つの方法は、動的シミュレーションを使用することです。これは、与えられた一連の入力刺激ベクトルに対して、回路の挙動全体を判定するものです。動的シミュレーションと比較して、スタティックタイミング解析 (STA)は、回路の論理演算をシミュレートする必要がないため、はるかに高速です。また、STAは、一連のテストベクトルによって感応される論理条件だけでなく、すべてのタイミングパスをチェックするため、より徹底した解析が可能です。ただし、STAでは回路設計のタイミングのみをチェックでき、機能性はチェックできません。

STAはどのように機能するのでしょうか?

タイミング解析を行う際、STAはまず設計をタイミングパスに分解します。各タイミングパスは、以下の要素で構成されています:

  • 開始点:クロックのエッジによってデータが送信される、あるいは特定の時刻にデータが利用可能でなければならないタイミングパスの開始点。すべての開始点は、入力ポートまたはレジスタのクロックピンのいずれかでなければなりません。
  • 組み合わせ論理回路:メモリや内部状態を持たない素子。組み合わせ論理回路には、AND、OR、XOR、および反転素子を含めることができますが、フリップフロップ、ラッチ、レジスタ、RAMを含めることはできません。
  • エンドポイント:タイミングパスの終端であり、クロックのエッジによってデータが取得される箇所、または特定の時刻にデータが利用可能でなければならない箇所を指します。すべてのエンドポイントは、レジスタのデータ入力ピン、または出力ポートのいずれかでなければなりません。

次の図は、簡単な設計例におけるタイミングパスを示しています:

タイミングパス | シノプシス

次の図に示すように、組み合わせ論理のクラウドには複数の経路が含まれる場合があります。STAでは、最長経路を用いて最大遅延を計算し、最短経路を用いて最小遅延を計算します。

結合論理における複数の経路 | シノプシス

STAでは、タイミング解析において以下の種類のパスも考慮します:

  • クロックパス:クロック入力ポートまたはセルピンから、1つ以上のバッファまたはインバータを経由して、シーケンシャル素子のクロックピンに至る経路。データセットアップおよびホールドのチェックに使用される。
  • クロックゲーティング経路:入力ポートからクロックゲーティング素子に至る経路。クロックゲーティングのセットアップ時間およびホールド時間のチェックに使用される。
  • 非同期パス:入力ポートから、シーケンシャル要素の非同期セットまたはクリアピンへと続くパス。回復および除去チェックのために用いられる。
タイミング解析の対象となるパスの種類 | シノプシス

設計を一連のタイミングパスに分解した後、STAツールは各パスに沿った遅延を計算します。パスの総遅延は、そのパスに含まれるすべてのセル遅延およびネット遅延の合計となります。

セル遅延とは、パス内の論理ゲートにおいて、入力から出力までの遅延時間のことです。SDFファイルからのバックアノテーションによる遅延情報が存在しない場合、ツールは、そのセル用のロジックライブラリに用意されている遅延テーブルに基づいてセル遅延を計算します。

通常、遅延テーブルには、入力の遷移時間や出力の負荷容量など、1つまたは複数の変数に対する遅延時間が記載されています。ツールは、このテーブルの項目に基づいて、各セルの遅延時間を算出します。

ネット遅延とは、タイミングパスにおいて、あるセルの出力から次のセルの入力までの遅延量のことです。この遅延は、2つのセル間の配線による寄生容量に加え、ネット抵抗およびネットを駆動するセルの駆動力の限界によって生じます。

次に、STAはセットアップ制約やホールド制約などのタイミング制約の違反がないかチェックします:

  • セットアップ制約は、シーケンシャルデバイスの入力でデータが利用可能になるまでに、そのデバイス内でデータをキャプチャするクロックエッジの前に必要な時間を指定するものです。この制約により、クロックエッジに対するデータパスの最大遅延が保証されます。
  • ホールド制約は、デバイス内でデータをキャプチャするクロックエッジの後、シーケンシャルデバイスの入力においてデータが安定するまでに必要な時間を指定するものです。この制約は、クロックエッジに対するデータパスの最小遅延を保証します。

次の例は、STAがフリップフロップのセット制約およびホールド制約をどのようにチェックするかを示しています:

セットアップおよびホールドチェック | シノプシス

この例では、ロジックライブラリにおいて、フリップフロップの最小セットアップ時間が 1.0 時間単位、最小ホールド時間が 0.0 時間単位と定義されているものと仮定します。クロック周期は、ツール内で 10 時間単位と定義されています。時間単位のサイズ(ns や ps など)は、ロジックライブラリで指定されます。

デフォルトでは、このツールは、信号が各データパスを1クロックサイクルで伝播すると仮定します。したがって、ツールがセットアップチェックを実行する際には、FF1から送信されたデータが1クロックサイクル以内にFF2に到達し、かつFF2で次のクロックエッジによってデータがキャプチャされる少なくとも1.0タイムユニット前に到着することを検証します。データパスの遅延が長すぎる場合、タイミング違反として報告されます。 このセットアップチェックにおいて、ツールはデータパス上の最大遅延と、FF1とFF2間のクロックパス上の最小遅延を考慮します。

ツールがホールドチェックを実行する際、FF1から送信されたデータが、直前のクロックサイクルのキャプチャクロックエッジより早くFF2に到達しないことを検証します。このチェックにより、FF2の入力にすでに存在しているデータが、直前のサイクルのデータをキャプチャするクロックエッジの後も、十分な時間安定した状態を維持されることが保証されます。 このホールドチェックにおいて、ツールはFF1とFF2間のデータパスにおける最短の遅延と、クロックパスにおける最長の遅延を考慮します。クロックパスに長い遅延がある場合、ホールド違反が発生する可能性があります。

STAツールが想定するデフォルトのセットアップおよびホールド動作に従って動作させない特定のパスがある場合は、それらのパスをタイミング例外として指定する必要があります。そうしないと、ツールが誤ってそれらのパスにタイミング違反があると報告してしまう可能性があります。

STAツールでは、次のような種類の例外を指定できる場合があります:

  • 偽パス:論理構成、想定されるデータシーケンス、または動作モードのせいで、決してセンサ化されないパス。
  • マルチサイクルパス:起動からキャプチャまで1クロックサイクル以上を要するよう設計されたパス。
  • 最小遅延パスまたは最大遅延パス:時間値として明示的に指定した遅延制約を満たす必要があるパス。

STAソリューションを シノプシス STAソリューションを提供していますか?

シノプシス' PrimeTime スタティックタイミング解析 ツールは、タイミング、シグナル・インテグリティ 、消費電力、および変動を考慮した解析のための、単一で信頼性の高い標準的な検証ソリューションを提供します。この シノプシス PrimeTime このスイートには以下が含まれます:

  • PrimeTime
  • PrimeTime SI
  • PrimeTime ADV
  • PrimeTime PX

HSPICE®と同等の精度を持つサインオフ解析機能を提供し、テープアウト前に問題を特定することで、スケジュール上のリスクを低減し、設計の整合性を確保し、設計コストを削減します。

この業界のゴールドスタンダードとなるソリューションは、規模の大小を問わずあらゆる設計において開発スケジュールを迅速に遂行することでチームの生産性を向上させるとともに、予測可能性の向上と最高水準の精度により、初回試作での成功を確実にします。

続きを読む

Ask BETA This experience is in beta mode. Please double check responses for accuracy.

チャットを終了する

このウィンドウを閉じると、チャット履歴が消去され、セッションが終了します。本当に このチャットを終了してもよろしいですか?