This repository was archived by the owner on Apr 27, 2023. It is now read-only.
Releases: scarv/xcrypto
Releases · scarv/xcrypto
v1.0.0
Release Notes:
- This is the version of XCrypto which will be maintained and built on going forward.
- The
v0.x.xbranches are no longer maintained.
v0.15.1
Release Notes:
Specification:
- Revised all
f3=0instruction encodings. - This was done to make the packed instructions much simpler to encode, and remove corner cases.
- General cleanup and typo fixes.
- Added a dedicated FAQ section for miscellaneous design rationale.
- See scarv/xcrypto-spec v0.15.1 for more.
Reference Implementation:
- Substantially smaller in terms of resource usage with no impact on performance.
- See scarv/xcrypto-ref v0.15.1 for more.
v0.13.0
Release Notes:
- Synchronise changes for version
v0.13.0of the XCrypto specfication. - Adds indexed load/store instructions
- Fixes various typos in the specification, and clarifies some behaviour.
Submodule specific releases:
v0.12.0
Release Notes:
- Add new benchmarking flow
- Add SHA2 example code
- Add emulated data load/store performance counters to Verilator environment
- Add easier way to capture simulated program
stdout - Modify #68, making
xc.bopa 3 operand instruction rather than just two - Fix #71 "Encoding fixes needed for multi-precision instructions".
- This fix requires a re-build of binutils and associated XCrypto software due to encoding changes.
- Switch to centralised LaTeX submodule for bibliography and notation.
Known Issues:
- Proofs for packed multiply instructions
xc.pmul.handxc.pmul.ltimeout with no counter examples found. - Proofs for
xc.mmul.3multiply instruction times out with no counter examples found. - Protocols proof fails due to lack of fairness assumptions about memory stalling and cpu response acceptance.
v0.11.0
Release Notes:
- Add the
xc.lutinstruction. A 4-bit in-line lookup-table instruction. - Add the
xc.sha3.*instructions for accelerating code-dense Keccak Sponge functions. - Add Keccak / SHA3 code examples
- Add AES code examples
- Add Prince code examples
- Change #63 - Increase the maximum possible immediate shift values for
xc.msll.iandxc.msrl.i - Change #60 -
xc.scatter.*andxc.gather.*syntax changes - Change #57 - Allow full-width immediate shfits and rotate for packed instructions where
w=32 - Fix #67 - Incorrectly specified field for
xc.prot - Fix #66 -
xc.ins/xc.extinstruction spec typos - Fix #64, #55 -
xc.mix.*instruction spec typos - Fix #61 - bug in XCrypto core to AXI4-Lite bridge.
- Fix #54 - Specification bug for
xc.protandxc.prot.i - Fix #53 - Bintuils encoding bug for
xc.insandxc.ext. - Fix #47 - Add switchable integration mode for the reference RTL. Faster v.s Easy Integration
- Verilator flow and testbench environment improvments
Known Issues:
- Proofs for packed multiply instructions timeout with no counter examples found.
- Protocols proof fails due to lack of fairness assumptions about memory stalling and cpu response acceptance.
v0.10.1 - Verilator Simulation Flow
Release Notes:
- Added a proper verilator flow allowing for easy development of software using the actual integrated hardware platform.
- Added sw-libscarv as a submodule
- Example use of
libscarvin theexamples/helloworldfolder. Uses the XCrypto acceleratedmpn_addfunction.
Known Issues:
- Performance gains due to XCrypto instructions negated by slow interface to the COP. See #47 for ongoing work.
- Proofs for packed multiply instructions timeout with no counter examples found.
- Protocols proof fails due to lack of fairness assumptions about memory stalling and cpu response acceptance.
- No integration of formal checks into standard Icarus verilog simulation flow. All verification relies on model checking.
v0.10.0
Release Notes:
- Add RTL implementation of the new AES acceleration instructions.
- Add formal checks for the AES instructions.
- Update implementation guide document with new AES block information.
Known Issues:
- Proofs for packed multiply instructions timeout with no counter examples found.
protocolsproof fails due to lack of fairness assumptions about memory stalling and cpu response acceptance.- No integration of formal checks into standard Icarus verilog simulation flow. All verification relies on model checking.
v0.9.0 - Initial Public Release
Initial public release of XCrypto
This is the first public release of the XCrypto ISE specification and accompanying reference implementation.
Release Notes:
- The XCrypto ISE specification document is attatched to this release as
xcrypto-specification-0.9.0.pdf - The documentation for the reference implementation is attatched to this release as
xcrypto-reference-implementation-0.9.0.pdf - Both documents can be re-built from source by running
make docsfrom inside the repository.
Known Issues:
- AES instructions currently implemented as NOP.
- Proofs for packed multiply instructions timeout with no counter examples found.
protocolsproof fails due to lack of fairness assumptions about memory stalling and cpu response acceptance.- No integration of formal checks into standard Icarus verilog simulation flow. All verification relies on model checking.