-
Notifications
You must be signed in to change notification settings - Fork 83
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c823b1e
commit c7f6507
Showing
67 changed files
with
24,908 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
CAPI=2: | ||
|
||
# Copyright 2023 EPFL | ||
# Solderpad Hardware License, Version 2.1, see LICENSE.md for details. | ||
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 | ||
|
||
name: "esl_epfl:ip:cv32e40px" | ||
description: "OpenHW Group RISC-V Core CV32E40Px" | ||
|
||
filesets: | ||
files_rtl: | ||
depend: | ||
- pulp-platform.org::fpnew | ||
files: | ||
- esl_epfl_cv32e40px/rtl/include/cv32e40px_apu_core_pkg.sv | ||
- esl_epfl_cv32e40px/rtl/include/cv32e40px_fpu_pkg.sv | ||
- esl_epfl_cv32e40px/rtl/include/cv32e40px_pkg.sv | ||
- esl_epfl_cv32e40px/rtl/include/cv32e40px_core_v_xif_pkg.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_alu.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_alu_div.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_ff_one.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_popcnt.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_compressed_decoder.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_controller.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_cs_registers.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_decoder.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_int_controller.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_ex_stage.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_hwloop_regs.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_id_stage.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_if_stage.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_load_store_unit.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_mult.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_prefetch_buffer.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_prefetch_controller.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_obi_interface.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_aligner.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_sleep_unit.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_core.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_apu_disp.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_fifo.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_fp_wrapper.sv | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_top.sv | ||
file_type: systemVerilogSource | ||
|
||
|
||
files_clk_gate: | ||
files: | ||
- esl_epfl_cv32e40px/bhv/cv32e40px_sim_clock_gate.sv | ||
file_type: systemVerilogSource | ||
|
||
ff_regfile: | ||
files: | ||
- esl_epfl_cv32e40px/rtl/cv32e40px_register_file_ff.sv | ||
file_type: systemVerilogSource | ||
|
||
targets: | ||
default: | ||
filesets: | ||
- files_rtl | ||
- ff_regfile | ||
- target_sim? (files_clk_gate) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
// Copyright lowRISC contributors. | ||
// Licensed under the Apache License, Version 2.0, see LICENSE for details. | ||
// SPDX-License-Identifier: Apache-2.0 | ||
|
||
// This file is generated by the util/vendor script. Please do not modify it | ||
// manually. | ||
|
||
{ | ||
upstream: | ||
{ | ||
url: https://github.com/esl-epfl/cv32e40px.git | ||
rev: bfb6b76b19e036ade7265eb78ac15b733f0d758a | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
// Copyright 2023 EPFL | ||
// Solderpad Hardware License, Version 2.1, see LICENSE.md for details. | ||
// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 | ||
{ | ||
name: "esl_epfl_cv32e40px", | ||
target_dir: "esl_epfl_cv32e40px", | ||
|
||
upstream: { | ||
url: "https://github.com/esl-epfl/cv32e40px.git", | ||
rev: "bfb6b76b19e036ade7265eb78ac15b733f0d758a", | ||
}, | ||
|
||
patch_dir: "patches/esl_epfl_cv32e40px", | ||
|
||
exclude_from_upstream: [ | ||
"ci", | ||
".github", | ||
"example_tb", | ||
"CONTRIBUTING.md", | ||
"Bender.yml", | ||
".gitlab-ci.yml", | ||
".dir-locals.el", | ||
"docs", | ||
"rtl/vendor", | ||
"scripts", | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
TAGS | ||
*.swp | ||
*~ | ||
*.o | ||
*.log | ||
*.vcd | ||
*.xml | ||
*.dbg | ||
*.wlf | ||
*.elf | ||
*.hex | ||
*.map | ||
*.out | ||
*.json | ||
.build-rtl | ||
.lib-rtl | ||
.opt-rtl | ||
/build | ||
/Bender.lock | ||
/Bender.local |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Configuration file for ReadTheDocs, used to render the CV32E40P User Manual to | ||
# https://docs.openhwgroup.org/projects/cv32e40p-user-manual | ||
# SPDX-License-Identifier:Apache-2.0 WITH SHL-2.1 | ||
|
||
version: 2 | ||
|
||
#build: | ||
# os: "ubuntu-20.04" | ||
# tools: | ||
# python: "3.9" | ||
|
||
# Build from the docs/source directory with Sphinx | ||
sphinx: | ||
configuration: docs/source/conf.py | ||
|
||
# Explicitly set the Python requirements | ||
python: | ||
install: | ||
- requirements: docs/requirements.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
# Copyright 2020 ETH Zurich | ||
# | ||
# 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. | ||
|
||
language: cpp | ||
# run on new infrastructure | ||
dist: xenial | ||
sudo: false | ||
cache: | ||
apt: true | ||
directories: | ||
$RISCV | ||
$VERILATOR_ROOT | ||
timeout: 1000 | ||
|
||
# required packages to install | ||
addons: | ||
apt: | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
packages: | ||
- gcc-7 | ||
- g++-7 | ||
- gperf | ||
- autoconf | ||
- automake | ||
- autotools-dev | ||
- libmpc-dev | ||
- libmpfr-dev | ||
- libgmp-dev | ||
- gawk | ||
- build-essential | ||
- bison | ||
- flex | ||
- texinfo | ||
- python-pexpect | ||
- libusb-1.0-0-dev | ||
- default-jdk | ||
- zlib1g-dev | ||
- valgrind | ||
env: | ||
global: | ||
- RISCV="/home/travis/riscv_install" | ||
- VERILATOR_ROOT="/home/travis/verilator-4.018" | ||
|
||
|
||
before_install: | ||
- export CXX=g++-7 CC=gcc-7 | ||
# setup dependent paths | ||
- export PATH=$RISCV/bin:$VERILATOR_ROOT/bin:$PATH | ||
- export LIBRARY_PATH=$RISCV/lib | ||
- export LD_LIBRARY_PATH=$RISCV/lib | ||
- export C_INCLUDE_PATH=$RISCV/include:$VERILATOR_ROOT/share/verilator/include | ||
- export CPLUS_INCLUDE_PATH=$RISCV/include:$VERILATOR_ROOT/share/verilator/include | ||
- export PKG_CONFIG_PATH=$VERILATOR_ROOT/share/pkgconfig | ||
# number of parallel jobs to use for make commands and simulation | ||
- export NUM_JOBS=4 | ||
- ci/make-tmp.sh | ||
- git submodule update --init --recursive | ||
|
||
stages: | ||
- download | ||
- compile1 | ||
- compile2 | ||
- test | ||
|
||
jobs: | ||
include: | ||
- stage: download | ||
name: download pulp gcc | ||
script: | ||
- ci/download-pulp-gcc.sh | ||
|
||
- stage: compile2 | ||
name: build verilator | ||
script: | ||
- ci/install-verilator.sh | ||
- stage: compile2 | ||
name: build openocd | ||
script: | ||
- ci/get-openocd.sh | ||
|
||
- stage: test | ||
name: run openocd debug module tests | ||
script: | ||
- ci/veri-run-openocd-compliance.sh | ||
- stage: test | ||
name: run riscv tests | ||
script: | ||
- make -C tb/core firmware-veri-run | ||
- stage: test | ||
name: run verilator model | ||
script: | ||
- make -C tb/verilator-model/ all && ./tb/verilator-model/testbench | ||
- stage: test | ||
name: run riscv-compliance suite | ||
script: | ||
- export RISCV_PREFIX=riscv32-unknown-elf- | ||
- export RISCV_DEVICE=rv32imc | ||
- export RISCV_TARGET=ri5cy | ||
- export TARGET_SIM=${TRAVIS_BUILD_DIR}/tb/core/testbench_verilator | ||
- git clone https://github.com/bluewww/riscv-compliance.git -b target-ri5cy | ||
- make -C tb/core verilate | ||
- make -C riscv-compliance/ RISCV_ISA=rv32im && make -C riscv-compliance/ RISCV_ISA=rv32imc | ||
# - make -C riscv-compliance/ RISCV_ISA=rv32i # this is borked | ||
|
||
# extra time during long builds | ||
install: travis_wait |
Oops, something went wrong.