F-Tile Dynamic Reconfiguration Suite Intel® FPGA IP ユーザーガイド

ID 711009
日付 4/03/2023
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

4.7.1. .qsf 割り当ての作成

  1. プラットフォーム・デザイナーを使用して、ディスクリート IP を作成します。
  2. 作成した IP をデザインにインスタンス化します。その際は、適切な RTL 接続を使用します。
  3. デザインで Design Analysis を実行します。
  4. Tile Assignment Editor を開きます。それには、Intel Quartus Prime Menu > Assignments > Tile Assignment Editor をクリックします。
  5. new DR Group セルをクリックし、DR グループのプロパティーを定義します。属性を入力し、OK をクリックします。
    図 6. New DR Group のプロパティー
  6. ungrouped IP Instances セルの下にある IP を確認します。グループ化されていない IP の 1 つを右クリックし、Move IP Instance オプションをクリックします。
    図 7. グループ化されていない IP インスタンス
  7. IP に適切なリコンフィグレーション・グループを選択し、OK をクリックします。
    図 8. リコンフィグレーション・グループの選択
  8. グループ化されていない残りの IP すべてで、ステップ 6 と 7 を繰り返します。
  9. grouped IP Instances セルの下にあるリコンフィグレーション・グループ名を右クリックします。マスター・クロック・チャネルに使用する IP を選択します。それには、Use master clock channel from: プルダウンメニューを使用します。
    図 9. マスター・クロック・チャネルに使用する IP の選択
  10. リコンフィグレーション・グループ名の下にある、スタートアップ・インスタンスとして使用する IP をクリックします。 Is Startup Instance ダイアログボタンを選択します。
    図 10. オプション: スタートアップ・インスタンス
  11. Save Tile Assignment Editor をクリックします。
    注: マスター・クロック・チャネルとスタートアップ・インスタンスが、Tile Assignment Editor の Properties 列で定義されました。
    図 11. プロパティー
  12. プロトコル IP を関連付けるリコンフィグレーション・コントローラー IP を選択します。それには、Reconfig controller プルダウンメニューを使用します。
  13. Save Tile Assignment Editor をクリックすると、新しく導出されたダイナミック・リコンフィグレーション割り当てがすべてプロジェクトの .qsf ファイルに書き込まれます。
  14. プロジェクトの .qsf ファイルを開き、ダイナミック・リコンフィグレーションの割り当てを確認します。
    例: 2 つのマルチレート IP インスタンスを使用する一般的なデザインの QSF 割り当て
    set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A:EXCLUSIVE:CLK_MASTER" -entity dr_mr_eth_mr_cpri_same_ux
    set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:MY_MR_CPRI_INST_1|CPRIPHY_MR_F_0/RG_A" -entity dr_mr_eth_mr_cpri_same_ux
    set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:MY_MR_ETH_INST_1|ETH_F_DR_0/RG_A" -entity dr_mr_eth_mr_cpri_same_ux
    set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE OFF -to my_mr_eth_inst_1|eth_f_dr_0 -entity dr_mr_eth_mr_cpri_same_ux
    set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_cpri_inst_1|cpriphy_mr_f_0 -entity dr_mr_eth_mr_cpri_same_ux
    set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_eth_inst_1|eth_f_dr_0 -entity dr_mr_eth_mr_cpri_same_ux
    set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL OFF -to my_mr_eth_inst_1|eth_f_dr_0 -entity dr_mr_eth_mr_cpri_same_ux
上の例は、マルチレート IP インスタンスを 2 つのみ使用したシンプルなデザインです。Tile Assignment Editor を使用すると、より複雑な階層的 DR グループを作成し、マルチレート IP とシングルレート IP の両方を含むデザインに対応することができます。下の図は、このような高度なデザインに対する Tile Assignment Editor GUI を示しています。
図 12. 例: 高度なデザイン

この例に関連付けられる .qsf 割り当ては次のとおりです。

例: 高度なデザインの QSF 割り当て
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e100g_4_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e100g_4_2_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e100g_4_3_inst_1|eth_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_2_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_3_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_4_inst_1|eth_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_5_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_6_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_7_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_8_inst_1|eth_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_9_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_10_inst_1|eth_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_1_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_2_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4


set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_3_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_4_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_5_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_6_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_e25g_inst_1|eth_f_dr_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_cpri24g_inst_1|cpriphy_mr_f_0 -entity ceg_ex_v4


set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_cpri24g_2_inst_1|cpriphy_mr_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_pma25g_inst_1|directphy_f_dr_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_pma25g_3_inst_1|directphy_f_0 -entity ceg_ex_v4

set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A2:EXCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_C1:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A1:EXCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_C2:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_B2:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A3:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A4:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_D:EXCLUSIVE:CLK_MASTER" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_B1:EXCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_B3:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:RG_A1" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:RG_A2" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:RG_A3" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:RG_A4" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_B:RG_B1" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_B:RG_B2" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_B:RG_B3" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_C:RG_C1" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_C:RG_C2" -entity ceg_ex_v4

set_instance_assignment -name IP_RECONFIG_GROUP RG_D -to my_pma25g_3_inst_1|directphy_f_0 -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_D:MY_MR_CPRI24G_INST_1|CPRIPHY_MR_F_0/RG_A" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE OFF -to my_mr_cpri24g_inst_1|cpriphy_mr_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL OFF -to my_mr_cpri24g_inst_1|cpriphy_mr_f_0 -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_D:MY_MR_E25G_INST_1|ETH_F_DR_0/RG_A" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE OFF -to my_mr_pma25g_inst_1|directphy_f_dr_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL OFF -to my_mr_pma25g_inst_1|directphy_f_dr_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A1 -to my_e100g_4_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE ON -to my_e100g_4_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A2 -to my_e100g_4_2_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A3 -to my_cpri25g_1_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A3 -to my_cpri25g_2_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A4 -to my_e25g_1_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A4 -to my_e25g_1_2_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A4 -to my_e25g_1_3_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A4 -to my_e25g_1_4_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B1 -to my_e100g_4_3_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE ON -to my_e100g_4_3_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B2 -to my_cpri25g_3_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B2 -to my_cpri25g_4_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B3 -to my_e25g_1_5_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B3 -to my_e25g_1_6_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C1 -to my_cpri25g_5_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C1 -to my_cpri25g_6_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C2 -to my_e25g_1_7_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE ON -to my_e25g_1_7_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C2 -to my_e25g_1_8_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C2 -to my_e25g_1_9_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C2 -to my_e25g_1_10_inst_1|eth_f_0 -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_B:EXCLUSIVE:CLK_MASTER" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL "PLD_PCS_TX_CLK_OUT1_DCM:RG_B" -to my_e100g_4_3_inst_1|eth_f_0|hip_inst|per_aib[0].x_bb_m_hdpldadapt_tx -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_C:EXCLUSIVE:CLK_MASTER" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL "PLD_PCS_TX_CLK_OUT1_DCM:RG_C" -to my_e25g_1_7_inst_1|eth_f_0|hip_inst|per_aib[0].x_bb_m_hdpldadapt_tx -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A:EXCLUSIVE:CLK_MASTER" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL "PLD_PCS_TX_CLK_OUT1_DCM:RG_A" -to my_e100g_4_1_inst_1|eth_f_0|hip_inst|per_aib[0].x_bb_m_hdpldadapt_tx -entity ceg_ex_v4

set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_D:MY_MR_PMA25G_INST_1|DIRECTPHY_F_DR_0/RG_A_E" -entity ceg_ex_v4