Up to version 2 of the QSGMII core, the RTL hierarchy for the core was fixed. This resulted in some difficulty because shareable clocking and reset logic needed to be extracted from the core example design for use with a single instance or multiple instances of the core.
Shared logic is a new feature that provides a more flexible architecture that works both as a standalone core and as a part of a larger design with one or more core instances. This minimizes the amount of HDL modifications required, but at the same time retains the flexibility to address more uses of the core.
The new level of hierarchy is called <component_name>_support. The following figures show two
hierarchies where the shared logic block is contained either in the core or in the example
design. In these figures, <component_name> is the name
of the generated core. The difference between the two hierarchies is the boundary of the core.
It is controlled using the Shared Logic option in the Vivado
IDE. In the AMD Versalâ„¢
Adaptive SoC families, the shared logic block is always
present in the example design.