Copyright: HH Bridge(c) Bristol Technology Inc. 1993


Overview

The Constraints Editor is a Graphical User Interface (GUI) that you can use to create and modify constraints.

Input files to the Constraints Editor are:

•	UCF (User Constraint File). Constraints created by the user are written to this file.

•	NGD (Native Generic Database) file. This file serves as input to the mapper, which generates the physical design database (NCD file).

Upon successful completion, the Constraints Editor writes out a UCF file. NGDBuild uses the UCF file, along with design source netlists to produce an NGD file. The NGD is read by the MAP program, which generates an NCD file (a physical design database) and a PCF (Physical Constraints File). The implementation tools use the NCD and PCF files to produce a bitstream.


Main Window

The background against which all other windows are displayed. By default, the Main window displays a title bar, a menu bar, a toolbar, status bar, tabs for opening other windows, a constraints window, and an output window.

Title Bar

Displays the program name followed by the name of the tab window that is currently open.

Menu Bar

The menu bar, located at the top of the Constraints Editor Main window, includes the File, View, Window, and Help menus.

Toolbar

The toolbar is located below the menu bar. The toolbar offers an alternative to the menu commands. It displays several buttons, which you can use to specify commands. To get a short description of a toolbar button, park the mouse pointer over the button. A small pop-up text box appears giving brief information about that button. At the same time, the status bar provides more descriptive information.

Tabs

When a file is loaded, three tabs are presented on the Main window. The tabs are for opening the Global, Ports, and Advanced tab windows. These windows, along with the Constraints window, are used to manage constraints. The tab windows occupy the same space, but only one is presented at a time.

Constraints Window

The Constraints window, located in the bottom half of the Main window, shows editable or read-only constraints. By default, this window appears when you open the Constraints Editor.

Output Window

The Output window, located in the bottom half of the Main window directly beneath the Constraints window, displays error and warning messages and other information. By default, this window appears when you open the Constraints Editor.

Status Bar

The status bar, located at the bottom of the Constraints Editor window, provides command and processing information.


Global Tab Window

Consists of a grid showing all of the design's clock nets and the associated period, pad to setup, and clock to pad values. It also contains a box for displaying a global pad to pad value. Next to the box is a button for opening the pad to pad dialog box, which is used to assign a global pad to pad value. The Global tab window is the default window displayed when a file is loaded.

Click Browse >> for a description of the dialog boxes that open from the Global tab window.

_______

See also

Using the Global Tab Window


Clock Period Dialog Box

Use this dialog box for specifying a clock period that will apply to input or output ports driven by a designated clock.

TIMESPEC Name

A text box used to display the default time spec name (TS followed by the selected clock net name, for example, TS_CLK_IN). You may change the time spec name but it must begin with the letters "TS."

Clock Net Name

A field used to display the name of the selected clock net.

Specific Time

A button used to indicate that the specified clock period is to be independent of any other clock period specification.

Time

A text box used to enter a value which represents the clock period.

Units

A pull-down list used to select a unit of time.The default is %, which is the percentage of the period that the clock is high or low.

Start High/Start Low

Buttons used to specify the initial state for the clock period.

Time High/Low

A text box used to enter the duration of the state for the clock period.

Units

A pull-down menu used to select a unit of time.

Relative to other Period TIMESPEC

A button used to specify that the clock period is to be relative to another clock period specification.

Reference TIMESPEC

A pull-down list used to select the name of the referenced time spec (if you selected the Relative to Other Period Time Spec button).

Multiply by/Divide by Factor

Buttons and a text box used to specify the factor of multiplication or division of the relative time spec period.


Pad to Setup Dialog Box

Use this dialog box to enter a Pad to Setup constraint for the following.

All input ports driven by a specified clock.

A specific input port.

A group of input ports.

Pad Net

A box containing the name of the port. Appears on the dialog box only when you open it from the Ports tab window.

Pad Group

A pull-down list used to select the user-defined input pad group. Appears on the dialog box only when you open it from the Advanced tab window.

Time Requirement

A text box used to specify the time allowed for data to propagate from the input to meet the setup requirement at the synchronous element.

Units

A pull-down list used to select a unit of time.

Relative to Clock Pad Net

A pull-down list used to select a clock net for the selected pad net or pad group.

Register Timegroup

A pull-down list used to select a user-defined register timegroup. Appears on the dialog box only when you open it from the Advanced tab window.


Clock to Pad Dialog Box

Use this dialog box to enter a Clock to Pad constraint for the following.

All output ports driven by a specified clock

A specific output port.

A group of output ports.

Pad Net

A box containing the name of the port. Appears on the dialog box only when you open it from the Ports tab window.

Pad Group

A pull-down list used to create and select the user-defined output pad group. Appears on the dialog box only when you open it from the Advanced tab window.

Time Requirement

A text box used to enter a value representing the clock-to-out of the synchronous element plus the propagation time to the pad.

Units

A pull-down list used to select a unit of time.

Relative to Clock Pad Net

A pull-down list used to select a clock net for the selected pad net or pad group.

Register Timegroup

A pull-down list used to select a user-defined register timegroup. Appears on the dialog box only when you open it from the Advanced tab window.


Pad to Pad Dialog Box

Use this dialog box to specify the maximum delay for data entering and exiting the chip.

Time Spec Name

A text box used to display the default name of the time spec (TS_P2P) You may change the name if you like, but all timing specification names must begin with the letters "TS."

Time

A text box used to enter a pad to pad maximum delay value.

Units

A pull-down list used to select a unit of time.


Ports Tab Window

The top half of the window consists of a grid showing all current ports as defined by the user, each port's direction (input, output, or bidirectional), location, and Pad to Setup and Clock to Pad constraints.

The bottom half of the window contains a button for configuring I/O ports, a button for prohibiting the use of I/O locations by PAR and FPGA Editor, and a field for creating and selecting pad groups.

Click Browse >> for a description of the dialog boxes that open from the Ports tab window.

_______

See also

Using the Ports Tab Window

I/O Configuration Options)


Location Dialog Box

Use this dialog box for locking a user-defined port to a specified device pin.

I/O Location

A text box used to enter the identity of a device pin. This must be a valid pin name for the part you are using.


Prohibit I/O Locations Dialog Box

Use this dialog box for disallowing the use of I/O sites within PAR and FPGA Editor.

I/O Location

A text box used to enter I/O location names.The name must be a valid pin name for the part you are using.

Add Configuration Pins

A button used to place the names of configuration pins for a device into the Prohibit I/O Locations box.

Prohibit I/O Locations

A list box containing the names of all prohibited pins.


Advanced Tab Window

Contains a set of options for opening various dialog boxes, enabling you to manipulate the full set of supported constraints.

Click Browse >> for a description of the dialog boxes that open from the Advanced tab window.

_______

See also

Using the Advanced Tab Window


Time Name Dialog Box

A time name (TNM) is an attribute that can be used to identify the elements that make up a group, which can then be used in a timing specification.

Use this dialog box for the following.

Creating a time name using elements associated by nets.

Creating a time name using instances.

Time Name

A text box used to enter a name for the new group.

Design Element Type

A pull-down list displaying either a list of nets or a list of elements, depending on which button you used to open the box from the tab window.

Filter

(Optional) Limits the number of selections displayed in the Available box based on the string you type in this box. For example, to make your selections only from nets containing the string "test" type test in the box. Names are not case-sensitive.

Available

A list box used to display either the net names under the net group you selected or the instance names of the element you selected from the Design Element pull-down list.

Time Name Targets

A list box used to identify elements selected from the Available window. The names on this list constitute the new time group.


Time Group Dialog Box

Time groups are common entities to which a timing constraint applies.

This dialog box is for creating a new group according to the element output net name.

Time Group Name

A text box used to enter the name of the new time group.

Design Element Type

A pull-down list used to display the names of design element types. The list includes FFs, All Pads, Input Pads, Output Pads, Bi-directional Pads, Tri-stated Output Pads, RAMs, Latches, and User Groups.

Filter

(Optional) Limits the number of selections displayed in the Available box based on the string you type in this box. For example, to make your selections only from pads containing the string "data," type data in the box. Names are not case-sensitive.

Available

A list box used to display all of the instance names of the available design element type selected from the Design Element Type pull-down list.

Time Group Members

A list used to identify elements selected from the Name Available window. The names displayed on this list constitute the new time group.


Timing THRU Point Dialog Box

Use this dialog box for specifying an intermediate point in a path.

TPTHRU Name

A text box used to enter a unique name identifying the constraint.

Design Element Type

A pull-down list used to select the design element type (All nets or TBUFs).

Filter

(Optional) Limits the number of selections displayed in the Available box based on the string you type in this box. For example, to make your selections only from nets containing the string "counter," type counter in the box. Names are not case-sensitive.

Available

A scrollable list used to show the available nets or TBUFs, depending on your selection from the Design Element Type pull-down list.

TPTHRU Targets

A list used to show the timing point (or points) that you selected in the All Nets/TBUFs Available field.


FROM/THRU/TO Dialog Box

Use this dialog box for the following.

Specifying an explicit maximum delay between groups of elements and predefined intermediate (THRU) points.

Specifying a maximum delay (relative to another path specification) between groups of elements and predefined intermediate (THRU) points.

Specifying certain paths between selected groups and optionally selected intermediate points as ones that will be ignored by timing.

Time Spec Name

A text box used to enter the name of a timing specification (in the form TSid, where id is a unique name). The name can consist of letters, numbers, or the underscore character (_).

From Group

A pull-down list used to select a source group to be acted on by the constraint (All Flip-Flops, All RAMs, All Pads, All Latches, or Groups).

To Group

A pull-down list used to select a destination group to be acted on by the constraint (All Flip-Flops, All RAMs, All Pads, All Latches, or Groups).

THRU Points (optional)

A pull-down list used to select predefined intermediate points on a path. These are points that have been defined with the Constraints Editor Timing THRU Point dialog box.

Explicit

A button used to designate the time specification to be non-relative to any other time spec. This is the default configuration for the Slow/Fast Path Exceptions constraint.

Time

A text box used to enter the maximum delay between the source group and the destination group, including any optionally specified THRU points.

Units

A pull-down list used to select a unit of time.

Relative to other path specification

A button used to identify the new time spec as one that is relative to another time specification. This is the default configuration for the Multicycle Paths constraint.

Reference TIME SPEC

A pull-down list used to select the relative time spec.

Multiply by/Divide by

Buttons used to choose the mathematical operation to be performed between the new time spec and the relative time spec.

Factor

A text box used to specify a value for the multiplication or division.

Mark as false paths

A button used to stipulate that the selected groups and timing points will be ignored by timing. This is the default configuration for the False Paths constraint.


Timing Ignore Dialog Box

Use this dialog box for selecting nets in a time spec that will be ignored by timing.

Net

A pull-down list used to select the name of a net.

TIMESPECs Available

A pull-down list giving the names of time specifications that contain the net that was selected in the Net field. Selecting a time specification and clicking Add places the name in the Ignored TIMESPECs box

If you do not make a selection from this list, the constraint will apply to all of the available timespecs listed.

Ignored Timing Specification

A list used to display the time specs that were selected in the TIMESPECs Available field.


Voltage Dialog Box

Use this dialog box for Specifying a non-worst case operating voltage for a family

Voltage

A text box for specifying a non worst case operating voltage. This provides a means of prorating delay characteristics based on the voltage you specify.

Different chips have different voltage ranges. If the value you enter is outside the parameters, you will get a warning giving you the acceptable range.


Temperature Dialog Box

Use this dialog box for specifying a non-worst case operating temperature for a family.

Celsius

A text box used to specify an operating temperature for the chip. This provides a means of prorating device delay characteristics based on the specified junction temperature.

Each architecture has its own specific range of valid operating temperatures.


Constraints Window

Opens with the Constraints Editor. You can view either editable or read-only constraints, which are selectable from the two tabs at the bottom of the window.

You can modify some editable constraints by double clicking on the syntax in the editable window. This opens the dialog box for the constraint.

Clicking the right mouse button anywhere else within the window opens a pop-up menu from which you can manipulate editable constraints and control the way the window is displayed. These are the options on the pop-up menu.

Allow Docking

Enables you to move and park the Constraints window anywhere on the screen.

Hide

Hides the window. To display the window after hiding it, click Constraints Window on the Window menu.

Disable

Disables (comments out) a selected editable constraint. Selecting Disable again enables a selected editable constraint.

Delete

Removes a constraint from the UCF.

_______

See also

Disabling and Enabling Constraints

Deleting Constraints


Output Window

Displays errors, warnings, and other information. You can hide and display this window by selecting Output Window from the Window menu.


How to Use Help

This page is a quick reference guide to the Constraints Editor Help.

Help Topics Organization

Getting Started	Overview of the Constraints Editor and instructions for using the interface
Procedures	Step-by-step instructions for performing tasks
Commands	Description of menu commands, push button panel, command line commands, hot keys, and command history substitution
Help on Help	Instructions for using help and how to access it
Reference	Glossary, technical support, trademark, and additional resource information
Summary of Help Operations

To	Do this
Go to related topics	Click underlined words
Go to the Help Topics	Click Help Topics
Search in the Help	Click Index or Find, select a topic
Scroll in the Help window	Move the scroll bars with the mouse
Return to the previous topic	Click Back
Return to any previous topic	From the Options menu, select Display History Window and select a topic
Browse forward	Click Browse >>
Browse backward	Click << Browse
Get detailed help on Help	On the workstation, select How to Use Help from the Help menu
Close the Help window	Select Exit from the Help File menu
Printing Help Topics	On the workstation, select How to Use Help from the Help menu, and select Configure a Printer from the How To list


Obtaining Help

To invoke Help, use any of the following methods:

•	Select Help from the top menu bar or from the dialog boxes that include a Help button.

•	Select the Help button on the toolbar and click on the object for which you want help.

•	Press the F1 key.

Help Menu

The Help menu displays the following commands.

•	Help Topics lists the online help topics available for the Constraints Editor. From the opening screen, you can jump to command information or step-by-step instructions for using the Constraints Editor. Once you open help, you can click the Help Topics button (first button on the left) in the Help window whenever you want to return to the help topic list.

•	Online Documents provides access to the Xilinx Software Manuals Online.

•	About the Constraints Editor displays a pop-up window that displays the version number of the Constraints Editor software.

Toolbar

You can obtain context-sensitive help from the toolbar.

1.	Click on the Help button in the toolbar.

The cursor changes to a question mark.

2.	Click once with the left mouse button on the menu item for which you want information.

The Constraints Editor displays online help information about the selected command in a pop-up window. The Constraints Editor itself displays a brief description of the selected command and context-sensitive help function in the status bar.

Help Button in Dialog Boxes

Many of the dialog boxes in the Constraints Editor have a Help button that you can click on to obtain help on that dialog box. A window opens that gives you information.

F1 Key

Pressing the F1 key when the cursor is placed on a dialog box displays help on that dialog box. Pressing the F1 key is the same as selecting Help Topics from the Help menu, if no dialog boxes are displayed.


Commands and Dialog Box Options

You control the Constraints Editor by selecting commands from the menus or one of the tab windows. From the tab windows you generate dialog boxes in which you specify information and options.

All dialog boxes have an OK button and a Cancel button. Some have an Apply button. Most dialog boxes also have a Help button.

To choose a menu item or a dialog box option, you can use the mouse or the keyboard.

_______

See also

Using the Mouse

Using the Keyboard


Using the Mouse

You can use the mouse to select objects on your screen, such as a dialog box button or a menu option. You can select commands from either the menu or the toolbar.

1.	Move the mouse cursor over the object you want to select: a toolbar button, a menu option, or a dialog box option; then, click on the left mouse button to select the object.

If you clicked on a toolbar button, a list box or a dialog box appears. If you clicked on a menu, menu options are displayed and you must select a menu option.

2.	To cancel out of a dialog box without selecting anything, select the Cancel button or double-click on the upper left corner of the dialog box.

3.	To get help, click on the Help button on the dialog box. Alternatively, if you double-click on the Help button in the toolbar, the Help Contents page is displayed.


Using the Keyboard

You can use the keyboard to select objects on your screen, such as a dialog box button or a menu option.

1.	To select a dialog box option, use the Tab key to position the cursor on that object and highlight it. Press the Enter key to process the selection.

To cancel out of a dialog box without selecting anything, press the Escape key.

2.	To choose a menu and display its options, press the Alt key and the appropriate underlined letter key corresponding to the menu you want. For example, press Alt-F to select the File menu.

3.	Use the arrow keys to scroll down the list of options in a menu or list box. Press Enter when the option you want to use is highlighted or, in the case of a menu item, press the underlined letter corresponding to the menu option you want. For example, press the N key to select the New command of the File menu.

4.	To get help, press the Alt key down and type the letter H.

Note:  Alternatively, you can press the F1 key to display the Help Contents page.


Loading a File
Loading Files

1.	Click Open from the File menu on the main Constraints Editor window. This opens the Open Constraints File dialog box.

2.	From the Open Constraints File dialog box, select the directory from the Look in pull-down list, then select a UCF file name from the list box.

Alternately, you can type a path in the File name text box.

3.	Click Open to open the Open Design File dialog box.

Note:  The root name of the UCF file that you opened is displayed by default in the File name list box.

4.	Click Open.

If the NGD file name displayed in the File name box exists, the file opens and information from that file is displayed in the Constraints Editor.

If the NGD file name does not exist, you get a message indicating that the file was not found. In this case, select the appropriate NGD file name from the list displayed in the Open Design File dialog box, or enter the appropriate NGD file name in the File name text box.

5.	Click Open.


Using the Global Tab Window

To open the window

Click the Global tab on the main window.

To specify constraints

Clock Period

Pad to Setup

Clock to Pad

Pad to Pad

To save information

Click Save on the File menu.

To close the window

Click the Ports or Advanced tab.

_______

See also

Global Tab Window


Using the Ports Tab Window

To open the window

Click the Ports tab.

To close the window

Click the Global or Advanced tab.

To save information

Click Save on the File menu.

To specify constraints

Location

Pad to Setup

Clock to Pad

I/O Configuration Options

Prohibit I/O Locations

Pad Groups

_______

See also

Ports Tab Window


Using the Advanced Tab Window

To open the window

Click the Advanced tab.

To close the window

Click the Global or Ports tab.

To save information

Click Save on the File menu.

To Create and Specify Constraints

Grouping

Group elements associated by Nets (TNM_NET

Group elements by instance name (TNM)

Group elements by element output net name, schematic users (TIMEGRP)

Timing THRU Points (TPTHRU)

Timing Constraints

Pad to Setup Requirement(s) for Groups of Pads and/or Registers (OFFSET IN BEFORE)

Clock to Pad Requirement(s) for Groups of Pads and/or Registers (OFFSET OUT AFTER)

Slow/Fast Path Exceptions (FROM TO)

Multi-cycle Paths (FROM TO)

False Paths (FROM TO TIG)

False Paths by Nets (NET TIG)

Prorating

Voltage

Temperature

______

See also

Advanced Tab Window


Clock Period

1.	From the Global tab window in the Period column and in the row associated with the appropriate clock net name, double-click the left mouse button to open the Clock Period dialog box.

2.	On the Clock Period dialog box, a timing specification name for the clock period is displayed by default in the TIMESPEC Name text box. The name consists of the letters TS and an identifier in the form of the clock net name; for example, TS_CLK1. You may change the timing specification name if you like, but the name must begin with the letters TS.

3.	In the Clock Signal Definition field, you may designate a specific period or a period that is relative to a clock period defined in another timespec.

If you select Specific Time, enter a value in the Time text box and select a unit from the Units pull-down list.

Select Start High or Start Low to specify the initial clock state, enter a value in the Time HIGH or Time LOW text box, and select a unit for time. The default for Units is %, which is the high or low percentage of the total.

If you select Relative to other Period Time Spec, select the name of the timespec in the Reference Time Spec pull-down list, select Multiply by or Divide by and enter a value in the Factor text box.

4.	Click OK.

______

See also

Clock Period Dialog Box


Pad to Pad

The Pad to Pad constraint specifies the maximum time allowed for data to enter the chip, travel through logic and routing, and exit the chip.

1.	On the Global tab window in the Pad to Pad text box, click the Pad to Pad button to open the Pad to Pad dialog box.

2.	On the Pad to Pad dialog box in the Time Spec Name text box,TS_P2P displays by default. You may change the name if you like, but all timing specification names must begin with the letters TS.

3.	Enter a value in the Time text box and select the appropriate unit from the Units pull-down list.

4.	Click OK.

______

See also

Pad to Pad Dialog Box


Pad to Setup

Pad to Setup Constraints can be created three ways:

From the Global Tab Window

From the Ports Tab Window

From the Advanced Tab Window


Pad to Setup

This is a global constraint for all input ports driven by a specified clock.

1.	Open the Pad to Setup dialog box by doing either one of the following.

•	Place the cursor in the Pad to Setup column and double click on the row containing the desired clock net name.

•	Right click the right mouse button anywhere in the grid row containing the clock net name, then select Pad to Setup from the pop-up menu

2.	In the Pad to Setup dialog box, enter a value in the Time Requirement text box, then select the desired unit from the Units pull-down list.

3.	Click OK.

_______

See also

Pad to Setup Dialog Box


Pad to Setup

This constraint is applied to a specific port. It overrides Pad to Setup constraints created from the Global and Advanced tab windows.

1.	Open the Pad to Setup dialog box by doing either one of the following.

•	Place the cursor in the Pad to Setup column and double click on the row containing the desired port name.

•	Right click the right mouse button anywhere in the grid row containing the port name, then select Pad to Setup from the pop-up menu.

2.	In the Pad to Setup dialog box, enter a value in the Time Requirement text box, then select the desired unit from the Units pull-down list.

3.	Select the appropriate clock name from the Relative to Clock Net pull-down list.

4.	Click OK.

_______

See also

Pad to Setup Dialog Box


Pad to Setup Requirement(s) for Groups of Pads and/or Registers (OFFSET IN BEFORE)

Enables you to enter a Pad to Setup constraint that will apply to a specified group of input ports. This constraint takes precedence over one entered from the Global tab window. A Pad to Setup constraint created from the Ports tab window takes precedence over ones created from the Global tab window and Advanced tab window.

1.	Click Specify next to "Pad to Setup Requirement(s) ...(OFFSET IN BEFORE)" to open the Pad to Setup dialog box.

2.	Select the user-defined pad group from the Pad Group pull-down list.

3.	Enter a value in the Time Requirement text box and the appropriate unit from the Units pull-down list.

4.	Select the appropriate clock from the Relative to Clock Net pull-down list.

5.	(Optional) Select a user-defined register timegroup from the Register Timegroup pull-down list.

6.	Click OK.

_______

See also

Pad to Setup Dialog Box


Clock to Pad

Clock to Pad Constraints can be created three ways:

From the Global Tab Window

From the Ports Tab Window

From the Advanced Tab Window


Clock to Pad

This is a global constraint for all output ports driven by a specified clock.

1.	Open the Clock to Pad dialog box by doing either one of the following.

•	Place the cursor in the Clock to Pad column and double click on the row containing the desired clock net name.

•	Right click the right mouse button anywhere in the grid row containing the clock net name, then select Clock to Pad from the pop-up menu.

2.	Enter a time in the Time Requirement text box, then select the appropriate unit from the Units pull-down list.

3.	Click OK.

_______

See also

Clock to Pad Dialog Box


Clock to Pad

This constraint is applied to a specific port. It overrides a Clock to Pad constraint. created from the Global tab window or Advanced tab window.

1.	Open the Clock to Pad dialog box by doing either one of the following.

•	Place the cursor in the Clock to Pad column and double click on the row containing the desired port name.

•	Right click the right mouse button anywhere in the grid row containing the port name, then select Clock to Pad from the pop-up menu.

2.	Enter a value in the Time Requirement text box and select the appropriate unit from the Units pull-down list.

3.	Select the appropriate clock name from the Relative to Clock Net pull-down list.

4.	Click OK.

_______

See also

Clock to Pad Dialog Box


Clock to Pad Requirement(s) for Groups of Pads and/or Registers (OFFSET OUT AFTER)

Enables you to enter a Clock to Pad constraint that will apply to a specified group of output ports. This constraint takes precedence over one entered from the Global tab window. A Clock to Pad constraint entered from the Ports tab window takes precedence over ones entered from the Global and Advanced tab windows.

1.	Click Specify next to "Clock to Pad Requirement(s)...(OFFSET OUT AFTER)" to open the Clock to Pad dialog box.

2.	Select the name of a user-defined pad group from the Pad Group pull-down list.

3.	Enter a value in the Time Requirement text box and select the desired unit from the Units pull-down list.

4.	Select the desired clock from the Relative to Clock Pad Net pull-down list.

5.	(Optional) Select a user-defined register timegroup from the Register Timegroup pull-down list.

6.	Click OK.

_______

See also

Clock to Pad Dialog Box


Prohibit I/O Locations

Disallows the use of an I/O site by PAR and FPGA Editor

1.	On the Ports tab window, click Prohibit I/O Locations to open the Prohibit I/O Locations dialog box.

2.	Enter a location name in the I/O Location text box. This must be a valid pin name for the part you are using.

3.	Click Add.

4.	Click OK.

_______

See also

Prohibit I/O Locations Dialog Box


Pad Groups

Enables you to create a group of pads, allowing you to apply a constraint to the group rather than applying it separately to a number of pads.

1.	Select the members of the pad group from the Port Name column on the grid.

2.	Type the name of the group in the Group Name box.

3.	Click Create Group.

4.	To select a pad group, click on the group name in the box next to the Select Group button, then click Select Group.


Group Elements Associated by Nets (TNM_NET)

You can create a Time Name (TNM_NET) using elements associated by nets (All Nets, Clock Nets, and Clock Enable Nets).

Note:  If you use Clock Nets, all valid elements fed by all paths that fan forward Instance from the net belong to the group. Forward tracing stops at any RAM, PAD, FF, or LATCH.

1.	On the Advanced tab window, click the Create button next to "Group elements associated by Nets (TNM_NET)" to open the Time Name dialog box.

2.	In the Time Name text box, enter the new time name. The name can consist of any combination of letters, numbers, or underscores.

3.	Make a selection from the Design Element Type pull-down list.

4.	(Optional) If you want to limit the number of selections in the Available box, use the Filter text box. For example, if you want as your time name targets only nets containing the string "counter," type counter in the Filter box. Names are not case-sensitive.

5.	In the Available pull-down list, click on the desired net names.

6.	To move an element to the Time Name Targets box, select the element, then click the Add button (or to add all elements, Add All).

______

See also

Time Name Dialog Box*


Group Elements by Instance Name (TNM)

You can create a Time Name using instances of elements, which can be FFs, All Pads, Output Pads, Bi-directional Pads, Tri-stated Output Pads, RAMs, and Latches.

1.	On the Advanced tab window, click the Create button next to "Group Elements by Instance Name (TNM)" to open the Time Name dialog box.

2.	In the Time Name text box, enter the new time name. The name can consist of any combination of letters, numbers, or underscores.

3.	Make a selection from the Design Element Type pull-down list.

4.	(Optional) If you want to limit the number of selections in the Available box, use the Filter text box. For example, if you want as your time name targets only input pads containing the string "test, " type test in the Filter box. Names are not case-sensitive.

5.	In the Available pull-down list, click on the desired instance names, then click Add to move the selected names to the Time Name Targets box.

6.	When you have completed your selections, click OK.

_______

See also

Time Name Dialog Box


Group Elements by Element Output Net Name, Schematic Users (TIMEGRP)

This time group is made up of an element's output net names. Elements are FFs, All Pads, Input Pads, Output Pads, Bi-directional Pads, Tri-stated Pads, RAMs, Latches, or User Groups.

1.	On the Advanced tab window, click the Create button next to "Group elements by element output net name, ...(TIMEGRP)" to open the Time Group dialog box.

2.	In the Time Group Name text box, enter a name for the time group.The name can consist of any combination of letters, numbers, or underscores.

3.	Make a selection from the Design Element Type pull-down list.

4.	(Optional) If you want to limit the number of selections in the Available box, use the Filter text box. For example, if you want as your time name targets only pads containing the string "ce_test, " type ce_test in the Filter box. Names are not case-sensitive. See the above figure as an example.

5.	In the Available pull-down list, click on the output net names that you wish to be members of the time group.

6.	Click Add to move your selections to the Time Group Members box.

7.	After you have placed all of the desired members in the Time Group Members list, click OK.

_______

See also

Time Group Dialog Box


Timing THRU Points (TPTHRU)

Enables you to specify an intermediate point in a path.

1.	On the Advanced tab window, click Create next to "Timing THRU Points (TPTHRU)" to open the Timing THRU Point dialog box.

2.	Enter a name in the TPTHRU Name text box. The name can consist of any combination of letters, numbers, or underscores.

3.	Make a selection from the Design Element Type pull-down list (All Nets or TBUFs).

4.	From the Available box choose the elements that you wish to be included as THRU points.

5.	Click Add to transfer the selected names to the TPThru Targets box.

6.	When you have completed your selections, click OK or Apply

_______

See also

Timing THRU Point Dialog Box


Slow/Fast Path Exceptions (FROM/THRU/TO)
Slow/Fast Path Exceptions (FROM TO)

Allows you create a time specification that specifies an explicit maximum delay between groups of elements and to define intermediate points to which the time specification applies.

1.	On the Advanced tab window, click Specify next to "Slow/Fast Path Exceptions (FROM TO)" to open the FROM/THRU/TO dialog box.

2.	Enter a name for the timing specification in the Time Spec Name text box. The name must consist of the letters "TS" followed by a unique identifier; for example, TS_spec1.

3.	From the From Group pull-down list select the source group.

4.	From the To Group pull-down list select the destination group.

5.	Optionally select intermediate points on your path by making a selection from the THRU Points box. These are points that have been defined in the Constraints Editor with the TPTHRU constraint.

6.	Explicit is selected by default. Enter a value in the Time text box and the appropriate unit from the Units pull-down list.

7.	Click OK.

______

See also

FROM/THRU/TO Dialog Box


Multi-cycle Paths (FROM/TO)
Multi-cycle Paths (FROM TO)

Allows you to create a time specification that designates the maximum delay between groups of elements and to select intermediate points to which the time specification applies. Unlike the Slow/Fast Path Exceptions constraint, Multi-cycle Paths is not explicit but relative to another time spec.

1.	On the Advanced tab window, click Specify next to "Multicycle Paths (FROM TO)" to open the FROM/THRU/TO dialog box.

2.	Enter a name for the timing spec in the Time Spec Name text box. The name must consist of the letters "TS" followed by a unique identifier.

3.	From the From Group pull-down list select the source group.

4.	From the To Group pull-down list select the destination group.

5.	Optionally signify intermediate points on your path by making a selection from the THRU Points box. These are points that have been defined in the Constraints Editor with the TPTHRU constraint.

6.	Relative to other path specification is selected by default. Enter a value in the Time text box and select the appropriate unit from the Units pull-down list.

7.	Select a timing specification from the Reference TIMESPEC pull-down list, then click Multiply by or Divide by and enter a factor in the Factor text box.

8.	Click OK.

______

See also

FROM/THRU/TO Dialog Box


False Paths (FROM TO TIG)

Allows you to create a time specification designating that paths between selected groups and optionally selected intermediate points will be ignored for timing purposes.

1.	On the Advanced tab window, click Specify next to "False Paths (FROM TO TIG)" field to open the FROM/THRU/TO dialog box.

2.	Enter a name for the timing specification in the Time Spec Name text box. The name must consist of the letters "TS" followed by a unique identifier.

3.	From the From Group pull-down list, select the source group.

4.	From the To Group pull-down list, select the destination group.

5.	Optionally select intermediate points on your path by making a selection from the THRU Points box. These are points that have been defined with the TPTHRU constraint.

6.	Mark as false paths is the default. Click OK.

______

See also

FROM/THRU/TO Dialog Box


False Paths by Nets (NET TIG)

Allows you to select certain nets in a time specification that will be ignored.

1.	On the Advanced tab window, click Specify next to "False Paths by Nets (NET TIG)" to open the Timing Ignore dialog box.

2.	From the Net pull-down list select a net name.

3.	In the TIMESPECS Available box, select the name (or names) of timing specifications containing the net that you wish to be ignored, then click Add.

Note:  If you do not select any timespec, the constraint will apply to all of the available timespecs listed.

4.	Click OK.

______

See also

Timing Ignore Dialog Box


Voltage

Specifies a non-worst case operating voltage for the chip. The prorating voltage range differs by family.

1.	On the Advanced tab window, click Specify next to "Voltage."

2.	Enter a value for your device and click OK.


Temperature

Specifies a non-worst case operating temperature for a family. The prorating temperature range differs by family.

1.	On the Advanced tab window, click Specify next to "Temperature."

2.	Enter a value in the Celsius text box and click OK


Editable Constraints

Displays editable constraints in the Constraints window.

Click Editable Constraints at the bottom of the Constraints window.


Source Constraints

Opens the Constraints window, in which read-only constraints are shown.

Click Source Constraints (read-only at the bottom of the Constraints window.


Location

Locks a user-defined port to a specified device pin.

1.	From the Ports tab window, double-click in the Location column and in the row associated with the port name. This opens the Location dialog box.

2.	In the Location text box, enter the name of the device pin. This must be a valid pin name for the part you are using.

3.	Click OK.

_______

See also

Location Dialog Box


I/O Configuration Options

Clicking the I/O Configuration Options box adds a number of columns to the grid on the Ports tab window. The procedure is the same for all options.

1.	Place the cursor anywhere in the row associated with the port name and click the right mouse button.

2.	In the pop-up menu, rest the cursor on the desired option name, then make your selection from the sub-menu.

Options are

FAST/SLOW

Determines the output slew rate for I/O signals.

PULLUP/PULLDOWN

This option places a pullup or pulldown resistor on the pad net of a selected port. KEEPER, which is an option for Virtex devices only, keeps the input level of a tri-state buffer on a pad net when the buffer is driven to high impedance. For example, if a logic 1 is driven onto the net and the net driver is tri-stated, KEEPER drives a week/resistive 1 onto the pad net.

DRIVE

Signifies signal strength in milli-amps.

IOSTANDARD (Virtex devices only)

Specifies an input/output standard; for example, low voltage TTL (LVTTL), low voltage CMOS (LVCMOS2), and so forth.


Viewing Constraints

To view editable constraints, click Editable Constraints at the bottom of the Constraints window. To view read-only constraints, click Source Constraints (read-only).

_______

See also

Constraints Window


Deleting Constraints

1.	If the Constraints window is not showing, click Constraints Window from the Window menu.

2.	Click Editable Constraints.

3.	Select the constraint that you wish to delete by clicking the left mouse button. While the constraint is selected, click the right mouse button.

4.	From the pop-up menu, select Delete.


Disabling and Enabling Constraints

When a constraints is disabled (commented out), it is preceded by the characters #CE DISABLED# in the Constraints window

For example:

#CE DISABLED# NET PADNET_1 OFFSET = IN 20 NS BEFORE CLKNET_1

Follow these steps to disable an editable constraint.

1.	If the Constraints window is not showing, click Constraints Window from the Window menu.

2.	Click Editable Constraints.

3.	Select the constraint that you wish to disable by clicking the left mouse button. While the constraint is selected, click the right mouse button.

4.	From the pop-up menu, select Disable.

To enable a constraint that is disabled, select the constraint, click the right mouse button, and select Disable from the pop-up menu. On the pop-up menu, a check mark precedes the word "Disable" when the constraint is disabled.


Customizing the Appearance of Windows
Customizing the Constraints Window

To toggle between displaying and hiding the Constraints window, click Constraints Window on the Windows menu.

To park the window anywhere on the screen, place the cursor inside the window and click the right mouse button. From the pop-up menu, select Allow Docking. Click and drag to the desired location.


Open Constraints File Dialog Box

When you select Open from the File Menu, it brings up the Open Constraints File dialog box, a standard file selection dialog box. Use this dialog box to open UCF files.


Open (File Menu)
Open Design File Dialog Box

This standard file selection dialog box appears when you select Open from the Open Constraints File dialog box.

Look in

A list of directories. When you select a directory, the associated file names appear in the list box located directly below this field.

File name

The name of a file selected from the list box automatically appears in this field. Alternately, you may type the name of the file.

File of type

A pull-down list used to show types of files; for example, NGD, UCD, and so forth.

______

See also

Loading Files


New (File Menu)

Opens a new UCF file.


Open (File Menu)

Enables you to open an existing UCF file


Close (File Menu)

Closes all active tab windows. The Main window remains open.


Save (File Menu)

Saves the files associated with the data in the Constraints Editor—the NGD file and the UCF file.The files are saved with their current file names and location.

If you are saving the information in the Constraints Editor for the first time, the Save As dialog box appears.


Save As (File Menu)

Saves the Constraints Editor data to the file name and directory you specify.

When you select this command, the Save As dialog box appears, a standard file selection dialog box.


Exit (File Menu)

Closes the Constraints Editor. If you are in the process of creating a file, the program prompts you to save the current data.


Toolbar (View Menu)

The Toolbar command toggles the display status of the Constraints Editor toolbar.

The toolbar is located directly below the menu bar at the top of the Constraints Editor window.

______

See also

Toolbar


Status Bar (View Menu)

The Status Bar command toggles the display status of the Constraints Editor status bar.

The status bar is located at the bottom of the Constraints Editor window. It provides command and processing information as well as additional help information about the toolbar buttons.


Toolbar

The toolbar, located directly below the menu bar, displays several icons, which you can use to specify commands directly. The toolbar offers an alternative to the menu commands.

To get a short description of a toolbar button, park the mouse pointer over the button. After about two seconds, a small pop-up text box appears giving more information about that button. Similar information is echoed in the status bar.

The New button opens a new file.

The Open button opens a specified file.

The Save button saves a file with its current file name and location.

The About button displays program information, version number and copyright for the Constraints Editor

The Help button automatically selects the help topic to display based on the area of the screen you select.

______

See also

Toolbar (View Menu)


Constraints Window (Window Menu)

Toggles between hiding and displaying the Constraints window, which allows you to display editable or read-only constraints.


Output Window (Window Menu)

Toggles between hiding and displaying the Output window, which shows errors, warnings, and other messages.


Help Topics (Help Menu)

The Help Topics command accesses the contents of the Help system.


Help Buttons (Toolbar)
Help Button (Toolbar)

Invokes context-sensitive help. In this mode, when you click on the Help button, the mouse cursor changes to a large question mark that you can drag onto an element of the Constraints Editor interface. After positioning the symbol on the appropriate object, press the left mouse button. The help tool displays the corresponding Help topic.


Help Topics (Help Menu)

Displays the table of contents for Constraints Editor help.


About Constraints Editor
About Constraints Editor (Help Menu)

Displays information about the Constraints Editor.


Online Documentation (Help Menu)

Use this command to open the software manuals in the default Web browser.


Trademarks

The Xilinx logo shown above is a registered trademark of Xilinx, Inc.

FPGA Architect, FPGA Foundry, NeoCAD, NeoCAD EPIC, NeoCAD PRISM, NeoROUTE, Timing Wizard, TRACE, XACT, XILINX, XC2064, XC3090, XC4005, XC5210, and XC-DS501 are registered trademarks of Xilinx, Inc.

The shadow X shown above is a trademark of Xilinx, Inc.

All XC-prefix product designations, A.K.A. Speed, Alliance Series, AllianceCORE, BITA, CLC, Configurable Logic Cell, CORE Generator, CoreGenerator, CoreLINX,Dual Block, EZTag, FastCLK, FastCONNECT, FastFLASH, FastMap, Foundation, HardWire, LCA, LogiBLOX, Logic Cell, LogiCORE, LogicProfessor, MicroVia, PLUSASM, PowerGuide, PowerMaze, QPro, RealPCI, RealPCI 64/66, SelectI/O, Select-RAM, Select-RAM+, Smartguide, Smart-IP, SmartSearch, Smartspec, SMARTSwitch, Spartan, TrueMap, UIM, VectorMaze, VersaBlock, VersaRing, Virtex, WebLINX, XABEL, XACTstep, XACTstep Advanced, XACTstep Foundry, XACT-Floorplanner, XACT-Performance, XAM, XAPP, X-BLOX, X-BLOX plus, XChecker, XDM, XDS, XEPLD, Xilinx Foundation Series, XPP, XSI, and ZERO+ are trademarks of Xilinx, Inc. The Programmable Logic Company and The Programmable Gate Array Company are service marks of Xilinx, Inc.

Active-CAD is a trademark of Aldec, Inc. FTP is a registered trademark of FTP Software, Incorporated. DynaText is a registered trademark of Inso Corporation. Intel and MCS-86 are registered trademarks of Intel. MS-DOS and Windows are registered trademarks of Microsoft Corporation. Motorola is a registered trademark of Motorola, Inc. Tektronix is a registered trademark of Tektronix, Inc. UNIX is a registered trademark in the U.S. and other countries, licensed exclusively through X/Open Company Limited. All other trademarks are the property of their respective owners.

Xilinx, Inc. does not assume any liability arising out of the application or use of any product described or shown herein; nor does it convey any license under its patents, copyrights, or maskwork rights or any rights of others. Xilinx, Inc. reserves the right to make changes, at any time, in order to improve reliability, function or design and to supply the best product possible. Xilinx, Inc. will not assume responsibility for the use of any circuitry described herein other than circuitry entirely embodied in its products. Xilinx, Inc. devices and products are protected under one or more of the following U.S. Patents: 4,642,487; 4,695,740; 4,706,216; 4,713,557; 4,746,822; 4,750,155; 4,758,985; 4,820,937; 4,821,233; 4,835,418; 4,855,619; 4,855,669; 4,902,910; 4,940,909; 4,967,107; 5,012,135; 5,023,606; 5,028,821; 5,047,710; 5,068,603; 5,140,193; 5,148,390; 5,155,432; 5,166,858; 5,224,056; 5,243,238; 5,245,277; 5,267,187; 5,291,079; 5,295,090; 5,302,866; 5,319,252; 5,319,254; 5,321,704; 5,329,174; 5,329,181; 5,331,220; 5,331,226; 5,332,929; 5,337,255; 5,343,406; 5,349,248; 5,349,249; 5,349,250; 5,349,691; 5,357,153; 5,360,747; 5,361,229; 5,362,999; 5,365,125; 5,367,207; 5,386,154; 5,394,104; 5,399,924; 5,399,925; 5,410,189; 5,410,194; 5,414,377; 5,422,833; 5,426,378; 5,426,379; 5,430,687; 5,432,719; 5,448,181; 5,448,493; 5,450,021; 5,450,022; 5,453,706; 5,455,525; 5,466,117; 5,469,003; 5,475,253; 5,477,414; 5,481,206; 5,483,478; 5,486,707; 5,486,776; 5,488,316; 5,489,858; 5,489,866; 5,491,353; 5,495,196; 5,498,979; 5,498,989; 5,499,192; 5,500,608; 5,500,609; 5,502,000; 5,502,440; 5,504,439; 5,506,518; 5,506,523; 5,506,878; 5,513,124; 5,517,135; 5,521,835; 5,521,837; 5,523,963; 5,523,971; 5,524,097; 5,526,322; 5,528,169; 5,528,176; 5,530,378; 5,530,384; 5,546,018; 5,550,839; 5,550,843; 5,552,722; 5,553,001; 5,559,751; 5,561,367; 5,561,629; 5,561,631; 5,563,527; 5,563,528; 5,563,529; 5,563,827; 5,565,792; 5,566,123; 5,570,051; 5,574,634; 5,574,655; 5,578,946; 5,581,198; 5,581,199; 5,581,738; 5,583,450; 5,583,452; 5,592,105; 5,594,367; 5,598,424; 5,600,263; 5,600,264; 5,600,271; 5,600,597; 5,608,342; 5,610,536; 5,610,790; 5,610,829; 5,612,633; 5,617,021; 5,617,041; 5,617,327; 5,617,573; 5,623,387; 5,627,480; 5,629,637; 5,629,886; 5,631,577; 5,631,583; 5,635,851; 5,636,368; 5,640,106; 5,642,058; 5,646,545; 5,646,547; 5,646,564; 5,646,903; 5,648,732; 5,648,913; 5,650,672; 5,650,946; 5,652,904; 5,654,631; 5,656,950; 5,657,290; 5,659,484; 5,661,660; 5,661,685; 5,670,896; 5,670,897; 5,672,966; 5,673,198; 5,675,262; 5,675,270; 5,675,589; 5,677,638; 5,682,107; 5,689,133; 5,689,516; 5,691,907; 5,691,912; 5,694,047; 5,694,056; 5,724,276; 5,694,399; 5,696,454; 5,701,091; 5,701,441; 5,703,759; 5,705,932; 5,705,938; 5,708,597; 5,712,579; 5,715,197; 5,717,340; 5,719,506; 5,719,507; 5,724,276; 5,726,484; 5,726,584; 5,734,866; 5,734,868; 5,737,234; 5,737,235; 5,737,631; 5,742,178; 5,742,531; 5,744,974; 5,744,979; 5,744,995; 5,748,942; 5,748,979; 5,752,006; 5,752,035; 5,754,459; 5,758,192; 5,760,603; 5,760,604; 5,760,607; 5,761,483; 5,764,076; 5,764,534; 5,764,564; 5,768,179; 5,770,951; 5,773,993; 5,778,439; 5,781,756; 5,784,313; 5,784,577; 5,786,240; 5,787,007; 5,789,938; 5,790,479; 5,790,882; 5,795,068; 5,796,269; 5,798,656; 5,801,546; 5,801,547; 5,801,548; 5,811,985; 5,815,004; 5,815,016; 5,815,404; 5,815,405; 5,818,255; 5,818,730; 5,821,772; 5,821,774; 5,825,202; 5,825,662; 5,825,787; 5,828,230; 5,828,231; 5,828,236; 5,828,608; 5,831,448; 5,831,460; 5,831,845; 5,831,907; 5,835,402; 5,838,167; 5,838,901; 5,838,954; 5,841,296; 5,841,867; 5,844,422; 5,844,424; 5,844,829; 5,844,844; 5,847,577; 5,847,579; 5,847,580; 5,847,993; 5,852,323; Re. 34,363, Re. 34,444, and Re. 34,808. Other U.S. and foreign patents pending. Xilinx, Inc. does not represent that devices shown or products described herein are free from patent infringement or from any other third party right. Xilinx, Inc. assumes no obligation to correct any errors contained herein or to advise any user of this text of any correction if such be made. Xilinx, Inc. will not assume any liability for the accuracy or correctness of any engineering or software support or assistance provided to a user.

Xilinx products are not intended for use in life support appliances, devices, or systems. Use of a Xilinx product in such applications without the written consent of the appropriate Xilinx officer is prohibited.

Copyright 1991-1999 Xilinx, Inc. All Rights Reserved.


Technical Support

You can contact Xilinx for additional information and assistance in a variety of ways. Start by getting answers on the Web at support.xilinx.com.

Xilinx Services and Support on the Web

http://support.xilinx.com

The support.xilinx.com page contains thousands of online technical solutions and product information for Xilinx software and devices. The Xilinx Answers Database is updated daily with the latest patches, problem resolutions, application notes, and data sheets. Receive immediate answers 24 hours a day!

Technical and Applications Support Hotlines

If you cannot find your answers at support.xilinx.com, telephone hotlines give you direct access to Xilinx Application Engineers worldwide. You can also e-mail or fax your technical questions to the same locations.

Location	Telephone	Electronic Mail	Facsimile (Fax)
United Kingdom	44-1932-820821	ukhelp@xilinx.com	44-1932-828522
France	33-1-3463-0100	frhelp@xilinx.com	33-1-3463-0959
Germany	49-89-93088-130	dlhelp@xilinx.com	49-89-93088-188
Japan	local distributor	jhotline@xilinx.com	local distributor
Korea	local distributor	korea@xilinx.com	local distributor
Hong Kong	local distributor	hongkong@xilinx.com	local distributor
Taiwan	local distributor	taiwan@xilinx.com	local distributor
Corporate Switchboard	1-408-559-7778
 Note:  When e-mailing or faxing inquiries, please provide your complete name, company name, and phone number. Also, please provide a complete problem description including your design entry software and design stage. In North America, call 1-800-255-7778 if you cannot find your answer at support.xilinx.com.

Training

http://support.xilinx.com or contact your local Xilinx distributor

Comprehensive introductory and advanced courses cover Xilinx component and development system products.

Order Management

http://support.xilinx.com or contact your local Xilinx distributor

Software License Authorization

Location	Contact
North America	http://support.xilinx.com or 1-800-624-4782
Europe and Japan	contact your local Xilinx distributor


Additional Resources

For additional information, go to http://support.xilinx.com. The following table lists some of the resources you can access from this page. You can also directly access some of these resources using the provided URLs.

Resource	Description/URL
Tutorial	Tutorials covering Xilinx design flows, from design entry to verification and debugging http://support.xilinx.com/support/techsup/tutorials/index.htm
Answers Database	Current listing of solution records for the Xilinx software tools Search this database using the search function at http://support.xilinx.com/support/searchtd.htm
Application Notes	Descriptions of device-specific design techniques and approaches http://support.xilinx.com/apps/appsweb.htm
Data Book	Pages from The Programmable Logic Data Book, which describe device-specific information on Xilinx device characteristics, including readback, boundary scan, configuration, length count, and debugging http://support.xilinx.com/partinfo/databook.htm
Xcell Journals	Quarterly journals for Xilinx programmable logic users http://support.xilinx.com/xcell/xcell.htm
Tech Tips	Latest news, design tips, and patch information on the Xilinx design environment http://support.xilinx.com/support/techsup/journals/index.htm


Glossary

bitstream (BIT file)

clock period

clock to pad path (C2P)

configuration pins

clock to setup path (C2S)

design manager

dock

fpga editor

from/to time specification

HDL

hold time

instance

IO (input/output)

mapping

main window

menu bar

ncd (file)

net

net timing ignore

ngd (file)

offset

pad

pad to pad path (P2P)

pad to setup path (P2S)

par

path

pin

placing

port

primitive

setup time

slew

status bar

tab window

thru timing points

TIMEGRP (Time Group)

timing

timing specifications

TNM

toolbar

ucf (file)


bitstream (definition)
bitstream (BIT file)

A stream of data that contains location information for logic on a device, that is, the placement of CLBs, IOBs, TBUFs, pins, and routing elements. The bitstream also includes empty placeholders that are filled with the logical states sent by the device during a readback. Only the memory elements, such as flip-flops, RAMs, and CLB outputs, are mapped to these placeholders, because their contents are likely to change from one state to another. When downloaded to a device, a bitstream configures the logic of a device and programs the device so that the states of that device can be read back.

A bitstream file has a .bit extension.


clock period (definition)
clock period

The time required for a periodic waveform to repeat itself.


clock-to-pad path (definition)
clock to pad path (C2P)

A path starting at the input of a flip-flop or latch and ending at an output of the chip. It includes the clock-to-Q delay of a flip-flop, the path delay from that flip-flop to the next flip-flop, and the setup requirement of the next flip-flop. The clock-to-pad path time is the maximum time required for the data to leave the source flip-flop, travel through logic and routing, and arrive at the output before the next clock edge occurs.


clock-to-setup path (definition)
clock to setup path (C2S)

A path starting at the input of a flip-flop or latch and ending at an input to another flip-flop, latch, or RAM, where that pin has a setup requirement before a clocking signal. It includes the clock-to-Q delay of a flip-flop, the path delay from that flip-flop to the next flip-flop, and the setup requirement of the next flip-flop.The clock-to-setup path time is the maximum time required for the data to propagate through the source flip-flop, travel through the logic and routing, and arrive at the destination before the next clock edge occurs.


configuration pins (definition)
configuration pins

Configuration pins are used to load design-specific programming data into one or more logic blocks to define the functional operation of a device's internal blocks and interconnections.


design manager (definition)
design manager

The top level software module in the Xilinx Design System. The Design Manager provides access to all the tools you need to read a design file from a design entry tool and implement it in a Xilinx device.


dock (verb) (definition)
dock (verb)

To park a movable window anywhere on a screen by clicking and dragging.


editor (definition)
FPGA editor

Xilinx graphical editor.


from/to time specification (definition)
from/to time specification

A specification allowing you to stipulate a maximum acceptable time delay between groups of elements.


HDL

An HDL, or hardware description language, describes designs in a technology-independent manner using a high level of abstraction. The most common HDLs in use today are Verilog and VHDL.


hold time

Hold time is the time following a clock event during which the data input to a latch or flip-flop must remain stable in order to guarantee that the latched data is correct.


guide file (definition)


instance (definition)
instance

One specific gate or hierarchical element in a design or netlist. The term "symbol" often describes instances in a schematic drawing. Instances are interconnected by pins and nets. Pins are ports through which connections are made from an instance to a net. A design that is flattened to the lowest level constituents is described using primitive instances.


IO (definition)
IO (input/output)

A collection or grouping of basic elements that implement the input and output functions of an FPGA device.


mapping (definition)
mapping

The process of assigning a design's logic elements to the specific physical elements that actually implement logic functions in a device.


main window (definition)
Main window

The background against which all other Constraints Editor windows are displayed.


menu bar (definition)
menu bar

The area located at the top of the Main window that provides access to the menus.


net (definition)
net

A logical connection between two or more symbol instance pins. After routing, the abstract concept of a net is transformed to a physical connection called a wire.


net timing ignore (definition)
net timing ignore

A constraint placed on a net specifying that all paths that fan forward from the point of application will be ignored (for the purposes of a timing model) during implementation.


ncd file

A file representing a physical circuit description of the input design as applied to a specific device.


ngd (definition)
ngd (file)

A file representing a logical circuit description of the input design without device-specific application.


offset (definition)
offset

A constraint specifying the relationship between an external clock and its associated data-in or data-out pin.


pad (definition)
pad

A pad can be bonded or unbonded. On an integrated circuit, a bonded pad (input, output, or I/O) is the physical element connected to a package pin. Unbonded pads are used for internal logic only and are not connected to package pins.


pad-to-pad path (definition)
pad to pad path (P2P)

A path starting at an input of the chip and ending at an output of the chip. The pad-to-pad path time is the maximum time required for the data to enter the chip, travel through logic and routing, and leave the chip. It is not controlled or affected by any clock signal.


pad-to-setup path (definition)
pad to setup path (P2S)

A path starting at an input of the chip and ending at an input to a flip-flop, latch, or RAM—wherever there is a setup time against a control signal. The pad-to-setup path time is the maximum time required for the data to enter the chip, travel through logic and routing, and arrive at the synchronous element input before the clock or control signal arrives.


PAR (definition)
PAR

The Xilinx Place and Route tool.


path (definition)
path

An ordered set of elements identifying a logic flow pathway through a circuit. A path can consist of a single net or a grouping of related nets and components. A path usually starts at the output of a synchronous element and ends when it reaches the input of a synchronous element.


pin (definition)
pin

A symbol pin or package pin. A package pin is a physical connector on an integrated circuit package that carries signals into and out of an integrated circuit.

A symbol pin, also referred to as an instance pin, is the connection point of an instance to a net.


placing (definition)
placing

The process of assigning physical device cell locations to the logic in a design.


port (definition)
port

A logical connector that associates signals across hierarchical boundaries. For purposes of the Constraints Editor, port name refers to a name defined by the user (for example, ADDR1). Port location refers to a package pin on the IC.


primitive

A basic logic element, such as an AND, OR, XOR, NAND, NOR gate, inverter, flip-flop, or latch.

It is also a logic element that directly corresponds, or maps, to one of these basic elements.


routing

The process of assigning logical nets to physical wire segments in the FPGA that interconnect logic cells.


setup time (definition)
setup time

The time prior to a clock event during which the data input to a latch or flip-flop must remain stable in order to guarantee that the latched data is correct.


slew (definition)
slew

Transition time of a signal. A fast slew rate has a quicker transition time and a slow rate a longer one. Limiting the slew rate reduces output switching surges in a device.


status bar (definition)
status bar

An area located at the bottom of a window that provides information about the commands that you are about to select or that are being processed.


tab window (definition)
tab window

Windows that are opened by selecting the desired tab on the Constraints Editor Main window.These windows, which are named Global, Ports, and Advanced, are used to manipulate constraints.


thru timing points (definition)
TPTHRU

A constraint establishing points in a path through which a maximum allowable delay from a source to a destination can be specified.


tiimegrp (definition)
TIMEGRP (Time Group)

A constraint using existing TNMs (Timing Names) to create new groups or to define new groups based on the output net that the group sources. Timing groups are common elements to which a timing constraint applies.


timing (definition)
timing

A process that calculates the delays associated with each of the routed nets in the design.


TIG (timing ignore)

Some paths in a design exist but are never used during time-critical operations and, therefore, do not require timing analysis. If you indicate a timing requirement on these paths, more important paths might be slower, which can result in failure to meet the timing requirements.

The TIG constraint is attached to a net, primitive pin, or macro pin. All paths fanning forward from the point of application of the attribute are treated as if they don't exist from a timing point of view.


timing specifications (definition)
timing specifications

Definition of the maximum allowable delay on any given set of paths in a design.


tnm (definition)
Time Name (TNM)

A constraint used to identify elements that compose a group which can be used in a timing specification. A Timing Name can be created using instances of RAMs, pads, flip-flops, or latches or it can be created using clock nets. If you use clock nets, all valid elements fed by all paths that fan forward from the net belong to the group. Forward tracing stops at any RAM, pad, flip-flop, or latch


toolbar (definition)
toolbar

A field located under the menu bar at the top of a window. It contains a series of icons that you click on to execute some of the most commonly used commands. These icons are an alternative to the menu commands.


ucf (file) (definition)
ucf (file)

An ASCII file containing logical constraints specified by the user.