Alliance Series 2.1i Quick Start GuideChapter 2: Implementation Tools Tutorial
Step 4: Using the Constraints Editor
The Constraints Editor is a utility that allow you to edit constraints previously defined (through a UCF file), as well as add new constraints to your design. Input files to the Constraints Editor include the following.
- NGD (Native Generic Database) file. This file serves as input to the mapper, which then outputs the physical design database, an NCD (Native Circuit Description) file.
- Corresponding UCF (User Constraint File).
By default, when the NGD file is opened, an existing UCF file with the same base name as the NGD file is used. Alternatively, you can specify the name of the UCF file.
Upon successful completion, the Constraints Editor writes out a valid UCF file. NGDBuild uses the UCF file, along with design source netlists to produce a newer NGD file that incorporates the changes made. The NGD is then read by the MAP program (the next step in the design flow). In our design, the watch.ngd file and watch.ucf file are automatically read into the Constraints Editor.
The Global Tab appears in the foreground of the Constraints Editor window. This window automatically displays all the clock nets in your design, and allows you to define the associated period, pad to setup, and/or clock to pad values.
- Select the Period cell on the row associated with the clock net oscout. Double-click your left mouse button. This invokes the Clock Period dialog box.
Within the Clock Signal Definition, keep the default (Specific Time) selected to define an explicit period for the clock rather designate a period which is relative to another timing specification.
- Enter a value of 20 in the Time text box. Verify that ns is selected from the Units pull-down list. Click OK.
Notice that the period cell is updated with the global clock period constraint we just defined (with a default 50% duty cycle)
Note: For the purpose of this tutorial, we invoked a secondary dialog by double-clicking on a cell to specify our constraint values. A new feature to the Constraints Editor in 2.1i allows for the direct entry of constraints into cells by simply clicking once.
- Select the Ports tab from the Constraints Editor's main window.
The left hand side displays a listing of all the current ports as defined the user. Notice that certain cells in the Location column are pre-populated with device pins locking down ports to actual pins on the target device. This information was obtained by the Constraints Editor by way of the watch.ucf file it read in.
- Select File
Save.
The change made within the Constraints Editor is now saved into the watch.ucf file in your current revision directory.
- You will prompted with a reminder to rerun the Translate step. Click OK.
- Select File
Exit
Note: Make sure you read the following procedure before starting to Map your design.
How to Stop the Design Processing Flow
Before we continue implementing our design in the Flow Engine, review the following procedure for stopping the processing of the design after the MAP step.
Warning: Because the steps for the tutorial design can often finish quickly, you should be familiar with this procedure before you start the Flow Engine.Setting a break point anywhere in the design process is useful when you want to stop and evaluate your performance before going forward. For example, setting a breakpoint after the Translate step is useful when you want to perform a functional simulation of a design and copy the resulting design.ngd file to your working directory. After copying the design.ngd file, you can run the appropriate NGD2XXX program on the file to create functional simulation data. For more information on the NGD2XXX programs, see the appropriate chapter in the Development System Reference Guide.
Note: This procedure can be utilized at any time in the Flow Engine to stop after any of the steps in the design flow.
- In this tutorial, you want to stop processing the design after the MAP step. To do this, you must set a break point to stop the Flow Engine. To stop after the MAP step from within the Flow Engine, click the stop sign toolbar icon while MAP is running.
- The Stop After dialog box is displayed with the default setting of Configure as shown in the following figure. The list box displays the break points appropriate for the current state of the design. Because the design has not completed processing at this point, all possible break points are listed.
- Select MAP in the list box and click OK. The stop sign is added to the design flow between the Map and Place and Route steps as shown in the following figure.
Note: The status bar at the bottom of the Flow Engine window will be updated with the specified user constraints file (watch.ucf).
Starting the Flow Engine and Translating/Mapping your Design
Now that all implementation strategies have been defined (options and constraints), let's continue with the implementation of our design.
- Select Design
Implement from the Design Manager.
- The Flow Engine automatically detects that changes were made to your constraints file, which requires the Translate step to be re-run. In order for the changes we just made to the Constraints Editor to take affect, select YES.
- Perform the procedure previously described in the How to Stop the Design Processing Flow section to stop the processing of the design.