cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jorgitog1
Contributor
Contributor
514 Views
Registered: ‎06-17-2015

DDS_Compiler S_AXIS_PHASE Input Format

Jump to solution

I am trying to perform BPSK using a DDS_Compiler IP block.  I have an AXI-Stream FITO connected to the S_AXIS_PHASE of the DDS_Compiler since I am using it in streaming mode.  I am using driver function XLlFifo_TxPutWord() to send the phase offset value to the DDS_Compiler but am having trouble understanding what the correct value should be for a 0 and 180 degs phase shift.

Could somebody please help me understand what values to send to the S_AXIS_PHASE through the AXI-Stream FIFO in order to obtain 0 and 180 phase shift?

0 Kudos
1 Solution

Accepted Solutions
vkanchan
Xilinx Employee
Xilinx Employee
442 Views
Registered: ‎09-18-2018

Hi @jorgitog1 ,

The phase information is coded in the "PhaseOffset" field of the "S_AXIS_PHASE" bus. And this information is coded in the MSB of the "phase offset" field.

The width of "Phase offset" in "S_AXIS_PHASE" can be observed from the DDS GUI's "Information" Tab.

In the PG141, page 27, there is an example in which output is coded into 8 phases.  The phase offset of 1/8 of a cycle would be entered as 0.125 in the user interface. This returns a value of 20000(hex). This could be entered on the bus as 001(binary).

So for 180 degree phase shift, the phase offset of 1/2 cycle would be 0.5 which turns out to be  8000(hex). In binary it would be 1000...0.

View solution in original post

0 Kudos
1 Reply
vkanchan
Xilinx Employee
Xilinx Employee
443 Views
Registered: ‎09-18-2018

Hi @jorgitog1 ,

The phase information is coded in the "PhaseOffset" field of the "S_AXIS_PHASE" bus. And this information is coded in the MSB of the "phase offset" field.

The width of "Phase offset" in "S_AXIS_PHASE" can be observed from the DDS GUI's "Information" Tab.

In the PG141, page 27, there is an example in which output is coded into 8 phases.  The phase offset of 1/8 of a cycle would be entered as 0.125 in the user interface. This returns a value of 20000(hex). This could be entered on the bus as 001(binary).

So for 180 degree phase shift, the phase offset of 1/2 cycle would be 0.5 which turns out to be  8000(hex). In binary it would be 1000...0.

View solution in original post

0 Kudos