Ch. Jacobi
2. How to get the ChipNDale files
The right way to get the ChipNDale program, is to bringover
/DATools/DATools6.1/top/CDDesign24.DF
to get everything, or maybe only bringover
/DATools/DATools6.1/top/CDCMosB.DF
to get only the CMosB technology. (If your impatient)
Many people use a separate subdirectory for ChipNDale and the DATools. They set up their searchpath to look into that directory; this is handy when you want be able to delete ChipNDale easily, but it is not necessary.
Terminology:
technology Describes the purpose of the layout; eg schematic or actual VLSI layout or documentation. ChipNDale wants to know the technology to implement the right commands.
3. How to get started
To read in an already existing
design, use the CommandTool command:
% CDRead nameOfDesign
To create a new empty design [in CMosB technology], use the CommandTool command:
% CDNewCMosB
This is safe! ChipNDale will not overwrite existing files unless you will explicitely issue the save or the output command. Anyway, important files are probably saved on a server. ChipNDale never writes files directly onto servers.
Terminology:
design a document, or a file, we call it a design.
Now do it!
This operation will create 3 viewers
A
Terminal viewer
All the ChipNDale commands will be logged on this viewer. Some commands expect you to type inputs into this viewer, but not now.
You could recognize that input is expected when the cursor in ChipNDale design viewers get the shape of a question mark, or, if you forget, ChipNDale will remind you by blinking the viewer. [You can always stop input by hitting <DEL>].
It is safe to destroy the terminal viewer at any time.
A ChipNDale
design viewer
This viewer will display the design read in. If you have created a new design, this viewer is empty. If the viewer is empty, go into the viewer, press and release the middle mouse button several times and move the mouse a little bit while the button is pressed.
A ChipNDale
control panel viewer
This is a control panel. We will use it soon. Among others, this viewer has a button labeled help. You might use it later, now stick to this document. There is one control panel for each design.
4. Playing is fun
Drawing
The middle mouse button is for drawing. Move the mouse while it is pressed down. When you get tired of this color we will change the layer. Use the middle mousebutton to hit a layer button in the control panel. Experienced users will change layers without moving the mouse. Simply hit the right layer key [in CMosB: a number between 1 and 6].
Terminology:
layer In VLSI designs the obvious thing, for beginners: think color.
Colors
If you want to see real colors, move the viewer to the color screen. Oops, the color display might be off, or it might display bad colors: The 8-bit colors menu entry on the top of your terminal will help you. This entry will show a pop up menu; you have to select the ChipNDale technology, the colors of this technology will be loaded into the color display.
Zooming
Try the "<" and the ">" keys. You don't have to use the shift key.
If you are lost use the <space-TAB>. You probably can't remember this key combination right now, but the key combinations are quite orthogonal and it will be easy later.
Selecting
All the operation work on the current selection.
Try the left mouse button. Try the right mouse button. Move the mouse while the button is pressed. You will probably figure out that ChipNDale somehow "knows" what you want to select, independent how complex the picture is.
Rule
left to make a single selection.
right to add to the selection.
If you want to de-select, use <ESC> together with the mouse.
<ESC> is a general NOT key for quite many ChipNDale commands.
Move, copy, delete
To issue editing commands, use the left or the right mouse button together with some other key. You bet, the left button will make a single selection; the right button will not change the selection.
move <CTRL-left or right mouse>
copy <SHIFT-left or right mouse>
delete <D-left or right mouse> or <CTRL-D>
rotate <R-left or right mouse> or <CTRL-R>
All commands which do not need a position can be issued using <CTRL> instead the right mouse button.
Pop up menus
Most commands can be issued using pop up menus.
Try the menu button in the control panel. This will display a pop up menu, the root of the menus. Select any entry to display the particular pop up. If you select an entry in any other menu, chances are high that you have selected a command. This command will be executed.
The pop up menus can be invoked without using the control panel: Move the input focus into a design viewer and try <space-G>. You get again the root pop up menu.
The
Space key is always used with one of the following meanings
viewer
design
popup menu
Try the space key together with any random letter key. Most of these combinations will invoke a pop up menu directly. the most important ones are:
G: Global
V: Viewer
I: IO
C: Cells
D: Directory
...
Saving your design, Input output
Use the save command. There is a button in the control panel. The command is also found as entry of the IO pop up menu. [start at the root or use <space-I>].
If you want to have more control of the file name, use the output command instead. This is found only in the IO pop up menu.
5. Now lets get fancy
Drawing Cells
Creating cells:
Select some objects. Press <X-C-middle>. Oops, you are a beginner, using the cell pop up menu is easier: <space-c>, select create cell. ChipNDale switches the input focus into the terminal viewer and expects you o type in a name for the cell.
Make some cells, try copy, rotate... of cells.
Changing cells:
Push in: Select the (a single!) cell you want to change and use <left-C>. (Or <CTRL-C, or the cells pop up menu...). You push into the cell. All editing operations are now performed inside the cell.
When you are done, pop out of the cell again: use <SHIFT-C> (or the cells pop up menu) but read first to the end of this paragraph:
ChipNDale will ask you a question: whether you want to flush the edits, create a new cell or replace all instances of the cell by the new version. Select the answer in the pop up menu.
If you forgot to read further till here you will be punished: ChipNDale will show the pop up menu and you might not be able to read this until you answered the question. You won't know that you can simply discard the question by clicking outside the menu. You will also not know that you can move a pop up menu by clicking a second button without releasing the first one; but now we are getting very fancy.
Drawing Cells which already exist
Most of the time copy will do the job. If you want to draw a particular cell use <C-middle>. ChipNDale will ask for the name of the cell to be drawn.
Do you remember: draw => middle button !
Try nesting cells; Try braking ChipNDale by having too many or too complex cells.
Drawing wires the right way
L-shapes
You might have wondered what these silly L-shaped wires are.
When you want to draw a wire, move the mouse to where you want to start, press the middle button and move in the direction you want to go. Try hitting the (left) shift key without releasing the mouse button and continue moving the mouse. At the end you release the mouse button.
Try once the space key instead of the shift key.
If you want to NOT draw an outlined wire, hit ESC.
These progressing L's are an easy way to make the corners at the right spot!
Wire thickness
Hit the layer button in the control panel with the left mouse button. Now with the right mouse button. This changes the width with which wires of the the particular layer will be drawn. What happens when you draw wires of width 0? Try it!
Drawing texts
Use Y for text: <Y-middle> to draw a text. ChipNDale responds to the <Y-middle> command by asking what text to draw.
Select the font in the control panel.
Change the font of existing texts with <F-left, rigth or CTRL>.
Viewers, viewer related commands
Try the new view command in the control panel. This command is also found in the viewer pop up menu: <space-V>.
Pan: Use <space-middle> to pan the view around
Ticks: Little dots which help you positioning things. Use <space-.> **
Of course: space: as for most viewer related commands; dot: you want to see dots.
Grid: The grid is a restriction of the cursor movement. Use <space-/> **
and lots more.
** You don't have to remember these commands; the viewer pop up menu might be enough.
6. Epilogue
Actually ChipNDale is an open system; it is easy to write additional programs which implement more commands. Most documentation cannot be really complete and will not cope with the commands implemented by existing or future additional tools, so also this one.
There are lots of more commands, use the pop up menus, read the real documentation; read the tip tables...
Have fun.