6.11 Constraints by Name: Netlist Optimization

6.11.1 Delete Buffer Tree

6.11.1.1 Families Supported

The following table shows which families support this constraint and which file formats and tools you can use to enter or modify it:

Families

PDC

GCF

IGLOO

X

SmartFusion

X

Fusion

X

ProASIC3

X

ProASIC PLUS

X

ProASIC

X

Axcelerator

eX

SX-A

SX

MX

3200DX

ACT3

ACT2/1200XL

ACT1

6.11.1.2 Purpose

Use this constraint to remove all buffers and inverters from a given net. In the IGLOO and ProASIC3 architectures, inverters are considered buffers because all tile inputs can be inverted. This rule is also true for all Flash architectures but not for Antifuse architectures.

6.11.1.3 Tools /How to Enter

You can use one or more of the following commands or GUI tools to delete a buffer tree:

  • PDC - delete_buffer_tree
  • GCF - optimize

6.11.2 Demote Global Net to Regular Net

6.11.2.1 Families Supported

The following table shows which families support this constraint and which tools you can use to enter or modify it:

Families

PDC

GCF

Compile Options

IGLOO

X

X

SmartFusion

X

X

Fusion

X

X

ProASIC3

X

X

ProASIC PLUS

X

ProASIC

X

Axcelerator

eX

SX-A

SX

MX

3200DX

ACT3

ACT2/1200XL

ACT1

6.11.2.2 Purpose

Use this constraint either to free up a dedicated clock routing resource by demoting a global net to a regular net or to prevent a clock net from automatically being promoted to a global net.

If there are multiple clocks in a design and not enough clock routing resources, you can demote a global net to a regular net for a clock that does not drive logic through the critical path in a design.

6.11.2.3 Tools /How to Enter

You can use one or more of the following commands or GUI tools to demote a clock net to a regular net:

  • PDC - unassign_global_clock
  • GCF - set_noglobal
  • Compile Options - -demote_globals <value>

6.11.3 Promote Regular Net to Global Net

6.11.3.1 Families Supported

The following table shows which families support this constraint and which tools you can use to enter or modify it:

Families

PDC

GCF

Compile Options

IGLOO

X

X

SmartFusion

X

X

Fusion

X

X

ProASIC3

X

X

ProASIC PLUS

X

ProASIC

X

Axcelerator

eX

SX-A

SX

MX

3200DX

ACT3

ACT2/1200XL

ACT1

6.11.3.2 Purpose

Use this constraint to increase the performance of your design.

If there are enough clock routing resources available in a device, you can promote regular nets that have high fan-out to the dedicated fast clock routing resources which can lead to better performance for your design.

6.11.3.3 Tools /How to Enter

You can use one or more of the following commands or GUI tools to promote a regular net to a global clock net:

  • PDC - assign_global_clock
  • GCF file - set_global (backwards compatible for ProASIC families only)
  • Compile Options - -promote_globals <value>

6.11.4 Restore Buffer Tree

6.11.4.1 Families Supported

The following table shows which families support this constraint and which file formats and tools you can use to enter or modify it:

Families

PDC

GCF

IGLOO

X

SmartFusion

X

Fusion

X

ProASIC3

X

ProASIC PLUS

X

ProASIC

X

Axcelerator

eX

SX-A

SX

MX

3200DX

ACT3

ACT2/1200XL

ACT1

6.11.4.2 Purpose

Use this constraint to undo the operation of a previously specified delete_buffer_tree command. This constraint is useful in the import and merge flow when users want to keep the previous database constraint but want to overwrite just one delete_buffer_tree command.

6.11.4.3 Tools /How to Enter

You can use one or more of the following commands or GUI tools to restore a buffer tree:

  • PDC - dont_touch_buffer_tree
  • GCF - dont_optimize

6.11.5 Set Preserve

6.11.5.1 Families Supported

The following table shows which families support this constraint and which tools you can use to enter or modify it:

Families

PDC

GCF

Compile Options

IGLOO

X

SmartFusion

X

Fusion

X

ProASIC3

X

ProASIC PLUS

ProASIC

Axcelerator

X

eX

SX-A

SX

MX

3200DX

ACT3

ACT2/1200XL

ACT1

6.11.5.2 Purpose

Use this constraint to preserve instances before compiling them so they will not be combined during compile.

6.11.5.3 Tools /How to Enter

You can use the following command to preserve instances:

  • PDC - set_preserve