From f3b18ead59ae02f95dabbf0a1dea40873a816975 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sun, 21 Jan 2024 06:23:46 -0600 Subject: rtl: refactor filenames and directory hierarchy --- rtl/core/decode/ldst/addr.sv | 15 --------------- rtl/core/decode/ldst/exclusive.sv | 27 --------------------------- rtl/core/decode/ldst/misc.sv | 36 ------------------------------------ rtl/core/decode/ldst/multiple.sv | 34 ---------------------------------- rtl/core/decode/ldst/single.sv | 31 ------------------------------- 5 files changed, 143 deletions(-) delete mode 100644 rtl/core/decode/ldst/addr.sv delete mode 100644 rtl/core/decode/ldst/exclusive.sv delete mode 100644 rtl/core/decode/ldst/misc.sv delete mode 100644 rtl/core/decode/ldst/multiple.sv delete mode 100644 rtl/core/decode/ldst/single.sv (limited to 'rtl/core/decode/ldst') diff --git a/rtl/core/decode/ldst/addr.sv b/rtl/core/decode/ldst/addr.sv deleted file mode 100644 index 345f0ea..0000000 --- a/rtl/core/decode/ldst/addr.sv +++ /dev/null @@ -1,15 +0,0 @@ -`include "core/uarch.sv" - -module core_decode_ldst_addr -( - input ldst_decode ldst, - - output data_decode alu -); - - assign alu.op = ldst.increment ? `ALU_ADD : `ALU_SUB; - assign alu.rn = ldst.rn; - assign alu.rd = ldst.rd; - assign alu.uses_rn = 1; - -endmodule diff --git a/rtl/core/decode/ldst/exclusive.sv b/rtl/core/decode/ldst/exclusive.sv deleted file mode 100644 index 7942a04..0000000 --- a/rtl/core/decode/ldst/exclusive.sv +++ /dev/null @@ -1,27 +0,0 @@ -`include "core/decode/isa.sv" -`include "core/uarch.sv" - -module core_decode_ldst_exclusive -( - input word insn, - - output ldst_decode decode, - output reg_num snd_r -); - - assign snd_r = insn `FIELD_LDST_EX_R_OK; - - assign decode.rn = insn `FIELD_LDST_EX_RN; - assign decode.rd = insn `FIELD_LDST_EX_RD; - assign decode.size = LDST_WORD; - assign decode.load = insn `FIELD_LDST_EX_LD; - assign decode.increment = 0; - assign decode.writeback = 0; - assign decode.exclusive = 1; - assign decode.sign_extend = 0; - assign decode.pre_indexed = 0; - assign decode.unprivileged = 0; - assign decode.user_regs = 0; - assign decode.regs = 16'b0; - -endmodule diff --git a/rtl/core/decode/ldst/misc.sv b/rtl/core/decode/ldst/misc.sv deleted file mode 100644 index 72d648c..0000000 --- a/rtl/core/decode/ldst/misc.sv +++ /dev/null @@ -1,36 +0,0 @@ -`include "core/decode/isa.sv" -`include "core/uarch.sv" - -module core_decode_ldst_misc -( - input word insn, - - output ldst_decode decode, - output logic off_is_imm, - output logic[7:0] off_imm, - output reg_num off_reg -); - - logic p, w; - - assign decode.rn = insn `FIELD_LDST_MISC_RN; - assign decode.rd = insn `FIELD_LDST_MISC_RD; - assign decode.size = insn `FIELD_LDST_MISC_H ? LDST_HALF : LDST_BYTE; - assign decode.load = insn `FIELD_LDST_LD; - assign decode.increment = insn `FIELD_LDST_MISC_U; - assign decode.writeback = !p || w; - assign decode.exclusive = 0; - assign decode.sign_extend = insn `FIELD_LDST_MISC_S; - assign decode.pre_indexed = p; - assign decode.unprivileged = 0; - assign decode.user_regs = 0; - assign decode.regs = 16'b0; - - assign off_imm = {insn `FIELD_LDST_MISC_IMM_HI, insn `FIELD_LDST_MISC_IMM_LO}; - assign off_reg = insn `FIELD_LDST_MISC_RM; - assign off_is_imm = insn `FIELD_LDST_MISC_IMM; - - assign p = insn `FIELD_LDST_MISC_P; - assign w = insn `FIELD_LDST_MISC_W; - -endmodule diff --git a/rtl/core/decode/ldst/multiple.sv b/rtl/core/decode/ldst/multiple.sv deleted file mode 100644 index c822ab0..0000000 --- a/rtl/core/decode/ldst/multiple.sv +++ /dev/null @@ -1,34 +0,0 @@ -`include "core/decode/isa.sv" -`include "core/uarch.sv" - -module core_decode_ldst_multiple -( - input word insn, - - output ldst_decode decode, - output logic restore_spsr -); - - logic s, l; - reg_list regs; - - assign decode.rn = insn `FIELD_LDST_MULT_RN; - assign decode.rd = 4'bxxxx; - assign decode.size = LDST_WORD; - assign decode.load = l; - assign decode.increment = insn `FIELD_LDST_MULT_U; - assign decode.writeback = insn `FIELD_LDST_MULT_W; - assign decode.exclusive = 0; - assign decode.sign_extend = 0; - assign decode.pre_indexed = insn `FIELD_LDST_MULT_P; - assign decode.unprivileged = 0; - assign decode.user_regs = s && !(l && regs[`R15]); - assign decode.regs = regs; - - assign s = insn `FIELD_LDST_MULT_S; - assign l = insn `FIELD_LDST_LD; - - assign regs = insn `FIELD_LDST_MULT_LIST; - assign restore_spsr = s && l && regs[`R15]; - -endmodule diff --git a/rtl/core/decode/ldst/single.sv b/rtl/core/decode/ldst/single.sv deleted file mode 100644 index af096a7..0000000 --- a/rtl/core/decode/ldst/single.sv +++ /dev/null @@ -1,31 +0,0 @@ -`include "core/decode/isa.sv" -`include "core/uarch.sv" - -module core_decode_ldst_single -( - input word insn, - - output ldst_decode decode, - output logic snd_is_imm -); - - logic p, w; - - assign decode.rn = insn `FIELD_LDST_SINGLE_RN; - assign decode.rd = insn `FIELD_LDST_SINGLE_RD; - assign decode.size = insn `FIELD_LDST_SINGLE_B ? LDST_BYTE : LDST_WORD; - assign decode.load = insn `FIELD_LDST_LD; - assign decode.increment = insn `FIELD_LDST_SINGLE_U; - assign decode.writeback = !p || w; - assign decode.exclusive = 0; - assign decode.sign_extend = 0; - assign decode.pre_indexed = p; - assign decode.unprivileged = !p && w; - assign decode.user_regs = 0; - assign decode.regs = 16'b0; - - assign p = insn `FIELD_LDST_SINGLE_P; - assign w = insn `FIELD_LDST_SINGLE_W; - assign snd_is_imm = !insn `FIELD_LDST_SINGLE_REG; - -endmodule -- cgit v1.2.3