Is UVM Memory Manager (uvm_mem_mam) Still Around?

I’ve been looking for info on UVM memory manager in Forums and Cookbooks, but no luck. Is this still a UVM feature?

Or if it is, maybe another UVM feature has taken over what it used to be good for? I’m looking into using it for seq stimulus to allocate memory addresses.

In reply to nickcollins:
Browsing the source code of the UVM answers your question: YES it is there in version 1.1d and 1.2. And the UVM IEE Standard talks about this base class.

In reply to nickcollins:

What’s the purpose of allocating the address?

In reply to csc57:

This is what the UVM library is saying:

//------------------------------------------------------------------------------
//
// Title: Memory Allocation Manager
//
// Manages the exclusive allocation of consecutive memory locations
// called ~regions~.
// The regions can subsequently be accessed like little memories of
// their own, without knowing in which memory or offset they are
// actually located.
//
// The memory allocation manager should be used by any
// application-level process
// that requires reserved space in the memory,
// such as DMA buffers.
//
// A region will remain reserved until it is explicitly released.
//
//------------------------------------------------------------------------------

In reply to chr_sue:

Yes, I see it in the base UVM code. But it seems that it’s hardly used. And it’s only barely mentioned in the UVM User’s Guide. And doesn’t seem to be mentioned at all on Verif Academy’s Cookbook. I’d like to see some examples, but cannot find any. Does this typically live in env or base_seq, or does it matter?

In reply to nickcollins:

I think there are many schemes for memory management, and it should be considered as a resource that may or may not be tied sequence generation. It’s going to be design specific.

Here is another set of schemes:
https://www.amiq.com/consulting/2016/07/12/yamm-yet-another-memory-manager/