Hello Everyone,
I have a problem with the read operation of sram , here is my code. I am trying to read a value of 1 , when i simulate with the following code, both bl and blb are staying high, whereas in the correct operation bl should stay high and blb should go low. Please help me with this. I am in urgent need of this.
*sram*
*source
vdd vdd 0 dc 1
*initial conditions stored for read operation
vq Q 0 dc 1
vqr QR 0 dC 0
*.ic v(Q)=1
*.ic v(QR)=0
*data control
vbl bl 0 pulse(0 0.5 1m 100u 100u 5m 5m)
vblb blb 0 pulse(0 0.5 1m 100u 100u 5m 5m)
*access control
vwl wl 0 pulse(0 2 3m 100u 100u 5m 5m)
*transistors used for latching
m1 QR Q 0 0 NMOS l=0.18u w=0.36u
m2 QR Q vdd vdd PMOS l=0.18u w=0.72u
m3 Q QR 0 0 NMOS l=0.18u w=0.36u
m4 Q QR vdd vdd PMOS l=0.18u w=0.72u
*transistors used for data access
m5 bl wl Q Q NMOS l=0.18u w=0.36u
m6 blb wl QR QR NMOS l=0.18u w=0.36u
.tran 100n 100m
.probe
.MODEL NMOS NMOS
+ LEVEL = 3
+ VTO = 0.41
+ TOX = 2.2E-09
+ NSUB = 2.0E+18
+ NFS = 6.0E+12
+ XJ = 6E-8
+ LD = 9e-9
+ UO = 390
+ VMAX = 2.2E+05
+ THETA = 0.80
+ ETA = 2.8E-03
+ KAPPA = 0.2
+ GAMMA = 0.40
+ RSH = 500
+ CGSO = 3.33449e-10
+ CGDO = 3.33449e-10
+ CGBO = 0.0
+ CJ = 4.96491e-3
+ CJSW = 2.45744e-10
.MODEL PMOS PMOS
+ LEVEL = 3
+ VTO = -0.41
+ TOX = 2.2E-09
+ NSUB = 2.0E+18
+ NFS = 6.0E+12
+ XJ = 6E-8
+ LD = 9e-9
+ UO = 175
+ VMAX = 1.1E+05
+ THETA = 0.80
+ ETA = 2.8E-03
+ KAPPA = 0.2
+ GAMMA = 0.40
+ RSH = 500
+ CGSO = 3.33449e-10
+ CGDO = 3.33449e-10
+ CGBO = 0.0
+ CJ = 4.96491e-3
+ CJSW = 2.45744e-10
*.model NMOS NMOS [kp=20u vto=0 lambda=0]
*.model PMOS PMOS [kp=20u vto=0 lambda=0]
.end