Author Topic: Kicad 5.1 and BGAs  (Read 7334 times)

0 Members and 1 Guest are viewing this topic.

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Kicad 5.1 and BGAs
« on: June 29, 2020, 12:21:40 pm »
I wanted to try a design with BGA and since the free Eagle doesn't allow 4 layers, I tried Kicad 5.1.6. FPGA library is from SnapEDA. I get some circles around the pads which I believe are keep-out areas that I cannot get rid of. DRC rules are JLCPCB minimums.
How ready is Kicad for fine pitch BGAs?
This is the second time that I looked at Kicad and the first impression (or the second) is not very good. It seems awkward to me, a long time user of Eagle.
« Last Edit: June 29, 2020, 12:23:20 pm by Miti »
Fear does not stop death, it stops life.
 

Offline PartialDischarge

  • Super Contributor
  • ***
  • Posts: 1611
  • Country: 00
Re: Kicad 5.1 and BGAs
« Reply #1 on: June 29, 2020, 12:46:01 pm »
You can get rid of them visually or effectively, look here https://www.eevblog.com/forum/kicad/kicad-lock-component/msg3096015/#msg3096015
 
The following users thanked this post: Miti

Offline tox3

  • Contributor
  • Posts: 24
  • Country: lv
Re: Kicad 5.1 and BGAs
« Reply #2 on: June 29, 2020, 02:04:14 pm »
Might be to fine pitch BGA for JLCPCB
 

Offline knapik

  • Regular Contributor
  • *
  • Posts: 143
  • Country: au
Re: Kicad 5.1 and BGAs
« Reply #3 on: June 29, 2020, 02:10:59 pm »
If the software is try to prevent you from breaking your design rules, seems like a good thing to me? :-//

The outline around your BGA pads is the clearance rule you've set. Given that they're intersecting with one another, your clearance isn't small enough. Either check your clearance rules, or if they're correct JLC can't manufacturer your specs.
« Last Edit: June 29, 2020, 02:14:22 pm by knapik »
 

Offline knapik

  • Regular Contributor
  • *
  • Posts: 143
  • Country: au
Re: Kicad 5.1 and BGAs
« Reply #4 on: June 29, 2020, 02:20:29 pm »
You can get rid of them visually or effectively, look here https://www.eevblog.com/forum/kicad/kicad-lock-component/msg3096015/#msg3096015

Removing the DRC sounds like a really bad idea to me.
 
The following users thanked this post: Bassman59, JohnG, Jacon

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #5 on: June 29, 2020, 11:52:59 pm »
Might be to fine pitch BGA for JLCPCB

I don't think it is the case, my BGA is Altera UBGA484, pad is 0.5mm, pitch is 0.8mm, pad to pad clearance is 0.3mm.
JLC BGA capabilities for 4-6 layers, min pad 0.25mm, pad to pad clearance 0.127mm.
Fear does not stop death, it stops life.
 

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #6 on: June 29, 2020, 11:54:46 pm »
You can get rid of them visually or effectively, look here https://www.eevblog.com/forum/kicad/kicad-lock-component/msg3096015/#msg3096015

Removing the DRC sounds like a really bad idea to me.

I don't want to remove DRC rules. I just wanted to know where is that circle defined and what rule I'm breaking.
Fear does not stop death, it stops life.
 

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #7 on: June 30, 2020, 12:37:53 am »
I looked a bit closer, I think fanning it out would be a challenge, definitely not possible to fan out many I/Os on a 4 layer board with JLC or PCBWay capabilities.
Oh, well...
Fear does not stop death, it stops life.
 

Offline knapik

  • Regular Contributor
  • *
  • Posts: 143
  • Country: au
Re: Kicad 5.1 and BGAs
« Reply #8 on: June 30, 2020, 11:48:39 am »
Sorry, I'm running a nightly build, so the UI for DRC is going to look a little different, nor would I recommend running nightly either.

To get into the DRC menu, you want to hit this button in the toolbar.

From there, you can set up your design rules via "constraints" (What KiCAD will be checking against to see if your board is able to be manufactured) and your "Net Classes" (I haven't played around with this much before, but it will be for applying design rules to certain nets eg. rules for high voltage traces). You should have a setup roughly what I have, which will allow you to just get a via in between 0.4mm wide BGA pads like so.
« Last Edit: June 30, 2020, 11:51:45 am by knapik »
 

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #9 on: June 30, 2020, 04:20:42 pm »
The problem is that I have 0.35mm between pads. If I squeeze a 0.127mm trace in between two pads, I violate JLC’s minimum clearance requirements.
Fear does not stop death, it stops life.
 

Offline poeschlr

  • Regular Contributor
  • *
  • Posts: 52
  • Country: at
  • Head of KiCad library; Writer of tutorials
Re: Kicad 5.1 and BGAs
« Reply #10 on: June 30, 2020, 05:56:14 pm »
@knapik the DRC system has been totally reworked in nightly. So please do not confuse users with the new unstable stuff that is currently rabidly changing.

---

For reference KiCad version 5 can only define clearances on the netclass, footprint or pad level. All of that is found under file->board setup in KiCad 5.1.6 (the same is true for all 5.1.x releases including future ones, as minor releases are not allowed to change KiCads interface or behaviour)
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: Kicad 5.1 and BGAs
« Reply #11 on: June 30, 2020, 06:49:43 pm »
The problem is that I have 0.35mm between pads. If I squeeze a 0.127mm trace in between two pads, I violate JLC’s minimum clearance requirements.

Then you need to find a different board house.
 

Offline dnotq

  • Contributor
  • Posts: 35
  • Country: us
Re: Kicad 5.1 and BGAs
« Reply #12 on: July 01, 2020, 08:46:27 am »
I have been making boards with 0.8mm pitch BGAs with KiCAD since V4.0.7 (around late 2017), and the the 5.1.6 version is more than capable of doing fine-pitch BGAs.  I use OSHpark for all my prototypes and have never had any problems.

I don't think it is the case, my BGA is Altera UBGA484, pad is 0.5mm, pitch is 0.8mm, pad to pad clearance is 0.3mm.
JLC BGA capabilities for 4-6 layers, min pad 0.25mm, pad to pad clearance 0.127mm.

You are looking at the BGA *package*, not the footprint.  The 0.5mm spec is the size of the solder-ball, *NOT* the footprint pad for the ball.  The recommended ball-pad is 0.4mm for a 0.8mm ball-pitch, non-solder-mask-defined NSMD.  You can get away with *one* 0.127mm (5mil) trace between those pads and be within the capabilities of most board-house's standard specs (i.e. not the high cost or special features).  Your vias need to be 0.46mm dia / 0.25mm hole (18mil / 10mil) or smaller to be able to dog-bone the pads.

The problem is that I have 0.35mm between pads. If I squeeze a 0.127mm trace in between two pads, I violate JLC’s minimum clearance requirements.

Actually, you will have 0.4mm between the pads, enough for one 0.127mm trace at standard-specs.

I don't want to remove DRC rules. I just wanted to know where is that circle defined and what rule I'm breaking.

You have to adjust your DRC-rules based on the specifications you are working with.  The defaults do not necessarily work for every situation.  I made special rules for all the BGA nets, since those were tighter than what I wanted for the rest of the board.

https://www.xilinx.com/support/documentation/user_guides/ug1099-bga-device-design-rules.pdf

By the way, KiCAD is simply awesome.

Matthew
 
The following users thanked this post: Miti

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #13 on: July 01, 2020, 11:55:49 am »
Thanks dnotq, that’s great!
You are right, first I looked at the package, but then I realized my mistake and I looked at the footprint that I downloaded from Snapeda. The pads are 0.45mm.
I found that Xilinx document but I didn’t look at the recommended footprint/ pad size, I looked only at the recommended fanout.  :palm:
In the light of your new revelations, I think I can make a 4 layer board with JLC, if I don’t want to route all the I/Os. The reason for JLC is their assembly, I want 0402s and I want them to place them, otherwise PCBWAY is my board house for few years.
What are the DRC rules for the BGA in the attachment? Can you post a screenshot from your board options? I’m just starting with Kicad.

Edit: Is there a way to auto align a via to the four pads around it?
« Last Edit: July 01, 2020, 12:11:30 pm by Miti »
Fear does not stop death, it stops life.
 

Offline knapik

  • Regular Contributor
  • *
  • Posts: 143
  • Country: au
Re: Kicad 5.1 and BGAs
« Reply #14 on: July 01, 2020, 12:26:15 pm »
@knapik the DRC system has been totally reworked in nightly. So please do not confuse users with the new unstable stuff that is currently rabidly changing.

---

For reference KiCad version 5 can only define clearances on the netclass, footprint or pad level. All of that is found under file->board setup in KiCad 5.1.6 (the same is true for all 5.1.x releases including future ones, as minor releases are not allowed to change KiCads interface or behaviour)

Sorry, I thought some help would be better than no help.

Edit: Is there a way to auto align a via to the four pads around it?

I'm not sure how it is done in Eagle, but my assumption is no.
Given that its 0.8mm pitch, you can align the BGA on a 1mm grid and then use a 0.2mm grid for via alignment. By pressing Ctrl-T you can create arrays of vias as well (but they won't be assigned a net automatically this way).
 
The following users thanked this post: Miti

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #15 on: July 01, 2020, 03:38:40 pm »
I'm not sure how it is done in Eagle, but my assumption is no.
Given that its 0.8mm pitch, you can align the BGA on a 1mm grid and then use a 0.2mm grid for via alignment. By pressing Ctrl-T you can create arrays of vias as well (but they won't be assigned a net automatically this way).

Yes, that's how I do it in Eagle as well. I can align components but not components to the pads of other components. I learned to play with the grid to my advantage.
Fear does not stop death, it stops life.
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3360
  • Country: nl
Re: Kicad 5.1 and BGAs
« Reply #16 on: July 01, 2020, 04:12:20 pm »
A simple way is to change the grid origin: (Pcbnew / View / Grid Settings).

Because of it's open-source-ness, a lot of side projects have sprung up around KiCad. Pcbnew also has an internal scripting interface, and you can find some scripts around the 'net, most are on github, but some are on external sites only.

An overview of (some of) these scripts is on:
https://github.com/xesscorp/kicad-3rd-party-tools

A script that may be useful to you is:
https://github.com/Laksen/kicad-bga-tools
This script seems to be quite old though, and therefore probably written for an older version of KiCad, so probably it will not run without modifications.

Just Curious:
Why do you use SnapEda libraries?
These sometimes have some compatibility problems with KiCad, while there are already a lot of BGA footprints in KiCad. There are also Footprint wizards in KiCad and you can make new footprints very easily in KiCad (if they fit the wizard format).

Currently there are 13 Footprint wizards in KiCad, and rectangular BGA's is one of them.

Scripts and Footprints Wizards are both written in Python, so if you want similar, but not quite, the behaviour of them, they are relatively easy to adjust.
« Last Edit: July 01, 2020, 04:15:32 pm by Doctorandus_P »
 
The following users thanked this post: Miti

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #17 on: July 01, 2020, 08:01:09 pm »
Just Curious:
Why do you use SnapEda libraries?
These sometimes have some compatibility problems with KiCad, while there are already a lot of BGA footprints in KiCad. There are also Footprint wizards in KiCad and you can make new footprints very easily in KiCad (if they fit the wizard format).

I don't know, bad (or good) habit from Eagle. I actually like the symbol and footprint in one library but I'm still learning the Kicad way.
One issue I see with the symbol is overlapping pins, see attached. Multiple pins in the same net have their names overlapping. It doesn't happen in Eagle.
Fear does not stop death, it stops life.
 

Offline knapik

  • Regular Contributor
  • *
  • Posts: 143
  • Country: au
Re: Kicad 5.1 and BGAs
« Reply #18 on: July 01, 2020, 10:51:17 pm »
That shouldn't happen. It can be handy to group some pins on the same location, but there's an option in the symbol editor to make certain pins non visible to prevent text overlap. I've never encountered this with the KiCAD component libaries, could just be an error with the snapeda libraries.
 

Offline bson

  • Supporter
  • ****
  • Posts: 2270
  • Country: us
Re: Kicad 5.1 and BGAs
« Reply #19 on: July 03, 2020, 07:19:06 pm »
Edit: Is there a way to auto align a via to the four pads around it?
For a 0.8mm pitch device, set the grid to 0.4mm and set the grid origin to pad A1 (or do this before placing the BGA footprint)?  Then when you place vias they will be centered between the pads.
 
The following users thanked this post: Miti

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #20 on: July 06, 2020, 03:52:29 pm »
Are there any good Altera/Intel libraries for Kicad? I would like a symbol that has separate blocks rather than one big blob with all the I/Os.
Fear does not stop death, it stops life.
 

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #21 on: July 08, 2020, 08:37:11 pm »
Today, I downloaded a library from Ultralibrarian. It looks Ok, the symbol is separated in units, but when I checked the pinout, it is all messed up. The part numbers available for download are 5CEFA7U19 and 5CEFA7U19C7N, no matter what I select, the pinout is wrong. For example, nCONFIG pin is A4, in UL symbol it is K5. Am I doing something wrong?
Fear does not stop death, it stops life.
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: Kicad 5.1 and BGAs
« Reply #22 on: July 09, 2020, 08:38:38 pm »
Today, I downloaded a library from Ultralibrarian. It looks Ok, the symbol is separated in units, but when I checked the pinout, it is all messed up. The part numbers available for download are 5CEFA7U19 and 5CEFA7U19C7N, no matter what I select, the pinout is wrong. For example, nCONFIG pin is A4, in UL symbol it is K5. Am I doing something wrong?

Ask Ultralibrarian.
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3360
  • Country: nl
Re: Kicad 5.1 and BGAs
« Reply #23 on: July 10, 2020, 06:24:23 am »
On 2020-07-01 I mentioned some scripts and side projects around KiCad.

One of these side projects is to aid in copying pin table text from a datasheet into a spreadsheet, do some post processing, and then generate a KiCad schematic symbol from the spreadsheet.

I have not used this myself because the components I use are all low pin count.
 
The following users thanked this post: Miti

Offline MitiTopic starter

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: Kicad 5.1 and BGAs
« Reply #24 on: July 14, 2020, 05:07:00 pm »
Ask Ultralibrarian.

I asked and they corrected it. Thanks!
Fear does not stop death, it stops life.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf