VPR Constraints

VPR allows users to run the flow with placement constraints that enable primitives to be locked down to a specific region on the chip and global routing constraints that facilitate the routing of global nets through clock networks.

Users can specify these constraints through a constraints file in XML format, as shown in the format below.

Listing 10 The overall format of a VPR constraints file
1<vpr_constraints tool_name="vpr">
2    <partition_list>
3      <!-- Placement constraints are specified inside this tag -->
4    </partition_list>
5    <global_route_constraints>
6      <!-- Global routing constraints are specified inside this tag -->
7    </global_route_constraints>
8</vpr_constraints>

Note

Use the VPR option vpr --read_vpr_constraints to specify the VPR constraints file that is to be loaded.

The top-level tag is the <vpr_constraints> tag. This tag can contain <partition_list> and <global_route_constraints> tags. The <partition_list> tag contains information related to placement constraints, while <global_route_constraints> contains information about global routing constraints. The details for each of these constraints are given in the respective sections Placement Constraints and Global Route Constraints.