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

Subversion Repositories lpffir

[/] [lpffir/] [trunk/] [uvm/] [tools/] [easier_uvm_gen/] [examples/] [minimal_reg/] [regmodel.sv] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 vladimirar
class dummy_reg extends uvm_reg;
2
   `uvm_object_utils(dummy_reg)
3
 
4
   rand uvm_reg_field F;
5
 
6
   function new(string name = "");
7
      super.new(name, 8, UVM_NO_COVERAGE);
8
   endfunction
9
 
10
   virtual function void build();
11
      F = uvm_reg_field::type_id::create("F");
12
      F.configure(this, 8, 0, "RW", 1, 8'h00, 1, 1, 1);
13
   endfunction
14
endclass
15
 
16
 
17
class bus_reg_block extends uvm_reg_block;
18
   `uvm_object_utils(bus_reg_block)
19
 
20
   rand dummy_reg reg0;
21
 
22
   uvm_reg_map bus_map;
23
 
24
   function new(string name = "");
25
      super.new(name, UVM_NO_COVERAGE);
26
   endfunction
27
 
28
   virtual function void build();
29
      reg0 = dummy_reg::type_id::create("reg0");
30
      reg0.configure(this);
31
      reg0.build();
32
 
33
      bus_map = create_map("bus_map", 'h0, 1, UVM_LITTLE_ENDIAN);
34
      default_map = bus_map;
35
 
36
      bus_map.add_reg(reg0, 'h0, "RW");
37
 
38
      lock_model();
39
   endfunction
40
endclass
41
 
42
class top_reg_block extends uvm_reg_block;
43
   `uvm_object_utils(top_reg_block)
44
 
45
   bus_reg_block bus;
46
 
47
   uvm_reg_map bus_map;
48
 
49
   function new(string name = "");
50
      super.new(name, UVM_NO_COVERAGE);
51
   endfunction
52
 
53
   virtual function void build();
54
      bus = bus_reg_block::type_id::create("bus");
55
      bus.configure(this);
56
      bus.build();
57
 
58
      bus_map = create_map("bus_map", 'h0, 1, UVM_LITTLE_ENDIAN);
59
      default_map = bus_map;
60
 
61
      bus_map.add_submap(bus.bus_map, 'h0);
62
 
63
      lock_model();
64
   endfunction
65
endclass

powered by: WebSVN 2.1.0

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