A digital-design lab that fits in a browser.
Kmila is a free, cross-platform application for learning and debugging VHDL with no physical hardware. It brings editing, simulation and visualization together in one place.
Designing digital hardware means watching how signals behave over time. Traditionally that requires an FPGA, or chaining together a separate compiler, waveform viewer and editor. Kmila removes that barrier: you write VHDL and see the simulation instantly, on any device.
It began as a Terminal Project (Trabajo Terminal) at ESCOM, IPN, with one clear goal: learning digital design should not depend on access to expensive equipment.
Three barriers between theory and practice.
An FPGA board costs thousands of pesos; equipping a lab for 30 students exceeds $55,000 MXN.
Free tools require installing and configuring a compiler (GHDL), a waveform viewer (GTKWave) and an editor separately.
Commercial suites restrict their free versions and tie you to specific hardware families.
The whole flow, integrated and install-free.
Kmila brings into a single interface what used to be three or four separate tools.
- VHDL editor with diagnostics and a bidirectional VHDL ↔ blocks translator.
- Delta-cycle simulation engine, equivalent to GHDL and verified case by case.
- Waveforms, schematic and a visual runtime with LEDs, buttons and switches.
- Guided learning and practice tracks, in seven languages.
From text to waveform, in four stages.
Kmila's engine is a real VHDL simulator, written from scratch in .NET.
Parsing
The tokenizer and parser turn your VHDL into an abstract syntax tree (AST).
Elaboration
Entities, architectures, packages and IEEE libraries are resolved into a runnable model.
Simulation
The delta-cycle engine schedules processes and signals tick by tick, with attributes like 'event and 'stable.
Output
Every transition is recorded and turned into interactive waveforms and GTKWave-compatible VCD files.
Built to teach, not just to simulate.
Three complementary tracks guide the student from the very first signal.
Learn
Interactive VHDL lessons with runnable examples.
Concepts
The hardware execution model: sequential, concurrent, and real parallelism.
Practice
Coding challenges with test cases that grade themselves automatically.
How Kmila compares.
Against the typical alternatives in a digital-design course.
| Feature | Kmila | GHDL + GTKWave | ModelSim | Vivado |
|---|---|---|---|---|
| Free and open-source | ✓ | ✓ | — | — |
| No FPGA / hardware | ✓ | ✓ | ✓ | — |
| Editor + simulation + waveforms integrated | ✓ | — | ✓ | ✓ |
| Cross-platform (incl. mobile) | ✓ | — | — | — |
| Runs in the browser | ✓ | — | — | — |
| Built-in learning tracks | ✓ | — | — | — |
An engine you can verify.
Kmila's simulator output is compared automatically against GHDL, the reference open-source VHDL simulator. In the current benchmark, all 148 of 148 cases produce identical results across thousands of signal samples, with not a single discrepancy.
Future work.
Open directions beyond the current scope.
More HDL languages
Extend the modular parser to Verilog / SystemVerilog, reusing the same engine.
Bridge to physical FPGAs
Integrate open toolchains (Yosys, nextpnr) to reach low-cost FPGAs like the iCE40.
3D visualization
3D interfaces of the circuit and its resources, on top of the Unity projects already started.
Free, auditable, and made at IPN.
Kmila is an open-source project developed as a Terminal Project (TT 2026-B059) at ESCOM, Instituto Politécnico Nacional.