Dear CASPERites,

I've been trying for some time to synchronise two XAUI streams from two
separate IBOB boards in a BEE2 board. I've not met with much success. I'd be
really grateful any ideas or help from anyone who may have experience with
this, or perhaps a better general understanding of the issues I'm
encountering.

The test system I've got is as follows: I'm clocking my IBOBs synchronously
and aligning them with a 1PPS input. Each IBOB has a 31-bit counter which is
reset off a 'sync' pulse. The sync pulse is generated by a circuit that is
aligned with the 1PPS signal. I'm sending the counter value multiplexed with
the sync in a demux-by-2 XAUI block to the BEE2. At the BEE2, I'm testing
the alignment of the counters.

In my mind, as long as the ibob data rate is low enough, the XAUI interface
should provide complete clock-domain isolation. That is, the bee2 should be
able to be clocked at any rate, including a lower rate than the ibob
(provided, again that the data transfer rate is low enough).

Worryingly, and unexpectedly, I find the counter values way out of
alignment, and perhaps worse than this, there seems to be jitter on the
difference between the counter values from cycle to cycle. Andrew and Peter
helped me out for a couple of days on their way to Paris. We corrected some
of the design errors (namely, selecting demux-by-2 for 32-bit data), made
sure the ibob clock was running slower than the bee2 clock, and changed the
length of the sync pulse. However, we were unable to resolve the fundamental
issues.

This week I've been trying to clock the BEE2 off an IBOB-generated clock
with an LVTTL-to-LVPECL clock driver. I changed the BEE2 design and changed
a jumper to select user-clock on the BEE2 board. Unfortunately, this doesn't
seem to help much (although, I could be doing it wrong) and I'm finding with
this scheme that the BEE2 has the tendancy to kill the running process after
a few seconds to minutes.

I know many of the more experienced CASPERites advise asynchronous designs
for this reason. However, I'm pretty sure someone else must have disregarded
this advice (or perhaps discovered this advice) by pursuing XAUI
synchronisation. Were these same issues seen? What's the best clocking
scheme in practice (fully synchronous or downstream boards clcoked faster)?
Does anyone have any ideas on jitter?

Thanks,

Richard

-- 
Richard Armstrong
ʞn˙ɔɐ˙xo˙oɹʇ...@ƃuoɹʇsɯɹɐ˙pɹɐɥɔıɹ

Reply via email to