题解 | #超前进位加法器#

超前进位加法器

http://www.nowcoder.com/practice/c4c6afdab9ce45a3a2279a98391686ca

`timescale 1ns/1ns

module huawei8//四位超前进位加法器
(
    input wire [3:0]A,
    input wire [3:0]B,
    output wire [4:0]OUT
);
    wire [3:0] P;
    wire [3:0] G;
    reg [4:0] temp;
    assign P=A^B;
    assign G=A&B;
    reg[4:0] C;
//*************code***********//
integer i;
    always@(P or G) begin
        C[0]=G[0] ;
        C[1]=G[1] || P[1]&G[0];
        C[2]=G[2] || P[2]&G[1] || P[2]&P[1]&G[0];
        C[3]=G[3] || P[3]&G[2] || P[3]&P[2]&G[1] || P[3]&P[2]&P[1]&G[0];
        
        temp[0]=P[0]; 
        temp[4]=C[3];
        for(i=1;i<4;i=i+1) begin
            temp[i] <= P[i]^C[i-1];    
            end
    end
assign OUT=temp;
//*************code***********//
endmodule

全部评论

相关推荐

仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-26 14:50
人力小鱼姐:有后面墨迹那两句的时间问题早回答完了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务