Chapter 1 WELCOME TO Introduction to Logic Design Hello my name is Dr. Chuck Brown Please sign in and then find a seat. The person next to you will be your lab partner for the course so choose wisely and introduce yourself. Please place your name card it on top your PC this will help me learn your names.
Introduction to Logic Design Lecture 1 Dr. Chuck Brown Engineering and Computer Information Science Folsom Lake College
Instructor Information Instructor: Dr. Chuck Brown Intel Corporation Office Hours: Room FL5-9 Thur 6:-6:3pm Class Schedule: Tue/Thur Tue/Thur Room FL5-9 3:-4:2pm lecture 4:3-5:5pm lab Contact information: BrownC@flc.losrios.edu -orchuck.brown@intel.com <3>
Outline for Todays Lecture Objective of the course Course Material Course/Lab policies High-level overview of the course Number Systems Logic Gates <4>
Objective of Course Identify common digital components such as logic gates, flip-flops, counters, registers, state machines, and programmable logic devices (PLDs) nalyze a digital design problem using combinational logic, binary number system, conversion between number systems, Boolean algebra, and Karnaugh maps. Design and build a digital logic system including combinatorial logic, sequential state machines and basic computer micro-architecture elements using schematic entry and Verilog or VHDL design tools <5>
Course Material Text Book: Digital Design and Computer rchitecture, Second Edition ugust 7, 212, by David Harris and Sarah Harris ISBN-13: 978-123944245 USB memory stick is required for lab to store your design files ltera Quartus II version 13.sp1 design software will be available for download (Windows only) http://wserver.flc.losrios.edu/~brownc/files/quartusii.zip ltera DE2 FGP Development Board will be provided for in lab use <6>
Course Policies Prerequisites: pply algebra concepts in a problem-solving setting Manipulate algebraic expressions and solve simple algebraic equations Some previous exposure to a programming language and be able to interpret and modify supplied hardware descriptive language code segments Grading: ttendance, homework, participation (15 %) Lab ssignments (6 %) Midterm and Final Exam (25 %) <7>
Lab Policies Work in groups of two Lab handout will be provided prior or at the start of the lab Joint lab report one lab report per lab is due typically one week after the completion of the lab most labs have a demonstration requirement to verify your design Save all your work to a USB drive <8>
Class Outline Number systems, logic gates, combinatorial logic, Boolean equations, Karnaugh maps Digital Building blocks - multiplexers, decoders, adder, multipliers Sequential logic - latches, flip-flops, registers, counters, finite state machines Hardware Descriptive Language and FPG implementation Computer microarchitecture data path, LU, instruction decoder <9>
bstraction Breaking the details into more manageable parts focus of this course programs device drivers instructions registers datapaths controllers adders memories ND gates NOT gates amplifiers filters transistors diodes electrons <1>
The Digital bstraction Most physical variables are continuous Voltage on a wire Frequency of an oscillation Position of a mass Digital abstraction considers discrete subset of values <11>
Digital Discipline: Binary Values Two discrete values: 1 s and s 1, TRUE, HIGH, FLSE, LOW 1 and : voltage levels, rotating gears, fluid levels, etc. Digital circuits use voltage levels to represent 1 and Bit: Binary digit <12>
George Boole, 1815-1864 Born to working class parents Taught himself mathematics and joined the faculty of Queen s College in Ireland Wrote n Investigation of the Laws of Thought (1854) Introduced binary variables Introduced the three fundamental logic operations: ND, OR, and NOT <13>
1's column 1's column 1's column 1's column 1's column 2's column 4's column 8's column Number Systems Decimal numbers 5374 1 = Binary numbers 111 2 = <14>
1's column 1's column 1's column 1's column 1's column 2's column 4's column 8's column Number Systems Decimal numbers Binary numbers 5374 1 = 5 1 3 + 3 1 2 + 7 1 1 + 4 1 five thousands three hundreds seven tens four ones 111 2 = 1 2 3 + 1 2 2 + 2 1 + 1 2 = 13 1 one eight one four no two one one <15>
Powers of Two 2 = 2 1 = 2 2 = 2 3 = 2 4 = 2 5 = 2 6 = 2 7 = 2 8 = 2 9 = 2 1 = 2 11 = 2 12 = 2 13 = 2 14 = 2 15 = <16>
Powers of Two 2 = 1 2 1 = 2 2 2 = 4 2 3 = 8 2 4 = 16 2 5 = 32 2 6 = 64 2 7 = 128 2 8 = 256 2 9 = 512 2 1 = 124 2 11 = 248 2 12 = 496 2 13 = 8192 2 14 = 16384 2 15 = 32768 Handy to memorize up to 2 9 <17>
Number Conversion Decimal to binary conversion: Convert 111 2 to decimal Decimal to binary conversion: Convert 47 1 to binary <18>
Number Conversion Decimal to binary conversion: Convert 111 2 to decimal 16 1 + 8 + 4 + 2 1 + 1 1 = 19 1 Decimal to binary conversion: Convert 47 1 to binary 32 1 + 16 + 8 1 + 4 1 + 2 1 + 1 1 = 11111 2 <19>
Binary Values and Range N-digit decimal number How many values? Range? Example: 3-digit decimal number: N-bit binary number How many values? Range: Example: 3-digit binary number: <2>
Binary Values and Range N-digit decimal number How many values? 1 N Range? [, 1 N - 1] Example: 3-digit decimal number: 1 3 = 1 possible values Range: [, 999] N-bit binary number How many values? 2 N Range: [, 2 N - 1] Example: 3-digit binary number: 2 3 = 8 possible values Range: [, 7] = [ 2 to 111 2 ] <21>
Hexadecimal Numbers Base 16 Hex Digit Decimal Equivalent Binary Equivalent 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 1 B 11 C 12 D 13 E 14 F 15 <22>
Hexadecimal Numbers Base 16 Hex Digit Decimal Equivalent Binary Equivalent 1 1 1 2 2 1 3 3 11 4 4 1 5 5 11 6 6 11 7 7 111 8 8 1 9 9 11 1 11 B 11 111 C 12 11 D 13 111 E 14 111 F 15 1111 <23>
Hexadecimal to Binary Conversion Hexadecimal to binary conversion: Convert 4F 16 (also written x4f) to binary Hexadecimal to decimal conversion: Convert x4f to decimal <24>
Hexadecimal to Binary Conversion Hexadecimal to binary conversion: Convert 4F 16 (also written x4f) to binary 1 11 1111 2 Hexadecimal to decimal conversion: Convert 4F 16 to decimal 16 2 4 + 16 1 1 + 16 15 = 1199 1 <25>
Bits, Bytes, Nibbles Bits Bytes & Nibbles Bytes in HEX 1111 most significant bit byte 1111 nibble CEBF9D7 most significant byte least significant bit least significant byte <26>
Large Powers of Two 2 1 = 1 kilo 1 (124) 2 2 = 1 mega 1 million (1,48,576) 2 3 = 1 giga 1 billion (1,73,741,824) <27>
Estimating Powers of Two What is the value of 2 24? How many values can a 32-bit variable represent? <28>
Estimating Powers of Two What is the value of 2 24? 2 4 2 2 16 million How many values can a 32-bit variable represent? 2 2 2 3 4 billion <29>
Logic Gates Perform logic functions: inversion (NOT), ND, OR, NND, NOR, etc. Single-input: NOT gate, buffer Two-input: ND, OR, XOR, NND, NOR, XNOR Multiple-input <3>
Single-Input Logic Gates NOT BUF = = 1 1 <31>
Single-Input Logic Gates NOT BUF = 1 1 = 1 1 Verilog ssign = ~; ssign = ; <32>
Two-Input Logic Gates ND OR B B = B B 1 1 1 1 = + B B 1 1 1 1 <33>
Two-Input Logic Gates ND OR B B = B B 1 1 1 1 1 ll Ones = + B B 1 1 1 1 1 1 1 ny Ones Verilog ssign = & B; ssign = B; <34>
More Two-Input Logic Gates XOR NND NOR XNOR B B B B = + B = B = + B = + B B 1 1 1 1 B 1 1 1 1 B 1 1 1 1 B 1 1 1 1 <35>
More Two-Input Logic Gates XOR NND NOR XNOR B B B B = + B = B = + B = + B B 1 1 1 1 1 1 B 1 1 1 1 1 1 1 B 1 1 1 1 1 B 1 1 1 1 1 1 Different Not Ones Not Zeros Same Verilog ssign = ^ B; ssign = ~& B; ssign = ~ B; ssign = ~ ^ B; <36>
Multiple-Input Logic Gates B C NOR3 B C ND3 = +B+C = BC 1 1 1 1 B C 1 1 1 1 1 1 1 1 1 1 1 1 B C 1 1 1 1 1 1 1 1 <37>
Multiple-Input Logic Gates B C NOR3 B C ND3 = +B+C = BC 1 1 1 1 B C 1 1 1 1 1 1 1 1 1 1 1 1 1 B C 1 1 1 1 1 1 1 1 1 Verilog ssign = ~( B C ); ssign = & B & C; Multi-input XOR: Odd parity generator <38>
7432 748 Example Prototype of Logic Function +5VDC B C F= (B+C) Verilog ssign = & ( B C ); F Build with TTL Chips B C F GND <41>
Truth Table B C F= (B+C) F Inputs Output B C +B F LED 1 1 1 1 1 1 1 1 1 1 1 1 <42>
Truth Table B C F= (B+C) F Inputs Output B C +B F LED OFF 1 OFF 1 1 OFF 1 1 1 1 ON 1 1 OFF 1 1 1 1 ON 1 1 1 OFF 1 1 1 1 1 ON <43>