def main():
    pytrellis.load_database('../../../database')
    for job in jobs:
        cfg = job['cfg']
        side = job['side']
        pin = job['pin']
        cfg.setup()
        empty_bitfile = cfg.build_design(cfg.ncl, {})
        cfg.ncl = 'pio.v'

        def get_substs(iomode, vcc, extracfg=None):
            if (iomode == 'NONE'):
                (iodir, type) = ('NONE', '')
            else:
                (iodir, type) = iomode.split('_', 1)
            substs = {'dir': iodir, 'io_type': type, 'loc': pin, 'extra_attrs': '', 'vcc': vcc}
            if (extracfg is not None):
                substs['extra_attrs'] = '(* {}="{}" *)'.format(extracfg[0], extracfg[1])
            return substs
        vcco_opts = {'1V2': 'OUTPUT_LVCMOS12', '1V5': 'OUTPUT_LVCMOS15', '1V8': 'OUTPUT_LVCMOS18', '2V5': 'OUTPUT_LVCMOS25', '3V3': 'OUTPUT_LVCMOS33', 'NONE': 'INPUT_LVCMOS12'}
        nonrouting.fuzz_enum_setting(cfg, 'BANK.VCCIO', list(sorted(vcco_opts.keys())), (lambda x: get_substs(iomode=vcco_opts[x], vcc=(x.replace('V', '.') if (x != 'NONE') else '2.5'))), empty_bitfile)
def main():
    pytrellis.load_database('../../../database')
    for job in jobs:
        cfg = job['cfg']
        side = job['side']
        pin = job['pin']
        cfg.setup()
        empty_bitfile = cfg.build_design(cfg.ncl, {})
        cfg.ncl = 'pio.v'

        def get_substs(iomode, vcc, extracfg=None):
            if (iomode == 'NONE'):
                (iodir, type) = ('NONE', )
            else:
                (iodir, type) = iomode.split('_', 1)
            substs = {'dir': iodir, 'io_type': type, 'loc': pin, 'extra_attrs': , 'vcc': vcc}
            if (extracfg is not None):
                substs['extra_attrs'] = '(* {}="{}" *)'.format(extracfg[0], extracfg[1])
            return substs
        vcco_opts = {'1V2': 'OUTPUT_LVCMOS12', '1V5': 'OUTPUT_LVCMOS15', '1V8': 'OUTPUT_LVCMOS18', '2V5': 'OUTPUT_LVCMOS25', '3V3': 'OUTPUT_LVCMOS33', 'NONE': 'INPUT_LVCMOS12'}
        nonrouting.fuzz_enum_setting(cfg, 'BANK.VCCIO', list(sorted(vcco_opts.keys())), (lambda x: get_substs(iomode=vcco_opts[x], vcc=(x.replace('V', '.') if (x != 'NONE') else '2.5'))), empty_bitfile)