FPGA 上で動作するニューラル ネットワークを構築しています。パズルの最後のピースは、シグモイド関数をハードウェアで実行することです。これは次のいずれかです。
1/(1 + e^-x)
また
(atan(x) + 1) / 2
残念ながら、ここの x は float 値 ( real
SystemVerilog の値) です。
SystemVerilog でこれらの関数のいずれかを実装する方法に関するヒントはありますか?
これらの関数はどちらも複雑であり、浮動小数点値であるという複雑さが増すため、どこから実装を開始すればよいかさえわからないため、これは本当に混乱します。