Pulse Witdth Encoder
| Name | In/Out | Width | Description |
|---|---|---|---|
| CLK | In | 1 | メインクロック |
| DUTY_TABLE_BUS | In | - | メモリバス |
| DIN_VALID | In | 1 | 強度/位相データ有効フラグ |
| INTENSITY_IN | In | 8 | 強度 |
| PHASE_IN | In | 8 | 位相 |
| PULSE_WIDTH_OUT | Out | 9 | パルス幅 |
| PHASE_OUT | Out | 8 | 位相 |
| DOUT_VALID | Out | 1 | パルス幅/位相データ有効フラグ |
このモジュールは, 強度をパルス幅に変換する. 強度とパルス幅の関係は, 理想的には となる. ここで, は周期である. このモジュールはこれの逆変換を行うためのモジュールである.
NOTE: 最初からパルス幅を使用しないのは, 強度にAM変調をかけるためである.
ただし, 上記は理想的な変換であり, 現実とは異なる可能性がある. そのため, このモジュールでは, 強度をインデックス, パルス幅を値とするテーブルを利用している. このテーブルは, 書き込み可能になっているため, 任意の変換を実現する事ができる. (デフォルトでは, 上記の理想的な変換を行うテーブルが用意されている.)
このモジュールの処理もパイプライン的に行われる.
入力として, DIN_VALIDは249クロックの間1であり, その間INTENSITY_IN, PHASE_INから強度/位相データが順番に流れてくることを想定している.
処理が終わったら, DOUT_VALIDを1とし, 順次PULSE_WIDTH_OUT, PHASE_OUTからパルス幅/位相データを流す.
NOTE: 位相に関しては何も処理しないが, ディレイを入れてパルス幅データと歩調を揃えている.