NameDateSize

..26-Mar-20194 KiB

AUTHORSH A D18-May-20171.1 KiB

ChangeLogH A D18-May-20171.1 KiB

INSTALLH A D18-May-201725 KiB

LICENSEH A D18-May-201711.1 KiB

NEWSH A D18-May-20173.7 KiB

NOTICEH A D18-May-20172.6 KiB

README.gem5.mdH A D18-May-20171.1 KiB

README.mdH A D18-May-20171.5 KiB

README.syscH A D18-May-20174.8 KiB

RELEASENOTESH A D18-May-201725.8 KiB

SConscriptH A D07-Mar-20183 KiB

src/H18-May-20174 KiB

README.gem5.md

1Overview
2========
3
4This subfolder (/ext/systemc)  is a custom redistribution of the Accellera
5SystemC 2.3.1 library [[1]][sysc]. This distribution replaces Accellera's
6Autoconf build system with a SCons build system, which is used by gem5.
7
8In the past it happened several times that some changes in gem5 broke the
9SystemC coupling. Recently Accelera has changed the licence for SystemC from
10their own licence to Apache2.0, which is compatible with gem5. However, SystemC
11usually relies on the Boost library. The repository contains all the source
12files from the Accellera distribution, but strips down the boost dependencies,
13shown here:[[3]][strip]. All references to the boost library are replaced by
14calls to the C++11 STL. This repository also contains the TLM 2.0
15protocol-checker from Doulos [[4]][doulos].
16
17
18[sysc]: http://accellera.org/downloads/standards/systemc
19[gem5]: http://www.gem5.org/Main_Page
20[doulos]: https://www.doulos.com/knowhow/systemc/tlm2/base_protocol_checker/
21[strip]: https://github.com/tud-ccc/systemc-scons/commit/913a7451939dc4d4bd752df7081064f9f870517a
22

README.md

1Overview
2========
3
4This repository is a redistribution of the Accellera SystemC 2.3.1 library
5[[1]][sysc]. This distribution replaces Accellera's Autoconf build system with
6a SCons build system, which is very useful for integration of SystemC in other
7SCons based projects, e.g., gem5 [[2]][gem5].
8
9The repository contains all the source files from the Accellera distribution,
10but strips down the boost dependencies. All references to the boost library
11are replaced by calls to the C++11 STL. This repository also contains the
12TLM 2.0 protocl checker from Doulos [[3]][doulos].
13
14Build
15=====
16
17To build libsystemc-2.3.1.so, simply type scons. Optionally you can specify the
18number of jobs.
19
20```
21scons -j N
22```
23
24To build and link to SystemC from another SCons project, simply call the
25SConscript located in `src/`. Be sure to add `-std=c++11` to the `CXXFLAGS` of
26your environment and to export the environment as `'env'`. In case you build on
27OS X, you will need to add `-undefined dynamic lookup` to your `LINKFLAGS`.
28This is how a minimal SConstruct for your SystemC project could look:
29
30```python
31env = Environment()
32
33env.Append(CXXFLAGS=['-std=c++11'])
34if env['PLATFORM'] == 'darwin':
35    env.Append(LINKFLAGS=['-undefined', 'dynamic_lookup'])
36
37systemc = env.SConscript('<path_to_systemc>/src/SConscript', exports=['env'])
38env.Program('example', ['example.cc', systemc])
39```
40
41[sysc]: http://accellera.org/downloads/standards/systemc
42[gem5]: http://www.gem5.org/Main_Page
43[doulos]: https://www.doulos.com/knowhow/systemc/tlm2/base_protocol_checker/
44

README.sysc

1                SystemC Class Library (Rel. 2.3.1)
2                ==================================
3
4This is the release of the SystemC 2.3.1 Class Library.
5This release includes TLM 2.0.3 (Transaction Level Modeling) code,
6as described in the IEEE 1666-2011 Language Reference Manual.
7
8-------------------------------------------------------------------------------
9                IMPORTANT
10
111. This is the release of SystemC 2.3.1. This release contains bug fixes
12   for SystemC 2.3.0 as well as adding some minor and experimental features.
13
142. This release is supported on the following platform combinations for
15   which it has been well tested:
16
17    o 64-bit Linux (x86_64)
18      (RedHat Enterprise Linux 5, 6; Scientific Linux 5, 6; Debian 7; Ubuntu 12)
19      - GNU C++ compiler versions gcc-3.4.6 through gcc-4.9.0;
20      - Clang C++ compiler versions clang-3.0 through clang-3.5
21
22    o 64-bit Linux (x86_64) with 32-bit compiler (--host=i686-linux-gnu)
23      (RedHat Enterprise Linux 5, 6; Debian 7; Ubuntu 12)
24      - GNU C++ compiler versions gcc-4.4.7 through gcc-4.9.0;
25      - Clang C++ compiler versions clang-3.0 through clang-3.5
26
27    o 32-bit Linux (x86)
28      (Scientific Linux 5, 6; Debian 6, 7; Ubuntu 12)
29      - GNU C++ compiler versions gcc-3.4.6 through gcc-4.9.0;
30      - Clang C++ compiler versions clang-3.0 through clang-3.4
31
32    o 64-bit Mac OS X (x86_64)
33      (10.6 Snow Leopard, 10.8 Mountain Lion, 10.9 Mavericks)
34      - Apple LLVM version 5.0 (based on LLVM 3.3svn);
35      - Apple GNU C++ compiler version gcc-4.2.1
36
37    o 32-bit Mac OS X (x86)
38      (10.6 Snow Leopard, 10.8 Mountain Lion)
39      - Apple LLVM version 5.0 (based on LLVM 3.3svn);
40      - Apple GNU C++ compiler version gcc-4.2.1
41
42    o 32-bit Mac OS X (powerpc)
43      (10.6 Snow Leopard, executed with Rosetta)
44      - Apple GNU C++ compiler version gcc-4.2.1
45
46    o 64-bit FreeBSD 9.0 (x86_64)
47      - GNU C++ compiler versions gcc-4.2.1 through gcc-4.8.2;
48      - Clang C++ compiler version clang-3.3
49
50    o 32-bit FreeBSD 9.0 (x86)
51      - GNU C++ compiler versions gcc-4.2.1 through gcc-4.8.2;
52      - Clang C++ compiler version clang-3.3
53
54    o 32-bit Solaris (SPARC)
55      (Sun Solaris 10, Oracle Solaris 11)
56      - GNU C++ compiler versions gcc-3.4.3 through gcc-4.8.1;
57      - Sun/Solaris Studio compiler versions 12, 12.1, 12.2, 12.3
58
59    o Windows 7 SP1 (WoW64)
60      - Microsoft Visual Studio 2005 SP1               (8.0) (Win32 and x64);
61      - Microsoft Visual Studio 2008 Express SP1       (9.0) (Win32);
62      - Microsoft Visual Studio 2010 Express SP1      (10.0) (Win32);
63      - Microsoft Visual Studio 2012 Express Update 4 (11.0) (Win32 and x64)
64      - Microsoft Visual Studio 2013 Express Update 1 (12.0) (Win32 and x64)
65
66    o Windows 7 SP1 (WoW64), (Cygwin 1.7.17)
67      - GNU C++ compiler versions gcc-3.4.4 through gcc-4.3.4 (x86)
68
69    o Windows 7 SP1 (WoW64), Msys 1.0.17(0.48/3/2)
70      - MinGW32 GNU C++ compiler versions 4.5.2 through 4.7.0 (x86);
71      - MinGW-w64 GNU C++ compiler version 4.8.1 (x86 and x86_64)
72
73
74  This release has not yet been tested or is known not to work as expected
75  on the following formerly supported platforms:
76
77    o GNU C++ compiler versions prior to 3.4.x (all platforms)
78    o HP-UX 11.00 or later with GNU C++ or HP C++ compiler
79    o Sun/Oracle Solaris with Sun Studio C++ compiler prior to 12.x
80    o Mac OS X prior 10.6 Snow Leopard with GNU C++ compiler
81    o Microsoft Visual C++ versions prior to 8.0 (2005)
82
83
84-------------------------------------------------------------------------------
85
86For details, see the separate RELEASENOTES file.
87
88
89Licensing and Copyright
90
91   See the separate LICENSE file to determine your rights
92   and responsiblities for using SystemC.
93
94User Documentation
95
96   You can find documentation for this release in the docs directory.
97
98Installation
99
100   See the separate INSTALL file that provides system
101   information and installation instructions.
102
103Release Notes
104
105   See the separate RELEASENOTES file that provides upto date
106   information about this release of SystemC.
107
108Additional information
109
110   SystemC has a web site at
111
112       http://www.accellera.org
113
114   Discussion forum: http://forums.accellera.org/forum/9-systemc/
115
116   You can post the bugs and suggestions of general interest to the forum.
117   When reporting bugs please specify the following information (if
118   applicable):
119
120     1) SystemC version 
121     2) platform, compiler, flags 
122     3) description of the problem 
123     4) steps to reproduce the problem 
124     5) compile/runtime warnings and errors 
125     6) code sample, not more than 100 lines to demonstrate the problem 
126
127   Note: All bugs will only be tested against the latest publicly available 
128         version of the product.
129
130   Note: All C++ compilers that SystemC supports have bugs of different
131         degree of severity. We cannot fix those bugs. Please report them
132         to the compiler vendor.
133