The main difference between SDSoC VHLS code and Vitis/SDAccel is the system memory allocation APIs (SDSoC uses sds_alloc and sds_free) and kernel function header pragmas.
Use sds_alloc for memory allocation on host program
Modified StreamExpr to contain index information (this can be also useful for the access pattern analysis in the next streaming enhancement PR)
Example of compiling with SDSoC in python
target = hcl.platform.zc706
s = hcl.create_schedule([A], kernel)
s.to(kernel.B, target.xcel)
s.to(kernel.C, target.host)
target.config(compile="sdsoc", mode="sw_sim")
f = hcl.build(s, target)
The main difference between SDSoC VHLS code and Vitis/SDAccel is the system memory allocation APIs (SDSoC uses
sds_alloc
andsds_free
) and kernel function header pragmas.sds_alloc
for memory allocation on host programStreamExpr
to contain index information (this can be also useful for the access pattern analysis in the next streaming enhancement PR)Example of compiling with SDSoC in python
Example of generated host code: