Attention

This documentation is a work in progress. Expect to see errors and unfinished things.

ph_acc

Description


Phase accumulator, to act as basis for DDS (direct digital synthesizer).
Tuned to allow 32-bit control, divided 20-bit high and 12-bit low,
which gets merged to 32-bit binary when modulo is zero.
But also supports non-binary frequencies: see the modulo input port.

Pinout

Schematic symbol

Ports

Table 112 ph_acc_port_table

Signal

Direction

Description

clk

Input

Rising edge clock input; all logic is synchronous in this domain

reset

Input

Active high, synchronous with clk

en

Input

Enable

phase_acc[18:0]

Output

Output phase word

phase_step_h[19:0]

Input

High order (coarse, binary) phase step

phase_step_l[11:0]

Input

Low order (fine, possibly non-binary) phase step

modulo[11:0]

Input

Encoding of non-binary modulus; 0 means binary

Implementation and use

The portable Verilog implementation can be found in ph_acc Source File