PYFPGA est une classe Python pour le développement FPGA indépendant des fournisseurs . Il permet d'utiliser un seul fichier de projet et d'exécuter programmatiquement la synthèse , l'implémentation , la génération de Bitstream et / ou le transfert aux cartes prises en charge.
Créez votre outil FPGA personnalisé à l'aide d'un flux de travail adapté à vos besoins!
AVERTISSEMENT: (2022-05-15) Le PYFPGA est en train d'être fortement réécrit / simplifié. La plupart des changements sont internes, mais l'API (classe
Project
) changera.
Un exemple minimal de la façon d'utiliser pyfpga:
from fpga import Project
# Specify the backend tool and an optional project name
prj = Project ( 'vivado' , 'example' )
# Set the device/part
prj . set_part ( 'xc7z010-1-clg400' )
# Add HDL sources to the project
prj . add_files ( 'location1/*.v' )
prj . add_files ( 'location2/top.v' )
# Optionally add constraint files to the project
prj . add_files ( 'location3/example.xdc' )
# Set the top-level unit name
prj . set_top ( 'Top' )
# Generate the bitstream running the tool
prj . generate ()
Maintenant, vous pouvez lire les documents ou trouver plus d'exemples dans des exemples de sous-dir.
L'API mise en œuvre par la Project class
fournit:
PYFPGA est un package Python 3, qui est développé sur Debian GNU / Linux. Il devrait fonctionner sur tout autre système d'exploitation compatible POSIX et probablement également sur différents SG. Si vous réussissez l'un ou l'autre succès sur l'échec sur les systèmes non-Posix, veuillez nous en informer via le tracker du problème.
--synth
) permet de convertir les sources VHDL en une netlist VHDL 1993.ghdl-yosys-plugin
) et prend en charge plusieurs formats de sortie: JSON, Verilog, EDIF, etc.Notes:
Pyfpga nécessite python >=3.6
. Pour l'instant, il est uniquement disponible en tant que référentiel GIT hébergé sur GitHub. Il peut être installé avec PIP:
pip install 'git+https://github.com/PyFPGA/pyfpga#egg=pyfpga'
Sur GNU / Linux, l'installation de packages PIP sur le système nécessite
sudo
. Alternativement, utilisez--local
pour installer PyFPGA dans votre maison.
Vous pouvez obtenir une copie du référentiel via Git Clone ou télécharger un tarball / zipfile:
git clone https://github.com/PyFPGA/pyfpga.git
cd pyfpga
Ensuite, utilisez PIP à partir de la racine du repo:
pip install -e .
Avec
-e
(--editable
), votre application est installée dans les packages de sites via une sorte de lien de symbolique. Cela permet de tirer des changements dans GIT ou de modifier la branche, sans avoir besoin de réinstaller le package.