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'

DSP_Motorola = SchLib(tool=SKIDL).add_parts(*[
        Part(**{ 'name':'DSP56301', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'DSP56301'}), 'ref_prefix':'U', 'fplist':['Package_QFP:PQFP-208_28x28mm_P0.5mm'], 'footprint':'Package_QFP:PQFP-208_28x28mm_P0.5mm', 'keywords':'DSP PCI', 'description':'', 'datasheet':'https://www.nxp.com/docs/en/data-sheet/DSP56301DS.pdf', 'search_text':'/usr/share/kicad/symbols/DSP_Motorola.kicad_sym\nDSP56301\n\nDSP PCI', 'pins':[
            Pin(num='1',name='AA0/RAS0',func=pin_types.OUTPUT,unit=1),
            Pin(num='10',name='/RESET',func=pin_types.INPUT,unit=1),
            Pin(num='100',name='D23',func=pin_types.BIDIR,unit=1),
            Pin(num='101',name='MODA/IRQA',func=pin_types.INPUT,unit=1),
            Pin(num='102',name='MODB/IRQB',func=pin_types.INPUT,unit=1),
            Pin(num='105',name='MODC/IRQC',func=pin_types.INPUT,unit=1),
            Pin(num='106',name='MODD/IRQD',func=pin_types.INPUT,unit=1),
            Pin(num='107',name='HAD31',func=pin_types.BIDIR,unit=1),
            Pin(num='108',name='HAD30',func=pin_types.BIDIR,unit=1),
            Pin(num='109',name='HAD29',func=pin_types.BIDIR,unit=1),
            Pin(num='11',name='VCCPLL',func=pin_types.PWRIN,unit=1),
            Pin(num='110',name='HAD28',func=pin_types.BIDIR,unit=1),
            Pin(num='111',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='112',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='113',name='HAD27',func=pin_types.BIDIR,unit=1),
            Pin(num='114',name='HAD26',func=pin_types.BIDIR,unit=1),
            Pin(num='115',name='HAD25',func=pin_types.BIDIR,unit=1),
            Pin(num='116',name='HAD24',func=pin_types.BIDIR,unit=1),
            Pin(num='117',name='HC3/HBE3',func=pin_types.BIDIR,unit=1),
            Pin(num='118',name='HAD23',func=pin_types.BIDIR,unit=1),
            Pin(num='119',name='HAD22',func=pin_types.BIDIR,unit=1),
            Pin(num='12',name='PCAP',func=pin_types.INPUT,unit=1),
            Pin(num='120',name='HAD21',func=pin_types.BIDIR,unit=1),
            Pin(num='121',name='HAD20',func=pin_types.BIDIR,unit=1),
            Pin(num='122',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='123',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='124',name='HAD19',func=pin_types.BIDIR,unit=1),
            Pin(num='125',name='HAD18',func=pin_types.BIDIR,unit=1),
            Pin(num='126',name='HAD17',func=pin_types.BIDIR,unit=1),
            Pin(num='127',name='HAD16',func=pin_types.BIDIR,unit=1),
            Pin(num='128',name='HC2/HBE2',func=pin_types.BIDIR,unit=1),
            Pin(num='129',name='HIDSEL',func=pin_types.INPUT,unit=1),
            Pin(num='13',name='GNDP',func=pin_types.PWRIN,unit=1),
            Pin(num='130',name='/HFRAME',func=pin_types.BIDIR,unit=1),
            Pin(num='131',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='132',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='133',name='/HIRDY',func=pin_types.BIDIR,unit=1),
            Pin(num='134',name='/HTRDY',func=pin_types.BIDIR,unit=1),
            Pin(num='135',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='136',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='137',name='PVCL',func=pin_types.INPUT,unit=1),
            Pin(num='138',name='/HDEVSEL',func=pin_types.BIDIR,unit=1),
            Pin(num='139',name='/HSTOP',func=pin_types.BIDIR,unit=1),
            Pin(num='14',name='GND1P',func=pin_types.PWRIN,unit=1),
            Pin(num='140',name='/HLOCK',func=pin_types.BIDIR,unit=1),
            Pin(num='141',name='/HPERR',func=pin_types.BIDIR,unit=1),
            Pin(num='142',name='/HSERR',func=pin_types.OUTPUT,unit=1),
            Pin(num='143',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='144',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='145',name='HPAR',func=pin_types.BIDIR,unit=1),
            Pin(num='146',name='/HREQ',func=pin_types.OUTPUT,unit=1),
            Pin(num='147',name='/HRST',func=pin_types.INPUT,unit=1),
            Pin(num='148',name='HCLK',func=pin_types.INPUT,unit=1),
            Pin(num='149',name='/HGNT',func=pin_types.INPUT,unit=1),
            Pin(num='15',name='/BB',func=pin_types.BIDIR,unit=1),
            Pin(num='150',name='HC1/HBE1',func=pin_types.BIDIR,unit=1),
            Pin(num='151',name='HAD15',func=pin_types.BIDIR,unit=1),
            Pin(num='152',name='HAD14',func=pin_types.BIDIR,unit=1),
            Pin(num='153',name='HAD13',func=pin_types.BIDIR,unit=1),
            Pin(num='154',name='HAD12',func=pin_types.BIDIR,unit=1),
            Pin(num='155',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='156',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='159',name='HAD11',func=pin_types.BIDIR,unit=1),
            Pin(num='16',name='/BG',func=pin_types.INPUT,unit=1),
            Pin(num='160',name='HAD10',func=pin_types.BIDIR,unit=1),
            Pin(num='161',name='HAD9',func=pin_types.BIDIR,unit=1),
            Pin(num='162',name='HAD8',func=pin_types.BIDIR,unit=1),
            Pin(num='163',name='HC0/HBE0',func=pin_types.BIDIR,unit=1),
            Pin(num='164',name='HAD7',func=pin_types.BIDIR,unit=1),
            Pin(num='165',name='HAD6',func=pin_types.BIDIR,unit=1),
            Pin(num='166',name='HAD5',func=pin_types.BIDIR,unit=1),
            Pin(num='167',name='HAD4',func=pin_types.BIDIR,unit=1),
            Pin(num='168',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='169',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='17',name='/BR',func=pin_types.OUTPUT,unit=1),
            Pin(num='170',name='HAD3',func=pin_types.BIDIR,unit=1),
            Pin(num='171',name='HAD2',func=pin_types.BIDIR,unit=1),
            Pin(num='172',name='HAD1',func=pin_types.BIDIR,unit=1),
            Pin(num='173',name='HAD0',func=pin_types.BIDIR,unit=1),
            Pin(num='174',name='TIO2',func=pin_types.BIDIR,unit=1),
            Pin(num='175',name='TIO1',func=pin_types.BIDIR,unit=1),
            Pin(num='176',name='TIO0',func=pin_types.BIDIR,unit=1),
            Pin(num='177',name='PE0/RXD',func=pin_types.BIDIR,unit=1),
            Pin(num='178',name='PE2/SCLK',func=pin_types.BIDIR,unit=1),
            Pin(num='179',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='18',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='180',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='181',name='/HINTA',func=pin_types.OUTPUT,unit=1),
            Pin(num='182',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='183',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='184',name='PE1/TXD',func=pin_types.BIDIR,unit=1),
            Pin(num='185',name='PD2/SC12',func=pin_types.BIDIR,unit=1),
            Pin(num='186',name='PD1/SC11',func=pin_types.BIDIR,unit=1),
            Pin(num='187',name='PD0/SC10',func=pin_types.BIDIR,unit=1),
            Pin(num='188',name='PD5/STD1',func=pin_types.BIDIR,unit=1),
            Pin(num='189',name='PD3/SCK1',func=pin_types.BIDIR,unit=1),
            Pin(num='19',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='190',name='PD4/SRD1',func=pin_types.BIDIR,unit=1),
            Pin(num='191',name='PC4/SRD0',func=pin_types.BIDIR,unit=1),
            Pin(num='192',name='PC3/SCK0',func=pin_types.BIDIR,unit=1),
            Pin(num='193',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='194',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='195',name='PC5/STD0',func=pin_types.BIDIR,unit=1),
            Pin(num='196',name='PC0/SC00',func=pin_types.BIDIR,unit=1),
            Pin(num='197',name='PC1/SC01',func=pin_types.BIDIR,unit=1),
            Pin(num='198',name='PC2/SC02',func=pin_types.BIDIR,unit=1),
            Pin(num='199',name='/DE',func=pin_types.OUTPUT,unit=1),
            Pin(num='2',name='AA1/RAS1',func=pin_types.OUTPUT,unit=1),
            Pin(num='20',name='AA2/RAS2',func=pin_types.OUTPUT,unit=1),
            Pin(num='200',name='TMS',func=pin_types.INPUT,unit=1),
            Pin(num='201',name='TCK',func=pin_types.INPUT,unit=1),
            Pin(num='202',name='TDI',func=pin_types.INPUT,unit=1),
            Pin(num='203',name='TDO',func=pin_types.OUTPUT,unit=1),
            Pin(num='204',name='/TRST',func=pin_types.INPUT,unit=1),
            Pin(num='205',name='/BS',func=pin_types.OUTPUT,unit=1),
            Pin(num='206',name='/BL',func=pin_types.OUTPUT,unit=1),
            Pin(num='21',name='AA3/RAS3',func=pin_types.OUTPUT,unit=1),
            Pin(num='22',name='/WR',func=pin_types.OUTPUT,unit=1),
            Pin(num='23',name='/RD',func=pin_types.OUTPUT,unit=1),
            Pin(num='24',name='XTAL',func=pin_types.OUTPUT,unit=1),
            Pin(num='25',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='26',name='EXTAL',func=pin_types.INPUT,unit=1),
            Pin(num='27',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='28',name='/BCLK',func=pin_types.OUTPUT,unit=1),
            Pin(num='29',name='A0',func=pin_types.OUTPUT,unit=1),
            Pin(num='3',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='30',name='A1',func=pin_types.OUTPUT,unit=1),
            Pin(num='31',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='32',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='33',name='A2',func=pin_types.OUTPUT,unit=1),
            Pin(num='34',name='A3',func=pin_types.OUTPUT,unit=1),
            Pin(num='35',name='A4',func=pin_types.OUTPUT,unit=1),
            Pin(num='36',name='A5',func=pin_types.OUTPUT,unit=1),
            Pin(num='37',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='38',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='39',name='A6',func=pin_types.OUTPUT,unit=1),
            Pin(num='4',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='40',name='A7',func=pin_types.OUTPUT,unit=1),
            Pin(num='41',name='A8',func=pin_types.OUTPUT,unit=1),
            Pin(num='42',name='A9',func=pin_types.OUTPUT,unit=1),
            Pin(num='43',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='44',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='45',name='A10',func=pin_types.OUTPUT,unit=1),
            Pin(num='46',name='A11',func=pin_types.OUTPUT,unit=1),
            Pin(num='47',name='A12',func=pin_types.OUTPUT,unit=1),
            Pin(num='48',name='A13',func=pin_types.OUTPUT,unit=1),
            Pin(num='49',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='5',name='CLKOUT',func=pin_types.OUTPUT,unit=1),
            Pin(num='50',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='51',name='A14',func=pin_types.OUTPUT,unit=1),
            Pin(num='52',name='A15',func=pin_types.OUTPUT,unit=1),
            Pin(num='55',name='A16',func=pin_types.OUTPUT,unit=1),
            Pin(num='56',name='A17',func=pin_types.OUTPUT,unit=1),
            Pin(num='57',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='58',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='59',name='A18',func=pin_types.OUTPUT,unit=1),
            Pin(num='6',name='BCLK',func=pin_types.OUTPUT,unit=1),
            Pin(num='60',name='A19',func=pin_types.OUTPUT,unit=1),
            Pin(num='61',name='A20',func=pin_types.OUTPUT,unit=1),
            Pin(num='62',name='A21',func=pin_types.OUTPUT,unit=1),
            Pin(num='63',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='64',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='65',name='A22',func=pin_types.OUTPUT,unit=1),
            Pin(num='66',name='A23',func=pin_types.OUTPUT,unit=1),
            Pin(num='67',name='D0',func=pin_types.BIDIR,unit=1),
            Pin(num='68',name='D1',func=pin_types.BIDIR,unit=1),
            Pin(num='69',name='D2',func=pin_types.BIDIR,unit=1),
            Pin(num='7',name='/CAS',func=pin_types.OUTPUT,unit=1),
            Pin(num='70',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='71',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='72',name='D3',func=pin_types.BIDIR,unit=1),
            Pin(num='73',name='D4',func=pin_types.BIDIR,unit=1),
            Pin(num='74',name='D5',func=pin_types.BIDIR,unit=1),
            Pin(num='75',name='D6',func=pin_types.BIDIR,unit=1),
            Pin(num='76',name='D7',func=pin_types.BIDIR,unit=1),
            Pin(num='77',name='D8',func=pin_types.BIDIR,unit=1),
            Pin(num='78',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='79',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='8',name='/TA',func=pin_types.INPUT,unit=1),
            Pin(num='80',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='81',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='82',name='D9',func=pin_types.BIDIR,unit=1),
            Pin(num='83',name='D10',func=pin_types.BIDIR,unit=1),
            Pin(num='84',name='D11',func=pin_types.BIDIR,unit=1),
            Pin(num='85',name='D12',func=pin_types.BIDIR,unit=1),
            Pin(num='86',name='D13',func=pin_types.BIDIR,unit=1),
            Pin(num='87',name='D14',func=pin_types.BIDIR,unit=1),
            Pin(num='88',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='89',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='9',name='PINIT/NMI',func=pin_types.INPUT,unit=1),
            Pin(num='90',name='D15',func=pin_types.BIDIR,unit=1),
            Pin(num='91',name='D16',func=pin_types.BIDIR,unit=1),
            Pin(num='92',name='D17',func=pin_types.BIDIR,unit=1),
            Pin(num='93',name='D18',func=pin_types.BIDIR,unit=1),
            Pin(num='94',name='D19',func=pin_types.BIDIR,unit=1),
            Pin(num='95',name='D20',func=pin_types.BIDIR,unit=1),
            Pin(num='96',name='GND',func=pin_types.PWRIN,unit=1),
            Pin(num='97',name='VCC',func=pin_types.PWRIN,unit=1),
            Pin(num='98',name='D21',func=pin_types.BIDIR,unit=1),
            Pin(num='99',name='D22',func=pin_types.BIDIR,unit=1)], 'unit_defs':[] })])