[Cryptech-Commits] [core/math/modexp] branch master updated (22c547c -> 0b94757)
git at cryptech.is
git at cryptech.is
Fri Jun 26 14:59:25 UTC 2015
This is an automated email from the git hooks/post-receive script.
joachim at secworks.se pushed a change to branch master
in repository core/math/modexp.
from 22c547c Adding the encipher/verify test case with 1024 bit RSA key by Rob.
adds dd795a5 Added cycle counter to the montprod testbench to measure the execution time.
adds fb6d1cd More cleanup. Adding a lot of compile flags to be able to silence the testbench.
adds 19032d1 Fixed baseline.
adds 62b6700 Cleanup and fixing name in preparation for cycle crunch.
adds 1ba71b2 (1) Fixing up write address register fo s mem. (2) Cleanup of loop counter.
adds f4fc164 Fixed prev reg:
adds 687521d Fixed the carry registers.
adds 5775903 cleanup of s mem write control.
adds 3e96b4a Fixed non trivial yet fairly short testcases.
adds 6ef8730 Collapsed done. Removes one cycle from each montprod.
adds aa58db8 Collapsing cycles for loop counter. Updating testbench to match removed cycles.
adds 4f7b066 Fixed final big testcase to match python model.
adds e33ebb8 Merge of s_mux and s_write to allow cycle collapsing.
adds c6555a1 Fixed order of states.
adds a894f3a (1) Cleaned up bit select for operand b and a. (2) Fixed name of loop counter. (3) Reordered processes to main datapath first.
adds 46e2c53 (1) Collapsed the sm and sa adder states. Thisimoproves performance for modexp with 3%. (2) Updated montprod testbench to not use the now removed states. (3) Minor code cleanup to make it easier to work with for further improvements.
adds a5076bb Update after linting after cycle collapsing.
adds 35c08fc Combined case statements to make it easier to follow the sequences.
adds c0448c8 Restored version of montprod to a version that actually works.
adds 98e5f8c Correct update after linting.
adds 90337c6 Moved s logic mux control to control fsm.
adds 1e676b4 Adding iteration flag to be used to remove zero fill of s_mem.
adds 10d0d1e Adding mux to allow integrating s_mem init with main adder loop.
adds bba9af3 Adding write control of s_mem for first iteration and adding a new stage in priority mux.
adds 244a915 Cleanup of prodcalc.
adds 747377f Removing state that has been collapsed.
adds 99f2650 Removing stale states in FSM.
adds c74066a Killed off debug in RTL since we now whow info from TB.
adds c54b20e Consolidated address settings, removed stale s logic mux control, removed extra lsw set.
adds 295a9bd Changing module interface and internal defines to use symbolic widths for operand data size and addresses. We need to update counters too.
adds a66de21 Adding a minor comment in the header to exmplain what the module parameters means.
adds 5a0a6f8 Changed blockmem1r1w used in montprod to generic data and address widths. Updated instantiation to use generics.
adds c8c13f7 Made the adder and shifters words size generic. Updated the montprod and residue to use the generic adder and shifters.
adds d2a9055 Updated residue module to use generic operand size.
adds 906b9f1 Adding module parameters for generic operand size to modexp_core and top level localparams with explanation in modexp.v to control the core instantiation.
adds e509e5d montprod now supports generic operand size.
adds 0fa3d49 Updated the 2r1w block memory to be operand size generic. Minor fix in 1r1w block memory.
adds 435b905 Updated all modules below modexp_core has been updated to have generic operand size. Updated module integrations in modexp_core to set the operand width and address width.
adds feeb054 Changed name of files to reflect that the adder and the shifters are now not specifically working on 32-bit operands. HEADSUP: This breaks builds that use the old file names.
adds 708b71f Fixed incorrect compile time expression for sizing the memory.
adds 6a5d579 (1) Untangled the word index address generator from the product logic. (2) Updated the montprod TB to match changed FSM states in montprod.
adds 5c3a5cc Corrected suffixes and cleaned up product address generation.
adds faa8aff Reorganized address generation and bit index generation.
adds e6af58c Small improvement in report of test result.
adds d5115d8 Fused the s_mem init loop into the adder loop.
adds 6e47b80 Removed stale mux state.
adds cb7251b Removed stale switch since we now do s_mem init integrated with calculation.
adds fe04c61 Minor nits.
adds 97976d1 Added another state for setting s_mem_read_addr to allow shortcutting one cycle in each loop.
adds 9d8ab27 Added a support wrapper used to test implementations of montprod with bigger operand sizes.
adds fb603c3 Update of montprod after test implementation with different operand sizes.
adds 2f019d3 Removed obsolete register. Fixed name of trace signals.
adds 79fd97b Added test register for cycle trace. Moved index counter update under if-else to remove spurious s_mem read.
adds 8e73cbf Removed extra digit in test case KAT that had creeped in.
adds 5b00f7c Changed modexp core to use explicit exponent length to allow removal of padding of exponent and improving performance. Updated testbenches to match the changed lengths inside the device under test.
adds cef6c5b Added test case with small exponent and modulus, message that requires padding to work correctly.
adds 97de1e0 Adding hold register and bit combine to create final s_mem data with fused add and div.
adds 0b94757 Adding note about experimental fused shift functionality in the adder stage.
No new revisions were added by this update.
Summary of changes:
src/rtl/{adder32.v => adder.v} | 42 +-
src/rtl/blockmem1r1w.v | 22 +-
src/rtl/blockmem2r1w.v | 25 +-
src/rtl/blockmem2r1wptr.v | 44 ++-
src/rtl/blockmem2rptr1w.v | 41 +-
src/rtl/modexp.v | 77 ++--
src/rtl/modexp_core.v | 256 ++++++------
src/rtl/montprod.v | 777 +++++++++++++++++++------------------
src/rtl/residue.v | 402 ++++++++++---------
src/rtl/{shl32.v => shl.v} | 31 +-
src/rtl/{shr32.v => shr.v} | 25 +-
src/support/rtl/montprod_wrapper.v | 153 ++++++++
src/tb/tb_modexp.v | 199 ++++++++--
src/tb/tb_modexp_autogenerated.v | 4 +-
src/tb/tb_montprod.v | 757 ++++++++++++++++++++----------------
toolruns/Makefile | 2 +-
16 files changed, 1653 insertions(+), 1204 deletions(-)
rename src/rtl/{adder32.v => adder.v} (65%)
rename src/rtl/{shl32.v => shl.v} (77%)
rename src/rtl/{shr32.v => shr.v} (79%)
create mode 100644 src/support/rtl/montprod_wrapper.v
More information about the Commits
mailing list