This Is a List of the States of the Various Sections of the Level 1.5 Trigger --------------------------------------------- Rev. 8-APR-1992 21-APR-1992 22-APR-1992 26-APR-1992 26-MAY-1992 5-JUN-1992 29-JUN-1992 22-JAN-1993 GENERAL OVERVIEW ---------------- For each hardware section of the L1.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. OVERALL L1.5 TRIGGER SYSTEM STATES ---------------------------------- The overall L1.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 must be 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 effectively 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 L1.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. DETAILS OF THE STATES OF EACH CARD OR CHANNEL IN THE L1.5 TRIGGER ================================================================= 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 FSTD cards which are in the Level 1 Trigger Framework. 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. All 4 channels are expected to be used as follows: Function Inputs Programming -------- ------ ----------- >=1 Level 1.5 16 L15_ST_j_CONFIRMED Require all ST Specific Trigger 1 Short_Time_Out programmed to Confirmed Accepted 1 Long_Time_Out require L1.5 confirmation to be LOW, require Time_Out to be LOW, don't care for all other inputs. Output will be ACTIVE LOW and must be inverted with cable. Note if no ST programmed for L1.5 confirmation (ie Digimem programmed for all don't care), the output is HIGH, (ie inactive). >=1 Pure Level 1 32 ST_j_FIRED Require all ST Specific Trigger programmed to Fired NOT require L1.5 confirmation to be LOW, don't care for all other inputs. Output will be ACTIVE LOW and must be inverted by cable. >=1 Level 1.5 16 ST_j_FIRED Require all ST Specific Trigger (choose the 16 programmed to Fired Level 1.5-Capable require L1.5 Specific Triggers 0..15) confirmation to be LOW, don't care for all other inputs. Output will be ACTIVE LOW and must be inverted in cable. Note if no ST programmed to require L1.5 confirmation (ie Digimem programmed for all don't care) the output is HIGH (ie inactive) >=1 Level 1.5 16 ST_j_FIRED Require all ST Specific Trigger (choose the 16 programmed to Requiring TRD Level 1.5-Capable require L1.5 Confirmation Specific Triggers 0..15) TRD confirmation Fired to be LOW, don't care for all other inputs. Output will be ACTIVE LOW and must be inverted in cable. Note if no ST programmed to require TRD confirmation (ie Digimem programmed for all don't care) the output is HIGH (ie inactive) Note that this Digimem is purely combinational, and has no knowledge of the global Level 1.5 State information. 6. 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. See MSUTRGROOT:[D0_TEXT.TIMING_AND_CONTROL]SINGLE_SIGNALS.TXT for a full specification of the channels of this MTG. 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. See TRGL15:ASSIGNMENTS.TXT for the detailed description of the "channels" of this IMLRO.