Compare commits
246 Commits
ub_coverag
...
5493c3030c
Author | SHA1 | Date | |
---|---|---|---|
5493c3030c | |||
2b15c90bc1 | |||
31fdf14b23 | |||
e17e463cf3 | |||
4061cde25c | |||
20a4706289 | |||
f85825c3cd | |||
5883ef1e8d | |||
4c508e218a | |||
7e3b296201 | |||
cd256bbf69 | |||
5e35336825 | |||
55a0846dc7 | |||
6ee7159ee7 | |||
af015e0fe8 | |||
b12da49384 | |||
79073759d3 | |||
2e21148f37 | |||
ef9f479b43 | |||
02169317fd | |||
dd43191eb3 | |||
56ce60318b | |||
75935ff9c4 | |||
d68ad400cc | |||
a21c59868d | |||
d8b64a32a8 | |||
4c7410c06b | |||
32c5bd4989 | |||
087a1af261 | |||
10db99f130 | |||
77dc5b9f52 | |||
329818adf3 | |||
f56cad7148 | |||
f9082e70d4 | |||
3a5d549f46 | |||
d4eef1060f | |||
c4460dfeee | |||
b8645312eb | |||
e6e3dc3f13 | |||
cac68ac8c2 | |||
97538fce12 | |||
ca0d7da4fc | |||
af2473b7a4 | |||
02abdbfe7f | |||
f2cc43c226 | |||
78026158d1 | |||
70006f7b5f | |||
7f04090efe | |||
1fad8b6e04 | |||
671ab49353 | |||
e65af50c39 | |||
6b9d52ff80 | |||
bd6a864bc5 | |||
46607eb4c2 | |||
0b01677bcb | |||
033fa1eede | |||
1e73127950 | |||
1437c3b3e6 | |||
f7350d7b3d | |||
460863d7a1 | |||
01b0b2231d | |||
33aa2339c8 | |||
0529275428 | |||
5c9b33f65f | |||
ef6d996045 | |||
b4a1e2273f | |||
30e67eb0e0 | |||
d987681e88 | |||
060706c61f | |||
93d3810a7f | |||
1ed5c228bf | |||
824700bd1b | |||
312cf3c4da | |||
e2cb1697ec | |||
bf46e5eec7 | |||
a7f4e93c1d | |||
c22e85d30d | |||
f8306b2473 | |||
8c00e89bf5 | |||
3ec2934fe1 | |||
4bd81ca676 | |||
0bdda6182b | |||
4e86e71771 | |||
76657668fc | |||
65a5d6b7c1 | |||
4fe8b02f56 | |||
a933105f08 | |||
9341523103 | |||
8a9d1e2b46 | |||
561bb598f7 | |||
255b8e5d71 | |||
0d97d02da1 | |||
ad88a71797 | |||
520b4313ae | |||
c055515f0b | |||
ccc3253844 | |||
6b28548fef | |||
fb8aabb31c | |||
8a51b233ef | |||
616ea16991 | |||
ef1856957a | |||
d1db9825c9 | |||
7cf08b9c7b | |||
015f03e312 | |||
d0b7560c0b | |||
bc2bf6143b | |||
4a911a3bd3 | |||
0a49b91436 | |||
e166fd4b9e | |||
a4216facfc | |||
63faebadc5 | |||
e5854d1707 | |||
5b0b2b1d58 | |||
a5887d015d | |||
8196778453 | |||
436ed6ca08 | |||
e4d1bb1224 | |||
76e58eee1c | |||
43c1c5be88 | |||
151cc8cb7c | |||
84ca04427d | |||
bfbd4ad271 | |||
1e5ddbf1cc | |||
4a0ad84621 | |||
6e0cbcfdd7 | |||
1e11b401f8 | |||
da05ec4478 | |||
91a3a35dff | |||
6ec8a1b9cb | |||
0dee6cc485 | |||
0d1b7a5cdb | |||
a987e1a12f | |||
8da2a7881b | |||
5c908a29f5 | |||
20ae2af4e5 | |||
cb6af695b9 | |||
0fd9c94067 | |||
41116a975e | |||
17241844f8 | |||
fb12440c83 | |||
2c8cc745c8 | |||
f0bdfbe970 | |||
9108da6b4a | |||
8dd499a88f | |||
cc9a94c3b8 | |||
9200a3bbef | |||
8da5dc278d | |||
56435e44ec | |||
cf7ed3e752 | |||
8f1cadfacf | |||
4661129b8b | |||
fd037c1b40 | |||
6cec3f1634 | |||
e4c2d3083b | |||
6f1813d153 | |||
d9986b66c9 | |||
1a8566be34 | |||
b4ac62ab5a | |||
60d0cef378 | |||
933747abb7 | |||
d1fdd972e0 | |||
a51173c4a8 | |||
92d3c75db0 | |||
a66d15e69e | |||
4bcf6ebc08 | |||
f5d4598162 | |||
74e08ae011 | |||
34dd7db4fe | |||
20cf5796ad | |||
64e55dc7d5 | |||
aa2fc8c99b | |||
80f8da4e31 | |||
8564228d46 | |||
9465b2c7e3 | |||
a02492db51 | |||
5ed197ef1b | |||
825e2afd4d | |||
9ee6d6f09b | |||
6d4bc98651 | |||
4dc6de3625 | |||
47e6582498 | |||
fe0e4571ec | |||
c2484b8ec8 | |||
557829a975 | |||
6c47979039 | |||
69131bb324 | |||
40d93d5df4 | |||
41f1b30d42 | |||
0f9deb24c7 | |||
6566148975 | |||
1ed351f199 | |||
b5d154c04d | |||
28da255535 | |||
d7ef4b4728 | |||
bf3e5fab4d | |||
0a931d4f0f | |||
c87b68e006 | |||
d3fab7306c | |||
6beef03e5f | |||
705e100bb0 | |||
f829d18635 | |||
42f8642234 | |||
f84ada1347 | |||
e95a5782ce | |||
da76464bd2 | |||
7e45a0afe2 | |||
ba8be555ec | |||
91e2329abb | |||
cdae9e75f8 | |||
f13ac8e652 | |||
4b0c42c1bf | |||
3dc98ed21e | |||
c15fef05d0 | |||
d2ca747507 | |||
4619016f01 | |||
248cb2ac21 | |||
b5d6a0e4d3 | |||
9523b275a6 | |||
b64ac814c1 | |||
db3a373abb | |||
c62a633685 | |||
300e3d86d6 | |||
e62a67cfdb | |||
c842327546 | |||
dd483ccc22 | |||
e7a84e2afe | |||
e9baa5be0f | |||
f0bce2fc13 | |||
48d925a229 | |||
fda630a893 | |||
81aa30224b | |||
ec831d2da1 | |||
cdf6954ee5 | |||
2d8acfdbe1 | |||
aed35a1c25 | |||
c4a6a77002 | |||
552a4a1be6 | |||
1781adc5c7 | |||
04ebd82f18 | |||
8200b5d948 | |||
d0cae79b35 | |||
7ccc443ee4 | |||
8e8ca9e2e7 | |||
d92fa7813e | |||
9659d17496 | |||
163d9406d1 |
137
.cproject
137
.cproject
@ -16,9 +16,12 @@
|
|||||||
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1615713914" name="/" resourcePath="">
|
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1615713914" name="/" resourcePath="">
|
||||||
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1297474963" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1297474963" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1141103737" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1141103737" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||||
<builder buildPath="/TGC-ISS/build/Debug" id="de.marw.cdt.cmake.core.genscriptbuilder.1100382234" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="de.marw.cdt.cmake.core.genscriptbuilder"/>
|
<builder buildPath="/TGC-ISS/_build/Debug" id="cmake4eclipse.mbs.builder.1823257054" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="cmake4eclipse.mbs.builder"/>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.740869785" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
<tool id="cdt.managedbuild.tool.gnu.archiver.base.740869785" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1934077203" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1934077203" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||||
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.1599133325" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||||
|
<listOptionValue builtIn="false" value="CWR_SYSTEMC=1"/>
|
||||||
|
</option>
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.17118862" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.17118862" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1699395860" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1699395860" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
||||||
@ -42,10 +45,135 @@
|
|||||||
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
|
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
|
||||||
<options/>
|
<options/>
|
||||||
<defs>
|
<defs>
|
||||||
<def name="ENABLE_CODEGEN" type="BOOL" val="ON"/>
|
|
||||||
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
|
||||||
</defs>
|
</defs>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
<storageModule buildDir="build/${ConfigName}" dirtyTs="1692539890623" moduleId="de.marw.cmake4eclipse.mbs.settings">
|
||||||
|
<options/>
|
||||||
|
<defs>
|
||||||
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="Debug"/>
|
||||||
|
<def name="BUILD_SHARED_LIBS" type="BOOL" val="ON"/>
|
||||||
|
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
|
||||||
|
<def name="WITH_LLVM" type="BOOL" val="ON"/>
|
||||||
|
<def name="FW_BUILD" type="BOOL" val="ON"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
</cconfiguration>
|
||||||
|
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338">
|
||||||
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338" moduleId="org.eclipse.cdt.core.settings" name="Debug-PA">
|
||||||
|
<externalSettings/>
|
||||||
|
<extensions>
|
||||||
|
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
</extensions>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
|
<configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338" name="Debug-PA" optionalBuildProperties="" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||||
|
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338." name="/" resourcePath="">
|
||||||
|
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1293780030" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
||||||
|
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1970512769" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||||
|
<builder buildPath="/TGC-ISS/_build/Debug-PA" id="cmake4eclipse.mbs.builder.928900702" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cmake4eclipse.mbs.builder"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.archiver.base.207730824" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1262643605" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||||
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.766346102" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||||
|
<listOptionValue builtIn="false" value="CWR_SYSTEMC=1"/>
|
||||||
|
</option>
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1887588287" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.934550669" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.435160258" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1246571083" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1000595204" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1443403714" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||||
|
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||||
|
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||||
|
</inputType>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.assembler.base.1058800350" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1915245436" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
|
</tool>
|
||||||
|
</toolChain>
|
||||||
|
</folderInfo>
|
||||||
|
</configuration>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
|
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
|
||||||
|
<options/>
|
||||||
|
<defs>
|
||||||
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule dirtyTs="1681455316836" moduleId="de.marw.cmake4eclipse.mbs.settings">
|
||||||
|
<options/>
|
||||||
|
<defs>
|
||||||
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="Debug"/>
|
||||||
|
<def name="USE_CWR_SYSTEMC" type="BOOL" val="ON"/>
|
||||||
|
<def name="BUILD_SHARED_LIBS" type="BOOL" val="ON"/>
|
||||||
|
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
|
||||||
|
<def name="FW_BUILD" type="BOOL" val="ON"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
</cconfiguration>
|
||||||
|
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382">
|
||||||
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382" moduleId="org.eclipse.cdt.core.settings" name="RelWithDebInfo">
|
||||||
|
<externalSettings/>
|
||||||
|
<extensions>
|
||||||
|
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
</extensions>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
|
<configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382" name="RelWithDebInfo" optionalBuildProperties="" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||||
|
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382." name="/" resourcePath="">
|
||||||
|
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1009994445" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
||||||
|
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1023431687" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||||
|
<builder buildPath="/TGC-ISS/_build/Debug" id="cmake4eclipse.mbs.builder.87414385" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="cmake4eclipse.mbs.builder"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.archiver.base.40272694" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.288344887" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||||
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.1881910565" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||||
|
<listOptionValue builtIn="false" value="CWR_SYSTEMC=1"/>
|
||||||
|
</option>
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1745748578" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1398015713" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1810687689" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.120562679" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1158166201" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.120238241" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||||
|
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||||
|
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||||
|
</inputType>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.assembler.base.1253632883" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.502601048" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
|
</tool>
|
||||||
|
</toolChain>
|
||||||
|
</folderInfo>
|
||||||
|
</configuration>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
|
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
|
||||||
|
<options/>
|
||||||
|
<defs>
|
||||||
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule buildDir="build/${ConfigName}" dirtyTs="1688932648378" moduleId="de.marw.cmake4eclipse.mbs.settings">
|
||||||
|
<options/>
|
||||||
|
<defs>
|
||||||
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="RelWithDebInfo"/>
|
||||||
|
<def name="BUILD_SHARED_LIBS" type="BOOL" val="ON"/>
|
||||||
|
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
|
||||||
|
<def name="WITH_TCC" type="BOOL" val="ON"/>
|
||||||
|
<def name="FW_BUILD" type="BOOL" val="ON"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
</cconfiguration>
|
</cconfiguration>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
@ -53,6 +181,10 @@
|
|||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||||
|
<configuration configurationName="Debug-PA">
|
||||||
|
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
|
||||||
|
</configuration>
|
||||||
|
<configuration configurationName="RelWithDebInfo"/>
|
||||||
<configuration configurationName="Default">
|
<configuration configurationName="Default">
|
||||||
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
|
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
|
||||||
</configuration>
|
</configuration>
|
||||||
@ -70,4 +202,5 @@
|
|||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
</scannerConfigBuildInfo>
|
</scannerConfigBuildInfo>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||||
</cproject>
|
</cproject>
|
13
.gitignore
vendored
13
.gitignore
vendored
@ -1,3 +1,16 @@
|
|||||||
/build/
|
/build/
|
||||||
/Debug/
|
/Debug/
|
||||||
.settings
|
.settings
|
||||||
|
/.venv*
|
||||||
|
/Debug-PA/
|
||||||
|
/_build/
|
||||||
|
/install/
|
||||||
|
/analysis_results
|
||||||
|
.vscode
|
||||||
|
*.log
|
||||||
|
*tcc_jit*.c
|
||||||
|
*.disass
|
||||||
|
*.trc
|
||||||
|
/*.core_desc
|
||||||
|
/fasterDecoding/
|
||||||
|
*.ll
|
15
.gitmodules
vendored
15
.gitmodules
vendored
@ -1,12 +1,9 @@
|
|||||||
[submodule "scc"]
|
[submodule "scc"]
|
||||||
path = scc
|
path = scc
|
||||||
url = https://github.com/Minres/SystemC-Components.git
|
url = https://github.com/Minres/SystemC-Components.git
|
||||||
[submodule "tgfs"]
|
[submodule "dbt-rise-core"]
|
||||||
path = tgfs
|
path = dbt-rise-core
|
||||||
url = https://git.minres.com/DBT-RISE/DBT-RISE-TGFS.git
|
url = https://github.com/Minres/DBT-RISE-Core.git
|
||||||
[submodule "dbt-core"]
|
[submodule "dbt-rise-tgc"]
|
||||||
path = dbt-core
|
path = dbt-rise-tgc
|
||||||
url = https://git.minres.com/DBT-RISE/DBT-RISE-Core.git
|
url = https://git.minres.com/DBT-RISE/DBT-RISE-TGC.git
|
||||||
[submodule "coredsl"]
|
|
||||||
path = coredsl
|
|
||||||
url = https://git.minres.com/DBT-RISE/CoreDSL.git
|
|
||||||
|
11
.project
11
.project
@ -30,4 +30,15 @@
|
|||||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||||
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
|
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
|
||||||
</natures>
|
</natures>
|
||||||
|
<filteredResources>
|
||||||
|
<filter>
|
||||||
|
<id>1683227853345</id>
|
||||||
|
<name></name>
|
||||||
|
<type>10</type>
|
||||||
|
<matcher>
|
||||||
|
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||||
|
<arguments>1.0-name-matches-false-false-install</arguments>
|
||||||
|
</matcher>
|
||||||
|
</filter>
|
||||||
|
</filteredResources>
|
||||||
</projectDescription>
|
</projectDescription>
|
||||||
|
200
CMakeLists.txt
200
CMakeLists.txt
@ -1,65 +1,177 @@
|
|||||||
cmake_minimum_required(VERSION 3.12)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/scc/cmake)
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/scc/cmake)
|
||||||
|
|
||||||
project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX)
|
project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX)
|
||||||
|
|
||||||
set(CORE_NAME TGC_C CACHE STRING "The core to build the ISS for" )
|
|
||||||
set(WITH_LLVM FALSE CACHE BOOL "Build LLVM based backend")
|
set(WITH_LLVM FALSE CACHE BOOL "Build LLVM based backend")
|
||||||
|
if(CMAKE_PROJECT_NAME STREQUAL "TGFS-ISS")
|
||||||
|
###########################################################################
|
||||||
|
# stand alone build settings
|
||||||
|
###########################################################################
|
||||||
|
set(CORE_NAME TGC5C CACHE STRING "The core to build the ISS for" )
|
||||||
|
option(FW_BUILD "Enable the automatic download and build of some firmware to run on the ISS" OFF)
|
||||||
|
option(ENABLE_SANITIZER "Enable address sanitizer" OFF)
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
include(Conan)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_INSTALL_RPATH "${ORIGIN}")
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
include(CheckCXXCompilerFlag)
|
||||||
include(CheckCXXCompilerFlag)
|
CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE)
|
||||||
|
if(COMPILER_SUPPORTS_MARCH_NATIVE)
|
||||||
CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE)
|
|
||||||
if(COMPILER_SUPPORTS_MARCH_NATIVE)
|
|
||||||
if("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
if("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
||||||
elseif(NOT(${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo"))
|
elseif(NOT(${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo"))
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
set(warnings "-Wall -Wextra -Werror")
|
set(warnings "-Wall -Wextra -Werror")
|
||||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
|
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
set(warnings "/W4 /WX /EHsc")
|
set(warnings "/W4 /WX /EHsc")
|
||||||
endif()
|
endif()
|
||||||
|
if(ENABLE_SANITIZER)
|
||||||
setup_conan(TARGETS)
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
|
||||||
# This line finds the boost lib and headers.
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
|
||||||
set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install.
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address")
|
||||||
set(BOOST_ROOT ${CONAN_BOOST_ROOT})
|
endif()
|
||||||
find_package(Threads)
|
include(GNUInstallDirs)
|
||||||
find_package(ZLIB)
|
include(ConanInline)
|
||||||
|
if(BUILD_SHARED_LIBS)
|
||||||
include(clang-format)
|
set(SHARED_FLAG "True")
|
||||||
set(ENABLE_CLANG_TIDY OFF CACHE BOOL "Add clang-tidy automatically to builds")
|
|
||||||
if (ENABLE_CLANG_TIDY)
|
|
||||||
find_program (CLANG_TIDY_EXE NAMES "clang-tidy" PATHS /usr/local/opt/llvm/bin )
|
|
||||||
if (CLANG_TIDY_EXE)
|
|
||||||
message(STATUS "clang-tidy found: ${CLANG_TIDY_EXE}")
|
|
||||||
set(CLANG_TIDY_CHECKS "-*,modernize-*")
|
|
||||||
set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_EXE};-checks=${CLANG_TIDY_CHECKS};-header-filter='${CMAKE_SOURCE_DIR}/*';-fix"
|
|
||||||
CACHE STRING "" FORCE)
|
|
||||||
else()
|
else()
|
||||||
message(AUTHOR_WARNING "clang-tidy not found!")
|
set(SHARED_FLAG "False")
|
||||||
set(CMAKE_CXX_CLANG_TIDY "" CACHE STRING "" FORCE) # delete it
|
endif()
|
||||||
|
|
||||||
|
set(CONAN_BOOST_OPTIONS
|
||||||
|
boost:fPIC=True
|
||||||
|
boost:shared=${SHARED_FLAG}
|
||||||
|
boost:header_only=False
|
||||||
|
boost:without_contract=True
|
||||||
|
boost:without_graph=True
|
||||||
|
boost:without_graph_parallel=True
|
||||||
|
boost:without_iostreams=True
|
||||||
|
boost:without_json=True
|
||||||
|
boost:without_locale=True
|
||||||
|
boost:without_log=True
|
||||||
|
boost:without_math=True
|
||||||
|
boost:without_mpi=True
|
||||||
|
boost:without_nowide=True
|
||||||
|
boost:without_python=True
|
||||||
|
boost:without_random=True
|
||||||
|
boost:without_regex=True
|
||||||
|
boost:without_stacktrace=True
|
||||||
|
boost:without_test=True
|
||||||
|
boost:without_timer=True
|
||||||
|
boost:without_type_erasure=True
|
||||||
|
boost:without_wave=True
|
||||||
|
)
|
||||||
|
|
||||||
|
set(B2_VERSION 4.9.6)
|
||||||
|
set(CM_VERSION 3.20.5)
|
||||||
|
set(CONAN_PACKAGE_LIST
|
||||||
|
fmt/8.0.1
|
||||||
|
spdlog/1.9.2
|
||||||
|
boost/1.75.0
|
||||||
|
gsl-lite/0.37.0
|
||||||
|
elfio/3.8
|
||||||
|
lz4/1.9.3
|
||||||
|
yaml-cpp/0.7.0
|
||||||
|
jsoncpp/1.9.5
|
||||||
|
zlib/1.2.13
|
||||||
|
)
|
||||||
|
set(CONAN_PACKAGE_OPTIONS fmt:header_only=True ${CONAN_BOOST_OPTIONS})
|
||||||
|
|
||||||
|
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
|
list(APPEND CONAN_PACKAGE_LIST tcc/0.9.27)
|
||||||
|
option(WITH_TCC "Build TCC backend" ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WITH_LLVM)
|
||||||
|
list(APPEND CONAN_PACKAGE_LIST llvm-core/13.0.0)
|
||||||
|
list(APPEND CONAN_PACKAGE_OPTIONS libiconv:shared=True)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dbt-rise-plugins)
|
||||||
|
list(APPEND CONAN_PACKAGE_OPTIONS lua:compile_as_cpp=False)
|
||||||
|
list(APPEND CONAN_PACKAGE_LIST lua/5.4.3)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
conan_check()
|
||||||
|
conan_add_remote(NAME minres URL https://git.minres.com/api/packages/Tooling/conan)
|
||||||
|
###########################################################################
|
||||||
|
# Boost on CentOS 7 quirks: the b2 of conan-center is build against a newer libstdc++ and therefore does not run
|
||||||
|
# with the oooooold libs on CentOS 7. Therefore we build our own version of b2 if it is not there
|
||||||
|
###########################################################################
|
||||||
|
set(B2_META $ENV{HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
|
||||||
|
set(CM_META $ENV{HOME}/.conan/data/cmake/${CM_VERSION}/_/_/metadata.json)
|
||||||
|
if(DEFINED ENV{CONAN_USER_HOME})
|
||||||
|
set(B2_META $ENV{CONAN_USER_HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
|
||||||
|
set(CMAKE_META $ENV{CONAN_USER_HOME}/.conan/data/cmake/${CM_VERSION}/_/_/metadata.json)
|
||||||
|
endif()
|
||||||
|
if(NOT EXISTS ${B2_META})
|
||||||
|
conan_configure(REQUIRES b2/${B2_VERSION})
|
||||||
|
conan_cmake_autodetect(settings BUILD_TYPE Release)
|
||||||
|
conan_cmake_install(PATH_OR_REFERENCE . BUILD b2 SETTINGS ${settings})
|
||||||
|
endif()
|
||||||
|
if(NOT EXISTS ${CM_META})
|
||||||
|
conan_configure(REQUIRES cmake/${CM_VERSION})
|
||||||
|
conan_cmake_autodetect(settings BUILD_TYPE Release)
|
||||||
|
conan_cmake_install(PATH_OR_REFERENCE . BUILD cmake SETTINGS ${settings})
|
||||||
|
endif()
|
||||||
|
###########################################################################
|
||||||
|
# Boost on CentOS 7 quirks end
|
||||||
|
###########################################################################
|
||||||
|
conan_cmake_configure(REQUIRES ${CONAN_PACKAGE_LIST}
|
||||||
|
GENERATORS cmake_find_package
|
||||||
|
OPTIONS ${CONAN_PACKAGE_OPTIONS}
|
||||||
|
)
|
||||||
|
conan_cmake_autodetect(settings)
|
||||||
|
conan_install()
|
||||||
|
set(CONAN_CMAKE_SILENT_OUTPUT ON)
|
||||||
|
|
||||||
|
find_package(fmt)
|
||||||
|
find_package(spdlog)
|
||||||
|
find_package(lz4)
|
||||||
|
find_package(gsl-lite)
|
||||||
|
|
||||||
|
set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install.
|
||||||
|
set(BOOST_ROOT ${CONAN_BOOST_ROOT})
|
||||||
|
find_package(Threads)
|
||||||
|
find_package(ZLIB)
|
||||||
|
|
||||||
|
if(USE_CWR_SYSTEMC)
|
||||||
|
include(SystemCPackage)
|
||||||
|
endif()
|
||||||
|
if(FW_BUILD)
|
||||||
|
include(FetchContent)
|
||||||
|
set(FETCHCONTENT_BASE_DIR ${CMAKE_CURRENT_BINARY_DIR}/..)
|
||||||
|
FetchContent_Declare(
|
||||||
|
riscvfw
|
||||||
|
GIT_REPOSITORY https://git.minres.com/VP/Firmwares.git
|
||||||
|
GIT_TAG main
|
||||||
|
UPDATE_DISCONNECTED FALSE
|
||||||
|
)
|
||||||
|
FetchContent_GetProperties(riscvfw)
|
||||||
|
if(NOT riscvfw_POPULATED)
|
||||||
|
FetchContent_Populate(riscvfw)
|
||||||
|
endif()
|
||||||
|
add_subdirectory(${riscvfw_SOURCE_DIR})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(CodeGen)
|
add_subdirectory(dbt-rise-core)
|
||||||
gen_coredsl(${CORE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input/TGFS.core_desc interp)
|
|
||||||
|
|
||||||
add_subdirectory(dbt-core)
|
|
||||||
add_subdirectory(scc)
|
add_subdirectory(scc)
|
||||||
add_subdirectory(tgfs)
|
add_subdirectory(dbt-rise-tgc)
|
||||||
|
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dbt-rise-plugins)
|
||||||
|
add_subdirectory(dbt-rise-plugins)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
include(CTest)
|
||||||
|
29
LICENSE
Normal file
29
LICENSE
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
BSD 3-Clause License
|
||||||
|
|
||||||
|
Copyright (c) 2016, MINRES Technologies GmbH
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
* Neither the name of the copyright holder nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived from
|
||||||
|
this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
18
Modulefile
18
Modulefile
@ -13,21 +13,9 @@ if { $distro == "CentOS" && ![info exists ::env(PROJECT)] && ![info exists ::env
|
|||||||
puts stderr "Don't forget to execute 'scl enable devtoolset-7 bash'"
|
puts stderr "Don't forget to execute 'scl enable devtoolset-7 bash'"
|
||||||
}
|
}
|
||||||
|
|
||||||
if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/] != 1} {
|
module load tools/cmake
|
||||||
puts stderr "Please install java via 'sdk install java 11.0.9.hs-adpt'!"
|
#module load tools/gcc-riscv64/9.2.0
|
||||||
prereq java/11.0.9
|
module load tools/gcc-riscv32-unknown-elf/11
|
||||||
} else {
|
|
||||||
prepend-path PATH $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/bin
|
|
||||||
}
|
|
||||||
|
|
||||||
if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/maven/3.6.3] != 1} {
|
|
||||||
puts stderr "Please install mvn via 'sdk install maven 3.6.3'!"
|
|
||||||
prereq maven/3.6.3
|
|
||||||
} else {
|
|
||||||
prepend-path PATH $::env(HOME)/.sdkman/candidates/sbt/1.4.4/bin
|
|
||||||
}
|
|
||||||
|
|
||||||
module load tools/cmake tools/gcc-riscv64/9.2.0
|
|
||||||
|
|
||||||
setenv PROJECT TGFS-ISS
|
setenv PROJECT TGFS-ISS
|
||||||
|
|
||||||
|
86
README.md
Normal file
86
README.md
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
# TGC-ISS
|
||||||
|
|
||||||
|
The ISS for the cores of The Good Folk Series (TGFS) of MINRES.
|
||||||
|
|
||||||
|
This ISS is based in DBT-RISE, a library to allow rapid ISS creation.
|
||||||
|
|
||||||
|
## Quick start
|
||||||
|
|
||||||
|
* you need to have a C++14 capable compiler, make or ninja, python, and cmake installed
|
||||||
|
|
||||||
|
### common setup
|
||||||
|
|
||||||
|
* install conan.io (see also http://docs.conan.io/en/latest/installation.html):
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
pip3 install --user conan==1.59
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Another option is to use a Python VENV to isolate the used models from the system.
|
||||||
|
In case of please run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
python -mvenv .venv
|
||||||
|
source .venv/bin/activate
|
||||||
|
pip3 install conan==1.59
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Using conan for the first time you need to create a profile:
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
conan profile create default --detect
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* checkout source from git
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
git clone --recursive -b develop https://git.minres.com/TGFS/TGC-ISS.git
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### Standalone (C++) build
|
||||||
|
|
||||||
|
* start an out-of-source build:
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
cd TGC-ISS
|
||||||
|
cmake -S . -B build/Debug
|
||||||
|
cmake --build build/Debug -j10
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Synopsys Platform Architect build
|
||||||
|
|
||||||
|
Assuming environment for Platform Architect is properly set up.
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
cd TGC-ISS/
|
||||||
|
export TGFS_INSTALL_ROOT=`pwd`/install
|
||||||
|
export SNPS_ENABLE_MEM_ON_DEMAND_IN_GENERIC_MEM=1
|
||||||
|
source $COWAREHOME/SLS/linux/setup.sh pae
|
||||||
|
export CC=$COWAREHOME/SLS/linux/common/bin/gcc
|
||||||
|
export CXX=$COWAREHOME/SLS/linux/common/bin/g++
|
||||||
|
cmake -S . -B build/PA -DCMAKE_BUILD_TYPE=Debug -DUSE_CWR_SYSTEMC=ON \
|
||||||
|
-DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=${TGFS_INSTALL_ROOT}
|
||||||
|
cmake --build build/PA --target install -j16
|
||||||
|
|
||||||
|
```
|
||||||
|
The Synopsys PA installation requirements may vary on your system.
|
||||||
|
Now you may change to the directory dbt-rise-tgc/contrib to import the core model
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
cd dbt-rise-tgc/contrib
|
||||||
|
pct tgc_import.tcl
|
||||||
|
|
||||||
|
```
|
13
build.sh
Normal file
13
build.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
export TGFS_INSTALL_ROOT=`pwd`/install
|
||||||
|
module load tools/pa/T-2022.06
|
||||||
|
module load tools/cmake
|
||||||
|
export SNPS_ENABLE_MEM_ON_DEMAND_IN_GENERIC_MEM=1
|
||||||
|
export CC=$COWAREHOME/common/bin/gcc
|
||||||
|
export CXX=$COWAREHOME/common/bin/g++
|
||||||
|
cmake -S . -B build/PA -DCMAKE_BUILD_TYPE=Debug -DUSE_CWR_SYSTEMC=ON -DBUILD_SHARED_LIBS=ON \
|
||||||
|
-DCODEGEN=OFF -DCMAKE_INSTALL_PREFIX=${TGFS_INSTALL_ROOT}
|
||||||
|
cmake --build build/PA --target install -j16
|
||||||
|
#cd dbt-rise-tgc/contrib
|
||||||
|
# import the TGC core itself
|
||||||
|
#pct tgc_import.tcl
|
||||||
|
|
@ -1,110 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 3.11)
|
|
||||||
option(ENABLE_CODEGEN "Enable code generation for supported cores" ON)
|
|
||||||
|
|
||||||
set(ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..)
|
|
||||||
set(DBT_CORE_TGC_DIR ${ROOT_DIR}/tgfs)
|
|
||||||
|
|
||||||
#helper to setup code generation and generate outputs
|
|
||||||
set(GENERATOR_JAR ${ROOT_DIR}/coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar)
|
|
||||||
|
|
||||||
if(EXISTS ${ROOT_DIR}/coredsl/pom.xml AND NOT EXISTS ${GENERATOR_JAR})
|
|
||||||
execute_process(
|
|
||||||
COMMAND mvn package
|
|
||||||
WORKING_DIRECTORY ${ROOT_DIR}/coredsl
|
|
||||||
OUTPUT_VARIABLE StdOut
|
|
||||||
ERROR_VARIABLE StdErr
|
|
||||||
RESULT_VARIABLE Status
|
|
||||||
ERROR_QUIET)
|
|
||||||
if(Status AND NOT Status EQUAL 0)
|
|
||||||
message(STATUS "mvn package call failed: ${Status}, ${StdOut}, ${StdErr}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(JAVA_OPTS --add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED
|
|
||||||
--add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED
|
|
||||||
--add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED
|
|
||||||
--add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED
|
|
||||||
--add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED
|
|
||||||
--add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED
|
|
||||||
--add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED)
|
|
||||||
set(GENERATOR java ${JAVA_OPTS} -jar ${GENERATOR_JAR})
|
|
||||||
|
|
||||||
set(INPUT_DIR ${DBT_CORE_TGC_DIR}/gen_input)
|
|
||||||
set(REPO_DIR ${DBT_CORE_TGC_DIR}/gen_input/CoreDSL-Instruction-Set-Description)
|
|
||||||
set(TMPL_DIR ${DBT_CORE_TGC_DIR}/gen_input/templates/)
|
|
||||||
|
|
||||||
if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR})
|
|
||||||
macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND)
|
|
||||||
message(STATUS "Adding generation steps for ${CORE_NAME} in ${DBT_CORE_TGC_DIR} for ${BACKEND}")
|
|
||||||
|
|
||||||
string(TOUPPER ${BACKEND} BE_UPPER)
|
|
||||||
string(TOLOWER ${CORE_NAME} CORE_NAMEL)
|
|
||||||
|
|
||||||
if(EXISTS ${DBT_CORE_TGC_DIR}/generate.sh AND NOT EXISTS ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h)
|
|
||||||
# make sure source file exist initially
|
|
||||||
execute_process(
|
|
||||||
COMMAND /bin/bash ${DBT_CORE_TGC_DIR}/../generate.sh $CORE_NAME $BACKEND
|
|
||||||
WORKING_DIRECTORY ${DBT_CORE_TGC_DIR}/..
|
|
||||||
RESULT_VARIABLE return_code)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h")
|
|
||||||
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp")
|
|
||||||
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp")
|
|
||||||
set(${CORE_NAME}_OUTPUT_FILES ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp ${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp)
|
|
||||||
#add_custom_command(
|
|
||||||
# COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE}
|
|
||||||
# DEPENDS ${GENERATOR_JAR} ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl
|
|
||||||
# OUTPUT ${${CORE_NAME}_OUTPUT_FILES}
|
|
||||||
# COMMENT "Generating code for ${CORE_NAME}."
|
|
||||||
# USES_TERMINAL VERBATIM
|
|
||||||
#)
|
|
||||||
#add_custom_target(${CORE_NAME}_cpp DEPENDS ${${CORE_NAME}_OUTPUT_FILES})
|
|
||||||
add_custom_target(${CORE_NAME}_cpp
|
|
||||||
COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE}
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
|
||||||
COMMENT "Generating ISS sources"
|
|
||||||
BYPRODUCTS ${${CORE_NAME}_OUTPUT_FILES}
|
|
||||||
USES_TERMINAL
|
|
||||||
)
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE}
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
|
||||||
RESULT_VARIABLE return_code)
|
|
||||||
endmacro()
|
|
||||||
else()
|
|
||||||
macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND)
|
|
||||||
add_custom_target(${CORE_NAME}_cpp)
|
|
||||||
message(STATUS "Not adding generation steps for ${CORE_NAME}(${ENABLE_CODEGEN}, ${GENERATOR_JAR})")
|
|
||||||
if(NOT EXISTS ${GENERATOR_JAR})
|
|
||||||
message(STATUS "CoreDSL Generator ${GENERATOR_JAR} does not exists")
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
endif()
|
|
@ -1,16 +0,0 @@
|
|||||||
[requires]
|
|
||||||
fmt/6.1.2
|
|
||||||
zlib/1.2.11
|
|
||||||
boost/1.75.0
|
|
||||||
gsl-lite/0.37.0
|
|
||||||
elfio/3.8
|
|
||||||
tcc/0.9.27
|
|
||||||
|
|
||||||
[generators]
|
|
||||||
cmake
|
|
||||||
|
|
||||||
[options]
|
|
||||||
boost:fPIC=True
|
|
||||||
boost:shared=False
|
|
||||||
boost:header_only=False
|
|
||||||
fmt:header_only=True
|
|
1
coredsl
1
coredsl
Submodule coredsl deleted from 62d95f8b3c
1
dbt-core
1
dbt-core
Submodule dbt-core deleted from 95267382cf
1
dbt-rise-core
Submodule
1
dbt-rise-core
Submodule
Submodule dbt-rise-core added at 58cacfb8c4
1
dbt-rise-tgc
Submodule
1
dbt-rise-tgc
Submodule
Submodule dbt-rise-tgc added at 212fb1c8ff
25
generate.sh
25
generate.sh
@ -1,25 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED"
|
|
||||||
|
|
||||||
GENERATOR="java $JAVA_OPTS -jar coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar "
|
|
||||||
|
|
||||||
CORE_NAME=$1
|
|
||||||
BACKEND=$2
|
|
||||||
CORE_NAME_LC=`echo $CORE_NAME | tr '[:upper:]' '[:lower:]' `
|
|
||||||
INPUT_FILE=tgfs/gen_input/TGFS.core_desc
|
|
||||||
|
|
||||||
REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description
|
|
||||||
TMPL_DIR=tgfs/gen_input/templates/interp
|
|
||||||
|
|
||||||
MAPPING=""
|
|
||||||
MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/${CORE_NAME_LC}.h"
|
|
||||||
MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/${CORE_NAME_LC}.cpp"
|
|
||||||
MAPPING="$MAPPING -m ${TMPL_DIR}/vm_CORENAME.cpp.gtl:tgfs/src/vm/${BACKEND}/vm_${CORE_NAME_LC}.cpp"
|
|
||||||
|
|
||||||
[ -f coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package)
|
|
||||||
|
|
||||||
$GENERATOR -c $CORE_NAME -r $REPO_DIR $MAPPING $INPUT_FILE
|
|
||||||
|
|
26
makeJitOutputReadable.py
Normal file
26
makeJitOutputReadable.py
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import re
|
||||||
|
import os
|
||||||
|
'''
|
||||||
|
This script takes all files that get dumped by the tcc backend when using the --dump-ir
|
||||||
|
option and replaces the Integers of addresses with their hex representation to allow
|
||||||
|
for easier debugging.
|
||||||
|
'''
|
||||||
|
current_dir = os.getcwd() # Get the current directory
|
||||||
|
|
||||||
|
files_with_tcc_jit = [file for file in os.listdir(current_dir) if"jit" in file and not file.startswith("readable")]
|
||||||
|
|
||||||
|
for each in files_with_tcc_jit:
|
||||||
|
readable_file = f"readable_{each}"
|
||||||
|
if os.path.exists(readable_file):
|
||||||
|
os.remove(readable_file)
|
||||||
|
with open(each, "r") as file:
|
||||||
|
content = file.read()
|
||||||
|
for each in files_with_tcc_jit:
|
||||||
|
with open(each, "r") as file:
|
||||||
|
content = file.read()
|
||||||
|
|
||||||
|
# Replace numbers ending with "U" by their hex representation
|
||||||
|
content = re.sub(r'\b(\d+)U\b(?=U)?', lambda m: hex(int(m.group(1))), content)
|
||||||
|
|
||||||
|
with open(f"readable_{each}", "w") as file:
|
||||||
|
file.write(content)
|
91
run_riscv_tests.sh
Executable file
91
run_riscv_tests.sh
Executable file
@ -0,0 +1,91 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##
|
||||||
|
|
||||||
|
# Absolute path to this script, e.g. /home/user/bin/foo.sh
|
||||||
|
SCRIPT=`readlink -f "$0"`
|
||||||
|
# Absolute path this script is in, thus /home/user/bin
|
||||||
|
SCRIPTDIR=`dirname "$SCRIPT"`
|
||||||
|
SCRIPTNAME=`basename "$SCRIPT"`
|
||||||
|
function print_help {
|
||||||
|
echo "Usage: $SCRIPTNAME [-b <backend>] [-s <sim args>]}"
|
||||||
|
echo "Run UCB risc-v compliance test suite on backends"
|
||||||
|
echo "Optional cli arguments:"
|
||||||
|
echo " -b backend type, default all"
|
||||||
|
echo " -s <args> simulator arguments"
|
||||||
|
echo " -h print help"
|
||||||
|
echo " -v increase verbosity"
|
||||||
|
echo " -t set build type"
|
||||||
|
}
|
||||||
|
SIM_ARGS="-v1"
|
||||||
|
BACKENDS=("interp" "tcc" "llvm")
|
||||||
|
DEBUG=0
|
||||||
|
BUILD_TYPE=Debug
|
||||||
|
while getopts 'b:s:hvt:' c
|
||||||
|
do
|
||||||
|
case $c in
|
||||||
|
b) BACKENDS=($OPTARG);;
|
||||||
|
s) SIM_ARGS=$OPTARG ;;
|
||||||
|
h) print_help; exit 0 ;;
|
||||||
|
v) DEBUG=1 ;;
|
||||||
|
t) BUILD_TYPE = $OPTARG;;
|
||||||
|
?)
|
||||||
|
print_help >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||||
|
ROOT_DIR=$DIR
|
||||||
|
|
||||||
|
RISCV_TEST=$ROOT_DIR/build/riscv-tests
|
||||||
|
# prepare riscv-test binaries
|
||||||
|
if [ ! -d $RISCV_TEST ]; then
|
||||||
|
mkdir -p $ROOT_DIR/build; cd $ROOT_DIR/build
|
||||||
|
git clone --recursive https://github.com/riscv/riscv-tests.git
|
||||||
|
cd $RISCV_TEST
|
||||||
|
autoconf
|
||||||
|
./configure --with-xlen=32
|
||||||
|
cd $ROOT_DIR
|
||||||
|
make -C $RISCV_TEST -j -k
|
||||||
|
fi
|
||||||
|
# check that we have an executable
|
||||||
|
RISCV_EXE=$ROOT_DIR/build/${BUILD_TYPE}/dbt-rise-tgc/tgc-sim
|
||||||
|
if [ ! -x $RISCV_EXE ]; then
|
||||||
|
mkdir -p build/${BUILD_TYPE}
|
||||||
|
echo "running cmake -B build/${BUILD_TYPE} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DWITH_TCC=ON -DWITH_LLVM=ON "
|
||||||
|
cmake -S . -B build/${BUILD_TYPE} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DWITH_TCC=ON -DWITH_LLVM=ON ../.. || exit 1
|
||||||
|
cmake --build build/${BUILD_TYPE} -j 20 || exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
test_ui_list=`find ${RISCV_TEST}/isa -type f -name rv32ui-p-\* -executable | grep -v fence | grep -v ma_data |sort`
|
||||||
|
test_uc_list=`find ${RISCV_TEST}/isa -type f -name rv32uc-p-\* -executable | grep -v fence | sort`
|
||||||
|
test_um_list=`find ${RISCV_TEST}/isa -type f -name rv32um-p-\* -executable | grep -v fence | sort`
|
||||||
|
test_list="$test_ui_list $test_uc_list $test_um_list $test_mmode_list"
|
||||||
|
|
||||||
|
for backend in "${BACKENDS[@]}"; do
|
||||||
|
failed_list=()
|
||||||
|
for elf in $test_list; do
|
||||||
|
[ $DEBUG -eq 0 ] || echo Running "${RISCV_EXE} $SIM_ARGS -f $elf --backend $backend"
|
||||||
|
${RISCV_EXE} $SIM_ARGS -f $elf --backend $backend
|
||||||
|
if [ $? != 0 ]; then
|
||||||
|
failed_list+="$backend:$elf "
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
tcount=`echo $test_list | wc -w`
|
||||||
|
if [ ! -z "$failed_list" ]; then
|
||||||
|
fcount=`echo $failed_list | wc -w`
|
||||||
|
echo "($backend) $fcount of $tcount test(s) failed:"
|
||||||
|
echo $failed_list | tr ' ' '\n'
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "($backend) All $tcount tests passed."
|
||||||
|
if [ $DEBUG -eq 1 ];then
|
||||||
|
echo "List of executed tests:"
|
||||||
|
for t in $test_list; do
|
||||||
|
name=`basename $t`
|
||||||
|
echo " $name"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
2
scc
2
scc
Submodule scc updated: 9919e5a350...baba1214d3
1
tgfs
1
tgfs
Submodule tgfs deleted from 9c8b72693e
Reference in New Issue
Block a user