Marek Materzok
Marek Materzok
Fixes #764. Things to look at in the review: * Group names for views and interfaces. The current code uses "view" and "interface". Maybe the name should reference a layout/signature...
The following definition is somehow accepted, even though the type given for the signature is not valid for the definition (it's more general): ``` (wrong-foldr : (('a 'b -> 'b)...
This PR adds the `misa`, `mvendorid`, `marchid`, `mimpid`, `mhartid`, `mscratch` and `mconfigptr`, bringing the completion of #561 a little bit closer. Other than `mscratch`, all of the other added CSRs...
This PR moves the Amaranth stubs and types to a separate package. A submodule is used for easier development. This change prepares for separating Transactron.
This PR makes the `precommit` method in ROB runnable only if the `rob_id` from its argument matches. This allows to eliminate `m.If` expressions comparing `rob_id`s in FUs. What do you...
This PR removes the conflicts on the `clear` method from `Pipe` and `Forwarder`. The conflicts are known to reduce performance. It should be noted that the `read` methods would still...
Using `MultiPriorityEncoder` from #573, one could implement a clean free RF list with superscalarity support. If I see correctly, this is already implemented in #395. (Everything is already implemented there,...
It would be nice if the arrows in the benchmark bot comments were colored, to signify changes for better or worse. This essentially requires two things: * Knowing which metric...
This PR changes some 2-FIFOs (mostly in the scheduler) into `Pipe`s. Pipes have more combinational connections than FIFOs, but use less resources. The purpose is to validate the usefulness of...
The Zicond extension extends the architecture with conditional instructions, which allow to create code with less branches. It's probably the best to implement this in ALU.