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

文章目录


一、加法器

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

仿真结果如下:

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


转载请注明出处!

相关推荐
GateWorld1 小时前
FPGA内部模块详解之六 FPGA的“心跳”与“神经网络”——时钟网络与布线资源深度解析
fpga开发·fpga内部时钟网络·fpga布线资源
lit_wei4 小时前
【ZYNQ的DMA获取FPGA数据处理,零拷贝,DMA方式】
fpga开发
FPGA-ADDA5 小时前
Xilinx Zynq UltraScale+ RFSoC XCZU47DR 开发板
fpga开发·fpga·rfsoc·xczu47dr
unicrom_深圳市由你创科技7 小时前
FPGA如何实现高速接口(PCIe/DDR4/QSFP28)?
fpga开发
发光的沙子7 小时前
FPGA----完美解决VFS: Cannot open root device “mmcblk0p2“ or unknown-block179,2)问题
fpga开发
S&Z34638 小时前
[SZ901]下载器常规功能及速度设置(53M MAX)
fpga开发·sz901
GateWorld19 小时前
FPGA内部模块详解之五FPGA的“对外窗口”——可编程输入输出单元(I/O Logic)
fpga开发·iologic
ZPC82101 天前
FPGA IP核协议清单
fpga开发
fei_sun1 天前
FPGA与CPU数据通信(待补充)
fpga开发
m0_598250001 天前
FPGA硬件设计-DDR4引脚分配设计规则
fpga开发