KEEP_COMPATIBLE - 2022.1 English

Vivado Design Suite Properties Reference Guide

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

KEEP_COMPATIBLE

During the FPGA design process, you can change the target device when a design decision calls for a larger or different part. The KEEP_COMPATIBLE property defines a list of one or more Xilinx FPGA parts that the current design should be compatible with to permit targeting the design on a different device as needed. This will allow the design to be mapped onto the current part, or any of the compatible parts by preventing the use of IO or PACKAGE_PINs that are not compatible between the specified devices.

The KEEP_COMPATIBLE property lets you define alternate compatible devices early in the design flow so that I/O pin assignments will work across the specified list of compatible devices. The Vivado Design Suite defines package pin PROHIBIT properties to prevent assignment of I/O ports to pins that are not common to all the parts.

Architecture Support

All architectures.

Applicable Objects

current_design

Values

COMPATIBLE_PARTs are defined by a combination of the device and the package of the current target part. For example, the xc7k70tfbg676-2 part has the following properties:

NAME xc7k325tffg676-2

DEVICE xc7k325t

PACKAGE ffg676

COMPATIBLE_PARTS xc7k160tfbg676 xc7k160tffg676 xc7k325tfbg676
                              xc7k410tfbg676 xc7k410tffg676 xc7k70tfbg676

The COMPATIBLE_PARTS property of the part object lists variations of the DEVICE and the PACKAGE, without specifying the SPEED. This results in the following compatible parts:

xc7k160tfbg676-1

xc7k160tfbg676-2

xc7k160tfbg676-2L

xc7k160tfbg676-3

xc7k160tffg676-1

xc7k160tffg676-2

xc7k160tffg676-2L

xc7k160tffg676-3

xc7k325tfbg676-1

xc7k325tfbg676-2

xc7k325tfbg676-2L

xc7k325tfbg676-3

xc7k410tfbg676-1

xc7k410tfbg676-2

xc7k410tfbg676-2L

xc7k410tfbg676-3

xc7k410tffg676-1

xc7k410tffg676-2

xc7k410tffg676-2L

xc7k410tffg676-3

xc7k70tfbg676-1

xc7k70tfbg676-2

xc7k70tfbg676-2L

xc7k70tfbg676-3

Syntax

Verilog and VHDL Syntax

Not applicable

XDC Syntax

set_property KEEP_COMPATIBLE {value1 value2 valueN} [current_design]

Where {value1 value2 valueN} is one or more of the COMPATIBLE_PARTS as defined on the PART object. The COMPATIBLE_PARTs for the target part of the current design can be obtained using the following Tcl command:

get_property COMPATIBLE_PARTS [get_property PART [current_design]]

XDC Syntax Example

set_property KEEP_COMPATIBLE {xc7k160tfbg676 xc7k410tffg676} [current_design]

Affected Steps

I/O Planning

Placement