You don't know what a flipflop is, do you? Certainly not how a flipflop compares to an opcode. (it doesn't)
When you look at a flipflop as some unit of functionality then it does compare. The difference is the way in which they are used.
An instruction is a collection of circuits that the CPU uses when it fetches an opcode that tells it to use those specific circuits, while in an FPGA things like flipflops and logic gates (and what not) are connected together through user definable wiring.
Uhm, WHAT?! You're saying that silicon layout is similar to writing a computer program?
No, not literally of course. In essence the process is similar, because in both cases you're telling a machine what to do (with an FPGA this is done by telling it 'how to be wired up', so to speak, unless I'm missing something).
Not programmable, all hardwired. It's the same task, the same polygons, as drawing an FPGA.
And in an FPGA it's of course not hardwired, otherwise you'd have to open the FPGA and add and remove tiny little wires.
There's no lower level than machine code running in that transistor telling things what to do
The point is that the transistor IS the lower level. Basically the components in the FPGA that you wire up together are the lower level parts I'm talking about.
An opcode is higher level because it's made of lower level components such as transistors. The lower level of a transistor would then be the components it is made of, and obviously these aren't instructions, but 'bits (NOT computer bits) of silicon and other stuff'.
Those electrons actually are flowing mack and forth, they're not falsely pretending to just because you say so.
Flowing through connections that are, in an FPGA, user definable. There aren't any fixed connections that are user defined (would require the chip to be opened up), and therefore there's no hardwiring.
The programming of a CPU and an FPGA, while done in completely different ways, is both a form of programming. The difference is that a CPU fetches instructions from memory that tell the CPU which parts of it's circuitry to use, while with an FPGA you instead describe those circuits (lower level again).
The whole point is that the function the chips are performing isn't fixed, but user definable, in a CPU it's just done indirectly, because you can't change the circuitry, while with an FPGA you can.
An FPGA emulates a circuit, because while the components are fixed, it's wiring is not, and therefore the circuit isn't fixed. It imitates a circuit's function by providing user definable wiring. Wires are part of a circuit, and these aren't fixed here.