[RFC] adds BGA packages for Xilinx 7 Artix FPGAs
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
- CPG238
- CS(G)324
- CS(G)325
- FT(G)256
- SB(G/V)484
- FB(G/V)484
- FB(G/V)676
- FG(G)484
- FG(G)676
- FF(G/V)1156
- RB484
- RS484
- RB676
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.
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
-
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
-
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.
-
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
-
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.
-
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
-
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:
- https://github.com/KiCad/kicad-footprints/pull/1167 Zync 7, seems to be not updated anymore
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.