一款32位嵌入式CPU的定点加法器设计
时间:11-05
来源:互联网
点击:
2.2 传递逻辑电路实现
完成上述基本4位加法器的电路设计后,要构造一个完整的32位加法器还需借助于传递逻辑电路。传递逻辑电路可以对4位加法器模块的进位进行传递,也可以对由两个4位加法器模块组成的8位加法器模块的进位进行传递。对于8位加法器模块,由于低4位的进位可以表示为C4=C0Ggroup+Pgroup,则8位加法器模块的进位为:
![](../img/eec-mcu/mcu-169184cx215ocq1i3.gif)
由此可以设计出如图5和图6所示的两种进位传递逻辑电路。
![](../img/eec-mcu/mcu-1691853pkuazjjcpw.gif)
2.3 溢出逻辑电路实现
设计中还采用了判断溢出的方法。当两个有符号数进行加减法运算时,若最高的数值位向符号位的进位(本设计中的C30)值与符号位产生的进位(本设计中的C31)输出值不同,则表明加减运算产生了溢出。
由上述可知,加法器时延的关键路径在进位链上,而进行溢出判断所需要的信息C30与C31都在这条路径上。于是采用类似于进位跳位加法器(Carry-Skip Adder)的办法,使得低位的进位快速跳位到高位,使C30与C31快速产生。具体实现如下:
①溢出的逻辑表达式推导
由于Overflow=(C30⊕C31)·Overflag(Overflag表示当前ALU加法器进行有符号运算),需要进行溢出判断(它是ALU控制模块在译码阶段产生的,在指令执行阶段起始段就输出到数据通道,所以它不在关键路径上)。
![](../img/eec-mcu/mcu-169188hcnjv4flwce.gif)
显然,分式(1)是和进位链无关的一部分,可以在每一个流水线的指令执行阶段起始段很快得到,而分式(2)则是和进位链有关的部分,其具体逻辑值将取决于进位C27的值。分式(1)中高位的Gi和Pi都可以在进位C27到来之前预先得到,只要C27一到就可以进行逻辑判断,得到相应的逻辑。
![](../img/eec-mcu/mcu-169189ko2gkt2lcgd.gif)
②溢出逻辑电路实现
根据式(3)的逻辑表达式,可设计出加法器溢出逻辑产生电路,如图7所示。
![](../img/eec-mcu/mcu-169191cs5ouqvsk3g.gif)
设计得到的32位加法器在SMIC流片后,经测试,运算速度在400MHz以上,满足设计要求,为后续浮点加法器的设计提供了很好的铺垫。
完成上述基本4位加法器的电路设计后,要构造一个完整的32位加法器还需借助于传递逻辑电路。传递逻辑电路可以对4位加法器模块的进位进行传递,也可以对由两个4位加法器模块组成的8位加法器模块的进位进行传递。对于8位加法器模块,由于低4位的进位可以表示为C4=C0Ggroup+Pgroup,则8位加法器模块的进位为:
![](../img/eec-mcu/mcu-169184cx215ocq1i3.gif)
由此可以设计出如图5和图6所示的两种进位传递逻辑电路。
![](../img/eec-mcu/mcu-1691853pkuazjjcpw.gif)
2.3 溢出逻辑电路实现
设计中还采用了判断溢出的方法。当两个有符号数进行加减法运算时,若最高的数值位向符号位的进位(本设计中的C30)值与符号位产生的进位(本设计中的C31)输出值不同,则表明加减运算产生了溢出。
由上述可知,加法器时延的关键路径在进位链上,而进行溢出判断所需要的信息C30与C31都在这条路径上。于是采用类似于进位跳位加法器(Carry-Skip Adder)的办法,使得低位的进位快速跳位到高位,使C30与C31快速产生。具体实现如下:
①溢出的逻辑表达式推导
由于Overflow=(C30⊕C31)·Overflag(Overflag表示当前ALU加法器进行有符号运算),需要进行溢出判断(它是ALU控制模块在译码阶段产生的,在指令执行阶段起始段就输出到数据通道,所以它不在关键路径上)。
![](../img/eec-mcu/mcu-169188hcnjv4flwce.gif)
显然,分式(1)是和进位链无关的一部分,可以在每一个流水线的指令执行阶段起始段很快得到,而分式(2)则是和进位链有关的部分,其具体逻辑值将取决于进位C27的值。分式(1)中高位的Gi和Pi都可以在进位C27到来之前预先得到,只要C27一到就可以进行逻辑判断,得到相应的逻辑。
![](../img/eec-mcu/mcu-169189ko2gkt2lcgd.gif)
②溢出逻辑电路实现
根据式(3)的逻辑表达式,可设计出加法器溢出逻辑产生电路,如图7所示。
![](../img/eec-mcu/mcu-169191cs5ouqvsk3g.gif)
设计得到的32位加法器在SMIC流片后,经测试,运算速度在400MHz以上,满足设计要求,为后续浮点加法器的设计提供了很好的铺垫。
电路 相关文章:
- 基于P89C61x2/ISP1581的USB接口电路的设计(02-13)
- 行波管关断方式对应用系统可靠性的影响(06-24)
- 基于VME总线的RDC接口电路设计(06-29)
- 单芯片集成电路优化自适应转向大灯系统的设计 (07-12)
- 单片机应用系统的抗干扰技术(08-07)
- 基于FPGA的线阵CCD驱动器设计(11-26)