Entering Timespecs in a UCF file
You can create a UCF file with the same name as your design file, except with the .ucf extension. Then you can add timespecs to it using an editor. Then add a timespec property to the UCF file in the following format:
TIMESPEC TSnn=FROM:source_group:TO:destination_group:delay_value;
Source groups and destination groups consist of timing end-points which can be either pads (input, output or I/O pads) or flip-flops.
For example, the following timing constraint specifies that the maximum propagation delay from input pad IN1 to output pad OUT2 should be no more than 15 ns:
TIMESPEC TS02=FROM:PADS(IN1):TO:PADS(OUT2):15;
You can also use the Period timespec format to define the maximum period of any clock:
TIMESPEC TSnn=PERIOD:clock_group:period_value;
For example:
TIMESPEC TS01=PERIOD:CLK_GRP:15;
To define a timing group name that you can use as the source group or destination group in a timespec, you can either use the TNM property or specify a timegroup definition using the TIMEGRP property.
To use TNM, apply a property to a pad or flip-flip instance (or registered macro) in your design via the UCF file using the following format:
INST instance_name TNM=group_name;
To specify a timegroup definition, specify a timegroup property in the UCF file using the following format:
TIMEGRP new_group_name=group_name[:group_name]...;
For details on how to form group names using TNM and timegroup definitions, see Grouping Signals.