GCF syntax conventions

A ProASIC constraint consists of a statement and an argument, terminated by a semicolon. Statements are not case sensitive. However, cell instance, net, and port names used as arguments may be quoted and are case sensitive. Except for white spaces, all ASCII characters can be used. Comments are allowed in constraints files and must be preceded by two forward slashes (//). Time values are given in nanoseconds. When constraints are duplicated, the last one specified for a specific item overwrites any previous similar constraints already specified for the considered item.

This section describes syntax conventions for notation, user data variables, and comments. Comments begin with double slashes (//) and are terminated by a newline character.  

Syntax Conventions for Notation

Notation

Description

item

Represents a syntax item

item ::= definition

item is defined as definition

item ::= definition1
||=
definition2

item is defined as either definition1 or definition2
(Multiple alternative syntax definitions are allowed)

[   item    ]

Item is optional

{  item  }

Item is a list of required items. At least one item must appear.

KEYWORD

Keywords appear in uppercase characters in bold type for easy identification, but are not case sensitive.

VARIABLE

Represents a variable and appears in uppercase characters for easy identification

 

Syntax Conventions for User Data Variables

Variable

Description

FILEIDENTIFIER

Represents a hierarchical filename.

IDENTIFIER

Represents the name of a design object. Can be a block, cell instance, net, or port. IDENTIFIERS can use any ASCII character except the white space and the slash (/), which is the hierarchical divider character (see QPATH below). IDENTIFIERS are case sensitive

POSFLOAT

Represents a positive real number; for example, 4.3, 1.15, 2.35

POSNUMBER

Represents a positive integer; for example, 1, 12, 140, 64. When representing time, POSNUMBER is expressed in nanoseconds (ns)

QPATH

Represents a hierarchical IDENTIFIER. The levels of the hierarchy are represented by IDENTIFIERS divided by a slash (/). The QPATH hierarchical IDENTIFIER may or may not be quoted