| #!/bin/bash |
| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| # Only a single test is supported on English Breakfast (EB). |
| # Currently, Bazel cannot build the EB Verilator model, so we only build the test with Bazel and then use opentitantool directly |
| # EB Verilator model is built in a previous CI step |
| |
| set -e |
| |
| . util/build_consts.sh |
| |
| # Cleaning is necessary for the find commands below to work correctly |
| ci/bazelisk.sh clean |
| |
| # Build the modified EB software. |
| ./hw/top_englishbreakfast/util/prepare_sw.py -b |
| |
| # Build some other dependencies. |
| ci/bazelisk.sh build //sw/host/opentitantool //hw/ip/otp_ctrl/data:img_rma |
| |
| # Run the one test. |
| # This needs to be run outside the bazel sandbox, so we do not use `bazel run` |
| bazel-bin/sw/host/opentitantool/opentitantool \ |
| --rcfile="" \ |
| --logging=info \ |
| --interface=verilator \ |
| --conf=sw/host/opentitantool/config/opentitan_verilator.json \ |
| --verilator-bin=$BIN_DIR/hw/top_englishbreakfast/Vchip_englishbreakfast_verilator \ |
| --verilator-rom=$(find bazel-out/* -name 'test_rom_sim_verilator.32.vmem') \ |
| --verilator-flash=$(find bazel-out/* -name 'aes_smoketest_prog_sim_verilator.64.scr.vmem') \ |
| console \ |
| --exit-failure="(FAIL|FAULT).*\n" \ |
| --exit-success="PASS.*\n" \ |
| --timeout=3600s |