21.6.12 PLACEROUTE
(Ask a Question)Description
To place and route a design in Libero SoC, you must first configure the "PLACEROUTE" tool with the configure_tool command and then execute the "PLACEROUTE" tool with the run_tool command.
Note: At least one "parameter:value" must be specified. You can repeat
-params
argument for multiple parameters.configure_tool -name {PLACEROUTE} -params {parameter:value}
run_tool -name {PLACEROUTE}
Arguments
The following table list the "PLACEROUTE" arguments for PolarFire.
Parameter | Type | Description |
---|---|---|
TDPR | boolean | Set to true or 1 to enable Timing-Driven Place and Route. Default is true or 1. |
PDPR | boolean | Set to true or 1 to enable Power-Driven Place and Route. Default is false or 0. |
IOREG_COMBINING | boolean | Set to true or 1 to enable I/O Register Combining. Default is false or 0. |
GB_DEMOTION | boolean | Set to true or 1 to enable Global Pins Demotion. Default is true or 1. |
REPLICATION | boolean | Set to true or 1 to enable Driver Replication. Default is false or 0. |
EFFORT_LEVEL | boolean | Set to true or 1 to enable High Effort Layout to optimize design performance. Default is false or 0. |
INCRPLACEANDROUTE | boolean | Set to true or 1 to use previous placement data as the initial placement for the next run. Default is false or 0. This parameter gets reset to false or 0 after each run of Place and Route to prevent inadvertent loss of performance across large design changes. Incremental Place and Route should be used in conjunction with Compile points synthesis. |
REPAIR_MIN_DELAY | boolean | Set to True or 1 to enable Repair Minimum Delay violations. Default is false or 0. |
MULTI_PASS_LAYOUT | boolean | Set to true or 1 to enable Multi-Pass Layout Mode for Place and Route. Default is false or 0. |
NUM_MULTI_PASSES | integer | Specifies the positive number of passes to run. The default is 5. |
START_SEED_INDEX | integer | Indicates the random seed index(positive integer) which is the starting point for the Multi-pass Layout. If not specified, the default behavior is to continue after the last seed index which was used. |
MULTI_PASS_CRITERIA | string | Specifies the criteria used to run multi-pass layout. The acceptable values are the following:
|
SPECIFIC_CLOCK | string | Applies only when MULTI_PASS_CRITERIA is set to SPECIFIC_CLOCK. It specifies the name of the clock in the design used for performance measurement. |
DELAY_ANALYSIS | string | Applies only when MULTI_PASS_CRITERIA is set to VIOLATIONS. Specifies the type of timing violations (slacks) to be examined. The acceptable values are the following:
|
STOP_ON_FIRST_PASS | boolean | Applies only when MULTI_PASS_CRITERIA is set to VIOLATIONS. It stops performing remaining passes if all timing constraints are met (when there are no negative slacks reported in the timing violations report). Note: The type of timing violations (slacks) used is determined by the DELAY_ANALYSIS parameter. |
SLACK_CRITERIA | string | Applies only when MULTI_PASS_CRITERIA is set to VIOLATIONS. Specifies how to evaluate the timing violations (slacks). The acceptable values are the following:
|
RGB_COUNT | integer | Allows an entity to override the placer's RGB/RCLK bandwidth constraint. This option is useful for Block Creation. The possible values for this parameter are 1-18. |
RANDOM_SEED | integer | Sets the actual seed non-negative integer value for next Place and Route run. When MULTI_PASS_LAYOUT is True or 1, the START_SEED_INDEX takes precedence over RANDOM_SEED. It overrides RANDOM_SEED for the first run to $START_SEED_INDEX-1. |
The following table list the "PLACEROUTE" arguments for SmartFusion 2, IGLOO 2 and RTG4.
Parameter | Type | Description |
---|---|---|
TDPR | boolean | Set to true or 1 to enable Timing-Driven Place and Route. Default is true or 1. |
PDPR | boolean | Set to true or 1 to enable Power-Driven Place and Route. Default is false or 0. |
IOREG_COMBINING | boolean | Set to true or 1 to enable I/O Register Combining. Default is false or 0. |
EFFORT_LEVEL | boolean | Set to true or 1 to enable High Effort Layout to optimize design performance. Default is false or 0. |
INCRPLACEANDROUTE | boolean | Set to true or 1 to use previous placement data as the initial placement for the next run. Default is false or 0. |
REPAIR_MIN_DELAY | boolean | Set to True or 1 to enable Repair Minimum Delay violations for the routher when TDPR option is set to true or 1. Default is false or 0. |
NUM_MULTI_PASSES | integer | Specifies the positive number of passes to run. The default is 5. Maximum is 25. |
START_SEED_INDEX | integer | Indicates the random seed index(positive integer) which is the starting point for the passes. Its value should range from 1 to 100. If not specified, the default behavior is to continue from the last seed index which was used. |
MULTI_PASS_LAYOUT | boolean | Set to true or 1 to enable Multi-Pass Layout Mode for Place and Route. Default is false or 0. |
MULTI_PASS_CRITERIA | string | Specifies the criteria used to run multi-pass layout. The acceptable values are the following:
|
SPECIFIC_CLOCK | string | Applies only when MULTI_PASS_CRITERIA is set to SPECIFIC_CLOCK. It specifies the name of the clock in the design used for Timing Violation Measurement. |
DELAY_ANALYSIS | string | Used only when MULTI_PASS_CRITERIA is set to “VIOLATIONS”. Specifies the type of timing
violations (slacks) to be examined. The default is "max."
|
STOP_ON_FIRST_PASS | boolean | Applies only when "MULTI_PASS_CRITERIA" is set to "VIOLATIONS." It stops performing remaining
passes if all timing constraints are met (when there are no negative
slacks reported in the timing violations report). Note: The type of
timing violations (slacks) used is determined by the
"DELAY_ANALYSIS" parameter. |
SLACK_CRITERIA | string | Applies only when "MULTI_PASS_CRITERIA" is set to "VIOLATIONS." Specifies how to evaluate the
timing violations (slacks). The acceptable values are the following:
|
RGB_COUNT | integer | Allows an entity to override the placer's RGB/RCLK bandwidth constraint. This option is useful for Block Creation. The possible values for this parameter are 1-18. |
Return Type | Description |
---|---|
Integer | Returns 0 on success and 1 on failure. |
Error Codes
Error Code | Description |
---|---|
None | EFFORT_LEVEL is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | INCRPLACEANDROUTE is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | MULTI_PASS_CRITERIA is set to an illegal value 'value'. Legal values are SLOWEST_CLOCK, SPECIFIC_CLOCK, VIOLATIONS and TOTAL_POWER. |
None | IOREG_COMBINING is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | PDPR is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | REPAIR_MIN_DELAY is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | SLACK_CRITERIA is set to an illegal value 'value'. Legal values are WORST_SLACK and TOTAL_NEGATIVE_SLACK. |
None | START_SEED_INDEX is set to an illegal value 'value'. Legal values must be between 1 and 101. |
None | STOP_ON_FIRST_PASS is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | TDPR is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | GB_DEMOTION is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | REPLICATION is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | MULTI_PASS_LAYOUT is set to an illegal value 'value'. Legal value are true, false, 0 or 1. |
None | DELAY_ANALYSIS is set to an illegal value 'value'. Legal values are MAX and MIN. |
Supported Families
Supported Families |
---|
PolarFire® |
PolarFire SoC |
RTG4™ |
SmartFusion® 2 |
IGLOO® 2 |
Example
The following example configures "PLACEROUTE" for PolarFire:
configure_tool -name {PLACEROUTE} \
-params {TDPR:true} \
-params {EFFORT_LEVEL:true} \
-params {GB_DEMOTION:true} \
-params {INCRPLACEANDROUTE:false} \
-params {IOREG_COMBINING:false} \
-params {PDPR:false} \
-params {REPAIR_MIN_DELAY:true} \
-params {REPLICATION:false} \
-params {MULTI_PASS_LAYOUT:true} \
-params {MULTI_PASS_CRITERIA:VIOLATIONS} \
-params {NUM_MULTI_PASSES:5} \
-params {SLACK_CRITERIA:WORST_SLACK} \
-params {START_SEED_INDEX:1} \
-params {STOP_ON_FIRST_PASS:false}
run_tool -name {PLACEROUTE}
The following example configures "PLACEROUTE" for SmartFusion 2:
configure_tool -name {PLACEROUTE} \
-params {EFFORT_LEVEL:true} \
-params {INCRPLACEANDROUTE:false} \
-params {IOREG_COMBINING:false} \
-params {MULTI_PASS_CRITERIA:VIOLATIONS} \
-params {MULTI_PASS_LAYOUT:false} \
-params {NUM_MULTI_PASSES:5} \
-params {PDPR:false} \
-params {REPAIR_MIN_DELAY:true} \
-params {SLACK_CRITERIA:WORST_SLACK} \
-params {SPECIFIC_CLOCK:} \
-params {START_SEED_INDEX:1} \
-params {STOP_ON_FIRST_PASS:false} \
-params {TDPR:true}