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

今週から “タイミング解析” について連載していきます。

新人研修で最も難しかったのが、タイミング解析の講義でした。

 

本コラムでは、タイミング解析の講義資料やノートをまとめ、つまずいた点をご紹介したいと思います。

本日は SDC ファイルについてです。

 

タイミング解析とは

タイミング解析とは、ある動作周波数において、 FPGA が正確に動作するかを検証することです。

詳しくは 『 タイミング解析の概念 』  をご覧ください。

タイミング解析をするには SDC ファイルが必要

タイミング解析の研修で、難しいと思ったのが、 SDC ( Synopsys Design Constraints )記述でした。

シノプシス・デザイン制約ファイルってなんだろう?

 

SDC ファイルとは ASIC 業界におけるタイミング制約の標準フォーマットで、 FPGA 業界でも取り入れられた背景があります。

タイミング解析するには SDC ファイルが必要となります。まずは SDC ファイルの新規作成方法をご紹介します。

1. デザインをコンパイル後、TimeQuest Timing Analyzer を起動

Quartus® II 画面

2. Netlist の生成

Netlist > Create Timing Netlist … をクリック。

TimeQuest Timing Analyzer 画面

Create Timing Netlist にて OK をクリックし、 Netlist 生成完了。

Create Timing Netlist 画面

3. SDC ファイルの作成

File > New SDC File をクリック。

テキストベースで SDC 制約を記述します。

SDC ファイルの画面

SDC ファイルには何を記述するの?

下記 URL は SDC 記述の例です。

TimeQuest での SDC 記述例

簡単にまとめると、

 

     ・動作周波数を記述

     ・入出力 I/O は基板の遅延情報など FPGA 外部のタイミングを記述

 

この2つの情報を SDC 記述することで、 FPGA が問題なく動作するか解析が可能です。 

Quartus® II は FPGA 内部の 「配線による遅延時間」 「レジスタ出力遅延時間」 の情報を持っています。

しかし、FPGA 外部の 「動作周波数」 「入出力 I/O の遅延情報」 はユーザが Quartus II に与える必要があり、それが SDC ファイルなのですね!

SDC は TimeQuest Timing Analyzer で簡単に記述

SDC 記述言語を覚える必要はありません。(←安心!)

TimeQuest Timing Analyzer の GUI で簡単に記述できるのでご紹介します。

4. SDC コマンドの GUI を起動

先ほど新規作成した SDC ファイルより、 Edit > Insert Constraint をクリック。

SDC ファイルの画面

5.動作周波数の SDC コマンド記述

ここでは、クロック制約記述を例にご紹介します。 Create Clock … を選択。

・ Clock name : 任意の名称を記入

・ Period : 動作周波数を記入

・ Targets : HDL で定義したクロック信号名を選択

 

まとめ

 

・タイミング解析をするには SDC が必要。

・SDC とは、デバイス外部の遅延情報を記述したテキストファイル。

・SDC コマンドは TimeQuest Timing Analyzer の GUI で簡単に記述できる。