From 5e9cb5d64ef92cd3f83b0df627e6a10dc0763c07 Mon Sep 17 00:00:00 2001 From: JeanRochCoulon Date: Fri, 15 Dec 2023 14:51:32 +0100 Subject: [PATCH] Designdoc (#1713) * rename csr files * Revisit the design specification skeleton --- .../Traps_Interrupts_Exceptions.rst | 18 +- docs/04_cv32a6_design/source/embedded_AXI.rst | 10 + .../04_cv32a6_design/source/embedded_CSRs.rst | 19 ++ .../source/embedded_CVXIF.rst | 11 + .../source/embedded_architecture.rst | 38 +++ docs/04_cv32a6_design/source/embedded_csr.rst | 1 + .../source/embedded_csr_list.rst | 11 + .../source/embedded_functionality.rst | 23 ++ .../source/embedded_instructions.rst | 11 + .../source/embedded_intro.rst | 96 ++++++++ .../source/embedded_overview.rst | 21 ++ .../source/embedded_subsystem.rst | 221 ++++++++++++++++++ .../source/embedded_traps.rst | 11 + docs/04_cv32a6_design/source/index.rst | 26 +-- docs/conf.py | 2 +- .../embedded/{cva6_csr.md => embedded_csr.md} | 0 .../{cva6_csr.rst => embedded_csr.rst} | 2 +- .../{cva6_csr.xml => embedded_csr.xml} | 0 .../{cva6_csr.yaml => embedded_csr.yaml} | 0 ...va6_csr_list.rst => embedded_csr_list.rst} | 18 +- 20 files changed, 506 insertions(+), 33 deletions(-) create mode 100644 docs/04_cv32a6_design/source/embedded_AXI.rst create mode 100644 docs/04_cv32a6_design/source/embedded_CSRs.rst create mode 100644 docs/04_cv32a6_design/source/embedded_CVXIF.rst create mode 100644 docs/04_cv32a6_design/source/embedded_architecture.rst create mode 100644 docs/04_cv32a6_design/source/embedded_csr.rst create mode 100644 docs/04_cv32a6_design/source/embedded_csr_list.rst create mode 100644 docs/04_cv32a6_design/source/embedded_functionality.rst create mode 100644 docs/04_cv32a6_design/source/embedded_instructions.rst create mode 100644 docs/04_cv32a6_design/source/embedded_intro.rst create mode 100644 docs/04_cv32a6_design/source/embedded_overview.rst create mode 100644 docs/04_cv32a6_design/source/embedded_subsystem.rst create mode 100644 docs/04_cv32a6_design/source/embedded_traps.rst rename docs/csr-from-ip-xact/embedded/{cva6_csr.md => embedded_csr.md} (100%) rename docs/csr-from-ip-xact/embedded/{cva6_csr.rst => embedded_csr.rst} (99%) rename docs/csr-from-ip-xact/embedded/{cva6_csr.xml => embedded_csr.xml} (100%) rename docs/csr-from-ip-xact/embedded/{cva6_csr.yaml => embedded_csr.yaml} (100%) rename docs/csr-from-ip-xact/embedded/{cva6_csr_list.rst => embedded_csr_list.rst} (79%) diff --git a/docs/01_cva6_user/Traps_Interrupts_Exceptions.rst b/docs/01_cva6_user/Traps_Interrupts_Exceptions.rst index a71c0159ab..f70755a353 100644 --- a/docs/01_cva6_user/Traps_Interrupts_Exceptions.rst +++ b/docs/01_cva6_user/Traps_Interrupts_Exceptions.rst @@ -27,13 +27,13 @@ On one hand, interrupts are occuring independently of the instructions On the other hand, an instruction may raise exceptions synchronously. Raising Traps -============= +------------- When a trap is raised, the behaviour of the CVA6 core depends on several CSRs and some CSRs are modified. The CSR description is available in :doc:`CV32A6_Control_Status_Registers`. Configuration CSRs ------------------- +~~~~~~~~~~~~~~~~~~ CSRs having an effect on the core behaviour when a trap occurs are: * ``mstatus`` and ``sstatus``: several fields control the core behaviour like interrupt enable (``MIE``, ``SIE``) @@ -42,7 +42,7 @@ CSRs having an effect on the core behaviour when a trap occurs are: * ``mideleg``: specifies which interrupts can be handled by a lower privileged mode (S-mode) Modified CSRs -------------- +~~~~~~~~~~~~~ CSRs (or fields) updated by the core when a trap occurs are: * ``mstatus`` or ``sstatus``: several fields are updated like previous privilege mode (``MPP``, ``SPP``), previous interrupt enabled (``MPIE``, SPIE``) @@ -51,7 +51,7 @@ CSRs (or fields) updated by the core when a trap occurs are: * ``mtval`` or ``stval``: updated with exception specific information like the faulting virtual address Supported exceptions --------------------- +~~~~~~~~~~~~~~~~~~~~ The following exceptions are supported by the CVA6: * instruction address misaligned @@ -103,23 +103,23 @@ The following exceptions are supported by the CVA6: Note: all exceptions are supported except the ones linked to the hypervisor extension Trap return -=========== +----------- Trap handler ends with trap return instruction (``MRET``, ``SRET``). The behaviour of the CVA6 core depends on several CSRs. Configuration CSRs ------------------- +~~~~~~~~~~~~~~~~~~ CSRs having an effect on the core behaviour when returning from a trap are: * ``mstatus``: several fields control the core behaviour like previous privilege mode (``MPP``, ``SPP``), previous interrupt enabled (``MPIE``, ``SPIE``) Modified CSRs -------------- +~~~~~~~~~~~~~ CSRs (or fields) updated by the core when returning from a trap are: * ``mstatus``: several fields are updated like interrupt enable (``MIE``, ``SIE``), modify privilege (``MPRV``) Interrupts -========== +---------- * external interrupt: ``irq_i`` signal * software interrupt (inter-processor interrupt): ``ipi_i`` signal * timer interrupt: ``time_irq_i`` signal @@ -130,5 +130,5 @@ These signals are level sensitive. It means the interrupt is raised until it is The exception code field (``mcause`` CSR) depends on the interrupt source. Wait for Interrupt -================== +------------------ * CVA6 implementation: ``WFI`` stalls the core. The instruction is not available in U-mode (raise illegal instruction exception). Such exception is also raised when ``TW=1`` in ``mstatus``. diff --git a/docs/04_cv32a6_design/source/embedded_AXI.rst b/docs/04_cv32a6_design/source/embedded_AXI.rst new file mode 100644 index 0000000000..7c4d423a45 --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_AXI.rst @@ -0,0 +1,10 @@ +.. + Copyright 2023 Thales DIS France SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + +.. include:: ../../01_cva6_user/AXI_Interface.rst diff --git a/docs/04_cv32a6_design/source/embedded_CSRs.rst b/docs/04_cv32a6_design/source/embedded_CSRs.rst new file mode 100644 index 0000000000..019944d914 --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_CSRs.rst @@ -0,0 +1,19 @@ +.. + Copyright 2023 Thales DIS France SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + + +CSR +=== + +.. toctree:: + :hidden: + + embedded_csr_list + embedded_csr + diff --git a/docs/04_cv32a6_design/source/embedded_CVXIF.rst b/docs/04_cv32a6_design/source/embedded_CVXIF.rst new file mode 100644 index 0000000000..c14d5c523b --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_CVXIF.rst @@ -0,0 +1,11 @@ +.. + Copyright 2023 Thales DIS France SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + + +.. include:: ../../01_cva6_user/CVX_Interface_Coprocessor.rst diff --git a/docs/04_cv32a6_design/source/embedded_architecture.rst b/docs/04_cv32a6_design/source/embedded_architecture.rst new file mode 100644 index 0000000000..a426b13e46 --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_architecture.rst @@ -0,0 +1,38 @@ +.. + Copyright 2022 Thales DIS design services SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + +.. _EMBEDDED_ARCHITECTURE: + + +Architecture and Modules +======================== + +The CV32A6 v0.1.0 subsystem is composed of 8 modules. + +.. figure:: ../images/subsystems.png + :name: CV32A6 v0.1.0 modules + :align: center + :alt: + + CV32A6 v0.1.0 modules + +Connections between modules are illustrated in the following block diagram. FRONTEND, DECODE, ISSUE, EXECUTE, COMMIT and CONTROLLER are part of the pipeline. And CACHES implements the instruction and data caches and CSRFILE contains registers. + +.. figure:: ../images/CVA6_subsystems.png + :name: CVA6 subsystem + :align: center + :alt: + + CV32A6 v0.1.0 pipeline and modules + +.. toctree:: + :hidden: + + cv32a6_frontend + cv32a6_execute diff --git a/docs/04_cv32a6_design/source/embedded_csr.rst b/docs/04_cv32a6_design/source/embedded_csr.rst new file mode 100644 index 0000000000..ace9cbe819 --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_csr.rst @@ -0,0 +1 @@ +.. include:: ../../csr-from-ip-xact/embedded/embedded_csr.rst diff --git a/docs/04_cv32a6_design/source/embedded_csr_list.rst b/docs/04_cv32a6_design/source/embedded_csr_list.rst new file mode 100644 index 0000000000..8ac9c804d2 --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_csr_list.rst @@ -0,0 +1,11 @@ +.. + Copyright 2023 Thales DIS France SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + + +.. include:: ../../csr-from-ip-xact/embedded/embedded_csr_list.rst diff --git a/docs/04_cv32a6_design/source/embedded_functionality.rst b/docs/04_cv32a6_design/source/embedded_functionality.rst new file mode 100644 index 0000000000..909d6c70d5 --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_functionality.rst @@ -0,0 +1,23 @@ +.. + Copyright 2023 Thales DIS France SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + +.. _EMBEDDED_FUNCTIONALITY: + + +Functionality +============= + +.. toctree:: + :hidden: + + embedded_instructions + embedded_traps + embedded_CSRs + embedded_AXI + embedded_CVXIF diff --git a/docs/04_cv32a6_design/source/embedded_instructions.rst b/docs/04_cv32a6_design/source/embedded_instructions.rst new file mode 100644 index 0000000000..75235ad42c --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_instructions.rst @@ -0,0 +1,11 @@ +.. + Copyright 2023 Thales DIS France SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + + +.. include:: ../../01_cva6_user/RISCV_Instructions.rst diff --git a/docs/04_cv32a6_design/source/embedded_intro.rst b/docs/04_cv32a6_design/source/embedded_intro.rst new file mode 100644 index 0000000000..19bffc4fe9 --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_intro.rst @@ -0,0 +1,96 @@ +.. + Copyright 2022 Thales DIS design services SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + +.. _EMBEDDED_INTRO: + + +Introduction +============= + +The OpenHW Group uses `semantic versioning `_ to describe the release status of its IP. +This document describes the embedded configuration version of CVA6. +This intends to be the first formal release of CVA6. + +CVA6 is a 6-stage in-order and single issue processor core which implements the RISC-V instruction set. +CVA6 can be configured as a 32- or 64-bit core (RV32 or RV64), called CV32A6 or CV64A6. + +The objective of this document is to provide enough information to allow the RTL modification (by designers) and the RTL verification (by verificators). +This document is not dedicated to CVA6 users looking for information to develop software like instructions or registers. + +The CVA6 architecture is illustrated in the following figure. + +.. figure:: ../images/ariane_overview.drawio.png + :name: CVA6 Architecute + :align: center + :alt: + + CVA6 Architecture + + +License +------- + +| Copyright 2022 Thales +| Copyright 2018 ETH Zürich and University of Bologna +| SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 +| Licensed under the Solderpad Hardware License v 2.1 (the “License”); + you may not use this file except in compliance with the License, or, + at your option, the Apache License version 2.0. You may obtain a copy + of the License at https://solderpad.org/licenses/SHL-2.1/. +| Unless required by applicable law or agreed to in writing, any work + 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. + + +Standards Compliance +-------------------- + +To ease the reading, the reference to these specifications can be implicit in the requirements below. For the sake of precision, the requirements identify the versions of RISC-V extensions from these specifications. + +* **[CVA6req]** “CVA6 requirement specification”, https://github.com/openhwgroup/cva6/blob/master/docs/specifications/cva6_requirement_specification.rst, HASH#767c465. +* **[RVunpriv]** “The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 20191213”, Editors Andrew Waterman and Krste Asanović, RISC-V Foundation, December 13, 2019. +* **[RVpriv]** “The RISC-V Instruction Set Manual, Volume II: Privileged Architecture, Document Version 20211203”, Editors Andrew Waterman, Krste Asanović and John Hauser, RISC-V Foundation, December 4, 2021. +* **[RVdbg]** “RISC-V External Debug Support, Document Version 0.13.2”, Editors Tim Newsome and Megan Wachs, RISC-V Foundation, March 22, 2019. +* **[RVcompat]** “RISC-V Architectural Compatibility Test Framework”, https://github.com/riscv-non-isa/riscv-arch-test. +* **[AXI]** AXI Specification, https://developer.arm.com/documentation/ihi0022/hc. +* **[CV-X-IF]** Placeholder for the CV-X-IF coprocessor interface currently prepared at OpenHW Group; current version in https://docs.openhwgroup.org/projects/openhw-group-core-v-xif/. +* **[OpenPiton]** “OpenPiton Microarchitecture Specification”, Princeton University, https://parallel.princeton.edu/openpiton/docs/micro_arch.pdf. + +CV32A6 is a standards-compliant 32-bit processor fully compliant with RISC-V specifications: [RVunpriv], [RVpriv] and [RVdbg] and passes [RVcompat] compatibility tests, as requested by [GEN-10] in [CVA6req]. + + +Documentation framework +----------------------- + +The framework of this document is inspired by the Common Criteria. The Common Criteria for Information Technology Security Evaluation (referred to as Common Criteria or CC) is an international standard (ISO/IEC 15408) for computer security certification. + +Description of the framework: + +* Processor is split into module corresponding to the main modules of the design +* Modules can contain several modules +* Each module is described in a chapter, which contains the following subchapters: *Description*, *Functionalities*, *Architecture and Modules* and *Registers* (if any) +* The subchapter *Description* describes the main features of the submodule, the interconnections between the current module and the others and the inputs/outputs interface. +* The subchapter *Functionality* lists in details the module functionalities. Please avoid using the RTL signal names to explain the functionalities. +* The subchapter *Architecture and Modules* provides a drawing to present the module hierarchy, then the functionalities covered by the module +* The subchapter *Registers* specifies the module registers if any + + +Contributors +------------ + +| Jean-Roch Coulon - Thales +| Ayoub Jalali + (`ayoub.jalali@external.thalesgroup.com `__) +| Alae Eddine Ezzejjari + (`alae-eddine.ez-zejjari@external.thalesgroup.com `__) + +[TO BE COMPLETED] + diff --git a/docs/04_cv32a6_design/source/embedded_overview.rst b/docs/04_cv32a6_design/source/embedded_overview.rst new file mode 100644 index 0000000000..687bcdcdec --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_overview.rst @@ -0,0 +1,21 @@ +.. + Copyright 2022 Thales DIS design services SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + +.. _EMBEDDED_OVERVIEW: + + +Overview +======== + +[TO BE COMPLETED] + +The CV32A6 v0.1.0 core is fully synthesizable. It has been designed mainly for ASIC designs, but FPGA synthesis is supported as well. + +For ASIC synthesis, the whole design is completely synchronous and uses positive-edge triggered flip-flops. The core occupies an area of about 80 kGE. The clock frequency can be more than 1GHz depending of technology. + diff --git a/docs/04_cv32a6_design/source/embedded_subsystem.rst b/docs/04_cv32a6_design/source/embedded_subsystem.rst new file mode 100644 index 0000000000..d56306e4ea --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_subsystem.rst @@ -0,0 +1,221 @@ +.. + Copyright 2022 Thales DIS design services SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + +.. _EMBEDDED_SUBSYSTEM: + + +Subsystem +========= + +Global functionality +-------------------- + +The CVA6 is a subsystem composed of the modules and protocol interfaces as illustrated +The processor is a Harvard-based modern architecture. +Instructions are issued in-order through the DECODE stage and executed out-of-order but committed in-order. +The processor is Single issue, that means that at maximum one instruction per cycle can be issued to the EXECUTE stage. + +The CVA6 implements a 6-stage pipeline composed of PC Generation, Instruction Fetch, Instruction Decode, Issue stage, Execute stage and Commit stage. +At least 6 cycles are needed to execute one instruction. + +Connection with other sub-systems +--------------------------------- + +[TO BE COMPLETED] + + +Parameter list +-------------- + +[TO BE COMPLETED] + + +Parameter configuration +----------------------- + +.. list-table:: Risc-V Configuration + :header-rows: 1 + + * - Standard Extension + - Specification + - Configurability + + * - **I**: RV32i Base Integer Instruction Set + - [RVunpriv] + - ON + + * - **C**: Standard Extension for Compressed Instructions + - [RVunpriv] + - ON + + * - **M**: Standard Extension for Integer Multiplication and Division + - [RVunpriv] + - ON + + * - **A**: Standard Extension for Atomic transaction + - [RVunpriv] + - OFF + + * - **F and D**: Single and Double Precision Floating-Point + - [RVunpriv] + - OFF + + * - **Zicount**: Performance Counters + - [RVunpriv] + - OFF + + * - **Zicsr**: Control and Status Register Instructions + - [RVpriv] + - ON + + * - **Zifencei**: Instruction-Fetch Fence + - [RVunpriv] + - ON + + * - **Privilege**: Standard privilege modes M, S and U + - [RVpriv] + - ON + + * - **SV39, SV32, SV0**: MMU capability + - [RVpriv] + - OFF + + * - **PMP**: Memory Protection Unit + - [RVpriv] + - OFF + + * - **CSR**: Control and Status Registers + - [RVpriv] + - ON + + * - **AXI**: AXI interface + - [CV-X-IF] + - ON + + * - **TRI**: Translation Response Interface (TRI) + - [OpenPiton] + - OFF + + +.. list-table:: Micro-Architecture Configuration + :header-rows: 1 + + * - Micro-architecture + - Specification + - Configurability + + * - **I$**: Instruction cache + - current spec + - ON + + * - **D$**: Data cache + - current spec + - OFF + + * - **Rename**: register Renaming + - current spec + - OFF + + * - **Double Commit**: out of order pipeline execute stage + - current spec + - ON + + * - **BP**: Branch Prediction + - current spec + - ON with no info storage + + +IO ports +-------- + +.. list-table:: CV32A6 v0.1.0 parameterization + :header-rows: 1 + + * - Parameter + - Type + - Value + - Description + + * - ``CVA6Cfg`` + - ariane_pkg::cva6_cfg_t + - ariane_pkg::v0.1.0_Config + - CVA6 v0.1.0 configuration + +.. list-table:: CV32A6 v0.1.0 interface signals + :header-rows: 1 + + * - Signal + - IO + - Type + - Description + + * - ``clk_i`` + - in + - logic + - subsystem clock + + * - ``rst_ni`` + - in + - logic + - Asynchronous reset active low + + * - ``boot_addr_i`` + - in + - logic[VLEN-1:0] + - Reset boot address + + * - ``hart_id_i`` + - in + - logic[XLEN-1:0] + - Hart id in a multicore environment (reflected in a CSR) + + * - ``irq_i`` + - in + - logic[1:0] + - Level sensitive IR lines, mip & sip (async) + + * - ``ipi_i`` + - in + - logic + - Inter-processor interrupts (async) + + * - ``time_irq_i`` + - in + - logic + - Timer interrupt in (async) + + * - ``debug_req_i`` + - in + - logic + - Debug request (async) + + * - ``rvfi_o`` + - out + - trace_port_t + - RISC-V Formal Interface port (RVFI) + + * - ``cvxif_req_o`` + - out + - cvxif_req_t + - Coprocessor Interface request interface port (CV-X-IF) + + * - ``cvxif_resp_i`` + - in + - cvxif_resp_t + - Coprocessor Interface response interface port (CV-X-IF) + + * - ``axi_req_o`` + - out + - req_t + - AXI master request interface port + + * - ``axi_resp_i`` + - in + - resp_t + - AXI master response interface port diff --git a/docs/04_cv32a6_design/source/embedded_traps.rst b/docs/04_cv32a6_design/source/embedded_traps.rst new file mode 100644 index 0000000000..0ad7bc2e4f --- /dev/null +++ b/docs/04_cv32a6_design/source/embedded_traps.rst @@ -0,0 +1,11 @@ +.. + Copyright 2023 Thales DIS France SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ + + Original Author: Jean-Roch COULON - Thales + + +.. include:: ../../01_cva6_user/Traps_Interrupts_Exceptions.rst diff --git a/docs/04_cv32a6_design/source/index.rst b/docs/04_cv32a6_design/source/index.rst index 63162cd0c5..d4ac079bbd 100644 --- a/docs/04_cv32a6_design/source/index.rst +++ b/docs/04_cv32a6_design/source/index.rst @@ -1,30 +1,24 @@ .. Copyright (c) 2022 Thales - Licensed under the Solderpad Hardware Licence, 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 - - https://solderpad.org/licenses/ + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ - 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. + Original Author: Jean-Roch COULON - Thales - SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 -CV32A6 Design Document -====================== +Embedded CVA6 Design Document +============================= Editor: **Jean Roch Coulon** .. toctree:: :maxdepth: 4 :caption: Contents: - cv32a6_intro - cv32a6_subsystem - cv32a6_frontend - cv32a6_execute + embedded_intro + embedded_overview + embedded_subsystem + embedded_functionality + embedded_architecture cv32a6_glossary diff --git a/docs/conf.py b/docs/conf.py index 36ab7ca527..4c7c11135b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -38,7 +38,7 @@ # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', '*.yaml', '*.xml', -'csr-ip-xact/**/cva6_csr.rst'] +'csr-from-ip-xact/**/*_csr.md', 'csr-ip-xact/**/cva6_csr.*'] # -- Options for HTML output ------------------------------------------------- diff --git a/docs/csr-from-ip-xact/embedded/cva6_csr.md b/docs/csr-from-ip-xact/embedded/embedded_csr.md similarity index 100% rename from docs/csr-from-ip-xact/embedded/cva6_csr.md rename to docs/csr-from-ip-xact/embedded/embedded_csr.md diff --git a/docs/csr-from-ip-xact/embedded/cva6_csr.rst b/docs/csr-from-ip-xact/embedded/embedded_csr.rst similarity index 99% rename from docs/csr-from-ip-xact/embedded/cva6_csr.rst rename to docs/csr-from-ip-xact/embedded/embedded_csr.rst index 257fabbee8..b1288b36ed 100644 --- a/docs/csr-from-ip-xact/embedded/cva6_csr.rst +++ b/docs/csr-from-ip-xact/embedded/embedded_csr.rst @@ -1,6 +1,6 @@ .. code-block:: none - Copyright (c) 2023 Thales Silicon Security + Copyright (c) 2023 Thales DIS France SAS SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 Author: Mohamed Aziz FRIKHA diff --git a/docs/csr-from-ip-xact/embedded/cva6_csr.xml b/docs/csr-from-ip-xact/embedded/embedded_csr.xml similarity index 100% rename from docs/csr-from-ip-xact/embedded/cva6_csr.xml rename to docs/csr-from-ip-xact/embedded/embedded_csr.xml diff --git a/docs/csr-from-ip-xact/embedded/cva6_csr.yaml b/docs/csr-from-ip-xact/embedded/embedded_csr.yaml similarity index 100% rename from docs/csr-from-ip-xact/embedded/cva6_csr.yaml rename to docs/csr-from-ip-xact/embedded/embedded_csr.yaml diff --git a/docs/csr-from-ip-xact/embedded/cva6_csr_list.rst b/docs/csr-from-ip-xact/embedded/embedded_csr_list.rst similarity index 79% rename from docs/csr-from-ip-xact/embedded/cva6_csr_list.rst rename to docs/csr-from-ip-xact/embedded/embedded_csr_list.rst index 69ac07d35b..7f7fc28ecd 100644 --- a/docs/csr-from-ip-xact/embedded/cva6_csr_list.rst +++ b/docs/csr-from-ip-xact/embedded/embedded_csr_list.rst @@ -1,12 +1,18 @@ -.. code-block:: none +.. + Copyright 2023 Thales DIS France SAS + Licensed under the Solderpad Hardware Licence, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 + You may obtain a copy of the License at https://solderpad.org/licenses/ - Copyright (c) 2023 Thales Silicon Security - SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 - Author: Jean-Roch COULON + Original Author: Jean-Roch COULON - Thales +.. _EMBEDDED_CSR_LIST: + + +CSR list +======== -Register Summary ----------------- .. csv-table:: :widths: auto :align: left