Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

SGDMA is not generating SOP/EOP

I'm using the mem-to-stream configuration of the SGMDA IP. I'm using SignalTap to monitor the transfers. I do see the data transferring but there is no sop or eop with the transfer. I am using the API so this looks like it should be easy:

alt_avalon_sgdma_construct_mem_to_stream_desc (

&TxMemPktsToCaviumDesc_DMA[k][i], // descriptor

i==0?&TxMemPktsToCaviumDesc_DMA[k][i+1]:0, // next descriptor

TxMemPacketsToCaviumBuf[i+(k*8)], // read pointer

0, // buffer length (in bytes)

0, // write not fixed

1, // SOP enabled for avalon-st interface

1, // EOP enabled for avalon-st interface

0 /* there is only 1 channel */ );

I can get just an eop if I specify GENERATE_EOP in the DESC_CONTROL BIT Map.

Does anyone know what the issue might be?

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I didn't get any ideas from the forum but what I found out is the descriptor is controlling the SOP/EOP generation. After I set the WRITE_FIXED_ADDRESS bit in the descriptor.control field I started getting SOP/EOPs. I'm still confused why I have to set the descriptor.control fields instead of the API parameters for SOP and EOP.