Visible to Intel only — GUID: foh1734059007517
Ixiasoft
3.3.6.1.1. Machine Status Register (mstatus)
3.3.6.1.2. Machine Trap-Vector Base-Address Register (mtvec)
3.3.6.1.3. Machine Interrupt Register (mip and mie)
3.3.6.1.4. Machine Exception Program Counter Register (mepc)
3.3.6.1.5. Machine Cause Register (mcause)
3.3.6.1.6. Machine Trap Value Register (mtval)
4.3.1. General-Purpose Register File
4.3.2. Arithmetic Logic Unit
4.3.3. Multipy and Divide Units
4.3.4. Floating-Point Unit
4.3.5. Custom Instruction
4.3.6. Instruction Cycles
4.3.7. Reset and Debug Signals
4.3.8. Control and Status Registers
4.3.9. Trap Controller (CLINT)
4.3.10. Memory and I/O Organization
4.3.11. RISC-V based Debug Module
4.3.12. Error Correction Code (ECC)
4.3.13. Branch Prediction
4.3.14. Lockstep Module
4.3.9.1.1. Machine Status Register (mstatus)
4.3.9.1.2. Machine Trap-Vector Base-Address Register (mtvec)
4.3.9.1.3. Machine Interrupt Register (mip and mie)
4.3.9.1.4. Machine Exception Program Counter Register (mepc)
4.3.9.1.5. Machine Cause Register (mcause)
4.3.9.1.6. Machine Trap Value Register (mtval)
4.3.9.1.7. Machine Second Trap Value Register (mtval2)
Visible to Intel only — GUID: foh1734059007517
Ixiasoft
3.3.8.3.1. Using Program Buffer
Op | Address | Value | Comment |
---|---|---|---|
Write | progbuf0 | csrw s0, MSTATUS | — |
Write | progbuf1 | ebreak | — |
Write | data0 | new value | — |
Write | command | aarsize=2, postexec, transfer, write, regno= 0x1008 | Write s0, then excecute program buffer. |
Op | Address | Value | Comment |
---|---|---|---|
Write | progbuf0 | fmv.x.s s0, f1 | — |
Write | progbuf1 | ebreak | — |
Write | command | postexec | Execute program buffer |
Write | command | transfer, regno=0x1008 | read s0 |
Read | data0 | — | Returns the value that was in f1 |
Op | Address | Value | Comment |
---|---|---|---|
Write | progbuf0 | lw S0, 0(s0) | — |
Write | progbuf1 | ebreak | — |
Write | data0 | address | — |
Write | command | write, postexec, regno=0x1008 | Write s0, then execute program buffer |
Write | command | regno=0x1008 | Read s0 |
Read | data0 | — | Value read from memory |
Op | Address | Value | Comment |
---|---|---|---|
Write | progbuf0 | sw s1, 0(s0) | — |
Write | progbuf1 | ebreak | |
Write | data0 | address | — |
Write | command | write, regno=0x1008 | Write s0 |
Write | data0 | value | — |
Write | command | write, postexec, regno=0x1009 | Write s1, then execute program buffer. |