タイミング・アナライザーのクロック分析

author-image

投稿者:

包括的なスタティック・タイミング分析には、レジスター間パス、I/O パス、およびアシンクロナス・リセット・パスの分析が含まれます。タイミング・アナライザーは、データ所要時間、データ到達時間、クロック到達時間を使って、回路のパフォーマンスを検証し、タイミング違反の可能性を検出します。タイミング・アナライザーは、デザインが正しく機能するために満たす必要があるタイミング関係を判定し、到達時間を所要時間と照合してタイミングを検証します。

クロック・セットアップ・チェック

クロック・セットアップ・チェックを実行するために、タイミング・アナライザーは、それぞれのレジスター間パスの各ローンチエッジとラッチエッジを解析することで、セットアップ関係を判定します。デスティネーション・レジスターの各ラッチエッジに対して、タイミング・アナライザーはソースレジスターの最も近い前のクロックエッジをローンチエッジとして使用します。

図 1 では,2 つのセットアップ関係が定義されており、セットアップ A とセットアップ B というラベルが付けられています。ラッチエッジが 10ns の場合、ローンチエッジとして機能する最も近いクロックは 3ns で、セットアップ A のラベルが付けられています。ラッチエッジが 20ns の場合、ローンチエッジとして機能する最も近いクロックは 19ns で、セットアップ B のラベルが付けられています。

図 1.セットアップ・チェック。

タイミング・アナライザーは、クロック・セットアップ・チェックの結果をスラック値としてレポートします。スラックとは、タイミング要件を満たすかどうかを決定するマージンのことを指します。正のスラックは要件を満たすマージンを、負のスラックは要件を満たさないマージンを示します。タイミング・アナライザーは、内部レジスタ間パスのクロック・セットアップ・スラックを式 1 のように決定します。

式 1

クロック・セットアップ・スラック = データ所要時間 – データ到達時間

データ所要時間 = クロック到達時間 – μtSU – セットアップ不確実性

クロック到達時間 = ラッチエッジ + デスティネーション・レジスターへのクロック・ネットワーク遅延

データ到達時間 = ローンチエッジ + クロック・ネットワーク遅延ソースレジスター + μtCO + レジスター間遅延

データパスが入力ポートから内部レジスターまでの場合、タイミング・アナライザーは式 2 に示す式を使用してセットアップ・スラック時間を計算します。

式 2

クロック・セットアップ・スラック時間 = データ所要時間 – データ到達時間

データ到達時間 = ローンチエッジ + ソースレジスターへのクロック・ネットワーク遅延 + ピンの入力最大遅延 + ピンからレジスターへの遅延

データ所要時間 = ラッチエッジ + デスティネーション・レジスターへのクロック・ネットワーク遅延 – μtSU

データパスが内部レジスターから出力ポートまでの場合、タイミング・アナライザーは式 3 に示す式を使用してセットアップ・スラック時間を計算します。

式 3

クロック・セットアップ・スラック時間 = データ所要時間 – データ到達時間

データ到達時間 = ローンチエッジ + ソースレジスターへのクロック・ネットワーク遅延 + μtCO + レジスターからピンへの遅延

データ所要時間 = ラッチエッジ + デスティネーション・レジスターへのクロック・ネットワーク遅延 – ピンの出力最大遅延

クロック・ホールド・チェック

クロック・ホールド・チェックを行うために、タイミング・アナライザーは、すべてのソースおよびデスティネーション・レジスター・ペアに存在する可能性のあるセットアップ関係ごとに、ホールド関係を判定します。タイミング・アナライザーは、すべてのセットアップ関係からの隣接するクロックエッジをすべてチェックし、ホールド関係を判定します。タイミング・アナライザーでは、セットアップ関係ごとに 2 回のホールドチェックを行います。まず最初のホールドチェックで、現在のローンチエッジからローンチされるデータが前のラッチエッジによってキャプチャーされていないことを確認します。2番目のホールドチェックで、次のローンチエッジからローンチされたデータが現在のラッチエッジでキャプチャーされていないことを確認します。

図 2 に、セットアップ A とセットアップ B のラベルが付けられた 2 つのセットアップ関係を示します。最初のホールドチェックは、セットアップ A ではホールドチェック A1、セットアップ Bではホールドチェック B1 のラベルが付けられます。2 番目のホールドチェックは、セットアップ A ではホールドチェック A2、セットアップ B ではホールドチェック B2 のラベルが付けられます。

図 2.ホールドチェック。

起こりうるすべてのホールド関係の中から、タイミング・アナライザーは最も制限のあるホールド関係を選択します。ラッチエッジとローンチエッジの差が最小となるホールド関係(つまり、ラッチ-ローンチであり、ラッチ-ローンチの絶対値ではない) が選択されるのは、これがレジスター間パスの最小許容遅延を決定するからです。図 2 の場合、選択されているホールド関係はホールドチェック A2 です。タイミング・アナライザーは、クロック・ホールド・スラックを式 4 のように決定します。

式 4

クロック・ホールド・スラック = データ到達時間 – データ所要時間

データ所要時間 = クロック到達時間 +μtH + ホールド不確実性

クロック到達時間 = ラッチエッジ + デスティネーション・レジスターへのクロック・ネットワーク遅延

データ到達時間 = ローンチエッジ + ソースレジスターへのクロック・ネットワーク遅延 +μtCO+ レジスター間遅延

データパスが入力ポートから内部レジスターまでの場合、タイミング・アナライザーは式 5 に示す式を使用してホールドスラック時間を計算します。

式 5

クロック・セットアップ・スラック時間 = データ到達時間 – データ所要時間

データ到達時間 = ローンチエッジ + ソースレジスターへのクロック・ネットワーク遅延 + ピンの入力最小遅延 + ピンからレジスターへの遅延

データ所要時間 = ラッチエッジ + デスティネーション・レジスターへのクロック・ネットワーク遅延 + μtH

データパスが内部レジスターから出力ポートまでの場合、タイミング・アナライザーは式 6 に示す式を使用してホールドスラック時間を計算します。

式 6

クロック・セットアップ・スラック時間 = データ到達時間 – データ所要時間

データ到達時間 = ローンチエッジ + ソースレジスターへのクロック・ネットワーク遅延 + μtCO + レジスターからピンへの遅延

データ所要時間 = ラッチエッジ + デスティネーション・レジスターへのクロック・ネットワーク遅延 – ピンの出力最小遅延

リカバリーとリムーバル

リカバリー時間とは、プリセットなどのアシンクロナス制御信号が、次のアクティブなクロックエッジの前に安定していなければならない最小時間長のことです。リカバリースラック時間の計算は、クロック・セットアップ・スラック時間の計算と似ていますが、アシンクロナス制御信号を適用する点が異なります。アシンクロナス制御が登録されている場合、タイミング・アナライザーは式 7 を使用してリカバリースラック時間を計算します。

式 7

リカバリースラック時間 = データ所要時間 – データ到達時間

データ到達時間 = ローンチエッジ + ソースレジスターへのクロック・ネットワーク遅延 + μtCO+ レジスター間遅延

データ所要時間 = ラッチエッジ + デスティネーション・レジスターへのクロック・ネットワーク遅延 – μtSU

アシンクロナス制御が登録されていない場合、タイミング・アナライザーは式 8 に示す式を使用してリカバリースラック時間を計算します。

式 8

リカバリースラック時間 = データ所要時間 – データ到達時間

データ到達時間 = ローンチエッジ + 最大入力遅延 + ポートからレジスターへの遅延

データ所要時間 = ラッチエッジ + クロック・ネットワーク遅延からデスティネーション・レジスター遅延 – μtSU

注: アシンクロナス・リセット信号がポート (デバイス I/O) からのものである場合、タイミング・アナライザーがそのパスのリカバリー分析を行うためには、アシンクロナス・リセット・ピンに入力最大遅延を割り当てる必要があります。

リムーバル時間とは、アシンクロナス制御信号がアクティブなクロックエッジの後に安定していなければならない最小時間長のことです。タイミング・アナライザーのリムーバル時間スラックの計算は、クロック・ホールド・スラックの計算と似ていますが、アシンクロナス制御信号を適用する点が異なります。アシンクロナス制御が登録されている場合、タイミング・アナライザーは式 9 に示す式を使用してリムーバルスラック時間を計算します。

式 9

リムーバルスラック時間 = データ到達

時間 – データ所要時間

データ到達時間 = ローンチエッジ + ソースレジスターへのクロック・ネットワーク遅延 + ソースレジスターの μtCO + レジスター間遅延

データ所要時間 = ラッチエッジ + デスティネーション・レジスターへのクロック・ネットワーク遅延 + μtH

アシンクロナス制御が登録されていない場合、タイミング・アナライザーは式 10 に示す式を使用してリムーバルスラック時間を計算します。

式 10

リムーバルスラック時間 = データ到達時間 – データ所要時間

データ到達時間 = ローンチエッジ + ピンの入力最小遅延 + ピンからレジスターへの最小遅延

データ所要時間 = ラッチエッジ + デスティネーション・レジスターへのクロック・ネットワーク遅延 +μtH

注: アシンクロナス・リセット信号がデバイスピンからのものである場合、タイミング・アナライザーがこのパスでリムーバル分析を行うためには、アシンクロナス・リセット・ピンに入力最小遅延制約を指定する必要があります。

マルチサイクル・パス

マルチサイクル・パスとは、デスティネーション・レジスターでデータをラッチするために2つ以上のクロックサイクルを必要とするデータパスのことです。例えば、1個のレジスターで、2番目または3番目の立ち上がりエッジごとにデータをキャプチャーすることが必要な場合があります。

図 3 に、マルチプライヤーの入力レジスターと、デスティネーションが 1 つおきのクロック・エッジでデータをラッチする出力レジスターとの間のマルチサイクル・パスの例を示します。set_multicycle_path コマンドについては、タイミング・アナライザーの set_multicycle_path コマンドを参照してください。

図 3.マルチサイクル・パス。

以降のページでは、クロックやクロックの特性を記述する SDC コマンドの情報を提供します。