Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.naic.edu/~phil/hardware/pdev/fpga/gx/sp/dlpf/Makefile
Дата изменения: Thu Jun 26 04:27:55 2008
Дата индексирования: Sat Sep 6 19:57:14 2008
Кодировка:
#
# Jeff Mock
# 2030 Gough
# San Francisco, CA 94109
# jeff@mock.com
# (c) 2004
#

DLPF = ../../jfft/dlpf
SRC = ${DLPF}/src
include ${SRC}/Makefile.defs

N = ${PREFIX}

# DEBUG = 1

NARROW = 1.2
SAMPLES = 1000
OWIDTH = 12
WIDTH = 12
XWIDTH = 16
CWIDTH = 16
OVL = 8
DEC = 80
DECMAX = 1024
DECMAXL2 = 10 # log base 2 of DECMAX
IMP = virtex2

CNT=100
PER = 27
# PER = 128
# PER = 8
XLPF = gen/${PREFIX}.v

AMP = 0.99
MP = --mp=2 # Number of CPUs for sim

sim: ${N}.f ${TBV} ${SRCV} ${XLPF} sig1.mem sig2.mem coeff0
rm -rf wave.vcd
${CVER} -w -f ${N}.f

simx: ${N}.f ${TBV} ${SRCV} ${XLPF} sig1.mem sig2.mem coeff0
rm -rf wave.vcd
${CVER} -w -f ${N}.f +p2zero +p1step

sim1: ${N}.f ${TBV} ${SRCV} ${XLPF} sig1.mem sig2.mem coeff0
rm -rf wave.vcd
${CVER} -w -f ${N}.f +p2zero

sim2: ${N}.f ${TBV} ${SRCV} ${XLPF} sig1.mem sig2.mem coeff0
rm -rf wave.vcd
${CVER} -w -f ${N}.f +p1zero

plot0.png: ${N}.f ${TBV} ${SRCV} ${XLPF} coeff0
perl ${SRC}/doplot \
--width=${OWIDTH} \
--iwidth=${WIDTH} \
--samples=${SAMPLES} \
--dec=${DEC} \
--ovl=${OVL} \
--start=0.0 \
--stop=0.3 \
--amp=${AMP} \
--keep=100 \
--avg \
--cnt=${CNT} \
--fn=plot0.png \
--cmd=${N}.f \
--range=100 ${MP}

plots: hanning.png hamming.png rect.png tri.png

hanning.png:
${MAKE} clean
${MAKE} plot0.png WINDOW=hanning CNT=600
mv plot0.png hanning.png

hamming.png:
${MAKE} clean
${MAKE} plot0.png WINDOW=hamming CNT=600
mv plot0.png hamming.png

rect.png:
${MAKE} clean
${MAKE} plot0.png WINDOW=rect CNT=600
mv plot0.png rect.png

tri.png:
${MAKE} clean
${MAKE} plot0.png WINDOW=tri CNT=600
mv plot0.png tri.png

coeff0:
perl ${SRC}/mkdlpf_coeff \
--dec=${DEC} \
--width=${CWIDTH} \
--narrow=${NARROW} \
--start=-3 \
--stop=-4 \
--fwid=${OVL} \
--window=${WINDOW} \
--table=coeff0
perl ${SRC}/mkdlpf_coeff \
--dec=${DEC} \
--width=${CWIDTH} \
--narrow=${NARROW} \
--start=-2 \
--stop=-3 \
--fwid=${OVL} \
--window=${WINDOW} \
--table=coeff1
perl ${SRC}/mkdlpf_coeff \
--dec=${DEC} \
--width=${CWIDTH} \
--narrow=${NARROW} \
--start=-1 \
--stop=-3 \
--fwid=${OVL} \
--window=${WINDOW} \
--table=coeff2
perl ${SRC}/mkdlpf_coeff \
--dec=${DEC} \
--width=${CWIDTH} \
--narrow=${NARROW} \
--start=0 \
--stop=-1 \
--fwid=${OVL} \
--window=${WINDOW} \
--table=coeff3


DLPF_OPTS = --ro \
--vdec=${DECMAX} \
--width=${WIDTH} \
--owidth=${OWIDTH} \
--cwidth=${CWIDTH} \
--xwidth=${XWIDTH} \
--prefix=${PREFIX} \
--window=${WINDOW} \
--ovl=${OVL}

gen ${XLPF}: Makefile ${GENPROG}
-rm -rf gen
mkdir gen
perl ${SRC}/mkdlpf ${DLPF_OPTS} \
--imp=behave --odir=gen

rtl: Makefile ${GENPROG}
-rm -rf rtl
mkdir rtl
perl ${SRC}/mkdlpf ${DLPF_OPTS} \
--imp=${IMP} --odir=rtl

${N}.f: Makefile ${SRC}/Makefile.defs ${XLPF}
rm -rf ${N}.f
echo "+define+WIDTH=${WIDTH}" >> ${N}.f
echo "+define+OWIDTH=${OWIDTH}" >> ${N}.f
echo "+define+CWIDTH=${CWIDTH}" >> ${N}.f
echo "+define+XWIDTH=${XWIDTH}" >> ${N}.f
echo "+define+SAMPLES=${SAMPLES}" >> ${N}.f
echo "+define+LPFMODULE=${PREFIX}" >> ${N}.f
echo "+define+DEC=${DEC}" >> ${N}.f
echo "+define+DECMAX=${DECMAX}" >> ${N}.f
echo "+define+DECMAXL2=${DECMAXL2}" >> ${N}.f
echo "+define+OVL=${OVL}" >> ${N}.f
if [ -n "${DEBUG}" ] ; then \
echo "+define+DEBUG" >> ${N}.f ; \
fi
echo "+nointeractive" >> ${N}.f
echo "+notimingchecks" >> ${N}.f
echo "+licq_all+" >> ${N}.f
echo "+change_port_type" >> ${N}.f
echo "+libext+.v" >> ${N}.f
echo "-y ${XILINX}/verilog/src/unisims" >> ${N}.f
echo "-y ${XILINX}/verilog/src/simprims" >> ${N}.f
for i in ${TBV} ${SRCV} gen/*.v ; do \
echo "$$i" >> ${N}.f ; \
done

sig1.mem: Makefile ${SRC}/mksin
perl ${SRC}/mksin --phase=-90 --amp=${AMP} --period=${PER} \
--width=${WIDTH} --offset=0 --n=${DEC} \
--frames=${SAMPLES} > sig1.mem

sig2.mem: Makefile ${SRC}/mksin
perl ${SRC}/mksin --phase=90 --amp=${AMP} --period=${PER} \
--width=${WIDTH} --offset=0 --n=${DEC} \
--frames=${SAMPLES} > sig2.mem

clean:
rm -rf wave.vcd verilog.log ${N}.f lpf.out sig1.mem sig2.mem
rm -rf ${PREFIX}*.v gen rtl
rm -rf plot plot*.png coeff*