home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / palsum3 / 8bappreg.pds < prev    next >
Text File  |  1987-08-26  |  5KB  |  142 lines

  1. ;EIGHT BIT SUCCESSIVE
  2. ;APPROXIMATION REGISTER
  3. ;WITH CONVERSION COMPLETE
  4. ;AND END OF CONVERSION.
  5. TITLE SAR 8
  6. PATTERN 01
  7. REVISION 01
  8. AUTHOR CHRIS JAY
  9. COMPANY MMI SANTA CLARA
  10. DATE 29 JANUARY 1985
  11.  
  12. CHIP SAR_8 PAL20RS10
  13.  
  14. ;PIN    1    2    3    4    5    6
  15.     CLK    /RST    CMP    POL    NC    NC
  16. ;PIN    7    8    9    10    11    12
  17.     NC    NC    NC    NC    EN    GND
  18. ;PIN    13    14    15    16    17    18
  19.     /OE    EOC    CC    Q3    Q2    Q4
  20. ;PIN    19    20    21    22    23    24
  21.     Q1    Q5    Q0    Q6    Q7    VCC    
  22.  
  23. EQUATIONS
  24.  
  25. /Q7     := /RST*Q7*CMP*/Q6*/Q5*/Q4*/Q3    ;ACTIVE LOW RESET WILL
  26.     */Q2*/Q1*/Q0*/CC*/EOC*POL     ;SET Q7 HIGH. THE CMP
  27.          + /RST*Q7*/CMP*/Q6*/Q5*/Q4    ;OR /CMP INPUT IS REG-
  28.     */Q3*/Q2*/Q1*/Q0*/CC*/EOC*/POL    ;ISTERED DEPENDING ON
  29.     + /RST*/Q7*/EOC              ;POL INPUT. Q7 IS HELD
  30.                     ;UNTIL THE END OF CON-
  31.                     ;VERSION.
  32. Q6      :=  /RST*Q7*/Q6*/Q5*/Q4        ;ACTIVE LOW RESET WILL
  33.     */Q3*/Q2*/Q1*/Q0*/CC*/EOC    ;RESET Q6 LOW. Q6 GOES
  34.          + /RST*Q6*/CMP*/Q5*/Q4        ;HIGH AFTER Q7 AND THE
  35.     */Q3*/Q2*/Q1*/Q0*/CC*/EOC*POL    ;CMP OR /CMP INPUT IS
  36.          + /RST*Q6*CMP*/Q5*/Q4*/Q3    ;REGISTERED.POL SELECTS
  37.     */Q2*/Q1*/Q0*/CC*/EOC*/POL    ;CMP POLARITY. THE DATA
  38.          + /RST*Q6*Q5*/EOC        ;REGISTERED IN Q6 IS
  39.     + /RST*Q6*Q4*/EOC        ;HELD THROUGH THE WHOLE
  40.     + /RST*Q6*Q3*/EOC        ;APPROXIMATION CYCLE Q5
  41.     + /RST*Q6*Q2*/EOC        ;DOWN TO CONVERSION
  42.     + /RST*Q6*Q1*/EOC        ;COMPLETE. THE EOC LOW
  43.     + /RST*Q6*Q0*/EOC        ;SIGNAL, END OF CONVER-
  44.     + /RST*Q6*CC*/EOC        ;-SION CLEARS THE
  45.                     ;REGISTERS.
  46. Q0      := /RST*Q1*/Q0*/CC*/EOC        ;SET REGISTER Q0
  47.          + /RST*Q0*/CMP*/CC*/EOC*POL    ;REGISTER CMP
  48.          + /RST*Q0*CMP*/CC*/EOC*/POL    ;OR /CMP INPUT
  49.     + /RST*Q0*CC*/EOC        ;HOLD Q0 DATA
  50.                     ;
  51. Q5      := /RST*Q6*/Q5*/Q4*/Q3        ;SET REGISTER Q5
  52.     */Q2*/Q1*/Q0*/CC*/EOC        ;AFTER Q6. DURING
  53.          +  /RST*Q5*/CMP*/Q4*/Q3        ;COMPARE CYCLE.
  54.     */Q2*/Q1*/Q0*/CC*/EOC*POL         ;REGISTER CMP
  55.          +  /RST*Q5*CMP*/Q4*/Q3        ;OR /CMP INPUT
  56.     */Q2*/Q1*/Q0*/CC*/EOC*/POL    ;
  57.          +  /RST*Q5*Q4*/EOC        ;HOLD Q5 DATA
  58.     +  /RST*Q5*Q3*/EOC        ;DURING THE
  59.     +  /RST*Q5*Q2*/EOC        ;APPROXIMATION
  60.     +  /RST*Q5*Q1*/EOC        ;CYCLE FROM Q4
  61.     +  /RST*Q5*Q0*/EOC        ;TO CONVERSION
  62.     +  /RST*Q5*CC*/EOC        ;COMPLETE.
  63.                     ;
  64. Q1     := /RST*Q2*/Q1*/Q0*/CC*/EOC    ;SET REGISTER Q1    
  65.          +  /RST*Q1*/CMP*/Q0*/CC        ;HIGH AFTER Q2
  66.     */EOC*POL            ;REGISTER CMP
  67.           +  /RST*Q1*CMP*/Q0*/CC        ;OR /CMP INPUT
  68.     */EOC*/POL            ;SELECTED BY POL
  69.          +  /RST*Q1*Q0*/EOC        ;HOLD Q1 DATA FOR
  70.     +  /RST*Q1*CC*/EOC        ;REST OF CONVERSION
  71.                     ;
  72. Q4      := /RST*Q5*/Q4*/Q3*/Q2        ;SET REGISTER Q4
  73.     */Q1*/Q0*/CC*/EOC        ;AFTER Q5 THEN
  74.          +  /RST*Q4*/CMP*/Q3*/Q2        ;COMPARE CYCLE
  75.     */Q1*/Q0*/CC*/EOC*POL        ;REGISTER CMP OR
  76.          +  /RST*Q4*CMP*/Q3*/Q2        ;/CMP INPUT.
  77.     */Q1*/Q0*/CC*/EOC*/POL        ;
  78.          +  /RST*Q4*Q3*/EOC        ;HOLD Q4 DATA
  79.     +  /RST*Q4*Q2*/EOC        ;DURING THE
  80.     +  /RST*Q4*Q1*/EOC        ;APPROXIMATION
  81.     +  /RST*Q4*Q0*/EOC        ;CYCLE OF Q3
  82.     +  /RST*Q4*CC*/EOC        ;DOWN TO CC
  83.                        ;RESET REGISTER Q3
  84. Q2      := /RST*Q3*/Q2*/Q1*/Q0*/CC*/EOC    ;SET REGISTER Q2
  85.          +  /RST*Q2*/CMP*/Q1*/Q0*/CC    ;HIGH AFTER Q3
  86.     */EOC*POL            ;REGISTER CMP OR
  87.          +  /RST*Q2*CMP*/Q1*/Q0*/CC    ;/CMP INPUT SELECT
  88.     */EOC*/POL            ;WITH POL
  89.          +  /RST*Q2*Q1*/EOC        ;HOLD Q2 DATA
  90.     +  /RST*Q2*Q0*/EOC        ;FOR APPROXIMATION
  91.     +  /RST*Q2*CC*/EOC        ;CYCLE TO CC.
  92.                     ;RESET REGISTER Q3
  93. Q3      := /RST*Q4*/Q3*/Q2*/Q1*/Q0    ;THEN SET Q3.
  94.     */CC*/EOC            ;REGISTER THE CMP
  95.          +  /RST*Q3*/CMP*/Q2*/Q1*/Q0    ;OR /CMP INPUTS
  96.     */CC*/EOC*POL            ;AND HOLD CONTENTS
  97.          +  /RST*Q3*CMP*/Q2*/Q1*/Q0    ;OF Q3 DURING THE
  98.     */CC*/EOC*/POL            ;REST OF THE APP-
  99.          +  /RST*Q3*Q2*/EOC        ;-ROXIMATION CYCLE
  100.     +  /RST*Q3*Q1*/EOC        ;DOWN TO CC
  101.     +  /RST*Q3*Q0*/EOC        ;
  102.     +  /RST*Q3*CC*/EOC        ;
  103.                     ;RESET CC. CC GOES
  104. CC      := /RST*Q0*/CC*/EOC        ;HIGH AFTER Q0 TO
  105.          + /RST*CC*/CMP*/EOC*/EN*POL    ;INDICATE THAT
  106.          + /RST*CC*CMP*/EOC*/EN*/POL    ;CONVERSION IS NOW
  107.                                         ;COMPLETE. IF EN
  108.                                         ;IS LOW THEN CC
  109.                                         ;CAN PROVIDE ONE
  110.                                         ;ADDITIONAL BIT OF
  111.                                         ;RESOLUTION.
  112.                     ;
  113. EOC     := /RST*CC*/EOC            ;END OF COUNT
  114.                     ;GOES HIGH TO
  115.                     ;RESET THE SAR.
  116. SIMULATION
  117. TRACE_ON CLK /RST EN CMP POL
  118.      Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 CC EOC
  119. SETF OE /CLK RST EN CMP /POL        ;SET INITIAL CONDITIONS
  120. CLOCKF                    ;AND RESET Q6 - Q0, CC
  121. SETF /RST                ;AND EOC, SET Q7
  122. CLOCKF                    ;FOR NINE CLOCK CYCLES
  123. FOR I := 1 TO 9 DO            ;PERFORM ONE PASS OF
  124. BEGIN CLOCKF                ;SUCCESSIVE APPROXIMATION
  125. END                    ;WITH CMP HIGH AND POL
  126. SETF /CMP                ;LOW. PERFORM SECOND
  127. FOR J := 1 TO 9 DO            ;PASS WITH CMP LOW
  128. BEGIN CLOCKF CLK            ;
  129. END                    ;SET POLARITY PIN ACTIVE
  130. SETF POL                ;TEST SUCCESSIVE CYCLE OF
  131. FOR K := 1 TO 9 DO            ;APPROXIMATION WITH THE
  132. BEGIN CLOCKF CLK            ;INVERSION INPUT ACTIVE
  133. SETF CMP                ;FOR CMP HIGH AND CMP
  134. FOR L := 1 TO 9 DO            ;LOW
  135. BEGIN CLOCKF CLK            ;
  136. END                    ;
  137. CLOCKF                    ;
  138. END                    ;
  139. TRACE_OFF                ;
  140.                     
  141.                                       
  142.