aboutsummaryrefslogtreecommitdiff
path: root/src/rtl
diff options
context:
space:
mode:
authorJoachim StroĢˆmbergson <joachim@secworks.se>2018-10-18 13:38:47 +0200
committerJoachim StroĢˆmbergson <joachim@secworks.se>2018-10-18 13:38:47 +0200
commitd0bff25faf6cb96e0c4600cfc16eec03a78b059e (patch)
tree0e8347dd129b07b480b31c645ab7929118c075d4 /src/rtl
parent3fec1265673b898cdf0e4e5877eec6f8ff336212 (diff)
Compacted the code for K constants.
Diffstat (limited to 'src/rtl')
-rw-r--r--src/rtl/sha256_k_constants.v389
1 files 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