Awesome
Spyce, Simple python circuit editor
A simulink like editor with MyHDL netlist support. Heavily borrowed from a project for pycontrol by Roberto Bucher http://robertobucher.dti.supsi.ch/python/ for the SUPSI university. You will find some references to supsi :) and maybe some remaining packages that we did not yet update or remove
The following packages should be installed on your PC
-
pyenv (https://github.com/pyenv/pyenv) if you want an environment with any non-default python version. Highly recommended!
-
Python 2.7+ or Python 3.5+ (best via pyenv)
-
PySide, PySide2, PyQt4 or PyQt5
-
Qt.py wrapper around PySide, PySide2, PyQt4 or PyQt5(see https://github.com/mottosso/Qt.py)
-
MyHDL (best with fixbv extension, see https://github.com/imec-myhdl/myhdl)
-
LateX if you want to build the pdf documentation
-
our setup is based on python 3.8.1 and PySide2
Installing as normal user:
- Install Spyce (checkout with git)
git clone https://github.com/imec-myhdl/Spyce.git
- install the dependencies with pip (assuming you are on python3):
pyenv shell 3.8.1 # select your environment
pip install pyside2 # python interface to Qt5
pip install Qt.py # thin wrapper around PyQt3/5 Pyside/Pysisde2
pip install autopep8 # format block sources (on disk) conform pep8
pip install svgwrite # interface to inkscape
pip install lxml # legacy blocks, will gradually be phased out
Workspace preparation
mkdir workdir
cd workdir
# optional: create settings.py
# use this file to make local modifications to the defaults (in spycelib/const.py)
Editor (standalone)
To start the editor you do not need a setup/make step. You can run it can directly without installing.
cd workdir
python <path-to-spyce>/Spyce/BlockEditor/spyce.py
# or define an alias (e.g. in your ~/.bashrc):
alias spyce='python <path-to-spyce>/Spyce/BlockEditor/spyce.py'
cd workdir
spyce
Documentation (standalone)
cd <path-to-spyce>/Spyce/doc
make latexpdf # or make html whatever you prefer and is supported by sphinx
manual will be in build/latex/spyce.pdf
Warning:
Dangerous software, do not run as superuser, and be aware that there are bugs that could cause lost work (save as wrong filename for example). UNDO function is not implemented.
20.05.2020 imec-nl