Makefile 3.72 KB
Newer Older
lwc-tester committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
.PHONY: clean

ICARUS_VERILOG_SIMULATOR=iverilog
ICARUS_VERILOG_VVP=vvp

VERILOG_SOURCE_FOLDER=../verilog_source

SUBTERRANEAN_ROUND_SOURCE=\
	$(VERILOG_SOURCE_FOLDER)/subterranean_round.v

TB_SUBTERRANEAN_ROUND_SOURCE=\
	$(SUBTERRANEAN_ROUND_SOURCE)\
	$(VERILOG_SOURCE_FOLDER)/tb_subterranean_round.v

SUBTERRANEAN_ROUND_WITH_COMMUNICATION_SOURCE=\
	$(SUBTERRANEAN_ROUND_SOURCE)\
	$(VERILOG_SOURCE_FOLDER)/subterranean_round_with_communication.v

TB_SUBTERRANEAN_ROUND_WITH_COMMUNICATION_SOURCE=\
	$(SUBTERRANEAN_ROUND_WITH_COMMUNICATION_SOURCE)\
	$(VERILOG_SOURCE_FOLDER)/tb_subterranean_round_with_communication.v

SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_SOURCE=\
	$(SUBTERRANEAN_ROUND_SOURCE)\
	$(VERILOG_SOURCE_FOLDER)/subterranean_simple_no_communication.v

TB_SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_HASH=\
	$(SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_SOURCE)\
	$(VERILOG_SOURCE_FOLDER)/tb_subterranean_simple_no_communication_hash.v

TB_SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_AEAD=\
	$(SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_SOURCE)\
	$(VERILOG_SOURCE_FOLDER)/tb_subterranean_simple_no_communication_aead.v

SUBTERRANEAN_SIMPLE_AXI4_LITE=\
	$(SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_SOURCE)\
	$(VERILOG_SOURCE_FOLDER)/subterranean_simple_axi4_lite.v

TB_SUBTERRANEAN_SIMPLE_AXI4_LITE_HASH=\
	$(SUBTERRANEAN_SIMPLE_AXI4_LITE)\
	$(VERILOG_SOURCE_FOLDER)/tb_subterranean_simple_axi4_lite_hash.v

TB_SUBTERRANEAN_SIMPLE_AXI4_LITE_AEAD=\
	$(SUBTERRANEAN_SIMPLE_AXI4_LITE)\
	$(VERILOG_SOURCE_FOLDER)/tb_subterranean_simple_axi4_lite_aead.v

tb_subterranean_round: $(TB_SUBTERRANEAN_ROUND_SOURCE)
	$(ICARUS_VERILOG_SIMULATOR) -s tb_subterranean_round -o tb_subterranean_round_design $(TB_SUBTERRANEAN_ROUND_SOURCE)
	$(ICARUS_VERILOG_VVP) tb_subterranean_round_design

tb_subterranean_round_with_communication: $(TB_SUBTERRANEAN_ROUND_WITH_COMMUNICATION_SOURCE)
	$(ICARUS_VERILOG_SIMULATOR) -s tb_subterranean_round_with_communication -o tb_subterranean_round_with_communication_design $(TB_SUBTERRANEAN_ROUND_WITH_COMMUNICATION_SOURCE)
	$(ICARUS_VERILOG_VVP) tb_subterranean_round_with_communication_design

tb_subterranean_simple_no_communication_hash: $(TB_SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_HASH)
	$(ICARUS_VERILOG_SIMULATOR) -s tb_subterranean_simple_no_communication_hash -o tb_subterranean_simple_no_communication_hash_design $(TB_SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_HASH)
	$(ICARUS_VERILOG_VVP) tb_subterranean_simple_no_communication_hash_design

tb_subterranean_simple_no_communication_aead: $(TB_SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_AEAD)
	$(ICARUS_VERILOG_SIMULATOR) -s tb_subterranean_simple_no_communication_aead -o tb_subterranean_simple_no_communication_aead_design $(TB_SUBTERRANEAN_SIMPLE_NO_COMMUNICATION_AEAD)
	$(ICARUS_VERILOG_VVP) tb_subterranean_simple_no_communication_aead_design

tb_subterranean_simple_axi4_lite_hash: $(TB_SUBTERRANEAN_SIMPLE_AXI4_LITE_HASH)
	$(ICARUS_VERILOG_SIMULATOR) -s tb_subterranean_simple_axi4_lite_hash -o tb_subterranean_simple_axi4_lite_hash_design $(TB_SUBTERRANEAN_SIMPLE_AXI4_LITE_HASH)
	$(ICARUS_VERILOG_VVP) tb_subterranean_simple_axi4_lite_hash_design

tb_subterranean_simple_axi4_lite_aead: $(TB_SUBTERRANEAN_SIMPLE_AXI4_LITE_AEAD)
	$(ICARUS_VERILOG_SIMULATOR) -s tb_subterranean_simple_axi4_lite_aead -o tb_subterranean_simple_axi4_lite_aead_design $(TB_SUBTERRANEAN_SIMPLE_AXI4_LITE_AEAD)
	$(ICARUS_VERILOG_VVP) tb_subterranean_simple_axi4_lite_aead_design


clean:
	@echo "Cleaning up..."
	rm -f "dump.vcd"
	rm -f "tb_subterranean_round_design"
	rm -f "tb_subterranean_round_with_communication_design"
	rm -f "tb_subterranean_simple_no_communication_hash_design"
	rm -f "tb_subterranean_simple_no_communication_aead_design"
	rm -f "tb_subterranean_simple_axi4_lite_hash_design"
	rm -f "tb_subterranean_simple_axi4_lite_aead_design"
	@echo "Cleaning done."