cornell-zhang / heterocl

HeteroCL: A Multi-Paradigm Programming Infrastructure for Software-Defined Heterogeneous Computing
https://cornell-zhang.github.io/heterocl/
Apache License 2.0
322 stars 92 forks source link

[Backend] Initial support for Intel HLS C code generation #95

Closed seanlatias closed 5 years ago

seanlatias commented 5 years ago

To generate Intel HLS C code, use the following target.

hcl.build(s, target="ihls")

Currently, the following operations are supported.

  1. pipeline pragma
  2. unroll pragma
  3. Algorithm C data types (ac_int, ac_fixed)
  4. bit operations including set and get slice

The following is not yet supported.

  1. array partitioning - Intel's array partition support is very limited
seanlatias commented 5 years ago

In this PR, a common class for generating HLS C code is created. Both Vivado HLS C and Intel HLS C code generation are inherited from the same class.