This section describes the FPGA Editor interface and how to use it.
Note: Menus, dialog boxes, and parts of the application window are documented as they appear on a UNIX workstation. Differences between the PC and the workstation applications are documented if there is a difference in operation between the two platforms.
This section contains the following topics.
This section describes the FPGA Editor main window. To work in a particular section of the interface, click the left mouse button in that section. The default layout of the main window is shown in the following figure. You can execute commands from the menus, toolbars, and command line. The client or work space area includes the Array window, List window, and World window.
Note: If you do not have a design open in the Array window, only the File, View, Tools, and Help menus are available.
The main window includes the following areas.
Note: The Block Window and Toolbar are displayed when you double click the left mouse button on a logic block
The title bar displays the program name and the name of the currently loaded design.
The menu bar is located above the Array window. Most of the FPGA Editor commands are available in the pull-down menus of the FPGA Editor window after a design is loaded.
You can select menu commands with the mouse or the keyboard. With the mouse, click the left mouse button on the command. With the keyboard, press the Alt key and type in the letter underlined in the menu for that command. When you select a menu command with either method, a brief description of the command's function appears in the Status Bar at the bottom of the FPGA Editor window.
Some menu commands include an ellipsis (...). When you select one of these commands, a dialog box appears. You can enter additional information for that command in the dialog box. Refer to the Menu Commands chapter for detailed information on the commands in each menu or select Help Help Topics.
The Standard toolbar contains commands for performing common operations on your designs, such as opening a design file, deleting objects from your design, and displaying a more detailed view of your design. Click once on a button in the toolbar to access a command.
If you position the mouse pointer over a toolbar button, a short description, called a tool tip, appears next to the button and a longer description appears in the status bar at the bottom of the main window.
The Layer Visibility toolbar allows you to specify which objects are displayed in the Array window. Use the left mouse button to select or deselect the layers you want displayed or hidden. You can control the display of the following objects.
Note: See the Glossary appendix for definitions of these objects.
The Array window displays a graphical representation of the FPGA device. The device components and the interconnections (both logical and routed) between these components are displayed in this window. When you edit the internal logic of a programmable component such as a logic block, a schematic of the interior of the component is displayed in the Block window.
You can control the display of objects in the Array window with the Layer Visibility toolbar. You can turn off the display of individual object layers, such as switches, wires, and routed connections, to make your design easier to view. Selectively viewing objects also reduces the duration of each screen redraw.
Note: Symbols used in the FPGA Editor Array window for specific devices are described in The Programmable Logic Data Book.
A site is a programmable logic element (used or unused) located within the device. Sites are potential locations for components and are displayed in the Array window as outlines of components. Components are CLBs, IOBs, tristate buffers, pull-up resistors, oscillators, or clocks. When you place a component into a site, the outline is filled in.
Components are connected by nets. A net is a set of component pins that are electrically connected in the finished design. When a component is placed, but not yet routed, the connection between that component's net pins (those pins on the net) and net pins from other components is logical, not physical. The pins are associated with each other, even though there is no electrical connection between them. In the Array window, the logical connections that make up a net are displayed as ratsnest lines or direct point-to-point connections between net pins, as shown in the following figure.
When the net is routed, electrical connections are made between the net pins. In the Array window, the routed connections appear as lines following the routing resources available on the device (long lines, pinwires, switch boxes, and so on). The following figure shows a routed net display.
The List window displays a list of the components, nets, layers, paths, and macros in your design. Use the pull-down list box at the top of the window to specify the items you want displayed in the List window.
Note: See the Selecting Objects with the List Window section of the Using the FPGA Editor chapter for a complete description of the List window.
The User toolbar, shown in the following figure, provides a convenient way to perform frequently used commands. To use a command, select the appropriate command button with the left mouse button.
You can customize the User toolbar with the Button and Unbutton commands described in theCommand Line Syntax chapter or by editing the fpga_editor.ini or the fpga_editor_user.ini file. These files define the default User toolbar buttons that appear when the FPGA Editor window opens.
Command | Description |
---|---|
exit | Exits FPGA Editor. If you edited your design, a dialog box appears to allow you to save changes. |
add | Adds selected sites as components to your design. |
attrib | Posts a dialog box containing property information for all selected items or for the main window if no item is selected. |
autoroute | Automatically routes a selected component, macro, net, ratsnest, or net pin between selected routing resources. |
clear | Deselects all selected objects. |
delay | Calculates and lists the path delay for a selected net or selected pins on a net. This information appears in the history area and in the List window when nets are selected. |
delete | Deletes selected objects from the design. |
drc | Performs a DRC (Design Rule Check), which checks for logical and physical errors in the design. The results appear in the history area and also in the log file. |
editblock | Starts the logic block editor, which allows you to view or edit the internal logic of a selected logic block. |
find | Posts a dialog box that allows you to find a specified component, macro, site, pin, or net. |
hilite | Highlights a selected object. |
info | Lists the properties for a selected object in the history area. |
probes | Posts a dialog box that allows you to add probes to your design. |
route | Routes selected objects (manual route). |
swap | Moves a component to another site or swaps locations between two components or two logic block pins. |
unroute | Unroutes selected objects. |
The World window, as shown in the following figure, shows the area of the device that is currently displayed in the Array window. As you pan and zoom the Array window, notice the corresponding changes in the size and position of the rectangle within the World window. Also, any objects selected in the Array window appear in the World window. You can drag the inner box with the mouse button to pan the display to the desired position. If you have multiple Array windows, the World window displays a rectangle for each Array window.
The History toolbar, shown in the following figure, is located below the Array window and displays commands and responses. All error messages, warnings, and command responses are written to the History toolbar. Information in the History toolbar is especially useful for deciphering unexpected command results.
Use the scroll bar located to the right of the History toolbar to view all the commands and responses recorded during an editing session. You can resize the toolbar by selecting the top of the toolbar, and using the left mouse button to move the double-headed arrow that appears up or down.
The history area accommodates 32,000 characters of output on Windows 95/98 platforms, and a much larger number of characters on Windows NT and UNIX platforms. To examine text beyond this limit, use any text editor to view the contents of the log file for your session. The log file is named design_name.out and is described in theRecovering a Terminated FPGA Editor Session section of the Using the FPGA Editor chapter. You must remain in the FPGA Editor while you view this file because the file is renamed when you exit the FPGA Editor.
Note: Refer to theMain Window section for more information.
Use the Command Line toolbar, shown in the following figure, to enter commands from the keyboard.
The status bar appears at the bottom of the main window. When you select a menu command, a brief description of the command's function appears in the status bar.
Note: This window is displayed when you double click the left mouse button on a logic block.
The Block window shown in the following figure is used to edit logic blocks. You can use only one Block window at a time for editing; however, you can have additional Block windows open for viewing.
Many menu commands display dialog boxes in which you can enter information and set options.
The fields shown in the following table are common to most dialog boxes.
Dialog Box Field | Function |
---|---|
OK | Closes the dialog box and implements the intended action according to the settings in the dialog box |
Apply | Implements the intended action without closing the dialog box |
Cancel | Closes the dialog box without effecting any action |
Help | Displays information on that particular dialog box |
Many dialog boxes contain browse buttons to allow you to navigate through your directory structure to find a particular file or to save a file to a specific location. In the FPGA Editor, the browse button appears as a small box with three dots to the right of the file name field.
Some of the dialog boxes feature list boxes. You can select and move items from one list box to another using either the mouse or the keyboard, or a combination of these methods.
Use the mouse to select items in list boxes as follows.
Use the keyboard to select items in list boxes as follows.
Some menu commands have dialog boxes that allow you to filter a list of choices, that is, display a subset of the listed items. These dialog boxes contain a filter field, Apply buttons, and Clear or Reset buttons.
In filter fields, you can enter a text string consisting of characters and wildcards. You cannot enter a range of items in filter fields.
The software does not strictly match patterns; it matches entire text strings. It does not find a string if it is embedded in a larger string unless you use wildcards. For example, it does not find $1N36 if it is embedded in ABC$1N36XYZ. However, if you searched for *$1N36*, it would find that string in ABC$1N36XYZ.
To use the Filter dialog boxes, follow these steps.
Most graphical user interfaces (GUIs) contain context-sensitive help and a Help menu. You can obtain help on commands and procedures with the Help menu or by selecting the Help toolbar button. In addition, the dialog boxes associated with many commands have a Help button that you can click to obtain context-sensitive help.
Use the following Help menu commands to obtain help.
You can obtain context-sensitive help from the toolbar as follows.
Note: You can also press Shift F1 to obtain context-sensitive help.
Pressing the F1 key 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.
Many of the dialog boxes have a Help button that you can click to obtain help for the dialog box with which you are working. You can also press Alt H on your keyboard while the dialog has the keyboard focus to obtain help.
Use the mouse to perform the following operations on the workstation and the PC.
Mouse Action | Function |
---|---|
Left Click | To select toolbar buttons, menus, menu commands, dialog box options, design objects |
Ctrl+ Right Click | To zoom in |
Shift+Ctrl+ Right Click | To zoom out |
Right Drag | To pan |
You can also customize the mouse buttons to perform operations other than those shown. The procedure for customizing mouse buttons is described in the Customizing the FPGA Editor chapter.
To zoom in or out, click the appropriate button on your mouse. The FPGA Editor window zooms by a preset factor. The number of available zoom levels in the Array window is five by default.
The zoom toggle feature allows you to toggle from an inner zoom level to the outermost zoom level and back. This feature is useful when you want to remain at a zoom level that provides good visibility for editing. For example, to move to a location outside your current editing area, but maintain the selected zoom level, use the zoom toggle to go to the outer zoom level, move the cursor to the desired location, and zoom back in.
To perform a zoom toggle, place the cursor in the Array window and type the letter z or Z. If you begin at a zoomed-in level, you zoom out to the maximum zoom level; if you zoom toggle again, you return to the previous zoom level.
Panning keystrokes are defined in the FPGA Editor initialization (fpga_editor.ini) file and are summarized in the following table. You can also use the World window to pan to a selected area. This panning method is described in the Main Window section.
To pan, you must zoom in at least one level and position the mouse cursor in the Array window. You can perform any of the following operations to pan in the FPGA Editor window.
Keystrokes | Result |
---|---|
Up arrow ( ) | Pan up 75% of one window height. |
Shift + | Pan to upper edge of device. |
Down arrow ( ) | Pan down 75% of one window height. |
Shift + | Pan to lower edge of device. |
Left arrow ( ) | Pan left 75% of one window height. |
Shift + | Pan to left edge of device. |
Right arrow ( ) | Pan right 75% of one window height. |
Shift + | Pan to right edge of device. |
space bar | Center display around current cursor position. |