Smux2Packer
4chの高速サンプルをS/MUX2の8物理スロットへ並べ替える
sample_validを96kHz側のサンプル受理パルス、frame_validを48kHz側のADATフレーム受理パルスとして使う。
2つの入力サンプルを1フレームにまとめ、各チャンネルの先行サンプルを偶数スロット、後続サンプルを奇数スロットへ配置する。
samplesとchannelsはgndless_fixedpoint::FixedPointValue::<gndless_fixedpoint::Q1_23>境界であり、
AdatTxのchannels入力へ直接接続できる。
次図では、AとBが時間順に連続する4ch sample setを表す。
sample_validを受理した2回目の立ち上がり後にchannelsを更新し、frame_validをシステムクロック1周期だけHighにする。
Ports
| clk | input | clock | |
|---|---|---|---|
| rst | input | reset | |
| sample_valid | input | logic | 高速サンプル受理パルス |
| samples | modport | gndless_fixedpoint __FixedPointValue__gndless_fixedpoint_Q1_23 input_port [4] | 高速サンプル受理パルス |
| channels | modport | gndless_fixedpoint __FixedPointValue__gndless_fixedpoint_Q1_23 output_port [8] | |
| frame_valid | output | logic | フレーム更新パルス |