An overview of hardware acceleration techniques for 5G functions