Skip to content

Commit

Permalink
Remove N extension
Browse files Browse the repository at this point in the history
This extension was never ratified, has been removed from the ISA manual and apparently would need significant changes if it were to ever come back.

Therefore it makes sense to remove it from the model in order to simplify the code.

Co-authored-by: KotorinMinami <[email protected]>
  • Loading branch information
Timmmm and KotorinMinami authored Oct 16, 2024
1 parent eddd83e commit 5cea520
Show file tree
Hide file tree
Showing 9 changed files with 28 additions and 356 deletions.
4 changes: 1 addition & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ SAIL_VLEN := riscv_vlen.sail

# Instruction sources, depending on target
SAIL_CHECK_SRCS = riscv_addr_checks_common.sail riscv_addr_checks.sail riscv_misa_ext.sail
SAIL_DEFAULT_INST = riscv_insts_base.sail riscv_insts_aext.sail riscv_insts_zca.sail riscv_insts_mext.sail riscv_insts_zicsr.sail riscv_insts_next.sail riscv_insts_hints.sail
SAIL_DEFAULT_INST = riscv_insts_base.sail riscv_insts_aext.sail riscv_insts_zca.sail riscv_insts_mext.sail riscv_insts_zicsr.sail riscv_insts_hints.sail
SAIL_DEFAULT_INST += riscv_insts_fext.sail riscv_insts_zcf.sail
SAIL_DEFAULT_INST += riscv_insts_dext.sail riscv_insts_zcd.sail

Expand Down Expand Up @@ -72,10 +72,8 @@ SAIL_RMEM_INST_SRCS = riscv_insts_begin.sail $(SAIL_RMEM_INST) riscv_insts_end.s
# System and platform sources
SAIL_SYS_SRCS = riscv_csr_begin.sail # Start of CSR scattered definitions.
SAIL_SYS_SRCS += riscv_vext_control.sail # helpers for the 'V' extension
SAIL_SYS_SRCS += riscv_next_regs.sail
SAIL_SYS_SRCS += riscv_sys_exceptions.sail # default basic helpers for exception handling
SAIL_SYS_SRCS += riscv_sync_exception.sail # define the exception structure used in the model
SAIL_SYS_SRCS += riscv_next_control.sail # helpers for the 'N' extension
SAIL_SYS_SRCS += riscv_softfloat_interface.sail riscv_fdext_regs.sail riscv_fdext_control.sail
SAIL_SYS_SRCS += riscv_sys_control.sail # general exception handling

Expand Down
12 changes: 0 additions & 12 deletions model/riscv_csr_begin.sail
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,6 @@ scattered mapping csr_name_map
// TODO: These csr_name_map definitions should be moved to the files
// corresponding to their extensions rather than all be here.

/* user trap setup */
mapping clause csr_name_map = 0x000 <-> "ustatus"
mapping clause csr_name_map = 0x004 <-> "uie"
mapping clause csr_name_map = 0x005 <-> "utvec"
/* user trap handling */
mapping clause csr_name_map = 0x040 <-> "uscratch"
mapping clause csr_name_map = 0x041 <-> "uepc"
mapping clause csr_name_map = 0x042 <-> "ucause"
mapping clause csr_name_map = 0x043 <-> "utval"
mapping clause csr_name_map = 0x044 <-> "uip"
/* user floating-point context */
mapping clause csr_name_map = 0x001 <-> "fflags"
mapping clause csr_name_map = 0x002 <-> "frm"
Expand Down Expand Up @@ -100,8 +90,6 @@ mapping clause csr_name_map = 0xC9F <-> "hpmcounter31h"

/* supervisor trap setup */
mapping clause csr_name_map = 0x100 <-> "sstatus"
mapping clause csr_name_map = 0x102 <-> "sedeleg"
mapping clause csr_name_map = 0x103 <-> "sideleg"
mapping clause csr_name_map = 0x104 <-> "sie"
mapping clause csr_name_map = 0x105 <-> "stvec"
mapping clause csr_name_map = 0x106 <-> "scounteren"
Expand Down
26 changes: 0 additions & 26 deletions model/riscv_insts_next.sail

This file was deleted.

4 changes: 0 additions & 4 deletions model/riscv_insts_zicsr.sail
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,6 @@ function clause read_CSR(0x7a0) = ~(tselect) /* this indicates we don't have an

/* supervisor mode */
function clause read_CSR(0x100) = lower_mstatus(mstatus).bits
function clause read_CSR(0x102) = sedeleg.bits
function clause read_CSR(0x103) = sideleg.bits
function clause read_CSR(0x104) = lower_mie(mie, mideleg).bits
function clause read_CSR(0x105) = get_stvec()
function clause read_CSR(0x106) = zero_extend(scounteren.bits)
Expand Down Expand Up @@ -162,8 +160,6 @@ function clause write_CSR(0x7a0, value) = { tselect = value; tselect }

/* supervisor mode */
function clause write_CSR(0x100, value) = { mstatus = legalize_sstatus(mstatus, value); mstatus.bits }
function clause write_CSR(0x102, value) = { sedeleg = legalize_sedeleg(sedeleg, value); sedeleg.bits }
function clause write_CSR(0x103, value) = { sideleg.bits = value; sideleg.bits } /* TODO: does this need legalization? */
function clause write_CSR(0x104, value) = { mie = legalize_sie(mie, mideleg, value); mie.bits }
function clause write_CSR(0x105, value) = { set_stvec(value) }
function clause write_CSR(0x106, value) = { scounteren = legalize_scounteren(scounteren, value); zero_extend(scounteren.bits) }
Expand Down
40 changes: 0 additions & 40 deletions model/riscv_next_control.sail

This file was deleted.

96 changes: 0 additions & 96 deletions model/riscv_next_regs.sail

This file was deleted.

Loading

0 comments on commit 5cea520

Please sign in to comment.