working on the CC1120's footprint .. currently it's a 32-pin variation on
authorBdale Garbee <bdale@gag.com>
Fri, 25 Nov 2011 01:16:32 +0000 (18:16 -0700)
committerBdale Garbee <bdale@gag.com>
Fri, 25 Nov 2011 01:16:32 +0000 (18:16 -0700)
the CC1111 footprint, still needs the under-chip ground pad updated

pkg/newlib/NDK32.py [new file with mode: 0755]
pkg/newlib/TI-QFN32.py [new file with mode: 0755]
pkg/newlib/lqfp100.py [new file with mode: 0755]
sym/CC1120.sym [new file with mode: 0644]

diff --git a/pkg/newlib/NDK32.py b/pkg/newlib/NDK32.py
new file mode 100755 (executable)
index 0000000..ab434d4
--- /dev/null
@@ -0,0 +1,71 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for package used by NDK 32mhz crystal
+#
+
+# dimensions in mm from abm8.pdf Abracon datasheet
+PinHeight = 1.40
+PinWidth = 1.20
+HSpacing = 2.20 - 1.40
+WSpacing = 1.6 - 1.20
+
+import sys
+
+# we're going to use the 1/100 of a mil fundamental unit form
+def mm2mils100( mm ):
+       return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
+
+print '# author: Bdale Garbee'
+print '# email: bdale@gag.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "NDK32" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+print '   Pad[',\
+       mm2mils100(WSpacing/2 + PinWidth/2), \
+       mm2mils100(-(HSpacing/2 + PinWidth/2)), \
+       mm2mils100(WSpacing/2 + PinWidth/2), \
+       mm2mils100(-(HSpacing/2 + PinHeight - PinWidth/2)), \
+       mm2mils100(PinWidth), \
+       mm2mils100(0), \
+       mm2mils100(PinWidth)+600, \
+       '"pin2" "2" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(WSpacing/2 + PinWidth/2), \
+       mm2mils100(HSpacing/2 + PinWidth/2), \
+       mm2mils100(WSpacing/2 + PinWidth/2), \
+       mm2mils100(HSpacing/2 + PinHeight - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(0), \
+       mm2mils100(PinWidth)+600, \
+       '"pin1" "1" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(-(WSpacing/2 + PinWidth/2)), \
+       mm2mils100(HSpacing/2 + PinWidth/2), \
+       mm2mils100(-(WSpacing/2 + PinWidth/2)), \
+       mm2mils100(HSpacing/2 + PinHeight - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(0), \
+       mm2mils100(PinWidth)+600, \
+       '"pin4" "4" 0x0100]'
+
+print '   Pad[',\
+       mm2mils100(-(WSpacing/2 + PinWidth/2)), \
+       mm2mils100(-(HSpacing/2 + PinWidth/2)), \
+       mm2mils100(-(WSpacing/2 + PinWidth/2)), \
+       mm2mils100(-(HSpacing/2 + PinHeight - PinWidth/2)), \
+       mm2mils100(PinWidth), \
+       mm2mils100(0), \
+       mm2mils100(PinWidth)+600, \
+       '"pin3" "3" 0x0100]'
+
+print '   ElementArc[',\
+       mm2mils100(PinWidth*1.4), \
+       mm2mils100(PinHeight*1.4), \
+       '500 500 0 360 1000 ]'
+
+print ")"
diff --git a/pkg/newlib/TI-QFN32.py b/pkg/newlib/TI-QFN32.py
new file mode 100755 (executable)
index 0000000..6e2617f
--- /dev/null
@@ -0,0 +1,136 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for QFN32 package used by TI CC1120
+#
+
+# dimensions in mm from the TI cc1111f32.pdf datasheet
+PinWidth = 0.28                
+PinResist = PinWidth + (2 * 0.07)
+PinHeight = (5.8 - 4.1) / 2
+PinSpacing = 0.50
+Overall = 5.80
+GndSquare = 3.70
+CoreSquare = 3.30              # resist gaps and paste spots over ground tab
+PinSquare = 4.10
+
+import sys
+
+# we're going to use the 1/100 of a mil fundamental unit form
+def mm2mils100( mm ):
+       return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
+
+print '# author: Bdale Garbee'
+print '# email: bdale@gag.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "QFN36" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+
+# pad under the chip, must be grounded
+print '   Pad[',\
+       mm2mils100(0), \
+       mm2mils100(0), \
+       mm2mils100(0), \
+       mm2mils100(0), \
+       mm2mils100(GndSquare), \
+       0, \
+       0, \
+       '"pin33" "33" "square,nopaste"]'
+
+# vias in the ground pad under the chip
+for viarow in range (-1,2):
+  for viacol in range (-1,2):
+    print '   Pin[',\
+       mm2mils100(2 * viacol * CoreSquare / 5), \
+       mm2mils100(2 * viarow * CoreSquare / 5), \
+       2800, \
+       1000, \
+       0, \
+       1500, \
+       '"pin33" "33" 0x0002]'
+
+# break pad under chip into a grid to control the resist and paste masks
+for viarow in range (-2, 3):
+  for viacol in range (-2, 3):
+    if (viarow in (-2, 0, 2)) and (viacol in (-2, 0, 2)):
+      # copper sub-square with resist over vias
+      print '   Pad[',\
+       mm2mils100(viacol * CoreSquare / 5), \
+       mm2mils100(viarow * CoreSquare / 5), \
+       mm2mils100(viacol * CoreSquare / 5), \
+       mm2mils100(viarow * CoreSquare / 5), \
+       mm2mils100((CoreSquare)/5), \
+       0, \
+       0, \
+       '"pin37" "37" "square,nopaste"]'
+    else:
+      # copper sub-square without resist
+      print '   Pad[',\
+       mm2mils100(viacol * CoreSquare / 5), \
+       mm2mils100(viarow * CoreSquare / 5), \
+       mm2mils100(viacol * CoreSquare / 5), \
+       mm2mils100(viarow * CoreSquare / 5), \
+       mm2mils100((CoreSquare)/5), \
+       0, \
+       mm2mils100((CoreSquare)/5), \
+       '"pin37" "37" "square,nopaste"]'
+      # copper spot to control paste mask generation
+      print '   Pad[',\
+       mm2mils100(viacol * CoreSquare / 5), \
+       mm2mils100(viarow * CoreSquare / 5), \
+       mm2mils100(viacol * CoreSquare / 5), \
+       mm2mils100(viarow * CoreSquare / 5), \
+       1500, \
+       0, \
+       mm2mils100((CoreSquare)/5), \
+       '"pin37" "37" "square"]'
+
+# pins
+for pin in range (1,9):
+    print '   Pad[',\
+       mm2mils100((-4.5 + pin) * PinSpacing), \
+       mm2mils100(-Overall/2 + PinWidth/2), \
+       mm2mils100((-4.5 + pin) * PinSpacing), \
+       mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (25-pin), '"%i"' % (25-pin), '0x0000]'
+
+    print '   Pad[',\
+       mm2mils100((-4.5 + pin) * PinSpacing), \
+       mm2mils100(+Overall/2 - PinHeight + PinWidth/2), \
+       mm2mils100((-4.5 + pin) * PinSpacing), \
+       mm2mils100(+Overall/2 - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % pin, '"%i"' % pin, '0x0000]'
+
+    print '   Pad[',\
+       mm2mils100(Overall/2 - PinHeight + PinWidth/2), \
+       mm2mils100((-4.5 + pin) * PinSpacing), \
+       mm2mils100(Overall/2 - PinWidth/2), \
+       mm2mils100((-4.5 + pin) * PinSpacing), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (17-pin), '"%i"' % (17-pin), '0x0000]'
+
+    print '   Pad[',\
+       mm2mils100(-Overall/2 + PinWidth/2), \
+       mm2mils100((-4.5 + pin) * PinSpacing), \
+       mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+       mm2mils100((-4.5 + pin) * PinSpacing), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (24+pin), '"%i"' % (24+pin), '0x0000]'
+
+print '   ElementArc[',\
+       mm2mils100(-2.6), \
+       mm2mils100(2.6), \
+       '500 500 0 360 1000 ]'
+print ")"
diff --git a/pkg/newlib/lqfp100.py b/pkg/newlib/lqfp100.py
new file mode 100755 (executable)
index 0000000..991570d
--- /dev/null
@@ -0,0 +1,105 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for STM32L151 LQFP100 14 x 14 mm package
+#
+
+# dimensions in mm from STM32L151 data sheet 
+PinWidth = 0.3
+PinHeight = 1.2
+PinResist = PinWidth + 0.16
+PinSpacing = 0.5
+BodySize = 14
+Overall = 16.7
+
+import sys
+
+# we're going to use the 1/100 of a mil fundamental unit form
+def mm2mils100( mm ):
+       return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
+
+print '# author: Bdale Garbee'
+print '# email: bdale@gag.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "LQFP100" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+
+# pins
+for pin in range (1,26):
+    print '   Pad[',\
+       mm2mils100((pin - 13) * PinSpacing), \
+       mm2mils100(-Overall/2 + PinWidth/2), \
+       mm2mils100((pin - 13) * PinSpacing), \
+       mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (26-pin), '"%i"' % (26-pin), '0x0100]'
+
+    print '   Pad[',\
+       mm2mils100((pin - 13) * PinSpacing), \
+       mm2mils100(+Overall/2 - PinHeight + PinWidth/2), \
+       mm2mils100((pin - 13) * PinSpacing), \
+       mm2mils100(+Overall/2 - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (50+pin), '"%i"' % (50+pin), '0x0100]'
+
+    print '   Pad[',\
+       mm2mils100(Overall/2 - PinHeight + PinWidth/2), \
+       mm2mils100((pin - 13) * PinSpacing), \
+       mm2mils100(Overall/2 - PinWidth/2), \
+       mm2mils100((pin - 13) * PinSpacing), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (101-pin), '"%i"' % (101-pin), '0x0100]'
+
+    print '   Pad[',\
+       mm2mils100(-Overall/2 + PinWidth/2), \
+       mm2mils100((pin - 13) * PinSpacing), \
+       mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+       mm2mils100((pin - 13) * PinSpacing), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinResist), \
+       '"pin%i"' % (25+pin), '"%i"' % (25+pin), '0x0100]'
+
+
+print '   ElementLine[',\
+       mm2mils100(-BodySize/2), \
+       mm2mils100(-BodySize/2), \
+       mm2mils100(-BodySize/2), \
+       mm2mils100( BodySize/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodySize/2), \
+       mm2mils100( BodySize/2), \
+       mm2mils100( BodySize/2), \
+       mm2mils100( BodySize/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100( BodySize/2), \
+       mm2mils100( BodySize/2), \
+       mm2mils100( BodySize/2), \
+       mm2mils100(-BodySize/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100( BodySize/2), \
+       mm2mils100(-BodySize/2), \
+       mm2mils100(-BodySize/2), \
+       mm2mils100(-BodySize/2), \
+       '1000 ]'
+
+
+print '   ElementArc[',\
+       mm2mils100(  (BodySize/2)+0.3), \
+       mm2mils100(-((BodySize/2)+0.3)), \
+       '500 500 0 360 1000 ]'
+print ")"
diff --git a/sym/CC1120.sym b/sym/CC1120.sym
new file mode 100644 (file)
index 0000000..2969559
--- /dev/null
@@ -0,0 +1,364 @@
+v 20110115 2
+P 0 3000 400 3000 1 0 0
+{
+T 100 3100 5 10 1 1 0 0 1
+pinnumber=9
+T 500 3000 3 10 1 1 0 0 1
+pinlabel=SO/GPIO1
+T -400 3100 5 10 0 1 0 0 1
+pinseq=9
+T 0 3000 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 2600 400 2600 1 0 0
+{
+T 100 2700 5 10 1 1 0 0 1
+pinnumber=10
+T 500 2600 3 10 1 1 0 0 1
+pinlabel=GPIO0
+T -400 2700 5 10 0 1 0 0 1
+pinseq=10
+T 0 2600 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 200 400 200 1 0 0
+{
+T 305 245 5 10 1 1 0 6 1
+pinnumber=16
+T 455 195 3 10 1 1 0 0 1
+pinlabel=NC
+T 0 200 5 10 0 1 180 0 1
+pinseq=16
+T 0 200 5 10 0 1 180 0 1
+pintype=io
+}
+P 0 600 400 600 1 0 0
+{
+T 305 645 5 10 1 1 0 6 1
+pinnumber=15
+T 455 595 3 10 1 1 0 0 1
+pinlabel=AVDD_RF
+T 0 600 5 10 0 1 180 0 1
+pinseq=15
+T 0 600 5 10 0 1 180 0 1
+pintype=pwr
+}
+P 3600 1400 3200 1400 1 0 0
+{
+T 3300 1500 5 10 1 1 0 0 1
+pinnumber=20
+T 2500 1400 3 10 1 1 0 0 1
+pinlabel=LNA_N
+T 3600 1400 5 10 0 1 0 0 1
+pinseq=20
+T 3600 1400 5 10 0 1 0 0 1
+pintype=io
+}
+P 3600 1000 3200 1000 1 0 0
+{
+T 2525 1000 3 10 1 1 0 0 1
+pinlabel=LNA_P
+T 3600 1000 5 10 0 1 0 0 1
+pinseq=19
+T 3300 1100 5 10 1 1 0 0 1
+pinnumber=19
+T 3600 1000 5 10 0 1 0 0 1
+pintype=io
+}
+P 3600 600 3200 600 1 0 0
+{
+T 3300 700 5 10 1 1 0 0 1
+pinnumber=18
+T 2325 600 3 10 1 1 0 0 1
+pinlabel=TRX_SW
+T 3600 600 5 10 0 1 0 0 1
+pinseq=18
+T 3600 600 5 10 0 1 0 0 1
+pintype=io
+}
+P 3600 200 3200 200 1 0 0
+{
+T 3300 300 5 10 1 1 0 0 1
+pinnumber=17
+T 2825 200 3 10 1 1 0 0 1
+pinlabel=PA
+T 3600 200 5 10 0 1 0 0 1
+pinseq=17
+T 3600 200 5 10 0 1 0 0 1
+pintype=io
+}
+P 3600 3000 3200 3000 1 0 0
+{
+T 3300 3100 5 10 1 1 0 0 1
+pinnumber=24
+T 2625 3000 3 10 1 1 0 0 1
+pinlabel=LPF1
+T 3600 3000 5 10 0 1 0 0 1
+pinseq=24
+T 3600 3000 5 10 0 1 0 0 1
+pintype=io
+}
+P 3600 2600 3200 2600 1 0 0
+{
+T 3300 2700 5 10 1 1 0 0 1
+pinnumber=23
+T 2600 2600 3 10 1 1 0 0 1
+pinlabel=LPF0
+T 3600 2600 5 10 0 1 0 0 1
+pinseq=23
+T 3600 2600 5 10 0 1 0 0 1
+pintype=io
+}
+P 3600 2200 3200 2200 1 0 0
+{
+T 3300 2300 5 10 1 1 0 0 1
+pinnumber=22
+T 1750 2200 3 10 1 1 0 0 1
+pinlabel=AVDD_SYNTH1
+T 3600 2200 5 10 0 1 0 0 1
+pinseq=22
+T 3600 2200 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 3600 1800 3200 1800 1 0 0
+{
+T 3300 1900 5 10 1 1 0 0 1
+pinnumber=21
+T 2100 1800 3 10 1 1 0 0 1
+pinlabel=DCPL_VCO
+T 3600 1800 5 10 0 1 0 0 1
+pinseq=21
+T 3600 1800 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 0 1000 400 1000 1 0 0
+{
+T 305 1045 5 10 1 1 0 6 1
+pinnumber=14
+T 455 995 3 10 1 1 0 0 1
+pinlabel=RBIAS
+T -400 1100 5 10 0 1 0 0 1
+pinseq=14
+T 0 1000 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 3400 400 3400 1 0 0
+{
+T 100 3500 5 10 1 1 0 0 1
+pinnumber=8
+T 500 3400 3 10 1 1 0 0 1
+pinlabel=SCLK
+T 100 3500 5 10 1 1 0 0 1
+pinseq=8
+T 0 3400 5 10 0 1 0 0 1
+pintype=in
+}
+P 0 6200 400 6200 1 0 0
+{
+T 100 6300 5 10 1 1 0 0 1
+pinnumber=1
+T 500 6200 3 10 1 1 0 0 1
+pinlabel=VDD_GUARD
+T -400 6300 5 10 0 1 0 0 1
+pinseq=1
+T 0 6200 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 0 5800 400 5800 1 0 0
+{
+T 100 5900 5 10 1 1 0 0 1
+pinnumber=2
+T 500 5800 3 10 1 1 0 0 1
+pinlabel=RESET_N
+T -400 5900 5 10 0 1 0 0 1
+pinseq=2
+T 0 5800 5 10 0 1 0 0 1
+pintype=in
+}
+P 0 5400 400 5400 1 0 0
+{
+T 100 5500 5 10 1 1 0 0 1
+pinnumber=3
+T 500 5400 3 10 1 1 0 0 1
+pinlabel=GPIO3
+T -400 5500 5 10 0 1 0 0 1
+pinseq=3
+T 0 5400 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 5000 400 5000 1 0 0
+{
+T 100 5100 5 10 1 1 0 0 1
+pinnumber=4
+T 500 5000 3 10 1 1 0 0 1
+pinlabel=GPIO2
+T -400 5100 5 10 0 1 0 0 1
+pinseq=4
+T 0 5000 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 4600 400 4600 1 0 0
+{
+T 100 4700 5 10 1 1 0 0 1
+pinnumber=5
+T 500 4600 3 10 1 1 0 0 1
+pinlabel=DVDD
+T -400 4700 5 10 0 1 0 0 1
+pinseq=5
+T 0 4600 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 0 4200 400 4200 1 0 0
+{
+T 100 4300 5 10 1 1 0 0 1
+pinnumber=6
+T 500 4200 3 10 1 1 0 0 1
+pinlabel=DCPL
+T -400 4300 5 10 0 1 0 0 1
+pinseq=6
+T 0 4200 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 0 3800 400 3800 1 0 0
+{
+T 100 3900 5 10 1 1 0 0 1
+pinnumber=7
+T 500 3800 3 10 1 1 0 0 1
+pinlabel=SI
+T -400 3900 5 10 0 1 0 0 1
+pinseq=7
+T 0 3800 5 10 0 1 0 0 1
+pintype=in
+}
+P 0 2200 400 2200 1 0 0
+{
+T 100 2300 5 10 1 1 0 0 1
+pinnumber=11
+T 500 2200 3 10 1 1 0 0 1
+pinlabel=CS_N
+T -500 2100 5 10 0 1 0 0 1
+pinseq=11
+T 0 2200 5 10 0 1 0 0 1
+pintype=in
+}
+P 0 1800 400 1800 1 0 0
+{
+T 100 1900 5 10 1 1 0 0 1
+pinnumber=12
+T 500 1800 3 10 1 1 0 0 1
+pinlabel=DVDD
+T -400 1900 5 10 0 1 0 0 1
+pinseq=12
+T 0 1800 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 0 1400 400 1400 1 0 0
+{
+T 305 1445 5 10 1 1 0 6 1
+pinnumber=13
+T 455 1395 3 10 1 1 0 0 1
+pinlabel=AVDD_IF
+T -400 1500 5 10 0 1 0 0 1
+pinseq=13
+T 0 1400 5 10 0 1 0 0 1
+pintype=pwr
+}
+B 400 0 2800 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T 5400 1600 8 10 0 0 0 0 1
+description=TI CC1120 High Performance RF Transceiver
+T 400 6600 8 10 1 1 0 0 1
+refdes=U?
+T 5400 2500 8 10 0 0 0 0 1
+numslots=0
+T 2500 6600 9 10 1 0 0 0 1
+CC1120
+T 5400 2800 8 10 0 0 0 0 1
+slot=1
+P 3600 4600 3200 4600 1 0 0
+{
+T 3300 4700 5 10 1 1 0 0 1
+pinnumber=28
+T 2000 4600 3 10 1 1 0 0 1
+pinlabel=AVDD_XOSC
+T 3600 4600 5 10 0 1 0 0 1
+pinseq=28
+T 3600 4600 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 3600 4200 3200 4200 1 0 0
+{
+T 1775 4200 3 10 1 1 0 0 1
+pinlabel=AVDD_SYNTH2
+T 3600 4200 5 10 0 1 0 0 1
+pinseq=27
+T 3300 4300 5 10 1 1 0 0 1
+pinnumber=27
+T 3600 4200 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 3600 3800 3200 3800 1 0 0
+{
+T 3300 3900 5 10 1 1 0 0 1
+pinnumber=26
+T 1675 3800 3 10 1 1 0 0 1
+pinlabel=DCPL_PFD_CHP
+T 3600 3800 5 10 0 1 0 0 1
+pinseq=26
+T 3600 3800 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 3600 3400 3200 3400 1 0 0
+{
+T 3300 3500 5 10 1 1 0 0 1
+pinnumber=25
+T 1675 3400 3 10 1 1 0 0 1
+pinlabel=AVDD_PFD_CHP
+T 3600 3400 5 10 0 1 0 0 1
+pinseq=25
+T 3600 3400 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 3600 6200 3200 6200 1 0 0
+{
+T 3300 6300 5 10 1 1 0 0 1
+pinnumber=32
+T 2125 6200 3 10 1 1 0 0 1
+pinlabel=EXT_XOSC
+T 3600 6200 5 10 0 1 0 0 1
+pinseq=32
+T 3600 6200 5 10 0 1 0 0 1
+pintype=in
+}
+P 3600 5800 3200 5800 1 0 0
+{
+T 3300 5900 5 10 1 1 0 0 1
+pinnumber=31
+T 2250 5800 3 10 1 1 0 0 1
+pinlabel=XOSC_Q2
+T 3600 5800 5 10 0 1 0 0 1
+pinseq=31
+T 3600 5800 5 10 0 1 0 0 1
+pintype=io
+}
+P 3600 5400 3200 5400 1 0 0
+{
+T 3300 5500 5 10 1 1 0 0 1
+pinnumber=30
+T 2250 5400 3 10 1 1 0 0 1
+pinlabel=XOSC_Q1
+T 3600 5400 5 10 0 1 0 0 1
+pinseq=30
+T 3600 5400 5 10 0 1 0 0 1
+pintype=io
+}
+P 3600 5000 3200 5000 1 0 0
+{
+T 3300 5100 5 10 1 1 0 0 1
+pinnumber=29
+T 2000 5000 3 10 1 1 0 0 1
+pinlabel=DCPL_XOSC
+T 3600 5000 5 10 0 1 0 0 1
+pinseq=29
+T 3600 5000 5 10 0 1 0 0 1
+pintype=pwr
+}