From 3b76fd6f9154b7c01414f8b3f57cf0378109d1a6 Mon Sep 17 00:00:00 2001 From: Warrick Lo Date: Sat, 20 Jun 2026 20:18:38 +0000 Subject: Add basic ALU skeleton Signed-off-by: Warrick Lo --- rtl/montreal_pkg.sv | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 rtl/montreal_pkg.sv (limited to 'rtl/montreal_pkg.sv') diff --git a/rtl/montreal_pkg.sv b/rtl/montreal_pkg.sv new file mode 100644 index 0000000..741a926 --- /dev/null +++ b/rtl/montreal_pkg.sv @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: CERN-OHL-P-2.0 */ + +package montreal_pkg; + + typedef logic unsigned [config_pkg::XLEN-1:0] word_t; + typedef logic unsigned [config_pkg::SLICE_WIDTH-1:0] slice_t; + + typedef enum logic [3:0] { + /* Arithmetic operations. */ + ADD = 4'b0000, + SUB = 4'b1000, + /* Logical operations. */ + XOR = 4'b0100, + OR = 4'b0110, + AND = 4'b0111, + /* Shift operations. */ + SLL = 4'b0001, + SRL = 4'b0101, + SRA = 4'b1101, + /* Conditional set operations. */ + SLT = 4'b0010, + SLTU = 4'b0011, + /* Zicond operations. */ + CZERO_EQZ = 4'b1001, + CZERO_NEZ = 4'b1011 + } fu_op_t; + +endpackage : montreal_pkg -- cgit v1.2.3