Design and analysis of a coherent memory sub-system for FPGA-based embedded systems