diff --git a/tools/quartus/quartus_resources.sh b/tools/quartus/quartus_resources.sh
new file mode 100755
index 0000000000000000000000000000000000000000..bec9a343bdc430493f24aa2c5f1bd8acf9c343c1
--- /dev/null
+++ b/tools/quartus/quartus_resources.sh
@@ -0,0 +1,98 @@
+#!/bin/bash
+###############################################################################
+#
+# Copyright (C) 2014
+# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+#
+# This program is free software: 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
+# MERCHANTABILITY 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.  If not, see <http://www.gnu.org/licenses/>.
+#
+###############################################################################
+
+# Purpose:
+# . Extract columns of interest from Quartus fitter report file
+# Description:
+# . Awk extracts the lines of interest: the resource utilization block
+# . Cut is used to select the right columns (fields -f)
+#   . columns are delimited by ';'
+# . Grep is used to extract hierarchical levels up to a certain depth:
+#   . Top level  line starts with ' |'
+#   . One level  down starts with '    |'
+#   . Two levels down starts with '       |'
+#   . The grep argument used to remove lines (e.g. '   |' is stored
+#     in REMOVE_LINES.
+
+if [ ! -z $1 ] 
+then 
+    # $1 was given
+    DEPTH=$1
+else
+    : # $1 was not given
+    echo 'Execute this in the path of a .fit.rpt file.'
+    echo 'Usage: ./resources.sh depth columns'
+    echo '. Example: ./resources.sh 2 9,10,11,12'
+    echo '. depth = n (n=1..max depth): required'
+    echo '. columns = 2,3,4,..: optional'
+    echo '  . Columns:'
+#    echo '    .  2 - Compilation Hierarchy Node' # always selected
+    echo '    .  3 - Combinational ALUTs'
+    echo '    .  4 - Memory ALUTs'
+    echo '    .  5 - LUT_REGs'
+    echo '    .  6 - ALMs'
+    echo '    .  7 - Dedicated Logic Registers'
+    echo '    .  8 - I/O Registers'
+    echo '    .  9 - Block Memory Bits'
+    echo '    . 10 - M9Ks'
+    echo '    . 11 - M144Ks'
+    echo '    . 12 - DSP 18-bit Elements'
+    echo '    . 13 - DSP 9x9'
+    echo '    . 14 - DSP 12x12'
+    echo '    . 15 - DSP 18x18'
+    echo '    . 16 - DSP 36x36'
+    echo '    . 17 - Pins'
+    echo '    . 18 - Virtual Pins'
+    echo '    . 19 - Combinational with no register ALUT/register pair'
+    echo '    . 20 - Register-Only ALUT/register pair'
+    echo '    . 21 - Combinational with a register ALUT/register pair'
+    echo '    . 22 - Full Hierarchy Name'
+    echo '    . 23 - Library Name '
+    echo
+    echo 'Use grep to get only the info you want.'
+    exit 1
+fi
+
+if [ ! -z $2 ] 
+then 
+    : # $2 was given
+    COLUMNS=$2
+else
+    : # $2 was not given
+    COLUMNS=3,4,5,6,78,9,10,11,12,13,14,15,16
+fi
+
+RPT_FILE_COUNT=`ls -1 *.fit.rpt 2>/dev/null | wc -l`
+if [ $RPT_FILE_COUNT = 0 ] 
+then
+    echo 'No .fit.rpt file found!'
+    exit 1
+fi
+
+RPT_FILE=*.fit.rpt
+NOF_SPACES=$(expr 3 \* $DEPTH - 2) # nof_spaces = 3*DEPTH-2
+REMOVE_LINES=`for i in $(eval echo {0..$NOF_SPACES}); do echo -n ' '; done`'|'
+
+# print the rouseource utilization block only                     | only columns of interest | no long rows of dashes | X levels deep           | remove the first long line
+awk '/; Fitter Resource Utilization by Entity/,/Note:/' $RPT_FILE | cut -d';' -f2,$COLUMNS   | grep ';'               | grep -v "$REMOVE_LINES" | grep -v 'Resource Utilization'
+
+exit 0