Veryl registryAkiyukiOkayasu/gndless-nco-veryl · gndless_ncoSource ↗

Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

NcoTick

分数比から1クロック幅のtickを生成するNCO

phaseはDDSの位相ではなく、modulus未満の剰余を保持 そのため、tickの平均周波数はincrement / modulus * clkになる。

同じクロックで複数の制御がHighの場合、優先順位はupdate > restart > !enable > 通常の位相加算。updaterestartはphaseを0へ戻してtickを抑止し、disable中もphaseを保持してtickだけをLow化

Parameters


WIDTH u32 位相・増分・modulusのビット幅

Ports


clk input clock システムクロック
rst input reset リセット
enable input bbool tick生成イネーブル
update input logic incrementとmodulusの更新要求
restart input logic 位相を0へ戻す要求
increment input logic 1クロックあたりの位相増分
modulus input logic tick周期の法
tick output logic 周期完了パルス
configured output bbool 有効な設定が適用済み
config_error output bbool modulusが不正であることを示すフラグ