mirror of
https://github.com/Minres/RISCV-VP.git
synced 2025-12-17 00:41:35 +00:00
initial version
This commit is contained in:
96
.clang-format
Normal file
96
.clang-format
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
Language: Cpp
|
||||||
|
# BasedOnStyle: LLVM
|
||||||
|
# should be in line with IndentWidth
|
||||||
|
AccessModifierOffset: -4
|
||||||
|
AlignAfterOpenBracket: Align
|
||||||
|
AlignConsecutiveAssignments: false
|
||||||
|
AlignConsecutiveDeclarations: false
|
||||||
|
AlignEscapedNewlinesLeft: false
|
||||||
|
AlignOperands: true
|
||||||
|
AlignTrailingComments: true
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: true
|
||||||
|
AllowShortBlocksOnASingleLine: false
|
||||||
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: All
|
||||||
|
AllowShortIfStatementsOnASingleLine: false
|
||||||
|
AllowShortLoopsOnASingleLine: false
|
||||||
|
AlwaysBreakAfterDefinitionReturnType: None
|
||||||
|
AlwaysBreakAfterReturnType: None
|
||||||
|
AlwaysBreakBeforeMultilineStrings: false
|
||||||
|
AlwaysBreakTemplateDeclarations: false
|
||||||
|
BinPackArguments: true
|
||||||
|
BinPackParameters: true
|
||||||
|
BraceWrapping:
|
||||||
|
AfterClass: false
|
||||||
|
AfterControlStatement: false
|
||||||
|
AfterEnum: false
|
||||||
|
AfterFunction: false
|
||||||
|
AfterNamespace: false
|
||||||
|
AfterObjCDeclaration: false
|
||||||
|
AfterStruct: false
|
||||||
|
AfterUnion: false
|
||||||
|
BeforeCatch: false
|
||||||
|
BeforeElse: false
|
||||||
|
IndentBraces: false
|
||||||
|
BreakBeforeBinaryOperators: None
|
||||||
|
BreakBeforeBraces: Attach
|
||||||
|
BreakBeforeTernaryOperators: true
|
||||||
|
BreakConstructorInitializersBeforeComma: true
|
||||||
|
BreakAfterJavaFieldAnnotations: false
|
||||||
|
BreakStringLiterals: true
|
||||||
|
ColumnLimit: 120
|
||||||
|
CommentPragmas: '^( IWYU pragma:| @suppress)'
|
||||||
|
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||||
|
ConstructorInitializerIndentWidth: 0
|
||||||
|
ContinuationIndentWidth: 4
|
||||||
|
Cpp11BracedListStyle: true
|
||||||
|
DerivePointerAlignment: false
|
||||||
|
DisableFormat: false
|
||||||
|
ExperimentalAutoDetectBinPacking: false
|
||||||
|
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
|
||||||
|
IncludeCategories:
|
||||||
|
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
|
||||||
|
Priority: 2
|
||||||
|
- Regex: '^(<|"(gtest|isl|json)/)'
|
||||||
|
Priority: 3
|
||||||
|
- Regex: '.*'
|
||||||
|
Priority: 1
|
||||||
|
IncludeIsMainRegex: '$'
|
||||||
|
IndentCaseLabels: false
|
||||||
|
IndentWidth: 4
|
||||||
|
IndentWrappedFunctionNames: false
|
||||||
|
JavaScriptQuotes: Leave
|
||||||
|
JavaScriptWrapImports: true
|
||||||
|
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||||
|
MacroBlockBegin: ''
|
||||||
|
MacroBlockEnd: ''
|
||||||
|
MaxEmptyLinesToKeep: 1
|
||||||
|
NamespaceIndentation: None
|
||||||
|
ObjCBlockIndentWidth: 2
|
||||||
|
ObjCSpaceAfterProperty: false
|
||||||
|
ObjCSpaceBeforeProtocolList: true
|
||||||
|
PenaltyBreakBeforeFirstCallParameter: 19
|
||||||
|
PenaltyBreakComment: 300
|
||||||
|
PenaltyBreakFirstLessLess: 120
|
||||||
|
PenaltyBreakString: 1000
|
||||||
|
PenaltyExcessCharacter: 1000000
|
||||||
|
PenaltyReturnTypeOnItsOwnLine: 60
|
||||||
|
PointerAlignment: Left
|
||||||
|
ReflowComments: true
|
||||||
|
SortIncludes: true
|
||||||
|
SpaceAfterCStyleCast: false
|
||||||
|
SpaceAfterTemplateKeyword: true
|
||||||
|
SpaceBeforeAssignmentOperators: true
|
||||||
|
SpaceBeforeParens: Never
|
||||||
|
SpaceInEmptyParentheses: false
|
||||||
|
SpacesBeforeTrailingComments: 1
|
||||||
|
SpacesInAngles: false
|
||||||
|
SpacesInContainerLiterals: true
|
||||||
|
SpacesInCStyleCastParentheses: false
|
||||||
|
SpacesInParentheses: false
|
||||||
|
SpacesInSquareBrackets: false
|
||||||
|
Standard: Cpp11
|
||||||
|
TabWidth: 4
|
||||||
|
UseTab: Never
|
||||||
|
...
|
||||||
|
|
||||||
172
.cproject
Normal file
172
.cproject
Normal file
@@ -0,0 +1,172 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||||
|
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1730410661">
|
||||||
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1730410661" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||||
|
<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 artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1730410661" name="Debug" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||||
|
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1730410661.218663890" name="/" resourcePath="">
|
||||||
|
<toolChain id="cdt.managedbuild.toolchain.gnu.base.953157788" 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.1034252621" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||||
|
<builder buildPath="/TGC-VP/build/Debug" id="cmake4eclipse.mbs.builder.1810203992" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cmake4eclipse.mbs.builder"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.archiver.base.519757762" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1878089590" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.705150349" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.415892287" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1806041557" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1121924488" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.149655162" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.471975198" 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.1494801701" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.605423467" 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}"/>
|
||||||
|
<def name="BUILD_SHARED_LIBS" type="STRING" val="ON"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule buildDir="build/${ConfigName}" dirtyTs="1719760605215" moduleId="de.marw.cmake4eclipse.mbs.settings">
|
||||||
|
<options otherArguments="--preset ${ConfigName}"/>
|
||||||
|
<defs>
|
||||||
|
<def name="FW_BUILD" type="BOOL" val="ON"/>
|
||||||
|
<def name="WITH_LLVM" type="BOOL" val="OFF"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
</cconfiguration>
|
||||||
|
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1730410661.719145049">
|
||||||
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1730410661.719145049" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||||
|
<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 artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1730410661.719145049" name="Release" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||||
|
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1730410661.719145049." name="/" resourcePath="">
|
||||||
|
<toolChain id="cdt.managedbuild.toolchain.gnu.base.63768783" 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.942580764" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||||
|
<builder buildPath="/TGC-VP/build/Release" id="cmake4eclipse.mbs.builder.1619807392" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cmake4eclipse.mbs.builder"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.archiver.base.2063467163" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1534023345" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1510234384" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1971017117" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1521427508" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1619877503" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1947556151" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1339053133" 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.1109501250" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1429143214" 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}"/>
|
||||||
|
<def name="BUILD_SHARED_LIBS" type="STRING" val="ON"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule buildDir="build/${ConfigName}" dirtyTs="1719761878745" moduleId="de.marw.cmake4eclipse.mbs.settings">
|
||||||
|
<options otherArguments="--preset Release"/>
|
||||||
|
<defs>
|
||||||
|
<def name="FW_BUILD" type="BOOL" val="ON"/>
|
||||||
|
<def name="WITH_LLVM" type="BOOL" val="OFF"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
</cconfiguration>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
|
<project id="TGFS-VP.null.771101143" name="TGFS-VP"/>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||||
|
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||||
|
<configuration configurationName="Debug-PA"/>
|
||||||
|
<configuration configurationName="Default">
|
||||||
|
<resource resourceType="PROJECT" workspacePath="/TGFS-VP"/>
|
||||||
|
</configuration>
|
||||||
|
<configuration configurationName="Debug"/>
|
||||||
|
<configuration configurationName="Release"/>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
|
||||||
|
<buildTargets>
|
||||||
|
<target name="fw-hello-world" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>CMAKE_BUILD_TOOL</buildCommand>
|
||||||
|
<buildArguments/>
|
||||||
|
<buildTarget>fw-hello-world</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
|
<target name="fw-fir" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>gmake</buildCommand>
|
||||||
|
<buildArguments>-C ../../fw/fir</buildArguments>
|
||||||
|
<buildTarget>clean all</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>false</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
|
<target name="fw-fir ISAX" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>gmake</buildCommand>
|
||||||
|
<buildArguments>-C ../../fw/fir VARIANT=ISAX</buildArguments>
|
||||||
|
<buildTarget>clean all</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>false</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
|
</buildTargets>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="scannerConfiguration">
|
||||||
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1730410661.719145049;cdt.managedbuild.toolchain.gnu.base.1730410661.719145049.;cdt.managedbuild.tool.gnu.cpp.compiler.base.1534023345;cdt.managedbuild.tool.gnu.cpp.compiler.input.1510234384">
|
||||||
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
</scannerConfigBuildInfo>
|
||||||
|
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1730410661.719145049;cdt.managedbuild.toolchain.gnu.base.1730410661.719145049.;cdt.managedbuild.tool.gnu.c.compiler.base.1971017117;cdt.managedbuild.tool.gnu.c.compiler.input.1521427508">
|
||||||
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
</scannerConfigBuildInfo>
|
||||||
|
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1730410661;cdt.managedbuild.toolchain.gnu.base.1730410661.218663890;cdt.managedbuild.tool.gnu.c.compiler.base.415892287;cdt.managedbuild.tool.gnu.c.compiler.input.1806041557">
|
||||||
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
</scannerConfigBuildInfo>
|
||||||
|
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1730410661;cdt.managedbuild.toolchain.gnu.base.1730410661.218663890;cdt.managedbuild.tool.gnu.cpp.compiler.base.1878089590;cdt.managedbuild.tool.gnu.cpp.compiler.input.705150349">
|
||||||
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
</scannerConfigBuildInfo>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule cmakelistsFolder="" moduleId="de.marw.cmake4eclipse.mbs.settings">
|
||||||
|
<targets>
|
||||||
|
<target name=""/>
|
||||||
|
</targets>
|
||||||
|
</storageModule>
|
||||||
|
</cproject>
|
||||||
11
.envrc
Normal file
11
.envrc
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
distro=`/bin/lsb_release -i -s`
|
||||||
|
if [ $distro == "CentOS" ]; then
|
||||||
|
. /opt/rh/devtoolset-8/enable
|
||||||
|
. /opt/rh/llvm-toolset-7/enable
|
||||||
|
. /opt/rh/rh-python38/enable
|
||||||
|
elif [ $distro == "Rocky" ]; then
|
||||||
|
. /opt/rh/gcc-toolset-11/enable
|
||||||
|
fi
|
||||||
|
module load ./Modulefile
|
||||||
|
layout python3
|
||||||
|
[ -f .envrc.$USER ] && . .envrc.$USER
|
||||||
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/build/
|
||||||
|
/plugins/
|
||||||
|
/.settings/
|
||||||
|
*.o
|
||||||
|
*.a
|
||||||
|
*.lib
|
||||||
|
/*.log
|
||||||
|
/*.txlog
|
||||||
|
/*.vcd
|
||||||
|
/*.ftr
|
||||||
|
/*.fst
|
||||||
|
/.vs
|
||||||
|
/out
|
||||||
|
/coverage.info
|
||||||
|
/output.txt
|
||||||
|
/output.trc
|
||||||
|
CMakeSettings.json
|
||||||
|
/.venv
|
||||||
|
/src-gen/
|
||||||
|
/*.json
|
||||||
|
/cfg.yaml
|
||||||
|
/.direnv
|
||||||
|
/.cache
|
||||||
18
.gitmodules
vendored
Normal file
18
.gitmodules
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
[submodule "scc"]
|
||||||
|
path = scc
|
||||||
|
url = https://github.com/VP-Vibes/SystemC-Components.git
|
||||||
|
[submodule "vpvper"]
|
||||||
|
path = vpvper
|
||||||
|
url = https://github.com/VP-Vibes/VPV-Peripherals.git
|
||||||
|
[submodule "tgc-iss/dbt-rise-core"]
|
||||||
|
path = tgc-iss/dbt-rise-core
|
||||||
|
url = https://github.com/Minres/DBT-RISE-Core.git
|
||||||
|
[submodule "tgc-iss/dbt-rise-tgc"]
|
||||||
|
path = tgc-iss/dbt-rise-tgc
|
||||||
|
url = https://git.minres.com/DBT-RISE/DBT-RISE-TGC.git
|
||||||
|
[submodule "fw/bsp"]
|
||||||
|
path = fw/bsp
|
||||||
|
url = https://git.minres.com/Firmware/MNRS-BM-BSP.git
|
||||||
|
[submodule "dbt-rise-riscv"]
|
||||||
|
path = dbt-rise-riscv
|
||||||
|
url = https://github.com/Minres/DBT-RISE-RISCV.git
|
||||||
31
.gitpod.Dockerfile
vendored
Normal file
31
.gitpod.Dockerfile
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
FROM gitpod/workspace-full:latest
|
||||||
|
|
||||||
|
|
||||||
|
# Make a working folder and set the necessary environment variables.
|
||||||
|
ENV RISCV /opt/riscv
|
||||||
|
RUN sudo mkdir -p $RISCV
|
||||||
|
RUN sudo touch $RISCV/install.stamp
|
||||||
|
|
||||||
|
# Add the GNU utils bin folder to the path.
|
||||||
|
ENV PATH $RISCV/bin:$PATH
|
||||||
|
MAINTAINER eyck@minres.com
|
||||||
|
|
||||||
|
USER root
|
||||||
|
RUN apt-get install gnupg software-properties-common wget -y
|
||||||
|
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
|
||||||
|
RUN apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'
|
||||||
|
|
||||||
|
# Obtain the RISCV-tools repo which consists of a number of submodules
|
||||||
|
# so make sure we get those too.
|
||||||
|
WORKDIR /opt/riscv
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y autoconf automake autotools-dev curl python3 python3-pip python3-venv libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev cmake gdb && \
|
||||||
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
RUN git clone --recursive https://github.com/riscv/riscv-gnu-toolchain && \
|
||||||
|
cd riscv-gnu-toolchain && \
|
||||||
|
./configure --prefix=/opt/riscv --without-system-zlib --enable-multilib --with-arch=rv32gc --with-abi=ilp32d && \
|
||||||
|
make -j newlib && \
|
||||||
|
cd .. && \
|
||||||
|
rm -rf riscv-gnu-toolchain
|
||||||
|
RUN apt-get update && apt install default-jdk -y
|
||||||
|
USER gitpod
|
||||||
22
.gitpod.yml
Normal file
22
.gitpod.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
# Commands to start on workspace startup
|
||||||
|
image: stanka/gitpod-riscv-tools:latest
|
||||||
|
# file: .gitpod.Dockerfile
|
||||||
|
tasks:
|
||||||
|
- env:
|
||||||
|
CONAN_USER_HOME: "/workspace/conan"
|
||||||
|
init: |
|
||||||
|
python3 -m venv /workspace/venv
|
||||||
|
python3 -m pip install --upgrade pip
|
||||||
|
source /workspace/venv/bin/activate
|
||||||
|
pip install 'conan<2.0'
|
||||||
|
command: |
|
||||||
|
source /workspace/venv/bin/activate
|
||||||
|
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON
|
||||||
|
cmake --build build
|
||||||
|
vscode:
|
||||||
|
extensions:
|
||||||
|
- ms-python.python
|
||||||
|
- webfreak.debug
|
||||||
|
- twxs.cmake
|
||||||
|
- ms-vscode.cmake-tools
|
||||||
13
.launch/FW-Debug.launch
Normal file
13
.launch/FW-Debug.launch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.debug.core.groups.GroupLaunchConfigurationType">
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.launchGroup.0.action" value="NONE"/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.launchGroup.0.adoptIfRunning" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.launchGroup.0.enabled" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.launchGroup.0.mode" value="run"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.launchGroup.0.name" value="TGC-VP-GDBServer"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.launchGroup.1.action" value="NONE"/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.launchGroup.1.adoptIfRunning" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.launchGroup.1.enabled" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.launchGroup.1.mode" value="debug"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.launchGroup.1.name" value="TGC-VP-FW-Debug"/>
|
||||||
|
</launchConfiguration>
|
||||||
37
.launch/TGC-VP asmjit hello.launch
Normal file
37
.launch/TGC-VP asmjit hello.launch
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f fw/hello-world/hello -p ${workspace_loc:TGC-VP}/build/${config_name:TGC-VP}/tgc-iss/dbt-rise-plugins/pctrace/pctrace.so=tgc-iss/dbt-rise-tgc/contrib/instr/TGC5C_instr.yaml --backend=asmjit"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.cdt.debug.core.sourceLocator"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;mapping backend_enabled=&quot;true&quot; name=&quot;Found Mappings&quot;&gt;&#10; &lt;mapEntry memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;mapEntry backendPath=&amp;quot;/home/eyck/.conan/data/tcc/0.9.27/_/_/build/fe910bef8b24b8089b2ea22204cdb1cf8c5cea95/tcc-0.9.27/&amp;quot; localPath=&amp;quot;/home/eyck/.conan/data/tcc/0.9.27/_/_/build/176b7bd27fb0759a69f81f0746a288d1ce945b98/tcc-0.9.27/&amp;quot;/&amp;gt;&amp;#10;&quot;/&gt;&#10;&lt;/mapping&gt;&#10;" typeId="org.eclipse.cdt.debug.core.containerType.mapping"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
35
.launch/TGC-VP interp dhrystone ce fast.launch
Normal file
35
.launch/TGC-VP interp dhrystone ce fast.launch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f ${project_loc:dhrystone}/dhrystone -p ce=tgc-iss/dbt-rise-tgc/contrib/instr/TGC5C_instr.yaml --backend=interp --disass -v INFO"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
35
.launch/TGC-VP interp dhrystone ce slow.launch
Normal file
35
.launch/TGC-VP interp dhrystone ce slow.launch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f ${project_loc:dhrystone}/dhrystone -p ce=tgc-iss/dbt-rise-tgc/contrib/instr/TGC5C_slow.yaml --backend=interp --disass -v INFO"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
35
.launch/TGC-VP interp dhrystone.launch
Normal file
35
.launch/TGC-VP interp dhrystone.launch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f ${project_loc:dhrystone}/dhrystone --backend=interp --quantum 100"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
35
.launch/TGC-VP interp hello cycle-estimate fast.launch
Normal file
35
.launch/TGC-VP interp hello cycle-estimate fast.launch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f fw/hello-world/hello -p ce=tgc-iss/dbt-rise-tgc/contrib/instr/TGC5C_instr.yaml --quantum=10000 -v INFO"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
35
.launch/TGC-VP interp hello cycle-estimate slow.launch
Normal file
35
.launch/TGC-VP interp hello cycle-estimate slow.launch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f fw/hello-world/hello -p ce=tgc-iss/dbt-rise-tgc/contrib/instr/TGC5C_slow.yaml --dump-structure=tgc_vp.json"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
35
.launch/TGC-VP interp hello pctrace.launch
Normal file
35
.launch/TGC-VP interp hello pctrace.launch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f fw/hello-world/hello -p ${workspace_loc:TGC-VP}/build/${config_name:TGC-VP}/tgc-iss/dbt-rise-plugins/pctrace/pctrace.so=tgc-iss/dbt-rise-tgc/contrib/instr/TGC5C_instr.yaml --dump-structure=tgc_vp.json"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
35
.launch/TGC-VP interp hello.launch
Normal file
35
.launch/TGC-VP interp hello.launch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f fw/hello-world/hello --dump-structure=tgc_vp.json --config cfg.yaml -t 3"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="cdt.managedbuild.toolchain.gnu.base.1730410661.719145049"/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
35
.launch/TGC-VP llvm dhrystone.launch
Normal file
35
.launch/TGC-VP llvm dhrystone.launch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f ${project_loc:dhrystone}/dhrystone --backend=llvm --quantum 100"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
37
.launch/TGC-VP llvm hello.launch
Normal file
37
.launch/TGC-VP llvm hello.launch
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f fw/hello-world/hello --backend=llvm"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.cdt.debug.core.sourceLocator"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;mapping backend_enabled=&quot;true&quot; name=&quot;Found Mappings&quot;&gt;&#10; &lt;mapEntry memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;mapEntry backendPath=&amp;quot;/home/eyck/.conan/data/tcc/0.9.27/_/_/build/fe910bef8b24b8089b2ea22204cdb1cf8c5cea95/tcc-0.9.27/&amp;quot; localPath=&amp;quot;/home/eyck/.conan/data/tcc/0.9.27/_/_/build/176b7bd27fb0759a69f81f0746a288d1ce945b98/tcc-0.9.27/&amp;quot;/&amp;gt;&amp;#10;&quot;/&gt;&#10;&lt;/mapping&gt;&#10;" typeId="org.eclipse.cdt.debug.core.containerType.mapping"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
35
.launch/TGC-VP tcc dhrystone.launch
Normal file
35
.launch/TGC-VP tcc dhrystone.launch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f ${project_loc:dhrystone}/dhrystone --backend=tcc --quantum 100"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
37
.launch/TGC-VP tcc hello.launch
Normal file
37
.launch/TGC-VP tcc hello.launch
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f fw/hello-world/hello --backend=tcc"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:TGC-VP}/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.cdt.debug.core.sourceLocator"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;mapping backend_enabled=&quot;true&quot; name=&quot;Found Mappings&quot;&gt;&#10; &lt;mapEntry memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;mapEntry backendPath=&amp;quot;/home/eyck/.conan/data/tcc/0.9.27/_/_/build/fe910bef8b24b8089b2ea22204cdb1cf8c5cea95/tcc-0.9.27/&amp;quot; localPath=&amp;quot;/home/eyck/.conan/data/tcc/0.9.27/_/_/build/176b7bd27fb0759a69f81f0746a288d1ce945b98/tcc-0.9.27/&amp;quot;/&amp;gt;&amp;#10;&quot;/&gt;&#10;&lt;/mapping&gt;&#10;" typeId="org.eclipse.cdt.debug.core.containerType.mapping"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
52
.launch/TGC-VP-FW-Debug.launch
Normal file
52
.launch/TGC-VP-FW-Debug.launch
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.remoteApplicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="/usr/local/bin/riscv32-unknown-elf-gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEV" value="/dev/ttyS0"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEV_SPEED" value="115200"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.HOST" value="localhost"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.PORT" value="10000"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REMOTE_TCP" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REMOTE_TIMEOUT_ENABLED" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REMOTE_TIMEOUT_VALUE" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.RemoteApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdbserver"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="remote"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="fw/hello-world/hello"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="cdt.managedbuild.toolchain.gnu.base.1730410661.719145049"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.remote.RemoteCDSFDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.ATTR_GDBSERVER_COMMAND" value="gdbserver"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.ATTR_GDBSERVER_OPTIONS" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.ATTR_GDBSERVER_PORT" value="2345"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.ATTR_PRERUN_CMDS" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.debug.core.ATTR_SKIP_DOWNLOAD_TO_TARGET" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.ATTR_TARGET_PATH" value=""/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.debug.core.REMOTE_TCP" value="Local"/>
|
||||||
|
<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
|
||||||
|
<mapEntry key="[debug]" value="org.eclipse.cdt.dsf.gdb.launch.remoteCLaunch"/>
|
||||||
|
</mapAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
34
.launch/TGC-VP-GDBServer.launch
Normal file
34
.launch/TGC-VP-GDBServer.launch
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.cdt.launch.applicationLaunchType">
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="gdb"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value=".gdbinit"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.REVERSE_MODE" value="UseSoftTrace"/>
|
||||||
|
<listAttribute key="org.eclipse.cdt.dsf.gdb.SOLIB_PATH"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f fw/hello-world/hello -g 10000"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/Debug/src/tgc-vp"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TGC-VP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="cdt.managedbuild.toolchain.gnu.base.1730410661"/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/TGC-VP"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
|
</launchConfiguration>
|
||||||
59
.project
Normal file
59
.project
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>TGC-VP</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.python.pydev.PyDevBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||||
|
<triggers>clean,full,incremental,</triggers>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||||
|
<triggers>full,incremental,</triggers>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||||
|
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||||
|
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||||
|
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||||
|
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
|
||||||
|
<nature>org.python.pydev.pythonNature</nature>
|
||||||
|
</natures>
|
||||||
|
<filteredResources>
|
||||||
|
<filter>
|
||||||
|
<id>0</id>
|
||||||
|
<name></name>
|
||||||
|
<type>22</type>
|
||||||
|
<matcher>
|
||||||
|
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||||
|
<arguments>1.0-name-matches-false-false-*.o</arguments>
|
||||||
|
</matcher>
|
||||||
|
</filter>
|
||||||
|
<filter>
|
||||||
|
<id>0</id>
|
||||||
|
<name></name>
|
||||||
|
<type>22</type>
|
||||||
|
<matcher>
|
||||||
|
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||||
|
<arguments>1.0-name-matches-false-false-*.a</arguments>
|
||||||
|
</matcher>
|
||||||
|
</filter>
|
||||||
|
</filteredResources>
|
||||||
|
</projectDescription>
|
||||||
5
.pydevproject
Normal file
5
.pydevproject
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<?eclipse-pydev version="1.0"?><pydev_project>
|
||||||
|
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
|
||||||
|
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python interpreter</pydev_property>
|
||||||
|
</pydev_project>
|
||||||
17
.vscode/c_cpp_properties.json
vendored
Normal file
17
.vscode/c_cpp_properties.json
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Linux",
|
||||||
|
"includePath": [
|
||||||
|
"${workspaceFolder}/**"
|
||||||
|
],
|
||||||
|
"defines": [],
|
||||||
|
"compilerPath": "/usr/bin/gcc",
|
||||||
|
"cStandard": "gnu17",
|
||||||
|
"cppStandard": "gnu++14",
|
||||||
|
"intelliSenseMode": "linux-gcc-x64",
|
||||||
|
"configurationProvider": "ms-vscode.cmake-tools"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": 4
|
||||||
|
}
|
||||||
55
.vscode/launch.json
vendored
Normal file
55
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "gdb",
|
||||||
|
"request": "attach",
|
||||||
|
"name": "Attach-to-gdbserver",
|
||||||
|
"executable": "./fw/hello-world/hello",
|
||||||
|
"target": ":10000",
|
||||||
|
"remote": true,
|
||||||
|
"cwd": "${workspaceRoot}",
|
||||||
|
"valuesFormatting": "prettyPrinters",
|
||||||
|
"gdbpath": "/opt/riscv/bin/riscv32-unknown-elf-gdb",
|
||||||
|
"debugger_args": [],
|
||||||
|
"presentation": {
|
||||||
|
"hidden": true,
|
||||||
|
"group": "FW Debug",
|
||||||
|
"order": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "gdb",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Launch-VP-with-gdbserver",
|
||||||
|
"cwd": "${workspaceRoot}",
|
||||||
|
"valuesFormatting": "parseText",
|
||||||
|
"target": "./build/src/tgc-vp",
|
||||||
|
"arguments": "-f fw/hello-world/hello -g 10000",
|
||||||
|
"presentation": {
|
||||||
|
"hidden": true,
|
||||||
|
"group": "FW Debug",
|
||||||
|
"order": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "gdb",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "VP-Debug",
|
||||||
|
"cwd": "${workspaceRoot}",
|
||||||
|
"valuesFormatting": "parseText",
|
||||||
|
"target": "./build/src/tgc-vp",
|
||||||
|
"printCalls": false,
|
||||||
|
"arguments": "-f fw/hello-world/hello"
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"compounds": [
|
||||||
|
{
|
||||||
|
"name": "FW-Debug",
|
||||||
|
"configurations": ["Launch-VP-with-gdbserver", "Attach-to-gdbserver"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
6
.vscode/settings.json
vendored
Normal file
6
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"platform.h": "c"
|
||||||
|
},
|
||||||
|
"debug.allowBreakpointsEverywhere": true
|
||||||
|
}
|
||||||
65
.vscode/tasks.json
vendored
Normal file
65
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "CMake-and-make",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "source .venv/bin/activate && cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON && cmake --build build",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": true,
|
||||||
|
"panel": "dedicated",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": true
|
||||||
|
},
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Build-FW",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "cd fw/hello-world/ && make",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": true,
|
||||||
|
"panel": "dedicated",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Execute-VP",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "build/src/tgc-vp -f fw/hello-world/hello -p pctrace=contrib/TGC_C_cycles.json",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": true,
|
||||||
|
"panel": "dedicated",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VP-GDB-Server",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "build/src/tgc-vp -f fw/hello-world/hello -g 10000",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "always",
|
||||||
|
"focus": true,
|
||||||
|
"panel": "dedicated",
|
||||||
|
"showReuseMessage": false,
|
||||||
|
"clear": true
|
||||||
|
},
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
89
CMakeLists.txt
Normal file
89
CMakeLists.txt
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/scc/cmake)
|
||||||
|
|
||||||
|
project(riscv-vp LANGUAGES C CXX VERSION 1.0.0)
|
||||||
|
|
||||||
|
option(LIBS_ONLY "Just build the shared libraries needed to build the VP" OFF)
|
||||||
|
option(ENABLE_COVERAGE "Enable code coverage" OFF)
|
||||||
|
option(ENABLE_SANITIZER "Enable address sanitizer" OFF)
|
||||||
|
option(ENABLE_CLANGTIDY "Enable static analysis with clang-tidy." OFF)
|
||||||
|
option(ENABLE_FW_BUILD "Enable build of firmware of MIRES Firmware repo." OFF)
|
||||||
|
|
||||||
|
set(SCC_LIB_ONLY ON)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
|
include(CheckCXXCompilerFlag)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
# add address sanitizer
|
||||||
|
if(ENABLE_SANITIZER)
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
|
||||||
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address")
|
||||||
|
endif()
|
||||||
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
|
add_compile_options(/vmg /wd26812) # suppress Warnung C26812: "enum class" gegenüber "enum" (Enum.3) bevorzugen
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(elfio)
|
||||||
|
find_package(Boost REQUIRED COMPONENTS program_options QUIET)
|
||||||
|
include(SystemCPackage)
|
||||||
|
|
||||||
|
set(CLANG_FORMAT_EXCLUDE_PATTERNS "scc" "dbt-rise-riscv")
|
||||||
|
find_package(ClangFormat)
|
||||||
|
|
||||||
|
if(ENABLE_COVERAGE)
|
||||||
|
include(CodeCoverage)
|
||||||
|
append_coverage_compiler_flags()
|
||||||
|
set(COVERAGE_EXCLUDES "$ENV{HOME}/.conan/*" "/opt/*")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_CLANGTIDY)
|
||||||
|
find_program(CLANG_TIDY_EXE NAMES "clang-tidy")
|
||||||
|
if (CLANG_TIDY_EXE)
|
||||||
|
message(STATUS "clang-tidy found: ${CLANG_TIDY_EXE}")
|
||||||
|
set(CLANG_TIDY_CHECKS
|
||||||
|
"-*,modernize-*,-modernize-use-trailing-return-type,clang-analyzer-*,concurrency-*,cppcoreguidelines-*,boost-*,bugprone-*,performance-*,portability-*,readability-*")
|
||||||
|
#set(CLANG_TIDY_CHECKS "*")
|
||||||
|
set(CMAKE_CXX_CLANG_TIDY
|
||||||
|
${CLANG_TIDY_EXE};
|
||||||
|
-header-filter=${tgfs_verif_SOURCE_DIR};
|
||||||
|
-checks=${CLANG_TIDY_CHECKS};)
|
||||||
|
else()
|
||||||
|
message(AUTHOR_WARNING "clang-tidy not found!")
|
||||||
|
set(CMAKE_CXX_CLANG_TIDY "" CACHE STRING "" FORCE) # delete it
|
||||||
|
endif()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
add_subdirectory(scc)
|
||||||
|
add_subdirectory(dbt-rise-riscv)
|
||||||
|
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dbt-rise-plugins)
|
||||||
|
add_subdirectory(dbt-rise-plugins)
|
||||||
|
endif()
|
||||||
|
if(NOT USE_CWR_SYSTEMC)
|
||||||
|
add_subdirectory(vpvper)
|
||||||
|
endif()
|
||||||
|
if(NOT LIBS_ONLY)
|
||||||
|
add_subdirectory(src)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(FW_BUILD)
|
||||||
|
include(FetchContent)
|
||||||
|
set(FETCHCONTENT_BASE_DIR ${CMAKE_CURRENT_BINARY_DIR}/..)
|
||||||
|
FetchContent_Declare(
|
||||||
|
riscvfw
|
||||||
|
GIT_REPOSITORY https://git.minres.com/Firmware/Firmwares.git
|
||||||
|
GIT_TAG develop
|
||||||
|
GIT_SHALLOW OFF
|
||||||
|
UPDATE_DISCONNECTED ON
|
||||||
|
)
|
||||||
|
FetchContent_GetProperties(riscvfw)
|
||||||
|
if(NOT riscvfw_POPULATED)
|
||||||
|
FetchContent_Populate(riscvfw)
|
||||||
|
endif()
|
||||||
|
set(BOARD tgc_vp)
|
||||||
|
add_subdirectory(${riscvfw_SOURCE_DIR})
|
||||||
|
endif()
|
||||||
109
Jenkinsfile
vendored
Normal file
109
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
def getBranch() {
|
||||||
|
if (env.BRANCH_NAME != null && !env.BRANCH_NAME.isEmpty() ) {
|
||||||
|
return env.BRANCH_NAME
|
||||||
|
} else {
|
||||||
|
return 'develop'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void checkout_tgc_vp() {
|
||||||
|
sh("rm -rf *")
|
||||||
|
checkout([
|
||||||
|
$class: 'GitSCM',
|
||||||
|
branches: [
|
||||||
|
[name: 'refs/heads/' + getBranch()]
|
||||||
|
],
|
||||||
|
extensions: [
|
||||||
|
[$class: 'CleanBeforeCheckout'],
|
||||||
|
[$class: 'SubmoduleOption',
|
||||||
|
disableSubmodules: false,
|
||||||
|
recursiveSubmodules: true,
|
||||||
|
trackingSubmodules: false,
|
||||||
|
parentCredentials: true,
|
||||||
|
shallow: true
|
||||||
|
]
|
||||||
|
],
|
||||||
|
submoduleCfg: [],
|
||||||
|
userRemoteConfigs: [
|
||||||
|
[url: 'https://github.com/Minres/TGC-VP.git']
|
||||||
|
]
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
|
void build_tgc_vp() {
|
||||||
|
try {
|
||||||
|
sh("conan profile new default --detect --force")
|
||||||
|
sh("conan profile update settings.compiler.libcxx=libstdc++11 default")
|
||||||
|
sh("conan remote add minres https://git.minres.com/api/packages/Tooling/conan --force")
|
||||||
|
sh("conan --version && cmake --version")
|
||||||
|
}
|
||||||
|
catch (exc) {
|
||||||
|
echo 'Conan configured'
|
||||||
|
}
|
||||||
|
sh("rm -rf build")
|
||||||
|
sh("git submodule update --recursive")
|
||||||
|
sh("cmake -S . -B build -DWITH_TCC=OFF && cmake --build build -j16")
|
||||||
|
fingerprint 'build/src/tgc-vp'
|
||||||
|
}
|
||||||
|
|
||||||
|
pipeline {
|
||||||
|
agent none
|
||||||
|
|
||||||
|
options {
|
||||||
|
// using the Timestamper plugin we can add timestamps to the console log
|
||||||
|
timestamps()
|
||||||
|
skipStagesAfterUnstable()
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage('TGC-VP pipeline') {
|
||||||
|
parallel {
|
||||||
|
stage('ubuntu20'){
|
||||||
|
agent {docker { image 'ubuntu-20.04' } }
|
||||||
|
stages {
|
||||||
|
stage('Checkout on Ubuntu20.04') { steps { checkout_tgc_vp() }}
|
||||||
|
stage('Build') { steps { build_tgc_vp() } }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('ubuntu22'){
|
||||||
|
agent {docker { image 'ubuntu-22.04' } }
|
||||||
|
stages {
|
||||||
|
stage('Checkout on Ubuntu22.04') { steps { checkout_tgc_vp() }}
|
||||||
|
stage('Build') { steps { build_tgc_vp() } }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('CentOS7'){
|
||||||
|
agent {docker { image 'centos7' } }
|
||||||
|
stages {
|
||||||
|
stage('Checkout on Ubuntu') { steps {checkout_tgc_vp()}}
|
||||||
|
stage('Build') { steps {build_tgc_vp()}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('RockyLinux8'){
|
||||||
|
agent {docker { image 'rockylinux8' } }
|
||||||
|
stages {
|
||||||
|
stage('Checkout on Ubuntu') { steps {checkout_tgc_vp()}}
|
||||||
|
stage('Build') { steps {build_tgc_vp()}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
success {
|
||||||
|
rocketSend ":thumbsup: TGC-VP verification run passed, results at ${env.RUN_DISPLAY_URL} "
|
||||||
|
}
|
||||||
|
failure {
|
||||||
|
archiveArtifacts artifacts: 'failed_seeds_*.txt', followSymlinks: false, onlyIfSuccessful: false
|
||||||
|
rocketSend ":thumbsdown: TGC-VP verification failed, please check ${env.RUN_DISPLAY_URL} "
|
||||||
|
emailext recipientProviders: [culprits(), requestor()],
|
||||||
|
subject: "TGC-VP Pipeline Failed: ${currentBuild.fullDisplayName}",
|
||||||
|
body: """
|
||||||
|
<p>Build Status: ${currentBuild.currentResult}</p>
|
||||||
|
<p> Check logs at <a href='${env.BUILD_URL}console'> Build Console Logs </a> or at <a href='${env.RUN_DISPLAY_URL}'> Overview </a></p>
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
201
LICENSE
Normal file
201
LICENSE
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
15
Modulefile
Normal file
15
Modulefile
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#%Module######################################################################
|
||||||
|
##
|
||||||
|
## Project Module
|
||||||
|
##
|
||||||
|
proc ModulesHelp { } {
|
||||||
|
puts stderr "\tThe TGC verification project Module\n"
|
||||||
|
puts stderr "\tThis module loads PATHs and variables for running TGC verification."
|
||||||
|
}
|
||||||
|
|
||||||
|
set distro [exec /usr/bin/lsb_release -i -s]
|
||||||
|
if { $distro == "CentOS" && ![info exists ::env(PROJECT)] && ![info exists ::env(PCP_DIR)] } {
|
||||||
|
puts stderr "Don't forget to execute 'scl enable devtoolset-7 llvm-toolset-7 bash'"
|
||||||
|
}
|
||||||
|
|
||||||
|
module load tools/gcc-riscv64-unknown-elf/13 tools/cmake/3.28 tools/utilities
|
||||||
126
README.md
Normal file
126
README.md
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
# TGC-VP
|
||||||
|
The Scale4Edge ecosystem VP using VP-VIBES peripherals.
|
||||||
|
|
||||||
|
This VP is based in MINRES TGC series cores and uses CoreDSL to generate the concrete ISS
|
||||||
|
of a particular ISA + extensions. The generator approach makes it very flexible and adaptable.
|
||||||
|
Since the CoreDSL description is used to generate RTL as well as verification artifacts it
|
||||||
|
provides a comprehensive and consistent solution to develop processor cores.
|
||||||
|
|
||||||
|
## Ultra Quick start
|
||||||
|
|
||||||
|
Using gitpod you can run the VP in the cloud. Just visit [Gitpod.io](https://www.gitpod.io/#https://github.com/Minres/TGC-VP/tree/develop)
|
||||||
|
and follow the instructions. After the build finished you can run
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
build/src/tgc-vp -f fw/hello-world/prebuilt/hello.elf
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
or use ctest:
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
cd build
|
||||||
|
ctest
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
You will see on console the prints of the hello world firmware at fw/hello-world/hello.c
|
||||||
|
|
||||||
|
[](https://gitpod.io/#https://github.com/Minres/TGC-VP)
|
||||||
|
|
||||||
|
## Quick start
|
||||||
|
|
||||||
|
* you need to have a C++14 capable compiler, make, python, and cmake installed
|
||||||
|
|
||||||
|
* install conan.io (see also http://docs.conan.io/en/latest/installation.html):
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
pip3 install --user conan
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
It is advised to use conan version 1.36 or newer. In case of an older version please run
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
pip3 install --user --upgrade conan
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Installing 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://github.com/Minres/TGC-VP.git
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* start an out-of-source build:
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
cd TGC-VP
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
make -j tgc-vp
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* run the VP with pre-built firmware
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
ctest
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
src/tgc-vp -f ../fw/hello-world/prebuild/hello.elf
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
To rebuild the firmware you need to install a RISC-V toolchain like https://github.com/riscv/riscv-tools.
|
||||||
|
|
||||||
|
# Windows/Visual Studio build
|
||||||
|
|
||||||
|
TGC-VP supports VS2019/MSVC 16 and has been tested only with this version
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
You need to have to following installed:
|
||||||
|
|
||||||
|
* Visual Studio 2019 (community edition is sufficient) with C/C++ support
|
||||||
|
* Python 3.6 or newer
|
||||||
|
* SystemC 2.3.3 and SystemC-CCI 1.0.0. Both should be installed into the same location and the
|
||||||
|
environment variable SYSTEMC_HOME should point to it
|
||||||
|
* Conan (https://conan.io/) version 1.36 or newer. If python is installed this can be installed using pip
|
||||||
|
(see above in [Quick start](#quick-start))
|
||||||
|
|
||||||
|
## build step
|
||||||
|
|
||||||
|
Create a project at the location of the git workarea. This can be done
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
devenv <path to checkout>
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
The build steps are as described in the VS documentation for CMake based projects.
|
||||||
|
|
||||||
48
conanfile.txt
Normal file
48
conanfile.txt
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
[requires]
|
||||||
|
yaml-cpp/0.8.0
|
||||||
|
jsoncpp/1.9.5
|
||||||
|
boost/1.85.0
|
||||||
|
asmjit/cci.20240531
|
||||||
|
elfio/3.12
|
||||||
|
fmt/8.0.1
|
||||||
|
spdlog/1.9.2
|
||||||
|
gsl-lite/0.41.0
|
||||||
|
lz4/1.9.3
|
||||||
|
zlib/1.2.13
|
||||||
|
seasocks/1.4.6
|
||||||
|
systemc/2.3.4
|
||||||
|
|
||||||
|
[options]
|
||||||
|
boost/*:fPIC=True
|
||||||
|
boost/*:header_only=False
|
||||||
|
boost/*:without_contract=True
|
||||||
|
boost/*:without_fiber=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
|
||||||
|
fmt/*:header_only=True
|
||||||
|
libiconv/*:shared=False
|
||||||
|
asmjit/*:shared=False
|
||||||
|
systemc/*:shared=False
|
||||||
|
systemc/*:disable_virtual_bind=False
|
||||||
|
|
||||||
|
[generators]
|
||||||
|
CMakeDeps
|
||||||
|
CMakeToolchain
|
||||||
|
|
||||||
|
[layout]
|
||||||
|
cmake_layout
|
||||||
1
dbt-rise-riscv
Submodule
1
dbt-rise-riscv
Submodule
Submodule dbt-rise-riscv added at 85e2cedb1a
1
pysysc/.gitignore
vendored
Normal file
1
pysysc/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
__pycache__
|
||||||
11
pysysc/gitpod_install.sh
Executable file
11
pysysc/gitpod_install.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
##
|
||||||
|
|
||||||
|
# Install prerequisites
|
||||||
|
pip install wheel
|
||||||
|
# clone and install PySysC
|
||||||
|
git clone https://github.com/Minres/PySysC.git /workspace/PySysC
|
||||||
|
STDCXX=14 SYSTEMC_HOME=`ls -d $CONAN_USER_HOME/.conan/data/systemc/2.3.3/_/_/package/* | head -1` \
|
||||||
|
pip install /workspace/PySysC/
|
||||||
|
# install SCC integration
|
||||||
|
pip install scc/contrib/pysysc
|
||||||
66
pysysc/modules.py
Normal file
66
pysysc/modules.py
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
from cppyy import gbl as cpp
|
||||||
|
from pysysc.structural import Connection, Module, Signal, Clock, Simulation
|
||||||
|
###############################################################################
|
||||||
|
# define toplevel class
|
||||||
|
###############################################################################
|
||||||
|
class TopModule(cpp.scc.PyScModule):
|
||||||
|
|
||||||
|
def __init__(self, name):
|
||||||
|
super().__init__(self, name)
|
||||||
|
###############################################################################
|
||||||
|
# instantiate
|
||||||
|
###############################################################################
|
||||||
|
self.rst_gen = Module(cpp.tgfs_vp.rst_gen).create("rst_gen")
|
||||||
|
self.aon = Module(cpp.vpvper.sifive.aon).create("aon")
|
||||||
|
self.clint = Module(cpp.vpvper.sifive.clint).create("clint")
|
||||||
|
self.uart = Module(cpp.vpvper.sifive.uart_terminal).create("uart0")
|
||||||
|
|
||||||
|
self.mem_qspi = Module(cpp.scc.memory[2**24,32]).create("mem_qspi")
|
||||||
|
self.mem_ram = Module(cpp.scc.memory[1024,32]).create("mem_ram")
|
||||||
|
self.core_complex = Module(cpp.sysc.tgfs.core_complex).create("core_complex")
|
||||||
|
self.router = Module(cpp.scc.router[32]).create("router", 5)
|
||||||
|
###############################################################################
|
||||||
|
# connect them
|
||||||
|
###############################################################################
|
||||||
|
Clock("clock", 64.5, 'SC_NS')\
|
||||||
|
.sink(self.aon.clk_i)\
|
||||||
|
.sink(self.clint.tlclk_i)\
|
||||||
|
.sink(self.core_complex.clk_i)
|
||||||
|
|
||||||
|
self.lfclk = Signal("lfclk").src(self.aon.lfclkc_o).sink(self.clint.lfclk_i)
|
||||||
|
|
||||||
|
self.rst = Signal("rst").src(self.aon.rst_o)\
|
||||||
|
.sink(self.clint.rst_i)\
|
||||||
|
.sink(self.uart.rst_i)\
|
||||||
|
.sink(self.core_complex.rst_i)
|
||||||
|
|
||||||
|
Signal("erst_s").src(self.rst_gen.rst_n).sink(self.aon.erst_n_i)
|
||||||
|
|
||||||
|
# Interrupts
|
||||||
|
Signal("timer_irq_s").src(self.clint.mtime_int_o).sink(self.core_complex.timer_irq_i)
|
||||||
|
Signal("sw_irq_s").src(self.clint.msip_int_o).sink(self.core_complex.sw_irq_i)
|
||||||
|
Signal("core_irq_s").src(self.uart.irq_o).sink(self.core_complex.global_irq_i)
|
||||||
|
[Signal(f"local_irq_{idx}").sink(self.core_complex.local_irq_i.at(idx)) for idx in range(self.core_complex.local_irq_i.size())]
|
||||||
|
|
||||||
|
# Routing
|
||||||
|
Connection().src(self.core_complex.initiator).sink(self.router.target.at(0))
|
||||||
|
Connection().src(self.router.initiator.at(0)).sink(self.clint.socket)
|
||||||
|
self.router.set_target_range(0, 0x2000000, 0xc000)
|
||||||
|
Connection().src(self.router.initiator.at(1)).sink(self.aon.socket)
|
||||||
|
self.router.set_target_range(1, 0x10000000, 0x150)
|
||||||
|
Connection().src(self.router.initiator.at(2)).sink(self.mem_qspi.target)
|
||||||
|
self.router.set_target_range(2, 0x20000000, 2**24)
|
||||||
|
Connection().src(self.router.initiator.at(3)).sink(self.mem_ram.target)
|
||||||
|
self.router.set_target_range(3, 0x80000000, 1024)
|
||||||
|
Connection().src(self.router.initiator.at(4)).sink(self.uart.socket)
|
||||||
|
self.router.set_target_range(4, 0x10013000, 0x1c)
|
||||||
|
|
||||||
|
def EndOfElaboration(self):
|
||||||
|
print("Elaboration finished")
|
||||||
|
|
||||||
|
def StartOfSimulation(self):
|
||||||
|
print("Simulation started")
|
||||||
|
|
||||||
|
def EndOfSimulation(self):
|
||||||
|
print("Simulation finished")
|
||||||
|
|
||||||
66
pysysc/tgc-vp-toplevel.py
Executable file
66
pysysc/tgc-vp-toplevel.py
Executable file
@@ -0,0 +1,66 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
import os.path
|
||||||
|
import logging
|
||||||
|
import cppyy
|
||||||
|
from cppyy import gbl as cpp
|
||||||
|
import pysysc
|
||||||
|
import pysysc.scc as scc
|
||||||
|
from pysysc.structural import Module, Simulation
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Include and load section
|
||||||
|
###############################################################################
|
||||||
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
|
###############################################################################
|
||||||
|
current_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
project_dir = os.path.dirname(current_dir)
|
||||||
|
logging.info(f"Project dir: {project_dir}")
|
||||||
|
if os.path.isdir(os.path.join(project_dir, 'build/Debug')):
|
||||||
|
pysysc.read_config_from_conan(os.path.join(project_dir, 'build/Debug'))
|
||||||
|
elif os.path.isdir(os.path.join(project_dir, 'build/Release')):
|
||||||
|
pysysc.read_config_from_conan(os.path.join(project_dir, 'build/Release'))
|
||||||
|
elif os.path.isdir(os.path.join(project_dir, 'build')):
|
||||||
|
pysysc.read_config_from_conan(os.path.join(project_dir, 'build'))
|
||||||
|
else:
|
||||||
|
sys.exit("Could not find build dir")
|
||||||
|
|
||||||
|
pysysc.load_systemc()
|
||||||
|
###############################################################################
|
||||||
|
scc.load_lib(project_dir)
|
||||||
|
###############################################################################
|
||||||
|
logging.debug("Loading TGC-VP Peripherals libs")
|
||||||
|
pysysc.add_include_path(os.path.join(project_dir, 'vpvper'))
|
||||||
|
pysysc.add_library('sifive.h', 'libvpvper_sifive.so', project_dir)
|
||||||
|
###############################################################################
|
||||||
|
logging.debug("Loading TGC-ISS")
|
||||||
|
pysysc.add_include_path(os.path.join(project_dir, 'tgc-iss/dbt-rise-tgc/incl/sysc'))
|
||||||
|
pysysc.add_library('core_complex.h', 'libdbt-rise-tgc_sc.so', project_dir)
|
||||||
|
###############################################################################
|
||||||
|
# Include section
|
||||||
|
###############################################################################
|
||||||
|
cppyy.include(os.path.join(project_dir, 'src/tgfs_vp/rst_gen.h'))
|
||||||
|
###############################################################################
|
||||||
|
# configure
|
||||||
|
###############################################################################
|
||||||
|
scc.setup(logging.root.level)
|
||||||
|
scc.configure(enable_trace=True)
|
||||||
|
###############################################################################
|
||||||
|
# instantiate
|
||||||
|
###############################################################################
|
||||||
|
from modules import TopModule
|
||||||
|
dut = Module(TopModule).create("dut")
|
||||||
|
# Load FW
|
||||||
|
dut.core_complex.instance.elf_file.set_value(os.path.join(project_dir, 'fw/hello-world/prebuilt/hello.elf'))
|
||||||
|
#dut.core_complex.instance.enable_disass.set_value(True)
|
||||||
|
###############################################################################
|
||||||
|
# run if it is standalone
|
||||||
|
###############################################################################
|
||||||
|
if __name__ == "__main__":
|
||||||
|
Simulation.run()
|
||||||
|
logging.debug("Done")
|
||||||
|
|
||||||
1
requirements.txt
Normal file
1
requirements.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
conan>=2.0
|
||||||
1
scc
Submodule
1
scc
Submodule
Submodule scc added at f16144cd02
113
src/CLIParser.cpp
Normal file
113
src/CLIParser.cpp
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "CLIParser.h"
|
||||||
|
#include <scc/report.h>
|
||||||
|
#include <iostream>
|
||||||
|
#include <iss/log_categories.h>
|
||||||
|
#include <scc/report.h>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <unordered_set>
|
||||||
|
#ifdef ERROR
|
||||||
|
#undef ERROR
|
||||||
|
#endif
|
||||||
|
namespace po = boost::program_options;
|
||||||
|
using namespace sc_core;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
std::unordered_set<std::string> backend_opts = {"interp", "tcc", "llvm", "asmjit"};
|
||||||
|
}
|
||||||
|
CLIParser::CLIParser(int argc, char *argv[])
|
||||||
|
: desc("Options")
|
||||||
|
, valid(false) {
|
||||||
|
build();
|
||||||
|
try {
|
||||||
|
po::store(po::parse_command_line(argc, argv, desc), vm_); // can throw
|
||||||
|
// --help option
|
||||||
|
if (vm_.count("help")) {
|
||||||
|
std::cout << "DBT-RISE-TGC based virtual platform of TGC cores" << std::endl << desc << std::endl;
|
||||||
|
}
|
||||||
|
po::notify(vm_); // throws on error, so do after help in case there are any problems
|
||||||
|
valid = true;
|
||||||
|
if(backend_opts.find(vm_["backend"].as<std::string>())== std::end(backend_opts))
|
||||||
|
throw po::error("Illegal value for switch backend");
|
||||||
|
} catch (po::error &e) {
|
||||||
|
std::cerr << "ERROR: " << e.what() << std::endl << std::endl;
|
||||||
|
std::cerr << desc << std::endl;
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
auto log_level = vm_["verbose"].as<scc::log>();
|
||||||
|
auto log_level_num = static_cast<unsigned>(log_level);
|
||||||
|
LOGGER(DEFAULT)::reporting_level() = logging::as_log_level(log_level_num > 6 ? 6 : log_level_num);;
|
||||||
|
LOGGER(DEFAULT)::print_time() = false;
|
||||||
|
LOG_OUTPUT(DEFAULT)::ostream() = &std::cout;
|
||||||
|
LOGGER(connection)::reporting_level() = logging::as_log_level(log_level_num > 4 ? log_level_num-1 : log_level_num);;
|
||||||
|
LOGGER(connection)::print_time() = false;
|
||||||
|
LOG_OUTPUT(connection)::ostream() = &std::cout;
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// configure logging
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
scc::init_logging(scc::LogConfig()
|
||||||
|
.logFileName(vm_["log-file"].as<std::string>())
|
||||||
|
.logLevel(vm_["verbose"].as<scc::log>())
|
||||||
|
.logFilterRegex(vm_["log-filter"].as<std::string>())
|
||||||
|
.logAsync(!vm_["log-sync"].as<bool>()));
|
||||||
|
scc::stream_redirection cout_redir(std::cout, scc::log::DEBUG);
|
||||||
|
scc::stream_redirection cerr_redir(std::cerr, scc::log::ERROR);
|
||||||
|
sc_core::sc_report_handler::set_actions("/IEEE_Std_1666/deprecated", sc_core::SC_DO_NOTHING);
|
||||||
|
sc_core::sc_report_handler::set_actions(sc_core::SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, sc_core::SC_DO_NOTHING);
|
||||||
|
sc_core::sc_report_handler::set_actions(sc_core::SC_ERROR, sc_core::SC_LOG | sc_core::SC_CACHE_REPORT | sc_core::SC_DISPLAY | sc_core::SC_STOP);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CLIParser::build() {
|
||||||
|
// clang-format off
|
||||||
|
desc.add_options()
|
||||||
|
("help,h",
|
||||||
|
"Print help message")
|
||||||
|
("verbose,v", po::value<scc::log>()->default_value(scc::log::INFO),
|
||||||
|
"debug output level (NONE, FATAL, ERROR, WARNING, INFO, DEBUG, TRACE, TRACEALL)")
|
||||||
|
("log-file,l", po::value<std::string>()->default_value(""),
|
||||||
|
"log file name")
|
||||||
|
("log-filter", po::value<std::string>()->default_value(""),
|
||||||
|
"log filter regular expression name")
|
||||||
|
("log-sync", po::bool_switch(),
|
||||||
|
"Disable asynchronous logging")
|
||||||
|
("disass,d", po::value<std::string>()->implicit_value(""),
|
||||||
|
"Enables disassembly")
|
||||||
|
("elf,f", po::value<std::string>(),
|
||||||
|
"ELF file to load")
|
||||||
|
("gdb-port,g", po::value<unsigned short>()->default_value(0),
|
||||||
|
"enable gdb server and specify port to use")
|
||||||
|
("backend", po::value<std::string>()->default_value("interp"),
|
||||||
|
"the ISS backend to use, options are: interp, tcc")
|
||||||
|
("isa", po::value<std::string>()->default_value("tgc5c"),
|
||||||
|
"core or isa name to use for simulation, use '?' to get list")
|
||||||
|
("dump-ir",
|
||||||
|
"dump the intermediate representation")
|
||||||
|
("dump-structure", po::value<std::string>(),
|
||||||
|
"dump model structure to ELK file")
|
||||||
|
("quantum", po::value<unsigned>(),
|
||||||
|
"SystemC quantum time in ns")
|
||||||
|
("reset,r", po::value<std::string>(),
|
||||||
|
"reset address")
|
||||||
|
("trace-level,t", po::value<unsigned>()->default_value(0),
|
||||||
|
"enable tracing, or combination of 1=signals and 2=TX")
|
||||||
|
("trace-default-on",
|
||||||
|
"enables tracing for all unspecified modules")
|
||||||
|
("trace-file", po::value<std::string>()->default_value("system"),
|
||||||
|
"set th ename of the trace file")
|
||||||
|
("max_time,m", po::value<std::string>(),
|
||||||
|
"maximum time to run")
|
||||||
|
("config-file,c", po::value<std::string>()->default_value(""),
|
||||||
|
"read configuration from file")
|
||||||
|
("plugin,p", po::value<std::vector<std::string>>(),
|
||||||
|
"plugin(s) to activate")
|
||||||
|
("dump-config,dc", po::value<std::string>()->default_value(""),
|
||||||
|
"dump configuration to file file");
|
||||||
|
// clang-format on
|
||||||
|
}
|
||||||
|
|
||||||
|
CLIParser::~CLIParser() = default;
|
||||||
36
src/CLIParser.h
Normal file
36
src/CLIParser.h
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PLATFORM_SRC_CLIPARSER_H_
|
||||||
|
#define PLATFORM_SRC_CLIPARSER_H_
|
||||||
|
|
||||||
|
#include <boost/program_options.hpp>
|
||||||
|
#include <scc/report.h>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
class CLIParser {
|
||||||
|
public:
|
||||||
|
CLIParser(int argc, char *argv[]);
|
||||||
|
|
||||||
|
virtual ~CLIParser();
|
||||||
|
|
||||||
|
bool is_valid() { return valid; }
|
||||||
|
|
||||||
|
const boost::program_options::variables_map &vm() { return vm_; }
|
||||||
|
|
||||||
|
bool is_set(const char *option) { return vm_.count(option) != 0; }
|
||||||
|
|
||||||
|
template <typename T> const T &get(const char *option) { return vm_[option].as<T>(); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
void build();
|
||||||
|
bool valid;
|
||||||
|
boost::program_options::variables_map vm_;
|
||||||
|
boost::program_options::options_description desc;
|
||||||
|
std::array<std::unique_ptr<scc::stream_redirection>, 2> redir;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* PLATFORM_SRC_CLIPARSER_H_ */
|
||||||
38
src/CMakeLists.txt
Normal file
38
src/CMakeLists.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
cmake_minimum_required(VERSION 3.12)
|
||||||
|
project(riscv-vp LANGUAGES C CXX VERSION 0.0.1)
|
||||||
|
|
||||||
|
include(flink)
|
||||||
|
|
||||||
|
find_package(Boost COMPONENTS program_options thread REQUIRED)
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
set(CMAKE_INSTALL_RPATH $ORIGIN/../${CMAKE_INSTALL_LIBDIR})
|
||||||
|
add_executable(${PROJECT_NAME}
|
||||||
|
sc_main.cpp
|
||||||
|
CLIParser.cpp
|
||||||
|
vp/tb.cpp
|
||||||
|
vp/system.cpp
|
||||||
|
)
|
||||||
|
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
target_force_link_libraries(${PROJECT_NAME} PUBLIC dbt-rise-riscv_sc)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PUBLIC vpvper_generic vpvper_minres ${BOOST_program_options_LIBRARY})
|
||||||
|
if(TARGET Boost::program_options)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PUBLIC Boost::program_options Boost::thread)
|
||||||
|
else()
|
||||||
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${BOOST_program_options_LIBRARY})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(TARGETS ${PROJECT_NAME}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # static lib
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # binaries
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # shared lib
|
||||||
|
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR} # for mac
|
||||||
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} # headers for mac (note the different component -> different package)
|
||||||
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} # headers
|
||||||
|
)
|
||||||
142
src/sc_main.cpp
Normal file
142
src/sc_main.cpp
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "CLIParser.h"
|
||||||
|
#include <iss/log_categories.h>
|
||||||
|
|
||||||
|
#include <scc/configurable_tracer.h>
|
||||||
|
#include <scc/configurer.h>
|
||||||
|
#include <scc/hierarchy_dumper.h>
|
||||||
|
#include <scc/report.h>
|
||||||
|
#include <scc/scv/scv_tr_db.h>
|
||||||
|
#include <scc/tracer.h>
|
||||||
|
#include <scc/perf_estimator.h>
|
||||||
|
#ifdef WITH_LLVM
|
||||||
|
#include <iss/llvm/jit_helper.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <boost/program_options.hpp>
|
||||||
|
#include "vp/tb.h"
|
||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
#include <sstream>
|
||||||
|
#ifdef ERROR
|
||||||
|
#undef ERROR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const std::string core_path{"tb.top.core_complex"};
|
||||||
|
|
||||||
|
using namespace sysc;
|
||||||
|
using namespace sc_core;
|
||||||
|
namespace po = boost::program_options;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
const size_t ERRORR_IN_COMMAND_LINE = 1;
|
||||||
|
const size_t SUCCESS = 0;
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
int sc_main(int argc, char *argv[]) {
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// SystemC >=2.2 got picky about multiple drivers so disable check
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
sc_report_handler::set_actions(SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, SC_DO_NOTHING);
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// CLI argument parsing & logging setup
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
CLIParser parser(argc, argv);
|
||||||
|
if (!parser.is_valid()) return ERRORR_IN_COMMAND_LINE;
|
||||||
|
scc::stream_redirection cout_redir(std::cout, scc::log::INFO);
|
||||||
|
scc::stream_redirection cerr_redir(std::cerr, scc::log::ERROR);
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// set up infrastructure
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#ifdef WITH_LLVM
|
||||||
|
iss::init_jit_debug(argc, argv);
|
||||||
|
#endif
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// create the performance estimation module
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
scc::perf_estimator estimator;
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// set up configuration
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
scc::configurer cfg(parser.get<std::string>("config-file"));
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// set up tracing & transaction recording
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
std::unique_ptr<scc::configurable_tracer> tracer;
|
||||||
|
if( auto trace_level = parser.get<unsigned>("trace-level")) {
|
||||||
|
auto file_name = parser.get<std::string>("trace-file");
|
||||||
|
auto enable_sig_trace = (trace_level&0x1) != 0;// bit0 enables sig trace
|
||||||
|
auto tx_trace_type = static_cast<scc::tracer::file_type>(trace_level >> 1); // bit3-bit1 define the kind of transaction trace
|
||||||
|
auto trace_default_on = parser.is_set("trace-default-on");
|
||||||
|
cfg.set_value("$$$scc_tracer$$$.tx_trace_type", static_cast<unsigned>(scc::tracer::file_type::FTR));
|
||||||
|
cfg.set_value("$$$scc_tracer$$$.sig_trace_type", static_cast<unsigned>(scc::tracer::file_type::SC_VCD));
|
||||||
|
tracer = scc::make_unique<scc::configurable_tracer>(file_name, tx_trace_type, enable_sig_trace, trace_default_on);
|
||||||
|
}
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// instantiate top level
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
auto i_system = scc::make_unique<tgc_vp::tb>("tb");
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// add non-implemented 'enableTracing' properties
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
if(tracer) tracer->add_control();
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// dump configuration if requested
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
if (parser.get<std::string>("dump-config").size() > 0) {
|
||||||
|
std::ofstream of{parser.get<std::string>("dump-config")};
|
||||||
|
if (of.is_open()) cfg.dump_configuration(of, true);
|
||||||
|
}
|
||||||
|
cfg.configure();
|
||||||
|
std::unique_ptr<scc::hierarchy_dumper> dumper;
|
||||||
|
if(parser.is_set("dump-structure"))
|
||||||
|
dumper.reset(new scc::hierarchy_dumper(parser.get<std::string>("dump-structure"), scc::hierarchy_dumper::D3JSON));
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// overwrite config with command line settings
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
cfg.set_value(core_path + ".gdb_server_port", parser.get<unsigned short>("gdb-port"));
|
||||||
|
cfg.set_value(core_path + ".dump_ir", parser.is_set("dump-ir"));
|
||||||
|
cfg.set_value(core_path + ".backend", parser.get<std::string>("backend"));
|
||||||
|
cfg.set_value(core_path + ".core_type", parser.get<std::string>("isa"));
|
||||||
|
if(parser.is_set("plugin")){
|
||||||
|
auto plugins = util::join(parser.get<std::vector<std::string>>("plugin"),",");
|
||||||
|
cfg.set_value(core_path + ".plugins", plugins);
|
||||||
|
}
|
||||||
|
if (parser.is_set("elf")) cfg.set_value(core_path + ".elf_file", parser.get<std::string>("elf"));
|
||||||
|
if (parser.is_set("quantum"))
|
||||||
|
tlm::tlm_global_quantum::instance().set(sc_core::sc_time(parser.get<unsigned>("quantum"), sc_core::SC_NS));
|
||||||
|
if (parser.is_set("reset")) {
|
||||||
|
auto str = parser.get<std::string>("reset");
|
||||||
|
uint64_t start_address = str.find("0x") == 0 ? std::stoull(str.substr(2), nullptr, 16) : std::stoull(str, nullptr, 10);
|
||||||
|
cfg.set_value(core_path + ".reset_address", start_address);
|
||||||
|
}
|
||||||
|
if (parser.is_set("disass")) {
|
||||||
|
cfg.set_value(core_path + ".enable_disass", true);
|
||||||
|
LOGGER(disass)::reporting_level() = logging::INFO;
|
||||||
|
auto file_name = parser.get<std::string>("disass");
|
||||||
|
if (file_name.length() > 0) {
|
||||||
|
LOG_OUTPUT(disass)::stream() = fopen(file_name.c_str(), "w");
|
||||||
|
LOGGER(disass)::print_time() = false;
|
||||||
|
LOGGER(disass)::print_severity() = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// run simulation
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
try {
|
||||||
|
if (parser.is_set("max_time")) {
|
||||||
|
sc_core::sc_start(scc::parse_from_string(parser.get<std::string>("max_time")));
|
||||||
|
} else
|
||||||
|
sc_core::sc_start();
|
||||||
|
if (!sc_core::sc_end_of_simulation_invoked()) sc_core::sc_stop();
|
||||||
|
} catch (sc_core::sc_report &rep) {
|
||||||
|
sc_core::sc_report_handler::get_handler()(rep, sc_core::SC_DISPLAY | sc_core::SC_STOP);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
21
src/vp/gen/PipelinedMemoryBusToApbBridge.h
Normal file
21
src/vp/gen/PipelinedMemoryBusToApbBridge.h
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2023 - 2024 MINRES Technologies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Generated at 2024-02-08 14:41:56 UTC
|
||||||
|
* by peakrdl_mnrs version 1.2.2
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// need double braces, see https://stackoverflow.com/questions/6893700/how-to-construct-stdarray-object-with-initializer-list#6894191
|
||||||
|
const std::array<scc::target_memory_map_entry<scc::LT>, 6> PipelinedMemoryBusToApbBridge_map = {{
|
||||||
|
{ gpio0.socket, 0x0, 0xc },
|
||||||
|
{ uart0.socket, 0x1000, 0x14 },
|
||||||
|
{ timer0.socket, 0x20000, 0x1c },
|
||||||
|
{ aclint.socket, 0x30000, 0xc000 },
|
||||||
|
{ irq_ctrl.socket, 0x40000, 0x8 },
|
||||||
|
{ qspi.socket, 0x50000, 0x5c },
|
||||||
|
//{ bootloader.socket, 0x80000, 0x400 },
|
||||||
|
}} ;
|
||||||
26
src/vp/gen/platform_mmap.h
Normal file
26
src/vp/gen/platform_mmap.h
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
#ifndef _PLATFORM_MMAP_H_
|
||||||
|
#define _PLATFORM_MMAP_H_
|
||||||
|
// need double braces, see
|
||||||
|
// https://stackoverflow.com/questions/6893700/how-to-construct-stdarray-object-with-initializer-list#6894191
|
||||||
|
const std::array<scc::target_memory_map_entry<scc::LT>, 13> platfrom_mmap = {{
|
||||||
|
{clint.socket, 0x2000000, 0xc000},
|
||||||
|
{plic.socket, 0xc000000, 0x200008},
|
||||||
|
{aon.socket, 0x10000000, 0x150},
|
||||||
|
{prci.socket, 0x10008000, 0x14},
|
||||||
|
{gpio0.socket, 0x10012000, 0x44},
|
||||||
|
{uart0.socket, 0x10013000, 0x1c},
|
||||||
|
{qspi0.socket, 0x10014000, 0x78},
|
||||||
|
{pwm0.socket, 0x10015000, 0x30},
|
||||||
|
{uart1.socket, 0x10023000, 0x1c},
|
||||||
|
{qspi1.socket, 0x10024000, 0x78},
|
||||||
|
{pwm1.socket, 0x10025000, 0x30},
|
||||||
|
{qspi2.socket, 0x10034000, 0x78},
|
||||||
|
{pwm2.socket, 0x10035000, 0x30},
|
||||||
|
}};
|
||||||
|
|
||||||
|
#endif /* _PLATFORM_MMAP_H_ */
|
||||||
25
src/vp/platform.rdl
Normal file
25
src/vp/platform.rdl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
`include "gpio.rdl"
|
||||||
|
`include "uart.rdl"
|
||||||
|
`include "spi.rdl"
|
||||||
|
`include "pwm.rdl"
|
||||||
|
`include "plic.rdl"
|
||||||
|
`include "aon.rdl"
|
||||||
|
`include "prci.rdl"
|
||||||
|
`include "clint.rdl"
|
||||||
|
|
||||||
|
addrmap e300_plat_t {
|
||||||
|
lsb0;
|
||||||
|
clint_regs clint @0x02000000;
|
||||||
|
plic_regs plic @0x0C000000;
|
||||||
|
aon_regs aon @0x10000000;
|
||||||
|
prci_regs prci @0x10008000;
|
||||||
|
gpio_regs gpio0 @0x10012000;
|
||||||
|
uart_regs uart0 @0x10013000;
|
||||||
|
spi_regs qspi0 @0x10014000;
|
||||||
|
pwm_regs pwm0 @0x10015000;
|
||||||
|
uart_regs uart1 @0x10023000;
|
||||||
|
spi_regs qspi1 @0x10024000;
|
||||||
|
pwm_regs pwm1 @0x10025000;
|
||||||
|
spi_regs qspi2 @0x10034000;
|
||||||
|
pwm_regs pwm2 @0x10035000;
|
||||||
|
} e300_plat;
|
||||||
27
src/vp/rst_gen.h
Normal file
27
src/vp/rst_gen.h
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <systemc>
|
||||||
|
namespace tgc_vp {
|
||||||
|
|
||||||
|
class rst_gen : public sc_core::sc_module {
|
||||||
|
SC_HAS_PROCESS(rst_gen);
|
||||||
|
public:
|
||||||
|
rst_gen(sc_core::sc_module_name const& nm) {
|
||||||
|
SC_THREAD(run);
|
||||||
|
}
|
||||||
|
sc_core::sc_out<bool> rst_n{"rst_n"};
|
||||||
|
private:
|
||||||
|
void run(){
|
||||||
|
rst_n.write(false);
|
||||||
|
wait(100_ns);
|
||||||
|
rst_n.write(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
} /* namespace tgc_vp */
|
||||||
96
src/vp/system.cpp
Normal file
96
src/vp/system.cpp
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../vp/system.h"
|
||||||
|
|
||||||
|
#include "minres/timer.h"
|
||||||
|
#include "minres/uart.h"
|
||||||
|
#include "scc/utilities.h"
|
||||||
|
|
||||||
|
namespace tgc_vp {
|
||||||
|
using namespace sc_core;
|
||||||
|
using namespace vpvper::minres;
|
||||||
|
using namespace sysc::tgfs;
|
||||||
|
|
||||||
|
system::system(sc_core::sc_module_name nm)
|
||||||
|
: sc_core::sc_module(nm)
|
||||||
|
, NAMED(ahb_router, 3, 2)
|
||||||
|
, NAMED(apbBridge, PipelinedMemoryBusToApbBridge_map.size(), 1){
|
||||||
|
core_complex.ibus(ahb_router.target[0]);
|
||||||
|
core_complex.dbus(ahb_router.target[1]);
|
||||||
|
|
||||||
|
ahb_router.initiator.at(0)(qspi.xip_sck);
|
||||||
|
ahb_router.set_target_range(0, 0xE0000000, 16_MB);
|
||||||
|
ahb_router.initiator.at(1)(mem_ram.target);
|
||||||
|
ahb_router.set_target_range(1, 0x80000000, 32_kB);
|
||||||
|
ahb_router.initiator.at(2)(apbBridge.target[0]);
|
||||||
|
ahb_router.set_target_range(2, 0xF0000000, 256_MB);
|
||||||
|
|
||||||
|
size_t i = 0;
|
||||||
|
for (const auto &e : PipelinedMemoryBusToApbBridge_map) {
|
||||||
|
apbBridge.initiator.at(i)(e.target);
|
||||||
|
apbBridge.set_target_range(i, e.start, e.size);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
gpio0.clk_i(clk_i);
|
||||||
|
uart0.clk_i(clk_i);
|
||||||
|
timer0.clk_i(clk_i);
|
||||||
|
aclint.clk_i(clk_i);
|
||||||
|
irq_ctrl.clk_i(clk_i);
|
||||||
|
qspi.clk_i(clk_i);
|
||||||
|
core_complex.clk_i(clk_i);
|
||||||
|
//mem_ram.clk_i(clk_i);
|
||||||
|
|
||||||
|
gpio0.rst_i(rst_s);
|
||||||
|
uart0.rst_i(rst_s);
|
||||||
|
timer0.rst_i(rst_s);
|
||||||
|
aclint.rst_i(rst_s);
|
||||||
|
irq_ctrl.rst_i(rst_s);
|
||||||
|
qspi.rst_i(rst_s);
|
||||||
|
core_complex.rst_i(rst_s);
|
||||||
|
|
||||||
|
aclint.mtime_int_o(mtime_int_s);
|
||||||
|
aclint.msip_int_o(msip_int_s);
|
||||||
|
irq_ctrl.irq_o(core_int_s);
|
||||||
|
irq_ctrl.pending_irq_i(irq_int_s);
|
||||||
|
|
||||||
|
uart0.irq_o(irq_int_s[0]);
|
||||||
|
timer0.interrupt_o[0](irq_int_s[1]);
|
||||||
|
timer0.interrupt_o[1](irq_int_s[2]);
|
||||||
|
qspi.irq_o(irq_int_s[3]);
|
||||||
|
|
||||||
|
core_complex.timer_irq_i(mtime_int_s);
|
||||||
|
core_complex.ext_irq_i(core_int_s);
|
||||||
|
core_complex.local_irq_i(local_int_s);
|
||||||
|
core_complex.sw_irq_i(msip_int_s);
|
||||||
|
|
||||||
|
gpio0.pins_i(pins_i);
|
||||||
|
gpio0.pins_o(pins_o);
|
||||||
|
gpio0.oe_o(pins_oe_o);
|
||||||
|
|
||||||
|
uart0.tx_o(uart0_tx_o);
|
||||||
|
uart0.rx_i(uart0_rx_i);
|
||||||
|
|
||||||
|
timer0.clear_i(t0_clear_i);
|
||||||
|
timer0.tick_i(t0_tick_i);
|
||||||
|
|
||||||
|
qspi.ssclk_o(ssclk_o);
|
||||||
|
qspi.dq_o(dq_o);
|
||||||
|
qspi.dq_i(dq_i);
|
||||||
|
qspi.oe_o(dq_oe_o);
|
||||||
|
|
||||||
|
SC_METHOD(gen_reset);
|
||||||
|
sensitive << erst_n;
|
||||||
|
}
|
||||||
|
void system::gen_reset(){
|
||||||
|
if(erst_n.read())
|
||||||
|
rst_s = 0;
|
||||||
|
else rst_s = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} /* namespace sysc */
|
||||||
78
src/vp/system.h
Normal file
78
src/vp/system.h
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _PLATFORM_H_
|
||||||
|
#define _PLATFORM_H_
|
||||||
|
|
||||||
|
#include "minres/irq.h"
|
||||||
|
#include "minres/timer.h"
|
||||||
|
#include <minres/aclint.h>
|
||||||
|
#include <minres/gpio.h>
|
||||||
|
#include <minres/qspi.h>
|
||||||
|
#include <sysc/communication/sc_clock.h>
|
||||||
|
#include <sysc/communication/sc_signal_ports.h>
|
||||||
|
#include <sysc/core_complex.h>
|
||||||
|
#include <minres/uart.h>
|
||||||
|
#include <cci_configuration>
|
||||||
|
#include <scc/memory.h>
|
||||||
|
#include <scc/router.h>
|
||||||
|
#include <scc/utilities.h>
|
||||||
|
#include <sysc/kernel/sc_time.h>
|
||||||
|
#include <sysc/utils/sc_vector.h>
|
||||||
|
#include <tlm/scc/tlm_signal_sockets.h>
|
||||||
|
#include <array>
|
||||||
|
#include <memory>
|
||||||
|
#include <sysc/kernel/sc_module.h>
|
||||||
|
|
||||||
|
namespace tgc_vp {
|
||||||
|
|
||||||
|
class system : public sc_core::sc_module {
|
||||||
|
public:
|
||||||
|
SC_HAS_PROCESS(system);// NOLINT
|
||||||
|
|
||||||
|
sc_core::sc_vector<sc_core::sc_out<bool>> pins_o{"pins_o",32};
|
||||||
|
sc_core::sc_vector<sc_core::sc_out<bool>> pins_oe_o{"pins_oe_o", 32};
|
||||||
|
sc_core::sc_vector<sc_core::sc_in<bool>> pins_i{"pins_i", 32};
|
||||||
|
sc_core::sc_out<bool> uart0_tx_o {"uart0_tx_o"};
|
||||||
|
sc_core::sc_in<bool> uart0_rx_i {"uart0_rx_i"};
|
||||||
|
sc_core::sc_vector<sc_core::sc_in<bool>> t0_clear_i {"t0_clear_i", vpvper::minres::timer::CLEAR_CNT};
|
||||||
|
sc_core::sc_vector<sc_core::sc_in<bool>> t0_tick_i {"t0_tick_i", vpvper::minres::timer::TICK_CNT-1};
|
||||||
|
sc_core::sc_out<bool> ssclk_o{"ssclk_o"};
|
||||||
|
sc_core::sc_vector<sc_core::sc_out<bool>> dq_o{"dq_o", 4};
|
||||||
|
sc_core::sc_vector<sc_core::sc_out<bool>> dq_oe_o{"dq_oe_o", 4};
|
||||||
|
sc_core::sc_vector<sc_core::sc_in<bool>> dq_i{"dq_i", 4};
|
||||||
|
|
||||||
|
sc_core::sc_in<sc_core::sc_time> clk_i{"clk_i"};
|
||||||
|
|
||||||
|
sc_core::sc_in<bool> erst_n{"erst_n"};
|
||||||
|
|
||||||
|
system(sc_core::sc_module_name nm);
|
||||||
|
|
||||||
|
private:
|
||||||
|
sysc::tgfs::core_complex core_complex{"core_complex"};
|
||||||
|
scc::router<> ahb_router, apbBridge;
|
||||||
|
vpvper::minres::gpio_tl gpio0{"gpio0"};
|
||||||
|
vpvper::minres::uart_tl uart0{"uart0"};
|
||||||
|
vpvper::minres::timer_tl timer0{"timer0"};
|
||||||
|
vpvper::minres::aclint_tl aclint{"aclint"};
|
||||||
|
vpvper::minres::irq_tl irq_ctrl{"irq_ctrl"};
|
||||||
|
vpvper::minres::qspi_tl qspi{"qspi"};
|
||||||
|
|
||||||
|
//scc::memory<1_kB, scc::LT> bootloader{"bootloader"};
|
||||||
|
scc::memory<32_kB, scc::LT> mem_ram {"mem_ram"};
|
||||||
|
|
||||||
|
sc_core::sc_signal<bool, sc_core::SC_MANY_WRITERS> rst_s{"rst_s"}, mtime_int_s{"mtime_int_s"}, msip_int_s{"msip_int_s"};
|
||||||
|
|
||||||
|
sc_core::sc_vector<sc_core::sc_signal<bool, sc_core::SC_MANY_WRITERS>> irq_int_s{"irq_int_s", 32}, local_int_s{"local_int_s", 16};
|
||||||
|
sc_core::sc_signal<bool, sc_core::SC_MANY_WRITERS> core_int_s{"core_int_s"};
|
||||||
|
|
||||||
|
void gen_reset();
|
||||||
|
#include "../vp/gen/PipelinedMemoryBusToApbBridge.h"
|
||||||
|
};
|
||||||
|
|
||||||
|
} /* namespace sysc */
|
||||||
|
|
||||||
|
#endif /* _PLATFORM_H_ */
|
||||||
30
src/vp/tb.cpp
Normal file
30
src/vp/tb.cpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../vp/tb.h"
|
||||||
|
|
||||||
|
#include <sysc/kernel/sc_time.h>
|
||||||
|
namespace tgc_vp {
|
||||||
|
|
||||||
|
SC_HAS_PROCESS(tb);
|
||||||
|
tb::tb(const sc_core::sc_module_name &nm): sc_core::sc_module(nm) {
|
||||||
|
top.erst_n(rst_n);
|
||||||
|
rst_gen.rst_n(rst_n);
|
||||||
|
top.pins_o(pins_o);
|
||||||
|
top.pins_i(pins_i);
|
||||||
|
top.pins_oe_o(pins_oe_o);
|
||||||
|
top.uart0_rx_i(uart0_rx_i);
|
||||||
|
top.uart0_tx_o(uart0_tx_o);
|
||||||
|
top.t0_clear_i(t0_clear_i);
|
||||||
|
top.t0_tick_i(t0_tick_i);
|
||||||
|
top.ssclk_o(ssclk_o);
|
||||||
|
top.dq_o(dq_o);
|
||||||
|
top.dq_i(dq_i);
|
||||||
|
top.dq_oe_o(dq_oe_o);
|
||||||
|
top.clk_i(clk_i);
|
||||||
|
clk_i = 10_ns;
|
||||||
|
}
|
||||||
|
}
|
||||||
39
src/vp/tb.h
Normal file
39
src/vp/tb.h
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019 -2021 MINRES Technolgies GmbH
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SRC_VP_TB_H_
|
||||||
|
#define SRC_VP_TB_H_
|
||||||
|
|
||||||
|
#include <generic/terminal.h>
|
||||||
|
#include <systemc>
|
||||||
|
|
||||||
|
#include "../vp/rst_gen.h"
|
||||||
|
#include "../vp/system.h"
|
||||||
|
namespace tgc_vp {
|
||||||
|
|
||||||
|
class tb : public sc_core::sc_module {
|
||||||
|
public:
|
||||||
|
tb(sc_core::sc_module_name const& nm);
|
||||||
|
tgc_vp::system top{"top"};
|
||||||
|
tgc_vp::rst_gen rst_gen{"rst_gen"};
|
||||||
|
sc_core::sc_signal<bool> rst_n{"rst_n"};
|
||||||
|
sc_core::sc_vector<sc_core::sc_signal<bool>> pins_o{"pins_o",32};
|
||||||
|
sc_core::sc_vector<sc_core::sc_signal<bool>> pins_oe_o{"pins_oe_o", 32};
|
||||||
|
sc_core::sc_vector<sc_core::sc_signal<bool>> pins_i{"pins_i", 32};
|
||||||
|
sc_core::sc_signal<bool> uart0_tx_o {"uart0_tx_o"};
|
||||||
|
sc_core::sc_signal<bool> uart0_rx_i {"uart0_rx_i"};
|
||||||
|
sc_core::sc_vector<sc_core::sc_signal<bool>> t0_clear_i {"t0_clear_i", vpvper::minres::timer::CLEAR_CNT};
|
||||||
|
sc_core::sc_vector<sc_core::sc_signal<bool>> t0_tick_i {"t0_tick_i", vpvper::minres::timer::TICK_CNT-1};
|
||||||
|
sc_core::sc_signal<bool> ssclk_o{"ssclk_o"};
|
||||||
|
sc_core::sc_vector<sc_core::sc_signal<bool>> dq_o{"dq_o", 4};
|
||||||
|
sc_core::sc_vector<sc_core::sc_signal<bool>> dq_oe_o{"dq_oe_o", 4};
|
||||||
|
sc_core::sc_vector<sc_core::sc_signal<bool>> dq_i{"dq_i", 4};
|
||||||
|
sc_core::sc_signal<sc_core::sc_time> clk_i{"clk_i"};
|
||||||
|
};
|
||||||
|
|
||||||
|
} /* namespace tgc_vp */
|
||||||
|
|
||||||
|
#endif /* SRC_VP_TB_H_ */
|
||||||
1
vpvper
Submodule
1
vpvper
Submodule
Submodule vpvper added at 899316db7e
Reference in New Issue
Block a user