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 evopt = ("-performance"					\
	"-performance -noipd -notcheck -vitalmsgoff -vitalxoff")
    set xlopt = ("-a" "-a +notimingchecks +turbo+3 +twin_turbo")
    foreach cvopt ("-avopt -performance"				\
  "-avopt -performance -bounds -underover -notcheck -vitalmsgoff -vitalxoff")
      rm -f hdl.var
      echo "DEFINE CDS_TEXT_EDITOR /usr/ucb/vi"		>  hdl.var
      echo "DEFINE WORK work"				>> hdl.var
      echo "DEFINE VXLOPTS timescale.v -v /local/tech1.1/ams/v3.30/artist/HK_0.35/veritools/HRDLIB.v -v /local/tech1.1/ams/v3.30/artist/HK_0.35/veritools/udp.v -q " $xlopt[1]	>> hdl.var

      echo cv -nocopyright -v93 $cvopt '<vhdFile>'			\
						>> sv.${aWd}x${bWd}.time
      echo "------------------------------------------------"		\
						>> sv.${aWd}x${bWd}.time
      echo -n running cv
      foreach vhd  ("mul${aWd}x${bWd}V.vhd" "mulTstV.vhd" "mul${aWd}Cfg.vhd")
	echo -n $vhd": "			>> sv.${aWd}x${bWd}.time
	(time cv -nocopyright -v93 $cvopt $vhd)	>>&sv.${aWd}x${bWd}.time
      end

      echo ev -nocopyright -v93 $evopt[1] \\	>> sv.${aWd}x${bWd}.time
      echo "   -generic 'aWdC=>$aWd' -generic 'bWdC=>$bWd'" \\	\
						>> sv.${aWd}x${bWd}.time
      echo "   -generic 'cyclesC=>50000' mul${aWd}Cfg" \
						>> sv.${aWd}x${bWd}.time
      echo "------------------------------------------------"		\
						>> sv.${aWd}x${bWd}.time
      echo -n " - ev ${aWd}x${bWd}"
      (time ev -nocopyright -v93 $evopt[1] -generic "aWdC=>$aWd"	\
	  -generic "bWdC=>$bWd" -generic "cyclesC=>50000" mul${aWd}Cfg)\
						>>&sv.${aWd}x${bWd}.time

      echo sv -nocopyright -batch -input sv.scr -output tmpout mul${aWd}Cfg \
						>> sv.${aWd}x${bWd}.time
      echo "------------------------------------------------"		\
						>> sv.${aWd}x${bWd}.time
      echo -n " - sv"
      foreach run (1 2)
	echo -n " "$run
	(time sv -nocopyright -batch -input sv.scr -output tmpout	\
		mul${aWd}Cfg)			>>& sv.${aWd}x${bWd}.time
	mv tmpout tmpout.${aWd}x${bWd}.${outCnt}
	@ outCnt++
      end
      echo ""					>> sv.${aWd}x${bWd}.time
      echo ""
      shift xlopt
      shift evopt
      rm -rf work/* vlog.shm verilog.log
    end
  end
  shift bWdSet
end
unset xlopt
unset evopt
unset bWdSet
unset outCnt
