43 lines
1.1 KiB
Makefile
43 lines
1.1 KiB
Makefile
# Makefile
|
|
# See https://docs.cocotb.org/en/stable/quickstart.html for more info
|
|
|
|
# defaults
|
|
SIM ?= icarus
|
|
TOPLEVEL_LANG ?= verilog
|
|
SRC_DIR = $(PWD)/../src
|
|
PROJECT_SOURCES = project.v
|
|
|
|
ifneq ($(GATES),yes)
|
|
|
|
# RTL simulation:
|
|
SIM_BUILD = sim_build/rtl
|
|
VERILOG_SOURCES += $(addprefix $(SRC_DIR)/,$(PROJECT_SOURCES))
|
|
COMPILE_ARGS += -I$(SRC_DIR)
|
|
|
|
else
|
|
|
|
# Gate level simulation:
|
|
SIM_BUILD = sim_build/gl
|
|
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)/gate_level_netlist.v
|
|
|
|
endif
|
|
|
|
# Include the testbench sources:
|
|
VERILOG_SOURCES += $(PWD)/tb.v
|
|
TOPLEVEL = tb
|
|
|
|
# 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
|