home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / palsum7 / 4waytraf.pds < prev    next >
Text File  |  1987-08-26  |  6KB  |  175 lines

  1. Title Traffic Light Controller
  2. Pattern 4waytraf.pds
  3. Revision 1A
  4. Author Nick Schmitz
  5. Company Monolithic Memories Inc.
  6. Date OCT 9, 1986
  7. Chip Traffic_Ctl PMS14R21
  8.   
  9. ;1   2    3   4   5   6   7   8   9  10  11  12
  10. CLK DCLK EWD WLD ELD NLD SLD NSD CO  NC  SDI GND
  11. OE  SDO  REL REF RWL RWF RNL RNF RSL RSF MOD VCC
  12.   
  13. ; Output Signal Names - Red, Yellow, Green Lights
  14. ;OE SDO  REL REF RWL RWF RNL RNF RSL RSF MOD VCC
  15. ;OE SDO  YEL YEF YWL YWF YNL YNF YSL YSF MOD VCC
  16. ;OE SDO  GEL GEF GWL GWF GNL GNF GSL GSF MOD VCC
  17.   
  18. STATE MOORE_MACHINE
  19. ; STATE MEALY_MACHINE
  20.   
  21. POWER_UP := VCC -> ALL_REDS
  22. ; POWER_UP.OUTF := REL *  REF *  RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  23.   
  24. ALL_REDS := VCC -> S_NFG_SFG
  25.   
  26. ; North & South Forward Signals
  27. S_NFG_SFG := c_NSH -> S_NFY_SFY +-> S_NFG_SFG
  28. S_NFY_SFY := c_ELO -> S_ELG_EFG + c_WLO -> S_WLG_WFG
  29.            + c_EWL -> S_ELG_WLG +-> S_EFG_WFG
  30.   
  31. ; East Left Turn Signals
  32. S_ELG_EFG := c_ELC -> S_ELY_EFG +-> S_ELG_EFG
  33. S_ELY_EFG := VCC -> S_EFG_WFG
  34.   
  35. ; West Left Turn Signals
  36. S_WLG_WFG := c_WLC -> S_WLY_WFG +-> S_WLG_WFG
  37. S_WLY_WFG := VCC -> S_EFG_WFG
  38.   
  39. ; East & West Left Turn Signals
  40. S_ELG_WLG := c_ELO -> S_ELG_WLY + c_WLO -> S_ELY_WLG
  41.            + c_EWC -> S_ELG_WLG +-> S_ELY_WLY
  42.   
  43. ; West Left Turn Ends Early
  44. S_ELG_WLY := VCC -> S_ELG_EFG
  45. T_ELG_EFG := c_WLC -> S_ELY_EFG +-> S_ELG_EFG
  46. T_ELY_EFG := VCC -> S_EFG_WFG
  47.   
  48. ; East Left Turn Ends Early
  49. S_ELY_WLG := VCC -> S_WLG_WFG
  50. T_WLG_WFG := c_ELC -> S_WLY_WFG +-> S_WLG_WFG
  51. T_WLY_WFG := VCC -> S_EFG_WFG
  52.   
  53. ; Time out or No More Left Turns
  54. S_ELY_WLY := VCC -> S_EFG_WFG
  55.   
  56.   
  57. ; East & West Forward Signals
  58. S_EFG_WFG := c_EWH -> S_EFY_WFY +-> S_EFG_WFG
  59. S_EFY_WFY := c_NLO -> S_NLG_NFG + c_SLO -> S_SLG_SFG
  60.            + c_NSL -> S_NLG_SLG +-> S_NFG_SFG
  61.   
  62. ; North Left Turn Signals
  63. S_NLG_NFG := c_NLC -> S_NLY_NFG +-> S_NLG_NFG
  64. S_NLY_NFG := VCC -> S_NFG_SFG
  65.   
  66. ; South Left Turn Signals
  67. S_SLG_SFG := c_SLC -> S_SLY_SFG +-> S_SLG_SFG
  68. S_SLY_SFG := VCC -> S_NFG_SFG
  69.   
  70. ; North & South Left Turn Signals
  71. S_NLG_SLG := c_NLO -> S_NLG_SLY + c_SLO -> S_NLY_SLG
  72.            + c_NSC -> S_NLG_SLG +-> S_NLY_SLY
  73.   
  74. ; South Left Turn Ends Early
  75. S_NLG_SLY := VCC -> S_NLG_NFG
  76. T_NLG_NFG := c_SLC -> S_NLY_NFG +-> S_NLG_NFG
  77. T_NLY_NFG := VCC -> S_NFG_SFG
  78.   
  79. ; North Left Turn Ends Early
  80. S_NLY_SLG := VCC -> S_SLG_SFG
  81. T_SLG_SFG := c_NLC -> S_SLY_SFG +-> S_SLG_SFG
  82. T_SLY_SFG := VCC -> S_NFG_SFG
  83.   
  84. ; Time out or No More Left Turns
  85. S_NLY_SLY := VCC -> S_NFG_SFG
  86.   
  87. ; OUTPUT SIGNALS
  88.   
  89. ALL_REDS.OUTF  :=  REL *  REF *  RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  90.   
  91. ; North & South Forward Signals
  92. S_NFG_SFG.OUTF :=  REL *  REF *  RWL *  RWF *  RNL * /RNF *  RSL * /RSF
  93. S_NFY_SFY.OUTF :=  REL *  REF *  RWL *  RWF *  RNL * /RNF *  RSL * /RSF
  94.   
  95. ; East Left Turn Signals
  96. S_ELG_EFG.OUTF := /REL * /REF *  RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  97. S_ELY_EFG.OUTF := /REL * /REF *  RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  98.   
  99. ; West Left Turn Signals
  100. S_WLG_WFG.OUTF :=  REL *  REF * /RWL * /RWF *  RNL *  RNF *  RSL *  RSF
  101. S_WLY_WFG.OUTF :=  REL *  REF * /RWL * /RWF *  RNL *  RNF *  RSL *  RSF
  102.   
  103. ; East & West Left Turn Signals
  104. S_ELG_WLG.OUTF := /REL *  REF * /RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  105.   
  106. ; West Left Turn Ends Early
  107. S_ELG_WLY.OUTF := /REL *  REF * /RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  108. T_ELG_EFG.OUTF := /REL * /REF *  RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  109. T_ELY_EFG.OUTF := /REL * /REF *  RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  110.   
  111. ; East Left Turn Ends Early
  112. S_ELY_WLG.OUTF := /REL *  REF * /RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  113. T_WLG_WFG.OUTF :=  REL *  REF * /RWL * /RWF *  RNL *  RNF *  RSL *  RSF
  114. T_WLY_WFG.OUTF :=  REL *  REF * /RWL * /RWF *  RNL *  RNF *  RSL *  RSF
  115.   
  116. ; Time out or No More Left Turns
  117. S_ELY_WLY.OUTF := /REL *  REF * /RWL *  RWF *  RNL *  RNF *  RSL *  RSF
  118.   
  119.   
  120. ; East & West Forward Signals
  121. S_EFG_WFG.OUTF :=  REL * /REF *  RWL * /RWF *  RNL *  RNF *  RSL *  RSF
  122. S_EFY_WFY.OUTF :=  REL * /REF *  RWL * /RWF *  RNL *  RNF *  RSL *  RSF
  123.   
  124. ; North Left Turn Signals
  125. S_NLG_NFG.OUTF :=  REL *  REF *  RWL *  RWF * /RNL * /RNF *  RSL *  RSF
  126. S_NLY_NFG.OUTF :=  REL *  REF *  RWL *  RWF * /RNL * /RNF *  RSL *  RSF
  127.   
  128. ; South Left Turn Signals
  129. S_SLG_SFG.OUTF :=  REL *  REF *  RWL *  RWF *  RNL *  RNF * /RSL * /RSF
  130. S_SLY_SFG.OUTF :=  REL *  REF *  RWL *  RWF *  RNL *  RNF * /RSL * /RSF
  131.   
  132. ; North & South Left Turn Signals
  133. S_NLG_SLG.OUTF :=  REL *  REF *  RWL *  RWF * /RNL *  RNF * /RSL *  RSF
  134.   
  135. ; South Left Turn Ends Early
  136. S_NLG_SLY.OUTF :=  REL *  REF *  RWL *  RWF * /RNL *  RNF * /RSL *  RSF
  137. T_NLG_NFG.OUTF :=  REL *  REF *  RWL *  RWF * /RNL * /RNF *  RSL *  RSF
  138. T_NLY_NFG.OUTF :=  REL *  REF *  RWL *  RWF * /RNL * /RNF *  RSL *  RSF
  139.   
  140. ; North Left Turn Ends Early
  141. S_NLY_SLG.OUTF :=  REL *  REF *  RWL *  RWF * /RNL *  RNF * /RSL *  RSF
  142. T_SLG_SFG.OUTF :=  REL *  REF *  RWL *  RWF *  RNL *  RNF * /RSL * /RSF
  143. T_SLY_SFG.OUTF :=  REL *  REF *  RWL *  RWF *  RNL *  RNF * /RSL * /RSF
  144.   
  145. ; Time out or No More Left Turns
  146. S_NLY_SLY.OUTF :=  REL *  REF *  RWL *  RWF * /RNL *  RNF * /RSL *  RSF
  147.   
  148. CONDITIONS
  149.   
  150. ; East West Conditions
  151. c_EWH =  NSD *  CO
  152. c_ELO =  ELD * /WLD
  153. c_WLO = /ELD *  WLD
  154. c_EWL =  ELD *  WLD
  155.   
  156. c_ELC = /ELD + CO
  157. c_WLC = /WLD + CO
  158. c_EWC =  ELD * WLD ;+ /CO
  159.   
  160. ; North South Conditions
  161. c_NSH =  EWD *  CO
  162. c_NLO =  NLD * /SLD
  163. c_SLO = /NLD *  SLD
  164. c_NSL =  NLD *  SLD
  165.   
  166. c_NLC = /NLD + CO
  167. c_SLC = /SLD + CO
  168. c_NSC =  NLD * SLD ;+ /CO
  169.   
  170. Equations
  171. Simulation
  172. trace_on
  173. setf ewd
  174. trace_off
  175.