Verilogを使用して、減衰エンベロープを正弦波形に適用しようとしています。ハードウェアの制約により、乗算を使用してエンベロープを単純に乗算することはできません。単純に1-exp(-x)を使用している正弦値とエンベロープ値は、すべてを高速化するためにROMに保存されます。
現在、正弦値が大きい場合は、正弦値から指数値を減算して出力サンプルを計算しています。指数値が正弦値より大きい場合、出力サンプルはゼロです。これは非常にうまく機能しますが、減算する現在の指数値は、正弦波の現在の位置によって変調する必要があります。これにより、正弦が最大のときに完全な値が減算され、正弦がゼロのときにゼロが減算されます。
どなたでもアドバイスをいただければ幸いです。必要に応じて詳細をお知らせします。これがVerilogの質問に適した場所ではない場合、他にもっと良い場所はありますか?
ありがとう!