Home Projects Blog Movies Photos Miscellaneous About

Nymbolator
STATUS: EXPERIMENTAL

A guy wrote a great piece of software 8 years ago and, for whatever reason, left it behind. This is my experimental evolution of the original symbolator.

Description

Nymbolator is a simple idea:

Take a design written in VHDL and draw it.

Expensive, closed-source giants like Vivado (AMD) and Quartus (Intel) have built-in schematic viewers, but they are heavy, slow, and locked behind gigabytes of installation files. Nymbolator tries to keep it lightweight and focused.

Because at the end of the day, it's just a plotter.

Key Features

Disclaimer: These features are not implemented in the usual common way yet. The parser exists, but it is not joined with the rest of the code and is currently very basic.

  • Simple: Just C code.
  • Draws at block diagram Level.
  • Lightweight: No need to launch a multi-gigabyte IDE just to see your component's port map.
  • VHDL Parsing: Automatically extracts entity signals and generics.

Result

The .vhdl file used to generate the image is in the media folder. Check it out!

diagram.svg

Usage

The code always searches for a file called top.vhdl in the input folder.

git clone https://github.com/rhyloo/Nymbolator.git
git checkout develop
mkdir bin
make

FAQ

Why did I start Nymbolator?

I wanted to understand and edit this repo: https://github.com/jasonsetiawan/ov7670_vga_Nexys2. I thought it would be great to have a tool that let me see how the module was done. I mean, I can draw manually and read the code, but if you can do something like ./plot_this, I prefer it.

Why in C?

I have two main reasons to use C:

  • First, I had problems with Python and Symbolator. Since Python is part of Debian-based distros, installing a package like pip install <package> is a mess now. I mean, I don't want to create an environment for every code I write or test. Also, --break-system-packages is not a good solution; you are breaking something. I didn't want it for my project.
  • Second, I wanted to practice my C skills and remember how pointers, opening files, etc., worked.

Are you sure there aren't tools like this?

I think the answer is "no," unless I lost my search skills because of AI. If you have a tool suggestion, I am open to using it. Here are some links I visited before:


About this Document

This file was automatically synchronized from the source at: https://www.github.com/rhyloo/Nymbolator

Feel free to explore the code, open an issue, or submit a pull request if you find ways to improve the project. Happy hacking!