LOC - 2022.1 English

Vivado Design Suite Properties Reference Guide

Document ID
UG912
Release Date
2022-06-08
Version
2022.1 English

LOC

LOC specifies the placement assignment of a logic cell to the SITE resources of the target Xilinx part.

The LOC property or constraint is sometimes used with the BEL property to define the exact placement of cells within the device. In these cases the BEL constraint must be defined before the LOC constraint, or a placement error will occur.

 

TIP:   To assign I/O ports to physical pins on the device package, use the PACKAGE_PIN property rather than LOC.

Architecture Support

All architectures.

Applicable Objects

Cells (get_cells)

°Any primitive cell

Values

Site name (for example, SLICE_X15Y14 or RAMB18_X6Y9)

Syntax

Verilog Syntax

Place the Verilog attribute immediately before the instantiation of a component.

 

TIP:   The Verilog attribute can also be placed before the reg declaration of an inferred register, SRL, or LUTRAM when that reg can be placed into a single device site:

(* LOC = "site_name" *)

// Designates placed_reg to be placed in SLICE site SLICE_X0Y0

(* LOC = "SLICE_X0Y0" *) reg placed_reg;

VHDL Syntax

Declare the VHDL attribute as follows:

attribute LOC : string;

For an instantiated instance, specify the VHDL attribute as follows:

attribute LOC of instance_name : label is "site_name";

Where instance_name is the instance name of an instantiated primitive.

VHDL Syntax Example

-- Designates instantiated register instance placed_reg to be placed

--  in SLICE site SLICE_X0Y0

attribute LOC of placed_reg : label is "SLICE_X0Y0";

For an inferred instance, specify the VHDL attribute as follows:

attribute LOC of signal_name : signal is "site_name";

Where

signal_name is the signal name of an inferred primitive that can be placed into a single site.

VHDL Syntax Example

-- Designates inferred register placed_reg to be placed in SLICE site SLICE_X0Y0

attribute LOC of placed_reg : signal is "SLICE_X0Y0";

XDC Syntax

set_property LOC site_name [get_cells instance_name]

Where

instance_name is a primitive instance.

XDC Syntax Example

# Designates placed_reg to be placed in SLICE site SLICE_X0Y0

set_property LOC SLICE_X0Y0 [get_cells placed_reg]

Affected Steps

Design Floorplanning

Place Design

See Also

BEL, page 157

PACKAGE_PIN, page 324

PBLOCK, page 328