| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| |
| class dv_base_driver #(type ITEM_T = uvm_sequence_item, |
| type CFG_T = dv_base_agent_cfg) extends uvm_driver #(ITEM_T); |
| `uvm_component_param_utils(dv_base_driver #()) |
| |
| bit under_reset; |
| CFG_T cfg; |
| |
| `uvm_component_new |
| |
| virtual task run_phase(uvm_phase phase); |
| fork |
| reset_signals(); |
| get_and_drive(); |
| join |
| endtask |
| |
| // reset signals |
| virtual task reset_signals(); |
| `uvm_fatal(`gfn, "this is implemented as pure virtual task - please extend") |
| endtask |
| |
| // drive trans received from sequencer |
| virtual task get_and_drive(); |
| `uvm_fatal(`gfn, "this is implemented as pure virtual task - please extend") |
| endtask |
| |
| endclass |
| |