 | Go to mgc/ directory.
 | At UNIX prompt, type: cd; cd mgc |
|
 | Remove mgc_location_map file.
 | rm mgc_location_map |
|
 | Edit mgc_location_map.custom
 | pico (or vi) mgc_location_map.custom. |
|
 | Follow my format (replace rmw with your userid):
 | MGC_LOCATION_MAP_1
##########################
# Your personal libraries
##########################
$MYNETS
/homes/rmw/mentor/nets
$MYLAY
/homes/rmw/mentor/layout
$RMWNETS
/homes/rmw/mentor/nets
$RMWLAY
/homes/rmw/mentor/layout |
|
 | Type ls at the prompt. You should not see a mgc_location_map file. |
 | Set up mentor again
 | At UNIX prompt, type source /opt/digital/setup_mentor. |
|
 | Type ls at the prompt. You should see a mgc_location_map file now. If
you don't, exit the xterm window and open a new one. |
 | Make an hspice directory.
 | At UNIX prompt, type mkdir ~/hspice. |
|
 | Enter hspice directory.
 | At UNIX prompt, type cd ~/hspice. |
|
 | Create a netlist of your schematic.
 | At UNIX prompt, type netlist ~/mentor/nets/hw2 |
|
 | Modify (pico/vi) the file spice_out:
 | The first line must be blank. This is ESSENTIAL! |
 | You should see three .SUBCKT sections: one for your inverter, one
for your transmission gate, and one for your flip flop. The third
may be .SUBCKT flipflop. |
 | The second line after your flip flop is declared (after the .SUBCKT
line), you should see the line: + DUMMY_PIN. Erase DUMMY_PIN and put
in a list of your flip flop's nodes: + D Q Q_BAR CLOCK. |
 | After the end of your flip flop subcircuit (after .ENDS * flipflop
*), insert a new line. You need to tell hspice that flipflop is
actually your top level circuit and what it's ins and outs are, so
use a line like this: XTOPCELL D Q Q_BAR CLOCK flipflop. |
 | Next you need some voltage sources, one to D and one to the CLOCK.
I made both of mine pulses using this syntax: Vxxxxx N+ N- pulse (V_lo
V_hi t_d t_r t_f pulse_width, period). Here's an example: V_CLOCK
CLOCK gnd pulse (0 5 0ns 0ns 0ns 20ns 40ns). This gives me a voltage
source between ground and the node CLOCK. It alternates between 0
and 5 volts. The delay time, rise time and fall time are all zero.
The pulse width is 20 and the period is 40, so the voltage will be
high for 20ns, then low for 20ns, then high for 20ns, etc. |
 | If your clock is on the order of ns like in my example, then you
want to change the .TRAN line at the top of this file. The syntax is
.TRAN TSTEP TSTOP TSTART. You want TSTEP less than your clock pulse
width. You also don't want TSTOP too big, or hspice will take
forever to run. Here's an example: .TRAN 1ns 1us 0. |
 | If your inverter connects to VSS instead of ground, you have to
make additional changes to this file. In the .GLOBAL line at the top
of the file, add vss to the list after vdd and gnd. Then under the
Power Supply Definitions (you'll see vdd vdd gnd 5.0v) add another
line for vss (vss vss gnd 0.0v). What you're doing is making a
voltage source between vss and gnd that supplies 0 volts (i.e.
connecting vss and gnd). |
|
 | Telnet to jefferson. |
 | At the UNIX prompt, type source /opt/digital/setup_hspice |
 | At the prompt, type the name of your spice file (spice_out). |
 | Use defaults for the other questions (just hit enter). |
 | The hspice job should take a few minutes to run and generate a .tr0
file. If it doesn't, edit your spice_out.lis file and look for errors
and warnings. |
 | To see the output graphically, type awaves spice_out.tr0 |