When you start EPIC, the EPIC window, the EPIC List dialog box, and the Layer Visibility dialog box are displayed. The window and dialog boxes are described in this section. To work in a particular section of the interface, click the left mouse button in that section.
In certain instances, you may need to press the Tab key to select a section with the cursor.
All EPIC operations occur within the EPIC interface. The interface has a Motif look and feel, regardless of what window manager you use.
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.
Figure 2.7 EPIC Window |
The EPIC window includes the Editing Area, Locator Area, Menu Bar, History Area, and Push Button Panel.
The editing area displays a graphical representation of the interior of the FPGA device. The device components and the interconnections (both logical and routed) between these components are displayed in this area. 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 a separate window.
Figure 2.8 Section of Editing Area |
You can control the display of objects in the editing area. You can turn off the display of individual object layers, such as switches, wires, and routed connections, to make your design easier to edit. Selectively viewing objects also reduces the duration of each screen redraw. You can control the display of the objects listed following. For a definition of each object, refer to the appropriate data book.
Symbols used in the EPIC editing area 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 editing area 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.
Figure 2.9 Sites and Components |
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 editing area, 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.
Figure 2.10 Ratsnest Display (Unrouted Net) |
When the net is routed, electrical connections are made between the net pins. In the editing area, 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 depicts a routed net display.
Figure 2.11 Display of Routed Net |
The locator area is displayed in the upper right corner of the EPIC window. This area shows the location of the editing area relative to the area of the entire device. As you pan and zoom the editing area, notice the corresponding changes in the size and position of the rectangle within the locator area. Also, any objects you select appear in the locator area. You can drag the inner locator box with the middle or right mouse button to pan the display to the desired position.
Figure 2.12 Locator Area |
The Menu Bar is located above the editing area. It provides command pull-down menus.
Figure 2.13 Menu Bar |
Similar commands are logically grouped within each menu. Some commands in the menu are followed by an ellipsis (...). When you select one of these commands, a dialog box appears. The dialog boxes allow you to enter additional information for that command. To select a menu command, you can use a click or a hold (mouse) procedure.
To select by clicking follow these steps.
To select by holding follow these steps.
Refer to the Menu Commands chapter for detailed information on the commands in each pull-down menu.
The History Area is located below the editing area. It displays commands and responses. As commands are entered from the Command Line dialog box, they scroll in the history area and are executed.
All error messages, warnings, and command responses are written into the history area. Information in the history area is especially useful for deciphering unexpected command results.
Figure 2.14 History Area |
Use the scroll bar located to the right of the history area to view all the commands and responses recorded during an editing session. On UNIX workstations, a sash located directly above the scroll bar allows you to resize the history area. When the cursor arrow is on the sash, the arrow changes to crosshairs. Press the left mouse button and drag the crosshairs to resize. On a PC, the cursor changes shape when it is over any place on the border line between the history and edit areas.
The history area allows you to scroll back through the last R lines of text. 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.epl and is described in the Recovering an Aborted EPIC Session section of the Using EPIC chapter. You must remain in EPIC while you view this file because the file is eliminated when you exit EPIC.
Refer to the Command Line Dialog Box section for more information.
UNIX style history substitution is available in EPIC for all platforms, including the PC. The history substitution mechanism only works from the EPIC Command Line dialog box. However, you cannot use it in EPIC scripts. The history substitution operators are identical under the UNIX platform with two exceptions.
Command | Description |
---|---|
!? | Gives help on EPIC history substitutions. |
! | Gives a list of previous commands. |
!! | Retrieves the previous command. |
!* | Retrieves the first through last words of the previous command. |
!^ | Retrieves the first word of the previous command. |
!$ | Retrieves the last word of the previous command. |
!<num> | Retrieves previous <num> command. |
!<txt> | Retrieves the last command whose first word matches <txt>. |
!?<txt> | Retrieves the last command with any word matching <txt>. |
!:<num> | Retrieves the <num>th word of the previous command. |
!:<n1>-<n2> | Retrieves the <n1>th through <n2>th words of the previous command. |
!:s/<p1>/<p2>/g | Substitute <p2> for <p1> on previous command. The g is optional. Use it to sub all matches of <p1>. The pattern separator character is whatever follows the `!:s'. Therefore, !:s#a#b# is legal. |
You can enter !? in the EPIC command line dialog and the help message will be displayed. The : colon operators may also be used in conjunction with the `!<num>' and `!<txt>' operators.
For example: `!110:s/a/xxx/' or `!select:s/signal1/signal2/'.
The push button panel is located on the right side of the editing area. It provides a convenient way to perform frequently used commands. To use a command, select the appropriate push button.
You can customize the push button panel by using the button and unbutton commands described in the Command Line Syntax chapter or by editing the epic.ini or the epicuser.ini file. These files define the default push buttons that appear when the EPIC window opens.
Command | Description |
---|---|
exit | Exits EPIC. If you edited your design, a dialog box appears to allow you to save changes. |
add | Adds objects to your design. |
attribute | Posts a dialog box containing attribute 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. |
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 design_name.epl file. |
editblock | Starts the logic block editor, which allows you to 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 attributes for a selected object in the history area. |
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 List dialog box displays a list of the components, nets, layers, paths, and macros in your design. List entries are displayed in alphabetical order. Use the Option button at the top of the dialog box to specify the items you want displayed in the editing area dialog box.
Select one or more items in the list with the left mouse button. When you select an item in the list, you are selecting the object in your design with that name and the selected object changes color in the editing area. You can then perform the same operations on the selected object that you can perform when you select the object in the editing area.
The Layer Visibility dialog box allows you to specify which objects are displayed in the editing area. Select the layers you want displayed and deselect the layers you want hidden. Select the Apply button to activate your selections.
The Command Line dialog box does not appear automatically when you start EPIC. To display this dialog box, select Post Cmd from the View menu or press the x or a key. Rather than using menus or push buttons, you can enter commands in this dialog box.
Figure 2.15 Command Line Dialog Box |
You can resize the dialog box by placing the cursor on any of its corners or sides and dragging until it is the desired size.
On UNIX workstations, EPIC's copy and paste feature allows you to copy text from different areas within EPIC to the Command Line dialog box, or from different applications (outside EPIC) to the dialog box. Cut and paste is not supported on the PC.
Your Windowing environment determines how you execute copy and paste operations.
Some notes about entering commands.
load design \\data\\mydesign.ncd
If you use the command line often as you work in EPIC, you may want the EPIC Command Line dialog box to be posted automatically when you begin your EPIC session. To post the dialog box as EPIC starts up, enter the command post cmd in the epic.ini or epicuser.ini file (the files that control EPIC initialization). These files are described in the section titled Initialization Commands in the Customizing EPIC chapter.