Added exttrigger capability as type 7#543
Conversation
Tim Newsome (timsifive)
left a comment
There was a problem hiding this comment.
Looks like a reasonable way to implement this feature. Comments below.
Please don't submit riscv-debug-draft.pdf in your pull requests. This leads to annoying conflicts, and generally git isn't great at maintaining lots of binary history.
I manually rebuild the PDF once a month, just before the meeting. That seems to be enough to give people who don't want to build a PDF something to use.
- don't limit implementation to a pulse - allow multiple inputs to be selected and fire if any of them signals
Tim Newsome (timsifive)
left a comment
There was a problem hiding this comment.
Looks good. Thanks! I'll merge this Friday unless there are more comments. Ernie Edgar (@ernie-sifive), do you have anything to add?
|
Paul Donahue (@pdonahue-ventana), what are your thoughts on the naming issue? |
|
How about "Hart Logic Trigger" or simply "Logic Trigger", then explicitly state that the logic signal can come from a source within the hart or from outside the hart. Problem is this suggests that they have to be logic signals and not abstractions that might be from a message-passing network or something else. Another possibility is to rename existing external triggers to "DM External Trigger" or "Debug External Trigger" and then call these new triggers "Hart External Trigger". |
|
What if we just call them "dm trigger" and "hart trigger?" I think external doesn't really add anything, and if somebody wants to wire these up to sources that are not external that's probably also fine. |
|
I think Ernie's "DM External Trigger" sounds good since it's for things external to the DM. I'd similarly call the new one "TM External Trigger" since it's for things that are external to the TM, regardless of whether they're coming from something associated with this hart (like HPM or trace) or from outside the hart. I prefer this over "hart trigger" because I consider the internal TM triggers (load/store, pc, single step, etc.) to be hart triggers. Thoughts? |
|
Paul Donahue (@pdonahue-ventana) I agree - we need terminology that indicates these entities are signal inputs rather than a block containing registers and comparators that can cause breakpoints (which is what I would call a "trigger"). |
|
So "DM external trigger" and "TM external trigger" then? |
|
Sounds good to me. Does this mean that this register should be tmexttrigger and the dmcs2 field should change from exttrigger to dmexttrigger (plus some minor description changes)? |
|
That change just now was to resolve merge conflicts. I won't change names until I hear back. |
Ernie Edgar (ernie-sifive)
left a comment
There was a problem hiding this comment.
Thanks, that looks good to me.
Tim Newsome (timsifive)
left a comment
There was a problem hiding this comment.
Just 1 comment.
Tim Newsome (timsifive)
left a comment
There was a problem hiding this comment.
Looks good. I'll merge this tomorrow unless there are more comments.
Enables cross triggering between debug and other blocks such as hardware performance monitors.
Skipped over type 6 assuming #538 will be approved.