Yes.
Actually, CPU design isn’t so different than programming today. We start with a handful of veery simple operations for which circuits to perform them are simple and well known (store a bit, shift it left or right, AND, OR, etc.). From very simple operations we write more complicated ones, and from them, more complicated ones still — and we effectively “write” a CPU as it were a computer program with inputs and outputs.
Software analyzes the design in a process called “high level synthesis” and translates the “program” describing the circuits on the chip into actual physical circuits. More importantly, the same software knows how all the physical circuits behave and can simulate them in the computer, so you can test the CPU before you even make a physical chip (this is difficult and time consuming enough, that it’s often more expensive than physically making the chip, but it’s important because it has to be perfect). If the logic checks out, the computer can translate the “program” describing the circuits into an actually layout of circuits that can bee etched onto a chip.
Latest Answers