The following figure shows the example design hierarchy (GT subcore in core).
The preceding figure shows the
instantiation of various modules and their hierarchy in the example design for the
GT subcore in core configuration. The cmac_usplus_0 module instantiates the Integrated 100G Ethernet IP
core and GT along with various helper blocks. Sync registers and pipeline registers
are used for the synchronization of data between the core and the GT. Clocking
helper blocks are used to generate the required clock frequency for the core. The
cmac_usplus_0_pkt_gen_mon module
instantiates cmac_usplus_0_pkt_gen (packet
generator) and cmac_usplus_0_pkt_mon (packet
monitor). The cmac_usplus_0_pkt_gen_mon and
cmac_usplus_0 handshakes with each other
using a few signals, such as GT locked, RX alignment, and data transfer signals as
per LBUS protocol (more on this will be described in later sections). The cmac_usplus_0_pkt_gen module is mainly responsible
for the generation of packets. It contain state machine that monitors the status of
GT and the core (that is, GT lock and RX alignment) and sends traffic to the core.
Similarly, the cmac_usplus_0_pkt_mon module is
mainly responsible for reception and checking of packets from the core. It also
contains a state machine that monitors the status of GT and the core (that is, GT
lock and RX alignment) and receives traffic from the core.
Other optional modules instantiated in the example design are as follows:
- cmac_usplus_0_trans_debug: This module brings out all the DRP ports of the transceiver module out of the core. This module is present in the example design for the following conditions:
- When you select the
Runtime Switchablemode in the AMD Vivado™ Integrated Design Environment (IDE), this module is used to perform the GT DRP writes to change the GT configuration (that is, from CAUI-4 to CAUI-10 / CAUI-10 to CAUI-4). After completion of the DRP write, this module generates thegt_drp_donesignal that is used to reset the GT. - When you select Enable Additional GT Control/Status and DRP Ports in the CMAC/GT Selections and Configuration Tab of the 100G Ethernet IP Vivado IDE.
- cmac_usplus_0_shared_logic_wrapper: When you
select Include Shared Logic in example design in the CMAC/GT Selections and Configuration Tab of the 100G Ethernet IP Vivado IDE, this module
will be available in the example design. This wrapper contains three modules
cmac_usplus_0_clocking_wrapper,cmac_usplus_0_reset_wrapperandcmac_usplus_0_common wrapper. Thecmac_usplus_0_clocking_wrapperhas the instantiation of the IBUFDS for thegt_ref_clkand thecmac_usplus_0_reset_wrapperbrings out the reset architecture instantiated in between the core and the GT. Thecmac_usplus_0_common_wrapperbrings the transceiver common module out of the 100G Ethernet IP core. - Pipeline registers: Single-stage pipeline
registers are introduced between the core and the transceiver when you select
Enable Pipeline register in the CMAC/GT Selections and Configuration Tab. This includes
a one-stage pipeline register between the core macro and the transceiver to ease
timing, using the
gt_txusrclk2andgt_rxusrclk2for the TX and RX paths respectively. - TX/RX Sync register: The TX Sync register double
synchronizes the data between the core and the transceiver with respect to the
tx_clk. The RX Sync register double synchronizes the data between the transceiver and the core with respect to therx_serdes_clk. - rx_ptp_adjust_top: When you select Enable time stamping in the General Tab, this module is present inside the packet monitor module. This soft logic improves timestamp accuracy and compensate for the lane alignment FIFO fill levels by adding or subtracting the relative fill level of the selected lane. This module has a window averaging block with fixed window size of 32.
- cmac_usplus_0_axi4_lite_if_wrapper: When you
select Include AXI4-Lite Control and Statistics Interface in the General Tab, this module will be included inside
cmac_usplus_0_wrapper. This wrapper contains two modulescmac_usplus_0_axi4_lite_reg_mapandcmac_usplus_0_axi4_lite_slave_2_ipif. The details of these modules are described in AXI4-Lite Interface Implementation. - cmac_usplus_0_axi4_lite_user_if: When you select
Include AXI4-Lite Control and Statistics Interface in the General Tab, this module will be present inside the
cmac_usplus_0_pkt_gen_mon. The details of this module is described AXI4-Lite Interface Implementation.