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

超前进位加法器

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

全部评论

相关推荐

牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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