1.6. Testing the F-Tile Ethernet Intel FPGA Hard IP Hardware Design Example
After you compile the F-Tile Ethernet Intel FPGA Hard IP core design example and configure it on your Intel® Agilex™ 7 device, you can use the System Console to program the IP core.
Follow these steps to test the hardware design example on the System Console:
- Navigate to the hardware directory: <design_example>/hardware_test_design/hwtest.
- Open
system-console &
or type command: - Run the following commands in the System Console Tcl shell.
source main_<Ethernet_rate>.tcl set_jtag<number_of appropriate_JTAG_master>
Note:- The set_jtag command places the Intel® Agilex™ 7 device on the JTAG chain
- If you do not want to use reset when selecting jtag, use set_jtag_no_reset
Note: If you enabled auto-negotiation and link training in your design, follow the hardware design example steps described in Hardware Design Example. - Run one of the following commands.
- If you use the internal serial loopback, enter
run_test
- If you inserted an external loopback plug into the desired Ethernet port, enter
run_test_without_loopback
- If you use the internal serial loopback, enter
The hardware design example uses run_test command to initiate packet transmission from packet generator to the IP core. Specifically, the script performs the following steps:
- chkphy_status: Displays the clock frequencies and PMA PHY lock status.
- chkmac_status: Displays the MAC statistics counters.
- clear_all_stats: Clears the IP core statistics counters.
- start_pkt_gen: Starts the packet generator.
- stop_pkt_gen: Stops the packet generator.
- internal_loop_back_bk Instance_number no_of_lanes: Enables the internal loop back for FHT variant.
- internal_loop_back_ux Instance_number ip_base_addr no_of_lanes lane_x lany_y: Enables the internal loop back for FGT variant.
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 ---------------------
Note: Clock frequency readout must be scaled for display, if i_reconfig _clk is not 100MHz. For example, if i_reconfig _clk is 250MHz, the display should be scaled by x 2.5.