Hakim Weatherspoon CS 3410 Computer Science Cornell University

Slides:



Advertisements
Similar presentations
Registers Computer Organization I 1 September 2009 © McQuain, Feng & Ribbens A clock is a free-running signal with a cycle time. A clock may.
Advertisements

Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.
Flip-Flops Computer Organization I 1 June 2010 © McQuain, Feng & Ribbens A clock is a free-running signal with a cycle time. A clock may be.
CS 151 Digital Systems Design Lecture 19 Sequential Circuits: Latches.
Dr. ClincyLecture1 Appendix A – Part 2: Logic Circuits Current State or output of the device is affected by the previous states Circuit Flip Flops New.
State and Finite State Machines
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
Arithmetic Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H 2.4 (signed), 2.5, 2.6, C.6, and Appendix C.6.
Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University State & Finite State Machines See: P&H Appendix C.7. C.8, C.10, C.11.
Numbers & Arithmetic Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University See: P&H Chapter , 3.2, C.5 – C.6.
Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.
Fall 2007 L16: Memory Elements LECTURE 16: Clocks Sequential circuit design The basic memory element: a latch Flip Flops.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See: P&H Chapter 2.4, 3.2, B.2, B.5, B.6.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix B.8 (register files) and B.9.
Flip-flops, Latches and State Prof. Sirer COMP 303 Koç University.
Memory Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University.
Kavita Bala CS 3410, Spring 2014 Computer Science Cornell University.
Sequential Logic Computer Organization II 1 © McQuain A clock is a free-running signal with a cycle time. A clock may be either high or.
Numbers and Arithmetic Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University See: P&H Chapter , 3.2, C.5 – C.6.
Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
Sequential logic circuits First Class 1Dr. AMMAR ABDUL-HAMED KHADER.
Computer Science 210 Computer Organization
Digital Design - Sequential Logic Design
Dr. Clincy Professor of CS
CS161 – Design and Architecture of Computer Systems
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
Chapter #6: Sequential Logic Design
CS Chapter 3 (3A and ) Part 6 of 8
Combinational circuits
Clocks A clock is a free-running signal with a cycle time.
Computer Architecture & Operations I
Sequential Logic.
State & Finite State Machines
Instructor: Alexander Stoytchev
Dr. Clincy Professor of CS
6. Sequential circuits (v2)
CS Chapter 3 (3A and ) – Part 4 of 5
Computer Science 210 Computer Organization
Processor (I).
Assistant Prof. Fareena Saqib Florida Institute of Technology
ECE Digital logic Lecture 16: Synchronous Sequential Logic
Latches and Flip-flops
Sequential Circuits: Latches
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
CS Fall 2005 – Lec. #5 – Sequential Logic - 1
Prof. Kavita Bala and Prof. Hakim Weatherspoon
COMP541 Sequential Circuits
Computer Science 210 Computer Organization
Elec 2607 Digital Switching Circuits
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Dr. Clincy Professor of CS
Dr. Clincy Professor of CS
Lecture 15 Logistics Last lecture Today HW4 is due today
Lecture 16 Logistics Last lecture Today HW5 out, due next wednesday
Sequential Circuits: Latches
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Sequential Circuits: Latches
Flip-Flops Last time, we saw how latches can be used as memory in a circuit. Latches introduce new problems: We need to know when to enable a latch. We.
Lecture 16 Logistics Last lecture Today HW5 out, due next wednesday
Instructor: Alexander Stoytchev
Digital Circuits and Logic
Prof. Hakim Weatherspoon
Sequential Digital Circuits
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Instructor: Michael Greenbaum
Presentation transcript:

Hakim Weatherspoon CS 3410 Computer Science Cornell University State Hakim Weatherspoon CS 3410 Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer.

Announcements Make sure you are Registered for class, can access CMS Have a Section you can go to. Lab Sections are required. “Make up” lab sections only Friday 11:40am or 1:25pm Bring laptop to Labs Project partners are required for projects starting w/ project 2 Have project partner in same Lab Section, if possible WICC hosting a partner finding event Feb 12 @ 6pm in 3rd floor lounge of Gates

Announcements Make sure to go to your Lab Section this week Completed Proj1 due before winter break, Friday, Feb 16th Note, a Design Document is due when you submit Proj1 final circuit Work alone Work alone, BUT use your resources Lab Section, Piazza.com, Office Hours Class notes, book, Sections, CSUGLab

Announcements Check online syllabus/schedule http://www.cs.cornell.edu/Courses/CS3410/2018sp/schedule Slides and Reading for lectures Office Hours Pictures of all TAs Project and Reading Assignments Dates to keep in Mind Prelims: Thur Mar 15th and Thur May 3rd Proj 1: Due next Friday, Feb 16th before Winter break Proj3: Due before Spring break Final Project: May 15th Schedule is subject to change

Collaboration, Late, Re-grading Policies “White Board” Collaboration Policy Can discuss approach together on a “white board” Leave, watch a movie (e.g. Strange Things), and write up solution independently Do not copy solutions Late Policy Each person has a total of four “slip days” Max of two slip days for any individual assignment Slip days deducted first for any late assignment, cannot selectively apply slip days For projects, slip days are deducted from all partners 25% deducted per day late after slip days are exhausted Regrade policy Submit written regrade request within a week of receiving score

Big Picture: Building a Processor memory alu register file inst +4 +4 addr =? PC din dout control cmp offset memory new pc target imm extend A Single cycle processor

Review We can generalize 1-bit Full Adders to 32 bits, 64 bits … A3 B3

Review We can generalize 1-bit Full Adders to 32 bits, 64 bits … B3 B2 B1 B0 mux mux mux mux A3 A2 A1 A0 0=add 1=sub over flow S3 S2 S1 S0

Example: A Calculator A B S 0=add 1=sub 8 8 8 decoder red herring? constants into mux S 0=add 1=sub

Example: A Calculator A B S 0=add 1=sub 8 8 8 decoder adder 8 8 mux 8 red herring? constants into mux S 0=add 1=sub

Example: A Calculator 128 A 0b1000 0000 128 B 0b1000 0000 S 0=add adder decoder 8 8 8 128 B mux 0b1000 0000 8 red herring? constants into mux S 0=add 1=sub

Example: A Calculator 128 A 0b1000 0000 128 B 0b1000 0000 S 0=add adder decoder 8 8 8 128 B mux 0b1000 0000 8 red herring? constants into mux S 0=add 1=sub

Review: Efficiency and Generality We can generalize 1-bit Full Adders to 32 bits, 64 bits … How long does it take to compute a result? B3 B2 B1 B0 mux mux mux mux A3 A2 A1 A0 0=add 1=sub over flow S3 S2 S1 S0

Review: Efficiency and Generality We can generalize 1-bit Full Adders to 32 bits, 64 bits … How long does it take to compute a result? A) 2 ns B) 2 gate delays C) 10 ns D) 10 gate delays E) 8 gate delays

Review: Efficiency and Generality We can generalize 1-bit Full Adders to 32 bits, 64 bits … How long does it take to compute a result? B3 B2 B1 B0 mux mux mux mux A3 A2 A1 A0 0=add 1=sub over flow t=10 t=8 S3 t=6 S2 t=4 S1 t=2 S0 t=0

Review: Efficiency and Generality We can generalize 1-bit Full Adders to 32 bits, 64 bits … How long does it take to compute a result? Can we store the result? B3 B2 B1 B0 mux mux mux mux A3 A2 A1 A0 0=add 1=sub over flow t=10 t=8 S3 t=6 S2 t=4 S1 t=2 S0 t=0

Performance Speed of a circuit is affected by the number of gates in series (on the critical path or the deepest level of logic) inputs arrive Combinational Logic outputs expected tcombinational

4-bit Ripple Carry Adder S3 S2 S1 S0 Carry ripples from lsb to msb Carry-lookahead adders would be more efficient performance wise (i.e. lower gate delay), but more expense hardware wise (i.e. more logic gates) First full adder, 2 gate delay Second full adder, 2 gate delay …

Combinational circuit Stateful Components Until now is combinationial logic Output is computed when inputs are present System has no internal state Nothing computed in the present can depend on what happened in the past! Need a way to record data Need a way to build stateful circuits Need a state-holding device Combinational circuit Inputs Outputs N M How are we going to stably store state

Goals for Today State Basic Building Blocks How do we store one bit? Attempts at storing (and changing) one bit Set-Reset Latch D Latch D Flip-Flops Master-Slave Flip-Flops Register: storing more than one bit, N-bits Basic Building Blocks Decoders and Encoders

Goal How do we store store one bit?

First Attempt: Unstable Devices

First Attempt: Unstable Devices 1 C 1 1 A Does not work! Unstable Oscillates wildly!

Second Attempt: Bistable Devices Stable and unstable equilibria? A B A Simple Device In stable state, A = B How do we change the state? 1 1 How to create state? Feedback. Show how the signal works A B A B

Third Attempt: Set-Reset Latch Q Q R B Can you store a value (with this circuit)? Can you change its value? Q is comes from Latin language "quiscens" or "the present particle" or "what is present available" or "present output" How to create state? Feedback. Show how the signal works

Third Attempt: Set-Reset Latch Q A B OR NOR 1 S R Q 1 Set-Reset (S-R) Latch Stores a value Q and its complement

Third Attempt: Set-Reset Latch S R Q A B OR NOR 1 1 Q will be 0 if R is 1 𝑸 will be 1 1 S R Q 1 ? S R Q 1 Set-Reset (S-R) Latch Stores a value Q and its complement

Third Attempt: Set-Reset Latch 1 S R Q A B OR NOR 1 1 Q will be 1 𝑸 will be 0 if S is 1 S R Q 1 S R Q 1 ? Set-Reset (S-R) Latch Stores a value Q and its complement What are the values for Q and Q ? 0 and 0 0 and 1 1 and 0 1 and 1 Ask a clicker question about Q and !Q iClicker Question

Third Attempt: Set-Reset Latch 1  S R Q A B OR NOR 1 1 If Q is 1, will stay 1 if Q is 0, will stay 0 If 𝑸 is 0 will stay 0 If 𝑸 is 1 will stay 1 S R Q ? 1 S R Q 1 Set-Reset (S-R) Latch Stores a value Q and its complement Since the set and reset input are both 0, the Q and !Q determine the output, which will hold.

Third Attempt: Set-Reset Latch 1 S R Q A B OR NOR 1 Q will be 0 since R is 1 𝑸 will be 0 since S is 1 1 S R Q 1 ? Set-Reset (S-R) Latch Stores a value Q and its complement Start with 0, 1 => 0, 1 then 0, 0 => 0, 1 then 1, 0 => 1, 0 then 0, 0 => 1, 0, better yet “stay” 1, 1 is forbidden, b/c going to 0, 0 after goes haywire i.e. Start 1,1 => 0,0 Alright. Now change S,R to 0, 0, what happens. 1, 1=>0, 0 -> 0, 0=> 0, 0 -> 0, 0=>1, 1 -> 0, 0=> 0, 0 -> oscillations. S R=>Q,!Q -> S,R=>Q,!Q -> S, R=>Q,!Q -> S,R => Q,!Q What happens when S,R changes from 1,1 to 0,0?

iClicker Question What’s wrong with the SR Latch? Q is undefined when S=1 and R=1 (That’s why this is called the forbidden state.) Q oscillates between 0 and 1 when the inputs transition from 1,1  0,0 The SR Latch is problematic b/c it has two outputs to store a single bit. There is nothing wrong with the SR Latch! Answer:

Third Attempt: Set-Reset Latch 10 S R Q A B OR NOR 1 01 0 1 01 01 0 0 1 0 1 0 1 0 0 1 1 0 S R Q 1 forbidden S R Q 1 ? Set-Reset (S-R) Latch Stores a value Q and its complement Start with 0, 1 => 0, 1 then 0, 0 => 0, 1 then 1, 0 => 1, 0 then 0, 0 => 1, 0, better yet “stay” 1, 1 is forbidden, b/c going to 0, 0 after goes haywire i.e. Start 1,1 => 0,0 Alright. Now change S,R to 0, 0, what happens. 1, 1=>0, 0 -> 0, 0=> 0, 0 -> 0, 0=>1, 1 -> 0, 0=> 0, 0 -> oscillations. S R=>Q,!Q -> S,R=>Q,!Q -> S, R=>Q,!Q -> S,R => Q,!Q What happens when S,R changes from 1,1 to 0,0? Q and Q become unstable and will oscillate wildly between values 0,0 to 1,1 to 0,0 to 1,1 …

Third Attempt: Set-Reset Latch Q S R Q S R Q hold 1 reset set forbidden S R Q 1 forbidden Set-Reset (S-R) Latch Stores a value Q and its complement Start with 0, 1 => 0, 1 then 0, 0 => 0, 1 then 1, 0 => 1, 0 then 0, 0 => 1, 0, better yet “stay” 1, 1 is forbidden, b/c going to 0, 0 after goes haywire i.e. Start 1,1 => 0,0 Alright. Now change S,R to 0, 0, what happens. 1, 1=>0, 0 -> 0, 0=> 0, 0 -> 0, 0=>1, 1 -> 0, 0=> 0, 0 -> oscillations. S R=>Q,!Q -> S,R=>Q,!Q -> S, R=>Q,!Q -> S,R => Q,!Q

Takeaway Set-Reset (SR) Latch can store one bit and we can change the value of the stored bit. But, SR Latch has a forbidden state.

Next Goal How do we avoid the forbidden state of S-R Latch?

Fourth Attempt: (Unclocked) D Latch S Q D S R Q R Q D Q 1 Fill in the truth table? Start in 0, 0, 1 Change to D = 1 After NOT gate, R = 0 After OR+NOT gates, /Q = 0 (R is already ready then), Q goes to 1 Problem: No way to hold state A B OR NOR 1

Fourth Attempt: (Unclocked) D Latch S Q D S R Q R Q D Q 1 Fill in the truth table? Data (D) Latch Easier to use than an SR latch No possibility of entering an undefined state When D changes, Q changes … immediately (…after a delay of 2 Ors and 2 NOTs) Need to control when the output changes Start in 0, 0, 1 Change to D = 1 After NOT gate, R = 0 After OR+NOT gates, /Q = 0 (R is already ready then), Q goes to 1 Problem: No way to hold state A B OR NOR 1

Takeaway Set-Reset (SR) Latch can store one bit and we can change the value of the stored bit. But, SR Latch has a forbidden state. (Unclocked) D Latch can store and change a bit like an SR Latch while avoiding the forbidden state.

Next Goal How do we coordinate state changes to a D Latch?

Aside: Clocks Clock helps coordinate state changes Usually generated by an oscillating crystal Fixed period Frequency = 1/period falling edge rising edge clock high rising edge falling edge 1 period low high clock period clock low

Clock Disciplines Level sensitive Edge triggered State changes when clock is high (or low) Edge triggered State changes at clock edge positive edge-triggered negative edge-triggered

Clock Methodology Clock Methodology Negative edge, synchronous clk Edge-Triggered  signals must be stable near falling edge “near” = before and after tsetup thold tsetup thold clk tcombinational compute save compute save compute

Round 2: D Latch (1) D S Q R Q C D Q 1 D Q C Q Inverter prevents SR Latch from entering 1,1 state D S Q R Q C D Q 1 Reset Any forbidden S=R=1 inputs? No Need both truth tables Answer: Q 1 Set D Q C Q

Round 2: D Latch (1) D S Q R Q C D Q D Q C Q Inverter prevents SR Latch from entering 1,1 state D S Q R Q C D Q 1 Reset Any forbidden S=R=1 inputs? No Need both truth tables Answer: Q 1 Set D Q C Q

Round 2: D Latch (1) D S Q C R Q C D Q 1 D Q C Level sensitive Inverter prevents SR Latch from entering 1,1 state C enables changes D S Q C R Q C = 1, D Latch transparent: set/reset (according to D) C = 0, D Latch opaque: keep state (ignore D) C D Q 1 No Change Any forbidden S=R=1 inputs? No Need both truth tables Answer: Q 1 D Q C Reset Set

Round 2: D Latch (1) D S Q C R Q C D Q 1 D Q C Level sensitive Inverter prevents SR Latch from entering 1,1 state C enables changes D S Q C R Q C = 1, D Latch transparent: set/reset (according to D) C = 0, D Latch opaque: keep state (ignore D) C D Q 1 No Change Any forbidden S=R=1 inputs? No Need both truth tables Answer: Q 1 S R Q hold 1 reset set forbidden D Q C Reset Set

iClicker Question D Q clk clk D Q 1 clk D Q A What is the value of Q at A & B? A = 0, B = 0 A = 0, B = 1 A = 1, B = 0 A = 1, B = 1 D Q clk clk D Q 1 clk Any forbidden S=R=1 inputs? No Need both truth tables D Q A B

iClicker Question D Q clk clk D Q 1 clk D Q A What is the value of Q at A & B? A = 0, B = 0 A = 0, B = 1 A = 1, B = 0 A = 1, B = 1 D Q clk clk D Q 1 clk Any forbidden S=R=1 inputs? No Need both truth tables D Q A B

iClicker Question D Q clk clk D Q 1 clk D Q A Level Sensitive D Latch Clock high: set/reset (according to D) Clock low: keep state (ignore D) D Q clk clk D Q 1 clk Any forbidden S=R=1 inputs? No Need both truth tables D Q A B

Round 3: D Flip-Flop X Q D clk D Q D Q C Q C Q Edge-Triggered Data captured when clock high Output changes only on falling edges D Q D Q C Q C Q L1 L2 Master-Slave Flip Flop - Outputs change only on falling edges - Data is captured on rising edges 1 cycle delay but works out perfectly – data for the next stage is ready 1 cycle ahead of time

Round 3: D Flip-Flop X D D Q C X clk D passes through L1 to X D Q C X clk 1 L1 L2 X Clock = 1: L1 transparent L2 opaque When CLK rises (01), now X can change, Q does not change X Q X passes through L2 to Q D Q C X clk 1 L1 L2 X Clock = 0: L1 opaque L2 transparent Master-Slave Flip Flop - Outputs change only on falling edges - Data is captured on rising edges 1 cycle delay but works out perfectly – data for the next stage is ready 1 cycle ahead of time When CLK falls (10), Q gets X, X cannot change

iClicker Question – start here What is the value of Q at A & B? A = 0, B = 0 A = 0, B = 1 A = 1, B = 0 A = 1, B = 1 X Q D clk D Q D Q C 1 C L1 L2 clk A=1, B=0 D X Q A B

iClicker Question – start here What is the value of Q at A & B? A = 0, B = 0 A = 0, B = 1 A = 1, B = 0 A = 1, B = 1 X Q D clk D Q D Q C 1 C L1 L2 clk A=1, B=0 D X Q A B

Edge-Triggered D Flip-Flop Data captured when clock is high Output changes only on falling edges c X Q D clk 1 1 1 D Q D Q 1 C Q 1 C Q clk Master-Slave Flip Flop - Outputs change only on falling edges - Data is captured on rising edges 1 cycle delay but works out perfectly – data for the next stage is ready 1 cycle ahead of time D X Q A B

Edge-Triggered D Flip-Flop Data captured when clock is high Output changes only on falling edges c X Q D clk 1 1 1 D Q D Q 1 C Q 1 C Q clk Master-Slave Flip Flop - Outputs change only on falling edges - Data is captured on rising edges 1 cycle delay but works out perfectly – data for the next stage is ready 1 cycle ahead of time D X Q A B

Takeaway Set-Reset (SR) Latch can store one bit and we can change the value of the stored bit. But, SR Latch has a forbidden state. (Unclocked) D Latch can store and change a bit like an SR Latch while avoiding a forbidden state. An Edge-Triggered D Flip-Flip (aka Master-Slave D Flip-Flip) stores one bit. The bit can be changed in a synchronized fashion on the edge of a clock signal.

Next Goal How do we store more than one bit, N bits?

Registers Register D0 D flip-flops in parallel shared clock extra clocked inputs: write_enable, reset, … D0 D1 D2 D3 4-bit reg 4 4 clk clk

Takeaway Set-Reset (SR) Latch can store one bit and we can change the value of the stored bit. But, SR Latch has a forbidden state. (Unclocked) D Latch can store and change a bit like an SR Latch while avoiding a forbidden state. An Edge-Triggered D Flip-Flip (aka Master-Slave D Flip-Flip) stores one bit. The bit can be changed in a synchronized fashion on the edge of a clock signal. An N-bit register stores N-bits. It is created with N D-Flip-Flops in parallel along with a shared clock.

An Example: What will this circuit do? 4 16 Decoder 4 4 4-bit reg +1 Clk 4

An Example: What will this circuit do? Reset Run 4 16 WE R Decoder 4 1 = 0001 =B[4] 4 A[4] 4-bit reg Cout +1 S[4] Clk 4

Decoder Example: 7-Segment LED photons emitted when electrons fall into holes Previous slide would need to display up to 16, so would need a 16-segment LED decoder d3 d2 d1 d0

Decoder Example: 7-Segment LED photons emitted when electrons fall into holes d3 d2 d1 d0

Decoder Example: 7-Segment LED Decoder 3 inputs encode 0 – 7 in binary 7 outputs one for each LED 7LED decode

7 Segment LED Decoder Implementation b2 b1 b0 d6 d5 d4 d3 d2 d1 d0 1 b2 b1 b0 d6 d5 d4 d3 d2 d1 d0 1 d1 d2 d0 d3 d4 d6 d5

7 Segment LED Decoder Implementation b2 b1 b0 d6 d5 d4 d3 d2 d1 d0 1 1 d1 d2 d0 d3 d4 d6 d5

Basic Building Blocks We have Seen N binary encoder 1 N N 2 N Multiplexor N binary decoder . . . 2N N 2M-1 M

Encoders encoder N Input wires Log2(N) outputs wires . . . . . . 1 2 3 N Input wires 4 Log2(N) outputs wires encoder . . . 5 6 7 e.g. Voting: Can only vote for one out of N candidates, so N inputs. But can encode vote efficiently with binary encoding. N possible inputs -> log2(N) wires to encode . . . N

Example Encoder Truth Table 1 a 1 o0 b 2 o1 o1 c 3 o2 Implementation . . . assume 8 choices, exactly one mark detected d 4 A 3-bit encoder with 4 inputs for simplicity

Example Encoder Truth Table 1 a 1 o0 b 2 o1 o1 c 3 o2 Implementation . . . assume 8 choices, exactly one mark detected d 4 o2 = abcd o1 = abcd + abcd o0 = abcd + abcd A 3-bit encoder with 4 inputs for simplicity

Basic Building Blocks Example: Voting enc 7LED decode detect 8 3 7 Ballots The 3410 optical scan vote reader machine

Basic Building Blocks We have Seen N binary encoder 1 N N 2 N Multiplexor N binary decoder . . . 2N N 2M-1 M

Recap We can now build interesting devices with sensors Using combinationial logic We can also store data values (aka Sequential Logic) In state-holding elements Coupled with clocks

Summary We can now build interesting devices with sensors Using combinational logic We can also store data values Stateful circuit elements (D Flip Flops, Registers, …) Clock to synchronize state changes