CPLD Schematic Design Guide
3-36
Xilinx Development System
default duty cycle is 50%. The default units for high_or_low_time is ns,
but the number can be followed by %, ps, us or ms.
The PERIOD constraint is forward traced in exactly the same way a
TNM would be and attaches itself to all of the flip flops that the
forward tracing reaches. There are no rules about not tracing through
certain elements. If a more complex form of tracing behavior is
required (for example, where gated clocks are used in the design),
you must place the PERIOD on a particular net, or use the preferred
method described next.
Preferred Method
The preferred method for defining a clock period allows more
complex derivative relationships to be defined as well as a simple
clock period. The following attribute is attached to a TIMESPEC
symbol in conjunction with a TNM attribute attached to the relevant
clock net.
TS
identifier
=PERIOD:
TNM_reference
:
period
: {HIGH | LOW}:
[
high_or_low_time
]
where identifier is a reference identifier that has a unique name,
TNM_reference is the identifier name that is attached to a clock net (or
a net in the clock path) using a TNM attribute, and period is the
required clock period. The default units for period are nanoseconds,
but the number can be followed by ps, ns, us, or ms. Units may be
entered with or without a leading space, and are case-insensitive.
High_or_low_time is the optional high or low time depending on the
HIGH|LOW
keyword. If an actual time is specified, it must be less than
the period. If no high or low time is specified the default duty cycle is
50%. The default units for high_or_low_time is ns, but the number can
be followed by %,, ps, ns, or mst.
Specifying Setup Time Using the OFFSET Constraint
To specify setup time using the
OFFSET
constraint, use the following
syntax:
NET
input_pad OFFSET=IN:delay:BEFORE:clock_pad;
OFFSET=IN:
delay:BEFORE:clock_pad;
where delay is in nanoseconds.