Veritas is a minimal, cross-platform Integrated Development Environment (IDE) tailored specifically for Verilog. Built with Java 21 and JavaFX, it provides a lightweight, highly responsive alternative to heavy commercial EDA tools.
It manages workspaces, handles dynamic multi-file compilation asynchronously, and natively hooks into Icarus Verilog and GTKWave to take your hardware design from raw code to visual waveform verification without ever leaving the window.
- Workspace Management: Fully integrated project explorer with persistent workspace memory.
- Smart Code Editor: Custom Verilog syntax highlighting, auto-indentation, and structural bracket closing.
- Dynamic Compilation: Automatically scans your active project and links all
.vfiles together during the build process. - Asynchronous Execution: Background thread execution ensures the UI never freezes during heavy compilations.
- Integrated Waveform Launching: Instantly detect and open generated
.vcddumps in GTKWave. - Zero-Config Portability: Relies entirely on your system's global environment variables—no hardcoding or path modifications required in the source code.
To run or build Veritas, your system must have the following tools installed and added to your system's PATH.
Required to compile the IDE and run JavaFX UI components.
- Download: Eclipse Temurin JDK 21 or Oracle JDK
- Verify Installation:
java -versionandjavac -version
Handles downloading the UI dependencies (JavaFX, RichTextFX) and building the project.
- Windows Download: Maven Official Site (Download the binary
.zipand manually add itsbinfolder to your PATH). - macOS:
brew install maven - Linux:
sudo apt install maven - Verify Installation:
mvn -v
The backend hardware compiler (iverilog), simulation runtime engine (vvp), and waveform viewer (gtkwave).
- Windows: Download the pre-compiled installer from bleyer.org/icarus (This bundles all three tools together). Crucial: During installation, make sure to check the box that says "Add executable folder(s) to the system PATH".
- macOS:
brew install icarus-verilog gtkwave - Linux:
sudo apt install iverilog gtkwave - Verify Installation:
iverilog -vandgtkwave --version
If your terminal says "command not found" after installing these tools, you need to manually add them to your environment variables:
- Press the Windows key, type Environment Variables, and select Edit the system environment variables.
- Click Environment Variables at the bottom right.
- Under System variables, select Path and click Edit.
- Click New and paste the absolute paths to the
binfolders of your installations.- Example:
C:\Program Files\Maven\apache-maven-3.9.x\bin - Example:
C:\iverilog\binandC:\iverilog\gtkwave\bin
- Example:
- Restart your computer or terminal to apply the changes.
Once your prerequisites are installed and verified, setting up Veritas takes seconds.
-
Clone the repository:
git clone https://github.com/Mateen-Q/Veritas.git cd veritas-ide -
Compile the project:
mvn clean compile
-
Launch the IDE:
mvn javafx:run
Launch Veritas and select a root Workspace folder.
Click 📦 New Project to generate a Verilog module and a pre-configured Testbench.
Write your hardware logic. You can add extra .v files via the 📄 New File button; Veritas will automatically link them during build.
Click ▶ Run Simulation. Check the right-hand panel for your $display() outputs and the bottom panel for system compilation logs.
Click 📉 Waveform to instantly view your output data in GTKWave.
This project is licensed under the MIT License - see the LICENSE file for details.
Mateen Qureshi - Lead Developer