Un laboratorio de diseño digital que cabe en un navegador.
Kmila es una aplicación libre y multiplataforma para aprender y depurar VHDL sin necesidad de hardware físico. Reúne edición, simulación y visualización en un solo lugar.
Diseñar hardware digital exige ver cómo se comportan las señales en el tiempo. Tradicionalmente eso implica una FPGA, o encadenar por separado un compilador, un visor de ondas y un editor. Kmila elimina esa barrera: escribes VHDL y ves la simulación al instante, en cualquier dispositivo.
Nació como Trabajo Terminal en la Escuela Superior de Cómputo del IPN, con un objetivo claro: que aprender diseño digital no dependa del acceso a equipo costoso.
Tres barreras entre la teoría y la práctica.
Una tarjeta FPGA cuesta miles de pesos; equipar un laboratorio para 30 estudiantes supera los $55,000 MXN.
Las herramientas libres exigen instalar y configurar por separado un compilador (GHDL), un visor de ondas (GTKWave) y un editor.
Las suites comerciales restringen sus versiones gratuitas y se atan a familias de hardware específicas.
Todo el flujo, integrado y sin instalar.
Kmila reúne en una sola interfaz lo que antes eran tres o cuatro herramientas separadas.
- Editor VHDL con diagnósticos y un traductor bidireccional VHDL ↔ bloques.
- Motor de simulación con ciclos delta, equivalente a GHDL y verificado caso por caso.
- Formas de onda, esquemático y un runtime visual con LEDs, botones y switches.
- Rutas de aprendizaje y práctica guiadas, en siete idiomas.
Del texto a la forma de onda, en cuatro etapas.
El motor de Kmila es un simulador VHDL real, escrito desde cero en .NET.
Análisis
El tokenizador y el parser convierten tu VHDL en un árbol de sintaxis abstracta (AST).
Elaboración
Se resuelven entidades, arquitecturas, paquetes y librerías IEEE en un modelo ejecutable.
Simulación
El motor de ciclos delta planifica procesos y señales tick a tick, con atributos como 'event y 'stable.
Salida
Cada transición se registra y se convierte en formas de onda interactivas y archivos VCD compatibles con GTKWave.
Pensado para enseñar, no solo para simular.
Tres pistas complementarias acompañan al estudiante desde la primera señal.
Learn
Lecciones interactivas sobre VHDL con ejemplos ejecutables.
Concepts
El modelo de ejecución del hardware: secuencial, concurrente y el paralelismo real.
Practice
Retos de código con casos de prueba que se corrigen automáticamente.
Cómo se compara Kmila.
Frente a las alternativas típicas en un curso de diseño digital.
| Característica | Kmila | GHDL + GTKWave | ModelSim | Vivado |
|---|---|---|---|---|
| Gratis y de código abierto | ✓ | ✓ | — | — |
| Sin FPGA / hardware | ✓ | ✓ | ✓ | — |
| Editor + simulación + ondas integrados | ✓ | — | ✓ | ✓ |
| Multiplataforma (incluye móvil) | ✓ | — | — | — |
| Se ejecuta en el navegador | ✓ | — | — | — |
| Pistas de aprendizaje integradas | ✓ | — | — | — |
Un motor que puedes verificar.
La salida del simulador de Kmila se compara automáticamente contra GHDL, el simulador VHDL de referencia de código abierto. En el banco de pruebas actual, los 148 de 148 casos producen resultados idénticos sobre miles de muestras de señales, sin una sola discrepancia.
Trabajo futuro.
Líneas abiertas más allá del alcance actual.
Más lenguajes HDL
Extender el parser modular a Verilog / SystemVerilog reutilizando el mismo motor.
Puente a FPGA física
Integrar cadenas abiertas (Yosys, nextpnr) para llegar a FPGAs de bajo costo como iCE40.
Visualización 3D
Interfaces 3D del circuito y sus recursos, sobre los proyectos Unity ya iniciados.
Libre, auditable y hecho en el IPN.
Kmila es un proyecto de código abierto desarrollado como Trabajo Terminal (TT 2026-B059) en la ESCOM del Instituto Politécnico Nacional.