インテル® Quartus® Primeプロ・エディションのユーザーガイド: タイミング・アナライザー

ID 683243
日付 1/31/2023
Public
ドキュメント目次

2.6.8.7. デザインのパーティション・ポートの制約

クロック定義と SDC 例外をデザインのパーティション・ポートに割り当てることができます。ブロックベース・デザインおよびパーシャル・リコンフィグレーション・デザインのフローでは、デザイン・パーティションを使用する必要があります。

コンパイラーは、タイミング・ネットリストのデザイン・パーティション・ポートを組み合わせノードとして表します。これらのノードは、コンパイラーが最適化できない永続的な名前をもちます。これらのポートは、SDC 制約でクロックソースまたは -through ポイントとして安全に参照することができます。デザイン・パーティション・ポート名は、report_path コマンドで -to および -from ポイントとして使用することもできます。

partition_a のポートに clk_divide の名前が付けられている場合は、SDC 制約は次のようになります。

create_generated_clock –source clock -divide_by 2 \
     top|partition_a|clk_divide

partition_b の一連のポートに data_input[0..7] の名前が付けられている場合は、SDC 制約は次のようになります。

set_multicycle_path –from top|partition_a|data_reg* \
     -through top|partition_b|data_input* 2

複数の -through 句を使用することができます。この手法により、あるデザイン・パーティションの出力ポートを通り、その後別のダウンストリームのデザイン・パーティションの入力ポートを通るパスを指定することが可能です。

パーティション・ポートに制約を追加するには、次の手順に従います。

  1. デザイン・パーティションを含むデザインで Analysis & Synthesis を実行する、もしくは完全なコンパイルを実行します。
  2. RTL Viewer を開いて目的のパーティション・ポートを見つけるには、Tools > Netlist Viewers > RTL Viewer をクリックします。
  3. RTL Viewer と同じ名前を使用し、クロックと他の SDC 制約をプロジェクトの .sdc ファイルに追加します。ワイルドカードを使用して、複数のポートを参照することができます。
  4. デザインを再コンパイルし、新しい定義と制約を適用します。

    ブロックベースのフローや PR フローの他にも、この手法は FPGA を使用する ASIC のエミュレーションにも有効です。このタイプのデザインにおいて、クロック・ネットワークは多くの場合、複数のパーティションの階層に広がります。設計者は通常、クロック分周回路をネットリストから削除します。インテル FPGA でこの回路のエミュレーションは簡単ではありません。このようなクロック・ネットワークでは、この手法を使用することにより、回路が削除されている位置で異なるバージョンのクロック信号を定義することが可能です。

    パーティションは戦略的に設計および配置し、それらのパーティションに適切なポートを定義する必要があります。ポートとパーティションが、特殊な回路を含むクロック・ネットワークの一部と一致していることを確認します。エミュレーションされた ASIC ネットリストを手動で編集し、適切なクロック定義とクロック関係をアノテーションすることができます。また、この手法は、プロジェクトのパスの任意の位置に制約付きのタイミングまたは定義されたクロックソースが必要な場合にも使用することができます。