Visible to Intel only — GUID: ehi1734313845439
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: ehi1734313845439
Ixiasoft
4.3.11.5.2. Type of Address/Data Match Triggers
Base on the bit field setting in mcontrol register, Nios® V processor can implement different trigger types after the selected trigger matches the tdata2 register.
You can configure the hardware triggers to fire (through mcontrol register), when matches:
- Instruction address
- Instruction opcode
- Store address
- Store data
- Load address
- Load data
Trigger | mcontrol bit fields | |||
---|---|---|---|---|
select | execute | store | load | |
Instruction Address | 0 | 1 | 0 | 0 |
Instruction Opcode | 1 | 1 | 0 | 0 |
Store Address | 0 | 0 | 1 | 0 |
Store Data | 1 | 0 | 1 | 0 |
Load Address | 0 | 0 | 0 | 1 |
Load Data | 1 | 0 | 0 | 1 |
Based on the selected trigger, the trigger firing time and the behaviour of the mepc register can varies.
Triggers | Condition | Firing Time | Exception Program Counter |
---|---|---|---|
Instruction Address Trigger | Program Counter matches tdata2 | Before executing the instruction | The processor sets the Machine Exception Program Counter (mepc) to the instruction address (PC). |
Instruction Opcode Trigger | Instruction opcode matches tdata2 | Before executing the instruction | |
Store Address Trigger | Store address matches tdata2 | After executing the store instruction | The processor sets the mepc to the next instruction address (PC + 4). |
Store Data Trigger | Store data matches tdata2 | After executing the store instruction | |
Load Address Trigger | Load address matches tdata2 | After executing the load instruction | |
Load Data Trigger | Load data matches tdata2 | After executing the load instruction |