Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



38 Commits

Repository files navigation



Symbolator is a component diagramming tool for VHDL and Verilog. It will parse HDL source files, extract components or modules and render them as an image.

library ieee;
use ieee.std_logic_1164.all;

package demo is
  component demo_device is
    generic (
      SIZE : positive;
      RESET_ACTIVE_LEVEL : std_ulogic := '1'
    port (
      --# {{clocks|}}
      Clock : in std_ulogic;
      Reset : in std_ulogic;

      --# {{control|Named section}}
      Enable : in std_ulogic;
      Data_in : in std_ulogic_vector(SIZE-1 downto 0);
      Data_out : out std_ulogic_vector(SIZE-1 downto 0)
  end component;
end package;

> symbolator -i demo_device.vhdl Scanning library: . Creating symbol for demo_device.vhdl "demo_device" -> demo_device-demo_device.svg

Produces the following:


Symbolator can render to PNG bitmap images or SVG, PDF, PS, and EPS vector images. SVG is the default.


Symbolator requires either Python 2.7 or Python 3.x, Pycairo, and Pango.

The installation script depends on setuptools. The source is written in Python 2.7 syntax but will convert cleanly to Python 3 when the installer passes it through 2to3.

The Pango library is used compute the dimensions of a text layout. There is no standard package to get the Pango Python bindings installed. It is a part of the Gtk+ library which is accessed either through the PyGtk or PyGObject APIs, both of which are supported by Symbolator. You should make sure that one of these libraries is available before installing Symbolator. A Windows installer is available. For Linux distributions you should install the relevant libraries with your package manager.


Symbolator is licensed for free commercial and non-commercial use under the terms of the MIT license. The Symbolator Sphinx extension is derived from the Graphviz extension and is BSD licensed.


You can access the Symbolator Git repository from Github. You can install direct from PyPI with the "pip" command if you have it available.


The full documentation is available online at the main Symbolator site.