# Makefile # See https://docs.cocotb.org/en/stable/quickstart.html for more info # defaults SIM ?= icarus TOPLEVEL_LANG ?= verilog SRC_DIR = $(PWD)/../src # normal simulation ifneq ($(GATES),yes) # this is the only part you should need to modify: VERILOG_SOURCES += $(SRC_DIR)/cells.v $(SRC_DIR)/tt_um_wokwi_WOKWI_ID.v $(PWD)/test_wokwi.v else # gate level simulation requires some extra setup, you shouldn't need to touch this COMPILE_ARGS += -DGL_TEST COMPILE_ARGS += -DFUNCTIONAL COMPILE_ARGS += -DUSE_POWER_PINS COMPILE_ARGS += -DSIM COMPILE_ARGS += -DUNIT_DELAY=#1 VERILOG_SOURCES += $(PDK_ROOT)/sky130A/libs.ref/sky130_fd_sc_hd/verilog/primitives.v VERILOG_SOURCES += $(PDK_ROOT)/sky130A/libs.ref/sky130_fd_sc_hd/verilog/sky130_fd_sc_hd.v # this gets copied in by the GDS action workflow VERILOG_SOURCES += $(PWD)/test_wokwi.v $(PWD)/gate_level_netlist.v endif # TOPLEVEL is the name of the toplevel module in your Verilog or VHDL file TOPLEVEL = test_wokwi # MODULE is the basename of the Python test file MODULE = test # include cocotb's make rules to take care of the simulator setup include $(shell cocotb-config --makefiles)/Makefile.sim