如果使用VHDL,除法中的分子= 1怎么样? 例如
y=1/x;
实现这个的最有效方法是什么(反向)?
答案 0 :(得分:0)
您已澄清您正在使用浮点数。
这完全取决于您拥有哪些库。如果你需要在VHDL中从头开始实现浮点倒数,只需使用numeric_std,这将是一项重大的工作。仅用于说明:您可能会将指数和尾数分开,通过反转该值来计算指数,并使用分段插值实现尾数。另一种可能需要较少研究但其他工作浮点组件的方法是对初始粗略估计进行Newton-Raphson迭代。
如果您对自己没有特别兴趣 我建议查看http://flopoco.gforge.inria.fr/。 Flopoco是一个为大范围浮点运算生成工作VHDL代码的生成器。如果您没有Linux,请使用虚拟机来运行它。它可能无法完全符合IEEE-754标准的设计,但我已经尝试了一下它看起来非常有用!