一、设计一个电路,实现有符号数加**能。
要求:输入信号opA、opB位宽参数化,且将输入、输出信号各打两拍。
1、设计思路
对于有符号的加法器,分为两个部分进行,操作数位和符号位:
(1)判断两个符号位是否一致,如果符号位一致,那么他们的加和结果是两个操作数相加,加和结果的符号位和操作数的符号位保持相同;
(2)如果两个操作数的符号位不一致,那么加和结果是大的操作数减去较小的操作数,加和结果的符号位和较大的操作数符号位保持一致。
2、RTL代码
 rtl_1

rtl_2
 rtl_3 二、仿真1、testbench

tb_1
 tb_2 2、仿真波形

仿真波形 3、结果分析
如仿真波形图所示,sum实现有符号数加法运算功能,opA_2、opB_2实现输出信号打两拍,o_sum实现输出信号打两拍。
以4bit输入信号为例,当sum在-8—+7的范围内计算时,计算结果均正确;当sum超出范围时溢出,溢出位overflow信号拉高。
|
|