【无标题】

本文介绍了4位全加器的概念及其在数字电路中的应用,使用Verilog语言实现了4位全加器的数据流描述。通过测试文件源代码进行仿真,展示了不同输入条件下的运算结果。在ModelSim中进行仿真并调整配置文件以改变示波器显示的进制。
摘要由CSDN通过智能技术生成

全加器:
完成被加数、加数和来自低位的进位信号相加,并根据求和结果给出该进位信号的运算称为全加。实现全加的电路称为全家器。

4位全加器:能实现4位二进制数全加的数字电路模块,称之为四位全加器(逐位进位 超前进位)多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。在这里插入图片描述

仿真源文件代码:
//数据流描述4位全加器
module add_4
(
input[3:0] a,b,
output[3:0] sum,
output cout,
input cin
);
assign{cout,sum} = a+b+cin;
endmodule

测试文件源代码:
module adder_4();
wire[3:0] sum;
wire cout;
reg[3:0] a,b;
reg cin;
initial
begin//这个其实就是真值表的应用
#0 a = 4’b0001; b = 4’b1010; cin = 1’b0;
#5 a = 4’b0010; b = 4’b1010; cin = 1’b1;
#5 a = 4’b0010; b = 4’b1110; cin = 1’b0;
#5 a = 4’b0011; b = 4’b1100; cin = 1’b1;
#5 a = 4’b0111; b = 4’b1001; cin = 1’b0;
#5 a = 4’b0001; b = 4’b1100; cin = 1’b1;
#5 a = 4’b0011; b = 4’b1100; cin = 1’b0;
#5 a = 4’b0111; b = 4’b1111; cin = 1’b1;
#5 $finish;
end
add_4 u1(.a(a),.b(b),.cin(cin),.sum(sum),.cout(cout));
endmodule在这里插入图片描述
在ModeSim中建立工作组新建工程进行仿真,得如下图:

仿真结果如下:在这里插入图片描述
在电脑本地工作组所在位置可搜索文件后缀为(.ini)配置文件修改“DefaultRadix = ”参数可改变示波器显示进制,修改后需新建工程才能生效,如“DefaultRadix = symbolic”显示二进制数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值