Music. Numbers correspond to course weeks EULA ESE150 Spring click OK Based on slides DeHon 1. !

Similar documents
Music. Numbers correspond to course weeks EULA ESE150 Spring click OK Based on slides DeHon 1

PRECLASS 1 MULTIPLE TASKS. Ò We could. Ò How many would we need? Ò Maybe. É Need dozen processors for our Phone

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

structure syntax different levels of abstraction

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

CS140 Lecture 03: The Machinery of Computation: Combinational Logic

ECE 2030D Computer Engineering Spring problems, 5 pages Exam Two 8 March 2012

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

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

! Where are we on course map? ! Networks. " Communicating Between Machines. " Bandwidth Requirements

Question Total Possible Test Score Total 100

Digital Design with FPGAs. By Neeraj Kulkarni

ECE 2030B 1:00pm Computer Engineering Spring problems, 5 pages Exam Two 10 March 2010

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4]

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.

ECE 331: N0. Professor Andrew Mason Michigan State University. Opening Remarks

Computer Architecture: Part III. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University

R a) Simplify the logic functions from binary to seven segment display code converter (8M) b) Simplify the following using Tabular method

3. The high voltage level of a digital signal in positive logic is : a) 1 b) 0 c) either 1 or 0

Topics. Midterm Finish Chapter 7

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

CS 61C Summer 2012 Discussion 11 State, Timing, and CPU (Solutions)

discrete logic do not

/90 TOTAL. 1(a) 8pts. fiv(a,b) is called the function.

Continuing with whatever we saw in the previous lectures, we are going to discuss or continue to discuss the hardwired logic design.

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

The QR code here provides a shortcut to go to the course webpage.

Scheme G. Sample Test Paper-I

ESE 150 Lab 07: Digital Logic

Arithmetic-logic units

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

MEMORY AND PROGRAMMABLE LOGIC

EE 3170 Microcontroller Applications

Digital Logic Design Exercises. Assignment 1

Register Transfer and Micro-operations

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

problem maximum score 1 10pts 2 8pts 3 10pts 4 12pts 5 7pts 6 7pts 7 7pts 8 17pts 9 22pts total 100pts

Injntu.com Injntu.com Injntu.com R16

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Reference Sheet for C112 Hardware

ESE532: System-on-a-Chip Architecture. Today. Message. Graph Cycles. Preclass 1. Reminder

IT T35 Digital system desigm y - ii /s - iii

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

QUESTION BANK FOR TEST

IA Digital Electronics - Supervision I

PROGRAMMABLE LOGIC DEVICES

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Chapter 4. Combinational Logic

von Neumann Architecture Basic Computer System Early Computers Microprocessor Reading Assignment An Introduction to Computer Architecture

Basic Computer System. von Neumann Architecture. Reading Assignment. An Introduction to Computer Architecture. EEL 4744C: Microprocessor Applications

Code No: 07A3EC03 Set No. 1

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

CS 261 Fall Mike Lam, Professor. Combinational Circuits

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT

END-TERM EXAMINATION

EECS 270 Midterm Exam

Combinational Logic II

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

Digital Fundamentals. Lab 6 2 s Complement / Digital Calculator

Finite State Machines

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

CS429: Computer Organization and Architecture

Systems Architecture I

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition

Code No: R Set No. 1

Synthesizable Verilog

Lecture 32: SystemVerilog

Homework deadline extended to next friday

Principles of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system.

Code No: R Set No. 1

Code No: R Set No. 1

Lec-6-HW-2-digitalDesign

This content has been downloaded from IOPscience. Please scroll down to see the full text.

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

register:a group of binary cells suitable for holding binary information flip-flops + gates

Logic Design (Part 2) Combinational Logic Circuits (Chapter 3)

Written exam for IE1204/5 Digital Design Thursday 29/

R10. II B. Tech I Semester, Supplementary Examinations, May

Lecture 21: Combinational Circuits. Integrated Circuits. Integrated Circuits, cont. Integrated Circuits Combinational Circuits

EEL 4783: Hardware/Software Co-design with FPGAs

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

ESE534 Computer Organization. Previously. Today. Spatial Programmable. Spatially Programmable. Needs?

Digital Electronics & Computer Engineering (E85)

PINE TRAINING ACADEMY

4. Write a sum-of-products representation of the following circuit. Y = (A + B + C) (A + B + C)

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.

L11: Major/Minor FSMs

CO Computer Architecture and Programming Languages CAPL. Lecture 9

Final Exam Solution Sunday, December 15, 10:05-12:05 PM

CSC 220: Computer Organization Unit 10 Arithmetic-logic units

Transcription:

MIC Lecture #7 Digital Logic Music 1 Numbers correspond to course weeks sample EULA D/A 10101001101 click OK Based on slides 2009--2018 speaker MP Player / iphone / Droid DeHon 1 2 A/D domain conversion freq 2 4 10101001101 5,6 pyschoacoustics compress DFT Identify Masking Huffman encoding Huffman Decode IDFT! How do we build a machine to perform these operations? " From Digital Samples! compressed digital data! Digital Samples! Down to bottom " If we can build one kind of primitive element, # and connect together large collections of them " can build a machine to perform any digital computation! Setup! Where are we?! Combinational Logic! Sequential Logic! FPGAs! Next Lab 4 7,8,9 10101001101 MIC A/D CPU File- System 10 MIC A/D 10101 D Q 10101001101 NIC Music 1 EULA click OK 1 Numbers correspond to course weeks sample speaker domain conversion freq 2 4 D/A 5,6 pyschoacoustics compress NIC 11 MP Player / iphone / Droid 12 5 Music EULA click OK 1 Numbers correspond to course weeks sample speaker domain conversion freq 2 4 D/A 5,6 pyschoacoustics compress 10101001101 MP Player / iphone / Droid 6 1

! Primitive binary function " Computes a binary output from a small number of binary inputs! Can specify function with a Truth Table " Defines the output for each input combination Input 0 Input 1 Output 0 0 0 1 1 0 1 1 7 8! AND " Output is 1 (true) when all inputs are 1 (true)! Not " Output is opposite of input Input 0 Input 1 AND 0 0 0 0 1 0 1 0 0 1 1 1 input NOT 0 1 1 0 9 10! OR " Output is 1 (true) when any input is 1 (true) " (fillin truth table for OR)! Can compute any Boolean Function from AND, OR, NOT " (actually from NAND) Input 0 Input 1 OR 0 0 0 1 1 0 1 1 11 12 2

! Compute some function " f(i 0,i 1, i n ) o 0,o 1, o m! AND " Output is 1 (true) when all inputs are 1 (true)! How built n-input AND from AND2 gates?! Each unique input vector " implies a particular, deterministic, output vector 1 14! OR " Output is 1 (true) when any input is 1 (true)! How build n-input OR from OR2?! How can we create an expression that is true for a specific input case? " E.g. have a function of 4 inputs: a, b, c, d! How many potential values for a, b, c, d? " Rows in our truth table! Give one example of values for a, b, c, d?! How create an expression that is true for that case? 15 16! Given have logic to implement each input case! How implement entire function?! What do you do if your Digital Function needs multiple output bits? a b c F(a,b,c) 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 17 18

! Start with truth table! Single output {0, 1} " Use inverters to produce complements of inputs " For each input case # If output is a 1 $ Develop an AND to detect that case % Decompose AND into gates " OR together the output of all such AND functions # Decompose OR into gates! Multiple outputs " Repeat for each output! Can implement any combinational logic function out of a collection of " OR2, AND2, NOT gates This solution won t typically be the smallest or fastest 19 20! NAND = NOT AND " Output is 0 (true) when all inputs are 1 (true); 0 otherwise Input 0 Input 1 NAND 0 0 1 0 1 1 1 0 1 1 1 0! Can implement " AND2 from NAND2 " NOT from NAND2 " OR2 from NAND2! Can implement any combinational logic function out of a collection of " OR2, AND2, NOT gates! Therefore: Can implement any combinational logic function out of a collection of NAND2 gates 21 22 S! MUX " When S=0, output= " When S=1, output= S Mux2(S,,) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Truth Table? AND, OR, NOT Implementation?! Addition is also a digital logic function " Maps set of inputs (a a2 a1 a0 b b2 b1 b0) " To an output bit vector (c4 c c2 c1 c0)! as is subtraction, multiplication, division, square root. 2 24 4

! Adds inputs to produce 2b output " Can produce truth table and logic (Lab) a b c! Given Full Adders " Can build N-bit adder by connecting N full adders b a b2 a2 b1 a1 b0 a0 0 carry sum c4 c c2 c1 c0 25 26 S! What happens when S=0?! What happens when S=1? 27 28 S! Element that can hold a previous value of an input S! Assuming doesn t change what happens when S goes from 0 to 1? Input Latch Output Hold 29 0 5

! Use a pair to create a flip-flop " Also call register! Sample D input on 0!1 transition of clock (CLK)! Never an open path from D!Q " One of the mux latches always in hold state D CLK D CLK Q Q! Latch or Register is a state element! Allows circuit to remember a value CLK! Build computations that " Depend on past inputs D " Reuse hardware in time Q CLK D Q 1 2! What does this do? i i2! while (true) " a=a+getinput(); i i2 0! Accumulates input values i " Integration or summation 0 a a2 a1 a0 a a2 a1 a0 4! Useful when trying to control things " E.g. Perform a sequence of operations! Robot " Open-gripper " Move-forward " Close-gripper " Lift! Useful when need to behave differently based on something in the past " Remember if elevator going up or down " Remember/count coins from consumer " Remember some mode set by user # Displaying in Centigrade or Fahrenheit! Idea " Store state " Use as input to logic 5 6 6

! Sequential model of computation! State (in registers) + combinational logic! Compute outputs and next state from inputs and state Inputs Outputs! Simplified Vending Machine " Only input quarters " Only vend one item (output signal to indicate vending) " Item costs 2 quarters " Coin Return request and control State Combinational Logic Next State! Two states: waiting, one-quarter (one)! Two inputs: quarter, coin-return (creturn)! Two outputs: vend, return-quarter (qreturn) 7 8 Inputs Outputs Combinational Logic Next State State state quarter creturn vend qreturn next waiting 0 0 0 0 waiting waiting 0 1 0 0 waiting waiting 1 0 0 0 one waiting 1 1 0 1 waiting one 0 0 0 0 one one 0 1 0 1 waiting one 1 0 1 0 waiting one 1 1 0 1 one! While (true)! switch (state) {! case waiting:! if (quarter &&!creturn)! state=one;! else! state=waiting;! qreturn=quarter && creturn;! vend=0;! break; 9 40! case one:! if ((quarter &&!creturn)! (!quarter&&creturn))! state=waiting;! else! state=one;! qreturn=creturn;! vend=quarter&&!creturn;! break;! } // switch! } // while!quarter/ vend=0, qreturn=0 quarter&!creturn/ vend=1, qreturn=0!quarter&!creturn/ vend=0, qreturn=0 waiting quarter&!creturn/ vend=0, qreturn=0 one quarter&creturn/ vend=0, qreturn=1!quarter&creturn/ vend=0, qreturn=1!quarter&!creturn/ vend=0, qreturn=0 41 42 7

! Programmable Gate " Can be programmed to act as any gate " Use state (e.g. ) to program truth table of a gate output Input 0 Input 1 Output 0 0 0 1 1 0 1 1 select inputs 4 44 Penn ESE52 Fall 2017 -- DeHon Penn ESE52 Fall 2017 -- DeHon! How do we program to behave as AND2?! How do we program to behave as OR2? 45 46! Can generalize to any number of inputs a b c d output e f g h select inputs 47 48 8

h g f e d c b a 0 1 2 4 5 6 7 7 6 5 4 2 1 49 50 Penn ESE52 Fall 2017 -- DeHon! Collection of Programmable Gates " Can program by setting state bits " LUTs that can be programmed to be any gate # With optional Flip-Flops to use for state " Programmable interconnect to wire the gates together 51 52! Program an FPGA in Verilog " Build an adder " Build an FSM! Can implement any combinational digital logic function from nand2 gates! Can implement any FSM from nand2 gates and registers! Can build a single chip that can be programmed to behave as any collection of gates " As long as don t need more gates than it provides 5 54 9

! CIS240 do a bit more logic! ESE70 how to implement gates, latches, and memories from transistors! ESE52 how to build large-scale computations from logic! Formal Lab Report Due Sunday 55 56 10