from collections import defaultdict
from skidl import Pin, Part, Alias, SchLib, SKIDL, TEMPLATE

from skidl.pin import pin_types

SKIDL_lib_version = '0.0.1'

CPLD_Microchip = SchLib(tool=SKIDL).add_parts(*[
        Part(**{ 'name':'ATF1502AS-xAx44', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'ATF1502AS-xAx44'}), 'ref_prefix':'U', 'fplist':['Package_QFP:TQFP-44_10x10mm_P0.8mm'], 'footprint':'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'keywords':'CPLD', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-0995-CPLD-ATF1502AS(L)-Datasheet.pdf', 'search_text':'/usr/share/kicad/symbols/CPLD_Microchip.kicad_sym\nATF1502AS-xAx44\n\nCPLD', 'pins':[
            Pin(num='1',name='I/O/TDI',func=pin_types.BIDIR,unit=1),
            Pin(num='10',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='11',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='12',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='13',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='14',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='15',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='16',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='17',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='18',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='19',name='I/O/PD2',func=pin_types.BIDIR,unit=1),
            Pin(num='2',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='20',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='21',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='22',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='23',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='24',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='25',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='26',name='I/O/TCK',func=pin_types.BIDIR,unit=1),
            Pin(num='27',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='28',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='29',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='3',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='30',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='31',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='32',name='I/O/TDO',func=pin_types.BIDIR,unit=1),
            Pin(num='33',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='34',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='35',name='I/O/GCLK3',func=pin_types.BIDIR,unit=1),
            Pin(num='36',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='37',name='I/GCLK1',func=pin_types.INPUT,unit=1),
            Pin(num='38',name='I/OE1/Vpp',func=pin_types.INPUT,unit=1),
            Pin(num='39',name='I/GCLR',func=pin_types.INPUT,unit=1),
            Pin(num='4',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='40',name='I/OE2/GCLK2',func=pin_types.INPUT,unit=1),
            Pin(num='41',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='42',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='43',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='44',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='5',name='I/O/PD1',func=pin_types.BIDIR,unit=1),
            Pin(num='6',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='7',name='I/O/TMS',func=pin_types.BIDIR,unit=1),
            Pin(num='8',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='9',name='VCC',func=pin_types.PWRIN,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'ATF1502ASL-xAx44', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'ATF1502ASL-xAx44'}), 'ref_prefix':'U', 'fplist':['Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm'], 'footprint':'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'keywords':'CPLD', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-0995-CPLD-ATF1502AS(L)-Datasheet.pdf', 'search_text':'/usr/share/kicad/symbols/CPLD_Microchip.kicad_sym\nATF1502ASL-xAx44\n\nCPLD', 'pins':[
            Pin(num='1',name='I/O/TDI',func=pin_types.BIDIR,unit=1),
            Pin(num='10',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='11',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='12',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='13',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='14',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='15',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='16',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='17',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='18',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='19',name='I/O/PD2',func=pin_types.BIDIR,unit=1),
            Pin(num='2',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='20',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='21',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='22',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='23',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='24',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='25',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='26',name='I/O/TCK',func=pin_types.BIDIR,unit=1),
            Pin(num='27',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='28',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='29',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='3',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='30',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='31',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='32',name='I/O/TDO',func=pin_types.BIDIR,unit=1),
            Pin(num='33',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='34',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='35',name='I/O/GCLK3',func=pin_types.BIDIR,unit=1),
            Pin(num='36',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='37',name='I/GCLK1',func=pin_types.INPUT,unit=1),
            Pin(num='38',name='I/OE1/Vpp',func=pin_types.INPUT,unit=1),
            Pin(num='39',name='I/GCLR',func=pin_types.INPUT,unit=1),
            Pin(num='4',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='40',name='I/OE2/GCLK2',func=pin_types.INPUT,unit=1),
            Pin(num='41',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='42',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='43',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='44',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='5',name='I/O/PD1',func=pin_types.BIDIR,unit=1),
            Pin(num='6',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='7',name='I/O/TMS',func=pin_types.BIDIR,unit=1),
            Pin(num='8',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='9',name='VCC',func=pin_types.PWRIN,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'ATF1502ASV-xAx44', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'ATF1502ASV-xAx44'}), 'ref_prefix':'U', 'fplist':['Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm'], 'footprint':'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'keywords':'CPLD', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/doc1615.pdf', 'search_text':'/usr/share/kicad/symbols/CPLD_Microchip.kicad_sym\nATF1502ASV-xAx44\n\nCPLD', 'pins':[
            Pin(num='1',name='I/O/TDI',func=pin_types.BIDIR,unit=1),
            Pin(num='10',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='11',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='12',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='13',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='14',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='15',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='16',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='17',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='18',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='19',name='I/O/PD2',func=pin_types.BIDIR,unit=1),
            Pin(num='2',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='20',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='21',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='22',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='23',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='24',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='25',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='26',name='I/O/TCK',func=pin_types.BIDIR,unit=1),
            Pin(num='27',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='28',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='29',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='3',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='30',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='31',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='32',name='I/O/TDO',func=pin_types.BIDIR,unit=1),
            Pin(num='33',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='34',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='35',name='I/O/GCLK3',func=pin_types.BIDIR,unit=1),
            Pin(num='36',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='37',name='I/GCLK1',func=pin_types.INPUT,unit=1),
            Pin(num='38',name='I/OE1/Vpp',func=pin_types.INPUT,unit=1),
            Pin(num='39',name='I/GCLR',func=pin_types.INPUT,unit=1),
            Pin(num='4',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='40',name='I/OE2/GCLK2',func=pin_types.INPUT,unit=1),
            Pin(num='41',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='42',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='43',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='44',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='5',name='I/O/PD1',func=pin_types.BIDIR,unit=1),
            Pin(num='6',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='7',name='I/O/TMS',func=pin_types.BIDIR,unit=1),
            Pin(num='8',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='9',name='VCC',func=pin_types.PWRIN,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'ATF1504AS-xAx44', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'ATF1504AS-xAx44'}), 'ref_prefix':'U', 'fplist':['Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm'], 'footprint':'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'keywords':'CPLD', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-0950-CPLD-ATF1504AS(L)-Datasheet.pdf', 'search_text':'/usr/share/kicad/symbols/CPLD_Microchip.kicad_sym\nATF1504AS-xAx44\n\nCPLD', 'pins':[
            Pin(num='1',name='I/O/TDI',func=pin_types.BIDIR,unit=1),
            Pin(num='10',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='11',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='12',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='13',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='14',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='15',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='16',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='17',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='18',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='19',name='I/O/PD2',func=pin_types.BIDIR,unit=1),
            Pin(num='2',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='20',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='21',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='22',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='23',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='24',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='25',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='26',name='I/O/TCK',func=pin_types.BIDIR,unit=1),
            Pin(num='27',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='28',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='29',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='3',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='30',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='31',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='32',name='I/O/TDO',func=pin_types.BIDIR,unit=1),
            Pin(num='33',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='34',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='35',name='I/O/GCLK3',func=pin_types.BIDIR,unit=1),
            Pin(num='36',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='37',name='I/GCLK1',func=pin_types.INPUT,unit=1),
            Pin(num='38',name='I/OE1/Vpp',func=pin_types.INPUT,unit=1),
            Pin(num='39',name='I/GCLR',func=pin_types.INPUT,unit=1),
            Pin(num='4',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='40',name='I/OE2/GCLK2',func=pin_types.INPUT,unit=1),
            Pin(num='41',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='42',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='43',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='44',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='5',name='I/O/PD1',func=pin_types.BIDIR,unit=1),
            Pin(num='6',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='7',name='I/O/TMS',func=pin_types.BIDIR,unit=1),
            Pin(num='8',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='9',name='VCC',func=pin_types.PWRIN,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'ATF1504ASL-xAx44', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'ATF1504ASL-xAx44'}), 'ref_prefix':'U', 'fplist':['Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm'], 'footprint':'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'keywords':'CPLD', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-0950-CPLD-ATF1504AS(L)-Datasheet.pdf', 'search_text':'/usr/share/kicad/symbols/CPLD_Microchip.kicad_sym\nATF1504ASL-xAx44\n\nCPLD', 'pins':[
            Pin(num='1',name='I/O/TDI',func=pin_types.BIDIR,unit=1),
            Pin(num='10',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='11',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='12',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='13',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='14',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='15',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='16',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='17',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='18',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='19',name='I/O/PD2',func=pin_types.BIDIR,unit=1),
            Pin(num='2',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='20',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='21',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='22',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='23',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='24',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='25',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='26',name='I/O/TCK',func=pin_types.BIDIR,unit=1),
            Pin(num='27',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='28',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='29',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='3',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='30',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='31',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='32',name='I/O/TDO',func=pin_types.BIDIR,unit=1),
            Pin(num='33',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='34',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='35',name='I/O/GCLK3',func=pin_types.BIDIR,unit=1),
            Pin(num='36',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='37',name='I/GCLK1',func=pin_types.INPUT,unit=1),
            Pin(num='38',name='I/OE1/Vpp',func=pin_types.INPUT,unit=1),
            Pin(num='39',name='I/GCLR',func=pin_types.INPUT,unit=1),
            Pin(num='4',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='40',name='I/OE2/GCLK2',func=pin_types.INPUT,unit=1),
            Pin(num='41',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='42',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='43',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='44',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='5',name='I/O/PD1',func=pin_types.BIDIR,unit=1),
            Pin(num='6',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='7',name='I/O/TMS',func=pin_types.BIDIR,unit=1),
            Pin(num='8',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='9',name='VCC',func=pin_types.PWRIN,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'ATF1504ASV-xAx44', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'ATF1504ASV-xAx44'}), 'ref_prefix':'U', 'fplist':['Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm'], 'footprint':'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'keywords':'CPLD', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/ATF1504ASV-ATF1504ASVL-Data-Sheet-20006185A.pdf', 'search_text':'/usr/share/kicad/symbols/CPLD_Microchip.kicad_sym\nATF1504ASV-xAx44\n\nCPLD', 'pins':[
            Pin(num='1',name='I/O/TDI',func=pin_types.BIDIR,unit=1),
            Pin(num='10',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='11',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='12',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='13',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='14',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='15',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='16',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='17',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='18',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='19',name='I/O/PD2',func=pin_types.BIDIR,unit=1),
            Pin(num='2',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='20',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='21',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='22',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='23',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='24',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='25',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='26',name='I/O/TCK',func=pin_types.BIDIR,unit=1),
            Pin(num='27',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='28',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='29',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='3',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='30',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='31',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='32',name='I/O/TDO',func=pin_types.BIDIR,unit=1),
            Pin(num='33',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='34',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='35',name='I/O/GCLK3',func=pin_types.BIDIR,unit=1),
            Pin(num='36',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='37',name='I/GCLK1',func=pin_types.INPUT,unit=1),
            Pin(num='38',name='I/OE1/Vpp',func=pin_types.INPUT,unit=1),
            Pin(num='39',name='I/GCLR',func=pin_types.INPUT,unit=1),
            Pin(num='4',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='40',name='I/OE2/GCLK2',func=pin_types.INPUT,unit=1),
            Pin(num='41',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='42',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='43',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='44',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='5',name='I/O/PD1',func=pin_types.BIDIR,unit=1),
            Pin(num='6',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='7',name='I/O/TMS',func=pin_types.BIDIR,unit=1),
            Pin(num='8',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='9',name='VCC',func=pin_types.PWRIN,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'ATF1504ASVL-xAx44', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'ATF1504ASVL-xAx44'}), 'ref_prefix':'U', 'fplist':['Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'Package_QFP:TQFP-44_10x10mm_P0.8mm'], 'footprint':'Package_QFP:TQFP-44_10x10mm_P0.8mm', 'keywords':'CPLD', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/ATF1504ASV-ATF1504ASVL-Data-Sheet-20006185A.pdf', 'search_text':'/usr/share/kicad/symbols/CPLD_Microchip.kicad_sym\nATF1504ASVL-xAx44\n\nCPLD', 'pins':[
            Pin(num='1',name='I/O/TDI',func=pin_types.BIDIR,unit=1),
            Pin(num='10',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='11',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='12',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='13',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='14',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='15',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='16',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='17',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='18',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='19',name='I/O/PD2',func=pin_types.BIDIR,unit=1),
            Pin(num='2',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='20',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='21',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='22',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='23',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='24',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='25',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='26',name='I/O/TCK',func=pin_types.BIDIR,unit=1),
            Pin(num='27',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='28',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='29',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='3',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='30',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='31',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='32',name='I/O/TDO',func=pin_types.BIDIR,unit=1),
            Pin(num='33',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='34',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='35',name='I/O/GCLK3',func=pin_types.BIDIR,unit=1),
            Pin(num='36',name='GND',func=pin_types.PASSIVE,unit=1),
            Pin(num='37',name='I/GCLK1',func=pin_types.INPUT,unit=1),
            Pin(num='38',name='I/OE1/Vpp',func=pin_types.INPUT,unit=1),
            Pin(num='39',name='I/GCLR',func=pin_types.INPUT,unit=1),
            Pin(num='4',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='40',name='I/OE2/GCLK2',func=pin_types.INPUT,unit=1),
            Pin(num='41',name='VCC',func=pin_types.PASSIVE,unit=1),
            Pin(num='42',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='43',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='44',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='5',name='I/O/PD1',func=pin_types.BIDIR,unit=1),
            Pin(num='6',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='7',name='I/O/TMS',func=pin_types.BIDIR,unit=1),
            Pin(num='8',name='I/O',func=pin_types.BIDIR,unit=1),
            Pin(num='9',name='VCC',func=pin_types.PWRIN,unit=1)], 'unit_defs':[] })])