Previous

Appendix A

UCF Syntax

This appendix describes the UCF syntax for constraints created with the Constraints Editor. It contains the following sections.

Groups by Element (Timegrp)

Definition

Specifies a new group in terms of instances (FFS, PADS, RAMS or LATCHES).

UCF Syntax

TIMEGRP identifier= group_name_1 : group_name_2 ...

TIMEGRP identifier= element(out_net)

where:

identifier is the name for the new time group.

group_name_1 and group_name_2 are predefined time groups.

element is FFS, PADS, RAMS or LATCHES.

out_net is the output net of the element.

Groups by Nets (TNM)

Definition

Identifies the elements that make up a group which can then be used in a timing specification. A TNM (pronounced tee-name) is a flag that you place directly on your schematic to tag a specific net, element pin, primitive or macro. All symbols tagged with the TNM identifier are considered a group.

UCF Syntax

INST instance_name TNM=identifier

NET net_name TNM=identifier

where:

instance_name is the name of a pad, RAM, flip-flop, or latch.

identifier is a value that consists of any combination of letters, numbers, or underscores. Keep it short for convenience and clarity.

net_name is the name of a clock net.

Timing THRU Points (TPTHRU)

Definition

Identifies an intermediate point on a path.

UCF Syntax

INST instance_name TPTHRU=identifier

NET net_name TPTHRU=identifier

where:

identifier is a unique name.

Pad to Setup

Definition

Specifies the timing relationship between an external clock and data at the pins of a device. Operates on pads or predefined groups of pads.

UCF Syntax

TIMEGRP padnet_name OFFSET=IN time unit BEFORE clocknet_name [TIMEGRP reg_group]

TIMEGRP padgroup_name OFFSET=IN time unit BEFORE clocknet_name [TIMEGRP reg_group]

OFFSET IN time unit BEFORE

where:

padgroup_name is the name of a group of pads predefined by the user.

reg_group_name is the name of a group of registers predefined by the user.

For more information on Pad to Setup, see the “From the Global Tab Window” section in the "Using the Constraints Editor" chapter.

Clock to Pad

Definition

Specifies the timing relationship between an external clock and data at the pins of a device. Operates on pads or predefined groups of pads.

UCF Syntax

TIMEGRP padnet_name OFFSET=OUT time unit AFTER clocknet_name [TIMEGRP reg_group]

TIMEGRP padgroup_name OFFSET=OUT time unit AFTER clocknet_name [TIMEGRP reg_group_name]

OFFSET OUT time unit AFTER

where:

padgroup_name is the name of a group of pads predefined by the user.

reg_group_name is the name of a group of registers predefined by the user.

For more information on Clock to Pad, see the “From the Global Tab Window” section in the "Using the Constraints Editor" chapter.

Slow/Fast Path Exceptions (FROM TO)

Definition

Establishes an explicit maximum acceptable time delay between groups of elements.

UCF Syntax

TIMESPEC tsid=FROM source_group time [unit]

TIMESPEC tsid=FROM source_group TO destination_group time [unit]

TIMESPEC tsid=FROM source_group THRU timing point(s) time [unit]

TIMESPEC tsid=FROM source_group THRU timing_point(s) TO destination_group time [unit]

THRU timing_point(s) TO destination_group time [unit]

TO destination_group time [unit]

where:

source_group and destination_group are FFS, RAMS, PADS, or LATCHES, as selected by the user.

timing point(s) are intermediate points as specified by the TPTHRU Points constraint on the Advanced tab window.

Multicycle Paths (FROM/THRU/ TO)

Definition

Establishes a maximum acceptable time delay between groups of elements relative to another timing specification.

UCF Syntax

TIMESPEC tsid=FROM source_group time [unit]

TIMESPEC tsid=FROM source_group TO destination_group time [unit]

TIMESPEC tsid=FROM source_group THRU timing point(s) time [unit]

TIMESPEC tsid=FROM source_group THRU timing_point(s) TO destination_group time [unit]

THRU timing_point(s) TO destination_group time [unit]

TO destination_group time [unit]

where:

source_group and destination_group are FFS, RAMS, PADS, or LATCHES, as selected by the user.

timing point(s) are intermediate points as specified by the TPTHRU Points constraint on the Advanced tab window.

False Paths (FROM TO TIG)

Definition

Marks paths between a source group and a destination group that are to be ignored for timing purposes.

UCF Syntax

NET net_name TIG

False Paths by Net (Net TIG)

Definition

Marks nets that are to be ignored for timing purposes.

UCF Syntax

NET net_name TIG

Period

Definition

Defines a clock period.

UCF Syntax

TIMESPEC tsid=PERIOD clocknet_name | timegroup_name time [unit] [HIGH | LOW high_or_low_time unit]

where:

where id is a unique identifier. The identifier can consist of letters, numbers, or the underscore character (_).

unit is picoseconds, nanoseconds, microseconds, or milliseconds.

HIGH | LOW indicates the high or low state of the first pulse of the wave form.

Location

Definition

Locks a user-defined port to a device pin.

UCF Syntax

LOC=location

where:

location is a device pin identification; for example, A10.

Prohibit I/O Locations

Definition

Disallows the use of an I/O site by PAR (Place and Route) and EPIC (Editor for Programmable Integrated Circuits).

UCF Syntax

CONFIG PROHIBIT=location1, [location2..., locationn]

where

location1, location2, and locationn are I/O sites.