home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s205 / 1.ddi / BACKUP.001 / EXAMPLES_CB_SAMPLES_LA_BKPIN.PDS < prev    next >
Encoding:
PALASM Design Description  |  1991-02-27  |  9.6 KB  |  326 lines

  1. ;PALASM Design Description
  2.  
  3. ;---------------------------------- Declaration Segment ------------
  4. TITLE    Logic Analyzer States
  5. PATTERN  
  6. REVISION 
  7. AUTHOR   john davis
  8. COMPANY  SIVAD for AMD
  9. DATE     10/15/90
  10.  
  11. CHIP  _la_comb  MACH210
  12. ;---------------------------------- PIN Declarations ---------------
  13. PIN 33 /POR COMBINATORIAL            ; Power On Reset
  14. PIN  35 CLK1                            ; Default Clock on pin 35
  15. PIN  13  K_CLK COMBINATORIAL             ; 
  16.  
  17. PIN ? MSW[1] REGISTERED                 ; 
  18. PIN ? MSW[2] REGISTERED                 ; 
  19. PIN 32 MSW[3] REGISTERED                 ; 
  20. PIN 24 MSW[4] REGISTERED                 ; 
  21. PIN 11 MSW[5] REGISTERED                 ; 
  22. PIN 10 MSW[15] REGISTERED                ; 
  23. PIN 2 REQ REGISTERED                ; 
  24. PIN 41 RPL REGISTERED                ; 
  25. PIN 31 GO COMBINATORIAL             ; 
  26. PIN 27 DONE COMBINATORIAL           ; 
  27. PIN 4 HIT COMBINATORIAL             ; 
  28. PIN 29 TC COMBINATORIAL               ; 
  29. PIN 43 AM_G_ADDR_CK COMBINATORIAL        ; 
  30. PIN 42 /AM_G_CS COMBINATORIAL             ; 
  31. PIN 20 /AM_G_OE COMBINATORIAL             ; 
  32.  
  33. ;*******************Swap Pins 17 and 21************************
  34. ;PIN 17 /AM_G_WE COMBINATORIAL             ; 
  35. PIN 21 /AM_G_WE COMBINATORIAL             ; 
  36.  
  37. PIN 18 PM_G_ADDR_CK COMBINATORIAL        ; 
  38. PIN 15 /PM_G_CS COMBINATORIAL             ; 
  39. PIN 16 /PM_G_OE COMBINATORIAL             ; 
  40.  
  41. ;*******************Swap Pins 17 and 21************************
  42. ;PIN 21 /PM_G_WE COMBINATORIAL             ; 
  43. PIN 17 /PM_G_WE COMBINATORIAL             ; 
  44.  
  45. PIN 26 LOAD 
  46. PIN 25 /CLR_SR 
  47. PIN 30 /HOLD 
  48. PIN 9 INP3 
  49. PIN 8 INP2 
  50. PIN 6 INP1 
  51. PIN 5 INP0 
  52. PIN 3 K_C4 REGISTERED                   ; 
  53.  
  54. PIN ? AM_LOAD ; 
  55. PIN 19 CLK_PIPE COMBINATORIAL            ; 
  56.  
  57. ;************ BURIED REGISTERS ********************
  58. NODE 1 POR_INIT
  59. NODE 23 ON COMBINATORIAL               ; 
  60. NODE 9 K0 REGISTERED                     ; 
  61. NODE 12 K1 REGISTERED                     ; 
  62. NODE 6 K2 REGISTERED                     ; 
  63. NODE 13 K3 REGISTERED                     ; 
  64. NODE 29 K_C0_0 REGISTERED                 ; 
  65. NODE 32 K_C0_1 REGISTERED                 ; 
  66. NODE 21 K_C1 REGISTERED                   ; 
  67. NODE 33 K_C2_0 REGISTERED                 ; 
  68. NODE 14 K_C2_1 REGISTERED                 ; 
  69. NODE 27 K_C3 REGISTERED                   ; 
  70.  
  71. NODE 37 SR0 REGISTERED                    ;Internal timing shift register
  72. NODE 55 SR1 REGISTERED                    ;Internal timing shift register
  73. NODE 56 SR2 REGISTERED                    ;Internal timing shift register
  74. NODE 38 SR3 REGISTERED                    ;Internal timing shift register
  75. NODE 58 SR4 REGISTERED                    ;Internal timing shift register
  76. NODE 47 SR5 REGISTERED                    ;Internal timing shift register
  77. NODE 64 SR6 REGISTERED                    ;Internal timing shift register
  78. NODE 65 SR7 REGISTERED                    ;Internal timing shift register
  79. NODE 53 SR8 REGISTERED                    ;Internal timing shift register
  80. ;       
  81. NODE 48 AK0 REGISTERED                    ; 
  82. NODE 34 AK1 REGISTERED                    ; 
  83. NODE 36 AK2 REGISTERED                    ; 
  84. NODE 40 AK3 REGISTERED                    ; 
  85.  
  86. ;       
  87. ;STRING DECLARATIONS.
  88. STRING GL 'MSW[0]'
  89. STRING DL 'MSW[1]'
  90. STRING BF 'MSW[2]'
  91. STRING TR0 'MSW[3]'
  92. STRING TR1 'MSW[4]'
  93. STRING TR2 'MSW[5]'
  94. STRING ST 'MSW[6]'
  95. STRING XCK 'MSW[7]'
  96. STRING TG 'MSW[8]'
  97. STRING SM 'MSW[9]'
  98. STRING XS 'MSW[10]'                ;External Sync Input
  99. STRING CS 'MSW[11]'
  100. STRING EQ 'MSW[12]'
  101. STRING TA 'MSW[13]'
  102. STRING TD 'MSW[14]'
  103. STRING RUN 'MSW[15]'
  104.  
  105. STRING S_K0  '/POR*RUN*/K3*/K2*/K1*/K0'        ;Main Control State Bits
  106. STRING S_K1  '/POR*RUN*/K3*/K2*/K1* K0'
  107. STRING S_K2  '/POR*RUN*/K3*/K2* K1*/K0'
  108. STRING S_K3  '/POR*RUN*/K3*/K2* K1* K0'
  109. STRING S_K4  '/POR*RUN*/K3* K2*/K1*/K0'
  110. STRING S_K5  '/POR*RUN*/K3* K2*/K1* K0'
  111. STRING S_K6  '/POR*RUN*/K3* K2* K1*/K0'
  112. STRING S_K7  '/POR*RUN*/K3* K2* K1* K0'
  113. STRING S_K8  '/POR*RUN* K3*/K2*/K1*/K0'
  114.  
  115. STRING S_LOAD '/POR*LOAD'
  116. STRING SHIFT 'HOLD'
  117. STRING S_R0  'SR0'
  118. STRING S_K_C4  ' K_C4'
  119. STRING S_TDD    '/TR2*/TR1*/TR0'        ;Operational Mode Bits
  120. STRING S_TTD    '/TR2*/TR1* TR0'
  121. STRING S_TAD    '/TR2* TR1*/TR0'
  122. STRING S_TBD     '/TR2* TR1* TR0'
  123. STRING S_LD_RG     ' TR2*/TR1*/TR0'
  124. STRING S_LD_AT     ' TR2*/TR1* TR0'
  125. STRING S_LSA     '(S_TDD+S_TTD+S_TAD+S_TBD)'
  126. STRING S_SET     '(S_LD_RG+S_LD_AT)'
  127.  
  128. ;------------------- Boolean Equation Segment ------
  129. EQUATIONS
  130. ;------------ Initialization ---------------
  131. POR_INIT.RSTF=POR
  132. ;------------ Outputs -------------------- 
  133. AM_G_CS = /K_C0_1 * K_C0_0
  134.     + K_C0_1 * /K_C0_0
  135.      + AK3
  136. AM_G_OE = /K_C0_1 * K_C0_0
  137.     + K_C0_1 * /K_C0_0
  138.       +  AK3*/AK2*/AK1* AK0
  139. AM_G_WE = /K_C0_1 * K_C0_0
  140.     + K_C0_1 * /K_C0_0
  141.     + AK3
  142. AM_G_ADDR_CK = /K_C0_1 * K_C0_0
  143.     + AK3
  144. PM_G_CS = /K_C0_1 * K_C0_0
  145.     + K_C0_1 * /K_C0_0
  146. PM_G_OE = /K_C0_1 * K_C0_0
  147.     + K_C0_1 * /K_C0_0
  148. PM_G_WE = /K_C0_1 * K_C0_0
  149.     + K_C0_1 * /K_C0_0
  150. PM_G_ADDR_CK = /K_C0_1 * K_C0_0
  151. ;-----------------------Operation--------------------------
  152.  
  153. K_C0_0 := /POR*MSW[15]*/MSW[5]*MSW[4]*MSW[3]*/K3*K2*/K1*K0*/K_C0_0
  154.     + /POR*MSW[15]*/MSW[5]*/MSW[4]*/MSW[3]*/K3*/K2*K1*/K0*/K_C0_0
  155.     + /POR*/MSW[5]*K_C0_1*/K_C0_0
  156. K_C0_1 := /POR*MSW[15]*/MSW[5]*/MSW[4]*/MSW[3]*/K3*/K2*K1*/K0*/K_C0_1*K_C0_0
  157.     + /POR*MSW[15]*/MSW[5]*MSW[4]*MSW[3]*/K3*K2*/K1*K0*/K_C0_1*K_C0_0
  158.     + /POR*/MSW[5]*K_C0_1*/K_C0_0*/HIT
  159.  
  160. K_C1 := HIT * /MSW[5] * /MSW[3] * /K3 * /K2 * K1 * /K0 * /K_C1
  161.     + HIT * /MSW[5] * /MSW[4] * MSW[3] * /K3 * /K2 * K1 * K0 * /K_C1
  162.     + HIT * /MSW[5] * MSW[4] * MSW[3] * /K3 * K2 * /K1 * K0 * /K_C1
  163.     + HIT * /MSW[5] * MSW[4] * /K3 * /K2 * K1 * /K0 * /K_C1
  164.  
  165. K_C2_0 := /MSW[5] * /K3 * K2 * /K1 * /K0 * /K_C2_1 * /K_C2_0 * /MSW[3]
  166.     + /MSW[5] * /MSW[4] * /K3 * /K2 * K1 * K0 * /K_C2_1 * /K_C2_0 * MSW[3]
  167.     + /MSW[5] * MSW[4] * /K3 * K2 * /K1 * /K0 * /K_C2_1 * /K_C2_0
  168. K_C2_1 := /MSW[5] * /K3 * K2 * /K1 * /K0 * K_C2_0 * /MSW[3]
  169.     + /MSW[5] * /MSW[4] * /K3 * /K2 * K1 * K0 * K_C2_0 * MSW[3]
  170.     + /MSW[5] * MSW[4] * /K3 * K2 * /K1 * /K0 * K_C2_0
  171.  
  172. K_C3 := MSW[5] * K_C3
  173.     + /MSW[5] * /MSW[4] * /MSW[3] * /K3 * K2 * /K1 * /K0 * /K_C3
  174.     + /MSW[5] * MSW[4] * /MSW[3] * /K3 * /K2 * K1 * K0 * /K_C3
  175.     + K_C3 * /TC
  176.  
  177. K_C4 := /MSW[5] * MSW[3] * /POR * MSW[15] * /K3 * K2 * K1 * /K0 * /K_C4 * MSW[4]
  178.     + /MSW[5] * MSW[3] * /POR * MSW[15] * /K3 * K2 * /K1 * /K0 * /K_C4 * /MSW[4]
  179.     + /MSW[5] * /MSW[3] * /POR * MSW[15] * /K3 * K2 * /K1 * K0 * /K_C4
  180.  
  181. ON = /POR * MSW[15]
  182.  
  183. REQ.CLKF = CLK1
  184. REQ := /POR * /MSW[5] * /K1 * /REQ
  185.     + /POR * /MSW[5] * REQ * /RPL * ON
  186.     + /POR * /MSW[5] * /REQ * K3
  187.     + /POR * /MSW[5] * /REQ * /K0 * MSW[4]
  188.     + /POR * /MSW[5] * /REQ * MSW[3] * K0 * /MSW[4]
  189.     + /POR * /MSW[5] * /REQ * /MSW[3] * /K0
  190.     + /POR * /MSW[5] * /REQ * K2
  191.  
  192. RPL.CLKF = CLK1
  193. RPL := /POR * /MSW[5] * /RPL * K_C1 * HIT
  194.     + /POR * /MSW[5] * K_C0_1 * K_C0_0 * /RPL
  195.     + /POR * /MSW[5] * /RPL * K_C3 * TC
  196.  
  197. SR8 =  /CLR_SR*SHIFT*SR7+/CLR_SR*/HOLD*SR8
  198. SR7 =  /CLR_SR*SHIFT*SR6+/CLR_SR*/HOLD*SR7
  199. SR6 =  /CLR_SR*SHIFT*SR5+/CLR_SR*/HOLD*SR6
  200. SR5 =  /CLR_SR*SHIFT*SR4+/CLR_SR*/HOLD*SR5
  201. SR4 =  /CLR_SR*SHIFT*SR3+/CLR_SR*/HOLD*SR4
  202. SR3 =  /CLR_SR*SHIFT*SR2+/CLR_SR*/HOLD*SR3
  203. SR2 =  /CLR_SR*SHIFT*SR1+/CLR_SR*/HOLD*SR3
  204. SR1 =  /CLR_SR*SHIFT*SR0+/CLR_SR*/HOLD*SR1
  205. SR0 =  /CLR_SR*LOAD*SHIFT*(S_K3+S_K4)
  206.  
  207. CLK_PIPE = K_CLK * /POR * /AK3 * AK2 * /AK1
  208.     + K_CLK * /POR * /AK3 * /AK2 * AK1
  209.     + K_CLK * /POR * /AK3 * AK2 * /AK0
  210.  
  211. AK0 := AK2 * /AK0
  212.     + /POR * /MSW[5] * /MSW[4] * MSW[3] * AK3 * /AK0
  213.     + /POR * GO * MSW[5] * /MSW[4] * MSW[3] * /AK3 * /AK0
  214.     + AK1 * /AK0
  215. AK1 := /AK3 * /AK1 * AK0
  216.     + AK3 * /AK0 * /POR * MSW[5] * /MSW[4] * MSW[3]
  217.     + AK1 * /AK0
  218. AK2 := AK2 * /AK0
  219.     + /AK2 * AK1 * AK0
  220.     + AK2 * /AK1
  221. AK3 := AK3 * /AK0 * /POR * /MSW[5] * /MSW[4] * MSW[3]
  222.     + AK2 * AK1 * AK0
  223.  
  224. STATE
  225.  
  226. M_K0  = /K3*/K2*/K1*/K0         ;Main Control State Definition
  227. M_K1  = /K3*/K2*/K1* K0 
  228. M_K2  = /K3*/K2* K1*/K0 
  229. M_K3  = /K3*/K2* K1* K0 
  230. M_K4  = /K3* K2*/K1*/K0 
  231. M_K5  = /K3* K2*/K1* K0 
  232. M_K6  = /K3* K2* K1*/K0 
  233. M_K7  = /K3* K2* K1* K0 
  234. M_K8  =  K3*/K2*/K1*/K0
  235.  
  236.  
  237. MEALY_MACHINE            ;Main  Trace Control State Machine
  238.  
  239. M_K0 :=   T_START -> M_K1
  240.         + L_START -> M_K1
  241.         +-> M_K0;
  242.  
  243. M_K1 :=   N_ACK -> M_K2
  244.         + T_ACK -> M_K1
  245.         + CLR_X -> M_K0
  246.         +-> M_K2;
  247.  
  248. M_K2 :=  ; N_ACK -> M_K3
  249.         ;+ T_ACK -> M_K2
  250.           C_TRACE2 -> M_K3
  251.         + CLR_2 -> M_K0
  252.  
  253.         + T_LOAD -> M_K3
  254.         +-> M_K2;
  255.  
  256. M_K3 :=  ; N_ACK -> M_K4
  257.         ;+ T_ACK -> M_K3
  258.           CLR_3 -> M_K0
  259.         + C_TRACE3 -> M_K4
  260.  
  261.         + T_ZERO -> M_K7
  262.         + N_ZERO ->M_K4
  263.                 +-> M_K0;
  264.  
  265. M_K4 :=   N_ACK -> M_K5
  266.         + T_ACK -> M_K4
  267.         + CLR_X -> M_K0
  268.  
  269.         + T_SR8 -> M_K5
  270.         + N_SR8 -> M_K3
  271.                 +-> M_K0;
  272.  
  273. M_K5 :=   N_ACK -> M_K6
  274.         + T_ACK -> M_K5
  275.         + CLR_X -> M_K0
  276.  
  277.         + C_SET -> M_K6
  278.                 +-> M_K0;
  279.  
  280. M_K6 :=   N_ACK -> M_K7
  281.         + T_ACK -> M_K6
  282.         + CLR_X -> M_K0
  283.  
  284.         + C_SET -> M_K0
  285.                 +-> M_K0;
  286.  
  287. M_K7 :=   N_ACK -> M_K8
  288.         + T_ACK -> M_K7
  289.         + CLR_X -> M_K0
  290.  
  291.         + C_SET -> M_K8
  292.                 +-> M_K0;
  293.  
  294. M_K8 :=   N_ACK -> M_K0
  295.         + T_ACK -> M_K8
  296.         + CLR_X -> M_K0
  297.  
  298.         + N_SR8 -> M_K7
  299.         + T_SR8 -> M_K0
  300.                 +-> M_K0;
  301.  
  302.  
  303. ;-----------------------Outputs--------------------------
  304. CONDITIONS
  305. T_START = /POR*GO*/DONE*S_LSA
  306.  
  307. T_ACK= /POR*GO*/K_C4*REQ*/RPL*S_LSA
  308. N_ACK= /POR*GO*/K_C4*RPL*S_LSA
  309. CLR_X = /POR* K_C4*S_LSA
  310. CLR_2 =  POR
  311. CLR_3 =  POR
  312. C_TRACE2 = /POR*GO*S_TTD + /POR*GO*/K_C4*RPL*(S_TDD+S_TAD+S_TBD)
  313. C_TRACE3 = /POR*GO*(S_TDD+S_TAD+S_TBD)+ /POR*GO*/K_C4*RPL*S_TTD
  314. C_SET = S_SET
  315.  
  316. L_START = /POR*GO*S_LD_RG
  317. T_LOAD = /POR*LOAD*S_LD_RG
  318. T_ZERO = /POR* /INP3*/INP2*/INP1*/INP0*S_LD_RG
  319. N_ZERO = /POR*( INP3+ INP2+ INP1+ INP1)*S_LD_RG
  320.  
  321. T_SR8 = /POR*LOAD* SR8*S_LD_RG
  322. N_SR8 = /POR*LOAD*/SR8*S_LD_RG
  323. ;----------------------------------- Simulation Segment ------------
  324.  
  325.  
  326.