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 ... |