hart_ids: [0]
hart0: &hart0
  ISA: RV32IMAFCNSHUZicsr_Zifencei_Zbpbo_Zpn_Zpsf
  User_Spec_Version: '2.3'
  supported_xlen: [32]
  physical_addr_sz: 32
  pmp_granularity: 5
  misa:
   reset-val: 0x401431A5
   rv32:
     accessible: true
     mxl:
       implemented: true
       type:
           warl:
              dependency_fields: []
              legal:
                - mxl[1:0] in [0x1]
              wr_illegal:
                - unchanged
     extensions:
       implemented: true
       type:
           warl:
              dependency_fields: []
              legal:
                - extensions[25:0] in [0x0000000:0x3FFFFFF]
              wr_illegal:
                - unchanged
  mvendorid:
   reset-val: 0xdeadbeef
   rv32:
     accessible: true
     type:
       ro_constant: 0xdeadbeef
   rv64:
     accessible: false
  mtvec:
   reset-val: 0x80010000
   rv32:
     accessible: true
     base:
       implemented: true
       type:                            
         warl:
           dependency_fields: []
           legal:
             - "base[29:0] bitmask [0x3FFFFFFF, 0x00000000]"
           wr_illegal:
             - "Unchanged"
     mode:
       implemented: true
       type:                            
         warl:
           dependency_fields: []
           legal:
             - "mode[1:0] in [0x0,0x1]"
           wr_illegal:
             - "Unchanged"
  sstatus:
   reset-val: 0x0
   rv32:
     accessible: true
     uie:
      implemented: false
     sie:
      implemented: true
     upie:
      implemented: false
     spie:
      implemented: true
     spp:
      implemented: true
     fs:
      implemented: false
     xs:
      implemented: true
     sum:
      implemented: true
     mxr:
      implemented: true
     sd:
      implemented: true
   rv64:
     accessible: false
  vsstatus:
   reset-val: 0x0
   rv32:
     accessible: true
     uie:
      implemented: false
     sie:
      implemented: true
     upie:
      implemented: false
     spie:
      implemented: true
     spp:
      implemented: true
     fs:
      implemented: false
     xs:
      implemented: true
     sum:
      implemented: true
     mxr:
      implemented: true
     sd:
      implemented: true
   rv64:
     accessible: false
  mstatus:
   reset-val: 0x0
   rv32:
     accessible: true
     uie:
      implemented: true
     sie:
      implemented: true
      type:
        wlrl: [0:1]
     mie:
      implemented: true
     upie:
      implemented: true
     spie:
      implemented: true
      type:
        wlrl: [0:1]
     mpie:
      implemented: true
     spp:
      implemented: true
      type:
        wlrl: [0:1]
     mpp:
      implemented: true
      type:
        warl:
          dependency_fields: []
          legal: 
            - mpp[1:0] in [0x0, 0x3]
          wr_illegal: 
            - Unchanged
     fs:
      implemented: false
     xs:
      implemented: true
      type:
        ro_variable: true
     mprv:
      implemented: true
      type:
        wlrl: [0:1]
     sum:
      implemented: true
      type:
        wlrl: [0:1]
     mxr:
      implemented: true
      type:
        wlrl: [0:1]
     tvm:
      implemented: true
      type:
        wlrl: [0:1]
     tw:
      implemented: false
     tsr:
      implemented: true
      type:
        wlrl: [0:1]
     sd:
      implemented: true
      type:
        ro_variable: true
   rv64:
     accessible: false

  mip:
   reset-val: 0
   rv32:
     accessible: true
     usip:
      implemented: true
     ssip:
      implemented: true
     msip:
      implemented: true
      type:
        ro_variable: true
     utip:
      implemented: true
     stip:
      implemented: true
     mtip:
      implemented: true
      type:
        ro_variable: [0x01]
     ueip:
      implemented: true
     seip:
      implemented: true
     meip:
      implemented: true
      type:
        ro_variable: true
   rv64:
     accessible: false
  hip:
   reset-val: 0
   rv32:
     accessible: true
     vssip:
      implemented: true
     vstip:
      implemented: true
     vseip:
      implemented: true
     sgeip:
      implemented: true
      type:
        ro_variable: true
   rv64:
     accessible: false
  mie:
   reset-val: 0
   rv32:
     accessible: true
     usie:
      implemented: true
     ssie:
      implemented: true
     msie:
      implemented: true
      type:
        ro_variable: true
     utie:
      implemented: true
     stie:
      implemented: true
     mtie:
      implemented: true
     ueie:
      implemented: true
     seie:
      implemented: true
     meie:
      implemented: true
   rv64:
     accessible: false
  hie:
   reset-val: 0
   rv32:
     accessible: true
     vssie:
      implemented: true
     vstie:
      implemented: true
     vseie:
      implemented: true
     sgeie:
      implemented: true
   rv64:
     accessible: false
  mepc:
   reset-val: 0x0
   rv32:
     accessible: true
   rv64:
     accessible: false
  mtval:
   reset-val: 0x0
   rv32:
     accessible: true
   rv64:
     accessible: false 
  mcause:
   reset-val: 0
   rv32:
     accessible: true
     interrupt:
       implemented: true
     exception_code:
       implemented: true
   rv64:
     accessible: false

  marchid:
   rv32:
     accessible: true
     type:
       ro_constant: 0x0
   rv64:
     accessible: false
   reset-val: 0x0
  mhartid:
    rv32:
      accessible: true
      type:
        ro_constant: 0x0
    rv64:
      accessible: false
    reset-val: 0x00
  mscratch:
    rv32:
      accessible: true
      type:
         warl:
            dependency_fields: []
            legal:
              - mscratch[31:0] in [0x00000000:0xFFFFFFFF]
            wr_illegal:
              - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter3:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter3[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  hpmcounter3:
    rv32:
      accessible: true
    rv64:
      accessible: false
    reset-val: 0x0
  hpmcounter3h:
    rv32:
      accessible: true
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter4:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter4[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter4h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter4h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter5:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter5[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter6:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter6[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter7:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter7[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter8:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter8[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter9:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter9[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter10:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter10[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter11:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter11[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter12:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter12[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter13:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter13[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter14:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter14[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter15:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter15[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter16:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter16[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter17:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter17[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter18:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter18[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter19:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter19[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter20:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter20[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter21:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter21[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter22:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter22[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter23:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter23[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter24:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter24[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter25:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter25[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter26:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter26[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter27:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter27[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter28:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter28[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter29:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter29[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter30:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter30[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter31:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter31[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0

  mhpmcounter3h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter3h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter5h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter5h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter6h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter6h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter7h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter7h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter8h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter8h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter9h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter9h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter10h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter10h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter11h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter11h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter12h:
    rv32:
       accessible: true
       type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter12h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter13h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter13h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter14h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter14h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter15h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter15h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter16h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter16h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter17h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter17h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter18h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter18h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter19h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter19h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter20h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter20h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter21h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter21h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter22h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter22h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter23h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter23h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter24h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter24h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter25h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter25h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter26h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter26h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter27h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter27h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter28h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter28h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter29h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter29h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter30h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter30h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmcounter31h:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcounter31h[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mcountinhibit:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmcountinhibit[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent3:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent3[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent4:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent4[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent5:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent5[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent6:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent6[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent7:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent7[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent8:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent8[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent9:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent9[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent10:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent10[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent11:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent11[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent12:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent12[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent13:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent13[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent14:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent14[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent15:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent15[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent16:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent16[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent17:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent17[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent18:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent18[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent19:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent19[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent20:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent20[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent21:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent21[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent22:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent22[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent23:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent23[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent24:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent24[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent25:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent25[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent26:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent26[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent27:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent27[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent28:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent28[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent29:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent29[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent30:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent30[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mhpmevent31:
    rv32:
      accessible: true
      type:
           warl:
              dependency_fields: []
              legal:
                - mhpmevent31[31:0] in [0x00000000:0xFFFFFFFF]
              wr_illegal:
                - unchanged
    rv64:
      accessible: false
    reset-val: 0x0
  mimpid:
    rv32:
      accessible: true
      type:
        ro_constant: 0x0
    rv64:
      accessible: false
    reset-val: 0
  mcounteren:
    rv32:
      accessible: true
    rv64:
      accessible: false
    reset-val: 0
  pmpcfg0:
        rv32:
            accessible: true
            pmp0cfg:
                implemented: true
                type:
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp0cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp1cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp1cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp2cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp2cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp3cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp3cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg1:
        rv32:
            accessible: true
            pmp4cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp4cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp5cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp5cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp6cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp6cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp7cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp7cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg2:
        rv32:
            accessible: true
            pmp8cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp8cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp9cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp9cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp10cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp10cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp11cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp11cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg3:
        rv32:
            accessible: true
            pmp12cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp12cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp13cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp13cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp14cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp14cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
            pmp15cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp15cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged 
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg4:
        rv32:
            accessible: true
            pmp16cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp16cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp17cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp17cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp18cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp18cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp19cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp19cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg5:
        rv32:
            accessible: true
            pmp20cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp20cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp21cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp21cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp22cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp22cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp23cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp23cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg6:
        rv32:
            accessible: true
            pmp24cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp24cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp25cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp25cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp26cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp26cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp27cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp27cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg7:
        rv32:
            accessible: true
            pmp28cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp28cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp29cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp29cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp30cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp30cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp31cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp31cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg8:
        rv32:
            accessible: true
            pmp32cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp32cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp33cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp33cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp34cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp34cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp35cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp35cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg9:
        rv32:
            accessible: true
            pmp36cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp36cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp37cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp37cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp38cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp38cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp39cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp39cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg10:
        rv32:
            accessible: true
            pmp40cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp40cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp41cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp41cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp42cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp42cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp43cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp43cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg11:
        rv32:
            accessible: true
            pmp44cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp44cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp45cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp45cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp46cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp46cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp47cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp47cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg12:
        rv32:
            accessible: true
            pmp48cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp48cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp49cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp49cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp50cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp50cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp51cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp51cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg13:
        rv32:
            accessible: true
            pmp52cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp52cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp53cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp53cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp54cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp54cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp55cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp55cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg14:
        rv32:
            accessible: true
            pmp56cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp56cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp57cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp57cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp58cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp58cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp59cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp59cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpcfg15:
        rv32:
            accessible: true
            pmp60cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp60cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp61cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp61cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp62cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp62cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
            pmp63cfg:
                implemented: true
                type: 
                    warl:
                       dependency_fields: []
                       legal:
                         - pmp63cfg[7:0] in [0x00:0xFF]
                       wr_illegal:
                         - unchanged
        rv64:
            accessible: false
        reset-val: 0
  mcycle:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - mcycle[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  minstret:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - minstret[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  mcycleh:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - mcycleh[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  minstreth:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - minstreth[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0 
  pmpaddr0:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr0[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0x20
  pmpaddr1:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr1[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr2:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr2[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr3:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr3[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr4:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr4[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr5:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr5[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr6:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr6[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr7:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr7[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr8:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr8[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr9:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr9[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr10:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr10[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr11:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr11[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr12:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr12[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr13:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr13[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr14:
        rv32:
            accessible: true
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr14[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr15:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr15[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr16:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr16[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0 

  pmpaddr17:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr17[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr18:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr18[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr19:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr19[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr20:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr20[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr21:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr21[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr22:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr22[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0

  pmpaddr23:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr23[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr24:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr24[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr25:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr25[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr26:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr26[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr27:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr27[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr28:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr28[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0

  pmpaddr29:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr29[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr30:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr30[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr31:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr31[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr32:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr32[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr33:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr33[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr34:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr34[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0

  pmpaddr35:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr35[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr36:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr36[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr37:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr37[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr38:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr38[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr39:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr39[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr40:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr40[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0

  pmpaddr41:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr41[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr42:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr42[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr43:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr43[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr44:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr44[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr45:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr45[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr46:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr46[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0

  pmpaddr47:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr47[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr48:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr48[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr49:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr49[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr50:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr50[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr51:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr51[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr52:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr52[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0

  pmpaddr53:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr53[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr54:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr54[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr55:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr55[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr56:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr56[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr57:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr57[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr58:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr58[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0

  pmpaddr59:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr59[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr60:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr60[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr61:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr61[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr62:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr62[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  pmpaddr63:
        rv32:
            accessible: true            
            type: 
                warl:
                    dependency_fields: []
                    legal:
                      - pmpaddr63[31:0] in [0x00000000:0xFFFFFFFF]
                    wr_illegal:
                      - unchanged
        rv64:
            accessible: false
        reset-val: 0
  fcsr:
      rv64:
          accessible: false
      rv32:
          accessible: true
          fflags:
            implemented: true
            type:
                warl:
                    dependency_fields: []
                    legal:
                      - fflags[4:0] in [0x00:0x1F]
                    wr_illegal:
                      - Unchanged
          frm:
            implemented: true
            type:
                warl:
                    dependency_fields: []
                    legal:
                      - frm[2:0] in [0x0:0x7]
                    wr_illegal:
                      - Unchanged
  time:
        rv32:
            accessible: true
            type:
                ro_variable: true
        rv64:
            accessible: false
        reset-val: 0
  timeh:
        rv32:
            accessible: true
            type:
                ro_variable: true
        rv64:
            accessible: false
        reset-val: 0
