Fタイル・ダイナミック・リコンフィグレーションのデザイン例ユーザーガイド

ID 710582
日付 4/03/2023
Public
ドキュメント目次

5.1.1. Ethernet to CPRIダイナミック・リコンフィグレーションのデザイン例: シミュレーション・テストベンチ

次の図に、Ethernet to CPRIダイナミック・リコンフィグレーション・デザイン例のシミュレーション・テストベンチのブロック図を示します。
図 28. Ethernet to CPRIダイナミック・リコンフィグレーション・デザイン例のシミュレーション・テストベンチのブロック図
図 29. Ethernet to CPRIダイナミック・リコンフィグレーション・デザイン例のシミュレーション・テストベンチのブロック図 (1GE付き)
テストベンチ・プログラムは、 Avalon® Memory-Mapped インターフェイスのアクセス、ステータス、およびコントロール信号を介してテストベンチ・コンポーネントを制御します。 Avalon® Memory-Mapped インターフェイス・アービターは、テストベンチ・プログラムから複数の Avalon® Memory-Mapped インターフェイス・スレーブ への Avalon® Memory-Mapped インターフェイスのアクセスをデコードします。
シミュレーションのフロー
  • Ethernet Multirate IP DUTは、ベース・プロファイルに基づいて起動されます。
  • パワーアップ・プロファイルに基づいて、テストベンチ変数を初期化します。basic_avl_tb_top.sv ファイルにあるパラメーター設定は、次のとおりです。
    • DR_NUM: ダイナミック・リコンフィグレーション移行の数を示します。
    • DR_SEQ: ダイナミック・リコンフィグレーション・シーケンスを示します。
  • ダイナミック・リコンフィグレーションを実行します。
  • トラフィック・テストを開始します。
  • テストベンチのエラーフラグを確認し、テストベンチが成功したか失敗したかを判断します。ダイナミック・リコンフィグレーションのトラフィック・テスト後にエラーが発生した場合、このエラーフラグは1に設定されます。

カスタマイズの場合は、DR_NUM および DR_SEQ localparamを使用してテストフローをコンフィグレーションします。プロファイルIDはダイナミック・リコンフィグレーションIPに渡され、目的のダイナミック・リコンフィグレーション・タスクをコンフィグレーションします。

例えば、次のDynamic Reconfigurationシーケンス、Ethernet 25G-1 > CPRI 24G with RS-FEC > Ethernet 10G-1を実現するとします。

localparamの変更は、次のとおりです。
  • Localparam DR_NUM = 2
  • Localparam [6:0] DR_SEQ [DR_NUM-1:0] = {ETH_DR_MODE_10GE-1、CPRI_DR_MODE_24G_RSFEC};
以下のRTLスニペットは、カスタマイズするEthernet – CPRI Protocolテストベンチのlocalparamを示しています。
localparam ETH_DR_MODE_25GE_1	 = 6'b00_00_00;
localparam ETH_DR_MODE_10GE_1     = 6'b00_00_01;
localparam CPRI_DR_MODE_24G_RSFEC = 6'b00_00_10;
localparam CPRI_DR_MODE_24G  	 = 6'b00_00_11;
localparam CPRI_DR_MODE_12G_RSFEC = 6'b00_01_00;
localparam CPRI_DR_MODE_12G   	= 6'b00_01_01;
localparam CPRI_DR_MODE_10G_RSFEC = 6'b00_01_10;
localparam CPRI_DR_MODE_10G       = 6'b00_01_11;
localparam CPRI_DR_MODE_9P8G      = 6'b00_10_00;
localparam CPRI_DR_MODE_6G        = 6'b00_10_01;
localparam CPRI_DR_MODE_4P9G      = 6'b00_10_10;
localparam CPRI_DR_MODE_3G        = 6'b00_10_11;
localparam CPRI_DR_MODE_2P4G      = 6'b00_11_00;
localparam CPRI_DR_MODE_1G        = 6'b00_11_01;

localparam DR_NUM = 3;
localparam [6:0] DR_SEQ [DR_NUM-1 : 0] = {CPRI_DR_MODE_4P9G,CPRI_DR_MODE_24G_RSFEC,ETH_DR_MODE_10GE_1};

以下のRTLスニペットは、カスタマイズするEthernet – CPRI Protocol (1GE付き) テストベンチのlocalparamを示しています。

localparam ETH_DR_MODE_25GE_1      = 6'b00_00_00;
localparam ETH_DR_MODE_10GE_1      = 6'b00_00_01;
localparam CPRI_DR_MODE_24G_RSFEC  = 6'b00_00_10;
localparam CPRI_DR_MODE_24G        = 6'b00_00_11;
localparam CPRI_DR_MODE_12G_RSFEC  = 6'b00_01_00;
localparam CPRI_DR_MODE_12G        = 6'b00_01_01;
localparam CPRI_DR_MODE_10G_RSFEC  = 6'b00_01_10;
localparam CPRI_DR_MODE_10G        = 6'b00_01_11;
localparam CPRI_DR_MODE_9P8G       = 6'b00_10_00;
localparam CPRI_DR_MODE_6G         = 6'b00_10_01;
localparam CPRI_DR_MODE_4P9G       = 6'b00_10_10;
localparam CPRI_DR_MODE_3G         = 6'b00_10_11;
localparam CPRI_DR_MODE_2P4G       = 6'b00_11_00;
localparam CPRI_DR_MODE_1G         = 6'b00_11_01;
localparam ETH_DR_MODE_1GE_1       = 6'b00_11_10;

localparam DR_NUM = 3;
localparam [6:0] DR_SEQ [DR_NUM-1 : 0] = {ETH_DR_MODE_25GE_1,CPRI_DR_MODE_24G_RSFEC,ETH_DR_MODE_1GE_1};