数字逻辑电路基础-组合逻辑电路之加法器

文章目录


一、加法器

本文介绍数字逻辑电路中常用的基础组合逻辑电路加法器。它是处理器内部ALU算术逻辑单元的基础构件。

加法器定义

最常见加法器有半加器及全加器,区别在于全加器考虑了低位进位情况。

半加器的门级电路如下:

半加器真值表如下:

输入 输出

A B C S

0 0 0 0

1 0 0 1

0 1 0 1

1 1 1 0

半加器的逻辑表达式如下:

S = A xor B

C = A and B

全加器的门级电路如下:

全加器真值表如下:

输入 输出

A B Cin Cout S

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

全加器的逻辑表达式如下:

S = A xor B xor Cin

Cout = (A and B) or ((A xor B) and Cin)


二、verilog源码

c 复制代码
// half adder

module half_adder(a, b, s, cout);

   input a, b;
   output s, cout;

   assign s = a ^ b;
   assign cout = a & b;
   
endmodule // half_adder

// full_adder
module full_adder(a, b, cin, s, cout);

   input a, b, cin;
   output s, cout;

   assign s = a ^ b ^ cin;
   assign cout = (a & b) | ((a ^ b) & cin);
endmodule // full_adder


	

三、综合及仿真结果

本文使用的综合工具为quartus13.1,软件的使用请搜索相关教程。综合生成的RTL层次网表如下,可以看出它生成的门级电路和上面的图相同。

仿真结果如下:

你也可以试着修改上述的输入值或者添加更多的输入值进行试验,观察仿真结果是否和你预期的一致!


转载请注明出处!

相关推荐
szxinmai主板定制专家5 小时前
RK3588 8个USB工控解决方案,适用于机器视觉,工业互联等
arm开发·人工智能·fpga开发
Aaron158813 小时前
RFSOC与ADRV9009、AD9026、AD9361技术指标及应用场景对比分析
人工智能·算法·fpga开发·硬件工程·信息与通信·信号处理·基带工程
忙碌5441 天前
实战指南:如何用Docker+Kubernetes高效部署机器学习模型
fpga开发
国科安芯1 天前
实战验证:ASM1042S2S CANFD收发器的质子单粒子效应试验与在轨性能
网络·人工智能·单片机·嵌入式硬件·物联网·fpga开发
国科安芯1 天前
ASP4644S电源芯片引脚功能与参考设计输出电压计算方法
网络·单片机·嵌入式硬件·fpga开发·性能优化
fonx1 天前
ZYNQ7010备忘
fpga开发
悲喜自渡7212 天前
FPGA开发方式
fpga开发
芯门3 天前
FPGA商用级ISP(三):自动白平衡(AWB)算法实现与 FPGA 架构解析
图像处理·计算机视觉·fpga开发
jz_ddk3 天前
[实战] 从冲击响应函数计算 FIR 系数
python·fpga开发·信号处理·fir·根升余弦·信号成形
不吃橘子的橘猫3 天前
《集成电路设计》复习资料2(设计基础与方法)
学习·算法·fpga开发·集成电路·仿真·半导体