Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-10-23 | Added missing copyright headers. | Pavel V. Shatov (Meister) | |
2019-10-23 | Added simulation-only code to measure multiplier load. | Pavel V. Shatov (Meister) | |
2019-10-21 | Further work: | Pavel V. Shatov (Meister) | |
- added core wrapper - fixed module resets across entire core (all the resets are now consistently active-low) - continued refactoring | |||
2019-10-21 | Added "MERGE_LH" micro-operation. To be able to do Garner's formula we need | Pavel V. Shatov (Meister) | |
regular (not modular) multiplication. We're doing this by telling the modular multiplier to stop after the "square" step, which computes A*B. The problem is that the multiplier stores the lower part of the product in the internal bank L and the upper part in the internal bank H, but we need to be able to do operations on the product as a whole. MERGE_LH that combines the two halves of the product into one bank. | |||
2019-10-03 | Added more micro-operations, entire Montgomery exponentiation ladder works now. | Pavel V. Shatov (Meister) | |
2019-10-03 | Added more micro-operations, also added "general worker" module. The worker ↵ | Pavel V. Shatov (Meister) | |
is basically a block memory data mover, but it can also do some supporting operations required for the Garner's formula part of the exponentiation. | |||
2019-10-03 | Expanded micro-operation parameters (added dedicated control bit to force ↵ | Pavel V. Shatov (Meister) | |
the B input of the modular multiplier to 1, this is necessary to bring numbers out of Montgomery domain). | |||
2019-10-03 | Redesigned storage modules, added top-level module, added I/O storage space. | Pavel V. Shatov (Meister) | |
2019-10-01 | Redesigned core architecture, unified bank structure. All storage blocks now | Pavel V. Shatov (Meister) | |
have eight 4kbit entries and occupy one 36K BRAM tile. |