Very Large Scale Integration II - VLSI II Memory Structures Hayri Uğur UYANIK Devrim Yılmaz AKSIN ITU VLSI Laboratories Istanbul Technical University 1 www.vlsi.itu.edu.tr 08.04.2015 Outline History Lesson General Memory Structure Memory Cell Types – Volatile – Non-Volatile MPROM EPROM OTP & UV-EPROM E2PROM FeRAM Memristor Sense Amplifiers – – SRAM DRAM Voltage Sense Amplifiers Current Sense Amplifiers Address Decoder Memory Modelling In Verilog References 2 www.vlsi.itu.edu.tr 08.04.2015 History Lesson Delay line memory – – – Piezoelectric pulses within mercury One of the earliest electronic (?) memory 1000 word storage 3 www.vlsi.itu.edu.tr 08.04.2015 General Memory Structure DATA_IN[7:0] ADR[3:0] R/W DATA_IN[7:0] Address Decoder Memory Cell Array DATA[7:0] DATA_OUT[7:0] Sense Amplifier DATA_OUT[7:0] 4 www.vlsi.itu.edu.tr 08.04.2015 Memory Cell Types Volatile – – SRAM DRAM Non-Volatile – – MPROM EPROM – – OTP UV-EPROM E2PROM FeRAM Memristor 5 www.vlsi.itu.edu.tr 08.04.2015 SRAM Static Random Access Memory SEL Q B Q B 6 www.vlsi.itu.edu.tr 08.04.2015 SRAM Not area efficient No special semiconductor process Fast Low power consumption Easy to communicate Used in – – – Embedded systems CPU Cache FPGA CPLD LUT 7 www.vlsi.itu.edu.tr 08.04.2015 DRAM Dynamic Random Access Memory SEL B 8 www.vlsi.itu.edu.tr 08.04.2015 DRAM Area efficient Very area efficient Needs special semiconductor process Slow Hard to communicate with High power consumption Needs refreshing Used in – – – Computer primary storage Video card primary storage Cell Phones, PDAs 9 www.vlsi.itu.edu.tr 08.04.2015 DRAM Types Asynchronous DRAM Synchronous DRAM (SDRAM) – – Single Data Rate (SDR SDRAM) Dual Data Rate (DDR SDRAM) – Both rising and falling edge Memory cells are slow compared to bandwidth demand Bandwidth is increased by increasing the I/O buffer data rate (DDR2 and DDR3) Dual DDR Communicate with two different RAM slots at the same time 10 www.vlsi.itu.edu.tr 08.04.2015 DRAM Types 11 www.vlsi.itu.edu.tr 08.04.2015 Dual Ported RAM SRAMs and DRAMs can be dual ported – – can read from and write to two different addresses at the same time Mostly effective in Video processing – One port filling the RAM, one port is reading for display CPU registers FIFOs 12 www.vlsi.itu.edu.tr 08.04.2015 MPROM Mask Programmable ROM 13 www.vlsi.itu.edu.tr 08.04.2015 MPROM Programmed at the fab – – Route metal interconnects Increase VT Change channel implant Change gate oxide thickness One time programmable Only few masks are changed Cheap in large volume Used in – – – Old video games Sound data in electronic music instruments Electronic dictionaries 14 www.vlsi.itu.edu.tr 08.04.2015 OTP & UV-EPROM One Time Programmable ROM UV Erasable Programmable ROM 15 www.vlsi.itu.edu.tr 08.04.2015 OTP & UV-EPROM 1. 2. 3. 4. High VG and VD creates hot electrons They penetrate gate oxide They become trapped in the floating polysilicon Additional negative charge below the gate increases VT (For a 5V ROM, VT increases from 1V to 8V) 16 www.vlsi.itu.edu.tr 08.04.2015 OTP & UV-EPROM OTP and UV-EPROM are the same – – OTP has a opaque plastic package (cheaper) UV-EPROM has a package with transparent quartz window (expensive) Need special semiconductor process Slow write High power consumption when writing Fast read OTP data is permanent UV-EPROMs can be erased – When exposed to UV light for 20 minutes 17 www.vlsi.itu.edu.tr 08.04.2015 E2PROM Electrically Erasable Programmable ROM 18 www.vlsi.itu.edu.tr 08.04.2015 E2PROM Erasing: – – VD=0, VS=0, VG=High (e.g. 15V) Floating gate becomes positively charged – Fowler-Nordheim Tunneling VT below floating gate (VTFG) drops Making Open Circuit: – – – – – EPROM like operation VD=0, VS=High (e.g. 12V) VG=VTCG Channel present under control gate Hot electrons penetrate gate oxide VTFG increases 19 www.vlsi.itu.edu.tr 08.04.2015 E2PROM Fast read/write Need special semiconductor process Low power consumption when writing 20 www.vlsi.itu.edu.tr 08.04.2015 FeRAM Ferroelectric RAM 21 www.vlsi.itu.edu.tr 08.04.2015 FeRAM Fast read/write Need special semiconductor process Low power consumption Destructive reading 22 www.vlsi.itu.edu.tr 08.04.2015 Memristor Missing circuit element for 37 years – – Concept: Leon Chua - 1971 First Realization: HP Labs - 2008 Final addition to RLC team 23 www.vlsi.itu.edu.tr 08.04.2015 Memristor Charge dependent resistance (memristance) V t M q t I t Applied voltage or current changes charge (thus the resistance) – – – Resistance is stored in a non-volatile manner Can be used to store digital data Must be read with an AC signal for non-destructive reading (AC does not change stored charge) 24 www.vlsi.itu.edu.tr 08.04.2015 Memristor Best of both worlds – – – Non-volatile Fast (~fDRAM/10) Dense (~1Pb/cm3) Has a potential to alter the computer programming paradigm – No need for two sets of memories (fast & volatile for computing, slow & non-volatile for data storage) 25 www.vlsi.itu.edu.tr 08.04.2015 Sense Amplifiers Voltage Sense Amplifiers 26 www.vlsi.itu.edu.tr 08.04.2015 Sense Amplifiers Current Sense Amplifiers 27 www.vlsi.itu.edu.tr 08.04.2015 Address Decoder module ADD_3_8 (in, out); input [2:0] in; output [7:0] out; reg [7:0] out; always @(in) begin case (in) 3'b000 : out = 8'b00000001; 3'b001 : out = 8'b00000010; 3'b010 : out = 8'b00000100; 3'b011 : out = 8'b00001000; 3'b100 : out = 8'b00010000; 3'b101 : out = 8'b00100000; 3'b110 : out = 8'b01000000; 3'b111 : out = 8'b10000000; endcase end endmodule 28 www.vlsi.itu.edu.tr 08.04.2015 Memory Modelling In Verilog parameter RAM_WIDTH = <ram_width>; parameter RAM_ADDR_BITS = <ram_addr_bits>; reg [RAM_WIDTH-1:0] <ram_name> [(2**RAM_ADDR_BITS)-1:0]; reg [RAM_WIDTH-1:0] <output_data>; <reg_or_wire> [RAM_ADDR_BITS-1:0] <address>; <reg_or_wire> [RAM_WIDTH-1:0] <input_data>; initial $readmemh("<data_file_name>", <ram_name>, <begin_address>, <end_address>); always @(posedge <clock>) begin if (<ram_enable>) if (<write_enable>) <ram_name>[<address>] <= <input_data>; else <output_data> <= <ram_name>[<address>]; end 29 www.vlsi.itu.edu.tr 08.04.2015 References http://www.ieee.org/portal/cms_docs_sscs/sscs/08Winter/sunamifig3.jpg http://en.wikipedia.org http://www.seas.upenn.edu/~ese570/1244.pdf http://www.xtremesystems.org/forums/showthread.php?208829Memory-101-SDR-vs-DDR1-vs-DDR2-vs-DDR3 http://smithsonianchips.si.edu/ice/cd/MEMORY97/SEC09.PDF http://smithsonianchips.si.edu/ice/cd/MEMORY97/SEC07.PDF http://spectrum.ieee.org/semiconductors/design/the-mysteriousmemristor http://www.eecg.toronto.edu/~kphang/papers/2001/igor_sense.pdf Xilinx Documentation 30 www.vlsi.itu.edu.tr 08.04.2015