The input PHASE channel (s_axis_phase_t*) replaces the
streaming interface (PINC_IN and POFF_IN) or PHASE_IN ports of the DDS Compiler v4.0. The input PHASE channel is intended for applications
where the DDS Compiler is to perform a dynamic function
such as phase or frequency modulation, where there is an output sample for each input
sample. The fact that there is a one-to-one relationship between input and output means
that back pressure applied to the output (TREADY deasserted) results in the deassertion
of TREADY on the input PHASE channel (delayed according to internal buffer capacity).
Likewise, a starvation of input data on the PHASE channel (deassertion of TVALID)
propagates to become a deassertion of TVALID on the output channels.
When in rasterized mode, values of PINC, POFF and PHASE_IN must be constrained between 0 and Modulus-1 (inclusive). This corresponds to a full circle. Therefore, if negative values are required, add the Modulus to map these into the required range. For instance, with Modulus 360, if -90 is required, add 360 to get 270, which is in the required range. Event signals exist to detect invalid values of PINC, POFF and PHASE_IN input at runtime.
When the DDS Compiler is configured to have a Phase Accumulator, and either Phase Increment or Phase Offset is selected to be “Streaming”, the input PHASE channel interface exists. When the DDS Compiler is configured to be a SIN/COS LUT only, the PHASE_IN field is input on the TDATA bus of the input PHASE channel. These two configurations are mutually exclusive.