AVLSI Project SRAM
AVLSI Project SRAM
AVLSI Project SRAM
TABLE OF CONTENTS
1.
INTRODUCTION ................................................................................................................................ 4
1.1 Introduction to SRAM ........................................................................................................................ 4
1.2 SRAM Architecture ............................................................................................................................ 4
1.3 8T (Eight transistor Memory Cell)...................................................................................................... 4
1.4 Memory array: .................................................................................................................................... 6
2.
3.
4.
5.
6.
7.
SRAM DESIGN.................................................................................................................................. 20
7.1Floorplan of SRAM design .................................................................................................................. 20
7.2 Schematic and Layout of SRAM ........................................................................................................ 21
7.3 DRC and LVS of SRAM ....................................................................................................................... 23
8.
9.
LIST OF FIGURES
Figure 1 Memory Cell Schematic ................................................................................................................. 4
Figure 2 8T Layout ....................................................................................................................................... 5
Figure 3 Memory Array Layout .................................................................................................................... 6
Figure 4 Schematic of Row Decoder(single row) .......................................................................................... 7
Figure 5 Layout and Schematic of Row Decoder ......................................................................................... 8
Figure 6 Layout of Column decoder ........................................................................................................... 10
Figure 7 Schematic of Column decoder ...................................................................................................... 10
Figure 8 Schematic of Sense Amplifier ...................................................................................................... 11
Figure 9 Layout of Sense Amplifier ........................................................................................................... 12
Figure 10 Schematic of Write Driver .......................................................................................................... 13
Figure 11 Layout of Write Driver ............................................................................................................... 14
Figure 12 Schematic of Transmission gate ................................................................................................. 15
Figure 13 Layout of Transmission gate ...................................................................................................... 15
Figure 14 Layout of Pre- charger circuit ..................................................................................................... 16
Figure 15 Schematic of Pre- Charger Circuit.............................................................................................. 16
Figure 16 Schematic of Clock buffer .......................................................................................................... 17
Figure 17 Layout of Clock buffer ............................................................................................................... 18
Figure 18 Layout and Schematic of Wr signal buffer..19
Figure 19 Floorplan of SRAM .................................................................................................................... 20
Figure 20 Schematic of Memory Cell Array .............................................................................................. 21
Figure 21 Layout of Memory Cell Array .................................................................................................... 22
Figure 22 DRC Report ................................................................................................................................ 23
Figure 23 LVS Report ................................................................................................................................. 23
Figure 24 SRAM read and write working in sequence ............................................................................... 26
Figure 25 Worst Case Read and Write time ............................................................................................... 27
Figure 26 Read Noise margin of 8T memory cell....................................................................................... 28
Figure 27 Write Noise margin of 8T memory cell...................................................................................... 29
1. INTRODUCTION
1.1 Introduction to SRAM
A 256 word SRAM has been designed using the IBM 130 nm technology with a word size of 8
bits. An output capacitance of 25 fF has been used for simulation. Cadence virtuoso is used for
layout editing, running DRC and LVS.
1.2 SRAM Architecture
An SRAM cell consists of the following blocks:
(a) 8T (eight transistor) Memory cell
(b) Row decoder
(c) Column decoder
(d) Sense amplifier
(e) Write driver
(f) Clock buffer
(g) Pre charge
1.3 8T (eight transistor Memory Cell)
8T cell is used for low voltage application.8T cell consists of a latch, two access transistors and
two transistors for read. Bit is written through WBL and WBLB by asserting WWL. Read is
done by asserting RWL and sensing the voltage change on RBL. WWL/ RWL are asserted by
row decoder depending on Wr signal.
Figure 2 8T Layout
Height = 100.24um
Width = 153.470um
Area = 100.24*153.47 = 15383.8328squm
Area per bit = 7.5squm
2. ROW DECODERS
The row decoder will activate the pass transistors in our memory cell. In this project, we used a
pre decoded row decoder.
2.1 Pre Decoded Style row decoder and Sizing of the transistors in the Row decoder
The inputs to the row decoder are addr0, addr1, addr2, addr3, addr4, Wr. The outputs of row
decoders are fed to pass transistors to activate the rows. The design has been implemented by
using 3 input nand gates, 2 input nand gates and inverters. We have used multifinger technique to
compress the height of the large inverter. Sizing calculation is shown below.
CPoly = (no. of columns) x (Cpoly/um) x (no. of access transistor) x (width of poly)
=64 x 2 x 2 x 0.28 = 71.68fF
Cwire = (no. of columns) x (width of 1 cell) x (Cwire/um) =64 x 2.26 x 0.2fF = 28.928
Cload = Cpoly + Cwire = 100.608fF= 50.304um
G for 3-input NAND gate, inverter and 2-input NAND gate = 100/27
B = 4 x 4 x 2=32
H =50.304um
From F = GBH = 5969.54
N= log(5969.54) = 6.7 =7(considered)
f = 3.46
2.2 Transistor sizing
Inverter 1(rightmost) = 14.54um
NAND2 = 5.6um
Inverter 2 = 3.24um
NAND3 = 1.56um
Inverter 3 = 1.8um
NAND3 = 0.87um
Inverter 4 = 1um
3. COLUMN DECODERS
In this chapter, the column decoder required in the SRAM design is explained in detail.
3.1 Sizing of the transistors in the column decoder
Calculations:
We are using 3:8 Column Decoder .Each decoder output goes to 8 columns to get 8 bits of the
word. Each column has WBL, WBLB and RBL. So 3 transmission gates are used for each of the
three bit lines.
In total each column decoder output connects to (3 x 8=24) nmos and pmos gate inputs of the
transmission gate.
Cpoly = 2 x 3 x 8 x 0.56 = 26.88 fF
Cwire = (width of the memory array) * 0.2fF = 29.056 fF
Cload = Cpoly + Cwire = 55.936 fF
H = 55.936fF/2fF = 27.968
F = GBH = 4/3 * 2 * 4 * 27.968 = 298.24
N = 4 Stages
f = 4.15
3.2 Transistor sizing
Transistor sizing at each stage is found by using the formula Cin= (gh)/f^
Inverter 1 (Right most) = 6.73 um
Inverter 2 = 3.24um
NAND3 = 1.04 um
Inverter 4= 4* 1.04/4.15= 1 um
The inputs to the column decoder are addr5, addr6, addr7. The outputs of the column decoders
will be given as inputs to the transmission gates.
10
4. SENSE AMPLIFIERS
Current Mode Differential Amplifier on the bit lines is used to sense the voltage differences on
RBL. The values are passed through pass transistors and are sensed by the sense amplifier. We
used transistors of sizes 2.8 um for PMOS and 0.28 um for NMOS in the circuit. Vdd is
given as input to the bottom most NMOS of the circuit as a sense input. RBL and Reference
voltage are given as inputs to the other two NMOS
8 Sense Amplifiers are used in the design to read 8 of the read bit lines.
.
11
12
5. WRITE DRIVERS
During clock precharging input data must be disabled. Before write operation, one of the
bit lines must be driven high and the other low based on the data bit that is being written.
When Wr signal goes high, write operation is done and the 10 bit data can be written by
giving required bit values to the corresponding input bits. These values are then passed
through a set of transmission gates that are attached to the WBL and WBLB lines so that
the data bit will be written into the corresponding memory cell. Both the read and write
operations are occurred only during evaluation.
8 Write drivers are used in the design for each of the data input.
Calculations:
Cload= 54.12fF
F= GBH= 54.12
N= 3 stages
f^ = 3.78
Inverter 3 (rightmost in top) = 7.16um
Inverter 2 = 3.78um
Inverter 1 = 1um
13
14
6. AUXILIARY CIRCUITS
6.1 Transmission Gate
Each column has three transmission gate connected to each of WBL, WBLB and RBL. Transistors
15
6.2 Pre-charger
The pre charger is used for bit line conditioning, which means to pre charge the bit lines to VDD
before the next read or writes operation. The PMOS transistors size is taken as 2um for good
conditioning of bit line and bit line bars.
16
17
18
19
7. SRAM DESIGN
7.1
20
7.2
21
22
23
8. TIMING ANALYSIS
8.1 HSPICE code
$transistor model
.include "/home/cad/kits/IBM_CMRF8SFLM013/IBM_PDK/cmrf8sf/V1.2.0.0LM/HSPICE/models/model013.lib_inc"
.include "integratearea.sp"
.option post runlvl=5
xi Wr addr0 addr1 addr2 addr3 addr4 addr5 addr6 addr7 addr_en clk in_data0 in_data1 in_data2
in_data3 in_data4 in_data5 in_data6 in_data7 out_data0 out_data1 out_data2 out_data3
out_data4 out_data5 out_data6 out_data7 ref integratearea
vdd1 vdd vss 1.2V
vss vss 0 0
Cout_1 out_data0 0 25fF
Cout_2 out_data1 0 25fF
Cout_3 out_data2 0 25fF
Cout_4 out_data3 0 25fF
Cout_5 out_data4 0 25fF
Cout_6 out_data5 0 25fF
Cout_7 out_data6 0 25fF
Cout_8 out_data7 0 25fF
.VEC sram_worst_case.vec
Vin clk vss pulse (0V 1.2V 0ps 3ps 3ps 5000ps 10000ps)
V5 ref vss PWL 0ns 0.9v
.tr 0.1ns 200ns
.end
Test vector file 1( for sram functionality)
Radix 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Vname Wr addr0 addr1 addr2 addr3 addr4 addr5 addr6 addr7 addr_en in_data0 in_data1
in_data2 in_data3 in_data4 in_data5 in_data6 in_data7
IO I I I I I I I I I I I I I I I I I I
Tunit ns
24
Period 10
Trise 0.03
Tfall 0.03
Vih 1.2
Vil 0
1
1
0
0
0
0
1
0
1
0
1
0
01011111
00110101
01011111
00110101
00110101
00000000
11111111
11111111
00000000
00000000
00000000
00000000
1
1
1
1
1
1
0
0
1
1
1
1
10000000
11000000
11100000
00000000
00100000
00000000
11000000
11000000
00000000
11111111
11111111
11111111
00000111
00000111
00000111
00000111
00000111
00000111
1
1
1
1
1
1
00000000
00000000
11111111
00000000
00000000
00000000
25
The worst case timing analysis is done by writing and reading in the cell which is in first row and
last in the column. Thus the address should be 11100000 where first 3 bits give column address
and last 5 bits give row address.
8.3 Worst case Write time for 0
The worst case write time for 0 is found by first writing 1 and then writing 0 to the target cell.
The difference between 50% of Wr signal and 50% of net17 (From figure 1 we can see that net
17 is the output of the first inverter of 8T memory cell).
The worst case write time for 0 was found at 298ps with correct functionality.
26
27
28
10.
Area of Memory cell
Aspect Ratio of Memory cell
Memory array area
Memory area per bit
Total Memory area
Total Memory area per bit
Aspect Ratio of total memory
Worst case Write time
Worst case Read time
Operating Frequency
Read Noise Margin
Write Noise Margin
30