blob: f42813ec510b3290cefa229e05fe71a86f92125d (
plain) (
tree)
|
|
# Config file for the Cryptech Novena FPGA framework.
#
# Variables used in this file:
#
# default-section: Name of the configuration to build if the user
# doesn't specify one. Only meaningful in the default section.
#
# cores: A list of cores to build. Use with the --section option.
#
# vfiles: A list of Verilog files to include in the vfiles list when
# including a particular core. All (optional) cores must have a
# vfiles option, so that the configuration program knows what to put
# into core_vfiles.mk.
#
# requires: A list of other cores whose vfiles must be loaded to build
# this core. This has no effect on the generated core_selector.v
# file, and has no effect at all if an instance of a core named here
# is already included in the build.
#
# error_wire: boolean indicating whether the core wants a error wire.
#
# block_memory: boolean indicating whether the core uses block memory.
# Effect of this is a bit strange: setting it triggers generation of
# a one-cycle timing delay for every core in this build that does
# *not* use block memory. When no cores in the build use block
# memory, the delay isn't necessary and is therefore omitted.
[default]
default-section = rsa
[hash-only]
cores = sha1 sha256 sha512
[trng-only]
cores = trng
[modexp-only]
cores = modexp
[rsa]
cores = sha256 aes trng modexps6
[multi-test]
cores = sha256 aes aes chacha aes
[sha1]
vfiles =
hash/sha1/src/rtl/sha1.v
hash/sha1/src/rtl/sha1_core.v
hash/sha1/src/rtl/sha1_w_mem.v
[sha256]
vfiles =
hash/sha256/src/rtl/sha256.v
hash/sha256/src/rtl/sha256_core.v
hash/sha256/src/rtl/sha256_k_constants.v
hash/sha256/src/rtl/sha256_w_mem.v
[sha512]
vfiles =
hash/sha512/src/rtl/sha512.v
hash/sha512/src/rtl/sha512_core.v
hash/sha512/src/rtl/sha512_h_constants.v
hash/sha512/src/rtl/sha512_k_constants.v
hash/sha512/src/rtl/sha512_w_mem.v
[trng]
requires = chacha sha512
vfiles =
rng/avalanche_entropy/src/rtl/avalanche_entropy.v
rng/avalanche_entropy/src/rtl/avalanche_entropy_core.v
rng/rosc_entropy/src/rtl/rosc.v
rng/rosc_entropy/src/rtl/rosc_entropy.v
rng/rosc_entropy/src/rtl/rosc_entropy_core.v
rng/trng/src/rtl/trng.v
rng/trng/src/rtl/trng_csprng.v
rng/trng/src/rtl/trng_csprng_fifo.v
rng/trng/src/rtl/trng_mixer.v
[aes]
vfiles =
cipher/aes/src/rtl/aes.v
cipher/aes/src/rtl/aes_core.v
cipher/aes/src/rtl/aes_decipher_block.v
cipher/aes/src/rtl/aes_encipher_block.v
cipher/aes/src/rtl/aes_inv_sbox.v
cipher/aes/src/rtl/aes_key_mem.v
cipher/aes/src/rtl/aes_sbox.v
[chacha]
vfiles =
cipher/chacha/src/rtl/chacha.v
cipher/chacha/src/rtl/chacha_core.v
cipher/chacha/src/rtl/chacha_qr.v
[modexps6]
block_memory = yes
error_wire = no
vfiles =
math/modexps6/src/rtl/modexps6_adder64_carry32.v
math/modexps6/src/rtl/modexps6_buffer_core.v
math/modexps6/src/rtl/modexps6_buffer_user.v
math/modexps6/src/rtl/modexps6_modinv32.v
math/modexps6/src/rtl/modexps6_montgomery_coeff.v
math/modexps6/src/rtl/modexps6_montgomery_multiplier.v
math/modexps6/src/rtl/modexps6_top.v
math/modexps6/src/rtl/modexps6_wrapper.v
math/modexps6/src/rtl/ram_1rw_1ro_readfirst.v
math/modexps6/src/rtl/ipcore/multiplier_s6.v
math/modexps6/src/rtl/ipcore/subtractor_s6.v
[modexp]
error_wire = no
vfiles =
math/modexp/src/rtl/adder.v
math/modexp/src/rtl/blockmem1r1w.v
math/modexp/src/rtl/blockmem2r1wptr.v
math/modexp/src/rtl/blockmem2r1w.v
math/modexp/src/rtl/blockmem2rptr1w.v
math/modexp/src/rtl/modexp.v
math/modexp/src/rtl/modexp_core.v
math/modexp/src/rtl/montprod.v
math/modexp/src/rtl/residue.v
math/modexp/src/rtl/shl.v
math/modexp/src/rtl/shr.v
|