【发布时间】:2015-05-10 15:03:50
【问题描述】:
我有 2 个数据值(A = 0.00537667139546100 和 B = -0.0182905843325460),我想通过舍入方法使用 16 位定点算法将它们相乘。
我该怎么做?我应该如何定义这两个数据?是注册的还是签名的?
是像Output = A*B;这样的乘法
【问题讨论】:
-
那是什么数据?固定点?采用哪种格式?你不能像这样简单地将 2 个值相乘,只要写下数学,你就会看到
-
@LưuVĩnhPhúc,数据是数据 A 和 B,是的,我可能在 Q2.14 中使用定点算术。关于如何将这两个数据相乘的任何想法?
-
我认为您最好先阅读这些答案stackoverflow.com/a/27765266/97073stackoverflow.com/a/28170918/97073他们可能会回答您的问题或帮助您修改它。欢迎对有用的答案进行投票。
-
@Morgan,感谢您的链接,它很有帮助,但由于 verilog 没有任何固定点格式支持,我如何对系统进行编程以读取传入数据并将其更改为 base 2用 16 位定点(第 16 位 = 有符号位,第 15 位 = 整数,第 14-0 位是小数位)并进行计算?因为现在我要处理数千个输入数据,所以我完全不可能手动将上面的十进制数字 1 逐 1 转换为其各自的固定点。有什么指导或方法吗?
-
计算机中的所有数字都是二进制、十六进制、十进制和二进制只是显示底层二进制数据的方式。有符号和无符号只是解释该数据的方式。
标签: verilog multiplication fixed-point 16-bit