Example Design Hierarchy (GT Subcore in Example Design) - 2.6 English

UltraScale Devices Integrated 100G Ethernet Subsystem Product Guide (PG165)

Document ID
PG165
Release Date
2023-06-15
Version
2.6 English

This Figure shows the instantiation of various modules and their hierarchy in the example design when the GT (serial transceiver) is outside the subsystem, that is, in the example design. This hierarchical example design is delivered when you select the Include GT subcore in example design option from the CMAC/GT Selections and Configuration Tab .

Figure 5-2: Example Design Hierarchy (GT Subcore in Example Design)

X-Ref Target - Figure 5-2

Example_Design_Hierarchy_(GT_Subcore_in_Example_Design).jpg

The cmac_0_core_support.v is present in the hierarchy when you select the Include GT subcore in example design option from the CMAC/GT Selections and Configuration Tab or the Include Shared Logic in example design option from the CMAC/GT Selections and Configuration Tab . This instantiates the cmac_0_shared_logic_wrapper.v module and the cmac_0.v module for the Include Shared Logic in example design option. The cmac_0_gt_wrapper.v module is present when you select the GT subcore in example design option.

The cmac_0 module instantiates cmac_0_wrapper module that contains the CMAC and Sync registers along with the pipeline registers to synchronize the data between the CMAC core and the GT subcore (in the example design). The GT subcore generates the required clock frequencies with help of the clocking helper blocks for the CMAC core. The cmac_0_pkt_gen_mon module instantiates cmac_0_pkt_gen (packet generator) and cmac_0_pkt_mon (packet monitor). The cmac_0_pkt_gen_mon and cmac_0_core_support handshake with each other using several signals such as GT locked, RX alignment and data transfer signals as per LBUS protocol (described in more detail later). The cmac_0_pkt_gen module is mainly responsible for the generation of packets. It contains a state machine that monitors the status of GT and CMAC (that is, GT lock and RX alignment) and sends traffic to the core. Similarly the cmac_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 CMAC (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_0_shared_logic_wrapper : When you select Include GT subcore in example design or 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_0_clocking_wrapper , cmac_0_reset_wrapper , and cmac_0_common_wrapper . The cmac_0_clocking_wrapper has the instantiation of the IBUFDS for the gt_ref_clk , and the cmac_0_reset_wrapper brings out the reset architecture instantiated between the core and the GT. The cmac_0_common_wrapper brings the transceiver common module out of the 100G Ethernet subsystem.

cmac_0_gt_wrapper : This module is present in the example design when you select the Include GT subcore in example design option from the CMAC/GT Selections and Configuration Tab . This module is having instantiations of the GT along with various helper blocks. The clocking helper blocks are used to generate the required clock frequency for the core.