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

  1. module decade  flag '-KY' "leave unused OR terms connected
  2. title 'Transition Equation Example for Decade Counter
  3. Michael Holley   FutureNet - Data I/O      8 Nov 1985'
  4.  
  5.     TE10    device 'F82S105';
  6.  
  7.     Clk,Clr,PR    pin  1,8,19;
  8.     COMP        node 49;  
  9.     F0        pin  18;
  10.     P3,P2,P1,P0    node 40,39,38,37;
  11.  
  12.     _State    = [P3,P2,P1,P0];  "State Registers
  13.  
  14.     H,L,Ck,X    = 1, 0, .C., .X.;
  15.     
  16. equations
  17.     enable F0 = 1;    "always enabled, pin 19 is Preset
  18.  
  19.    "Output          Next State             Present State        Input 
  20.     [F0  , COMP,               P0  ] := !P3 & !P2 & !P1 & !P0 & !Clr; "0 to 1
  21.     [      COMP,          P1  ,P0.R] := !P3 & !P2 & !P1 &  P0 & !Clr; "1 to 2
  22.     [      COMP,               P0  ] := !P3 & !P2 &  P1 & !P0 & !Clr; "2 to 3
  23.     [      COMP,     P2  ,P1.R,P0.R] := !P3 & !P2 &  P1 &  P0 & !Clr; "3 to 4
  24.     [      COMP,               P0  ] := !P3 &  P2 & !P1 & !P0 & !Clr; "4 to 5
  25.     [F0.R, COMP,          P1  ,P0.R] := !P3 &  P2 & !P1 &  P0 & !Clr; "5 to 6
  26.     [      COMP,               P0  ] := !P3 &  P2 &  P1 & !P0 & !Clr; "6 to 7
  27.     [      COMP,P3  ,P2.R,P1.R,P0.R] := !P3 &  P2 &  P1 &  P0 & !Clr; "7 to 8
  28.     [      COMP,               P0  ] :=  P3 & !P2 & !P1 & !P0 & !Clr; "8 to 9
  29.  
  30.     [           P3.R,P2.R,P1.R,P0.R] :=                        !COMP; "Clear
  31.  
  32.  
  33. "After Preset, clocking is inhibited until a High-to-Low clock transition.
  34.  
  35. test_vectors   ([Clk,PR,Clr] -> [_State,F0  ])
  36.         [ 1 , 0, 0 ] -> [^b1111, H]; " Power-on Preset
  37.         [ Ck, 0, 1 ] -> [   0  , H]; " Clear to 0
  38.         [ Ck, 0, 0 ] -> [   1  , H];
  39.         [ Ck, 0, 0 ] -> [   2  , H];
  40.         [ 1 , 1, 0 ] -> [^b1111, H]; " Preset high
  41.         [ 1 , 0, 0 ] -> [^b1111, H]; " Preset low
  42.         [ Ck, 0, 0 ] -> [   0  , H]; " COMP forces to State 0
  43.         [ Ck, 0, 0 ] -> [   1  , H];
  44.         [ Ck, 0, 0 ] -> [   2  , H];
  45.         [ Ck, 0, 0 ] -> [   3  , H];
  46.         [ Ck, 0, 0 ] -> [   4  , H];
  47.         [ Ck, 0, 0 ] -> [   5  , H];
  48.         [ Ck, 0, 0 ] -> [   6  , L];
  49.         [ Ck, 0, 0 ] -> [   7  , L];
  50.         [ Ck, 0, 0 ] -> [   8  , L];
  51.         [ Ck, 0, 0 ] -> [   9  , L];
  52.         [ Ck, 0, 0 ] -> [   0  , L];
  53.         [ Ck, 0, 0 ] -> [   1  , H];
  54.         [ Ck, 0, 0 ] -> [   2  , H];
  55.         [ Ck, 0, 1 ] -> [   0  , H]; " Clear
  56. end 
  57.  
  58.