Professional Documents
Culture Documents
M12497296
Harshavardhan Medasani
1. Design a static CMOS circuit to generate f given a, b, c and d. Assume an external load at f
of 100fF. The desired maximum delay of the circuit is 10 ns assuming near-ideal step
inputs. Measure the delay from the time the inputs change to the time the output reaches
its final stable value. Size the circuit using Spice. Submit the circuit diagram annotated
with the transistor sizes. Write your last name, first name, M-number and the logic
expression of f next to the circuit diagram. Submit the Spice file and annotated simulation
results to show that the circuit works as desired.
f = (𝒂. 𝒃) + (𝒄. 𝒅)
HSPICE Code:
* ref
Vdd nd Gnd DC 5v
Simulation:
Output without capacitor
Results:
Results:
f = (𝑎. 𝑏) + (𝑐. 𝑑)
NOTE: There are three different layouts corresponding to the same logic equation stated above
namely ckt1, ckt2, ckt3. This report compares the three different layouts with respect to delay, rise
and fall times.
ckt1 MAGIC Layout:
ckt1 HSPICE Code without capacitor:
* HSPICE file created from ckt1.ext - technology: scmos
.option scale=1u
.options post
.tran 0.1n 130n
.plot V(Out)
.end
ckt1 Simulation:
a) Output:
b) Propagation Delay:
Propagation Delay High to High
Propagation Delay Low to Low
c) Worst case Scenario:
Worst case Rise Time
Worst case Fall Time
Results:
.option scale=1u
*output verification
*Va A Gnd PULSE(5v 0 0n 0.1n 0.1n 8n 16.02n)
*Vb B Gnd PULSE(5v 0 0n 0.1n 0.1n 16n 32.02n)
*Vc C Gnd PULSE(5v 0 0n 0.1n 0.1n 32n 64.02n)
*Vd D Gnd PULSE(5v 0 0n 0.1n 0.1n 64n 128.02n)
a) Output:
b) Propagation Delay:
High to High
Low to Low
c) Worst Case Scenario:
Rise time
Fall Time
Results:
.option scale=1u
m1000 n0 a Vdd Vdd pfet w=8 l=2
+ ad=224 pd=128 as=160 ps=80
m1001 Vdd b n0 Vdd pfet w=8 l=2
+ ad=0 pd=0 as=0 ps=0
m1002 n0 c Out Vdd pfet w=8 l=2
+ ad=0 pd=0 as=160 ps=80
m1003 Out d n0 Vdd pfet w=8 l=2
+ ad=0 pd=0 as=0 ps=0
m1004 Out a n1 Gnd nfet w=8 l=2
+ ad=80 pd=76 as=64 ps=60
m1005 Out c n2 Gnd nfet w=8 l=2
+ ad=0 pd=0 as=64 ps=60
m1006 n1 b Gnd Gnd nfet w=8 l=2
+ ad=0 pd=0 as=80 ps=76
m1007 n2 d Gnd Gnd nfet w=8 l=2
+ ad=0 pd=0 as=0 ps=0
C0 b Vdd 2.4fF
C1 Gnd GND 12.0fF
C2 d GND 18.8fF
C3 Out GND 13.5fF
C4 c GND 14.0fF
C5 n0 GND 6.0fF
C6 a GND 17.3fF
C7 Vdd GND 9.0fF
C8 b GND 32.6fF
*output verification
*Va A Gnd PULSE(5v 0 0n 0.1n 0.1n 8n 16.02n)
*Vb B Gnd PULSE(5v 0 0n 0.1n 0.1n 16n 32.02n)
*Vc C Gnd PULSE(5v 0 0n 0.1n 0.1n 32n 64.02n)
*Vd D Gnd PULSE(5v 0 0n 0.1n 0.1n 64n 128.02n)
.options post
.tran 0.1n 140n
.plot V(Out)
.end
ckt3 Simulation:
a) Output
b) Propagation Delay:
High to High
Low to Low
c) Worst Case Scenario:
Rise Time
Fall Time
Results:
f = (𝒂. 𝒃) + (𝒄. 𝒅)
NOTE: There are three different layouts corresponding to the same logic equation stated above
namely ckt1, ckt2, ckt3. This report compares the three different layouts with respect to delay, rise
and fall times.
.option scale=1u
.options post
.tran 0.1n 130n
.plot V(Out)
.end
ckt1 Simulation:
a) Propagation Delay:
Propagation Delay High to High
Propagation Delay Low to Low
b) Worst case Scenario:
Worst case Rise Time
Worst case Fall Time
Results:
.option scale=1u
.options post
.tran 0.1n 140n
.plot V(Out)
.end
ckt2 Simulation:
a) Propagation Delay:
High to High
Low to Low
b) Worst Case Scenario:
Rise time
Fall Time
Results:
.option scale=1u
m1000 n0 a Vdd Vdd pfet w=8 l=2
+ ad=224 pd=128 as=160 ps=80
m1001 Vdd b n0 Vdd pfet w=8 l=2
+ ad=0 pd=0 as=0 ps=0
m1002 n0 c Out Vdd pfet w=8 l=2
+ ad=0 pd=0 as=160 ps=80
m1003 Out d n0 Vdd pfet w=8 l=2
+ ad=0 pd=0 as=0 ps=0
m1004 Out a n1 Gnd nfet w=8 l=2
+ ad=80 pd=76 as=64 ps=60
m1005 Out c n2 Gnd nfet w=8 l=2
+ ad=0 pd=0 as=64 ps=60
m1006 n1 b Gnd Gnd nfet w=8 l=2
+ ad=0 pd=0 as=80 ps=76
m1007 n2 d Gnd Gnd nfet w=8 l=2
+ ad=0 pd=0 as=0 ps=0
C0 b Vdd 2.4fF
C1 Gnd GND 12.0fF
C2 d GND 18.8fF
C3 Out GND 13.5fF
C4 c GND 14.0fF
C5 n0 GND 6.0fF
C6 a GND 17.3fF
C7 Vdd GND 9.0fF
C8 b GND 32.6fF
*output verification
*Va A Gnd PULSE(5v 0 0n 0.1n 0.1n 8n 16.02n)
*Vb B Gnd PULSE(5v 0 0n 0.1n 0.1n 16n 32.02n)
*Vc C Gnd PULSE(5v 0 0n 0.1n 0.1n 32n 64.02n)
*Vd D Gnd PULSE(5v 0 0n 0.1n 0.1n 64n 128.02n)
.options post
.tran 0.1n 140n
.plot V(Out)
.end
ckt3 Simulation:
a) Propagation Delay:
High to High
Low to Low
b) Worst Case Scenario:
Rise Time
Fall Time
Results:
• The delays and rise and fall times before and after the layout vary by a significant number.
• This difference can be because of the intrinsic capacitances (C0 to C8) generated in the layout
shown in the extracted HSPICE code.
• As the layout consists of different layers in contact which also involves metal wires, this creates
some capacitance to be built up in the circuit.
• The extracted HSPICE code also contains intrinsic capacitances between terminals of the same
transistor. This is not included in the initial (reference) HSPICE code created.
• Thus, it can be concluded that the difference in the delays and rise and fall times between the 2
codes before and after layout is due to the intrinsic capacitances in the layout.
4. Extract and simulate the circuit using IRSIM after attaching a 100 fF external capacitor at the
output node. Submit annotated simulation waveforms and IRSIM circuit file. Compare and
comment on the simulation results when using Spice vs. IRSIM.
f = (𝒂. 𝒃) + (𝒄. 𝒅)
vector In1 A
vector In2 B
vector In3 C
vector In4 D
vector In5 Vdd
setvector In1 0
setvector In2 0
setvector In3 0
setvector In4 0
setvector In5 1
s
setvector In1 1
setvector In2 0
setvector In3 0
setvector In4 0
setvector In5 1
s
setvector In1 0
setvector In2 1
setvector In3 0
setvector In4 0
setvector In5 1
s
setvector In1 1
setvector In2 1
setvector In3 0
setvector In4 0
setvector In5 1
s
setvector In1 0
setvector In2 0
setvector In3 1
setvector In4 0
setvector In5 1
s
setvector In1 1
setvector In2 0
setvector In3 1
setvector In4 0
setvector In5 1
s
setvector In1 0
setvector In2 1
setvector In3 1
setvector In4 0
setvector In5 1
s
setvector In1 1
setvector In2 1
setvector In3 1
setvector In4 0
setvector In5 1
s
setvector In1 0
setvector In2 0
setvector In3 0
setvector In4 1
setvector In5 1
s
setvector In1 1
setvector In2 0
setvector In3 0
setvector In4 1
setvector In5 1
s
setvector In1 0
setvector In2 1
setvector In3 0
setvector In4 1
setvector In5 1
s
setvector In1 1
setvector In2 1
setvector In3 0
setvector In4 1
setvector In5 1
s
setvector In1 0
setvector In2 0
setvector In3 1
setvector In4 1
setvector In5 1
s
setvector In1 1
setvector In2 0
setvector In3 1
setvector In4 1
setvector In5 1
s
setvector In1 0
setvector In2 1
setvector In3 1
setvector In4 1
setvector In5 1
s
setvector In1 1
setvector In2 1
setvector In3 1
setvector In4 1
setvector In5 1
s
IRSIM Simulation:
Output:
Delay:
Observation: