一,内容介绍
加法器是数字电路中的最基础电路之一,也是CPU的核心功能之一。
在这个专栏,我会把所有我知道的数字电路的加法器相关模型都实现一遍并解释其原理。
编程使用的语言为Verilog,代码风格为强迫症系列风格。
加法器系列链接:
半加器及全加器设计.
4位行波加法器设计
超前进位加法器设计
目前:进位选择加法器
koggle-stone加法器设计
brent-kung加法器设计
从加法器到计算单元
加法的进位问题
二,进位选择加法器设计原理
进位选择加法器(CSA): Carry Select Adder.
2.1 选择器原理
首先我们先介绍一个常用数字电路组件:选择器:MUX
verilog中我们经常使用这样的语句:
assign c = sel ? a : b;
实际上这样的电路可以等效为
assign c = (sel & a) | (~sel & b);
根据之前系列文章介绍,我们可以计算出一个选择器 MUX 的逻辑延时为
delay = 0.2 + 0.7 + 0.9 = 1.8ns
/*与或非门延时设定可以查阅加法器系列文章的第二篇:半加器和全加器设计
[半加器和全加器](https://blog.csdn.net/weixin_45536424/article/details/116245926)
*/
2.2 面积速度互换原则
在集成电路设计中,我们经常会遇到这样的设计选择:面积速度的优化。
所谓面积即我