MMIO write is too slow

It might be interesting for others if you could post the transfer time, and if this is good enough for your application. (I would be interested :wink: )
16 bits instead of 32 bits is effectively halving your bandwidth/doubling the transfer time although you need to balance this against the time taken to pack your data in software. There are python packages to do this efficiently than writing your own python code to do this.

As Peter mentioned, this is a quick fix. You can improve the data transfer by using a DMA, or using a Master interface on your IP that can access memory directly rather than relying on the CPU to transfer data.

Cathal