bga.fpd 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /* MACHINE-GENERATED ! */
  2. frame pad {
  3. __0: vec @(col*e-Px/2, row*-e-Py/2)
  4. __1: vec .(0mm, Py)
  5. __2: vec __0(Px, 0mm)
  6. rpad "$rname$cname" __1 .
  7. }
  8. frame pads {
  9. table
  10. { ?row, rname }
  11. { 0, "A" }
  12. { 1, "B" }
  13. { 2, "C" }
  14. { 3, "D" }
  15. { 4, "E" }
  16. { 5, "F" }
  17. { 6, "G" }
  18. { 7, "H" }
  19. { 8, "J" }
  20. { 9, "K" }
  21. { 10, "L" }
  22. { 11, "M" }
  23. { 12, "N" }
  24. { 13, "P" }
  25. { 14, "R" }
  26. { 15, "T" }
  27. { 16, "U" }
  28. { 17, "V" }
  29. { 18, "W" }
  30. { 19, "Y" }
  31. { 20, "AA" }
  32. { 21, "AB" }
  33. set cname = col+1
  34. loop row = 0, Nr-1
  35. loop col = 0, Nc-1
  36. frame pad @
  37. }
  38. frame outline {
  39. __0: vec @(D1/2, -E1/2)
  40. __1: vec .(D/2, E/2)
  41. __2: vec __0(-D/2, -E/2)
  42. rect __1 . 5mil
  43. __3: vec @(0mm, (E-E1)/2)
  44. __4: vec @(-(D-D1)/2, 0mm)
  45. line __3 . 5mil
  46. }
  47. package "BGA-$pins"
  48. unit mm
  49. table
  50. { pins, Nr, Nc, Px, Py, e, D1, E1, D, E }
  51. { 6, 3, 2, 0.267mm, 0.267mm, 0.4mm, e, e*(Nr-1), 0.905mm, 1.385mm }
  52. { 8, 4, 2, 0.23mm, Px, 0.5mm, e, e*(Nr-1), 0.93mm, 1.93mm }
  53. { 256, 16, 16, 0.5mm, 0.5mm, 1mm, 15mm, D1, 17mm, D }
  54. { 484, 22, 22, 0.6mm, 0.6mm, 1mm, 21mm, D1, 23mm, D }
  55. { 324, 18, 18, 0.45mm, 0.45mm, 0.8mm, 13.6mm, D1, 15mm, D }
  56. frame outline @
  57. frame pads @
  58. measy pad.__0 -> pad.__1 1mm
  59. measy pad.__0 -> pad.__0 1.5mm
  60. measx pad.__0 -> pad.__2 -1mm
  61. measx pad.__0 -> pad.__0 -1.5mm
  62. measy pad.__0 >> pad.__1 2.4mm
  63. measx pad.__0 >> pad.__2 -2.4mm
  64. measy outline.__2 >> outline.__1 2.5mm
  65. measx outline.__2 >> outline.__1 -2.5mm
  66. measx pad.__0 >> pad.__0 -1.8mm
  67. measy pad.__0 >> pad.__0 1.7mm