50字范文,内容丰富有趣,生活中的好帮手!
50字范文 > FPGA定点小数二进制乘法运算

FPGA定点小数二进制乘法运算

时间:2022-09-23 01:08:04

相关推荐

FPGA定点小数二进制乘法运算

此次采用有符号位宽为6bit的输入变量in_a和in_b。其中最高位为符号位,“0”表示正数,“1”表示负数。低5bit表示小数位。所有数据范围均为-1~1之间。

一、正数×正数

正数乘法可直接运算,去除乘数和被乘数的符号位进行相乘,结果为10bit(如果位数不够,最高位加0),符号位为乘数和被乘数符号位取异或。

如图为:0.78125(011001)×0.75(011000)

结果位宽为11bit。

二、正数×负数

1、进行乘法之前,首先将负数转化为正数再进行运算(补码)。

方法:负数整个按位取反再加一。

2、再按两个正数相乘的方法进行运算(即乘数和被乘数去除符号位相乘)(如果不够,根据符号位添加,如果符号位为“1”,则最高位添加“1”)

3、结果的符号位也是乘数,被乘数取异或运算。

4、如果符号位为“1”,则步骤2相乘的结果最高位补位为“1”,符号位为“0”,最高位补“0”,凑够10bit位宽(如果步骤2结果本来为10bit,则不需要添加)。

5、添加符号位,结果为11bit,最高位符号位,低10bit为小数位。

如图:eg:111001(-0.21875)×011000(0.75)

ps:负数×负数与上述方法一样,不一一列举。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。