aboutsummaryrefslogtreecommitdiff
path: root/build/config.cfg
blob: a7e3151d8a285f2fceee12952bb1dc69eecb4b40 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# 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 = hsm

# for quick builds to test the bus
[bare]
cores =

[hash]
cores = sha1 sha256 sha512

[trng]
cores = trng

[modexp]
cores = modexpa7

[mkmif]
cores = mkmif

[rsa]
cores = mkmif sha256 aes trng modexpa7

# make me one with everything
[hsm]
cores = mkmif sha1 sha256 sha512 aes trng modexpa7

# include multiple of the same core
[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

[modexpa7]
block_memory = yes
error_wire = no
vfiles =
	math/modexpa7/src/rtl/dsp_multiplier_a7.v
	math/modexpa7/src/rtl/dsp_subtractor_a7.v
	math/modexpa7/src/rtl/modexpa7_adder64_carry32.v
	math/modexpa7/src/rtl/modexpa7_buffer_core.v
	math/modexpa7/src/rtl/modexpa7_buffer_user.v
	math/modexpa7/src/rtl/modexpa7_modinv32.v
	math/modexpa7/src/rtl/modexpa7_montgomery_coeff.v
	math/modexpa7/src/rtl/modexpa7_montgomery_multiplier.v
	math/modexpa7/src/rtl/modexpa7_top.v
	math/modexpa7/src/rtl/modexpa7_wrapper.v
	math/modexpa7/src/rtl/ram_1rw_1ro_readfirst.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

[mkmif]
error_wire = no
vfiles =
	util/mkmif/src/rtl/mkmif.v
	util/mkmif/src/rtl/mkmif_core.v
	util/mkmif/src/rtl/mkmif_spi.v