Time Count Generator
| Name | In/Out | Width | Description |
|---|---|---|---|
| CLK | In | 1 | メインクロック |
| SYS_TIME | In | 57 | システム時刻 |
| SKIP_ONE_ASSERT | In | 1 | Synchonizer参照 |
| TIME_CNT | Out | 9 | カウンタ |
| UPDATE | Out | 1 | 超音波周期トリガ |
このモジュールは, 同期システム時刻 SYS_TIMEから, 離散時刻 (TIME_CNT) と超音波周波数で発火するUPDATEを生成する.
SYS_TIMEはメインクロックでカウントアップされる符号なし整数カウンタである.
SYS_TIMEの値は, 全デバイス間で同期しているため, も必然的に全てのデバイスの全振動子で同期する.
SYS_TIMEに関しては, Synchonizerを参照されたい.
TIME_CNTの生成には, SYS_TIMEの下位9bitをそのまま使用する.
また, UPDATEは基本的にTIME_CNTが特定の値のときだけとすれば良い.
ただし, SYS_TIMEは補正のために, 値が1飛ばしでインクリメント (すなわち前回の値) される, または, インクリメントされない可能性があるため, 単純にUPDATEはTIME_CNTがのときにのようにすることができない.
そのため, UPDATEがアサートされるのは, TIME_CNTがからまたはに変化するタイミング, としている.
(すなわち, UPDATEがアサートされたクロックの次のクロックからTIME_CNTがリセットされ, 新しい周期が始まるようになっている.)