cornell-zhang / heterocl

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

[Backend][SystemC] Stratus HLS Codegen Backend Support (Re-opened) #451

Closed zzzDavid closed 2 years ago

zzzDavid commented 2 years ago

Stratus HLS SystemC Backend Support

This PR implements the Stratus HLS SystemC backend, separating the backend implementation from issue fixes in the previous PR #375 .

Usage Example:

SystemC backend supports both string and platform backend specifications.

# Legacy string specification
code = hcl.build(s, target='shls')

# Platform specification
target = hcl.Platform.cadence_stratus
target.config(compiler="stratus_hls", project="vta_stratus_project", mode="csim")
f = hcl.build(s, target)

The platform specification has four modes:

zzzDavid commented 2 years ago

@hecmay @chhzh123 Hi guys, could you start reviewing this PR? Hopefully we can get it merged this week before Thursday?