[Milkymist-devel] PCB layout instructions
Sébastien Bourdeauducq
sebastien.bourdeauducq at lekernel.net
Sat Jan 30 07:50:39 PST 2010
Hi,
Here are the main points I'm thinking about. I may have written too much or
too little - just tell me.
* Footprint review
The PCB footprints need to be reviewed. Compare all data (pin numbers,
geometries, plated/non-plated holes, ...) in the footprint libraries with the
drawings in the datasheets.
All datasheets can be found at:
http://github.com/lekernel/milkymist-datasheets
There should be only one discrepancy: I have numbered the pins of the DIN
connectors according to the way they are numbered in MIDI rather than the way
they are numbered in the datasheet. I have double-checked the current pinout
and I strongly believe it to be correct.
In case there is anything which is not 100% clear in the datasheet, I have
samples of all the components in the BoM and I can make checks using them.
* Schematics symbols review
Check for stupid errors like swapped or missing pins.
* DDR SDRAM layout
A good document is available from Micron:
http://download.micron.com/pdf/technotes/DDR/tn4614.pdf
This document also recommends PCB layer stackups that we should use. I would
choose the 4 signal layers option with 2 power planes.
We'll use series terminations only with very short traces going to the FPGA.
Do not spend too much effort on equalizing trace lengths. We have the FPGA's
IODELAY elements to compensate for signal propagation delay discrepancies,
and, contrary to length-equalizing (and length-increasing) zigzags, they do
not cause additional signal integrity issues (ringing, noise, etc.).
If you have time and an IBIS simulator, it would be a good idea to run a
signal integrity simulation on the final routing.
IBIS models for the FPGA's I/O cells can be downloaded from
http://www.xilinx.com/support/download/sp6ibis.htm
and those for the DRAM:
http://download.micron.com/downloads/models/ibis/sdram/ddr/512meg/t37z_ibis.zip
* ESD protection
As you may have noticed, there are several ESD protection cells made of a 1M
resistor and a 4.7nF capacitor in parallel. You may want to cut the ground
plane and add a little metal polygon under and around the concerned
connectors, connected to their shells. Then place that ESD protection cells
between the polygon and the ground plane.
The Zener diodes near the DMX connectors are not meant to protect against ESD,
but against clumsy users connecting microphone cables with 48V phantom power
to the DMX plugs.
* FPGA layout
Layout guidelines (including instructions for the placement of the numerous
decoupling capacitors) are documented in UG393, available from Xilinx or the
datasheet repository.
* FPGA pins assignment
You can swap pins to make routing easier, but be careful of the special
function pins (global clock capable pins, and pins that have a special
behaviour during configuration). Most pins going to the Flash are not
swappable because the Flash is used to configure the FPGA.
* Ethernet routing
There are some tips available at:
http://pcb1001.blogspot.com/2009/07/ethernet-component-layout-guidelines.html
We have integrated magnetics. These rules might be a little overkill, I know
of several working Ethernet boards that do not respect them. In case of
conflicts (for example, about board stackup), priority should be gived to
notorious sources of problems like DDR SDRAM.
* Global component/connector placement and board dimensions
You are free to do whatever seems good. The current placement and dimensions
are only indicative.
* PCB constraints
I'm thinking of 6 layers with 4 mil resolution (track width and clearance), 4
mil annular rings, and 8 mil holes (yields a via outer diameter of 16 mil).
You can of course discuss/improve this, but keep in mind that, for starters, a
board with e.g. too many layers is better than no board at all because the
project took too long to complete.
* If you have ANY question, write me a mail.
Thanks,
Sébastien
More information about the Devel
mailing list