Veryl registryAkiyukiOkayasu/gndless-filter-veryl · gndless_filterSource ↗

Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

SoftFade::<FORMAT>

dutyディザによる線形フェードイン(ソフトミュート)モジュール

fade_inがLowの間は出力を0に保持する。Highへ立ち上げると、窓内位置 fade_posがduty(fade_duty)未満の間だけ入力を通過させ、平均ゲインを duty/窓で線形に0→1へ増加させる。乗算器を使わないためDSP資源を消費しない。 通過/遮断のトグル周波数は clk/WINDOW で、PWMノイズは帯域外になる。

フェード時間は WINDOW * WINDOW / FADE_STEP クロック。 例: clk=50MHz, WINDOW=1024, FADE_STEP=2 → 約10.5ms。

Generic Parameters


FORMAT gndless_fixedpoint SignedFixedPointFormat

Parameters


CHANNELS u32 チャンネル数
WINDOW u32 ディザ窓長(クロック)。トグル周波数 = clk/WINDOW
FADE_STEP u32 窓あたりのduty増分。duty最大はWINDOW

Ports


clk input clock システムクロック
rst input reset リセット
fade_in input bbool フェード制御 (Lowで出力0、Highでフェードイン)
x modport gndless_fixedpoint FixedPointValue input_port [CHANNELS] 入力
y modport gndless_fixedpoint FixedPointValue output_port [CHANNELS] 出力