Going to implement a BGA eMMC 5.1 interface for the first time. Any tips? The protocol always scared me away but now that I need it for the SBC project, I want to do it right the first time :) Cheers Picture from Zachariah Peterson’s NWES blog
Waar ben je bang voor dan ?
1. Verify stack up and impedance requirements with your fab vendor. 2. Use tear drops at pad-trace junction. 3. Length match the differential traces. 4. Follow trace width and separation spec all they way to the pins. 5. If via-in-pad is ok, no need for stubs from BGA pad to ground. Add vias directly on the grounded pads. 6. Use test coupons on the panels edges in case you need to measure the differential impedance.
eMMC interface is little low with signal count. Like, <10 signals in high count BGA. 😂 Little care on impedance and strict length matching should get the work done. 😬 Routing would be a bit challenging since most of the signal connection will be in middle of NC pins. 😅 Dog bone via structure should work i guess. 🤔
The pairs seem fine, needs only some cosmetic improvement. I recommend to add more vias on ground pins and eliminate “antennas” on planes (on your picture - in the upper center and lower).
It's really simple, you route or make the fanout across the NC pads (you can see this in the recommended layout in the datasheet) , just to save some extra money you will spend on trace clearance or small via diameter you don't need.
I did this a couple of years ago, as long as impedance and timing rules are followed you will ok. For a good emc performance make track direction changes with radius's rather than corners.
best wishes to you! Looking forward to the final
Inter diff length matching.
Not rocket-science. As for any parallel bus interface, take care for crosstalk, skew and have some decent impedance matching. Needless to say about the breakout part, have return vias everywhere possible and don't pass slots. What could be problematic are the drive strength settings. More often than not, the default is pretty strong (33ohms) and that causes over/undershoots. You could check the IBIS model and datasheet for what is available and go from there. If you are running in HS400, make sure to enable also the ES (enhanced strobe) which helps greatly with timings :) Curious to see the results.