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

  1.  
  2. TITLE        VIDEO SHIFT REGISTER.
  3. PATTERN        01
  4. REVISION    02.
  5. AUTHOR        CHRIS JAY.
  6. COMPANY        MMI SANTA CLARA, CA.
  7. DATE        20TH AUGUST 1986.
  8. ;
  9. ;THE PAL32VX10 HAS BEEN DESIGNED AS A VIDEO SHIFT REGISTER
  10. ;TO SUPPORT A THREE PAL SOLUTION TO A SMALL VIDEO CONTROLLER
  11. ;CIRCUIT. SEVEN INPUTS FROM THE CHARACTER GENERATOR ARE LOADED
  12. ;INTO THE INTERNAL SHIFT REGISTER  THROUGH INPUTS D1 - D7,
  13. ;WHEN THE INTERNAL STATE COUNTER S0,S1 AND S2 CONTAINS A
  14. ;ZERO COUNT.  DURING STATES ONE TO SEVEN THE CHARACTER DATA
  15. ;IS SHIFTED TO THE VIDEO OUTPUT AT A CLOCK RATE OF THE 
  16. ;APPLIED DOT CLOCK INPUT. THE DEVICE MAY BE ASYNCHRONOUSLY
  17. ;RESET AT 'POWER UP'. THE REV INPUT IS A REVERSE VIDEO
  18. ;CONTROL, WHEN HIGH REVERSES THE POLARITY OF THE SERIAL
  19. ;VIDEO DATA.  THE BLANK AND /VSYNC CONTROLS ARE FEEDBACK
  20. ;INPUTS FROM THE LINE SYNC AND FRAME SYNC PAL OUTPUTS,
  21. ;THESE BLANK VIDEO DATA DURING ACTIVE LINE AND FRAME SYNC
  22. ;PERIODS. THE S0, S1 AND S2 OUTPUTS DRIVE THE LINE SYNC
  23. ;PAL32VX10 AND ACT AS COUNT ENABLE INPUTS.
  24. ;
  25. CHIP VIDEO_1 PAL32VX10
  26. ;
  27. ;VIDEO SHIFT REGISTER PAL
  28. ;
  29. ;PINS    1          2          3          4          5          6
  30.     CLK    /RST    D1    D2    D3    D4
  31. ;PINS   7          8          9          10         11         12
  32.     D5    D6    D7    BLANK    /VSYNC    GND
  33. ;PINS   13         14        15       16        17         18
  34.     REV    NC    NC    NC    NC    NC
  35. ;PINS   19    20        21       22        23        24
  36.     NC    VIDEO    S2    S1    S0    VCC
  37.  
  38. GLOBAL     Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10
  39.  
  40. STRING     LOAD    'Q8*Q9*Q10'    ;ENABLE LOADING OF CHARACTER DATA.
  41.                 ;
  42. EQUATIONS            ;
  43.                 ;
  44. GLOBAL.SETF = RST        ;ASYNCHRONOUS RESET.
  45.                 ;
  46. /Q10    :=     Q10        ;INTERNAL STATE COUNTER
  47. S0     =     Q10        ;LEAST SIGNIFICANT BIT
  48. S0.CMBF  =    GND        ;Q10. ENABLE REGISTER
  49.                 ;OUTPUT FOR PIN S0.
  50. /Q9    :=    /Q9        ;INTERNAL STATE COUNTER
  51.     :+:     Q10        ;Q10 = HIGH = TOGGLE.
  52. S1     =     Q9        ;FUNCTION. ENABLE PIN S1
  53. S1.CMBF  =    GND        ;REGISTERED OUTPUT.
  54.                 ;
  55. /Q8    :=    /Q8        ;INTERNAL STATE COUNTER
  56.     :+:    Q10*Q9        ;Q10*Q9 = HIGH = TOGGLE.
  57. S2     =    Q8        ;ENABLE PIN S2 AS A
  58. S2.CMBF     =    GND        ;REGISTERED OUTPUT.
  59.                 ;
  60.                 ;
  61. /Q1    :=    /D1*LOAD*/REV*/BLANK*/VSYNC    ;LOAD DATA INPUT D1.
  62.      +     D1*LOAD*REV*/BLANK*/VSYNC    ;
  63.      +    /Q8*/REV            ;SHIFT HIGH INTO Q1.
  64.      +    /Q9*/REV            ;
  65.      +    /Q10*/REV            ;
  66.      +     BLANK*/REV            ;
  67.      +     VSYNC*/REV            ;
  68.                         ;
  69. /Q2    :=    /D2*LOAD*/REV*/BLANK*/VSYNC    ;LOAD DATA INPUT D2.
  70.      +     D2*LOAD*REV*/BLANK*/VSYNC    ;
  71.      +    /Q1*/Q8                ;SHIFT DATA FROM Q1
  72.      +    /Q1*/Q9                ;INTO Q2.
  73.      +    /Q1*/Q10            ;
  74.      +     BLANK*/REV            ;
  75.      +     VSYNC*/REV            ;
  76.                         ;    
  77. /Q3    :=    /D3*LOAD*/REV*/BLANK*/VSYNC    ;LOAD DATA INPUT D3.
  78.      +     D3*LOAD*REV*/BLANK*/VSYNC    ;
  79.      +    /Q2*/Q8                ;SHIFT DATA FROM Q2
  80.      +    /Q2*/Q9                ;INTO Q3.
  81.      +    /Q2*/Q10            ;
  82.      +     BLANK*/REV            ;
  83.      +     VSYNC*/REV            ;
  84.                         ;
  85. /Q4    :=    /D4*LOAD*/REV*/BLANK*/VSYNC    ;LOAD DATA INPUT D4.
  86.      +     D4*LOAD*REV*/BLANK*/VSYNC    ;
  87.      +    /Q3*/Q8                ;SHIFT DATA FROM Q3
  88.      +    /Q3*/Q9                ;INTO Q4.
  89.      +    /Q3*/Q10            ;
  90.      +     BLANK*/REV            ;
  91.      +     VSYNC*/REV            ;
  92.                         ;
  93. /Q5    :=    /D5*LOAD*/REV*/BLANK*/VSYNC    ;LOAD DATA INPUT D5.
  94.      +     D5*LOAD*REV*/BLANK*/VSYNC    ;
  95.      +    /Q4*/Q8                ;SHIFT DATA FROM Q4
  96.      +    /Q4*/Q9                ;INTO Q5.
  97.      +    /Q4*/Q10            ;
  98.      +     BLANK*/REV            ;
  99.      +     VSYNC*/REV            ;
  100.                         ;
  101. /Q6    :=    /D6*LOAD*/REV*/BLANK*/VSYNC    ;LOAD DATA INPUT D6.
  102.      +     D6*LOAD*REV*/BLANK*/VSYNC    ;
  103.      +    /Q5*/Q8                ;SHIFT DATA FROM Q5
  104.      +    /Q5*/Q9                ;INTO Q6.
  105.      +    /Q5*/Q10            ;
  106.      +     BLANK*/REV            ;
  107.      +     VSYNC*/REV            ;
  108.                         ;
  109. /Q7    :=    /D7*LOAD*/REV*/BLANK*/VSYNC    ;
  110.      +     D7*LOAD*REV*/BLANK*/VSYNC    ;
  111.      +    /Q6*/Q8                ;
  112.      +    /Q6*/Q9                ;
  113.      +    /Q6*/Q10            ;
  114.      +     BLANK*/REV            ;
  115.      +     VSYNC*/REV            ;
  116. /VIDEO        = /Q7
  117. /VIDEO.CMBF    = GND                ;OUTPUT Q7 TO VIDEO.
  118.  
  119. SIMULATION                ;START OF SIMULATION
  120. TRACE_ON    CLK RST S0 S1 S2    ;TRACE ALL ESSENTIAL
  121.         VIDEO /VSYNC BLANK    ;
  122.         REV D1 Q1 D2 Q2        ;INPUTS AND OUTPUTS.
  123.         D3 Q3 D4 Q4 D5        ;
  124.         Q5 D6 Q6 D7         ;
  125. SETF        /CLK RST /REV         ;SET INITIAL CONDITIONS.
  126.         /D1 /D2 D3 D4        ;APPLY ACTIVE RESET.
  127.         D5 /D6 /D7        ;
  128.         /BLANK /VSYNC        ;
  129. SETF        /RST            ;
  130. FOR K := 1 TO 7 DO            ;
  131. BEGIN                    ;
  132. CLOCKF CLK                ;
  133. END
  134. FOR J := 0 TO 4 DO            ;GENERATE FOUR LOOPS.
  135. BEGIN                    ;
  136. IF J = 1 THEN                ;
  137. BEGIN SETF VSYNC            ;SET VSYNC TO TEST
  138. END                    ;BLANKING.
  139. IF J = 2 THEN                ;
  140. BEGIN SETF /REV BLANK /VSYNC        ;TEST ACTIVE BLANK
  141. END                    ;INPUT. REMOVE ACTIVE
  142. IF J = 3 THEN                ;VSYNC.
  143. BEGIN SETF D1 /D2 D3 /D4        ;SET BLANKING CONTROLS
  144.        D5 /D6 D7 /BLANK        ;INACTIVE TEST THE
  145. END                    ;LOADING AND SHIFTING
  146. IF J = 4 THEN                ;OF DATA.
  147. BEGIN SETF /REV                ;SET THE REV INPUT AS
  148. END                    ;INACTIVE.
  149. FOR I := 1 TO 16 DO            ;GENERATE TWO LOOPS
  150. BEGIN                    ;TO LOAD AND SHIFT
  151. IF I = 9 THEN                ;DATA AS NORMAL AND
  152. BEGIN SETF REV                ;REVERSE VIDEO.
  153. END                    ;
  154. CLOCKF CLK                ;
  155. END                    ;
  156. END                    ;
  157. TRACE_OFF                ;END OF SIMULATION
  158.  
  159.  
  160.