-
Notifications
You must be signed in to change notification settings - Fork 323
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
Clarification #9
Comments
it is not generated from some other source language,you can read it. |
The code does look like it is generated, with sections marked with (for example) "@266". If it is not generates, but hand written it is really written in a very old Verilog style that are prone to lead to issues. |
not sure. |
@secworks is right, the source code is generated from another language called Vperl (or an evolution of this language). There is a paper (1) that explains what Vperl is. Essentially it's an automation tool on top of Verilog 2001 that saves the developer from writing boring and repetitive code. Vperl offers macros to: automatically generate module declarations, their ports, wires and regs; automatically instantiate modules and connect module ports; automatically generate sensitivity lists; etc. Vperl also allows to automate the design verification, but the verification code seems to have been removed from the released code. If you take a look at the line numbers in the comments it appears that there are big chunks of missing Vperl code, this must correspond to the verification code. (1): A front-end automation tool supporting design, verification and reuse of SOC |
not exactly, Vperl is a tool write by perl which is used to deal with the Verilog2001,it is not generated,i think |
You are confusing Vperl from C-Sky (which has been acquired by T-HEAD) with verilog-perl from Veripool PS: |
Thanks, this is very helpful. |
Hold on! @taylor-bsg don't close this just yet. This begs the question on how contributions are to be handled? |
To complete my answer about the code maintenance: By reading the comments it becomes clear that the disclosed code is probably not directly the generated code. My point is that it's highly unlikely that T-HEAD would ask its engineers to do this work twice on the generated code, so I don't expect any update with RTL regenerated by T-HEAD and upstreamed.
This only partially answers the original question from @taylor-bsg, but I hope it helps. |
One can always provide PRs, but it seems less likely to be accepted, merged unless they are critical. |
Sorry to close it a little early in the dialogue. After Avianes' earlier posts, I had come to the same conclusion as what he posted. Still massive kudos to T-head for opening this up! =) |
Yes, the code is generated through an internal tool. And of course the project will accept PRs with changes to the RTL under appropriate conditions. We are planning to introduce a more complete verification environment to ensure that all the modifications to the project are correct in function and timing. |
Is the source code generated from some other source language? We notice the gen_RTL directory name.
This would be useful to know; for example, will pull requests to this repo be accepted, or would the fixes need to be made upstream and then the RTL regenerated by T Head?
The text was updated successfully, but these errors were encountered: