diff --git a/tools/quartus/run_qcomp b/tools/quartus/run_qcomp
index 087a0d3fb9db08c1f0239b1bbb0349b8d33a5b47..b706f09f45d5070b8de727238942276720aa4739 100755
--- a/tools/quartus/run_qcomp
+++ b/tools/quartus/run_qcomp
@@ -54,6 +54,7 @@ shift # shift left commandline args: $2 becomes $1 ... ($0 is untouched)
 
 project=
 rev=
+SEED=1
 os=
 # parse cmdline
 for arg ; do
@@ -67,6 +68,12 @@ for arg ; do
         rev=*)           
            rev=`echo ${arg} | sed 's/^rev=//'`
             ;;
+        --seed=*)           
+           SEED=`echo ${arg} | sed 's/^--seed=//'`
+            ;;
+        seed=*)           
+           SEED=`echo ${arg} | sed 's/^seed=//'`
+            ;;
         *=* )
             # it was an option. skip it - if we wanted to,
             # we could process them over here
@@ -120,5 +127,9 @@ else
   mem_width=
 fi
 
+# Add the seed value to the QSF. We can simply append it because Quartus removes previous (duplicate) assignments.
+unb_info $0 "Adding fitter seed value of ${SEED} to ${project_rev}.qsf"
+echo -e "set_global_assignment -name SEED ${SEED}\n" >> ${quartusdir}/${project_rev}.qsf
+
 unb_info $0 "Performing full compile of project ${project_rev}"
-quartus_sh $mem_width --flow compile ${project_rev} 
+quartus_sh $mem_width --flow compile ${project_rev}