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

Integrate new xc.sbox.4 instruction #65

Merged
merged 9 commits into from
Dec 19, 2018
Merged

Integrate new xc.sbox.4 instruction #65

merged 9 commits into from
Dec 19, 2018

Conversation

ben-marshall
Copy link
Contributor

Implementation of the proposed xc.sbox.4 instruction described in issue #52.

  • Documentation / Specification additions
  • Binutils Support
  • Verification additions
  • RTL implementation

Experimental usage with the PRINCE cipher:

  • ~6000 cycles (15% faster) improvment per encrypt/decrypt.
  • 1320 fewer instructions executed (15% fewer) per encrypt/decrypt.
  • This is on an otherwise standard C implementation of PRINCE.

- See #52

 On branch dev/sbox-instr
 Changes to be committed:
	modified:   docs/ise-opcodes.txt
	modified:   docs/specification/appx-instr_encode.tex
	modified:   docs/specification/appx-instr_syntax.tex
	modified:   docs/specification/spec-instruction.tex
- See #52

 On branch dev/sbox-instr
 Changes to be committed:
	modified:   bin/ise-parse-opcodes.py
	modified:   bin/setup-binutils.sh
	modified:   external/riscv-binutils-gdb-2.30.patch
	new file:   verif/unit/40-sbox.S
- See #52

 On branch dev/sbox-instr
 Changes to be committed:
	new file:   verif/formal/fml_chk_instr_sbox_4.v
- See #52

 On branch dev/sbox-instr
 Changes to be committed:
	modified:   rtl/coprocessor/scarv_cop_common.vh
	modified:   rtl/coprocessor/scarv_cop_idecode.v
	modified:   rtl/coprocessor/scarv_cop_palu.v
- Better protocol adherence from verilator driver
- simplify scarv AXI adapter

 On branch dev/sbox-instr
 Changes to be committed:
	modified:   flow/verilator/vl_main.cpp
	modified:   rtl/integration/scarv_axi_adapter.v
@ben-marshall ben-marshall added enhancement New feature or request specification Issue relates to the XCrypto ISE specification verification Issue relates to the verification environment implementation Issue relates to the hardware implementation of the iSE software Issue relates to the example software or modified binutils. documentation Issue relates to project documentation. labels Dec 18, 2018
@ben-marshall ben-marshall added this to the RWC Publicised Release milestone Dec 18, 2018
@ben-marshall ben-marshall requested a review from danpage December 18, 2018 12:31
- See #65, #52

 On branch dev/sbox-instr
 Changes to be committed:
	modified:   docs/ise-opcodes.txt
	modified:   external/riscv-binutils-gdb-2.30.patch
	modified:   rtl/coprocessor/scarv_cop_common.vh
	modified:   rtl/coprocessor/scarv_cop_idecode.v
	modified:   rtl/coprocessor/scarv_cop_palu.v
	renamed:    verif/formal/fml_chk_instr_sbox_4.v -> verif/formal/fml_chk_instr_lut.v
@ben-marshall ben-marshall merged commit 3c8ab47 into master Dec 19, 2018
@ben-marshall ben-marshall deleted the dev/sbox-instr branch December 19, 2018 10:51
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Issue relates to project documentation. enhancement New feature or request implementation Issue relates to the hardware implementation of the iSE software Issue relates to the example software or modified binutils. specification Issue relates to the XCrypto ISE specification verification Issue relates to the verification environment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants