I’m currently modifying RevC / PCB Rev B6 for integration into a custom design. I have a few questions if others could provide input.
The design is imported into Altium, and I feel there may be some missed PCB settings during the import.
1. Layer Stackup + Copper thickness - Are there any details on the layer stackup + copper used? I would imagine this could impact some of he high speed / memory interfaces etc…
2. Minimum track width - The following nets have 3.75mil tracks vs most other nets with 4.75mil thickness.
Is there any issues using these thicknesses with standard 4/4 PCM Manufacturing processes. Or does this require specialised manufacturing. Would making these lines 4+mil have much effect on signal integrity ?
3. Wedge shaped pad connects - On some tracks, the pad connections have a wedge shape meeting the track as shown below. I haven’t seen this before, what is the reason for this ?
4. Any other advice ?
Has anyone done this before ? Are there any traps or other gotchas I Need to be looking out for ?
Thanks in advance for your help.
To your first question, I'm not sure about the stackup. Maybe Gerald can weigh in.
As for the trace/space tolerances, each manufacturer is different. Some will not even attempt to print the boards, but some will try with the understanding that as you get away from their minimum specs, the yield also goes down. For example, if they specify a minimum trace/space of 4/4, but you need 3/3, they may print it, but you may see something like 4 of every 10 boards are unusable. And they won't replace those boards. You took the chance on your own free will knowing that you weren't within spec. So you may need to order 40% more boards than you need just to have enough to fulfill your needs.
The "wedges" you see are called teardrops. Some people use them when connecting to vias/pads as a stress relief. It prevents the traces from breaking away from the pads so easily. They are not essential, but do help more than you'd think.
PCB shops wil always modify the Gerber files to fit their processes to yield the desire impedance. Therefore the stack ups vary slightly from shop to shop.
The specified stack up is in the files supplied.
Terardrops are used for added robustness on connector pins that may be stressed during use.
- There is a FAB layer in the gerbers that shows the stackup used. The stackup will vary with the board shop used - based on their processes and the board material you specify and its dielectric constant.
- This again can vary depending on the board shop - dielectric constant and trace thickness contribute to width for controlled impedance traces. For differential - gap is also important.
- As stated, teardrops can be used for added strength, they can also be used to limit breakout to the trace - so as tolerances in drilling vary, the hole won’t break the connection to the
trace - annular ring also comes into play with this - if you have enough annular ring, you won’t need to have teardrops to aid in breakout to the trace - or in general.
- Yes, I modified the design - there are plenty of places for traps and gotchas. Depends on how much you are varying the design.
Be mindful of plane breaks and high speed signals when rerouting traces. To reduce noise, make sure your signals have return/ground paths that can follow closely to the trace.
Be mindful of length matching on your high speed interfaces. On your prototypes, put current sense resistors inline with each power rail to aid in debug of power issues - can remove later.
Try not to modify the DDR3 routing if possible - it works - only modify what you need for process variation on the pcb build.
That’s all I can think of for now.
Good Luck with your design.
More to the point here, I suggest absolutely no changes to the DDR section unless you and your software guy know what you're doing. Any changes to these traces will require changes to the DDR timing in the BBB software.
No offense, but if you want to mod this board as a learning experience, then by all means, have at it. That's what I have been doing. Nearly 20 spins of the board later, my changes are starting to work (I am a software guy trying to break into the hardware world).
Judging by the questions you are asking, I don't think it's realistic to expect your first run of boards to actually function as expected. And I don't know if you have seen the price of 6 layer boards in small runs, but they are NOT cheap. And don't order a ton of boards for your first run. You will be throwing them away when you figure out that they don't work. If you are trying to build a serious project on a limited budget, enlist the help of someone who really knows what they are doing. If you are simply trying to learn, be prepared to bust out some serious cash for this very expensive journey.