blob: ce11bb9cd18f7c2753bd84c3b614386d115a5699 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
% if is_cip:
class ${name}_base_vseq extends cip_base_vseq #(
% else:
class ${name}_base_vseq extends dv_base_vseq #(
% endif
% if has_ral:
.RAL_T (${name}_reg_block),
% endif
.CFG_T (${name}_env_cfg),
.COV_T (${name}_env_cov),
.VIRTUAL_SEQUENCER_T (${name}_virtual_sequencer)
);
`uvm_object_utils(${name}_base_vseq)
// various knobs to enable certain routines
bit do_${name}_init = 1'b1;
`uvm_object_new
virtual task dut_init(string reset_kind = "HARD");
super.dut_init();
if (do_${name}_init) ${name}_init();
endtask
virtual task dut_shutdown();
// check for pending ${name} operations and wait for them to complete
// TODO
endtask
// setup basic ${name} features
virtual task ${name}_init();
`uvm_error(`gfn, "FIXME")
endtask
endclass : ${name}_base_vseq