用半加器模块设计全加器
创作时间:
作者:
@小白创作中心
用半加器模块设计全加器
引用
CSDN
1.
https://m.blog.csdn.net/2301_80417284/article/details/140063478
半加器模块设计
半加器是最基本的加法器模块,用于完成两个一位二进制数的加法运算。其Verilog实现代码如下:
module half_adder(A,B,Cout,Sum);
input A;
input B;
output Cout;
output Sum;
assign {Cout,Sum} = A + B;
endmodule
全加器模块设计
全加器是在半加器的基础上发展而来的,用于完成三个一位二进制数的加法运算。其Verilog实现代码如下:
module full_adder(A,B,Cin,Sum,Cout);
input A;
input B;
input Cin;
output Sum;
output Cout;
wire h0_Cout;
wire h1_Cout;
wire h0_Sum;
half_adder half_adder_inst0(
.A(A),
.B(B),
.Cout(h0_Cout),
.Sum(h0_Sum)
);
half_adder half_adder_inst1(
.A(h0_Sum),
.B(Cin),
.Cout(h1_Cout),
.Sum(Sum)
);
assign Cout = (h0_Cout | h1_Cout) ;
endmodule
仿真测试
为了验证全加器模块的功能正确性,可以编写相应的仿真测试代码。以下是全加器的测试代码示例:
`timescale 1ns/1ns
module full_adder_tb;
reg A;
reg B;
reg Cin;
wire Sum;
wire Cout;
full_adder full_adder_inst(
.A(A),
.B(B),
.Cin(Cin),
.Sum(Sum),
.Cout(Cout)
);
initial begin
A <= 1'd0;
B <= 1'd0;
Cin <= 1'd0;
#2000;
$stop;
end
always #10 A = {$random}%2;
always #10 B = {$random}%2;
always #10 Cin = {$random}%2;
endmodule
仿真结果如下图所示:
引脚绑定与MCS程序固化
在实际硬件实现中,需要进行引脚绑定和MCS程序固化。以下是相关的配置信息:
热门推荐
央视频追热门综艺,不花钱也能嗨翻天
四价流感疫苗价格探究:一针200元起,地区差异显著
儿童接种流感疫苗费用查询与指导
如何利用A/H溢价获利,具体详细步骤
龚遂治水有方,龚姓历史渊源揭秘
从创意到播出:揭秘电视节目制作的全过程
河南信阳鸡公山旅游攻略,云中仙境,夏日里的清凉避暑胜地
零食可以带上飞机吗,坐飞机能带些什么吃的?
长风有时 直冲云霄——2024株洲年终经济综述
杜仲多糖:医学界的超级英雄?
杜仲养生,让你告别亚健康
抖音独特网名推荐:文艺气质型、个性创意型、网红同款型
龚成的网名:如何选择一个既有寓意又个性的网名?
科学育儿:如何培养孩子良好的睡眠习惯?
阆中古城:四川省的文物守护秘籍
阆中古城:四川的宝藏打卡地
张飞庙:一座承载三国记忆的千年古刹
美国枪支管控的复杂真相:为何枪击案频发却难以全面禁枪?
美国儿童涉枪伤亡创新高
连发两篇论文,中国科学家为减毒活疫苗开发提供新策略
大数据告诉你,老年人流感疫苗接种不可少!
让科技型初创企业活下去做起来——株洲科技成果转化观察之一
退休返聘员工管理新策略
退休返聘的法律风险,你知道多少?
缺血性心脑血管疾病的救星:杏芎氯化钠注射液
杏芎氯化钠注射液:心脑血管疾病治疗新选择
缺血性心脑血管疾病,杏芎氯化钠注射液怎么用?
医本正经丨得过流感,还需要打流感疫苗吗?专家为你解答
日本“食人菌”感染病爆发,致死率30%,这些预防措施请收好
日本体检旅行:健康管理新潮流