Previous

Syntax Summary

The following sections summarize the syntax for timing constraints.

TNM Attributes

The following table lists the syntax used when creating TNMs, which you enter directly on the primitive symbol, macro symbol, net, or driver pin.

TNM Attribute Syntax
Where Applied
Schematic syntax:
TNM=identifier
TNM=predefined_group identifier

UCF syntax:

{NET | PIN | INSTANCE} name TNM=identifier
{NET | PIN | INSTANCE} name TNM=predefined_group:identifier;
Net, Symbol, Pin, Macro

TIMEGRP Attributes

The following table lists the syntax used with the TIMEGRP primitive.

Group Type
TIMEGRP Attribute Syntax
Combine
Schematic syntax in TIMEGRP primitive:
new_group=group1 group2 [ group3 . . .]

UCF syntax:
TIMEGRP new_group=group1:group2 [ group3 . . .];
Exclude
Schematic syntax in TIMEGRP primitive:
new_group=group1[:group2 . . .] EXCEPT group3[ group4 ...]

UCF syntax:
TIMEGRP new_group=group1[:group2 . . .] EXCEPT group3[ group4 ...];
Clock Edge
(flip-flops)
Schematic syntax in TIMEGRP primitive:
new_group=RISING group1
new_group
=FALLING group1

UCF syntax:
TIMEGRP new_group=RISING group1;
TIMEGRP
new_group=FALLING group1;
Gate Edge
(latches)
Schematic syntax in TIMEGRP primitive:
new_group=TRANSHI group1
new_group
=TRANSLO group1

UCF syntax:
TIMEGRP new_group=TRANSHI group1;
TIMEGRP
new_group=TRANSLO group1;
Pattern Matching
Schematic syntax in TIMEGRP primitive:
new_group=predefined_group (name_qualifier1[ name_qualifier2 . . .])

UCF syntax:
TIMEGRP new_group=predefined_group (name_qualifier1[ name_qualifier2 . . .]);
Net-specific
OFFSETs
Schematic syntax when attached to a net:
OFFSET = {IN|OUT} offset_time [units] {BEFORE|AFTER} clk_name [TIMEGRP group_name]

UCF syntax:
NET name OFFSET = {IN|OUT} offset_time [units] {BEFORE|AFTER} clk_name [TIMEGRP group_name];

PCF syntax:
COMP “iob_name” OFFSET = {IN|OUT} offset_time [units] {BEFORE|AFTER} COMP clk_iob_name” [TIMEGRPgroup_name”];

TIMESPEC Attributes

The following table lists the syntax used for parameters that define TS attributes, which reside in the TIMESPEC primitive or appear in UCF or NCF files.

Spec Type
TS Attribute Syntax
Basic
From-To
Schematic syntax in TIMESPEC primitive:
TSid=FROM source_group TO dest_group delay
TSid=FROM source_group delay
TSid=TO dest_group delay

UCF syntax:
TIMESPEC TSid=FROM:source_group TO dest_group delay;
TIMESPEC TS
id=FROM source_group delay;
TIMESPEC TS
id=TO dest_group delay;

Ignore
Schematic syntax in TIMESPEC primitive:
TSid=IGNORE

UCF syntax:
TIMESPEC TSid=IGNORE;
Through
point
Schematic syntax in TIMESPEC primitive:
TSid=FROM source_group THRU thru_point[ THRU
thru_point] TO dest_group delay
TSid=FROM source_group THRU thru_point[ THRU
thru_point] delay
TSid=THRU thru_point[ THRU thru_point] TO dest_group delay

UCF syntax:
TIMESPEC TSid=FROMsource_group:THRU thru_point[ THRU
thru_point] TO dest_group delay;
TIMESPEC TS
id=FROM source_group THRU thru_point[ THRU
thru_point] delay;
TIMESPEC TSid=THRU thru_point[ THRU thru_point] TO dest_group delay;
Linked
specification
Schematic syntax in TIMESPEC primitive:
TSid=FROM source_group TO dest_group another_TSid
[*|/]number
TSid=FROM source_group another_TSid
[*|/]number
TSid=TO dest_group another_TSid[*|/]number


UCF syntax:
TIMESPEC TSid=FROM source_group TO dest_group another_TSid
[*|/]number;
TIMESPEC TS
id=FROM source_group another_TSid
[*|/]number;
TIMESPEC TSid=TO dest_group another_TSid[*|/]number;
Clock period
Schematic syntax in TIMESPEC primitive:
TSid=PERIOD TNM_reference period {HIGH|LOW} [high_or_low_time]

UCF syntax:
TIMESPEC TSid=PERIOD TNM_reference period:{HIGH|LOW} [high_or_low_time];
Derived clocks
Schematic syntax in TIMESPEC primitive:
TSid=PERIOD TNM_reference another_PERIOD_identifier
[/|*]number{HIGH|LOW} [high_or_low_time]

UCF syntax:
TIMESPEC TSid=PERIOD:TNM_reference another_PERIOD_identifier
[/|*]number{HIGH|LOW} [high_or_low_time];
TS attribute priority
normal_timespec_syntax PRIORITY integer
Group OFFSETs
Schematic syntax in TIMESPEC primitive:
TSidentifier=TIMEGRP name OFFSET= {IN|OUT} offset_time [units] {BEFORE|AFTER} clk_name [TIMEGRP group_name]

The UCF and PCF syntax do not require the TSidentifier.

UCF syntax:
[TIMEGRP name] OFFSET= {IN|OUT} offset_time [units] {BEFORE|AFTER} clk_name [TIMEGRP group_name];

PCF syntax:
[TIMEGRP name] OFFSET= {IN|OUT} offset_time [units] {BEFORE|AFTER} COMP clk_iob_name [TIMEGRP group_name];

The following table lists additional attributes or constraints that are used in or affect TS attributes.

Attribute Syntax
Where Applied
How Used
Schematic syntax on net, pin, symbol, or macro:
TPTHRU=identifier

UCF syntax:
{NET | PIN | INSTANCE} name TPTHRU=identifier;
Net, symbol, pin, macro
In through point TS attribute
Schematic syntax on net, pin, symbol, or macro:
TPSYNC=identifier

UCF syntax:
{NET | PIN | INSTANCE} name TPSYNC=identifier;
Net, symbol, pin, macro
As group in TS attribute
Schematic syntax on net or pin:
TIG
TIG=
identifier

UCF syntax:
{NET | PIN} name TIG;
{NET | PIN} name TIG=identifier;
Net, pin
Prevents timing analysis
TSidentifier=DROP_SPEC; (Constraints file only)
N/A
Prevents timing analysis for TSidentifier

Other Constraints

The following table lists additional timing constraints.

Attribute Syntax
Where Applied
How Used
Schematic syntax on net or pin:
PERIOD period {HIGH|LOW}
[high_or_low_time]

UCF syntax:
{NET | PIN} name PERIOD period {HIGH|LOW} [high_or_low_time];
Nets, pins
Specifies register clock period
Schematic syntax:
MAXSKEW=allowable_skew

UCF syntax:
NET name MAXSKEW=allowable_skew;

PCF Syntax:
{NET | TIMEGRP | ALLCLOCKNETS} name MAXSKEW=allowable_skew;
Nets, timegroups, ALLCLOCKNETS
Specifies skew
Schematic syntax:
MAXDELAY= path_value [PRIORITY integer]

UCF syntax:
NET net_name MAXDELAY= path_value [PRIORITY integer];

PCF syntax:
TSidentifier=MAXDELAY path path_value [PRIORITY integer];

{NET | TIMEGRP | ALLCLOCKNETS} name MAXDELAY= path_value [PRIORITY integer];

PATH path_name MAXDELAY= path_value [PRIORITY integer];

ALLPATHS MAXDELAY= path_value [PRIORITY integer];

FROM group_item THRU group_item1... group_itemn MAXDELAY= path_value [PRIORITY integer];

FROM group_item THRU group_item1... group_itemn TO group_item MAXDELAY= path_value [PRIORITY integer];

THRU group_item1... group_itemn TO group_item MAXDELAY= path_value [PRIORITY integer];

Nets, Paths,
FROM:THRU,
FROM:THRU:TO,
THRU:TO
Specifies delay

Next