Forum Discussion
Altera_Forum
Honored Contributor
13 years agoA DMA can be a good solution if you have a big stream of data to transfer to or from memory. In that case you could use the Scatter-Gather DMA component from Altera (you'll find it in SOPC builder) in a stream-to-memory or a memory-to-stream configuration, and in your custom component just provide an Avalon Stream interface.
If you just need to write a value to an address this may be overkill though, and it could be better to write a component with an Avalon Memory Mapped Master interface. In that case the write transaction is rather simple, just put the address and data value to the correct vectors, assert the write signal and wait for the wait_request signal to be deasserted. You should find timing diagrams in the specification. In most cases you will need a way to configure your component from the software (at least to say which address to use) so you will also need an Avalon Memory Mapped Slave interface to provide configuration registers. If you have a look at the chapter 10 of the sopc user manual (http://www.altera.com/literature/ug/ug_sopc_builder.pdf) you should find an example of such a setup.