ee109 digital circuits

69
2.1 Unit 2 Digital Circuits (Logic)

Upload: others

Post on 02-Oct-2021

6 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: EE109 Digital Circuits

2.1

Unit 2

Digital Circuits (Logic)

Page 2: EE109 Digital Circuits

2.2

ANALOG VS. DIGITAL

Moving from voltages to 1's and 0's…

Page 3: EE109 Digital Circuits

2.3

Signal Types• Analog signal

– Continuous time signal where each voltage level has a unique meaning

– Most information types are inherently analog

• Digital signal– Continuous signal where voltage levels are mapped into 2 ranges

meaning 0 or 1

– Possible to convert a single analog signal to a set of digital signals

0

1

0

1

0

vo

lts

vo

lts

timetime

Analog Digital

Threshold

Page 4: EE109 Digital Circuits

2.4

Signals and Meaning

0.0 V

0.8 V

2.0 V

5.0 V

Each voltage value

has unique meaning

0.0 V

5.0 V

Lo

gic

1L

og

ic 0

Ille

gal

Analog Digital

Threshold Range

Each voltage maps to '0' or '1'

(There is a small illegal range where meaning is

undefined since threshold can vary based on

temperature, small variations in manufacturing, etc.)

Page 5: EE109 Digital Circuits

2.5

Analog vs. DigitalUSC students used to program analog computers!

Page 6: EE109 Digital Circuits

2.6

COMPUTERS AND SWITCHING TECHNOLOGY

A Brief History

Page 7: EE109 Digital Circuits

2.7

Transistor Overview

Individual Transistors

(About the size of your fingertip)

Transistor

is 'on'

Transistor

is 'off'

Gate

+5V

Source Drain

- - - -

--

High voltage at gate allows

current to flow from source to

drain

Gate

0V

Drain

-

Low voltage at gate prevents

current from flowing from

source to drain

-

Silicon

Silicon

Source

Vo

ltag

e a

t th

e g

ate

co

ntr

ols

th

e o

pera

tio

n

of

the

tra

ns

isto

r

• Electronic computers require some kind of "switching" (on/off) technology that allows one signal to turn another signal on or off

– Initially that was the vacuum tube but then replaced by the transistor

• Invented by Bell Labs in 1948

• Uses semiconductor materials (silicon)

• Much smaller, faster, more reliable (doesn't burn out), and dissipated less power than previous technologies (e.g. vacuum tubes).

Page 8: EE109 Digital Circuits

2.8

Moore's Law & Transistors

• We continue to shrink the size of the transistor structure

• Moore's Law = Number of transistors able to be fabricated on a chip will double every 1.5 – 2 years (i.e. exponential growth)

– We are approaching the physical limitations of this shrinking

– 53% compound annual growth rate over 50 years• No other technology has grown so fast so long

• Transistors are the fundamental building block of computer HW

– Switching devices: Can conduct [on = 1] or not-conduct [off = 0] based on an input voltage

Page 9: EE109 Digital Circuits

2.9

How Does a Transistor Work

• Transistor inner workings

– http://www.youtube.com/watch?v=IcrBqCFLHIY

Page 10: EE109 Digital Circuits

2.10

NMOS Transistor Physics

• Let's review what we saw in the video…

• Transistor is started by implanting two n-type silicon areas, separated by p-type

n-type silicon (extra

negative charges)

p-type silicon

("extra" positive charges)

-

+

+

+

-

-

-Source

InputDrain

Input

Page 11: EE109 Digital Circuits

2.11

NMOS Transistor Physics

• A thin, insulator layer (silicon dioxide or just "oxide") is placed over the silicon between source and drain

n-type silicon (extra

negative charges)

Insulator Layer

(oxide)

p-type silicon

("extra" positive charges)

-

+

+

+

-

-

-

Source Input Drain Output

Page 12: EE109 Digital Circuits

2.12

NMOS Transistor Physics

• A thin, insulator layer (silicon dioxide or just "oxide") is placed over the silicon between source and drain

• Conductive polysilicon material is layered over the oxide to form the gate input

n-type silicon (extra

negative charges)

Insulator Layer

(oxide)

p-type silicon

("extra" positive charges)

conductive

polysilicon

-

+

+

+

-

-

-

Gate InputSource Input Drain Output

Page 13: EE109 Digital Circuits

2.13

NMOS Transistor Physics

• Positive voltage (charge) at the gate input repels the extra positive charges in the p-type silicon

• Result is a negative-charge channel between the source input and drain

p-type

Gate Input

Source Input Drain Output

n-type

+

+

+

+

+

+ + + +

+ + + +

- - -

negatively-charge

channel

--

positive charge

"repelled"

Page 14: EE109 Digital Circuits

2.14

NMOS Transistor Physics

• Electrons can flow through the negative channel from the source input to the drain output

• The transistor is "on" p-type

Gate Input

Source Input Drain Output

n-type

+

+

+

+

+

+ + + +

+ + +

-

-

-

- - - --

-

-

+

- -

Negative channel between

source and drain =

Current flow

- -

Page 15: EE109 Digital Circuits

2.15

NMOS Transistor Physics

• If a low voltage (negative charge) is placed on the gate, no channel will develop and no current will flow

• The transistor is "off" p-type

Gate Input

Source Input Drain Output

n-type

-

-

-

-

-

- - - -

+

+

+

No negative channel

between source and drain

= No current flow

-

-

- --

-

-

+ + +

Page 16: EE109 Digital Circuits

2.16

View of a Transistor

• Cross-section of transistors on an IC

• Moore's Law is founded on our ability to keep shrinking transistor sizes

– Gate/channel width shrinks

– Gate oxide shrinks

• Transistor feature size is referred to as the implementation "technology node"

Electron Microscope View of Transistor Cross-Section

Page 17: EE109 Digital Circuits

2.17

Minimum Feature Size

Page 18: EE109 Digital Circuits

2.18

Processor Trends

1971 – Intel 4004

1000 transistors

10,000 nm wire width

Max 4K-bits addressable memory

1 MHz operation

• 2nd Gen. Intel Core i7 Extreme

Processor for desktops launched

in Q4 of 2012

• #cores/#threads: 6/12

• Technology node: 32nm wire width

• Clock speed: 3.5 GHz

• Transistor count: Over one billion

• Cache: 15MB

• Addressable memory: 64GB

Page 19: EE109 Digital Circuits

2.19

ARM Cortex A15

ARM Cortex A15 in 2011 to 2013

• 4 cores per cluster, two clusters per chip

• Technology node: 22nm

• Clock speed: 2.5 GHz

• Transistor count: Over one billion

• Cache: Up to 4MB per cluster

• Addressable memory: up to 1TB

• Size: 52.5mm by 45.0mm

19

Page 20: EE109 Digital Circuits

2.20

DIGITAL LOGIC GATES

Page 21: EE109 Digital Circuits

2.21

Transistors and Logic

• Transistors act as switches (on or off)

• Logic operations (AND / OR) formed by connecting them in specific patterns

– Series Connection

– Parallel Connection

Series Connection

S1 AND S2 must be

on for A to be

connected to B

Parallel Connection

S1 OR S2 must be

on for A to be

connected to B

A BS2S1

A BS1

S2

Page 22: EE109 Digital Circuits

2.22

Gates

• Each logical operation (AND, OR, NOT) can be implemented as an digital device called a "gate"

– The schematic symbols below are used to represent each logic gate

• Each logic gate can be built by connecting transistors in various configurations

AND Gate OR Gate NOT Gate

Page 23: EE109 Digital Circuits

2.23

AND Gates• An AND gate outputs a '1' (true) if ALL inputs are '1' (true)

• Gates can have several inputs

• Behavior can be shown in a truth table (listing all possible input combinations and the corresponding output)

Y

XF

X Y F

0 0 0

0 1 0

1 0 0

1 1 1

2-input AND

X Y Z F

0 0 0 0

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

3-input AND

F

X

Y

Z

F=X•Y F=X•Y•Z

Page 24: EE109 Digital Circuits

2.24

OR Gates

• An OR gate outputs a '1' (true) if ANY input is '1' (true)

• Gates can also have several inputs

Y

XF

X Y F

0 0 0

0 1 1

1 0 1

1 1 1

2-input OR

X Y Z F

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

3-input OR

F

X

Y

Z

F=X+Y F=X+Y+Z

Page 25: EE109 Digital Circuits

2.25

Buffer & NOT (Inverter) Gate

• A Buffer simply passes a digital value

– But strengthens it electrically (e.g. boosts 3.7V closer to 5V)

• A NOT (aka "inverter") gate inverts a digital signal to its opposite value (i.e. flips a bit)

X F

X F

1 0

0 1

F = X or X'

the "bubble" (logically performs the inversion)

X F

0 0

1 1

F = X

X F

bar or ' mean inversion

Page 26: EE109 Digital Circuits

2.26

Aside: How Do You Build an Inverter (1)?

• A simple (though maybe not ideal) method to build an inverter is to place a transistor in series with a resistor– Input to inverter is input to transistor

– Output of inverter is node between resistor and transistor

• We can model the transistor as a resistor

• Develop an equation for Vout using the voltage divider eqn.

Vdd

GND

Vin

Vout

Rpullup

Vdd

GND

Vin

Vout

Rpullup

RTrans

VoutVin

𝑉𝑜𝑢𝑡 = 𝑉𝑑𝑑 ∗𝑅𝑡𝑟𝑎𝑛𝑠

𝑅𝑡𝑟𝑎𝑛𝑠 + 𝑅𝑝𝑢𝑙𝑙𝑢𝑝

Page 27: EE109 Digital Circuits

2.27

Aside: How Do You Build an Inverter (2)?

• First, estimate the resistance of Rtrans if Vin is 0 (low) then again if Vin is 1 (high-voltage)

• Use that estimate in your equation for Vout to determine the output voltage

Vdd

GND

0

Vout = ____

Rpullup

Rtrans = ____

Vdd

GND

1

(Vdd)

Rpullup

Rtrans = ____

Vout = ____

Page 28: EE109 Digital Circuits

2.28

NAND and NOR Gates

NAND NOR

ZX

YZ

X Y Z

0 0 1

0 1 0

1 0 0

1 1 0

X

Y

X Y Z

0 0 1

0 1 1

1 0 1

1 1 0

YXZ = YXZ +=

X Y Z

0 0 0

0 1 0

1 0 0

1 1 1

X Y Z

0 0 0

0 1 1

1 0 1

1 1 1

AND NAND OR NOR

True if NOT ANY

input is true

True if NOT ALL

inputs are true

• Inverted versions of the AND and OR gate

Page 29: EE109 Digital Circuits

2.29

XOR and XNOR Gates

XOR

FX

Y

X Y F

0 0 0

0 1 1

1 0 1

1 1 0

XNOR

FX

Y

X Y F

0 0 1

0 1 0

1 0 0

1 1 1

YXF = YXF =

True if an odd # of inputs are true

= True if inputs are different

True if an even # of inputs are true

= True if inputs are same

➢ Exclusive OR gate. Outputs a '1' if either input is a

'1', but not both.

X Y Z F

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

X

Y

Z

F

X Y Z F

0 0 0 1

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 0

X

Y

Z

F

Page 30: EE109 Digital Circuits

2.30

Gate Summary

• You should know and memorize the truth tables of these basic gates

X Y AND OR NAND NOR XOR XNOR

0 0 0 0 1 1 0 1

0 1 0 1 1 0 1 0

1 0 0 1 1 0 1 0

1 1 1 1 0 0 0 1

Y

XF

Y

XF

X F

X F

1 0

0 1

Page 31: EE109 Digital Circuits

2.31

A

B

C

D

F

Logic Example

• To build useful digital circuits often requires networks of gates where one output feeds the input of another gate

10

0

1

0 01

0

1

Page 32: EE109 Digital Circuits

2.32

Logic Example

00

1

0

0 11

1

1A

B

C

D

F

Page 33: EE109 Digital Circuits

2.33

Practice: Waveform Diagrams

• Waveform diagrams show digital circuit operation over time

– Vertical axis: Each signal can be HIGH (1) or LOW (0)

– Horizontal axis: time

• Complete the waveform for the given circuit

F

A

B

C

x

y

w

A

B

C

x

F

y

wNOT of B

A and w

B or C

x xor y

Page 34: EE109 Digital Circuits

2.34

DIGITAL DESIGN GOALS

Speed, area, and power

Page 35: EE109 Digital Circuits

2.35

Digital Design Goals

• When designing a circuit, we want to optimize for the following three things:– Area or Circuit Size (minimize)

– Speed (maximize) or Delay (minimize)

– Power (minimize)

• Can usually only optimize one or two of the 3– There is a huge trade space! This is what engineering is all about!

Page 36: EE109 Digital Circuits

2.36

Minimizing Circuit Area

• Approaches:

– Reduce the number of gates used to implement a circuit

– Reduce the number of inputs to each gate

• In general a gate with n inputs requires 2*n transistors to implement

• Simplify logic expressions (usually by factoring and then canceling terms) to reduce the number of gates

– We'll learn more about this soon

Page 37: EE109 Digital Circuits

2.37

Maximizing Speed

• Speed is affected by:

– Levels of logic (path length)

– Gate type

– Number of inputs (fan-in) to the gate

• Usually limited to 4-5 input gates

– Number of outputs a gate connects to (fan-out)

– Feature size and implementation technology

Page 38: EE109 Digital Circuits

2.38

Delay Example

00

1

0

0 11

1

1A

B

C

D

F

1 00

0

1

4 Levels of Logic

Change in D, C, or A must propagate

through 4 levels of gates

• Gates take time for the output to change once the inputs change (aka propagation delay)

• Levels of Logic = Maximum # of gates on any path from input to output

Page 39: EE109 Digital Circuits

2.39

Gate Delays

• Order the gate types in terms of fastest to slowest?

• Typical gate delay for a 2-input NAND or NOR is under a 100 ps

ZX

YZ

X

Y

ZX

YZ

X

Y

X Z

X

YZ Z

X

Y

1

2

3

4

Page 40: EE109 Digital Circuits

2.40

Logical Operations Summary• All digital circuits can be described using AND, OR,

and NOT– Note: You'll learn in future courses that digital circuits

can be described with any of the following sets: • {AND, NOT}, {OR, NOT}, {NAND only}, or {NOR only}

• Normal convention: 1 = true / 0 = false

• A logic circuit takes some digital inputs and transforms each possible input combination to a desired output values

Logic

CircuitI0

I1

I2

O0

O1

Inputs Outputs

Trivia-of-the-day: The Apollo

Guidance Computer that

controlled the lunar spacecraft in

1969 was built out of 8,400

3-input NOR gates.

Page 41: EE109 Digital Circuits

2.41

BOOLEAN ALGEBRA INTRO

Page 42: EE109 Digital Circuits

2.42

Boolean Algebra Intro

• Larger logic circuits are too complex to analyze with truth tables or schematics

• Instead, use mathematical notation (equations) and develop axioms and theorems to help us manipulate logical expressions/equations

– Axioms = Basis / assumptions used

• Digital signals / Binary variables: Only 0s and 1s

• 3 fundamental logic operations: AND, OR, NOT

– Theorems = Statements derived from axioms

Page 43: EE109 Digital Circuits

2.43

Single Variable Theorems

• Provide some simplifications for expressions containing:– a single variable

– a single variable and a constant bit

• Each theorem has a dual (another true statement)– Dual is formed by swapping 0s <=> 1s as well as ANDs <=> ORs

• Each theorem can be proved by writing a truth table for both sides (i.e. proving the theorem holds for all possible values of X)

T1 X + 0 = X T1' X • 1 = X

T2 X + 1 = 1 T2' X • 0 = 0

T3 X + X = X T3' X • X = X

T4 (X')' = X

T5 X + X' = 1 T5' X • X' = 0

Page 44: EE109 Digital Circuits

2.44

Duality

• The “dual” of an expression is not equal to the original

• Taking the “dual” of both sides of an equation yields a new equation

• Boolean algebra theorems are LOGO (learn-one, get one free)

1 + 0 0 • 1Original

expression

Dual≠

X + 1 = 1

Original equation Dual

X • 0 = 0

Page 45: EE109 Digital Circuits

2.45

Single Variable Theorem (T1)

X+0 = X (T1) X•1 = X (T1’)

X Y Z

0 0 0

0 1 1

1 0 1

1 1 1

X Y Z

0 0 0

0 1 0

1 0 0

1 1 1

OR AND

Whenever a variable is OR’ed with 0,

the output will be the same as the

variable…

“0 OR Anything equals that

anything”

Whenever a variable is AND’ed with

1, the output will be the same as the

variable…

“1 AND Anything equals that

anything”

Hold Y

constant

Page 46: EE109 Digital Circuits

2.46

Single Variable Theorem (T2)

X+1 = 1 (T2) X•0 = 0 (T2’)

X Y Z

0 0 0

0 1 1

1 0 1

1 1 1

X Y Z

0 0 0

0 1 0

1 0 0

1 1 1

OR AND

Whenever a variable is OR’ed with 1,

the output will be 1…

“1 OR anything equals 1”

Whenever a variable is AND’ed with

0, the output will be 0…

“0 AND anything equals 0”

Hold Y

constant

Page 47: EE109 Digital Circuits

2.47

Single Variable Theorem (T3)

X+X = X (T3) X•X = X (T3’)

X Y Z

0 0 0

0 1 1

1 0 1

1 1 1

X Y Z

0 0 0

0 1 0

1 0 0

1 1 1

OR AND

Whenever a variable is OR’ed with

itself, the result is just the value of the

variable

Whenever a variable is AND’ed with

itself, the result is just the value of the

variable

This theorem can be used to reduce two identical terms into one

OR to replicate one term into two.

Page 48: EE109 Digital Circuits

2.48

Single Variable Theorem (T4)

Anything inverted twice yields its original value

(X) = X (T4)

X=0 X=1 (X)=0

X X X

1 0 1

0 1 0

Page 49: EE109 Digital Circuits

2.49

Single Variable Theorem (T5)

X+X = 1 (T5) X•X = 0 (T5’)

X Y Z

0 0 0

0 1 1

1 0 1

1 1 1

X Y Z

0 0 0

0 1 0

1 0 0

1 1 1

OR AND

Whenever a variable is OR’ed with its

complement, one value has to be 1

and thus the result is 1

This theorem can be used to simplify variables into a constant or to

expand a constant into a variable.

Whenever a variable is AND’ed with

its complement, one value has to be

0 and thus the result is 0

Page 50: EE109 Digital Circuits

2.50

Practice

• Exercise 1: Given the circuit below, write the corresponding logic equation for Y

• Exercise 2: Suppose we learn S=0, simply the equation for Y using T1-T5

• Exercise 3: Suppose we learn S=1, simply the equation for Y using T1-T5

IN0

S

IN1

Y

Page 51: EE109 Digital Circuits

2.51

Application (if time): Channel Selector

• Given 4 input, digital music/sound channels and 4 output channels

• Given individual “select” inputs that select 1 input channel to be routed to 1 output channel

Channel

Selector

ICH0

ICH1

ICH2

ICH3

OCH0

OCH1

OCH2

OCH3

ISE

L0

ISE

L1

ISE

L2

ISE

L3

OS

EL

0

OS

EL

1

OS

EL

2

OS

EL

3

4 Input channels

4 Output

channels

Input

Channel

Select

Output

Channel

Select

011010101001101

101010110101010

101001010101111

001010101001011

Page 52: EE109 Digital Circuits

2.52

Application: Steering Logic

• 4-input music channels (ICHx)

– Select one input channel (use ISELx inputs)

– Route to one output channel (use OSELx inputs)

011010101001101

101010110101010

101001010101111

001010101001011

ICH 0

ICH 1

ICH 2

ICH 3

ISE

L0

ISE

L1

ISE

L2

ISE

L3

OS

EL0

OS

EL

1

OS

EL

2

OS

EL

3

OCH 0

OCH 1

OCH 2

OCH 3

Page 53: EE109 Digital Circuits

2.53

Application: Steering Logic

• 1st Level of AND gates act as barriers only passing 1 channel• OR gates combines 3 streams of 0’s with the 1 channel that got passed (i.e.

ICH1)• 2nd Level of AND gates passes the channel to only the selected output

ICH 0

ICH 1

ICH 2

ICH 3

ISE

L0

I SE

L1

I SE

L2

I SE

L3

OS

EL0

OS

EL

1

OS

EL

2

OS

EL

3

OCH 0

OCH 1

OCH 2

OCH 3

0 0 0 1

0

0

0

1

0

0

0

ICH1

ICH1

1

0

0

0

ICH1

ICH1

ICH1

ICH1 ICH1

0

0

0

0 1 0 0 OR:

0 + ICH1 + 0 + 0

= ICH1

AND:

1 AND ICH1 = ICH1

0 AND ICH1 = 0

AND:

1 AND ICHx = ICHx

0 AND ICHx = 0

Connection

Point

Page 54: EE109 Digital Circuits

2.54

COMBINATIONAL VS. SEQUENTIAL LOGIC

Processing and Storing bits

Page 55: EE109 Digital Circuits

2.55

Combinational vs. Sequential Logic

• All logic is categorized into 2 groups

– Combinational logic:

• Outputs = f(current inputs)

• MEMORYLESS circuits – Outputs only depend on inputs now

– Sequential Logic

• Outputs = f(current + past inputs)

• Stateful (having "memory") - Remembering inputs or events that happened in the past

Page 56: EE109 Digital Circuits

2.56

Combinational vs. Sequential

Outputs depend only on current

outputs

Outputs depend on current inputs and

previous inputs (previous inputs

summarized via state)

Current inputs Outputs

Currentinputs

Outputs

1 0 1

Sequential Outputs (State)

feedback as inputs

Sequential Inputs

(Next State)

Combinational

Logic

(AND, OR, etc.

gates)

Combinational

Logic

(AND, OR, etc.

gates)

Sequential Logic

(Memory)

Page 57: EE109 Digital Circuits

2.57

Sequential Devices (Registers)

• AND, OR, NOT, NAND, and other gates are combinational logic

– Outputs only depend on what the inputs are right now, not one second ago

– Cannot remember what happened previously

• Sequential logic devices such as a "register" can save or remember a value (even after the input is changed/removed)

– Usually have a controlling signal (aka the "clock") that indicates when the device should update the value it is remembering

– Analogy: Taking a picture with your phone…when you press a button (clock pulse) the camera samples the scene (input) and remembers/saves it as a snapshot (output).

0

XF

Clock

X F

Register0

X

Clock

F

X

F

With combinational circuits, the output must be

generated based only on the current inputs.

With sequential logic, the output can be based

on past inputs and thus the output may be

remembered even after the input changes.

The clock tells the register to

save the X input at this time…

…allowing the

output to stay

high and

remember the

old value, even

after X changes.

The output must

re-evaluate and

update when the

input changes

Page 58: EE109 Digital Circuits

2.58

Combinational Example: Staircase Light Switch

Whether or not the light is

on is only dependent on

the current position of the

switches

S1

S2

Light

Logic

CircuitLight

S1

S2

S1 S2 Light

0 0

0 1

1 0

1 1

The light, L, should be on when…

Page 59: EE109 Digital Circuits

2.59

Water Tank Problem

• Build a control system for a pump to keep the tank from going empty

Sensor

Low

Sensor

Pump Pump

High

Sensor

Page 60: EE109 Digital Circuits

2.60

d(t)

q(t)

Clock pulse

Flip-Flops

• Devices called flip-flops are the building blocks of registers– 1 Flip-flop PER bit of input/output (i.e. a 4-bit register => 4 flip-flops)

– There are many kinds of flip-flops but the most common is the D- (Data) Flip-flop (a.k.a. D-FF)

• D Flip-flops save the value on their D input whenever the clock transitions from 0 -> 1 (i.e. on the clock edge) and output that saved value of D on the Q output until the next edge– Positive Edge: instant the clock transition from low to high (0 to 1)

Positive-Edge Triggered

D-FF

D Q

CLK

D-FFClock Signal

d(t) q(t)

Page 61: EE109 Digital Circuits

2.61

Pulses and Clock Period

• Registers need a clock pulse edge to trigger

• We can generate pulses at specific times that we know the data we want has arrived (at some irregular interval)

• Other registers in our hardware should trigger at a regular interval (i.e. period, T)

– Alternating high/low voltage pulse train

– 1 cycle is usually measured from rising/positive edge to rising/positive edge

– Clock frequency (F) = # of cycles per second

– F = 1/T

• The clock period of a digital circuit is set based on the slowest delay path from the output of a register to the input of the next

Periodic (Regular) Clock Signal

0 (0V)

1 (5V)

1 cycle

2 GHz = 2*109 cycles per second

= 0.5 ns/cycle

Op. 1 Op. 2 Op. 3

Aperiodic (Irregular) Clock Pulses

Clock Period (T) must be > 10 ns

(i.e. < 100 MHz)

Page 62: EE109 Digital Circuits

2.62

Summary

• Combinational logic corresponds to operations that manipulate number (similar to software operators +, -, *, /, <, >, etc.)

• Sequential logic corresponds to variables that can store values for further processing

Page 63: EE109 Digital Circuits

2.63

HISTORY OF DIGITAL COMPUTING

(Background material – NOT TESTED)

Page 64: EE109 Digital Circuits

2.64

Electronic Computers• Replaced mechanical computation

engines

• Electronic computers require some kind of "switching" (on/off) technology

– Initially that was the vacuum tube

• Example: ENIAC (1945)

– One of the first, fully electronic computers

– Used 19,000 vacuum tubes

– Weighed 30 tons

– 15,000 square feet

– Largest number range: 10 decimal digits (±9,999,999,999)

• Many early computers were programmed with patch panels (wire plugs)

Page 65: EE109 Digital Circuits

2.65

Vacuum Tube Technology• Digital, electronic computers use some sort of

voltage controlled switch (on/off)

• Looks like a light bulb

• Usually 3 nodes– 1 node serves as the switch value allowing current to flow

between the other 2 nodes (on) or preventing current flow between the other 2 nodes (off)

– Example: if the switch input voltage is 5V, then current is allowed to flow between the other nodes

Vacuum Tube

Switch

Input

(Hi or Lo

Voltage)

A

B

Current can flow

based on voltage

of input switch

Page 66: EE109 Digital Circuits

2.66

Vacuum Tube Disadvantages

• Relatively large

– Especially when you need 19,000 to make 1 computer

• Unreliable

– Can burn out just like a light bulb

• Dissipate a lot of heat (power)

Page 67: EE109 Digital Circuits

2.67

UNUSED

Page 68: EE109 Digital Circuits

2.68

Usage of Sequential Logic

• Sequential logic (i.e. registers) is used to store values

– Each register is analogous to a variable in your software program

– Remembers a value until told to update

• Combinational logic is used to process bits (i.e. perform operations on values

– Analogous to operators (+,-,*) in your software program

int x = 5;...

x = x + y;

// x's value // remembered for// later useif(x > z) {

}

D Q

CLKClock pulse

X

Register

<

Combinational gates

to add and compare

binary numbers

Z

+

input output

MU

X

Combinational gates (aka a

mux that select which input to

pass (either 5 or the sum of x+y.)

5

Sequential logic to store X

Y

Note: Y and Z would

come from other registers

T/F

Page 69: EE109 Digital Circuits

2.69

Pulses and Clock Period

• Registers need a clock pulse edge to trigger

• We can generate pulses at specific times that we know the data we want has arrived (at some irregular interval)

• Other registers in our hardware should trigger at a regular interval (i.e. period, T)

– Alternating high/low voltage pulse train

– 1 cycle is usually measured from rising/positive edge to rising/positive edge

– Clock frequency (F) = # of cycles per second

– F = 1/T

• The clock period of a digital circuit is set based on the slowest delay path from the output of a register to the input of the next

Periodic (Regular) Clock Signal

0 (0V)

1 (5V)

1 cycle

2 GHz = 2*109 cycles per second

= 0.5 ns/cycle

Op. 1 Op. 2 Op. 3

Aperiodic (Irregular) Clock Pulses

D Q

CLKClock pulse

X

Register

<

Combinational gates

to add and compare

binary numbers

Z

+

input output

MU

X

Combinational gates (aka a

mux that select which input to

pass (either 5 or the sum of x+y.)

5

Sequential logic to store X

Y

Note: Y and Z would

come from other registers

T/F

7 ns

3 ns

Clock Period (T) must be > 10 ns

(i.e. < 100 MHz)