Copyright © 2001 Stephen A. Edwards All rights reserved Review of Digital Logic Prof. Stephen A. Edwards.

Slides:



Advertisements
Similar presentations
1 A latch is a pair of cross-coupled inverters –They can be NAND or NOR gates as shown –Consider their behavior (each step is one gate delay in time) –From.
Advertisements

Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Give qualifications of instructors: DAP
CS 151 Digital Systems Design Lecture 19 Sequential Circuits: Latches.
Digital Logic Chapter 5 Presented by Prof Tim Johnson
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
1 Lecture 20 Sequential Circuits: Latches. 2 Overview °Circuits require memory to store intermediate data °Sequential circuits use a periodic signal to.
Digital Logic Circuits (Part 2) Computer Architecture Computer Architecture.
Circuits require memory to store intermediate data
LOGIC GATES ADDERS FLIP-FLOPS REGISTERS Digital Electronics Mark Neil - Microprocessor Course 1.
Synchronous Digital Design Methodology and Guidelines
Clock Design Adopted from David Harris of Harvey Mudd College.
Chapter 10. Memory, CPLDs, and FPGAs
2-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Fundamentals of Digital.
L14 – Memory 1 Comp 411 – Spring /18/08 Memory, Latches, & Registers 1) Structured Logic Arrays 2) Memory Arrays 3) Transparent Latches 4) How to.
Sequential Logic 1  Combinational logic:  Compute a function all at one time  Fast/expensive  e.g. combinational multiplier  Sequential logic:  Compute.
Chapter 4 Gates and Circuits.
Modern VLSI Design 2e: Chapter 5 Copyright  1998 Prentice Hall PTR Topics n Memory elements. n Basics of sequential machines.
Informationsteknologi Friday, October 19, 2007Computer Architecture I - Class 81 Today’s class Digital Logic.
Computer ArchitectureFall 2008 © August 20 th, Introduction to Computer Architecture Lecture 2 – Digital Logic Design.
Chapter #6: Sequential Logic Design 6.2 Timing Methodologies
Contemporary Logic Design Sequential Logic © R.H. Katz Transparency No Chapter #6: Sequential Logic Design Sequential Switching Networks.
CS61C L15 Synchronous Digital Systems (1) Beamer, Summer 2007 © UCB Scott Beamer, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Digital Logic Level.
16/07/2015CSE1303 Part B lecture notes 1 Hardware Implementation Lecture B17 Lecture notes section B17.
Chapter 4 Gates and Circuits. 4–2 Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors.
Some Useful Circuits Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Chapter 4 Gates and Circuits.
COE 202: Digital Logic Design Sequential Circuits Part 1
EE4OI4 Engineering Design Programmable Logic Technology.
Introduction to Computing Systems from bits & gates to C & beyond Chapter 3 Digital Logic Structures Transistors Logic gates & Boolean logic Combinational.
Introduction to Computing Systems from bits & gates to C & beyond Chapter 3 Digital Logic Structures Transistors Logic gates & Boolean logic Combinational.
Digital Logic Design Review Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office: Ahmad Almulhem, KFUPM 2010.
Basic digital logic J. Christiansen, CERN - EP/MIC
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n Latches and flip-flops. n RAMs and ROMs.
ENG241 Digital Design Week #6 Sequential Circuits (Part A)
Computer Organization and Design Memories and State Machines Montek Singh Mon, April 13, 2011 Lecture 14.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits II.
Instructor: Alexander Stoytchev CprE 281: Digital Logic.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Registers Page 1. Page 2 What is a Register?  A Register is a collection of flip-flops with some common function or characteristic  Control signals.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
MicroComputer Engineering DigitalCircuits slide 1 Combinational circuits Changes at inputs propagate at logic speed to outputs Not clocked No internal.
Computer Organization and Design Memories and State Machines Montek Singh Wed, Nov 6-11, 2013 Lecture 13.
CS 61C L4.1.2 State (1) K. Meinz, Summer 2004 © UCB CS61C : Machine Structures Lecture State and FSMs Kurt Meinz inst.eecs.berkeley.edu/~cs61c.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
CO5023 Latches, Flip-Flops and Decoders. Sequential Circuit What does this do? The OUTPUT of a sequential circuit is determined by the current output.
Introduction to Computing Systems and Programming Digital Logic Structures.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Latches, Flip Flops, and Memory ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin – Madison.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 20: October 25, 2010 Pass Transistors.
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
Copyright © 2001 Stephen A. Edwards All rights reserved Busses  Wires sometimes used as shared communication medium  Think “party-line telephone”  Bus.
Class Exercise 1B.
REGISTER TRANSFER LANGUAGE (RTL)
Appendix B The Basics of Logic Design
Basics of digital systems
ECE Digital logic Lecture 16: Synchronous Sequential Logic
Digital Logic Structures Logic gates & Boolean logic
The Digital Logic Level
CSE 370 – Winter Sequential Logic - 1
Digital Circuits and Logic
SEQUENTIAL CIRCUITS __________________________________________________
Presentation transcript:

Copyright © 2001 Stephen A. Edwards All rights reserved Review of Digital Logic Prof. Stephen A. Edwards

Copyright © 2001 Stephen A. Edwards All rights reserved Synchronous Digital Logic Systems  Raw materials: CMOS transistors and wires on ICs  Wires are excellent conveyors of voltage Little leakage Fast, but not instantaneous propagation Many orders of magnitude more conductive than glass  CMOS transistors are reasonable switches Finite, mostly-predictable switching times Nonlinear transfer characteristics Voltage gain is in the 100s

Copyright © 2001 Stephen A. Edwards All rights reserved Philosophy  Have to deal with unpredictable voltages and unpredictable delays  Digital: discretize values to avoid voltage noise Only use two values Voltages near these two are “snapped” to remove noise  Synchronous: discretize time to avoid time noise Use a global, periodic clock Values that become valid before the clock are ignored until the clock arrives

Copyright © 2001 Stephen A. Edwards All rights reserved Combinational Logic

Copyright © 2001 Stephen A. Edwards All rights reserved Combinational Logic  Boolean Logic Gates Inverter A Y AND AB Y OR AB Y XOR AB Y

Copyright © 2001 Stephen A. Edwards All rights reserved A Full Adder  Typical example of building a more complex function A B Cin S Cout A B Cin Cout S

Copyright © 2001 Stephen A. Edwards All rights reserved Most Basic Computational Model  Every gate is continuously looking at its inputs and instantaneously setting its outputs accordingly  Values are communicated instantly from gate outputs to inputs A B C A B C Timing Diagram All three switch at exactly the same time

Copyright © 2001 Stephen A. Edwards All rights reserved Delays  Real implementations are not quite so perfect  Computation actually takes some time  Communication actually takes some time A B C A B C Timing Diagram

Copyright © 2001 Stephen A. Edwards All rights reserved Delays  Delays are often partially unpredictable  Usually modeled with a minimum and maximum A B C A B C Timing Diagram

Copyright © 2001 Stephen A. Edwards All rights reserved Busses  Wires sometimes used as shared communication medium  Think “party-line telephone”  Bus drivers may elect to set the value on a wire or let some other driver set that value  Electrically disastrous if two drivers “fight” over the value on the bus

Copyright © 2001 Stephen A. Edwards All rights reserved Implementing Busses  Basic trick is to use a “tri-state” driver  Data input and output enable OE D Q Shared bus  When driver wants to send values on the bus, OE = 1 and D contains the data  When driver wants to listen and let some other driver set the value, OE = 0 and Q returns the value

Copyright © 2001 Stephen A. Edwards All rights reserved Four-Valued Simulation  Wires in digital logic often modeled with four values 0, 1, X, Z  X represents an unknown state State of a latch or flip-flop when circuit powers up Result of two gates trying to drive wire to 0 and 1 simultaneously Output of flip-flop when setup or hold time violated Output of a gate reading an “X” or “Z”  Z represents an undriven state Value on a shared bus when no driver is output- enabled

Copyright © 2001 Stephen A. Edwards All rights reserved Sequential Logic and Timing

Copyright © 2001 Stephen A. Edwards All rights reserved Sequential Logic  Simply computing functions usually not enough  Want more time-varying behavior  Common model: combinational logic with state- holding elements Combinational logic InputsOutputs State-holding elements Clock Input

Copyright © 2001 Stephen A. Edwards All rights reserved State Machines  Common use of state-holding elements  Idea: machine may go to a new state in each cycle  Output and next state dependent on present state  E.g., a four-counter C’ / 0 C / 1 C’ / 1 C’ / 2 C / 2 C / 3 C’ / 3 C / 0

Copyright © 2001 Stephen A. Edwards All rights reserved Latches & Flip-Flops  Two common types of state-holding elements  Latch Level-sensitive Transparent when clock is high Holds last value when clock is low Cheap to implement Somewhat unwieldy to design with  Flip-flop Edge-sensitive Always holds value New value sampled when clock transitions from 0 to 1 More costly to implement Much easier to design with

Copyright © 2001 Stephen A. Edwards All rights reserved Latches & Flip-Flops  Timing diagrams for the two common types: Clk DQ DQ D Latch Flip- Flop

Copyright © 2001 Stephen A. Edwards All rights reserved RAMs  Another type of state-holding element  Addressable memory  Good for storing data like a von Neumann program Data In Address Read Write Data Out

Copyright © 2001 Stephen A. Edwards All rights reserved RAMs  Write cycle Present Address, data to be written Raise and lower write input  Read cycle Present Address Raise read Contents of address appears on data out Data In Address Read Write Data Out

Copyright © 2001 Stephen A. Edwards All rights reserved Setup & Hold Times  Flip-flops and latches have two types of timing requirements:  Setup time D input must be stable some time before the clock arrives  Hold time D input must remain stable some time after the clock has arrived

Copyright © 2001 Stephen A. Edwards All rights reserved Setup & Hold Times  For a flip-flop (edge-sensitive) D Clk Setup time: D must not change here Hold time: D must not change here

Copyright © 2001 Stephen A. Edwards All rights reserved Synchronous System Timing  Budgeting time in a typical synchronous design Clock period Clock skew Clk to D delay Slowest logical path Setup Time Clock skew

Copyright © 2001 Stephen A. Edwards All rights reserved Digital Systems

Copyright © 2001 Stephen A. Edwards All rights reserved Typical System Architecture  Most large digital systems consist of  Datapath Arithmetic units (adders, multipliers) Data-steering (multiplexers)  Memory Places to store data across clock cycles Memories, register files, etc.  Control Interacting finite state machines Direct how the data moves through the datapath

Copyright © 2001 Stephen A. Edwards All rights reserved Typical System Architecture  Primitive datapath plus controller RegistersMemory Controller Shared Bus Read/Write Addr. Reg. Latch Operation Result

Copyright © 2001 Stephen A. Edwards All rights reserved Implementing Digital Logic  Discrete logic chips NAND gates four to a chip and wire them up (e.g., TTL)  Programmable Logic Arrays (PLAs) Program a chip containing ANDs feeding big OR gates  Field-Programmable Gate Arrays (FPGAs) Program lookup tables and wiring routes  Application-Specific Integrated Circuit (ASICs) Feed a logic netlist to a synthesis system Generate masks and hire someone to build the chip  Full-custom Design Draw every single wire and transistor yourself Hire someone to fabricate the chip or be Intel

Copyright © 2001 Stephen A. Edwards All rights reserved Implementing Digital Logic  Discrete logic is dead Too many chips needed compared to other solutions  PLAs Nice predicable timing, but small and limited  FPGAs High levels of integration, very convenient Higher power and per-unit cost than ASICs and custom  ASICs Very high levels of integration, costly to design Low power, low per-unit cost, but huge initial cost  Full Custom Only cost-effective for very high-volume parts E.g., Intel microprocessors

Copyright © 2001 Stephen A. Edwards All rights reserved Digital Logic in Embedded Systems  Low-volume products (1000s or less) typically use FPGAs  High-volume products usually use ASICs  Non-custom logic usually implemented using application-specific standard parts Chipsets Graphics controllers PCI bus controllers USB controllers Ethernet interfaces