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