宇宙誕生の少し前から宇宙終焉の少し先までを数で表す論文

この宇宙を数で表すことは出来るのか。

第3-8節 タイミング設計と制約(STA)

3-8 タイミング設計と制約(STA)

FPGA設計では、
正しい論理を作ることと同じくらい
正しいタイミングで動作すること
が重要です。

このタイミングの正当性を確認するために用いられるのが
STA(Static Timing Analysis:静的タイミング解析)
です。

なぜタイミング設計が必要なのか

FPGA内部では、
LUT・配線・FF のすべてに
伝搬遅延
が存在します。

クロックが速すぎると、

  • 信号が安定する前に次のクロックが来る
  • 誤ったデータをFFが取り込む

といった問題が発生します。

クロック制約の基本

設計者は、
FPGAツールに対して
「この回路は何MHzで動かしたいか」
を制約として与えます。

代表的な制約には以下があります。

  • クロック周期(create_clock)
  • 入力遅延(input delay)
  • 出力遅延(output delay)

これらは、
外部回路との関係
を明確にするために不可欠です。

セットアップタイムとホールドタイム

FFが正しく動作するためには、

  • セットアップタイム:クロック前に安定している時間
  • ホールドタイム:クロック後も保持される時間

を満たす必要があります。

STAでは、
すべての信号経路について
これらの条件が満たされているかを
実行前に解析
します。

CPUとの設計思想の違い

CPUでは、
クロックやパイプライン構造は
ハードウェア側で固定
されています。

FPGAでは、
設計者がタイミング責任を負う
という点が大きく異なります。

これは難しさでもありますが、
性能を最大限に引き出せる自由度
でもあります。