JESD204B Intel® FPGA IPユーザーガイド

ID 683442
日付 8/18/2022
Public
ドキュメント目次

3.8.4. 入力クロックのタイミング制約

JESD204B IPバリエーションを生成すると、インテルQuartus Prime開発ソフトウェアは、IPへの入力クロックのタイミング制約を指定するSynopsys Design Constraints File (.sdc) を生成します。

JESD204B IPを生成する際、デザインはまだ完成しておらず、JESD204B IPはまだデザインに接続されていません。最終的なクロック名とパスはまだわかっていません。したがって、 インテル® Quartus® Prime開発ソフトウェアは、自動的に生成する .sdc ファイルに最終的な信号名を組み込むことができません。代わりに、このファイルのクロック信号名を手動で変更して、これらの制約をフルデザインのタイミング制約と統合する必要があります。

この項では、インテルQuartus Prime開発ソフトウェアがIPで生成するタイミング制約をデザインのタイミング制約に統合する方法について説明します。

インテル® Quartus® Prime開発ソフトウェアでは、JESD204B IPのタイミング制約を含む altera_jesd204.sdc ファイルを自動的に生成します。

入力クロックポートで、3つのクロックが作成されます。
  • JESD204B TX IP:
    • txlink_clk
    • reconfig_to_xcvr[0] (Arria V、 Cyclone® V、および Stratix® Vデバイスのみ)
    • reconfig_clk (インテルArria 10、インテルCyclone 10 GX、およびインテルStratix 10デバイスのみ)
    • tx_avs_clk
  • JESD204B RX IP:
    • rxlink_clk
    • reconfig_to_xcvr[0] (Arria V、 Cyclone® V、および Stratix® Vデバイスのみ)
    • reconfig_clk (インテルArria 10、インテルCyclone 10 GX、およびインテルStratix 10デバイスのみ)
    • rx_avs_clk
機能的なシステムデザインでは、これらのクロック (reconfig_to_xcvr[0] クロックを除く) は通常、コアPLLによって提供されます。

プロジェクトの .sdc ファイルで、次のコマンド変更を行います。

  • create_clock コマンドを使用することで、PLLクロック・リファレンス・ピンの周波数を指定します。
  • derive_pll_clocks コマンドを使用して、PLL Intel FPGA IP (Arria V、Cyclone V、およびStratix Vの場合) またはIOPLL Intel FPGA IP (インテルArria 10およびインテルCyclone 10 GXの場合) から、PLL生成出力クロックを導出します。
  • インテル® Stratix® 10デバイスの場合、Intel FPGA IOPLL IPコアには、PLLコンフィグレーションに基づいてPLLクロックを導出するSDCファイルがあります。トップレベルのSDCファイルに、derive_pll_clocks コマンドを追加する必要はありません。
  • altera_jesd204.sdc ファイル内のtxlink_clkreconfig_to_xcvr[0] または reconfig_clk、および tx_avs_clkrxlink_clk、および rx_avs_clk クロックの create_clock コマンドをコメントアウトします。
  • report_clock コマンドを使用して、txlink_clkreconfig_clk、および tx_avs_clkrxlink_clk、および rx_avs_clk クロックに関連するベースおよび生成クロック名を識別します。
  • set_clock_groups コマンドを使用して、デザインのベースクロックと生成クロックの関係を記述します。

デザインが完成したら、フルデザインのIPインスタンス名とデザイン階層の両方を考慮して、.sdc ファイルのクロック名をフルデザインのクロック名に変更する必要があります。例えば、JESD204B IPが txlink_clkrxlink_clkpll_ref_clktx_avs_clkrx_avs_clk、および reconfig_clk (インテルArria 10、インテルCyclone 10 GX、およびインテルStratix 10デバイスのみ) クロック間の非同期タイミングを処理する場合など、デザインに基づいてタイミング例外を追加する場合は注意してください。

次の表では、altera_jesd204.sdc のクロック名とユーザーデザインの入力クロック名の例を示しています。この例では、refclk ピンにトランシーバーTX PLLおよびCDR用の専用入力クロックがあります。device_clk は、コアPLL clkin ピンへの入力です。IPおよびトランシーバーの Avalon® メモリーマップド・インターフェイスには、周波数の異なる個別の外部クロックソースがあります。

表 13.  例A
altera_jesd204.sdcでの元のクロック名 ユーザーデザインの入力クロック名 周波数 (MHz) 推奨されるSDCタイミング制約
tx_pll_ref_clk xcvr_tx_rx_refclk 250

create_clock -name xcvr_tx_rx_refclk -period 4.0 [get_ports xcvr_tx_rx_refclk ]

create_clock -name device_clk -period 8.0 [get_ports device_clk]

create_clock -name jesd204_avs_clk -period 10.0 [get_ports jesd204_avs_clk]

create_clock -name phy_mgmt_clk -period 13.3 [get_ports phy_mgmt_clk]

derive_pll_clocks

set_clock_groups -asynchronous \

-group {xcvr_tx_rx_refclk \

<base and generated clock names as reported by report_clock commands> \

} \

-group {device_clk \

<base and generated clock names as reported by report_clock commands> \

} \

-group {jesd204_avs_clk} \

-group {phy_mgmt_clk \

<base and generated clock names as reported by report_clock commands> \

}

rx_pll_ref_clk
txlink_clk device_clk 125
rxlink_clk
tx_avs_clk jesd204_avs_clk 100
rx_avs_clk
reconfig_clk 16 phy_mgmt_clk 75

ただし、デザインで rx_avs_clk および reconfig_clk を同じクロックに接続する必要がある場合は、それらを同じクロックグループに配置する必要があります。

次の表では、このデザインの device_clk がトランシーバー refclk ピンへの入力である例を示しています。IPの Avalon® メモリーマップド・インターフェイスは、トランシーバー管理クロックと同じクロックソースを共有します。

表 14.  例B
altera_jesd204.sdcでの元のクロック名 ユーザーデザインの入力クロック名 周波数 (MHz) 推奨されるSDCタイミング制約
tx_pll_ref_clk device_clk 125

create_clock -name device_clk -period 8.0 [get_ports device_clk]

create_clock -name mgmt_clk -period 10.0 [get_ports mgmt_clk]

derive_pll_clocks

set_clock_groups -asynchronous \

-group {device_clk \

<base and generated clock names as reported by report_clock commands> \

} \

-group {mgmt_clk \

<base and generated clock names as reported by report_clock commands> \

}

rx_pll_ref_clk
txlink_clk
rxlink_clk
tx_avs_clk mgmt_clk 100
rx_avs_clk
reconfig_clk 17
16 インテルArria 10、インテルCyclone 10 GX、およびインテルStratix 10のみ。
17 インテルAgilex、インテルStratix 10、インテルCyclone 10 GX、およびインテルArria 10のみ。