VHDL_GENERATOR is a java swing application that can generate VHDL Code it can generate the VHDL file given information of the VHDL interface(entity,port,signals, ...) and a Testbench template file also it can generate ready to use VHDL Component like(Mux,Demux,Adder,...).
- VHDL Code generator
VG-Code.mp4
- VHDL Component Generator
VG-Component.mp4
-
Java jdk(>=18)
-
Maven
-
javadoc-plugin
: for generating the javadoc -
JUnit 5
: for unit testing -
flatlaf
: for the UI themes(Looks And Feels) -
checkstyle
: to enforce coding rules -
formatter
: for auto formatting code -
assembly
: for generating the Jar file with all dependencies
-
you need to clone the repository first
git clone https://github.com/Var7600/VHDL-GENERATOR
-
go to the VHDL-GENERATOR directory run
- Building
mvn install
- Running
java -jar target\VHDL_GENERATOR-0.0-SNAPSHOT-jar-with-dependencies.jar
-
- Javadoc : you can find the javadoc documentation of the project in
Apidocs\Javadoc
- UML : there's UML representation of the project in pdf file(you got to zoom in to see clearly)
-
add a option to directly generate testbench file by copying VHDL code to the editor or by choosing a VHDL file
-
add more Component in Library(Multiplier, Divider, Shifter, Floating Point Adder, T Flip-Flop, ROM, ALU . . . )
If you want to contribute to a project and make it better, your help is very welcome. you can report bug reports/issues, feature requests and the noblest of all contributions: a good, clean pull request.
-
first you can create folder in
HDL-library\ (ex: Multiplier)
-
write your VHDL code there
-
also a Testbench!
-
then you can add a package in
vhdlgenerator.component.Multiplier
-
and follow same construction in others
component class
- Create a personal fork of the project on Github.
- Clone the fork on your local machine. Your remote repo on Github is called
origin
. - Add the original repository as a remote called
upstream
. - Create a new branch to work on! from
main
. - Implement/fix your feature, comment your code.
- Follow the code style of the project, including indentation(some plugins(checkstyle,foramtter) by maven take care of that so you can write like you want and fix after)
- If the project has tests run them!
- Write or adapt tests as needed.
- Add or change the documentation as needed.
- Push your branch to your fork on Github, the remote
origin
. - From your fork open a pull request in the correct branch.
- Once the pull request is approved and merged you can pull the changes from
upstream
to your local repo and delete your extra branch(es).
“Commons Clause” License Condition v1.0
this is a free software; you can redistribute it and/or modify it.
Without limiting other than the License not include or grant you right to Sell the Software.
For purposes of the foregoing, “Sell” means practicing any or all of the rights granted to you under the License to provide to third parties, for a fee or other consideration (including without limitation fees for hosting or consulting/ support services related to the Software), a product or service whose value derives, entirely or substantially, from the functionality of the Software. Any license notice or attribution required by the License must also include this Commons Cause License Condition notice.
-