pyVhdl2sch is b Python based VHDL to (pdf) schematic converter
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
datas
decorator
file_manager
pep8Checker
reqs
tools
vhdl_objects
.gitignore
.travis.yml
LICENCE
Makefile
README.md
TODO.md
gui.py
gui.ui
pyV2S.py
pyV2TB.py
pytest.ini
tb_foo.vhd
tb_test.vhd
test.py

README.md

pyVhdl2Sch

pyVhdl2Sch is a documentation generator tool. It takes VHDL files (.vhd) as entry and generates a pdf/svg/ps/png schematic for each input file.

pyVhdl2Sch is based on Python and is a rewrite of the QT/Latex based Vhdl2Sch.

How to use

type:

./pyV2S.py myVhdlfile.vhd

pyVhdl2Sch parses your file, find the entity and creates the corespondant schematic with Cairo.

The result is a pdf with a very narrow bounding box so you can import it in a latex document (for example) easily.

Full usage

  • -v : verbose mode

  • -fgcolor : define contour color (based on https://github.com/vaab/colour)

    • example -fgred or -fg#caf or -fg#cafe42
  • -bgcolor : replace the transparent background by a colored one

  • -ftformat : specify the output format

    • -ftpdf --> pdf
    • -ftpng --> png
    • -ftsvg --> psvg
    • -ftps --> ps
  • -winteger : specify the width of png file

    • -w1000 --> width of png = 1000px

Supported OS

  • Linux
  • Windows seven
  • MacOs

Requirements

  • python
  • jura font installed (or change font in pdfdrawer.py)
  • cairocffi
  • coulour

Install

Debian like

git clone git@github.com:LaurentCabaret/pyVhdl2Sch.git

in order to install all the dependencies

sudo sh reqs/linux.sh
sudo sh reqs/update_pip_packages

Windows

OSX

  • Install XQuartz from https://xquartz.macosforge.org/landing/
  • brew install cairo
  • brew install pkg-config libffi
  • export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/
  • pip install -r reqs/requirements.txt
  • python pyVhdl.py yourfile.vhd

How to help

What could be very cool to implement (help required)

  • Auto finding of component usage and global schematic (with sub files) generation
  • Multiple schematic theme (using keywords to select look and feel)
  • A clean way to install it (a package ?)