#!/bin/bash
# ------------------------------------------------------------------------------
#  Copyright (C) BAY9, 2015
# ------------------------------------------------------------------------------
#
# Compile script for Quartus 15
#

# Clean / goto output dir
rm -r out 2>/dev/null
mkdir out
cd out

# Copy Altera QSF file...
cp ../cfg/vrfX.qsf .

# Set paths
vrfPath='../../..'
wlanPath='../../wlan'

# Run Quartus, filter useless warnings
echo;
echo "Starting Quartus MAP"
quartus_map vrfX                          \
  --read_settings_files=on                \
  --write_settings_files=off              \
  --optimize=speed                        \
  -l $vrfPath/src/common                  \
  -l $vrfPath/src/common/includes         \
  -l $vrfPath/src/modules                 \
  -l $vrfPath/src/modules/instances       \
  -l $vrfPath/src/top                     \
  -l $vrfPath/tst/altera/src              \
  -l $wlanPath/src                        \
  2>&1                                    \
  | grep -v "Info"                        \
  | grep -v "size 32 to match"            \
  | grep -v "size 31 to match"            \
  | grep -v "but never read"              \
  | grep -v "using a default initial"     \
  | grep -v "has no driver"               \
  | grep -v "Using design file"           \
  | grep -v "mulSi"                       \
  > quartus_map.log

echo "Starting Quartus FIT"
quartus_fit vrfX                          \
  --read_settings_files=on                \
  --write_settings_files=off              \
  2>&1 | grep -v Info                     \
  > quartus_fit.log

echo "Starting Quartus ASM"
quartus_asm vrfX                          \
  --read_settings_files=on                \
  --write_settings_files=off              \
  2>&1 | grep -v Info                     \
  > quartus_asm.log

echo "Starting Quartus TAN"
quartus_sta vrfX                          \
  2>&1 | grep -v Info                     \
  > quartus_sta.log

echo;

# Make MD5 sum and check in
# Use hexdump first and delete some lines that always differs (as of Quartus 13.0)
cd ..
cat out/vrfX.sof                  | \
grep -a -A 100000 vrfX.sld        | \
grep -v -a vrfX.sld               | \
hexdump -Cv                       | \
head -n -3                        | \
md5sum > altera.sof.md5
cvs commit -m 'autogenerated' altera.sof.md5 2>/dev/null
