URL
https://opencores.org/ocsvn/dblclockfft/dblclockfft/trunk
Subversion Repositories dblclockfft
[/] [dblclockfft/] [trunk/] [bench/] [cpp/] [Makefile] - Rev 35
Go to most recent revision | Compare with Previous | Blame | View Log
################################################################################ Filename: Makefile#### Project: A Doubletime Pipelined FFT#### Purpose: This programs the build process for the test benches## associated with the double clocked FFT project. These## test benches are designed for the size and arguments of the## FFT as given by the Makefile in the trunk/sw directory,## although they shouldn't be too difficult to modify for## other FFT parameters.#### Please note that running these test benches requires access## to the *cmem_*.hex files found in trunk/sw/fft-core. I## usually soft link them into this directory, but such linking## is not currently part of this makefile or the build scripts.#### Creator: Dan Gisselquist, Ph.D.## Gisselquist Technology, LLC############################################################################/#### Copyright (C) 2015, Gisselquist Technology, LLC#### This program is free software (firmware): you can redistribute it and/or## modify it under the terms of the GNU General Public License as published## by the Free Software Foundation, either version 3 of the License, or (at## your option) any later version.#### This program is distributed in the hope that it will be useful, but WITHOUT## ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License## for more details.#### You should have received a copy of the GNU General Public License along## with this program. (It's in the $(ROOT)/doc directory, run make with no## target there if the PDF file isn't present.) If not, see## <http:##www.gnu.org/licenses/> for a copy.#### License: GPL, v3, as defined and found on www.gnu.org,## http:##www.gnu.org/licenses/gpl.html##############################################################################/all: mpy_tb dblrev_tb dblstage_tb qtrstage_tb fft_tb testOBJDR:= ../../sw/fft-core/obj_dirVSRCD = ../../sw/fft-coreTBODR:= ../rtl/obj_dirifneq ($(VERILATOR_ROOT),)VERILATOR:=$(VERILATOR_ROOT)/bin/verilatorelseVERILATOR:=verilatorVERILATOR_ROOT ?= $(shell bash -c 'verilator -V|grep VERILATOR_ROOT | head -1 | sed -e " s/^.*=\s*//"')endifexport $(VERILATOR)VROOT := $(VERILATOR_ROOT)VDEFS:= $(shell ./vversion.sh)VINC := -I$(VROOT)/include -I$(OBJDR)/ -I$(TBODR)/# MPYLB:= $(OBJDR)/Vshiftaddmpy__ALL.aMPYLB:= $(OBJDR)/Vlongbimpy__ALL.aDBLRV:= $(OBJDR)/Vdblreverse__ALL.aDBLSG:= $(OBJDR)/Vdblstage__ALL.aQTRSG:= $(OBJDR)/Vqtrstage__ALL.aBFLYL:= $(OBJDR)/Vbutterfly__ALL.aHWBFY:= $(OBJDR)/Vhwbfly__ALL.aFFTLB:= $(OBJDR)/Vfftmain__ALL.aIFTLB:= $(TBODR)/Vifft_tb__ALL.aSTGLB:= $(OBJDR)/Vfftstage_o2048__ALL.aVSRCS:= $(VROOT)/include/verilated.cpp $(VROOT)/include/verilated_vcd_c.cppmpy_tb: mpy_tb.cpp fftsize.h twoc.h $(MPYLB)g++ -g $(VINC) $(VDEFS) $< twoc.cpp $(MPYLB) $(VSRCS) -o $@dblrev_tb: dblrev_tb.cpp twoc.cpp twoc.h fftsize.h $(DBLRV)g++ -g $(VINC) $(VDEFS) $< twoc.cpp $(DBLRV) $(VSRCS) -o $@dblstage_tb: dblstage_tb.cpp twoc.cpp twoc.h $(DBLSG)g++ -g $(VINC) $(VDEFS) $< twoc.cpp $(DBLSG) $(VSRCS) -o $@qtrstage_tb: qtrstage_tb.cpp twoc.cpp twoc.h $(QTRSG)g++ -g $(VINC) $(VDEFS) $< twoc.cpp $(QTRSG) $(VSRCS) -o $@butterfly_tb: butterfly_tb.cpp twoc.cpp twoc.h fftsize.h $(BFLYL)g++ -g $(VINC) $(VDEFS) $< twoc.cpp $(BFLYL) $(VSRCS) -o $@hwbfly_tb: hwbfly_tb.cpp twoc.cpp twoc.h $(HWBFY)g++ -g $(VINC) $(VDEFS) $< twoc.cpp $(HWBFY) $(VSRCS) -o $@fftstage_o2048_tb: fftstage_o2048_tb.cpp twoc.cpp twoc.h $(STGLB)g++ -g $(VINC) $(VDEFS) $< twoc.cpp $(STGLB) $(VSRCS) -o $@fft_tb: fft_tb.cpp twoc.cpp twoc.h fftsize.h $(FFTLB)g++ -g $(VINC) $(VDEFS) $< twoc.cpp $(FFTLB) $(VSRCS) -lfftw3 -o $@ifft_tb: ifft_tb.cpp twoc.cpp twoc.h fftsize.h $(IFTLB)g++ -g $(VINC) $(VDEFS) $< twoc.cpp $(IFTLB) $(VSRCS) -lfftw3 -o $@.PHONY: HEX# HEX: cmem_e2048.hex cmem_e1024.hex cmem_e512.hex cmem_e256.hex# HEX: cmem_o2048.hex cmem_o1024.hex cmem_o512.hex cmem_o256.hex# HEX: icmem_e2048.hex icmem_e1024.hex icmem_e512.hex icmem_e256.hex# HEX: icmem_o2048.hex icmem_o1024.hex icmem_o512.hex icmem_o256.hex# HEX: cmem_e128.hex cmem_e64.hex cmem_e32.hex cmem_e16.hex cmem_e8.hex# HEX: cmem_o128.hex cmem_o64.hex cmem_o32.hex cmem_o16.hex cmem_o8.hex# HEX: icmem_e128.hex icmem_e64.hex icmem_e32.hex icmem_e16.hex icmem_e8.hex# HEX: icmem_o128.hex icmem_o64.hex icmem_o32.hex icmem_o16.hex icmem_o8.hex# cmem_%.hex: $(VSRCD)/cmem_%.hex# echo ln -s $* $<HEX:ln -s $(VSRCD)/*.hex ..PHONY: testtest: mpy_tb dblrev_tb dblstage_tb qtrstage_tb butterfly_tb fftstage_o2048_tbtest: fft_tb ifft_tb hwbfly_tb./mpy_tb./dblrev_tb./dblstage_tb./qtrstage_tb./butterfly_tb./hwbfly_tb./fftstage_o2048_tb./fft_tb./ifft_tb.PHONY: cleanclean:rm -f mpy_tb dblrev_tb dblstage_tb qtrstage_tb butterfly_tbrm -f fftstage_o2048_tb fft_tb ifft_tb hwbfly_tbrm -rf fft_tb.dbl ifft_tb.dblrm -rf *cmem_*.hexinclude $(VERILATOR_ROOT)/include/verilated.mk
Go to most recent revision | Compare with Previous | Blame | View Log
