Traffic Light Behavior

1 / 67

# Traffic Light Behavior - PowerPoint PPT Presentation

## Traffic Light Behavior

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Traffic Light Behavior A B Car Sensors IF A=1 AND B=0

2. Traffic Light Behavior A B Car Sensors Otherwise IF A=1 AND B=0

3. Traffic Light Behavior A B Car Sensors Otherwise IF A=1 AND B=0 Always

4. Traffic Light Behavior A B Car Sensors Otherwise IF A=1 AND B=0 Always IF A=0 AND B=1 Otherwise

5. Traffic Light Behavior A B Car Sensors Otherwise IF A=1 AND B=0 Always Always IF A=0 AND B=1 Otherwise

6. Traffic Light Behavior A B Car Sensors Otherwise Note:Clock beats every 4 sec.So Light is Yellow for 4 sec. IF A=1 AND B=0 Always Always IF A=0 AND B=1 Otherwise

7. Traffic Light State Machine A B Car Sensors Otherwise Note:Clock beats every 4 sec.So Light is Yellow for 4 sec. IF A=1 AND B=0 Always Always IF A=0 AND B=1 Otherwise

8. Traffic Light Design • We’ve figured out the logical behavior of the Traffic Light in terms of a State Machine: • We know what the states are. • For each state, given any input,we know which state to go to next. • How do we build it?

9. Traffic Light Design • Thinking this through: • Our machine needs to:

10. Traffic Light Design • Thinking this through: • Our machine needs to: • Remember which state it is in (Memory)

11. Traffic Light Design • Thinking this through: • Our machine needs to: • Remember which state it is in (Memory) • Given the state it is in and input values, it must determine which state to go tonext (Logic)

12. Traffic Light Design • Thinking this through: • Our machine needs to: • Remember which state it is in (Memory) • Given the state it is in and input values, it must determine which state to go tonext (Logic) • And that’s all !

13. Traffic Light Design • Problem 1: • Remember which state it is in (Memory) • How do represent the states? • We could keep one bit of memory for whether Light A is Green or not, whether it is Yellow or not, … • This would take 6 bits of memory. • There is a much simpler way!

14. Traffic Light Design • Problem 1: • Remember which state it is in (Memory) • How do represent the states? • Answer: • Just number them (using binary numbers). • We have 4 states. • Call them 00, 01, 10, 11. • We (human designers) will keep track of what these names mean.

15. Traffic Light States Otherwise IF A=1 AND B=0 Light A Always Always IF A=0 AND B=1 Otherwise Light B

16. Traffic Light States Otherwise IF A=1 AND B=0 01 00 Light A Always Always IF A=0 AND B=1 11 10 Otherwise Light B

17. Traffic Light Design • Problem 2: • Given the state it is in and input values, it must determine which state to go tonext (Logic) • Answer:

18. Traffic Light Design • Problem 2: • Given the state it is in and input values, it must determine which state to go tonext (Logic) • Answer: • Build a Truth Table • Use Universal Method!

19. M1 M2 ABD1 D2Light A Red Light B Red … Traffic Light Behavior Build A Truth Table for next state / Output

20. Traffic Light Behavior Otherwise IF A=1 AND B=0 01 00 Light A Always Always IF A=0 AND B=1 11 10 Otherwise Light B

21. M1 M2 ABD1 D2Light A Red Light B Red … 0 0 1 0 0 1 1 0 Traffic Light Behavior Build A Truth Table for next state / Output

22. Traffic Light Behavior Otherwise IF A=1 AND B=0 01 00 Light A Always Always IF A=0 AND B=1 11 10 Otherwise Light B

23. M1 M2 ABD1 D2Light A Red Light B Red … 0 0 1 0 0 1 1 0 0 1 * * 1 0 1 0 Traffic Light Behavior Build A Truth Table for next state / Output

24. Traffic Light Behavior Otherwise IF A=1 AND B=0 01 00 Light A Always Always IF A=0 AND B=1 11 10 Otherwise Light B

25. M1 M2 ABD1 D2Light A Red Light B Red … 0 0 1 0 0 1 1 0 0 1 * * 1 0 1 0 1 0 0 1 1 1 0 1 Traffic Light Behavior Build A Truth Table for next state / Output

26. Traffic Light Behavior Otherwise IF A=1 AND B=0 01 00 Light A Always Always IF A=0 AND B=1 11 10 Otherwise Light B

27. M1 M2 ABD1 D2Light A Red Light B Red … 0 0 1 0 0 1 1 0 0 1 * * 1 0 1 0 1 0 0 1 1 1 0 1 1 1 * * 0 0 0 1 Traffic Light Behavior Build A Truth Table for next state / Output

28. Traffic Light Behavior Otherwise IF A=1 AND B=0 01 00 Light A Always Always IF A=0 AND B=1 11 10 Otherwise Light B

29. M1 M2 ABD1 D2Light A Red Light B Red … 0 0 1 0 0 1 1 0 0 1 * * 1 0 1 0 1 0 0 1 1 1 0 1 1 1 * * 0 0 0 1 0 0 0 0 0 0 1 0 … … … … … … … Traffic Light Behavior Build A Truth Table for next state / Output

30. Traffic Light Design • We understand how to represent which state the system is in (so we can store it in Memory) • We understand how the system can determine which state to go to next (Logic) • Let’s put it together…

32. Traffic Light Design Current State D1 M1 2-bit Memory Register D2 M2 Write Sensor A Sensor B

33. Traffic Light Design Current State Next State 2-bit Memory Register Logic For Next State & Output Write Sensor A 6 Outputs: for eachLight Sensor B

34. Traffic Light Design Current State 2-bit Memory Register Logic For Next State & Output Write Sensor A 6 Outputs: for eachLight Sensor B

35. Traffic Light Design Current State 2-bit Memory Register Logic For Next State & Output Clock Sensor A 6 Outputs: for eachLight Sensor B

36. Design for Any State Machine Manybits Current State Memory Register Logic For Next State & Output Clock Inputs Outputs

37. State Machinesin Real Life • Elevator control systems • Car control systems • VCR’s • Alarm Clocks • Personal Computers • … Just about everything!

38. More Sophisticated Designs • Just add more states, more inputs, more outputs, more rules… • Example: Add a longer delay before Traffic Light changes fromYellowtoRed.(Say 8 seconds instead of 4.)

39. Traffic Light Behavior Otherwise IF A=1 AND B=0 Always Always Light A Always Always IF A=0 AND B=1 Otherwise Light B

40. More Sophisticated Designs • Note that the new “delay” states we added correspond to the SAME combinations of lights as other states (Red/Yellow). • The purpose of the new states is only to add delays. • Logical states need not correspond to different observable states of the machine!

41. More Sophisticated Designs • Can also add other State Machines!

42. More Sophisticated Designs • Example (Fairness): • We might want a separate Timer machine for the Traffic Light: • If cars keep coming, Light should decide after 3 minutes to switch lights. • A Timer is just a state machine that keeps counting beats of the Clock

43. Main State Machine More Sophisticated Designs Inputs Outputs Timer StateMachine

44. Computers! State Machines that you can program

45. Review • In designing state machines, we used: • Binary Representation (to represent states) • Memory (to store the current state) • Logic Circuits & Universal Method (to determine the next state) • In this way, we learned how to buildspecial-purpose digital systems(e.g. traffic lights)

46. General Purpose Computers • What makes a PC different? • Today your PC can’t play Final Fantasy X. • Tonight, you buy the Final Fantasy X CD-ROM • Tomorrow your PC can play the game! • PC’s are general-purpose computers. • Realize state machines for traffic lights, digital cameras, VCR’s, … • You can write a program (software) to control the circuitry (hardware) of a general purpose computer

47. The Stored Program • Idea is simple: • Build a machine that can execute certain instructions. • Then, write down different lists of instructions (programs) to accomplish different things. • One program plays an adventure game • Another program lets you write papers • Another lets you surf the Web

48. Programming • Using software to control hardware • Hardware is fixed circuitry • Software is instructions to the processor to control the inputs to the fixed circuitry • Inputs to the hardware are of 2 types • Data • Program • We don’t differentiate • Both are stored in computer’s memory

49. History of ProgrammableMachines • First “programmablesystem” was the early printing process developed in China circa 800 C.E. • First “program” wasperhaps Chinese translation ofBuddhist Canon(the Tipitaka)

50. History (cont.) • Gutenberg’s Printing Press(circa 1450) • Main Contribution: • Just a few “basic instructions” (smalleralphabet size) suffice.