riscv-debug-spec icon indicating copy to clipboard operation
riscv-debug-spec copied to clipboard

Timing requirements for a chain of `mcontrol` load address triggers

Open en-sc opened this issue 10 months ago • 2 comments

[5.7.11. Match Control (mcontrol, at 0x7a1)] states:

A chain of triggers that don’t all have the same timing value will never fire. That means to implement the suggestions in Table 11, both timings should be supported on load address triggers.

Is this correct? Seems like it's enough to support timing == before (0) since [Table 11. Suggested Trigger Timings] recommends timing == before for Load Address triggers.

en-sc avatar Apr 24 '24 18:04 en-sc

To implement the suggested timings, load address triggers need:

  1. timing=before, to implement a simple load address before
  2. timing=after, to implement load address + data after

Which means that load address triggers need both before and after timing support. Does that make sense?

rtwfroody avatar Apr 25 '24 15:04 rtwfroody

Oh, I see, I have misunderstood. So That means to implement the suggestions in Table 11... implies all suggestions from the table. Maybe something like:

That means to implement the suggestions in Table 11, both timings should be supported on a load address trigger if it can be chained with a load data trigger.

would be more clear?

en-sc avatar Apr 26 '24 16:04 en-sc