home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s079 / 1.img / V8BUSMUX.APL < prev    next >
Encoding:
Text File  |  1992-11-17  |  4.5 KB  |  118 lines

  1. TITLE 'APEEL FILE: PEEL18CV8 BUS PROGRAMMBLE 8 TO 1 MUX
  2. DESIGNER: Robin Jigour
  3. DATE: 9/13/87'
  4.  
  5. PEEL18CV8
  6.  
  7. "DESCRIPTION"
  8.  
  9. "                      PEEL18CV8
  10.  
  11. "          Bus Programmble 8 to 1 Multiplexer
  12. "                     ____  ____
  13. "                    |    \/    |
  14. "                I0  { 1     20 }  Vcc
  15. "                I1  { 2     19 }  I5
  16. "                I2  { 3     18 }  I6
  17. "                I3  { 4     17 }  I7
  18. "                I4  { 5     16 }- OUT     ( - = output )
  19. "               DI0  { 6     15 }- DO0
  20. "               DI1  { 7     14 }- DO1
  21. "               DI2  { 8     13 }- DO2
  22. "               /WR  { 9     12 }  /RD
  23. "               Gnd  {10     11 }  /CS
  24. "                    |__________|
  25.  
  26.  
  27. "This application implements an 8 to 1 multiplexor that can be
  28. "interfaced to a uP bus.  Any one of the 8 inputs (I0-7) can be
  29. "selectively routed to the output (OUT) by writing (/WR and /CS =0)
  30. "a 3-bit binary value to the data inputs (DI0-2). The value is
  31. "stored into a 3-bit latch that controls the multiplexer selection.
  32. "Because the latch utilizes internal asynchronous feedback (macro
  33. "configuration #8), the value can also be enabled onto the data
  34. "outputs (DO0-2). The DI and DO (0-2) pins should be tied together
  35. "for write/read bus operation. The truth table for the mux is
  36. "depicted via the test vectors.
  37.  
  38.  
  39. "PIN DEFINITIONS"
  40.  
  41. "Inputs"
  42.  
  43. I0        pin 1
  44. I1        pin 2
  45. I2        pin 3
  46. I3        pin 4
  47. I4        pin 5
  48. DI0       pin 6
  49. DI1       pin 7
  50. DI2       pin 8
  51. !WR       pin 9
  52. !CS       pin 11
  53. !RD       pin 12                     "Use as inputs only.
  54. I7        pin 17                     "Pins 12, 17-19 macro configurations are
  55. I6        pin 18                     "defaulted to 'pos com feed_pin'.
  56. I5        pin 19
  57.  
  58.  
  59. "Outputs and Macro Cell definitions
  60.  
  61. DO2       pin 13 = pos com feed_or    "Internal feedback from the input of
  62. DO1       pin 14 = pos com feed_or    "the D flip-flop.
  63. DO0       pin 15 = pos com feed_or
  64. MOUT      pin 16 = pos com feed_pin
  65.  
  66.  
  67. EQUATIONS
  68.  
  69. DO0 = DI0 & WR & CS #         "Set D0 latch from bus write.
  70.       DO0 & !WR #             "Hold when not selected.
  71.       DO0 & !CS #
  72.       DI0 & DO0               "Prevent hazard.
  73. Enable DO0 = RD & CS          "Enable D0 output with bus read.
  74.  
  75. DO1 = DI1 & WR & CS #         "Set D1 latch from bus write.
  76.       DO1 & !WR #             "Hold when not selected.
  77.       DO1 & !CS #
  78.       DI1 & DO1               "Prevent hazard.
  79. Enable DO1 = RD & CS          "Enable D1 output with bus read.
  80.  
  81. DO2 = DI2 & WR & CS #         "Set D2 latch from bus write.
  82.       DO2 & !WR #             "Hold when not selected.
  83.       DO2 & !CS #
  84.       DI2 & DO2               "Prevent hazard.
  85. Enable DO2 = RD & CS          "Enable D2 output with bus read.
  86.  
  87. MOUT = I0 & !DO2 & !DO1 & !DO0 #   "Select I0 when D0-2 = 0
  88.        I1 & !DO2 & !DO1 &  DO0 #   "Select I1 when D0-2 = 1
  89.        I2 & !DO2 &  DO1 & !DO0 #   "Select I2 when D0-2 = 2
  90.        I3 & !DO2 &  DO1 &  DO0 #   "Select I3 when D0-2 = 3
  91.        I4 &  DO2 & !DO1 & !DO0 #   "Select I4 when D0-2 = 4
  92.        I5 &  DO2 & !DO1 &  DO0 #   "Select I5 when D0-2 = 5
  93.        I6 &  DO2 &  DO1 & !DO0 #   "Select I6 when D0-2 = 6
  94.        I7 &  DO2 &  DO1 &  DO0     "Select I7 when D0-2 = 7
  95.  
  96.  
  97. TEST_VECTORS "Test programmable 8 to 1 mux"
  98.  
  99. ( I0 I1 I2 I3 I4 I5 I6 I7  DI2 DI1 DI0  CS WR RD   ->  DO2 DO1 DO0 MOUT )
  100.    1  0  0  0  0  0  0  0    0   0   0   1  1  0   ->    Z   Z   Z   H
  101.    1  0  0  0  0  0  0  0    0   0   0   0  0  0   ->    Z   Z   Z   H
  102.    0  0  0  0  0  0  0  0    X   X   X   0  0  0   ->    Z   Z   Z   L
  103.    1  0  0  0  0  0  0  0    X   X   X   1  0  1   ->    L   L   L   H
  104.  
  105.    0  0  1  0  0  0  0  0    0   1   0   1  1  0   ->    Z   Z   Z   H
  106.    0  0  1  0  0  0  0  0    0   1   0   0  0  0   ->    Z   Z   Z   H
  107.    0  0  0  0  0  0  0  0    X   X   X   0  0  0   ->    Z   Z   Z   L
  108.    0  0  1  0  0  0  0  0    X   X   X   1  0  1   ->    L   H   L   H
  109.  
  110.    0  0  0  0  0  1  0  0    1   0   1   1  1  0   ->    Z   Z   Z   H
  111.    0  0  0  0  0  1  0  0    1   0   1   0  0  0   ->    Z   Z   Z   H
  112.    0  0  0  0  0  0  0  0    X   X   X   0  0  0   ->    Z   Z   Z   L
  113.    0  0  0  0  0  1  0  0    X   X   X   1  0  1   ->    H   L   H   H
  114.  
  115.    0  0  0  0  0  0  0  1    1   1   1   1  1  0   ->    Z   Z   Z   H
  116.    0  0  0  0  0  0  0  1    1   1   1   0  0  0   ->    Z   Z   Z   H
  117.    0  0  0  0  0  0  0  0    X   X   X   0  0  0   ->    Z   Z   Z   L
  118.    0  0  0  0  0  0  0  1    X   X   X   1  0  1   ->    H   H   H   H