-
Notifications
You must be signed in to change notification settings - Fork 231
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
🧪 [linty] initial setup (preliminary) #1029
base: main
Are you sure you want to change the base?
Conversation
Looks good now! 🚀 Now I will take a closer look at the "Quality Profiles". |
You're welcome! |
Hey @racodond. Some questions... I do not understand the configuration of the hierarchy. How to set a specific file as top module to? I have problems understanding the "Only use allowed libraries: ieee.std_logic_1164, work" rule. There is just a not-allowed list but no allowed list. Does that mean that everything that is not on the list is allowed? There are a lot of warnings regarding non-synthesizeable code elements. But this is just fine as they are used in the testbenches only. How do I exclude them from the synthesis-relevant checks? Regarding the |
Hey @stnolting,
You do not specify a file name but an entity name.
Yes, everything that is not listed is not allowed.
Rules are tagged with 'simulation' or 'synthesis' or both depending on which context they apply.
Yes, properties should be defined through the web interface when possible. Hope it helps! |
Right, my fault.
Ah OK! I didn't there there are two rules - I only saw the not-allowed one.
👍
Done.
Sounds good!
Absolutely! Thank you very much. |
Right
Actually,
Here's the doc: https://yosyshq.readthedocs.io/projects/yosys/en/latest/cmd/verific.html |
👍
Thanks a lot! There is still a problem with hierarchy elaboration:
|
Logs should be saved in the action through: https://github.com/stnolting/neorv32/actions/runs/10971399621/workflow#L40 Once the workflow is fixed, the log of the elaboration of your design by Tabby CAD is available at |
remove "sim"
I think this is quite ready. I'm very happy that all the modifications from this PR ended up in just a single file (the actual GitHub workflow file). 🚀 I'll try to adjust some of the rules before merging this (I do not want to start with a failed rating 😅). Here is the badge that we could add to the front page's status section: While scrolling through the reports I found some strange reliability warning: "Remove forbidden operator "mod"." This makes sense. Why is this a false positive? Did I miss something? I mean the right operand is a constant, right? Can't the checker identify this as such? |
Good!
Sure
OK
|
I still don't get it 😅 In this case the right operand IS a constant and it IS a power of two as well. I cannot see any rule options to mark individual operators as valid when the previously mentioned conditions are fulfilled. |
I fixed the rule to not raise an issue when |
Ahh ok 👍 |
Is there already a date for it? |
Our goal is for mid-November. |
Hey @racodond! How can I modify the quality gate requirements? For me, it seems like they're fixed and cannot be altered at all. 🤔 However, I would like to relax them so we do not have a "failed" status until the mod issue is fixed in the next release. |
I created a dedicated quality gate for your project: https://oss.linty-services.com/quality_gates/show/NEORV32
You should flag those issues as false positives. |
Signed-off-by: stnolting <[email protected]>
I think we are ready to merge! 🚀 I will further investigate on the quality gates and design rules from the main branch - some failing rules are acceptable for now as this is still something like "work in progress" 😉 |
Good news! |
Did you generate a token with some expiration date? |
This is a local recreation of #1027 by @racodond.