DESIGN_NAME := blink
							 | 
						|
								RTL_SRC     := ../rtl/${DESIGN_NAME}.vhd
							 | 
						|
								SIM_SRC     := tb_${DESIGN_NAME}.vhd
							 | 
						|
								VHD_STD     := 08
							 | 
						|
								
							 | 
						|
								.PHONY: all compile sim clean
							 | 
						|
								
							 | 
						|
								all: sim
							 | 
						|
								compile: tb_${DESIGN_NAME}
							 | 
						|
								
							 | 
						|
								tb_${DESIGN_NAME}: ${RTL_SRC} ${SIM_SRC} | work
							 | 
						|
									@echo "Analyze testbench & design ..."
							 | 
						|
									ghdl -a --std=${VHD_STD} -fpsl --workdir=work ${RTL_SRC} ${SIM_SRC}
							 | 
						|
									@echo "Elaborate testbench & design ..."
							 | 
						|
									ghdl -e --std=${VHD_STD} -fpsl --workdir=work $@
							 | 
						|
								
							 | 
						|
								sim: tb_${DESIGN_NAME}
							 | 
						|
									@echo "Run testbench ..."
							 | 
						|
									ghdl -r tb_${DESIGN_NAME} --assert-level=error
							 | 
						|
								
							 | 
						|
								work:
							 | 
						|
									mkdir $@
							 | 
						|
								
							 | 
						|
								clean:
							 | 
						|
									@echo "Cleaning simulation files ..."
							 | 
						|
									rm -rf tb_${DESIGN_NAME} *.o *.json work/
							 |