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

文章目录


一、加法器

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

仿真结果如下:

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


转载请注明出处!

相关推荐
星夜离尘566 小时前
UART 串口通信:从帧格式到收发回显(附完整 Verilog 实操)
fpga开发
仲南音10 小时前
Xilinx FPGA—— DDR4读写
fpga开发
思尔芯S2C15 小时前
思尔芯RCF RTL自动分割工具,助力大规模AI/HPC芯片原型验证
人工智能·fpga开发·内存模型·自动编译·ddr5·prototyping·原型验证
Terasic友晶科技1 天前
答疑解惑|Agilex 3 FPGA QSPI时钟设置注意事项
fpga开发·de23-lite·terasic·qspi flash
国科安芯2 天前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v
国科安芯2 天前
卫星电推进系统阀门驱动控制中的宽温域高可靠MCU应用研究——基于AS32S601电气特性与辐照试验数据的工程分析
单片机·嵌入式硬件·fpga开发·云计算·信息与通信·卫星·抗辐射芯片
郝旭帅电子设计团队2 天前
图像处理是什么
图像处理·fpga开发·郝旭帅电子设计团队·郝旭帅
ARM|X86+FPGA工业主板厂家2 天前
基于ARM+FPGA平台在精密测控领域的应用:8路同步IEPE振动采集系统
arm开发·fpga开发
weixin_452600692 天前
D2632大电流低差压可调线性稳压器介绍,D2632可替换MIC29302
fpga开发·机器人·无人机·电动工具·车载摄像头
ARM|X86+FPGA工业主板厂家3 天前
基于ARM+FPGA平台在精密测控领域的应用:ZYNQ千兆以太网高速数据记录仪
arm开发·fpga开发