HOME       UP       PREV       FURTHER NOTES       NEXT (Pipelined Schedulling - One Basic Block)  

HLS Synthesisable Subset.

Can we convert arbitrary or legacy programs to hardware ? Not very well in general.

Can we write new C programs that compile to good hardware ? Yes. But we must stick to the supported subset for synthesis.

Typical HLS restrictions:

An early example » DJG C-To-V compiler from 1995. » Bubble Sorter Example

Today commercial HLS tools are widely available : SystemCrafter, Catapult, SimVision, CoCentric, C-to-Verilog.com, Vivado HLS, ... others.

And research HLS tools, such as Kiwi and LegUp, support floating point, pointers and some dynamic storage allocation using DRAM banks as necessary,

15: (C) 2012-17, DJ Greaves, University of Cambridge, Computer Laboratory.