21.6.21 SYNTHESIZE
(Ask a Question)Description
"SYNTHESIZE" is a command tool used in configure_tool and run_tool. Configure_tool is a general purpose Tcl command that allows you to configure a tool’s parameters and values prior to executing the tool. Configure tool then executes the specified tool with the configured parameters with run_tool command.
configure_tool -name {SYNTHESIZE} [-params {name:value}]
run_tool -name {SYNTHESIZE} Arguments
| Parameter | Type | Description | 
|---|---|---|
| CLOCK_ASYNC | integer | Specifies the threshold value for asynchronous pin promotion to a global net. The default is 12. | 
| CLOCK_GLOBAL | integer | Specifies the threshold value for Clock pin promotion. The default is 2. | 
| CLOCK_DATA | integer | Specifies the threshold value for data pin promotion.The default is 5000. The possible values are integer values between 1000 and 200,000. | 
| RAM_OPTIMIZED_FOR_POWER | boolean | Set to true or 1 to optimize RAM for Low Power; RAMS are inferred and configured to ensure the lowest power consumption. Set to false or 0 to optimize RAM for High Speed at the expense of more FPGA resources. The possible values are boolean {true | false | 1 | 0}. | 
| RETIMING | boolean | Set to true or 1 to enable Retiming during synthesis. Set to false or 0 to disable Retiming during synthesis. The possible values are boolean {true | false | 1 | 0}. | 
| SYNPLIFY_OPTIONS | string | Specifies additional synthesis-specific options. Options specified by this parameter override the same options specified in the user Tcl file if there is a conflict. | 
| SYNPLIFY_TCL_FILE | string | Specifies the absolute or relative path name to the user Tcl file containing synthesis-specific options. | 
| BLOCK_MODE | boolean | Set to true or 1 when you have blocks in your design and you want to enable the Block mode. Set it to false or 0 if you don’t have blocks in your design. Default is false or 0. The possible values are boolean {true | false | 1 | 0}. | 
| BLOCK_PLACEMENT_CONFLICTS | string | Instructs the COMPILE engine what to do when the software encounters a placement conflict. When set to: ERROR - Compile errors out if any instance from a Designer block becomes unplaced. This is the default.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. The possible values are {ERROR | KEEP | LOCK | DISCAR D}. | 
| BLOCK_ROUTING_CONFLICTS | string | Instructs the COMPILE engine what to do when the software encounters a routing conflict. When set to: ERROR - Compile errors out if any route in any preserved net from a Designer block is deleted. This is the default. KEEP – If a route is removed from a net for any reason, the routing for the non-conflicting nets is kept unlocked. 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. DISCARD - Discards any routing from the block,even if there are no conflicts. The possible values are {ERROR | KEEP | LOCK | DISCAR D}. | 
| PA4_GB_COUNT | integer | The number of available global nets is reported. Minimum for all dies is “0”. Default and Maximum values are die-dependent: 005/010 die: Default =Max = 8 025/050/060/090/150 die: Default=Max=16 RT4G075/RT4G150: Default=24, Max=48.Note: For RTG4, default is 48. | 
| PA4_GB_MAX_RCLKINT_INSERTION | integer | Specifies the maximum number of global nets that could be demoted to row-globals. Default is 16, Minis 0 and Max is 50. | 
| PA4_GB_MIN_GB_FANOUT_TO_USE_RCLKINT | integer | Specifies the Minimum fanout of global nets that could be demoted to row-globals. Default is 300.Min is 25 and Max is 5000. | 
| LANGUAGE_SYSTEM_VLOG | boolean | Set to true if the Verilog files contain System Verilog constructs. The possible values are boolean {true | false}. | 
| LANGUAGE_VERILOG_2001 | boolean | Set to true if Verilog files contain Verilog 2001 constructs. The possible values are boolean {true | false}. | 
| CDC_MIN_NUM_SYNC_REGS | integer  | Minimum number of synchronizer registers. Range: 2 - 9. Default: 2  | 
| CDC_REPORT | boolean | The generated CDC report will not contain any synchronizer circuits formed with macros instantiated from the catalog. The generated report, with the name   | 
| Return Type | Description | 
|---|---|
| Integer | Both for "configure_tool -name {SYNTHESIZE}" and "run_tool -name {SYNTHESIZE}" returns 0 on success and 1 on failure. | 
Error Codes
| Error Code | Description | 
|---|---|
| None | Parameter 'params' has illegal value. | 
| None | Required parameter 'params' is missing. | 
| None | Parameter 'name' has illegal value. | 
| None | Parameter 'param_name' is not defined. Valid command formatting is 'configure_tool -name "tool name" [-params "params"]+'. | 
| None | RETIMING is set to an illegal value value. Legal value are true, false, 0 or 1. | 
| None | RETIMING has no value. Legal values are true, false, 0 or 1. | 
| None | RAM_OPTIMIZED_FOR_POWER is set to an illegal value value. Legal value are true, false, 0 or 1. | 
| None | RAM_OPTIMIZED_FOR_POWER has no value. Legal values are true, false, 0 or 1. | 
| None | PA4_GB_MIN_GB_FANOUT_TO_USE_RCLKINT is set to an illegal value value. Legal value must be between 25 and 5000. | 
| None | PA4_GB_MIN_GB_FANOUT_TO_USE_RCLKINT has no value. Legal value must be between 25 and 5000. | 
| None | PA4_GB_MAX_RCLKINT_INSERTION has no value. Legal value must be between 0 and 50. | 
| None | CLOCK_GLOBAL is set to an illegal value value. Legal value must be between 2 and 200000. | 
| None | CLOCK_GLOBAL has no value. Legal value must be between 2 and 200000. | 
| None | CLOCK_DATA is set to an illegal value value. Legal value must be between 1000 and 200000. | 
| None | CLOCK_DATA has no value. Legal value must be between 1000 and 200000. | 
| None | CLOCK_ASYNC is set to an illegal value value. Legal value must be between 12 and 200000. | 
| None | CLOCK_ASYNC has no value. Legal value must be between 12 and 200000. | 
| None | BLOCK_ROUTING_CONFLICTS is set to an illegal value value. Legal values for BLOCK_ROUTING_CONFLICTS are ERROR, LOCK, KEEP and DISCARD. | 
| None | BLOCK_ROUTING_CONFLICTS has no value. Legal values for BLOCK_ROUTING_CONFLICTS are ERROR, LOCK, KEEP and DISCARD. | 
| None | BLOCK_PLACEMENT_CONFLICTS is set to an illegal value value. Legal values for BLOCK_PLACEMENT_CONFLICTS are ERROR, LOCK, KEEP and DISCARD. | 
| None | BLOCK_PLACEMENT_CONFLICTS has no value. Legal values for BLOCK_PLACEMENT_CONFLICTS are ERROR, LOCK, KEEP and DISCARD. | 
| None | BLOCK_MODE is set to an illegal value value. Legal value are true, false, 0 or 1. | 
Supported Families
| Supported Families | 
|---|
| PolarFire® | 
| PolarFire SoC | 
| RTG4™ | 
| SmartFusion® 2 | 
| IGLOO® 2 | 
Example
Configure "SYNTHESIZE" tool and run.
configure_tool -name {SYNTHESIZE} \ -params {BLOCK_MODE:false} \ 
               -params {BLOCK_PLACEMENT_CONFLICTS:ERROR} \
               -params {BLOCK_ROUTING_CONFLICTS:ERROR} \
               -params {CLOCK_ASYNC:12} -params {CLOCK_DATA:5010} \
               -params {CLOCK_GLOBAL:2} \
               -params {PA4_GB_MAX_RCLKINT_INSERTION:16} \
               -params {PA4_GB_MIN_GB_FANOUT_TO_USE_RCLKINT:299} \
               -params {RAM_OPTIMIZED_FOR_POWER:false} \
               -params {RETIMING:false} \
               -params {SYNPLIFY_TCL_FILE:./test.tcl} \
               -params {SYNPLIFY_OPTIONS:set_option \
               -run_prop_extract 1;
               set_option -maxfan 10000;
               set_option -clock_globalthreshold 2;
               set_option -async_globalthreshold 12;
               set_option -globalthreshold 5000;
               set_option -low_power_ram_decomp 0;} run_tool -name {SYNTHESIZE}To configure Synthesis tool for adding the IDC file:
configure_tool -name {SYNTHESIZE} -params {ACTIVE_IMPLEMENTATION:synthesis}
-params {CREATE_IMPLEMENTATION_IDENTIFY:Synthesis_Jan27_N} -params
{SYNPLIFY_OPTIONS:} -params {SYNPLIFY_TCL_FILE:D:/Syn_27.tcl}
            
set_option -ident_constraint  D:/MK.idc