Module Hardcaml_ntt

module Bram : sig ... end

Double buffered (Ultra)ram blocks which provide 2 read and 2 write ports.

module Controller : sig ... end

NTT transform controller.

module Core_config : sig ... end

Configuration of NTT core.

module Four_step : sig ... end

Multipass NTT algorithm using the 4 step method.

module Gf : sig ... end

Implementations of the Goldilocks field arithmetic used within the NTT calculation.

module Multi_parallel_cores : sig ... end

Instantiate 2^Config.logblocks parallel cores.

module Parallel_cores : sig ... end

Instantiate 2^Config.logcores ntt designs.

module Reference_model : sig ... end

Software implementations of the algorithms implemented in the hardware.

module Roots : sig ... end

Forward and inverse roots of unity within the Goldilocks field.

module Single_core : sig ... end

Instantiate a single NTT core design with the associated input/output and internal RAMs.

module Transposer : sig ... end
module Twiddle_factor_stream : sig ... end

Computes a stream of twiddle factors (successive powers of the initial roots) used in the first pass of the 4 step algorithm.

module Twiddle_update : sig ... end

Twiddle factor update interface.

module Util : sig ... end

Utility functions.