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
がリセットされ, 新しい周期が始まるようになっている.)