| // 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 | 
 |     .CFG_T               (${name}_env_cfg), | 
 |     .RAL_T               (${name}_reg_block), | 
 |     .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 |