01.07.2013 Views

Xilinx Constraints Guide

Xilinx Constraints Guide

Xilinx Constraints Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 4: <strong>Xilinx</strong> <strong>Constraints</strong><br />

UCF and NCF Syntax<br />

Following are examples of UCF and NCF syntax.<br />

• TIMESPEC PERIOD Method, Recommended<br />

• NET PERIOD Method, Not Recommended<br />

TIMESPEC PERIOD Method, Recommended<br />

This is the primary, recommended method.<br />

TIMESPEC “TSidentifier”=PERIOD “TNM_reference period” [units] [{HIGH | LOW}<br />

[high_or_low_time [hi_lo_units]]] INPUT_JITTER value [units];<br />

where<br />

• identifier is a reference identifier that has a unique name<br />

• TNM_reference is the identifier name that is attached to a clock net (or a net in the<br />

clock path) using the TNM or TNM_NET constraint<br />

When a TNM_NET constraint is traced into the CLKIN input of a DLL, DCM,<br />

PLL, or MMCM component, new PERIOD specifications may be created at the<br />

DLL/DCM/PLL/MMCM outputs. If new PERIOD specifications are created, new<br />

TNM_NET groups to use in those specifications are also created.<br />

Each new TNM_NET group is named the same as the corresponding<br />

DLL/DCM/PLL/MMCM output net (outputnetname). The new PERIOD specification<br />

becomes "TS_outputnetname=PERIOD outputnetname value units."<br />

The new TNM_NET groups are then traced forward from the DLL/DCM/PLL/MMCM<br />

output net to tag all synchronous elements controlled by that clock signal. The new<br />

groups and specifications are shown in the timing analysis reports.<br />

The following rules apply:<br />

• period is the required clock period.<br />

• units is an optional field to indicate the units for a clock period. The default is<br />

nanoseconds (ns), but the timing number can be followed by ps, ms, micro, or %<br />

to indicate the intended units.<br />

• HIGH or LOW indicates whether the first pulse is to be High or Low.<br />

• high_or_low_time is the optional High or Low time, depending on the preceding<br />

keyword. If an actual time is specified, it must be less than the period. If no<br />

high_or_low_time is specified, the default duty cycle is 50 percent.<br />

• hi_lo_units is an optional field to indicate the units for the duty cycle. The default is<br />

nanoseconds (ns), but the high_or_low_time number can be followed by ps, micro,<br />

ms, or % if the High or Low time is an actual time measurement.<br />

The following statement assigns a clock period of 40 ns to the net named CLOCK, with<br />

the first pulse being High and having a duration of 25 nanoseconds.<br />

NET “CLOCK” PERIOD=40 HIGH 25;<br />

NET PERIOD Method, Not Recommended<br />

Caution! This is a secondary method, and is not recommended.<br />

NET “net_name” PERIOD=period [units] [{HIGH|LOW} [high_or_low_time [hi_lo_units]]];<br />

<strong>Constraints</strong> <strong>Guide</strong><br />

212 www.xilinx.com UG625 (v. 13.2) July 6, 2011

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!