こんにちは、マス男です。

今週から “タイミング解析” について連載していきます。新人研修で最も難しかったのが、タイミング解析の講義でした。本コラムを通して、タイミング解析の講義資料やノートをまとめ、つまずいた点をご紹介したいと思います。

 

本日は SDC コマンドについて。こちらは TimeQuest の SDC 記述の例です。

様々な SDC 記述がありますが、本コラムでは新人研修でピックアップされた SDC 記述をご紹介したいと思います。

クロック制約

表1.クロック制約の SDC コマンド一覧. 

コマンド

内容

create_clock クロックピンから供給されるクロック周波数を定義。
create_generated_clock 内部ロジック/ PLL から供給されるクロック周波数を定義。
derive_pll_clocks 内部 PLL から供給されるクロック周波数を定義。 PLL 全ての出力を制約できる便利なコマンド。
set_clock_uncertainty クロックの立ち上がり/下がり時間のばらつきを定義。ユーザ自身が基板に即した制約ができる。
derive_clock_uncertainty クロックの立ち上がり/下がり時間のばらつきを定義。アルテラが用意したばらつきモデル。
set_clock_latency 外部デバイスと FPGA 間のクロック遅延時間を定義。

 

各コマンドによるクロック制約の様子を 図1 でイメージしました。

図1.クロック制約のイメージ

I/O 制約

表2.I/O 制約の SDC コマンド一覧.

コマンド

内容

set_input_delay 入力信号の遅延時間を定義。
set_output_delay 出力信号の遅延時間を定義。
set_false_path 指定したパスをタイミング解析から除外する。非同期パス(リセット/クリア信号)等に使用。
set_multicycle_path セットアップ/ホールドのそれぞれについて、任意のクロックエッジでの解析を定義。

 

各コマンドによる I/O 制約の様子を 図2 でイメージしました。

図2. I/O制約のイメージ

 

 

このように、TimeQuest Timing Analyzer は外部デバイスと FPGA の関係も考慮して解析します。 FPGA で Close するのではなく、基板全体のタイミング解析をしているのです!

まとめ

  • TimeQuest Timing Analyzer は基板全体のタイミングを解析している。