Developing Mezzanine Cards

M. Campbell, J. Chapman, E. James, M. Kelly, C. Murphy, D. Winn, D. Wolinski

Revision D.2 - January 1998

Requirements and Card Count

Almost all of the TDC cards will require some form of mezzanine card to either generate the Level 1 trigger primitives or to prepare and transmit the raw hits to some other card that will prepare the primitives. This document is intended to provide the information needed by the designers of these mezzanine cards. There are specifications relating to the physical size and clearance of the card, specifications regarding the power and voltage levels available to the card, connector specifications and pin assignments, and specifications regarding the serial and parallel bus programming features available on the card. The table below gives the current channel count for the TDCs and an approximate number of TDC and mezzanine cards needed. The number of TDCs differs from the number of mezzanine cards since only those channels used in the trigger need have mezzanine cards. There are a minimum of three (3) different mezzanine card designs and possibly more. The COT will certainly have a design unique to it. The muon time difference measurements needed for the CMU, CMX, and IMU will likely all be handled by a single Dt selecting card. The programmable Xilinx based trigger card designed for the CMP pattern finding could potentially be programmed to do all the scintillator and Hadron TDC bit gating and multiplexing. The mezzanine card counts assume that the axial COT wires and the outer most stereo layer are instrumented with finder circuits and that only the mean-timed CSX scintillator signals are instrumented.

Number of Mezzanine Cards Needed by System

System count

#Chan

#TDC

#Mez

Characteristics of the Mezzanine Card

# of COT wires

30240

315

222

Hits gated (prompt and delayed) and multiplexed 4:1

# of CMU chambers

2304

24

24

Test pair Dt against 3 thresholds, encode, and multiplex

# of CMX chambers

2304

24

24

Test pair Dt against 3 thresholds, encode, and multiplex

# of CMP chambers

1096

13

13

Test 1 of 8 patterns and multiplex results

# of CSP scintillators

274

4

4

Discriminator output is gated, latched, and multiplexed

# of CSX scintillators

768

8

4

Mean timed signals are gated, latched, and multiplexed

# of IMU chambers

1728

18

18

Test pair Dt against 3 thresholds, encode, and multiplex

# of IMU scintillators

756

10

10

Discriminator output is gated, latched, and multiplexed

# of Hadron TDCs

1728

18

18

Discriminator output is gated, latched, and multiplexed

Total channels

41198

 

 

 

Connections and Signals

A diagram of the mezzanine card is shown below in Fig. 1. The connector labeled #1 is located interior on the board and delivers signals which are replications of the inputs to the TDC. These signals are labeled wire_data_nn in Table 2, where nn is the channel number in the TDC. The remaining connectors labeled #2 and #3 are anterior on the card and connect primarily to P3 on the VME backplane. Tables 3 and 4 provide the pin assignments for these anterior connectors. The signals represented on these connectors are defined by the designer of the mezzanine card to fulfill the function required of the board. Connectors #2 and #3 contain several control lines to the mezzanine card from the TDC for programming the Xilinx or programming constants into the Xilinx or other custom chips on the mezzanine card.

The 140 pin connectors (#1, #2, and #3), defined in Tables #2, #3, and #4, are of AMP manufacture and are units in the CHAMP 0.8mm FH series. The connector mounted on the TDC board is AMP 5-179009-6 (the receptacle) and its mating partner on the Mezzanine card is 179031-6 (the plug). The TDC mounted receptacle, 5-179009-6, is sold in only one height. The mezzanine card plug, 179031-6, is one of a series that are manufactured in several heights. These mating connectors are illustrated in Fig. 2 below. In the figure the board separation (called stack height) is listed with the range 5.00-16.00mm. The 179031-6 is one specific height selected such that the board separation is 12mm.

The CDF control signals to the mezzanine card are not the CDF control signals as they appear on the backplane. These signals have been processed within the TDC. They are different in two distinct ways, they are logically inverted relative to the backplane signals and most have been latched on the rising edge of CDF_CLK and thus change each 132ns. The labels in Table 2 indicate the inversion only. The signals that have no storage latch are a) CDF_L1A which rises with CDF_CLK and falls with the deassertion of backplane signal CDF_L1A* and b) CDF_L1_BUFF0 and CDF_L1_BUFF1 which are simple inversions.

The transmitted signals from the mezzanine card route to the hard metric connectors, J3(J5/J6), of the VME backplane. The signals and pin assignments for the mezzanine connectors #2 and #3 are represented in Tables 3 and 4 below. In these tables signal names are chosen as the connector, row, and column of the hard metric connector so as to not introduce additional names that have no meaning except as intermediaries. In the corresponding tables for the connectors J3(J5/J6), Tables 5 and 6, the names define the connector and pin location on the mezzanine card connectors #2 and #3.

 

The 140 pin mezzanine card plug is shown in Fig. 3.

 

Mezzanine Connector #1 Pin Assignments

Pin No

Signal

Pin No

Signal

Pin No

Signal

1

GND

48

WIRE_DATA_39

95

WIRE_DATA_68

2

GND

49

WIRE_DATA_40

96

WIRE_DATA_69

3

GND

50

WIRE_DATA_41

97

WIRE_DATA_70

4

GND

51

WIRE_DATA_42

98

WIRE_DATA_71

5

WIRE_DATA_0

52

WIRE_DATA_43

99

WIRE_DATA_72

6

WIRE_DATA_1

53

WIRE_DATA_44

100

WIRE_DATA_73

7

WIRE_DATA_2

54

WIRE_DATA_45

101

WIRE_DATA_74

8

WIRE_DATA_3

55

WIRE_DATA_46

102

WIRE_DATA_75

9

WIRE_DATA_4

56

WIRE_DATA_47

103

WIRE_DATA_76

10

WIRE_DATA_5

57

GND

104

WIRE_DATA_77

11

WIRE_DATA_6

58

GND

105

WIRE_DATA_78

12

WIRE_DATA_7

59

SPARE

106

WIRE_DATA_79

13

WIRE_DATA_8

60

SPARE

107

GND

14

WIRE_DATA_9

61

VCC

108

GND

15

WIRE_DATA_10

62

VCC

109

WIRE_DATA_80

16

WIRE_DATA_11

63

VCC

110

WIRE_DATA_81

17

WIRE_DATA_12

64

VCC

111

WIRE_DATA_82

18

WIRE_DATA_13

65

VCC

112

WIRE_DATA_83

19

WIRE_DATA_14

66

VCC

113

WIRE_DATA_84

20

WIRE_DATA_15

67

VCC

114

WIRE_DATA_85

21

GND

68

VCC

115

WIRE_DATA_86

22

GND

69

SPARE

116

WIRE_DATA_87

23

WIRE_DATA_16

70

SPARE

117

WIRE_DATA_88

24

WIRE_DATA_17

71

GND

118

WIRE_DATA_89

25

WIRE_DATA_18

72

GND

119

WIRE_DATA_90

26

WIRE_DATA_19

73

WIRE_DATA_48

120

WIRE_DATA_91

27

WIRE_DATA_20

74

WIRE_DATA_49

121

WIRE_DATA_92

28

WIRE_DATA_21

75

WIRE_DATA_50

122

WIRE_DATA_93

29

WIRE_DATA_22

76

WIRE_DATA_51

123

WIRE_DATA_94

30

WIRE_DATA_23

77

WIRE_DATA_52

124

WIRE_DATA_95

31

WIRE_DATA_24

78

WIRE_DATA_53

125

GND

32

WIRE_DATA_25

79

WIRE_DATA_54

126

GND

33

WIRE_DATA_26

80

WIRE_DATA_55

127

CDF_CLK

34

WIRE_DATA_27

81

WIRE_DATA_56

128

CDF_RECOVER

35

WIRE_DATA_28

82

WIRE_DATA_57

129

CDF_BC

36

WIRE_DATA_29

83

WIRE_DATA_58

130

CDF_B0

37

WIRE_DATA_30

84

WIRE_DATA_59

131

CDF_HALT

38

WIRE_DATA_31

85

WIRE_DATA_60

132

CDF_ABORT

39

GND

86

WIRE_DATA_61

133

MEZZ_RESET*

40

GND

87

WIRE_DATA_62

134

CDF_L1A

41

WIRE_DATA_32

88

WIRE_DATA_63

135

CDF_L1_BUFF0

42

WIRE_DATA_33

89

GND

136

CDF_L1_BUFF1

43

WIRE_DATA_34

90

GND

137

GND

44

WIRE_DATA_35

91

WIRE_DATA_64

138

GND

45

WIRE_DATA_36

92

WIRE_DATA_65

139

GND

46

WIRE_DATA_37

93

WIRE_DATA_66

140

GND

47

WIRE_DATA_38

94

WIRE_DATA_67

 

 

 

Mezzanine Connector #2 Pin Assignments

Pin

Signal

Pin

Signal

Pin

Signal

1

GND

48

P3_8E

95

P3_14D

2

GND

49

P3_9A

96

P3_14E

3

GND

50

P3_9B

97

P3_15A

4

GND

51

P3_9C

98

P3_15B

5

P3_1A

52

P3_9D

99

P3_15C

6

P3_1B

53

P3_9E

100

P3_15D

7

P3_1C

54

P3_10A

101

P3_15E

8

P3_1D

55

P3_10B

102

P3_16A

9

P3_1E

56

P3_10C

103

P3_16B

10

P3_2A

57

GND

104

P3_16C

11

P3_2B

58

GND

105

P3_16D

12

P3_2C

59

SPARE

106

P3_16E

13

P3_2D

60

SPARE

107

GND

14

P3_2E

61

VCC

108

GND

15

P3_3A

62

VCC

109

P3_17A

16

P3_3B

63

VCC

110

P3_17B

17

P3_3C

64

VCC

111

P3_17C

18

P3_3D

65

VCC

112

P3_17D

19

P3_3E

66

VCC

113

P3_17E

20

P3_4A

67

VCC

114

P3_18A

21

GND

68

VCC

115

P3_18B

22

GND

69

SPARE

116

P3_18C

23

P3_4B

70

SPARE

117

P3_18D

24

P3_4C

71

GND

118

P3_18E

25

P3_4D

72

GND

119

P3_19A

26

P3_4E

73

P3_10D

120

P3_19B

27

P3_5A

74

P3_10E

121

P3_19C

28

P3_5B

75

P3_11A

122

P3_19D

29

P3_5C

76

P3_11B

123

P3_19E

30

P3_5D

77

P3_11C

124

P3_20A

31

P3_5E

78

P3_11D

125

GND

32

P3_6A

79

P3_11E

126

GND

33

P3_6B

80

P3_12A

127

AS*

34

P3_6C

81

P3_12B

128

AK*

35

P3_6D

82

P3_12C

129

DS*

36

P3_6E

83

P3_12D

130

DK*

37

P3_7A

84

P3_12E

131

R/W*

38

P3_7B

85

P3_13A

132

INIT*

39

GND

86

P3_13B

133

PROG*

40

GND

87

P3_13C

134

SCLK

41

P3_7C

88

P3_13D

135

SDATA

42

P3_7D

89

GND

136

DONE

43

P3_7E

90

GND

137

GND

44

P3_8A

91

P3_13E

138

GND

45

P3_8B

92

P3_14A

139

GND

46

P3_8C

93

P3_14B

140

GND

47

P3_8D

94

P3_14C

 

 

 

Mezzanine Connector #3 Pin Assignments

Pin

Signal

Pin

Signal

Pin

Signal

1

GND

48

P3_30E

95

P3_39D

2

GND

49

P3_31A

96

P3_39E

3

GND

50

P3_31B

97

P3_40A

4

GND

51

P3_31C

98

P3_40B

5

P3_23A

52

P3_31D

99

P3_40C

6

P3_23B

53

P3_31E

100

P3_40D

7

P3_23C

54

P3_32A

101

P3_40E

8

P3_23D

55

P3_32B

102

P3_41A

9

P3_23E

56

P3_32C

103

P3_41B

10

P3_24A

57

GND

104

P3_41C

11

P3_24B

58

GND

105

P3_41D

12

P3_24C

59

SPARE

106

P3_41E

13

P3_24D

60

SPARE

107

GND

14

P3_24E

61

VCC

108

GND

15

P3_25A

62

VCC

109

P3_42A

16

P3_25B

63

VCC

110

P3_42B

17

P3_25C

64

VCC

111

P3_42C

18

P3_25D

65

VCC

112

P3_42D

19

P3_25E

66

VCC

113

P3_42E

20

P3_26A

67

VCC

114

P3_43A

21

GND

68

VCC

115

P3_43B

22

GND

69

SPARE

116

P3_43C

23

P3_26B

70

SPARE

117

P3_43D

24

P3_26C

71

GND

118

P3_43E

25

P3_26D

72

GND

119

P3_44A

26

P3_26E

73

P3_32D

120

P3_44B

27

P3_27A

74

P3_32E

121

P3_44C

28

P3_27B

75

P3_33A

122

P3_44D

29

P3_27C

76

P3_33B

123

P3_44E

30

P3_27D

77

P3_33C

124

P3_45A

31

P3_27E

78

P3_33D

125

GND

32

P3_28A

79

P3_33E

126

GND

33

P3_28B

80

P3_37A

127

AD0

34

P3_28C

81

P3_37B

128

AD1

35

P3_28D

82

P3_37C

129

AD2

36

P3_28E

83

P3_37D

130

AD3

37

P3_29A

84

P3_37E

131

AD4

38

P3_29B

85

P3_38A

132

AD5

39

GND

86

P3_38B

133

AD6

40

GND

87

P3_38C

134

AD7

41

P3_29C

88

P3_38D

135

NC

42

P3_29D

89

GND

136

NC

43

P3_29E

90

GND

137

GND

44

P3_30A

91

P3_38E

138

GND

45

P3_30B

92

P3_39A

139

GND

46

P3_30C

93

P3_39B

140

GND

47

P3_30D

94

P3_39C

 

 

 

TDC J3(J5) Connector Pin Assignments

Row

Z

A Signal

B Signal

C_Signal

D_Signal

E_Signal

F

P3-1

NC

Mez#2-5

Mez#2-6

Mez#2-7

Mez#2-8

Mez#2-9

GND

P3-2

NC

Mez#2-10

Mez#2-11

Mez#2-12

Mez#2-13

Mez#2-14

GND

P3-3

NC

Mez#2-15

Mez#2-16

Mez#2-17

Mez#2-18

Mez#2-19

GND

P3-4

NC

Mez#2-20

Mez#2-23

Mez#2-24

Mez#2-25

Mez#2-26

GND

P3-5

NC

Mez#2-27

Mez#2-28

Mez#2-29

Mez#2-30

Mez#2-31

GND

P3-6

NC

Mez#2-32

Mez#2-33

Mez#2-34

Mez#2-35

Mez#2-36

GND

P3-7

NC

Mez#2-37

Mez#2-38

Mez#2-41

Mez#2-42

Mez#2-43

GND

P3-8

NC

Mez#2-44

Mez#2-45

Mez#2-46

Mez#2-47

Mez#2-48

GND

P3-9

NC

Mez#2-49

Mez#2-50

Mez#2-51

Mez#2-52

Mez#2-53

GND

P3-10

NC

Mez#2-54

Mez#2-55

Mez#2-56

Mez#2-73

Mez#2-74

GND

P3-11

NC

Mez#2-75

Mez#2-76

Mez#2-77

Mez#2-78

Mez#2-79

GND

P3-12

NC

Mez#2-80

Mez#2-81

Mez#2-82

Mez#2-83

Mez#2-84

GND

P3-13

NC

Mez#2-85

Mez#2-86

Mez#2-87

Mez#2-88

Mez#2-91

GND

P3-14

NC

Mez#2-92

Mez#2-93

Mez#2-94

Mez#2-95

Mez#2-96

GND

P3-15

NC

Mez#2-97

Mez#2-98

Mez#2-99

Mez#2-100

Mez#2-101

GND

P3-16

NC

Mez#2-102

Mez#2-103

Mez#2-104

Mez#2-105

Mez#2-106

GND

P3-17

NC

Mez#2-109

Mez#2-110

Mez#2-111

Mez#2-112

Mez#2-113

GND

P3-18

NC

Mez#2-114

Mez#2-115

Mez#2-116

Mez#2-117

Mez#2-118

GND

P3-19

NC

Mez#2-119

Mez#2-120

Mez#2-121

Mez#2-122

Mez#2-123

GND

P3-20

NC

Mez#2-124

NC

NC

NC

NC

GND

P3-21

NC

NC

NC

NC

NC

NC

GND

P3-22

NC

NC

NC

NC

NC

NC

GND

 

Downloading Mezzanine Card Setup Data

In general the mezzanine cards are expected to need setup programming. The cards designed to date use Xilinx chips and custom trigger chips that require the downloading of Xilinx programming and setup constants. The protocol adopted for the Xilinx programming is dictated by the Xilinx design. For the custom trigger chips a serial protocol has been defined similar to that used by the Xilinx programming but without the serial chaining permitted by the Xilinx chips. For setup constants contained within the Xilinx (but not part of the circuit programming), a parallel bus protocol is defined. In general there are three different programming sequences required to initialize the most general mezzanine card.

Xilinx Logic Program Loading

The Xilinx serial programming protocol employs 6 signals as defined in Table 7 below.

 

Xilinx Serial Protocol Control Signals

Signal

Description

INIT*

Output from chips being programmed indicating, 0 - they are initializing for a serial load. 1 - they have concluded initialization and are ready to accept data and clocks. This line is tested by the DSP to sense that the chips are ready to accept data and clocks. The DSP must wait for the chips being programmed to set this line 0 then 1 before sending load data since the chips take some time to respond after receiving a PROG* request.

PROG*

This line is set to "False" by DSP to request program initialization. Due to Xilinx constraints the duration of the PROG* pulse must be greater than 6ms.

DONE

Open collector/drain output from chips indicating a completion of program initialization. This line is driven to 0 by the PROG* signal through an open collector/drain. PROG* must release this line in order for the DSP to sense that the chips have completed the program loading.

MEZZ_RESET*

This line is only used to clear CLBs and is not part of the download sequence. The processing of this line is Xilinx 3000/4000 specific. It is expected to be ORed with PROG* for the 3000 and user defined on 4000.

SCLK

Serial download clock. Data should be accepted on the "False" to "True" edge of SCLK.

SDATA

Serial data to mezzanine card. Logic true state.

 

Fig. 4 The serial programming sequence. Each device intending to receive setup bits from the TDC must await the PROG* line going "False" at which time it should drive the INIT* line "False", perform any necessary initializations, and then release its drive of INIT*. The time the last device releases the drive of INIT* will be sensed by the DSP and output SDATA will then be presented with SCLK clock transitions. When the last device has accepted its data all devices will release the DONE line allowing it to return "True". The RESET* line should be ORed with the PROG* line for Xilinx 3000 series. For Xilinx 4000 series the RESET* line is user defined and should not be ORed with the PROG* line.

 

Fig 5. The proposed TDC to Mezzanine card control logic. In order to accommodate both Xilinx 3000 series and 4000 series units with the same DSP output connections, the above pattern of logic is recommended. The circuits on the left are on the TDC card and those items on the right represent connections on the mezzanine card.

Xilinx Parameter Loading

Fig. 8 shows a Xilinx 3000A series (Mentor Graphics interface) implementation of the TDC-Mezzanine protocol. In this example, the upper 4 address bits identify a particular Xilinx chip, and the lower 4 address bits identify an internal 8-bit register on that chip. This scheme allows for a maximum of 16 different Xilinx chips on the mezzanine card, each with 16 internal 8-bit registers (128 bits). The 4-bit comparator (comp4) may be eliminated in favor of an external 4-bit decoder and an additional input pin (providing signal CS). The main advantage of doing this is that each Xilinx chip can then remain ignorant of its own 4-bit chip address, eliminating the need to generate a different Xilinx program for chips that are otherwise identical in function. This example allows storage of 64 user-defined bits in DATA[63:0]. Note that since only 8 internal registers (fd8ce) are used, the address acknowledge (AK*) is only generated if an existing internal register was selected. In general, if n internal registers are used for user data, then an n-input OR should be used to generate the internal signal AK. Since the protocol signals AK*, DK* are daisy-chained among every Xilinx chip on the mezzanine, they are generated by tri-state output buffers (obufe) on each chip. When the signal is not driven low by any Xilinx, it should be pulled up to VCC by an external resistor (~2Kohm is appropriate) on the mezzanine. During a TDC read cycle (see Fig. 8), the mezzanine drives the requested data onto AD[7:0]. Because of the capacitive load present on the AD bus (the value is presently unknown), the driving Xilinx must delay the (low) assertion of DK* for some time. This delay (50 ns here) is generated by the six buffers (buf) preceding the multiplexer (m2_1) in this example. In general, the delay between DS* (H->L) to DK* (H->L) during a TDC read is given by 20ns + 5ns x (# of buffers). Mentor Graphics users should note that the pin of each buffer (buf) must be given a special property (property name = X, property value = X, meaning "explicit"). This ensures that the buffer is included in a separate CLB (from the CLB generating the input to the buf) and is not optimized away when the design is compiled. The approximate resource usage of the Xilinx 3000A series chip for access to n internal 8-bit registers (including internal 4-bit comparator) is listed at the top of the schematic of Fig. 8.

Mezzanine register access by the TDC is accomplished through an asynchronous protocol. In addition to a multiplexed 8-bit address/data bus, there are five control signals that implement the protocol as defined in Table 8 and exhibited in the timing diagrams for read and write cycles shown in Figs. 6 and 7. Times given with a "greater than" (>) sign indicate guaranteed minimum setup and hold times. Note that the timing for the mezzanine signals, AK* and DK*, were measured from a Xilinx 3020A implementation. In both diagrams, each cycle consists of two parts: an address cycle and a data cycle. During the address cycle, the TDC drives the address onto the AD bus for a minimum of 50ns setup time until giving the address strobe AS*. The TDC then waits for the mezzanine to acknowledge the address. The behavior during the data cycle depends upon whether the cycle if a read or write.

Parallel bus control signals

Signal

Source

Description

R-W*

TDC

Specifies Read (high) or Write (low)

AS*

TDC

H -> L: Address valid

 

 

L -> H: End of cycle

AK*

Mezz

H -> L: Address acknowledge

 

 

L -> H: End of cycle acknowledge

DS*

TDC

H -> L: (Read) TDC Ready

 

 

H -> L: (Write) Data valid

 

 

L -> H: (Read) Data acknowledge

 

 

L -> H: (Write) Data no longer valid

DK*

Mezz

H -> L: (Read) Data valid

 

 

H -> L: (Write) Data acknowledge

 

 

L -> H: (Read) Mezzanine card off of bus

 

 

L -> H: (Write) Data cycle concluded

If the cycle is a write, the TDC then drives data onto the AD bus for a minimum of 50ns until giving the data strobe DS*, and waits for the mezzanine to acknowledge the data. The TDC then raises DS*, waits for the mezzanine to raise DK*, and finally raises AS* to indicate the end of the cycle.

If the cycle is a read, the TDC stops driving the AD bus, asserts "TDC ready", and waits for the mezzanine to provide the data. (Note that the "TDC ready" to "mezzanine data valid" delay can be increased by adding additional buffers in the Xilinx design.) The TDC then acknowledges the data and waits for the mezzanine to relinquish the AD bus. Finally, the TDC raises AS* to indicate the end of the then acknowledges the data and waits for the mezzanine to relinquish the AD bus. Finally, the TDC raises AS* to indicate the end of the cycle.

Fig 6. The parallel bus write protocol.

Fig. 7 The parallel bus read cycle protocol.

Fig. 8 The Mentor Schematic: CLBs = ~25 + 4n I/O Pins = 13 3-state Buffers = 8n 3-state Longlines = 8

Component Clearance Recommendations

Component placement on the mezzanine card must be done with care since the spacing on and around the card is very tight. Airflow considerations require that the components be chosen with as short a profile as possible. VME standards specify that the cards are on 0.8 inch centers. The allowed clearance between board components and the adjacent board region (its 0.8 inch area) is set at 50 mils. This stay clear region is defined for both the solder and component sides yielding a 100 mils clearance between boards. Fig. 9 below displays the allocation of the 0.8 inch space. The TDC/mezzanine card connector stack results in a separation of 12mm (0.472 inch) between the TDC and mezzanine card surfaces. The diagram assumes a 93 mil TDC board and a 62 mil mezzanine board. The 0.472 inch space between the boards is expected to house 0.15 inch of TDC components and similar height mezzanine card components with 0.172 inch of airflow space. Clearly, heat emitted in this area will be restricted.

Power and Cooling Considerations

The mezzanine card has numerous pins for power, 4 VCC lines on connector #1, 2 each on connectors #2 and #3. The limitation placed on these pins is 2 amps each. Connectors #2 and #3 each provide 2 pins for -5.2V with the same limitation on current. The tight spacing of the mezzanine and TDC cards constrains the power consumption of the mezzanine card more so than the current limitation of the input pins. Were one to try to carry away the power between the TDC and mezzanine card with airflow between the components completely filling the space except for a gap of 0.2 inch by 7 inch with 10oC difference between the component and air temperature, airflow of several tenths of a ft./sec is required per watt of dissipation. Clearly, this is a pessimistic calculation since it does not consider airflow on the back side of the two cards nor does it include any radiation heat loss. These effects together imply that, the power removed in watts ~ 3 x velocity of airflow in ft./sec for a 10oC differential in temperature between components and air. The above calculation is to be considered a rough estimate and better numbers are to be obtained as cards are tested.