题解 | #全加器#

全加器

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

解题思路

①先将A和B用半加器加起来,生成和是s[0]和进位信号c[0];

②然后第一个半加器生成的和s[0]与Ci用半加器相加,得到的和s[1]即为全加器的和S;

③全加器进位信号的生成是这样:两次半加器产生的进位信号有一个为1,则全加器的进位信号Co为1。

代码实现

`timescale 1ns/1ns

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

   output	wire        S   ,
   output   wire        Co   
);
    
    wire [1:0] s,c;
    add_half add_half_inst1(A, B, s[0], c[0]);
    add_half add_half_inst2(Ci, s[0], s[1], c[1]);
    
    assign S = s[1];
    assign Co = |c;

endmodule


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

assign S = A ^ B;
assign C = A & B;
endmodule
全部评论

相关推荐

2025-12-27 22:21
门头沟学院 Java
点赞 评论 收藏
分享
孙艹肘:校招不给三方直接让实习我都去了,,主打一个在学校呆着也是闲着,不如出来实习一下
点赞 评论 收藏
分享
2025-11-30 21:55
哈尔滨华德学院 Java
高通滤波器v:我最近投的几个,都是要不已读不回,要不不回,还有直接拒绝的
点赞 评论 收藏
分享
评论
4
2
分享

创作者周榜

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