Skip to content
This repository has been archived by the owner on Apr 27, 2023. It is now read-only.

History

Daniel Page edited this page Mar 9, 2020 · 4 revisions

Project history

XCrypto is a non-standard RISC-V extension. Over time, it has evolved along various branches (each identified by an associated major version):

  • The (now abandoned) 0.x.y branch represents an initial prototype. It can be characterised as deliberately disjoint from the RISC-V base ISA(s), and so, in concept, aligned with implementation as a separate co-processor.

  • The (active) 1.x.y branch represents a refinement of 0.x.y. It can be characterised as taking the functionality from 0.x.y, but integrating inline with vs. alongside the RISC-V base ISA(s), i.e., in the form of a conventional ISA vs. a co-processor.

The long-term goal is to develop the 1.x.y branch, ultimately using it as a basis for a standard (i.e., "official") RISC-V extension proposal.

Repository history

  • Originally this was a monorepo that housed all resources in one place.

  • For the 0.15.0 release, it was re-rorganised to act as a container where each resource is housed in dedicated submodule. Specifically,

    • the tool-chain was maintained as a fork of the official RISC-V repositories, e.g., with scarv/riscv-tools forked from riscv/riscv-tools,
    • scarv/xcrypto-spec captured the XCrypto specification,
    • scarv/xcrypto-rtl captured a library of re-usable hardware components (e.g., for arithmetic operations), which could be used in an implementation of XCrypto,
    • scarv/xcrypto-ref captured a formally verified, area-optimised reference implementation of XCrypto that (e.g., acting as a co-processor) can be coupled to existing RISC-V cores.
  • For the 1.0.0 release, it was re-organised back into a monorepo. Specifically,

    • the tool-chain moved to a patched-based approach
      (in line with, e.g., XBitmanip at cliffordwolf/xbitmanip) meaning, e.g., scarv/riscv-tools was archived,
    • scarv/xcrypto-spec and scarv/xcrypto-rtl were merged back into the container repository then archived, and
    • scarv/xcrypto-ref was archived: the reference integration was replaced with scarv/scarv-cpu and scarv/scarv-soc, a dedicated RISC-V core with support for XCrypto.
Clone this wiki locally