Using DIRECT_ENABLE and DIRECT_RESET - Using DIRECT_ENABLE and DIRECT_RESET - 2026.1 English - UG1387

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

Document ID
UG1387
Release Date
2026-07-22
Version
2026.1 English

To use control set mapping, you can apply attributes to the nets connected to enable/reset signals. This forces synthesis to use the CE/R pin.

In the following figure, the enable signal (en) connects to only one flip-flop. Therefore, the synthesis engine connected the en signal to the FDRE/D pin cone of logic. The logic 1 ties to the CE pin.

Figure 1. Clock Enable Implementation Using Datapath Logic

To override this default behavior, you can use the DIRECT_ENABLE attribute. For example, the following figure shows how to connect the enable signal (en) to the CE pin of the register by adding the DIRECT_ENABLE attribute to the port/signal.

Figure 2. Dedicated Clock Enable Implementation Using direct_enable

The following figure shows RTL code in which either global_rst or int_rst can reset the register. By default, the tool maps both to the reset pin cone of logic.

Figure 3. Multiple Reset Conditions Mapped Through Datapath Logic

You can use the DIRECT_RESET attribute to specify which reset signal to connect to the register reset pin. The following figure shows how to use the DIRECT_RESET attribute. It connects only the global_rst signal to the register FDRE/R pin. It connects the int_rst signal to the FDRE/D cone of logic.

Figure 4. Dedicated Reset Pin Usage Using DIRECT_RESET Attribute