Previous

Appendix A

Attributes

Introduction

This appendix describes all of the attributes that you can place into your schematic for an XC9500 or an XC9500XL design. The attributes supported are as follows:

Except where noted, attributes can be applied to either component instances or their output nets.

Inputs to Global Nets - BUFG

Applicable Elements

Input buffers (IBUF)

Description

Maps the tagged input buffers to a global net.

BUFG=CLK applied to an IBUF is equivalent to using a BUFG symbol. BUFG=OE applied to an IBUF is equivalent to using a BUFGTS symbol. BUFG=SR applied to an IBUF is equivalent to using a BUFGSR symbol.

Syntax

BUFG={CLK | OE | SR }

where CLK, OE, and SR indicate clock, output enable, or set/reset, respectively.

Schematic

Attached to an IBUF instance or the input pad net connected to an IBUF input.

UCF/NCF file

Assign to an IBUF instance or the input pad net connected to an IBUF input. This statement maps the signal named “clk1” to a global clock net.

NET clk1 BUFG=CLK ;

Collapsing a Node - COLLAPSE

Applicable Elements

Internal combinational logic nodes.

Description

Forces a node to be collapsed into all of its fanouts

Syntax

COLLAPSE

Schematic

Attached to a logic symbol or its output net.

UCF/NCF file

This statement forces the logic driving net ABC to collapse into all its fanouts.

NET ABC COLLAPSE ;

Target Device Selection - PART

Applicable Elements

The design

Description

You can place the global PART attribute in your schematic to select the target device for your design. Refer to the Release Document for a list of device names supported by the software.

Syntax

The format of the PART value is as follows:

PART=dddd-ss-pppp

dddd is the device number with optional “XC” prefix, for example 95108 or XC95108, 9536XL or XC9536XL

ss is the speed grade, for example 10

pppp is the package type and pin count, for example PC84


NOTE

You must specify a complete part value in the PART attribute; you may not use wildcard symbols (*).


Schematic

Instantiate a CONFIG symbol and attach the PART attribute to it.

Clock Cycle Time - PERIOD

Applicable Elements

Clock nets.

Description

A convenient way of defining a clock period for registers attached to a particular clock net

Syntax

PERIOD=period [units]

where

period is the required clock period

units is an optional field to indicate the units for the clock period. The default is nanoseconds, but the timing number can be followed by ps, ns, us, or ms to indicate the intended units.

Schematic

Attached to a clock input pad net.

PERIOD=40

UCF/NCF file

This statement assigns a clock period of 40 ns to the input pad net named ABC.

NET ABC PERIOD=40 ;

Constraints Editor

Period timing constraints can be entered in the global tab for each input pad signal used as a clock.

Behavioral Modules - FILE

Applicable Elements

Custom behavioral module symbols.

Description

The FILE=file_name attribute on a custom symbol specifies the name of the file containing the logical definition for that symbol when the logic is expressed in behavioral form instead of an underlying schematic. If the logic for your custom symbol is defined by an underlying schematic (i.e., a user macro), you do not need a FILE attribute.

Specify filename either with or without extension. The software will search for acceptable netlist or equation (Plusasm) files. Specify the directory path if necessary.

Syntax

FILE=[path]filename[.extension]

Where extension is one of .edn, .edf, .edif, .sedif, .xnd, and .pld.

Schematic

Attach to a custom behavioral module symbol.

Pin and Function Block Assignment - LOC

Applicable Elements

I/O pads or internal logic components.

Description

Use the LOC=pin_name attribute on a PAD symbol or the connected pad net to assign the signal to a specific device pin. The PAD symbols are IPAD, OPAD, IOPAD, and UPAD.

Use the LOC=FBnn [_mm] attribute on any internal logic symbol, its output net, any output or I/O pad symbol or its connected pad net to assign the logic function to a specific function block or macrocell in the target device.

Syntax

The pin name is Pnn for PC, PQ or VQ packages; the nn is a pin number. The pin name is rc (row, column) for BG or PG packages. Examples are LOC=P24 and LOC=G2. For function block assignment, use LOC=FBnn on an internal logic component or its output net. To assign a logic element to a specific macrocell, use LOC=FBnn_mm.

LOC=Pnn

LOC=rc

LOC=FBnn

LOC=FBnn_mm


NOTE

Pin assignment using the LOC attribute is not supported for bus pads such as OPAD8.


Schematic

Attach LOC=Pnn|rc to a pad symbol or attached pad net. Attach LOC=FBnn[_mm] to an internal symbol, its output net, an output pad symbol or its attached pad net.

UCF/NCF File

NET ABC LOC=P12;

Contraints Editor

Location constraints for input and output pad signals can be entered in the Ports tab.

Pin Reservation - PROHIBIT

Applicable Elements

Unused device pins.

Description

PROHIBIT allows you to reserve device pins for later use, or simply to prevent them from being used at all. For instance, if you anticipate design changes in the future and want to set traces on your printed circuit board now, you can use PROHIBIT to prevent the fitter from using pins associated with those traces. Then, when you decide to use the traces, you can use the LOC attribute to assign those pins to new input/output buffers you place in your design.

Syntax

The pin name is Pnn for PC, PQ or VQ packages; the nn is a pin number. The pin name is rc (row, column) for BG or PG packages. The PROHIBIT attribute can also accept a comma-separated list of pin names. Examples are PROHIBIT=P24 and PROHIBIT=G2.

PROHIBIT=Pnn[Pnn]...


NOTE

The syntax PROHIBIT=Pnn:Pmm will not work since CPLD has pin names like PA20. This prevents range definition.


Schematic

Instantiate a CONFIG symbol and attach the PROHIBIT attribute to it.

UCF/NCF File

PROHIBIT=P12,P13,P14;

Constraints Editor

PROHIBIT constraints can be entered using a dialog box provided in the Ports tab.

Power Setting - PWR_MODE

Applicable Elements

Internal logic components.

Description

By default, all macrocells operate in the standard power mode, providing the fastest possible speed. You can change the default to low-power using the Design Manager option. To set the power mode on a specific logic function in your design, apply the PWR_MODE attribute to the symbol or its output net.

Syntax

PWR_MODE=LOW|STD

Schematic

Attached to an internal symbol or its output net.

UCF/NCF

INST ABC PWR_MODE=LOW;

Preserving a Node - KEEP

Applicable Elements

Internal combinational nodes.

Description

Use the logic optimization attributes to control collapsing at specific points in your design. Logic optimization attributes are normally not required to process designs.

The KEEP attribute inhibits collapsing of a logic function into any of its fanouts.

Syntax

KEEP

Schematic

Attach to an internal symbol or its output net.

UCF/NCF

NET ABC KEEP;

Register Preload State - INIT

Applicable Elements

Registers and registered macros.

Description

The INIT attribute specifies the initialization value to be preloaded into a register upon power-up. INIT=R specifies a preload value of 0 (Reset) and INIT=S specifies a preload value of 1 (Set). This attribute can be applied to flip-flops or any component containing a register, or their output nets.

Syntax

INIT=R|S

Schematic

Attach to a flip-flop or any component containing a register, or its output net.

UCF

The following sets a preload value of 0 on element ABC..

INST ABC INIT=R;

Output Slew Rate - FAST, SLOW

Applicable Elements

Output and I/O pads.

Description

The FAST attribute can be placed on an output pad or I/O pad to select the fast slew-rate operation of the CPLD output-pin driver.

The SLOW attribute selects the slew-rate limited control.

Syntax

FAST

or

SLOW

Schematic

Attached to an OPAD or IOPAD instance or the connected pad net.

UCF/NCF file

This statement establishes a slow slew rate for an instantiation of output signal ABC.

NET ABC SLOW ;

Constraint Editor

FAST and SLOW slew-rate can be selected for any output pad signals in the Ports tab.

Minimization of Redundant Logic - NOREDUCE

Applicable Elements

Internal combinational nodes.

Description

The NOREDUCE attribute tells the fitter to disable Boolean logic minimization for the attached component. You need to use the NOREDUCE attribute if you want to specify redundant logic in a portion of your design to avoid a potential race condition. The NOREDUCE attribute also identifies the output node of a combinational feedback loop. For example, you would use NOREDUCE on the output gate when designing combinational feedback latches.

Syntax

NOREDUCE

Schematic

Attached to a logic symbol or its output net.

UCF/NCF file

To prevent boolean reduction at node ABC:

NET ABC NOREDUCE ;

Timing Specifications - TSidentifier

Applicable Elements

Timing paths between I/O pads and flip-flops.

Description

The T-spec attribute definitions specify the maximum delay between groups of components. They begin with the letters “TS” and a unique identifier that can consist of letters, numbers, and the underscore character (_). The value of the T-spec attribute consists of a FROM-TO expression specifying the timing requirements between specific end points.

Syntax

The full syntax is shown as follows:

TSidentifier=FROM:source_group:TO:dest_group:delay[units]

or

TSidr=PERIOD:clock_group:delay[units]

The parameters source_group and dest_group can be any of the following:

The parameter clock_group must be a TNM identifier placed on a clock input pad.

The delay parameter defines the maximum delay for the attribute, using nanoseconds as the default unit of measurement. The default units are nanoseconds, but the timing number can be followed by ps, ns, us, ms, GHz, MHz, or kHz to indicate the intended units.

Schematic

Instantiate a TIMESPEC symbol and attach one or more T-spec attributes to it.

UCF/NCF

TIMESPEC TSnn=time_spec;

Constraints Editor

Clock period timing constraints can be entered in the Global tab. Input setup time and clock-to-output delay can be entered for specific pads in the Ports tab, or for all pads related to a given clock in the global tab. Combinational pad-to-pad delays can be entered in the Advanced tab, or for all pad-to-pad paths in the Global tab.

Timing Group Name - TNM

Applicable Elements

I/O pads and flip-flops.

Description

The TNM attribute creates a timing group name for all pads or flip-flops to which it applies. These timing group names can tehn be used in timing constraints (T-specs) to define groups of timing path end-points.

Syntax

TNM=group_name

Schematic

Attach to pad instances, pad nets or flip-flops. Can also attach to internal nets; the software will forward-trace the TNM to all connected flip-flops or output pads.

UCF/NCF

INST FLOP1 TNM=ABC;

Constraints Editor

Timing group names can be assigned to pad and flip-flop elements in the Advanced tab.

Timing Group Definitions

Applicable Elements

I/O pads and flip-flops.

Description

Timing group definitions create new timing group names based on combinations and/or filters of existing timing group names.

Syntax

group_name=group1[:group2] ...

Schematic

Instantiate a TIMEGRP symbol and attach one or more timing group definitions to it.

UCF/NCF

TIMEGRP group_name=...;

Constraints Editor

New timing groups can be created in the Advanced tab.

Next