Separation Logic for High-level Synthesis