Let's imagine if your house were a huge FPGA and the "gates" in this case are water pipes and faucets. Of course you can draw out how you'd like the cold and hot water distributed throughout the house and where the faucets are. But since you have all of this control you might also decide to disable all of the other water spigots, or at least the toilet, whenever the shower is running. You might add a bit where a master faucet is shutdown when the temperature falls too far. With conventional plumbing you'd need to figure this all out before the drywall goes up and the house is done since it's quite expensive and disruptive to make changes down the road. But since you have an FPGA house you can download a whole new plumbing setup whenever you feel like it. Or, as Thompson's work would indicate, your FPGA house will take your initial design and then notice certain patterns of use and optimize for them. For example, instead of lots of separate pipes and shutoff valves for each faucet it may choose to run all of the water to the shower first, and then branch off to other faucets since it knows that they don't get water when the shower is on, thus saving on pipes, valves, and complexity. An actual FPGA is much more complicated than that, maybe upping the plumbing metaphor to controlling a whole town along with the electricity and phone?