1. Notes: Starting Helios
1.1 Starting Helios
Helios is the Space Extractor Graphical Users Interface (an X-Windows Motif tool).
To start Helios in the background, type:
# helios &
For some versions a message will pop up giving some
information about the version of the program.
Press on OK to continue.
Note for users of old workstations: when you are running a web browser at
the same time (to read this tutorial)
it may use up your colormap, such that Helios cannot allocate enough
colors (Helios will then give messages like "Cannot allocate colormap entry ...").
In that case you could try to run the browser with a reduced
set of colors or using its own colormaps (e.g. netscape with
the option -install).
Also, when you experience problems with running the tool dali
from Helios, you can try to use the program setcmap
before you start Helios.
For more detailled information about Helios, see the
"Space Tutorial - Helios Version"
document.
Note: To exit Helios,
click on "Database -> Exit" or use Control+X on your keyboard.
Then, in the Exit-window, click on "Save" or "No" to exit Helios.
The first time you start Helios, there is no ".helios" setup file in your home directory.
Thus Helios does not know which project (Working Directory) must be opened.
In that case,
the current working directory is taken as the Working Directory.
Note that most Helios menus can not be used,
if the Working Directory is not a project (database) directory.
In that case, create first a new project (don't do this now, see the next steps).
Try the following menus:
"Help -> About" and
"Help -> Parameters & Files".
1.3 Loading Helios User Settings
Use the "Database -> Load settings..." command.
In the "Load Settings" form, do the following steps:
- If needed, set in the "Filter" field the wildcard part appropriate,
thus it matches the file name you want to load.
- If needed, go in the "Directories" field to the directory where the saved
settings file is located.
- Select in the "Files" field the settings file you want to load.
- Click on the "OK" button to load the selected file.
1.4 Helios QuickRef Window
The Quick Reference Window can be useful,
because it explains in short the meaning of the menu commands and buttons and
toggles in the forms.
But if it stays in the way,
because it is obscuring some part of the Helios main window,
you can easily move it to some other place using your mouse.
Hold your left-mouse-button down in the banner of the window to move it.
Of course,
you can also "close" the window.
And if you don't have it,
you can open it with the "Options -> Show quick reference" menu command.
1.5 Creating a New Project
To create a new project, take the following steps:
- Click on the "Database -> New..." command to get the "New Project" form.
- Fill in the "Project" field
either by typing the path after "Project:", or by using the selection
form that appears after clicking on "Project:".
The selection path must be something like "/usr/john/new_project_name".
- Fill in the "Process" field (click on the button to make a selection).
- Set the required design unit (lambda value).
- To start the make process, click on the "Make Project" button.
A project is an UNIX directory,
which is used as a design database
and can also be used under its name as a reference library.
Therefor the name of a project directory can be very important.
It identifies what is stored there.
The name must be unique (not used before or by somebody else on the same
place in the file system).
Note that, if you create a new project or open an existing project,
the project becomes the Working Directory for the Helios GUI.
You can verify yourself by looking to the Helios main window banner,
which text it displays.
1.6 Saving Helios User Settings
You can save the loaded settings or the settings which are currently
in use by the Helios GUI in a file "helios.defaults" in the
Working Directory (= project directory).
Use the menu command "Database -> Save settings" (using your mouse) or use as a short cut
the bindkey combination "Control+A" from your keyboard.
If you start Helios with this Working Directory,
then Helios is reading this file and using this settings.
Note that if Helios is "opening" a project (or is going to a previous project),
it is reading the "helios.defaults" file of that project.
1.7 Copying Hands-on Files
To do this, start the Helios CommandLine window.
Click on "Options -> Show command line" to open the window.
Now, type and execute the following commands:
Use the UNIX directory listing command 'ls -l' (or: 'll') with the path
$ICDPATH/share/tutorial/... to locate the ".cmd" files.
Click on the "Command history" field to use the command line again and
modify it (to make a copy command):
# ll $ICDPATH/share/tutorial
# cp $ICDPATH/share/tutorial/*.cmd .
# ll
When you are ready, close the CommandLine window again.
Click on the "Close Window" button.
You are using this command (stimuli) files later on,
when you are going to simulate some designs with the spice analog
or sls logic simulator.
Note that the Simeye interface can not browse to this files
on another place then the Working Directory.
They must be private,
because they can easily be modified.
Note that the used (imported) GDSII files (".gds" files) don't need to be copied.
This layout files can easily be selected in the "Layout -> Import..." form.
We wish you a successful time,
spending with this Space hands-on layout extraction tutorial!
1.8 How to Import a GDSII Layout Description
Set in the "Layout -> Import" form the "Layout format" to "GDSII" (if not already set).
Click on the "Layout file" button and go to the "$ICDPATH/share/tutorial" directory
(if not already set) in the "Directories" field.
Choice in the "Files" field the required GDSII file to make the "Selection" complete.
Click on the "OK" button to leave the file browser window.
Click on the "Import Layout" button to start the layout import process
and click on "Accept" to close the window.
2. Notes: Extraction of switchbox4
2.1 The switchbox4 Example Layout
The cell "switchbox4" contains 4 identical cells "dec1of4".
A cell "dec1of4" contains 4 data inputs, 2 selector inputs and 1 data output
and it connects one of the data inputs to the output based on the
value of two selector inputs.
All 4 cells "dec1of4" are connected to the same 4 inputs of "switchbox4".
2.2 How to do a Hierarchical Extraction
Set in the "Extractor -> Extraction options" form
"Hierarchy" mode to "hierarchical non-incremental" to be sure that all
cells of the top-level cell "switchbox4" are extracted.
Note that "Hierarchy" mode set to "hierarchical incremental" processes
only those cells of the "switchbox4" circuit,
that are not extracted yet.
In this case, because nothing is extracted yet, you can also use that setting.
Click on the "Extract" button to start the extraction process.
2.3 How to Retrieve a Netlist
Before "Circuit -> Retrieve",
go first to the "Circuit -> Retrieval options" form
to set the correct "Export Format" and to set "Hierarchy" to "Full hierarchy".
Click on the "Retrieve" button to start the netlist retrieve operation.
2.4 How to do a Flat Extraction
Set in the "Extractor -> Extraction options" form
"Hierarchy" mode to "flat".
Click on the "Extract" button to start the extraction process.
2.5 Using Simeye for Logic Simulation
Before you start Simeye,
be sure that the cell you want to simulate is selected
in the "Selected Cell" field of the "List of Cells" area of the
Helios main window.
With "Circuit->Simeye" the program Simeye is started.
When cell is the selected cell,
the program Simeye tries to read the "cell.cmd" commandfile.
(Be sure that you have copied the commandfile(s) before.)
Note that,
if you don't have a commandfile, Simeye tries to create one from
the template file "simeye.def.d".
Then you must add a lot of stimuli for simulation
(you don't want to do this).
When you have started Simeye for cell "switchbox4",
and the correct "switchbox4.cmd" commandfile is available,
you will see a lot of wavevorms.
That are the logic input stimuli for the data lines b_data[0..3]
and the data selection lines sel[0..1,0..3] and power lines.
To start (run) a simulation with "sls-logic",
choose "Simulate->Run" or first "Simulate->Prepare" to see that
all settings are correct.
You can also choose "Run" from this "Simulate->Prepare" form.
After a while,
when the simulation is ready,
you see the simulation results for "switchbox4".
The logic values on the output lines out[0..3] are printed.
To zoom-in on a signal choose "View -> ZoomIn" and drag a box with your left
mouse button.
You can zoom-in further if you first select "Options -> DetailZoomON".
You can exit the program Simeye with "File->Exit".
Click on "Yes" to exit.
3. Notes: Extraction of oscil
3.1 The oscil Example Layout
The layout of a CMOS ring oscillator with a separate
substrate contact "sens" at the right side.
It consists of nine invertors.
3.2 The Layout Editor Dali
Before you start dali
,
be sure that the cell (you want to watch) is selected
in the "Selected Cell" field of the "List of Cells" area of the
Helios main window.
To start dali
, click on "Layout -> Editor".
Note that dali
is showing the layout of the cell default
with an expansion depth (level) of 1.
Thus you see only the top level layout data and the bounding boxes
of the sub-cells (the children of the root-cell).
To set the expansion level to 2 or more,
go to the "DB_menu" and click on the "all_exp" command field
and choose another expansion level. You may also simply press one of the keys
0 through 9 to set the expansion level.
To zoom-in on the layout,
go to the "term_menu" or "box_menu" and click on the "zoom" command field
and click twice in the layout area to specify a zoom-in bounding-box. As a
shortcut, you can also press '+' or '-'
to zoom in or out. You can also use the arrow keys to pan the window.
To exit the layout editor dali
,
go to the top level menu.
If you are not in the top level menu,
first click on "-return-" to go to it.
Choice the "-quit-" command and "yes" to leave dali
.
Note that you can also "quit" dali
by typing the 'q' key.
In that case no command may be active, else it does not work.
Commands that stay active can be: "zoom", "dezoom", "del_box", etc.
(Note: To de-activate a command, click on that command again.)
3.3 Flat Extraction of oscil
Select "Extractor -> Extraction options".
Watch the Extract Options form, are all settings correct?
Hierarchy: must be "flat".
Set "Verbose" mode ON.
Capacitance Extraction: "Mode" must be "no extraction".
Interconnect Resistance Extraction: "Mode" must be "no extraction".
Substrate Resistance Extraction: "Mode" must be "no extraction".
Click on the "Extract" button to start the extraction process.
3.4 Running Spice Simulation on oscil
With "Circuit->Simeye" the program Simeye is started.
Simeye reads and displays the "oscil.cmd" commandfile.
To run a spice simulation
go to the "Simulate->Prepare" menu
and set the simulation "Type:" to "spice".
Click on the "Run" button to start the simulation.
After a while,
when the simulation is ready,
you see the simulation results for "oscil".
You can exit the program Simeye with "File->Exit".
Don't do this till you have compared this result with
the two other spice simulations.
3.5 Flat with Fast Cap. Extraction of oscil
Select "Extractor -> Extraction options".
Watch the ExtractWin form, are all settings correct?
Hierarchy: must be "flat".
Capacitance Extraction: "Mode" must be "fast extraction"
and "Type" must be "capacitances to substrate".
Interconnect Resistance Extraction: "Mode" must be "no extraction".
Substrate Resistance Extraction: "Mode" must be "no extraction".
Click on the "Extract" button to start the extraction process.
3.6 Flat with Fast Cap./Res. Extraction of oscil
Select "Extractor -> Extraction options".
Watch the ExtractWin form, are all settings correct?
Hierarchy: must be "flat".
Capacitance Extraction: "Mode" must be "fast extraction"
and "Type" must be "capacitances to substrate".
Interconnect Resistance Extraction: "Mode" must be "fast extraction"
and "Type" must be "all interconnects".
Substrate Resistance Extraction: "Mode" must be "no extraction".
Click on the "Extract" button to start the extraction process.
4. Notes: Element Definition Files
4.1 Element Definition Files
An element definition file contains information about how elements
(transistors, conductors, capacitors etc.) are recognized from the
mask layout combinations, and it contains the parameters to compute
the values of the elements (conductor sheet resistances,
capacitance per area, dielectrical constants etc.).
4.2 Editing a Customized Element Definition File
Take the source file from the project process directory.
There are different ways to take the file and to modify it.
You can copy the file using the Helios CommandLine window.
If you don't have this window,
start it with "Options->Show command line".
Use the UNIX directory listing command 'ls -l' (or: 'll') with the path
$ICDPATH/... to locate the "space.def.s" file.
Click on the "Command history" field to use the command line again and
modify it.
Use the following command to copy the file:
cp $ICDPATH/share/lib/process/scmos_n/space.def.s elem.s
Now, modify (edit) this file (gave the contact resistances a zero value)
and save it again.
Use a text editor like axe (which has its own window) to do this.
Of course you can do all above steps using a separate xterm window!
A second way, which you can use, goes as follows.
Start the text editor (axe) and locate the "space.def.s" file and read it.
Edit this file and save it in your project directory with the name "elem.s".
Note that Space does not use this '.s' file format.
You must use the technology compiler (tecc) to convert the '.s' file into
a '.t' (table-format) file.
See the manual page of tecc (helios: Help -> Manual pages...).
4.3 Compilation of an Element Definition File
To compile the "elem.s" file, use the "Database -> New technology..." command.
Use the following steps:
- Set the "Element definition source file" text field:
Click on "file", select "elem.s" and click on "OK".
Leave the "Process" field and the "Mask data file" field empty.
-
Click on the "Compile Element Definition File" button.
4.4 Fast Extraction with Customized Element Definition File
To use the customized "elem.t" file and extract oscil again,
specify in the Helios "Extractor -> Extraction options -> More Options" form
the "Element Definition File" field to "customized" and click on "file" to
choose that "elem.t" in project directory is used for extraction.
Click on the "Accept" button to leave the form.
Click also on the "Accept Options" button in the "Extract Options" to leave
the form, thus you don't start the extraction process yet.
Before extraction,
go first to the "Extractor -> Display options" form,
and set "Use Display" to OFF and click here on the "Extract" button.
5. Notes: Accurate 3D Capacitance Extraction of poly5
5.1 The poly5 Example Layout
The layout consists of five polysilicon plates (0.5u width and 5u heigth).
Each plate has a terminal (pin) name, resp. "a" to "e".
5.2 Display and Job Control Note
You can "Terminate" a Space (extractor) job in the "Job Control Dialog".
This window becomes visible, if you are clicking on the "1 program running" message
in the banner of the Helios main window.
Note that this is also very useful for closing the "Xspace Display window".
You don't need to wait for the "--- Finished ---" message (if it takes too long).
You can better not "Close" the "Job Control Dialog" while displaying,
because you are using the "Terminate" button again and again.
6. Notes: Accurate 3D Resistance Extraction of term3
6.1 The term3 Example Layout
The layout consists of three metal substrate contacts.
Two contacts have an area of 1u x 1u (named "a" and "b").
One contact has an area of 2u x 1u (named "c").
7. Notes: Fast Extraction of oscil (cont.)
Start the layout editor dali with "Layout -> Editor".
Go to the "box_menu" and "zoom"-in on the layout area near the "sens" contact.
Click on the "add_box" command and click in the narrow rectangle
above the rectangle the contains the name "cca".
Click now once in the layout area on the "vss" wire, thus you get a
rubber bounding box.
If you have a bounding box of the wanted size, then click again to finish
the "add_box" command.
Note that the "add_box" command stays active.
If you want a bigger contact,
lay down a new box again.
(If the "add_box" command is not active, click first on the "add_box" command.)
If the contact is too big, use the "del_box" command
(like the "add_box" command)
to delete (cut) a piece of the "cca" mask in the layout area.
If you are finished, write the layout of the cell back to the database.
Click on "-return-" (go to the top menu).
Go to the "DB_menu" and select the "write_cell" command.
Now, click on "oscil" to write the cell back under its own name.
Quit the layout editor with the 'q' command from the keyboard.
8. Notes: Fast Extraction of RC
8.1 The RC Example Layout
The layout consists of a polysilicon resistor (from node "a")
and a polysilicon to metal capacitor (to node "b").
9. Notes: Flat Extraction of CORDIC Chip P505
9.1 The P505 Example Layout
Circuit P505 is a so-called CORDIC chip
(see A.A.J. de Lange, A.J. van der Hoeven, E.F. Deprettere, and J. Bu,
"An Optimal Floating-Point Pipeline CMOS CORDIC Processor: Algorithm,
Automated Design, Layout and Performance," Proc. ISCAS-88, Espoo,
Finland, June 7-9, 1988, pp. 2043-2047)
in a 2 metal layer 1.6 micron CMOS process.
The circuit has 71742 transistors.
The top level cell P505 contains the full chip. The subcell newchip of
cell P505 contains the same layout but without IO buffers, pads, designer
names and logos.
For questions about Space/Helios:
Space Development Team