MBUFG Primitive Usage Rules in DFX Designs - 2023.2 English

Versal Adaptive SoC Hardware, IP, and Platform Development Methodology Guide (UG1387)

Document ID
Release Date
2023.2 English

The MBUFG primitive in Versal devices allows clock division at the leaf level to reduce clock track utilization and improve timing closure on synchronous CDCs. For DFX designs, MBUFG optimization is allowed only for static clock nets, internal RM clock nets, or usage of only the undivided O1 output at the RP boundary. Boundary clock nets can continue to use BUFGCE_DIV/MMCM/PLL clocking primitives for clock division. However, this results in reduced QoR benefits compared to using MBUFG primitives, because MBUFGs provide common clock nodes closer to loads at the leaf level. Therefore, AMD recommends using MMCM/PLL clocking primitives inside partitions in the DFX design to convert boundary clock nets to internal clock nets, which can leverage the full set of MBUFG optimizations provided by the Vivado tools. Special handling is required to ensure that BUFDIV_LEAF dividers are reset to their startup state during partial PDI download. For information on resetting BUFDIV_LEAF buffers, see Clock Primitives.