Skip to content

[RFC] adds BGA packages for Xilinx 7 Artix FPGAs

herostrat requested to merge github/fork/herostrat/xilinx-artix7 into master

This PR strives to add all FPGA footprints for the Xilinx Artix 7 FPGAs It is based on the discussions in my previous PR https://github.com/KiCad/kicad-footprints/pull/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: https://github.com/pointhi/kicad-footprint-generator/pull/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.

Merge request reports