Many years ago I sat next to the CTO of Broadcom on a plane. We struck up a conversation and when I learned he worked for a chip designer I asked the question that I assumed was the most difficult part. I asked how the engineers laid out the circuits physically on the chip. He laughed and told me the engineers write software that defines the parameters and functions and the software lays out the chip (I know I am oversimplifying). I was dumbfounded to learn that hardware design was really software development. Today I think Google has an open chip design effort where you write chip specs in Python (from memory).