| 
								
							 | 
							
								DESIGN_NAME := blink
							 | 
						
						
						
							| 
								
							 | 
							
								LIB_SRC     := ../../lib/components.vhd ../../lib/sim_components.vhd
							 | 
						
						
						
							| 
								
							 | 
							
								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}: ${LIB_SRC} ${RTL_SRC} ${SIM_SRC} | work
							 | 
						
						
						
							| 
								
							 | 
							
									@echo "Analyze gatemate library ..."
							 | 
						
						
						
							| 
								
							 | 
							
									ghdl -a --std=${VHD_STD} -fpsl --workdir=work --work=gatemate ${LIB_SRC}
							 | 
						
						
						
							| 
								
							 | 
							
									@echo "Analyze testbench & design ..."
							 | 
						
						
						
							| 
								
							 | 
							
									ghdl -a --std=${VHD_STD} -fpsl --workdir=work -Pwork ${RTL_SRC} ${SIM_SRC}
							 | 
						
						
						
							| 
								
							 | 
							
									@echo "Elaborate testbench & design ..."
							 | 
						
						
						
							| 
								
							 | 
							
									ghdl -e --std=${VHD_STD} -fpsl --workdir=work -Pwork $@
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								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 work/
							 |