Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
EECE481 3/16/2005 Lecture 18 SRAM Cell and Column I/O Design Res Saleh Dept. of ECE University of British Columbia [email protected] RAS EECE481 Lecture 18 1 Architecture of 64Kb SRAM 2m =256 Row decoder Column Pullups word line bitline 2n =256 n=8 Address input 2m Column Mux m=8 Column decoder Read/Write Sense en Write en Sense amplifier Read-write control Write driver Data In RAS EECE481 Lecture 18 Data Out 2 1 EECE481 3/16/2005 SRAM Storage Cell Uses six transistors (called 6T memory cell): wordline inverter 1 a 2 Single Stage Noise Margin 1 a inverter 2 a Bitline VOL VS Bitline VOH a Read and write operations use the same port. There is one wordline and two bit lines. The bit lines carry complementary data, a fact that will be used to reduce access time. The cell layout is small since it has a small number of wires (but large relative to DRAM). RAS EECE481 Lecture 18 3 CMOS SRAM Cell Design Vdd b b wp wp wa wa a a wd Problem: Find wa, wd, wp such that 1) minimize cell area 2) obtain good read and write cell margins 3) good soft error immunity 4) good cell read current wd wl in that order Vdd Vdd wp a Since the cell is symmetric we need only design three transistor sizes wa a wd RAS Cell Design Vdd EECE481 Lecture 18 4 2 EECE481 3/16/2005 CMOS SRAM cell design - read • • Make sure that internal node a does not go high enough to turn on M2 Use threshold voltage as a maximum allowable voltage at internal node during read; Make current ratio between M1 and M3 about 3 to 4 Want to design device sizes such that read current is high enough to create desired differential voltage on bit lines ~200mV within a specified amount of time • Icell = Vdd b Icell Cbit ∆V b M5 τ wl M6 M3 trigger b,b M4 (=0) a (1=) a a Cbit Cbit M1 M2 τ a wl Rule-of-Thumb: W1/W3 = 1-1.5 RAS EECE481 Lecture 18 5 CMOS SRAM cell design - write • Need to make sure M4 is strong enough to pull internal node a low while M6 is trying to pull it high Use switching threshold as trigger point for regenerative switch point; usually want to make it less than the switching threshold This will force inverter M5-M1 switch to new state Make ratio of currents between M4 and M6 about 3 to 4 • • • Vdd Vdd M5 b M6 a M1 Vdd wl b M4 M3 ( = 0) b (1=) a a M2 b a ~Gnd Rule-of-Thumb: W4/W6 = 1-1.5 RAS EECE481 Lecture 18 6 3 EECE481 3/16/2005 SRAM Cell Layout Layout of SRAM cell • word line running horizontally •bit lines running vertically •cross-coupled inverters on top •access transistors on bottom Portion of the core array using SRAM cell •scaled in dimensions compared to single bit cell •2 cells across, 3 cells high replicated in this manner to build the core array RAS EECE481 Lecture 18 7 Wordline Capacitance • Word line presents a large capacitance to the decoder • Each cell loads the word line with two transistor capacitances and one wire capacitance (plus wire resistance) • Total capacitance is the capacitance per cell x number of cells on word line clock b b b b b b w1 RAS decoder Row Address Bits w2 x x x wordline w3 2 1 EECE481 Lecture 18 w4 a w5 Bitline a Bitline 8 4 EECE481 3/16/2005 Column I/O Operation Circuits that perform read and write on the array are column I/O • Bitline load – Can be static or precharged – Proper configuration depends on amplifier design • For read – Bit lines must start at around Vdd – Swings should be small for fast operation – Involves Mux and sense amplifier design • For write – Need to drive one of the bitlines to Gnd – Mux and write driver design – Often use different I/O lines for read and write RAS EECE481 Lecture 18 9 Bitline Capacitance Load capacitance is mostly self-loading of the cells • Drain cap and drain contacts (0.5-1 fF) of transistors are shared – Junctions are biased at Vdd (lower cap than normal) • Wire capacitance ~ .2fF/micron of wire clock b b b b b wordline b 2 w1 1 a w2 decoder Row Address Bits a wordline Bitline Bitline 2 w3 1 a a w4 Bitline Bitline w5 RAS EECE481 Lecture 18 10 5 EECE481 3/16/2005 Bitline Load Options PC PC PC Important to equalize bitline voltage before reads cell cell wl wl Latch-based b Latch-based b b Sense amplifier b,b VDD b Sense amplifier b,b PC VDD ∆ v PC wl wl RAS b Analog differential b Sense amplifier VDD VDD-VTN PC EECE481 Lecture 18 11 Write Circuitry M7 M8 pre • Precharge bitlines high clk • Pull one column line low cell • Turn on word line pre • Wait until internal values addr Cbit Cbit of cell are established b • Turn off word line • Design precharge transistors cell data b a wl a WL col b, b to pull bit lines high • Design write drivers to pull one side low depending on data value RAS W M13 D W M14 D col.sel. a Write Driver a M15 EECE481 Lecture 18 12 6 EECE481 3/16/2005 Read Circuitry • Precharge bitlines high M8 M7 pre clk • Turn on word line cell pre •One line will slowly discharge addr • Wait until bit line reaches required low voltage level Cbit Cbit data cell b • Turn on column select a • Amplify difference with sense amplifier b wl a trigger WL b,b a • Design sense amplifier M9 based on desired response time and power col.enable requirements Sense M10 col/sense enable Sense Amplifier • Use precharge based on enable type of sense amp used. RAS a out Output EECE481 Lecture 18 13 Column Decoder/Mux • • • • • Need decoder for column address followed by a mux to select column for input or output operations Require two outputs to drive complementary pass gates Since the requirements for read and write are different can use separate read and write IO lines Have PMOS access for the read IO lines, since the read happens near Vdd Have NMOS devices for the write IO lines, since you need to drive bitlines to Gnd (see next slide) RAS cell cell cell cell cell cell cell cell 1 col addr C O L U M N D E C O D E R 2 3 2M EECE481 Lecture 18 14 7 EECE481 3/16/2005 Column Muxing – Separate I/O Write Driver Sense Amp Write Driver RAS Sense Amp EECE481 Lecture 18 15 Multi-Level Column Decoding •Alternatives for column selection are tree decoder, regular decoder + pass transistor, or some combination of the two •Shown on the right is a tree decoder – switches driven directly by address bits and their complements COLUMNS Bi Bi + 2 B i+ 3 A1 A1 A2 –total of 2M+1 devices –large devices to reduce resistance –long paths -> large C -> SLOW • To speed up, add buffers or use adjust sizing of devices RAS Bi + 1 A 2 • • • TREE DECODER EECE481 Lecture 18 SENSE CIRCUIT 16 8 EECE481 3/16/2005 Other Options for Column Decoder/Mux COLUMNS Decoders 2 to 4 • • • • • • • • • 2 to 4 RAS EECE481 Lecture 18 17 Building Amplifiers • We need an amplifier to handle small voltage swings on the bit lines for fast operation • Normally you need to choose between – Drawing DC power (diff. sense amplifier) – Using a clock edge (latch-based amplifier) (to turn DC power on only when the signal is present) • For CMOS logic gates – When input is at VDD or Gnd, one of the transistors is off – Nothing can happen until this transistor turns on • And even then you need to wait some more for gate to switch • Sitting in low gain region of transfer curve • For an amplifier – Want to be in high-gain region (saturation) RAS EECE481 Lecture 18 18 9 EECE481 3/16/2005 Latch-based Sense Amplifier • It must sense a very small signal • It must consume a small area – Need one for each bitline – Or sets of bitline (4 or 8) • Simplest design: – Two back-to-back inverters – Add a clocked pulldown • Once Bit and Bit_b are established, turn on pulldown device to activate inverters • Side with lower voltage will drop to 0V while the other side stays high RAS Bit Bit_b VDD SenseEnable EECE481 Lecture 18 19 Using Clocks and Regeneration M2 SenseEnable EECE481 Lecture 18 M3 Sense RAS Sense_b • Three stages of operation – Precharge – Sample – Regenerate • At the end of sample – Small bitline voltage on sense and sense_b • Regenerate – M2 and M3 turn on – Voltage difference causes current difference – Which causes larger voltage difference M1 20 10