HOME       UP       PREV       FURTHER NOTES       NEXT (Unrolling: Trading time for space.)  

HLS Synthesisable Subset.

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

Can we write new HLL 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 many commercial HLS tools are widely available: SystemCrafter, Calypto Catapult, SimVision, CoCentric, C-Level Design, Forte Cynthesizer (now acquired by Cadence), C-to-Verilog.com and xPilot now called Vivado HLS, ... other tools are/were HardwareC, SpecC, Impulse-C, NEC Cyber Workbench, Synopsis SynphonyC.

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-18, DJ Greaves, University of Cambridge, Computer Laboratory.