Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Encoding/OpCode consistency review

...

  • Test plan for the scalar-crypto specific instructions is available.
  • No actual tests suitable for use currently available. An old experimental set need removing from the riscv-crypto repository, as these no longer work with the latest toolchain or architectural test framework.
  • What's next:  Currently exploring two paths:
    • Imperas have a complete set of tests, written to the existing test plan, for the scalar crypto instructions and the bitmanip instructions we borrow.
      • Some work required to re-generate them in a form suitable for merging into the main architectural test suite.
      • These tests will be contributed upstream to the riscv-arch-test repository imminently, with many thanks to Imperas.
      • They form a base we can use to develop prototype implementations / Spike / SAIL / QEMU very easily and quicklyNo exact estimate for how much work this is in days/weeks.
    • IIT Madras are also looking at writing the scalar crypto tests for integration into the official architectural tests repo as well.
      • No estimate for how long that would take yet.
      Possible path forward:
      • Meeting on Wednesday 24th Feb'21 to discuss this.
      • Likely path is that they re-implement the tests as part of the blessed coverage and test generation tooling.
      • We then switch over to using the IIT tests when they are finished, since they will be easier to maintain/extend going forward than the Imperas tests
      • Ask Imperas to contribute their complete scalar-crypto + bitmanip subset tests.
      • IIT Madras can then write the coverage plan for the architectural test framework.
      • Any future changes to the contributed tests would need to be carefully managed, as they were not generated with the RISC-V test generator tool.

Compilers / Toolchains

GCC and Assembler

...

Project NameBase ArchitectureLevel of implementationNotes
scarv-cpuRV32Behavioural RTL simulation . Running on FPGA. Post yosys synthesis results./ Yosys Synthesis / FPGA

Completely Public/Open Source. Useful as a public baseline. Commercial implementations should aim to be better than this!

PQShield security coreRV32(assumed) Behavioural RTL simulation. Running on FPGA.Closed / commercial source. Most complete implementation of the entropy source.
Romain Dolbeau / VexRISC-VRV32Running on FPGA.Uses VexRiscv core as a base. Completely independent implementation from scratch, outside the Crypto TG.
croyde-riscvRV64Behavioural RTL simulation / Yosys Synthesis / FPGA3-stage micro-controller. Implements rv64imck, machine + user mode. In development. Free/open source baseline for commercial implementations to do better than.
  • (warning) We still need a more RV64 implementation.I (Ben) am working on adding support to a toy core of mine, but I don't have much time to dedicate to this.implementations. (warning)
  • Barry Spinney has offered to do advanced node synthesis runs for open source implementations.
    • I (Ben) intend to take him up on this when I get time. No idea when that will be.

...