MikePopoloski / slang

SystemVerilog compiler and language services
MIT License
579 stars 129 forks source link

Request to add CDC linting #1063

Open chili-chips-ba opened 1 month ago

chili-chips-ba commented 1 month ago

With majority of opensource RTL developers being converted software engineers, a CDC validation tool would greatly help improve the quality of IP in opensource domain.

MikePopoloski commented 1 month ago

It seems like that would be a good use for slang, but it's not something I'm personally planning on working on any time soon. If you'd like to contribute it I'd be happy to accept a PR.

chili-chips-ba commented 1 month ago

How about putting it on hold, as opposed to straight closure?! Also see this and this.

MikePopoloski commented 1 month ago

The issue seemed more like a question (that was then answered), but if you meant it more like a feature request then sure, it can remain open if you prefer.

MikePopoloski commented 1 month ago

If your hope is that someone will pick up this issue for you it would probably be good to be a lot more clear about what exactly you'd want to see for CDC linting, what kinds of things it would check for, how it might work, etc.

ajeethakv commented 1 month ago

For syntactic level lint checks, I would imagine we could do similar to what my team and I are doing using Pyslang (named PySlint, UVMLint, SVALint etc. there is even a EMULint version that some folks have branched off from PySlint). But many/some of CDC lint rules would need deeper synthesis aspects, SDC constraints, etc. that may be easier to do with Yosys type of framework (Or Icarus/Verilator after synthesis). If you are interested in volunteering rules for CDC, I can explore implementing some of them on top of Pyslang and opensource.

Regards

chili-chips-ba commented 1 month ago

Any little bit of CDC help will help. Once embarked on this journey, the mileage may surprise us all 😉

ajeethakv commented 1 month ago

Sure, please list down what you've in mind. You may also look at creating issues via https://github.com/AsFigo/pyslint/issues