D0 Note - 705 THE LEVEL ONE FRAMEWORK: D0 NOTE 328 REVISED MAY 26, 1988 Maris Abolins, Daniel Edmunds, Philippe Laurens James Linnemann and Bo Pi Michigan State University The D0 Level One Framework I. Introduction This note is a revision of D0 Note 328 (1) of February 24, 1986. Its purpose is to summarize the status of the Level One Framework emphasizing the changes that have taken place since Note 328 was written. II. The Level One Trigger DATA Block The DATA Block will contain similar information to that described in the earlier note. At the current time, however, its exact FORMAT cannot be specified since our thinking regarding the amount of information needed is undergoing almost daily changes. III. Standards for Adding Information to the Level One Trigger DATA Block It is relatively simple to add information to the Level One Trigger Data Block. The interested user must simply provide a standard VME module that he wishes to be READ and place it in the VME trigger crate which resides in the moving counting house rack M103. The desired information can be READ out and inserted in the DATA Block. IV. Trigger Prescalers Nothing has changed in this area. Each Specific Trigger still has associated with it a 24 bit scaler which can be programmed to reduce that trigger rate to any desired level. The prescaler is located at the output of the AND gate in the Specific Trigger AND-OR Network. V. Specific Trigger Scalers A. Physics Related Each specific trigger has two 40 bit double-buffered scalers assigned to it. The first of these increments each time the trigger fires and the other increments on every beam crossing for which that trigger has been enabled i.e. for every crossing for which that trigger has not been prevented from firing by the action of some veto. B. Diagnostic Each specific trigger has also assigned to it a total of seven 32 bit scalers which count the number of beam crossings for which each of the (seven maximum) veto's is active. An eighth scaler, also with 32 bits, increments every beam crossing for which the AND-OR Network has fired. C. Beam Crossing Scalers There is no longer a "Beam Crossing Scaler". IF the number of beam crossings turns out to be an interesting quantity, there are a large number of scalers available in the Framework to count them. As discussed below, the unique identifying number associated with a given event will be the trigger number which is counted by a scaler that increments when any of the specific triggers fires. It is this number which will be distributed to other parts of the DATA acquisition system for synchronization purposes. VI. Synchronization and Interface with the DATA Acquisition System A. Specific Triggers Fired Cables Anytime the Level One Trigger fires it must inform the Level Two Trigger Supervisor and the 8 DATA Cable Sequencers as to which of the Specific Triggers have been satisfied. This is done over two 17-pair cables called the SPECIFIC TRIGGERS FIRED CABLES #1 and #2. These two cables provide a separate line for each specific trigger along with a strobe signal. A strobe signal indicates that at least one of the Level One Specific Triggers has fired. This strobe is also a signal to the Level Two Supervisor and the DATA Cable Sequencers that a valid trigger has occurred and that a DATA acquisition cycle is in progress. In the event that a Level 1.5 trigger decision is required, the strobe signal is delayed until after this decision. No strobe is sent IF the Level 1.5 is not satisfied. This eliminates the need to design specific abort features into the Level Two Supervisor and DATA Cable Sequencer. The pinout of these cables is unchanged from that given on pages 5 and 6 of D0 Note 328. B. Trigger Acquisition Synchronization Cables The DATA Acquisition System is logically divided into 32 separate sections. Synchronization of each section with the Framework is accomplished by means of 32 separate cables (The Trigger-Acquisition Synchronization Cables) each containing 20 differential signals. These signals are called: Start Digitization Command, Front-End Crate Busy Signal, Hold Transfer Signal and 16-bit Ordinal Trigger Number. The cable pinout, with minor changes, is the same as that given on pages 10 and 11 of D0 Note 328. The changes are: the Beam Crossing Number (pins 1 - 32) is now the Ordinal Trigger Number and the Clear Most Recent Trigger Signal (pins 37 and 38) is now the Hold Transfer Signal. Each of the signals is discussed in detail below. i. Start Digitization Command When the Trigger Framework sends out a Level One Trigger it also sends out information indicating which sections of the DATA Acquisition System (DAS) should start a digitization cycle in response to the Specific Triggers that have fired. A separate Start Digitization Command is generated by the Trigger Framework for each section of the DAS. When received by a section of the DAS, the SDC is used to initiate the readout of that section. The mapping of Specific Triggers fired versus which Sections of the DAS should begin a digitization cycle is controlled by the programmable Specific Triggers Versus Sections Digitized Lookup Memory. This lookup memory maps the 32 Specific Triggers onto the 32 Start Digitization Commands (SDC's). IF the Tevatron is operating in a 6 on 6 bunch mode, THEN the SDC's can be sent from the Framework as late as 3.050 1 0.010 microseconds after a beam crossing and still arrive in advance of the next beam crossing. The current calorimeter design allows reducing this time to as low as 1,340 nsec with execution of the full calorimeter trigger sequence. IF necessary, for example at extreme luminosities, a limited pre-trigger can be constructed that can reduce this time even further to 880 nsec. All of these numbers INCLUDE the cable delays in getting the signals from the platform the Movable Counting House. ii. Front-End Crate Busy Signal As before, when both halves of the analog double buffer in a section of Front-End crates are in use the Trigger Framework is prevented from generating another specific trigger that would involve a readout of that section of the DAS. This is done by Front-End crates sending a busy signal to the Framework. The mapping of Front-End Crate Busy Signals versus which Specific Triggers must be disabled is controlled by the programmable Front-End Crate Busy Signal Versus Specific Triggers Disabled Lookup Memory. iii. Hold Transfer Signal This signal is used to prevent the front-end crate electronics from informing the DATA cable buffer driver that new DATA is available until a decision not to abort this DATA acquisition cycle has been made. In figure 1, below, are shown timing cycles for a normal readout sequence and an aborted readout sequence. Indicated are four signals: the Start Digitize, the Hold Transfer, the Specific Triggers Fired and the Strobe Specific Triggers Fired. FIGURE 1 -------- NORMAL READOUT SEQUENCE ----------------------- _________________________________ START | | DIGITIZE /|\ | _______________| |________ ____________________________ HOLD | | TRANSFER | \|/ _______________| |_____________ __________ _____________________________________________ SPECIFIC \ / TRIGGER X FIRED __________/ \_____________________________________________ SPECIFIC _____ TRIGGERS | | FIRED /|\ | STROBE ____________________________________________| |_______ ABORTED READOUT SEQUENCE ------------------------ _______________________________ START | | DIGITIZE /|\ | _______________| |__________ ____________________________________ HOLD | | TRANSFER | \|/ _______________| |_____ __________ _____________________________________________ SPECIFIC \ / TRIGGER X FIRED __________/ \_____________________________________________ SPECIFIC TRIGGERS FIRED STROBE __________________________________________________________ Anytime a Start Digitize signal is sent to the Front END Crates it will be accompanied by a Hold Transfer signal. This is true even for those Level 1 Triggers that DO not require a subsequent Level 1.5 validation. iv. Ordinal Trigger Number The same Ordinal Trigger Number is sent out on all 32 Trigger-Acquisition Synchronization Cables. A 40 bit scaler counting this number is incremented on each beam crossing where any specific trigger is satisfied. The lowest 16 bits of this number are embedded in each piece of DATA associated with a given event to assure synchronization of all the DATA for a given event. The full 40 bit number is transferred in the Trigger DATA Block. VI. EXTERNAL Information for Input to the AND-OR Network The ENTRY of triggering DATA from other trigger systems, e.g. the Muon Trigger or the Level 0 Trigger, is accomplished by supplying inputs to the AND-OR Network. The mechanics of how this is accomplished has not changed from that described in D0 Note 328 except for the timing. It was previously stated that all information had to be present at the Framework by 2.9 microseconds after beam crossing. This assured deadtime-less operation with as many as six bunches of protons and antiprotons in the machine. IF any of the proposals to increase the number of bunches in the machine is implemented THEN this time will have to be reduced. The current design of the Calorimeter Trigger can reach a decision about 1,080 nano-seconds after beam crossing (including cable delays from the platform to the moving counting house). Therefore, IF additional delays are not to be introduced, any other trigger must get to the Framework in 1,080 nanoseconds or less. The pinout for the relevant cables is unchanged from that given on pages 11 and 12 of D0 Note 328. VII. General Purpose Timing Signals Although timing signals are generated by the Framework for use in synchronizing its operations, it is not expected that these will be distributed to other systems in the experiment. This FUNCTION will be provided by the D0 Master Timing Generator. Timing signals from the Framework are, however, available to anyone who feels he has a need for them. VIII. Automatically Disabled Specific Triggers This feature permits a trigger to automatically disable itself after firing. It can be re-enabled by the Level One Trigger Control Computer. This feature has not changed. IX. Specific Triggers Disabled by the Level Two Trigger Supervisor & Computer When the queue of Level Two Trigger Nodes assigned to a Specific Trigger becomes empty, that Specific Trigger must be disabled. Except for timing, how this is accomplished has not changed and remains as described in Section 11 of D0 Note 328. In the conventional 6x6 scenario, the busy signal must arrive by 2.9 microseconds after beam crossing. This time must be decreased to 1,080 nsec if the Calorimeter Trigger and Framework are to be used at their maximum rate. X. Transmission of the Level One Trigger DATA Block to a Level Two Trigger Node The DATA transfer from the Framework to a Level Two Node is sent, as before, over DATA Cable 0. The synchronization between the Framework and the DATA Cable Driver for this DATA cable is shown in Figure 2. This timing sequence follows the specification of M. Johnson (2). Any other data added to the DATA Block in a manner indicated above, is also transferred in this way. Figure 2 -------- _____________________________ SLACE | | READY | | J3 C9 _________| |___________________ DATA CABLE _____________ DRIVER | | FINISHED | | J3 C10 _________________________________| |__________ XI. Communications The Framework communicates by various means with a number of separate computers. These INCLUDE the Level 2 Supervisor, the Host, the Level One Trigger Control Computer and the Level Two Processor Nodes. The Sections below describe these communication links. A. Processor to Processor The communications between the Host and the Level One Trigger Control Computer is via an Ethernet connection using ELNCON (3) with protocols specified by Gibbard (4). The Level Two Supervisor can communicate with the Trigger Control Computer, using the same protocols, in order to re-enable triggers that have been automatically disabled or to disable triggers for which the queue of associated second level processors has become exhausted. B. Framework to Processor As already mentioned above, one path of communication is by means of the DATA cable 0, conveying the Trigger DATA Block to the Level Two Nodes. Two special communication paths exist between the Framework and the Level Two Supervisor: The Specific Triggers Fired Cable and the All Nodes in Queue Are Busy. Both of these have been described above. XII. Performance Limitations The Framework's operation is fully compatible with our design for the calorimeter trigger which can operate in a Tevatron environment where every 7th RF bucket contains particles. This corresponds to about 132 nanoseconds between crossings for the Tevatron 50 Mhz clock frequency. Some caveats are in order. The ability of the Host and the Level Two Supervisor to enable and disable triggers via the Ethernet link may be affected by the unpredictable latencies in this channel. Unless care is taken, the scheme of assigning specific processor nodes to specific triggers may become corrupted. XIII. Figure Captions Figure 1. Readout Sequence Timing Signals Figure 2. Synchronization with DATA Cable Buffer Driver REFERENCES ---------- 1. "D0 Trigger Framework" Maris Abolins, Daniel Edmunds and James Linnemann, D0 Note 328, February 24, 1986. 2. Marvin Johnson and Don DeGroot, Fermilab Note of 25-Mar-88 "RE: Our DATA Cable Driver Wish List". 3. "ELNCON, A Set of Functions for Communications with VAXELN Tasks". J. S. Hoftun, Brown University Note, September 9, 1986. 4. "COOR Task/Trigger Control Communication" B. Gibbard, April 28, 1987, unpulished.