home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / palsum2 / barrel.pds < prev    next >
Text File  |  1987-08-26  |  17KB  |  350 lines

  1. Title     Barrel_Shifter
  2. Pattern   Barrel.pds
  3. Revision  A
  4. Author    Mehrnaz Hada
  5. Company   Monolithic Memories Inc. Santa Clara, CA
  6. Date      1/15/85
  7.   
  8. ;The 16-bit barrel shifter will shift 16 bits of data
  9. ;(D15-D0) a number of locations into the output pins, as
  10. ;specified by the binary encoded input. A compacted
  11. ;equation can be used to specify this design. It can be
  12. ;specified as following:
  13. ;Q[J=0..15] :=
  14. ;      OR[K=0..15]{D[(J+K)-((J+K)/16)*16]*BIN[K,I=3..0]S(I)}
  15. ;Inputs are shown by D. Si are shift amount inputs and
  16. ;Qj are outputs. 16 product terms in each output pair
  17. ;are directed to one output; thus only 16 out of 32
  18. ;output pins are used.
  19.   
  20. CHIP BarrelShift PAL64R32
  21.   
  22. D7 D6 D5 D4 D3 D2 D1 D0 /PL1 /PS1 GND CLK1
  23. /OC1 Q0 NC Q1 NC Q2 NC Q3 NC Q4 NC Q5 NC Q6
  24. NC Q7 NC /OC2 CLK2 VCC /PS2 /PL2 NC NC NC
  25. NC NC S0 S1 S2 S3 NC NC NC NC NC NC NC
  26. /PL3 /PS3 GND CLK3 /OC3 NC Q8 NC Q9 NC Q10
  27. NC Q11 NC Q12 NC Q13 NC Q14 NC Q15 /OC4
  28. CLK4 VCC /PS4 /PL4 D15 D14 D13 D12 D11 D10
  29. D9 D8
  30.   
  31. EQUATIONS
  32.   
  33. Q0 := /S3 * /S2 * /S1 * /S0 * D0       ; No shift
  34.    +  /S3 * /S2 * /S1 *  S0 * D1       ; Shift 1 space
  35.    +  /S3 * /S2 *  S1 * /S0 * D2       ; Shift 2 spaces
  36.    +  /S3 * /S2 *  S1 *  S0 * D3       ; Shift 3 spaces
  37.    +  /S3 *  S2 * /S1 * /S0 * D4       ; Shift 4 spaces
  38.    +  /S3 *  S2 * /S1 *  S0 * D5       ; Shift 5 spaces
  39.    +  /S3 *  S2 *  S1 * /S0 * D6       ; Shift 6 spaces
  40.    +  /S3 *  S2 *  S1 *  S0 * D7       ; Shift 7 spaces
  41.    +   S3 * /S2 * /S1 * /S0 * D8       ; Shift 8 spaces
  42.    +   S3 * /S2 * /S1 *  S0 * D9       ; Shift 9 spaces
  43.    +   S3 * /S2 *  S1 * /S0 * D10      ; Shift 10 spaces
  44.    +   S3 * /S2 *  S1 *  S0 * D11      ; Shift 11 spaces
  45.    +   S3 *  S2 * /S1 * /S0 * D12      ; Shift 12 spaces
  46.    +   S3 *  S2 * /S1 *  S0 * D13      ; Shift 13 spaces
  47.    +   S3 *  S2 *  S1 * /S0 * D14      ; Shift 14 spaces
  48.    +   S3 *  S2 *  S1 *  S0 * D15      ; Shift 15 spaces
  49.   
  50. Q1 := /S3 * /S2 * /S1 * /S0 * D1       ; No shift
  51.    +  /S3 * /S2 * /S1 *  S0 * D2       ; Shift 1 space
  52.    +  /S3 * /S2 *  S1 * /S0 * D3       ; Shift 2 spaces
  53.    +  /S3 * /S2 *  S1 *  S0 * D4       ; Shift 3 spaces
  54.    +  /S3 *  S2 * /S1 * /S0 * D5       ; Shift 4 spaces
  55.    +  /S3 *  S2 * /S1 *  S0 * D6       ; Shift 5 spaces
  56.    +  /S3 *  S2 *  S1 * /S0 * D7       ; Shift 6 spaces
  57.    +  /S3 *  S2 *  S1 *  S0 * D8       ; Shift 7 spaces
  58.    +   S3 * /S2 * /S1 * /S0 * D9       ; Shift 8 spaces
  59.    +   S3 * /S2 * /S1 *  S0 * D10      ; Shift 9 spaces
  60.    +   S3 * /S2 *  S1 * /S0 * D11      ; Shift 10 spaces
  61.    +   S3 * /S2 *  S1 *  S0 * D12      ; Shift 11 spaces
  62.    +   S3 *  S2 * /S1 * /S0 * D13      ; Shift 12 spaces
  63.    +   S3 *  S2 * /S1 *  S0 * D14      ; Shift 13 spaces
  64.    +   S3 *  S2 *  S1 * /S0 * D15      ; Shift 14 spaces
  65.    +   S3 *  S2 *  S1 *  S0 * D0       ; Shift 15 spaces
  66.   
  67. Q2 := /S3 * /S2 * /S1 * /S0 * D2       ; No shift
  68.    +  /S3 * /S2 * /S1 *  S0 * D3       ; Shift 1 space
  69.    +  /S3 * /S2 *  S1 * /S0 * D4       ; Shift 2 spaces
  70.    +  /S3 * /S2 *  S1 *  S0 * D5       ; Shift 3 spaces
  71.    +  /S3 *  S2 * /S1 * /S0 * D6       ; Shift 4 spaces
  72.    +  /S3 *  S2 * /S1 *  S0 * D7       ; Shift 5 spaces
  73.    +  /S3 *  S2 *  S1 * /S0 * D8       ; Shift 6 spaces
  74.    +  /S3 *  S2 *  S1 *  S0 * D9       ; Shift 7 spaces
  75.    +   S3 * /S2 * /S1 * /S0 * D10      ; Shift 8 spaces
  76.    +   S3 * /S2 * /S1 *  S0 * D11      ; Shift 9 spaces
  77.    +   S3 * /S2 *  S1 * /S0 * D12      ; Shift 10 spaces
  78.    +   S3 * /S2 *  S1 *  S0 * D13      ; Shift 11 spaces
  79.    +   S3 *  S2 * /S1 * /S0 * D14      ; Shift 12 spaces
  80.    +   S3 *  S2 * /S1 *  S0 * D15      ; Shift 13 spaces
  81.    +   S3 *  S2 *  S1 * /S0 * D0       ; Shift 14 spaces
  82.    +   S3 *  S2 *  S1 *  S0 * D1       ; Shift 15 spaces
  83.   
  84. Q3 := /S3 * /S2 * /S1 * /S0 * D3       ; No shift
  85.    +  /S3 * /S2 * /S1 *  S0 * D4       ; Shift 1 space
  86.    +  /S3 * /S2 *  S1 * /S0 * D5       ; Shift 2 spaces
  87.    +  /S3 * /S2 *  S1 *  S0 * D6       ; Shift 3 spaces
  88.    +  /S3 *  S2 * /S1 * /S0 * D7       ; Shift 4 spaces
  89.    +  /S3 *  S2 * /S1 *  S0 * D8       ; Shift 5 spaces
  90.    +  /S3 *  S2 *  S1 * /S0 * D9       ; Shift 6 spaces
  91.    +  /S3 *  S2 *  S1 *  S0 * D10      ; Shift 7 spaces
  92.    +   S3 * /S2 * /S1 * /S0 * D11      ; Shift 8 spaces
  93.    +   S3 * /S2 * /S1 *  S0 * D12      ; Shift 9 spaces
  94.    +   S3 * /S2 *  S1 * /S0 * D13      ; Shift 10 spaces
  95.    +   S3 * /S2 *  S1 *  S0 * D14      ; Shift 11 spaces
  96.    +   S3 *  S2 * /S1 * /S0 * D15      ; Shift 12 spaces
  97.    +   S3 *  S2 * /S1 *  S0 * D0       ; Shift 13 spaces
  98.    +   S3 *  S2 *  S1 * /S0 * D1       ; Shift 14 spaces
  99.    +   S3 *  S2 *  S1 *  S0 * D2       ; Shift 15 spaces
  100.   
  101. Q4 := /S3 * /S2 * /S1 * /S0 * D4       ; No shift
  102.    +  /S3 * /S2 * /S1 *  S0 * D5       ; Shift 1 space
  103.    +  /S3 * /S2 *  S1 * /S0 * D6       ; Shift 2 spaces
  104.    +  /S3 * /S2 *  S1 *  S0 * D7       ; Shift 3 spaces
  105.    +  /S3 *  S2 * /S1 * /S0 * D8       ; Shift 4 spaces
  106.    +  /S3 *  S2 * /S1 *  S0 * D9       ; Shift 5 spaces
  107.    +  /S3 *  S2 *  S1 * /S0 * D10      ; Shift 6 spaces
  108.    +  /S3 *  S2 *  S1 *  S0 * D11      ; Shift 7 spaces
  109.    +   S3 * /S2 * /S1 * /S0 * D12      ; Shift 8 spaces
  110.    +   S3 * /S2 * /S1 *  S0 * D13      ; Shift 9 spaces
  111.    +   S3 * /S2 *  S1 * /S0 * D14      ; Shift 10 spaces
  112.    +   S3 * /S2 *  S1 *  S0 * D15      ; Shift 11 spaces
  113.    +   S3 *  S2 * /S1 * /S0 * D0       ; Shift 12 spaces
  114.    +   S3 *  S2 * /S1 *  S0 * D1       ; Shift 13 spaces
  115.    +   S3 *  S2 *  S1 * /S0 * D2       ; Shift 14 spaces
  116.    +   S3 *  S2 *  S1 *  S0 * D3       ; Shift 15 spaces
  117.   
  118. Q5 := /S3 * /S2 * /S1 * /S0 * D5       ; No shift
  119.    +  /S3 * /S2 * /S1 *  S0 * D6       ; Shift 1 space
  120.    +  /S3 * /S2 *  S1 * /S0 * D7       ; Shift 2 spaces
  121.    +  /S3 * /S2 *  S1 *  S0 * D8       ; Shift 3 spaces
  122.    +  /S3 *  S2 * /S1 * /S0 * D9       ; Shift 4 spaces
  123.    +  /S3 *  S2 * /S1 *  S0 * D10      ; Shift 5 spaces
  124.    +  /S3 *  S2 *  S1 * /S0 * D11      ; Shift 6 spaces
  125.    +  /S3 *  S2 *  S1 *  S0 * D12      ; Shift 7 spaces
  126.    +   S3 * /S2 * /S1 * /S0 * D13      ; Shift 8 spaces
  127.    +   S3 * /S2 * /S1 *  S0 * D14      ; Shift 9 spaces
  128.    +   S3 * /S2 *  S1 * /S0 * D15      ; Shift 10 spaces
  129.    +   S3 * /S2 *  S1 *  S0 * D0       ; Shift 11 spaces
  130.    +   S3 *  S2 * /S1 * /S0 * D1       ; Shift 12 spaces
  131.    +   S3 *  S2 * /S1 *  S0 * D2       ; Shift 13 spaces
  132.    +   S3 *  S2 *  S1 * /S0 * D3       ; Shift 14 spaces
  133.    +   S3 *  S2 *  S1 *  S0 * D4       ; Shift 15 spaces
  134.   
  135. Q6 := /S3 * /S2 * /S1 * /S0 * D6       ; No shift
  136.    +  /S3 * /S2 * /S1 *  S0 * D7       ; Shift 1 space
  137.    +  /S3 * /S2 *  S1 * /S0 * D8       ; Shift 2 spaces
  138.    +  /S3 * /S2 *  S1 *  S0 * D9       ; Shift 3 spaces
  139.    +  /S3 *  S2 * /S1 * /S0 * D10      ; Shift 4 spaces
  140.    +  /S3 *  S2 * /S1 *  S0 * D11      ; Shift 5 spaces
  141.    +  /S3 *  S2 *  S1 * /S0 * D12      ; Shift 6 spaces
  142.    +  /S3 *  S2 *  S1 *  S0 * D13      ; Shift 7 spaces
  143.    +   S3 * /S2 * /S1 * /S0 * D14      ; Shift 8 spaces
  144.    +   S3 * /S2 * /S1 *  S0 * D15      ; Shift 9 spaces
  145.    +   S3 * /S2 *  S1 * /S0 * D0       ; Shift 10 spaces
  146.    +   S3 * /S2 *  S1 *  S0 * D1       ; Shift 11 spaces
  147.    +   S3 *  S2 * /S1 * /S0 * D2       ; Shift 12 spaces
  148.    +   S3 *  S2 * /S1 *  S0 * D3       ; Shift 13 spaces
  149.    +   S3 *  S2 *  S1 * /S0 * D4       ; Shift 14 spaces
  150.    +   S3 *  S2 *  S1 *  S0 * D5       ; Shift 15 spaces
  151.   
  152. Q7 := /S3 * /S2 * /S1 * /S0 * D7       ; No shift
  153.    +  /S3 * /S2 * /S1 *  S0 * D8       ; Shift 1 space
  154.    +  /S3 * /S2 *  S1 * /S0 * D9       ; Shift 2 spaces
  155.    +  /S3 * /S2 *  S1 *  S0 * D10      ; Shift 3 spaces
  156.    +  /S3 *  S2 * /S1 * /S0 * D11      ; Shift 4 spaces
  157.    +  /S3 *  S2 * /S1 *  S0 * D12      ; Shift 5 spaces
  158.    +  /S3 *  S2 *  S1 * /S0 * D13      ; Shift 6 spaces
  159.    +  /S3 *  S2 *  S1 *  S0 * D14      ; Shift 7 spaces
  160.    +   S3 * /S2 * /S1 * /S0 * D15      ; Shift 8 spaces
  161.    +   S3 * /S2 * /S1 *  S0 * D0       ; Shift 9 spaces
  162.    +   S3 * /S2 *  S1 * /S0 * D1       ; Shift 10 spaces
  163.    +   S3 * /S2 *  S1 *  S0 * D2       ; Shift 11 spaces
  164.    +   S3 *  S2 * /S1 * /S0 * D3       ; Shift 12 spaces
  165.    +   S3 *  S2 * /S1 *  S0 * D4       ; Shift 13 spaces
  166.    +   S3 *  S2 *  S1 * /S0 * D5       ; Shift 14 spaces
  167.    +   S3 *  S2 *  S1 *  S0 * D6       ; Shift 15 spaces
  168.   
  169. Q8 := /S3 * /S2 * /S1 * /S0 * D8       ; No shift
  170.    +  /S3 * /S2 * /S1 *  S0 * D9       ; Shift 1 space
  171.    +  /S3 * /S2 *  S1 * /S0 * D10      ; Shift 2 spaces
  172.    +  /S3 * /S2 *  S1 *  S0 * D11      ; Shift 3 spaces
  173.    +  /S3 *  S2 * /S1 * /S0 * D12      ; Shift 4 spaces
  174.    +  /S3 *  S2 * /S1 *  S0 * D13      ; Shift 5 spaces
  175.    +  /S3 *  S2 *  S1 * /S0 * D14      ; Shift 6 spaces
  176.    +  /S3 *  S2 *  S1 *  S0 * D15      ; Shift 7 spaces
  177.    +   S3 * /S2 * /S1 * /S0 * D0       ; Shift 8 spaces
  178.    +   S3 * /S2 * /S1 *  S0 * D1       ; Shift 9 spaces
  179.    +   S3 * /S2 *  S1 * /S0 * D2       ; Shift 10 spaces
  180.    +   S3 * /S2 *  S1 *  S0 * D3       ; Shift 11 spaces
  181.    +   S3 *  S2 * /S1 * /S0 * D4       ; Shift 12 spaces
  182.    +   S3 *  S2 * /S1 *  S0 * D5       ; Shift 13 spaces
  183.    +   S3 *  S2 *  S1 * /S0 * D6       ; Shift 14 spaces
  184.    +   S3 *  S2 *  S1 *  S0 * D7       ; Shift 15 spaces
  185.   
  186. Q9 := /S3 * /S2 * /S1 * /S0 * D9       ; No shift
  187.    +  /S3 * /S2 * /S1 *  S0 * D10      ; Shift 1 space
  188.    +  /S3 * /S2 *  S1 * /S0 * D11      ; Shift 2 spaces
  189.    +  /S3 * /S2 *  S1 *  S0 * D12      ; Shift 3 spaces
  190.    +  /S3 *  S2 * /S1 * /S0 * D13      ; Shift 4 spaces
  191.    +  /S3 *  S2 * /S1 *  S0 * D14      ; Shift 5 spaces
  192.    +  /S3 *  S2 *  S1 * /S0 * D15      ; Shift 6 spaces
  193.    +  /S3 *  S2 *  S1 *  S0 * D0       ; Shift 7 spaces
  194.    +   S3 * /S2 * /S1 * /S0 * D1       ; Shift 8 spaces
  195.    +   S3 * /S2 * /S1 *  S0 * D2       ; Shift 9 spaces
  196.    +   S3 * /S2 *  S1 * /S0 * D3       ; Shift 10 spaces
  197.    +   S3 * /S2 *  S1 *  S0 * D4       ; Shift 11 spaces
  198.    +   S3 *  S2 * /S1 * /S0 * D5       ; Shift 12 spaces
  199.    +   S3 *  S2 * /S1 *  S0 * D6       ; Shift 13 spaces
  200.    +   S3 *  S2 *  S1 * /S0 * D7       ; Shift 14 spaces
  201.    +   S3 *  S2 *  S1 *  S0 * D8       ; Shift 15 spaces
  202.   
  203. Q10 :=/S3 * /S2 * /S1 * /S0 * D10      ; No shift
  204.    +  /S3 * /S2 * /S1 *  S0 * D11      ; Shift 1 space
  205.    +  /S3 * /S2 *  S1 * /S0 * D12      ; Shift 2 spaces
  206.    +  /S3 * /S2 *  S1 *  S0 * D13      ; Shift 3 spaces
  207.    +  /S3 *  S2 * /S1 * /S0 * D14      ; Shift 4 spaces
  208.    +  /S3 *  S2 * /S1 *  S0 * D15      ; Shift 5 spaces
  209.    +  /S3 *  S2 *  S1 * /S0 * D0       ; Shift 6 spaces
  210.    +  /S3 *  S2 *  S1 *  S0 * D1       ; Shift 7 spaces
  211.    +   S3 * /S2 * /S1 * /S0 * D2       ; Shift 8 spaces
  212.    +   S3 * /S2 * /S1 *  S0 * D3       ; Shift 9 spaces
  213.    +   S3 * /S2 *  S1 * /S0 * D4       ; Shift 10 Spaces
  214.    +   S3 * /S2 *  S1 *  S0 * D5       ; Shift 11 spaces
  215.    +   S3 *  S2 * /S1 * /S0 * D6       ; Shift 12 spaces
  216.    +   S3 *  S2 * /S1 *  S0 * D7       ; Shift 13 spaces
  217.    +   S3 *  S2 *  S1 * /S0 * D8       ; Shift 14 spaces
  218.    +   S3 *  S2 *  S1 *  S0 * D9       ; Shift 15 spaces
  219.   
  220. Q11 :=/S3 * /S2 * /S1 * /S0 * D11      ; No shift
  221.    +  /S3 * /S2 * /S1 *  S0 * D12      ; Shift 1 space
  222.    +  /S3 * /S2 *  S1 * /S0 * D13      ; Shift 2 spaces
  223.    +  /S3 * /S2 *  S1 *  S0 * D14      ; Shift 3 spaces
  224.    +  /S3 *  S2 * /S1 * /S0 * D15      ; Shift 4 spaces
  225.    +  /S3 *  S2 * /S1 *  S0 * D0       ; Shift 5 spaces
  226.    +  /S3 *  S2 *  S1 * /S0 * D1       ; Shift 6 spaces
  227.    +  /S3 *  S2 *  S1 *  S0 * D2       ; Shift 7 spaces
  228.    +   S3 * /S2 * /S1 * /S0 * D3       ; Shift 8 spaces
  229.    +   S3 * /S2 * /S1 *  S0 * D4       ; Shift 9 spaces
  230.    +   S3 * /S2 *  S1 * /S0 * D5       ; Shift 10 spaces
  231.    +   S3 * /S2 *  S1 *  S0 * D6       ; Shift 11 spaces
  232.    +   S3 *  S2 * /S1 * /S0 * D7       ; Shift 12 spaces
  233.    +   S3 *  S2 * /S1 *  S0 * D8       ; Shift 13 spaces
  234.    +   S3 *  S2 *  S1 * /S0 * D9       ; Shift 14 spaces
  235.    +   S3 *  S2 *  S1 *  S0 * D10      ; Shift 15 spaces
  236.   
  237. Q12 :=/S3 * /S2 * /S1 * /S0 * D12      ; No shift
  238.    +  /S3 * /S2 * /S1 *  S0 * D13      ; Shift 1 space
  239.    +  /S3 * /S2 *  S1 * /S0 * D14      ; Shift 2 spaces
  240.    +  /S3 * /S2 *  S1 *  S0 * D15      ; Shift 3 spaces
  241.    +  /S3 *  S2 * /S1 * /S0 * D0       ; Shift 4 spaces
  242.    +  /S3 *  S2 * /S1 *  S0 * D1       ; Shift 5 spaces
  243.    +  /S3 *  S2 *  S1 * /S0 * D2       ; Shift 6 spaces
  244.    +  /S3 *  S2 *  S1 *  S0 * D3       ; Shift 7 spaces
  245.    +   S3 * /S2 * /S1 * /S0 * D4       ; Shift 8 spaces
  246.    +   S3 * /S2 * /S1 *  S0 * D5       ; Shift 9 spaces
  247.    +   S3 * /S2 *  S1 * /S0 * D6       ; Shift 10 spaces
  248.    +   S3 * /S2 *  S1 *  S0 * D7       ; Shift 11 spaces
  249.    +   S3 *  S2 * /S1 * /S0 * D8       ; Shift 12 spaces
  250.    +   S3 *  S2 * /S1 *  S0 * D9       ; Shift 13 spaces
  251.    +   S3 *  S2 *  S1 * /S0 * D10      ; Shift 14 spaces
  252.    +   S3 *  S2 *  S1 *  S0 * D11      ; Shift 15 spaces
  253.   
  254. Q13 :=/S3 * /S2 * /S1 * /S0 * D13      ; No shift
  255.    +  /S3 * /S2 * /S1 *  S0 * D14      ; Shift 1 space
  256.    +  /S3 * /S2 *  S1 * /S0 * D15      ; Shift 2 spaces
  257.    +  /S3 * /S2 *  S1 *  S0 * D0       ; Shift 3 spaces
  258.    +  /S3 *  S2 * /S1 * /S0 * D1       ; Shift 4 spaces
  259.    +  /S3 *  S2 * /S1 *  S0 * D2       ; Shift 5 spaces
  260.    +  /S3 *  S2 *  S1 * /S0 * D3       ; Shift 6 spaces
  261.    +  /S3 *  S2 *  S1 *  S0 * D4       ; Shift 7 spaces
  262.    +   S3 * /S2 * /S1 * /S0 * D5       ; Shift 8 spaces
  263.    +   S3 * /S2 * /S1 *  S0 * D6       ; Shift 9 spaces
  264.    +   S3 * /S2 *  S1 * /S0 * D7       ; Shift 10 spaces
  265.    +   S3 * /S2 *  S1 *  S0 * D8       ; Shift 11 spaces
  266.    +   S3 *  S2 * /S1 * /S0 * D9       ; Shift 12 spaces
  267.    +   S3 *  S2 * /S1 *  S0 * D10      ; Shift 13 spaces
  268.    +   S3 *  S2 *  S1 * /S0 * D11      ; Shift 14 spaces
  269.    +   S3 *  S2 *  S1 *  S0 * D12      ; Shift 15 spaces
  270.   
  271. Q14 :=/S3 * /S2 * /S1 * /S0 * D14      ; No shift
  272.    +  /S3 * /S2 * /S1 *  S0 * D15      ; Shift 1 space
  273.    +  /S3 * /S2 *  S1 * /S0 * D0       ; Shift 2 spaces
  274.    +  /S3 * /S2 *  S1 *  S0 * D1       ; Shift 3 spaces
  275.    +  /S3 *  S2 * /S1 * /S0 * D2       ; Shift 4 spaces
  276.    +  /S3 *  S2 * /S1 *  S0 * D3       ; Shift 5 spaces
  277.    +  /S3 *  S2 *  S1 * /S0 * D4       ; Shift 6 spaces
  278.    +  /S3 *  S2 *  S1 *  S0 * D5       ; Shift 7 spaces
  279.    +   S3 * /S2 * /S1 * /S0 * D6       ; Shift 8 spaces
  280.    +   S3 * /S2 * /S1 *  S0 * D7       ; Shift 9 spaces
  281.    +   S3 * /S2 *  S1 * /S0 * D8       ; Shift 10 spaces
  282.    +   S3 * /S2 *  S1 *  S0 * D9       ; Shift 11 spaces
  283.    +   S3 *  S2 * /S1 * /S0 * D10      ; Shift 12 spaces
  284.    +   S3 *  S2 * /S1 *  S0 * D11      ; Shift 13 spaces
  285.    +   S3 *  S2 *  S1 * /S0 * D12      ; Shift 14 spaces
  286.    +   S3 *  S2 *  S1 *  S0 * D13      ; Shift 15 spaces
  287.   
  288. Q15 :=/S3 * /S2 * /S1 * /S0 * D15      ; No shift
  289.    +  /S3 * /S2 * /S1 *  S0 * D0       ; Shift 1 space
  290.    +  /S3 * /S2 *  S1 * /S0 * D1       ; Shift 2 spaces
  291.    +  /S3 * /S2 *  S1 *  S0 * D2       ; Shift 3 spaces
  292.    +  /S3 *  S2 * /S1 * /S0 * D3       ; Shift 4 spaces
  293.    +  /S3 *  S2 * /S1 *  S0 * D4       ; Shift 5 spaces
  294.    +  /S3 *  S2 *  S1 * /S0 * D5       ; Shift 6 spaces
  295.    +  /S3 *  S2 *  S1 *  S0 * D6       ; Shift 7 spaces
  296.    +   S3 * /S2 * /S1 * /S0 * D7       ; Shift 8 spaces
  297.    +   S3 * /S2 * /S1 *  S0 * D8       ; Shift 9 spaces
  298.    +   S3 * /S2 *  S1 * /S0 * D9       ; Shift 10 spaces
  299.    +   S3 * /S2 *  S1 *  S0 * D10      ; Shift 11 spaces
  300.    +   S3 *  S2 * /S1 * /S0 * D11      ; Shift 12 spaces
  301.    +   S3 *  S2 * /S1 *  S0 * D12      ; Shift 13 spaces
  302.    +   S3 *  S2 *  S1 * /S0 * D13      ; Shift 14 spaces
  303.    +   S3 *  S2 *  S1 *  S0 * D14      ; Shift 15 spaces
  304.   
  305.   
  306. SIMULATION
  307.   
  308. TRACE_ON CLK1 CLK2 CLK3 CLK4 OC1 OC2 OC3 OC4
  309.          PL1 PL2 PL3 PL4 PS1 PS2 PS3 PS4 S3
  310.          S2 S1 S0 D0 D1 D2 D3 D4 D5 D6 D7 D8
  311.          D9 D10 D11 D12 D13 D14 D15 Q0 Q1 Q2
  312.          Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13
  313.          Q14 Q15
  314.   
  315. SETF OC1 OC2 OC3 OC4 /PS1 /PS2 /PS3 /PS4
  316.     /PL1 /PL2 /PL3 /PL4 /S3 /S2 /S1 /S0 D0
  317.     /D1 /D2 /D3 /D4 /D5 /D6 /D7 /D8 /D9 /D10
  318.     /D11 /D12 /D13 /D14 /D15
  319.   
  320. CLOCKF CLK1 CLK2 CLK3 CLK4              ;Clock
  321.   
  322. SETF /S3 /S2 /S1 S0                     ;Shift 1
  323. CLOCKF CLK1 CLK2 CLK3 CLK4
  324.   
  325. SETF /S3 /S2 S1 /S0                     ;Shift 2
  326. CLOCKF CLK1 CLK2 CLK3 CLK4
  327.   
  328. SETF /S3 /S2 S1 S0                      ;Shift 3
  329. CLOCKF CLK1 CLK2 CLK3 CLK4
  330.   
  331. SETF /S3 S2 /S1 /S0                     ;Shift 4
  332. CLOCKF CLK1 CLK2 CLK3 CLK4
  333.   
  334. SETF /S3 S2 /S1 S0                      ;Shift 5
  335. CLOCKF CLK1 CLK2 CLK3 CLK4
  336.   
  337. SETF /S3 S2 S1 /S0                      ;Shift 6
  338. CLOCKF CLK1 CLK2 CLK3 CLK4
  339.   
  340. SETF /S3 S2 S1 S0                       ;Shift 7
  341. CLOCKF CLK1 CLK2 CLK3 CLK4
  342.   
  343. SETF S3 /S2 /S1 /S0                     ;Shift 8
  344. CLOCKF CLK1 CLK2 CLK3 CLK4
  345. TRACE_OFF
  346.   
  347.   
  348.