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 AMD 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 Syntax
-
Not applicable
- 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
- Place Design