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] Fix issues in OpenCL/HLSC code generator #418

Closed hecmay closed 3 years ago

hecmay commented 3 years ago

Fixed issue: #416

Detailed description: The OpenCL host generator does not generate OpenCL buffer for scalar input/output.

Link to the tests: tests/issues/test_issue_416.py

Fixed issue: #275

Detailed description: The HLS code generator binds multiple different off-chip memory accesses to the same AXI controller, and thus the design cannot pass dataflow check.

Link to the tests: tests/issues/test_issue_275.py

Fixed issue: #194

Detailed description: Generate multi-dim array for top-level function. This will avoid some synthesis errors that may happen in Vivado HLS of older versions.

Link to the tests: tests/issues/test_issue_194.py

Fixed issue: #207

Detailed description: Added auto-data placement (i.e., if programmers do not apply .to primitive at all, the whole program is placed to FPGA by default).

Link to the tests: tests/issues/test_issue_207.py

Fixed issue: #304

Detailed description: The HLS code generator does not check if the allocate IR node has the size of 0. Solved by adding the checking.

Link to the tests: tests/issues/test_issue_304.py