nance's dcimdoc



The Multiplicity Vertex Detector Data Collection Interface Module



PHENIX-MVD-98-14, PHENIX Note 342

M. N. Ericson, M. D. Allen
Oak Ridge National Laboratory, Oak Ridge, TN 37831-6006

INTRODUCTION

The Data Collection Interface Module is responsible for receiving serial event data from the MCMs and formatting and transmitting the new packetized data to the Data Collection Modules via GLink. This document briefly summarizes specifics of the DCIM including module functioning, interfaces, data formats, and PCB layout.

MODULE DESCRIPTION & INTERFACES

A block diagram of the DCIM is shown in Figure 1. Each Data Collection Interface Module (DCIM) receives serial data from 6 MCMs, converts the serial data into parallel data, adds DCM formatting words, and utilizes one FIFO per channel for data transmission to the associated DCMs using a GLink (see Figure 1).

DCMIM Block Diagram (not yet converted)

Figure 1. Data Collection Interface Module Block Diagram

Each MCM serial stream consists of two data lines (SDATA1,2) coupled with a common clock line (SCLK). The system is functionally partitioned so that 2 MCM serial data channels are handled by a pair of Xilinx XC4010E FPGAs, allowing partitioning of the serial translator and data formatting functions. Table 1 details the contents of the serial string from the MCMs. Each 10-bit word sent contains a parity bit in the most significant bit.

10-Bit Word Contents
1 event count (upper byte)
2 event count (lower byte)
3 beam count
4 AMU cell 1
5 AMU cell 2
6-262 ADC data (256 10-bit words)
263 checksum

Table 1. MCM to DCIM Serial Data Packet Format

The start bit is defined as four rising edges of the SDATA1 line while SCLK is asserted high. The stop bit is four rising edges of the SDATA2 data line while the SCLK line is asserted high. When SCLK goes low, the requirement on the start and stop bit is reset, and the circuit begins again looking for consecutive edges on the data lines. When a start bit is detected, the data is clocked out and synchronized so that the rising edge of the SCLK is in the middle of each data bit. The first data word appears on SDATA1, and the second word is clocked out on SDATA2, beginning with the sixth bit of the first word on SDATA1. Thus, the serial data is staggered but is always synchronized with SCLK.

Serial data from the MCM is translated from LVDS to TTL levels, and is formed into parallel words by the Serial Translator FPGA, which checks parity for bit errors and logs framing errors before writing the data to a FIFO. From the data contained in the FIFOs, the Formatting and Output Control FPGA adds the module address (set by jumper on the DCIM PCB), header and trailer words, and 8 user words. Formatted event data packets, consisting of 20-bit words, are transmitted to the DCMs via GLink at ~19 Mb/sec (2X Beam Clock rate). The output data packet format for each of the GLink channels is outlined in Table 2.

Sequence No. 16-bit Word Format CAV DAV
1 all bits 'ON' on off
2 Detector ID off on
3 Event Number off on
4 Module Address off on
5 Flag Word off on
6 FEM Beam Clock Counter off on
7 AMU Cell Numbers off on
8-264 Data Block (257 Channels) off on
265-272 User Word Block (8 Words) off on
273 (Longitudinal Parity Word) off on
274 all bits 'OFF' on off

Table 2. DCIM Output Data Packet Format

The DCIM is designed to handle serial data errors in limited fashion. Two error conditions are dealt with at the DCIM level -- framing and data errors. Framing errors include incorrect packet formatting, length, or start/end bit sequencing errors and are easily detectable. If a packet error occurs, a reserved bit in the 18-bit FIFO data is set and maintained for the first occurrence and every word thereafter for the duration of the packet. The errors and set bits are as follows:

1. underflow (not enough words before a stop bit) - bit 11
2. overflow (too many words before a stop bit) - bit 12
3. two consecutive start bits without a stop bit - bit 13
Data errors are detected via the parity bit that accompanies each 10-bit data word. All errors are handled similarly in that correct length packets are always sent to the DCMs. Eight user words are appended to each data packet to communicate error conditions to the DCM. Positions of the words containing data parity errors are stored in the first seven words -- the eighth word contains the framing error identifiers. The original check sum generated at the MCM is passed unmodified to the DCM. These are fatal errors, but a complete packet is still sent from the DCM, with null words used to fill in any non-existing words in the packet.

At initial installation of the PHENIX detector, the MCM to DCM ratio will be 2, changing to 1 as the remaining group of DCMs are purchased and installed at a future date. Operation in either mode (ratios of 2:1 and 1:1) is accomplished using the reprogrammability of the FPGAs and two channel enable bits ENDAT[0,1]. These bits indicate which of the 2 multiplexed channels (odd or even) transmit data over the shared GLink channel. The data formatting and control FPGA handles this function. Each channel is hard-wired on the PCB as either even or odd.

INTERFACES

The LVDS inputs enter the board through a standard dual row, 36 pin header/connector. Information on the exact pin assignments associated with this connector can be found within the MVD Web links.

Three separate backplane connectors were selected for use in each crate -- one providing both power and signal distribution, and two additional connectors for supplying power. The estimated power requirements detailed in later sections provide the justification for this additional connector. The signals were grouped according to function, speed, and noise susceptibility, and assigned to the three connectors as shown in Tables 3, 4, and 5, which are found at the end of this document. Power was split into 4 separate supplies: +5V_D (digital power), +5V_GL (GLink power), and (12V_A (analog power). Grounds associated with each supply are also split accordingly to allow flexibility for crate grounding optimization. Additionally, extra signals (identified by * suffix) are assigned to each group and will be incorporated into module buffering for future expansion if necessary. Figure 2 shows the DCIM's I/O connectors and their general location on the PCB. Front panel mounted LED's were added to the design to allow external observation of the board power and FGPA DONE conditions.

Programming of the FPGAs is accomplished via the ARCNet-controlled VME backplane bus or a header on the board which is provided for testing purposes. The FPGAs are programmed as 3 groups of 2 serially connected units. Upon being programmed the DCIM has built-in capability for allowing polling of the 'DONE' bit of each FPGA individually using the backplane signals provided. This ensures proper system functionality. The FPGA's are clocked by a 4X Beam Clock signal which is produced on the board using a frequency synthesizer with the Beam Clock as its input. The frequency synthesizer is the exact design used in the Timing & Control Interface Module and other test fixtures associated with MVD.

PCB DESIGN & LAYOUT CONSIDERATIONS

Great care was taken during the PCB parts placement and trace routing to provide adequate termination and acceptable trace lengths for each board-level signal based on the associated speed requirements. The 4X Beam Clock lines were serially terminated at the load and effort was made to keep the runs short. Less attention was required in routing the 20-bit data bus between the Xilinx and GLink parts due to the clocking rate of ~ 19 MHz. Board floorplanning and partitioning were used to optimize the data flow paths in the unit. The PCB was implemented using a standard four layer process with split ground planes (GLink, FPGA, and Glue).

DCMIM pPhysical Layout (not yet converted)

Figure 2. DCIM Physical Layout and Connector Location

Pin Row A Pin Row B Pin Row C
1 --- 33 --- 65 ---
2 --- 34 GND_GL 66 ---
3 --- 35 --- 67 ---
4 --- 36 N/C 68 ---
5 --- 37 N/C 69 ---
6 --- 38 N/C 70 ---
7 --- 39 N/C 71 ---
8 --- 40 N/C 72 ---
9 GND_GL 41 N/C 73 GND_GL
10 --- 42 N/C 74 ---
11 GND_GL 43 N/C 75 ---
12 --- 44 --- 76 ---
13 --- 45 GND_GL 77 ---
14 GND_GL 46 --- 78 ---
15 GND_GL 47 --- 79 ---
16 --- 48 --- 80 ---
17 GND_GL 49 --- 81 ---
18 --- 50 GND_GL 82 ---
19 GND_GL 51 --- 83 ---
20 --- 52 GND_GL 84 ---
21 N/C 53 --- 85 ---
22 N/C 54 --- 86 ---
23 --- 55 GND_GL 87 ---
24 GND_GL 56 --- 88 ---
25 --- 57 --- 89 ---
26 --- 58 --- 90 ---
27 --- 59 --- 91 ---
28 --- 60 --- 92 ---
29 --- 61 --- 93 ---
30 --- 62 --- 94 ---
31 +5V_GL 63 +5V_GL 95 +5V_GL
32 +5V_GL 64 +5V_GL 96 +5V_GL

Table 3. VME P1A Backplane Connector
(Module Flags and GLink Power(+5V_GL,GND_GL)


Pin Row A Pin Row B Pin Row C
1 MODEBIT0 33 --- 65 *CONF_TIM_X1
2 MODEBIT1 34 GND_D 66 GND_D
3 MODEBIT2 35 --- 67
4 MODEBIT3 36 N/C 68 *CONF_TIM_X3
5 MODEBIT4 37 N/C 69 *CONF_TCIM_X0
6 MODEBIT5 38 N/C 70 *CONF_TCIM_X1
7 *MODEBIT6 39 N/C 71 TCIM_GL_STAT
8 *MODEBIT7 40 N/C 72 TCIM_GL_RESET
9 GND_D 41 N/C 73 GND_D
10 BEAM_CLK 42 N/C 74 PA_SCLK_TIM
11 GND_D 43 N/C 75 PA_SDIN_TIM
12 ENDAT0 44 --- 76 PA_SDOUT_TIM
13 ENDAT1 45 GND_D 77 PA_SEN_TIM
14 --- 46 SCLK_DCM 78 ---
15 GND_D 47 SDIN_DCM 79 GND_D
16 LVL-1 48 SCLK_TIM 80 GL_MUX2
17 GND_D 49 SDIN_TIM 81 GL_MUX1
18 DONE_RETURN 50 GND_D 82 GL_MUX0
19 GND_D 51 GL_STAT 83 GND_D
20 --- 52 GND_D 84 GL_SYNC
21 N/C 53 PROGB_DCM 85 GND_D
22 N/C 54 GND_D 86 MODADDR0
23 --- 55 GND_D 87 MODADDR1
24 GND_D 56 PROGB_TIM 88 MODADDR2
25 PA_SCLK_TCIM 57 GND_D 89 MODADDR3
26 PA_SDIN_TCIM 58 *CONF_DCM_X0 90 MODADDR4
27 PA_SDOUT_TCIM 59 *CONF_DCM_X1 91 DONE_MUX0
28 PA_SEN_TCIM 60 *CONF_DCM_X2 92 GND_D
29 MRESET_TIM 61 *CONF_DCM_X3 93 DONE_MUX1
30 MRESET_DCM 62 *CONF_TIM_X0 94 DONE_MUX2
31 +5V_D 63 +5V_D 95 +5V_D
32 +5V_D 64 +5V_D 96 +5V_D

Table 4. VME P1 Backplane Connector
*CONF_DCM_X[0..3] Reserved for DCIM Configure Expansion
Small text indicates signal assignments not used by DCIM


Pin Row A Pin Row B Pin Row C
1 --- 33 --- 65 ---
2 --- 34 GND_A 66 GND_A
3 --- 35 --- 67 ---
4 --- 36 N/C 68 ---
5 --- 37 N/C 69 ---
6 --- 38 N/C 70 ---
7 --- 39 N/C 71 ---
8 --- 40 N/C 72 ---
9 GND_A 41 N/C 73 GND_A
10 --- 42 N/C 74 ---
11 GND_A 43 N/C 75 GND_A
12 --- 44 --- 76 ---
13 --- 45 GND_A 77 ---
14 GND_A 46 --- 78 ---
15 GND_A 47 --- 79 ---
16 --- 48 --- 80 ---
17 GND_A 49 --- 81 GND_A
18 --- 50 GND_A 82 ---
19 GND_A 51 --- 83 GND_A
20 --- 52 GND_A 84 ---
21 --- 53 --- 85 ---
22 --- 54 --- 86 ---
23 --- 55 GND_A 87 ---
24 GND_A 56 --- 88 ---
25 --- 57 --- 89 GND_A
26 --- 58 --- 90 ---
27 --- 59 --- 91 ---
28 --- 60 --- 92 ---
29 --- 61 --- 93 ---
30 --- 62 --- 94 ---
31 +12V_A 63 +12V_A 95 +12V_A
32 -12V_A 64 -12V_A 96 -12V_A

Table 5. VME P1P Backplane Connector - Power Distribution Only