Static Routing Across SLR Boundaries Using USER_SLL_GUIDANCE - Static Routing Across SLR Boundaries Using USER_SLL_GUIDANCE - 2026.1 English - UG909

Vivado Design Suite User Guide: Dynamic Function eXchange (UG909)

Document ID
UG909
Release Date
2026-07-01
Version
2026.1 English

The USER_SLL_GUIDANCE is an advanced DFX property that lets users control which configurable logic element (CLE) exit sites are used by static net for super logic region (SLR) crossings. This property is intended for designs where the standard methodology of leaving one clock region at SLR boundaries for minimum static net crossing is not feasible.

To use the USER_SLL_GUIDANCE property, you must understand the static netlist placement across various SLRs and the number of static nets requiring SLR crossing. The number of static nets that can cross an SLR depends on the number of UBUMP nodes available in that super long lines (SLL) tile. You must remove the programmable unit (PU) of the CLE from the reconfigurable partition (RP) Pblock so that it becomes part of the static region and can be used for SLR exit.

Note: USER_SLL_GUIDANCE is a hard constraint. If the router cannot honor the provided guidance, it errors out and stops routing.

Use the following methodology to apply USER_SLL_GUIDANCE:

  1. Analyze static net placement. Identify the static nets that need to cross SLR boundaries and determine the SLRs they traverse.
  2. Identify valid SLL tiles. Based on the placement of static logic, get the valid SLL tiles that can cross the SLR.
  3. Identify exit slice sites. Determine the slice sites adjacent to the identified SLL tile that serve as exit points for the SLL nodes.
  4. Resize the RP Pblock. Remove the PU of the identified slice site(s) from the RP Pblock so they become part of the static region.
  5. Apply the USER_SLL_GUIDANCE property to the static net.

Syntax

  • resize_pblock <rp_pblock> -remove "[get_sites -of_objects [get_dfx_footprint -pu -of_objects [get_tiles -of_objects [get_sites <SLICE_site>]]]" 
  • set_property USER_SLL_GUIDANCE 
    "<SLICE_site>" 
    [get_nets <static_slrcross_net>] 

Examples

The following examples show how to apply USER_SLL_GUIDANCE:

  1. Single SLR crossing (static-to-static net):
    set_property USER_SLL_GUIDANCE 
    SLICE_X145Y333 
    [get_nets net_1]
  2. Multi-SLR crossing net: For nets that cross multiple SLR boundaries, the guidance must include exit sites in each SLR along the path:
    set_property USER_SLL_GUIDANCE 
    "<SLICE_site_SLRm> <SLICE_site_SLRn>" 
    [get_nets <static_slrcross_net>]
The following example shows a static net that requires SLR crossing in SLR1 through SLICE_X145Y333 and SLR2 through SLICE_X144Y621:
set_property USER_SLL_GUIDANCE 
"SLICE_X145Y333 SLICE_X144Y621" 
[get_nets net_2]