8 ms·
Normally when you write hardware designs in an HDL, you have to work at a level of abstraction slightly lower than C. Since the algorithm you actually want to
by eli_gottlieb 10y ago
Normally when you write hardware designs in an HDL, you have to work at a level of abstraction slightly lower than C. Since the algorithm you actually want to encode in hardware is probably not that low-level, this will be very painful. Proceeding to verify that the cross-compiled C-to-HDL hardware design actually does the right thing is then an even more long and painful process.
It would be very nice if we could write our algorithms meant to be turned into hardware in a language whose level of abstraction matched that of the algorithms themselves, and then compile them down with a solid guarantee that what we wrote, should it pass some high-level compiler checks, will actually work, at least insofar as software usually works after passing the compiler in a high-level language.