こんにちは、マス男です。
“タイミング解析シリーズ” の第4回です。
新人研修で最も難しかったのが、タイミング解析の講義でした。本コラムでは、タイミング解析の講義資料やノートをまとめ、つまずいた点をご紹介したいと思います。
TimeQuest Timing Analyzer の解析結果は“スラック値”で表現されます。この意味についてご紹介いたします!
スラック値がマイナスだとタイミング・エラー
図1は、タイミング解析の結果です。TimeQuest Timing Analyzer では、スラック値の正負によって、タイミング制約を満たすかどうかを判断します。
図1.タイミング解析レポートの一部
マス男の頭の中は、 “スラック値?がマイナスのときタイミング・エラー????” でした。スラック値を理解することがとても難しかったです。下記4つのパラメータを理解することで、スラック値を理解できました。
・データ到着時間 ( Data Arrival )
・クロック到着時間 ( Clock Arrival )
・セットアップのデータ要求時間 ( Setup Data Required )
・ホールドのデータ要求時間 ( Hold Data Required )
スラック値に関する4つのパラメータについて
スラック値を理解する為に、4つのパラメータをおさえました。
データ到着時間( Data Arrival )
受信レジスタの D 入力にデータが到達するまでの時間。
図2より、(式1)を導くことができます。
図2.データ到着時間の概略図
クロック到着時間 ( Clock Arrival )
受信側レジスタのクロック入力にクロックが到着する時間。
図3より、(式2)を導くことができます。
図3.クロック到着時間の概略図
セットアップのデータ要求時間 ( Setup Data Required )
受信側レジスタが正しくデータを受け取るためには、この時間内に信号が到着する必要があります。
図4より、(式3)を導くことができます。
図4.セットアップデータ要求時間の概略図
ホールドのデータ要求時間 ( Hold Data Required )
受信側レジスタが正しくデータを受け取るためには、この時間以降に信号が到着する必要があります。これより早いと、前サイクルのデータに干渉します。
図5より、(式4)を導くことができます。
図5.セットアップデータ要求時間の概略図
スラック値の定義式
動作周波数( Fmax )の定義式と上記4つのパラメータからスラック値を理解することができました。動作周波数( Fmax )の定義式については 『タイミング解析シリーズ1 タイミング解析の概念』 を参照下さい。
◆セットアップ・スラック
セットアップ・スラックとはセットアップのデータ要求時間が満たされるタイミング・マージン。ラッチを満たすためにデータがその時間内に到着することを保証します。
セットアップ・スラック = セットアップのデータ要求時間 - データ到着時間
ここで、(式1)(式4)を代入
= (クロック到着時間 - Tsu )-( 送信エッジ + TCLK1 + μTco + TdataDelay )
ここで、(式2)を代入
=(受信エッジ + TCLK2 - Tsu )-( 送信エッジ + TCLK1 + μTco + TdataDelay )
= (受信エッジ - 送信エッジ) + TdataDelay +(TCLK2-TCLK1)- Tsu - μTco
ここで、(式5)を代入
= 1クロック・サイクル - 1/Fmax
※1クロック・サイクルは希望の動作周波数。1/Fmax は動作周波数の計算結果。
◆ホールド・スラック
ホールド・スラックとはホールドのデータ要求時間が満たされるタイミング・マージン。ラッチデータが別の立ち上がりエッジからのデータによって干渉されないことを保証します。また、データの突き抜けを防ぐことにもなります。
ホールド・スラック = データ到着時間 - ホールドのデータ要求時間
= 1クロック・サイクル - 1/Fmax
※1クロック・サイクルは希望の動作周波数。1/Fmax は動作周波数の計算結果。
したがって、
(式6)より、スラック値とは“実現したい動作周波数”と“実際のユーザー・デザインでの実現性を計算した動作周波数”の差分となっていました。
つまり、スラック値とは“理想”と“現実”の動作周波数のギャップなんですね~。
マス男も日々、理想と現実のギャップに直面し、奮闘しております。理想に一歩でも近づけるよう、日々精進しております!!
まとめ |
---|
|