题解 | #4bit超前进位加法器电路#

4bit超前进位加法器电路

https://www.nowcoder.com/practice/4d5b6dc4bb2848039da2ee40f9738363

`timescale 1ns/1ns

module lca_4(
    input       [3:0]       A_in  ,
    input       [3:0]       B_in  ,
    input                   C_1   ,
 
    output   wire           CO    ,
    output   wire [3:0]     S
);
    wire [3:0] p,g;
    wire [3:0] C;
    assign C[0] = g[0] | (p[0]&C_1);
    assign g = A_in&B_in;
    assign p = A_in^B_in;
    
    assign C[1] = g[1] | (g[0]&p[1]) | (p[0]&p[1]&C_1);
    assign C[2] = g[2] | (g[1]&p[2]) | (g[0]&p[1]&p[2]) | (C_1&p[0]&p[1]&p[2]);
    assign C[3] = g[3] | (g[2]&p[3]) | (g[1]&p[3]&p[2]) | (g[0]&p[1]&p[3]&p[2]) |(C_1&p[0]&p[1]&p[3]&p[2]);
    assign CO = C[3];
    assign S[0] = p[0] ^ C_1;
    assign S[1] = p[1] ^ C[0];
    assign S[2] = p[2] ^ C[1];
    assign S[3] = p[3] ^ C[2]; 
endmodule
//  并行运算,与之前运算进位无关
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务