12.12.2012 Views

Xcell Journal: The authoritative journal for programmable ... - Xilinx

Xcell Journal: The authoritative journal for programmable ... - Xilinx

Xcell Journal: The authoritative journal for programmable ... - Xilinx

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

We picked [9 <strong>Xilinx</strong> Virtex-II Pro devices], as it meant<br />

a significant savings in device count (from 105 to 9).<br />

One such experiment is called the<br />

Compact Muon Solenoid (CMS), which is<br />

based on a large superconducting magnet<br />

system. <strong>The</strong> CMS will have a number of subdetectors,<br />

including an Electromagnetic<br />

Calorimeter (ECAL). <strong>The</strong> ECAL will use<br />

about 80,000 crystals to capture the energy<br />

of the photons and electrons. <strong>The</strong> data collected<br />

from these crystals will be captured,<br />

processed, and transmitted by the DCCs<br />

(about 60 of them) <strong>for</strong> further analysis.<br />

Design Overview<br />

<strong>The</strong> DCC includes 70 high-speed optical<br />

receiver channels (6 blocks of 12 channels<br />

each) implemented on a 9U VME board<br />

(36 cm x 40 cm) working at 800 Mbps<br />

using a 2-byte 8b/10b protocol.<br />

For the implementation of the transceivers,<br />

we had two choices:<br />

1. As many as 70 discreet deserializers,<br />

along with 35 FPGAs <strong>for</strong> the required<br />

control (this number was based on<br />

cost considerations), <strong>for</strong> a total device<br />

count of 105. This would have given<br />

us more granularity and a lower cost,<br />

but more components and hence<br />

higher debug and testing times.<br />

2. Only nine <strong>Xilinx</strong> ® Virtex-II Pro<br />

devices with eight embedded<br />

RocketIO transceivers on each (only<br />

the XC2VP7-FG456 part was available<br />

at the time). We would lose some granularity,<br />

but the PCB would be much<br />

less dense and easier to test.<br />

We picked the second choice, as it meant<br />

a significant savings in device count (from<br />

105 to 9). And because the DCCs will be in<br />

operation <strong>for</strong> four to five years, it will have a<br />

huge impact on overall PCB design and the<br />

final cost of production and maintenance<br />

from a long-term perspective.<br />

Also, after deserialization, we will need<br />

to verify the integrity of received data and<br />

re<strong>for</strong>mat it <strong>for</strong> downstream processing and<br />

analysis. We found that the remaining<br />

resources in the selected device were enough<br />

<strong>for</strong> most purposes. Of the 72 transceivers<br />

available, we use 70 and leave the other two<br />

unconnected. <strong>The</strong> use of 800 Mbps per<br />

channel is a system choice, but the design<br />

could work at 1.6 Gbps or higher.<br />

PCB Design Issues<br />

<strong>The</strong> DCC PCB is a 12-layer board with<br />

four power planes and eight routing layers.<br />

We have mostly followed the main<br />

rules <strong>for</strong> high-speed design and analog<br />

considerations from Chapter 4 of the<br />

<strong>Xilinx</strong> RocketIO Transceiver User<br />

Guide, such as:<br />

• All high-speed traces<br />

are impedance controlled<br />

and routed<br />

manually in<br />

“microstrip-edge couple<br />

differential pair,” with<br />

impedance matched to<br />

50 Ohms and as close as<br />

possible to the source<br />

(respecting the crosstalk<br />

rules). No other lines were<br />

designed in the same area<br />

as the high-speed layout,<br />

where the immediate layer<br />

was the ground power plane.<br />

• All high-speed differential<br />

pair signals were AC coupled<br />

with 100 nf capacitors and<br />

internally terminated to 50 Ohms.<br />

• All of the transceivers’ power supply<br />

pins were filtered with an individual<br />

LC filter and a separate power plane<br />

<strong>for</strong> the “analog” supply, also with specific<br />

filters. No transceiver power supply<br />

was left unconnected, regardless of<br />

whether it was used or not. We used<br />

the same type of LC filters on the optical<br />

receivers.<br />

• Approximately 350 power supply decoupling<br />

capacitors of three different values<br />

(to match the main clock frequencies in<br />

use on the board) were placed as close as<br />

possible to the central power pins of the<br />

<strong>Xilinx</strong> FPGAs. Other capacitors were<br />

placed nearby each FPGA.<br />

• Each FPGA received one high-quality<br />

reference clock (low jitter – 100 ps<br />

peak-to-peak) differential pair from an<br />

individual buffer. We recommend using<br />

two independent reference clock sources<br />

to ease the internal usage of this clock<br />

on the FPGA if using all of the<br />

RocketIO transceivers.<br />

Figure 1 – <strong>The</strong> DCC board fully assembled,<br />

with the nine Virtex-II Pro FPGAs on the left.<br />

RocketIO Implementation and Issues<br />

Virtex-II Pro devices provide the first stage<br />

of processing <strong>for</strong> the front-end data<br />

(received from the on-detector electronics)<br />

on the DCC board. Each device receives<br />

800 Mbps of serial data on each of its eight<br />

channels from the optical receivers, <strong>for</strong> a<br />

total of 6.4 Gbps per device. In a nutshell,<br />

the purpose of the <strong>Xilinx</strong> FPGAs is to<br />

process this data and prepare it <strong>for</strong> readout.<br />

RocketIO transceivers are used to deserialize<br />

the received data and per<strong>for</strong>m<br />

8b/10b decoding. <strong>The</strong> 16-bit data is then<br />

90 <strong>Xcell</strong> <strong>Journal</strong> Winter 2004

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!