1 / 67

Traffic Light Behavior

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

dasan
Download Presentation

Traffic Light Behavior

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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…

  31. Traffic Light Design Input: Sensor A Input: Sensor B

  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.

More Related