Cocotb
From Robin
(Difference between revisions)
Line 1: | Line 1: | ||
- | =Cocotb | + | =For å kjøre Cocotb (etter installasjon - )= |
- | == | + | == Om cocotb == |
- | Cocotb kjøres | + | Cocotb sørger for at vi linker simulator (her: GHDL eller Questa) med python. Under simulering kjøres vekselvis simulator eller python fil- de kjører ikke samtidig. De triggerne (''await..'') vi bruker i python testbenken bestemmer når simulatoren overlater roret til python koden. Etter simuleringen er ferdig så ramser cocotb opp kjøreresultatet. |
- | + | == Kjøre cocotb == | |
- | + | * I folderen med makefile, kjør | |
+ | make | ||
- | + | == Makefil == | |
+ | Makefila sørger for kompilering og kjøring av Cocotb, samt evt kjøring av GUI eller lagring av waveform fil | ||
+ | * tb_<modulnavn>.py må inneholde python-testbenken | ||
- | == | + | # Makefile for GHDL |
- | + | # defaults | |
- | + | SIM ?= ghdl | |
+ | TOPLEVEL_LANG ?= vhdl | ||
+ | # VHDL 2008 | ||
+ | EXTRA_ARGS +=--std=08 | ||
+ | # TOPLEVEL is the name of the toplevel module in your VHDL file | ||
+ | TOPLEVEL = first | ||
+ | VHDL_SOURCES += $(PWD)/../lab1/$(TOPLEVEL).vhd | ||
+ | #VHDL_SOURCES += $(PWD)/../../hdl/*.vhdl | ||
+ | SIM_ARGS +=--wave=$(TOPLEVEL).ghw | ||
+ | # MODULE is the basename of the Python test file | ||
+ | MODULE = tb_$(TOPLEVEL) | ||
+ | # include cocotb's make rules to take care of the simulator setup | ||
+ | include $(shell cocotb-config --makefiles)/Makefile.sim | ||
+ | # removing generated binary of top entity and .o-file on make clean | ||
+ | clean:: | ||
+ | -@rm -f $(TOPLEVEL) | ||
+ | -@rm -f e~$(TOPLEVEL).o | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | == | + | == WSL == |
- | + | For å starte windows explorer under WSL (i katalogen du står i) | |
+ | explorer.exe . | ||
+ | # ikke glem punktumet |
Revision as of 10:19, 6 December 2023
Contents |
For å kjøre Cocotb (etter installasjon - )
Om cocotb
Cocotb sørger for at vi linker simulator (her: GHDL eller Questa) med python. Under simulering kjøres vekselvis simulator eller python fil- de kjører ikke samtidig. De triggerne (await..) vi bruker i python testbenken bestemmer når simulatoren overlater roret til python koden. Etter simuleringen er ferdig så ramser cocotb opp kjøreresultatet.
Kjøre cocotb
- I folderen med makefile, kjør
make
Makefil
Makefila sørger for kompilering og kjøring av Cocotb, samt evt kjøring av GUI eller lagring av waveform fil
- tb_<modulnavn>.py må inneholde python-testbenken
# Makefile for GHDL # defaults SIM ?= ghdl TOPLEVEL_LANG ?= vhdl # VHDL 2008 EXTRA_ARGS +=--std=08 # TOPLEVEL is the name of the toplevel module in your VHDL file TOPLEVEL = first VHDL_SOURCES += $(PWD)/../lab1/$(TOPLEVEL).vhd #VHDL_SOURCES += $(PWD)/../../hdl/*.vhdl SIM_ARGS +=--wave=$(TOPLEVEL).ghw # MODULE is the basename of the Python test file MODULE = tb_$(TOPLEVEL) # include cocotb's make rules to take care of the simulator setup include $(shell cocotb-config --makefiles)/Makefile.sim # removing generated binary of top entity and .o-file on make clean clean:: -@rm -f $(TOPLEVEL) -@rm -f e~$(TOPLEVEL).o
WSL
For å starte windows explorer under WSL (i katalogen du står i)
explorer.exe . # ikke glem punktumet