home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s199 / 1.img / ALTERA.ABL < prev    next >
Encoding:
Text File  |  1986-02-04  |  1.6 KB  |  64 lines

  1. module altera   flag '-f'
  2. title 'Controlling output macro cells
  3. Brian Durwood    FutureNet - Data I/O    12 Jan 1986'
  4.  
  5.     alt1    device 'E0310';
  6.  
  7.     Clk,D2,D3,D4,D5,D6,D7    pin 1,2,3,4,5,6,7;
  8.     D8,D9,D11,Q12,Q13,Q14    pin 8,9,11,12,13,14;
  9.     Q15,Q16,Q17,Q18,Q19    pin 15,16,17,18,19;
  10.  
  11. "Explicity state macro cell configuration
  12.     Q12        IsType    'pos,reg,feed_or';
  13.     Q13        IsType    'pos,com,feed_pin';
  14.     Q18        IsType  'neg,reg,feed_reg';
  15.  
  16. "Let equations determine resister/combinatorial and polarity
  17.     Q14        IsType    'feed_or';
  18.     Q15,Q16,Q17    IsType    'feed_pin';
  19.  
  20.     Ck,X,Z    = .C. , .X., .Z.;
  21.  
  22. equations
  23.     Q12    := D2 & D3;    "Feedback from the pin
  24.     Q13     = Q12 & D4;
  25.  
  26. test_vectors    ([Clk,D2,D3,D4] -> [Q12,Q13])
  27.          [ Ck, 1, 1, 1] -> [ 1 , 1 ];
  28.          [  0, 1, 0, 1] -> [ 1 , 0 ];
  29.          [ Ck, 0, 1, 1] -> [ 0 , 0 ];
  30.          [  0, 1, 1, 1] -> [ 0 , 1 ];
  31.  
  32. equations
  33.     !Q14    := D2 & D3;    "Registered     Active Low
  34.      Q15     = D3 & D4;    "Combinatorial  Active High
  35.  
  36. test_vectors    ([Clk,D2,D3,D4] -> [!Q14,Q15])
  37.           [ Ck, 1, 1, 1] -> [  1 , 1 ];
  38.           [ Ck, 1, 0, 1] -> [  0 , 0 ];
  39.           [ Ck, 1, 1, 0] -> [  1 , 0 ];
  40.           [ Ck, 0, 1, 1] -> [  0 , 1 ];
  41.  
  42. equations    "bidirectional buffer
  43.     Q16    = Q17;        enable Q16 =  D4;
  44.     Q17    = Q16;        enable Q17 = !D4;
  45.  
  46. test_vectors    ([D4,Q16,Q17] -> [Q16,Q17])
  47.           [ 1,  X,  0] -> [  0,  X];
  48.           [ 1,  X,  1] -> [  1,  X];
  49.           [ 0,  0,  X] -> [  X,  0];
  50.           [ 0,  1,  X] -> [  X,  1];
  51.  
  52. equations
  53.     Q18    :=  D5 & !Q18;
  54.     Q19     =  Clk;
  55.  
  56. test_vectors    ([Clk,D5] -> [Q18,Q19])
  57.           [ Ck, 0] -> [  0,  0];
  58.           [ Ck, 1] -> [  1,  0];
  59.           [ Ck, 1] -> [  0,  0];
  60.           [ 0 , 1] -> [  0,  0];
  61.           [ 1 , 1] -> [  1,  1];
  62. end
  63.  
  64.