Memory and Programmable Logic

Similar documents
Memory and Programmable Logic

Integrated Circuits & Systems

Presentation 4: Programmable Combinational Devices

Memory and Programmable Logic

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

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

ELCT 912: Advanced Embedded Systems

Magnetic core memory (1951) cm 2 ( bit)

Lecture 13: Memory and Programmable Logic

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

MEMORY AND PROGRAMMABLE LOGIC

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

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

! Memory Overview. ! ROM Memories. ! RAM Memory " SRAM " DRAM. ! This is done because we can build. " large, slow memories OR

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Hardware Design with VHDL PLDs I ECE 443. FPGAs can be configured at least once, many are reprogrammable.

Programmable Logic Devices

Computer Structure. Unit 2: Memory and programmable devices

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

CMPE 415 Programmable Logic Devices FPGA Technology I

Semiconductor Memory Classification

Topics. Midterm Finish Chapter 7

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

+1 (479)

Fig. 6-1 Conventional and Array Logic Symbols for OR Gate

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

Very Large Scale Integration (VLSI)

Very Large Scale Integration (VLSI)

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

ELCT 501: Digital System Design

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

PROGRAMMABLE LOGIC DEVICES

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Design with Microprocessors

Based on slides/material by. Topic 7-4. Memory and Array Circuits. Outline. Semiconductor Memory Classification

Programmable Logic Devices Introduction CMPE 415. Programmable Logic Devices

CONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)

LSN 6 Programmable Logic Devices

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

CENG 4480 L09 Memory 3

Semiconductor Memories: RAMs and ROMs

Design with Microprocessors

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

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

FPGA Programming Technology

CENG 4480 L09 Memory 2

UNIT V (PROGRAMMABLE LOGIC DEVICES)

EECS150 - Digital Design Lecture 16 Memory 1

ECE 485/585 Microprocessor System Design

EECS150 - Digital Design Lecture 16 - Memory

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

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

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

Concept of Memory. The memory of computer is broadly categories into two categories:

I 4 I 3 I 2 I 1 I 0 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 T-125. ROM Truth Table (Partial) 1997 by Prentice-Hall, Inc.

Design Methodologies. Full-Custom Design

Chapter 13 Programmable Logic Device Architectures

Memory in Digital Systems

Digital Integrated Circuits

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

Introduction to SRAM. Jasur Hanbaba

Digital Design, Kyung Hee Univ. Chapter 7. Memory and Programmable Logic

CMOS Logic Circuit Design Link( リンク ): センター教官講義ノートの下 CMOS 論理回路設計

Memory in Digital Systems

FPGA Implementations

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

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

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

END-TERM EXAMINATION

Motivation for Lecture. Market for Memories. Example: FFT Design. Sequential Circuits & D flip-flop. Latches and Registers.

ECE 331 Digital System Design

Read and Write Cycles

EE141-Fall 2007 Digital Integrated Circuits. ROM and Flash. Announcements. Read-Only Memory Cells. Class Material. Semiconductor Memory Classification

Sense Amplifiers 6 T Cell. M PC is the precharge transistor whose purpose is to force the latch to operate at the unstable point.

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

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE4220. PROGRAMMABLE LOGIC DEVICES (PLDs)

Digital Systems. Semiconductor memories. Departamentul de Bazele Electronicii

Digital Integrated Circuits (83-313) Lecture 7: SRAM. Semester B, Lecturer: Dr. Adam Teman Itamar Levi, Robert Giterman.

SRAM. Introduction. Digital IC

Memory & Simple I/O Interfacing

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

P-2 Digital Design & Applications

Memory Design I. Array-Structured Memory Architecture. Professor Chris H. Kim. Dept. of ECE.

Introduction to CMOS VLSI Design Lecture 13: SRAM

Computer Organization. 8th Edition. Chapter 5 Internal Memory

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

Computer Organization and Assembly Language (CS-506)

FYSE420 DIGITAL ELECTRONICS. Lecture 7

Programmable Logic Devices (PLDs)

Digital Integrated Circuits Lecture 13: SRAM

Code No: 07A3EC03 Set No. 1

Digital Logic & Computer Design CS Professor Dan Moldovan Spring 2010

SECTION-A

Design Methodologies

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

Model EXAM Question Bank

Transcription:

Digital Circuit Design and Language Memory and Programmable Logic Chang, Ik Joon Kyunghee University

Memory Classification based on functionality ROM : Read-Only Memory RWM : Read-Write Memory RWM NVRWM ROM Random Access Memory (RAM) Non-Random Access SRAM DRAM FIFO LIFO Register CAM EPROM EEPROM FLASH PROM

Memory Hierarchy Register in CPU L1 / L2 Cache : SRAM Mass Storage: HDD, Non-volatile memory

How to Make Programmable Logic? Fuse / Anti-Fuse SRAM-based Wiring Flash-based Wiring

Memory Classification based on functionality ROM : Read-Only Memory RWM : Read-Write Memory RWM NVRWM ROM Random Access Memory (RAM) Non-Random Access SRAM DRAM FIFO LIFO Register CAM EPROM EEPROM FLASH PROM

Storage Cell (SRAM vs. DRAM) 6T SRAM 1T DRAM SRAM : Large Size, but fast speed (compared to DRAM), no refresh operation DRAM: Small Size, but low speed (compared to SRAM), refresh operation is indispensable WL: Word-line, BL: Bit-line

Random Access Memory: Architecture M bits M bits N Words S 0 S 1 S 2 Word 0 Word 1 Word 2 S N-2 S N-1 Word N-2 Word N-1 Storage cell A 0 A 1 K = log 2 N S 0 Word 0 Word 1 Word 2 A K Word N-2 Word N-1 Storage cell Input-Output (M bits) Input-Output (M bits) We need a row decoder to reduce # of address pin But, Height >> Width

Random Access Memory: Architecture (Cont.) Row Decoder + Column Decoder

Random Access Memory: Hierarchical Architecture Block 0 Block i Block P 2 1 Row address Column address Block address Control circuitry Block selector Global amplifier/driver Global data bus I/O Hierarchical architecture reduces wiring Only one block is activated low power dissipation

Random Access Memory: read and write operation Write operation 1.Transfer the binary address of the desired word to the address lines. 2.Transfer the data bits that must be stored in memory to the data input lines. 3.Activate the write input Read operation 1.Transfer the binary address of the desired word to the address lines. 2. Activate the read input. Timing Diagram

Address bus RAS Random Access Memory: Address Multiplexing Row Address Column Address CAS RAS-CAS timing DRAM: Timing Multiplexed Addressing Address Bus Address Address transition initiates memory operation SRAM: Timing Self-timed Address Multiplexing in 64K DRAM To reduce # of address pin, DRAM uses timing multiplexed addressing

Memory Yield and Reliability Degradation In scaled technologies, it is challenging to deliver good yield and reliability in memory

What Degrades Yield and Reliability? (PVT Variation)

What Degrades Yield and Reliability? (Many Noise Source) BL 9 BL BL BL 99 C cross SA Coupling Noise (Cross-talk) Soft-Error Noise

Solution: Redundancy Row / Column replacement improves memory yield

Solution: Hamming Code Parity Generation Rule Ex) 8-bit data = 11000100 Bit position 1 2 3 4 5 6 7 8 9 10 11 12 P 1 P 2 1 P 4 1 0 0 P 8 0 1 0 0 P 1 =XOR of bits(3,5,7,9,11)=0, P 2 =XOR of bits(3,6,7,10,11)=0 P 4 =XOR of bits(5,6,7,12)=1, P 8 =XOR of bits(9,10,11,12)=1 C 1 =XOR of bits (1,3,5,7,9,11) C 2 =XOR of bits (2,3,6,7,10,11) C 4 =XOR of bits (4,5,6,7,12) C 8 =XOR of bits (8,9,10,11,12)

Bit position Solution: Hamming Code (Cont.) 1 2 3 4 5 6 7 8 9 10 11 12 0 0 1 1 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 0 No Error Error in bit 1 Error in bit 5 Error in bit 6 Error in bit 1, 5 No Error Error in bit 1 Error in bit 5 Error in bit 6 Error in bit 1, 5 C 8 C 4 C 2 C 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 0 Error Detect (O), Correction (O) Error Detect (O), Correction (O) Error Detect (O), Correction (O) Error Detect (X), Correction (X) Hamming Code enables single-bit error detection and correction

Solution: SECDED (Single Error Cor., Double Error Det.) Bit position 1 2 3 4 5 6 7 8 9 10 11 12 13 0 0 1 1 1 0 0 1 0 1 0 0 P 13 P 13 = XOR of bits (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) C 1 =XOR of bits (1,3,5,7,9,11) C 2 =XOR of bits (2,3,6,7,10,11) C 4 =XOR of bits (4,5,6,7,12) C 8 =XOR of bits (8,9,10,11,12) C = C 8 +C 4 +C 2 +C 1, P = XOR of bits (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13) If C=0 and P=0, No error occurred If C=1 and P=1, A single error occurred, which can be corrected If C=1 and P=0, A double error occurred, which is detected but cannot be corrected If C=0 and P=1 An error occurred in the P13 bit

Memory Classification based on functionality ROM : Read-Only Memory RWM : Read-Write Memory RWM NVRWM ROM Random Access Memory (RAM) Non-Random Access SRAM DRAM FIFO LIFO Register CAM EPROM EEPROM FLASH PROM

ROM (Read-Only Memory) k = 5, n = 8

Programming Rom According to Table 1 0

Read-Only Memory Cells BL BL BL 1 WL WL V DD WL BL BL BL 0 WL WL WL GND Diode ROM MOS ROM 1 MOS ROM 2

Read-Only Memory: MOS-NOR ROM V DD Pull-up devices WL[0] WL [1] GND WL [2] GND WL [3] BL [0] BL [1] BL [2] BL [3]

Read-Only Memory: Mask Programming Cell (9.5λ x 7λ) Programming using the Active Layer Only Polysilicon Metal1 GND Line Metal1 on Diffusion Vender should prepare customized mask (expensive)

Read-Only Memory: Contact Programming (PROM) Cell (11λ x 7λ) Programmming using the Contact Layer Only Inact fuse will be removed by high field Polysilicon Metal1 GND Line Metal1 on Diffusion

Memory Classification based on functionality ROM : Read-Only Memory RWM : Read-Write Memory RWM NVRWM ROM Random Access Memory (RAM) Non-Random Access SRAM DRAM FIFO LIFO Register CAM EPROM EEPROM FLASH PROM

Flash Memory Source Floating gate Gate Drain D t ox G n + Substrate p t ox n +_ S 20 V Device cross-section 0 V Schematic symbol 5 V 10 V 5 V 20 V -5 V 0 V -2. 5 V 5 V S D S D S D Tunneling injection 27 Removing programming voltage leaves charge trapped Programming results in higher V T.

Programmable Logic Device (PLD)

Programmable Logic Array Programmable AND array Programmable OR array F1=AB + AC + A BC F2= (AC + BC)

Programmable Array Logic PAL-With a fixed OR array and a programmable AND array. Not as flexible as the PLA (Only the AND gate are programmable.)

Programmable Array Logic: Example wabcd (,,, ) = (2,12,13) xabcd (,,, ) = (7,8,9,10,11,12,12,14,15) yabcd (,,, ) = (0, 2, 3, 4, 5, 6, 7,8,10,11,15) z( ABCD,,, ) = (1, 2,8,12,13,) K-Map w = ABC ' + A' B ' CD ' x = A + BCD y = A' B + CD + B ' D ' z = ABC ' + A' B ' CD ' + AC ' D ' + A' B ' C ' D = w+ ACD ' ' + ABCD ' ' '

Programmable Array Logic: Example (Cont.)

Sequential Programmable Devices Sequential (or simple) Programmable Logic Device (SPLD) Complex Programmable Logic Device (CPLD) Field Programmable Gate Array (FPGA) + Unlike combinational PLD s, includes both gates and flipflops

Sequential Programmable Logic Device Sequential Programmable Logic Device (SPLD) Basic Macro-cell Logic of SPLD

Complex Programmable Logic Device Multiple PLD s are interconnected through a programmable switch matrix

Field Programmable Gate Array Look up table A truth table stored in SRAM, which provides the combinational circuit functions Multiplexers / Gates / Flip-flops Example: Xilinx, Altera

Xilinx Spartan : Basic Architecture The loop up table of CLB can be utilized as block memory

Xilinx Spartan : Programmable Interconnect Point PIP = transmission gate whose is controlled by SRAM cell

Xilinx Spartan : I/O Blocks (IOB) IOB s are bi-directional The output buffer should be implemented as tri-gates

Xilinx Spartan : Distributed RAM Single-Port RAM CLB is able to form single-port / dual-port RAM dual-port RAM

Xilinx Spartan ΙΙ Architecture

Xilinx FPGA