blob: cd358c84209221e27d01803e58070c8522426d75 [file] [log] [blame]
${'####################################################################################################'}
${'## Copyright lowRISC contributors. ##'}
${'## Licensed under the Apache License, Version 2.0, see LICENSE for details. ##'}
${'## SPDX-License-Identifier: Apache-2.0 ##'}
${'####################################################################################################'}
${'## Entry point test Makefile forr building and running tests. ##'}
${'## These are generic set of option groups that apply to all testbenches. ##'}
${'## This flow requires the following options to be set: ##'}
${'## DV_DIR - current dv directory that contains the test Makefile ##'}
${'## DUT_TOP - top level dut module name ##'}
${'## TB_TOP - top level tb module name ##'}
${'## DOTF - .f file used for compilation ##'}
${'## COMPILE_KEY - compile option set ##'}
${'## TEST_NAME - name of the test to run - this is supplied on the command line ##'}
${'####################################################################################################'}
DV_DIR := ${'$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))'}
export DUT_TOP := ${name}
export TB_TOP := tb
FUSESOC_CORE := lowrisc:dv:${name}_sim:0.1
COMPILE_KEY ?= default
UVM_TEST ?= ${name}_base_test
UVM_TEST_SEQ ?= ${name}_base_vseq
${'####################################################################################################'}
${'## A D D I N D I V I D U A L T E S T S B E L O W ##'}
${'####################################################################################################'}
TEST_NAME ?= ${name}_sanity
UVM_TEST ?= ${name}_base_test
UVM_TEST_SEQ ?= ${name}_base_vseq
ifeq (${'$'}{TEST_NAME},${name}_sanity)
UVM_TEST_SEQ = ${name}_sanity_vseq
endif
ifeq (${'$'}{TEST_NAME},${name}_csr_hw_reset)
UVM_TEST_SEQ = ${name}_csr_vseq
RUN_OPTS += +csr_hw_reset
RUN_OPTS += +en_scb=0
endif
ifeq (${'$'}{TEST_NAME},${name}_csr_rw)
UVM_TEST_SEQ = ${name}_csr_vseq
RUN_OPTS += +csr_rw
RUN_OPTS += +en_scb=0
endif
ifeq (${'$'}{TEST_NAME},${name}_csr_bit_bash)
UVM_TEST_SEQ = ${name}_csr_vseq
RUN_OPTS += +csr_bit_bash
RUN_OPTS += +en_scb=0
endif
ifeq (${'$'}{TEST_NAME},${name}_csr_aliasing)
UVM_TEST_SEQ = ${name}_csr_vseq
RUN_OPTS += +csr_aliasing
RUN_OPTS += +en_scb=0
endif
${'# TODO: remove this test if there are no memories in the DUT'}
ifeq (${'$'}{TEST_NAME},${name}_mem_walk)
UVM_TEST_SEQ = ${name}_csr_vseq
RUN_OPTS += +csr_mem_walk
RUN_OPTS += +en_scb=0
endif
${'####################################################################################################'}
${'## Include the tool Makefile below ##'}
${'## Dont add anything else below it! ##'}
${'####################################################################################################'}
include ${'$'}{DV_DIR}/../../../dv/tools/Makefile