4/17/2017 EECS 150 - Components and Design Techniques for Digital Systems Lec 01 – Introduction 8-28-07 David Culler Electrical Engineering and Computer.

Slides:



Advertisements
Similar presentations
Sahar Mosleh PageCalifornia State University San Marcos 1 Introductory Concepts This section of the course introduces the concept of digital circuits and.
Advertisements

CEG3420 L1 Intro.1 Copyright (C) 1998 UCB CEG3420 Computer Design Lecture 1 Philip Leong.
Circuits require memory to store intermediate data
I - Introduction © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Why study logic design? Obvious reasons  this course is part of the EE/CS/CE.
EECC341 - Shaaban #1 Lec # 1 Winter Introduction to Digital Systems Analog devices and systems process time-varying signals that can take.
EECS 150 Fa04 Lecture 2 EECS Components and Design Techniques for Digital Systems Lec 02 – CMOS Technology David Culler Electrical Engineering.
Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear.
CS 61C L14 Combinational Logic (1) A Carle, Summer 2006 © UCB inst.eecs.berkeley.edu/~cs61c/su06 CS61C : Machine Structures Lecture #14: Combinational.
CS61C L23 Synchronous Digital Systems (1) Garcia, Fall 2011 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
Spring 2002EECS150 - Lec02-CMOS Page 1 EECS150 - Digital Design Lecture 2 - CMOS January 24, 2002 John Wawrzynek.
1 EECS Components and Design Techniques for Digital Systems Lec 21 – RTL Design Optimization 11/16/2004 David Culler Electrical Engineering and Computer.
© UC Berkeley 8/30/2007 EECS150-F05 CMOS lec02 1 EECS Components and Design Techniques for Digital Systems Lec 02 – Gates and CMOS Technology
9/19/06 Hofstra University – Overview of Computer Science, CSC005 1 Chapter 4 Gates and Circuits.
EECS Components and Design Techniques for Digital Systems Lec 01 – Introduction David Culler Electrical Engineering and Computer Sciences.
© UC Berkeley CS61CL – Machine Structures David Culler Electrical Engineering and Computer Sciences University of California, Berkeley
EEM232 Digital Systems I. Course Information Instructor : Atakan Doğan Office hours: TBD Materials :
DIGITAL ELECTRONICS CIRCUIT P.K.NAYAK P.K.NAYAK ASST. PROFESSOR SYNERGY INSTITUTE OF ENGINEERING & TECHNOLOGY.
CS61CL Machine Structures Lec 8 – State and Register Transfers David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.
Digital Design Copyright © 2006 Frank Vahid 1 Digital Design Slides to accompany the textbook Digital Design, First Edition, by Frank Vahid, John Wiley.
Lecture 8 Topics –Switch –Transistor –CMOS transistor –Logic gates AND, OR, NOT Universal gates: NAND, NOR XOR.
Digital Logic Lecture 1 Introduction By Dr Zyad Dwekat The Hashemite University Computer Engineering Department.
Some Useful Circuits Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Chapter 4 Gates and Circuits.
Engineering Lecture 3 Digital Electronics by Jaroslaw Karcz.
Digital Electronics. Introduction to Number Systems & Codes Digital & Analog systems, Numerical representation, Digital number systems, Binary to Decimal.
CS61C L23 Synchronous Digital Systems (1) Garcia, Fall 2011 © UCB Senior Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
CPSC 321 Introduction to Logic Circuit Design Mihaela Ulieru (‘Dr. M’)
School of Computer Science G51CSA 1 Computer Systems Architecture Fundamentals Of Digital Logic.
CSC Intro. to Computing Lecture 5: Boolean Logic, Gates, & Circuits.
Digital Logic. 4 Why is 32-bit or 64-bit significant in terms of speed, efficiency? 4 Difference between OR and XOR 4 What is a mux for? PLA 4 Two kinds.
I - Introduction © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Why study logic design? Obvious reasons  this course is part of the CS/CompE.
Digital Design and Computer Architecture Dr. Robert D. Kent LT Ext Lecture 1 Introduction.
Fall 2012: FCM 708 Foundation I Lecture 2 Prof. Shamik Sengupta
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
Welcome CSC 480/580 – Digital Logic & Computer Design Term: Winter 2002 Instructor: William T Krieger.
1 CPRE210: Introduction to Digital Design Instructor –Arun K. Somani –Tel: – –Office Hours: MWF 10:00-11:00 Teaching Assistant.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 1: September 8, 2010 Introduction and.
Spring 2002EECS150 lec01-intro Page 1 EECS150 Components and Design Techniques for Digital Systems John Wawrzynek (Warznek) Professor of EECS
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
CSE 311 Foundations of Computing I
Floyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd © 2008 Pearson Education Chapter 1.
I - Introduction © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Why study logic design? Obvious reasons  this course is part of the EE/CS/CE.
CS/COE0447 Computer Organization & Assembly Language
1 ECSE-2610 Computer Components & Operations (COCO) Welcome to the world of Computers!
Introduction to ASIC flow and Verilog HDL
Concepts of Engineering and Technology Copyright © Texas Education Agency, All rights reserved.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
LECTURE 4 Logic Design. LOGIC DESIGN We already know that the language of the machine is binary – that is, sequences of 1’s and 0’s. But why is this?
CS 61C: Great Ideas in Computer Architecture Hardware intro, Digital Logic 1 Instructors: Nicholas Weaver & Vladimir Stojanovic
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
Introduction to the FPGA and Labs
CS Fall Introduction - 1 Welcome to CS 150: Components and Design Techniques for Digital Systems This week What is logic design? What is digital.
Chapter #6: Sequential Logic Design
Stateless Combinational Logic and State Circuits
Digital Design.
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
CS105 Introduction to Computer Concepts GATES and CIRCUITS
CSE 370 – Winter Sequential Logic - 1
February 7, 2002 John Wawrzynek
Welcome to CSE370: Introduction to Digital Design
Portions © Copyright 2009, S. Brown and Z Vranesic
CSC3050 – Computer Architecture
Introductory Concepts
CSE 370 – Winter Introduction -2- 1
EGR 2131 Unit 12 Synchronous Sequential Circuits
CSE 370 – Winter Number syst.; Logic functions- 1
Instructor: Michael Greenbaum
Computer Organization
Presentation transcript:

4/17/2017 EECS 150 - Components and Design Techniques for Digital Systems Lec 01 – Introduction 8-28-07 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler http://inst.eecs.berkeley.edu/~cs150 EECS 150 Fa04

Introductions – CS150 Staff 4/17/2017 Introductions – CS150 Staff David E. Culler culler@cs.berkeley.edu http://www.eecs.berkeley.edu/~culler 627 Soda Hall, 643-7572 Office hours: Tue 3:30-5, Fr 9-11 Allen Lee leeallen@berkeley.edu Sarah Bird slbird@eecs.berkeley.edu Shah Bawany shahbawany@gmail.com Shauki Elassaad shauki@eecs.berkeley.edu Udam Singh Saini usani08@berkeley.edu 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

EECS 150 Project in my day Row of LEDs Bunch of TTL SSI chips 4/17/2017 EECS 150 Project in my day Row of LEDs Bunch of TTL SSI chips TTL cookbook Couple of switches for paddle Bread board Ground plane would oscillate after wires signal punched through Oscilloscope and logic analyzer 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

My post-EECS150 summer job 4/17/2017 My post-EECS150 summer job CHI-5 16-bit Digital Speech Processor 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Digital Design in Your Life… 4/17/2017 Digital Design in Your Life… Your ideas here … 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

CaLinx2 – Your EECS150 … 8/28/07 EECS150 F07 Lec01 - Intro 4/17/2017 EECS 150 Fa04

CaLinx II - Class Lab/Project Board 4/17/2017 CaLinx II - Class Lab/Project Board Flash Card & Micro-drive Port Video Encoder & Decoder AC ’97 Codec & Power Amp Video & Audio Ports Four 100 Mb Ethernet Ports 8 Meg x 32 SDRAM Quad Ethernet Transceiver Xilinx Virtex 2000E Seven Segment LED Displays Prototype Area 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Wireless network + … IEEE 802.15.4 Personal Area Network ADC channels 4/17/2017 Wireless network + … IEEE 802.15.4 Personal Area Network ADC channels Simple display Serial interface 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Fa07 Course Project – i50phone 4/17/2017 Fa07 Course Project – i50phone Display Video Decode Ethernet SDram Audio Port Audio Codec Wireless Key input 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Outline Introductions Project Teaser Course Content Administrivia 4/17/2017 Outline Introductions Project Teaser Course Content Administrivia Enrollment & Attendance Course Structure & Grading A Few Basic Principles of Digital Design Summary Reading: Katz&Boriello, Ch 1 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

What is EECS150 about? Deep Digital Design Experience HDL 4/17/2017 What is EECS150 about? HDL Machine Organization Instruction Set Arch Pgm Language Asm / Machine Lang CS 61C Deep Digital Design Experience Fundamentals of Boolean Logic Synchronous Circuits Finite State Machines Timing & Clocking Device Technology & Implications Controller Design Arithmetic Units Bus Design Encoding, Framing Testing, Debugging Hardware Architecture HDL, Design Flow (CAD) Transfer Function Transistor Physics Devices Gates Circuits FlipFlops EE 40 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Course Content Components and Design Techniques for Digital Systems 4/17/2017 Course Content Components and Design Techniques for Digital Systems Synchronous Digital Hardware Systems Synchronous: “Clocked” - all changes in the system are controlled by a global clock and happen at the same time (not asynchronous) Digital: All inputs/outputs and internal values (signals) take on discrete values (not analog). Example digital representation: acoustic waveform A series of numbers is used to represent the waveform, rather than a voltage or current, as in analog systems. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

What makes Digital Systems tick? 4/17/2017 What makes Digital Systems tick? Combinational Logic clk time What determines the systems performance? 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Course Content Hardware Architectures Arithmetic units, controllers 4/17/2017 Course Content Hardware Architectures Arithmetic units, controllers Memory elements, logic gates, busses Transistor-level circuits Transistors, wires Not a course on transistor physics and transistor circuits. Although, we will look at these to better understand the primitive elements for digital circuits. Not a course on computer architecture or the architecture of other systems. Although we will look at these as examples. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

We Will Learn in EECS 150 … Language of logic design 4/17/2017 We Will Learn in EECS 150 … Language of logic design Logic optimization, state, timing, CAD tools Concept of state in digital systems Analogous to variables and program counters in software systems Hardware system building Datapath + control = digital systems Hardware system design methodology Hardware description languages: Verilog Tools to simulate design behavior: output = function (inputs) Logic compilers synthesize hardware blocks of our designs Mapping onto programmable hardware (code generation) Contrast with software design Both map specifications to physical devices Both must be flawless … 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

What is Logic Design? What is design? What is logic design? 4/17/2017 What is Logic Design? What is design? Given problem spec, solve it with available components While meeting quantitative (size, cost, power) and qualitative (beauty, elegance) What is logic design? Choose digital logic components to perform specified control, data manipulation, or communication function and their interconnection Which logic components to choose? Many implementation technologies (fixed-function components, programmable devices, individual transistors on a chip, etc.) Design optimized/transformed to meet design constraints 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

What is Digital Hardware? 4/17/2017 What is Digital Hardware? Devices that sense/control wires carrying digital values (physical quantity interpreted as “0” or “1”) Digital logic: voltage < 0.8v is “0”, > 2.0v is “1” Pair of wires where “0”/“1” distinguished by which has higher voltage (differential) Magnetic orientation signifies “0” or “1” Primitive digital hardware devices Logic computation devices (sense and drive) Two wires both “1” - make another be “1” (AND) At least one of two wires “1” - make another be “1” (OR) A wire “1” - then make another be “0” (NOT) Memory devices (store) Store a value Recall a value previously stored sense drive AND sense 8/28/07 EECS150 F07 Lec01 - Intro Source: Microsoft Encarta EECS 150 Fa04

Current State of Digital Design 4/17/2017 Current State of Digital Design Changes in industrial practice Larger designs Shorter time to market Cheaper products Scale Pervasive use of computer-aided design tools over hand methods Multiple levels of design representation Time Emphasis on abstract design representations Programmable rather than fixed function components Automatic synthesis techniques Importance of sound design methodologies Cost Higher levels of integration Use of simulation to debug designs Power Critical at the high performance end Critical at the portable end Parts Cost: $25 Sales Price: $39! 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Moore’s Law – 2x stuff per 1-2 yr 4/17/2017 Moore’s Law – 2x stuff per 1-2 yr 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

CS 150: Concepts/Skills/Abilities 4/17/2017 CS 150: Concepts/Skills/Abilities Basics of logic design (concepts) Sound design methodologies (concepts) Modern specification methods (concepts) Familiarity with full set of CAD tools (skills) Appreciation for differences and similarities (abilities) in hardware and software design Hands-on experience with non-trivial design New ability: perform logic design with computer-aided design tools, validating that design via simulation, and mapping its implementation into programmable logic devices; Appreciating the advantages/disadvantages hw vs. sw implementation 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Traversing Digital Design 4/17/2017 Traversing Digital Design EECS150 wks 6-15 EECS150 wks 1-6 CS61C EE 40 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Administrative Issues 4/17/2017 Administrative Issues See inst.eecs.berkeley.edu/~cs150 every day Lab lectures and discussions in 125 Cory Dis 101 Th 3-4 Cancelled (0 enrolled) If you are enrolled OR plan to take the course you must attend your lab section this week. If you need to ADD the class, see me after class. Lab sections will be held this week. No discussion sections this week Lab lecture on Friday. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Attendance Attend regular lectures and ask questions. 4/17/2017 Attendance Attend regular lectures and ask questions. No webcast Attend weekly “lab lecture” (Friday 2-3). Probably webcast Attend your lab section. You must stick with the same lab section all semester. We will put together a lab section exchange in a few weeks to help you move to a different section. Attend any discussion section. You may attend any discussion section that you want regardless of which one you are enrolled in. Attendance is optional, but useful. The instructor and TAs hold regular office hours (see class webpage). Please take advantage of this opportunity! 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

4/17/2017 Course Materials Textbook: R. H. Katz, G. Borriello, Contemporary Logic Design, 2nd Ed., Prentice Hall/Pearson Publishing. Class notes, homework & lab assignments, solutions, and other documentation will be available on the class webpage: http://inst.eecs.berkeley.edu/~cs150 Check the class webpage and newsgroup often! You are responsible for checking the class webpage at least once every 24 hours. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Course Grading 3 Exams 45% project 30% 4/17/2017 Course Grading Three exams of approximately equal weight Possibly some quizzes Weekly homework based on reading and lectures. Out by Th lecture, due Friday 2:00 next week Lab exercises for weeks 1-6, followed by project checkpoints and final checkoff. Labs and checkpoints due within the first 30 minutes of your next lab session. 3 Exams 45% labs 15% project 30% HW 10% 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

4/17/2017 Cheating Any act that gives you unfair advantage at the expense of another classmate. Examples: copying on exams, homework, copying design data, modifying class CAD software, modifying or intentionally damaging lab equipment. If you ever have a question about what will be considered cheating, please ask. What should the penalty be? Fail the course. Report to student affairs. Fail the assignment / exam / project. (first time) Report. Fail the disputed entity. Key is time management. Avoid desperation. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Lecture format Outline Quick review of key points from previous time 4/17/2017 Lecture format Outline Quick review of key points from previous time Main Topic Administrative issues & Break Additional depth or additional topic Summary of key points You are here 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Example Digital Systems 4/17/2017 Example Digital Systems Computer Usually design to maximize performance. "Optimized for speed" Calculator - Usually designed to minimize cost. “Optimized for low cost” - Of course, low cost comes at the expense of speed. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Example Digital Systems 4/17/2017 Example Digital Systems Digital Watch Low power operation comes at the expense of: lower speed higher cost Designed to minimize power. Single battery must last for years. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Basic Design Tradeoffs 4/17/2017 Basic Design Tradeoffs You can usually improve on one at the expense of one or both of the others. These tradeoffs exist at every level in the system design - every sub-piece and component. Design Specification - Functional Description. Performance, cost, power constraints. As a designer you must make the tradeoffs necessary to achieve the function within the constraints. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

To design is to represent… 4/17/2017 To design is to represent… How is design and engineering different from craftsmanship? What is the result of the design process? 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Design Representation 4/17/2017 Design Representation 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Hierarchy in Designs Helps control complexity - 4/17/2017 Hierarchy in Designs Helps control complexity - by hiding details and reducing the total number of things to handle at any time. Modularizes the design - divide and conquer simplifies implementation and debugging Top-Down Design Starts at the top (root) and works down by successive refinement. Bottom-up Design Starts at the leaves & puts pieces together to build up the design. Which is better? In practice both are needed & used. Need top-down divide and conquer to handle the complexity. Need bottom-up because in a well designed system, the structure is influence by what primitves are available. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Building Blocks of Digital Logic 4/17/2017 Building Blocks of Digital Logic 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Interactive Background Quiz 4/17/2017 Interactive Background Quiz What is the truth table for logic implemented by this circuit? What is the name of this logic gate? What is its symbol? How would you make an inverter out of it? Which is faster, the rise time or the fall time? a b out 0 0 1 0 1 1 1 0 1 1 1 0 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Logical Values +3 +3 Logic 1 Logic 0 Input Voltage V Vout +5 Vin Threshold Logical 1 (true) : V > Vdd –V th Logical 0 (false) : V < Vth F in out T not( out, in) 8/28/07 EECS150 F07 Lec01 - Intro

Mapping from physical world to binary world 4/17/2017 Mapping from physical world to binary world Technology State “0” State “1” Relay logic Circuit Open Circuit Closed CMOS logic 0.0-1.0 volts 2.0-3.0 volts Transistor transistor logic (TTL) 0.0-0.8 volts 2.0-5.0 volts Fiber Optics Light off Light on Dynamic RAM Discharged capacitor Charged capacitor Nonvolatile memory (erasable) Trapped electrons No trapped electrons Programmable ROM Fuse blown Fuse intact Bubble memory No magnetic bubble Bubble present Magnetic disk No flux reversal Flux reversal Compact disc No pit Pit Sense the logical value, manipulate in s systematic fashion. 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Switches: basic element of physical implementations 4/17/2017 Switches: basic element of physical implementations Implementing a simple circuit (arrow shows action if wire changes to “1”): A Z close switch (if A is “1” or asserted) and turn on light bulb (Z) Z A open switch (if A is “0” or unasserted) and turn off light bulb (Z) Z  A 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

What is this? 1-bit Analog to Digital Converter A V 8/28/07 EECS150 F07 Lec01 - Intro

Boolean Algebra/Logic Circuits Why are they called “logic circuits”? Logic: The study of the principles of reasoning. The 19th Century Mathematician, George Boole, developed a math. system (algebra) involving logic, Boolean Algebra. His variables took on TRUE, FALSE Later Claude Shannon (father of information theory) showed (in his Master’s thesis!) how to map Boolean Algebra to digital circuits: Primitive functions of Boolean Algebra: 8/28/07 EECS150 F07 Lec01 - Intro

Relationship Among Representations Theorem: Any Boolean function that can be expressed as a truth table can be written as an expression in Boolean Algebra using AND, OR, NOT. How do we convert from one to the other? 8/28/07 EECS150 F07 Lec01 - Intro

Combinational Logic Symbols 4/17/2017 Combinational Logic Symbols Common combinational logic systems have standard symbols called logic gates Buffer, NOT AND, NAND OR, NOR A Z A Z Easy to implement with CMOS transistors (the switches we have available and use most) B A Z B 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

more Boolean Expressions to Logic Gates 4/17/2017 more Boolean Expressions to Logic Gates X Y Z 0 0 1 0 1 1 1 0 1 1 1 0 NAND NOR XOR X Y XNOR X = Y X Z Y X Y Z 0 0 1 0 1 0 1 0 0 1 1 0 X Z Y X Y Z 0 0 0 0 1 1 1 0 1 1 1 0 X X xor Y = X Y' + X' Y X or Y but not both ("inequality", "difference") Z Y X Y Z 0 0 1 0 1 0 1 0 0 1 1 1 X xnor Y = X Y + X' Y' X and Y are the same ("equality", "coincidence") X Z Y 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Possible Logic Functions of Two Variables 4/17/2017 Possible Logic Functions of Two Variables 16 possible functions of 2 input variables: 2**(2**n) functions of n inputs X F Y X Y 16 possible functions (F0–F15) 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 not X X and Y X or Y not Y X Y X xor Y X = Y X nor Y not (X or Y) X nand Y not (X and Y) 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Logic Functions and Boolean Algebra 4/17/2017 Logic Functions and Boolean Algebra Any logic function that can be expressed as a truth table can be written as an expression in Boolean algebra using the operators: ', +, and • X Y X • Y 0 0 0 0 1 0 1 0 0 1 1 1 X Y X' X' • Y 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 X Y X' Y' X • Y X' • Y' ( X • Y ) + ( X' • Y' ) 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 ( X • Y ) + ( X' • Y' ) º X = Y Boolean expression that is true when the variables X and Y have the same value and false, otherwise X, Y are Boolean algebra variables 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Minimal set of functions 4/17/2017 Minimal set of functions Implement any logic functions from NOT, NOR, and NAND? For example, implementing X and Y is the same as implementing not (X nand Y) Do it with only NOR or only NAND NOT is just a NAND or a NOR with both inputs tied together and NAND and NOR are "duals", i.e., easy to implement one using the other X Y X nor Y 0 0 1 1 1 0 X Y X nand Y 0 0 1 1 1 0 X nand Y  not ( (not X) nor (not Y) ) X nor Y  not ( (not X) nand (not Y) ) 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Waveform View of Logic Functions 4/17/2017 Waveform View of Logic Functions Just a sideways truth table But note how edges don't line up exactly It takes time for a gate to switch its output! time change in Y takes time to "propagate" through gates 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

From Boolean Expressions to Logic Gates 4/17/2017 From Boolean Expressions to Logic Gates More than one way to map expressions to gates e.g., Z = A' • B' • (C + D) = (A' • (B' • (C + D))) T2 T1 use of 3-input gate A Z A B T1 B Z C C T2 D D 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Combinational vs. Sequential Digital Circuits 4/17/2017 Combinational vs. Sequential Digital Circuits Simple model of a digital system is a unit with inputs and outputs: Combinational means "memory-less" Digital circuit is combinational if its output values only depend on its inputs inputs system outputs 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Sequential Logic Sequential systems 4/17/2017 Sequential Logic Sequential systems Exhibit behaviors (output values) that depend on current as well as previous inputs Time response of real circuits are sequential Outputs do not change instantaneously after an input change Why not, and why is it then sequential? Fundamental abstraction of digital design is to reason (mostly) about steady-state behaviors Examine outputs only after sufficient time has elapsed for the system to make its required changes and settle down 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Synchronous sequential digital systems 4/17/2017 Synchronous sequential digital systems Combinational circuit outputs depend only on current inputs After sufficient time has elapsed Sequential circuits have memory Even after waiting for transient activity to finish Steady-state abstraction: most designers use it when constructing sequential circuits: Memory of system is its state Changes in system state only allowed at specific times controlled by an external periodic signal (the clock) Clock period is elapsed time between state changes sufficiently long so that system reaches steady-state before next state change at end of period 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04

Recall: What makes Digital Systems tick? Combinational Logic clk time 8/28/07 EECS150 F07 Lec01 - Intro

D-type edge-triggered flip-flop The edge of the clock is used to sample the "D" input & send it to "Q” (positive edge triggering). At all other times the output Q is independent of the input D (just stores previously sampled value). The input must be stable for a short time before the clock edge. 8/28/07 EECS150 F07 Lec01 - Intro

Summary: Digital Design 4/17/2017 Summary: Digital Design Given a functional description and performance, cost, & power constraints, come up with an implementation using a set of primitives. How do we learn how to do this? 1. Learn about the primitives and how to generate them. 2. Learn about design representation. 3. Learn formal methods to optimally manipulate the representations. 4. Look at design examples. 5. Use trial and error - CAD tools and prototyping. Digital design is in some ways more an art than a science. The creative spirit is critical in combining primitive elements & other components in new ways to achieve a desired function. However, unlike art, we have objective measures of a design: performance cost power 8/28/07 EECS150 F07 Lec01 - Intro EECS 150 Fa04