I am using the sample code from http://www.alterawiki.com/wiki/sgdma with my design, which differs in the following points from the sample design: - It has only the Stream-to-MM-SGDMA - Source is my own IP, which seems to work - data width of the source signal is 64bit, therefore each packet consists of 8 Byte - all code regarding the other direction (+validation of data) has been removed My problem is: - the SGDMA only completes the first descriptor ( bit "descriptor completed" == 1 ) but then stucks ( bit "busy" == 1) when more than one descriptor in list, otherwise the chain is marked as completed and the interrupt is thrown. What can be the reason for this behaviour? Please tell me if I forgot something important ;) EDIT: The SGDMA output was connected to the wrong memory. That was really stupid. EDIT2: It still does not work. It only "worked" because of timing issues cause by signaltap. Without signaltap, it does nothing again.