blob: ce11bb9cd18f7c2753bd84c3b614386d115a5699 [file] [log] [blame]
lowRISC Contributors802543a2019-08-31 12:12:56 +01001// Copyright lowRISC contributors.
2// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3// SPDX-License-Identifier: Apache-2.0
4
5% if is_cip:
6class ${name}_base_vseq extends cip_base_vseq #(
7% else:
8class ${name}_base_vseq extends dv_base_vseq #(
9% endif
Udi Jonnalagaddadf4350b2020-03-13 16:55:17 -070010% if has_ral:
lowRISC Contributors802543a2019-08-31 12:12:56 +010011 .RAL_T (${name}_reg_block),
Udi Jonnalagaddadf4350b2020-03-13 16:55:17 -070012% endif
Srikrishna Iyerde3b6732020-01-30 14:50:07 -080013 .CFG_T (${name}_env_cfg),
lowRISC Contributors802543a2019-08-31 12:12:56 +010014 .COV_T (${name}_env_cov),
15 .VIRTUAL_SEQUENCER_T (${name}_virtual_sequencer)
16 );
17 `uvm_object_utils(${name}_base_vseq)
18
19 // various knobs to enable certain routines
20 bit do_${name}_init = 1'b1;
21
22 `uvm_object_new
23
24 virtual task dut_init(string reset_kind = "HARD");
25 super.dut_init();
26 if (do_${name}_init) ${name}_init();
27 endtask
28
29 virtual task dut_shutdown();
30 // check for pending ${name} operations and wait for them to complete
31 // TODO
32 endtask
33
34 // setup basic ${name} features
35 virtual task ${name}_init();
36 `uvm_error(`gfn, "FIXME")
37 endtask
38
39endclass : ${name}_base_vseq