PCB Design Rules for Large BGA Fanout

Zachariah Peterson
|  Created: January 11, 2019  |  Updated: May 21, 2026
At a Glance
Curious about BGA fanout or FPGA fanout? Looking for BGA routing guidelines? See how using design rules to fanout a large BGA can help you to save time on your PCB layout.
Design Rules to Fanout a Large BGA

I have known people during my career who insisted on hand-routing every PCB design that they worked on. They would say that their manual routing performed better, looked better, and was just better in general. I’m not going to argue one way or the other on that, but I will say that there is one thing that can not be argued with; all of that manual routing took them a much longer time to complete than if they had used automated routers. With today’s higher-density routing being packed into reduced design schedules, PCB layout engineers need help in speeding up the routing process.

Fortunately, CAD tools like Altium Designer® have the automated trace routing features that PCB designers need today to stay ahead of their schedules. One such feature is the ability to set up the design rules for BGA fanout or FPGA fanout. Altium Designer provides a lot of options in the design rules so that you can get great results from the fanout utility. Take a look here at how these tools can help you save time on your routing by automatically fanning out a BGA.

Get Your Design Set Up for BGA Fanout

Fanning out a BGA will often require adjustments to your design rules for smaller trace widths and spacing as well as vias. Altium Designer provides for this by giving you the ability to set up “rooms”. These rooms will allow you to apply different design rules to that specific area of routing, which in many cases is exactly what you need for your BGA fanout routing.

Screenshot of the BGA to be routed in fanout a large BGA

Here’s the BGA that we will create the fanout routing

In the picture above you can see the BGA that we will be working with. You will want to make sure that your design has enough layers to accommodate the fan-out traces, and in this design, we have plenty to work with. The larger the BGA, the more layers it will take for the fan out utility to do its job, although for demonstration purposes we are using a smaller BGA.

To create a room for the BGA-specific design rules, you will go to the “Designs > Rooms” menu selection. There are many ways to create rooms, and in our case, we have pre-selected the BGA part on our board, and then selected “Create Rectangle Room from selected components” from the menu. This will create a room perfectly around our selected BGA as you can see in the picture below.

 Screenshot of AD19 rooms menu in fanout a large BGA

The Rooms menu in Altium Designer

Set Up the PCB Design Rules for Dog Bone BGA Fanout

Once the room has been created, it is time to start working with the design rules. Open up the design rules by going to the “Design > Rules” menu selection. On the left side of the PCB Rules and Constraints Editor menu, go down to the “Placement” rules and click on the arrow to open up these rules. In the “Room Definition” category you will see the new rule for the room that you just created; it will have the name “RoomDefinition”.

Screenshot of AD19 room rules in fanout a large BGA

Setting the design rules for the BGA room

In the picture above you can see the rules for the room definition category, and the changes we made to the rule. You will need to change the rule name to something more descriptive, and in our case, we have chosen “BGA_Fanout”. Make sure that the settings for object matching are set the way the picture shows, and apply these rules to save them.

Next, you will need to create a special clearance setting for the BGA_Fanout room. To do this you will remain in the design rules menu, and go up to the top of the menu on the left side to the “Electrical > Clearance” category. Right-click on this category and create a new rule giving it the name “Clearance_BGA_Fanout” in its dialog box. You will also want to adjust the clearances to a value of 0.1 mm as shown in the picture below.

Screenshot of AD19 clearance rules in fanout a large BGA

Setting a clearance rule for the BGA room

To associate this clearance rule with the room that we’ve created around the BGA, we will specify a custom query as our object match. To do this click on the drop-down button under “Where The First Object Matches”, and select “Custom Query.”  In the text box that pops up, start typing the word “WithinRoom.” Before you finish you will see an option for “WithinRoom” pop up. Select this option and immediately another option for the room that you want to select will pop up, which in our case is the room “BGA_Fanout”. Once you select the room that you want the new rule dialog will be complete as shown in the picture above, and you can click on “Apply” to save it.

Next, we will need a new rule for a smaller trace width in the BGA_Fanout room. Create a new routing width rule and name it “Width_BGA_Fanout.” Follow the same procedures to set up its object matching and specify a routing width of 0.1 MM for all widths as shown in the picture below. When you are finished, click “Apply” again to save this rule.

Screenshot of AD19 width rules in fanout a large BGA

Setting a width rule for the BGA room

We will also need a new visa for the BGA fan out. Create a new “Routing Via Style” rule with a diameter of .4MM and a hole size of .2MM. As with the clearance and width rules, you will follow the same procedure to associate this rule with the “BGA_Fanout” room as shown below.

Screenshot of AD19 via rules in fanout a large BGA

Setting a via rule for the BGA room

The last design rule that we will want to work with is the Fanout Control rule. This rule includes different rules for fanning out different component styles such as SOIC’s, LCC’s, and BGA’s. In our case, we will want to verify the settings in the BGA fanout routing rule specifically.

As you can see in the picture below, this rule already has a custom query set up to match a BGA object. Check that the “Fanout Style” is set to “BGA.” There are other settings in there such as “Auto” and “Inline Rows,” but for our purposes we want it to use the BGA style. The other rules should be set up as shown. Once you have verified that this and the rest of the rules are all set up correctly, you can click “OK” to close the PCB Rules and Constraints Editor.

Screenshot of AD19 fanout rules in fanout a large BGA

Setting the fanout control rules in Altium Designer

Via-in-Pad BGA Fanout

When routing BGA components with fine pitch, the automated fanout tool needs explicit permission to place vias directly inside BGA pads in the footprint, known as via-in-pad fanout. By default, the PCB design rules prohibit this to protect standard surface-mount assemblies from solder wicking issues, and manually placing a via in an SMD pad will trigger a DRC error. Therefore, we will first need to enable placement of via-in-pad before we setup the fanout engine.

Once the constraint is active, you can then configure the fanout control settings to specify that vias should be located directly in the pad rather than offset, which is the second prerequisite for a clean via-in-pad escape pattern.

Enable Vias in SMD Pads

First, you must enable the "Vias Under SMD" rule in the High Speed section of the PCB Rules and Constraints Editor before the fanout engine will place vias within BGA pads. Until this rule is enabled, any attempt to run an automated via-in-pad fanout will either fail or revert to a dog-bone style that pulls the via away from the pad.

  1. Navigate to Design --> Rules to open the PCB Rules and Constraints Editor.
  2. Look under the High Speed category for the "Vias Under SMD" constraint.

Here you have the choice of whether to enable the Vias Under SMD rule globally, or only inside the room for your BGA. There are legitimate reasons to only use via-in-pad in the BGA region, but you are not required to do this in every design. If you want to only allow via-in-pad inside the BGA fanout, use the "WithinRoom" custom query in the scope dropdown box when enabling the Vias Under SMD rule.

Configure the Fanout Style

Next, we can create the room where we want to apply the relevant design rules by following the process above. We can also configure the fanout style to control where fanout vias are placed relative to the SMD pads in our BGA footprint:

  • Close To Pad (Follow Rules): Fanout vias are placed as close to their corresponding SMT pads as possible without violating defined clearance rules.
  • Centered Between Pads: Fanout vias are centered between the SMT component pads.

The fanout process also relies on the Routing Via Style as a supporting rule. This will define the via size and hole size used in the fanout. The preferred via style will be used by default. While you can set a global rule for Routing Via Style, you can also set a room-specific rule with the WithinRoom query. It is critical that this rule be configured within the BGA room to ensure that the attempted fanout vias will not violate the relevant clearance constraints. If the attempted via violates clearances, then the fanout tool will fail and you will need to reconfigure the via size.

Once Your Rules Are Ready, Push the Button

It’s time to press the button and route this fan out. There are different ways to accomplish this, and in our case, we will use the “Route” menu. Select “Fanout > Component” from the route pulldown menu, and the “Fanout Options” sub-menu will pop up. Enable the “Fanout Pads Without Nets” and “Include escape routes after fanout completion” options as shown below, and click OK.

Screenshot of AD19 fanout options in fanout a large BGA

The fanout options

You will now have a green arrow pop up on your cursor to select the BGA for fanning out. When you click on the BGA, Altium Designer may pop up a “Component Selection” sub-menu. In that case, enter the reference designator of the BGA and click OK. Give it a few moments, and the BGA fanout routing will be done. Results will obviously vary depending on what BGA is being routed, how many layers you are working with, and the connectivity, but here is a picture of what our fan out looked like.

Screenshot of final fanout routing in fanout a large BGA

Successful dog-bone fanout for a BGA in Altium Designer

Which BGA Fanout Option to Use?

There is one obvious question we did not address: which of these fanout options should you use?

Both options are capable of fanning out a large BGA with through-holes or blind/buried vias (either mechanical or laser drilled). Part of the selection involves packing more traces into smaller number of layers, which can be accomplished with an HDI approach and blind/buried laser-drilled microvias. Although you might not be required to use blind/buried vias with HDI manufacturing techniques, doing so can help reduce the total layer count by doubling the number of traces that can be fanned-out on internal layers. In this case, you typically stick with dog bone fanouts.

In other cases, which are discussed in this article, the BGA package's ball pitch forces you to use laser-drilled microvias because this is the only way to fit the vias under the BGA package without violating copper feature size limits or clearances between copper features. As the ball pitch on the BGA package gets smaller, you will get forced into using via-in-pad, depending on whether you are using mechanically-drilled vias or laser-drilled vias:

  • At 0.5mm and above: you can use either dog bone or via-in-pad fanout
    • Mechanically-drilled vias typically transfer into via-in-pad around 0.65mm pitch
    • Laser-drilled blind/buried via stacks can be used in dog bone fanout down to 0.5mm pitch
  • Below 0.5mm pitch: you will have to use via-in-pad fanout

To see an example of how this works, take a look at the following video. This video tests the datasheet recommendations for an STM32 MCU in a BGA package to see whether it is possible to use HDI and whether it reduces layers compared to through-hole designs.

Supporting BGA Fanout Documentation

Altium Designer supports these standard BGA fanout styles through its comprehensive PCB design rule system, giving users full control over their high-density designs. For more information, I recommend the following support articles from the Altium Documentation:

Whether you need to build reliable power electronics or advanced digital systems, use Altium’s complete set of PCB design features and world-class CAD tools. Altium provides the world’s premier electronic product development platform, complete with the industry’s best PCB design tools and cross-disciplinary collaboration features for advanced design teams. Contact an expert at Altium today

About Author

About Author

Zachariah Peterson has an extensive technical background in academia and industry. He currently provides research, design, and marketing services to companies in the electronics industry. Prior to working in the PCB industry, he taught at Portland State University and conducted research on random laser theory, materials, and stability. His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental sensors, and stochastics. His work has been published in over a dozen peer-reviewed journals and conference proceedings, and he has written 2500+ technical articles on PCB design for a number of companies. He is a member of IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society, and the Printed Circuit Engineering Association (PCEA). He previously served as a voting member on the INCITS Quantum Computing Technical Advisory Committee working on technical standards for quantum electronics, and he currently serves on the IEEE P3186 Working Group focused on Port Interface Representing Photonic Signals Using SPICE-class Circuit Simulators.

Related Resources

Related Technical Documentation

Back to Home
Thank you, you are now subscribed to updates.