在System Verilog中计算浮点值的e ^ x?

roh*_*n32 5 verilog fpga system-verilog neural-network sigmoid

我正在构建一个在FPGA上运行的神经网络,最后一个难题是在硬件中运行sigmoid函数.这是:

1/(1 + e^-x)
Run Code Online (Sandbox Code Playgroud)

要么

(atan(x) + 1) / 2
Run Code Online (Sandbox Code Playgroud)

不幸的是,这里的x是一个浮点值(realSystemVerilog中的值).

有没有关于如何在SystemVerilog中实现这些功能的提示?

这对我来说真的很混乱,因为这两个函数都很复杂,我甚至不知道从哪里开始实现它们,因为浮点值的复杂性增加了.