The Shang high-level synthesis framework