Hey, Atze, nice write-up; I like seeing this kind of information made available to a wider audience. Great job!
I’ve used FPGAs and also “embedded CPUs” in my work over the years. I think you did a great job of pointing out the reasons for making that decision one way or the other. I usually gravitated to FPGAs for functions that had to be very fast and also very “precision timed.”
One can do an awful lot with CPUs, especially if you don’t make your CPU “less fast” and “less precision” by slapping a zillion layers of unnecessary software on it. I tried to avoid any sort of “real time operating system,” or any operating system at all for that matter. When you take a good CPU and program it specifically for your application in a “bare metal” sort of way, you can do an awful lot. That means FPGAs aren’t needed — you resort to them only when you just can’t get there with a CPU.
Keep up the good work, dude.