mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-02 17:55:19 +00:00
Adjusted menvcfg.CBIE reserved 10 behavior to match ImperasDV; spec is ambiguous (riscv-isa-manual Issue #1682
This commit is contained in:
parent
5f5dac2bda
commit
5ef5633a62
@ -180,7 +180,9 @@ module csrm import cvw::*; #(parameter cvw_t P) (
|
||||
if (P.U_SUPPORTED) begin // menvcfg only exists if there is a lower privilege to control
|
||||
logic WriteMENVCFGM;
|
||||
logic [63:0] MENVCFG_PreWriteValM, MENVCFG_WriteValM;
|
||||
logic [1:0] LegalizedCBIE;
|
||||
assign WriteMENVCFGM = CSRMWriteM & (CSRAdrM == MENVCFG);
|
||||
assign LegalizedCBIE = MENVCFG_PreWriteValM[5:4] == 2'b10 ? MENVCFG_REGW[5:4] : MENVCFG_PreWriteValM[5:4]; // Assume WARL for reserved CBIE = 10, keeps old value
|
||||
// MENVCFG is always 64 bits even for RV32
|
||||
assign MENVCFG_WriteValM = {
|
||||
MENVCFG_PreWriteValM[63] & P.SSTC_SUPPORTED,
|
||||
@ -188,7 +190,8 @@ module csrm import cvw::*; #(parameter cvw_t P) (
|
||||
MENVCFG_PreWriteValM[61] & P.SVADU_SUPPORTED,
|
||||
53'b0,
|
||||
MENVCFG_PreWriteValM[7] & P.ZICBOZ_SUPPORTED,
|
||||
MENVCFG_PreWriteValM[6:4] & {3{P.ZICBOM_SUPPORTED}},
|
||||
MENVCFG_PreWriteValM[6] & P.ZICBOM_SUPPORTED,
|
||||
LegalizedCBIE & {2{P.ZICBOM_SUPPORTED}},
|
||||
3'b0,
|
||||
MENVCFG_PreWriteValM[0] & P.S_SUPPORTED & P.VIRTMEM_SUPPORTED
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user