Commit graph

59 commits

Author SHA1 Message Date
Harry Callahan
db07ab174e Change '/bin/bash' shebangs to '/usr/bin/env bash'
This improves portability across different unix-like operating systems
by using bash from the PATH, instead of bash from a hardcoded location.

Signed-off-by: Harry Callahan <hcallahan@lowrisc.org>
2025-06-23 10:48:34 +00:00
Andreas Kurth
9156029e77 [ci] Use non-default mirror of package repositories
Signed-off-by: Andreas Kurth <adk@lowrisc.org>
2025-05-30 11:39:22 +00:00
Gary Guo
9e99ec79e2 [ci] switch CI runner from Ubuntu 20.04 to 22.04
Signed-off-by: Gary Guo <gary.guo@lowrisc.org>
2025-02-19 17:15:26 +00:00
Gary Guo
eba210965a [ci] update verible version to match OT
Signed-off-by: Gary Guo <gary.guo@lowrisc.org>
2025-02-19 17:15:26 +00:00
Gary Guo
fa40368300 [ci] remove Azure Pipelines magic commands
Signed-off-by: Gary Guo <gary.guo@lowrisc.org>
2025-02-19 17:15:26 +00:00
Gary Guo
d2d55ed348 [ci] remove Azure Pipelines
We have been using GitHub Actions for some time now, both for public CI
and private CI, and it seems to be functioning well.

Signed-off-by: Gary Guo <gary.guo@lowrisc.org>
2024-11-22 16:45:05 +00:00
Greg Chadwick
e1f2df24d0 [ci] Bump co-sim version 2024-07-03 15:31:44 +00:00
Gary Guo
39f28bae44 [ci] Add missing sudo in CI
We are switching to use non-root GitHub action runners, which need
sudo for global package installation.

Signed-off-by: Gary Guo <gary.guo@lowrisc.org>
2024-03-15 17:46:01 +00:00
Pascal Nasahl
b6d8b9f075 Update verilator version
To be consistent between projects, this PR updates the Verilator
version to 4.210, which is also used by OpenTitan. The reason for
this change is that in #2129 Verilator linting issues occured
that did not occur in OpenTitan.

Closes #2131.

Signed-off-by: Pascal Nasahl <nasahlpa@lowrisc.org>
2024-01-19 17:04:40 +00:00
Gary Guo
33a1740dd2 [CI] add GitHub action version of the CI
Signed-off-by: Gary Guo <gary.guo@lowrisc.org>
2023-12-15 11:06:48 +00:00
Greg Chadwick
10d4c97a0f [ci] Add missing dependency and fix RTD config
Cairo libraries are required for a python dependency.
New RTD config introduced to fix build errors introduced by new urllib.
We need to ensure the docs a built on a modern ubuntu with a
sufficiently new python (see
https://github.com/readthedocs/readthedocs.org/issues/10290).
2023-05-10 12:40:05 +00:00
Pirmin Vogel
f8dd3d8d3e [python-requirements] Pin setuptools version to < 66.0.0
Starting with setuptools version 66.0.0, legacy package version names
such as 0.23ubuntu1 are no longer supported. Since some of our
Python dependencies use this format, we pin the setuptools version to
the last version before this change. This unblocks CI and gives us time
to upgrade/rebase our dependencies.

Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
2023-01-17 14:56:48 +01:00
Greg Chadwick
4c875b5bd2 [dv,ci] Add tests for data independent timing and dummy instructions 2022-11-17 18:20:57 +00:00
Greg Chadwick
10f56505c8 [ci] Add script for running directed co-sim tests
This helps reduce repetition in the CI yaml in preparation for adding
more directed tests.

This is a very basic script and will be replaced by a more complete
system at a later point.
2022-11-17 18:20:57 +00:00
Greg Chadwick
e63bb13d0a [ci] Bump cosim version to latest
This integrates in the ebreak behaviour changes in spike
2022-10-31 16:46:55 +00:00
Marno van der Maas
a376f85f26 [lint] Shellcheck bash scripts in repo 2022-10-21 14:52:42 +01:00
Canberk Topal
7c28d3caf3 [ci] Update IBEX_COSIM_VERSION to latest
Signed-off-by: Canberk Topal <ctopal@lowrisc.org>
2022-10-11 15:52:42 +01:00
Greg Chadwick
574d993dcd [ci] Switch to downloading verilator from GCP bucket
Previously it was sourced from the OpenSUSE build service. This has
produced some reliability issues. Downloading pre-built binaries from a
GCP bucket should improve things.
2022-10-07 13:34:07 +01:00
Greg Chadwick
b57c9a4349 [ci] Switch to using Ubuntu 20 LTS azure agent
The Ubuntu 18 LTS image has been deprecated by Azure so we need to
switch to a new version.
2022-10-07 13:34:07 +01:00
Greg Chadwick
1313104bad [ci] Fix pmp_smoke_test
It was renamed pmp_smoke_test from pmp_exception_test in the software
build but not the actual test run
2022-09-30 09:41:07 +01:00
Greg Chadwick
70186c57ae [rtl] Add ic_scr_key_valid field to CPUCTRL (renamed CPUCTRLSTS)
The ic_scr_key_valid field indicates whether the ICache scrambling key
is valid.

CPUCTRL is also renamed CPUCTRLSTS as it contains both control and
status bits.
2022-09-22 16:17:31 +01:00
Greg Chadwick
02ccf9e5d0 [ci] Bump cosim version for privilege spec updates 2022-09-07 17:31:41 +01:00
Greg Chadwick
28a352b602 [ci] Move to latest spike cosim version 2022-08-30 13:12:11 +01:00
Greg Chadwick
9c4e4bdf6a [ci] Download cosim from lowRISC GCP bucket 2022-08-30 11:29:29 +01:00
Greg Chadwick
1affeff527 [ci] Fix co-sim install
Due to a failure of mirror syncing the co-sim package cannot be
installed. This downloads it directly from the master server and
installs it manually.
2022-08-18 14:12:09 +01:00
Greg Chadwick
f2c09fe34a [ci] Move to spike-ibex-v0.4 2022-08-10 15:25:36 +01:00
Marno van der Maas
ef86c30341 [dv] Write ePMP tests and enable ePMP in DV
- Enable epmp in riscv_core_settings.sv
- Bump CI and Spike version in `ci/vars.yml`
- Enable full random PMP test
- Create tests for machine mode lockdown (MML)
  - Code execute only, rest read/write
  - All regions execute only
  - All regions read only
- Create test for machine mode whitelist policy (MMWP)
- Create test for rule lock bypass (RLB)

Signed-off-by: Marno van der Maas <mvdmaas+git@lowrisc.org>
2022-08-03 15:06:03 +01:00
Greg Chadwick
50d183fc1b [ci] Add pmp_smoke_test cosim run to CI 2022-07-21 15:55:59 +01:00
Rupert Swarbrick
42ce56b6b6 [dv] Simplify instructions for how to use Spike with cosim
This depends on Spike version ibex-cosim-v0.2 (which exposes the
various library headers with pkg-config, making configuration much
easier).
2022-04-29 11:13:21 +01:00
Michael Schaffner
ed35718431 Update Verible version
Signed-off-by: Michael Schaffner <msf@google.com>
2022-04-20 09:19:58 -07:00
Rupert Swarbrick
ddb069bc1c [ci,docs] Bump minimum Spike version to ibex-cosim-v0.2 2022-04-12 11:09:33 +01:00
Greg Chadwick
36d77ab0c5 [ci] Fix coremark cosim job
Actually fail the job if there's an error
2022-03-22 16:29:03 +00:00
Greg Chadwick
7508644c6e [simple_system_cosim] Switch to latest cosim version 2022-03-22 16:29:03 +00:00
Rupert Swarbrick
6f6cafaa4d [ci] Bump Spike version to get cosim implementation
This will only have an effect on our private CI, which picks up this
spike build from the toolnas. The build is the ibex_cosim branch,
which contains the stuff we need for the recent cosim support. It's
also new enough to support the v1.0+0.93 bitmanip flavour that we
support in the RTL.
2022-02-15 17:27:44 +00:00
Rupert Swarbrick
5691ef1a45 [ci] Bump RISC-V toolchain version to get bitmanip support
This version should have support for bitmanip 1.00+0.93, the version
that we target in the RTL.
2022-02-15 15:17:52 +00:00
Greg Chadwick
69dfa6f8da [ci] Add missing python3-dev dependency
Private CI is broken without this. The public CI runs on azure agents
which already have this installed.
2022-01-26 15:39:38 +00:00
Greg Chadwick
e70add7228 [ci] Add co-simulation testing of CoreMark 2021-11-12 09:39:38 +00:00
Philipp Wagner
ed46a5c9f5 [ci] Update dependencies to match OpenTitan
Use the same dependencies as we use in OpenTitan to make it easier to
diagnose potential issues. No change in behavior expected.
2021-07-14 11:12:09 +01:00
Tom Roberts
6a3200929b [rtl] Add a new top level plus wiring
This commit creates a new top level wrapping the core, register file and
icache RAMs. The tracing top level is also renamed to ibex_top_tracing
to match. This new top level is intended to enable a dual core lockstep
implementation of Ibex.

There are no functional changes in this commit, only wiring.

Signed-off-by: Tom Roberts <tomroberts@lowrisc.org>
2021-04-07 12:07:38 +01:00
Philipp Wagner
8f3d8f311f CI: The distro-provided pyyaml package is enough
In the past, we did explicitly install pyyaml through PIP to get a
version newer than the one provided in Ubuntu 18.04. Since then we
changed the calling code to not rely on newer pyyaml features and
are thus able to rely on an older version of pyyaml.

The distro-provided version of pyyaml is built with C bindings, which
are significantly faster than the pip-installed version, which uses a
pure Python-implementation of the parser/dumper.
2021-01-09 18:15:08 +00:00
Philipp Wagner
f732bf51a2 CI: Remove outdated workarounds for Ubuntu 16.04 2020-12-01 19:01:29 +00:00
Philipp Wagner
7e041d362f Enable Verible lint
Turns out, just having a nice error message with the correct tool
invocation isn't enough: you actually need to call the tool with the
arguments you document.

Let's do that and actually run Verilator lint and Verible lint, and not
just Verilator lint twice.
2020-10-27 11:28:25 +00:00
Philipp Wagner
7558ecc720 Update Spike to a version with icache support
DV now requires a version of Spike with two patches for icache support,
use this version.
2020-10-27 10:03:15 +00:00
Philipp Wagner
922f781414 Use the latest version of Verible
Verible is changing quickly, use the latest version to get all the
recent goodness.
2020-10-27 10:03:15 +00:00
Philipp Wagner
92bbfd9bbb Use the same toolchain as in OpenTitan
OpenTitan now uses the toolchain build 20200904-1, let's use the same
toolchain in Ibex. Functionally, the two toolchains should be identical.
2020-10-27 10:03:15 +00:00
Philipp Wagner
9c9e839c92 Use Verilator 4.040 in CI
This version is also used and required in OpenTitan, synchronize the
two.
2020-10-27 10:03:15 +00:00
Philipp Wagner
0106ba80a0 [ci] Update install-build-deps.sh script for Ubuntu 18.04 2020-10-09 16:46:08 +02:00
Rupert Swarbrick
3703a3ad8e [ci] Force setuptools not to use version 50.0.0 for now
There's a long and painful discussion on the setuptools issues
list (I count 9 issues raised the day after the release). This is all
to do with how Debian/Ubuntu installs stuff with pip.

There's an "official" workaround that involves setting things in your
environment, but that looks a bit fiddly with the Azure pipelines
stuff and this has been such a disaster that I'm pretty certain the
setuptools maintainers will release something more sensible soon.

See e.g.
https://github.com/pypa/setuptools/issues/2350#issuecomment-683512526
for a careful description of what's going on.
2020-08-31 15:15:18 +01:00
Philipp Wagner
e145a49b32 Add private CI trigger
The ci/azp-private.yml file is a skeleton and only used to trigger an
Azure Pipelines run which integrates into the ibex repository. All real
job description is in a private repository for licensing reasons.
2020-08-21 09:59:32 +01:00
Philipp Wagner
d534af7c84 CI: Factor out installation of build dependencies
Put all build dependencies into a CI-specific script
(ci/install-build-deps.sh). No effort has been made to make this script
suitable for non-CI users.
2020-08-21 09:59:32 +01:00