# Default test DUT ?= uarttx # Test related variables ifeq (${DUT}, uarttx) MODULE := tb_uart TOPLEVEL := ${DUT} else ifeq (${DUT}, uartrx) MODULE := tb_uart TOPLEVEL := ${DUT} else ifeq (${DUT}, wishbone) MODULE := tb_wishbone TOPLEVEL := wishboneslavee SIM_ARGS := -gSimulation=true else $(error ${DUT} not available) endif # Simulator (GHDL) & RTL related SIM := ghdl TOPLEVEL_LANG := vhdl VHDL_SOURCES_libvhdl := ../libvhdl/common/UtilsP.vhd VHDL_SOURCES := ../libvhdl/syn/*.vhd SIM_BUILD := work COMPILE_ARGS := --std=08 SIM_ARGS += \ --wave=results/${TOPLEVEL}.ghw \ --psl-report=results/${TOPLEVEL}_psl.json \ --vpi-trace=results/${TOPLEVEL}_vpi.log # Cocotb related TESTCASE := test_${DUT} COCOTB_LOG_LEVEL := DEBUG CUSTOM_COMPILE_DEPS := results COCOTB_RESULTS_FILE := results/${TOPLEVEL}.xml include $(shell cocotb-config --makefiles)/Makefile.sim results: mkdir -p results .PHONY: clean clean:: rm -rf *.o __pycache__ uarttx uartrx results