From d0bff25faf6cb96e0c4600cfc16eec03a78b059e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Stro=CC=88mbergson?= Date: Thu, 18 Oct 2018 13:38:47 +0200 Subject: Compacted the code for K constants. --- src/rtl/sha256_k_constants.v | 389 ++++++++----------------------------------- 1 file changed, 67 insertions(+), 322 deletions(-) diff --git a/src/rtl/sha256_k_constants.v b/src/rtl/sha256_k_constants.v index 2da6c06..c14602d 100644 --- a/src/rtl/sha256_k_constants.v +++ b/src/rtl/sha256_k_constants.v @@ -9,7 +9,7 @@ // Author: Joachim Strombergson // Copyright (c) 2014 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 // met: @@ -53,333 +53,78 @@ module sha256_k_constants( // Concurrent connectivity for ports etc. //---------------------------------------------------------------- assign K = tmp_K; - - + + //---------------------------------------------------------------- // addr_mux //---------------------------------------------------------------- always @* begin : addr_mux case(addr) - 0: - begin - tmp_K = 32'h428a2f98; - end - - 1: - begin - tmp_K = 32'h71374491; - end - - 2: - begin - tmp_K = 32'hb5c0fbcf; - end - - 3: - begin - tmp_K = 32'he9b5dba5; - end - - 4: - begin - tmp_K = 32'h3956c25b; - end - - 5: - begin - tmp_K = 32'h59f111f1; - end - - 6: - begin - tmp_K = 32'h923f82a4; - end - - 7: - begin - tmp_K = 32'hab1c5ed5; - end - - 8: - begin - tmp_K = 32'hd807aa98; - end - - 9: - begin - tmp_K = 32'h12835b01; - end - - 10: - begin - tmp_K = 32'h243185be; - end - - 11: - begin - tmp_K = 32'h550c7dc3; - end - - 12: - begin - tmp_K = 32'h72be5d74; - end - - 13: - begin - tmp_K = 32'h80deb1fe; - end - - 14: - begin - tmp_K = 32'h9bdc06a7; - end - - 15: - begin - tmp_K = 32'hc19bf174; - end - - 16: - begin - tmp_K = 32'he49b69c1; - end - - 17: - begin - tmp_K = 32'hefbe4786; - end - - 18: - begin - tmp_K = 32'h0fc19dc6; - end - - 19: - begin - tmp_K = 32'h240ca1cc; - end - - 20: - begin - tmp_K = 32'h2de92c6f; - end - - 21: - begin - tmp_K = 32'h4a7484aa; - end - - 22: - begin - tmp_K = 32'h5cb0a9dc; - end - - 23: - begin - tmp_K = 32'h76f988da; - end - - 24: - begin - tmp_K = 32'h983e5152; - end - - 25: - begin - tmp_K = 32'ha831c66d; - end - - 26: - begin - tmp_K = 32'hb00327c8; - end - - 27: - begin - tmp_K = 32'hbf597fc7; - end - - 28: - begin - tmp_K = 32'hc6e00bf3; - end - - 29: - begin - tmp_K = 32'hd5a79147; - end - - 30: - begin - tmp_K = 32'h06ca6351; - end - - 31: - begin - tmp_K = 32'h14292967; - end - - 32: - begin - tmp_K = 32'h27b70a85; - end - - 33: - begin - tmp_K = 32'h2e1b2138; - end - - 34: - begin - tmp_K = 32'h4d2c6dfc; - end - - 35: - begin - tmp_K = 32'h53380d13; - end - - 36: - begin - tmp_K = 32'h650a7354; - end - - 37: - begin - tmp_K = 32'h766a0abb; - end - - 38: - begin - tmp_K = 32'h81c2c92e; - end - - 39: - begin - tmp_K = 32'h92722c85; - end - - 40: - begin - tmp_K = 32'ha2bfe8a1; - end - - 41: - begin - tmp_K = 32'ha81a664b; - end - - 42: - begin - tmp_K = 32'hc24b8b70; - end - - 43: - begin - tmp_K = 32'hc76c51a3; - end - - 44: - begin - tmp_K = 32'hd192e819; - end - - 45: - begin - tmp_K = 32'hd6990624; - end - - 46: - begin - tmp_K = 32'hf40e3585; - end - - 47: - begin - tmp_K = 32'h106aa070; - end - - 48: - begin - tmp_K = 32'h19a4c116; - end - - 49: - begin - tmp_K = 32'h1e376c08; - end - - 50: - begin - tmp_K = 32'h2748774c; - end - - 51: - begin - tmp_K = 32'h34b0bcb5; - end - - 52: - begin - tmp_K = 32'h391c0cb3; - end - - 53: - begin - tmp_K = 32'h4ed8aa4a; - end - - 54: - begin - tmp_K = 32'h5b9cca4f; - end - - 55: - begin - tmp_K = 32'h682e6ff3; - end - - 56: - begin - tmp_K = 32'h748f82ee; - end - - 57: - begin - tmp_K = 32'h78a5636f; - end - - 58: - begin - tmp_K = 32'h84c87814; - end - - 59: - begin - tmp_K = 32'h8cc70208; - end - - 60: - begin - tmp_K = 32'h90befffa; - end - - 61: - begin - tmp_K = 32'ha4506ceb; - end - - 62: - begin - tmp_K = 32'hbef9a3f7; - end - - 63: - begin - tmp_K = 32'hc67178f2; - end + 00: tmp_K = 32'h428a2f98; + 01: tmp_K = 32'h71374491; + 02: tmp_K = 32'hb5c0fbcf; + 03: tmp_K = 32'he9b5dba5; + 04: tmp_K = 32'h3956c25b; + 05: tmp_K = 32'h59f111f1; + 06: tmp_K = 32'h923f82a4; + 07: tmp_K = 32'hab1c5ed5; + 08: tmp_K = 32'hd807aa98; + 09: tmp_K = 32'h12835b01; + 10: tmp_K = 32'h243185be; + 11: tmp_K = 32'h550c7dc3; + 12: tmp_K = 32'h72be5d74; + 13: tmp_K = 32'h80deb1fe; + 14: tmp_K = 32'h9bdc06a7; + 15: tmp_K = 32'hc19bf174; + 16: tmp_K = 32'he49b69c1; + 17: tmp_K = 32'hefbe4786; + 18: tmp_K = 32'h0fc19dc6; + 19: tmp_K = 32'h240ca1cc; + 20: tmp_K = 32'h2de92c6f; + 21: tmp_K = 32'h4a7484aa; + 22: tmp_K = 32'h5cb0a9dc; + 23: tmp_K = 32'h76f988da; + 24: tmp_K = 32'h983e5152; + 25: tmp_K = 32'ha831c66d; + 26: tmp_K = 32'hb00327c8; + 27: tmp_K = 32'hbf597fc7; + 28: tmp_K = 32'hc6e00bf3; + 29: tmp_K = 32'hd5a79147; + 30: tmp_K = 32'h06ca6351; + 31: tmp_K = 32'h14292967; + 32: tmp_K = 32'h27b70a85; + 33: tmp_K = 32'h2e1b2138; + 34: tmp_K = 32'h4d2c6dfc; + 35: tmp_K = 32'h53380d13; + 36: tmp_K = 32'h650a7354; + 37: tmp_K = 32'h766a0abb; + 38: tmp_K = 32'h81c2c92e; + 39: tmp_K = 32'h92722c85; + 40: tmp_K = 32'ha2bfe8a1; + 41: tmp_K = 32'ha81a664b; + 42: tmp_K = 32'hc24b8b70; + 43: tmp_K = 32'hc76c51a3; + 44: tmp_K = 32'hd192e819; + 45: tmp_K = 32'hd6990624; + 46: tmp_K = 32'hf40e3585; + 47: tmp_K = 32'h106aa070; + 48: tmp_K = 32'h19a4c116; + 49: tmp_K = 32'h1e376c08; + 50: tmp_K = 32'h2748774c; + 51: tmp_K = 32'h34b0bcb5; + 52: tmp_K = 32'h391c0cb3; + 53: tmp_K = 32'h4ed8aa4a; + 54: tmp_K = 32'h5b9cca4f; + 55: tmp_K = 32'h682e6ff3; + 56: tmp_K = 32'h748f82ee; + 57: tmp_K = 32'h78a5636f; + 58: tmp_K = 32'h84c87814; + 59: tmp_K = 32'h8cc70208; + 60: tmp_K = 32'h90befffa; + 61: tmp_K = 32'ha4506ceb; + 62: tmp_K = 32'hbef9a3f7; + 63: tmp_K = 32'hc67178f2; endcase // case (addr) end // block: addr_mux endmodule // sha256_k_constants -- cgit v1.2.3