E-tile Hard IP Intel® Stratix® 10 Design Examples User Guide: Ethernet, CPRI PHY, and Dynamic Reconfiguration
A newer version of this document is available. Customers should click here to go to the newest version.
Visible to Intel only — GUID: vsn1526450038286
Ixiasoft
Visible to Intel only — GUID: vsn1526450038286
Ixiasoft
2.3.1.4. E-Tile Hard IP for Ethernet Intel FPGA IP 100GE OTN with Optional RS-FEC Simulation Design Example
- Under the IP tab:
- Single 100GE with optional RSFEC or 100GE or 1 to 4 channel 10GE/25GE with optional RSFEC and PTP as the core variant.
- 100GE Channel as Active channel(s) at startup if you choose 100GE or 1 to 4 channel 10GE/25GE with optional RSFEC and PTP as the core variant.
- Under the 100GE tab:
- 100G as the Ethernet rate.
- OTN, OTN+(528,514)RSFEC, or OTN+(544,514)RSFEC as the Ethernet IP layer.
The testbench sends traffic through the IP core with OTN mode, exercising the transmit side and receive interface using a separate E-Tile Hard IP for Ethernet Intel FPGA IP MAC as a stimulus generator.
The successful test run displays output confirming the following behavior:
- The client logic resets both the IP cores.
- The stimulus client logic waits for the stimulus RX datapath and OTN RX datapath to align.
- Once alignment is complete, the stimulus client logic transmits a series of packets to the OTN IP core.
- The OTN IP core receives the series of packets and transmits back to the stimulus MAC IP core.
- The stimulus client logic then checks the number of packets received and verify that the packets have no errors.
- Displaying Testbench complete.
The following sample output illustrates a successful simulation test run for a 100GE OTN IP core variation.
# test_dut: def_100G_o_tx_lanes_stable is 1 at time 345685000
# test_dut: waiting for tx_dll_lock....
# dut: o_tx_lanes_stable is 1 at time 345685000
# dut: waiting for tx_dll_lock....
# dut: TX DLL LOCK is 1 at time 398849563
# dut: waiting for tx_transfer_ready....
# dut: TX transfer ready is 1 at time 399169435
# dut: waiting for rx_transfer_ready....
# dut: RX transfer ready is 1 at time 410719813
# dut: EHIP PLD Ready out is 1 at time 410776000
# dut: EHIP reset out is 0 at time 411040000
# dut: EHIP reset ack is 0 at time 412282101
# dut: EHIP TX reset out is 0 at time 413160000
# dut: EHIP TX reset ack is 0 at time 462643731
# dut: waiting for EHIP Ready....
# dut: EHIP READY is 1 at time 462750387
# dut: EHIP RX reset out is 0 at time 463088000
# dut: waiting for rx reset ack....
# dut: EHIP RX reset ack is 0 at time 463283667
# dut: Waiting for RX Block Lock
# test_dut: TX DLL LOCK is 1 at time 475452243
# test_dut: waiting for tx_transfer_ready....
# test_dut: TX transfer ready is 1 at time 475772115
# test_dut: waiting for rx_transfer_ready....
# test_dut: RX transfer ready is 1 at time 487164223
# test_dut: EHIP PLD Ready out is 1 at time 487224000
# test_dut: EHIP reset out is 0 at time 487488000
# test_dut: EHIP reset ack is 0 at time 488907771
# test_dut: EHIP TX reset out is 0 at time 489784000
# test_dut: EHIP TX reset ack is 0 at time 539116083
# test_dut: waiting for EHIP Ready....
# test_dut: EHIP READY is 1 at time 539169411
# test_dut: EHIP RX reset out is 0 at time 539512000
# test_dut: waiting for rx reset ack....
# test_dut: EHIP RX reset ack is 0 at time 539702691
# test_dut: Waiting for RX Block Lock
# dut: EHIP RX Block Lock is high at time 542102451
# dut: Waiting for AM lock
# test_dut: EHIP RX Block Lock is high at time 542735721
# test_dut: Waiting for AM lock
# dut: EHIP RX AM Lock is high at time 543368991
# dut: Waiting for RX alignment
# dut: RX deskew locked
# dut: RX lane aligmnent locked
# dut: *****************************************
# test_dut: EHIP RX AM Lock is high at time 549068421
# test_dut: Waiting for RX alignment
# test_dut: RX deskew locked
# test_dut: RX lane aligmnent locked
# test_dut: ** Sending Packet 1...
.
.
.
# test_dut: ** Sending Packet 9...
# test_dut: ** Sending Packet 10...
# test_dut: ** Received Packet 1...
.
.
.
# test_dut: ** Received Packet 9...
# test_dut: ** Received Packet 10...
# test_dut: **
# test_dut: ** Testbench complete.
# test_dut: **
# test_dut: *****************************************