aboutsummaryrefslogtreecommitdiff

core/lib

This repository contains common modules instantiated by other cores:

  • lowlevel contains modules for math operations (addition, subtraction, etc). Two sets of modules are provided: generic ones can be used during simulation and when porting to a different architecture, modules from artix7 should be used when building a bitstream for the Alpha board. To use the modules first `include "cryptech_primitive_switch.vh", then instantiate them using `CRYPTECH_PRIMITIVE_* macro.

  • memory contains wrappers for block memories:

    • bram_1rw_readfirst is single read-write port
    • bram_1rw_1ro_readfirst is one read-write, one read-only port
    • bram_1wo_1ro_readfirst is one write-only, one read-only port (useful for storing private keys)
  • modular contains multiprecision modular adder and subtractor

  • multiword contains multiprecision integer comparator and mover/copier

  • util has the following:

    • cryptech_clog2.vh replacement for Xilinx' notorious clog2()