Creating New Constraints
This section tells you how to create new constraints from the Global tab window, from the Ports tab window, and from the Advanced tab window.
NOTEAfter a constraint is created, it appears syntactically in the Editable Constraints list the same way it appears in the UCF (refer to the UCF Syntax appendix).
|
From the Global Tab Window
The following global constraints are created from the Global tab window.
Clock Period
To create a new clock period constraint, open the Global tab window (see the Global Tab Window figure). Follow the steps below.
- In the Period column and in the row associated with the appropriate clock net name, double-click the left mouse button. This opens the Clock Period dialog box.
NOTEAn alternate way to invoke the Clock Period dialog box: right click in any row or column (except the heading), then click Period from the pop-up window.
|
- By default, a timing specification name for the clock period is displayed in the Time Spec 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 as desired. If the name you choose does not begin with "TS", the program will prepend it to the name.
- In the Clock Period field, you may signify an explicit period for a clock or you may designate a period which is relative to a clock period defined in another timing specification.
- If you select Explicit, enter a value in the Time text box and select a unit from the Units pull-down list. Select Start High or Start Low for the initial clock pulse, enter a value in the Time HIGH or Time LOW text box, and a value for time high or low from the pull-down list. 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 time spec in the Reference Time Spec text box, select Multiply by or Divide by and a value in the Factor text box.
- Click OK.
Pad to Setup
Pad to Setup creates a constraint which allows you to specify the timing relationship between an external clock and data at the pins of a device. The Global tab window generates a dialog box from which you can specify a pad to setup requirement for all inputs that are clocked by the clock net identified by the user.
- In the Pad to Setup column and in the row associated with the appropriate clock net name, double-click the left mouse button. This opens the Pad to Setup dialog box.
NOTEAn alternate way to invoke the Pad to Setup dialog box: right click in any row or column (except the heading), then click Pad to Setup from the pop-up window.
|
- Enter a time requirement in the Time Requirement text box and the desired unit from the pull-down list.
NOTEThe Relative to Clock Net field contains the name that you selected in Step 1. You are not allowed to change this field.
|
- Click OK.
Clock to Pad
This creates a constraint which allows you to specify the timing relationship between an external clock and data at the pins of a device. The Global tab window generates a dialog box from which you can specify a time requirement for a global clock.
- In the Clock to Pad column and in the row associated with the appropriate clock net name, double-click the left mouse button. This opens the Clock to Pad dialog box.
NOTEAn alternate way to invoke the Clock to Pad dialog box: right click in any row or column (except the heading), then click Clock to Pad from the pop-up window.
|
- Enter a time requirement in the Time Requirement text box and the desired unit from the pull-down list.
NOTEThe Relative to Clock Net field contains the name that you selected in Step 1. You are not allowed to change this field.
|
- Click OK.
Pad to Pad
- Enter a time value in the Pad to Pad text box
select the desired unit from the Units pull-down list.
- Click File
Save.
From the Ports Tab Window
The following constraints are created from the Ports tab window.
Location
This creates a constraint which locks a user-defined port to a specific device pin.
- In the Location column and in the row associated with the Port Name, double-click the left mouse button. This opens the Location dialog box.
- In the Location text box, enter a pin identification name.
- Click OK.
Pad to Setup
The Ports tab window generates a dialog box from which you can specify a time requirement for individual ports relative to a selected clock net.
- In the Pad to Setup column and in the row associated with the appropriate port name, double-click the left mouse button. This opens the Pad to Setup dialog box.
NOTEAn alternate way to invoke the Pad to Setup dialog box: right click in any row or column (except the heading), then click Pad to Setup from the pop-up window.
|
NOTEAn alternate way to invoke the Pad to Setup dialog box: right click in any row or column (except the heading), then click Pad to Setup from the pop-up window.
|
- Enter a time requirement in the Time Requirement text box and the desired unit from the pull-down list.
- Select the clock that clocks this input from the Relative to Clock Net pull-down list.
- Click OK.
Clock to Pad
The Ports tab window generates a dialog box from which you can specify a time requirement for a port relative to a selected clock net.
- In the Clock to Pad column and in the row associated with the appropriate port name, double-click the left mouse button. This opens the Clock to Pad dialog box.
NOTEAn alternate way to invoke the Clock to Pad dialog box: right click in any row or column (except the heading), then click Clock to Pad from the pop-up window.
|
- Enter a time requirement in the Time Requirement text box and the desired unit from the pull-down list.
- Select the clock that clocks this input from the Relative to Clock Net pull-down list.
- Click OK.
I/O Configuration Options
When you click the I/O Configuration Options box on the Ports tab window, it adds a column titled Fast/Slow to the window.
This option determines the slew rate, which determines the transition time of the 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.
To specify a slew rate:
- In the Fast/Slow column and in the row associated with the port name, click the right mouse button.
- In the pop-up window left click Fast or Slow.
Prohibit I/O Locations
This constraint disallows the use of an I/O site by PAR (Place and Route) and EPIC (Editor for Programmable Integrated Circuits).
- Click Prohibit I/O Locations. This opens the Prohibit I/O Locations dialog box.
- From the I/O Locations Available pull-down list, select the location (or locations) that you wish to be disallowed
click the right directional arrow (>).
- Click OK.
From the Advanced Tab Window
The following constraints are created from the Advanced tab window.
Groups by Elements (TIMEGRP)
Time groups are common elements to which a timing constraint applies. Groups may be created using FFS, PADS, RAMs, and LATCHES. Currently the Constraints Editor does not allow you to define timing groups in terms of other groups, groups by exclusion, or groups by flip-flop clock sense.
- Click Create in the Groups by Elements (TIMEGRP) field. This opens the Time Group dialog box.
- In the Time Group Name text box, enter a name for the timing group.The name can consist of any combination of letters, numbers, or underscores. Keep the name short for convenience and clarity.
- Select the element type from the Design Element Type pull-down list.
- In the Elements Available pull-down list, click on the elements that you wish to be members of the time group: where Elements can be FFS, PADS, RAMS or LATCHES.
- Click the right directional arrow (>) to put the selected elements into the Time Group Members list.
- To remove a member from the Time Group Members list, select the member and click the left directional arrow (<).
- After you have placed all of the desired members in the Time Group Members list, click OK.
Groups by Net (TNM)
A Time Name is an attribute used to identify elements that compose a group. This group can be used in a timing specification. A Time Name can be created using instances of FFS, PADS, RAMS or LATCHES or it can be created using clock nets or clock enable 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.
- Click Create in the Groups by Nets (TNM) field. This opens the Time Name dialog box.
- In the Time Name text box, enter the new time name. The name can consist of any combination of letters, numbers, or underscores. Keep the name short for convenience and clarity.
- Make a selection from the Design Element Type pull-down list.
- In the Instances/Clock Nets Available pull-down list, click on the desired names
click the right directional arrow (>) to transfer the selected names to the Time Name Targets pull-down list.
- To remove a name from the Time Name Targets pull-down list, click the name
click the left directional arrow (<).
- When you have completed your selections, click OK.
Pad to Setup Requirement(s) (OFFSET IN BEFORE)
The Advanced tab window generates a dialog box from which you can specify a pad group and a time requirement relative to a specified clock net and an optional register time group. The register time group allows you to limit the paths.
- Click Specify in the Pad to Setup Requirement(s) (OFFSET IN BEFORE) field. This opens the Pad to Setup dialog box.
- Select a pad group from the Pad Group pull-down list. (Pad Group identifies a predefined group of pads.)
- Enter a time requirement in the Time Requirement text box and the desired unit from the pull-down list.
- Select the clock that clocks this input from the Relative to Clock Net pull-down list.
- Select a register timegroup from the Register Timegroup pull-down window.
- Click OK.
Clock to Pad Requirement(s) (OFFSET IN BEFORE)
The Advanced tab window generates a dialog box from which you can specify a pad net or group and a time requirement relative to a specified clock net.
- Click Specify in the Clock to Pad Requirement(s) (OFFSET OUT AFTER) field. This opens the Clock to Pad dialog box.
- Select Pad Net or Pad Group. Pad Group identifies a predefined group of pads.
- Enter a time requirement in the Time Requirement text box and the desired unit from the pull-down list.
- Select the clock that clocks this input from the Relative to Clock Net pull-down list.
- Click OK.
Timing THRU Points (TPTHRU)
This constraint applies when it is convenient to define intermediate points on a path to which a specification applies. It defines the maximum allowable delay from the source through the intermediate point to the destination.
- Click Create in the Timing THRU Points (TPTHRU) field. This opens the Timing THRU Point dialog box.
- Enter a name in the TPTHRU Name text box. The name can consist of any combination of letters, numbers, or underscores. Keep the name short for convenience and clarity.
- Make a selection from the Design Element Type pull-down list.
- In the Clock Nets/Instances Available pull-down list, select the names that will identify the intermediate points on your path
click the right directional arrow (>) to transfer the selected names to the TPTHRU Targets pull-down list.
- When you have completed your selections, click OK.
Slow/Fast Path Exceptions (FROM/THRU/TO)
This generates the FROM/THRU/TO dialog box, which allows you to specify an explicit maximum delay between groups of elements and through intermediate points.
- Click Specify in the Slow/Fast Path Exceptions (FROM/THRU/TO) field. This opens the FROM/THRU/TO dialog box.
- In the Time Spec text box enter a time specification name. The name should be entered in the form TSid, where id is a unique name. The name can consist of letters, numbers, or the underscore character (_). If you do not enter TS, the software will automatically prepend it to your id
- Make a selection from the From Group and To Group pull-down lists (All, All FFS, All PADS, All RAMS, or All LATCHES).
- If applicable, make a selection from the THRU Points pull-down list.
- Enter a value for time in the Time text box and select the appropriate unit from the Units pull-down list.
- Click OK.
Multicycle Paths (FROM/THRU/TO)
This generates the FROM/THRU/TO dialog box, which allows you to specify a maximum delay (between groups of elements and through intermediate points) which is relative to another timing specification.
- Click Specify in the Multicycle Paths (FROM/THRU/TO) field. This opens the FROM/THRU/TO dialog box.
- In the Time Spec text box enter a time specification name. The name should be entered in the form TSid, where id is a unique name. The name can consist of letters, numbers, or the underscore character (_). If you do not enter TS, the software will automatically prepend it to your id
- Make a selection from the From Group and To Group pull-down lists (All, All FFS, All PADS, All RAMS, or All LATCHES).
- If applicable, make a selection from the THRU Points (optional) pull-down list.
- Select a reference time specification from the Reference TIMESPEC pull-down list.
- Click Multiply by or Divide by.
- Enter a value in the Factor text box.
- Click OK.
False Paths (FROM/THRU/TO)
This generates the FROM/THRU/TO dialog box, which allows you to specify paths between groups (and intermediate points between those groups) as ones that will be ignored by timing.
specify an explicit maximum delay between groups of elements and through intermediate points.
- Click Specify in the False Paths (FROM/THRU/TO TIG) field. This opens the FROM/THRU/TO dialog box.
- In the Time Spec text box enter a time specification name. The name should be entered in the form TSid, where id is a unique name. The name can consist of letters, numbers, or the underscore character (_). If you do not enter TS, the software will automatically prepend it to your id
- Make a selection from the From Group and To Group pull-down lists (All, All FFS, All PADS, All RAMS, or All LATCHES).
- If applicable, make a selection from the THRU Points (optional) pull-down list.
- Click OK.
False Paths by Nets (NET TIG)
This generates a dialog box that allows you to mark nets used in timing specifications as ones that will be ignored by timing.
- From the Net pull-down list, select the name of the net that you wish to be ignored for timing purposes.
- From the TIMESPECs Available pull-down list, select the desired timespecs that contain the net you selected in step 1. If you do not select a timespec, the constraint will apply to all the available timepsecs in the pull-down list.
- If you selected one or more timespecs, click the right directional arrow (>).
- Click OK.
