conda: split RTM and AMC packages back.

This avoids multiplying the RTM compilation time by the number
of AMC packages.
This commit is contained in:
whitequark 2018-01-28 14:27:08 +00:00
parent 11a8b84355
commit 885ab40946
8 changed files with 42 additions and 10 deletions

View File

@ -151,8 +151,8 @@ def main():
if action == "build": if action == "build":
logger.info("Building target") logger.info("Building target")
if args.target == "sayma": if args.target == "sayma":
build("sayma_rtm", output_dir=build_dir("rtm")) build("sayma_rtm", output_dir=build_dir("rtm_gateware"))
build("sayma_amc", "--rtm-csr-csv", build_dir("rtm", "rtm_csr.csv")) build("sayma_amc", "--rtm-csr-csv", build_dir("rtm_gateware", "rtm_csr.csv"))
else: else:
build(args.target) build(args.target)

View File

@ -329,7 +329,7 @@ def main():
programmer.write_binary(*config["firmware"], firmware_fbi) programmer.write_binary(*config["firmware"], firmware_fbi)
elif action == "load": elif action == "load":
if args.target == "sayma": if args.target == "sayma":
rtm_gateware_bit = artifact_path("rtm", "rtm.bit") rtm_gateware_bit = artifact_path("rtm_gateware", "rtm.bit")
programmer.load(rtm_gateware_bit, 0) programmer.load(rtm_gateware_bit, 0)
gateware_bit = artifact_path("gateware", "top.bit") gateware_bit = artifact_path("gateware", "top.bit")
programmer.load(gateware_bit, 1) programmer.load(gateware_bit, 1)

View File

@ -445,7 +445,7 @@ def main():
"standalone/master/satellite " "standalone/master/satellite "
"(default: %(default)s)") "(default: %(default)s)")
parser.add_argument("--rtm-csr-csv", parser.add_argument("--rtm-csr-csv",
default=os.path.join("artiq_sayma", "rtm", "rtm_csr.csv"), default=os.path.join("artiq_sayma", "rtm_gateware", "rtm_csr.csv"),
help="CSV file listing remote CSRs on RTM (default: %(default)s)") help="CSV file listing remote CSRs on RTM (default: %(default)s)")
parser.add_argument("--without-sawg", parser.add_argument("--without-sawg",
default=False, action="store_true", default=False, action="store_true",

View File

@ -190,7 +190,7 @@ class SaymaRTM(Module):
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")
parser.add_argument("--output-dir", default="artiq_sayma/rtm", parser.add_argument("--output-dir", default="artiq_sayma/rtm_gateware",
help="output directory for generated " help="output directory for generated "
"source files and binaries") "source files and binaries")
parser.add_argument("--no-compile-gateware", action="store_true", parser.add_argument("--no-compile-gateware", action="store_true",

View File

@ -1,13 +1,13 @@
#!/bin/bash #!/bin/bash
RTM_PREFIX=$SP_DIR/artiq/binaries/sayma_rtm
SOC_PREFIX=$PREFIX/lib/python3.5/site-packages/artiq/binaries/sayma-standalone SOC_PREFIX=$PREFIX/lib/python3.5/site-packages/artiq/binaries/sayma-standalone
mkdir -p $SOC_PREFIX mkdir -p $SOC_PREFIX
$PYTHON -m artiq.gateware.targets.sayma_rtm
cp artiq_sayma/rtm_gateware/rtm.bit $SOC_PREFIX
$PYTHON -m artiq.gateware.targets.sayma_amc -V standalone \ $PYTHON -m artiq.gateware.targets.sayma_amc -V standalone \
--rtm-csr-csv artiq_sayma/rtm/sayma_rtm_csr.csv --rtm-csr-csv $RTM_PREFIX/rtm_csr.csv
cp artiq_sayma/gateware/top.bit $SOC_PREFIX cp artiq_sayma/gateware/top.bit $SOC_PREFIX
cp artiq_sayma/software/bootloader/bootloader.bin $SOC_PREFIX cp artiq_sayma/software/bootloader/bootloader.bin $SOC_PREFIX
cp artiq_sayma/software/runtime/runtime.{elf,fbi} $SOC_PREFIX cp artiq_sayma/software/runtime/runtime.{elf,fbi} $SOC_PREFIX
cp $RTM_PREFIX/rtm.bit $SOC_PREFIX

View File

@ -14,10 +14,11 @@ build:
requirements: requirements:
build: build:
- artiq-dev {{ "{tag} py_{number}+git{hash}".format(tag=environ.get("GIT_DESCRIBE_TAG"), number=environ.get("GIT_DESCRIBE_NUMBER"), hash=environ.get("GIT_FULL_HASH", "")[:8]) if "GIT_DESCRIBE_TAG" in environ else "" }} - artiq-dev {{ "{tag} py_{number}+git{hash}".format(tag=environ.get("GIT_DESCRIBE_TAG"), number=environ.get("GIT_DESCRIBE_NUMBER"), hash=environ.get("GIT_FULL_HASH", "")[:8]) if "GIT_DESCRIBE_TAG" in environ else "" }}
- artiq-sayma_rtm {{ "{tag} py_{number}+git{hash}".format(tag=environ.get("GIT_DESCRIBE_TAG"), number=environ.get("GIT_DESCRIBE_NUMBER"), hash=environ.get("GIT_FULL_HASH", "")[:8]) if "GIT_DESCRIBE_TAG" in environ else "" }}
run: run:
- artiq {{ "{tag} py_{number}+git{hash}".format(tag=environ.get("GIT_DESCRIBE_TAG"), number=environ.get("GIT_DESCRIBE_NUMBER"), hash=environ.get("GIT_FULL_HASH", "")[:8]) if "GIT_DESCRIBE_TAG" in environ else "" }} - artiq {{ "{tag} py_{number}+git{hash}".format(tag=environ.get("GIT_DESCRIBE_TAG"), number=environ.get("GIT_DESCRIBE_NUMBER"), hash=environ.get("GIT_FULL_HASH", "")[:8]) if "GIT_DESCRIBE_TAG" in environ else "" }}
about: about:
home: https://m-labs.hk/artiq home: https://m-labs.hk/artiq
license: LGPL license: LGPL
summary: 'AMC and RTM bitstream, BIOS and runtime for stand-alone Sayma AMC' summary: 'Bitstream, BIOS and runtime for stand-alone Sayma AMC'

View File

@ -0,0 +1,8 @@
#!/bin/bash
SOC_PREFIX=$PREFIX/lib/python3.5/site-packages/artiq/binaries/sayma_rtm
mkdir -p $SOC_PREFIX
$PYTHON -m artiq.gateware.targets.sayma_rtm
cp artiq_sayma/rtm/rtm.bit $SOC_PREFIX
cp artiq_sayma/rtm/rtm_csr.csv $SOC_PREFIX

View File

@ -0,0 +1,23 @@
package:
name: artiq-sayma_rtm
version: {{ environ.get("GIT_DESCRIBE_TAG", "") }}
source:
git_url: ../..
build:
noarch: python
ignore_prefix_files: True
number: {{ environ.get("GIT_DESCRIBE_NUMBER", 0) }}
string: py_{{ environ.get("GIT_DESCRIBE_NUMBER", 0) }}+git{{ environ.get("GIT_FULL_HASH", "")[:8] }}
requirements:
build:
- artiq-dev {{ "{tag} py_{number}+git{hash}".format(tag=environ.get("GIT_DESCRIBE_TAG"), number=environ.get("GIT_DESCRIBE_NUMBER"), hash=environ.get("GIT_FULL_HASH", "")[:8]) if "GIT_DESCRIBE_TAG" in environ else "" }}
run:
- artiq {{ "{tag} py_{number}+git{hash}".format(tag=environ.get("GIT_DESCRIBE_TAG"), number=environ.get("GIT_DESCRIBE_NUMBER"), hash=environ.get("GIT_FULL_HASH", "")[:8]) if "GIT_DESCRIBE_TAG" in environ else "" }}
about:
home: https://m-labs.hk/artiq
license: LGPL
summary: 'Bitstream and CSR map for Sayma RTM'