You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was doing some benchmarking of different instructions and I was noticing that integer division takes a lot longer than integer multiplication (or floating point multiplication) when using DefaultConfig.
Unless I'm mistakenly understanding the configuration (or am missing where a parameter gets overriden), I think that the default divUnroll value of 1 is going to cause default builds of Rocket Chip to have a 64-cycle divider, i.e., this counter has to count to 64.
Is this intentional, should the default config's divUnroll be changed to 8 (like mulUnroll), or am I mistaken in what's going on?
The text was updated successfully, but these errors were encountered:
You understood it correctly. Bumping divUnroll too high will negatively impact your frequency. Div is a slow instruction on all micro-architectures; it's just especially slow on rocket.
Current value of divUnroll is correctly set at 1. If a user wants something else, then that should be defined in their own configuration (and potentially impacting achievable frequency).
I was doing some benchmarking of different instructions and I was noticing that integer division takes a lot longer than integer multiplication (or floating point multiplication) when using
DefaultConfig
.Unless I'm mistakenly understanding the configuration (or am missing where a parameter gets overriden), I think that the default
divUnroll
value of 1 is going to cause default builds of Rocket Chip to have a 64-cycle divider, i.e., this counter has to count to 64.Is this intentional, should the default config's
divUnroll
be changed to 8 (likemulUnroll
), or am I mistaken in what's going on?The text was updated successfully, but these errors were encountered: