-
Notifications
You must be signed in to change notification settings - Fork 44
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
VHDL exporter #11
Comments
Thanks for the enthusiasm! That said, I agree that it would be valuable to have an option to generate VHDL. As far as I can tell, nearly all of the language concepts I use in the SystemVerilog exporter could technically be transcribed to VHDL, so it is certainly doable (with the exception of SV interface ports. We'll have to wait for VHDL 2019 to be more widely adopted in tools). I'll keep this feature request open in case I feel inspired to add this 😄 |
Just a quick update. It appears that hectare has many drawbacks and produces wrongly synthesisable code, but I've found a way better alternative (and a successor to hectare): https://gitlab.desy.de/fpgafw/tools/desyrdl. It looks nice in terms of supported features and quality of generated code and most importantly is actively maintained. It also uses VHDL records, similar to this project, so the regfile interfacing works nicely. I recommend it to anyone looking for a VHDL generator. Actually, I wonder if this issue could be closed as DesyRDL looks really good in terms of quality. What do you think @amykyta3? |
Thanks for pointing me to this! I'll leave this issue open in case I decide to extend support to VHDL in the future. |
Sure, sounds good 👍 |
Hi @amykyta3 Did you ever hear back from the DesyRDL folks? |
I've been working on a VHDL port of the SystemVerilog regblock exporter in a fork here. It's close to done. Remaining tasks tracked here. Goals for VHDL conversion:
Eventually I'd like to either merge these changes back into this repo or host the VHDL exporter under the SystemRDL project. I've kept a running list of changes required due to the differences in language here. @amykyta3, what are your thoughts on trying to support both languages in this repo vs. keeping them separate? |
Hey @darsor, Merge into PeakRDL-regblockThis would be great, but I also want to avoid having This may be a tall order.. If it ends up hindering readability of the tool, or makes the user-experience worse or more confusing, then this wouldn't make sense. I want to be very careful to not add excessive complexity that would make maintenance and feature additions more difficult. Keep as a separate VHDL forkThis would certainly be the easiest option. If the first option becomes too much of an inherent complexity to manage, this may be the more maintainable option as well. This would inherently let the two code generators specialize in their own language-specific concepts which would generally be a good thing for maintenance and long-term feature growth. Of course there is the risk that they would diverge over time, but that may not be as strong of a design-goal in the end. After all, the PeakRDL community is really good at letting me know what features are broken/missing 😄 |
Hi, first of all thanks for the great work in all SystemRDL/PeakRDL projects. It's really impressive what has been accomplished here 👍
I'm currently looking into some automation tools to use for AXI slave generation from SystemRDL we currently extensively use in the company I work for. For some projects, we are required to write in VHDL, so the current SV exporter (although pretty darn nice by itself) doesn't really meet our needs. I have found https://github.com/MicroTCA-Tech-Lab/hectare project which looks sufficient for now, yet limited and seems to be abandoned over the last year. So here comes my question, whether there is a VHDL exporter in the pipeline for this project, or only SV variant development is planned?
Thanks again for the great work.
The text was updated successfully, but these errors were encountered: