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

SKIDL_lib_version = '0.0.1'

Memory_EPROM = SchLib(tool=SKIDL).add_parts(*[
        Part(**{ 'name':'27C010', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27C010'}), 'ref_prefix':'U', 'fplist':[''], 'footprint':'', 'keywords':'OTP EPROM 1MiBit', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/doc0321.pdf', 'pins':[
            Pin(num='1',name='VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='A1',func=Pin.types.INPUT,unit=1),
            Pin(num='12',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='13',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='15',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='17',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A16',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='21',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='22',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='29',name='A14',func=Pin.types.INPUT,unit=1),
            Pin(num='3',name='A15',func=Pin.types.INPUT,unit=1),
            Pin(num='31',name='~{PGM}',func=Pin.types.INPUT,unit=1),
            Pin(num='32',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='4',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A3',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27C020', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27C020'}), 'ref_prefix':'U', 'fplist':[''], 'footprint':'', 'keywords':'OTP EPROM 2MiBit', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/devicedoc/doc0570.pdf', 'pins':[
            Pin(num='1',name='VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='A1',func=Pin.types.INPUT,unit=1),
            Pin(num='12',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='13',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='15',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='17',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A16',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='21',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='22',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='29',name='A14',func=Pin.types.INPUT,unit=1),
            Pin(num='3',name='A15',func=Pin.types.INPUT,unit=1),
            Pin(num='30',name='A17',func=Pin.types.INPUT,unit=1),
            Pin(num='31',name='~{PGM}',func=Pin.types.INPUT,unit=1),
            Pin(num='32',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='4',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A3',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27C040', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27C040'}), 'ref_prefix':'U', 'fplist':[''], 'footprint':'', 'keywords':'OTP EPROM 4MiBit', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/devicedoc/doc0189.pdf', 'pins':[
            Pin(num='1',name='VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='A1',func=Pin.types.INPUT,unit=1),
            Pin(num='12',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='13',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='15',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='17',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A16',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='21',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='22',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='29',name='A14',func=Pin.types.INPUT,unit=1),
            Pin(num='3',name='A15',func=Pin.types.INPUT,unit=1),
            Pin(num='30',name='A17',func=Pin.types.INPUT,unit=1),
            Pin(num='31',name='A18',func=Pin.types.INPUT,unit=1),
            Pin(num='32',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='4',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A3',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27C080', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27C080'}), 'ref_prefix':'U', 'fplist':[''], 'footprint':'', 'keywords':'OTP EPROM 8MiBit', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/devicedoc/doc0360.pdf', 'pins':[
            Pin(num='1',name='A19',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='A1',func=Pin.types.INPUT,unit=1),
            Pin(num='12',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='13',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='15',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='17',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A16',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='21',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='22',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='29',name='A14',func=Pin.types.INPUT,unit=1),
            Pin(num='3',name='A15',func=Pin.types.INPUT,unit=1),
            Pin(num='30',name='A17',func=Pin.types.INPUT,unit=1),
            Pin(num='31',name='A18',func=Pin.types.INPUT,unit=1),
            Pin(num='32',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='4',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A3',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27C128', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27C128'}), 'ref_prefix':'U', 'fplist':['Package_DIP:DIP-28_W15.24mm'], 'footprint':'Package_DIP:DIP-28_W15.24mm', 'keywords':'OTP EPROM 128KiBit', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/devicedoc/11003L.pdf', 'pins':[
            Pin(num='1',name='VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='12',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='13',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='15',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='17',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='21',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='22',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='~{PGM}',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='3',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='4',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A3',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A1',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27C256', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27C256'}), 'ref_prefix':'U', 'fplist':['Package_DIP:DIP-28_W15.24mm'], 'footprint':'Package_DIP:DIP-28_W15.24mm', 'keywords':'OTP EPROM 256 KiBit', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/doc0014.pdf', 'pins':[
            Pin(num='1',name='VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='12',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='13',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='15',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='17',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='21',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='22',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='A14',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='3',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='4',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A3',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A1',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27C512', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27C512'}), 'ref_prefix':'U', 'fplist':['Package_DIP:DIP-28_W15.24mm'], 'footprint':'Package_DIP:DIP-28_W15.24mm', 'keywords':'OTP EPROM 512KiBit', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/doc0015.pdf', 'pins':[
            Pin(num='1',name='A15',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='12',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='13',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='15',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='17',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='21',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='22',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='A14',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='3',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='4',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A3',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A1',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27C512PLCC', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27C512PLCC'}), 'ref_prefix':'U', 'fplist':['Package_LCC:PLCC-32_11.4x14.0mm_P1.27mm'], 'footprint':'Package_LCC:PLCC-32_11.4x14.0mm_P1.27mm', 'keywords':'OTP EPROM 512KiBit', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/doc0015.pdf', 'pins':[
            Pin(num='1',name='NC',func=Pin.types.NOCONNECT,unit=1),
            Pin(num='10',name='A1',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='12',name='NC',func=Pin.types.NOCONNECT,unit=1),
            Pin(num='13',name='O0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='O1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='15',name='O2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='17',name='NC',func=Pin.types.NOCONNECT,unit=1),
            Pin(num='18',name='O3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='O4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A15',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='O5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='21',name='O6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='22',name='O7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='23',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='~{OE}/VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='NC',func=Pin.types.NOCONNECT,unit=1),
            Pin(num='27',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='29',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='3',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='30',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='31',name='A14',func=Pin.types.INPUT,unit=1),
            Pin(num='32',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='4',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A3',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A2',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27C64', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27C64'}), 'ref_prefix':'U', 'fplist':['Package_DIP:DIP-28_W15.24mm'], 'footprint':'Package_DIP:DIP-28_W15.24mm', 'keywords':'OTP EPROM 64KiBit', 'description':'', 'datasheet':'http://ww1.microchip.com/downloads/en/DeviceDoc/11107M.pdf', 'pins':[
            Pin(num='1',name='VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='12',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='13',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='15',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='17',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='21',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='22',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='NC',func=Pin.types.NOCONNECT,unit=1),
            Pin(num='27',name='~{PGM}',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='3',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='4',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A3',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A1',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27128', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27128'}), 'ref_prefix':'U', 'fplist':['Package_DIP:DIP-28_W15.24mm', 'Package_DIP:DIP-28_W15.24mm'], 'footprint':'Package_DIP:DIP-28_W15.24mm', 'keywords':'Erasable OTP EPROM 128KiBit', 'description':'', 'datasheet':'http://eeshop.unl.edu/pdf/27128.pdf', 'pins':[
            Pin(num='1',name='VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='12',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='13',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='15',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='17',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='21',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='22',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='~{PGM}',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='3',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='4',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A3',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A1',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27256', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27256'}), 'ref_prefix':'U', 'fplist':['Package_DIP:DIP-28_W15.24mm', 'Package_DIP:DIP-28_W15.24mm'], 'footprint':'Package_DIP:DIP-28_W15.24mm', 'keywords':'Erasable EPROM 256 KiBit', 'description':'', 'datasheet':'http://datasheet.octopart.com/D27256-2-Intel-datasheet-17852618.pdf', 'pins':[
            Pin(num='1',name='VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='12',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='13',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='15',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='17',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='21',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='22',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='A14',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='3',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='4',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A3',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A1',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'27512', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'27512'}), 'ref_prefix':'U', 'fplist':['Package_DIP:DIP-28_W15.24mm', 'Package_DIP:DIP-28_W15.24mm'], 'footprint':'Package_DIP:DIP-28_W15.24mm', 'keywords':'Erasable EPROM 512KiBit', 'description':'', 'datasheet':'http://pdf.datasheetcatalog.com/datasheets/120/227190_DS.pdf', 'pins':[
            Pin(num='1',name='A15',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='12',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='13',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='15',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='17',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='21',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='22',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='A13',func=Pin.types.INPUT,unit=1),
            Pin(num='27',name='A14',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='3',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='4',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A3',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A1',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] }),
        Part(**{ 'name':'2764', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'2764'}), 'ref_prefix':'U', 'fplist':['Package_DIP:DIP-28_W15.24mm', 'Package_DIP:DIP-28_W15.24mm'], 'footprint':'Package_DIP:DIP-28_W15.24mm', 'keywords':'EPROM 64KiBit', 'description':'', 'datasheet':'https://downloads.reactivemicro.com/Electronics/ROM/2764%20EPROM.pdf', 'pins':[
            Pin(num='1',name='VPP',func=Pin.types.INPUT,unit=1),
            Pin(num='10',name='A0',func=Pin.types.INPUT,unit=1),
            Pin(num='11',name='D0',func=Pin.types.TRISTATE,unit=1),
            Pin(num='12',name='D1',func=Pin.types.TRISTATE,unit=1),
            Pin(num='13',name='D2',func=Pin.types.TRISTATE,unit=1),
            Pin(num='14',name='GND',func=Pin.types.PWRIN,unit=1),
            Pin(num='15',name='D3',func=Pin.types.TRISTATE,unit=1),
            Pin(num='16',name='D4',func=Pin.types.TRISTATE,unit=1),
            Pin(num='17',name='D5',func=Pin.types.TRISTATE,unit=1),
            Pin(num='18',name='D6',func=Pin.types.TRISTATE,unit=1),
            Pin(num='19',name='D7',func=Pin.types.TRISTATE,unit=1),
            Pin(num='2',name='A12',func=Pin.types.INPUT,unit=1),
            Pin(num='20',name='~{CE}',func=Pin.types.INPUT,unit=1),
            Pin(num='21',name='A10',func=Pin.types.INPUT,unit=1),
            Pin(num='22',name='~{OE}',func=Pin.types.INPUT,unit=1),
            Pin(num='23',name='A11',func=Pin.types.INPUT,unit=1),
            Pin(num='24',name='A9',func=Pin.types.INPUT,unit=1),
            Pin(num='25',name='A8',func=Pin.types.INPUT,unit=1),
            Pin(num='26',name='NC',func=Pin.types.NOCONNECT,unit=1),
            Pin(num='27',name='~{PGM}',func=Pin.types.INPUT,unit=1),
            Pin(num='28',name='VCC',func=Pin.types.PWRIN,unit=1),
            Pin(num='3',name='A7',func=Pin.types.INPUT,unit=1),
            Pin(num='4',name='A6',func=Pin.types.INPUT,unit=1),
            Pin(num='5',name='A5',func=Pin.types.INPUT,unit=1),
            Pin(num='6',name='A4',func=Pin.types.INPUT,unit=1),
            Pin(num='7',name='A3',func=Pin.types.INPUT,unit=1),
            Pin(num='8',name='A2',func=Pin.types.INPUT,unit=1),
            Pin(num='9',name='A1',func=Pin.types.INPUT,unit=1)], 'unit_defs':[] })])