インテルのみ表示可能 — GUID: nik1415328696727
Ixiasoft
インテルのみ表示可能 — GUID: nik1415328696727
Ixiasoft
6.17. タイミング収束に関する推奨事項
ダイナミック・リコンフィグレーションを実行する際、以下を実行する必要があります。
- モディファイド・コンフィグレーションあるいはターゲットとするコンフィグレーションすべてにPCS-FPGA ファブリック・インターフェイスで余分のクロックを作成するための制約を含めます。ベースとなるコンフィグレーションへのクロックはQuartus Prime ソフトウェアによって生成されます。このようなクロックにより、Quartus Prime ソフトウェアがすべてのトランシーバー・コンフィグレーションおよびそれに対応するFPGA ファブリック・コアロジック・ブロックに対しスタティック・タイミング解析を実行することが可能となります。
- PCS‐FPGA ファブリック・インターフェイスとコアロジックとの間に必要となるフォルスパスを含めます。
たとえば、複数のリコンフィグレーション・プロファイル機能を使用することで、標準PCS からエンハンストPCS へデータパスを切り換えるダイナミック・リコンフィグレーションを実行することができます。以下に示す例では、ベースとなるコンフィグレーションは、標準PCS (データレート = 1.25 Gbps、PCS-PMA 幅 = 10) を使用しており、FPGA ファブリックでコアロジックA をドライブしています。モディファイド・コンフィグレーションあるいはターゲットとするコンフィグレーションは、エンハンストPCS (データレート = 12.5 Gbps、PCS-PMA 幅 = 64) を使用し、かつFPGA ファブリックでコアロジックB をドライブするようにコンフィグレーションされます。
上記の例でQuartus Prime ソフトウェアがより正確にタイミングを収束できるようにするには、以下の制約を作成する必要があります。
- create_clock -name tx_clkout_enh -period 5.12 [get_pins {native_inst|xcvr_native_a10_0|g_xcvr_native_insts[0].twentynm_xcvr_native_inst|twentynm_xcvr_native_inst|inst_twentynm_pcs|gen_twentynm_hssi_tx_pld_pcs_interface.inst_twentynm_hssi_tx_pld_pcs_interface|pld_pcs_tx_clk_out}] -add
この制約は、FPGA ファブリックでコアロジックB をクロックするtx_clkout クロックを作成します。
- create_clock -name rx_clkout_enh –period 5.12 [get_pins {native_inst|xcvr_native_a10_0|g_xcvr_native_insts[0].twentynm_xcvr_native_inst|twentynm_xcvr_native_inst|inst_twentynm_pcs|gen_twentynm_hssi_rx_pld_pcs_interface.inst_twentynm_hssi_rx_pld_pcs_interface|pld_pcs_rx_clk_out}] -add
この制約は、FPGA ファブリックでコアロジックB をクロックするrx_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>]
どのような方法でクロックがデザイン内で接続されているかによって、コアロジックのレジスターからクロックへのフォルスパスを設定する追加の制約を含めなければならない場合があります。
注: プロファイルの切り替えやコンフィグレーションの切り替えにFIFO からレジスターモードへの切り替えが含まれる場合、共通のクロックポイントはPCS-PMA インターフェイス内にあるためフォルスパスはPCS-PMA インターフェイス・レジスターとコアロジックの間に設定する必要があります。
たとえば、上記のケースでベースとなるコンフィグレーションがレジスターモードでTX およびRX FIFO 向けにコンフィグレーションされている場合、以下の制約を作成する必要があります。
- set_false_path -from [get_registers {native:native_inst|native_altera_xcvr_native_a10_150_lzjn6xi:xcvr_native_a10_0|twentynm_xcvr_native:g_xcvr_native_insts[0].twentynm_xcvr_native_inst|twentynm_xcvr_native_rev_20nm5es:twentynm_xcvr_native_inst|twentynm_pcs_rev_20nm5es:inst_twentynm_pcs|gen_twentynm_hssi_tx_pld_pcs_interface.inst_twentynm_hssi_tx_pld_pcs_interface~pma_tx_pma_clk_reg.reg}] -to [get_registers <Core Logic B>]
- set_false_path -from [get_registers {native:native_inst|native_altera_xcvr_native_a10_150_lzjn6xi:xcvr_native_a10_0|twentynm_xcvr_native:g_xcvr_native_insts[0].twentynm_xcvr_native_inst|twentynm_xcvr_native_rev_20nm5es:twentynm_xcvr_native_inst|twentynm_pcs_rev_20nm5es:inst_twentynm_pcs|gen_twentynm_hssi_rx_pld_pcs_interface.inst_twentynm_hssi_rx_pld_pcs_interface~pma_rx_pma_clk_reg.reg}] -to [get_registers <Core Logic B>]