lecture 1: introduction to digital logic...

38
1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design Techniques for Digital Systems Spring 2017 CK Cheng Dept. of Computer Science and Engineering University of California, San Diego

Upload: nguyenkhuong

Post on 30-Mar-2018

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

1

Lecture 1: Introduction to Digital Logic Design

CSE 140: Components and Design Techniques for Digital Systems

Spring 2017

CK Cheng Dept. of Computer Science and Engineering

University of California, San Diego

Page 2: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Outlines • Staff

– Instructor, TAs, Tutors • Logistics

– Websites, Textbooks, Grading Policy • Motivation

– Moore’s Law, Internet of Things • Scope

– Position among courses – Coverage

2

Page 3: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Information about the Instructor • Instructor: CK Cheng • Education: Ph.D. in EECS UC Berkeley • Industrial Experiences: Engineer of AMD, Mentor

Graphics, Bellcore; Consultant for technology companies

• Email: [email protected] • Office: Room 2130 CSE Building • Office hours are posted on the course website

– 2-250PM Tu; 330-420PM Th • Websites

– http://cseweb.ucsd.edu/~kuan – http://cseweb.ucsd.edu/classes/sp17/cse140-a

3

Page 4: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Information about TAs and Tutors TAs • He, Jennifer Lily email:[email protected] • Jakate, Prateek Ravindra email:[email protected] • Knapp, Daniel Alan email:[email protected] • Luo, Mulong email:[email protected] (BSV CSE140L Winter 2017) • Shih, Yishin email:[email protected] (BSV CSE140L Winter 2017) Tutors • Guan, Yuxiang email:[email protected] • Huh, Sung Rim email:[email protected] • Li, Xuanang email:[email protected] • Lu, Anthony email:[email protected] • Park, Dong Won email:[email protected] • Wang, Moyang email:[email protected] • Yao, Bohan email:[email protected] • Yu, Yue email:[email protected] Office hours will be posted on the course website 4

Presenter
Presentation Notes
Office hours and paper correction
Page 5: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Logistics: Sites for the Class • Class website

– http://cseweb.ucsd.edu/classes/sp17/cse140-a/index.html – Index: Staff Contacts and Office Hrs – Syllabus

• Grading policy • Class notes • Assignment: Homework and zyBook Activities • Exercises: Solutions and Rubrics

• Forum (Piazza): Online Discussion *make sure you have access • ACMS Labs ieng6: BSV mainly for CSE140L • zyBook: UCSDCSE140ChengSpring2017 • TritonEd: Score record

5

Presenter
Presentation Notes
Joint website
Page 6: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

6

Logistics: Textbooks Required text: • Online Textbook: Digital Design by F. Vahid

1. Sign up at zyBooks.com 2. Enter zyBook code UCSDCSE140ChengSpring2017 3. Fill email address with domain ucsd.edu 4. Fill section A01 or A02 5. Click Subscribe $48

• BSV by Example, R.S. Nikhil and K. Czeck, 2010 (online). Reference texts (recommended and reserved in library) • Digital Design, F. Vahid, 2010 (2nd Edition). • Digital Design and Computer Architecture, D.M. Harris and S.L.

Harris, Morgan Kaufmann, 2015 (ARM Edition). • Digital Systems and Hardware/Firmware Algorithms, Milos D.

Ercegovac and Tomas Lang.

Page 7: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Lecture: iCliker for Peer Instruction • I will pose questions. You will

– Solo vote: Think for yourself and select answer – Discuss: Analyze problem in teams of three

• Practice analyzing, talking about challenging concepts • Reach consensus

– Class wide discussion: • Led by YOU (students) – tell us what you talked about in

discussion that everyone should know.

• Many questions are open, i.e. no exact solutions. – Emphasis is on reasoning and team discussion – No solution will be posted

7

Page 8: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

8

Grade on style, completeness and correctness • zyBook exercises: 20% • iClicker: 9% (by participation up to three quarters of classes) • Homework: 15% (grade based on a subset of problems. If more

than 85% of class fill out CAPE evaluations, the lowest homework score will be dropped)

• Midterm 1: 27% (T 5/2/17) • Midterm 2: 28% (Th 6/8/17) • Final: 1% (take home exam, due 10PM, Th 6/15/17) • Grading: The best of the following

– The absolute: A- >90% ; B- >80% of total 100% score – The curve: (A+,A,A-) top 33+ε% of class; (B+,B,B-) second

33+ε% – The bottom: C- above 45% of absolute score.

Logistics: Grading

Page 9: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

A word on the grading components • zyBook: Interactive learning experience

– Reset of answers causes no penalty – No excuse for delay

• iClicker: – Clarification of the concepts and team discussion – Participation of three quarters of class – No excuse for missing

• Homework: BSV (Bluespec System Verilog) will be used – Practice for exams. Group discussion is encouraged – However, we are required to write them individually for the

best results – Discount 10% loss of credit for each day after the deadline

but no credit after the solution is posted. – Metric: Posted solutions and rubrics, but not grading results

9

Page 10: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

A word on the grading components • Midterms: (Another) Indication of how well we have absorbed

the material – Samples will be posted for more practices. – Solution and grading policy will be posted after the exam. – Midterm 2 is not cumulative but requires a good command

of the whole class. • Final:

– Take home exam – Application of the class materials – Free to use libraries but no group discussion – Fun and educational to work on.

10

Page 11: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

BSV: Bluespec System Verilog

• High Level Language for Hardware (above Verilog)

• Promote modular design methodology • Inventor: Arvind, MIT while he started an

Ethernet router chip company. • CSE140L Winter 2017 started BSV (Arvind,

Gupta) • CSE140L Spring 2017 adopts BSV (Isaac Chu) • CSE140: Our homework will use BSV (learn by

examples) 11

Page 12: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Course Problems…Cheating

• What is cheating? –Studying together in groups is not cheating but encouraged –Turned-in work must be completely your own. –Copying someone else’s solution on a HW or exam is cheating –Both “giver” and “receiver” are equally culpable

• We have to address the issue once the cheating is reported by TAs or tutors.

12

Page 13: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

13

Motivation • Microelectronic technologies have revolutionized

our world: cell phones, internet, rapid advances in medicine, etc.

• The semiconductor industry has grown from $21 billion in 1985 to $335 billion in 2015.

Page 14: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

The Digital Revolution

WWII

Integrated Circuit: Many digital operations on the same material

ENIAC Moore’s Law

1965 1949

Integrated Circuit

Exponential Growth of Computation

Vacuum tubes

(1.6 x 11.1 mm)

Stored Program Model 14

Presenter
Presentation Notes
The stored program model computers and the invention of the transistor and the integrated circuit generated an exponential growth in computing devices and computers – why? Von neumann architecture – put both data and instructions on the same electronic medium – memory. The whole machine could be constructed from digital logic/circuits. Digital logic was in turn constructed using electronic circuits – different discrete components vacuum tubes (switches), capacitors, resistors. But the way digital circuits were constructed underwent a revolution once the transistor came along. The transistor replaced the vacuum tube (both are switches) – given a control signal they either let current pass through them (logic 1) or stop current (logic 0). Discrete circuits were replaced by integrated circuits (everything made from the same silicon material). The whole computer shrank.
Page 15: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Building complex circuits

15

Transistor

Page 16: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

16

Robert Noyce, 1927 - 1990 • Nicknamed “Mayor of Silicon

Valley” • Cofounded Fairchild

Semiconductor in 1957 • Cofounded Intel in 1968 • Co-invented the integrated

circuit

Page 17: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

17

Gordon Moore

• Cofounded Intel in 1968 with Robert Noyce.

• Moore’s Law: the number of transistors on a computer chip doubles every 1.5 years (observed in 1965)

Page 18: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Technology Trends: Moore’s Law

• Since 1975, transistor counts have doubled every two years. 18

Page 19: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

19

Scope

• The purpose of this course is that we: – Learn the principles of digital design – Learn to systematically debug increasingly

complex designs – Design and build digital systems – Learn what’s under the hood of an electronic

component

Page 20: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Position among CSE Courses

• Big idea: Coordination of many levels of abstraction

CSE 140

I/O system Processor

Compiler Operating System (Mac OSX)

Application (ex: browser)

Digital Design Circuit Design

Instruction Set Architecture

Datapath & Control

Transistors

Memory Hardware

Software Assembler

Dan Garcia

CSE 120

CSE 140,141

CSE 131

Algos: CSE 100, 101

Page 21: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

21

Principle of Abstraction

Abstraction: Hiding details when they are not important

Physics

Devices

AnalogCircuits

DigitalCircuits

Logic

Micro-architecture

Architecture

OperatingSystems

ApplicationSoftware

electrons

transistorsdiodes

amplifiersfilters

AND gatesNOT gates

addersmemories

datapathscontrollers

instructionsregisters

device drivers

programs

focu

s of t

his co

urse

CSE 30

CSE 141

CSE 140

Page 22: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

22

Scope: Overall Picture of CS140

Sequential machine

Conditions

Control

Mux

Memory File

ALU

Memory Register

Conditions

Input

Pointer

CLK: Synchronizing Clock

Data Path Subsystem

Select

Control Subsystem

BSV: Design specification and modular design methodology

Page 23: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

23

fi(x,s)

x1 . . . xn

Combinational Logic vs Sequential Network

Combinational logic: yi = fi(x1,..,xn)

CLK Sequential Networks 1. Memory 2. Time Steps (Clock) yi

t = fi (x1t,…,xn

t, s1t, …,sm

t)

sit+1 = gi(x1

t,…,xnt, s1

t,…,smt)

fi(x)

x1 . . . xn

fi(x) fi(x)

x1 . . . xn

fi(x) si

Page 24: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

24

Scope Subjects Building Blocks Theory

Combinational Logic

AND, OR, NOT, XOR

Boolean Algebra

Sequential Network

AND, OR, NOT, FF

Finite State Machine

Standard Modules

Operators, Interconnects, Memory

Arithmetics, Universal Logic

System Design Data Paths, Control Paths

Methodologies

Page 25: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

25

Combinational Logic

Basics

Page 26: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

What is a combinational circuit?

26

• No memory • Realizes one or more functions • Inputs and outputs can only have two discrete values

• Physical domain (usually, voltages) (Ground 0V, Vdd 1V) • Mathematical domain : Boolean variables (True, False)

Differentiate between different representations: • physical circuit • schematic diagram • mathematical expressions

Page 27: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

<27>

Boolean Algebra A branch of algebra in which the values of the variables belong to a set B (e.g. {0, 1}), has two operations {+, .} that satisfy the following four sets of laws. •Commutative laws: a+b=b+a, a·b=b·a •Distributive laws: a+(b·c)=(a+b)·(a+c), a·(b+c)=a·b+a·c •Identity laws: a+0=a, a·1=a •Complement laws: a+a’=1, a·a’=0 (x’: the complement element of x)

Page 28: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Representations of combinational circuits: The Schematic

28

A

B

Y

• What is the simplest combinational circuit that you

know?

Page 29: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Representations of combinational circuits Truth Table: Enumeration of all combinations

29

A

B

Y=AB

Example: AND

id A B Y 0 0 0 0 1 0 1 0 2 1 0 0 3 1 1 1

Page 30: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

<30>

Boolean Algebra Similar to regular algebra but defined on sets with only three basic ‘logic’ operations: 1. Intersection: AND (2-input); Operator: . ,& 2. Union: OR (2-input); Operator: + ,| 3. Complement: NOT ( 1-input); Operator: ‘ ,! “&, |, !” Symbols in BSV

Page 31: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

31

Two-input AND ( ∙ )

A B Y 0 0 0 0 1 0 1 0 0 1 1 1

AND A B Y 0 0 0 0 1 1 1 0 1 1 1 1

OR A Y 0 1 1 0

NOT

Boolean algebra and switching functions

For an AND gate, 0 at input blocks the other inputs and dominates the output 1 at input passes signal A

For an OR gate, 1 at input blocks the other inputs and dominates the output 0 at input passes signal A

A 1 1

A 0 A

A 1 A

A 0 0

Two-input OR (+ ) One-input NOT (Complement, ’ )

Page 32: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

<32>

Boolean Algebra iClicker Q: For two Boolean variables X and Y with X=1, Y=0, what is function F(X,Y)=X+Y? A.F(X,Y)=0 B.F(X,Y)=1 C.F(X,Y)=2

Page 33: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

<33>

Boolean Algebra iClicker Q: For two Boolean variables X and Y with X=1, Y=0, what is function F(X,Y)=X+X+Y? A.F(X,Y)=0 B.F(X,Y)=1 C.F(X,Y)=2

Page 34: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

<34>

Boolean Algebra iClicker Q: For two Boolean variables X and Y with X=1, Y=0, what is function F(X,Y)=X+XY? A.F(X,Y)=0 B.F(X,Y)=1 C.F(X,Y)=2

Page 35: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

<35>

Boolean Algebra iClicker Q: For two Boolean variables X and Y with X=1, Y=0, what is function F(X,Y)=(X+Y)Y? A.F(X,Y)=0 B.F(X,Y)=1 C.F(X,Y)=2

Page 36: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

36

So, what is the point of representing gates as symbols and Boolean expressions?

ab + cd a b

c d e

cd

ab

y=e (ab+cd)

Logic circuit vs. Boolean Algebra Expression

• Given the Boolean expression, we can draw the circuit it represents by cascading gates (and vice versa)

Page 37: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

37

BSV Description: An example

ab + cd a b

c d e

cd

ab

y=e (ab+cd)

function Bit#(1) fy(Bit#(1) a, Bit#(1) b, Bit#(1) c, Bit#(1) d, Bit#(1) e); Bit#(1) y= e &((a &b) | (c&d)); return y; endfunction

“Bit#(n)” type declaration says that a is n bit wide.

Page 38: Lecture 1: Introduction to Digital Logic Designcseweb.ucsd.edu/classes/sp17/cse140-a/slides/lec1.pdf · 1 Lecture 1: Introduction to Digital Logic Design CSE 140: Components and Design

Next class

• Designing Combinational circuits

38