Jump to content

Synthesize SystemC code in Vitis HLS 2022.1


Rd7

Recommended Posts

Hello,

I am beginner in SystemC. I am trying to synthesize a simple counter program (from the website http://www.asic-world.com/systemc/first1.html#Hello_World_Program) written in SystemC in Vitis HLS version 2022.1. Vitis is running on my native Windows 10 machine.

The program simulation runs successfully but when I try to synthesize the code it throws the following error.

ERROR: [HLS 207-812] 'systemc.h' file not found 

I downloaded the latest SystemC library (from https://www.accellera.org/downloads/standards/systemc) under D:\SystemC\systemc-2.3.3 and mentioned this path to the 'Include Directories' of C++ compiler and C++ linker under the Project Settings (as described in https://karibe.co.ke/2014/02/setting-up-systemc-and-eclipse-for-c-hardware-simulation/).

But the error still persists. 

Can someone please help me in how I can link the SystemC libraries in my Vitis project and generate synthesizable code?

Thanks for your time and consideration.

vitis_prj_settings_1.png

vitis_prj_settins.png

Link to comment
Share on other sites

Hello @Dpk,

As far as I know you don't need to download and install the Accellera version of SystemC library.

As it should be packaged with Vitis.

Try and look into Vitis documentation on setting up an example SystemC synthesizable project.

Also, the example shared by you is not synthesizable.

Hope this helps.

Regards,

Ameya Vikram Singh 

 

Link to comment
Share on other sites

If you do use the Accellera version, simply downloading it won't suffice. SystemC library needs to be compiled and installed into a directory separate from the source code. Then you need to add the path to the include directory of the installed location. Read the README and installation instructions.

However, @AmeyaVSis correct. SystemC should be part of the Vitis installation, which means a compiled installation of SystemC already exists inside your Vitis installation files.

Also, although, your example is not synthesizable, it should simulate. It would be better if you learned to use #include <systemc> instead of #include "systemc.h".

 

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...