From 89ea59439901b56561348b57ed1122e7a9bbdcb1 Mon Sep 17 00:00:00 2001 From: Johannes Wirth Date: Tue, 13 Jul 2021 10:51:28 +0200 Subject: [PATCH] Update FPGA Firmware for bigger batch sizes --- fpga_spn/raven_spn | Bin 271380 -> 270524 bytes fpga_spn/src/raven_spn.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/fpga_spn/raven_spn b/fpga_spn/raven_spn index 3384f46efb075ac845479896618e832f6f33a5fc..4cd2606a421f1437ce0f558e2eb6d7b98776b998 100755 GIT binary patch delta 44602 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 C9dYRZ delta 44673 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 diff --git a/fpga_spn/src/raven_spn.cpp b/fpga_spn/src/raven_spn.cpp index 9d57ffd..d0c9f9d 100644 --- a/fpga_spn/src/raven_spn.cpp +++ b/fpga_spn/src/raven_spn.cpp @@ -60,7 +60,7 @@ int main() { printf("Result Bytes: %d\n", result_bytes); - uint32_t step = 500; + uint32_t step = 10000; uint32_t iterations = 5;