def METHOD_NAME(parts):
    if len(parts) == 0:
        return
    if parts[-1] == 'IN_ONLY':
        yield 'type', ['IBUF', 'IBUFDS']
    if len(parts) > 2 and parts[-2] == 'SLEW':
        yield 'SLEW', verilog.quote(parts[-1])
    if parts[0] == 'PULLTYPE':
        yield 'PULLTYPE', verilog.quote(parts[1])
    if len(parts) > 1 and parts[1] == 'IN':
        yield 'IOSTANDARDS', parts[0].split('_')
        yield 'IN', True
    if len(parts) > 1 and parts[1] == 'IN_DIFF':
        yield 'IOSTANDARDS', parts[0].split('_')
        yield 'IN_DIFF', True
    if len(parts) > 1 and parts[1] == 'DRIVE':
        yield 'IOSTANDARDS', parts[0].split('_')
        if parts[2] == 'I_FIXED':
            yield 'DRIVES', [None]
        else:
            yield 'DRIVES', parts[2].split('_')