Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

Why does each register of my Scatter-Gather DMA Controller Core slave interface take 256bytes?

0
Posted

Why does each register of my Scatter-Gather DMA Controller Core slave interface take 256bytes?

0

Solution You will see a larger than expected memory space being taken up by the SGDMA slave interface because eight address bits are used for the slave port. As a result each 32 bit register is spaced 16 bytes apart. The registers are located at the following addresses: Status –> byte address 0, 32 bit word address 0 Control –> byte address 16, 32 bit word address 4 Next Descriptor Pointer –> byte address 32, 32 bit word address 8 If you access the SGDMA registers directly, it is very important that you use the macros defined in “altera_avalon_sgmda_regs.h” so that you do will not need to modify your code if the SGDMA address range is changed.

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.