Пример #1
0
def main():
    parser = argparse.ArgumentParser(
        description="ARTIQ device binary builder for generic Kasli systems")
    builder_args(parser)
    soc_kasli_args(parser)
    parser.set_defaults(output_dir="artiq_kasli")
    parser.add_argument("description", metavar="DESCRIPTION",
                        help="JSON system description file")
    args = parser.parse_args()

    with open(args.description, "r") as f:
        description = json.load(f)

    if description["target"] != "kasli":
        raise ValueError("Description is for a different target")

    if description["base"] == "standalone":
        cls = GenericStandalone
    elif description["base"] == "master":
        cls = GenericMaster
    elif description["base"] == "satellite":
        cls = GenericSatellite
    else:
        raise ValueError("Invalid base")

    soc = cls(description, **soc_kasli_argdict(args))
    args.variant = description["variant"]
    build_artiq_soc(soc, builder_argdict(args))
Пример #2
0
def main():
    parser = argparse.ArgumentParser(
        description="ARTIQ device binary builder for Kasli systems")
    builder_args(parser)
    soc_kasli_args(parser)
    parser.set_defaults(output_dir="artiq_kasli")
    parser.add_argument("-V",
                        "--variant",
                        default="tester",
                        help="variant: {} (default: %(default)s)".format(
                            "/".join(sorted(VARIANTS.keys()))))
    parser.add_argument("--with-wrpll", default=False, action="store_true")
    parser.add_argument("--identifier-str",
                        default=None,
                        help="Override ROM identifier")
    args = parser.parse_args()

    argdict = dict()
    if args.with_wrpll:
        argdict["with_wrpll"] = True
    argdict["identifier_str"] = args.identifier_str

    variant = args.variant.lower()
    try:
        cls = VARIANTS[variant]
    except KeyError:
        raise SystemExit("Invalid variant (-V/--variant)")

    soc = cls(**soc_kasli_argdict(args), **argdict)
    build_artiq_soc(soc, builder_argdict(args))
Пример #3
0
def main():
    parser = argparse.ArgumentParser(
        description="ARTIQ device binary builder for Kasli systems")
    builder_args(parser)
    soc_kasli_args(parser)
    parser.set_defaults(output_dir="artiq_kasli")
    variants = {
        cls.__name__.lower(): cls
        for cls in [
            Opticlock, SUServo, SYSU, MITLL, MITLL2, USTC, Tsinghua, WIPM,
            NUDT, PTB, HUB, LUH, VLBAIMaster, VLBAISatellite, Tester, Master,
            Satellite
        ]
    }
    parser.add_argument("-V",
                        "--variant",
                        default="opticlock",
                        help="variant: {} (default: %(default)s)".format(
                            "/".join(sorted(variants.keys()))))
    args = parser.parse_args()

    variant = args.variant.lower()
    try:
        cls = variants[variant]
    except KeyError:
        raise SystemExit("Invalid variant (-V/--variant)")

    soc = cls(**soc_kasli_argdict(args))
    build_artiq_soc(soc, builder_argdict(args))
Пример #4
0
def main():
    parser = argparse.ArgumentParser(
        description="ARTIQ device binary builder for Kasli systems")
    builder_args(parser)
    soc_kasli_args(parser)
    parser.set_defaults(output_dir="artiq_kasli")
    parser.add_argument("-V", "--variant", default="opticlock",
                        help="variant: opticlock/sysu/master/satellite "
                             "(default: %(default)s)")
    args = parser.parse_args()

    variant = args.variant.lower()
    if variant == "opticlock":
        cls = Opticlock
    elif variant == "sysu":
        cls = SYSU
    elif variant == "master":
        cls = Master
    elif variant == "satellite":
        cls = Satellite
    else:
        raise SystemExit("Invalid variant (-V/--variant)")

    soc = cls(**soc_kasli_argdict(args))
    build_artiq_soc(soc, builder_argdict(args))
Пример #5
0
def main():
    parser = argparse.ArgumentParser(
        description="ARTIQ device binary builder for Kasli systems")
    builder_args(parser)
    soc_kasli_args(parser)
    parser.set_defaults(output_dir="artiq_kasli")
    parser.add_argument("-V", "--variant", default="opticlock",
                        help="variant: opticlock/sysu/master/satellite "
                             "(default: %(default)s)")
    args = parser.parse_args()

    variant = args.variant.lower()
    if variant == "opticlock":
        cls = Opticlock
    elif variant == "sysu":
        cls = SYSU
    elif variant == "master":
        cls = Master
    elif variant == "satellite":
        cls = Satellite
    else:
        raise SystemExit("Invalid variant (-V/--variant)")

    soc = cls(**soc_kasli_argdict(args))
    build_artiq_soc(soc, builder_argdict(args))
Пример #6
0
def main():
    parser = argparse.ArgumentParser(
        description="ARTIQ device binary builder for Kasli systems")
    builder_args(parser)
    soc_kasli_args(parser)
    parser.set_defaults(output_dir="artiq_kasli")
    parser.add_argument("-V", "--variant", default="opticlock",
                        help="variant: {} (default: %(default)s)".format(
                            "/".join(sorted(VARIANTS.keys()))))
    args = parser.parse_args()

    variant = args.variant.lower()
    try:
        cls = VARIANTS[variant]
    except KeyError:
        raise SystemExit("Invalid variant (-V/--variant)")

    soc = cls(**soc_kasli_argdict(args))
    build_artiq_soc(soc, builder_argdict(args))
def software_main(soc_cls):
    args = {
        "cpu_type": None,
        "csr_csv": None,
        "hw_rev": None,
        "integrated_rom_size": None,
        "no_compile_gateware": True,
        "no_compile_software": False,
        "output_dir": 'build/artiq_kasli'
    }
    args = FakeArgs(args)
    print(args)

    kasli_argdict = soc_kasli_argdict(args)
    print("kasli args", kasli_argdict)
    soc = soc_cls(**kasli_argdict)
    build_argdict = builder_argdict(args)
    print("builder args", build_argdict)
    build_artiq_soc(soc, build_argdict)
Пример #8
0
def main():
    parser = argparse.ArgumentParser(
        description="ARTIQ device binary builder for Kasli systems")
    builder_args(parser)
    soc_kasli_args(parser)
    parser.set_defaults(output_dir="artiq_kasli")
    parser.add_argument("-V", "--variant", default="opticlock",
                        help="variant: {} (default: %(default)s)".format(
                            "/".join(sorted(VARIANTS.keys()))))
    args = parser.parse_args()

    variant = args.variant.lower()
    try:
        cls = VARIANTS[variant]
    except KeyError:
        raise SystemExit("Invalid variant (-V/--variant)")

    soc = cls(**soc_kasli_argdict(args))
    build_artiq_soc(soc, builder_argdict(args))
Пример #9
0
def main():
    parser = argparse.ArgumentParser(
        description="ARTIQ device binary builder for generic Kasli systems")
    builder_args(parser)
    soc_kasli_args(parser)
    parser.set_defaults(output_dir="artiq_kasli")
    parser.add_argument("description",
                        metavar="DESCRIPTION",
                        help="JSON system description file")
    parser.add_argument("--gateware-identifier-str",
                        default=None,
                        help="Override ROM identifier")
    args = parser.parse_args()
    description = jsondesc.load(args.description)

    min_artiq_version = description.get("min_artiq_version", "0")
    if LooseVersion(artiq_version) < LooseVersion(min_artiq_version):
        logger.warning("ARTIQ version mismatch: current %s < %s minimum",
                       artiq_version, min_artiq_version)

    if description["target"] != "kasli":
        raise ValueError("Description is for a different target")

    if description["base"] == "standalone":
        cls = GenericStandalone
    elif description["base"] == "master":
        cls = GenericMaster
    elif description["base"] == "satellite":
        cls = GenericSatellite
    else:
        raise ValueError("Invalid base")

    soc = cls(description,
              gateware_identifier_str=args.gateware_identifier_str,
              **soc_kasli_argdict(args))
    args.variant = description["variant"]
    build_artiq_soc(soc, builder_argdict(args))