home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s205 / 1.ddi / BACKUP.001 / EXAMPLES_TAXI.PDS < prev    next >
Encoding:
Text File  |  1991-02-27  |  4.0 KB  |  181 lines

  1. TITLE    Taxi to 32 Bit Interface
  2. Pattern    TAXI32.PDS
  3. REVISION    0
  4. AUTHOR    Rudy Sterner
  5. COMPANY    AMD
  6. DATE  6/19/89
  7. CHIP    TAXI_32_BIT    PAL29M16
  8. ;PIN LIST
  9. NODE 1 GLOBAL        ; ASYNC RESET
  10. PIN 1 RDSTRB        ;Receiver STROBE
  11. PIN 2 RRST        ;Receiver State Machine Reset Command
  12. PIN 3..4,9..10 XCMD[0..3]    ;Command Data Input
  13. PIN 8..5 /RW[3..0]  REG  ;Receiver FIFO WRITE Enables
  14. NODE 3..4 RSTATE[0..1] ;Receiver State Machne
  15. NODE 12..11 /XSTATE[1..0] ;Transmitter State Machine
  16. PIN 13 XCLK        ;Transmitter Clock
  17. PIN 14 ARST        ;Assynchronous Reset Input
  18. PIN 15 XEF         ;Transmitter FIFO Empty Flag
  19. PIN 21 XMIT        ;Transmit Command from the System
  20. NODE 17 IXMIT    REG     ;Sycnhronizer for XMIT
  21. PIN 20..17 /XR[3..0] REG  ;Transmitter FIFO READ Enables
  22. PIN 22 STRB COMB     ;Strobe Output to Am7968
  23. PIN 12 GND
  24. PIN 24 VCC
  25. ;The Taxi to 32 bit converter uses 2 state machines.
  26. ;However, because PALASM2 cannot incorporate 2 state
  27. ;machines, only 1 state machine will be defined.
  28. ;This will be the transmitter state machine, because it
  29. ;is the more complicated of the two.
  30. ;
  31. ;
  32. EQUATIONS
  33. ;
  34. ;Preset All Registers
  35. GLOBAL.RSTF = /ARST
  36. ;Setup of Fuses and the like
  37. ;
  38. ;Clock settings
  39. ;
  40. RSTATE[0..1].CLKF = RDSTRB    ;Receiver State Machine Clock
  41. RW[3..0].CLKF = RDSTRB
  42. /XSTATE[1..0].CLKF = XCLK        ;Transmit State Machine Clock
  43. /XR[3..0].CLKF = XCLK        ;Transmit FIFO Read Enable Clock
  44. IXMIT.CLKF = XCLK
  45. ;
  46. ;Tri_states
  47. ;
  48. RW[3..0].TRST = VCC    ;Always On
  49. XCMD[3..0].TRST = GND    ;Always off.  XCMD used as an input.
  50. XMIT.TRST = GND            ;Input
  51. XEF.TRST = GND        ;Input
  52. ;
  53. ;
  54. ;Taxi Receiver Operation
  55. ;
  56. ;State Machine Operation
  57. ;
  58. /RSTATE[0] := RRST*/RSTATE[0]*/RSTATE[1] +
  59.           RRST*RSTATE[0]*/RSTATE[1] 
  60. ;          
  61. /RSTATE[1] := RRST*RSTATE[0]*RSTATE[1] +
  62.            RRST*RSTATE[0]*/RSTATE[1]
  63. ;
  64. ;
  65. ;The Write Enable Operations.  They are state dependent.
  66. ;
  67.  
  68. ;
  69. RW[0] = RRST*/RSTATE[1]*/RSTATE[0]
  70.  
  71. RW[1] = RRST*RSTATE[1]*/RSTATE[0]
  72.       
  73. RW[2] = RRST*RSTATE[1]*RSTATE[0]
  74.  
  75. RW[3] = RRST*/RSTATE[1]*RSTATE[0]
  76. ;
  77. ;
  78. ;Transmit Equations
  79. ;
  80.  
  81. ;IXMIT := XMIT    ; IXMIT defined as an input
  82.  
  83. STRB = XCLK * XR[0] 
  84.      + XCLK * XR[1] 
  85.      + XCLK * XR[2] 
  86.      + XCLK * XR[3]
  87.  
  88. ;
  89. ;Transmit State Machine Definitions.
  90. ;
  91. STATE
  92. ;
  93. TRAN0 = /XSTATE[0]*/XSTATE[1]    ;State[1]
  94. TRAN1 = XSTATE[0]*/XSTATE[1]    ;State[0]
  95. TRAN2 = /XSTATE[0]*XSTATE[1]    ;State[2]
  96. TRAN3 = XSTATE[0]*XSTATE[1]    ;State[3]
  97. ;
  98. ;State Transitions
  99. ;
  100. Start_UP := Power_UP -> TRAN0
  101. TRAN0 := CMD_CNT -> TRAN1 +-> TRAN0
  102. TRAN1 := XCNT -> TRAN2 +-> TRAN1
  103. TRAN2 := XCNT -> TRAN3 +-> TRAN2
  104. TRAN3 := XCNT ->TRAN0 +-> TRAN3
  105. ;
  106. ;State Output Equations
  107. ;
  108. Start_UP.OUTF := Power_Up -> /XR[0]*/XR[1]*/XR[2]*/XR[3]
  109. TRAN0.OUTF := read0 -> XR[0]*/XR[1]*/XR[2]*/XR[3] +
  110.           readh -> /XR[0]*/XR[1]*/XR[2]*XR[3]
  111.                    +-> /XR[0]*/XR[1]*/XR[2]*/XR[3] 
  112. TRAN1.OUTF := read123 -> /XR[0]*XR[1]*/XR[2]*/XR[3] 
  113.                +-> XR[0]*/XR[1]*/XR[2]*/XR[3]
  114. TRAN2.OUTF := read123 -> /XR[0]*/XR[1]*XR[2]*/XR[3]
  115.                +-> /XR[0]*XR[1]*/XR[2]*/XR[3]
  116. TRAN3.OUTF := read123 -> /XR[0]*/XR[1]*/XR[2]*XR[3]
  117.                +-> /XR[0]*/XR[1]*XR[2]*/XR[3]
  118. ;
  119. ;
  120. CONDITIONS
  121.  
  122. CMD_CNT = /IXMIT*/XCMD[0]*/XCMD[1]*/XCMD[2]*/XCMD[3]
  123. XCNT = /XCMD[0]*/XCMD[1]*/XCMD[2]*/XCMD[3]
  124. read0 = /IXMIT*/XCMD[0]*/XCMD[1]*/XCMD[2]*/XCMD[3]
  125. readh = /IXMIT*/(/XCMD[0]*/XCMD[1]*/XCMD[2]*/XCMD[3])
  126. read123 = /XCMD[0]*/XCMD[1]*/XCMD[2]*/XCMD[3]
  127.  
  128.  
  129. Simulation
  130.  
  131. TRACE_ON XCLK ARST XSTATE[1] XSTATE[0] 
  132. XR[0] XR[1] XR[2] XR[3] STRB XMIT IXMIT
  133. XCMD[0] XCMD[1] XCMD[2] XCMD[3] 
  134. SETF /XCLK
  135.      /ARST /RRST
  136.      /XCMD[0] /XCMD[1] /XCMD[2] /XCMD[3]
  137.      XEF /XMIT /RDSTRB
  138. SETF XCLK
  139. SETF XCLK
  140. SETF /XCLK
  141. SETF /XCLK
  142. SETF ARST
  143. SETF XCLK
  144. SETF XCLK
  145. SETF /XCLK XMIT
  146. SETF /XCLK
  147. SETF ARST RRST
  148. FOR I := 1 TO 10 DO
  149. BEGIN
  150. SETF XCLK
  151. SETF RDSTRB
  152. SETF /XCLK
  153. SETF /RDSTRB 
  154. END
  155. SETF XCLK
  156. SETF RDSTRB
  157. SETF /XCLK
  158. SETF /RDSTRB
  159. SETF XCLK
  160. SETF RDSTRB
  161. SETF /XCLK
  162. SETF /RDSTRB
  163. FOR I := 1 TO 5 DO
  164. BEGIN
  165. SETF XCLK
  166. SETF RDSTRB
  167. SETF /XCLK
  168. SETF /RDSTRB
  169. END
  170.  
  171. FOR I := 1 TO 5 DO
  172. BEGIN
  173. SETF XCLK
  174. SETF RDSTRB
  175. SETF /XCLK
  176. SETF /RDSTRB
  177. END
  178.  
  179.  
  180. TRACE_OFF
  181.