cvw icon indicating copy to clipboard operation
cvw copied to clipboard

Question on Reset exception

Open eroom1966 opened this issue 7 months ago • 2 comments

Are the actions associated with a reset documented anywhere

I am simulating against the reference a reset, and we see differences in the following

Info (IDV_RPT) SCENARIO 2:
Info (IDV_RPT)  +  Net reset => 1 { when:1262 }
Info (IDV_RPT)     +  Net reset => 0 { when:1274 }
Info (IDV_RPT)        +  Retire { pc:0x80000000(rvtest_entry_point+0), inst:'80000eb7 lui     x29,0x80000' }
Info (IDV_RPT)           ! dut.mtvec        - 0x0000000000000000 BASE:0x0 MODE:0(Direct)
Info (IDV_RPT)             ref.mtvec        - 0x0000000080000080 BASE:0x80000080 MODE:0(Direct) (not updated)
Info (IDV_RPT)           ! dut.mscratch     - 0x0000000000000000
Info (IDV_RPT)             ref.mscratch     - 0xffffffff8b4db30c (not updated)
Info (IDV_RPT)           ! dut.mepc         - 0x0000000000000000
Info (IDV_RPT)             ref.mepc         - 0x00000000800001a6 (not updated)
Info (IDV_RPT)           ! dut.mtval        - 0x0000000000000000
Info (IDV_RPT)             ref.mtval        - 0x00000000d3b7aa0b (not updated)
Info (IDV_RPT)

There is no definition in the ISA for the reset of these registers, so they need to be handled explicitly in the reference to match the intention of the RTL. By observation I see

  • mtvec
  • mscratch
  • mepc
  • mtval I am assuming I am only seeing these as they are non-zero differences - their may well be others

eroom1966 avatar Jul 17 '24 15:07 eroom1966