<commit_before>tests: reg_tb decoder_tb alu_tb
tests-list:
	@echo "tests:"
	@echo "	reg_tb"
	@echo "	decoder_tb"
	@echo " alu_tb"



reg_tb: register_unit.o register_unit_tb.o
	ghdl -e reg_tb
	./reg_tb --stop-time=500ns --vcd=dump.vcd
	gtkwave dump.vcd
decoder_tb: cpu_constants.o decoder.o decoder_tb.o 
	ghdl -e decoder_tb
	./decoder_tb --stop-time=200ns --vcd=dump.vcd
	gtkwave dump.vcd
alu_tb: cpu_constants.o alu.o alu_tb.o
	ghdl -e alu_tb
	./alu_tb --stop-time=200ns --vcd=dump.vcd
	gtkwave dump.vcd
control_tb: cpu_constants.o control.o control_tb.o
	ghdl -e control_tb
	./control_tb --stop-time=300ns --vcd=dump.vcd
	gtkwave dump.vcd	
pc_tb: cpu_constants.o pc_unit.o pc_tb.o
	ghdl -e pc_tb
	./pc_tb --stop-time=150ns --vcd=dump.vcd
	gtkwave dump.vcd
core_tb: cpu_constants.o core_tb.o pc_unit.o alu.o control.o decoder.o mem.o register_unit.o
	ghdl -e core_tb
	./core_tb --stop-time=500ns --vcd=dump.vcd
	gtkwave dump.vcd
%_tb: cpu_constants.o %.o %_tb.o
	ghdl -e $@
	./$@ --stop-time=150ns --vcd=dump.vcd
	gtkwave dump.vcd
alu_tb.o: ../tests/alu_tb.vhd ../src/alu.vhd
	ghdl -a $<
%.o: ../tests/%.vhd
	ghdl -a $< 
	
%.o: ../src/%.vhd
	ghdl -a $< 

clean:<commit_msg>Waveform viewer is only started if WAVE flag is present Add ability to keep waveform open between builds<commit_after>
tests: reg_tb decoder_tb alu_tb
tests-list:
	@echo "tests:"
	@echo "	reg_tb"
	@echo "	decoder_tb"
	@echo " alu_tb"



reg_tb: register_unit.o register_unit_tb.o
	ghdl -e reg_tb
	./reg_tb --stop-time=500ns --vcd=dump.vcd
ifdef WAVE
	gtkwave dump.vcd
endif
decoder_tb: cpu_constants.o decoder.o decoder_tb.o 
	ghdl -e decoder_tb
	./decoder_tb --stop-time=200ns --vcd=dump.vcd
ifdef WAVE
	gtkwave dump.vcd
endif
alu_tb: cpu_constants.o alu.o alu_tb.o
	ghdl -e alu_tb
	./alu_tb --stop-time=200ns --vcd=dump.vcd
	
ifdef WAVE
	gtkwave dump.vcd
endif
control_tb: cpu_constants.o control.o control_tb.o
	ghdl -e control_tb
	./control_tb --stop-time=300ns --vcd=dump.vcd
ifdef WAVE
	gtkwave dump.vcd
endif	
pc_tb: cpu_constants.o pc_unit.o pc_tb.o
	ghdl -e pc_tb
	./pc_tb --stop-time=150ns --vcd=dump.vcd
ifdef WAVE
	gtkwave dump.vcd
endif
core_tb: cpu_constants.o core_tb.o pc_unit.o alu.o control.o decoder.o mem.o register_unit.o mem.bin
	ghdl -e core_tb
	./core_tb --stop-time=500ns --vcd=dump.vcd
ifdef WAVE
	gtkwave dump.vcd
endif
%_tb: cpu_constants.o %.o %_tb.o
	ghdl -e $@
	./$@ --stop-time=150ns --vcd=dump.vcd
ifdef WAVE
	gtkwave dump.vcd
endif
alu_tb.o: ../tests/alu_tb.vhd ../src/alu.vhd
	ghdl -a $<
%.o: ../tests/%.vhd
	ghdl -a $< 
	
%.o: ../src/%.vhd
	ghdl -a $< 
mem.bin: test.s
	d16 test.s mem.bin

clean:
{'fraction_non_alphanumeric': 0.14192558496355964, 'fraction_numerical': 0.016877637130801686, 'mean_word_length': 3.247557003257329, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3995564', 'n_tokens_mistral': 1266, 'n_tokens_neox': 1197, 'n_words': 270}