-
Notifications
You must be signed in to change notification settings - Fork 5
treewide: Enable CLIC virtualization #20
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
Conversation
| if (SSCLIC) begin | ||
| reg_all_int_req.addr = reg_req_i.addr - SCLICINT_START; | ||
| if (intmode[reg_all_int_req.addr[15:2]] <= S_MODE) begin | ||
| addr_tmp = reg_req_i.addr[ADDR_W-1:0] - SCLICINT_START; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you remember why you had to introduce addr_tmp? Sim bug?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure anymore unfortunately. Looking at the code it could be also simply for readability, but I am open to comments on that.
|
@bluewww @alex96295 I found a new problem when synthesizing this version of the CLIC with a different synthesis compiler. It seems that the problem is related to the parametric defines, which are not seen as constants in the evaluation of the I pushed a fix which is not really elegant but seems to work for all synthesis tools tried and does not require unrolling the entire for loop, which would be way worse. Ideally I think we could move some of the localparams in |
| return (dividend + divisor - 1) / divisor; | ||
| endfunction | ||
|
|
||
| function automatic int unsigned rounddown(int unsigned value, int unsigned alignment); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ideally better to add this to common cells if it is of general use, can be done later
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will do
alex96295
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I think for the time being we can leave it like this. I remember that Synopsys DC was able to digest the version you just modified (what was not able to digest was the original version with a case switch). For the sake of the projects depending on this IPs, I propose we merge this and we open an issue right now as a reminder to improve this logic. It can also be that meanwhile the tools that do not support this (Yosys?) will be improved as well |
Co-authored by: bluew <bluewww@users.noreply.github.com>
|
Fixed history. Ready to merge. |
No description provided.