Xcell Journal: The authoritative journal for programmable ... - Xilinx
Xcell Journal: The authoritative journal for programmable ... - Xilinx
Xcell Journal: The authoritative journal for programmable ... - Xilinx
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