forked from M-Labs/artiq
gateware/targets: expose variant lists
This allows writing scripts that build all variants.
This commit is contained in:
parent
69e699c7bd
commit
78d4b3a7da
|
@ -1123,24 +1123,26 @@ class VLBAISatellite(_SatelliteBase):
|
||||||
self.add_rtio(self.rtio_channels)
|
self.add_rtio(self.rtio_channels)
|
||||||
|
|
||||||
|
|
||||||
|
VARIANTS = {cls.__name__.lower(): cls for cls in [
|
||||||
|
Opticlock, SUServo, PTB, PTB2, HUB, LUH,
|
||||||
|
SYSU, MITLL, MITLL2, USTC, Tsinghua, Tsinghua2, WIPM, NUDT,
|
||||||
|
VLBAIMaster, VLBAISatellite, Tester, Master, Satellite]}
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
description="ARTIQ device binary builder for Kasli systems")
|
description="ARTIQ device binary builder for Kasli systems")
|
||||||
builder_args(parser)
|
builder_args(parser)
|
||||||
soc_kasli_args(parser)
|
soc_kasli_args(parser)
|
||||||
parser.set_defaults(output_dir="artiq_kasli")
|
parser.set_defaults(output_dir="artiq_kasli")
|
||||||
variants = {cls.__name__.lower(): cls for cls in [
|
|
||||||
Opticlock, SUServo, PTB, PTB2, HUB, LUH,
|
|
||||||
SYSU, MITLL, MITLL2, USTC, Tsinghua, Tsinghua2, WIPM, NUDT,
|
|
||||||
VLBAIMaster, VLBAISatellite, Tester, Master, Satellite]}
|
|
||||||
parser.add_argument("-V", "--variant", default="opticlock",
|
parser.add_argument("-V", "--variant", default="opticlock",
|
||||||
help="variant: {} (default: %(default)s)".format(
|
help="variant: {} (default: %(default)s)".format(
|
||||||
"/".join(sorted(variants.keys()))))
|
"/".join(sorted(VARIANTS.keys()))))
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
variant = args.variant.lower()
|
variant = args.variant.lower()
|
||||||
try:
|
try:
|
||||||
cls = variants[variant]
|
cls = VARIANTS[variant]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise SystemExit("Invalid variant (-V/--variant)")
|
raise SystemExit("Invalid variant (-V/--variant)")
|
||||||
|
|
||||||
|
|
|
@ -400,6 +400,9 @@ class SMA_SPI(_StandaloneBase):
|
||||||
self.csr_devices.append("rtio_analyzer")
|
self.csr_devices.append("rtio_analyzer")
|
||||||
|
|
||||||
|
|
||||||
|
VARIANTS = {cls.__name__.lower(): cls for cls in [NIST_CLOCK, NIST_QC2, SMA_SPI]}
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
description="KC705 gateware and firmware builder")
|
description="KC705 gateware and firmware builder")
|
||||||
|
@ -413,13 +416,9 @@ def main():
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
variant = args.variant.lower()
|
variant = args.variant.lower()
|
||||||
if variant == "nist_clock":
|
try:
|
||||||
cls = NIST_CLOCK
|
cls = VARIANTS[variant]
|
||||||
elif variant == "nist_qc2":
|
except KeyError:
|
||||||
cls = NIST_QC2
|
|
||||||
elif variant == "sma_spi":
|
|
||||||
cls = SMA_SPI
|
|
||||||
else:
|
|
||||||
raise SystemExit("Invalid variant (-V/--variant)")
|
raise SystemExit("Invalid variant (-V/--variant)")
|
||||||
|
|
||||||
soc = cls(**soc_kc705_argdict(args))
|
soc = cls(**soc_kc705_argdict(args))
|
||||||
|
|
Loading…
Reference in New Issue