インテル® Stratix® 10 LタイルおよびHタイル・トランシーバーPHYユーザーガイド

ID 683621
日付 3/03/2020
Public
ドキュメント目次

6.14. タイミング・クロージャーに関する推奨事項

次の場合は、リコンフィグレーション・プロファイルのタイミングを収束する必要があります。
  1. 複数のリコンフィグレーション・プロファイルがイネーブルになっていない場合。すべてのモディファイド・コンフィグレーションおよびターゲット・コンフィグレーションの制約をマニュアルで含める必要があります。以下の例を参照してください。
    図 241. イネーブルになっていない複数のリコンフィグレーション・プロファイル
  2. 複数のリコンフィグレーション・プロファイルがイネーブルになっている場合、および

    Case 1: 8つ以上のコンフィグレーションが必要な場合:

    ネイティブPHY IPでサポートされている最大コンフィグレーション (8つ) を使い果たした場合。ネイティブPHY IPでサポートされている8つのコンフィグレーション以外の、すべてのモディファイド・コンフィグレーションおよびターゲット・コンフィグレーションの制約をマニュアルで含める必要があります。
    図 242. イネーブルになっている複数のリコンフィグレーション・プロファイル (n = 8)

    Case 2: 一部のコンフィグレーションは、Multiple Reconfiguration Profileをディスエーブルして生成されます。

    図 243. 
注: ネイティブPHY IPは、最大8つのリコンフィグレーション・プロファイルをサポートし、すべてのパスに対して適切なSDC制約を生成します。

インテルは、モディファイド・コンフィグレーションまたはターゲット・コンフィグレーションのいずれかにPCS設定の変更が含まれる場合には、ネイティブPHY IPコアで複数のリコンフィグレーション・プロファイル機能をイネーブルすることをお勧めします。

リコンフィグレーションにPLL切り替え、CGB分周器の切り替え、refclk切り替えなどのPMA設定のみの変更が含まれる場合、複数のリコンフィグレーション・プロファイルの使用はオプションです。

ダイナミック・リコンフィグレーションをサポートする場合、以下のことを行う必要があります。

  • PCS-FPGAファブリック・インターフェイスで、モディファイド・コンフィグレーションまたはターゲット・コンフィグレーションすべてに対して、余分のクロックを作成するための制約を含めます。ベース・コンフィグレーションのクロックは、Quartus Prime開発ソフトウェアによって生成されます。これらのクロックによって、インテルQuartus Primeプロ・エデイション開発ソフトウェアがすべてのトランシーバー・コンフィグレーション・プロファイルおよびそれに対応するFPGAファブリック・コア・ロジック・ブロックに対して、スタティック・タイミング解析を実行することが可能となります。
  • PCS‐FPGAファブリック・インターフェイスとコアロジックとの間に必要となるフォルスパスを含めます。

例えば、ダイナミック・リコンフィグレーションを実行して、複数のリコンフィグレーション・プロファイル機能を使用し、データパスをStandard PCSからEnhanced PCSへ切り替えることができます。次に示す例では、ベース・コンフィグレーションは、Standard PCS (データレート = 1.25 Gbps、PCS-PMA幅 = 10) を使用し、FPGAファブリックでコアロジックAを駆動します。ターゲット・コンフィグレーションまたはモディファイド・コンフィグレーションは、Enhanced PCS (データレート = 12.5 Gbps、PCS-PMA幅 = 64) を使用するようコンフィグレーションされ、FPGAファブリックでコアロジックBを駆動します。

図 244. 複数のリコンフィグレーション・プロファイルの使用例
上記の例では、以下のことを行う必要があります。
  • FPGAファブリックのコアロジックBをクロックするために使用される tx_clkout クロックを作成します。
  • デザインでクロックがどのように接続されているかに基づいて、コアロジックのレジスターからクロックへのフォルスパスを設定するために追加の制約を含める必要がある場合があります。例えば、
    set_false_path -from [get_clocks {tx_clkout_enh}] -to [get_registers <Core Logic A>]
    set_false_path -from [get_clocks {rx_clkout_enh}] -to [get_registers <Core Logic A>]
    set_false_path -from [get_clocks {tx_clkout}] -to [get_registers <Core Logic B>]
    set_false_path -from [get_clocks {rx_clkout}] -to [get_registers <Core Logic B>]