From 88d93b31b5014fcb6e347423f4c924081c5aa4bb Mon Sep 17 00:00:00 2001 From: KelvinTr Date: Thu, 29 Feb 2024 12:51:42 -0600 Subject: [PATCH] Combined byteop and revop logic --- src/ieu/bmu/byteop.sv | 20 ++++++++++++++------ src/ieu/bmu/zbb.sv | 2 +- src/ieu/kmu/revop.sv | 44 ------------------------------------------- src/ieu/kmu/zbkb.sv | 6 +++--- 4 files changed, 18 insertions(+), 54 deletions(-) delete mode 100644 src/ieu/kmu/revop.sv diff --git a/src/ieu/bmu/byteop.sv b/src/ieu/bmu/byteop.sv index 191919ecc..980c6d586 100644 --- a/src/ieu/bmu/byteop.sv +++ b/src/ieu/bmu/byteop.sv @@ -1,9 +1,9 @@ /////////////////////////////////////////// // byteop.sv // -// Written: Kevin Kim +// Written: Kevin Kim , kelvin.tran@okstate.edu // Created: 1 February 2023 -// Modified: 6 March 2023 +// Modified: 29 February 2024 // // Purpose: RISCV bitmanip byte-wise operation unit // @@ -12,7 +12,7 @@ // A component of the CORE-V-WALLY configurable RISC-V project. // https://github.com/openhwgroup/cvw // -// Copyright (C) 2021-23 Harvey Mudd College & Oklahoma State University +// Copyright (C) 2021-24 Harvey Mudd College & Oklahoma State University // // SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 // @@ -30,16 +30,24 @@ module byteop #(parameter WIDTH=32) ( input logic [WIDTH-1:0] A, // Operands - input logic ByteSelect, // LSB of Immediate + input logic [WIDTH-1:0] RevA, // Reversed A + input logic [1:0] ByteSelect, // LSB of Immediate output logic [WIDTH-1:0] ByteResult); // rev8, orcb result - logic [WIDTH-1:0] OrcBResult, Rev8Result; + logic [WIDTH-1:0] OrcBResult, Rev8Result, Brev8Result; genvar i; for (i=0;i