半加器与全加器基础知识
创作时间:
作者:
@小白创作中心
半加器与全加器基础知识
引用
CSDN
1.
https://m.blog.csdn.net/2401_84617356/article/details/138234819
半加器
定义
半加器是一种不考虑进位的加法器,只有两个输入和两个输出:输入A和B,输出和数sum和进位cout。其真值表如下:
A | B | sum | cout |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
关系表达式
- sum = A ^ B
- cout = A & B
电路设计
代码实现
module add_half(
input A ,
input B ,
output wire S ,
output wire C
);
assign S = A ^ B;
assign C = A & B;
endmodule
全加器
定义
全加器是在半加器的基础上引入一个进位输入,总共三个输入两个输出。其真值表如下:
A | B | cin | sum | cout |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
关系表达式
- sum = A ^ B ^ cin
- cout = (A & B) | (A & cin) | (B & cin)
电路设计
代码实现
module add_full(
input A ,
input B ,
input Ci ,
output wire S ,
output wire Co
);
assign S = A ^ B ^ Ci;
assign Co = A&B | A&Ci | B&Ci;
endmodule
两个半加器实现一个全加器
设计电路图
代码实现
`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 [1:0] s, c;
add_half m1 (
.A(A),
.B(B),
.S(s[0]),
.C(c[0]));
add_half m2 (
.A(s[0]),
.B(Ci),
.S(s[1]),
.C(c[1]));
assign S = s[1];
assign Co = c[0] | c[1];
endmodule
热门推荐
应对青春期逆反心理:教师的智慧与策略
《笑林小子》:林志颖颜值巅峰之作
林志颖加州晒幸福:事业家庭两不误
林志颖的冻龄秘诀:喝水+乐观心态
当16岁遇上叛逆期:如何与青春期孩子有效沟通
逆反心理:职场发展的隐形杀手
如何正确应对青少年逆反心理?
高中生青春期逆反心理大揭秘
用心理学玩转快手视频文案:从用户洞察到实战技巧
南京必打卡:盐水鸭带你飞!
冬日南京:秦淮河畔赏夜景,夫子庙里品美食,中山陵上缅伟人
浙江生态保护:从“千万工程”到绿色未来
大S:一位时代的文化符号
大S离世,家人朋友反应引关注:沉默与崩溃背后的深情
努尔哈赤的“满汉一体”:辽东地区的民族融合之路
让年夜饭更有新意:创新菜品、趣味游戏和创意布置全攻略
努尔哈赤:从复仇到建国的传奇之路
萨尔浒之战:努尔哈赤如何以少胜多?
揭秘努尔哈赤的制胜秘籍:不战而屈人之兵
从努尔哈赤建国看满族文化的崛起
年夜饭大揭秘:吉祥菜谱全攻略!
年夜饭必学:剁椒鱼头制作秘籍
邓紫棋伦敦街拍:时尚穿搭大揭秘!
邓紫棋2025肇庆演唱会来袭!附超全旅游攻略
磁器口汉服拍照打卡指南:春节出片神器!
春节打卡磁器口古镇:重庆人的私藏秘境
黄山冬日仙境:云海雾凇全攻略
探秘黄山:迎客松下的奇松怪石之旅
黄山传说中的那些神秘奇遇
打卡迎客松,品尝毛豆腐:黄山深度游玩攻略