set_block_options

Description

This command enables you to override the compile option for placement or routing conflicts for an instance of a block

set_block_options -inst_name instance_name -placement_conflicts value -routing_conflicts value

Arguments

Parameter Description
-inst_name instance_name Specifies the name of the instance to move. If you do not know the name of the instance, run a Block report (Design > Reports > Block > Interface) or look at the names shown in the Block tab. For more information, see Chip Planner User Guide.
-placement_conflicts value Specifies what to do when the software encounters a placement conflict. The acceptable values for this argument are:
  • error - Compile errors out if any instance from a Designer block becomes unplaced or its routing is deleted. This is the default compile option.
  • resolve - If some instances get unplaced for any reason, the non conflicting elements remaining are also unplaced. Basically, if there are any conflicts, nothing from the block is kept.
  • keep - If some instances get unplaced for any reason, the non conflicting elements remaining are preserved but not locked. Therefore, the placer can move them into another location if necessary.
  • lock - If some instances get unplaced for any reason, the non conflicting elements remaining are preserved and locked.
  • discard - Discards any placement from the block, even if there are no conflicts.
-routing_conflicts value Specifies what to do when the software encounters a routing conflict. The acceptable values for this argument are:
  • error - Compile errors out if any route in any preserved net from a Designer block is deleted.
  • resolve - If a route is removed from a net for any reason, the routing for the non- conflicting nets is also deleted. Basically, if there are any conflicts, no routes from the block are kept.
  • keep - If a route is removed from a net for any reason, the routing for the non- conflicting nets is kept unlocked. Therefore, the router can re-route these nets.
  • lock - If routing is removed from a net for any reason, the routing for the non- conflicting nets is kept as locked, and the router will not change them. This is the default compile option.
  • discard - Discards any routing from the block, even if there are no conflicts.

Exceptions

Example

The following example moves the entire block (instance name instA) 12 columns to the right and 3 rows up.

move_block -inst_name instA -right 12 -up 3 -non_logic move

The following example makes the designer software display an error if any instance from a block becomes unplaced or the routing is deleted.

set_block_options -inst_name instA -placement_conflicts ERROR -routing_conflicts ERROR

Supported Families

Supported Families Supported Versions
PolarFire FPGAs v12.4+

See Also