FourXHalfbandAsrc
2段のhalfband補間と連続線形ASRCを接続した1ch 4倍オーバーサンプラ
入力1サンプルから論理的に4サンプルを生成し、後段のSTD FIFOへburstで受け渡す。FIFOの読み出しと50MHz出力の位相進行はContinuousLinearAsrcが担当するため、HBF自身は入力受理と2サンプルburstのready/validだけを扱う。
input → Halfband 2x (stage 1) → Halfband 2x (stage 2)
→ 4-sample burst → FIFO → continuous linear ASRC → output
HBFのburstでFIFOをSTARTUP_LEVELまで満たしてからoutput_activeになる。
以後は毎クロック補間値を出し、advance時だけFIFOから次の窓を補充する。
Parameters
| SAMPLE_WIDTH | u32 | 入出力サンプルの符号付きビット幅 |
|---|---|---|
| PHASE_WIDTH | u32 | 位相入力のビット幅 |
| INPUT_DEPTH | u32 | 出力側入力FIFOの深さ |
Ports
| clk | input | clock | システムクロック | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| rst | input | reset | リセット | ||||||||||||||||||||
| input_valid | input | bbool | 入力サンプル有効 | ||||||||||||||||||||
| input_ready | output | bbool | 入力受理可能 | ||||||||||||||||||||
| input_sample | input | signedlogic| 入力サンプル
|
phase_increment |
input |
logic | 毎クロックの位相増分
|
output_active |
output |
bbool |
連続出力が有効
|
output_sample |
output |
signedlogic | 補間後の出力サンプル
|
input_level |
output |
logic<$clog2(INPUT_DEPTH+1)> |
入力FIFOのワード数
|
underflow |
output |
bbool |
入力不足のstickyフラグ
|
|