E40M Useless Box, Boolean Logic. M. Horowitz, J. Plummer, R. Howe 1

Similar documents
E40M Useless Box, Boolean Logic. M. Horowitz, J. Plummer, R. Howe 1

E40M. Binary Numbers, Codes. M. Horowitz, J. Plummer, R. Howe 1

E40M. Solving Circuits using Nodal Analysis and EveryCircuit TM. M. Horowitz, J. Plummer, R. Howe 1

How Do We Figure Out the Voltages and Currents?

E40M. An Introduction to Making: What is EE?

M. Horowitz E40M Lecture 13

E40M. Solving Circuits using Nodal Analysis, Part II and EveryCircuit TM. M. Horowitz, J. Plummer, R. Howe 1

E40M. MOS Transistors, CMOS Logic Circuits, and Cheap, Powerful Computers. M. Horowitz, J. Plummer, R. Howe 1

COMP combinational logic 1 Jan. 18, 2016

Lecture 12. Building an LED Display

Finite State Machine Lab

Combinational Circuits Digital Logic (Materials taken primarily from:

GEORGIA INSTITUTE OF TECHNOLOGY School of Electrical and Computer Engineering ECE 2020 Fall 2017 Lab #1: Digital Logic Module

Computer Organization and Levels of Abstraction

LAB #1 BASIC DIGITAL CIRCUIT

CSC 101: Lab #5 Prelab Boolean Logic Practice Due Date: 5:00pm, day after lab session

Lecture #21 March 31, 2004 Introduction to Gates and Circuits

Recitation Session 6

CS 61C: Great Ideas in Computer Architecture Introduction to Hardware: Representations and State

9/10/2016. The Dual Form Swaps 0/1 and AND/OR. ECE 120: Introduction to Computing. Every Boolean Expression Has a Dual Form

Final Project. Project Idea. Sample Project Idea 2/11/2019. CS 362: Computer Design Lecture 7: DeMorgan s, XOR, Universal Gates

Project 17 Shift Register 8-Bit Binary Counter

E40M LEDs, Time Multiplexing. M. Horowitz, J. Plummer, R. Howe 1

Experiment 4.A. Speed and Position Control. ECEN 2270 Electronics Design Laboratory 1

CS61C : Machine Structures

Motivating Example. Lecture 10: How does a computer act so logically? Simple Example: Boolean Variables

Digital Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Electronic Engineering Part 1 Laboratory Experiment. Digital Circuit Design 1 Combinational Logic. (3 hours)

E40M LEDs, Time Multiplexing. M. Horowitz, J. Plummer, R. Howe 1

Designing Information Devices and Systems II Spring 2018 J. Roychowdhury and M. Maharbiz Discussion 1A

WELCOME TO. ENGR 303 Introduction to Logic Design. Hello my name is Dr. Chuck Brown

LECTURE 4. Logic Design

COS 116 The Computational Universe Laboratory 7: Digital Logic I

211: Computer Architecture Summer 2016

Designing Information Devices and Systems II Fall 2017 Miki Lustig and Michel Maharbiz Discussion 1B

From Boolean Algebra to Smart Glass

Overview. Multiplexor. cs281: Introduction to Computer Systems Lab02 Basic Combinational Circuits: The Mux and the Adder

Logic Gates and Boolean Algebra ENT263

Computer Organization and Levels of Abstraction

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

Basic circuit analysis and design. Circuit analysis. Write algebraic expressions or make a truth table

PART 1. Simplification Using Boolean Algebra

1 /8_ 2 /12 3 /12 4 /25 5 /12 6 /15 7 /16

Lecture 10: Floating Point, Digital Design

Boolean Algebra & Digital Logic

3. Implementing Logic in CMOS

LAB #3: ADDERS and COMPARATORS using 3 types of Verilog Modeling

HW #5: Digital Logic and Flip Flops

VLSI Test Technology and Reliability (ET4076)

Arithmetic-logic units

Digital Systems Design with PLDs and FPGAs Kuruvilla Varghese Department of Electronic Systems Engineering Indian Institute of Science Bangalore

EECS 183. Week 3 - Diana Gage. www-personal.umich.edu/ ~drgage

Finite State Machines (FSMs) and RAMs and CPUs. COS 116, Spring 2011 Sanjeev Arora

How Computers Work. Processor and Main Memory. Roger Young

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

ECE 595Z Digital Systems Design Automation

Earthshine Design Arduino Starters Kit Manual - A Complete Beginners Guide to the Arduino. Project 15. Shift Register 8-Bit Binary Counter

Primitive Computer Functions

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 04. Boolean Expression Simplification and Implementation

Basic Arithmetic (adding and subtracting)

Memristive stateful logic

Dynamic CMOS Logic Gate

Module 3B: Arduino as Power Supply

ESE 150 Lab 07: Digital Logic

Software and Hardware

Optional: Building a processor from scratch

Von Neumann Architecture

Lecture (05) Boolean Algebra and Logic Gates

Self-reproducing programs. And Introduction to logic. COS 116: 3/6/2008 Sanjeev Arora

USB PowerControl 0042-USBPC-DSBT / USBPCNE-DSBT

A B A+B

Lecture 10: Floating Point, Digital Design

Chapter 2: Universal Building Blocks. CS105: Great Insights in Computer Science

Electronics & Control

6. Combinational Circuits. Building Blocks. Digital Circuits. Wires. Q. What is a digital system? A. Digital: signals are 0 or 1.

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

Lecture (03) Binary Codes Registers and Logic Gates

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 3 Additional Gates and Circuits

COS 116 The Computational Universe Laboratory 8: Digital Logic II

Logic, Words, and Integers

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5

Combinational Circuits

EECE 2411/2211-Introduction to Electrical and Computer Engineering Lab. Lab 3

Lab 4: Digital Electronics Innovation Fellows Program Boot Camp Prof. Steven S. Saliterman

ENGR 40M Project 4b: Displaying ECG waveforms. Lab is due Monday June 4, 11:59pm

ECE 270 Lab Verification / Evaluation Form. Experiment 1

Department of Electrical Engineering McGill University ECSE 221 Introduction to Computer Engineering Assignment 2 Combinational Logic

Digital Circuits. Page 1 of 5. I. Before coming to lab. II. Learning Objectives. III. Materials

Propositional Calculus. Math Foundations 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:

1/Build a Mintronics: MintDuino

If I wanted to connect an LED and little light bulb and have them switch on and off with one switch, my schematic would look like the one below.

Fundamentals of Digital System Design ECE 3700, CPSC 3700

Chapter 3. Boolean Algebra and Digital Logic

Boolean Analysis of Logic Circuits

Digital Circuits 1: Binary, Boolean, and Logic

what is an algorithm? analysis of algorithms classic algorithm example: search

Sense Amplifiers 6 T Cell. M PC is the precharge transistor whose purpose is to force the latch to operate at the unstable point.

ECE3663 Design Project: Design Review #1

Transcription:

E40M Useless Box, Boolean Logic M. Horowitz, J. Plummer, R. Howe 1

Useless Box Lab Project #2 Motor Battery pack Two switches The one you switch A limit switch The first version of the box you will build uses mechanical switches to determine the state of the box. https://www.youtube.com/watch?v=aqaumge3wym Adding a computer (Arduino) makes the box much more interesting. e.g. https://www.youtube.com/watch?v=-pqccjfaf3i M. Horowitz, J. Plummer, R. Howe 2

Useless Box Lab Project #2 In order to add the Arduino to the box, we now need to understand some additional concepts that are introduced in this and the next few lectures. Concepts Finite State Machines Digital Logic Binary numbers CMOS Gates M. Horowitz, J. Plummer, R. Howe 3

Useless Box Lab Project #2 The concepts we ll discuss will help you to understand how modern digital systems work. M. Horowitz, J. Plummer, R. Howe 4

Readings For This Material Chapter 4 in the reader up to MOS transistors For more details A&L 5.1 Digital Signals (goes in much more detail than we need) M. Horowitz, J. Plummer, R. Howe 5

Useless Box Operation The simple version of the Useless Box uses switches, batteries and a motor. In order to figure out how to wire these components together, we can use an action diagram to illustrate what we want the box to do. Friday s Prelab lecture will discuss how to actually wire the components in a circuit. We ll discuss the concepts today. M. Horowitz, J. Plummer, R. Howe 6

What Do We Want It To Do? The motor in the box can be in three different states Forward Reverse Stop How does it know when to change state? M. Horowitz, J. Plummer, R. Howe 7

Action Diagram - Finite State Machine Forward Stop Reverse M. Horowitz, J. Plummer, R. Howe 8

Useless Box Operation Boolean Logic The motor could be in one of three states: Forward, reverse, off State determined by the voltage on the motor terminals State M+ M- Forward 4.5V 0V This voltage is set by the position of two switches: Switch1 On or not on Switch2 Limit or not limit Reverse 0V 4.5V Off 0V (4.5V) 0v (4.5v) M. Horowitz, J. Plummer, R. Howe 9

Boolean Variables The voltages on the wires in this circuit have two values At least two stable values 4.5V and Gnd The switches also seem to have two values (positions) On, off; at limit and not at limit What does this remind you of? A Boolean variable? Boolean Logic is a form of algebra in which all variables are reduced to True and False (1 and 0 in a binary numbering system). M. Horowitz, J. Plummer, R. Howe 10

Electrical Boolean Signal Still is just a voltage on a node And to find the voltage you use nodal analysis Or some short cut But the voltages of the node settles to only two values True (1) is a high value near the supply (4.5V) False (0) is a low value near the reference (Gnd) Each node carries one bit of information Boole s thinking has become the practical foundation of digital circuit design and the theoretical grounding of the digital age. M. Horowitz, J. Plummer, R. Howe 11

Useless Box Operation Think about the situation in logical values State M+ M- State M+ M- Forward true false Forward 4.5V 0V Reverse false true Reverse 0V 4.5V Off false true false true Off 0V (4.5V) 0v (4.5v) These outputs are a function of two switches: OnSwitch True, false LimitSwitch True, false M. Horowitz, J. Plummer, R. Howe 12

Useless Box Program If (SwitchOn){ Motor = Forward; } else { if (Limit){ } else { } Motor:= Stop; Motor = Reverse; Computer programs use Boolean logic M. Horowitz, J. Plummer, R. Howe 13

Logical Operands in Programs (C) Switches are either on or off Generally represented by True or False Type: Boolean Values are True and False Operators: (A && B) AND Both have to be true (A B) OR True if either is true!(a) NOT True if A is false M. Horowitz, J. Plummer, R. Howe 14

Useless Box Boolean Expression SwitchOn is either true or false; Limit is either true of false; Can represent Motor using two Boolean variables Forward is either true or false; Reverse is either true or false It is an error is both are true What is the Boolean expression for this FSM (Finite State Machine) Forward Reverse M. Horowitz, J. Plummer, R. Howe 15

Digital Logic In most programming languages True = 1; False = 0 So to build a circuit that can represent a bit {0,1} Need something that can drive its output to either: The power supply voltage (which we call Vdd) Or the reference level (which we call ground, or gnd) 1 X 0 In the useless box we built the logic from switches And the first computers used mechanical switches too Relays. (Mentioned in the last lecture) But that is so yesterday M. Horowitz, J. Plummer, R. Howe 16

Modern Digital Logic - CMOS In the next set of lecture notes you ll learn about CMOS logic gates that perform digital logic operations. Your Arduino has tens of thousands of these gates. CMOS NAND Gate M. Horowitz, J. Plummer, R. Howe 17

Truth Tables & Logic Gates A B AND 0 0 0 0 1 0 1 0 0 1 1 1 A NOT 0 1!(A) NOT 1 0 Logic Gate Symbols (A && B) AND A B OR 0 0 0 0 1 1 1 0 1 1 1 1 (A B) OR M. Horowitz, J. Plummer, R. Howe 18

V dd and Gnd For many circuits The bottom supply is chosen as the reference So it is called Gnd And many devices connect to the same power supply This is often called V dd (or V cc ) We ll see specific examples in the next set of notes when we discuss CMOS transistors and logic gates. M. Horowitz, J. Plummer, R. Howe 19

Symbols For V dd and Ground V dd V dd Gnd M. Horowitz, J. Plummer, R. Howe 20

Learning Objectives Understand how to describe a simple system as a finite state machine How to represent a Boolean signal in an electrical circuit V dd = True; Gnd =False Understand the function of AND, OR, NOT operations M. Horowitz, J. Plummer, R. Howe 21