I'm suprised that your the only one who has caught on to what this project is
I'd like one
Those chips look dead simple with only 6 i/o lines and everything serial i/o, I am sure you can be successful with a 2 layer board.
Make the bottom layer an unbroken ground plane; you probably already know this. Use a 120mil trace width for your clocks, this will give you about 48-50 ohm surface microstrip on standard 1.6mm FR4. Definitely use a clock can oscillator, not just a crystal. For example, this one here
XO52CTFLNA32M. It can drive up to 50pf and has a 10ns rise time. However, be wary of the clock drive capabilities, and make sure that the trace lengths are the same if you want to minimize skew. In this particular can oscillator, 50 pf is not enough to drive 16 clock inputs because they are 3.4 pf (typ) each. So you definitely need to buffer each group of 4 ASICs. The rise time at 10ns is no problem, you don't need to worry about clock terminations. The formula is you usually need a series termination if the trace length exceeds T
r/(2*T
pd), where T
r is the rise time, and T
pd is the propagation delay, typically 150ps per inch in FR4. This means you need to series terminate the clock lines only if the trace length to the load (i.e. the first buffer) is more than 10ns/(2*150ps) inches, or 33 inches. I think your board will be smaller than 33 inches, thus no need to worry about clock terminations.
Also, since these are essentially independent hash compute units, I don't think that a few ps clock skew from one chip to the next will really cause any trouble. You will have more trouble with impedance mismatches, drive and reflections I would think (but again, a 32Mhz clock with 10ns rise time is not that fast)
But since your are going 2 sided, you wont have any vias, and so you will only see reflections at your branch points. you could put a PCB pad and a zero ohm resistor at each of your branch points to go downstream.. if you find that you have clock problems on the final board, you can try to stop any reflections that come back to the branch points by replacing the 0 ohm with a 22 ohm . At least you will have the pads in place for it.
This sounds like a fun project.. I wish I was involved
Is this a USB peripheral, or a standalone unit with ethernet and an ARM chip, running linux.. thats way more design work but also higher cool factor.
good luck!