4.1.2. PMA/FEC Direct PHY Multirate Hardware Design Example
In the hardware design example, the ISSP modules control the DUT IP reset signals, dr_mode selection and shows the status signals. The hardware test scripts open service to the ISSP to read and drive the values. A JTAG host is instantiated to access the Avalon® memory-mapped interface.
The hardware design example executes the dynamic reconfiguration transition process based on user selection as stated in src/parameter.tcl file and checks the DUT IP status. There is a default dynamic reconfiguration transition sequence, but user can always modify the DR_TRANSITION array variable in src/parameter.tcl file.
set DR_TRANSITION(0) "1x25G"
set DR_TRANSITION(1) "1x50G KPFEC"
set DR_TRANSITION(2) "1x24.33024G"
set DR_TRANSITION(3) "1x50G
Hardware Flow for Design Example:
- In the Intel® Quartus® Prime Pro Edition software, open the Intel® Quartus® Prime project: <design_example_dir>/hardware_test_design/dphy_f_hw.qpf.
- Click .sof. to compile the design and generate the
- Download the .sof into your Intel Agilex device.
- Configure the board clocks as required.
Note: This step is not required if the Agilex I-Series Transceiver-SoC Development Kit is selected.
- Open System Console in Intel® Quartus® Prime Pro Edition software by clicking .
- Navigate to the hwtest directory.
cd hwtest
- Run the script. The script performs the dynamic reconfiguration steps.
source main_script.tcl
- Analyze the results. A successful run displays Test <ftile_dphy_dr_test> Passed in the System Console window.
The sample output for the PMA/FEC Direct PHY Multirate hardware design example is shown below.
% cd hwtest
$source main_script.tcl
Info: Number of Channels = 1
Info: JTAG Port ID = 2
Info: Power Up Variant = 1x50G
INFO: Start of ftile_dphy_dr_test
INFO: Basic DPHY DR test
INFO: Set Reconfig Reset
INFO: write_value is 0x1
INFO: Release Reconfig Reset
INFO: write_value is 0x0
INFO: Set DR mode...
INFO: DR mode is 0x0
...........
*******
*******
INFO: Channel 0: Set TX Reset
INFO: write_value is 0x4
INFO: Channel 0: Set RX Reset
INFO: write_value is 0x6
INFO: get_reset_ack_status -----
INFO: Channel 0 : Checking tx reset ack status...
INFO: tx_reset_ack_status_0 = 0x3
INFO: TX fully in reset state
INFO: Channel 0 : Checking rx reset ack status...
INFO: rx_reset_ack_status_0 = 0x3
INFO: RX fully in reset state
INFO: Start DR selection-----
INFO: DR transition is 1x50G -----
INFO: Channel: 0 Configuring ED to PMA_DIR 1x50G ....
INFO: Wait for DR Ready....
INFO: configuring DR Profile 1x50G....
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 1x50G.
INFO: Set DR mode...
INFO: DR mode is 0x0
INFO: Channel 0: Release TX Reset
INFO: write_value is 0x2
INFO: Channel 0: Release RX Reset
INFO: write_value is 0x0
INFO: Channel 0 : Run test...
INFO: Read out probe data: 0x7dc
INFO: Data locked with no error
*******
*******
Info: End of ftile_dphy_dr_test
Info: Test <ftile_dphy_dr_test> Passed