aboutsummaryrefslogtreecommitdiff
path: root/model/riscv_csr_map.sail
diff options
context:
space:
mode:
authorXinlai Wan <xinlai.w@rioslab.org>2022-12-27 20:23:10 +0800
committerWilliam McSpaddden <bill@riscv.org>2023-10-17 14:09:55 -0500
commit118ad669badf599264b923d217e89983a60341ad (patch)
tree63834547ad65cff07a6d6fa9562e7e93b17a9f71 /model/riscv_csr_map.sail
parentc04cf29c2215ff614a83ac483b9545a995adca65 (diff)
downloadsail-riscv-118ad669badf599264b923d217e89983a60341ad.zip
sail-riscv-118ad669badf599264b923d217e89983a60341ad.tar.gz
sail-riscv-118ad669badf599264b923d217e89983a60341ad.tar.bz2
RISC-V Vector Extension Supportvector-dev
This PR adds the following: General Framework and Configurations: * Introduced the V extension's general framework and configuration setting instructions. * Updated model/riscv_insts_vext_vset.sail and effect matching functions in riscv_vlen.sail. * Addressed code formatting issues and made revisions post the Nov 22 meeting. * Co-authored by Nicolas Brunie and Jessica Clarke. Vector Load/Store Instructions: * Integrated vector load and store instructions. * Enhanced the implementation of SEW, LMUL, VLEN and removed real numbers from the code. * Updated vstart settings and removed unnecessary assert statements. * Rectified bugs in vleff instructions and overhauled coding styles. * Incorporated guards for vector encdec clauses and optimized memory access post vector load/store failures. Vector Integer/Fixed-Point Instructions: * Added vector integer/fixed-point arithmetic and mask instructions. * Improved vector EEW and EMUL checking functions and introduced illegal instruction check functions. * Fine-tuned code formatting for vector instruction checks. Vector Floating-Point Instructions: * Rolled out vector floating-point instructions and updated their conversion counterparts. * Refreshed copyright headers specific to the vector extension code. Vector Reduction and Mask Instructions: * Integrated vector mask and reduction instructions. * Addressed register overlap checks for vector mask instructions. Miscellaneous Enhancements and Fixes: * Updated vector CSR vtype.vill settings and judgements. * Systematized patterns for vector illegal instruction checks. * Rectified issues in vector load/store and reduction operations. * Purged redundant elements from the V extension code and vector floating-point functions. * Cleaned up softfloat makefiles and renamed EXTZ and EXTS within the V extension code. * Addressed a clang-format check issue and NaN boxing anomalies. Provided annotations for pending RVV configurations. * Initialized default VLEN value and set vlenb CSR. * Set constraints for vector variable initialization and added mstatus.VS settings specific to the vector extension.
Diffstat (limited to 'model/riscv_csr_map.sail')
-rw-r--r--model/riscv_csr_map.sail8
1 files changed, 8 insertions, 0 deletions
diff --git a/model/riscv_csr_map.sail b/model/riscv_csr_map.sail
index e3c1c20..da68556 100644
--- a/model/riscv_csr_map.sail
+++ b/model/riscv_csr_map.sail
@@ -165,6 +165,14 @@ mapping clause csr_name_map = 0x7a0 <-> "tselect"
mapping clause csr_name_map = 0x7a1 <-> "tdata1"
mapping clause csr_name_map = 0x7a2 <-> "tdata2"
mapping clause csr_name_map = 0x7a3 <-> "tdata3"
+/* vector csrs */
+mapping clause csr_name_map = 0x008 <-> "vstart"
+mapping clause csr_name_map = 0x009 <-> "vxsat"
+mapping clause csr_name_map = 0x00A <-> "vxrm"
+mapping clause csr_name_map = 0x00F <-> "vcsr"
+mapping clause csr_name_map = 0xC20 <-> "vl"
+mapping clause csr_name_map = 0xC21 <-> "vtype"
+mapping clause csr_name_map = 0xC22 <-> "vlenb"
val csr_name : csreg -> string
overload to_str = {csr_name}