コード例 #1
0
ファイル: upload-maps.py プロジェクト: mrowqa/pul-assignments
def main():
    parser = argparse.ArgumentParser(
        description='Program the FPGA on Basys 2.')
    parser.add_argument('--device', type=int, help='Device index', default=0)
    parser.add_argument('map_ids', type=str, nargs='+')

    args = parser.parse_args()

    # without with-as so the port is available when executing with python -i
    with usb1.USBContext() as ctx:
        devs = get_devices(ctx)
        if args.device >= len(devs):
            if not devs:
                print('No devices found.')
            else:
                print('Invalid device index (max is {})'.format(len(devs) - 1))
            sys.exit(1)
        dev = devs[args.device]
        dev.start()
        port = dev.depp_ports[0]
        port.enable()

        # load & upload the maps
        maps = list(map(load_map, args.map_ids))
        if len(maps) > MAX_MAPS:
            print('ERROR: max allowed maps is {}, got {}'.format(
                MAX_MAPS, len(maps)))
            sys.exit(1)
        upload_maps(port, maps)
コード例 #2
0
ファイル: list.py プロジェクト: mwkmwkmwk/adepttool
#!/usr/bin/env python3

import usb1
from adepttool.device import get_devices
from adepttool.jtag import Chain

with usb1.USBContext() as ctx:
    devs = get_devices(ctx)
    for i, dev in enumerate(devs):
        print('DEVICE:')
        print('\tPN {dev.product_name}'.format(dev=dev))
        print('\tUN {dev.user_name}'.format(dev=dev))
        print('\tSN {dev.serial_number}'.format(dev=dev))
        print('\tFW {dev.fw_version:04x}'.format(dev=dev))
        print('\tCAPS {dev.caps:016x}'.format(dev=dev))
        print('\tPI {dev.product_id:08x}'.format(dev=dev))
        dev.start()
        print('\tDMGT CAPS: {dev.dmgt.caps:08x}'.format(dev=dev))
        for port in dev.djtg_ports:
            port.enable()
            print(
                '\tDJTG PORT {port.idx}: {port.caps:08x} speed {speed}'.format(
                    port=port, speed=port.get_speed()))
            port.disable()
            chain = Chain(port)
            chain.init()
            for jdev in chain.devices:
                print('\t\tJTAG IDCODE {jdev.idcode:08x} [{jdev.name}]'.format(
                    jdev=jdev))
            chain.close()
        for port in dev.depp_ports: