FractionalPhaseAccumulator
ASRC用の分数位相アキュムレータ
phaseはQ0.WIDTHの小数位相を表す。毎クロックphase_incrementを加算し、2^WIDTHを跨ぐときだけadvanceを1にする。advanceは実クロックを生成するためではなく、入力サンプル窓を1サンプル進めるための制御信号として使用
初期仕様ではphase_incrementを0以上1未満に限定する。したがって、1クロックで発生するwrapは最大1回である
advanceは現在のphase + phase_incrementが次の立ち上がりでwrapすることを組み合わせで予告する。wrapする立ち上がりの後、phaseには剰余が現れ、advanceは次回の加算がwrapしない限りLowへ戻る
Parameters
| WIDTH | u32 | 位相の小数部ビット幅 |
|---|
Ports
| clk | input | clock | システムクロック | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| rst | input | reset | リセット | ||||||||
| enable | input | bbool | 位相更新イネーブル | ||||||||
| phase_increment | input | logic| 1クロックあたりの位相増分
|
phase |
output |
logic | 現在の小数位相
|
advance |
output |
bbool |
次の加算でwrapすることを示すパルス
|
|