Skip to content
This repository has been archived by the owner on Oct 2, 2020. It is now read-only.

[RFC] adds BGA packages for Xilinx 7 Artix FPGAs #1557

Merged
merged 3 commits into from
Apr 29, 2019

Conversation

herostrat
Copy link
Collaborator

@herostrat herostrat commented Apr 24, 2019

This PR strives to add all FPGA footprints for the Xilinx Artix 7 FPGAs
It is based on the discussions in my previous PR #616

Added footprints are:

  • CP(G)236
    grafik
  • CPG238
    grafik
  • CS(G)324
    grafik
  • CS(G)325
    grafik
  • FT(G)256
    grafik
  • SB(G/V)484
    grafik
  • FB(G/V)484
    grafik
  • FB(G/V)676
    grafik
  • FG(G)484
    grafik
  • FG(G)676
    grafik
  • FF(G/V)1156
    grafik
  • RB484
    grafik
  • RS484
    grafik
  • RB676
    grafik

The footprints are generated by footprint-generator scripts.
Script PR: pointhi/kicad-footprint-generator#343

All measurements and dimensions are based on
https://www.xilinx.com/support/documentation/user_guides/ug475_7Series_Pkg_Pinout.pdf
Important are dimensions from Appendix A, where the landing pad is defined.
grafik

Notes:

  • Often names are similiar, e.g. FB, FBG and FBV. I choose FBG as it is the common one. The addition stems from different solder types for the BGA balls
  • Xilinx_CPG236 and Xilinx_CPG236 are the same, different name comes from bank differences
  • Xilinx_CSG324 and Xilinx_CSG325 are the same, different name comes from bank differences
  • Xilinx_RS484 and Xilinx_SBG484 have same landing pattern but different heights/3D packages
  • Xilinx_RB484, Xilinx_FBG484 and Xilinx_FGG484 have same landing pattern but different heights/3D packages
  • Xilinx_RB676, Xilinx_FBG676 and Xilinx_FGG676 have same landing pattern but different heights/3D packages

Questions:

  • Other (generically named footprints) are already in the library. They do not seem script generated. Imho although the packages are not that special they should be named according to the Xilinix scheme and not in the generic terms. I will research which symbol is uses what footprints and report here later with additional details.

There are 6 footprints in this repo that reference Xilinix FPGAs. We should think about removing them as they are not:

  • script generated
  • correctly dimensioned
  • generically named, although it seems they are pretty Xilinix specific
  1. https://github.com/KiCad/kicad-footprints/blob/master/Package_BGA.pretty/BGA-676_27.0x27.0mm_Layout26x26_P1.0mm_Ball0.6mm_Pad0.5mm_NSMD.kicad_mod
    This is FG(G)676.
    I cannot find any reference in the symbol library.
    TODO: search if other manufactorer use the same footprint and if it is sensible to name it generically

  2. https://github.com/KiCad/kicad-footprints/blob/master/Package_BGA.pretty/BGA-256_14.0x14.0mm_Layout16x16_P0.8mm_Ball0.45mm_Pad0.32mm_NSMD.kicad_mod
    This is FT256, which should have a 1.0mm pitch. Our footprint has a 0.8mm pitch, which does not exist and is false (the dosument it links to in the description also does state 1.0mm)
    I cannot find any reference in the symbol library.

  3. https://github.com/KiCad/kicad-footprints/blob/master/Package_BGA.pretty/BGA-256_17.0x17.0mm_Layout16x16_P1.0mm_Ball0.5mm_Pad0.4mm_NSMD.kicad_mod
    This is FT256 with a 1.0mm pitch.
    I cannot find any reference in the symbol library.
    TODO: search if other manufactorer use the same footprint and if it is sensible to name it generically

  4. https://github.com/KiCad/kicad-footprints/blob/master/Package_BGA.pretty/BGA-400_21.0x21.0mm_Layout20x20_P1.0mm.kicad_mod
    This is the FG400 package and is not yet covered in my PR.
    I cannot find any reference in the symbol library.
    TODO: recheck if it exists and is correct.

  5. https://github.com/KiCad/kicad-footprints/blob/master/Package_BGA.pretty/BGA-484_23.0x23.0mm_Layout22x22_P1.0mm.kicad_mod
    This is FG(G)484.
    The solder mask opening is wrong here.
    I cannot find any reference in the symbol library.
    TODO: search if other manufactorer use the same footprint and if it is sensible to name it generically

  6. https://github.com/KiCad/kicad-footprints/blob/master/Package_BGA.pretty/FB-BGA-484_23.0x23.0mm_Layout22x22_P1.0mm.kicad_mod
    This is FG(G)484, which is the same as 5.
    The naming is pretty confusing imho

Similar PR:

TODO:

  • Check and change the linked footprints in the symbols of the Xilinix FPGAs
  • Check if we should place the Xilinix Footprints in a dedicated folder, as I plan to add all footprints to the script generator

All contributions to the kicad library must follow the KiCad library convention

Thanks for creating a pull request to contribute to the KiCad libraries! To speed up integration of your PR, please check the following items:

  • Provide a URL to a datasheet for the footprint(s) you are contributing
  • An example screenshot image is very helpful
  • If there are matching symbol or 3D model pull requests, provide link(s) as appropriate
  • Check the output of the Travis automated check scripts - fix any errors as required
  • Give a reason behind any intentional library convention rule violation.

@evanshultz
Copy link
Collaborator

Thank you!!! This is great work.

Several notes are in the script PR.

In addition to UG475 I also cross-referenced the pad size info from UG1099 (https://www.xilinx.com/support/documentation/user_guides/ug1099-bga-device-design-rules.pdf). They don't match at all and since UG475 is newer let's go with that.

If you include CLG225 from #1167 we can close that PR. This is optional, of course, but you've already put in a lot of work and this isn't much more.

I support removing the old footprints if they aren't used (and especially as their naming doesn't fit the current convention), but please do that in another PR as Rene requested at #1167 (comment). That can proceed as a parallel task. Any truly wrong footprint can be simply deleted, but unused footprints should be moved to an archive folder for a while and then truly deleted later.

@herostrat
Copy link
Collaborator Author

In addition to UG475 I also cross-referenced the pad size info from UG1099 (https://www.xilinx.com/support/documentation/user_guides/ug1099-bga-device-design-rules.pdf). They don't match at all and since UG475 is newer let's go with that.

I agree, that's also the reason I did not reference the single sheets with the individual information.
I produced PCBs for two different footprints with the sizes of UG475 and had no problems whatsoever.

If you include CLG225 from #1167 we can close that PR. This is optional, of course, but you've already put in a lot of work and this isn't much more.

I plan to do not only that, but include also other Xilinx footprints, see #1560
But I wanted to divide it into smaller junks to ease review and merging.

I support removing the old footprints if they aren't used (and especially as their naming doesn't fit the current convention), but please do that in another PR as Rene requested at #1167 (comment). That can proceed as a parallel task. Any truly wrong footprint can be simply deleted, but unused footprints should be moved to an archive folder for a while and then truly deleted later.

I will make a dedicated PR with my proposition having that information in mind.

@myfreescalewebpage myfreescalewebpage removed the Pending reviewer A pull request waiting for a reviewer label Apr 29, 2019
@evanshultz
Copy link
Collaborator

Thanks! Since these are all new, if we find any roadblocks as the next chunk of footprints is added we'll feel more free to make adjustments to them.

@evanshultz evanshultz merged commit b8ad861 into KiCad:master Apr 29, 2019
@antoniovazquezblanco antoniovazquezblanco added this to the 5.1.3 milestone Apr 30, 2019
DaToBSn pushed a commit to DaToBSn/kicad-footprints that referenced this pull request Jul 2, 2019
* 'master' of github.com:KiCad/kicad-footprints:
  adds all BGA footprints for Xilinx Spartan-7 FPGAs (KiCad#1568)
  fix pin numbering for Omron G6S-2, -2F, and -2G DPDT relays (KiCad#1563)
  Add TI TO-PMOD-11 / NDY0011A (KiCad#1532)
  [RFC] adds BGA packages for Xilinx 7 Artix FPGAs (KiCad#1557)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Addition Adds new footprint to library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants