diff --git a/evgMrmApp/Db/Makefile b/evgMrmApp/Db/Makefile index d4fef0685..87c62ef11 100644 --- a/evgMrmApp/Db/Makefile +++ b/evgMrmApp/Db/Makefile @@ -34,6 +34,8 @@ DB += mtca-evm-300.db ifdef BASE_3_15 DB += evm-mtca-300.uv.db DB += evm-mtca-300-evr.uv.db +DB += evm-vme-300.db +DB += evm-vme-300-evr.db endif ifneq ($(DEVIOCSTATS),) diff --git a/evgMrmApp/Db/evm-vme-300-evr.substitutions b/evgMrmApp/Db/evm-vme-300-evr.substitutions new file mode 100644 index 000000000..cb75f39bc --- /dev/null +++ b/evgMrmApp/Db/evm-vme-300-evr.substitutions @@ -0,0 +1,309 @@ +# Naming-agnostic +# =============== +## s unused separator, backward compatibility purposes +global {s=""} + +# P - Prefix +# T - Embedded EVR type: e.g. {U,D} ~ {upstream,downstream}, assumptions !U=D !D=U +# The rest follows the standard EVR + +### Embedded EVR Core within EVM ### + +file "evrbase.db" +{ +{P="\$(P)", OBJ="$(EVG):EVR$(T)", EVNT1HZ="125", FEVT="\$(FEVT=124.916)"} +} + +file "mrmevrdc.template" +{ +{P="\$(P)DC", OBJ="$(EVG):EVR$(T)"} +} + +file "evrevent.db" +{pattern +{EN, OBJ, CODE, EVNT} +{"\$(P)Pps", "$(EVG):EVR$(T)", 0x7d, 125} +{"\$(P)EvtA", "$(EVG):EVR$(T)", 255, 255} +{"\$(P)EvtB", "$(EVG):EVR$(T)", 255, 255} +{"\$(P)EvtC", "$(EVG):EVR$(T)", 255, 255} +{"\$(P)EvtD", "$(EVG):EVR$(T)", 255, 255} +{"\$(P)EvtE", "$(EVG):EVR$(T)", 255, 255} +{"\$(P)EvtF", "$(EVG):EVR$(T)", 255, 255} +{"\$(P)EvtG", "$(EVG):EVR$(T)", 255, 255} +{"\$(P)EvtH", "$(EVG):EVR$(T)", 255, 255} +} + +file "evrscale.db" +{pattern +{IDX, P, SN, OBJ, EVR, MAX} +{0, "\$(P)", "\$(P)PS$(IDX)", "$(EVG):EVR$(T):PS$(IDX)", "$(EVG):EVR$(T)", "0xffffffff"} +{1, "\$(P)", "\$(P)PS$(IDX)", "$(EVG):EVR$(T):PS$(IDX)", "$(EVG):EVR$(T)", "0xffffffff"} +{2, "\$(P)", "\$(P)PS$(IDX)", "$(EVG):EVR$(T):PS$(IDX)", "$(EVG):EVR$(T)", "0xffffffff"} +} + +file "evrin.db" +{pattern +{IN, OBJ, DESC} +{"\$(P)InFP0", "$(EVG):EVR$(T):FPIn0", "$(T)FPIN0 <- !$(T)FP0"} +{"\$(P)InFP1", "$(EVG):EVR$(T):FPIn1", "$(T)FPIN1 <- !$(T)FP1"} +{"\$(P)InFP2", "$(EVG):EVR$(T):FPIn2", "$(T)FPIN2 <- !$(T)FP2"} +{"\$(P)InFP3", "$(EVG):EVR$(T):FPIn3", "$(T)FPIN3 <- !$(T)FP3"} +{"\$(P)InFP4", "$(EVG):EVR$(T):FPIn4", "$(T)FPIN4 <- !$(T)FP4"} +{"\$(P)InFP5", "$(EVG):EVR$(T):FPIn5", "$(T)FPIN5 <- !$(T)FP5"} +{"\$(P)InFP6", "$(EVG):EVR$(T):FPIn6", "$(T)FPIN6 <- !$(T)FP6"} +{"\$(P)InFP7", "$(EVG):EVR$(T):FPIn7", "$(T)FPIN7 <- !$(T)FP7"} +} + +file "mrmevrout.db" +{pattern +{ON, OBJ, DESC} +{"\$(P)OutFP0", "$(EVG):EVR$(T):FrontOut0", "InEVG[$(T)==D?0:8]&!$(T)InFP0"} +{"\$(P)OutFP1", "$(EVG):EVR$(T):FrontOut1", "InEVG[$(T)==D?1:9]&!$(T)InFP0"} +{"\$(P)OutFP2", "$(EVG):EVR$(T):FrontOut2", "InEVG[$(T)==D?2:10]&!$(T)InFP0"} +{"\$(P)OutFP3", "$(EVG):EVR$(T):FrontOut3", "InEVG[$(T)==D?3:11]&!$(T)InFP0"} +{"\$(P)OutFP4", "$(EVG):EVR$(T):FrontOut4", "InEVG[$(T)==D?4:12]&!$(T)InFP0"} +{"\$(P)OutFP5", "$(EVG):EVR$(T):FrontOut5", "InEVG[$(T)==D?5:13]&!$(T)InFP0"} +{"\$(P)OutFP6", "$(EVG):EVR$(T):FrontOut6", "InEVG[$(T)==D?6:14]&!$(T)InFP0"} +{"\$(P)OutFP7", "$(EVG):EVR$(T):FrontOut7", "InEVG[$(T)==D?7:15]&!$(T)InFP0"} +} + +# Pulse generators w/o a prescaler set NOPS=1 +file "evrpulser.db" +{pattern +{PID, P, PN, OBJ, DMAX, WMAX, PMAX, NOPS} +{0, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffffffff", "0xffff", 0} +{1, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffffffff", "0xffff", 0} +{2, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffffffff", "0xffff", 0} +{3, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffffffff", "0xffff", 0} +{4, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{5, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{6, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{7, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{8, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{9, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{10,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{11,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{12,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{13,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{14,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{15,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +# gate generators +{28,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{29,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{30,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +{31,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)", "0xffffffff", "0xffff", "1", 1} +} + +# Default to 3 possible trigger mappings per pulser +file "evrpulsermap.db" +{pattern +{PID, NAME, OBJ, F, EVT} +{0, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{0, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{0, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{1, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{1, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{1, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{2, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{2, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{2, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{3, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{3, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{3, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{4, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{4, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{4, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{5, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{5, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{5, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{6, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{6, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{6, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{7, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{7, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{7, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{8, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{8, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{8, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{9, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{9, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{9, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{10,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{10,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{10,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{11,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{11,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{11,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{12,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{12,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{12,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{13,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{13,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{13,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{14,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{14,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{14,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{15,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{15,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{15,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +# gate generators mappings +{28,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{28,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{28,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{29,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{29,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{29,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{30,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{30,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{30,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{31,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{31,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} +{31,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVG):EVR$(T):Pul$(PID)", Trig, 0} + +{0, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{0, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{0, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{1, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{1, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{1, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{2, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{2, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{2, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{3, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{3, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{3, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{4, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{4, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{4, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{5, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{5, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{5, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{6, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{6, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{6, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{7, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{7, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{7, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{8, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{8, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{8, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{9, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{9, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{9, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{10,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{10,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{10,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{11,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{11,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{11,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{12,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{12,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{12,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{13,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{13,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{13,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{14,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{14,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{14,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{15,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{15,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{15,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +# gate generators mappings +{28,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{28,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{28,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{29,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{29,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{29,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{30,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{30,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{30,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{31,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{31,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} +{31,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVG):EVR$(T):Pul$(PID)", Set, 0} + +{0, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{0, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{0, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{1, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{1, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{1, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{2, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{2, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{2, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{3, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{3, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{3, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{4, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{4, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{4, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{5, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{5, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{5, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{6, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{6, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{6, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{7, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{7, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{7, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{8, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{8, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{8, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{9, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{9, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{9, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{10,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{10,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{10,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{11,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{11,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{11,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{12,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{12,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{12,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{13,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{13,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{13,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{14,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{14,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{14,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{15,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{15,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{15,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +# gate generators mappings +{28,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{28,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{28,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{29,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{29,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{29,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{30,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{30,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{30,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{31,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{31,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +{31,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVG):EVR$(T):Pul$(PID)", Reset, 0} +} + +# pulser masking controls +file "evrdcpulser.template" +{pattern +{PID, P, PN, OBJ} +{0, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{1, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{2, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{3, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{4, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{5, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{6, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{7, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{8, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{9, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{10, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{11, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{12, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{13, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{14, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +{15, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVG):EVR$(T):Pul$(PID)"} +} + diff --git a/evgMrmApp/Db/evm-vme-300.substitutions b/evgMrmApp/Db/evm-vme-300.substitutions new file mode 100644 index 000000000..22724f9df --- /dev/null +++ b/evgMrmApp/Db/evm-vme-300.substitutions @@ -0,0 +1,144 @@ +# Naming-agnostic +# =============== +## s unused separator, backward compatibility purposes +## PP is required for: evgInput.db, evgMxc.db, evgSoftSeq.template +global {s="", PP="\$(P)"} + +### EVG Core ### + +file "evgAcTrig.db" +{pattern +{P, OBJ} +{"\$(P)AcTrig", "$(EVG):AcTrig"} +} + +file "evgDbus-vme300.db" +{ +pattern +{P, OBJ, EVG, dbusBit} +{"\$(P)Dbus0", "$(EVG):Dbus0", $(EVG), 0} +{"\$(P)Dbus1", "$(EVG):Dbus1", $(EVG), 1} +{"\$(P)Dbus2", "$(EVG):Dbus2", $(EVG), 2} +{"\$(P)Dbus3", "$(EVG):Dbus3", $(EVG), 3} +{"\$(P)Dbus4", "$(EVG):Dbus4", $(EVG), 4} +{"\$(P)Dbus5", "$(EVG):Dbus5", $(EVG), 5} +{"\$(P)Dbus6", "$(EVG):Dbus6", $(EVG), 6} +{"\$(P)Dbus7", "$(EVG):Dbus7", $(EVG), 7} +} + +file "evgEvtClk.db" +{ +{P="\$(P)EvtClk", OBJ="$(EVG)", FRF="\$(FRF=499.68)", FDIV="\$(FDIV=4)", FEVT="\$(FEVT=124.916)"} +} + +file "evgInput.db" +{pattern +{P, OBJ, Num} +# The $(Num) are not sequential to avoid breaking historical autosave files +{"\$(P)InpFront0", "$(EVG):FrontInp0", 0} +{"\$(P)InpFront1", "$(EVG):FrontInp1", 1} +{"\$(P)InpFront2", "$(EVG):FrontInp2", 2} +{"\$(P)InpRear10", "$(EVG):RearInp10", 3} +{"\$(P)InpRear11", "$(EVG):RearInp11", 4} +{"\$(P)InpRear12", "$(EVG):RearInp12", 5} +{"\$(P)InpRear13", "$(EVG):RearInp13", 6} +{"\$(P)InpRear14", "$(EVG):RearInp14", 7} +{"\$(P)InpRear15", "$(EVG):RearInp15", 8} +pattern +{P, OBJ, Num, CONT} +{"\$(P)InpRear0", "$(EVG):RearInp0", 0, "1"} +{"\$(P)InpRear1", "$(EVG):RearInp1", 1, "1"} +{"\$(P)InpRear2", "$(EVG):RearInp2", 2, "1"} +{"\$(P)InpRear3", "$(EVG):RearInp3", 3, "1"} +{"\$(P)InpRear4", "$(EVG):RearInp4", 4, "1"} +{"\$(P)InpRear5", "$(EVG):RearInp5", 5, "1"} +{"\$(P)InpRear6", "$(EVG):RearInp6", 6, "1"} +{"\$(P)InpRear7", "$(EVG):RearInp7", 7, "1"} +{"\$(P)InpRear8", "$(EVG):RearInp8", 8, "1"} +{"\$(P)InpRear9", "$(EVG):RearInp9", 9, "1"} +} + +file "evgMrm-vme300.db" +{ +{P="\$(P)", SOFTEVT="\$(P)SoftEvt", OBJ="$(EVG)", EVG="$(EVG)"} +} + +file "evgMxc.db" +{pattern +{P, OBJ} +{"\$(P)Mxc0", "$(EVG):Mxc0"} +{"\$(P)Mxc1", "$(EVG):Mxc1"} +{"\$(P)Mxc2", "$(EVG):Mxc2"} +{"\$(P)Mxc3", "$(EVG):Mxc3"} +{"\$(P)Mxc4", "$(EVG):Mxc4"} +{"\$(P)Mxc5", "$(EVG):Mxc5"} +{"\$(P)Mxc6", "$(EVG):Mxc6"} +{"\$(P)Mxc7", "$(EVG):Mxc7"} +} + +file "evgOutput.db" +{pattern +{P, OBJ} +{"\$(P)OutFront0", "$(EVG):FrontOut0"} +{"\$(P)OutFront1", "$(EVG):FrontOut1"} +{"\$(P)OutFront2", "$(EVG):FrontOut2"} +{"\$(P)OutFront3", "$(EVG):FrontOut3"} +} + +file "mrmSoftSeq.template" +{pattern +{P, EVG, seqNum, NELM} +{"\$(P)SoftSeq0", $(EVG), 0, 2047} +{"\$(P)SoftSeq1", $(EVG), 1, 2047} +} + +file "evgSoftSeq.template" +{pattern +{P, EVG, seqNum, NELM} +{"\$(P)SoftSeq0", $(EVG), 0, 2047} +{"\$(P)SoftSeq1", $(EVG), 1, 2047} +} + +file "evgTrigEvt-vme300.db" +{pattern +{P, OBJ, EVG, trigEvtNum} +{"\$(P)TrigEvt0", "$(EVG):TrigEvt0", $(EVG), 0} +{"\$(P)TrigEvt1", "$(EVG):TrigEvt1", $(EVG), 1} +{"\$(P)TrigEvt2", "$(EVG):TrigEvt2", $(EVG), 2} +{"\$(P)TrigEvt3", "$(EVG):TrigEvt3", $(EVG), 3} +{"\$(P)TrigEvt4", "$(EVG):TrigEvt4", $(EVG), 4} +{"\$(P)TrigEvt5", "$(EVG):TrigEvt5", $(EVG), 5} +{"\$(P)TrigEvt6", "$(EVG):TrigEvt6", $(EVG), 6} +{"\$(P)TrigEvt7", "$(EVG):TrigEvt7", $(EVG), 7} +} + +file "databuftx.db" +{pattern +{P, OBJ, PROTO, s} +{"\$(P)", "$(EVG):BUFTX", 1, "-"} +} + +file "databuftxCtrl.db" +{pattern +{P, OBJ} +{"\$(P)", "$(EVG):BUFTX"} +} + +### FCT Core + +file "evm-fct.template" +{ +{P="\$(P)FCT", OBJ="$(EVG):FCT"} +} + +file "sfp.db" +{ +{P="\$(P)SFP1", OBJ="$(EVG):FCT:SFP1"} +{P="\$(P)SFP2", OBJ="$(EVG):FCT:SFP2"} +{P="\$(P)SFP3", OBJ="$(EVG):FCT:SFP3"} +{P="\$(P)SFP4", OBJ="$(EVG):FCT:SFP4"} +{P="\$(P)SFP5", OBJ="$(EVG):FCT:SFP5"} +{P="\$(P)SFP6", OBJ="$(EVG):FCT:SFP6"} +{P="\$(P)SFP7", OBJ="$(EVG):FCT:SFP7"} +{P="\$(P)SFP8", OBJ="$(EVG):FCT:SFP8"} +} diff --git a/evrMrmApp/Db/Makefile b/evrMrmApp/Db/Makefile index 8a6ccaa91..95bde3a05 100644 --- a/evrMrmApp/Db/Makefile +++ b/evrMrmApp/Db/Makefile @@ -25,6 +25,7 @@ DB += evr-mtca-300u.db ifdef BASE_3_15 DB += evr-mtca-300u.uv.db +DB += evr-vme-300.db endif ifneq ($(DEVIOCSTATS),) diff --git a/evrMrmApp/Db/evr-vme-300.substitutions b/evrMrmApp/Db/evr-vme-300.substitutions new file mode 100644 index 000000000..66a8d5955 --- /dev/null +++ b/evrMrmApp/Db/evr-vme-300.substitutions @@ -0,0 +1,488 @@ +# Record set for a universal EVR (tested with VME-300 card) +# +# Macros: +# P = Prefix +# EVR = Card name (same as mrmEvrSetupPCI()) +# FEVT = Event link frequency (default 124.916 MHz) +# Naming-agnostic +# =============== +global {s=""} + +file "mrmevrbase.template" +{ +{P="\$(P)", OBJ="$(EVR)", EVNT1HZ="\$(EVNT1HZ=125)", FEVT="\$(FEVT=124.916)"} +} +file "databuftx.db" +{pattern +{P, OBJ, PROTO, s} +{"\$(P)", "$(EVR):BUFTX", 1, "-"} +} + +file "evrSoftEvt.template" +{ +{P="\$(P)", OBJ="$(EVR)"} +} + +file "databuftxCtrl.db" +{pattern +{P, OBJ} +{"\$(P)", "$(EVR):BUFTX"} +} + +file "mrmevrbufrx.db" +{pattern +{P, OBJ, PROTO, s} +{"\$(P)", "$(EVR):BUFRX", "0xff00", "-"} +} + +file "mrmSoftSeq.template" +{pattern +{P, EVG, seqNum, NELM} +{"\$(P)SoftSeq0", $(EVR), 0, 2047} +} + +file "evrSoftSeq.template" +{pattern +{P, EVG, seqNum, NELM } +{"\$(P)SoftSeq0", $(EVR), 0, 2047} +} + +file "sfp.db" +{ +{P="\$(P)SFP", OBJ="$(EVR):SFP"} +} + +file "mrmevrdc.template" +{ +{P="\$(P)DC", OBJ="$(EVR)"} +} + +file "evrmap.db" +{pattern +{NAME, OBJ, func, EVT} +{"\$(P)EvtBlink0-SP", "$(EVR)", Blink, 15} +{"\$(P)EvtBlink1-SP", "$(EVR)", Blink, 0} +{"\$(P)EvtResetPS-SP","$(EVR)", "Reset PS", 123} +} + +file "evrevent.db" +{pattern +{EN, OBJ, CODE, EVNT} +{"\$(P)Pps", "$(EVR)", 0x7d, 125} +{"\$(P)EvtA", "$(EVR)", 10, 10} +{"\$(P)EvtB", "$(EVR)", 11, 11} +{"\$(P)EvtC", "$(EVR)", 12, 12} +{"\$(P)EvtD", "$(EVR)", 13, 13} +{"\$(P)EvtE", "$(EVR)", 14, 14} +{"\$(P)EvtF", "$(EVR)", 15, 15} +{"\$(P)EvtG", "$(EVR)", 16, 16} +{"\$(P)EvtH", "$(EVR)", 17, 17} +} + +file "evrscale.db" +{pattern +{IDX, P, SN, OBJ, MAX} +{0, "\$(P)", "\$(P)PS$(IDX)", "$(EVR):PS$(IDX)", "0xffffffff"} +{1, "\$(P)", "\$(P)PS$(IDX)", "$(EVR):PS$(IDX)", "0xffffffff"} +{2, "\$(P)", "\$(P)PS$(IDX)", "$(EVR):PS$(IDX)", "0xffffffff"} +{3, "\$(P)", "\$(P)PS$(IDX)", "$(EVR):PS$(IDX)", "0xffffffff"} +{4, "\$(P)", "\$(P)PS$(IDX)", "$(EVR):PS$(IDX)", "0xffffffff"} +{5, "\$(P)", "\$(P)PS$(IDX)", "$(EVR):PS$(IDX)", "0xffffffff"} +{6, "\$(P)", "\$(P)PS$(IDX)", "$(EVR):PS$(IDX)", "0xffffffff"} +{7, "\$(P)", "\$(P)PS$(IDX)", "$(EVR):PS$(IDX)", "0xffffffff"} +} + +file "mrmevrout.db" +{pattern +{ON, OBJ, DESC} +{"\$(P)OutInt", "$(EVR):Int", "Internal"} +{"\$(P)OutFPUV00", "$(EVR):FrontUnivOut0", "FPUV 0"} +{"\$(P)OutFPUV01", "$(EVR):FrontUnivOut1", "FPUV 1"} +{"\$(P)OutFPUV02", "$(EVR):FrontUnivOut2", "FPUV 2"} +{"\$(P)OutFPUV03", "$(EVR):FrontUnivOut3", "FPUV 3"} +{"\$(P)OutFPUV04", "$(EVR):FrontUnivOut4", "FPUV 0"} +{"\$(P)OutFPUV05", "$(EVR):FrontUnivOut5", "FPUV 5"} +{"\$(P)OutFPUV06", "$(EVR):FrontUnivOut6", "FPUV 6 (GTX)"} +{"\$(P)OutFPUV07", "$(EVR):FrontUnivOut7", "FPUV 7 (GTX)"} +{"\$(P)OutFPCML00", "$(EVR):FrontUnivOut8", "FP CML 0 (GTX)"} +{"\$(P)OutFPCML01", "$(EVR):FrontUnivOut9", "FP CML 1 (GTX)"} +{"\$(P)OutTBUV00", "$(EVR):RearUniv0", "TBUV 0"} +{"\$(P)OutTBUV01", "$(EVR):RearUniv1", "TBUV 1"} +{"\$(P)OutTBUV02", "$(EVR):RearUniv2", "TBUV 2"} +{"\$(P)OutTBUV03", "$(EVR):RearUniv3", "TBUV 3"} +{"\$(P)OutTBUV04", "$(EVR):RearUniv4", "TBUV 4"} +{"\$(P)OutTBUV05", "$(EVR):RearUniv5", "TBUV 5"} +{"\$(P)OutTBUV06", "$(EVR):RearUniv6", "TBUV 6"} +{"\$(P)OutTBUV07", "$(EVR):RearUniv7", "TBUV 7"} +{"\$(P)OutTBUV08", "$(EVR):RearUniv8", "TBUV 8"} +{"\$(P)OutTBUV09", "$(EVR):RearUniv9", "TBUV 9"} +{"\$(P)OutTBUV10", "$(EVR):RearUniv10", "TBUV 10"} +{"\$(P)OutTBUV11", "$(EVR):RearUniv11", "TBUV 11"} +{"\$(P)OutTBUV12", "$(EVR):RearUniv12", "TBUV 12"} +{"\$(P)OutTBUV13", "$(EVR):RearUniv13", "TBUV 13"} +{"\$(P)OutTBUV14", "$(EVR):RearUniv14", "TBUV 14"} +{"\$(P)OutTBUV15", "$(EVR):RearUniv15", "TBUV 15"} +} + +file "mrmevroutint.db" +{{ + ON="\$(P)OutInt", OBJ="$(EVR)" +}} + +file "evrcml.db" +{pattern +{P, ON, OBJ, NBIT, MAX} +{"\$(P)", "\$(P)OutFPUV06", "$(EVR):CML0", 40, 81880} +{"\$(P)", "\$(P)OutFPUV07", "$(EVR):CML1", 40, 81880} +{"\$(P)", "\$(P)OutFPCML00", "$(EVR):CML2", 40, 81880} +{"\$(P)", "\$(P)OutFPCML01", "$(EVR):CML3", 40, 81880} +} + +# Pulse generators w/o a prescaler set NOPS=1 +file "evrpulser.db" +{pattern +{PID, P, PN, OBJ, DMAX, WMAX, PMAX, NOPS} +{0, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "0xffff", 0} +{1, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "0xffff", 0} +{2, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "0xffff", 0} +{3, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "0xffff", 0} +{4, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{5, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{6, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{7, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{8, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{9, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{10,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{11,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{12,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{13,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{14,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{15,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{16,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{17,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{18,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{19,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{20,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{21,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{22,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{23,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +# gate generators +{28,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{29,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{30,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +{31,"\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)", "0xffffffff", "0xffffffff", "1", 1} +} + +# Default to 3 possible trigger mappings per pulser +file "evrpulsermap.db" +{pattern +{PID, NAME, OBJ, F, EVT} +{0, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{0, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{0, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{1, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{1, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{1, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{2, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{2, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{2, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{3, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{3, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{3, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{4, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{4, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{4, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{5, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{5, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{5, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{6, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{6, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{6, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{7, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{7, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{7, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{8, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{8, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{8, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{9, "\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{9, "\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{9, "\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{10,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{10,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{10,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{11,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{11,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{11,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{12,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{12,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{12,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{13,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{13,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{13,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{14,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{14,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{14,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{15,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{15,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{15,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{16,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{16,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{16,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{17,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{17,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{17,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{18,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{18,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{18,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{19,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{19,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{19,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{20,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{20,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{20,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{21,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{21,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{21,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{22,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{22,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{22,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{23,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{23,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{23,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} + +# gate generators mappings +{28,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{28,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{28,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{29,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{29,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{29,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{30,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{30,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{30,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} +{31,"\$(P)DlyGen$(PID)EvtTrig0-SP", "$(EVR):Pul$(PID)", Trig, 0} +{31,"\$(P)DlyGen$(PID)EvtTrig1-SP", "$(EVR):Pul$(PID)", Trig, 0} +{31,"\$(P)DlyGen$(PID)EvtTrig2-SP", "$(EVR):Pul$(PID)", Trig, 0} + +{0, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{0, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{0, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{1, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{1, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{1, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{2, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{2, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{2, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{3, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{3, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{3, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{4, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{4, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{4, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{5, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{5, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{5, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{6, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{6, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{6, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{7, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{7, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{7, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{8, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{8, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{8, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{9, "\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{9, "\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{9, "\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{10,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{10,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{10,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{11,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{11,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{11,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{12,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{12,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{12,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{13,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{13,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{13,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{14,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{14,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{14,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{15,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{15,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{15,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{16,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{16,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{16,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{17,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{17,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{17,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{18,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{18,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{18,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{19,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{19,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{19,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{20,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{20,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{20,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{21,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{21,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{21,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{22,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{22,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{22,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{23,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{23,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{23,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} + +# gate generators mappings +{28,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{28,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{28,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{29,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{29,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{29,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{30,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{30,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{30,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} +{31,"\$(P)DlyGen$(PID)EvtSet0-SP", "$(EVR):Pul$(PID)", Set, 0} +{31,"\$(P)DlyGen$(PID)EvtSet1-SP", "$(EVR):Pul$(PID)", Set, 0} +{31,"\$(P)DlyGen$(PID)EvtSet2-SP", "$(EVR):Pul$(PID)", Set, 0} + +{0, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{0, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{0, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{1, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{1, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{1, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{2, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{2, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{2, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{3, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{3, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{3, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{4, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{4, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{4, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{5, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{5, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{5, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{6, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{6, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{6, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{7, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{7, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{7, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{8, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{8, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{8, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{9, "\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{9, "\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{9, "\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{10,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{10,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{10,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{11,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{11,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{11,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{12,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{12,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{12,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{13,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{13,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{13,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{14,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{14,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{14,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{15,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{15,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{15,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{16,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{16,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{16,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{17,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{17,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{17,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{18,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{18,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{18,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{19,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{19,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{19,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{20,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{20,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{20,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{21,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{21,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{21,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{22,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{22,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{22,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{23,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{23,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{23,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} + +# gate generators mappings +{28,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{28,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{28,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{29,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{29,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{29,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{30,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{30,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{30,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} +{31,"\$(P)DlyGen$(PID)EvtReset0-SP", "$(EVR):Pul$(PID)", Reset, 0} +{31,"\$(P)DlyGen$(PID)EvtReset1-SP", "$(EVR):Pul$(PID)", Reset, 0} +{31,"\$(P)DlyGen$(PID)EvtReset2-SP", "$(EVR):Pul$(PID)", Reset, 0} + + +} + +# pulser masking controls +file "evrdcpulser.template" +{pattern +{PID, P, PN, OBJ} +{0, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{1, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{2, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{3, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{4, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{5, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{6, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{7, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{8, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{9, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{10, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{11, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{12, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{13, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{14, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{15, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{16, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{17, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{18, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{19, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{20, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{21, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{22, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +{23, "\$(P)", "\$(P)DlyGen$(PID)", "$(EVR):Pul$(PID)"} +} + +file "evrin.db" +{pattern +{IN, OBJ, DESC} +{"\$(P)In0" , "$(EVR):FPIn0" , "IN0 (TTL)"} +{"\$(P)In1" , "$(EVR):FPIn1" , "IN1 (TTL)"} +} + +file "mrmevrdlymodule.template" +{pattern +{SLOT, P, OBJ} +{0, "\$(P)OutFPDly$(SLOT)", "$(EVR)"} +{1, "\$(P)OutFPDly$(SLOT)", "$(EVR)"} +{2, "\$(P)OutFPDly$(SLOT)", "$(EVR)"} +{3, "\$(P)OutFPDly$(SLOT)", "$(EVR)"} +}