28
 Memory; Sequential & Clocked Circuits; Finite State Machines COS 116: 3/25/2008 Sanjeev Arora

Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

   

Memory; Sequential & Clocked Circuits; 

Finite State MachinesCOS 116: 3/25/2008Sanjeev Arora

Page 2: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Midterm grade Criterion:

58­65: A55­57: A­50­54: B+45­49: B

40­44: B­33­39: C26­­32: D25 and below: F

Page 3: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Recap: Boolean Logic

Boolean Expression       E = S AND D

Truth table:Value of E for every   possible D, S.   TRUE=1;  FALSE= 0. 001

011

110000ESD

Boolean Circuit ES

D

Truth table has     rows ifthe number ofvariables is k

2k

Page 4: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Boole’s reworking of Clarke’s “proof” of existence of God(see handout) General idea: Try to prove that Boolean expressions 

E1, E2, …, Ek cannot simultaneously be true

Method: Show E1∙ E2 ∙ … ∙ Ek  = 0

Discussion: What exactly does Clarke’s “proof” prove?  How convincing is such a proof to you?

Also: Do Google search for “Proof of God’s Existence.”

Page 5: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Combinational circuit for binary addition?

Want to design a circuit to add any two N­bit integers.

25 11001+ 29 11101

  54 110110

Is the truth table method useful for N=64?

Page 6: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Modular design

Have small numberof basic components.

Put them together to achieve desired functionality

Basic principle of modern industrial design; recurring theme in next few lectures.

Page 7: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Modular design for N­bit adder

Suffices to use N 1­bit adders!

       cN­1 cN­2 … c1 c0

    aN­1 aN­2 … a1 a0

+   bN­1 bN­2 … b1 b0

 sN sN­1 sN­2 … s1 s0

Carry bits

Page 8: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

1­bit adder

(Carry from previous adder)

Do yourself: Write truth table, circuit.

ak bk

ck1­ADDck+1

sk

Carry bit for next adder.

Page 9: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

A Full Adder (from handout)

Page 10: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Timing Diagram

5V

0VTime

X

5V

0VTime

output

NOT gate

delay

Page 11: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

   

Memory

Rest of this lecture:How boolean circuits can have“memory”.

Page 12: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

What do you understand by ‘memory”?

How can you tell that a 1­year old child has it?

Behaviorist’s answer: His/her actions depend upon past events.

Page 13: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Why combinational circuits have no “memory”

Wires: transmit voltage(and hence value)

Boolean gates connected by wires

Important: no loops allowed

Output is determined by current inputs;no “memory” of past values of the inputs.

Today: Circuits with loops; aka “Sequential Circuits”

Page 14: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Matt likes Sue but he doesn’t like changing his mind Represent with a circuit: 

Matt will go to the party if Sue goes or if he already wanted to go

S

M Is this well­defined?

Page 15: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Sequential Circuits 

Circuits with AND, OR and NOT gates. Cycles are allowed (ie outputs can feed

back into inputs) Can exhibit “memory”. Sometimes may have “undefined” values

Page 16: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Enter Rita Matt will go to the party if Sue 

goes OR if the following holds: if Rita does not go and he already wanted to go.

?M

S

R

MR, S: “control” inputs

What combination of R, S changes M?

Page 17: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

R­S Flip­Flop SR

M

Page 18: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

A more convenient form of memory

“Data Flip­Flop” or “D flip flop”;Can be implemented using R­S flip flop.

No“undefined”outputs ever!

Page 19: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

“Register” with 4 bits of memory

Page 20: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

What controls the “Write” signal?

Page 21: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

The “symphony” inside a computer

Clock 

Combinational circuit

Memory

ClockedSequentialCircuit(akaSynchronousCircuits)

Page 22: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

   

Clocked Sequential Circuits

Page 23: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Synchronous Sequential Circuit(aka Clocked Sequential Circuit)

CLOCK

INPUTS Combinational Circuit

Memory(flip­flops)

Page 24: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Shorthand

Combinational Circuit

Memory(flip­flops)

CLK

This stands for “lots of wires”

Page 25: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Clock Speeds

Heinrich Hertz1857­94

3.4 GHz(Giga = Billion)

Pentium 42005

66 MHzIntel Pentium1993

4.77 MHzOriginal IBM PC1981

2 MHz(Mega = Million)

Intel 80801974

Page 26: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

What limits clock speed?

Combinational Circuit

Memory(flip­flops)

CLK

Delays in combinational logic (remember the adder)During 1 clock cycle of Pentium 4, light travels: 4 inches

Page 27: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

   

Finite State Machines

Read handout (Brian Hayes article) for next time.

Page 28: Memory; Sequential & Clocked Circuits; Finite State Machines...(aka Clocked Sequential Circuit) CLOCK INPUTS Combinational Circuit Memory (flip flops) Shorthand Combinational Circuit

  

Example: State diagram for automatic door 

Closed Open

Detected PersonNo Person Detected

Detected Person

No Person Detected