Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shallower Pipeline for VexiiRiscv? #14

Open
Jzjerry opened this issue May 20, 2024 · 1 comment
Open

Shallower Pipeline for VexiiRiscv? #14

Jzjerry opened this issue May 20, 2024 · 1 comment

Comments

@Jzjerry
Copy link

Jzjerry commented May 20, 2024

Hi,

Back in VexRiscv there are options like NoMemory and NoWriteBack that can be toggled for shallower pipeline structures (below 5 stages), which is pretty useful in reducing FFs.

I noted that in VexiiRiscv the plugins are pretty much categorized in a 5-stage manner, and it seems there are no similar options that shorten the pipeline. Is it possible to have a pipeline structure below 5 stages here?🤔

@Dolu1990
Copy link
Member

Hi ^^
Things are kinda handled differently with VexiiRiscv.

Mostly, the lenght of the different VexiiRiscv pipeline grow on demand.
For instance, the LSU cacheless plugin can be parametrized to only use execute 0 + execute 1 :

var wbAt: Int = 2) extends FiberPlugin with DBusAccessService with LsuCachelessBusProvider{

By setting wbAt to 1 instead of 2.

Same for the MulPlugin, Fetch plugins and so on

So in other words, it is all about how the plugins are parametrized.

Currently there is no example to get less than 5 stages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants