aboutsummaryrefslogtreecommitdiff
path: root/verilog_constants.h
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2017-03-09 00:36:32 -0500
committerRob Austein <sra@hactrn.net>2017-03-09 00:36:32 -0500
commit640ff7b40f5e390250a7a527820d865bdb32f5e6 (patch)
treee6c70109a77b1a81bbfe7f403aedf0f61280491a /verilog_constants.h
parentbcb43f6d1662d27e0a74b9705ad0d559fe4164e1 (diff)
parent7343b9a5f06a8085a4968b62a9b67a544a2623dd (diff)
Merge branch 'hw_ecdsa_p256' into pymux
Support for core/pkey/ecdsa256 and core/pkey/ecdsa384.
Diffstat (limited to 'verilog_constants.h')
-rw-r--r--verilog_constants.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/verilog_constants.h b/verilog_constants.h
index f0ae070..c9bb566 100644
--- a/verilog_constants.h
+++ b/verilog_constants.h
@@ -8,7 +8,7 @@
* hand-edited.
*
* Authors: Joachim Strombergson, Paul Selkirk, Rob Austein
- * Copyright (c) 2015-2016, NORDUnet A/S All rights reserved.
+ * Copyright (c) 2015-2017, NORDUnet A/S All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -241,6 +241,34 @@
#define MODEXPA7_ADDR_RESULT (MODEXPA7_ADDR_OPERANDS + 3 * MODEXPA7_OPERAND_WORDS)
/*
+ * ECDSA P-256 point multiplier core. ECDSA256_OPERAND_BITS is size
+ * in bits of the (only) supported operand size (256 bits, imagine that).
+ *
+ * (Not sure which category EC Point Mulitiplier will end up in, but
+ * let's pretend it's "math".)
+ */
+
+#define ECDSA256_OPERAND_BITS (256)
+#define ECDSA256_ADDR_REGISTERS (0x00)
+#define ECDSA256_ADDR_K (0x20)
+#define ECDSA256_ADDR_X (0x28)
+#define ECDSA256_ADDR_Y (0x30)
+
+/*
+ * ECDSA P-384 point multiplier core. ECDSA384_OPERAND_BITS is size
+ * in bits of the (only) supported operand size (384 bits, imagine that).
+ *
+ * (Not sure which category EC Point Mulitiplier will end up in, but
+ * let's pretend it's "math".)
+ */
+
+#define ECDSA384_OPERAND_BITS (384)
+#define ECDSA384_ADDR_REGISTERS (0x00)
+#define ECDSA384_ADDR_K (0x40)
+#define ECDSA384_ADDR_X (0x50)
+#define ECDSA384_ADDR_Y (0x60)
+
+/*
* Utility cores.
*/