Professional Documents
Culture Documents
CMOS Inverter Layout
CMOS Inverter Layout
Objectives
To construct the layout (device-level implementation) of the CMOS inverter.
To be acquainted with the capabilities of Electric as a layout editor tool.
To simulate the dynamic behavior of the CMOS inverter using the layout-
extracted netlist.
Introduction
The layout, which is the final design for fabrication, is the lowest abstraction level
in the design hierarchy for digital systems. It is the accurate physical representation of the
device conforming to constraints imposed by the manufacturing process, the design flow,
and the specifications as verified through simulations. A layout-extracted netlist includes
parasitic resistances and capacitances for more accurate simulations.
The stick diagram is shown in figure 1 and layout of CMOS inverter done in
ElectricTM 6.03 is shown in figure 2.
Figure 2
In this exercise, the layout of the CMOS inverter that was designed in Exercises 1
and 2 will be implemented. The trainees are strongly encouraged to compare the
simulation results obtained in Exercise 2 with the data that will be gathered in this
exercise.
Materials needed
ElectricTM 6.03 and WinSpice3 software
Computer with the following specifications:
- Intel Pentium 2 processor or higher
- 128MB RAM, 500MB HDD space
- Windows 2000 or XP
(a) Layout
1. Load Electric.
3. Setup Electric for layout entry. Follow instructions below on how to set the Layout
Technology and changing the Lambda Size.
4. Create new facet inverter_lay in library Lab_Exercise with layout as the facet view.
Make sure that the current technology is mocmossub.
5. Layout the CMOS inverter according to the design rules given in Appendix B of the
ASTI Training Manual. Figure 2 is a sample layout of a CMOS inverter. Before
proceeding with the layout implementation, the trainees are strongly encouraged to read
the transistor layout tips given in the Appendix C of the ASTI Training Manual. Follow
instruction below on how to add Nodes and Arcs.
Note: Lp, Ln = 0.35µm; Wp = 3.2µm; Wn = 0.8µm
Adding Nodes
1. Select a node from the components menu by using the left mouse button.
2. Click on the design window.
Note: Nodes in the mocmossub components menu are the ones in blue outlines.
Adding Arcs
1. Select an arc in the components menu.
2. Choose the arc starting point by left clicking the node near the desired port. Make
sure that the desired port is highlighted before proceeding to the next step.
6. Add the export pins. Label each pin properly. Follow instructions below on how to
add export pins.
7. After doing the layout, check for any design rule violation. Click on Tools → DRC →
Hierarchical Check.
8. If no violations are reported save the inverter layout and close its design window.
(b) Simulation
9. Create new facet inverter_lay_tst with schematic as the facet view. Make sure that the
current technology is schematic, analog.
10. Click on Edit → New Facet Instance. Choose library Lab_Exercise. Select
inverter_lay{lay} from this library. Click on the design window.
12. Save the schematic. Create a SPICE netlist and simulate the circuit using WinSpice.
Follow instructions below on how to create a SPICE Netlist using Layout Instance.
13. Complete the table below by varying the width of the PMOS transistor. Round off
your answers to two decimal places.
Note: To view and edit the inverter layout while in the inverter_lay_tst schematic, select the
inverter icon instance in the design window and press Ctrl-D. To go back to the inverter_lay_tst
schematic window, simply press Ctrl-U.
14. Repeat the above procedures for loadcap = 500fF. Complete table 3 below. Round-
off your answers to two decimal places.
15. Compare the data obtained from Exercise 2 and Exercise 4. Note down your
observation.
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
Area = __________________________
Determining the Area of the Layout
1. Click on Info → Measure Distance from the pulldown menu.
2. Press X on the keyboard. This key tells Electric that you are ready to specify the
starting point of your measurement.
3. Left click on the starting point of your measurement.
4. Left click on the end point of your measurement. A line appears and the value of
the
length is shown.
5. Press the Enter key when done.
2. Try to move the node closer one step at a time while checking the message
window to see if a DRC error is generated. Or you can perform the DRC
independently as specified in the Layout section of this manual.
3. Checking their connectivity is the same as with the schematic. Clicking a node
should highlight all that is connected to it as in the figures below.
5. Uncheck “ends extend” (This option sizes the node / arc in proportion to the node
width).
6. Another cause of spacing errors is multiple components that are overlapping. One
can easily identify this by moving the component concerned and checking if there is
an extra component under it as in the example below.
In this case, the extra component is not connected to the other nodes and so
it generates the other spacing errors. Simply delete the extra component and run a
DRC again.
7. If there is still a spacing error, then the two nodes must be really too close. One of
the nodes should therefore be moved until the error disappears.
References: