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

  1. MODULE V8GATES_ABEL;
  2. TITLE 'ABEL FILE (MODIFIED FROM V8GATES.APL) WHICH CAN BE USED BY ABEL OR APEEL.
  3. DESIGNER: Robin Jigour  DATE: 8/16/87';
  4.  
  5. VP10GATE Device 'P22VP10';
  6.  
  7. "Please compare this file with V8GATES.APL. The differences are
  8. "  (1) ABEL files require {MODULE modulename} and {END modulename}.
  9. "  (2) ABEL files require semi-colons, quotes, brackets, and commas.
  10. "  (3) ABEL files require ASSIGNMENT statements (specifically for test vectors).
  11. "  (4) ABEL files require {:=} for registered and {=} for combinatorial
  12. "      equations.
  13. "  (5) ABEL files require {jedec-filename DEVICE 'device'}. APEEL will default
  14. "      the JEDEC filename to {apeel-filename.JED}.
  15. "  (6) APEEL files accepts SUM-OF-PRODUCT equations only.
  16.  
  17.  
  18. "DESCRIPTION"
  19.  
  20. "                      PEEL18CV8
  21.  
  22. "                  Basic Logic Gates
  23. "                     ____  ____
  24. "                    |    \/    |
  25. "                 A  { 1     20 }  Vcc
  26. "                 B  { 2     19 }- NOT
  27. "                 C  { 3     18 }- AND
  28. "                 D  { 4     17 }- NAND
  29. "                    { 5     16 }- OR          ( - = output )
  30. "                    { 6     15 }- NOR
  31. "                    { 7     14 }- AOI
  32. "                    { 8     13 }- XOR
  33. "               /OE  { 9     12 }- HZ_BUF
  34. "               Gnd  {10     11 }
  35. "                    |__________|
  36.  
  37.  
  38. " This PEEL18CV8 application example implements several basic
  39. " logic gates.  The logic gates include an inverter, four
  40. " input AND, OR, NAND, and NOR gates, a four input AND-OR-
  41. " INVERT gate, a two input XOR gate and a high-impedence
  42. " buffer.  Each gate uses one or more of the (A,B,C and D)
  43. " inputs.  Additionally  the high-impedence buffer uses the
  44. " /HZ input for inpedence control.  The truth table for
  45. " these gates can be examined in the test vectors.  Note, the
  46. " remaining unused input pins can be used as additional inputs
  47. " into the gates.
  48.  
  49.  
  50. "Inputs"
  51.  
  52. A           pin 1;  "A,B,C, and D are gate inputs
  53. B           pin 2;
  54. C           pin 3;
  55. D           pin 4;
  56. !OE         pin 9;  "active low output enable for HZ_BUF
  57.  
  58.  
  59. "Outputs and macro cell specification"
  60.  
  61. HZ_BUF       pin 12 = 'pos,com,feed_pin';  "High Impedence Buffer"
  62. XOR          pin 13 = 'pos,com,feed_pin';  "Exclusive OR"
  63. AOI          pin 14 = 'neg,com,feed_pin';  "AND-OR-Invert"
  64. NOR          pin 15 = 'neg,com,feed_pin';
  65. OR           pin 16 = 'pos,com,feed_pin';
  66. NAND         pin 17 = 'neg,com,feed_pin';
  67. AND          pin 18 = 'pos,com,feed_pin';
  68. NOT          pin 19 = 'pos,com,feed_pin';  "Inverter"
  69.  
  70.  
  71. "Assignment for ABEL compatibility in the TEST_VECTORS section"
  72. H,L,X,Z = 1,0,.X.,.Z.;
  73.  
  74.  
  75. EQUATIONS
  76.  
  77. NOT    =  !A;            "Note macro cell polarity for each output"
  78.  
  79. AND    =   A & B & C & D;
  80.  
  81. NAND   = !(A & B & C & D);
  82.  
  83. OR     =   A # B # C # D;
  84.  
  85. NOR    = !(A # B # C # D);
  86.  
  87. AOI    = !(A & B # C & D);
  88.  
  89. XOR    =  A & !B # !A & B;
  90.  
  91. HZ_BUF =  A;
  92.        Enable HZ_BUF = OE;    "OE controls output enable"
  93.  
  94.  
  95. TEST_VECTORS
  96.  
  97. ([ D, C, B, A, OE ] -> [ NOT, AND, NAND, OR, NOR, AOI, XOR, HZ_BUF ]);
  98.  [ 0, 0, 0, 0,  1 ] -> [  H ,  L , H   , L , H  , H  , L  ,  L     ];
  99.  [ 0, 0, 0, 1,  1 ] -> [  L ,  L , H   , H , L  , H  , H  ,  H     ];
  100.  [ 0, 0, 1, 0,  0 ] -> [  H ,  L , H   , H , L  , H  , H  ,  Z     ];
  101.  [ 0, 0, 1, 1,  0 ] -> [  L ,  L , H   , H , L  , L  , L  ,  Z     ];
  102.  [ 0, 1, 0, 0,  X ] -> [  X ,  L , H   , H , L  , H  , X  ,  X     ];
  103.  [ 0, 1, 0, 1,  X ] -> [  X ,  L , H   , H , L  , H  , X  ,  X     ];
  104.  [ 0, 1, 1, 0,  X ] -> [  X ,  L , H   , H , L  , H  , X  ,  X     ];
  105.  [ 0, 1, 1, 1,  X ] -> [  X ,  L , H   , H , L  , L  , X  ,  X     ];
  106.  [ 1, 0, 0, 0,  X ] -> [  X ,  L , H   , H , L  , H  , X  ,  X     ];
  107.  [ 1, 0, 0, 1,  X ] -> [  X ,  L , H   , H , L  , H  , X  ,  X     ];
  108.  [ 1, 0, 1, 0,  X ] -> [  X ,  L , H   , H , L  , H  , X  ,  X     ];
  109.  [ 1, 0, 1, 1,  X ] -> [  X ,  L , H   , H , L  , L  , X  ,  X     ];
  110.  [ 1, 1, 0, 0,  X ] -> [  X ,  L , H   , H , L  , L  , X  ,  X     ];
  111.  [ 1, 1, 0, 1,  X ] -> [  X ,  L , H   , H , L  , L  , X  ,  X     ];
  112.  [ 1, 1, 1, 0,  X ] -> [  X ,  L , H   , H , L  , L  , X  ,  X     ];
  113.  [ 1, 1, 1, 1,  X ] -> [  X ,  H , L   , H , L  , L  , X  ,  X     ];
  114.  
  115. END V8GATES_ABEL;
  116.