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

文章目录


一、加法器

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

仿真结果如下:

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


转载请注明出处!

相关推荐
Saniffer_SH19 小时前
【高清视频】笔记本电脑出现蓝屏、死机、慢、不稳定是这样连接分析M.2 SSD的
运维·服务器·网络·人工智能·驱动开发·嵌入式硬件·fpga开发
Z22ZHaoGGGG20 小时前
Verilog实现对采样信号有效值(RMS)的计算
fpga开发
简简单单做算法21 小时前
基于FPGA的图像形态学腐蚀处理Verilog开发与开发板硬件测试
fpga开发·腐蚀·形态学处理·硬件调试
hong_fpgaer1 天前
XILINX ZYNQ FPGA PS端DMA握手流程
fpga开发·vivado
北城笑笑1 天前
FPGA 50 ,Xilinx Vivado 2020 版本安装流程,以及常见问题解析,附中文翻译( Vivado 2020 版本安装教程 )
fpga开发·fpga
GateWorld2 天前
主流FPGA厂商对SystemVerilog的支持现状
fpga开发·system verilog
Smart-佀3 天前
FPGA入门:CAN总线原理与Verilog代码详解
单片机·嵌入式硬件·物联网·算法·fpga开发
丁劲犇3 天前
B205mini FPGA工程粗浅解析:从架构到Trae开发介绍
ai·fpga开发·架构·ise·trae·b210·b205mini
应用市场3 天前
无线充电器原理与电路设计详解——从电磁感应到完整实现
3d·fpga开发
ALINX技术博客3 天前
【ALINX选型】AMD Kintex UltraScale+ 系列 FPGA 开发板速选
fpga开发