From 34058ddbf04d7d886d880f7c5ad754c9d249bbd7 Mon Sep 17 00:00:00 2001 From: David Harris Date: Sun, 10 Mar 2024 20:36:29 -0700 Subject: [PATCH] Crypto formatting cleanup --- src/ieu/aes_common/aesinvmixcolumns.sv | 6 ++-- src/ieu/aes_common/aesinvsbox.sv | 8 ++--- src/ieu/aes_common/aesinvsboxword.sv | 14 ++++---- src/ieu/aes_common/aesinvshiftrow.sv | 6 ++-- src/ieu/aes_common/aesmixcolumns.sv | 6 ++-- src/ieu/aes_common/aessbox.sv | 8 ++--- src/ieu/aes_common/aessboxword.sv | 10 +++--- src/ieu/aes_common/aesshiftrow.sv | 5 ++- src/ieu/aes_common/galoismultforward.sv | 5 ++- src/ieu/aes_common/galoismultinverse.sv | 12 ++++--- src/ieu/aes_instructions/aes32dsi.sv | 17 ++++----- src/ieu/aes_instructions/aes32dsmi.sv | 17 ++++----- src/ieu/aes_instructions/aes32esi.sv | 17 ++++----- src/ieu/aes_instructions/aes32esmi.sv | 17 ++++----- src/ieu/aes_instructions/aes64ds.sv | 12 +++---- src/ieu/aes_instructions/aes64dsm.sv | 15 ++++---- src/ieu/aes_instructions/aes64es.sv | 9 ++--- src/ieu/aes_instructions/aes64esm.sv | 11 +++--- src/ieu/aes_instructions/aes64im.sv | 6 ++-- src/ieu/aes_instructions/aes64ks1i.sv | 13 +++---- src/ieu/aes_instructions/aes64ks2.sv | 12 +++---- src/ieu/aes_instructions/rconlut128.sv | 8 ++--- src/ieu/kmu/packer.sv | 21 +++++------ src/ieu/kmu/zbkb.sv | 13 +++---- src/ieu/kmu/zbkx.sv | 9 ++--- src/ieu/kmu/zipper.sv | 12 +++---- src/ieu/kmu/zknd32.sv | 16 ++++----- src/ieu/kmu/zknd64.sv | 19 +++++----- src/ieu/kmu/zkne32.sv | 13 ++++--- src/ieu/kmu/zkne64.sv | 18 +++++----- src/ieu/kmu/zknh32.sv | 46 ++++++++++--------------- src/ieu/kmu/zknh64.sv | 39 +++++++++------------ src/ieu/sha_instructions/sha256sig0.sv | 16 ++++----- src/ieu/sha_instructions/sha256sig1.sv | 16 ++++----- src/ieu/sha_instructions/sha256sum0.sv | 16 ++++----- src/ieu/sha_instructions/sha256sum1.sv | 16 ++++----- src/ieu/sha_instructions/sha512sig0.sv | 8 +++-- src/ieu/sha_instructions/sha512sig0h.sv | 8 +++-- src/ieu/sha_instructions/sha512sig0l.sv | 8 +++-- src/ieu/sha_instructions/sha512sig1.sv | 6 ++-- src/ieu/sha_instructions/sha512sig1h.sv | 8 +++-- src/ieu/sha_instructions/sha512sig1l.sv | 10 +++--- src/ieu/sha_instructions/sha512sum0.sv | 6 ++-- src/ieu/sha_instructions/sha512sum0r.sv | 8 +++-- src/ieu/sha_instructions/sha512sum1.sv | 6 ++-- src/ieu/sha_instructions/sha512sum1r.sv | 8 +++-- 46 files changed, 301 insertions(+), 279 deletions(-) diff --git a/src/ieu/aes_common/aesinvmixcolumns.sv b/src/ieu/aes_common/aesinvmixcolumns.sv index 52ac6beb9..03c1962a0 100644 --- a/src/ieu/aes_common/aesinvmixcolumns.sv +++ b/src/ieu/aes_common/aesinvmixcolumns.sv @@ -25,7 +25,10 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aesinvmixcolumns(input logic [31:0] in, output logic [31:0] out); +module aesinvmixcolumns( + input logic [31:0] in, + output logic [31:0] out +); logic [7:0] in0, in1, in2, in3, temp; logic [10:0] xor0, xor1, xor2, xor3; @@ -42,5 +45,4 @@ module aesinvmixcolumns(input logic [31:0] in, output logic [31:0] out); galoismultinverse gm1 (xor1, out[15:8]); galoismultinverse gm2 (xor2, out[23:16]); galoismultinverse gm3 (xor3, out[31:24]); - endmodule diff --git a/src/ieu/aes_common/aesinvsbox.sv b/src/ieu/aes_common/aesinvsbox.sv index 0c8b4c200..c8735baac 100644 --- a/src/ieu/aes_common/aesinvsbox.sv +++ b/src/ieu/aes_common/aesinvsbox.sv @@ -25,10 +25,12 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aesinvsbox(input logic [7:0] in, output logic [7:0] out); +module aesinvsbox( + input logic [7:0] in, + output logic [7:0] out +); always_comb - begin case(in) 8'h00 : out = 8'h52; 8'h01 : out = 8'h09; @@ -287,6 +289,4 @@ module aesinvsbox(input logic [7:0] in, output logic [7:0] out); 8'hFE : out = 8'h0C; 8'hFF : out = 8'h7D; endcase - end - endmodule diff --git a/src/ieu/aes_common/aesinvsboxword.sv b/src/ieu/aes_common/aesinvsboxword.sv index ec0930d0c..c6d3ac126 100644 --- a/src/ieu/aes_common/aesinvsboxword.sv +++ b/src/ieu/aes_common/aesinvsboxword.sv @@ -25,14 +25,14 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aesinvsboxword(input logic [31:0] in, output logic [31:0] out); +module aesinvsboxword( + input logic [31:0] in, + output logic [31:0] out +); - // Declare the SBOX for (least significant) byte 0 of the input - aesinvsbox sboxb0(.in(in[7:0]), .out(out[7:0])); - // Declare the SBOX for byte 1 of the input - aesinvsbox sboxb1(.in(in[15:8]), .out(out[15:8])); - // Declare the SBOX for byte 2 of the input + // inverse substitutions boxes for each byte of the word + aesinvsbox sboxb0(.in(in[7:0]), .out(out[7:0])); + aesinvsbox sboxb1(.in(in[15:8]), .out(out[15:8])); aesinvsbox sboxb2(.in(in[23:16]), .out(out[23:16])); - // Declare the SBOX for byte 3 of the input aesinvsbox sboxb3(.in(in[31:24]), .out(out[31:24])); endmodule diff --git a/src/ieu/aes_common/aesinvshiftrow.sv b/src/ieu/aes_common/aesinvshiftrow.sv index 495ad8c71..82b9a380c 100644 --- a/src/ieu/aes_common/aesinvshiftrow.sv +++ b/src/ieu/aes_common/aesinvshiftrow.sv @@ -25,11 +25,13 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aesinvshiftrow(input logic [127:0] DataIn, output logic [127:0] DataOut); +module aesinvshiftrow( + input logic [127:0] DataIn, + output logic [127:0] DataOut +); assign DataOut = {DataIn[31:24], DataIn[55:48], DataIn[79:72], DataIn[103:96], DataIn[127:120], DataIn[23:16], DataIn[47:40], DataIn[71:64], DataIn[95:88], DataIn[119:112], DataIn[15:8], DataIn[39:32], DataIn[63:56], DataIn[87:80], DataIn[111:104], DataIn[7:0]}; - endmodule diff --git a/src/ieu/aes_common/aesmixcolumns.sv b/src/ieu/aes_common/aesmixcolumns.sv index 6a5c076fa..0bff6b753 100644 --- a/src/ieu/aes_common/aesmixcolumns.sv +++ b/src/ieu/aes_common/aesmixcolumns.sv @@ -26,7 +26,10 @@ //////////////////////////////////////////////////////////////////////////////////////////////// -module aesmixcolumns(input logic [31:0] in, output logic [31:0] out); +module aesmixcolumns( + input logic [31:0] in, + output logic [31:0] out +); logic [7:0] in0, in1, in2, in3, out0, out1, out2, out3, t0, t1, t2, t3, temp; @@ -44,5 +47,4 @@ module aesmixcolumns(input logic [31:0] in, output logic [31:0] out); assign out3 = in3 ^ temp ^ t2; assign out = {out0, out1, out2, out3}; - endmodule diff --git a/src/ieu/aes_common/aessbox.sv b/src/ieu/aes_common/aessbox.sv index 6b6e04918..8ddfa9731 100644 --- a/src/ieu/aes_common/aessbox.sv +++ b/src/ieu/aes_common/aessbox.sv @@ -25,11 +25,13 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aessbox(input logic [7:0] in, output logic [7:0] out); +module aessbox( + input logic [7:0] in, + output logic [7:0] out +); // case statement to lookup the value in the rijndael table always_comb - begin case(in) 8'h00 : out = 8'h63; 8'h01 : out = 8'h7C; @@ -288,6 +290,4 @@ module aessbox(input logic [7:0] in, output logic [7:0] out); 8'hFE : out = 8'hBB; 8'hFF : out = 8'h16; endcase - end - endmodule diff --git a/src/ieu/aes_common/aessboxword.sv b/src/ieu/aes_common/aessboxword.sv index fd4e49af0..f6f11680c 100644 --- a/src/ieu/aes_common/aessboxword.sv +++ b/src/ieu/aes_common/aessboxword.sv @@ -25,14 +25,14 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aessboxword(input logic [31:0] in, output logic [31:0] out); +module aessboxword( + input logic [31:0] in, + output logic [31:0] out +); - // Declare the SBOX for (least significant) byte 0 of the input + // substitutions boxes for each byte of the word aessbox sboxb0(.in(in[7:0]), .out(out[7:0])); - // Declare the SBOX for byte 1 of the input aessbox sboxb1(.in(in[15:8]), .out(out[15:8])); - // Declare the SBOX for byte 2 of the input aessbox sboxb2(.in(in[23:16]), .out(out[23:16])); - // Declare the SBOX for byte 3 of the input aessbox sboxb3(.in(in[31:24]), .out(out[31:24])); endmodule diff --git a/src/ieu/aes_common/aesshiftrow.sv b/src/ieu/aes_common/aesshiftrow.sv index 96e4b4e0d..0d9a1ed60 100644 --- a/src/ieu/aes_common/aesshiftrow.sv +++ b/src/ieu/aes_common/aesshiftrow.sv @@ -25,7 +25,10 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aesshiftrow(input logic [127:0] DataIn, output logic [127:0] DataOut); +module aesshiftrow( + input logic [127:0] DataIn, + output logic [127:0] DataOut +); assign DataOut = {DataIn[95:88], DataIn[55:48], DataIn[15:8], DataIn[103:96], DataIn[63:56], DataIn[23:16], DataIn[111:104], DataIn[71:64], diff --git a/src/ieu/aes_common/galoismultforward.sv b/src/ieu/aes_common/galoismultforward.sv index 86eed1a39..3e901eaa0 100644 --- a/src/ieu/aes_common/galoismultforward.sv +++ b/src/ieu/aes_common/galoismultforward.sv @@ -25,7 +25,10 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module galoismultforward(input logic [7:0] in, output logic [7:0] out); +module galoismultforward( + input logic [7:0] in, + output logic [7:0] out +); logic [7:0] leftshift; diff --git a/src/ieu/aes_common/galoismultinverse.sv b/src/ieu/aes_common/galoismultinverse.sv index 08be6588a..65973f33f 100644 --- a/src/ieu/aes_common/galoismultinverse.sv +++ b/src/ieu/aes_common/galoismultinverse.sv @@ -25,12 +25,14 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module galoismultinverse(input logic [10:0] in, output logic [7:0] out); +module galoismultinverse( + input logic [10:0] in, + output logic [7:0] out +); logic [7:0] temp0, temp1; - assign temp0 = in[8] ? (in[7:0] ^ 8'b00011011) : in[7:0]; - assign temp1 = in[9] ? (temp0 ^ 8'b00110110) : temp0; - assign out = in[10] ? (temp1 ^ 8'b01101100) : temp1; - + assign temp0 = in[8] ? (in[7:0] ^ 8'b00011011) : in[7:0]; + assign temp1 = in[9] ? (temp0 ^ 8'b00110110) : temp0; + assign out = in[10] ? (temp1 ^ 8'b01101100) : temp1; endmodule diff --git a/src/ieu/aes_instructions/aes32dsi.sv b/src/ieu/aes_instructions/aes32dsi.sv index edb83c0ee..5f0b20302 100644 --- a/src/ieu/aes_instructions/aes32dsi.sv +++ b/src/ieu/aes_instructions/aes32dsi.sv @@ -25,16 +25,17 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes32dsi(input logic [1:0] bs, - input logic [31:0] rs1, - input logic [31:0] rs2, - output logic [31:0] DataOut); +module aes32dsi( + input logic [1:0] bs, + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); - // Declare Intermediary logic - logic [4:0] shamt; + logic [4:0] shamt; logic [31:0] SboxIn32; - logic [7:0] SboxIn; - logic [7:0] SboxOut; + logic [7:0] SboxIn; + logic [7:0] SboxOut; logic [31:0] so; logic [31:0] sorotate; diff --git a/src/ieu/aes_instructions/aes32dsmi.sv b/src/ieu/aes_instructions/aes32dsmi.sv index c3798658a..5eecc5e30 100644 --- a/src/ieu/aes_instructions/aes32dsmi.sv +++ b/src/ieu/aes_instructions/aes32dsmi.sv @@ -25,16 +25,17 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes32dsmi(input logic [1:0] bs, - input logic [31:0] rs1, - input logic [31:0] rs2, - output logic [31:0] DataOut); +module aes32dsmi( + input logic [1:0] bs, + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); - // Declare Intermediary logic - logic [4:0] shamt; + logic [4:0] shamt; logic [31:0] SboxIn32; - logic [7:0] SboxIn; - logic [7:0] SboxOut; + logic [7:0] SboxIn; + logic [7:0] SboxOut; logic [31:0] so; logic [31:0] mixed; logic [31:0] mixedrotate; diff --git a/src/ieu/aes_instructions/aes32esi.sv b/src/ieu/aes_instructions/aes32esi.sv index 83791f4c3..fc502c10e 100644 --- a/src/ieu/aes_instructions/aes32esi.sv +++ b/src/ieu/aes_instructions/aes32esi.sv @@ -25,16 +25,17 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes32esi(input logic [1:0] bs, - input logic [31:0] rs1, - input logic [31:0] rs2, - output logic [31:0] DataOut); +module aes32esi( + input logic [1:0] bs, + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); - // Declare Intermediary logic - logic [4:0] shamt; + logic [4:0] shamt; logic [31:0] SboxIn32; - logic [7:0] SboxIn; - logic [7:0] SboxOut; + logic [7:0] SboxIn; + logic [7:0] SboxOut; logic [31:0] so; logic [31:0] sorotate; diff --git a/src/ieu/aes_instructions/aes32esmi.sv b/src/ieu/aes_instructions/aes32esmi.sv index b3839c93a..42ca4cd33 100644 --- a/src/ieu/aes_instructions/aes32esmi.sv +++ b/src/ieu/aes_instructions/aes32esmi.sv @@ -25,16 +25,17 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes32esmi(input logic [1:0] bs, - input logic [31:0] rs1, - input logic [31:0] rs2, - output logic [31:0] DataOut); +module aes32esmi( + input logic [1:0] bs, + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); - // Declare Intermediary logic - logic [4:0] shamt; + logic [4:0] shamt; logic [31:0] SboxIn32; - logic [7:0] SboxIn; - logic [7:0] SboxOut; + logic [7:0] SboxIn; + logic [7:0] SboxOut; logic [31:0] so; logic [31:0] mixed; logic [31:0] mixedrotate; diff --git a/src/ieu/aes_instructions/aes64ds.sv b/src/ieu/aes_instructions/aes64ds.sv index d5289ab03..f984df604 100644 --- a/src/ieu/aes_instructions/aes64ds.sv +++ b/src/ieu/aes_instructions/aes64ds.sv @@ -25,14 +25,14 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes64ds(input logic [63:0] rs1, - input logic [63:0] rs2, - output logic [63:0] DataOut); +module aes64ds( + input logic [63:0] rs1, + input logic [63:0] rs2, + output logic [63:0] DataOut +); - // Intermediary Logic logic [127:0] ShiftRowOut; - logic [31:0] SboxOut0; - logic [31:0] SboxOut1; + logic [31:0] SboxOut0, SboxOut1; // Apply inverse shiftrows to rs2 and rs1 aesinvshiftrow srow(.DataIn({rs2,rs1}), .DataOut(ShiftRowOut)); diff --git a/src/ieu/aes_instructions/aes64dsm.sv b/src/ieu/aes_instructions/aes64dsm.sv index 194485642..529ff8af0 100644 --- a/src/ieu/aes_instructions/aes64dsm.sv +++ b/src/ieu/aes_instructions/aes64dsm.sv @@ -25,16 +25,15 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes64dsm(input logic [63:0] rs1, - input logic [63:0] rs2, - output logic [63:0] DataOut); +module aes64dsm( + input logic [63:0] rs1, + input logic [63:0] rs2, + output logic [63:0] DataOut +); - // Intermediary Logic logic [127:0] ShiftRowOut; - logic [31:0] SboxOut0; - logic [31:0] SboxOut1; - logic [31:0] MixcolOut0; - logic [31:0] MixcolOut1; + logic [31:0] SboxOut0, SboxOut1; + logic [31:0] MixcolOut0, MixcolOut1; // Apply inverse shiftrows to rs2 and rs1 aesinvshiftrow srow(.DataIn({rs2, rs1}), .DataOut(ShiftRowOut)); diff --git a/src/ieu/aes_instructions/aes64es.sv b/src/ieu/aes_instructions/aes64es.sv index 39521af76..c9d7c6bc2 100644 --- a/src/ieu/aes_instructions/aes64es.sv +++ b/src/ieu/aes_instructions/aes64es.sv @@ -25,11 +25,12 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes64es(input logic [63:0] rs1, - input logic [63:0] rs2, - output logic [63:0] DataOut); +module aes64es( + input logic [63:0] rs1, + input logic [63:0] rs2, + output logic [63:0] DataOut +); - // Intermediary Signals logic [127:0] ShiftRowOut; // AES shiftrow unit diff --git a/src/ieu/aes_instructions/aes64esm.sv b/src/ieu/aes_instructions/aes64esm.sv index 0b0bab3a0..34806bf85 100644 --- a/src/ieu/aes_instructions/aes64esm.sv +++ b/src/ieu/aes_instructions/aes64esm.sv @@ -25,13 +25,14 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes64esm(input logic [63:0] rs1, - input logic [63:0] rs2, - output logic [63:0] DataOut); +module aes64esm( + input logic [63:0] rs1, + input logic [63:0] rs2, + output logic [63:0] DataOut +); - // Intermediary Signals logic [127:0] ShiftRowOut; - logic [63:0] SboxOut; + logic [63:0] SboxOut; // AES shiftrow unit aesshiftrow srow(.DataIn({rs2,rs1}), .DataOut(ShiftRowOut)); diff --git a/src/ieu/aes_instructions/aes64im.sv b/src/ieu/aes_instructions/aes64im.sv index 7e812587f..905805802 100644 --- a/src/ieu/aes_instructions/aes64im.sv +++ b/src/ieu/aes_instructions/aes64im.sv @@ -25,8 +25,10 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes64im(input logic [63:0] rs1, - output logic [63:0] DataOut); +module aes64im( + input logic [63:0] rs1, + output logic [63:0] DataOut +); aesinvmixcolumns inv_mw_0(.in(rs1[31:0]), .out(DataOut[31:0])); aesinvmixcolumns inv_mw_1(.in(rs1[63:32]), .out(DataOut[63:32])); diff --git a/src/ieu/aes_instructions/aes64ks1i.sv b/src/ieu/aes_instructions/aes64ks1i.sv index bd7188ea0..e2e8a2525 100644 --- a/src/ieu/aes_instructions/aes64ks1i.sv +++ b/src/ieu/aes_instructions/aes64ks1i.sv @@ -25,14 +25,15 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes64ks1i(input logic [3:0] roundnum, - input logic [63:0] rs1, - output logic [63:0] rd); +module aes64ks1i( + input logic [3:0] roundnum, + input logic [63:0] rs1, + output logic [63:0] rd +); - // Instantiate intermediary logic signals - logic [7:0] rconPreShift; + logic [7:0] rconPreShift; logic [31:0] rcon; - logic lastRoundFlag; + logic lastRoundFlag; logic [31:0] rs1Rotate; logic [31:0] tmp2; logic [31:0] SboxOut; diff --git a/src/ieu/aes_instructions/aes64ks2.sv b/src/ieu/aes_instructions/aes64ks2.sv index ce76e17a6..46833ab33 100644 --- a/src/ieu/aes_instructions/aes64ks2.sv +++ b/src/ieu/aes_instructions/aes64ks2.sv @@ -25,13 +25,13 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module aes64ks2(input logic [63:0] rs2, - input logic [63:0] rs1, - output logic [63:0] rd); +module aes64ks2( + input logic [63:0] rs2, + input logic [63:0] rs1, + output logic [63:0] rd +); - // Instantiate Intermediary logic - logic [31:0] w0; - logic [31:0] w1; + logic [31:0] w0, w1; assign w0 = rs1[63:32] ^ rs2[31:0]; assign w1 = rs1[63:32] ^ rs2[31:0] ^ rs2[63:32]; diff --git a/src/ieu/aes_instructions/rconlut128.sv b/src/ieu/aes_instructions/rconlut128.sv index c95807778..c10aa6b75 100644 --- a/src/ieu/aes_instructions/rconlut128.sv +++ b/src/ieu/aes_instructions/rconlut128.sv @@ -25,11 +25,12 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module rconlut128(input logic [3:0] RD, - output logic [7:0] rconOut); +module rconlut128( + input logic [3:0] RD, + output logic [7:0] rconOut +); always_comb - begin case(RD) 4'h0 : rconOut = 8'h01; 4'h1 : rconOut = 8'h02; @@ -44,5 +45,4 @@ module rconlut128(input logic [3:0] RD, 4'hA : rconOut = 8'h00; default : rconOut = 8'h00; endcase - end endmodule diff --git a/src/ieu/kmu/packer.sv b/src/ieu/kmu/packer.sv index 3f17b16d0..bd9a143b7 100644 --- a/src/ieu/kmu/packer.sv +++ b/src/ieu/kmu/packer.sv @@ -26,17 +26,16 @@ //////////////////////////////////////////////////////////////////////////////////////////////// module packer #(parameter WIDTH=32) ( - input logic [WIDTH-1:0] A, B, - input logic [2:0] PackSelect, - output logic [WIDTH-1:0] PackResult); + input logic [WIDTH-1:0] A, B, + input logic [2:0] PackSelect, + output logic [WIDTH-1:0] PackResult +); logic [WIDTH/2-1:0] lowhalf, highhalf; logic [7:0] lowhalfh, highhalfh; - logic [15:0] lowhalfw, highhalfw; + logic [15:0] lowhalfw, highhalfw; - logic [WIDTH-1:0] Pack; - logic [WIDTH-1:0] PackH; - logic [WIDTH-1:0] PackW; + logic [WIDTH-1:0] Pack, PackH, PackW; assign lowhalf = A[WIDTH/2-1:0]; assign highhalf = B[WIDTH/2-1:0]; @@ -50,9 +49,7 @@ module packer #(parameter WIDTH=32) ( assign PackW = {{(WIDTH-32){highhalfw[15]}}, highhalfw, lowhalfw}; always_comb - begin - if (PackSelect[1:0] == 2'b11) PackResult = PackH; - else if (PackSelect[2] == 1'b0) PackResult = Pack; - else PackResult = PackW; - end + if (PackSelect[1:0] == 2'b11) PackResult = PackH; + else if (PackSelect[2] == 1'b0) PackResult = Pack; + else PackResult = PackW; endmodule diff --git a/src/ieu/kmu/zbkb.sv b/src/ieu/kmu/zbkb.sv index 21e92dad7..ca6214edb 100644 --- a/src/ieu/kmu/zbkb.sv +++ b/src/ieu/kmu/zbkb.sv @@ -25,12 +25,13 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module zbkb #(parameter WIDTH=32) - (input logic [WIDTH-1:0] A, B, RevA, - input logic W64, - input logic [2:0] Funct3, - input logic [2:0] ZBKBSelect, - output logic [WIDTH-1:0] ZBKBResult); +module zbkb #(parameter WIDTH=32) ( + input logic [WIDTH-1:0] A, B, RevA, + input logic W64, + input logic [2:0] Funct3, + input logic [2:0] ZBKBSelect, + output logic [WIDTH-1:0] ZBKBResult +); logic [WIDTH-1:0] ByteResult; // rev8, brev8 logic [WIDTH-1:0] PackResult; // pack, packh, packw (RB64 only) diff --git a/src/ieu/kmu/zbkx.sv b/src/ieu/kmu/zbkx.sv index 9e3d2c200..9bf48406a 100644 --- a/src/ieu/kmu/zbkx.sv +++ b/src/ieu/kmu/zbkx.sv @@ -25,10 +25,11 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module zbkx #(parameter WIDTH=32) - (input logic [WIDTH-1:0] A, B, - input logic [2:0] ZBKXSelect, - output logic [WIDTH-1:0] ZBKXResult); +module zbkx #(parameter WIDTH=32) ( + input logic [WIDTH-1:0] A, B, + input logic [2:0] ZBKXSelect, + output logic [WIDTH-1:0] ZBKXResult +); logic [WIDTH-1:0] xpermlookup; integer i; diff --git a/src/ieu/kmu/zipper.sv b/src/ieu/kmu/zipper.sv index 1799c5a89..32d08983f 100644 --- a/src/ieu/kmu/zipper.sv +++ b/src/ieu/kmu/zipper.sv @@ -25,13 +25,13 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module zipper #(parameter WIDTH=64) - (input logic [WIDTH-1:0] A, - input logic ZipSelect, - output logic [WIDTH-1:0] ZipResult); +module zipper #(parameter WIDTH=64) ( + input logic [WIDTH-1:0] A, + input logic ZipSelect, + output logic [WIDTH-1:0] ZipResult +); - logic [WIDTH-1:0] zip; - logic [WIDTH-1:0] unzip; + logic [WIDTH-1:0] zip, unzip; genvar i; for (i=0; i> 7; // Assign output to xor of 3 rotates - assign result = ror1 ^ ror8 ^ sh7; - + assign result = ror1 ^ ror8 ^ sh7; endmodule diff --git a/src/ieu/sha_instructions/sha512sig0h.sv b/src/ieu/sha_instructions/sha512sig0h.sv index 8074dc9a3..183b8e3f3 100644 --- a/src/ieu/sha_instructions/sha512sig0h.sv +++ b/src/ieu/sha_instructions/sha512sig0h.sv @@ -25,8 +25,11 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module sha512sig0h(input logic [31:0] rs1, input logic [31:0] rs2, - output logic [31:0] DataOut); +module sha512sig0h( + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); // RS1 Shifts logic [31:0] shift1; @@ -48,5 +51,4 @@ module sha512sig0h(input logic [31:0] rs1, input logic [31:0] rs2, // XOR to get result assign DataOut = shift1 ^ shift7 ^ shift8 ^ shift31 ^ shift24; - endmodule diff --git a/src/ieu/sha_instructions/sha512sig0l.sv b/src/ieu/sha_instructions/sha512sig0l.sv index 0f0df38e9..4ec09bcc0 100644 --- a/src/ieu/sha_instructions/sha512sig0l.sv +++ b/src/ieu/sha_instructions/sha512sig0l.sv @@ -25,8 +25,11 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module sha512sig0l(input logic [31:0] rs1, input logic [31:0] rs2, - output logic [31:0] DataOut); +module sha512sig0l( + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); // rs1 operations logic [31:0] shift1; @@ -49,5 +52,4 @@ module sha512sig0l(input logic [31:0] rs1, input logic [31:0] rs2, assign shift24 = rs2 << 24; assign DataOut = shift1 ^ shift7 ^ shift8 ^ shift31 ^ shift25 ^ shift24; - endmodule diff --git a/src/ieu/sha_instructions/sha512sig1.sv b/src/ieu/sha_instructions/sha512sig1.sv index cc22b3fed..cd99a2944 100644 --- a/src/ieu/sha_instructions/sha512sig1.sv +++ b/src/ieu/sha_instructions/sha512sig1.sv @@ -25,7 +25,10 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module sha512sig1(input logic [63:0] rs1, output logic [63:0] result); +module sha512sig1( + input logic [63:0] rs1, + output logic [63:0] result +); logic [63:0] ror19; logic [63:0] ror61; @@ -37,5 +40,4 @@ module sha512sig1(input logic [63:0] rs1, output logic [63:0] result); // Assign output to xor of 3 rotates assign result = ror19 ^ ror61 ^ sh6; - endmodule diff --git a/src/ieu/sha_instructions/sha512sig1h.sv b/src/ieu/sha_instructions/sha512sig1h.sv index 7929852d0..9e6b966ca 100644 --- a/src/ieu/sha_instructions/sha512sig1h.sv +++ b/src/ieu/sha_instructions/sha512sig1h.sv @@ -25,8 +25,11 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module sha512sig1h(input logic [31:0] rs1, input logic [31:0] rs2, - output logic [31:0] DataOut); +module sha512sig1h( + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); // rs1 shifts logic [31:0] shift3; @@ -46,6 +49,5 @@ module sha512sig1h(input logic [31:0] rs1, input logic [31:0] rs2, // XOR Shifted registers for output assign DataOut = shift3 ^ shift6 ^ shift19 ^ shift29 ^ shift13; - endmodule diff --git a/src/ieu/sha_instructions/sha512sig1l.sv b/src/ieu/sha_instructions/sha512sig1l.sv index f8ba1d9f4..c836e45f5 100644 --- a/src/ieu/sha_instructions/sha512sig1l.sv +++ b/src/ieu/sha_instructions/sha512sig1l.sv @@ -25,8 +25,11 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module sha512sig1l(input logic [31:0] rs1, input logic [31:0] rs2, - output logic [31:0] DataOut); +module sha512sig1l( + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); // rs1 shift logic logic [31:0] shift3; @@ -48,6 +51,5 @@ module sha512sig1l(input logic [31:0] rs1, input logic [31:0] rs2, assign shift26 = rs2 << 26; assign shift13 = rs2 << 13; - assign DataOut = shift3 ^ shift6 ^ shift19 ^ shift29 ^ shift26 ^ shift13; - + assign DataOut = shift3 ^ shift6 ^ shift19 ^ shift29 ^ shift26 ^ shift13; endmodule diff --git a/src/ieu/sha_instructions/sha512sum0.sv b/src/ieu/sha_instructions/sha512sum0.sv index 28edad516..a974cbb2b 100644 --- a/src/ieu/sha_instructions/sha512sum0.sv +++ b/src/ieu/sha_instructions/sha512sum0.sv @@ -25,7 +25,10 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module sha512sum0(input logic [63:0] rs1, output logic [63:0] result); +module sha512sum0( + input logic [63:0] rs1, + output logic [63:0] result +); logic [63:0] ror28; logic [63:0] ror34; @@ -37,5 +40,4 @@ module sha512sum0(input logic [63:0] rs1, output logic [63:0] result); // Assign output to xor of 3 rotates assign result = ror28 ^ ror34 ^ ror39; - endmodule diff --git a/src/ieu/sha_instructions/sha512sum0r.sv b/src/ieu/sha_instructions/sha512sum0r.sv index 1f92e6fdc..ab359d7e0 100644 --- a/src/ieu/sha_instructions/sha512sum0r.sv +++ b/src/ieu/sha_instructions/sha512sum0r.sv @@ -25,8 +25,11 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module sha512sum0r(input logic [31:0] rs1, input logic [31:0] rs2, - output logic [31:0] DataOut); +module sha512sum0r( + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); // RS1 shifts logic [31:0] shift25; @@ -50,5 +53,4 @@ module sha512sum0r(input logic [31:0] rs1, input logic [31:0] rs2, // Set output to XOR of shifted values assign DataOut = shift25 ^ shift30 ^ shift28 ^ shift7 ^ shift2 ^ shift4; - endmodule diff --git a/src/ieu/sha_instructions/sha512sum1.sv b/src/ieu/sha_instructions/sha512sum1.sv index 982d1dbdd..21d0630e1 100644 --- a/src/ieu/sha_instructions/sha512sum1.sv +++ b/src/ieu/sha_instructions/sha512sum1.sv @@ -25,7 +25,10 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module sha512sum1(input logic [63:0] rs1, output logic [63:0] result); +module sha512sum1( + input logic [63:0] rs1, + output logic [63:0] result +); logic [63:0] ror14; logic [63:0] ror18; @@ -37,5 +40,4 @@ module sha512sum1(input logic [63:0] rs1, output logic [63:0] result); // Assign output to xor of 3 rotates assign result = ror14 ^ ror18 ^ ror41; - endmodule diff --git a/src/ieu/sha_instructions/sha512sum1r.sv b/src/ieu/sha_instructions/sha512sum1r.sv index 0cf46e82c..187dd1ef5 100644 --- a/src/ieu/sha_instructions/sha512sum1r.sv +++ b/src/ieu/sha_instructions/sha512sum1r.sv @@ -25,8 +25,11 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module sha512sum1r(input logic [31:0] rs1, input logic [31:0] rs2, - output logic [31:0] DataOut); +module sha512sum1r( + input logic [31:0] rs1, + input logic [31:0] rs2, + output logic [31:0] DataOut +); // Declare logic for rs1 shifts logic [31:0] shift1by23; @@ -50,5 +53,4 @@ module sha512sum1r(input logic [31:0] rs1, input logic [31:0] rs2, // Assign output to xor of shifts assign DataOut = shift1by23 ^ shift1by14 ^ shift1by18 ^ shift2by9 ^ shift2by18 ^ shift2by14; - endmodule