Доброго времени суток!
По поводу ДМА:
dma_clear_status();
dma_clear_control();
dma_wr_source_address(source_addr);
dma_wr_dest_address(dest_addr);
dma_wr_length(length); //длинна в байтах
dma_wr_control(ALTERA_AVALON_DMA_CONTROL_DWORD_MSK|
ALTERA_AVALON_DMA_CONTROL_LEEN_MSK|
ALTERA_AVALON_DMA_CONTROL_RCON_MSK|
ALTERA_AVALON_DMA_CONTROL_GO_MSK); // все эти биты есть в описании
while (IORD_ALTERA_AVALON_DMA_STATUS (DMA_0_BASE) & ALTERA_AVALON_DMA_STATUS_BUSY_MSK); // ждем пока все не передаст :)
САМИ МАКРОСЫ
#include <altera_avalon_dma_regs.h>
#define dma_clear_status() IOWR_ALTERA_AVALON_DMA_STATUS(DMA_0_BASE, 0)
#define dma_clear_control() IOWR_ALTERA_AVALON_DMA_CONTROL(DMA_0_BASE,0)
#define dma_wr_source_address(address) IOWR_ALTERA_AVALON_DMA_RADDRESS(DMA_0_BASE, address)
#define dma_wr_dest_address(address) IOWR_ALTERA_AVALON_DMA_WADDRESS(DMA_0_BASE, address)
#define dma_wr_length(length) IOWR_ALTERA_AVALON_DMA_LENGTH(DMA_0_BASE, length)
#define dma_wr_control(control) IOWR_ALTERA_AVALON_DMA_CONTROL(DMA_0_BASE, control)
по поводу библиотек, попробуй грохнуть старые sislib из проекта и создать новые, вроде помогало
(правой кнопкой мыша и создать новую библиотеку, должно втянуть то что ты написал)