Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Veritas IDE

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.

Features

  • 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 .v files 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 .vcd dumps in GTKWave.
  • Zero-Config Portability: Relies entirely on your system's global environment variables—no hardcoding or path modifications required in the source code.

🛠 Prerequisite Setup Guide

To run or build Veritas, your system must have the following tools installed and added to your system's PATH.

1. Java Development Kit (JDK 21+)

Required to compile the IDE and run JavaFX UI components.

2. Apache Maven

Handles downloading the UI dependencies (JavaFX, RichTextFX) and building the project.

  • Windows Download: Maven Official Site (Download the binary .zip and manually add its bin folder to your PATH).
  • macOS: brew install maven
  • Linux: sudo apt install maven
  • Verify Installation: mvn -v

3. Icarus Verilog & GTKWave

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 -v and gtkwave --version

⚠️ Troubleshooting System PATH (Windows)

If your terminal says "command not found" after installing these tools, you need to manually add them to your environment variables:

  1. Press the Windows key, type Environment Variables, and select Edit the system environment variables.
  2. Click Environment Variables at the bottom right.
  3. Under System variables, select Path and click Edit.
  4. Click New and paste the absolute paths to the bin folders of your installations.
    • Example: C:\Program Files\Maven\apache-maven-3.9.x\bin
    • Example: C:\iverilog\bin and C:\iverilog\gtkwave\bin
  5. Restart your computer or terminal to apply the changes.

🚀 Installation & Running the IDE

Once your prerequisites are installed and verified, setting up Veritas takes seconds.

  1. Clone the repository:

    git clone https://github.com/Mateen-Q/Veritas.git
    cd veritas-ide
  2. Compile the project:

    mvn clean compile
  3. Launch the IDE:

    mvn javafx:run

💻 IDE Workflow

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.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Mateen Qureshi - Lead Developer

About

Veritas is a minimal, cross-platform Verilog IDE built in Java. It features smart code editing, persistent workspaces, and seamless integration with Icarus Verilog and GTKWave for dynamic multi-file compilation and instant simulation.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages