FPGA中1位全加器的实现

目录

 

1位全加器


1位全加器

1.调用门元件

module full_add(a,b,din,sum,cout);

    input a,b,cin;
    output sum,cout;

    wire s1,m1,m2,m3;

    and (m1,a,b);
        (m2,b,cin);
        (m3,a,cin);

    xor (s1,a,b);
        (sum,s1,cin);
        
    or  (cout,m1,m2,m3);
endmodule

2.数据流描述

module full_add(a,b,cin,sum,cout);

    input a,b,cin;
    output sum,cout;

    assign sum = a^b^cin;

    assign cout = (a&b)|(b&cin)|(cin&a)
endmodule

3.行为描述

module full_add(a,b,cin,sum,cout);

    input a,b,cin;
    output sum,cout;

    assign {cout,sum} = a+b+cin;
endmodule

或者

module full_add(a,b,cin,sum,cout);

    input a,b,cin;
    output sum,cout;

    reg sum,cout;

    reg m1,m2,m3;
    
    always @(a or b or cin)
        begin
            sum = (a^b)^cin;
            m1 = a&b;
            m2 = b&cin;
            m3 = a&cin;
            cout = (m1|m2)|m3;
        end
endmodule

4.混合描述

module full_add(a,b,cin,sum,cout);

    input a,b,cin;
    output sum,cout;

    reg cout,m1,m2,m3;

    wire s1;

    xor x1(s1,a,b);

always @(a or b or cin)
    begin
        m1 = a&b;
        m2 = b&cin;
        m3 = a&cin;
        cout = (m1|m2)|m3;
    end

assign sum = s1^cin;

endmodule

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值