题解 | #全加器#

全加器

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;
endmodule

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

   output	wire        S   ,
   output   wire        Co   
);

wire S1;
wire S2;
wire C1;
wire C2;

add_half uut1(
    .A  (A),
    .B  (B),
    .S  (S1),
    .C  (C1)
);

add_half uut2(
    .A  (Ci),
    .B  (S1),
    .S  (S),
    .C  (C2)
);

assign S = Ci ^ S1;
assign Co = C1 | C2;

endmodule

1、半加器

在数学系统中,二进制加法器是它的基本部件之一。

半加器(半加就是只求本位的和,暂不管低位送来的进位数)的逻辑状态表

其中,A和B是相加的两个数,S是半加和数,C是进位数。

由逻辑状态表可写出逻辑式:

由逻辑式就可画出逻辑图,如下图(a)和(b)所示,由一个“异或“门和一个”与“门组成。半加器是一种组合逻辑电路,其图形符号如下图(c)所示。

两个半加器和一个或门可以组成全加器

2、全加器

当多位数相加时,半加器可用于最低位求和,并给出进位数。第二位的相加有两个待加数和,还有一个来自前面低位送来的进位数。这三个数相加,得出本位和数(全加和数)和进位数。这种就是“全加“,下表为全加器的逻辑状态表。

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
03-04 22:09
已编辑
南昌大学 golang
西北上单:29届? 请你去三角洲猛攻
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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