dali - an interactive layout editor |
dali [-A|-C] [-f] [-o] [-h host:d#[.s#]] [=geo] [cell_name] |
-A |
Set plane mask for Text Graphics Context (for Apollo). |
||
-C |
Don't use standard ICD colormap (setcmap program). |
||
-f |
Use file "dali_drc" from current working directory. |
||
-o |
Output "dalirc" messages to "animate" file. |
||
-h |
The display to be used by dali. The display must be identified by a hostname together with a display number, and optionally a screen number. |
If this option is not used the environment variable DISPLAY is used to identify the display. |
=geo |
To specify the window geometry |
<width>x<height>{+-}<xoffs>{+-}<yoffset>. For example, =+0 to get a default window at xoffset 0, or =1000x800+0 to get a rather big window in the upper left corner. |
cell_name |
Name of the cell that is to be read at start-up. |
Dali (the Delft Advanced Layout Interface) is an X Windows program for layout editing of integrated circuits. It can be used for the creation / manipulation of hierarchical layouts containing orthogonal and 45 degrees mask geometries. Dali interacts with the ICD / NELSIS database for storage and retrieval of the layout descriptions. To use the program the project directory must be chosen as the current working directory. Dali uses a cursor (pointer) to select a point or an area on the screen. To select a point a cross is used, which is moved around with the aid of the mouse. Upon pressing a mouse button the point is selected. When rectangular areas, polygons or centre-lines of wires have to be entered, dali switches to rubber-box / rubber-line cursors after the first point has been fixed. Dali is menu driven, with the commands to be used appearing on the left side of the screen. The commands are selected by moving the cursor into the command area on the screen and pressing a mouse button. On occasions where dali expects the user to specify a point in the design area it is often allowed to select a command instead, thereby cancelling or interrupting the command in progress. Dali has a hierarchical menu structure. Upon starting the main menu is shown on the screen from which one may choose one of the command clusters. Upon doing so the set of commands belonging to the cluster are shown, and one may choose one of them. The clusters and their commands are: |
settings |
This cluster contains commands for setting dali working modes. For instance, commands to control the display grid and snap grid. |
||
info_menu |
Contains commands to ask for information. |
||
annotate |
Contains commands to add / delete comments and labels. |
||
DRC_menu |
Contains the commands to do design-rule checking and to show the results on the screen. Dali contacts the dimcheck(1ICD) package to perform the actual check. |
||
inst_menu |
Commands to manipulate instances (calls from the edited cell to son-cells), including the manipulation of arrays of instances and the possibility to add instances of cells that have previously been imported from other projects. |
||
term_menu |
Commands to manipulate the terminals, including the manipulation of a terminal-buffer as well as the possibility to "lift" terminals of instances. |
||
box_menu |
Commands to manipulate the primitive mask geometries of the cell being edited. This includes the manipulation of polygons containing 45 degrees edges, buffer operations, wire editing and a fast integrated design-rule checker performing single-layer checks. |
||
DB_menu |
Commands to interact with the data manager (database). Also commands to expand (on the screen) the instance(s) are given here, as well as commands to clear the data patterns. |
||
visible |
In this cluster one may set layers/names visible/not_visible on the screen. |
that have been selected by the designer. (De)activation of these mask layers can be done by toggling the corresponding areas at the bottom of the screen. Some commands can be activated with keyboard keys. The following key commands are defined for dali: |
Key: Function:
+ |
(=) |
||
zoom in (current window) |
|||
- |
|||
zoom out (current window) |
|||
0 |
|||
expand cell with maximum level |
|||
1...9 |
expand cell with this level |
||
e |
|||
expand cell with default level |
|||
E |
|||
individual expansion |
|||
N |
|||
new edit session (erase window) |
|||
R |
|||
read (edit) another cell |
|||
W |
|||
write (save) the current cell |
|||
b |
|||
bounding box window |
|||
c |
|||
center window at cursor position |
|||
d |
|||
hashed drawing style on/off |
|||
D |
|||
dominant drawing style on/off |
|||
g |
|||
grid(s) on/off |
|||
h |
(H) |
||
pan left |
|||
j |
(J) |
||
pan down |
|||
k |
(K) |
||
pan up |
|||
l |
(L) |
||
pan right |
|||
i |
|||
zoom in at cursor position |
|||
o |
|||
zoom out at cursor position |
|||
p |
|||
previous window |
|||
q |
|||
quit (exit) the program |
|||
r |
(^L) |
||
redraw screen |
|||
s |
|||
visible sub-terminals on/off |
|||
t |
|||
tracker (cursor position display) on/off |
|||
v |
|||
visible setup menu |
|||
Esc |
escape from current menu or enter string |
Messages from the program to the user will be displayed in a window at the top of the screen. |
NELSISPROJECT/.dmrc |
(input file) |
ICDPATH/share/lib/process/TECHN/maskdata |
(input file) |
ICDPATH/share/lib/process/TECHN/dalirc |
(input file) |
NELSISPROJECT/.dalirc |
(input file, 1st try) |
HOME_dir/.dalirc |
(input file, 2nd try) |
ICDPATH/share/lib/process/TECHN/dali_drc |
(input file, 3rd try) |
NELSISPROJECT/dali_drc |
(input file, -f option) |
NELSISPROJECT/layout/cell/box |
(in/output file) |
NELSISPROJECT/layout/cell/info |
(in/output file) |
NELSISPROJECT/layout/cell/mc |
(in/output file) |
NELSISPROJECT/layout/cell/term |
(in/output file) |
NELSISPROJECT/layout/cell/nor |
(in/output file) |
NELSISPROJECT/layout/cell/annotations |
(in/output file) |
NELSISPROJECT/animate.PID |
(output file, -o option) |
The editor will only fit for cells with Manhattan and 45 degrees shapes. |
P. van der Wolf, J. Liedorp and S. de Graaf, "Dali
User's Manual", Circuits & Systems, Delft
University of Technology. |