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

Subversion Repositories lpffir

[/] [lpffir/] [trunk/] [uvm/] [tools/] [uvm_syoscb/] [tb/] [test/] [cl_scbtest_test_iop_simple.svh] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 vladimirar
//----------------------------------------------------------------------
2
//   Copyright 2014-2015 SyoSil ApS
3
//   All Rights Reserved Worldwide
4
//
5
//   Licensed under the Apache License, Version 2.0 (the
6
//   "License"); you may not use this file except in
7
//   compliance with the License.  You may obtain a copy of
8
//   the License at
9
//
10
//       http://www.apache.org/licenses/LICENSE-2.0
11
//
12
//   Unless required by applicable law or agreed to in
13
//   writing, software distributed under the License is
14
//   distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
15
//   CONDITIONS OF ANY KIND, either express or implied.  See
16
//   the License for the specific language governing
17
//   permissions and limitations under the License.
18
//----------------------------------------------------------------------
19
// *NOTES*:
20
// Simple iopP compare test using the function based API
21
 
22
class cl_scbtest_test_iop_simple extends cl_scbtest_test_base;
23
  //-------------------------------------
24
  // UVM Macros
25
  //-------------------------------------
26
  `uvm_component_utils(cl_scbtest_test_iop_simple)
27
 
28
  //-------------------------------------
29
  // Constructor
30
  //-------------------------------------
31
  extern function new(string name = "cl_scbtest_test_iop_simple", uvm_component parent = null);
32
 
33
  //-------------------------------------
34
  // UVM Phase methods
35
  //-------------------------------------
36
  extern function void build_phase(uvm_phase phase);
37
  extern task run_phase(uvm_phase phase);
38
endclass : cl_scbtest_test_iop_simple
39
 
40
function cl_scbtest_test_iop_simple::new(string name = "cl_scbtest_test_iop_simple", uvm_component parent = null);
41
  super.new(name, parent);
42
endfunction : new
43
 
44
function void cl_scbtest_test_iop_simple::build_phase(uvm_phase phase);
45
  cl_syoscb_queue::set_type_override_by_type(cl_syoscb_queue::get_type(),
46
                                             cl_syoscb_queue_std::get_type(),
47
                                             "*");
48
 
49
  this.set_type_override_by_type(cl_syoscb_compare_base::get_type(),
50
                                 cl_syoscb_compare_iop::get_type(),
51
                                 "*");
52
  super.build_phase(phase);
53
endfunction: build_phase
54
 
55
task cl_scbtest_test_iop_simple::run_phase(uvm_phase phase);
56
  super.run_phase(phase);
57
 
58
  fork
59
        for(int unsigned i=0; i<10; i++) begin
60
      cl_scbtest_seq_item item1;
61
      item1 = cl_scbtest_seq_item::type_id::create("item1");
62
      item1.int_a = i;
63
      scbtest_env.syoscb[0].add_item("Q1", "P1", item1);
64
    end
65
 
66
    for(int unsigned i=0; i<10; i++) begin
67
        cl_scbtest_seq_item item1;
68
        item1 = cl_scbtest_seq_item::type_id::create("item1");
69
        item1.int_a = i;
70
        scbtest_env.syoscb[0].add_item("Q1", "P2", item1);
71
    end
72
 
73
    for(int unsigned i=0; i<10; i++) begin
74
        cl_scbtest_seq_item item1;
75
        item1 = cl_scbtest_seq_item::type_id::create("item1");
76
        item1.int_a = i;
77
        scbtest_env.syoscb[0].add_item("Q2", "P1", item1);
78
    end
79
 
80
    for(int unsigned i=0; i<10; i++) begin
81
        cl_scbtest_seq_item item1;
82
        item1 = cl_scbtest_seq_item::type_id::create("item1");
83
        item1.int_a = i;
84
        scbtest_env.syoscb[0].add_item("Q2", "P2", item1);
85
    end
86
  join
87
endtask: run_phase

powered by: WebSVN 2.1.0

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