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

文章目录


一、加法器

本文介绍数字逻辑电路中常用的基础组合逻辑电路加法器。它是处理器内部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层次网表如下,可以看出它生成的门级电路和上面的图相同。

仿真结果如下:

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


转载请注明出处!

相关推荐
希言自然也1 天前
FPGA 时序分析(一)
fpga开发
I'm a winner1 天前
基于FPGA的情绪感知系统设计方案:心理健康监测应用(一)
fpga开发·前沿研究
嵌入式-老费2 天前
Zynq开发实践(Verilog、仿真、FPGA和芯片设计)
fpga开发
hahaha60162 天前
pcie实现虚拟串口
stm32·单片机·fpga开发
9527华安2 天前
FPGA高端项目:图像采集+Aurora 8B10B+UDP图传架构,基于GTH高速收发器的光口转网口,提供工程源码和技术支持
fpga开发·架构·udp·aurora·gth·高速收发器·aurora 8b10b
徐晓康的博客3 天前
Verilog功能模块--SPI主机和从机(03)--SPI从机设计思路与代码解析
fpga开发·verilog·主机·spi·从机
listhi5204 天前
FPGA设计中的信号完整性量化与优化:探索高速数字系统的关键路径
fpga开发
hahaha60164 天前
xilinx的oddr原语是否可以直接使用verilog实现?
fpga开发
I'm a winner4 天前
FPGA 在情绪识别领域的护理应用(三)
fpga开发·前沿研究
小眼睛FPGA4 天前
【盘古100Pro+开发板实验例程】FPGA学习 | gamma 变化 | 图像实验指导手册
科技·学习·ai·fpga开发·fpga