aboutsummaryrefslogtreecommitdiff
path: root/src/rtl
AgeCommit message (Collapse)Author
2015-06-22Cleanup of prodcalc.Joachim Strömbergson
2015-06-22Adding write control of s_mem for first iteration and adding a new stage in ↵Joachim Strömbergson
priority mux.
2015-06-22Adding mux to allow integrating s_mem init with main adder loop.Joachim Strömbergson
2015-06-18Adding iteration flag to be used to remove zero fill of s_mem.Joachim Strömbergson
2015-06-18Moved s logic mux control to control fsm.Joachim Strömbergson
2015-06-18Correct update after linting.Joachim Strömbergson
2015-06-18Restored version of montprod to a version that actually works.Joachim Strömbergson
2015-06-18Combined case statements to make it easier to follow the sequences.Joachim Strömbergson
2015-06-18Update after linting after cycle collapsing.Joachim Strömbergson
2015-06-17(1) Collapsed the sm and sa adder states. Thisimoproves performance for ↵Joachim Strömbergson
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.
2015-06-17(1) Cleaned up bit select for operand b and a. (2) Fixed name of loop ↵Joachim Strömbergson
counter. (3) Reordered processes to main datapath first.
2015-06-17Fixed order of states.Joachim Strömbergson
2015-06-16Merge of s_mux and s_write to allow cycle collapsing.Joachim Strömbergson
2015-06-16Collapsing cycles for loop counter. Updating testbench to match removed cycles.Joachim Strömbergson
2015-06-16Collapsed done. Removes one cycle from each montprod.Joachim Strömbergson
2015-06-15cleanup of s mem write control.Joachim Strömbergson
2015-06-15Fixed the carry registers.Joachim Strömbergson
2015-06-15Fixed prev reg:Joachim Strömbergson
2015-06-15(1) Fixing up write address register fo s mem. (2) Cleanup of loop counter.Joachim Strömbergson
2015-06-15Cleanup and fixing name in preparation for cycle crunch.Joachim Strömbergson
2015-06-02Updated header to emphasis that this is a top level wrapper.Joachim Strömbergson
2015-06-02Refactored into core and top.Joachim Strömbergson
2015-05-24Minor layout fixes.Joachim Strömbergson
2015-05-21Added internal cycle counter. Added API addresses to extract cycle counter ↵Joachim Strömbergson
value. Moved reset of start reg to beginning of FSM.
2015-05-20(1) Removed unneeded default state. (2) Cleanup of testbench and added a ↵Joachim Strömbergson
bigger test case.
2015-05-20Adding new memories with internal pointers.Joachim Strömbergson
2015-05-20Changed to using modexp length register and removed the common length register.Joachim Strömbergson
2015-05-19Updated TB to use access ports. Added missing invalidate of residue when ↵Joachim Strömbergson
modulus is updated. Minor cleanup.
2015-05-08Fixed RH operand size.Joachim Strömbergson
2015-04-27Updated header with info about bit lengths supported.Joachim Strömbergson
2015-04-27Adding localparam for debugging that had gone missing.Joachim Strömbergson
2015-04-27Updating modexp core to v 0.50. This version contains a working core that ↵Joachim Strömbergson
can perform sign and verify with big keys/values. The core builds ok in Altera and Xilinx FPGA tools. This commit also includes a new testgenerator capable of generating testbench for modexp with autgenerated test data of different lengths. The README has been updated with status and implementation results in for different FPGA devices.
2015-04-21Fixed incorrect types.Joachim Strömbergson
2015-04-21Update of modexp to include more of the integration of residue calculator. ↵Joachim Strömbergson
Update of shl and shr to simplify code. shl and shr could be replaced by functions.
2015-04-20(1) Modexp with better API. (2) Adding working residue module. (3) Adding ↵Joachim Strömbergson
new shift32 with carry module needed by the residue module.
2015-04-13Adding initial versions of rtl for modexp. Montgomery multiplication works ↵Joachim Strömbergson
for 8192 bit operands. Modexp can build, but lacks proper control and residue generator. Memories has been tested to match block memories in Xilinx and Altera FPGAs.