Sp09 CMPEN 411 L21 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 21: Shifters, Decoders, Muxes [Adapted from Rabaey’s Digital Integrated Circuits,

Slides:



Advertisements
Similar presentations
ECE555 Lecture 10 Nam Sung Kim University of Wisconsin – Madison
Advertisements

Semiconductor Memory Design. Organization of Memory Systems Driven only from outside Data flow in and out A cell is accessed for reading by selecting.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
EE141 Adder Circuits S. Sundar Kumar Iyer.
Budapest University of Technology and Economics Department of Electron Devices Microelectronics, BSc course MOS circuits: basic construction.
CS.305 Computer Architecture Memory: Structures Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly made.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 [Adapted from Rabaey’s Digital Integrated Circuits, ©2002, J. Rabaey et al.]
1 Lecture 16B Memories. 2 Memories in General Computers have mostly RAM ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
Overview Memory definitions Random Access Memory (RAM)
Memory Hierarchy.1 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output.
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
CSE241 L2 Datapath/Memory.1Kahng & Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Lecture 02: Datapath and Memory.
CSE241 R2 Datapath/Memory.1Kahng & Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 02: Datapath and Memory.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 23 - Subsystem.
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
Modern VLSI Design 2e: Chapter 6 Copyright  1998 Prentice Hall PTR Topics n Memories: –ROM; –SRAM; –DRAM. n PLAs.
1 Lecture 16B Memories. 2 Memories in General RAM - the predominant memory ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
55:035 Computer Architecture and Organization
Semiconductor Memories Lecture 1: May 10, 2006 EE Summer Camp Abhinav Agarwal.
EE 261 – Introduction to Logic Circuits Module #8 Page 1 EE 261 – Introduction to Logic Circuits Module #8 – Programmable Logic & Memory Topics A.Programmable.
Lecture on Electronic Memories. What Is Electronic Memory? Electronic device that stores digital information Types –Volatile v. non-volatile –Static v.
Evolution in Complexity Evolution in Transistor Count.
CPE432 Chapter 5A.1Dr. W. Abu-Sufah, UJ Chapter 5A: Exploiting the Memory Hierarchy, Part 1 Adapted from Slides by Prof. Mary Jane Irwin, Penn State University.
CPE232 Memory Hierarchy1 CPE 232 Computer Organization Spring 2006 Memory Hierarchy Dr. Gheith Abandah [Adapted from the slides of Professor Mary Irwin.
CSIE30300 Computer Architecture Unit 07: Main Memory Hsin-Chou Chi [Adapted from material by and
Review: Basic Building Blocks  Datapath l Execution units -Adder, multiplier, divider, shifter, etc. l Register file and pipeline registers l Multiplexers,
Digital Integrated Circuits Chpt. 5Lec /29/2006 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
Arithmetic Building Blocks
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Reference: Digital Integrated.
Arithmetic Building Blocks
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics Memories: –ROM; –SRAM; –DRAM; –Flash. Image sensors. FPGAs. PLAs.
Sp09 CMPEN 411 L23 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 23: Memory Cell Designs SRAM, DRAM [Adapted from Rabaey’s Digital Integrated.
EEE-445 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output Cache Main Memory Secondary Memory (Disk)
CPEN Digital System Design
Digital Logic Design Instructor: Kasım Sinan YILDIRIM
CSE477 L24 RAM Cores.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 24: RAM Cores Mary Jane Irwin ( )
ECE 300 Advanced VLSI Design Fall 2006 Lecture 19: Memories
CSE477 L23 Memories.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 23: Semiconductor Memories Mary Jane Irwin (
Computer Memory Storage Decoding Addressing 1. Memories We've Seen SIMM = Single Inline Memory Module DIMM = Dual IMM SODIMM = Small Outline DIMM RAM.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 22: Memery, ROM
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
Budapest University of Technology and Economics Department of Electron Devices Microelectronics, BSc course MOS circuits: basic construction.
Sp09 CMPEN 411 L18 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 16: Static Sequential Circuits [Adapted from Rabaey’s Digital Integrated Circuits,
CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 24: Peripheral Memory Circuits [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition,
CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 19: Adder Design
Digital Integrated Circuits 2e: Chapter Copyright  2002 Prentice Hall PTR, Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture.
Introduction to Computer Organization and Architecture Lecture 7 By Juthawut Chantharamalee wut_cha/home.htm.
CSE477 VLSI Digital Circuits Fall 2002 Lecture 20: Adder Design
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 23 Introduction Computer Specification –Instruction Set Architecture (ISA) - the specification.
CSE477 L21 Multiplier Design.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003 Rev /05/2003.
CS35101 Computer Architecture Spring 2006 Lecture 18: Memory Hierarchy Paul Durand ( ) [Adapted from M Irwin (
CSE477 L25 Memory Peripheral.1Irwin&Vijay, PSU, 2003 CSE477 VLSI Digital Circuits Fall 2003 Lecture 25: Peripheral Memory Circuits Mary Jane Irwin (
CSE431 L18 Memory Hierarchy.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 18: Memory Hierarchy Review Mary Jane Irwin (
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003.
CSE477 VLSI Digital Circuits Fall Lecture 23: Semiconductor Memories
Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
CSE477 VLSI Digital Circuits Fall 2003 Lecture 21: Multiplier Design
The Goal: illusion of large, fast, cheap memory
Mary Jane Irwin ( ) CSE477 VLSI Digital Circuits Fall 2002 Lecture 25: Peripheral Memory Circuits Mary Jane.
EE345: Introduction to Microcontrollers Memory
Mary Jane Irwin ( ) CSE477 VLSI Digital Circuits Fall 2002 Lecture 22: Shifters, Decoders, Muxes Mary Jane.
Mary Jane Irwin ( ) CSE477 VLSI Digital Circuits Fall 2003 Lecture 22: Shifters, Decoders, Muxes Mary Jane.
Digital Integrated Circuits A Design Perspective
Semiconductor Memories
Arithmetic Building Blocks
Presentation transcript:

Sp09 CMPEN 411 L21 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 21: Shifters, Decoders, Muxes [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]

Sp09 CMPEN 411 L21 S.2 Review: Basic Building Blocks  Datapath l Execution units -Adder, multiplier, divider, shifter, etc. l Register file and pipeline registers l Multiplexers, decoders  Control l Finite state machines (PLA, ROM, random logic)  Interconnect l Switches, arbiters, buses  Memory l Caches (SRAMs), TLBs, DRAMs, buffers

Sp09 CMPEN 411 L21 S.3 Parallel Programmable Shifters Data In Control Data Out Shifters used in multipliers, floating point units Consume lots of area if done in random logic gates Shift amount (Sh 2 Sh 1 Sh 0 ) Shift direction (left, right) Shift type (logical, arithmetic, circular) =

Sp09 CMPEN 411 L21 S.4 A Programmable Binary Shifter rgtnopleft AiAi A i-1 B i-1 BiBi AiAi A i-1 rgtnopleftBiBi B i-1 A1A1 A0A0 010A1A1 A0A0 A1A1 A0A0 1000A1A1 A1A1 A0A0 001A0A0 0 0

Sp09 CMPEN 411 L21 S.5 A Programmable Binary Shifter rgtnopleft AiAi A i-1 B i-1 BiBi AiAi A i-1 rgtnopleftBiBi B i-1 A1A1 A0A0 010A1A1 A0A0 A1A1 A0A0 1000A1A1 A1A1 A0A0 001A0A0 0 0

Sp09 CMPEN 411 L21 S.6 4-bit Barrel Shifter A0A0 A1A1 A2A2 A3A3 B0B0 B1B1 B2B2 B3B3 Area dominated by wiring Example: !Sh 1 !Sh 0 = 1 B 3 B 2 B 1 B 0 = A 3 A 2 A 1 A 0 !Sh 1 Sh 0 = 1 B 3 B 2 B 1 B 0 = A 3 A 3 A 2 A 1 Sh 1 !Sh 0 = 1 B 3 B 2 B 1 B 0 = A 3 A 3 A 3 A 2 Sh 1 Sh 0 = 1 B 3 B 2 B 1 B 0 = A 3 A 3 A 3 A 3 Sh 1 !Sh 0 !Sh 1 Sh 0 !Sh 1 !Sh 0 Sh 1 Sh 0 Sh 1 !Sh 0 !Sh 1 Sh 0

Sp09 CMPEN 411 L21 S.7 4-bit Barrel Shifter Layout Width barrel ~ O(N) Delay ~ 1 fet + N diff caps Width barrel Only one Sh# active at a time l Sh 1 Sh 0 Sh 1 !Sh 0 !Sh 1 Sh 0 !Sh 1 !Sh 0

Sp09 CMPEN 411 L21 S.8 Logarithmic Shifter Structure  xxx Data In Data Out shifts of 0 or 1 bits !Sh 0 Sh 0 0,1 shifts shifts of 0 or 2 bits !Sh 1 Sh 1 0,1,2,3 shifts shifts of 0 or 4 bits !Sh 2 Sh 2 0,1,2,3,4, 5,6,7 shifts shifts of 0 or 8 bits !Sh 3 Sh 3 0,1,2…15 shifts shifts of 0 or 16 bits !Sh 4 Sh 4 0,1,2…31 shifts

Sp09 CMPEN 411 L21 S.9 8-bit Logarithmic Shifter A3A3 A2A2 A1A1 A0A0 !Sh 0 Sh 0 !Sh 1 Sh 1 !Sh 2 Sh 2 B0B0 B1B1 B2B2 B3B log N stages

Sp09 CMPEN 411 L21 S.10 8-bit Logarithmic Shifter Layout Slice K = log 2 N Delay ~ K fets + 2 diff caps A0A0 B3B3 B2B2 B1B1 B0B0 A1A1 A2A2 A3A3 124

Sp09 CMPEN 411 L21 S.11 Shifter Implementation Comparisons NK BarrelLogarithmic WidthSpeedWidthSpeed 2 N p m 1 + N diffsp m (2 K +2K-1)K + 2 diffs 8316 p m p m p m p m p m p m p m p m Barrel shifter needs an K x 2 K shift amount decoder

Sp09 CMPEN 411 L21 S.12 Decoders  Decodes inputs to activate one of many outputs l In random gate logic need two inverters, four 2-input nand gates, four inverters plus enable logic l how about for a 3-to-8, 4-to-16, etc. decoder? In 0 In 1 Enable Out 0 = !In 1 & !In 0 Out 1 = !In 1 & In 0 Out 2 = In 1 & !In 0 Out 3 = In 1 & In 0 2x4

Sp09 CMPEN 411 L21 S.13 Dynamic NOR Row Decoder V DD !A 0 A0A0 !A 1 A1A1 Out 3 Out 2 Out 1 Out 0 precharge 0   0  1 on on GND

Sp09 CMPEN 411 L21 S.14 Dynamic NAND Row Decoder !A 0 A0A0 !A 1 A1A1 Out 0 precharge Out 1 Out 2 Out   1  0 on

Sp09 CMPEN 411 L21 S.15 Building Big Decoders from Small 1x2 A4A4 enable A3A3 A2A2 2x4 A1A1 A0A  0  1 Active low enable Active low output

Sp09 CMPEN 411 L21 S.16 Multiplexers  Selects one of several inputs to gate to the single output l In random gate logic need two inverters, four 3-input nands, one 4-input nand l how about for an 8x1, 16x1, etc. mux? In 0 S 1 S 0 Out = In 0 & !S 1 & !S 0 | In 1 & !S 1 & S 0 | In 2 & S 1 & !S 0 | In 3 & S 1 & S 0 In 1 In 2 In 3 4x1

Sp09 CMPEN 411 L21 S.17 Review: TG 2x1 Multiplexer GND V DD In 1 In 2 SS SS S S !S In 2 In 1 F F F = !((In 1 & S) | (In 2 & !S))

Sp09 CMPEN 411 L21 S.18 Building Big Muxes from Small A0A0 S0S0 A1A1 2x1 A2A2 A3A3 S1S1 Out 10

Sp09 CMPEN 411 L21 S.19 Memory Definitions  Size – Kbytes, Mbytes, Gbytes, Tbytes  Speed l Read Access – delay between read request and the data available l Write Access – delay between write request and the writing of the data into the memory l (Read or Write) Cycle - minimum time required between successive reads or writes Read Write Data Read Cycle Read Access Write Cycle Data Valid Write Setup Write Access Data Written

Sp09 CMPEN 411 L21 S.20 Second Level Cache (SRAM) A Typical Memory Hierarchy Control Datapath Secondary Memory (Disk) On-Chip Components RegFile Main Memory (DRAM) Data Cache Instr Cache ITLB DTLB eDRAM Speed (ns):.1’s 1’s 10’s 100’s 1,000’s Size (bytes): 100’s K’s 10K’s M’s T’s Cost: highest lowest  By taking advantage of the principle of locality, we can l present the user with as much memory as is available in the cheapest technology l at the speed offered by the fastest technology.

Sp09 CMPEN 411 L21 S.21 Random Access Read Write Memories  SRAM – Static Random Access Memory l data is stored as long as supply is applied l large cells (6 fets/cell) – so fewer bits/chip l fast – so used where speed is important (e.g., caches) l differential outputs (output BL and !BL) l use sense amps for performance l compatible with CMOS technology  DRAM - Dynamic Random Access Memory l periodic refresh required (every 1 to 4 ms) to compensate for the charge loss caused by leakage l small cells (1 to 3 fets/cell) – so more bits/chip l slower – so used for main memories l single ended output (output BL only) l need sense amps for correct operation l not typically compatible with CMOS technology

Sp09 CMPEN 411 L21 S.22 Next Lecture and Reminders  Next lecture l SRAM, DRAM, and CAM cores -Reading assignment – Rabaey, et al,