element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
Blog EAGLE v8: Taming the BGA Router
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: rachaelp
  • Date Created: 29 Aug 2017 5:04 PM Date Created
  • Views 4048 views
  • Likes 5 likes
  • Comments 6 comments
  • eagle 8
  • bga
  • router
Related
Recommended

EAGLE v8: Taming the BGA Router

rachaelp
rachaelp
29 Aug 2017

1. Introduction

 

I've recently started testing out the latest version (v8.3.1) of EAGLE Premium, and one of the features I was really interested to try out since I first saw v8 earlier in the year was the BGA Router. Breaking out BGA's is time consuming so if that effort can be reduced then that's a big bonus. On the other hand, I don't like autorouters and the results are never anything close to the standards I set for myself when routing by hand, in fact many of the boards I do would be impossible to autoroute satisfactorily, so any automatic BGA breakout is going to have to do a better job than your typical autorouter does. So lets see what happened when I devised some tests and took the BGA Router for a spin!

 

Spoiler Alert: You will have to put some effort into setting things up and do some manual clean up in order to get a satisfactory result in the end.

 

2. The Test Schematic

 

I decided that to keep things simple I would create a very specific test schematic which would allow me to focus just on the BGA breakout without any other distractions going on around the board. I created a simple schematic which has an FPGA in a 256-ball package, with all the I/O pins connected to surface mount test points and all the power pins connected up to appropriate power rails. The idea being it would allow me to determine how nicely it routes out and how well it deals with the very important task of connecting power to the device, without any other distractions with unrelated components and routing. In this example I have ignored decoupling capacitors but these would be placed on the bottom side of the board anyway and likely wouldn't have too much effect on the placement of any vias if placed correctly.

 

3. Setting Up the Board

 

For this test I have chosen to have a 6 layer board. I'll use the inner two layers for GND and +3V3 and then have an area fill on the bottom layer for +1V0. I could likely do a split power plane on layer 4 for +3V3 and +1V0 but to keep it simple I will just put it on the bottom layer. I want to have microvias available for layers 1-2, 2-3, 14-15, and 15-16 as well as buried vias. In order to set this up I need to go into the DRC and configure the layer setup as follows:

 

image

 

Note: Ignore the Copper and Isolation thickness settings as I haven't set these up as they not going to affect our example.

 

I also set the clearances to be 4mil, minimum track setting to 4mil, microvia drill to 4mil, regular via drill to 10 mil etc to enable sensible via geometries. I won't include details here as they are just part of normal routing setup and not specific to using the BGA router. However, you must make sure you have these set up properly so that you can route our from the BGA without incurring DRC errors otherwise it will not route.

 

4. Manually Breaking Out the BGA as a Point for Comparison

 

After setting up the board I decided that the first thing I should do would be to manually route out the BGA so that I can give a baseline for comparing the results from the BGA Router. As this is a relatively small BGA at just 256 balls with a very generous 1mm pitch this didn't take too long to achieve. Setting the grid to 0.5mm I started by breaking out the outer row of balls all the way round on the top layer, then continued round and did the second row. There were still available routing channels so I went ahead and routed as many from the next row around as I could through the remaining routing channels. After routing out the top layer we have the following:

 

image

 

Now it was time for the layers which require vias. The test board is set up for microvias and we shall use via-in-pad as this is quite a common technique when routing out BGA's. Setting the via drill to 4mil we proceed as before working around the device and adding in the routes into all the available routing channels on layer 2. The only caveat here is that if there is a BGA pad on the top layer relating to one of the power or ground pins then we shall not route underneath that and will leave the routing channel free. I could have put the power breakout in first but I decided to leave that until last to keep the pictures clearer for illustrating the breakout of the main I/O signals. The result of routing out on layer 2 is as follows:

 

image

 

We still have some unrouted I/O pins. There aren't many (a handful for each side) and they could be routed out on layer 3 using stacked microvias underneath the BGA pads, but I want to keep layer 3 clear and unbroken for the GND signals (slots in the GND plane where other traces go has negative impacts on signal integrity as signal return currents have to find a less direct path). What I chose to do instead was to have staggered vias, a microvia in the BGA pad to layer 2 and then a 2-15 via offset from the microvia and route the signals out on layer 15. I approached this in exactly the same way as routing out the other I/O signals and worked my way around the device until they were all routed in. The result of these final I/O signals being routed out is as follows:

 

image

 

Next it's the turn of the power and ground signals. Connecting up the GND net is easy, I simply put stacked microvias 1-2 and 2-3 to connect the GND pads up to the GND polygon on layer 3. For +3V3 and +1V0 I used a combination of microvias and staggered 2-15 vias to get these signals to the polygons on their respective layers. The finished result of manually breaking out the BGA is as follows:

 

image

 

5. Configuring the BGA Router Settings

 

The first time I tried the BGA Router, I set up the board and ran the BGA Router and just set it off running without any additional configuration. It took almost 4 hours and the results were less than stellar. This was however to be expected as the router didn't have enough information by default to be able to do a good job. First things first, set the various nets to only route on their appropriate layers. Open up the BGA Router and the BGA Settings window will be displayed as follows:

 

image

 

Press the Edit BGA button and the following window will be displayed:

 

image

 

The I/O's will be allowed to route on layers 1, 2 and 15 so we will group select the I/O pins and press edit to alter the setup. We then select the layers as required and press OK. The layer setup window is as follows:

 

image

 

We repeat the same for GND, +3v3, and +1V0 with the windows as follows:

 

image

image

image

 

6. The finished Result

 

After letting the BGA Router finish its routing run which took around 10 minutes (I didn't time it unfortunately) the result was as shown below:

 

image

 

7. Comparison with Hand Routed BGA Breakout

 

On first glance the BGA Router seems to have done ok. It's used the correct layers for the IO, the same as I had used in my manual breakout, and although they are a little less tidy than my hand crafted version they are all in and going in the right direction which is nice.

 

On closer inspection of the power net routing though we soon uncover something a little wrong....

 

Whilst I have told it to only route the GND, +3V3, and +1V0 on layers 3, 14 and 16 respectively, it has decided to route between BGA pads on layer 1 to connect some of these together and then only going down to the plane with vias in a limited number of places. This is a little disappointing and limits the usefulness of the BGA Router as it stands but this is something that I am sure Autodesk will be able to fix quite easily in a future update.

 

It is also not possible to control the via type and breakout type to give me the same control as if I am manually routing out the BGA. For example, I might want to use microvias but not have via in pad. Currently with the BGA Router, if I select microvia it will use via in pad, unless standard vias will fit in the space between pads and then it will use those instead in a staggered breakout arrangement. It's not possible to have a staggered breakout with micrivias. This isn't the end of the world, but again is a limiting factor if you are trying to keep the board technology as manufacturer friendly as possible.

 

8. Summary and Conclusions

 

The BGA Router is an interesting addition to EAGLE. It is better than I had initially anticipated based on my lack of fondness for autorouters in general, and whilst it doesn't do a perfect job, as good as I can do manually, it is certainly usable and I think with some more development could become a very powerful tool to speed up the layout process. Currently, it's good for breaking out I/O nets, although it doesn't do as neat of a job as I can do by hand if you compare my original hand routed breakout against the result from the BGA Router.

 

Where it currently falls apart is routing out power nets. Connecting power pads together with traces on the top layer rather than taking each one down to their respective plane with vias is not acceptable, especially when routing for those nets have been turned off for the top layer. So for now, I will be either sticking to routing the power nets by hand or going in and doing lots of manual fix ups afterwards.

 

In general though, on a large BGA, if you don't have the time to spend manually to make it look pretty, breaking out just I/O connections with the BGA Router in EAGLE v8 could be a significant time saver. I think there are definitely things they can do to improve things, more info about why things didn't route out correctly for example and more guidance on getting the setup right in the first place, but I think as it is it is still a valuable tool to have to hand.

 

One other word of warning. If you try to use this tool and you already have some routing on your BGA, you will very likely end up with EAGLE crashing and closing. This is a known issue with the current version (v8.3.1) which I am sure will be corrected in a subsequent release.

 

This concludes the my overview of getting the BGA Router of EAGLE v8 to behave. Let me know what you think in the comments below and if you have any questions please feel free to ask!

  • Sign in to reply

Top Comments

  • rachaelp
    rachaelp over 8 years ago in reply to rachaelp +3
    I wasn't happy with the routing above. Looking at the layer 3 routing, there are lots of available routing channels so I was wondering if I would be able to rework it so that I only needed to use two routing…
  • rachaelp
    rachaelp over 8 years ago in reply to jc2048 +2
    To be honest I could have easily done the stack up in other ways and it would have worked fine, I picked the stack up I used here for ease rather than any other reason. I try and keep things symmetrical…
  • jc2048
    jc2048 over 8 years ago in reply to rachaelp +2
    That's the way I would have done it (I'd have chosen GND on 2 and +3V3 on 15 - ground up top because much of the decoupling was on the top), but I've never used buried vias and there must be fabrication…
  • geralds
    geralds over 8 years ago in reply to rachaelp

    Hi Rachael,

     

    I'm glad to see that you've also done automatic BGA routes.

    Last month I saw a webinar video in German about Eagle in combination with Fusion.

    A sequence in this video was also automatic BGA routing.

    After I've watched, I asked if the BGA router can also automatically route cross below the component.

    "From east to west, from north to south," as I explained.

    This function is not yet implemented.

    So make the wire routes by hand, because there are some reasons you need to see the routing.

    e.g. Impedance-controlled routing, micro-vias, free spaces, precise placement of the components,

    wire lengths when bus wires, heat pipes, and more ...

     

    Best Regards,

    Gerald

    ---

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • rachaelp
    rachaelp over 8 years ago in reply to rachaelp

    I wasn't happy with the routing above. Looking at the layer 3 routing, there are lots of available routing channels so I was wondering if I would be able to rework it so that I only needed to use two routing layers and two plane layers, i.e so I could route this out on a 4 layer board. The answer is yes I can. Here is the updated layer 3 which has been reworked so that it also contains all the tracks that are on layer 14 in the above example:

     

    image

     

    The question I have now is, can I make the BGA Router route out on just these layers?

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • rachaelp
    rachaelp over 8 years ago in reply to rachaelp

    So I spent a bit of time redoing the manual breakout the way I specified in my comment above with a split +3V3/+1V0 plane on layer 2 and GND on layer 5. I could reverse them easily so I have GND on layer 2 which in retrospect might be a better idea as most of the routing will be on layers 1 and 3 for this device. Here are the results:

     

    imageimage

    imageimage

    imageimage

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jc2048
    jc2048 over 8 years ago in reply to rachaelp

    That's the way I would have done it (I'd have chosen GND on 2 and +3V3 on 15 - ground up top because much of the decoupling was on the top), but I've never used buried vias and there must be fabrication limitations, so that's why I was curious.

     

    Back when I was doing this kind of thing with FPGAs (a decade ago) we were doing small runs of products and it was too costly to use large numbers of layers and buried vias. Mostly I worked with flat packs, but on the couple of occasions I needed to use BGA, I used a much bigger package and sacrificed the inner pins so that I just needed to fanout the outer rings [the additional cost for the larger packages was less than we'd have paid for the much more demanding board].

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • rachaelp
    rachaelp over 8 years ago in reply to jc2048

    To be honest I could have easily done the stack up in other ways and it would have worked fine, I picked the stack up I used here for ease rather than any other reason. I try and keep things symmetrical, so I wouldn't put all the planes in one side of the board, but other than that I could have moved things around easily. On reflection I might have been better to make +3V3 and +1V0 a split plane on layer 2 and then GND on layer 15. Doing this makes connecting the power up really simple. Then all the signals, no matter which of the remaining layers they are on are right next to a reference plane so signal integrity and impedance control will be easier. I might take a short while later on to redo my manual breakout this way and see what the result is like.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube