BUFGMUX and BUFGMUX_1

UltraScale Architecture Clocking Resources User Guide (UG572)

Document ID
UG572
Release Date
2023-02-01
Revision
1.10.2 English

BUFGMUX is a clock buffer with two clock inputs, one clock output, and a select line. This primitive is based on BUFGCTRL with some pins connected to logic High or Low.

This Figure illustrates the relationship of BUFGMUX and BUFGCTRL. The LOC constraint is available for manually placing the BUFGMUX and BUFGCTRL locations. See the Vivado Design Suite User Guide: Using Constraints (UG903) [Ref 4] for more information.

Figure 2-9: BUFGMUX as BUFGCTRL

X-Ref Target - Figure 2-9

X16670-bufgmux-bufgctrl-block.jpg

IMPORTANT: Because BUFGMUX uses the CE pins as select pins, when using the select, the setup time requirement must be met. Violating this setup time can result in a glitch.

Switching conditions for BUFGMUX are the same as the CE pins on BUFGCTRL. This Figure illustrates the timing diagram for BUFGMUX.

Figure 2-10: BUFGMUX Timing Diagram

X-Ref Target - Figure 2-10

X16671-bufgmux-timing.jpg

In This Figure :

The current clock is I0.

S is activated High.

If I0 is currently High, the multiplexer waits for I0 to deassert Low.

After I0 is Low, the multiplexer output stays Low until I1 transitions from High to Low.

When I1 transitions from High to Low, the output switches to I1.

If setup/hold times are met, no glitches or short pulses can appear on the output.

BUFGMUX_1 is rising-edge sensitive and held at High prior to input switch. This Figure illustrates the timing diagram for BUFGMUX_1. The LOC constraint is available for manually placing the BUFGMUX and BUFGMUX_1 locations. See the Vivado Design Suite User Guide: Using Constraints (UG903) [Ref 4] for more information.

Figure 2-11: BUFGMUX_1 Timing Diagram

X-Ref Target - Figure 2-11

X16672-bufgmux-1-timing.jpg

In This Figure :

The current clock is I0.

S is activated High.

If I0 is currently Low, the multiplexer waits for I0 to be asserted High.

After I0 is High, the multiplexer output stays High until I1 transitions from Low to High.

When I1 transitions from Low to High, the output switches to I1.

If setup/hold times are met, no glitches or short pulses can appear on the output.

Table: BUFGMUX Attributes summarizes the attributes for the BUFGMUX primitive.

Table 2-4: BUFGMUX Attributes

Attribute Name

Description

Possible Values

CLK_SEL_TYPE

Specifies synchronous or asynchronous clock switching.

SYNC (default), ASYNC