compile

Performs design rule check on the input netlist. Compile also performs some optimizations on the design through logic combining and buffer tree modifications. Compile options vary by family.

Supported Families

Compile Tcl arguments available for MX, SX, SX-A, and eX

compile -nl_pins_overwrite

Arguments

-nl_pins_overwrite
 

Overwrites the imported netlist with the changes made in PinEditor.

Exceptions

Example

if  { [catch { compile nl_pins_overwrite }] {

              Puts Failed compile

              # Handle Failure

} else {

              puts Compile successful

              # Proceed to Layout

}

 

Compile Tcl arguments available for Axcelerator

compile -combine_register

-pdc_abort_on_error value

Arguments

-combine_register value

The value should be ON for this optimization to take effect.

The following table shows the acceptable values for this argument:

 

Value

Description

on

Combines registers at the I/O into I/O-Registers.

off

Does not combine registers at the I/O

 

-pdc_abort_on_error value

The value should be ON for this optimization to take effect.

The following table shows the acceptable values for this argument:

 

Value

Description

on

Aborts the PDC import when an error is encountered. When this option is ON, the PDC file is either imported fully or the design is left untouched.

off

Continues import of PDC file, regardless of error.

Exceptions

None

Example

compile -combine_register ON

Compile Tcl arguments available for ProASIC and ProASICPLUS

compile -ram_io_region <ON|OFF>

Arguments

-ram_io_region value

 

The following table shows the acceptable values for this argument:

 

Value

Description

ON

Includes RAM and I/O in the use_global and set_net_region constraints and in spines (LocalClock regions) created with the ChipPlanner tool in the MultiView Navigator

OFF

Does not include RAM and I/O in the use_global and set_net_region constraints and in spines (LocalClock regions) created with the ChipPlanner tool in the MultiView Navigator.

 

Default: ON for new designs; OFF for designs created with Designer v5.1 and earlier.  

Exceptions

None

Example

compile -ram_io_region OFF

        

compile -ram_io_region ON

Compile Tcl arguments available for ProASIC3/E and Fusion

compile
-pdc_abort_on_error value

    -pdc_eco_display_unmatched_objects value

    -pdc_eco_max_warnings value

    -demote_globals value

    -demote_globals_max_fanout value  

    -promote_globals value

    -promote_globals_min_fanout value  

    -promote_globals_max_limit value  

    -localclock_max_shared_instances value  

    -localclock_buffer_tree_max_fanout value  

    -combine_register value  

    -delete_buffer_tree value

    -delete_buffer_tree_max_fanout value

    -report_high_fanout_nets_limit value

Arguments

-pdc_abort_on_error value

 

Changes the “Abort on PDC error” behavior. The following table shows the acceptable values for this argument:

 

Value

Description

ON

Stops the flow if any error is reported in reading your PDC file

OFF

Skips errors in reading your PDC file and just report them as warnings.

 

Default: ON
 

Note: The flow always stops in the following two cases (even if this option is OFF):

-pdc_eco_display_unmatched_objects value

 

Displays netlist objects in PDC that are not found in the imported netlist during Compile ECO mode.The following table shows the acceptable values for this argument:

 

Value

Description

ON

Reports netlist objects not found in the current netlist when reading the internal ECO PDC constraints

OFF

Specifies not to report netlist objects not found in the current netlist when reading the internal ECO PDC constraints

 

Default: OFF   

 

-pdc_eco_max_warnings value

 

Defines the maximum number of errors/warnings in Compile ECO mode.

The value is the maximum number of error/warning messages to be displayed in the case of reading ECO constraints.

Default: 10000

 

-demote_globals value
 

Enables/disables global clock demotion of global nets to regular nets. The following table shows the acceptable values for this argument:

 

Value

Description

OFF

Disables global demotion of global nets to regular nets

ON

Enables global demotion of global nets to regular nets

 

 

Default: OFF

 

-demote_globals_max_fanout value
 

Defines the maximum fanout value of a demoted net;where value is the maximum value
Default: 12

 

Note: A global net is not automatically demoted (assuming the option is on) if the resulting fanout of the demoted net (if it was demoted) is greater than the max fanout value. Actel recommends that the automatic global demotion only act on small fanout nets. Actel recommends that you drive high fanout nets with a clock network in the design to improve routability and timing.

 

-promote_globals value
 

Enables/disables global clock promotion. The following table shows the acceptable values for this argument:

 

Value

Description

ON

Enables global promotion of nets to global clock network

OFF

Disables global promotion of nets to global clock network

 

Default: OFF

 

-promote_globals_min_fanout value
 

Defines the minimum fanout of a promoted net; where value is the minimum fanout of a promoted net.
Default:200

 

-promote_globals_max_limit value
 

Defines the maximum number of nets to be automatically promoted to global The default value is 0. This is not the total number as nets need to satisfy the minimum fanout constraint to be promoted. The promote_globals_max_limit value does not include globals that may have come from either the netlist or PDC file (quadrant clock assignment or global promotion).

 

Note: Demotion of globals through PDC or Compile is done before automatic global promotion is done.

You may exceed the number of globals present in the device if you have nets already assigned to globals or quadrants from the netlist or by using a PDC file. The automatic global promotion adds globals on what already exists in the design.

 

-localclock_max_shared_instances value
 

Defines the maximum number of shared instances allowed to perform the legalization. This option is also available for quadrant clocks.

value is the maximum number of instances allowed to be shared by 2 LocalClock nets assigned to disjoint regions to perform the legalization (default is 12, range is 0-1000). If the number of shared instances is set to 0, no legalization is performed.

 

Note: If you assign quadrant clocks to nets using MultiView Navigator, no legalization is performed.

 

-localclock_buffer_tree_max_fanout value
 

Defines the maximum fanout value used during buffer insertion for clock legalization. This option is also available for quadrant clocks.

Set value to 0 to disable this option and prevent legalization (default value is 12, range is 0-1000). If the value is set to 0, no buffer insertion is performed. If the value is set to 1, there will be one buffer inserted per pin.

 

-combine_register value
 

Combines registers at the I/O into I/O-Registers. The following table shows the acceptable values for this argument:

 

Value

Description

ON

Combines registers at the I/O into I/O-Registers

OFF

Does not optimize and combine registers at the I/O.

 

Default: OFF

 

-delete_buffer_tree value
 

Enables/disables buffer tree deletion on the global signals. The buffer and inverter are deleted. The following table shows the acceptable values for this argument:

 

Value

Description

ON

Enables buffer tree deletion from the netlist

OFF

Disables buffer tree deletion from the netlist

 

Default: OFF

 

-delete_buffer_tree_max_fanout value
 

Defines the maximum fanout of a net after buffer tree deletion;

value is the maximum value; the default value is 12.
 

Note: A net does not automatically remove its buffer tree (assuming the option is on) if the resulting fanout of the net (if the buffer tree was removed) is greater than the max fanout value. Actel recommends that the automatic buffer tree deletion only act on small fanout nets. Actel recommends that you drive high fanout nets with a clock network in the design to improve routability and timing.

 

-report_high_fanout_nets_limit value
 

Enables flip-flop net sections in the compile report and defines the number of nets to be displayed in the high fanout.

Default: 10

Exceptions

None

Examples

compile \

    -pdc_abort_on_error "ON" \

    -pdc_eco_display_unmatched_objects "OFF" \

    -pdc_eco_max_warnings 10000 \

    -demote_globals "OFF" \

    -demote_globals_max_fanout 12 \

    -promote_globals "OFF" \

    -promote_globals_min_fanout 200 \

    -promote_globals_max_limit 0 \

    -localclock_max_shared_instances 12 \

    -localclock_buffer_tree_max_fanout 12 \

    -combine_register "OFF" \

    -delete_buffer_tree "OFF" \

    -delete_buffer_tree_max_fanout 12 \

    -report_high_fanout_nets_limit 10

See Also

Setting Compile Options