Thursday, September 16, 2021

 6T SRAM Cell

Determination of Static Noise Margin by simulation-Graphical Method

            Static noise margin(SNM) is the noise voltage injected in the SRAM cell which results in flipping the bit values in hold or read state or opposite bit is written during the write operation. The 6T SRAM cell schematic is given in Fig.1.

   Fig.1.   6T  SRAM Cell

 

            The pair of transistors M1 and M2  make one inverter. The other pair M3 and M4 make another inverter. These inverters are connected back to back forming a flipflop. It stores one bit of information. The nmos  transistor M5 and M6 are referred as access transistors as they are used to access node Q and QB when either read or write operations are performed on SRAM cell.  

        In a typical SRAM cell, the cell ratio CR is between 1.5 and 2 and  the Pullup ratio, PR is between 0.7 and 1. We can first size access transistor and load transistor as they are the smallest size. We will consider about 600nm width for nmos. This will be typical width considering that we have to provide for the metal contact to source and drain. Thus M5 and M6 transistors will have W5/L5 =W6/L6= W/L= 600nm/180nm. W/L is ratio of channel width to channel length of transistor. The load transistor M2 and M4 will have W2/L2=W4/L4= W/L = 600nm/180nm. Assume PR=1.0.  The driver transistors M1 and M3 will have W1/L1=W3/L3= W/L= 1000nm/180nm. CR= ~1.67>1.5.

        The SNM in hold state is measured by plotting the dc transfer characteristics of the two inverters constituting the SRAM cell. The SNM in hold state is also referred as read margin. The WL voltage is kept low, implying access transistors M5 and M6 are in off state.  The circuit schematic is given in fig 2.



Fig.2. The Circuit  schematic 6T SRAM cell for hold margin


        The simulation is performed in LTspice. The schematic used for simulation is shown in fig.3. Here WL , BL and BLB are kept at ground voltage. M5 and M6 can be disconnected from node Q and QB. The DC transfer characteristics are obtained for both inverters as shown in Fig.4.  



 

Fig.3. The schematic used for simulation for determination of Hold Margin


Fig.4. The DC transfer characteristics of two inverters-hold state 


            The plot data is obtained from the LTSpice simulation as text file and plotted in EXCEL sheet as shown in Figure 5 for determination of SNM.  In order to obtain the SNM, the DC transfer characteristics of the second inverter is transposed i.e Vin2 is plotted as a function of Vout2. The resultant plot is shown in Fig.6. This is called butterfly plot. The SNM can be determined by fitting biggest square between the two curves. The side of the square in Volts gives the SNM. The average of the size of the side of the two squares in two  lobes of the butterfly plot is obtained. The SNM for the figure shown is about 0.6 Volts. 


 Fig.5. The butterfly plot of DC characteristics of two inverters in 6T SRAM cell.

 

                Seevinck et. al. presented another method in which we can avoid plotting the graph using excel sheet and fitting by trial the square between the two transfer characteristics curves. We look at the graph of two curves in a coordinate system rotated by 45 degree. Next we plot the difference curve  and find the maximum for read and hold margin. The height 'd' of the maxima gives the diagonal of the square. Thus 

                              SNM = d /✔2.

            This can be achieved by determining the inverter characteristics using a source voltage varying between -VDD/ and +Vdd/✔2. The coordinate transformation from X-Y axis to U-V axis gives us  (X  can be Vin1 or Vout2) and Y can be Vout1 or Vin2 respectively for two inverters Fig 6. (F1 made of M1-M3 and F2 made of M2-M4 of SRAM Fig. 7 ). 

              X= U cos45 + V sin45  =U/✔2 + V/✔2

    Y = -U sin45+ V cos45 =-U/✔2 + V/✔2

            These equations can be used to perform simulation and directly obtain the static noise margin.

         


Fig.6. DC transfer characteristics of inverter-1and inverter -2. The inverter -2 characteristics are transposed by plotting V(Vin2) vs V(Vout2).

            The flip constituting SRAM is shown in Figure 6. We need to determine the DC characteristics of the two inverters F1 and F2  under different conditions depending on the SRAM states, hold state, read state and write state.   




Fig. 7. SRAM Cell showing two inverters F1 and F2

Source: https://en.wikichip.org/wiki/static_random-access_memory

            The circuit for determination of DC characteristics are given in figure 8a and 8b. The input voltage is referred as X and the output voltage is Y.

Thus for inverter F1

Y= F1(X);

After substitution of Y and X in terms of U and V 

-U/✔2 + V/✔2=F1(U/✔2 + V/✔2);

V = U + ✔2{F1(U/✔2 + V/✔2);

For inverter F2, we first mirror F2  about V axis.

X= F2'(Y) = F2(U/✔2 + V/✔2) 

After mirroring about V axis.  

U/✔2 + V/✔2= F2(-U/✔2 + V/✔2) 

V/✔2= -U/✔2 +F2(-U/✔2 + V/✔2) 

V = -U + ✔2  {F2(-U/✔2 + V/✔2)} ;

The circuits for simulation are shown in figure 8a and 8b. 

Fig.8. The circuit schematic for determination of SNM

            The DC characteristics are determined and the output voltage V1 and V2  are plotted. The  difference abs(V1-V2) is obtained. The  maximum value  equals the ✔2 times SNM for hold and read mode. The minimum value equals ✔2 times SNM for write mode. The LTSPICE schematic used for direct determination of SNM in hold state is given in figure 9. The simulation results are shown in figure 10. The SNM is obtained by finding the average of the maximum values for the two maxima corresponding to two lobes of the butterfly plot. The SNM hold is 0.608 V. 

             


           Fig .9. The LTSPICE schematic for determination of SNM in hold state.

 



            Fig.10. The DC transfer characterstics Vx and Vy and the absolute difference in U-V coordinate system in hold state 

            Similar characteristics are obtain for determining SNM in read  State. In order to determine SNM in Read State, the simulation is performed by emulating the read conditions. Thus BL  and BLB is precharged high and WL is  kept at Vdd. The LTspice schematic used for simulation is shown in fig.11. The simulation results are shown in figure 12. The SNM is obtained by finding the average of the  maximum values for the two maxima corresponding to two lobes of the butterfly plot. The SNM read is 0.311 V. 

 


 Fig.11. The LTSPICE schematic  for determination of  Read Margin

 


Fig.12. The DC transfer characterstics Vx and Vy and the absolute difference in U-V coordinate system in read state. 

 

            In write state, the simulation is performed by emulating the write conditions. We will determine the SNM assuming we want to write 0. Thus WL is kept high and  BL  is kept at 0 volt and BLB is at VDD. The SNM in write state is also referred as write margin. The LTspice schematic used for simulation is shown in fig.13. We need to simulate to determine the range of U in the coordinate system for finding the minima. The simulation resulkts are shown in fig. 14. The U should be less then 0.2*.707 V .ie. about 0.15 volt.

 



 Fig.13. The schematic used for simulation for determination of  Write Margin

 




Fig.14. The DC transfer characteristics of two inverters-Write - state

 

 
              In order to determine directly from simulation the SNM in write mode we use the schematic as shown in fig. 15. The SNM in Write state is found to be 0.6 V. 

 


Fig.15. The LTSPICE schematic for determination of  Write Margin by graphical method.

 



     Fig.14. The DC transfer characterstics Vx and Vy and the difference in U-V coordinate system in write state. The Vx values beyond 0.15 volts are not valid.

  

 

            


Tuesday, September 14, 2021

6T SRAM Cell

Determination of Static Noise Margin by simulation

           Static noise margin(SNM) is the noise voltage injected in the SRAM cell which results in flipping the bit values in hold or read state or opposite bit is written during the write operation. The 6T SRAM cell schematic is given in figure 1.

 Fig.1.   6T  SRAM Cell

              

           The pair of transistors M1 and M2  make one inverter. The other pair M3 and M4 make another inverter. These inverters are connected back to back forming a flipflop. It stores one bit of information. The nmos  transistor M5 and M6 are referred as access transistors as they are used to access node Q and QB when either read or write operations are performed on SRAM cell.  

           In a typical SRAM cell, the cell ratio CR is between 1.5 and 2 and  the Pullup ratio, PR is between 0.7 and 1. We can first size access transistor and load transistor as they are the smallest size. We will consider about 600nm width for nmos. This will be typical width considering that we have to provide for the metal contact to source and drain. Thus M5 and M6 transistors will have W5/L5 =W6/L6= W/L= 600nm/180nm. W/L is ratio of channel width to channel length of transistor. The load transistor M2 and M4 will have W2/L2=W4/L4= W/L = 600nm/180nm. Assume PR=1.0.  The driver transistors M1 and M3 will have W1/L1=W3/L3= W/L= 1000nm/180nm. CR= ~1.67>1.5. 

             The SNM in hold state is measured by plotting the dc transfer characteristics of the two inverters constituting the SRAM cell. The SNM in hold state is also referred as read margin. The WL voltage is kept low, implying access transistors M5 and M6 are in off state.  The circuit schematic is given in fig 2.

            


Fig.2.The Circuit schematic of SRAM Cell in LTSPICE


         The simulation is performed in LTSPICE. The schematic used for  simulation is shown in figure 3. Here WL , BL and BLB are kept at ground voltage. M5 and M6 can be disconnected from node Q and QB.        

        


Fig.3. The schematic used for simulation for determination of Hold Margin




Fig.4. The DC transfer characteristics of two inverters-hold state 


                The DC transfer characteristics are obtained for both inverters as shown in Fig.4.  The plot data is obtained from the LTSPICE simulation as text file and plotted in EXCEL sheet as shown in Fig .5. for determination of SNM. The two characteristics curves are overlapping.

 

Fig.5. The DC transfer characteristics of two inverters. 

                In order to obtain the SNM, The DC transfer characteristics of the second inverter is transposed i.e Vin2 is plotted as a function of Vout2. The resultant plot is shown in Fig.6. This is called butterfly plot. The SNM can be determined by fitting biggest square between the two curves. The side of the square in Volts gives the SNM. The average of the size of the side of the two squares in two  lobes of the butterfly is obtained. The SNM for the figure shown is about 0.6 Volts. 



Fig.6. DC transfer characteristics of inverter-1and inverter -2. The inverter -2 characteristics are transposed by plotting V(Vin2) vs V(Vout2).

                Similar characteristics are obtain for determining SNM in read  State and write state. In read state, the simulation is performed by keeping WL high and  BL and BLB in precharged state. The SNM in read state is also referred as read margin. The LTspice schematic used for simulation is shown in fig.7. 



Fig.7. The schematic used for simulation for determination of Read Margin


Fig.8. The DC transfer characteristics of two inverters-Read state
 
                The DC transfer characteristics are obtained for both inverters as shown in Fig.8.  The plot data is obtained from the LTSPICE simulation as text file and plotted in EXCEL sheet for determination of SNM as shown in Fig.9. 

 


Fig.9. The DC transfer characteristics of two inverters(Read State). 

            In order to obtain the SNM, The DC transfer characteristics of the second inverter is transposed i.e Vin2 is plotted as a function of Vout2. The resultant plot is shown in Fig.10. This is called butterfly plot. The SNM can be determined by fitting biggest square between the two curves. The side of the square in Volts gives the SNM. The average of the size of the side of the two squares in two lobes of the butterfly is obtained. The SNM for the figure shown is about 0.3 Volts. 



Fig.10. DC transfer characteristics of inverter-1and inverter -2. The inverter -2 characteristics are transposed by plotting V(Vin2) vs V(Vout2).

            In write state, the simulation is performed by emulating the write conditions. We will determine the SNM assuming we want to write 0. Thus WL is kept high and  BL  is kept at 0 volt and BLB is at VDD. The SNM in write state is also referred as write margin. The LTspice schematic used for simulation is shown in fig.11. Similar characteristics are obtain for determining SNM in read  State.  However the simulation is performed by keeping WL high and  BL and BLB in precharged state. The SNM in read state is also referred as read margin. The LTspice schematic used for simulation is shown in fig.7. 





             Fig.11. The schematic used for simulation for determination of  Write Margin




Fig.12. The DC transfer characteristics of two inverters-Write - state
 
                The DC transfer characteristics are obtained for both inverters as shown in Fig.12.  The plot data is obtained from the LTSpice simulation as text file and plotted in EXCEL sheet for determination of SNM as shown in Fig.13. In order to obtain the SNM, The DC transfer characteristics of the second inverter is transposed i.e Vin2 is plotted as a function of Vout2. For write margin, butterfly plot is not obtained. Here we are attempting to write zero and due to nose voltage we may write 1.  The SNM can be determined by fitting smallest square between the two curves. The side of the square in Volts gives the SNM. The SNM for the figure shown is about 0.6 Volts. 



Fig.13. DC transfer characteristics of inverter-1and inverter -2. The inverter -2 characteristics are transposed by plotting V(Vin2) vs V(Vout2).










Tuesday, September 7, 2021

 TSMC018.lib

*  T58F SPICE BSIM3 VERSION 3.1 PARAMETERS

*

* SPICE 3f5 Level 8, Star-HSPICE Level 49, UTMOST Level 8

*

* DATE: Oct 31/05

* LOT: T58F                  WAF: 9005

* Temperature_parameters=Default


.MODEL CMOSN NMOS (                                LEVEL   = 8

+VERSION = 3.1            TNOM    = 27             TOX     = 4.1E-9

+XJ      = 1E-7           NCH     = 2.3549E17      VTH0    = 0.3662473

+K1      = 0.5864999      K2      = 1.127266E-3    K3      = 1E-3

+K3B     = 0.0294061      W0      = 1E-7           NLX     = 1.630684E-7

+DVT0W   = 0              DVT1W   = 0              DVT2W   = 0

+DVT0    = 1.2064649      DVT1    = 0.4215486      DVT2    = 0.0197749

+U0      = 273.8094484    UA      = -1.40499E-9    UB      = 2.408323E-18

+UC      = 6.504826E-11   VSAT    = 1.355009E5     A0      = 2

+AGS     = 0.4449958      B0      = 1.901075E-7    B1      = 4.99995E-6

+KETA    = -0.0164863     A1      = 3.868769E-4    A2      = 0.4640272

+RDSW    = 123.3376355    PRWG    = 0.5            PRWB    = -0.197728

+WR      = 1              WINT    = 0              LINT    = 1.690044E-8

+XL      = 0              XW      = -1E-8          DWG     = -4.728719E-9

+DWB     = -2.452411E-9   VOFF    = -0.0948017     NFACTOR = 2.1860065

+CIT     = 0              CDSC    = 2.4E-4         CDSCD   = 0

+CDSCB   = 0              ETA0    = 2.230928E-3    ETAB    = 6.028975E-5

+DSUB    = 0.0145467      PCLM    = 1.3822069      PDIBLC1 = 0.1762787

+PDIBLC2 = 1.66653E-3     PDIBLCB = -0.1           DROUT   = 0.7694691

+PSCBE1  = 8.91287E9      PSCBE2  = 7.349607E-9    PVAG    = 1.685917E-3

+DELTA   = 0.01           RSH     = 6.7            MOBMOD  = 1

+PRT     = 0              UTE     = -1.5           KT1     = -0.11

+KT1L    = 0              KT2     = 0.022          UA1     = 4.31E-9

+UB1     = -7.61E-18      UC1     = -5.6E-11       AT      = 3.3E4

+WL      = 0              WLN     = 1              WW      = 0

+WWN     = 1              WWL     = 0              LL      = 0

+LLN     = 1              LW      = 0              LWN     = 1

+LWL     = 0              CAPMOD  = 2              XPART   = 0.5

+CGDO    = 8.23E-10       CGSO    = 8.23E-10       CGBO    = 1E-12

+CJ      = 9.466429E-4    PB      = 0.8            MJ      = 0.3820266

+CJSW    = 2.608154E-10   PBSW    = 0.8            MJSW    = 0.102322

+CJSWG   = 3.3E-10        PBSWG   = 0.8            MJSWG   = 0.102322

+CF      = 0              PVTH0   = -2.199373E-3   PRDSW   = -0.9368961

+PK2     = 1.593254E-3    WKETA   = -2.880976E-3   LKETA   = 7.165078E-3

+PU0     = 6.777519       PUA     = 5.505418E-12   PUB     = 8.84133E-25

+PVSAT   = 2.006286E3     PETA0   = 1.003159E-4    PKETA   = -6.759277E-3

+NOIMOD=2.0E+00 NOIA=1.3182567385564E+19

+NOIB=144543.977074592 NOIC=-1.24515784572817E-12 EF=0.92 EM=41000000 )

*

*

*

*

*

*

*

*

* flicker noise parameters above added manually from some other process

*

.MODEL CMOSP PMOS (                                LEVEL   = 8

+VERSION = 3.1            TNOM    = 27             TOX     = 4.1E-9

+XJ      = 1E-7           NCH     = 4.1589E17      VTH0    = -0.3906012

+K1      = 0.5341312      K2      = 0.0395326      K3      = 0

+K3B     = 7.4916211      W0      = 1E-6           NLX     = 1.194072E-7

+DVT0W   = 0              DVT1W   = 0              DVT2W   = 0

+DVT0    = 0.5060555      DVT1    = 0.2423835      DVT2    = 0.1

+U0      = 115.6894042    UA      = 1.573746E-9    UB      = 1.874308E-21

+UC      = -1E-10         VSAT    = 1.130982E5     A0      = 1.9976555

+AGS     = 0.4186945      B0      = 1.949178E-7    B1      = 6.422908E-7

+KETA    = 0.0166345      A1      = 0.4749146      A2      = 0.300003

+RDSW    = 198.321294     PRWG    = 0.5            PRWB    = -0.4986647

+WR      = 1              WINT    = 0              LINT    = 2.94454E-8

+XL      = 0              XW      = -1E-8          DWG     = -2.798724E-8

+DWB     = -4.83797E-10   VOFF    = -0.095236      NFACTOR = 2

+CIT     = 0              CDSC    = 2.4E-4         CDSCD   = 0

+CDSCB   = 0              ETA0    = 1.035504E-3    ETAB    = -4.358398E-4

+DSUB    = 1.816555E-3    PCLM    = 1.3299898      PDIBLC1 = 1.766563E-3

+PDIBLC2 = 7.728395E-7    PDIBLCB = -1E-3          DROUT   = 1.011891E-3

+PSCBE1  = 4.872184E10    PSCBE2  = 5E-10          PVAG    = 0.0209921

+DELTA   = 0.01           RSH     = 7.7            MOBMOD  = 1

+PRT     = 0              UTE     = -1.5           KT1     = -0.11

+KT1L    = 0              KT2     = 0.022          UA1     = 4.31E-9

+UB1     = -7.61E-18      UC1     = -5.6E-11       AT      = 3.3E4

+WL      = 0              WLN     = 1              WW      = 0

+WWN     = 1              WWL     = 0              LL      = 0

+LLN     = 1              LW      = 0              LWN     = 1

+LWL     = 0              CAPMOD  = 2              XPART   = 0.5

+CGDO    = 6.35E-10       CGSO    = 6.35E-10       CGBO    = 1E-12

+CJ      = 1.144521E-3    PB      = 0.8468686      MJ      = 0.4099522

+CJSW    = 2.490749E-10   PBSW    = 0.8769118      MJSW    = 0.3478565

+CJSWG   = 4.22E-10       PBSWG   = 0.8769118      MJSWG   = 0.3478565

+CF      = 0              PVTH0   = 2.302018E-3    PRDSW   = 9.0575312

+PK2     = 1.821914E-3    WKETA   = 0.0222457      LKETA   = -1.495872E-3

+PU0     = -1.5580645     PUA     = -6.36889E-11   PUB     = 1E-21

+PVSAT   = 49.8420442     PETA0   = 2.827793E-5    PKETA   = -2.536564E-3

+ NOIMOD=2.0E+00 NOIA=3.57456993317604E+18 NOIB=2500

+ NOIC=2.61260020285845E-11 EF=1.1388 EM=41000000 )

*

*

* flicker noise parameters above added manually from some other process

*



Monday, September 6, 2021


6T SRAM Cell:  Design and Simulation


Fig.1. 6T  SRAM Cell

                A SRAM cell stores one bit of information. 6T SRAM cell consist of six transistors as shown in figure 1. The pair of transistors M1 and M2  make one inverter . The other pair M3 and M4 make another inverter. These inverters are cross coupled and connected back to back forming a flip flop. The flip flop has two bistable states and each state represent stored values as bit 1 or bit 0. When bit 1 is stored, the voltage at node Q is VDD and node QB is 0 volts. When bit 0 is stored, the voltage at node Q is 0 volts  and node QB is at VDD. VDD is the power supply voltage. The nmos  transistors M1 and M3 are referred as driver transistors and pmos transistors M2 and M4 are the corresponding load transistors of inverters. The nmos  transistor M5 and M6 are referred as access transistors as they are used to access node Q and QB when either read or write operations are performed on SRAM cell. 

                In a typical SRAM cell, the ratio of the size of driver transistor to access transistor, referred as cell ratio, CR is between 1.5 and 2. This ensures read stability i.e. while reading the data from the SRAM cell, the data does not flip. This implies  W1/W5 = W3/W6 > 1.5, typically between  1.5 and 2.   

                The ratio of the size of load transistor to access transistor, referred as Pullup ratio, PR is between 0.7 and 1. This ensures write stability i.e. while writing the data, correct data is written and it does not flip. This implies  W2/W5 = W4/W6 < 1. Typically between  0.7 and 1.0.

                We can first size access transistor and load transistor as they are the smallest size. We will consider about 600nm width for nmos. This will be typical width considering that we have to provide for the metal contact to source and drain. Thus M5 and M6 transistors will have W5/L5 =W6/L6= W/L= 600nm/180nm. W/L is ratio of channel width to channel length of transistor. The load transistor M2 and M4 will have W2/L2=W4/L4= W/L = 600nm/180nm. Assume PR=1.0.  The driver transistors M1 and M3 will have W1/L1=W3/L3= W/L= 1000nm/180nm. CR= ~1.67>1.5. 

Next we will create a schematic of 6T SRAM cell and perform simulation.

 Click on LTspice to download  LTSPICE.  You can easily install it and run LTspice. 

                In order to simulate, we can create following schematic using component menu and choose nmos4, for transistors M1, M3. M5 and M6. By default the model name is nmos. This can be renamed as CMOSN.    Choose pmos4 for M2 and M5. The model name can be renamed as CMOSP The schematic looks like fig 2. All nodes are named. BL and BLB are the bitlines. They are used during read write operation. WL is wordline. VDD is supply voltage. We need to supply 1.8 volts. This also will be given as parameter. Q and QB are the nodes where we store the bit values. When Q=Vdd, Logic value 1 is stored. When Q= 0 volts, Logic 0 is stored. 

                The length and width of the transistors can be given as a parameter. The snapshot of model editor is given in fig.3.This helps in parametrizing the model and can be used with any other technology only by changing the mos model file. We are using here TSMC018.lib 180nm  mosfet  model file. This is included by giving the complete path in a spice statement. 

Spice statement for including the library file tsmc018.lib.

.lib "D:\LTspiceSLP\ltspice_course\lib\tsmc018.lib"

The mos model files are available at TSMC018.lib





Fig.3. Model Editor for 4 terminal mosfet 

                In this simulation, we have assumed that bitlines have a capacitance of about 0.5 pf and a resistance of about 10 ohms. They are also given as parameter. Parameter spice statement editor can be used to define the parameters or .param spice statement cane be used as shown in figure 4.  The complete schematic is shown in fig.4. 


Fig.4. Schematic of SRAM Cell for Read operation

            All the signals and supply voltage are included in the schematic using voltage component. It has many options to include various supply voltages. We have used pulse voltage waveform for WL and PC. 

SRAM Read Operation:

Here we perform simulation to demonstrate read operation. We need to precharge both bitlines BL and BLB to VDD. This is achieved by applying 0 volts to PC. This pulls up  both bitline BL and BLB to VDD.  

                Next in order to complete read operation we make WL to VDD. Initially WL = 0 volt. This is required for hold state of the SRAM. In hold state we maintain the the voltages at nodes Q and Qb. The read operation also should not flip the bit voltages. Appropriate pulse waveforms are applied to PC and WL and outputs are observed at BL and BLB. In this example V(Q) is VDD and V(Qb) is 0 volts. Hence BL remains at VDD and the voltage at BLB is reduced  by a small amount. In this example by about 400 mV. The difference is amplified by a sense amplifier. The sense amplifier output will be VDD or logic 1 if V(BL)> V(BLB) else at will be 0 Volts(Logic 0). The simulation results are shown in Fig.5. 


Fig.5. SRAM Read operation.

SRAM Write Operation:

                Here we perform simulation to demonstrate write operation. IF we want to write '1' to sram cell, we precharge BL to VDD and hold BLB to 0 volts.  This is achieved using the circuit schematic shown in Figure 6. Here WRITE_DATA, CS, PC and WL signals are used. 

            

                                   
                                   Fig.6. Schematic of SRAM Cell for Read/Write operation

            The data to be written is applied to WRITE_DATA. Initially the bitlines are precharged high by making PC low at 0 Volts. Next CS is enabled high. This pulls down one of the bitline BL or BLB depending on the WRITE_DATA. Eg. We intend to write bit '0' then WRITE_DATA will at 0 volts. Next CS is pulled high, this turns on the transistors M9 and M10. The bit line BL is pulled low. The Bitline BLB remains at VDD. Next we enable WL i.e. WL is made high.  If V(Q) is 0 , it will remain at 0 volts else if V(Q) is VDD (Logic '1'), it will be pulled low and Node Qb will be pulled high thus writing 0 in the SRAM Cell. After write operation WL is pulled low, followed by CS. The simulation results are shown in Fig.7. 


Fig.7. SRAM Write operation.