Well, it isn't ALL software. But, for development, software is just a tool, like an oscilloscope or a soldering iron.
Years ago I bult some fairly large systems with wirewrap. See http://pico-systems.com/stories/1982.html for some pics. But now, I can write that as VHDL and simulate it, and be (pretty) sure it works as intended. If I want to make changes, I don't have to rip out a bunch or WW wire, and if the change doesn't work out, I can go back with just one command.
Jon
It isn't ALL software yet, but it slowly turns ALL into software.
That example with wiring AMD2900 bitslices vs writing VHDL is exactly the point.
It happens that I did a similar project with a lot of wire wrap during the 80's (thought mine was a Z80 based computer, and the wire wrap was soldered instead of wrapping it, because wire wrap sockets were quite rare and expensive
https://hackaday.io/project/1411-xor-hobby-a-vintage-z80-computer-prototype):
Might look tedious and complicated, but in fact it was not that complicated yet it was very, very rewarding. Can not say the same about "code wiring". And wire wrapping TTL chips is certainly less complex than writing HDL for FPGA.
To make a board back then, all that was needed was a handful of TTL ICs and a few paper handbooks with the datasheets. To implement the same functionality nowadays in an FPGA, you'll need a very complex toolchain setup in order to simulate and to compile the VHDL code, and all that toolchain (with editors, simulators, compilers, libraries, programmers, terminals, etc.) sitting on a very complex OS, with all kind of licenses schemes (many of them time limited), software and drivers compatibility issues, etc.
Then, the practically infinite numbers of FPGA related PDF docs for each FPGA family (most of them in the range of hundreds to thousands of pages
), and all the quirks/details varying from one FPGA manufacturer to the other and from one model to the other, then the HDL literature, and so on.
The entry bar to design something is now much, much higher, and the complexity of the software tools grown A LOT.
Many times, setting up the software environment alone will be a challenge in itself. To see what I mean, just try to reuse a board older than a few years, say with Windows XP and proprietary compilers. Usually old tools are left in an abandonware state, with no quick start lessons, sometimes not even the compiler's installers are hard to find (having here in mind some DSP board from Texas Instruments - the compiler were still available for download, thank you TI for that, but it took me a week of reading about various software in order to prepare a working virtual machine for that DSP board).
Perhaps putting this in other terms would clarify the problem (if there is one).
First it was pure metal smithing. Find a meteorite or copper nugget and pound it into shape.
Then some bright guy figured out how to get metals out of rocks and you didn't have to roam the hills looking for materials, just tan enough hides to trade for ingots.
But then some other bright guys figure out how to make tools to shape the metals. Drills and files and all sorts of stuff. And you didn't have to have huge biceps and great skill to make the metal the shape you wanted.
Then it really went downhill. You could buy pre-shaped pieces and parts. Pierced elbow iron. Screws. Nuts. You could just bolt stuff together. Never have to make anything bend or stretch.
Where is the imagination or creativity in any of that?
Exactly that, maybe without the imagination/creativity remark, there's plenty of room for that, though it's true that there is a tendency to replace the ingenuity/elegance of a good design with heavy number crunching. Almost all of the analog electronic, even the RF, turned into just ADC+DSP.
FOr example, having in mind an analog radio vs an SDR, I find there is some lost beauty there, from when we were putting the Universe to compute for us using the law of physics (in analog electronics) vs. using an MCU to compute for us using some DSP algorithms (in digital electronic).
In electronics the digital/software age has simplified all of the basic stuff so much that we can tackle problems that people wouldn't even dream of doing years ago. Can you even imagine doing the Lady Heather GPS disciplined oscillator in discrete components? Or even much simpler things like whole house control?
Indeed, going digital comes with some advantages, that's why it won. What I don't like is the digital tools have become so complex that the tools themselves need as much work as the final object.
Oh, and I don't like bugs. Software has bugs with wildly unpredictable effects, while analog electronic has "bugs" that usually manifest in a predictable way by restricting the performance range.
I find all the simulations and software-support very good -- it helps me build on stuff I already know, and quickly test my understanding of electronics. Once I'm somewhat comfortable with the simulation, I can proceed to prototype with hardware (which has a much higher setup cost for me).
I like that, too, being able to quick test an idea in a simulation, or to use simulation and/or programming as a helping tool for learning. That's a huge advantage, but could easily turn into a very time consuming approach.
I think today's simulators are still incomplete, in the sense that they only work exactly as-drawn or as-modeled. That's good for teaching basic theory, and for an experienced designer to try out some of their more hare-brained ideas without risking an expensive prototype, but I want to test my design with all of the real-world parasitics, noise sources, and other non-idealities before I spend a bunch of time and/or money as a hobbyist to build it, without explicitly adding those things any more than I would on a workbench.
There's still a difference between the real hardware and the simulated one, indeed. Simulation is nice, and easy, and fun, but only an experiment will give the final verdict.