Máme-li hardware definovaný pomocí VHDL kódu, můžeme jeho chování simulovat pomocí komerčních nástrojů, např. Altera Quartus, Xilinx ISE nebo Lattice Diamond. Anebo můžeme použít free/open-source program GHDL.
GHDL vytváří ze zdrojových VHDL souborů spustitelné programy a jejich spuštěním následně vznikají soubory s popisem signálů na jednotlivých datových linkách.
Simulace pomocí GHDL sestává z několika kroků, které je šikovné řídit pomocí programu make. Mějme dva moduly cm.vhdl
a dm.vhdl
, a k nim testovací moduly cm_tb.vhdl
a dm_tb.vhdl
, kde „_tb“ je zkratka pro „testbench“. Makefile
pak může vypadat například takto:
GHDL=ghdl GHDLFLAGS= #-------------------------------------- # Execute all simulations all: cm.vcd dm.vcd #-------------------------------------- cm.vcd: cm_tb # Run unit (= execute) $(GHDL) -r $< --vcd=$@ # Target is the simulated entity name cm_tb: cm.o cm_tb.o # Elaborate unit (= link) $(GHDL) -e $(GHDLFLAGS) $@ #-------------------------------------- dm.vcd: dm_tb # Run unit (= execute) $(GHDL) -r $< --vcd=$@ # Target is the simulated entity name dm_tb: dm.o dm_tb.o # Elaborate unit (= link) $(GHDL) -e $(GHDLFLAGS) $@ #-------------------------------------- %.o: %.vhdl # Analyze file (= compile) $(GHDL) -a $(GHDLFLAGS) $<
Výstupem budou soubory cm.vcd
a dm.vcd
obsahující simulované průběhy signálů. Tyto soubory můžeme zobrazit například pomocí programu gtkwave.
Žádné komentáře:
Okomentovat