7.1 move_block
PDC command; moves a block from its original, locked placement by preserving the relative placement between the instances. You can move the block to the left, right, up, or down.
Argument
- -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 of the Libero SoC v11.8 Chip Planner User Guide.
- -up y
- Moves the block up the specified number of rows. The value must be a positive integer.
- -down y
- Moves the block down the specified number of rows. The value must be a positive integer.
- -left x
- Moves the block left the specified number of columns. The value must be a positive integer.
- -right x
- Moves the block right the specified number of columns. 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 following table lists the acceptable values for this argument:
Value | Description |
---|---|
move | Moves the entire block. |
keep | Moves only the logic portion of the block (COMB/SEQ) and keeps the rest locked in the same previous location, if there is no conflict with other blocks. |
unplace | Moves only the logic portion of the block (COMB/SEQ) and unplace the rest of it, such as I/Os and RAM. |
Supported Families
The move_block
PDC command supports the following families:
- SmartFusion2
- IGLOO2
- RTG4
- SmartFusion
- IGLOO
- ProASIC3
- Fusion
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.
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 ChipPlanner 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 have moved a part of a block, you can unplace the remaining parts of the block and then place them manually as necessary.
Exceptions
Following are the exceptions:
- You must import this PDC command as a source file, not as an auxiliary file.
- You must use this PDC command if you want to preserve the relative placement and routing (if possible) of a block you are instantiating many times in your design as only one instance will be preserved by default. To preserve other instances, move them using PDC command.
move_block -inst_name
instA -right 12 -up 3 -non_logic move
.move_block -inst_name instA –right 24 –up 6 –non_logic unplace
.