1.6. Testing the Hardware Design Example
Follow these steps to test Ethernet-based design examples in hardware:
- Generate design example as described in Generating the Design.
- Modify the .qsf settings:
- Set device to match the appropriate ordering part number (OPN) for your design.
- Update the pinout to match the board and the design function.
- Assign the appropriate VID settings in your .qsf file to match your board.
- Generate the .sof file.
- Update board clock settings. The default value for the PHY reference clock is 156.25 MHz. The default value for the reconfiguration clock is 100 MHz.
- Insert appropriate electrical loopback plug into the Ethernet port.
- Program the design.
- Open
- Navigate to the hardware directory <design_example>/hardware_test_design/hwtest directory.
- Type source main_<variant_type>.tcl.
- Type set_jtag<number_of appropriate_JTAG_master>
Note: If you enabled auto-negotiation and link training in your design, follow the hardware design example steps described in Hardware Design Example.
- Run the following command:
run_test_without_loopback
.
The hardware design example uses run_test command to initiate packet transmission from packet generator to the IP core. The script enables internal loopback, checks the PMA PHY status, sends 16 packets, and displays the MAC statistics. When you use run_test_without_loopback command to run the hardware test, the script disables the internal loopback.
The following sample output illustrates a successful hardware test run:
% run_test_without_loopback
--- Turning off packet generation ----
--------------------------------------
--- Wait for RX clock to settle... ---
--------------------------------------
-------- Printing PHY status ---------
--------------------------------------
RX PHY Register Access: Checking Clock Frequencies (KHz)
TXCLK :41505 (KHZ)
RXCLK :41503 (KHZ)
TX PLL Lock Status 0x000000ff
RX Frequency Lock Status 0x000000ff
RX PCS Ready 0x00000001
TX Lanes Stable 0x00000001
Deskew status 0x00000001
Link Fault Status 0x00000000
RX Frame Error 0x00000000
RX AM LOCK Condition 0x00000001
---- Clearing MAC stats counters -----
---- Initialize PKT ROM Read address for IP_INST[0] ----
--------------------------------------
--------- Sending packets... ---------
--------------------------------------
----- Reading MAC stats counters -----
--------------------------------------
==========================================================================================
STATISTICS FOR BASE 20480 (Rx)
==========================================================================================
Fragmented Frames : 0
Jabbered Frames : 0
Any Size with FCS Err Frame : 0
Right Size with FCS Err Fra : 0
Multicast data Err Frames : 0
Broadcast data Err Frames : 0
Unicast data Err Frames : 0
Multicast control Err Frame : 0
Broadcast control Err Frame : 0
Unicast control Err Frames : 0
Pause control Err Frames : 0
64 Byte Frames : 0
65 - 127 Byte Frames : 16
128 - 255 Byte Frames : 0
256 - 511 Byte Frames : 0
512 - 1023 Byte Frames : 0
1024 - 1518 Byte Frames : 0
1519 - MAX Byte Frames : 0
> MAX Byte Frames : 0
Rx Frame Starts : 16
Multicast data OK Frame : 16
Broadcast data OK Frame : 0
Unicast data OK Frames : 0
Multicast Control Frames : 0
Broadcast Control Frames : 0
Unicast Control Frames : 0
Pause Control Frames : 0
Data and padding octets : 800
Frame octets: : 1088
==========================================================================================
STATISTICS FOR BASE 20480 (Tx)
==========================================================================================
Fragmented Frames : 0
Jabbered Frames : 0
Any Size with FCS Err Frame : 0
Right Size with FCS Err Fra : 0
Multicast data Err Frames : 0
Broadcast data Err Frames : 0
Unicast data Err Frames : 0
Multicast control Err Frame : 0
Broadcast control Err Frame : 0
Unicast control Err Frames : 0
Pause control Err Frames : 0
64 Byte Frames : 0
65 - 127 Byte Frames : 16
128 - 255 Byte Frames : 0
256 - 511 Byte Frames : 0
512 - 1023 Byte Frames : 0
1024 - 1518 Byte Frames : 0
1519 - MAX Byte Frames : 0
> MAX Byte Frames : 0
Tx Frame Starts : 16
Multicast data OK Frame : 16
Broadcast data OK Frame : 0
Unicast data OK Frames : 0
Multicast Control Frames : 0
Broadcast Control Frames : 0
Unicast Control Frames : 0
Pause Control Frames : 0
Data and padding octets : 800
Frame octets: : 1088
------------ Done ---------------------