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 />

The following rules apply to TNM.<br />

• TNM applied to pad nets does not propagate forward through IBUFs. The TNM is<br />

applied to the external pad. This case includes the net attached to the D input of<br />

an IFD. See Timing Name Net (TNM_NET) if you want the TNM to trace forward<br />

from an input pad net.<br />

• TNM applied to an IBUF instance is illegal.<br />

• TNM applied to the output pin of an IBUF propagates the TNM to the next<br />

appropriate element.<br />

• TNM applied to an IBUF element stays attached to that element.<br />

• TNM applied to a clock-pad-net does not propagate forward through the clock<br />

buffer.<br />

• When TNM is applied to a macro, all the elements in the macro have that timing<br />

name.<br />

Placing TNM on Nets<br />

You can place TNM on any net in the design. The constraint indicates that the TNM<br />

value should be attached to all valid elements fed by all paths that fan forward from the<br />

tagged net. Forward tracing stops at FFS, RAMS, LATCHES, PADS, CPUS, HSIOS, and<br />

MULTS. TNM does not propagate across IBUFs if they are attached to the input pad net.<br />

Placing TNM on Macro or Primitive Pins<br />

You can place TNM on any component pin in the design if the design entry package<br />

allows placement of constraints on primitive pins. The constraint indicates that the<br />

TNM value should be attached to all valid elements fed by all paths that fan forward<br />

from the tagged pin. Forward tracing stops at FFS, RAMS, LATCHES, PADS, CPUS,<br />

HSIOS, and MULTS.<br />

The syntax for the UCF file is:<br />

PIN “pin_name” TNM=”FLOPS”;<br />

Placing TNM on Primitive Symbols<br />

You can group individual logic primitives explicitly by placing a constraint on each<br />

instance.<br />

The flip-flops tagged with TNM form a group called FLOPS. The untagged flip-flops<br />

are not part of the group. See the UCF syntax example.<br />

Place only one TNM on each symbol, driver pin, or macro driver pin.<br />

UCF Syntax<br />

INST “instance_name” TNM=FLOPS;<br />

Placing TNM on Nets or Pins to Group Flip-Flops and Latches<br />

You can easily group flip-flops, latches, or both by flagging a common input net,<br />

typically either a clock net or an enable net. If you attach a TNM to a net or driver pin,<br />

that TNM applies to all flip-flops and input latches that are reached through the net or<br />

pin. That is, that path is traced forward, through any number of gates or buffers, until it<br />

reaches a flip-flop or input latch. That element is added to the specified TNM group.<br />

The TNM parameter on nets or pins is allowed to have a qualifier. For example, in<br />

UCF files:<br />

{NET|PIN} "net_or_pin_name" TNM=FFS data;<br />

{NET|PIN} "net_or_pin_name" TNM=RAMS fifo;<br />

{NET|PIN} "net_or_pin_name" TNM=RAMS capture;<br />

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

290 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!