# move_block

## Description

This command moves a block from its original, locked position to a new position.

You can move the entire block or just the logic part of it. You must use the -non_logic argument to specify what to do with the non-logic part of the block. You can find placement information about the block in the Block report.

From the Tools menu in the designer software, choose Reports > Block > Interface to display the report that shows the location of the blocks.

The -up, -down, -left, and -right arguments enable you to specify how to move the block from its original placement. You cannot rotate the block, but the relative placement of macros within the block will be preserved and the placement will be locked. However, routing will be lost. You can either use the Chip Planner tool or run a Block report to determine the location of the block.

The -non_logic argument enables you to move a block that includes non-logic instances, such as RAM or I/Os that are difficult to move. Once you move a part of the block, you can move the remaining parts of the block and then place them manually as necessary.

Note: Microchip recommends that you move the block left or right by increments of 12. If not, placement might be failed because it violates clustering constraints. Also, Microchip recommends that you move the block up or down by increments of three.
move_block -inst_name instance_name -up y -down y -left x -right x -non_logic 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 Compile report or look at the names shown in the Block tab. For more information, see Chip Planner User Guide.
-up y Moves the block to the specified number of rows up. The value must be a positive integer.
-down y Moves the block to the specified number of rows down. The value must be a positive integer.
-left x Moves the block left the specified number of rows. The value must be a positive integer.
-right x Moves the block right the specified number of rows. The value must be a positive integer.
-non_logic value Specifies what to do with the non-logic part of the block, if one exists. The acceptable values for this argument are:
• move - Move the entire block.
• keep - Move only the logic portion of the block (COMB/SEQ) and keep the rest locked in the same previous location, if there is no conflict with other blocks.
• unplace - Move only the logic portion of the block (COMB/SEQ) and unplace the rest of it, such as I/Os and RAM.

## Exceptions

• You must import the PDC command as an NDC file.
• You must use the PDC command if you want to preserve the relative placement of a block you are instantiating many times in the design. Only one instance will be preserved by default. To preserve other instances, you must move them using this command.

## 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 moves only the logic portion of the block and unplaces the rest by 24 columns to the right and 6 rows up.

move_block -inst_name instA –right 24 –up 6 –non_logic unplace

## Supported Families

Supported Families Supported Versions
PolarFire FPGAs v12.4+