Update riscv_compliance to riscv/riscv-compliance@5a978cf

Update code from upstream repository https://github.com/riscv/riscv-
compliance.git to revision 5a978cfd444d5e640150d46703deda99057b2bbb

* Restructure (riscv/riscv-compliance#101) (Neel Gala)
* Update ChangeLog (Neel Gala)
* updated ChangeLog (Neel Gala)
* fixes issue riscv/riscv-compliance#95 (Neel Gala)
* riscv-test-suite/rv64im/Makefrag: remove duplicate REMUW in value of
  variable rv64im_sc_tests (Daniel S. Wilkerson)
* riscv-test-suite/rv64i/Makefrag: remove duplicate SRAIW in value of
  variable rv64i_sc_tests (Daniel S. Wilkerson)
* removed the .pdf with version number (Allen Baum)
* minor typographical corrections (Allen Baum)
* Adding the jpg of the diagram included in the testformatspec doc
  (Allen Baum)
* Adding a prebuilt version of the testspecformat (Allen Baum)
*     * typo grammatical, and consistency fixes (Allen Baum)
*        * typos fixed        * added RVTEST_BASEUPD macro        *
  added explanations for each macro        * clarified restrictions on
  #ifdefs        * added comment that test cases with identical
  conditions should be combined into a single case        * documented
  that test case first parameter should match the #ifdef parameter
  that precedes it (Allen Baum)
* added missing parameters to BASEUPD macro (Allen Baum)
* * modified macro names to conformn to riscof naming convention of
  model specific vs. pre-defined * add more complete list of macros,
  their uses, parameters, and whether they are required or optional *
  minor structural changes (moving sentences, renumbering) and typo
  fixes * clarified impact of debug macros * clarified how SIGUPD and
  BASEUPD must be used * remove section about test taxonomy, binary
  tests, emulated ops * clarify/fix  boundary between test target and
  framework responsibilities   (split test target into test target and
  test shell) * remove To Be discussed items that have been discussed
  * remove default case condition; if conditions are unchanged, part
  of same case *  minor grammatical changes related to the above
  (Allen Baum)
* fixed some references that should have been changed, added IO_WRITE
  to list of macros (Allen Baum)
* updated history with all the changes (Allen Baum)
* fixed the appendix so it appears in the TOC (Allen Baum)
* removed references to address in signature, moved note about
  multiple test cases in a test closer to definition fixed cut/paste
  error in example of test pool changed case of test subdirectoies to
  be all caos for primar extensions and architectures, camel-case for
  Z-extensions changed test example to match new macros, including
  ifdefs (Allen Baum)
* Minor formatting fixes (Allen Baum)
* More grammar, spelling corrections and clarifications, minor
  formatting changes. (Allen Baum)
* yet more grammatical fixes and clarifications add ToBeDiscussed
  items for emulated ops and binary tests (Allen Baum)
* minor grammer updates (Allen Baum)
* Update spec/TestFormatSpec.adoc (Allen Baum)
* removed ambiguity of framework functionality: it will insert test
  part names and version numbers and conmpare signatures. (Allen Baum)
* Changed  signature format to fixed maxsize physical addr:32b data in
  COMPLIANCE_DATA_BEGIN/END range. (Allen Baum)
* minor spelling, wording corrections (Allen Baum)
* Changes to match riscof implementation of macros (Allen Baum)
* spelling fixes and To Be Discussed additions and clarifications
  (Allen Baum)
* gitignore now ignores Macintosh invisible .DS_STore files ChangeLog
  lists all the changes made TestPsecFormat updated to v1.2 with
  numerous granmmer/spelling corrections,  updates to changes that
  have been decided, new directory structure,  new test macros,
  updated signature format, added clarifications, examples,  future
  work, and notes that this is still a work in progress and does not
  reflect the current state of the test repository. (Allen Baum)
* Fix Ibex target following parallel changes (Tom Roberts)
* Ignore case when comparing signature outputs (Xiretza)
* Support F extension on RV32 sail-riscv-c. (Prashanth Mundkur)
* Correct a typo in README (Felix Yan)
* Document the usage of Parallel execution (eroom1966)
* Add Parallel make for supported targets (eroom1966)
* Fix issues riscv/riscv-compliance#84 riscv/riscv-compliance#76
  (eroom1966)
* Update to riscvOVPsim (eroom1966)
* Update of riscv-ovpsim (eroom1966)
* fix IO behavior for verbose logging (eroom1966)
* source code files for improved coverage (eroom1966)
* Added coverage report information (eroom1966)
* HVB update on jalr (eroom1966)
* Add HVB new enhanced coverage tests (eroom1966)
* Fix for issue riscv/riscv-compliance#67 (eroom1966)
* Restructured RV32I to move Zicsr and Zifencei into their own suites
  (eroom1966)

Signed-off-by: Greg Chadwick <gac@lowrisc.org>
476 files changed
tree: ecc1bf5099c5e80d681fdf82efe387e8fa3bd271
  1. .github/
  2. ci/
  3. doc/
  4. hw/
  5. site/
  6. sw/
  7. test/
  8. util/
  9. .clang-format
  10. .dockerignore
  11. .flake8
  12. .gitignore
  13. .style.yapf
  14. _index.md
  15. apt-requirements.txt
  16. azure-pipelines.yml
  17. check_tool_requirements.core
  18. CLA
  19. COMMITTERS
  20. CONTRIBUTING.md
  21. LICENSE
  22. meson.build
  23. meson_init.sh
  24. meson_options.txt
  25. python-requirements.txt
  26. README.md
  27. tool_requirements.py
  28. toolchain.txt
README.md

OpenTitan

OpenTitan logo

About the project

OpenTitan is an open source silicon Root of Trust (RoT) project. OpenTitan will make the silicon RoT design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product. See the OpenTitan site and OpenTitan docs for more information about the project.

About this repository

This repository contains hardware, software and utilities written as part of the OpenTitan project. It is structured as monolithic repository, or “monorepo”, where all components live in one repository. It exists to enable collaboration across partners participating in the OpenTitan project.

Documentation

The project contains comprehensive documentation of all IPs and tools. You can either access it online or build it locally by following the steps below.

  1. Ensure that you have the required Python modules installed (to be executed in the repository root):
$ sudo apt install curl python3 python3-pip
$ pip3 install --user -r python-requirements.txt
  1. Execute the build script:
$ ./util/build_docs.py --preview

This compiles the documentation into ./build/docs and starts a local server, which allows you to access the documentation at http://127.0.0.1:1313.

How to contribute

Have a look at CONTRIBUTING for guidelines on how to contribute code to this repository.

Licensing

Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0 (see LICENSE for full text).