题解 | #全加器#

全加器

https://www.nowcoder.com/practice/d04c046febb74e72949baee9aa99d958

`timescale 1ns/1ns

module add_half(
   input                A   ,
   input                B   ,
 
   output	wire        S   ,
   output   wire        C   
);

assign S = A ^ B;
assign C = A & B;
/*
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

S-结果
C-进位
*/
endmodule

/***************************************************************/
module add_full(
   input                A   ,
   input                B   ,
   input                Ci  , 

   output	wire        S   ,
   output   wire        Co   
);

wire s0,c0;

add_half u_half0 (
    .A(A),
    .B(B),
    .S(s0),
    .C(c0)
);

add_half u_half1 (
    .A(s0),
    .B(Ci),
    .S(S),
    .C()
);

assign Co = (A&B) | (B&Ci) | (A&Ci) ;

endmodule

全部评论

相关推荐

就用这个吧:支持多益再加一个空气使用费
点赞 评论 收藏
分享
MomonKa:我拿Java简历投了pdd前端也给我简历过筛了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务