【HDL系列】进位选择加法器原理与设计

时间:2024-04-12 14:44:34

目录

一、进位选择加法器

二、Verilog设计


前期已介绍了行波进位加法器(Ripple Carry Adder, RCA)依赖于低位进位,所以具有超长的进位链和关键路径。对于RCA的改进中,进位选择加法器(Carry Select Adder)是比较特别的一种,鉴于有太多的加法器缩写是CSA,此处使用全称。

一、进位选择加法器

进位选择加法器由2个行波进位加法器和1个选择器构成,其中一个RCA加法器假定进位进位为0,另外一个RCA加法器假定进位为1,其结构如下:

【HDL系列】进位选择加法器原理与设计
4比特进位选择加法器基础块结构

由4个蓝色全加器组成的RCA,假定进位输入c0=0;由4个绿色全加器组成的RCA假定进位输入c0=1。如果来自低级的进位Cin为0,则选择蓝色RCA的进位c4作为该加法器的进位输出;如果来自低级的进位Cin为1,则选择绿色RCA的进位c4作为该加法器的进位输出。同时Cin作为选择器选择信号,控制S3~S0的输出来自于蓝色RCA还是绿色RCA

如下图16比特进位选择加法器,以4比特进位选择加法器为结构级联,每一级的进位可以同时经过4个全加器延迟同时生成,而选择信号在经过最低位的4比特RCA后生效,经过三个数据选择器的延迟,c16就会生成。所以,相比于同等16比特的行波进位加法器,进位选择加法器极大地提高了速度,是面积换取速度设计的典型代表。

【HDL系列】进位选择加法器原理与设计
16比特进位选择加法器

 

其关键路径见下图红色描绘路径:

【HDL系列】进位选择加法器原理与设计

进位选择加法器总结:

  1. 优势:对于更大位宽加法器高位进位不取决于进位传播,速度更快。但正确的输出必须等待正确的进位选择信号输出。
  2. 缺点:电路面积花费巨大,对于N比特加法器,需要几乎比RCA翻倍的全加器个数和许多多余的数据选择器。

另外对于N比特进位选择加法器构成的基础块,其大小可以相同,也可以不同,即其中的RCA全加器个数可以不同。

由进位选择加法器组成的加法器器又称为Conditional Sum Adder。

 

二、Verilog设计

基于4比特RCA模块,加入数据选择器,构成基础4比特进位选择加法器,由4比特进位选择加法器级联4级搭建成为16比特进位选择加法器,第一级进位延迟为4个全加器和1个数据选择器。

【HDL系列】进位选择加法器原理与设计
16比特进位选择加法器

 

【HDL系列】进位选择加法器原理与设计
16比特进位选择加法器网表

 

欢迎批评指正,更多阅读,关注“纸上谈芯”,不定期更新,共同学习:

【HDL系列】进位选择加法器原理与设计