インテルのみ表示可能 — GUID: mpf1656551164775
Ixiasoft
インテルのみ表示可能 — GUID: mpf1656551164775
Ixiasoft
1.3.2.1.4. RTLでのSDCに向けたSDCファイルにおける制約の作成
SDC 2.1への準拠
RTLでのSDCに向けたSDCは、RTLを対象とした制約を提供する業界標準です。ターゲットノードはエラボレーションされたネットリストからのもので、RTLと密接にアライメントされています。階層ノードをターゲットにし、さまざまなコンパイル段階を通じて制約をコンパイルフローに伝播することができます。
インテル® Quartus® Prime開発ソフトウェアは、RTLでのSDCに向けたSDCファイル内の制約順序を維持します。SDCファイル内に制約をリストする順序によって、それらが インテル® Quartus® Prime開発ソフトウェアにロードされる順序が定義されます。
RTL SDC制約は、SDC 2.1準拠のコマンドのみをサポートするように設計されています。オブジェクト・ アクセサー (get_keepers、get_registers、get_nodesなど) はありません。次のリストはサポートされているSDCコマンドです。これらの詳細に関しては、Intel Quartus Prime Pro Edition User Guide: Scripting で、TCL Commands and Packages Summaryのセクションを参照してください。
- create_clock
- create_generated_clock
- set_input_delay
- set_output_delay
- set_false_path
- set_max_delay
- set_min_delay
- set_multicycle_path
- set_clock_groups
- set_clock_latency
- set_clock_uncertainty
- set_data_delay
- set_net_delay
- set_max_skew
タイミングパスの特定
タイミングパスを定義する場合は、SDC標準アクセサー (get_pins など) を使用します。 インテル® Quartus® Prime開発ソフトウェア固有のコマンド (get_keepers、get_registers など) は使用しません。 インテル® では、オブジェクトをターゲットにする場合に、明示的な get_<pins|ports|nets> コマンドの使用を推奨しています。そのままの名前を使用すると、意図しないターゲットとなる可能性があり、場合によってはDNIで警告が発行されます。
set_false_path -from [get_keepers { reg_A }] -to [get_keepers { reg_B }]
set_false_path -from [get_pins { reg_A|clk }] -to [get_pins { reg_B|d }]
ステータス | 例外コマンド | Fromフラグ | 開始 | Toフラグ | 終了 | セットアップ・スラック |
---|---|---|---|---|---|---|
完了 | set_false_path | -from | [get_pins{tf_sync[0] |ff_src|clk}] |
-to | [get_pins{tf_sync[0] |ff_dst|d}] |
3.603 |
無効 | set_false_path | -from | [get_pins{tf_sync[2] |ff_src|q}] |
-to | [get_pins{tf_sync[2] |ff_dst|d}] |
無効 |
無効 | set_false_path | -from | [get_pins{tf_sync[3] |ff_src|d}] |
-to | [get_pins{tf_sync[3] |ff_dst|d}] |
無効 |
RTL SDC制約のデバッグ
RTL SDC制約のデバッグには、いくつかの方法があります。例えば、デザインで制約が使用されている位置を切り離し、それをフロー内で解析することができます。制約に関するコンパイルレポートを使用することもできます (Post-Synthesis Constraintsコンパイルレポートを参照してください)。ただし、制約をデバッグする際は、次の点を考慮します。
RTL SDC制約の読み取り時にエラーが発生すると、コマンドスタックとともにエラーメッセージが発行され、問題のあるコマンドの行番号が示されます。次の図に例を示します。
制約で作業する際は、次の点を確認します。
- ターゲットと基本構文が正しいこと (ノードの検索またはターゲットの取得)。RTLアナライザーを使用して、エラボレーション後のネットリストでノードを検索することができます。
- 制約がタイミンググラフ (制約の動作) に対して理にかなっていること。これは、タイミング・アナライザーで確認することができます。
デザイン・ネットリストからタイミング・アナライザーに伝達されるRTL SDC制約を検査します (import_sdc は、RTL SDCコマンドのみをロードします)。import_sdc コマンドは、コンパイルフローのさまざまな段階を伝播後、RTL SDC制約のバージョンをロードします。このステップ後は、通常のタイミング・アナライザー・セッションと同じになります。