When you write software, you live in a world of pure abstraction. Code feels instantaneous. You type a line of Python, hit execute, and it runs. But when that code is synthesized into a physical ASIC ...