hardware: pcb: add assymetric pads for WLCSP

This incorporates requests made by the PCB vendor.

Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
Sean Cross 2018-12-22 23:44:17 +08:00
parent 268b036de8
commit b271bf309e
1 changed files with 114 additions and 113 deletions

View File

@ -30,7 +30,7 @@
(35 F.Paste user)
(36 B.SilkS user)
(37 F.SilkS user)
(38 B.Mask user hide)
(38 B.Mask user)
(39 F.Mask user)
(40 Dwgs.User user)
(41 Cmts.User user)
@ -87,6 +87,7 @@
(usegerberattributes false)
(usegerberadvancedattributes false)
(creategerberjobfile false)
(gerberprecision 5)
(excludeedgelayer true)
(linewidth 0.100000)
(plotframeref false)
@ -183,6 +184,95 @@
(add_net "Net-(U7-Pad1)")
)
(module tomu-fpga:iCE40UP5K-UWG30 (layer B.Cu) (tedit 5C1E5AFA) (tstamp 5BE22E2B)
(at 24.4 21.9)
(path /5C122A3A)
(attr smd)
(fp_text reference U5 (at 0 -1.5) (layer B.Fab)
(effects (font (size 0.127 0.127) (thickness 0.03175)) (justify mirror))
)
(fp_text value ICE40UP5K-UWG30 (at 0 1.5) (layer B.Fab)
(effects (font (size 0.1 0.1) (thickness 0.025)) (justify mirror))
)
(fp_text user %R (at 0 0) (layer B.Fab)
(effects (font (size 0.5 0.5) (thickness 0.125)) (justify mirror))
)
(fp_line (start -1 -1.2) (end -1 1.15) (layer B.Fab) (width 0.05))
(fp_line (start 1 -1.2) (end -1 -1.2) (layer B.Fab) (width 0.05))
(fp_line (start 1 1.15) (end 1 -1.2) (layer B.Fab) (width 0.05))
(fp_line (start -1 1.15) (end 1 1.15) (layer B.Fab) (width 0.05))
(fp_circle (center -1.125 1.325) (end -1.075 1.325) (layer B.CrtYd) (width 0.1))
(fp_line (start 1.1 1.3) (end -1.1 1.3) (layer B.CrtYd) (width 0.05))
(fp_line (start 1.1 -1.3) (end 1.1 1.3) (layer B.CrtYd) (width 0.05))
(fp_line (start -1.1 -1.3) (end 1.1 -1.3) (layer B.CrtYd) (width 0.05))
(fp_line (start -1.1 1.3) (end -1.1 -1.3) (layer B.CrtYd) (width 0.05))
(pad C3 smd circle (at 0 0.2) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 30 "Net-(U5-PadC3)"))
(pad B3 smd circle (at 0 0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 29 "Net-(U5-PadB3)"))
(pad A3 smd circle (at 0 1) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 1 GND))
(pad D3 smd circle (at 0 -0.2) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 9 /CDONE))
(pad E3 smd circle (at 0 -0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 28 "Net-(U5-PadE3)"))
(pad F3 smd circle (at 0 -1) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 8 /CRESET))
(pad C2 smd circle (at -0.4 0.2) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 17 +1V2))
(pad B2 smd circle (at -0.4 0.6) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 16 /VCCPLL))
(pad A2 smd circle (at -0.4 1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 10 /ICE_USBN))
(pad D2 smd circle (at -0.4 -0.2) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 2 +3V3))
(pad E2 smd circle (at -0.4 -0.6) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 1 GND))
(pad F2 smd circle (at -0.4 -1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 6 /SPI_IO2))
(pad C1 smd circle (at -0.8 0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 4 /SPI_CS))
(pad B1 smd circle (at -0.8 0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 7 /SPI_IO3))
(pad A1 smd circle (at -0.8 1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 11 /ICE_USBP))
(pad D1 smd circle (at -0.8 -0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 5 /SPI_CLK))
(pad E1 smd circle (at -0.8 -0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 3 /SPI_MISO))
(pad F1 smd circle (at -0.8 -1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 13 /SPI_MOSI))
(pad B5 smd circle (at 0.8 0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 25 /LED_R))
(pad A5 smd circle (at 0.8 1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 23 /LED_B))
(pad B4 smd circle (at 0.4 0.6) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 1 GND))
(pad A4 smd circle (at 0.4 1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 15 /PU_CTRL_USBP))
(pad F5 smd circle (at 0.8 -1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 19 /TOUCH_4))
(pad E5 smd circle (at 0.8 -0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 22 /TOUCH_3))
(pad E4 smd circle (at 0.4 -0.6) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 20 /TOUCH_1))
(pad F4 smd circle (at 0.4 -1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 14 /OSC_IN))
(pad C4 smd circle (at 0.4 0.2) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 2 +3V3))
(pad C5 smd circle (at 0.8 0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 24 /LED_G))
(pad D4 smd circle (at 0.4 -0.2) (size 0.23 0.23) (layers B.Cu B.Paste B.Mask)
(net 18 +2V5))
(pad D5 smd circle (at 0.8 -0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 21 /TOUCH_2))
(model ${KIPRJMOD}/tomu-fpga.pretty/ucBGA-36_2.5x2.5mm_Layout6x6_P0.4mm.step
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module tomu-fpga:C_0402_1005Metric (layer B.Cu) (tedit 5B301BBE) (tstamp 5BF8F1F5)
(at 20.3 25.46 90)
(descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator")
@ -688,95 +778,6 @@
)
)
(module tomu-fpga:iCE40UP5K-UWG30 (layer B.Cu) (tedit 5C0F25CB) (tstamp 5BE22E2B)
(at 24.4 21.9)
(path /5C122A3A)
(attr smd)
(fp_text reference U5 (at 0 -1.5) (layer B.Fab)
(effects (font (size 0.127 0.127) (thickness 0.03175)) (justify mirror))
)
(fp_text value ICE40UP5K-UWG30 (at 0 1.5) (layer B.Fab)
(effects (font (size 0.1 0.1) (thickness 0.025)) (justify mirror))
)
(fp_text user %R (at 0 0) (layer B.Fab)
(effects (font (size 0.5 0.5) (thickness 0.125)) (justify mirror))
)
(fp_line (start -1 -1.2) (end -1 1.15) (layer B.Fab) (width 0.05))
(fp_line (start 1 -1.2) (end -1 -1.2) (layer B.Fab) (width 0.05))
(fp_line (start 1 1.15) (end 1 -1.2) (layer B.Fab) (width 0.05))
(fp_line (start -1 1.15) (end 1 1.15) (layer B.Fab) (width 0.05))
(fp_circle (center -1.125 1.325) (end -1.075 1.325) (layer B.CrtYd) (width 0.1))
(fp_line (start 1.1 1.3) (end -1.1 1.3) (layer B.CrtYd) (width 0.05))
(fp_line (start 1.1 -1.3) (end 1.1 1.3) (layer B.CrtYd) (width 0.05))
(fp_line (start -1.1 -1.3) (end 1.1 -1.3) (layer B.CrtYd) (width 0.05))
(fp_line (start -1.1 1.3) (end -1.1 -1.3) (layer B.CrtYd) (width 0.05))
(pad C3 smd circle (at 0 0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 30 "Net-(U5-PadC3)"))
(pad B3 smd circle (at 0 0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 29 "Net-(U5-PadB3)"))
(pad A3 smd circle (at 0 1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 1 GND))
(pad D3 smd circle (at 0 -0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 9 /CDONE))
(pad E3 smd circle (at 0 -0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 28 "Net-(U5-PadE3)"))
(pad F3 smd circle (at 0 -1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 8 /CRESET))
(pad C2 smd circle (at -0.4 0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 17 +1V2))
(pad B2 smd circle (at -0.4 0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 16 /VCCPLL))
(pad A2 smd circle (at -0.4 1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 10 /ICE_USBN))
(pad D2 smd circle (at -0.4 -0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 2 +3V3))
(pad E2 smd circle (at -0.4 -0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 1 GND))
(pad F2 smd circle (at -0.4 -1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 6 /SPI_IO2))
(pad C1 smd circle (at -0.8 0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 4 /SPI_CS))
(pad B1 smd circle (at -0.8 0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 7 /SPI_IO3))
(pad A1 smd circle (at -0.8 1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 11 /ICE_USBP))
(pad D1 smd circle (at -0.8 -0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 5 /SPI_CLK))
(pad E1 smd circle (at -0.8 -0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 3 /SPI_MISO))
(pad F1 smd circle (at -0.8 -1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 13 /SPI_MOSI))
(pad B5 smd circle (at 0.8 0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 25 /LED_R))
(pad A5 smd circle (at 0.8 1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 23 /LED_B))
(pad B4 smd circle (at 0.4 0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 1 GND))
(pad A4 smd circle (at 0.4 1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 15 /PU_CTRL_USBP))
(pad F5 smd circle (at 0.8 -1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 19 /TOUCH_4))
(pad E5 smd circle (at 0.8 -0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 22 /TOUCH_3))
(pad E4 smd circle (at 0.4 -0.6) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 20 /TOUCH_1))
(pad F4 smd circle (at 0.4 -1) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 14 /OSC_IN))
(pad C4 smd circle (at 0.4 0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 2 +3V3))
(pad C5 smd circle (at 0.8 0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 24 /LED_G))
(pad D4 smd circle (at 0.4 -0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 18 +2V5))
(pad D5 smd circle (at 0.8 -0.2) (size 0.2 0.2) (layers B.Cu B.Paste B.Mask)
(net 21 /TOUCH_2))
(model ${KIPRJMOD}/tomu-fpga.pretty/ucBGA-36_2.5x2.5mm_Layout6x6_P0.4mm.step
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module tomu-fpga:C_0201_0603Metric (layer B.Cu) (tedit 5C0F2477) (tstamp 5C0F2497)
(at 25.5 24.2)
(descr "Capacitor SMD 0201 (0603 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20052/crcw0201e3.pdf), generated with kicad-footprint-generator")
@ -3148,7 +3149,7 @@
(segment (start 22.95 17.85) (end 22.725 18.075) (width 0.4) (layer B.Cu) (net 31) (status 30))
(segment (start 22.775 17.95) (end 22.725 18) (width 0.4) (layer B.Cu) (net 31) (status 30))
(zone (net 19) (net_name /TOUCH_4) (layer B.Cu) (tstamp 5C0F74A8) (hatch edge 0.508)
(zone (net 19) (net_name /TOUCH_4) (layer B.Cu) (tstamp 5C1E777B) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3174,7 +3175,7 @@
)
)
)
(zone (net 19) (net_name /TOUCH_4) (layer F.Cu) (tstamp 5C0F74A5) (hatch edge 0.508)
(zone (net 19) (net_name /TOUCH_4) (layer F.Cu) (tstamp 5C1E7778) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3200,7 +3201,7 @@
)
)
)
(zone (net 22) (net_name /TOUCH_3) (layer F.Cu) (tstamp 5C0F74A2) (hatch edge 0.508)
(zone (net 22) (net_name /TOUCH_3) (layer F.Cu) (tstamp 5C1E7775) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3228,7 +3229,7 @@
)
)
)
(zone (net 20) (net_name /TOUCH_1) (layer F.Cu) (tstamp 5C0F749F) (hatch edge 0.508)
(zone (net 20) (net_name /TOUCH_1) (layer F.Cu) (tstamp 5C1E7772) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3258,7 +3259,7 @@
)
)
)
(zone (net 21) (net_name /TOUCH_2) (layer F.Cu) (tstamp 5C0F749C) (hatch edge 0.508)
(zone (net 21) (net_name /TOUCH_2) (layer F.Cu) (tstamp 5C1E776F) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3286,7 +3287,7 @@
)
)
)
(zone (net 21) (net_name /TOUCH_2) (layer B.Cu) (tstamp 5C0F7499) (hatch edge 0.508)
(zone (net 21) (net_name /TOUCH_2) (layer B.Cu) (tstamp 5C1E776C) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3314,7 +3315,7 @@
)
)
)
(zone (net 20) (net_name /TOUCH_1) (layer B.Cu) (tstamp 5C0F7496) (hatch edge 0.508)
(zone (net 20) (net_name /TOUCH_1) (layer B.Cu) (tstamp 5C1E7769) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3343,7 +3344,7 @@
)
)
)
(zone (net 12) (net_name +5V) (layer B.Cu) (tstamp 5C0F7493) (hatch edge 0.508)
(zone (net 12) (net_name +5V) (layer B.Cu) (tstamp 5C1E7766) (hatch edge 0.508)
(priority 1)
(connect_pads yes (clearance 0))
(min_thickness 0.1)
@ -3406,7 +3407,7 @@
)
)
)
(zone (net 1) (net_name GND) (layer In2.Cu) (tstamp 5C0F7490) (hatch edge 0.508)
(zone (net 1) (net_name GND) (layer In2.Cu) (tstamp 5C1E7763) (hatch edge 0.508)
(connect_pads yes (clearance 0.1))
(min_thickness 0.254)
(fill yes (arc_segments 16) (thermal_gap 0.508) (thermal_bridge_width 0.508))
@ -3540,7 +3541,7 @@
)
)
)
(zone (net 2) (net_name +3V3) (layer In2.Cu) (tstamp 5C0F748D) (hatch edge 0.508)
(zone (net 2) (net_name +3V3) (layer In2.Cu) (tstamp 5C1E7760) (hatch edge 0.508)
(priority 5)
(connect_pads yes (clearance 0.1))
(min_thickness 0.254)
@ -3557,7 +3558,7 @@
)
)
)
(zone (net 2) (net_name +3V3) (layer In1.Cu) (tstamp 5C0F748A) (hatch edge 0.508)
(zone (net 2) (net_name +3V3) (layer In1.Cu) (tstamp 5C1E775D) (hatch edge 0.508)
(priority 1)
(connect_pads yes (clearance 0.1))
(min_thickness 0.254)
@ -3633,7 +3634,7 @@
)
)
)
(zone (net 17) (net_name +1V2) (layer In2.Cu) (tstamp 5C0F7487) (hatch edge 0.508)
(zone (net 17) (net_name +1V2) (layer In2.Cu) (tstamp 5C1E775A) (hatch edge 0.508)
(priority 5)
(connect_pads yes (clearance 0.1))
(min_thickness 0.254)
@ -3658,7 +3659,7 @@
)
)
)
(zone (net 18) (net_name +2V5) (layer In1.Cu) (tstamp 5C0F7484) (hatch edge 0.508)
(zone (net 18) (net_name +2V5) (layer In1.Cu) (tstamp 5C1E7757) (hatch edge 0.508)
(priority 6)
(connect_pads yes (clearance 0.1))
(min_thickness 0.254)
@ -3681,7 +3682,7 @@
)
)
)
(zone (net 22) (net_name /TOUCH_3) (layer B.Cu) (tstamp 5C0F7481) (hatch edge 0.508)
(zone (net 22) (net_name /TOUCH_3) (layer B.Cu) (tstamp 5C1E7754) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3708,7 +3709,7 @@
)
)
)
(zone (net 17) (net_name +1V2) (layer In1.Cu) (tstamp 5C0F747E) (hatch edge 0.508)
(zone (net 17) (net_name +1V2) (layer In1.Cu) (tstamp 5C1E7751) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3729,7 +3730,7 @@
)
)
)
(zone (net 1) (net_name GND) (layer In1.Cu) (tstamp 5C0F747B) (hatch edge 0.508)
(zone (net 1) (net_name GND) (layer In1.Cu) (tstamp 5C1E774E) (hatch edge 0.508)
(priority 4)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3757,7 +3758,7 @@
)
)
)
(zone (net 2) (net_name +3V3) (layer In2.Cu) (tstamp 5C0F7478) (hatch edge 0.508)
(zone (net 2) (net_name +3V3) (layer In2.Cu) (tstamp 5C1E774B) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3777,7 +3778,7 @@
)
)
)
(zone (net 12) (net_name +5V) (layer In1.Cu) (tstamp 5C0F7475) (hatch edge 0.508)
(zone (net 12) (net_name +5V) (layer In1.Cu) (tstamp 5C1E7748) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3794,7 +3795,7 @@
)
)
)
(zone (net 12) (net_name +5V) (layer In2.Cu) (tstamp 5C0F7472) (hatch edge 0.508)
(zone (net 12) (net_name +5V) (layer In2.Cu) (tstamp 5C1E7745) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3819,7 +3820,7 @@
)
)
)
(zone (net 17) (net_name +1V2) (layer In2.Cu) (tstamp 5C0F746F) (hatch edge 0.508)
(zone (net 17) (net_name +1V2) (layer In2.Cu) (tstamp 5C1E7742) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
@ -3836,7 +3837,7 @@
)
)
)
(zone (net 16) (net_name /VCCPLL) (layer In1.Cu) (tstamp 5C0F746C) (hatch edge 0.508)
(zone (net 16) (net_name /VCCPLL) (layer In1.Cu) (tstamp 5C1E773F) (hatch edge 0.508)
(priority 6)
(connect_pads yes (clearance 0.1))
(min_thickness 0.254)
@ -3857,7 +3858,7 @@
)
)
)
(zone (net 1) (net_name GND) (layer B.Cu) (tstamp 5C0F7469) (hatch edge 0.508)
(zone (net 1) (net_name GND) (layer B.Cu) (tstamp 5C1E773C) (hatch edge 0.508)
(connect_pads yes (clearance 0))
(min_thickness 0.254)
(fill yes (arc_segments 16) (thermal_gap 0.508) (thermal_bridge_width 0.508))
@ -4019,7 +4020,7 @@
)
)
)
(zone (net 2) (net_name +3V3) (layer In2.Cu) (tstamp 5C0F7466) (hatch edge 0.508)
(zone (net 2) (net_name +3V3) (layer In2.Cu) (tstamp 5C1E7739) (hatch edge 0.508)
(priority 1)
(connect_pads (clearance 0.1))
(min_thickness 0.254)