Skip to content

Comment on Efficient Computer's Electron E1 CPU – 100x more efficient than Arm?parent

Comments

I worked in industry, trying to fit video processing algorithms and filter banks to FPGAs, about a decade ago, so my memories are a bit fuzzy.

The thing about FPGAs is that they are wildly expensive, getting exponentially more so the more you move up the product pallette. They also have a ton of special function blocks (DPRAM, multipliers, shift registers etc), that work differently from vendor to vendor, and even between generations.

Even with HDLs you had to options - either read all the datasheet, the layout and mix of components, and plan your design to fit the hardware - or just wing it and write down what you wanted, and hope for the best - in the latter scenario, the synthesis tool had to figure out how to fit your design best to the hardware, which even if you were mindful of how the chip worked, was still a hit and miss.

When you work in industry and either every cent counts, or you have to design for a fixed target, and somehow you're in the good graces of tooling, finding that changing a small thing suddenly makes your design 3x as big and half as fast is not acceptable.

HLS was this, but on steroids - you never knew what you were going to get, sometimes it worked well, sometimes not at all.

I'm sure tooling has evolved back then but I'd still guess spending the extra engineering effort is often well worth it when your chips cost five figures.

Yup, HLS is ridiculously fickle in that regard. In our lab we had the case that swapping out a C-style array T[] for a C++ std::array 10x-ed our resource consumption with no explanation.

And also the general problem of scribing resource use to the different components isn't easy, because thz way control flow is structured heavily alters that

Of course, that's what I'm trying to fix with SUS :p

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.