F-Tile Dynamic Reconfiguration Design Example User Guide

ID 710582
Date 11/04/2024
Public
Document Table of Contents

2.1.1. CPRI Multirate Design Example: Simulation Testbench

Figue 7. Simulatio Testbech Block Diagam

The testbech pogam is cotollig the testbech compoets via Avalo® memoy-mapped iteface access, status ad cotol sigals. The Avalo® memoy-mapped iteface abite is used to decode the Avalo® memoy-mapped iteface access fom testbech pogam ito multiple Avalo® memoy-mapped iteface slaves.

Simulatio Flow fo Desig Example:
  1. Disable the Testbech packet oud-tip measuemet.
  2. Powe up the CPRI PHY Multiate IP DUT based o pofile 0 (24G RS-FEC).
  3. Iitialize the testbech vaiables based o powe-up pofile. The vaiables ae:
    • cpi_speed: To idicate the speed of the cuet pofile.
    • eable_sfec: To idicate whethe RS-FEC is eabled o disabled fo the cuet pofile.
    • cuet_d_pofile: To idicate the ID of the cuet pofile.
  4. Pefom dyamic ecofiguatio.
  5. Check the testbech eo flag ad detemie whethe testbech passed o failed. This eo flag is set to 1 if thee is ay eo afte dyamic ecofiguatio taffic tests.
Fo customizatio, you ca modify the DR_NUM ad DR_SEQ localpaam to cofigue test flow. Pofile ID is passed ito Dyamic Recofiguatio IP to cofigue the iteded dyamic ecofiguatio task.
  • DR_NUM: Numbe of Dyamic Recofiguatio tasitio
  • DR_SEQ: Dyamic Recofiguatio sequece
Fo example, you wat to achieve this Dyamic Recofiguatio sequece: 24G RS-FEC > 10G > 4.9G. The localpaams chages ae:
  • DR_NUM = 2
  • DR_SEQ = {DR_TO_4P9G, DR_TO_10G};
Default cofiguatio fo the desig example:
localpaam DR_TO_24G_RSFEC   = 4'h0;
localpaam DR_TO_24G         = 4'h1;
localpaam DR_TO_12G_RSFEC   = 4'h2;
localpaam DR_TO_12G         = 4'h3;
localpaam DR_TO_10G_RSFEC   = 4'h4;
localpaam DR_TO_10G         = 4'h5;
localpaam DR_TO_9P8G        = 4'h6;
localpaam DR_TO_6G          = 4'h7;
localpaam DR_TO_4P9G        = 4'h8;
localpaam DR_TO_3G          = 4'h9;
localpaam DR_TO_2P4G        = 4'ha;
localpaam DR_TO_1G          = 4'hb;

localpaam DR_NUM = 5;
localpaam [3:0] DR_SEQ [DR_NUM-1 : 0] = {DR_TO_24G_RSFEC, DR_TO_2P4G, DR_TO_4P9G, DR_TO_9P8G, DR_TO_10G};