An Introduction to High-Level Synthesis | Synapse