文章 ID: 000075172 内容类型: 故障排除 上次审核日期: 2021 年 08 月 28 日

在math_real VHDL 封装中使用日志和平面功能时,Quartus® II 软件是否存在问题?

环境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明

是的,在同时使用 Quartus® II 软件中的math_real VHDL 封装进行日志和平面功能时,存在近似问题。在某些情况下,舍入错误可能会导致计算不正确的楼层值。

例如,使用math_real包功能计算日志 2 (8.0) 时,正确的答案应该是 3.0,但 Quartus II 软件中的实际计算值是 2.999999999999996。如果结果被楼层,结果是 2.0 而不是 3.0。

例子

floor(log2(real(8))) = 2.0

要解决 Quartus® II 软件中的这一问题,使用以下选项之一

  • 如果应用平面功能进行日志计算,请添加一个误码余量
    • 例子: floor(0.000001 log2(real(8))) = 3.0
  • 使用整数转换功能而不是车间功能
    • 例子: integer (log2(real(8))) = 3.0

此问题计划在 Quartus II 软件的未来版本中解决。

相关产品

本文适用于 1 产品

英特尔® 可编程设备

1

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。