⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 muxadd.abl

📁 自己编写的GAL可编程逻辑电路的编译软件abel4的windows界面
💻 ABL
字号:
module MuxAdd 
title '5-bit ripple adder with input multiplex
Michael Holley   Data I/O Corp.  26 Mar 1990'

        muxadd  device  'P22V10';

        AddClk,Clr,Add10,Sub10,is_Ace   pin  1, 9, 8, 7,14;
        V4,V3,V2,V1,V0                  pin  6, 5, 4, 3, 2;
        S4,S3,S2,S1,S0                  pin 15,16,17,18,19;
        C4,C3,C2,C1                     pin 20,21,22,23;   

        X,C,L,H   = .X., .C., 0, 1;

        Card      = [V4,V3,V2,V1,V0];
        Score     = [S4,S3,S2,S1,S0];
        CarryIn   = [C4,C3,C2,C1, 0];
        CarryOut  = [ X,C4,C3,C2,C1];
        ten       = [ 0, 1, 0, 1, 0];
        minus_ten = [ 1, 0, 1, 1, 0];

        S4,S3,S2,S1,S0 istype 'reg' ;

" Input Multiplexer
        Data     =  Add10 &  Sub10 & Card 
                 # !Add10 &  Sub10 & ten
                 #  Add10 & !Sub10 & minus_ten;

equations
        Score   := Data $ Score $ CarryIn;

        CarryOut = Data & Score # (Data # Score) & CarryIn;  

        Score.ar = !Clr;

        Score.c  = AddClk;

        is_Ace   = Card == 1;

trace
       ([AddClk,Clr,Add10,Sub10,Card] -> [Score,is_Ace,CarryOut])
test_vectors 
       ([AddClk,Clr,Add10,Sub10,Card] -> [Score,is_Ace])
        [   L  , L ,  H  ,  H  ,  X ] -> [  0  ,   L  ]; "Clear
        [   C  , H ,  H  ,  H  ,  7 ] -> [  7  ,   L  ];
        [   C  , L ,  H  ,  H  , 10 ] -> [ 17  ,   L  ];
        [   L  , L ,  H  ,  H  ,  X ] -> [  0  ,   L  ]; "Clear
        [   C  , H ,  H  ,  H  ,  1 ] -> [  1  ,   H  ];
        [   C  , H ,  L  ,  H  ,  1 ] -> [ 11  ,   H  ]; "Add 10        
        [   C  , H ,  H  ,  H  ,  4 ] -> [ 15  ,   L  ];
        [   C  , H ,  H  ,  H  ,  8 ] -> [ 23  ,   L  ];        
        [   C  , H ,  H  ,  L  ,  8 ] -> [ 13  ,   L  ]; "Subtract 10 
        [   C  , H ,  H  ,  H  ,  5 ] -> [ 18  ,   L  ];

end MuxAdd 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -