set bWdSet = ("8 16 24 32" "16 24 32" "24 32" "32")
foreach aWd ("8" "16" "24" "32")
  foreach bWd ($bWdSet[1])
    set outCnt = 1

    set elabopt = ("-novitalaccl -ntc_warn" "" "-neverwarn -notimingchecks -noipd -no_tchk_msg -no_tchk_xgen -no_vpd_msg -no_vpd_xgen")
    set simopt  = ("" "" "-neverwarn -nocifcheck")
    foreach vhdlopt ("-linedebug -nobuiltin" ""				\
		"-neverwarn -nopragmawarn -novitalcheck")
## -novitalaccl -ntc_warn -preserve	-> internal error!!!

      rm -r work
      mkdir work
      echo ncvhdl -nocopyright -v93 -nostdout -nolog $vhdlopt '<vhdFile>' \
						>> ncsim.${aWd}x${bWd}.time
      echo "------------------------------------------------"		\
						>> ncsim.${aWd}x${bWd}.time
      echo -n running ncvhdl
      foreach vhd  ("mulPkg.vhd" "mul8.vhd" "mul16.vhd" "mul24.vhd"	\
		"mul32.vhd" "mulTst.vhd")
	echo -n $vhd": "			>>ncsim.${aWd}x${bWd}.time
        (time ncvhdl -nocopyright -v93 -nostdout -nolog $vhdlopt $vhd)	\
						>>& ncsim.${aWd}x${bWd}.time 
      end

      echo ncelab -nocopyright -v93 -nostdout -nolog \\			\
						>> ncsim.${aWd}x${bWd}.time
      echo "      $elabopt[1] -generic 'aWdC=>$aWd'" \\			\
						>> ncsim.${aWd}x${bWd}.time
      echo "      -generic 'bWdC=>$bWd' mul${aWd}Cfg"			\
						>> ncsim.${aWd}x${bWd}.time
      echo "------------------------------------------------"		\
						>> ncsim.${aWd}x${bWd}.time
      echo -n " - ncelab ${aWd}x${bWd}"
      (time ncelab -nocopyright -v93 -nostdout -nolog $elabopt[1]	\
	-generic "aWdC=>$aWd" -generic "bWdC=>$bWd" mul${aWd}Cfg)	\
						>>& ncsim.${aWd}x${bWd}.time

      echo ncsim -nocopyright -batch -input ncsim.scr \\		\
						>> ncsim.${aWd}x${bWd}.time
      echo "     "-nostdout -nokey -logfile tmpout    \\		\
						>> ncsim.${aWd}x${bWd}.time
      echo "     "$simopt[1] mul${aWd}Cfg	>> ncsim.${aWd}x${bWd}.time
      echo "------------------------------------------------"		\
						>> ncsim.${aWd}x${bWd}.time
      echo -n " - ncsim"
      foreach run (1 2 3)
	echo -n " "$run
	(time ncsim -nocopyright -batch -input ncsim.scr -nostdout -nokey \
		-logfile tmpout $simopt[1] mul${aWd}Cfg)		\
						>>& ncsim.${aWd}x${bWd}.time
	mv tmpout tmpout.${aWd}x${bWd}.${outCnt}
	@ outCnt++
      end
      echo ""					>> ncsim.${aWd}x${bWd}.time
      echo ""
      shift elabopt
      shift simopt
    end
  end
  shift bWdSet
end
unset bWdSet
unset elabopt
unset simopt
unset outCnt
