All pastes #280074 Raw Edit

Someone

public text v1 · immutable
·published 2006-12-15 16:54 UTC
rendered paste body

.PHONY: tags clean test

RTL_DIR := rtl/verilog
RTL_OW_DIR := rtl/verilog/1-wire
TB_DIR := bench/verilog

RTL_SOURCE := $(wildcard $(RTL_DIR)/*.v)

TB_SOURCE := $(wildcard $(TB_DIR)/*.v)


# tools used:
# iverilog - Icarus Verilog compiler
# vvp - Icarus Verilog vvp runtime engine

tags:
	ctags -w `find $(RTL_DIR) $(RTL_OW_DIR) $(TB_DIR) \
	\( -name .svn -prune \) -o \( -name '*.[v]' -print \)`

rtl: 	$(RTL_SOURCE)
	iverilog -I$(RTL_DIR) -y$(RTL_DIR) \
	$(RTL_DIR)/cpld_common.v \
	-o cpld.vvp
	touch rtl

tb:	$(RTL_SOURCE) $(TB_SOURCE)
	iverilog -I$(RTL_DIR) -y$(RTL_DIR) -y$(TB_DIR) \
	$(TB_DIR)/tst_bench_top.v \
	-o tb.vvp
	touch tb

tb_sim:	tb
	vvp tb.vvp	
	touch tb_sim

wave: 	tb_sim
	gtkwave sim.vcd traces.wav

clean:
	rm sim/rtl_sim/out/*.vvp