[ EN COURS DE REDACTION ]
à propos de la synthèse logique open source :
DOCUMENTATION
https://github.com/icebreaker-fpga
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 cmp_1bit, décrit dans le fichier vhdl cmp_1bit.vhd.
Le test nécessite un composant cmp_1bit_tb, décirt dans le fichier vhdl cmp_1bit_tb.vhd, dans lequel on instancie cmp_1bit.
Composants | Testbench |
|
|
Sources
unzip cmp_1bit.zip
cd cmp_1bit.zip
# Compilation
ghdl -a cmp_1bit.vhd
ghdl -a cmp_1bit_tb.vhd
# Simulation
ghdl -e cmp_1bit_tb nom de l'entité testbench à tester
ghdl -r cmp_1bit_tb --vcd=cmp1_bit_tb.vcd --vcd-enums --stop-time=1ms
./cmp_1bit_tb:info: simulation stopped by --stop-time @1ms
# Affichage
gtkwave cmp1_bit_tb.vcd -a layout.gtkw
Dans gtkwave, sélectionner les signaux à afficher et taper sur Insert
REMARQUE : dans gtkwave, pour sauvegarder la configuration , faire File –> write save file –> layout.gtkw
# Conversion composant vhdl --> Verilog
yosys -m ghdl.so -p "ghdl cmp_1bit; proc; opt; fsm; opt; memory; opt; write_verilog cmp_1bit.v"
# Synthèse : -top : nom de l'entité de haut niveau
yosys -p "synth_ice40 -top cmp_1bit -json cmp_1bit.json" "cmp_1bit.v"
# Place and route ( *.pcf fichier de configuration des broches )
nextpnr-ice40 --up5k --json cmp_1bit.json --pcf broches.pcf --asc cmp_1bit.asc
# Chargement de la description sur la cible
icepack cmp_1bit.asc cmp_1bit.bin