ENGR338 Digital Electronics Laboratory
Lab 3 The Inverter
1. Be able to layout and simulate an inverter in Electric.
2. Be able to perform simulation in both LTSpice and IRSIM.
** Task 1: Create the
schematic of the inverter. (20 points)
the bigger size of the number denotes the 'drain' side. Please a PMOS
and an NMOS in the schematic view, rotate/mirror the PMOS to let the
drain oriented to the NMOS. The PMOS is 20/2, the NMOS is 10/2.
Use the vdd and gnd symbols (they are global
exports by default so don't export them again). Export the 'in' and
'out' ports for the inverter. Build create an icon view of it.
Run the DRC check to ensure it is error free.
Next, run a simulation to ensure that it inverts
the input. Do not forget to set Spice models by selecting the PMOS or
the NMOS one at a time and follow Tools - Simulation (Spice) - Set
Spice Model. Name them as PMOS and NMOS respectively.
Next, run a transient simulation use a PULSE()
input. The spice code is not provided here. Design it one your own.
The results looks like this:
** Task 2: Create the
layout of the inverter. (20 points)
layout of the inverter by following the tutorial
here. Run DRC and LVS
check before you move forward. Also, do not forget to set the Spice
models for the PMOS and the NMOS.
** Task 3: Use the multiplier to build a larger inverter. (20 points)
The inverter you just built is 20/5
and 10/5. In this section, let's built a 100/2 and 50/2 inverter using
the multiplier function in Electric.
First, duplicate the inverter cell and rename it as
'Inverter_100_50'. Click the new cell and select the PMOS. Then press
tools --> Simulation (spice) --> add Multiplier to set the M=5
adding 5 parallel PMOS. Do the same to NMOS. Others are kept the same
as before. We can get the following circuit.
In the layout view, copy/paste the existing PMOS, delete the metal
contacts on the left side of the duplicate, then make the connection to
the left. Make sure that the connection is built by the green wire (the
active field) not the metal (blue).
After you done with the first duplicate, run a DRC check instantly
before you moving forward. The gap size indicated in the following
figure must be evenly spaced.
Get 5 of the PMOS and the NMOS in parallel and make them 5 times wider.
Run DRC/LVS after this is done.
** Task 4: Run simulations to verify the driving capability of these
two different inverters. (20 points)
First, create a simulation schematic view for the 20/10 inverter:
Run 3 simulations to let it drive 100 fF, 1 pF, and 10 pF caps
Cload = 100 fF
Cload = 1 pF (start having some difficulties to drive the cap).
Cload = 10 pF (can't drive it to the full voltage).
Next, let's grab the wider inverter and see how it goes. (you can
directly replace the 20/10 one with the 100/50 one).
Cload = 100 fF
Cload = 1 pF
Cload = 10 pF
Now, you can tell the difference. The 100/50 inverter can drive bigger
caps compare to the smaller one.
** Task 5: Use a different
simulation tool. (10 points)
First, open a new schematic cell named "sim_inverter_ALS". Put two
inverter in it and set the export input and output. Then press
tools--> Simulation (build-in) --> ALS: simulate the current
cell. Then the simulation window pops up. And in the Explorer,
the vhdl and net.als cells are added automatically. Set the input
signal by pressing G or V to set low signal or high signal. Then we can
get the immediate result of other signals: out1, out2.
Select the IN signal, move the cursor to a point, press 'v' or 'g' to
toggle the signal. The outputs will respond instantly.
Next, let's try another build-in simulator IRSIM.
According to this website,
Electric is not packaged with IRSIM, you must install the plugin JAR
file to enable it.
One way to do this is to save/close your current Electric. Open a
command line window if you uses windows.
My ElectricVLSI software is located at the C:\ElectricVLSI folder.
Download and unzip the plugin file
to the same folder.
Do the following operation in the command line.
Here is the very last command for you to copy: (change the version of
Electric if you have a different one).
After hitting the 'enter' key, you should have the Electric opened up
again. Now, you should be able to see IRSIM under the Tools menu.
Use the same way to toggle the input signal. ('v' and 'g').
One last note: I have two different inverters in the same schematic to
be simulated by two different simulators. ALS was arguably not able to
show different delay times but IRSIM can. However, I didn't see any
differences in delay times in between these two inverters for either
simulator. You can ignore this issue for this lab.
Lab reports grading
Task 1: 20 points.
Task 2: 20 points.
Task 3: 20 points.
Task 4: 20 points.
Task 5: 10 points.
The end of the lab.