Designing and Simulating a CMOS inverter using Electric VLSI (second pass)So far the design and simulation of the inverter has been completely tangled.
1. start electric 2. open the library C5_CMOSLIB
3. duplicate the cell C5_inverter_VTC(sch) as inv_20_10(sch)
4. modify the schematic of the cell inv_20_10(sch) as follows:
5. generate a symbol for the schematic
6. open the icon and edit its appearance
6. a few more frequently used commands and their bindings
7. create a schematic with both the inverter's symbol and the simulation directives (stimuli & analyses)
8. simulate the design with ngspice
C5_inverter_TRAN.spi
*** SPICE deck for cell C5_inverter_TRAN{sch} from library C5_CMOSLIB
*** Created on Tue Nov 09, 2021 19:47:42
*** Last revised on Tue Nov 09, 2021 20:02:28
*** Written on Tue Nov 09, 2021 21:15:43 by Electric VLSI Design System, version 9.07
*** Layout tech: mocmos, foundry MOSIS
*** UC SPICE *** , MIN_RESIST 4.0, MIN_CAPAC 0.1FF
*** SUBCIRCUIT C5_CMOSLIB__inv_20_10 FROM CELL inv_20_10{sch}
.SUBCKT C5_CMOSLIB__inv_20_10 in out
** GLOBAL gnd
** GLOBAL vdd
Mnmos@2 out in gnd gnd NMOS L=0.6U W=3U
Mpmos@0 vdd in out vdd PMOS L=0.6U W=6U
.ENDS C5_CMOSLIB__inv_20_10
.global gnd vdd
*** TOP LEVEL CELL: C5_inverter_TRAN{sch}
Xinv_20_1@0 in out C5_CMOSLIB__inv_20_10
* Spice Code nodes in cell cell 'C5_inverter_TRAN{sch}'
vdd vdd 0 DC 5
vin in 0 pulse(0 5 0 1n 1n 4n 10n)
.include ../../class/models/C5_models_bsim3.mod
.tran 100p 30n
.plot tran v(in) v(out)
.END
C5_inverter_TRAN.out
Compatibility modes selected: hs a
Circuit: *** spice deck for cell c5_inverter_tran{sch} from library c5_cmoslib
Warning: Model issue on line 11 :
.model nmos nmos ( level=49 version=3.1 tnom=27 tox=1.39e-8 xj=1.5e-7 nc ...
unrecognized parameter (xl) - ignored
unrecognized parameter (xw) - ignored
Warning: Model issue on line 13 :
.model pmos pmos ( level=49 version=3.1 tnom=27 tox=1.39e-8 xj=1.5e-7 nc ...
unrecognized parameter (xl) - ignored
unrecognized parameter (xw) - ignored
ASCII raw file "C5_inverter_TRAN.raw"
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
Warning: Pd = 0 is less than W.
Warning: Ps = 0 is less than W.
Warning: Pd = 0 is less than W.
Warning: Ps = 0 is less than W.
Warning: vin: no DC value, transient time 0 value used
No. of Data Columns : 6
Initial Transient Solution
--------------------------
Node Voltage
---- -------
out 5
in 0
vdd 5
vin#branch 0
vdd#branch -1.50033e-11
No. of Data Rows : 341
.plot line ignored since rawfile was produced.
Total analysis time (seconds) = 0.044
Total elapsed time (seconds) = 0.138
Total DRAM available = 2047.551 MB.
DRAM currently available = 572.340 MB.
Maximum ngspice program size = 13.930 MB.
Current ngspice program size = 13.926 MB.
10. Refine the ngspice simulation by adding some measurements
C5_inverter_TRAN_ngsp.out
...
TRAN measurements
t_delay = 3.835032e-11
t_rise = 2.209172e-10
t_fall = 2.062974e-10
...
|