nobodywasishere / vhdlproc Goto Github PK
View Code? Open in Web Editor NEWVHDLproc is a VHDL preprocessor
License: GNU General Public License v3.0
VHDLproc is a VHDL preprocessor
License: GNU General Public License v3.0
The VHDL standard (IEEE Std. 1076-20**) has tool directives in clause 24. You could use the '`' character instead of '#' and be compliant with the VHDL standard. Moreover, in IEEE Std 1076-2019, a new feature called conditional analysis was added. See Clause 24.2 for more details.
This is the an EBNF based summary:
More details can be found here: http://www.eda-twiki.org/cgi-bin/view.cgi/P1076/LCS2016_061
In your documentation, please be sure to note what is a VHDL-2019 directive vs. what are your extensions.
In particular, please be sure to note that `define and `include are your extensions.
If you think your extensions should be part of the standard, then participate.
We also use git for our issues. See:
https://gitlab.com/IEEE-P1076/VHDL-Issues/-/issues
Furthermore, if you are capable of writing a tool like this and you use git,
you would be a valuable asset to the team - yes we recruit people from
the open source community :)
Currently, to use VHDLproc, you have to either process each file to another file (and then run ghdl, etc on those files), or do everything in python, passing around the code as text instead of files.
It would be better if it operated like this:
vhdlproc *.vhd
ghdl -a *.vhd # same files
# next run a testbench, synthesize using yosys, etc.
But of course, this modifies the source files meaning the preprocess is only run once.
Potential solutions/ideas:
ghdl -a $(vhdlproc --tmp -f *.vhd)
Unsure which option to implement, feedback welcome.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.