fpga: ci: Add testbench pipeline

This commit is contained in:
Wade Fife 2021-06-04 13:54:30 -05:00
parent d21735d543
commit 82b0acb3ac
2 changed files with 106 additions and 0 deletions

32
fpga/.ci/hwtools/root.py Normal file
View File

@ -0,0 +1,32 @@
#!/usr/bin/env python
#
# Copyright 2021 Ettus Research, a National Instruments Brand
#
# SPDX-License-Identifier: LGPL-3.0-or-later
#
# Description:
#
# Setup script for configuring the pipeline agent's environment to allow us
# to run proprietary EDA vendor tools.
#
import sys
def do_setup():
from rootapiclass import rootapi
rootapi.set_workspace_name(name="uhddev", pretty_name="UHD FPGA")
rootapi.set_major_version("1")
rootapi.add_tool(name="hwtools", version="head")
rootapi.add_tool(name="Vivado", version="2019.1", allowlater=False)
rootapi.add_tool(name="modelsim", version="2020.4", allowlater=True)
def do_finish():
pass
def do_publish():
pass
if __name__ == "__main__":
sys.exit(-1)

View File

@ -0,0 +1,74 @@
#
# Copyright 2021 Ettus Research, a National Instruments Brand
#
# SPDX-License-Identifier: LGPL-3.0-or-later
#
# Description:
#
# This pipeline is used to run all the testbenches using ModelSim.
#
trigger:
- none
pr:
branches:
include:
- master
paths:
include:
- fpga/usrp3/lib
- fpga/usrp3/tools
- fpga/usrp3/top
- fpga/usrp3/sim
- fpga/.ci
resources:
repositories:
- repository: hwtools
type: git
ref: main
name: DevCentral/hwtools
name:
jobs:
- job:
displayName: "ModelSim Simulation"
timeoutInMinutes: 360
pool:
name: Hardware
steps:
- checkout: self
clean: true
persistCredentials: true
- checkout: hwtools
clean: true
path: s/hwtools/head
persistCredentials: true
- bash: |
set -e
echo "---- Set environment variables ----"
export path_hwtools=$(Pipeline.Workspace)/s/hwtools/head/setup
export PATH=$path_hwtools:$PATH
echo "---- Run hwsetup ----"
# This script sets the XILINX_VIVADO, MODELSIM, and LIB_BASE_PATH
# variables based on the agent's configuration so we can find the EDA
# tools.
pushd ../.ci/hwtools
source hwsetup.sh
popd
echo "---- Run setupenv ----"
export MSIM_VIV_COMPLIBDIR=$LIB_BASE_PATH/vivado/2019.1.1/modelsim_SE-64_2020
source ./top/x300/setupenv.sh --vivado-path $(dirname $XILINX_VIVADO) --modelsim-path $(dirname $MODELSIM)
echo "---- Run testbenches ----"
pushd ./tools/utils
python3 ./run_testbenches.py --logged --simulator modelsim --excludes=modelsim.excludes -j2 run
popd
workingDirectory: uhddev/fpga/usrp3
displayName: "Run Testbenches"