Hi Tim,
first of all thank you very much for that nicely conducted poll
(technically and community-wise), great work! I think it is important to
highlight that the role of the chair in such a process is not always fun
and that you are handling it excellently.
> The summary is that there isn't a clear winner. Every option got quite a
> few votes, but none so many that I'm comfortable declaring one as the
> clear path forward.
>
> So what do we do?
>
> We write a combined spec that includes both an abstract interface and
> instruction feeding. Right now there isn't a single abstract interface
> that we all agree is the one. We need to decide all the details. For the
> instruction supply part I assume we can use most of SiFive's proposal,
> at least as a starting point.
>
> For the sake of having a concrete goal, I suggest we write the spec to
> follow the Unified Abstract Interface, but keeping in mind that we might
> change it to two optional interfaces in the future. After we work out
> the details, we can decide what parts of our comprehensive spec will be
> required and which parts will be optional.
>
> Does that plan work for you?
That sounds like a good plan. Actually the difference between unified
and optional can be really narrowed down to a single bit in the
info/capabilities register:
- with both optional it signals if the base command interface is present
or not
- with the unified interface it is just not there and the base command
interface is always implemented
Deciding over that bit can be done if we maybe have some data points of
people prototyping the command->instruction translation or after a (this
time more) brief discussion.
So, fully agree, lets get this going forward!
Cheers,
Stefan