Getting started
Kmila brings VHDL editing, simulation and visualization together in a single application, without the need for an FPGA. This guide walks through the basic flow: create a project, write a design, simulate it and read the waveforms.
1. Open Kmila
You have three ways to use it (see Installation):
- Browser demo — sign up and try a limited version right here.
- Web application (self-hosted) — spin up Kmila with Docker on your own Linux server.
- Native application — Windows, macOS, Android or iOS.
2. Create a project
From the projects screen choose Create project or start from one of the included
examples (counter, traffic light, shift register, etc.). Each project groups
one or more .vhdl files.
3. Write your design
Use the code editor with highlighting and inline diagnostics, or switch to the blocks tab and build the design by dragging pieces: the translator keeps the VHDL and the blocks synchronized in both directions.
entity counter is
port(clk, rst : in std_logic;
q : out std_logic_vector(3 downto 0));
end counter;
architecture rtl of counter is
signal cnt : unsigned(3 downto 0);
begin
process(clk) begin
if rising_edge(clk) then
cnt <= cnt + 1;
end if;
end process;
q <= std_logic_vector(cnt);
end architecture;
4. Configure and simulate
In the run bar, define the simulation duration, the system clock and the stimuli for your inputs. Press Run: the engine analyzes the design, resolves the delta cycles and captures every signal transition.
5. Explore the results
- Waveforms — trace per signal with zoom, bit-expandable buses and value cursor.
- Schematic — the synthesized netlist of your design.
- Visual runtime — wire up LEDs, buttons, switches and 7-segment displays.
- Export — VCD (compatible with GTKWave), CSV, SVG or PNG.
Next steps
- Learn VHDL step by step in the Learn track.
- Understand the hardware execution model in Concepts.
- Put what you've learned to the test with the Practice challenges.
- Check the system architecture to see how everything fits together.