This content isn't available in your language yet; showing English.
// The project in detail

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.

// The problem

Three barriers between theory and practice.

Cost

An FPGA board costs thousands of pesos; equipping a lab for 30 students exceeds $55,000 MXN.

Fragmentation

Free tools require installing and configuring a compiler (GHDL), a waveform viewer (GTKWave) and an editor separately.

Licenses

Commercial suites restrict their free versions and tie you to specific hardware families.

// The solution

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.
// How it works

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.

// Learning by doing

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.

// Comparison

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
// Trust

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.

// Where it's going

Future work.

Open directions beyond the current scope.

Research

More HDL languages

Extend the modular parser to Verilog / SystemVerilog, reusing the same engine.

Research

Bridge to physical FPGAs

Integrate open toolchains (Yosys, nextpnr) to reach low-cost FPGAs like the iCE40.

Exploration

3D visualization

3D interfaces of the circuit and its resources, on top of the Unity projects already started.

// Open by design

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.