We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 65637

2015.2 SDSoC - How to do HLS style C simulation


In HLS, I can do C and C/RTL co-simulation on my accelerator to quickly verify functionality.

I am now designing an accelerator as part of my system using SDSoC.

Is there a C simulation flow? How should I verify functionality?


There is currently no fully integrated simulation flow for fundamental reasons.

HLS is mapping C code to hardware as a single, standalone unit with no hardware dependencies. as a result, C-based simulation is mostly straightforward on a host machine. 

However, SDSoC is doing the same thing but also adding datamover logic, running software/drivers on the target processor (i.e. ARM). It is very much dependent on the underlying hardware and therefore running simulation on a host machine is not as simple.

The recommended flows for functional verification with SDSoC designs are:

1) Build the design with no accelerators and run it on the board. This is essentially the same thing as the C-based simulation flow, but it is running on the target processor instead of the host.

2) If you wish to test the HLS accelerators, you can use #ifdef macros to replace SDSoC library calls with C standard lib calls (i.e. sds_alloc with malloc, etc) so that the accelerator code can be simulated on the host using HLS.

AR# 65637
Date Created 10/09/2015
Last Updated 11/09/2015
Status Active
Type General Article
  • SDSoC