mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-22 21:07:34 -04:00
[ci,docs] Bump minimum Spike version to ibex-cosim-v0.2
This commit is contained in:
parent
0a9f5ed1da
commit
ddb069bc1c
3 changed files with 12 additions and 8 deletions
|
@ -13,4 +13,4 @@ variables:
|
|||
RISCV_COMPLIANCE_GIT_VERSION: "844c6660ef3f0d9b96957991109dfd80cc4938e2"
|
||||
VERIBLE_VERSION: "v0.0-1213-g9e5c085"
|
||||
# lowRISC-internal version numbers of Ibex-specific Spike builds.
|
||||
SPIKE_IBEX_VERSION: "20211027-git-ec461195803d0a8a72c90d52dbb38ad24ac7c55d"
|
||||
SPIKE_IBEX_VERSION: "20220308-git-20a886cba76dd80a23b548743ab3c73b19f65e41"
|
||||
|
|
|
@ -25,7 +25,7 @@ It is disabled by default in the UVM DV environment currently, however it is int
|
|||
Setup and Usage
|
||||
---------------
|
||||
|
||||
Clone the `lowRISC fork of Spike <https://github.com/lowRISC/riscv-isa-sim>`_ and check out the ``ibex-cosim-v0.1`` tag.
|
||||
Clone the `lowRISC fork of Spike <https://github.com/lowRISC/riscv-isa-sim>`_ and check out the ``ibex-cosim-v0.2`` tag.
|
||||
Other, later, versions called ``ibex-cosim-v*`` may also work but there's no guarantee of backwards compatibility.
|
||||
Follow the Spike build instructions to build and install Spike.
|
||||
The build will install multiple header files and libraries, it is recommended a custom install location (using ``--prefix=<path>`` with ``configure``) is used to avoid cluttering system directories.
|
||||
|
|
|
@ -96,16 +96,20 @@ In order to run the co-simulation flow, you'll need:
|
|||
|
||||
- The Spike RISC-V instruction set simulator
|
||||
|
||||
lowRISC maintains a `lowRISC-specific Spike fork <LRSpike_>`_, needed to model:
|
||||
+ Cosimulation (needed for verification)
|
||||
+ Some custom CSRs
|
||||
+ Custom NMI behavior
|
||||
|
||||
Ibex verification should work with the Spike version that is tagged as ``ibex-cosim-v0.2``.
|
||||
Other, later, versions called ``ibex-cosim-v*`` may also work but there's no guarantee of backwards compatibility.
|
||||
|
||||
Spike must be built with the ``--enable-commitlog`` and ``--enable-misaligned`` options.
|
||||
``--enable-commitlog`` is needed to produce log output to track the instructions that were executed.
|
||||
``--enable-misaligned`` tells Spike to simulate a core that handles misaligned accesses in hardware (rather than jumping to a trap handler).
|
||||
|
||||
Ibex supports v.1.0.0 of the RISC-V Bit-Manipulation Extension together with the remaining sub-extensions of draft v.0.93 of the bitmanip spec.
|
||||
lowRISC maintains a `lowRISC-specific branch of Spike <LRSpike_>`_ that matches the supported Bitmanip specification plus some custom CSRs.
|
||||
This branch must also be used in order to to simulate the core with the Icache enabled.
|
||||
|
||||
Note that Ibex used to support the commercial OVPsim simulator.
|
||||
This is not currently possble because OVPsim doesn't support the co-simulation approach that we use.
|
||||
This is not currently possible because OVPsim doesn't support the co-simulation approach that we use.
|
||||
|
||||
- A working RISC-V toolchain (to compile / assemble the generated programs before simulating them).
|
||||
|
||||
|
@ -123,7 +127,7 @@ to tell the RISCV-DV code where to find them:
|
|||
export RISCV_OBJCOPY="$RISCV_TOOLCHAIN/bin/riscv32-unknown-elf-objcopy"
|
||||
export SPIKE_PATH=/path/to/spike/bin
|
||||
|
||||
.. _LRSpike: https://github.com/lowRISC/riscv-isa-sim/tree/ibex_cosim
|
||||
.. _LRSpike: https://github.com/lowRISC/riscv-isa-sim
|
||||
.. _riscv-toolchain-source: https://github.com/riscv/riscv-gnu-toolchain
|
||||
.. _riscv-toolchain-releases: https://github.com/lowRISC/lowrisc-toolchains/releases
|
||||
.. _bitmanip-patches: https://github.com/lowRISC/lowrisc-toolchains#how-to-generate-the-bitmanip-patches
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue