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

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

2.1.2. CPRI Multirateハードウェア・デザイン例

図 8. CPRI Multirateハードウェア・デザイン例のブロック図

ハードウェア・デザイン例では、パケット・クライアント、デザイン例のF-Tile CPRI PHY Multirate Intel FPGA IP、およびF-Tile Dynamic Reconfiguration Suite Intel FPGA IPからのリセット、ステータス、コントロール信号がIn-System Sources and Probes IPs (ISSP) に接続されています。ハードウェア・テスト・スクリプトは、値を読み出して駆動するためにISSPへのサービスを開放します。JTAGホストは、 Avalon® メモリーマップド・インターフェイスにアクセスするためにインスタンス化されます。

デザイン例のハードウェア・フロー
  1. パケットの往復測定をイネーブルします。
    • 確定的レイテンシーのテストフローを実行します。
    • 確定的レイテンシーのデータを det_latency.log ファイルに出力します。
  2. プロファイル0 (24G RSFEC) に基づいて、CPRI PHY Multirate IP DUTをパワーアップします。
  3. パワーアップ・プロファイルに基づいてテストベンチ変数を初期化します。変数は次のとおりです。
    • cpri_speed: 現在のプロファイルの速度を示します。
    • enable_rsfec: 現在のプロファイルに対してRS-FECがイネーブルであるかディスエーブルであるかを示します。
    • current_dr_profile: 現在のプロファイルのIDを示します。
  4. ダイナミック・リコンフィグレーションを実行します。
  5. テストベンチのエラーフラグを確認し、テストベンチが成功したか失敗したかを判断します。ダイナミック・リコンフィグレーションのトラフィック・テスト後にエラーが発生した場合、このエラーフラグは1に設定されます。
カスタマイズの場合、srcまたはパラメーター・ファイルの DR_TRANSITION 配列変数を変更して、テストフローをコンフィグレーションできます。プロファイルIDはDynamic Reconfiguration IPに渡され、目的のダイナミック・リコンフィグレーション・タスクをコンフィグレーションします。
  • DR_TRANSITION: 意図されたダイナミック・リコンフィグレーション・シーケンス配列。この配列変数のサイズによって、実行されるダイナミック・リコンフィグレーションの数が決まります。
例えば、24G RS-FEC > 10G > 4.9GというDynamic Reconfigurationシーケンスを実現するとします。変数の変更は次のとおりです。
set DR_TRANSITION(0)   "10G"
set DR_TRANSITION(1)   " 4P9G"

CPRI Multirateハードウェア・デザイン例の出力例を以下に示します。

CPRI Multirateハードウェア・デザイン例の出力例は、次のとおりです。

Info: Number of Channels = 1
Info: JTAG Port ID       = 1
Info: Power Up Variant   = 24G_RSFEC
Info: Start of ftile_dr_cpri_test

Info: Basic CPRI DR test

	INFO: Checking PLL lock status...
	iopll_sclk_locked 1
	INFO: IOPLL sclk is locked
	INFO: Set Reconfig Reset
	INFO: Release Reconfig Reset
Loop 0
	INFO: Set RT Counter
	INFO: Channel 0: Set TX Reset
	INFO: Channel 0 : Checking tx reset ack n status...
	INFO: TX fully in reset state 
	INFO: Channel 0: Set RX Reset
	INFO: Channel 0 : Checking rx reset ack n status...
	INFO: RX fully in reset state 
	Info: Channel: 0 Configuring ED to CPRI 10G ....
	Info: Wait for DR Ready....
	Info: Trigger DR interrupt
	Info: Wait for DR interrupt Ack....
		Info: DR Request acknowledged
	Info: Wait for DR Config to be done....
		Info: DONE Reconfigure to 10G.
	INFO: Channel 0: Configuring cpri_speed
	Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 10G ....
	INFO: Channel 0: Release TX Reset
	Info: Check TX Ready Attempt: 1
	INFO: Channel 0 : Checking TX ready status...
		Info: tx_ready = 1
	INFO: Channel 0: Release RX Reset
	Info: Check RX Ready Attempt: 1
	INFO: Channel 0 : Checking RX ready status...
		Info: rx_ready = 1
	INFO: Channel 0 : Checking RX PCS ready status...
		Info: rx_pcs_ready  = 1
	Info:Info: Channel: 0 Configuring DL ....
	Info Channel: 0 sending packets in progress, waiting for checker pass ***
	Info Channel: 0 waiting for measure_valid to assert...
	INFO: Channel 0 : Checking hyperframe sync status...
	INFO: hyperframe sync asserted
	INFO: Channel 0 : Checking RT count done status...
	INFO: RT count done asserted
	Channel 0 : Read Determenistic latency counts
	Channel 0 : Get checker_pass status:
	Checker value = 1
	Checker status = Passed!

**
*****************************************

	INFO: Channel 0: Set TX Reset
	INFO: Channel 0 : Checking tx reset ack n status...
	INFO: TX fully in reset state 
	INFO: Channel 0: Set RX Reset
	INFO: Channel 0 : Checking rx reset ack n status...
	INFO: RX fully in reset state 
	Info: Channel: 0 Configuring ED to CPRI 9P8G ....
	Info: Wait for DR Ready....
	Info: Trigger DR interrupt
	Info: Wait for DR interrupt Ack....
		Info: DR Request acknowledged
	Info: Wait for DR Config to be done....
		Info: DONE Reconfigure to 9P8G.
	INFO: Channel 0: Configuring cpri_speed
	Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 9P8G ....
	INFO: Channel 0: Release TX Reset
	Info: Check TX Ready Attempt: 1
	INFO: Channel 0 : Checking TX ready status...
		Info: tx_ready = 1
	INFO: Channel 0: Release RX Reset
	Info: Check RX Ready Attempt: 1
	INFO: Channel 0 : Checking RX ready status...
		Info: rx_ready = 1
	Info:Info: Channel: 0 Configuring DL ....
	Info Channel: 0 sending packets in progress, waiting for checker pass ***
	Info Channel: 0 waiting for measure_valid to assert...
	INFO: Channel 0 : Checking hyperframe sync status...
	INFO: hyperframe sync asserted
	INFO: Channel 0 : Checking RT count done status...
	INFO: RT count done asserted
	Channel 0 : Read Determenistic latency counts
	Channel 0 : Get checker_pass status:
	Checker value = 1
	Checker status = Passed!

**
*****************************************

	INFO: Channel 0: Set TX Reset
	INFO: Channel 0 : Checking tx reset ack n status...
	INFO: TX fully in reset state 
	INFO: Channel 0: Set RX Reset
	INFO: Channel 0 : Checking rx reset ack n status...
	INFO: RX fully in reset state 
	Info: Channel: 0 Configuring ED to CPRI 4P9G ....
	Info: Wait for DR Ready....
	Info: Trigger DR interrupt
	Info: Wait for DR interrupt Ack....
		Info: DR Request acknowledged
	Info: Wait for DR Config to be done....
		Info: DONE Reconfigure to 4P9G.
	INFO: Channel 0: Configuring cpri_speed
	Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 4P9G ....
	INFO: Channel 0: Release TX Reset
	Info: Check TX Ready Attempt: 1
	INFO: Channel 0 : Checking TX ready status...
		Info: tx_ready = 1
	INFO: Channel 0: Release RX Reset
	Info: Check RX Ready Attempt: 1
	INFO: Channel 0 : Checking RX ready status...
		Info: rx_ready = 1
	Info:Info: Channel: 0 Configuring DL ....
	Info Channel: 0 sending packets in progress, waiting for checker pass ***
	Info Channel: 0 waiting for measure_valid to assert...
	INFO: Channel 0 : Checking hyperframe sync status...
	INFO: hyperframe sync asserted
	INFO: Channel 0 : Checking RT count done status...
	INFO: RT count done asserted
	Channel 0 : Read Determenistic latency counts
	Channel 0 : Get checker_pass status:
	Checker value = 1
	Checker status = Passed!

**
*****************************************

	INFO: Channel 0: Set TX Reset
	INFO: Channel 0 : Checking tx reset ack n status...
	INFO: TX fully in reset state 
	INFO: Channel 0: Set RX Reset
	INFO: Channel 0 : Checking rx reset ack n status...
	INFO: RX fully in reset state 
	Info: Channel: 0 Configuring ED to CPRI 2P4G ....
	Info: Wait for DR Ready....
	Info: Trigger DR interrupt
	Info: Wait for DR interrupt Ack....
		Info: DR Request acknowledged
	Info: Wait for DR Config to be done....
		Info: DONE Reconfigure to 2P4G.
	INFO: Channel 0: Configuring cpri_speed
	Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 2P4G ....
	INFO: Channel 0: Release TX Reset
	Info: Check TX Ready Attempt: 1
	INFO: Channel 0 : Checking TX ready status...
		Info: tx_ready = 1
	INFO: Channel 0: Release RX Reset
	Info: Check RX Ready Attempt: 1
	INFO: Channel 0 : Checking RX ready status...
		Info: rx_ready = 1
	Info:Info: Channel: 0 Configuring DL ....
	Info Channel: 0 sending packets in progress, waiting for checker pass ***
	Info Channel: 0 waiting for measure_valid to assert...
	INFO: Channel 0 : Checking hyperframe sync status...
	INFO: hyperframe sync asserted
	INFO: Channel 0 : Checking RT count done status...
	INFO: RT count done asserted
	Channel 0 : Read Determenistic latency counts
	Channel 0 : Get checker_pass status:
	Checker value = 1
	Checker status = Passed!

**
*****************************************

	INFO: Channel 0: Set TX Reset
	INFO: Channel 0 : Checking tx reset ack n status...
	INFO: TX fully in reset state 
	INFO: Channel 0: Set RX Reset
	INFO: Channel 0 : Checking rx reset ack n status...
	INFO: RX fully in reset state 
	Info: Channel: 0 Configuring ED to CPRI 24G_RSFEC ....
	Info: Wait for DR Ready....
	Info: Trigger DR interrupt
	Info: Wait for DR interrupt Ack....
		Info: DR Request acknowledged
	Info: Wait for DR Config to be done....
		Info: DONE Reconfigure to 24G_RSFEC.
	INFO: Channel 0: Configuring cpri_speed
	Info: Channel: 0 Loop: 0 De-asserting reset to CPRI 24G_RSFEC ....
	INFO: Channel 0: Release TX Reset
	Info: Check TX Ready Attempt: 1
	INFO: Channel 0 : Checking TX ready status...
		Info: tx_ready = 1
	INFO: Channel 0: Release RX Reset
	Info: Check RX Ready Attempt: 1
	INFO: Channel 0 : Checking RX ready status...
		Info: rx_ready = 1
	INFO: Channel 0 : Checking RX PCS ready status...
		Info: rx_pcs_ready  = 1
	Info:Info: Channel: 0 Configuring DL ....
	Info:Info: Channel: 0 Programing RSFEC WA into DL counter ....
	Info:Info: Channel: 0 Starting DL ....
	Info Channel: 0 sending packets in progress, waiting for checker pass ***
	Info Channel: 0 waiting for measure_valid to assert...
	INFO: Channel 0 : Checking hyperframe sync status...
	INFO: hyperframe sync asserted
	INFO: Channel 0 : Checking RT count done status...
	INFO: RT count done asserted
	Channel 0 : Read Determenistic latency counts
	Channel 0 : Get checker_pass status:
	Checker value = 0
	Checker status = Passed!

**
*****************************************

Info: End of ftile_cpri_dr_test
Info: Test <ftile_cpri_dr_test> Passed