Quantcast
Channel: UVM Forums RSS Feed
Viewing all articles
Browse latest Browse all 756

uvm_object get_inst_id() not working

$
0
0

I'm seeing the uvm_object get_inst_id() function not returning unique, new IDs for new objects that I create.  More specifically, it's returning a repeating cycle of a few different IDs.  Looking under the hood at uvm_object.svh it's a pretty trivial mechanism so I can't see why it isn't working.  Also, in a derived class I created I mimicked the same mechanism and my mechanism works fine.

 

Test case and example output is below.  Note that the static instance count value seems to increment nicely as expected but the instance ID values seem to bear no relation to that count and repeat every 6 objects.

 

 

Am I missing something really obvious here or is this a possible bug.  I see this using UVM 1.1d downloaded from Accellera.

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

 

class my_object_t extends uvm_object;

 

  static int next_id;

  int my_id;

 

  function new (string name="my_object");

    super.new(name);

    my_id = next_id++;

  endfunction : new

 

  `uvm_object_utils(my_object_t)

 

endclass

 

 

 

 

      begin

         my_object_t my_object;

         for (int i = 0; i < 100; i++)

           begin

              my_object = new();

              `uvm_info("", $sformatf("my object inst id is %d (0x%0x) or %0d, inst count is %d (0x%0x) or %0d", my_object.get_inst_id(), my_object.get_inst_id(), my_object.my_id,

                                      my_object.get_inst_count(), my_object.get_inst_count(), my_object.next_id), UVM_LOW)

           end

      end

 

 

 

 

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72135 (0x119c7) or 0, inst count is        9585 (0x2571) or 1

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72122 (0x119ba) or 1, inst count is        9586 (0x2572) or 2

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is         581 (0x245) or 2, inst count is        9587 (0x2573) or 3

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72126 (0x119be) or 3, inst count is        9588 (0x2574) or 4

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72120 (0x119b8) or 4, inst count is        9589 (0x2575) or 5

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       69783 (0x11097) or 5, inst count is        9590 (0x2576) or 6

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72135 (0x119c7) or 6, inst count is        9591 (0x2577) or 7

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72122 (0x119ba) or 7, inst count is        9592 (0x2578) or 8

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is         581 (0x245) or 8, inst count is        9593 (0x2579) or 9

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72126 (0x119be) or 9, inst count is        9594 (0x257a) or 10

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72120 (0x119b8) or 10, inst count is        9595 (0x257b) or 11

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       69783 (0x11097) or 11, inst count is        9596 (0x257c) or 12

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72135 (0x119c7) or 12, inst count is        9597 (0x257d) or 13

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72122 (0x119ba) or 13, inst count is        9598 (0x257e) or 14

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is         581 (0x245) or 14, inst count is        9599 (0x257f) or 15

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72126 (0x119be) or 15, inst count is        9600 (0x2580) or 16

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72120 (0x119b8) or 16, inst count is        9601 (0x2581) or 17

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       69783 (0x11097) or 17, inst count is        9602 (0x2582) or 18

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72135 (0x119c7) or 18, inst count is        9603 (0x2583) or 19

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72122 (0x119ba) or 19, inst count is        9604 (0x2584) or 20

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is         581 (0x245) or 20, inst count is        9605 (0x2585) or 21

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72126 (0x119be) or 21, inst count is        9606 (0x2586) or 22

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72120 (0x119b8) or 22, inst count is        9607 (0x2587) or 23

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       69783 (0x11097) or 23, inst count is        9608 (0x2588) or 24

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72135 (0x119c7) or 24, inst count is        9609 (0x2589) or 25

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72122 (0x119ba) or 25, inst count is        9610 (0x258a) or 26

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is         581 (0x245) or 26, inst count is        9611 (0x258b) or 27

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72126 (0x119be) or 27, inst count is        9612 (0x258c) or 28

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72120 (0x119b8) or 28, inst count is        9613 (0x258d) or 29

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       69783 (0x11097) or 29, inst count is        9614 (0x258e) or 30

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72135 (0x119c7) or 30, inst count is        9615 (0x258f) or 31

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72122 (0x119ba) or 31, inst count is        9616 (0x2590) or 32

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is         581 (0x245) or 32, inst count is        9617 (0x2591) or 33

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72126 (0x119be) or 33, inst count is        9618 (0x2592) or 34

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72120 (0x119b8) or 34, inst count is        9619 (0x2593) or 35

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       69783 (0x11097) or 35, inst count is        9620 (0x2594) or 36

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72135 (0x119c7) or 36, inst count is        9621 (0x2595) or 37

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is       72122 (0x119ba) or 37, inst count is        9622 (0x2596) or 38

UVM_INFO @ 0 ns: uvm_test_top.tb.c [] my object inst id is         581 (0x245) or 38, inst count is        9623 (0x2597) or 39


Viewing all articles
Browse latest Browse all 756

Trending Articles