Skip to content

Commit

Permalink
Merge pull request openhwgroup#151 from pulp-platform/ariane-4-release
Browse files Browse the repository at this point in the history
Ariane 4.0.0 release
  • Loading branch information
zarubaf committed Nov 29, 2018
2 parents 47dfa2f + 7e94938 commit 90f000e
Show file tree
Hide file tree
Showing 229 changed files with 27,455 additions and 5,876 deletions.
4 changes: 2 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ root = true
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
max_line_length = off
max_line_length = 100
# 4 space indentation
[*.{sv, svh, v, vhd}]
indent_style = space
indent_size = 4
indent_size = 2
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,12 @@ build/
*.vcd
*.log
*.out
*.jou
*.o
uart
work-ver/*
fpga/work-fpga
stdout/
work-dpi/
tb/riscv-isa-sim/
work-*/*
187 changes: 168 additions & 19 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
before_script:
# paths to local or network installations (the riscv toolchain and
# paths to local or network installations (the riscv toolchain and
# verilator are not built in the ci job as in travis)
- export QUESTASIM_HOME=/usr/pack/modelsim-10.6b-kgf/questasim/
- export QUESTASIM_VERSION=-10.6b
- export QUESTASIM_FLAGS=-noautoldlibpath
- export CXX=g++-7.2.0 CC=gcc-7.2.0
- export RISCV=/usr/scratch2/larain1/gitlabci/riscv_install
- export VERILATOR_ROOT=/usr/scratch2/larain1/gitlabci/verilator-3.924
- export RISCV=/scratch2/gitlabci/riscv_install
- export VERILATOR_ROOT=/scratch2/gitlabci/verilator-3.924
# setup dependent paths
- export PATH=${RISCV}/bin:$VERILATOR_ROOT/bin:${PATH}
- export LIBRARY_PATH=$RISCV/lib
Expand All @@ -15,46 +15,195 @@ before_script:
- export CPLUS_INCLUDE_PATH=$RISCV/include:$VERILATOR_ROOT/include:/usr/pack/gcc-7.2.0-af/linux-x64/include
# number of parallel jobs to use for make commands and simulation
- export NUM_JOBS=4
- which java
- java -version
- which git
- git --version
- ci/make-tmp.sh
- git submodule update --init --recursive

- git submodule init
- git submodule update --recursive

variables:
GIT_SUBMODULE_STRATEGY: recursive

stages:
- build
- test_std
- standard
- serpent

###################################
# prepare
build:
stage: build
script:
- ci/build-riscv-tests.sh
- ci/get-torture.sh
- make clean
- make torture-gen
# this currently does not work with the current runner version...
#- make torture-gen
artifacts:
paths:
- tmp
- tmp

###################################
# tests with standard cache system

# rv64ui-p-* and rv64ui-v-* tests
asm-quest:
stage: standard
script:
- make -j${NUM_JOBS} run-asm-tests batch-mode=1
dependencies:
- build

amo-quest:
stage: standard
script:
- make -j${NUM_JOBS} run-amo-tests batch-mode=1
dependencies:
- build

bench-quest:
stage: standard
script:
- make -j${NUM_JOBS} run-benchmarks batch-mode=1
dependencies:
- build

# rv64ui-p-* tests
asm1-ver:
stage: standard
script:
- make -j${NUM_JOBS} run-asm-tests1-verilator
dependencies:
- build

# rv64ui-v-* tests
asm2-ver:
stage: standard
script:
- make -j${NUM_JOBS} run-asm-tests2-verilator
dependencies:
- build

# rv64um-*-* tests
mul-ver:
stage: standard
script:
- make -j${NUM_JOBS} run-mul-verilator
dependencies:
- build

# atomics
amo-ver:
stage: standard
script:
- make -j${NUM_JOBS} run-amo-verilator
dependencies:
- build

bench-ver:
stage: standard
script:
- make -j${NUM_JOBS} run-benchmarks-verilator
dependencies:
- build

bench-ver:
stage: standard
script:
- make -j${NUM_JOBS} run-benchmarks-verilator
dependencies:
- build

# torture:
# stage: standard
# script:
# - make torture-rtest batch-mode=1
# - make torture-rtest-verilator
# dependencies:
# - build

serdiv-quest:
stage: standard
script:
- cd tb/tb_serdiv/
- make simc
- "grep 'CI: PASSED' summary.rep"
dependencies:
- build

###################################
# tests with serpent cache system

# rv64ui-p-* and rv64ui-v-* tests
s-asm-quest:
stage: serpent
script:
- make -j${NUM_JOBS} run-asm-tests defines=PITON_ARIANE+AXI64_CACHE_PORTS batch-mode=1
dependencies:
- build

# rv64ui-p-* and rv64ui-v-* tests
run-asm-tests-questa:
stage: test_std
s-bench-quest:
stage: serpent
script:
- make -j${NUM_JOBS} run-asm-tests
- make -j${NUM_JOBS} run-benchmarks defines=PITON_ARIANE+AXI64_CACHE_PORTS batch-mode=1
dependencies:
- build

run-benchmarks-questa:
stage: test_std
# rv64ui-p-* tests
s-asm1-ver:
stage: serpent
script:
- make -j${NUM_JOBS} run-benchmarks
- make -j${NUM_JOBS} run-asm-tests1-verilator defines=PITON_ARIANE+AXI64_CACHE_PORTS
dependencies:
- build
- build

# rv64ui-v-* tests
s-asm2-ver:
stage: serpent
script:
- make -j${NUM_JOBS} run-asm-tests2-verilator defines=PITON_ARIANE+AXI64_CACHE_PORTS
dependencies:
- build

# rv64um-*-* tests
mul-ver:
stage: standard
script:
- make -j${NUM_JOBS} run-mul-verilator defines=PITON_ARIANE+AXI64_CACHE_PORTS
dependencies:
- build

s-bench-ver:
stage: serpent
script:
- make -j${NUM_JOBS} run-benchmarks-verilator defines=PITON_ARIANE+AXI64_CACHE_PORTS
dependencies:
- build

s-icache-quest:
stage: serpent
script:
- cd tb/tb_serpent_icache/
- make simc
- "grep 'CI: PASSED' summary.rep"

torture:
stage: test_std
s-dcache-quest:
stage: serpent
script:
- make torture-rtest
- cd tb/tb_serpent_dcache/
- make simc
- "grep 'CI: PASSED' RD0_summary.rep"
- "grep 'CI: PASSED' RD1_summary.rep"
- "grep 'CI: PASSED' TB_MEM_summary.rep"
dependencies:
- build

# s-torture:
# stage: serpent
# script:
# - make torture-rtest defines=PITON_ARIANE+AXI64_CACHE_PORTS batch-mode=1
# - make torture-rtest-verilator defines=PITON_ARIANE+AXI64_CACHE_PORTS
# dependencies:
# - build
23 changes: 19 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,36 @@
[submodule "src/axi_node"]
path = src/axi_node
url = https://github.com/pulp-platform/axi_node.git
[submodule "src/fpu"]
path = src/fpu
url = https://github.com/pulp-platform/fpnew.git
[submodule "src/fpga-support"]
path = src/fpga-support
url = https://github.com/pulp-platform/fpga-support.git
[submodule "src/common_cells"]
path = src/common_cells
url = https://github.com/pulp-platform/common_cells.git
url = https://github.com/pulp-platform/common_cells.git
[submodule "src/axi"]
path = src/axi
url = https://github.com/pulp-platform/axi.git
[submodule "src/register_interface"]
path = src/register_interface
url = https://github.com/pulp-platform/register_interface.git
[submodule "fpga/src/apb_uart"]
path = fpga/src/apb_uart
url = https://github.com/pulp-platform/apb_uart.git
[submodule "fpga/src/apb_node"]
path = fpga/src/apb_node
url = https://github.com/pulp-platform/apb_node.git
[submodule "fpga/src/axi2apb"]
path = fpga/src/axi2apb
url = https://github.com/pulp-platform/axi2apb.git
[submodule "fpga/src/axi_slice"]
path = fpga/src/axi_slice
url = https://github.com/pulp-platform/axi_slice.git
[submodule "src/fpu_div_sqrt_mvp"]
path = src/fpu_div_sqrt_mvp
url = https://github.com/pulp-platform/fpu_div_sqrt_mvp.git
[submodule "src/tech_cells_generic"]
path = src/tech_cells_generic
url = https://github.com/pulp-platform/tech_cells_generic.git
[submodule "src/fpu"]
path = src/fpu
url = https://github.com/pulp-platform/fpnew.git
50 changes: 46 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ addons:
- python-pexpect
- libusb-1.0-0-dev
- default-jdk
- zlib1g-dev
- valgrind
env:
global:
- RISCV="/home/travis/riscv_install"
Expand Down Expand Up @@ -75,26 +77,66 @@ jobs:
name: run riscv benchmarks
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-benchmarks-verilator
- make -j${NUM_JOBS} run-benchmarks-verilator
# rv64ui-p-* tests
- stage: test
name: run asm tests1
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests1-verilator
- make -j${NUM_JOBS} run-asm-tests1-verilator
# rv64ui-v-* tests
- stage: test
name: run asm tests2
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests2-verilator
- make -j${NUM_JOBS} run-asm-tests2-verilator
# rv64um-*-* tests
- stage: test
name: run mul tests
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-mul-verilator
# amo tests
- stage: test
name: run amo tests
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-amo-verilator
- stage: test
name: run torture
script:
- ci/get-torture.sh
- make clean
- make torture-gen
- make torture-rtest-verilator
- make torture-rtest-verilator

- stage: test
name: run riscv benchmarks (serpent)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-benchmarks-verilator defines=PITON_ARIANE+AXI64_CACHE_PORTS
# rv64ui-p-* tests
- stage: test
name: run asm tests1 (serpent)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests1-verilator defines=PITON_ARIANE+AXI64_CACHE_PORTS
# rv64ui-v-* tests
- stage: test
name: run asm tests2 (serpent)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests2-verilator defines=PITON_ARIANE+AXI64_CACHE_PORTS

- stage: test
name: run torture (serpent)
script:
- ci/get-torture.sh
- make clean
- make torture-gen defines=PITON_ARIANE+AXI64_CACHE_PORTS
- make torture-rtest-verilator defines=PITON_ARIANE+AXI64_CACHE_PORTS



# extra time during long builds
install: travis_wait
6 changes: 3 additions & 3 deletions Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ dependencies:
axi_mem_if: { git: "https://github.com/pulp-platform/axi_mem_if.git", version: 0.2.0 }
axi_node: { git: "https://github.com/pulp-platform/axi_node.git", version: 1.1.1 }
tech_cells_generic: { git: "https://github.com/pulp-platform/tech_cells_generic.git", version: 0.1.1 }
common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.7.5 }
common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.8.0 }
fpga-support: { git: "https://github.com/pulp-platform/fpga-support.git", version: 0.3.2 }

sources:
Expand Down Expand Up @@ -73,10 +73,10 @@ sources:
- src/issue_read_operands.sv
- src/issue_stage.sv
- src/load_unit.sv
- src/lsu_arbiter.sv
- src/lsu.sv
- src/load_store_unit.sv
- src/mmu.sv
- src/mult.sv
- src/serdiv.sv
- src/perf_counters.sv
- src/ptw.sv
- src/ariane_regfile_ff.sv
Expand Down
Loading

0 comments on commit 90f000e

Please sign in to comment.