Designing with Memory

Size: px
Start display at page:

Download "Designing with Memory"

Transcription

1 Designing with Memory Prof. Stephen A. Edwards Columbia University Spring 2014

2 Using Memory

3 Basic Memory Model Clock Address Data In Write Clock Memory Data Out Address A0 A1 A1 Read A0 Data In Write D1 Data Out D0 old D1 D1

4 Basic Memory Model Clock Address Data In Write Clock Memory Data Out Address A0 A1 A1 Write A1 Data In Write D1 Data Out D0 old D1 D1

5 Basic Memory Model Clock Address Data In Write Clock Memory Data Out Address A0 A1 A1 Read A1 Data In Write D1 Data Out D0 old D1 D1

6 Memory Is Fundamentally a Bottleneck Plenty of bits, but You can only see a small window each clock cycle Using memory = scheduling memory accesses Software hides this from you: sequential programs naturally schedule accesses You must schedule memory accesses in a hardware design

7 Modeling Synchronous Memory in SystemVerilog module memory( input logic clk, input logic write, input logic [3:0] address, input logic [7:0] data_in, output logic [7:0] data_out); logic [7:0] mem [15:0]; clk) begin if (write) mem[address] <= data_in; data_out <= mem[address]; end endmodule Write enable 4-bit address 8-bit input bus 8-bit output bus The memory array: 16 8-bit bytes Clocked Write to array when asked Always read (old) value from array

8 M10K Blocks in the Cyclone V 10 kilobits (10240 bits) per block Dual ported: two addresses, write enable signals Data busses can be 1 20 bits wide Our Cyclone V 5CSXFC6 has 557 of these blocks (696 KB)

9 Memory in Quartus: the Megafunction Wizard

10 Memory: Single- or Dual-Ported

11 Memory: Select Port Widths

12 Memory: One or Two Clocks

13 Memory: Output Ports Need Not Be Registered

14 Memory: Wizard-Generated Verilog Module This generates the following SystemVerilog module: module memory ( // Port A: input logic [12:0] address_a, // bit words input logic clock_a, input logic [0:0] data_a, input logic wren_a, // Write enable output logic [0:0] q_a, // Port B: input logic [8:0] address_b, // bit words input logic clock_b, input logic [15:0] data_b, input logic wren_b, // Write enable output logic [15:0] q_b); Instantiate like any module; Quartus treats specially

15 Two Ways to Ask for Memory 1. Use the Megafunction Wizard + Warns you in advance about resource usage Awkward to change 2. Let Quartus infer memory from your code + Better integrated with your code Easy to inadvertantly ask for garbage

16 The Perils of Memory Inference module twoport( input logic clk, input logic [8:0] aa, ab, input logic [19:0] da, db, input logic wa, wb, output logic [19:0] qa, qb); logic [19:0] mem [511:0]; clk) begin if (wa) mem[aa] <= da; qa <= mem[aa]; if (wb) mem[ab] <= db; qb <= mem[ab]; end endmodule Failure: Exploded! Synthesized to an 854-page schematic with registers (no M10K blocks) Page 1 looked like this:

17 The Perils of Memory Inference module twoport2( input logic clk, input logic [8:0] aa, ab, input logic [19:0] da, db, input logic wa, wb, output logic [19:0] qa, qb); logic [19:0] mem [511:0]; clk) begin if (wa) mem[aa] <= da; qa <= mem[aa]; end clk) begin if (wb) mem[ab] <= db; qb <= mem[ab]; end endmodule Failure Still didn t work: RAM logic mem is uninferred due to unsupported read-during-write behavior

18 The Perils of Memory Inference module twoport3( input logic clk, input logic [8:0] aa, ab, input logic [19:0] da, db, input logic wa, wb, output logic [19:0] qa, qb); logic [19:0] mem [511:0]; clk) begin if (wa) begin mem[aa] <= da; qa <= da; end else qa <= mem[aa]; end clk) begin if (wb) begin mem[ab] <= db; qb <= db; end else qb <= mem[ab]; end endmodule Finally! Took this structure from a template: Edit Insert Template Verilog HDL Full Designs RAMs and ROMs True Dual-Port RAM (single clock) clk da[19..0] db[19..0] ab[8..0] wb aa[8..0] wa CLK0 DATAIN[19..0] PORTBCLK0 PORTBDATAIN[19..0] PORTBRADDR[8..0] PORTBWADDR[8..0] PORTBWE RADDR[8..0] WADDR[8..0] WE mem SYNC_RAM DATAOUT[19..0] PORTBDATAOUT[0] PORTBDATAOUT[1] PORTBDATAOUT[2] PORTBDATAOUT[3] PORTBDATAOUT[4] PORTBDATAOUT[5] PORTBDATAOUT[6] PORTBDATAOUT[7] PORTBDATAOUT[8] PORTBDATAOUT[9] PORTBDATAOUT[10] PORTBDATAOUT[11] PORTBDATAOUT[12] PORTBDATAOUT[13] PORTBDATAOUT[14] PORTBDATAOUT[15] PORTBDATAOUT[16] PORTBDATAOUT[17] PORTBDATAOUT[18] PORTBDATAOUT[19] qa[0]~reg[19..0] D CLK Q qb[0]~reg[19..0] D CLK Q qa[19..0] qb[19..0]

19 The Perils of Memory Inference module twoport4( input logic clk, input logic [8:0] ra, wa, input logic write, input logic [19:0] d, output logic [19:0] q); logic [19:0] mem [511:0]; Also works: separate read and write addresses clk d[19..0] ra[8..0] wa[8..0] write CLK0 DATAIN[19..0] RADDR[8..0] WADDR[8..0] WE mem SYNC_RAM DATAOUT[19..0] q[0]~reg[19..0] D CLK Q q[19..0] clk) begin if (write) mem[wa] <= d; q <= mem[ra]; end endmodule Conclusion: Inference is fine for single port or one read and one write port. Use the Megafunction Wizard for anything else.

20 Implementing Memory

21 Early Memories Williams Tube CRT-based random access memory, Used on the Manchester Mark I bits.

22 Early Memories Mercury acoustic delay line. Used in the EDASC, bits

23 Early Memories Magnetic core memory, IBM.

24 Early Memories Magnetic drum memory. 1950s & 60s. Secondary storage.

25 Modern Memory Choices Family Programmed Persistence Mask ROM at fabrication PROM once EPROM 1000s, UV 10 years FLASH 1000s, block 10 years EEPROM 1000s, byte 10 years NVRAM 5 years SRAM while powered DRAM 64 ms

26 Implementing ROMs 0 0/1 Z: not connected Bitline 2 Bitline 1 Bitline Wordline Wordline A 1 A 0 2-to-4 Decoder Wordline 2 Add. Data 3 Wordline D 2 D 1 D 0

27 Implementing ROMs 0 0/1 Z: not connected 0 0 Bitline 2 Bitline 1 Bitline 0 Wordline Wordline A 1 0 A 0 2-to-4 Decoder Wordline 2 Add. Data 0 3 Wordline D 2 D 1 D 0

28 Implementing ROMs 0 0/1 Z: not connected A 1 A 0 2-to-4 Decoder 2 Add. Data D 2 D 1 D 0

29 Implementing ROMs 0 0/1 1 Z: not connected A 1 A 0 2-to-4 Decoder 0 2 Add. Data D 2 D 1 D 0

30 Mask ROM Die Photo

31 A Floating Gate MOSFET Cross section of a NOR FLASH transistor. Kawai et al., ISSCC 2008 (Renesas)

32 Floating Gate n-channel MOSFET SiO 2 Control Gate Drain Floating Gate Channel Source Floating gate uncharged; Control gate at 0V: Off

33 Floating Gate n-channel MOSFET Control Gate SiO Drain Floating Gate Channel Source Floating gate uncharged; Control gate positive: On

34 Floating Gate n-channel MOSFET SiO 2 Drain Control Gate ++++ Floating Gate ++++ Channel Source Floating gate negative; Control gate at 0V: Off

35 Floating Gate n-channel MOSFET Control Gate SiO Drain Floating Gate ++ Channel Source Floating gate negative; Control gate positive: Off

36 EPROMs and FLASH use Floating-Gate MOSFETs

37 Static Random-Access Memory Cell Bit line Bit line Word line

38 Layout of a 6T SRAM Cell Weste and Harris. Introduction to CMOS VLSI Design. Addison-Wesley, 2010.

39 Intel s 2102 SRAM, bit, 1972

40 2102 Block Diagram

41 SRAM Timing A12 A11. A2 A1 A0 CS1 CS2 WE OE K 8 SRAM D7 D6. D1 D0 CS1 CS2 WE OE Addr 1 2 Data write 1 read 2

42 6264 SRAM Block Diagram INPUT BUFFER I/O 0 I/O 1 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A x 32 x 8 ARRAY I/O 2 I/O 3 I/O 4 I/O 5 I/O 6 CE 1 CE 2 WE COLUMN DECODER POWER DOWN I/O 7 OE CY6264-1

43 Toshiba TC55V16256J 256K 16 A17 A16 A2. A1 A0 UB LB WE OE CE 256K 16 SRAM D15 D14. D1 D0

44 Dynamic RAM Cell Column Row

45 Ancient (c. 1982) DRAM: K 1 A7 A6 A2. A1 A0 Din WE CAS RAS K 1 DRAM Dout

46 Basic DRAM read and write cycles RAS CAS Addr Row Col Row Col WE Din Dout to write read

47 Page Mode DRAM read cycle RAS CAS Addr Row Col Col Col WE Din Dout read read read

48 Samsung 8M 16 SDRAM BA1 BA0 A11 A10. A2 A1 A0 8M 16 SDRAM UDQM LDQM WE CAS RAS CS CKE CLK DQ15 DQ14. DQ1 DQ0 CLK ADD LCKE Address Register Data Input Register Bank Select Row Buffer Refresh Counter LCBR LRAS Row Decoder Col. Buffer 8M x 4 / 4M x 8 / 2M x 16 8M x 4 / 4M x 8 / 2M x 16 8M x 4 / 4M x 8 / 2M x 16 8M x 4 / 4M x 8 / 2M x 16 Column Decoder Latency & Burst Length Programming Register I/O Control Output Buffer Sense AMP LRAS LCBR LWE LCAS LWCBR LDQM Timing Register CLK CKE CS RAS CAS WE L(U)DQM LWE LDQM DQi

49 SDRAM: Control Signals RAS CAS WE Action NOP Load mode register Active (select row) Read (select column, start burst) Write (select column, start burst) Terminate Burst Precharge (deselect row) Auto Refresh Mode register: selects 1/2/4/8-word bursts, CAS latency, burst on write

50 SDRAM: Timing with 2-word bursts Load Active Write Read Refresh Clk RAS CAS WE Addr Op R C C BA B B B DQ W W R R

Design and Implementation of an AHB SRAM Memory Controller

Design and Implementation of an AHB SRAM Memory Controller Design and Implementation of an AHB SRAM Memory Controller 1 Module Overview Learn the basics of Computer Memory; Design and implement an AHB SRAM memory controller, which replaces the previous on-chip

More information

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week)

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week) + (Advanced) Computer Organization & Architechture Prof. Dr. Hasan Hüseyin BALIK (5 th Week) + Outline 2. The computer system 2.1 A Top-Level View of Computer Function and Interconnection 2.2 Cache Memory

More information

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu.

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu. Memories Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted from Digital Design and Computer Architecture, David Money Harris & Sarah

More information

Read and Write Cycles

Read and Write Cycles Read and Write Cycles The read cycle is shown. Figure 41.1a. The RAS and CAS signals are activated one after the other to latch the multiplexed row and column addresses respectively applied at the multiplexed

More information

EECS150 - Digital Design Lecture 16 - Memory

EECS150 - Digital Design Lecture 16 - Memory EECS150 - Digital Design Lecture 16 - Memory October 17, 2002 John Wawrzynek Fall 2002 EECS150 - Lec16-mem1 Page 1 Memory Basics Uses: data & program storage general purpose registers buffering table lookups

More information

Memory and Programmable Logic

Memory and Programmable Logic Memory and Programmable Logic Memory units allow us to store and/or retrieve information Essentially look-up tables Good for storing data, not for function implementation Programmable logic device (PLD),

More information

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts Hardware/Software Introduction Chapter 5 Memory Outline Memory Write Ability and Storage Permanence Common Memory Types Composing Memory Memory Hierarchy and Cache Advanced RAM 1 2 Introduction Memory:

More information

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction Hardware/Software Introduction Chapter 5 Memory 1 Outline Memory Write Ability and Storage Permanence Common Memory Types Composing Memory Memory Hierarchy and Cache Advanced RAM 2 Introduction Embedded

More information

ALTERA M9K EMBEDDED MEMORY BLOCKS

ALTERA M9K EMBEDDED MEMORY BLOCKS ALTERA M9K EMBEDDED MEMORY BLOCKS M9K Overview M9K memories are Altera s embedded high-density memory arrays Nearly all modern FPGAs include something similar of varying sizes 8192 bits per block (9216

More information

UMBC. Select. Read. Write. Output/Input-output connection. 1 (Feb. 25, 2002) Four commonly used memories: Address connection ... Dynamic RAM (DRAM)

UMBC. Select. Read. Write. Output/Input-output connection. 1 (Feb. 25, 2002) Four commonly used memories: Address connection ... Dynamic RAM (DRAM) Memory Types Two basic types: ROM: Read-only memory RAM: Read-Write memory Four commonly used memories: ROM Flash (EEPROM) Static RAM (SRAM) Dynamic RAM (DRAM) Generic pin configuration: Address connection

More information

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM ECEN454 Digital Integrated Circuit Design Memory ECEN 454 Memory Arrays SRAM Architecture SRAM Cell Decoders Column Circuitry Multiple Ports DRAM Outline Serial Access Memories ROM ECEN 454 12.2 1 Memory

More information

EECS150 - Digital Design Lecture 16 Memory 1

EECS150 - Digital Design Lecture 16 Memory 1 EECS150 - Digital Design Lecture 16 Memory 1 March 13, 2003 John Wawrzynek Spring 2003 EECS150 - Lec16-mem1 Page 1 Memory Basics Uses: Whenever a large collection of state elements is required. data &

More information

ENEE 759H, Spring 2005 Memory Systems: Architecture and

ENEE 759H, Spring 2005 Memory Systems: Architecture and SLIDE, Memory Systems: DRAM Device Circuits and Architecture Credit where credit is due: Slides contain original artwork ( Jacob, Wang 005) Overview Processor Processor System Controller Memory Controller

More information

RTL Design (2) Memory Components (RAMs & ROMs)

RTL Design (2) Memory Components (RAMs & ROMs) RTL Design (2) Memory Components (RAMs & ROMs) Memory Components All sequential circuit have a form of memory Register, latches, etc However, the term memory is generally reserved for bits that are stored

More information

+1 (479)

+1 (479) Memory Courtesy of Dr. Daehyun Lim@WSU, Dr. Harris@HMC, Dr. Shmuel Wimer@BIU and Dr. Choi@PSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Memory Arrays Memory Arrays Random Access Memory Serial

More information

ECE 485/585 Microprocessor System Design

ECE 485/585 Microprocessor System Design Microprocessor System Design Lecture 4: Memory Hierarchy Memory Taxonomy SRAM Basics Memory Organization DRAM Basics Zeshan Chishti Electrical and Computer Engineering Dept Maseeh College of Engineering

More information

Laboratory Exercise 8

Laboratory Exercise 8 Laboratory Exercise 8 Memory Blocks In computer systems it is necessary to provide a substantial amount of memory. If a system is implemented using FPGA technology it is possible to provide some amount

More information

Topic 21: Memory Technology

Topic 21: Memory Technology Topic 21: Memory Technology COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Old Stuff Revisited Mercury Delay Line Memory Maurice Wilkes, in 1947,

More information

Topic 21: Memory Technology

Topic 21: Memory Technology Topic 21: Memory Technology COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Old Stuff Revisited Mercury Delay Line Memory Maurice Wilkes, in 1947,

More information

Address connections Data connections Selection connections

Address connections Data connections Selection connections Interface (cont..) We have four common types of memory: Read only memory ( ROM ) Flash memory ( EEPROM ) Static Random access memory ( SARAM ) Dynamic Random access memory ( DRAM ). Pin connections common

More information

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved. 1 Memory + 2 Location Internal (e.g. processor registers, cache, main memory) External (e.g. optical disks, magnetic disks, tapes) Capacity Number of words Number of bytes Unit of Transfer Word Block Access

More information

CS 320 February 2, 2018 Ch 5 Memory

CS 320 February 2, 2018 Ch 5 Memory CS 320 February 2, 2018 Ch 5 Memory Main memory often referred to as core by the older generation because core memory was a mainstay of computers until the advent of cheap semi-conductor memory in the

More information

ECE 2300 Digital Logic & Computer Organization

ECE 2300 Digital Logic & Computer Organization ECE 2300 Digital Logic & Computer Organization Spring 201 Memories Lecture 14: 1 Announcements HW6 will be posted tonight Lab 4b next week: Debug your design before the in-lab exercise Lecture 14: 2 Review:

More information

CS311 Lecture 21: SRAM/DRAM/FLASH

CS311 Lecture 21: SRAM/DRAM/FLASH S 14 L21-1 2014 CS311 Lecture 21: SRAM/DRAM/FLASH DARM part based on ISCA 2002 tutorial DRAM: Architectures, Interfaces, and Systems by Bruce Jacob and David Wang Jangwoo Kim (POSTECH) Thomas Wenisch (University

More information

Introduction to CMOS VLSI Design Lecture 13: SRAM

Introduction to CMOS VLSI Design Lecture 13: SRAM Introduction to CMOS VLSI Design Lecture 13: SRAM David Harris Harvey Mudd College Spring 2004 1 Outline Memory Arrays SRAM Architecture SRAM Cell Decoders Column Circuitry Multiple Ports Serial Access

More information

Basics DRAM ORGANIZATION. Storage element (capacitor) Data In/Out Buffers. Word Line. Bit Line. Switching element HIGH-SPEED MEMORY SYSTEMS

Basics DRAM ORGANIZATION. Storage element (capacitor) Data In/Out Buffers. Word Line. Bit Line. Switching element HIGH-SPEED MEMORY SYSTEMS Basics DRAM ORGANIZATION DRAM Word Line Bit Line Storage element (capacitor) In/Out Buffers Decoder Sense Amps... Bit Lines... Switching element Decoder... Word Lines... Memory Array Page 1 Basics BUS

More information

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010 EE4800 CMOS Digital IC Design & Analysis Lecture 11 SRAM Zhuo Feng 11.1 Memory Arrays SRAM Architecture SRAM Cell Decoders Column Circuitryit Multiple Ports Outline Serial Access Memories 11.2 Memory Arrays

More information

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed.

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed. Lecture 13: SRAM Slides courtesy of Deming Chen Slides based on the initial set from David Harris CMOS VLSI Design Outline Memory Arrays SRAM Architecture SRAM Cell Decoders Column Circuitry Multiple Ports

More information

The DRAM Cell. EEC 581 Computer Architecture. Memory Hierarchy Design (III) 1T1C DRAM cell

The DRAM Cell. EEC 581 Computer Architecture. Memory Hierarchy Design (III) 1T1C DRAM cell EEC 581 Computer Architecture Memory Hierarchy Design (III) Department of Electrical Engineering and Computer Science Cleveland State University The DRAM Cell Word Line (Control) Bit Line (Information)

More information

Computer Organization. 8th Edition. Chapter 5 Internal Memory

Computer Organization. 8th Edition. Chapter 5 Internal Memory William Stallings Computer Organization and Architecture 8th Edition Chapter 5 Internal Memory Semiconductor Memory Types Memory Type Category Erasure Write Mechanism Volatility Random-access memory (RAM)

More information

EEM 486: Computer Architecture. Lecture 9. Memory

EEM 486: Computer Architecture. Lecture 9. Memory EEM 486: Computer Architecture Lecture 9 Memory The Big Picture Designing a Multiple Clock Cycle Datapath Processor Control Memory Input Datapath Output The following slides belong to Prof. Onur Mutlu

More information

EECS150 - Digital Design Lecture 17 Memory 2

EECS150 - Digital Design Lecture 17 Memory 2 EECS150 - Digital Design Lecture 17 Memory 2 October 22, 2002 John Wawrzynek Fall 2002 EECS150 Lec17-mem2 Page 1 SDRAM Recap General Characteristics Optimized for high density and therefore low cost/bit

More information

Memory in Digital Systems

Memory in Digital Systems MEMORIES Memory in Digital Systems Three primary components of digital systems Datapath (does the work) Control (manager) Memory (storage) Single bit ( foround ) Clockless latches e.g., SR latch Clocked

More information

Memory Challenges. Issues & challenges in memory design: Cost Performance Power Scalability

Memory Challenges. Issues & challenges in memory design: Cost Performance Power Scalability Memory Devices 1 Memory Challenges Issues & challenges in memory design: Cost Performance Power Scalability 2 Memory - Overview Definitions: RAM random access memory DRAM dynamic RAM SRAM static RAM Volatile

More information

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1> Chapter 5 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 5 Chapter 5 :: Topics Introduction Arithmetic Circuits umber Systems Sequential Building

More information

Real Time Embedded Systems

Real Time Embedded Systems Real Time Embedded Systems " Memories " rene.beuchat@epfl.ch LAP/ISIM/IC/EPFL Chargé de cours LSN/hepia Prof. HES 1998-2008 2 General classification of electronic memories Non-volatile Memories ROM PROM

More information

EECS 151/251A Spring 2019 Digital Design and Integrated Circuits. Instructor: John Wawrzynek. Lecture 18 EE141

EECS 151/251A Spring 2019 Digital Design and Integrated Circuits. Instructor: John Wawrzynek. Lecture 18 EE141 EECS 151/251A Spring 2019 Digital Design and Integrated Circuits Instructor: John Wawrzynek Lecture 18 Memory Blocks Multi-ported RAM Combining Memory blocks FIFOs FPGA memory blocks Memory block synthesis

More information

CSEE 3827: Fundamentals of Computer Systems. Storage

CSEE 3827: Fundamentals of Computer Systems. Storage CSEE 387: Fundamentals of Computer Systems Storage The big picture General purpose processor (e.g., Power PC, Pentium, MIPS) Internet router (intrusion detection, pacet routing, etc.) WIreless transceiver

More information

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM CMPEN 411 VLSI Digital Circuits Spring 2011 Lecture 22: Memery, ROM [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp11 CMPEN 411 L22 S.1

More information

Introduction to SRAM. Jasur Hanbaba

Introduction to SRAM. Jasur Hanbaba Introduction to SRAM Jasur Hanbaba Outline Memory Arrays SRAM Architecture SRAM Cell Decoders Column Circuitry Non-volatile Memory Manufacturing Flow Memory Arrays Memory Arrays Random Access Memory Serial

More information

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I) COMP3221: Microprocessors and Embedded Systems Lecture 23: Memory Systems (I) Overview Memory System Hierarchy RAM, ROM, EPROM, EEPROM and FLASH http://www.cse.unsw.edu.au/~cs3221 Lecturer: Hui Wu Session

More information

SRAM. Introduction. Digital IC

SRAM. Introduction. Digital IC SRAM Introduction Outline Memory Arrays SRAM Architecture SRAM Cell Decoders Column Circuitry Multiple Ports Serial Access Memories Memory Arrays Memory Arrays Random Access Memory Serial Access Memory

More information

Digital Integrated Circuits Lecture 13: SRAM

Digital Integrated Circuits Lecture 13: SRAM Digital Integrated Circuits Lecture 13: SRAM Chih-Wei Liu VLSI Signal Processing LAB National Chiao Tung University cwliu@twins.ee.nctu.edu.tw DIC-Lec13 cwliu@twins.ee.nctu.edu.tw 1 Outline Memory Arrays

More information

Mark Redekopp, All rights reserved. EE 352 Unit 10. Memory System Overview SRAM vs. DRAM DMA & Endian-ness

Mark Redekopp, All rights reserved. EE 352 Unit 10. Memory System Overview SRAM vs. DRAM DMA & Endian-ness EE 352 Unit 10 Memory System Overview SRAM vs. DRAM DMA & Endian-ness The Memory Wall Problem: The Memory Wall Processor speeds have been increasing much faster than memory access speeds (Memory technology

More information

Memory Systems for Embedded Applications. Chapter 4 (Sections )

Memory Systems for Embedded Applications. Chapter 4 (Sections ) Memory Systems for Embedded Applications Chapter 4 (Sections 4.1-4.4) 1 Platform components CPUs. Interconnect buses. Memory. Input/output devices. Implementations: System-on-Chip (SoC) vs. Multi-Chip

More information

Computer Memory. Textbook: Chapter 1

Computer Memory. Textbook: Chapter 1 Computer Memory Textbook: Chapter 1 ARM Cortex-M4 User Guide (Section 2.2 Memory Model) STM32F4xx Technical Reference Manual: Chapter 2 Memory and Bus Architecture Chapter 3 Flash Memory Chapter 36 Flexible

More information

Lecture 14: CAMs, ROMs, and PLAs

Lecture 14: CAMs, ROMs, and PLAs Introduction to CMOS VLSI Design Lecture 4: CAMs, ROMs, and PLAs David Harris Harvey Mudd College Spring 24 Outline Content-Addressable Memories Read-Only Memories Programmable Logic Arrays 4: CAMs, ROMs,

More information

2. TriMatrix Embedded Memory Blocks in Stratix II and Stratix II GX Devices

2. TriMatrix Embedded Memory Blocks in Stratix II and Stratix II GX Devices 2. TriMatrix Embedded Memory Blocks in Stratix II and Stratix II GX Devices SII52002-4.5 Introduction Stratix II and Stratix II GX devices feature the TriMatrix memory structure, consisting of three sizes

More information

CENG 4480 L09 Memory 3

CENG 4480 L09 Memory 3 CENG 4480 L09 Memory 3 Bei Yu Chapter 11 Memories Reference: CMOS VLSI Design A Circuits and Systems Perspective by H.E.Weste and D.M.Harris 1 Memory Arrays Memory Arrays Random Access Memory Serial Access

More information

Design with Microprocessors

Design with Microprocessors Design with Microprocessors Lecture 12 DRAM, DMA Year 3 CS Academic year 2017/2018 1 st semester Lecturer: Radu Danescu The DRAM memory cell X- voltage on Cs; Cs ~ 25fF Write: Cs is charged or discharged

More information

TSEA22, DIGITALTEKNIK LECTURE 7

TSEA22, DIGITALTEKNIK LECTURE 7 LINKÖPING UNIVERSITY Department of Electrical Engineering TSEA22, DIGITALTEKNIK LECTURE 7 Mario Garrido Gálvez mario.garrido.galvez@liu.se Linköping, 2018 1 FEEDBACK: POSITIVE Course: Good / Interesting

More information

3. Memory Blocks in the Cyclone III Device Family

3. Memory Blocks in the Cyclone III Device Family December 2011 CIII51004-2.3 3. Memory Blocks in the Cyclone III Deice Family CIII51004-2.3 The Cyclone III deice family (Cyclone III and Cyclone III LS deices) features embedded memory structures to address

More information

CS 152 Computer Architecture and Engineering. Lecture 6 - Memory

CS 152 Computer Architecture and Engineering. Lecture 6 - Memory CS 152 Computer Architecture and Engineering Lecture 6 - Memory Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste! http://inst.eecs.berkeley.edu/~cs152!

More information

A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy

A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy Abstract This paper work leads to a working implementation of a Low Power DDR SDRAM Controller that is meant to be used as a reference for

More information

Lecture 20: CAMs, ROMs, PLAs

Lecture 20: CAMs, ROMs, PLAs Lecture 2: CAMs, ROMs, PLAs Outline Content-Addressable Memories Read-Only Memories Programmable Logic Arrays 2: CAMs, ROMs, and PLAs CMOS VLSI Design 4th Ed. 2 CAMs Extension of ordinary memory (e.g.

More information

Chapter 5 Internal Memory

Chapter 5 Internal Memory Chapter 5 Internal Memory Memory Type Category Erasure Write Mechanism Volatility Random-access memory (RAM) Read-write memory Electrically, byte-level Electrically Volatile Read-only memory (ROM) Read-only

More information

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved. Computer Architecture Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr nizamettinaydin@gmail.com Internal Memory http://www.yildiz.edu.tr/~naydin 1 2 Outline Semiconductor main memory Random Access Memory

More information

MEMORIES. Memories. EEC 116, B. Baas 3

MEMORIES. Memories. EEC 116, B. Baas 3 MEMORIES Memories VLSI memories can be classified as belonging to one of two major categories: Individual registers, single bit, or foreground memories Clocked: Transparent latches and Flip-flops Unclocked:

More information

Lab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week

Lab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week Objectives: Lab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week Build Register File Build Instruction Memory and Data Memory 1. Overview A combinational circuit neither contains

More information

Mosel Vitelic (IBM-Siemens) V53C181608K60 1Mx16 CMOS EDO DRAM

Mosel Vitelic (IBM-Siemens) V53C181608K60 1Mx16 CMOS EDO DRAM May 19, 1998 Mosel Vitelic (IBM-Siemens) V53C181608K60 1Mx16 CMOS EDO DRAM Abstract: The Mosel Vitelic V53C181608K60 is a 1Mx16 CMOS DRAM featuring EDO Page Mode Operation, self-refresh, hidden refresh

More information

MAX 10 Embedded Memory User Guide

MAX 10 Embedded Memory User Guide MAX 10 Embedded Memory User Guide UG-M10MEMORY 2017.02.21 Subscribe Send Feedback Contents Contents 1 MAX 10 Embedded Memory Overview... 4 2 MAX 10 Embedded Memory Architecture and Features... 5 2.1 MAX

More information

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information. Registers Readings: 5.8-5.9.3 Storage unit. Can hold an n-bit value Composed of a group of n flip-flops Each flip-flop stores 1 bit of information ff ff ff ff 178 Controlled Register Reset Load Action

More information

ECSE-2610 Computer Components & Operations (COCO)

ECSE-2610 Computer Components & Operations (COCO) ECSE-2610 Computer Components & Operations (COCO) Part 18: Random Access Memory 1 Read-Only Memories 2 Why ROM? Program storage Boot ROM for personal computers Complete application storage for embedded

More information

Very Large Scale Integration (VLSI)

Very Large Scale Integration (VLSI) Very Large Scale Integration (VLSI) Lecture 8 Dr. Ahmed H. Madian ah_madian@hotmail.com Content Array Subsystems Introduction General memory array architecture SRAM (6-T cell) CAM Read only memory Introduction

More information

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Lec 26: November 9, 2018 Memory Overview Dynamic OR4! Precharge time?! Driving input " With R 0 /2 inverter! Driving inverter

More information

Intel MAX 10 Embedded Memory User Guide

Intel MAX 10 Embedded Memory User Guide Intel MAX 10 Embedded Memory User Guide Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Intel MAX 10 Embedded Memory Overview...4 2. Intel MAX 10 Embedded Memory Architecture

More information

Memory Overview. Overview - Memory Types 2/17/16. Curtis Nelson Walla Walla University

Memory Overview. Overview - Memory Types 2/17/16. Curtis Nelson Walla Walla University Memory Overview Curtis Nelson Walla Walla University Overview - Memory Types n n n Magnetic tape (used primarily for long term archive) Magnetic disk n Hard disk (File, Directory, Folder) n Floppy disks

More information

Introduction read-only memory random access memory

Introduction read-only memory random access memory Memory Interface Introduction Simple or complex, every microprocessorbased system has a memory system. Almost all systems contain two main types of memory: read-only memory (ROM) and random access memory

More information

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition William Stallings Computer Organization and Architecture 6th Edition Chapter 5 Internal Memory 5.1 Semiconductor Main Memory 5.2 Error Correction 5.3 Advanced DRAM Organization 5.1 Semiconductor Main Memory

More information

CENG 4480 L09 Memory 2

CENG 4480 L09 Memory 2 CENG 4480 L09 Memory 2 Bei Yu Reference: Chapter 11 Memories CMOS VLSI Design A Circuits and Systems Perspective by H.E.Weste and D.M.Harris 1 v.s. CENG3420 CENG3420: architecture perspective memory coherent

More information

ECE 485/585 Microprocessor System Design

ECE 485/585 Microprocessor System Design Microprocessor System Design Lecture 5: Zeshan Chishti DRAM Basics DRAM Evolution SDRAM-based Memory Systems Electrical and Computer Engineering Dept. Maseeh College of Engineering and Computer Science

More information

Chapter 3 Semiconductor Memories. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 3 Semiconductor Memories. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Chapter 3 Semiconductor Memories Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Introduction Random Access Memories Content Addressable Memories Read

More information

IMM64M72D1SCS8AG (Die Revision D) 512MByte (64M x 72 Bit)

IMM64M72D1SCS8AG (Die Revision D) 512MByte (64M x 72 Bit) Product Specification Rev. 1.0 2015 IMM64M72D1SCS8AG (Die Revision D) 512MByte (64M x 72 Bit) RoHS Compliant Product Product Specification 1.0 1 IMM64M72D1SCS8AG Version: Rev. 1.0, MAY 2015 1.0 - Initial

More information

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology 1 Multilevel Memories Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology Based on the material prepared by Krste Asanovic and Arvind CPU-Memory Bottleneck 6.823

More information

Chapter 8 Memory Basics

Chapter 8 Memory Basics Logic and Computer Design Fundamentals Chapter 8 Memory Basics Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Overview Memory definitions Random Access

More information

Memory System Overview. DMA & Endian-ness. Technology. Architectural. Problem: The Memory Wall

Memory System Overview. DMA & Endian-ness. Technology. Architectural. Problem: The Memory Wall The Memory Wall EE 357 Unit 13 Problem: The Memory Wall Processor speeds have been increasing much faster than memory access speeds (Memory technology targets density rather than speed) Large memories

More information

MAX 10 Embedded Memory User Guide

MAX 10 Embedded Memory User Guide MAX 10 Embedded Memory User Guide Subscribe UG- M10MEMORY 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents MAX 10 Embedded Memory Overview... 1-1 MAX 10 Embedded Memory Architecture

More information

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory William Stallings Computer Organization and Architecture 6th Edition Chapter 5 Internal Memory Semiconductor Memory Types Semiconductor Memory RAM Misnamed as all semiconductor memory is random access

More information

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory William Stallings Computer Organization and Architecture 8th Edition Chapter 5 Internal Memory Semiconductor Memory The basic element of a semiconductor memory is the memory cell. Although a variety of

More information

Semiconductor Memories: RAMs and ROMs

Semiconductor Memories: RAMs and ROMs Semiconductor Memories: RAMs and ROMs Lesson Objectives: In this lesson you will be introduced to: Different memory devices like, RAM, ROM, PROM, EPROM, EEPROM, etc. Different terms like: read, write,

More information

! Memory. " RAM Memory. " Serial Access Memories. ! Cell size accounts for most of memory array size. ! 6T SRAM Cell. " Used in most commercial chips

! Memory.  RAM Memory.  Serial Access Memories. ! Cell size accounts for most of memory array size. ! 6T SRAM Cell.  Used in most commercial chips ESE 57: Digital Integrated Circuits and VLSI Fundamentals Lec : April 5, 8 Memory: Periphery circuits Today! Memory " RAM Memory " Architecture " Memory core " SRAM " DRAM " Periphery " Serial Access Memories

More information

CSE502: Computer Architecture CSE 502: Computer Architecture

CSE502: Computer Architecture CSE 502: Computer Architecture CSE 502: Computer Architecture Memory / DRAM SRAM = Static RAM SRAM vs. DRAM As long as power is present, data is retained DRAM = Dynamic RAM If you don t do anything, you lose the data SRAM: 6T per bit

More information

Digital Design with SystemVerilog

Digital Design with SystemVerilog Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?

More information

CSE502: Computer Architecture CSE 502: Computer Architecture

CSE502: Computer Architecture CSE 502: Computer Architecture CSE 502: Computer Architecture Memory / DRAM SRAM = Static RAM SRAM vs. DRAM As long as power is present, data is retained DRAM = Dynamic RAM If you don t do anything, you lose the data SRAM: 6T per bit

More information

Spring 2018 :: CSE 502. Main Memory & DRAM. Nima Honarmand

Spring 2018 :: CSE 502. Main Memory & DRAM. Nima Honarmand Main Memory & DRAM Nima Honarmand Main Memory Big Picture 1) Last-level cache sends its memory requests to a Memory Controller Over a system bus of other types of interconnect 2) Memory controller translates

More information

3. Memory Blocks in Cyclone III Devices

3. Memory Blocks in Cyclone III Devices 3. Memory Blocks in Cyclone III Deices CIII51003-2.0 Introduction Oeriew Cyclone III family deices (Cyclone III and Cyclone III LS deices) feature embedded memory structures to address the on-chip memory

More information

Memory in Digital Systems

Memory in Digital Systems MEMORIES Memory in Digital Systems Three primary components of digital systems Datapath (does the work) Control (manager) Memory (storage) Single bit ( foround ) Clockless latches e.g., SR latch Clocked

More information

Design with Microprocessors

Design with Microprocessors Design with Microprocessors Year III Computer Sci. English 1-st Semester Lecture 12: Memory interfacing Typical Memory Hierarchy [1] On-Chip Components Control edram Datapath RegFile ITLB DTLB Instr Data

More information

512Mb NAND FLASH + 256Mb LPDDR SDRAM MCP Product

512Mb NAND FLASH + 256Mb LPDDR SDRAM MCP Product Multi-Chip Package MEMORY 512M bit(1.8v,32m x 16) 256M bit(1.8v,16m x 16) SLC NAND Flash LPDDR(Mobile DDR) SDRAM Revision No. History Draft Date Remark 00 Initial Draft Nov. 2012 1 Multi-Chip Package MEMORY

More information

IMM64M64D1SOD16AG (Die Revision D) 512MByte (64M x 64 Bit)

IMM64M64D1SOD16AG (Die Revision D) 512MByte (64M x 64 Bit) Product Specification Rev. 2.0 2015 IMM64M64D1SOD16AG (Die Revision D) 512MByte (64M x 64 Bit) 512MB DDR Unbuffered SO-DIMM RoHS Compliant Product Product Specification 2.0 1 IMM64M64D1SOD16AG Version:

More information

ECEN 449 Microprocessor System Design. Memories. Texas A&M University

ECEN 449 Microprocessor System Design. Memories. Texas A&M University ECEN 449 Microprocessor System Design Memories 1 Objectives of this Lecture Unit Learn about different types of memories SRAM/DRAM/CAM Flash 2 SRAM Static Random Access Memory 3 SRAM Static Random Access

More information

Memory in Digital Systems

Memory in Digital Systems MEMORIES Memory in Digital Systems Three primary components of digital systems Datapath (does the work) Control (manager) Memory (storage) Single bit ( foround ) Clockless latches e.g., SR latch Clocked

More information

The Memory Hierarchy Part I

The Memory Hierarchy Part I Chapter 6 The Memory Hierarchy Part I The slides of Part I are taken in large part from V. Heuring & H. Jordan, Computer Systems esign and Architecture 1997. 1 Outline: Memory components: RAM memory cells

More information

IMM128M72D1SOD8AG (Die Revision F) 1GByte (128M x 72 Bit)

IMM128M72D1SOD8AG (Die Revision F) 1GByte (128M x 72 Bit) Product Specification Rev. 1.0 2015 IMM128M72D1SOD8AG (Die Revision F) 1GByte (128M x 72 Bit) 1GB DDR Unbuffered SO-DIMM RoHS Compliant Product Product Specification 1.0 1 IMM128M72D1SOD8AG Version: Rev.

More information

ELCT 912: Advanced Embedded Systems

ELCT 912: Advanced Embedded Systems Advanced Embedded Systems Lecture 2: Memory and Programmable Logic Dr. Mohamed Abd El Ghany, Memory Random Access Memory (RAM) Can be read and written Static Random Access Memory (SRAM) Data stored so

More information

Semiconductor Memory Classification. Today. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. CPU Memory Hierarchy.

Semiconductor Memory Classification. Today. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. CPU Memory Hierarchy. ESE 57: Digital Integrated Circuits and VLSI Fundamentals Lec : April 4, 7 Memory Overview, Memory Core Cells Today! Memory " Classification " ROM Memories " RAM Memory " Architecture " Memory core " SRAM

More information

IMM128M64D1DVD8AG (Die Revision F) 1GByte (128M x 64 Bit)

IMM128M64D1DVD8AG (Die Revision F) 1GByte (128M x 64 Bit) Product Specification Rev. 1.0 2015 IMM128M64D1DVD8AG (Die Revision F) 1GByte (128M x 64 Bit) 1GB DDR VLP Unbuffered DIMM RoHS Compliant Product Product Specification 1.0 1 IMM128M64D1DVD8AG Version: Rev.

More information

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,

More information

JEDEC Standard No. 21 -C Page Appendix E: Specific PD s for Synchronous DRAM (SDRAM).

JEDEC Standard No. 21 -C Page Appendix E: Specific PD s for Synchronous DRAM (SDRAM). Page 4.1.2.5-1 4.1.2.5 - Appendix E: Specific PD s for Synchronous DRAM (SDRAM). 1.0 Introduction: This appendix describes the Presence Detects for Synchronous DRAM Modules with SPD revision level 2 (02h).

More information

Blackfin ADSP-BF533 External Bus Interface Unit (EBIU)

Blackfin ADSP-BF533 External Bus Interface Unit (EBIU) The World Leader in High Performance Signal Processing Solutions Blackfin ADSP-BF533 External Bus Interface Unit (EBIU) Support Email: china.dsp@analog.com ADSP-BF533 Block Diagram Core Timer 64 L1 Instruction

More information