Thanks, Jake! Out of curiosity, I wonder if crossing 4kB boundary actually causes problems, or it's just for compliance with the AXI specification? I think we visited this topic when we implemented async_mmap and the eventual decision was to not bother because Xilinx's IP seems to work fine with cross-4k bursts.
I had to fix this because Vivado simulation actually threw a fatal error and hung. Thank you for the suggestions!
I had to fix this because Vivado simulation actually threw a fatal error and hung. Thank you for the suggestions!