--- Quote Start ---
I think the one we are currently using maps a chunk of Avalon address space to PCIe physical addresses by internally generating the high address bits - I don't see how this is of any use at all!
--- Quote End ---
Why not?
If you're using the memory mapped interface then DMA target addresses use the high bits of the local address to determine which
page of the address translation table to lookup to get a host address. It's simple enough and works well, all you have to do is set up
the address translation table the way you want it.
If you need multiple sources you'll just have to multiplex them somehow so that transfers are done in whatever sequence you need.
The logic to do this can be pretty trivial.
Nial.