OpenCores
URL https://opencores.org/ocsvn/lpffir/lpffir/trunk

Subversion Repositories lpffir

[/] [lpffir/] [trunk/] [uvm/] [lpffir_uvm/] [generated_tb/] [tb/] [data_input/] [sv/] [data_input_driver.sv] - Blame information for rev 11

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 11 vladimirar
// You can insert code here by setting file_header_inc in file common.tpl
2
 
3
//=============================================================================
4
// Project  : generated_tb
5
//
6
// File Name: data_input_driver.sv
7
//
8
//
9
// Version:   1.0
10
//
11
// Code created by Easier UVM Code Generator version 2016-04-18-EP on Sat Apr 27 13:59:59 2019
12
//=============================================================================
13
// Description: Driver for data_input
14
//=============================================================================
15
 
16
`ifndef DATA_INPUT_DRIVER_SV
17
`define DATA_INPUT_DRIVER_SV
18
 
19
// You can insert code here by setting driver_inc_before_class in file data_input.tpl
20
 
21
class data_input_driver extends uvm_driver #(input_tx);
22
 
23
  `uvm_component_utils(data_input_driver)
24
 
25
  virtual data_input_if vif;
26
 
27
  extern function new(string name, uvm_component parent);
28
 
29
  // Start of inlined include file generated_tb/tb/include/data_input_driver_inc_inside_class.sv
30
  extern task run_phase(uvm_phase phase);
31
  // End of inlined include file
32
 
33
endclass : data_input_driver
34
 
35
 
36
function data_input_driver::new(string name, uvm_component parent);
37
  super.new(name, parent);
38
endfunction : new
39
 
40
 
41
// Start of inlined include file generated_tb/tb/include/data_input_driver_inc_after_class.sv
42
task data_input_driver::run_phase(uvm_phase phase);
43
  `uvm_info(get_type_name(), "run_phase", UVM_HIGH)
44
 
45
  forever @(posedge vif.clk)
46
  begin
47
    seq_item_port.get_next_item(req);
48
    phase.raise_objection(this);
49
    wait (vif.reset == 1);
50
    vif.data <= req.data;
51
    vif.valid  <= 1;
52
    vif.last  <= 0;
53
    wait (vif.ready == 1);
54
 
55
    fork
56
      begin
57
        repeat (10) @(posedge vif.clk);
58
        phase.drop_objection(this);
59
      end
60
    join_none
61
    seq_item_port.item_done();
62
  end
63
endtask : run_phase
64
// End of inlined include file
65
 
66
`endif // DATA_INPUT_DRIVER_SV
67
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.