Use Cases - Use Cases - 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

The typical cases for using the false path constraint are as follows:

  • Ignoring timing on a path that is never active. A path crosses two multiplexers. These multiplexers cannot let the data propagate in the same clock cycle. This is due to the select pins connectivity.
    Figure 1. Path Cannot be Sensitized

    set_false_path -through [get_pins MUX0/I0] -through [get_pins MUX1/I1]
  • Ignoring timing on an asynchronous CDC path.
  • Ignoring static paths in the design. Some registers take a value one time during the initialization phase of the application and never toggle again. Ignore them for timing when they appear to be on the critical path of the design. This action relaxes the constraints on the implementation tools and help with timing closure. It is sufficient to define a false path constraint from the static register only, without explicitly specifying the paths endpoints.

    For example, you can ignore the paths from a 32-bit configuration register config_reg[31..0] to the rest of the design. Add the following false path constraint to achieve this:

    set_false_path -from [get_cells config_reg[*]]