Compiling SystemC and SystemC-AMS on Windows with Visual Studio

Keywords: SystemC, SystemC-AMS, Windows , Visual Studio

1. Introduction

The easiest and probably best way to develop SystemC and SystemC-AMS applications on Windows is to use Visual Studio.

This tutorial was tested with the following software versions:

  • Windows 7 professional
  • Visual Studio 2017
  • SystemC 2.3.2
  • SystemC-AMS 2.1

2 Compiling SystemC and SystemC-AMS

SystemC 2.3.2 library can be downloaded from Accellera's website while SystemC-AMS PoC 2.1 (Proof-of-Concept) can be downloaded on Coseda's website.

2.1 SystemC

Extract the SystemC package and open the file msvc10\SystemC\SystemC.sln. In VS 2017 it will ask to update the project. Just press OK.

Go to Build > Batch Build:

Batch build

Figure 1: Batch build option.

Select the configurations. I use only the "Release x64" but other options can be used depending on the needs.

Targets

Figure 2: Targets.

And then just press Build.

2.2 SystemC-AMS

For SystemC-AMS the process is similar but the locations of the SystemC library include files and libraries need to be updated.

Open the file msvc80\systemc_ams.sln. In VS 2017 it will ask to update the project. Just press OK.

Go to Project > Properties. Select target configuration. This process need to be repeated for all the required targets.

Go to C/C++ > General > Additional Include Directories and change from systemc-2.3.1:

Include Directories

Figure 3: Additional Include Directories (original).

to systemc-2.3.2:

Include Directories (correct)

Figure 4: Additional Include Directories (corrected).

This assumes that both SystemC and SystemC AMS share the same root directory. If not, update the directories accordingly.

Then just go to Build > Batch Build, select the desired targets and press Build.

3. Conclusion

After completing this tutorial you should be able to compile applications using the SystemC and SystemC-AMS libraries. If you need an example project you might use my PLL simulator.

If you found a bug, have suggestions or just want to share your opinion about this tutorial, please leave a comment bellow.

Comments