[Cryptech-Commits] [core/platform/novena] 14/21: Add "requires" option.
git at cryptech.is
git at cryptech.is
Tue Sep 29 05:24:38 UTC 2015
This is an automated email from the git hooks/post-receive script.
sra at hactrn.net pushed a commit to branch config_core_selector_sra
in repository core/platform/novena.
commit 54516bb49c631f447dbd443557fbde3285074c8a
Author: Rob Austein <sra at hactrn.net>
Date: Sun Sep 27 19:20:26 2015 -0400
Add "requires" option.
---
config/config.cfg | 8 +++++++-
config/config.py | 4 ++++
config/core_vfiles.mk | 8 ++++++++
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/config/config.cfg b/config/config.cfg
index 5f3cf21..9bb01ae 100644
--- a/config/config.cfg
+++ b/config/config.cfg
@@ -1,6 +1,6 @@
# Config file for the Cryptech Novena FPGA framework.
#
-# At present, there are three kinds of variables in this file.
+# At present, there are four kinds of variables in this file:
#
# default-section: Name of the configuration to build if the user
# doesn't specify one. Only meaningful in the default section.
@@ -11,6 +11,11 @@
# 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.
[default]
default-section = rsa
@@ -52,6 +57,7 @@ vfiles =
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
diff --git a/config/config.py b/config/config.py
index bf77a36..814826f 100755
--- a/config/config.py
+++ b/config/config.py
@@ -132,6 +132,10 @@ class Core(object):
def add_vfiles(self, cfg):
if self.instance_number == 0:
self.vfiles = cfg.get(self.name, "vfiles").split()
+ if cfg.has_option(self.name, "requires"):
+ for required in cfg.get(self.name, "requires").split():
+ if required not in self._instance_count:
+ self.vfiles.extend(cfg.get(required, "vfiles").split())
@property
def instance_name(self):
diff --git a/config/core_vfiles.mk b/config/core_vfiles.mk
index bd1c6d4..8def572 100644
--- a/config/core_vfiles.mk
+++ b/config/core_vfiles.mk
@@ -21,6 +21,14 @@ vfiles += \
$(CORE_TREE)/rng/trng/src/rtl/trng_csprng.v \
$(CORE_TREE)/rng/trng/src/rtl/trng_csprng_fifo.v \
$(CORE_TREE)/rng/trng/src/rtl/trng_mixer.v \
+ $(CORE_TREE)/cipher/chacha/src/rtl/chacha.v \
+ $(CORE_TREE)/cipher/chacha/src/rtl/chacha_core.v \
+ $(CORE_TREE)/cipher/chacha/src/rtl/chacha_qr.v \
+ $(CORE_TREE)/hash/sha512/src/rtl/sha512.v \
+ $(CORE_TREE)/hash/sha512/src/rtl/sha512_core.v \
+ $(CORE_TREE)/hash/sha512/src/rtl/sha512_h_constants.v \
+ $(CORE_TREE)/hash/sha512/src/rtl/sha512_k_constants.v \
+ $(CORE_TREE)/hash/sha512/src/rtl/sha512_w_mem.v \
$(CORE_TREE)/math/modexp/src/rtl/adder.v \
$(CORE_TREE)/math/modexp/src/rtl/blockmem1r1w.v \
$(CORE_TREE)/math/modexp/src/rtl/blockmem2r1wptr.v \
More information about the Commits
mailing list