Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
YasaminMoradi committed Aug 20, 2019
0 parents commit d4e5098
Show file tree
Hide file tree
Showing 348 changed files with 124,116 additions and 0 deletions.
22 changes: 22 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# see http://clang.llvm.org/docs/ClangFormatStyleOptions.html
# BasedOnStyle: LLVM

AccessModifierOffset: -2
AlignEscapedNewlines: Left
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: false
AlwaysBreakTemplateDeclarations: true
BreakBeforeBraces: Allman
BreakConstructorInitializersBeforeComma: true
ColumnLimit: 120
ConstructorInitializerAllOnOneLineOrOnePerLine: true
Cpp11BracedListStyle: false
IndentCaseLabels: false
IndentWidth: 4
KeepEmptyLinesAtTheStartOfBlocks: true
MaxEmptyLinesToKeep: 1
PenaltyReturnTypeOnItsOwnLine: 10000
PointerBindsToType: false
SortIncludes: false
UseTab: Never

6 changes: 6 additions & 0 deletions .directory
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[Dolphin]
Timestamp=2019,8,20,16,31,53
Version=3

[Settings]
HiddenFilesShown=true
42 changes: 42 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# build artifacts
**/build/
**/b/

# IDE files
.vscode

# Temporaries
*~
203 changes: 203 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
# ------------------- ETISS CI flow --------------------------
# Build process is written in shell
# Testers are written in python for easily plugging in new tester
# All script is located in ./ci directory
# --------------------------------------------------------------

image: gitlab.lrz.de:5005/de-tum-ei-eda-esl/etiss:latest

stages:
- build
- test
- gdbtest
- deploy

#before_script:


Build:
stage: build
script:
- whoami
- echo $HOME
- sh ./ci/build.sh
cache:
key: build_cache
paths:
- "build_dir"
- "ci/tester.log"

# Manually re-build project in GitLab GUI
ReBuild:
stage: build
script:
- rm -rf build_dir
- sh ./ci/build.sh
cache:
key: build_cache
paths:
- "build_dir"
when: manual

FailuerHandling:
stage: test
script:
- rm -rf build_dir
when: manual

Or1kTester:
stage: test
script:
- cd ci
- python3 Tester.py -arch Or1k
- cd ..
# only:
# - master
# - '/.*[oO][rR]1[kK].*/'
cache:
key: build_cache
paths:
- "build_dir"
- "ci/tester.log"

dependencies:
- Build
artifacts:
paths:
- "ci/tester.log"
expire_in: 2 weeks

RiscvTester:
stage: test
script:
- cd ci
- python3 Tester.py -arch RISCV
- cd ..
# only:
# - master
# - '/.*[rR][iI][sS][cC]-?_?[vV].*/'
cache:
key: build_cache
paths:
- "build_dir"
- "ci/tester.log"
dependencies:
- Build
artifacts:
paths:
- "ci/tester.log"
expire_in: 2 weeks

# Testers in the following are architecture specific testers.
# Note: Use the following part for testing ARM if available
#Armv6MTester:
# stage: test
# script:
# - cd ci
# - python3 Tester.py -arch Armv6M
# - cd ..
# only:
# - master
# - '/.*[aA][rR][mM][vV]?6?[mM]?.*/'
# cache:
# key: build_cache
# paths:
# - "build_dir"
# - "ci/tester.log"
# dependencies:
# - Build
# artifacts:
# paths:
# - "ci/tester.log"
# expire_in: 2 weeks

Or1kGDBTester:
stage: gdbtest
script:
- cd ci
- python3 Tester.py -arch Or1k -gdb
- cd ..
cache:
key: build_cache
paths:
- "build_dir"
- "ci/tester.log"
# only:
# - master
# - '/.*[oO][rR]1[kK].*/'
dependencies:
- Or1kTester

RiscvGDBTester:
stage: gdbtest
script:
- cd ci
- python3 Tester.py -arch RISCV -gdb
cache:
key: build_cache
paths:
- "build_dir"
- "ci/tester.log"
# only:
# - master
# - '/.*[rR][iI][sS][cC]-?_?[vV].*/'
dependencies:
- RiscvTester

# Note: use this part for testing ARM if available.
#Armv6MGDBTester:
# stage: gdbtest
# script:
# - cd ci
# - python3 Tester.py -arch Armv6M -gdb
# - cd ..
# cache:
# key: build_cache
# paths:
# - "build_dir"
# - "ci/tester.log"
# only:
# - master
# - '/.*[aA][rR][mM][vV]?6?[mM]?.*/'
# dependencies:
# - Armv6MTester

CITester:
stage: test
script:
- cd ci
- python3 Tester.py
- cd ..
only:
- CI_dev
cache:
key: build_cache
paths:
- "build_dir"
- "ci/tester.log"
dependencies:
- Build
artifacts:
paths:
- "ci/tester.log"
expire_in: 2 weeks

Deploy:
stage: deploy
script:
- echo "Not implemented"
cache:
key: build_cache
paths:
- "build_dir"
- "ci/tester.log"
when: manual

deploy docker container:
stage: build
when: manual
script:
- cd ci
- docker build -t gitlab.lrz.de:5005/de-tum-ei-eda-esl/etiss .
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab.lrz.de:5005/de-tum-ei-eda-esl/etiss
- docker push gitlab.lrz.de:5005/de-tum-ei-eda-esl/etiss
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "PluginImpl/verilator"]
path = PluginImpl/verilator
url = [email protected]:de-tum-ei-eda-esl/etiss-plugin-verilator.git
branch = master
40 changes: 40 additions & 0 deletions ArchImpl/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#
# Copyright 2018 Infineon Technologies AG
#
# This file is part of ETISS tool, see <https://gitlab.lrz.de/de-tum-ei-eda-open/etiss>
#
# The initial version of this software has been created with the funding support by the German Federal
# Ministry of Education and Research(BMBF) in the project EffektiV under grant 01IS13022.
#
# Redistribution and use in source and binary forms, with or without modification, are permitted
# provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
# the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
# and the following disclaimer in the documentation and / or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse
# or promote products derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
#
# Author: Marc Greim <[email protected]>, Chair of Electronic Design Automation, TUM
#
# Version 0.1
#


#ADD_SUBDIRECTORY(ARMv6M)
ADD_SUBDIRECTORY(OR1K)
ADD_SUBDIRECTORY(RISCV)
ADD_SUBDIRECTORY(RISCV64)
54 changes: 54 additions & 0 deletions ArchImpl/OR1K/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#
# Copyright 2018 Infineon Technologies AG
#
# This file is part of ETISS tool, see <https://gitlab.lrz.de/de-tum-ei-eda-open/etiss>
#
# The initial version of this software has been created with the funding support by the German Federal
# Ministry of Education and Research(BMBF) in the project EffektiV under grant 01IS13022.
#
# Redistribution and use in source and binary forms, with or without modification, are permitted
# provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
# the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
# and the following disclaimer in the documentation and / or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse
# or promote products derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
#
# Author: Marc Greim <[email protected]>, Chair of Electronic Design Automation, TUM
#
# Version 0.1
#
PROJECT(OR1KArch)

ADD_LIBRARY(${PROJECT_NAME} SHARED
OR1K_Helper.cpp
OR1K.h
OR1KArch_fpu.cpp
OR1KArch.cpp
OR1KArch.h
OR1KCommonLocal.hpp
OR1KGDBCore.cpp
OR1KGDBCore.h
OR1KTimer.cpp
OR1KTimer.h
OR1200Timing.cpp
ORBIS32_I.cpp
ORBIS32_II.cpp
ORFPX32.cpp
)
# TODO: Rename this project to "OR1K" or all archs to "Arch_XXX".
ETISSPluginArchName(${PROJECT_NAME} "OR1K")
Loading

0 comments on commit d4e5098

Please sign in to comment.