Conversation
This brings out a port called 'debug_mode_o' from the core and at the top, signifying the state of debug mode when IBEX is connected to other peripherals dependent on the debug mode to update their operation like halt, etc. No functional changes to it.
marnovandermaas
left a comment
There was a problem hiding this comment.
Would you mind explaining what use-case you have for this? I'm unsure why a peripheral would need to know about whether the Ibex is in debug mode or not.
|
@marnovandermaas We have timers which need to enter the halt mode based on the processor's debug state. This port is tapped out of IBEX to feed into the timers to enable them to enter into the halt mode and exit based on the processor's state. |
marnovandermaas
left a comment
There was a problem hiding this comment.
Some comments from my end. I still don't fully understand what these timers are that you need to halt. What do the timers represent? Number of cycles passed not in debug mode?
| ); | ||
|
|
||
| // Debug Mode output | ||
| assign debug_mode_o = debug_mode; |
There was a problem hiding this comment.
I see that debug mode is already exposed when RVFI is defined. Does that suffice in your use-case?
| // Debug Interface | ||
| input logic debug_req_i, | ||
| input logic debug_req_i, // Request to Core to enter debug mode | ||
| output logic debug_mode_o, // Indicates that the core has entered debug mode |
There was a problem hiding this comment.
You would need to add this anywhere where ibex_top is instantiated as well.
This brings out a port called 'debug_mode_o' from the core and at the top, signifying the state of debug mode when IBEX is connected to other peripherals dependent on the debug mode to update their operation like halt, etc. No functional changes to it.