Introduction to Computer Engineering. CS/ECE 252, Spring 2013 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison

Similar documents
RAM & ROM Based Digital Design. ECE 152A Winter 2012

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Chapter 2 Logic Gates and Introduction to Computer Architecture

Gates, Circuits, and Boolean Algebra

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

Memory Elements. Combinational logic cannot remember

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

Sequential Logic Design Principles.Latches and Flip-Flops

Let s put together a Manual Processor

Flip-Flops, Registers, Counters, and a Simple Processor

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Take-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

Sequential Circuit Design

Lecture 8: Synchronous Digital Systems

CHAPTER 3 Boolean Algebra and Digital Logic

FORDHAM UNIVERSITY CISC Dept. of Computer and Info. Science Spring, Lab 2. The Full-Adder

Lecture 5: Gate Logic Logic Optimization

CS311 Lecture: Sequential Circuits

(Refer Slide Time: 00:01:16 min)

CHAPTER 11: Flip Flops

Digital Electronics Detailed Outline

So far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs.

BINARY CODED DECIMAL: B.C.D.

Digital Electronics Part I Combinational and Sequential Logic. Dr. I. J. Wassell

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012

Figure 8-1 Four Possible Results of Adding Two Bits

Lecture 12: More on Registers, Multiplexers, Decoders, Comparators and Wot- Nots

7. Latches and Flip-Flops

Systems I: Computer Organization and Architecture

Layout of Multiple Cells

Memory Basics. SRAM/DRAM Basics

Memory Systems. Static Random Access Memory (SRAM) Cell

Programming Logic controllers

Upon completion of unit 1.1, students will be able to

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 5. LECTURE: REGISTERS AND RELATED

Homework # 2. Solutions. 4.1 What are the differences among sequential access, direct access, and random access?

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

Fundamentals of Digital Electronics

CHAPTER 11 LATCHES AND FLIP-FLOPS

The Central Processing Unit:

Copyright Peter R. Rony All rights reserved.

Operating Manual Ver.1.1

COMBINATIONAL CIRCUITS

3.Basic Gate Combinations

Lecture 10 Sequential Circuit Design Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

Binary Adders: Half Adders and Full Adders

2.0 Chapter Overview. 2.1 Boolean Algebra

Binary full adder. 2-bit ripple-carry adder. CSE 370 Spring 2006 Introduction to Digital Design Lecture 12: Adders

Engr354: Digital Logic Circuits

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Module 3: Floyd, Digital Fundamental

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

Counters and Decoders

MICROPROCESSOR AND MICROCOMPUTER BASICS

Microprocessor & Assembly Language

WEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1

DEPARTMENT OF INFORMATION TECHNLOGY

CS 61C: Great Ideas in Computer Architecture Finite State Machines. Machine Interpreta4on

Introduction to CMOS VLSI Design

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Lecture 10: Sequential Circuits

The components. E3: Digital electronics. Goals:

ANALOG & DIGITAL ELECTRONICS

Combinational Logic Design

PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1

[ 4 ] Logic Symbols and Truth Table

CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012

CpE358/CS381. Switching Theory and Logical Design. Class 4

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

CHAPTER 7: The CPU and Memory

Lesson 12 Sequential Circuits: Flip-Flops

Sequential Circuits. Combinational Circuits Outputs depend on the current inputs

Handout 17. by Dr Sheikh Sharif Iqbal. Memory Unit and Read Only Memories

Programmable Logic Controller PLC

Lecture 11: Sequential Circuit Design

NAME AND SURNAME. TIME: 1 hour 30 minutes 1/6

Computer Systems Structure Main Memory Organization

2 : BISTABLES. In this Chapter, you will find out about bistables which are the fundamental building blocks of electronic counting circuits.

Digital Logic Elements, Clock, and Memory Elements

EE360: Digital Design I Course Syllabus

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

Lab 1: Full Adder 0.0

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

ECE124 Digital Circuits and Systems Page 1

CSE140 Homework #7 - Solution

Contents COUNTER. Unit III- Counters

Gates & Boolean Algebra. Boolean Operators. Combinational Logic. Introduction

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

DIGITAL-TO-ANALOGUE AND ANALOGUE-TO-DIGITAL CONVERSION

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute

BOOLEAN ALGEBRA & LOGIC GATES

Jianjian Song LogicWorks 4 Tutorials (5/15/03) Page 1 of 14

Transcription:

Introduction to Computer Engineering CS/ECE 252, Spring 2013 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison

Chapter 3 Digital Logic Structures Slides based on set prepared by Gregory T. Byrd, North Carolina State University

Transistor: Building Block of Computers Microprocessors contain millions of transistors Intel Pentium II: 7 million Compaq Alpha 21264: 15 million Intel Pentium III: 28 million Logically, each transistor acts as a switch Combined to implement logic functions AND, OR, NOT Combined to build higher-level structures Adder, multiplexer, decoder, register, Combined to build processor LC-3 3-3

Simple Switch Circuit Switch open: No current through circuit Light is off V out is +2.9V Switch closed: Short circuit across switch Current flows Light is on V out is 0V Switch-based circuits can easily represent two states: on/off, open/closed, voltage/no voltage. 3-4

N-type MOS Transistor MOS = Metal Oxide Semiconductor two types: N-type and P-type N-type when Gate has positive voltage, short circuit between #1 and #2 (switch closed) when Gate has zero voltage, open circuit between #1 and #2 (switch open) Gate = 1 Gate = 0 Terminal #2 must be connected to GND (0V). 3-5

P-type MOS Transistor P-type is complementary to N-type when Gate has positive voltage, open circuit between #1 and #2 (switch open) when Gate has zero voltage, short circuit between #1 and #2 (switch closed) Gate = 1 Gate = 0 Terminal #1 must be connected to +2.9V. 3-6

Logic Gates Use switch behavior of MOS transistors to implement logical functions: AND, OR, NOT. Digital symbols: recall that we assign a range of analog voltages to each digital (logic) symbol assignment of voltage ranges depends on electrical properties of transistors being used typical values for "1": +5V, +3.3V, +2.9V, +1.1V for purposes of illustration, we'll use +2.9V 3-7

CMOS Circuit Complementary MOS Uses both N-type and P-type MOS transistors P-type Attached to + voltage Pulls output voltage UP when input is zero N-type Attached to GND Pulls output voltage DOWN when input is one For all inputs, make sure that output is either connected to GND or to +, but not both! 3-8

Inverter (NOT Gate) Truth table In Out 0 V 2.9 V 2.9 V 0 V In Out 0 1 1 0 3-9

NOR Gate Note: Serial structure on top, parallel on bottom. A B C 0 0 1 0 1 0 1 0 0 1 1 0 3-10

OR Gate A B C 0 0 0 0 1 1 1 0 1 1 1 1 Add inverter to NOR. 3-11

NAND Gate (AND-NOT) Note: Parallel structure on top, serial on bottom. A B C 0 0 1 0 1 1 1 0 1 1 1 0 3-12

AND Gate A B C 0 0 0 0 1 0 1 0 0 1 1 1 Add inverter to NAND. 3-13

Basic Logic Gates 3-14

More than 2 Inputs? AND/OR can take any number of inputs. AND = 1 if all inputs are 1. OR = 1 if any input is 1. Similar for NAND/NOR. Can implement with multiple two-input gates, or with single CMOS circuit. 3-15

Practice Implement a 3-input NOR gate with CMOS. 3-16

Logical Completeness Can implement ANY truth table with AND, OR, NOT. A B C D 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 1. AND combinations that yield a "1" in the truth table. 2. OR the results of the AND gates. 3-17

Practice Implement the following truth table. A B C 0 0 0 0 1 1 1 0 1 1 1 0 3-18

DeMorgan's Law Converting AND to OR (with some help from NOT) Consider the following gate: A B A B A B A B 0 0 1 1 1 0 0 1 1 0 0 1 To convert AND to OR (or vice versa), invert inputs and output. 1 0 0 1 0 1 1 1 0 0 0 1 Same as A+B! 3-19

Summary MOS transistors are used as switches to implement logic functions. N-type: connect to GND, turn on (with 1) to pull down to 0 P-type: connect to +2.9V, turn on (with 0) to pull up to 1 Basic gates: NOT, NOR, NAND Logic functions are usually expressed with AND, OR, and NOT Properties of logic gates Completeness can implement any truth table with AND, OR, NOT DeMorgan's Law convert AND to OR by inverting inputs and output 3-20

Building Functions from Logic Gates We've already seen how to implement truth tables using AND, OR, and NOT -- an example of combinational logic. Combinational Logic Circuit output depends only on the current inputs stateless Sequential Logic Circuit output depends on the sequence of inputs (past and present) stores information (state) from past inputs We'll first look at some useful combinational circuits, then show how to use sequential circuits to store information. 3-21

Decoder n inputs, 2 n outputs exactly one output is 1 for each possible input pattern 2-bit decoder 3-22

Multiplexer (MUX) n-bit selector and 2 n inputs, one output output equals one of the inputs, depending on selector 4-to-1 MUX 3-23

Full Adder Add two bits and carry-in, produce one-bit sum and carry-out. A B C in S C out 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 3-24

Four-bit Adder 3-25

Combinational vs. Sequential Combinational Circuit always gives the same output for a given set of inputs ex: adder always generates sum and carry, regardless of previous inputs Sequential Circuit stores information output depends on stored information (state) plus input so a given input might produce different outputs, depending on the stored information example: ticket counter advances when you push the button output depends on previous state useful for building memory elements and state machines 3-26

R-S Latch: Simple Storage Element R is used to reset or clear the element set it to zero. S is used to set the element set it to one. 1 1 0 1 1 1 0 1 0 0 0 1 1 1 If both R and S are one, out could be either zero or one. quiescent state -- holds its previous value note: if a is 1, b is 0, and vice versa 3-27

Clearing the R-S latch Suppose we start with output = 1, then change R to zero. 1 0 1 1 1 1 0 0 Output changes to zero. 1 1 0 1 0 0 1 0 Then set R=1 to store value in quiescent state. 3-28

Setting the R-S Latch Suppose we start with output = 0, then change S to zero. 1 1 0 0 1 1 Output changes to one. 0 0 1 1 1 0 Then set S=1 to store value in quiescent state. 3-29

R-S Latch Summary R = S = 1 hold current value in latch S = 0, R=1 set value to 1 R = 0, S = 1 set value to 0 R = S = 0 both outputs equal one final state determined by electrical properties of gates Don t do it! 3-30

Gated D-Latch Two inputs: D (data) and WE (write enable) when WE = 1, latch is set to value of D S = NOT(D), R = D when WE = 0, latch holds previous value S = R = 1 3-31

Register A register stores a multi-bit value. We use a collection of D-latches, all controlled by a common WE. When WE=1, n-bit value D is written to register. 3-32

Representing Multi-bit Values Number bits from right (0) to left (n-1) just a convention -- could be left to right, but must be consistent Use brackets to denote range: D[l:r] denotes bit l to bit r, from left to right 15 A = 0101001101010101 0 A[14:9] = 101001 A[2:0] = 101 May also see A<14:9>, especially in hardware block diagrams. 3-33

Memory Now that we know how to store bits, we can build a memory a logical k m array of stored bits. Address Space: number of locations (usually a power of 2) k = 2 n locations Addressability: number of bits per location (e.g., byte-addressable) m bits 3-34

2 2 x 3 Memory address word select word WE input bits write enable address decoder output bits 3-35

More Memory Details This is a not the way actual memory is implemented. fewer transistors, much more dense, relies on electrical properties But the logical structure is very similar. address decoder word select line word write enable Two basic kinds of RAM (Random Access Memory) Static RAM (SRAM) fast, maintains data without power Dynamic RAM (DRAM) slower but denser, bit storage must be periodically refreshed Also, non-volatile memories: ROM, PROM, flash, 3-36

State Machine Another type of sequential circuit Combines combinational logic with storage Remembers state, and changes output (and state) based on inputs and current state State Machine Inputs Combinational Logic Circuit Outputs Storage Elements 3-37

Combinational vs. Sequential Two types of combination locks 4 1 8 4 25 20 30 15 5 10 Combinational Success depends only on the values, not the order in which they are set. Sequential Success depends on the sequence of values (e.g, R-13, L-22, R-3). 3-38

State The state of a system is a snapshot of all the relevant elements of the system at the moment the snapshot is taken. Examples: The state of a basketball game can be represented by the scoreboard. Number of points, time remaining, possession, etc. The state of a tic-tac-toe game can be represented by the placement of X s and O s on the board. 3-39

State of Sequential Lock Our lock example has four different states, labelled A-D: A: The lock is not open, and no relevant operations have been performed. B: The lock is not open, and the user has completed the R-13 operation. C: The lock is not open, and the user has completed R-13, followed by L-22. D: The lock is open. 3-40

State Diagram Shows states and actions that cause a transition between states. 3-41

Finite State Machine A description of a system with the following components: 1. A finite number of states 2. A finite number of external inputs 3. A finite number of external outputs 4. An explicit specification of all state transitions 5. An explicit specification of what causes each external output value. Often described by a state diagram. Inputs may cause state transitions. Outputs are associated with each state (or with each transition). 3-42

The Clock Frequently, a clock circuit triggers transition from one state to the next. 1 0 One Cycle time At the beginning of each clock cycle, state machine makes a transition, based on the current state and the external inputs. Not always required. In lock example, the input itself triggers a transition. 3-43

Implementing a Finite State Machine Combinational logic Determine outputs and next state. Storage elements Maintain state representation. State Machine Inputs Combinational Logic Circuit Outputs Clock Storage Elements 3-44

Storage: Master-Slave Flipflop A pair of gated D-latches, to isolate next state from current state. During 1 st phase (clock=1), previously-computed state becomes current state and is sent to the logic circuit. During 2 nd phase (clock=0), next state, computed by logic circuit, is stored in Latch A. 3-45

Storage Each master-slave flipflop stores one state bit. The number of storage elements (flipflops) needed is determined by the number of states (and the representation of each state). Examples: Sequential lock Four states two bits Basketball scoreboard 7 bits for each score, 5 bits for minutes, 6 bits for seconds, 1 bit for possession arrow, 1 bit for half, 3-46

Complete Example A blinking traffic sign No lights on 1 & 2 on 1, 2, 3, & 4 on 1, 2, 3, 4, & 5 on 1 3 4 5 (repeat as long as switch is turned on) 2 DANGER MOVE RIGHT 3-47

Traffic Sign State Diagram Switch off Switch on State bit S 1 State bit S 0 Outputs Transition on each clock cycle. 3-48

Traffic Sign Truth Tables Outputs (depend only on state: S 1 S 0 ) Next State: S 1 S 0 (depend on state and input) S 1 S 0 Z Y X 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 Lights 1 and 2 Lights 3 and 4 Light 5 Switch Whenever In=0, next state is 00. In S 1 S 0 S 1 S 0 0 X X 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 3-49

Traffic Sign Logic Master-slave flipflop 3-50

From Logic to Data Path The data path of a computer is all the logic used to process information. See the data path of the LC-2 on next slide. Combinational Logic Decoders -- convert instructions into control signals Multiplexers -- select inputs and outputs ALU (Arithmetic and Logic Unit) -- operations on data Sequential Logic State machine -- coordinate control signals and data movement Registers and latches -- storage elements 3-51

LC-2/LC-3 Data Path 3-52