From 5257d3d8fdeaa299d9686406945262688bf94b9d Mon Sep 17 00:00:00 2001 From: David Harris Date: Mon, 11 Mar 2024 00:20:50 -0700 Subject: [PATCH] AES64 cleanup --- src/ieu/aes_instructions/aes64ks1i.sv | 12 ++++++------ src/ieu/aes_instructions/aes64ks2.sv | 4 ++-- src/ieu/kmu/zknd64.sv | 4 ++-- src/ieu/kmu/zkne64.sv | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/ieu/aes_instructions/aes64ks1i.sv b/src/ieu/aes_instructions/aes64ks1i.sv index 5b557b5ae..d4fd2c321 100644 --- a/src/ieu/aes_instructions/aes64ks1i.sv +++ b/src/ieu/aes_instructions/aes64ks1i.sv @@ -28,10 +28,10 @@ module aes64ks1i( input logic [3:0] roundnum, input logic [63:0] rs1, - output logic [63:0] rd + output logic [63:0] result ); - logic lastRoundFlag; + logic finalround; logic [7:0] rcon8; logic [31:0] rcon, rs1Rotate, tmp2, SboxOut; @@ -39,10 +39,10 @@ module aes64ks1i( rconlut128 rc(roundnum, rcon8); // Get rcon value from lookup table assign rcon = {24'b0, rcon8}; // Zero-pad RCON assign rs1Rotate = {rs1[39:32], rs1[63:40]}; // Get rotated value fo ruse in tmp2 - assign lastRoundFlag = (roundnum == 4'b1010); // round 10 is the last one - assign tmp2 = lastRoundFlag ? rs1[63:32] : rs1Rotate; // Don't rotate on the last round + assign finalround = (roundnum == 4'b1010); // round 10 is the last one + assign tmp2 = finalround ? rs1[63:32] : rs1Rotate; // Don't rotate on the last round aessboxword sbox(tmp2, SboxOut); // Substitute bytes of value obtained for tmp2 using Rijndael sbox - assign rd[31:0] = SboxOut ^ rcon; - assign rd[63:32] = SboxOut ^ rcon; + assign result[31:0] = SboxOut ^ rcon; + assign result[63:32] = SboxOut ^ rcon; endmodule diff --git a/src/ieu/aes_instructions/aes64ks2.sv b/src/ieu/aes_instructions/aes64ks2.sv index 64484e06e..dac9ed50d 100644 --- a/src/ieu/aes_instructions/aes64ks2.sv +++ b/src/ieu/aes_instructions/aes64ks2.sv @@ -28,12 +28,12 @@ module aes64ks2( input logic [63:0] rs2, input logic [63:0] rs1, - output logic [63:0] rd + output logic [63:0] result ); logic [31:0] w0, w1; assign w0 = rs1[63:32] ^ rs2[31:0]; assign w1 = w0 ^ rs2[63:32]; - assign rd = {w1, w0}; + assign result = {w1, w0}; endmodule diff --git a/src/ieu/kmu/zknd64.sv b/src/ieu/kmu/zknd64.sv index 46c566ee5..557859a72 100644 --- a/src/ieu/kmu/zknd64.sv +++ b/src/ieu/kmu/zknd64.sv @@ -39,8 +39,8 @@ module zknd64 #(parameter WIDTH=32) ( // RV64 aes64d aes64d(.rs1(A), .rs2(B), .finalround(ZKNDSelect[2]), .result(aes64dRes)); // decode AES aes64im aes64im(.rs1(A), .DataOut(aes64imRes)); - aes64ks1i aes64ks1i(.roundnum(RNUM), .rs1(A), .rd(aes64ks1iRes)); - aes64ks2 aes64ks2(.rs2(B), .rs1(A), .rd(aes64ks2Res)); + aes64ks1i aes64ks1i(.roundnum(RNUM), .rs1(A), .result(aes64ks1iRes)); + aes64ks2 aes64ks2(.rs2(B), .rs1(A), .result(aes64ks2Res)); mux4 #(WIDTH) zkndmux(aes64dRes, aes64ks1iRes, aes64ks2Res, aes64imRes, ZKNDSelect[1:0], ZKNDResult); endmodule diff --git a/src/ieu/kmu/zkne64.sv b/src/ieu/kmu/zkne64.sv index a3df9f5c8..dc6a43ea3 100644 --- a/src/ieu/kmu/zkne64.sv +++ b/src/ieu/kmu/zkne64.sv @@ -38,8 +38,8 @@ module zkne64 #(parameter WIDTH=32) ( // RV64 aes64e aes64e(.rs1(A), .rs2(B), .finalround(ZKNESelect[2]), .result(aes64eRes)); - aes64ks1i aes64ks1i(.roundnum(RNUM), .rs1(A), .rd(aes64ks1iRes)); - aes64ks2 aes64ks2(.rs2(B), .rs1(A), .rd(aes64ks2Res)); + aes64ks1i aes64ks1i(.roundnum(RNUM), .rs1(A), .result(aes64ks1iRes)); + aes64ks2 aes64ks2(.rs2(B), .rs1(A), .result(aes64ks2Res)); // 010 is a placeholder to match the select of ZKND's AES64KS1I since they share some instruction mux3 #(WIDTH) zknemux(aes64eRes, aes64ks1iRes, aes64ks2Res, ZKNESelect[1:0], ZKNEResult);