Synthese Logique
Carte Icebreaker avec FPGA LATTICE ICE40UP5k
DOCUMENTATION
https://github.com/icebreaker-fpga
Installations ( sur vos PCs persos )
Les outils logiciels utilisés sont open source.
L’open source dans la synthèse logique est récente, le site de Fabien Marteau propose un tour d’horizon complet des possibilités logicielles et matérielles.
Installation de GHDL
- Récupérer l’archive à l’adresse : https://github.com/ghdl/ghdl/releases
Pour Linux :
- extraire l’archive et mettre à jour la variable d’environnement $PATH ( ligne à ajouter dans le fichier ~/.bashrc ) :
export PATH=""<extracted_location>/ghdl-gha-ubuntu-22.04-llvm/bin/:$PATH"
Installation de Yosys + ..
Plusieurs autres logiciels doivent être installés ( yosys, nextpnr, iceprog ), cela peut se faire individuellement, mais il est plus pratique d’installer l’ensemble de ces outils avec oss-cad-suite :
- Récupérer l’archive à l’adresse : oss-cad-suite
Pour Linux :
- extraire l’archive et mettre à jour la variable d’environnement $PATH ( ligne à ajouter dans le fichier ~/.bashrc ) :
export PATH="<extracted_location>/oss-cad-suite/bin:$PATH"
Chaîne de développement
Avec le logiciel de simulation ghdl, le forçage des signaux d’entrée d’un composant à tester nécessite l’utilisation d’un composant testbench, à savoir un composant incluant le composant à tester
Dans notre exemple, le composant à tester est le composant icebreaker, décrit dans le fichier vhdl icebreaker.vhd.
Le test nécessite un composant icebreaker_tb, décrit dans le fichier vhdl cicebreaker_tb.vhd, dans lequel on instancie icebreaker.
Composants | Testbench |
|
|
Sources
unzip cmp_1bit.zip
cd cmp_1bit
COMPILATION
ghdl -a icebreaker.vhd
ghdl -a icebreaker_tb.vhd
SIMULATION
bash simu.sh -t icebreaker_tb.vhd -s 5ms
Dans gtkwave, sélectionner l’entité de plus haut niveau ( icebreaker_tb ), et faire clic droit –> Recursive Import –> Insert
REMARQUE : dans gtkwave, pour sauvegarder la configuration , faire File –> write save file –> layout.gtkw
SYNTHESE LOGIQUE
bash build_fpga.sh -e icebreaker -p broches.pcf