D0 Note 1638 The Level 1.5 Trigger Framework for D0 Daniel Edmunds, Steve Gross, and Philippe Laurens Department of Physics and Astronomy Michigan State University East Lansing, MI 48824-1116 Table of Contents ----------------- I. Introduction II. Motivation for Level 1.5 Triggering A. Review of the Level 1 Trigger Framework 1. Functional description of the Level 1 Trigger Framework 2. Level 1 Trigger Framework Processing B. Availability of Triggering Information at Level 1 C. Additional Rejection and Computation Available at Level 1.5 D. Guidelines for the Design of the Level 1.5 Trigger Framework E. Constraints on the Design of the Level 1.5 Trigger Framework III. Description of the Level 1.5 Framework A. Functional Description of the Level 1.5 Trigger Framework B. Level L1.5 Trigger Framework Processing C. Inputs to the Level 1.5 Trigger Framework 1. From the Level 1 Trigger Framework 2. From the Level 1.5 Trigger Subsystems 3. From the Master Clock D. Outputs from the Level 1.5 Trigger Framework 1. Control Signals to the Level 1 Trigger Framework 2. Triggering Information to the Level 1 Trigger Framework 3. Control Signals to the Level 1.5 Trigger Subsystems 4. Monitoring and Data Block Readout IV. Level 1.5 and the Trigger Acquisition-Synchronization Protocol V. Consequences for Level 2 A. Level 2 Supervisor B. Level 2 Processing Nodes VI. Enforcing Separation between Level 1 and Level 1.5 Hardware VII. Level 1.5 and Future Level 1.5 Triggers Appendices ========== A. Level 1.5 reference document for the L1.5 Muon Trigger Subsystem B. Low level structure of the Level 1.5 Trigger Framework Figures ======= 1. Level 1 Signal Flow 2. Level 1 and Level 1.5 Signal Flow 3. Low-level Structure of Level 1.5 Trigger Framework I. Introduction ------------ This note describes the Level 1.5 Trigger Framework, which is an extension to the Level 1 Trigger Framework. The Level 1.5 Trigger Framework is an integral part of the D0 triggering architecture. The Level 1 Framework examines the class of triggering information available between beam crossings and is thus free of dead time. The Level 1.5 Framework can examine triggering information not available between beam crossings and obtain further rejection before event collection and analysis in Level 2, at the expense of incurring global dead time while the Level 1.5 decision is being made. II. Motivation for Level 1.5 Triggering ----------------------------------- A. Review of the Level 1 Trigger Framework 1. Functional description of the Level 1 Trigger Framework The Level 1 Trigger Framework is designed to examine the information presented by the various Level 1 Triggers (e.g. the Level 1 Calorimeter Trigger and the Level 1 Muon Trigger) and the Level 0 Trigger. In the time between beam crossings, it decides, based on this input information, whether or not to save the data collected from the beam crossing. It uses this decision to direct the D0 data acquisition system, and then prepares itself to examine the data from the next beam crossing. 2. Level 1 Trigger Framework Processing Figure 1 illustrates the general Level 1 Trigger Framework processing. The above-mentioned Level 0 and Level 1 Triggers generate sets of single-bit indicator variables, which are fed to the Level 1 Trigger Framework as the 256 And-Or Input Terms. These And-Or Input Terms are compared to 32 programmable patterns (called Specific Triggers) stored in the Level 1 Trigger Framework. Each of these Specific Trigger definitions places requirements on any number of the 256 And-Or Input Terms. Any And-Or Input Term may be required to be asserted (at a logic high level) or negated (at a logic low level). All And-Or Input Terms which are unspecified in a Specific Trigger definition do not contribute to that Specific Trigger decision logic. If all of the And-Or Input Terms required for a Specific Trigger are found in the specified state, then that Specific Trigger is said to have met its And-Or requirements, and its And-Or Fired signal is asserted. If not prevented by front-end busy restrictions or other vetos, the Specific Trigger fires, asserting its associated Specific Trigger Fired signal. All of this processing is performed between beam crossings (e.g. within 3.5 microseconds in the current 6-on-6 bunch operation of the Tevatron). That is to say, no global deadtime is generated by the Level 1 Trigger in the process of making these Specific Trigger decisions. If for any beam crossing at least one Specific Trigger fires, the D0 data acquisition system is cycled. The data acquisition system is divided into 32 sub-sections, called Geographic Sections. Each Specific Trigger can be programmed to request, upon firing, readout of any combination of the 32 Geographic Sections. If any Geographic Section which would be read out by the firing of a given Specific Trigger is busy or otherwise unavailable, the given Specific Trigger is disabled, and will not fire when its And-Or requirements have been met (as described above). Thus, each Specific Trigger may experience deadtime due to the readout process. Note that this deadtime is limited only to the Specific Triggers programmed to request readout of the busy or otherwise unavailable Geographic Sections. That is, the deadtime introduced by readout is not necessarily global deadtime (but normal running of the D0 experiment typically includes all Geographic Sections in every Specific Trigger defined). B. Availability of Triggering Information at Level 1 Since the Level 1 Trigger Framework operates between beam crossings, all of its input information must be available at the between beam crossing time scale (3.5 microseconds in 6-bunch operation). The physics information available at this time scale is generated by the Level 0 Trigger (fast vertex), the Level 1 Muon Trigger, and the Level 1 Calorimeter Trigger. The between beam crossing nature of the Level 1 Trigger Framework is an important feature of the D0 triggering architecture, but it imposes limitations on the class of information which can be used in triggering at Level 1. C. Additional Rejection and Computation Available at Level 1.5 Some classes of information, potentially interesting for triggering, are not available between beam crossings. For example, the Muon Level 1.5 Trigger subsystem processing provides more detailed information about candidate muons (through the application of a momentum cut) than the Muon Level 1 Trigger subsystem processing. This momentum processing, done through memory lookups, can take several microseconds. Analysis of Monte Carlo simulations has shown that additional event rejection can be gained by allowing a limited amount of this slower information to participate in the Level 1 Trigger decision (via the Level 1.5 Trigger Framework), at the expense of introducing global deadtime for the Level 1 Trigger Framework. D. Guidelines for the Design of the Level 1.5 Trigger Framework The Level 1.5 Trigger Framework is designed to introduce minimum dead time. It also passes a reasonable Specific Trigger Fired Mask to Level 2. This allows Level 2 to apply the appropriate filters. The Level 1.5 Trigger Framework includes scalers and other information, allowing monitoring of Level 1.5 as well as calculation of physics quantities (e.g. acceptance). The Level 1.5 Trigger Framework also incorporates a timeout mechanism, providing an upper limit on the dead time inherent each Level 1.5 decision. To limit dead time, the design philosophy of the Level 1.5 Trigger Framework is: "Events will be passed as soon as a reason to do so is found." This is implemented in the following fashion: 1. Level 1.5 processing will only be performed for Specific Triggers which are programmed to require Level 1.5 Confirmation and have met all of their Level 1 requirements. 2. Level 1.5 processing will not be performed (that is, the event is allowed to pass) if at least one pure Level 1 Specific Trigger has fired for this beam crossing, even if one or more Specific Triggers requiring Level 1.5 Confirmation have fired. 3. The event is allowed to pass when one Specific Trigger has been Confirmed Accepted by the Level 1.5 Trigger Framework, even if other Specific Triggers have been Confirmed Rejected or Unconfirmed by the Level 1.5 Trigger Framework. The event is rejected only if all Specific Triggers which required Level 1.5 Confirmation have been Confirmed Rejected. 4. If the Level 1.5 Trigger Framework times out, the event is allowed to pass. The Level 1.5 Trigger Framework is entirely programmable. Specific Triggers can be subjected to Level 1.5 confirmation, or removed from Level 1.5 consideration, by COOR messages. The mapping of Level 1.5 Terms to Specific Triggers is controlled by COOR messages. The entire Level 1.5 Trigger Framework can be enabled or disabled through COOR messages. Additionally, the Level 1 Trigger Framework has, as much as possible, the ability to ignore the Level 1.5 Trigger Framework when desired. This is useful for times when the Level 1.5 Trigger Framework is unavailable (e.g. powered-off or faulty). Finally, the Level 1.5 Trigger Framework has been designed to be extensible to further Level 1.5 Trigger Subsystems. E. Constraints on the Design of the Level 1.5 Trigger Framework The Level 1.5 Trigger Framework is designed around pre-existing Level 1 Trigger Framework circuit boards. It also is designed to fit into a small amount of physical space. These constraints place limitations on the amount and type of processing performed by the Level 1.5 Trigger Framework. III. Description of the L1.5 Trigger Framework ----------------------------------------- A. Functional Description of the Level 1.5 Trigger Framework The Level 1.5 Trigger Framework is the system which can include in the Level 1 Triggering process physics information not available before the next beam crossing, but available at the time scale of approximately ten to several hundred microseconds. Examples of this class of information are the Level 1.5 Muon Trigger and the Level 1.5 TRD Trigger. The cost of including this information is the introduction of global dead time for the experiment. This time is spent waiting for further triggering information for Specific Triggers which have already met their Level 1 requirements. During this time all Level 1 activity is suspended. B. Level 1.5 Trigger Framework Processing Figure 2 illustrates the action of the Level 1 and Level 1.5 Trigger Frameworks when the Level 1.5 Trigger Framework is in use. In this case, the Level 1 Trigger Framework examines the 256 And-Or Input Terms, forms the 32 And-Or Fired signals and 32 Specific Triggers Fired signals, and begins the Trigger Acquisition and Synchronization (TRG-ACQ) protocol for the appropriate Geographic Sections (in exactly the same fashion as described in Section II-A-2). While the Level 1 Framework initiates the TRG-ACQ protocol with the front-ends, the Level 1.5 Trigger Framework examines the Specific Triggers which have fired. If Level 1.5 Confirmation is not required (as described in Section II-D), the Level 1 Trigger Framework concludes the TRG-ACQ protocol (as described in Section II-A-2) and prepares itself for the next beam crossing. If Level 1.5 Confirmation is required (as described in Section II-D), then the Level 1.5 Trigger Framework stalls the normal operation of the Level 1 Trigger Framework and begins forming the Level 1.5 decision. Until the Level 1.5 Decision has been formed, the Level 1 Trigger Framework is not allowed to examine new And-Or Input Terms. Therefore, the Level 1 Trigger Framework (and thus the experiment as a whole) experiences global dead time while the Level 1.5 Trigger Framework is forming the Level 1.5 decision. The Level 1.5 Trigger Framework receives up to 32 Level 1.5 Terms from the Level 1.5 Trigger subsystems. A Specific Trigger may be programmed to require Level 1.5 Confirmation from any number of these Level 1.5 Terms, in a manner analogous to the Level 1 Specific Trigger definitions. The Level 1.5 Terms are analogous to the And-Or Input Terms for the Level 1 Trigger Framework. Both the Level 1.5 Terms and the And-Or Input Terms are sampled once per beam crossing interval. But, since the Level 1.5 Trigger subsystems take a variable amount of time for processing, any or all of the Level 1.5 Terms may not be ready at the sampling time in a given beam crossing interval. Therefore, each of the Level 1.5 Terms is made of two components: the Level 1.5 Term Answer signal and the Level 1.5 Term Done signal. If the Done signal for a given Level 1.5 Term is not asserted at the sampling point, then that Term is considered Unconfirmed. If the Done signal is asserted at the sampling point, then that Term is Confirmed: either Confirmed Accepted if the corresponding Answer is asserted, or Confirmed Rejected if the Answer is negated. The Level 1.5 Trigger Framework then evaluates the Specific Triggers based on the Confirmed Level 1.5 Terms. For a Specific Trigger to be Confirmed Accepted by the Level 1.5 Trigger Framework, all of the Level 1.5 Terms programmed to contribute to the Level 1.5 Confirmation of the Specific Trigger must be Confirmed Accepted. If any of the Level 1.5 Terms programmed to contribute to the Level 1.5 Confirmation of a Specific Trigger are Confirmed Rejected, the Specific Trigger is Confirmed Rejected. Specific Triggers which meet neither of the above criteria are considered to be Unconfirmed by the Level 1.5 Trigger Framework. All Level 1.5 Specific Triggers which have been Confirmed Rejected will have their Specific Trigger Fired signal negated. All Specific Triggers which remain Unconfirmed will experience no change. If no Specific Triggers have been Confirmed Accepted, the Level 1.5 Trigger Framework will re-examine the Level 1.5 Terms at the next Level 1.5 Term sampling point. Only Level 1.5 Terms which have not previously been Confirmed will be re-evaluated. This cycle repeats, once per beam crossing interval, until either all of the Level 1.5 Specific Triggers have been Confirmed Rejected, or at least one of the Level 1.5 Specific Triggers has been Confirmed Accepted, or too much processing time has elapsed. When any of these three conditions have been met, the Level 1.5 Cycle is concluded; the Level 1 Trigger Framework is released. The Level 1 Trigger Framework is now able to terminate the TRG-ACQ protocol according to the result of the Level 1.5 Cycle, allowing the required Front-End Crates to transfer their data. However, the Geographic Sections whose associated Specific Triggers were Confirmed Rejected by the Level 1.5 Trigger Framework will not be read out, and the corresponding front-ends are expected to unwind from activity related to the crossing for which the TRG-ACQ protocol was initiated. The Level 1 Trigger Framework is also free to resume examining the And-Or Input Terms from new beam crossings to generate new Level 1 decisions. C. Inputs to the Level 1.5 Trigger Framework 1. From the Level 1 Trigger Framework After every beam crossing for which the Level 1 Trigger Framework is active, it communicates the 32 Specific Triggers Fired signals to the Level 1.5 Trigger Framework. The Specific Trigger #i Fired signal is set to a logic high level if Specific Trigger #i has met its Level 1 Specific Trigger requirements. The Level 1.5 Trigger Framework is programmed by COOR to recognize which Specific Triggers require Level 1.5 confirmation, and begin a Level 1.5 Cycle if warranted (as described in Section II-D). It is important to realize that a Specific Trigger can only initiate a Level 1.5 Cycle if both (a) that Specific Trigger is programmed to require Level 1.5 confirmation, and (b) that Specific Trigger actually fired (that is, it met its Level 1 requirements). That is, a Specific Trigger only requests Level 1.5 confirmation after it has met all of its Level 1 requirements. Of the 32 Specific Triggers, only 16 are allowed to request Level 1.5 confirmation. These Specific Triggers are known as the Level 1.5-Capable Specific Triggers, and are Specific Trigger 0 through Specific Trigger 15. 2. From the Level 1.5 Trigger Subsystems. The Level 1.5 Trigger Framework receives up to 32 input terms, called Level 1.5 Terms, from the various Level 1.5 Trigger Subsystems (e.g. the Muon Level 1.5 Trigger or the TRD Level 1.5 Trigger). Each Level 1.5 Term is made up of two signals: the Level 1.5 Term #i Done signal, and the Level 1.5 Term #i Answer signal. Two signals are needed because each Level 1.5 Term requires a variable amount of processing time. The Level 1.5 Trigger Framework has no internal mechanism for determining how much processing time will be required, therefore the Level 1.5 Trigger Subsystems must accompany their Answer signals with a Done signal. The Level 1.5 Trigger Framework only recognizes an Answer as valid when accompanied by an asserted Done signal. Additionally, once the Level 1.5 Trigger Framework has recognized an Answer as valid for a given Level 1.5 Term, it will not revise that decision (regardless of the changes in that Level 1.5 Term's input signals) for the remainder of the Level 1.5 Cycle. The Level 1.5 Trigger Framework samples the 32 Level 1.5 Terms once per beam crossing interval. At the Level 1.5 Trigger Framework sampling point, any Answers accompanied by an asserted Done signal are allowed to participate in the Level 1.5 decision during that beam crossing interval. If the Done signal is accompanied by an asserted Answer signal, the Level 1.5 Term is considered to be Confirmed Accepted. If the Done signal is accompanied by a negated Answer signal, the Level 1.5 Term is considered to be Confirmed Rejected. If the Done signal is still negated, the Term is considered Unconfirmed. The Level 1.5 Terms are analogous to the Level 1 And-Or Input Terms. Each Specific Trigger can be programmed to require Level 1.5 Confirmation from any number of the Level 1.5 Terms. The Specific Trigger must receive positive confirmation from all of the specified Level 1.5 Terms in order to be considered Confirmed Accepted. That is, the Specific Trigger Confirmation is the AND of the Level 1.5 Terms. It is not possible to require a Level 1.5 Term as a VETO to the Level 1.5 Confirmation of a Specific Trigger. Note that if any Level 1.5 Term required for the Level 1.5 Confirmation of a given Specific Trigger is Confirmed Rejected, then that Specific Trigger will be Confirmed Rejected by the Level 1.5 Trigger Framework. 3. From the Master Clock The Level 1.5 Trigger Framework is completely isochronous with both the Level 1 Trigger Framework and the Level 1 Calorimeter Trigger. All three systems receive an identical set of clock control signals from the Master Clock (namely a Beam Crossing Reset signal, and a common clock signal). D. Outputs from the Level 1.5 Trigger Framework 1. Control signals to the Level 1 Trigger Framework During the Level 1.5 Cycle, the Level 1.5 Trigger Framework stalls the Level 1 Trigger Framework. This involves halting several of the Level 1 Trigger Framework control signals. The Level 1.5 Trigger Framework has a special control path to the Level 1 Trigger Framework Master Timing Generator, which it uses to suspend the operation of the Level 1 Trigger framework by halting the appropriate set of Level 1 Trigger Framework Timing Signals. Once the Level 1.5 Trigger framework ends the Level 1.5 Cycle, the Level 1 Trigger Framework is released to continue its processing. The Level 1 Trigger Framework is both halted and released at the same relative time with respect to the beam crossing. The result is that the Level 1 Trigger Framework is suspended for an integral number of beam crossings while the Level 1.5 Trigger Framework processes the event. Some of the Level 1 Trigger Framework timing signals are not halted. These are timing signals which must be kept running for monitoring or other purposes. Additionally, the Level 1.5 Trigger Framework takes control of the 32 Start Digitize and 32 Hold Transfer control signals during the Level 1.5 Cycle. It is important to note that there is no direct communication between the Level 1.5 Trigger Framework and the Level 1 Trigger Framework to indicate whether the event has been accepted or rejected. Instead, the Level 1.5 Trigger Framework only indicates that the Level 1.5 Cycle is completed. At the end of the Level 1.5 Cycle, the Level 1 Trigger Framework is left with the post-Level 1.5 Specific Triggers Fired Mask. The Level 1 Trigger Framework simply continues processing this Specific Triggers Fired Mask as appropriate. If any Specific Triggers remain at the end of the Level 1.5 Cycle, the event will be read out. If not, all Front-End Crates (including the Level 1 Trigger Framework and Level 1 Calorimeter Trigger) will be told to dump their data. The details of this communication are fully described elsewhere (see this D0 Note Section IV and also D0 Note 827). 2. Triggering information returned to the Level 1 Trigger Framework The Level 1.5 Trigger Framework generates one Level 1.5 Veto Specific Trigger #i for each Level 1.5-Capable Specific Trigger. This is a total of 16 differential ECL signals. These signals are fed back into the Level 1 Trigger Framework Final Specific Trigger Decision Cards. The Level 1.5 Veto for Specific Trigger #i is only asserted if both (a) the Specific Trigger met all of its Level 1 requirements, and (b) the Specific Trigger did not meet one or more of its Level 1.5 requirements. It is asserted as soon as at least one Level 1.5 Term programmed for this Specific Trigger is confirmed rejected (again, assuming this Specific Trigger originally fired). These signals are sent in inverted form to the Level 1 Trigger Framework as inputs to the Final Specific Trigger Decision cards. There is no explicit notification from the Level 1.5 Trigger Framework to the Level 1 Trigger Framework regarding Level 1.5 Confirmation of Specific Triggers. Specific Triggers that are Confirmed Rejected by the Level 1.5 Trigger Framework have been removed from the Specific Trigger Fired Mask. Specific Triggers that are Confirmed Accepted or left Unconfirmed have been kept in the Specific Trigger Fired Mask. The combination of Geographic Sections to digitize has also been correspondingly updated and the conclusion of the TRG-ACQ protocol reflects this final state. In particular, if all Specific Triggers are rejected at Level 1.5, then no Geographic Section remains for readout and the event is rejected. 3. Control signals to the Level 1.5 Subsystems The Level 1.5 Framework was designed to be able to generate signals for any Level 1.5 Subsystem indicating that its Level 1.5 Terms are required for this Beam Crossing. The Level 1.5 Muon Trigger does not accept information of this type from the Level 1.5 Trigger Framework. The Level 1.5 Muon processing is performed by the Muon Trigger system for every Start Digitize signal received by the Muon front-ends. Every event transferred to Level 2 includes the Level 1.5 Muon triggering information. 4. Monitoring and Data Block readout The Level 1.5 Trigger Framework monitors several global quantities. They are: o Dead Beam Crossings during L1.5 Cycles o L1.5 Cycle Terminated by Timeout o Events taken by L1.5 (at least one Sp.Trig Confirmed Accepted) o Events dumped by L1.5 (all Sp.Triggers Confirmed Rejected) o Potential Input Events for L1.5 Processing o L1.5 Cycle Skipped (at least one pure L1 Sp.Trig also Fired) These quantities are available via TRGMON, the Level 1 Data Block, and the begin/end run files written by the TCC. Additionally, The Level 1.5 Trigger Framework monitors several quantities on a per-Specific Trigger basis. These quantities are available only via TRGMON, and the begin/end run files written by the TCC. They do not appear in the Level 1 Data Block. They are: o Dead Beam Crossings during L1.5 Cycles o L1.5 Cycle Terminated by Timeout o Specific Trigger Confirmed Accepted (or Timeout, or unconfirmed) o Specific Trigger Confirmed Rejected o Level 1.5 Cycle Performed o Level 1.5 Cycle Skipped The states of all Level 1.5 terms and all Level 1.5 decisions are also copied to the Level 1 Data Block. They are o Whether a L1.5 Cycle was performed, skipped or not needed. o Whether the L1.5 Cycle exited by timeout o The Specific Trigger Fired Mask corrected by Level 1.5 o The Level 1.5 Specific Trigger Confirmed Mask o The Level 1.5 Specific Trigger Rejected Mask o The Level 1.5 Terms Answer states o The Level 1.5 Terms Done states D0 Note 967 describes the contents of the Level 1 Trigger Data Block. IV. Level 1.5 and Trigger Acquisition-Synchronization Protocol ---------------------------------------------------------- Approximately 2.8 microseconds after the beam crossing for which a Level 1 Specific Trigger has fired, the Start Digitize signals for all Geographic Sections which are to be read out are asserted. Approximately 150 nanoseconds later the corresponding Hold Transfer lines are asserted. If Level 1.5 processing is to occur, both the Start Digitize and Hold Transfer signals will remain asserted throughout the entire Level 1.5 Cycle. Upon conclusion of Level 1.5 processing, the Start Digitize and Hold Transfer signals will be removed. The order of removal indicates whether the Geographic Section is to be read out or is expected to unwind from activity related to the beam crossing for which the TRG-ACQ protocol was begun. For every Geographic Section which is to be read out (i.e. programmed to be digitized by a Specific Trigger which has not been rejected by Level 1.5), the Hold Transfer signal will fall approximately 260 nanoseconds before the beam crossing marker. The Start Digitize signal will fall approximately 520 nanoseconds after the Hold Transfer falling edge. Geographic Sections which are not be be read out (i.e. whose corresponding Specific Triggers have been rejected by Level 1.5), will have their Start Digitize signals fall approximately 260 nanoseconds before the beam crossing marker, and the Hold Transfer signal will fall approximately 520 nanoseconds after the Start Digitize falling edge. In both cases the falling edges of the Start Digitize and Hold Transfer signals straddle a beam crossing marker. V. Consequences for Level 2 ------------------------ A. Level 2 Supervisor If at least one Specific Trigger has been Confirmed Accepted by the Level 1.5 Trigger Framework (or if the Level 1.5 Trigger Framework times out), the Specific Trigger Fired Strobe signal will be asserted. A Level 1 Trigger Data Block will be built and transmitted to Level 2. If all Specific Triggers are Confirmed Rejected by the Level 1.5 Trigger Framework, the Specific Trigger Fired Strobe signal will not be asserted and no Level 1 Trigger Data Block will be built. B. Level 2 Processing Nodes If Level 1.5 processing has been performed, the Level 1 Trigger Data Block contains two Specific Trigger Fired Masks. The first is a 32 bit mask, corresponding to the 32 Level 1 Specific Triggers. A bit set high indicates that the corresponding Specific Trigger met its Level 1 requirements. A flag is also set in the Level 1 Trigger Data Block to indicate that Level 1.5 processing has been performed. The second (Post-Level 1.5) Specific Trigger Fired Mask contains 16 bits, corresponding to the 16 Level 1.5-Capable Specific Triggers. A bit is set high for each Specific Trigger which was not Confirmed Rejected by Level 1.5 at the end of the Level 1.5 Cycle. Note that the presence of a bit in this second Specific Trigger Fired Mask does not guarantee that the corresponding Specific Trigger was Confirmed Accepted by the Level 1.5 Trigger Framework (although the absence of a bit does guarantee that the corresponding Specific Trigger either did not meet its Level 1 requirements or was Confirmed Rejected by Level 1.5). This occurs for two reasons: o The Level 1.5 Cycle concludes after one Specific Trigger has been Confirmed Accepted by Level 1.5, regardless of the status of all other Specific Triggers o The Level 1.5 Cycle may time out In each case, the Specific Triggers which were not Confirmed Rejected by Level 1.5 at the end of the Level 1.5 Cycle will have their corresponding bits set in the Post-Level 1.5 Specific Trigger Fired Mask. The Level 1.5 Processing Nodes must therefore examine not only the Post-Level 1.5 Specific Trigger Fired Mask, but also the full readout of the appropriate Level 1.5 Trigger Subsystems, to see whether the Level 1.5 Trigger Subsystems, given time to complete their processing, would have accepted or rejected the individual Terms which made up the Specific Trigger. VI. Enforcing Separation between Level 1 and Level 1.5 Hardware ----------------------------------------------------------- The Level 1 Trigger Framework has the ability to ignore the control signals from the Level 1.5 Trigger Framework. The Level 1 Trigger Framework is programmed to ignore the Level 1.5 Trigger Framework whenever the Level 1.5 Trigger Framework is unavailable, or when no Specific Triggers are programmed to require Level 1.5 confirmation. Note that all signals from the Level 1.5 Trigger Framework are ignorable by the Level 1 Trigger Framework, with the notable exception of the 16 Specific Trigger Confirmed Rejected by Level 1.5 (Level 1.5 Veto) signals. When the Level 1.5 Trigger Framework is powered-off, or when the cable containing these signals is disconnected (at either end), the signals default to the inactive (Specific Trigger not Vetoed) state. VII. Level 1.5 and Future Level 1.5 Triggers --------------------------------------- It is important to note that the Level 1.5 Trigger Framework is a general purpose service provided for triggering. The interface between the Level 1.5 Trigger Framework and Level 1.5 Trigger Subsystems described in this note is very simple. Note that the Level 1.5 Trigger Framework is capable of providing signals indicating that specific Level 1.5 Trigger Subsystem processing is required for an event. Appendix A: Level 1.5 Reference Document for the Level 1.5 Muon Trigger Subsystem This is the Final Official Definition of the Level 1.5 Trigger Connection to and Operation with the Muon System -------------------------------------------------------------- Rev. 8-APRIL-1992 +--------------------------------+ | Input Information | |from the Level 1.5 Muon Trigger | |to the Level 1 Trigger Framework| +--------------------------------+ The Level 1.5 Muon Trigger System provides 16 Answer Signals for input to the Level 1.5 Trigger Decision. In addition the Muon System provides 16 Done Signals which indicate the validity of the information on the Answer Signal lines. The meaning of each Level 1.5 Muon Answer Signal line is set by COOR (as described in COOR's trigger definition files). COOR communicates with the Level 1.5 Muon System to program the meaning of these Answer Signal lines. These 16 Muon Level 1.5 Answer Signals are received by the Level 1.5 Trigger Framework and made available as 16 Level 1.5 Terms for the programming of Specific Triggers. A Resource file read by COOR describes the mapping of the 16 Level 1.5 Muon Answer Signals to 16 of the Level 1.5 Terms. COOR communicates with the Trigger Control Computer (TCC) to program the requirements made on each Specific Trigger. COOR will identify which Specific Triggers need a Level 1.5 confirmation. COOR will make Level 1 requirements and Level 1.5 requirements on those Specific Triggers. The requirements made on the Level 1.5 terms for a given Specific Trigger are set by COOR on the basis of their physical term number. A Level 1.5 Cycle begins when one or more Specific Triggers have fired which require Level 1.5 confirmation and no Specific Trigger has fired which does not require Level 1.5 confirmation. A Level 1.5 Cycle consists of one or more Level 1.5 Decision Tests. There is one Level 1.5 Decision Test per Beam Crossing cycle. The Level 1.5 Decision Test evaluates whether the Level 1.5 Cycle should be concluded. The first Level 1.5 Desision Test is made on the Beam Crossing cycle which follows the Beam Crossing cycle in which the Specific Trigger(s) fired which require Level 1.5 confirmation. Note that Level 1.5 Decision Tests are only performed on Specific Triggers which have both met their Level 1 requirements and have been programmed by COOR to require Level 1.5 Confirmation. A Level 1.5 Cycle ends when either: the time out is reached, a positive Level 1.5 result is reached for at least one participating Specific Trigger (i.e. all Level 1.5 Terms associated with that Specific Trigger have been Confirmed Accepted by the Level 1.5 Trigger Subsystem(s) which provide those Terms), or a negative Level 1.5 result is reached for all participating Specific Triggers (i.e. at least one Level 1.5 Term associate with each participating Specific Trigger has been Confirmed Rejected by the Level 1.5 Trigger Subsystem(s) which provide those Terms). It is a fundamental part of the Level 1.5 definition that no additional L1 triggers are sent out from the Trigger Framework as long as the Level 1.5 cycle is in progress. The Level 1.5 Done and Answer signals are sampled at a given point in the Beam Crossing cycle. The Level 1.5 Done and Answer signals are latched at the Level 1.5 Trigger Framework inputs approximately 1.3 microseconds after each Beam Crossing Marker (this is not the same point in the Beam Crossing cycle where the Level 1 And-Or Input Terms are latched). 1. A given Level 1.5 Muon Done signal will go low in response to a rising Start Digitize for a sector used in that Level 1.5 Muon Answer. 2. A given Level 1.5 Muon Done signal will be set high at the Trigger Framework at least 50 nanoseconds before the Trigger Framwork sampling time. 3. A given Level 1.5 Muon Answer signal will be valid at the time of the rising edge of the associated Level 1.5 Muon Done signal, so it will also be valid 50 nanoseconds before the Trigger Framework sampling time. When the Trigger Framework begins a Level 1.5 Decision Cycle, any Done Signals that it finds high will be considered to be valid Done Signals which are indicating the presence of valid information on their Answer line(s). During a Level 1.5 cycle, once a given Done signal goes high it must remain high until the end of the Level 1.5 cycle. LEVEL 1.5 MUON TRIGGER CABLES The 16 Answer Signals and the 16 accompanying Done Signals are carried on two separate 34 Conductor Twisted-Flat Cables. All signals on these cables are Positive True logic. All levels are differential ECL carried over the 110 Ohm twisted pair transmission lines. At the Receiving End (Level 1 Trigger Framework) the cables must be terminated with a 110 Ohm resistor across each differential pair of lines. The Sending End (Level 1.5 Muon Trigger) must provide the pull down current (typically either 510 Ohm resistors to -5.2V or else 56 Ohm pull down resistors to -2V). An ODD numbered pin is the non-inverted line of a signal with the next higher EVEN numbered pin the inverted line of the same signal. Pin on cable Function # ----------------------------------------------------------------------------- 1 brown Non-inverted Level 1.5 Muon Answer #0 2 tan Inverted Level 1.5 Muon Answer #0 3 red Non-inverted Level 1.5 Muon Answer #1 4 tan Inverted Level 1.5 Muon Answer #1 5 orange Non-inverted Level 1.5 Muon Answer #2 6 tan Inverted Level 1.5 Muon Answer #2 7 yellow Non-inverted Level 1.5 Muon Answer #3 8 tan Inverted Level 1.5 Muon Answer #3 9 green Non-inverted Level 1.5 Muon Answer #4 10 tan Inverted Level 1.5 Muon Answer #4 11 blue Non-inverted Level 1.5 Muon Answer #5 12 tan Inverted Level 1.5 Muon Answer #5 13 violet Non-inverted Level 1.5 Muon Answer #6 14 tan Inverted Level 1.5 Muon Answer #6 15 grey Non-inverted Level 1.5 Muon Answer #7 16 tan Inverted Level 1.5 Muon Answer #7 17 white Non-inverted Level 1.5 Muon Answer #8 18 tan Inverted Level 1.5 Muon Answer #8 19 black Non-inverted Level 1.5 Muon Answer #9 20 tan Inverted Level 1.5 Muon Answer #9 21 brown Non-inverted Level 1.5 Muon Answer #10 22 tan Inverted Level 1.5 Muon Answer #10 23 red Non-inverted Level 1.5 Muon Answer #11 24 tan Inverted Level 1.5 Muon Answer #11 25 orange Non-inverted Level 1.5 Muon Answer #12 26 tan Inverted Level 1.5 Muon Answer #12 27 yellow Non-inverted Level 1.5 Muon Answer #13 28 tan Inverted Level 1.5 Muon Answer #13 29 green Non-inverted Level 1.5 Muon Answer #14 30 tan Inverted Level 1.5 Muon Answer #14 31 blue Non-inverted Level 1.5 Muon Answer #15 32 tan Inverted Level 1.5 Muon Answer #15 33 violet Grounded at Sending End 34 tan Grounded at Sending End Pin on cable Function # ----------------------------------------------------------------------------- 1 brown Non-inverted Level 1.5 Muon Done for Answer #0 2 tan Inverted Level 1.5 Muon Done for Answer #0 3 red Non-inverted Level 1.5 Muon Done for Answer #1 4 tan Inverted Level 1.5 Muon Done for Answer #1 5 orange Non-inverted Level 1.5 Muon Done for Answer #2 6 tan Inverted Level 1.5 Muon Done for Answer #2 7 yellow Non-inverted Level 1.5 Muon Done for Answer #3 8 tan Inverted Level 1.5 Muon Done for Answer #3 9 green Non-inverted Level 1.5 Muon Done for Answer #4 10 tan Inverted Level 1.5 Muon Done for Answer #4 11 blue Non-inverted Level 1.5 Muon Done for Answer #5 12 tan Inverted Level 1.5 Muon Done for Answer #5 13 violet Non-inverted Level 1.5 Muon Done for Answer #6 14 tan Inverted Level 1.5 Muon Done for Answer #6 15 grey Non-inverted Level 1.5 Muon Done for Answer #7 16 tan Inverted Level 1.5 Muon Done for Answer #7 17 white Non-inverted Level 1.5 Muon Done for Answer #8 18 tan Inverted Level 1.5 Muon Done for Answer #8 19 black Non-inverted Level 1.5 Muon Done for Answer #9 20 tan Inverted Level 1.5 Muon Done for Answer #9 21 brown Non-inverted Level 1.5 Muon Done for Answer #10 22 tan Inverted Level 1.5 Muon Done for Answer #10 23 red Non-inverted Level 1.5 Muon Done for Answer #11 24 tan Inverted Level 1.5 Muon Done for Answer #11 25 orange Non-inverted Level 1.5 Muon Done for Answer #12 26 tan Inverted Level 1.5 Muon Done for Answer #12 27 yellow Non-inverted Level 1.5 Muon Done for Answer #13 28 tan Inverted Level 1.5 Muon Done for Answer #13 29 green Non-inverted Level 1.5 Muon Done for Answer #14 30 tan Inverted Level 1.5 Muon Done for Answer #14 31 blue Non-inverted Level 1.5 Muon Done for Answer #15 32 tan Inverted Level 1.5 Muon Done for Answer #15 33 violet Grounded at Sending End 34 tan Grounded at Sending End Appendix B: Low-level Structure of the Level 1.5 Trigger Framework This Is a List of the States of the Various Sections of the Level 1.5 Trigger Framework ------------------------------------------------------- GENERAL OVERVIEW ---------------- The Level 1.5 Trigger Framework can be considered either as a dataflow architecture (as described above), or as a state machine. In this Appendix, the low-level structure of the Level 1.5 Trigger Framework is presented as a state machine. For each hardware section of the Level 1.5 Trigger this file contains a list of the States that a given section can be in, the Stimulus that moves a given hardware section into and out of a given State, and the effects that are caused when a given hardware section is in a given State. Note that some states described below refer to the whole system. Other states refer to a given channel of a piece of hardware. See Figure 3 for a drawing illustrating the low-level structure of the Level 1.5 Trigger Framework. OVERALL LEVEL 1.5 TRIGGER SYSTEM STATES --------------------------------------- The overall Level 1.5 Trigger system is always in one of the following states: 0. L15_Disabled_State The Level 1.5 Trigger Framework is in the L15_Disabled_State either when the Level 1.5 Trigger Framework is unavailable (e.g. powered-off or faulty) or when no Specific Triggers are programmed to require Level 1.5 confirmation. The hardware is initialized to this state at Level 1 Trigger Framework power-up, Level 1.5 Trigger Framework power-up, and COOR Initialize. In this state the Level 1.5 Trigger Framework is not in use but pure Level 1 Specific Triggers (i.e. Specific Triggers which do not require Level 1.5 confirmation) may be programmed and firing. The Level 1 Trigger Framework is programmed to ignore any signals from the Level 1.5 Trigger Framework when in this state. The Level 1.5 Trigger Framework will exit this state when at least one Level 1.5-Capable Specific Trigger is actually programmed to require Level 1.5 confirmation, and the Level 1.5 Trigger Framework is available. It will then enter the L15_Quiescent_State. This state is actually a formal state of the system, in that the Level 1 Trigger Framework must know if the Level 1.5 Trigger Framework is available. It is one of the two states which can be considered normal Level 1 processing states. 1. L15_Quiescent_State This state is entered when at least one Level 1.5-Capable Specific Trigger is actually programmed to require Level 1.5 confirmation, and the Level 1.5 Trigger Framework is available. When the system is in this state, it watches the firing of Level 1 Specific Triggers. The system will exit this state when at least one Level 1 Specific Trigger fires which requires Level 1.5 confirmation AND no Level 1 Specific Triggers fire which do not require Level 1.5 confirmation. The system will then enter the L15_Processing_State. This state is one of the two states which can be considered normal Level 1 processing states. 2. L15_Processing_State This state is entered when at least one Level 1 Specific Trigger fires which requires Level 1.5 confirmation AND no Level 1 Specific Triggers fire which do not require Level 1.5 confirmation. The active Level 1.5 Trigger Framework processing occurs while the Level 1.5 Trigger Framework is in this state. The operation of the Level 1 Trigger Framework is suspended while the Level 1.5 Trigger Framework is in this state. That is, the Level 1 Trigger Framework is not watching its Trigger Terms, it will ignore all Disable signals, and no new Specific Triggers will fire during this state. The AND-OR Strobe and the appropriate Start Digitize and Hold Transfer signals are all high when the Level 1.5 Trigger Framework enters the L15_Processing_State. As long as the system is in this state, a number of Level 1 Trigger Framework Timing Signals will be "held" (e.g. Trigger Framework DBSC Clock). The details regarding the holding of the Level 1 Trigger Framework Timing Signals are presented elsewhere. The system will exit this state when either: time out is reached, all Specific Triggers which required Level 1.5 confirmation have been confirmed rejected, or else when one or more of the Specific Triggers which required Level 1.5 confirmation have been confirmed accepted. The system will then enter the L15_Exiting_State. 3. L15_Exiting_State This state is entered when either: time out is reached, all Specific Triggers which required Level 1.5 confirmation have been confirmed rejected, or when one or more of the Specific Triggers which required Level 1.5 confirmation have been confirmed accepted. While the Level 1.5 Trigger Framework is in this state, several pieces of information which contributed to the Level 1.5 decision are latched in preparation for inclusion in the First Level Trigger Data Block. The stored information includes the Post-Level 1.5 Specific Triggers Fired Mask, the 16 L15_Veto signals, the 16 L15_Confirm signals, the Level 1.5 Terms (both the ANSWER and DONE signals), and the Time_Out signal, among others. Also, the appropriate Hold Transfer and Start Digitize signals are released in the appropriate order. There is only one Level_15_Exiting_State. It is used for either Level 1.5 Decision possibility ("Accept at least one Level 1.5 Specific Trigger" or "Reject all Level 1.5 Specific Triggers"). In either case, the appropriate control signals have been set to the appropriate levels at the end of the L15_Processing_State. During the Level_15_Exiting_State, the previously "set-up" actions will simply be allowed to occur. For example, if all Specific Triggers which digitize a given Geographic Sector fail their Level 1.5 Confirmation, the Digitize Geographic Sector input to the Start Digitize and Hold Transfer MTGs in the Level 1 Trigger Framework will have been negated during the L15_Processing_State, and the Start Digitize and Hold Transfer MTGs will drop the Hold Transfer and Start Digitize signals to that Geographic Sector in the proper order during the Level_15_Exiting_State. The Level 1.5 Decision, both globally and per Specific Trigger, is recorded for monitoring purposes. The system will exit this state when all information is latched. The system will then enter the L15_Quiescent_State. STATES OF EACH CARD OR CHANNEL IN THE LEVEL 1.5 TRIGGER FRAMEWORK ================================================================= 1. Receiving MTG When the Level 1.5 Trigger Framework enters the L15_Processing_State, several Timing Signals are held as described above. Then, isochronously with the Level 1 Trigger Framework (and by extension the Beam Crossing) and beginning with the Beam Crossing AFTER the Beam Crossing which initiated the Level 1.5 processing, the Level 1.5 Trigger Framework begins to make Level 1.5 Decision Cycles. At a given point with respect to the Beam Crossing, each of the 32 Level 1.5 Terms is sampled. A Level 1.5 Term is made of 2 parts, the ANSWER and DONE signals. The Level 1.5 Terms are only looked at for one instant during each Level 1.5 Decision Cycle. A card called the "Receiving MTG" performs this sampling of the incoming Level 1.5 Terms, and generates a time-multiplexed DONE/ANSWER signal FOR EACH Level 1.5 Term. A table describes the status of the time-multiplexed DONE/ANSWER output signal FOR EACH Level 1.5 Term which, based on the states of the ANSWER and DONE signals which constitute that incoming Level 1.5 Term. Level 1.5 Term #i (at Term Sampling Time) State of the Receiving MTG Channel #i DONE ANSWER (output is L1.5 Term #i ANSWER/DONE) --------------------------------------------------------------------- (when in "global Level 1.5" L15_TERM_QUIESCENT L15_Quiescent_State) output DONE 1/2 cycle: NO ANSWER 1/2 cycle: YES ignore L1.5 Term #i NO (YES or NO) L15_TERM_NOT_DONE_YET output DONE 1/2 cycle: NO ANSWER 1/2 cycle: YES keep listening to Level 1.5 Term #i YES NO L15_TERM_DONE_AND_REJECTED output DONE 1/2 cycle: YES ANSWER 1/2 cycle: NO stop listening to Level 1.5 Term #i YES YES L15_TERM_DONE_AND_ACCEPTED output DONE 1/2 cycle: YES ANSWER 1/2 cycle: YES stop listening to Level 1.5 Term #i The DONE 1/2 cycle always precedes the associated ANSWER 1/2 cycle. In this way, the DONE 1/2 cycle information is used to "set up" the system for the ANSWER 1/2 cycle which follows. Each channel of this MTG must also have 2 other pieces of information: the "global Level 1.5" L15_Processing_State signal and a clock which can both latch the Level 1.5 Term and delineate the DONE and ANSWER 1/2 cycles. Each Level 1.5 Term (ANSWER and DONE) is processed by a single channel of an MTG. The MTG PAL is a PAL16RA8 so-called "asynchronous" PAL, programmed to perform the appropriate logic. 2. Done/Answer Digimems Each of the 32 time-multiplexed DONE/ANSWER #i signals is fed to one of the 32 inputs on one channel of a Digimem card to perform the logic required to fire a Level 1.5 Specific Trigger based on the Level 1.5 Terms for which the Level 1.5 Specific Trigger is programmed. 16 Digimem channels are required (one for each Level 1.5 Specific Trigger), which means 4 Digimem cards (consisting of 4 channels each) are required. Each Digimem channel is performed to produce the logical AND of the appropriate Level 1.5 Terms. This logical AND is performed during both the DONE 1/2 cycle and the ANSWER 1/2 cycle. Recall that this programming is accomplished by requiring all of the Level 1.5 Terms which are programmed for the Specific Trigger corresponding to each Digimem channel to be HIGH, and not caring about the Level 1.5 Terms which are not programmed for the Specific Trigger. This will produce an ACTIVE HIGH logical AND of the appropriate Level 1.5 Terms. State of the Level 1.5 State of the Done/Answer Digimem Terms for which this Level 1.5 Channel #j (output is Level 1.5 Specific Trigger is programmed Spec. Trig. #j DONE/ANSWER) ------------------------------ -------------------------------- L15_TERM_QUIESCENT L15_ST_j_QUIESCENT output DONE 1/2 cycle: NO ANSWER 1/2 cycle: YES all L15_TERM_NOT_DONE_YET L15_ST_j_NOT_DONE_YET output DONE 1/2 cycle: NO output ANSWER 1/2 cycle: YES at least one L15_ST_j_NOT_DONE_BUT_REJECTED L15_TERM_DONE_AND_REJECTED output DONE 1/2 cycle: NO and at least one ANSWER 1/2 cycle: NO L15_TERM_NOT_DONE_YET and any number of the remaining L15_TERM_DONE_AND_ACCEPTED at least one L15_ST_j_DONE_AND_REJECTED L15_TERM_DONE_AND_REJECTED output DONE 1/2 cycle: YES but no ANSWER 1/2 cycle: NO L15_TERM_NOT_DONE_YET and any number of the remaining L15_TERM_DONE_AND_ACCEPTED all L15_TERM_DONE_AND_ACCEPTED L15_ST_j_DONE_AND_ACCEPTED output DONE 1/2 cycle: YES ANSWER 1/2 cycle: YES Note that the Done/Answer Digimems DO NOT have direct knowledge of the global Level 1.5 state information, nor do they need it because they are purely combinational and have no latches or memory which must be cleared at the end of the cycle. Also note that each Digimem channel does not know whether its associated Specific Trigger has actually fired, and therefore will select its states and produce its output regardless of whether the Specific Trigger has fired. The Veto/Confirm MTG, which listens to the output of these cards, does know which Specific Triggers have fired and sets its outputs accordingly. 3. Veto/Confirm MTG The 16 time-multiplexed Level 1.5 Specific Trigger #j DONE/ANSWER signals are each fed to one input of one channel of an MTG to perform the logic to produce the Level 1.5 Specific Trigger #n Veto signal. The 16 time-multiplexed Level 1.5 Specific Trigger #j DONE/ANSWER signals are also each fed to one input of one channel of an MTG to perform the logic to produce the Level 1.5 Specific Trigger #j Confirm signal. 32 MTG channels are therefore required, comprising one MTG card. Each MTG channel needs 3 other pieces of real-time information: the "global Level 1.5" L15_Processing_State signal, the Specific Trigger #j Fired signal, and a clock to delineate the DONE and ANSWER 1/2 cycles. Finally, each Level 1.5 Specific Trigger can be Disabled by the Trigger Control Computer via the CBUS. When a Level 1.5 Specific Trigger is Disabled, neither the Veto nor the Confirm may be asserted. For each Level 1.5 Specific Trigger #j Confirm MTG channel, the action is as follows: Inputs to the Confirm MTG channel State of the Confirm MTG channel #j (including output of the #j (output is Specific Trigger Level 1.5 ST #j Digimem) #j Confirm) -------------------------------- -------------------------------- not L15_ST_j_ENABLED_STATE L15_ST_j_DISABLED output NOT_CONFIRM ignore DONE/ANSWER input ignore L15_Cycle input ignore ST_j_FIRED input L15_ST_j_ENABLED_STATE L15_ST_j_CONFIRM_QUIESCENT and not L15_PROCESSING_STATE output NOT_CONFIRM ignore DONE/ANSWER input reset internal "latches" L15_ST_j_ENABLED_STATE L15_ST_j_NOT_FIRED and L15_PROCESSING_STATE output NOT_CONFIRM and not ST_j_FIRED ignore DONE/ANSWER input L15_ST_j_ENABLED_STATE L15_ST_j_NOT_CONFIRMED_YET and L15_PROCESSING_STATE output NOT_CONFIRM and ST_j_FIRED continue looking at input and L15_ST_j_NOT_DONE_YET L15_ST_j_ENABLED_STATE L15_ST_j_NOT_CONFIRMED and L15_PROCESSING_STATE output NOT_CONFIRM and ST_j_FIRED stop looking at input and L15_ST_j_NOT_DONE_BUT_REJECTED L15_ST_j_ENABLED_STATE L15_ST_j_NOT_CONFIRMED and L15_PROCESSING_STATE output NOT_CONFIRM and ST_j_FIRED stop looking at input and L15_ST_j_DONE_AND_REJECTED L15_ST_j_ENABLED_STATE L15_ST_j_CONFIRMED and L15_PROCESSING_STATE output CONFIRM and ST_j_FIRED stop looking at input and L15_ST_j_DONE_AND_ACCEPTED For each Level 1.5 Specific Trigger #n Veto MTG channel, the action is as follows: Inputs to the Veto MTG channel State of the Veto MTG channel #j (including output of the #j (output is Specific Trigger Level 1.5 ST #j Digimem) #j Veto) -------------------------------- -------------------------------- not L15_ST_j_ENABLED_STATE L15_ST_j_DISABLED output NOT_VETO ignore DONE/ANSWER input ignore L15_Cycle input ignore ST_j_FIRED input L15_ST_j_ENABLED_STATE L15_ST_j_VETO_QUIESCENT and not L15_PROCESSING_STATE output NOT_VETO ignore DONE/ANSWER input reset internal "latches" L15_ST_j_ENABLED_STATE L15_ST_j_NOT_FIRED and L15_PROCESSING_STATE output NOT_VETO and not ST_j_FIRED ignore DONE/ANSWER input L15_ST_j_ENABLED_STATE L15_ST_j_NOT_VETOED_YET and L15_PROCESSING_STATE output NOT_VETO and ST_j_FIRED continue looking at input and L15_ST_j_NOT_DONE_YET L15_ST_j_ENABLED_STATE L15_ST_j_VETOED and L15_PROCESSING_STATE output VETO and ST_j_FIRED stop looking at input and L15_ST_j_NOT_DONE_BUT_REJECTED L15_ST_j_ENABLED_STATE L15_ST_j_VETOED and L15_PROCESSING_STATE output VETO and ST_j_FIRED stop looking at input and L15_ST_j_DONE_AND_REJECTED L15_ST_j_ENABLED_STATE L15_ST_j_NOT_VETOED and L15_PROCESSING_STATE output NOT_VETO and ST_j_FIRED stop looking at input and L15_ST_j_DONE_AND_ACCEPTED Note that each MTG channel needs to watch the Level 1.5 Specific Trigger #j DONE/ANSWER line through both the DONE and ANSWER 1/2 cycles before it can decide what its new state must be. Also note that the L15_PROCESSING_STATE signal acts as a reset for each MTG channel. 4. Specific Trigger FSTD These are the normal Level 1 Trigger Framework FSTD cards. They receive the ST_j_VETO signals, inverted, as AND-OR Inputs, as well as the normal output of the ANDOR cards. The inverted VETO signal will be low only if the Level 1.5 Trigger Framework has rejected the Specific Trigger #j. Recall also that the Level 1.5 Trigger framework will only reject Level 1.5 Specific Triggers for which the Level 1 Specific Trigger originally fired. The FSTDs control the firing of each Specific Trigger in the well-known fashion. If the VETO signal is asserted, they drop their Specific Trigger #j Fired signal. The 32 Specific Trigger Fired signals, also known as the Trigger Mask, are passed through the Specific Trigger Fired Fanout TLM for transmission to the Level 1.5 Trigger Framework. 5. Control Digimem Each of the 4 channels on a Digimem card is used to generate logical combinations of up to 32 inputs. This card is used to generate control information such as: At Least One Specific Trigger Requiring Level 1.5 Confirmation Fired, At Least One Specific Trigger Not Requiring Level 1.5 Confirmation Fired, and At Least One Specific Trigger Confirmed Accepted. 6. Level 1.5 Control MTG The card which determines the global Level 1.5 State information is the Level 1.5 Control MTG. Each MTG channel can perform some simple combinational logic, synchronize a signal with another signal, and/or latch a signal based on another signal. 7. Level 1.5 Readout IMLRO Several pieces of information generated by the Level 1.5 Cycle must be recorded for inclusion in the First Level Trigger Data Block. An IMLRO is to be used for this purpose. The IMLRO must be modified to provide "channels" which can be clocked at different times.